首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 摘要 / 一种基于USB-Key的虚拟桌面安全认证方法及系统

一种基于USB-Key的虚拟桌面安全认证方法及系统

阅读:406发布:2023-01-07

专利汇可以提供一种基于USB-Key的虚拟桌面安全认证方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于USB-Key的虚拟桌面安全认证方法及系统。本方法为:1)瘦客户端首先基于usbkey的PIN码认证,通过后向 云 管理中心 申请 签名所用的随机数x;2)客户端用随机数x产生验签数据包p7,进行云管理中心的证书与签名认证;3)验证通过则云管理中心选择对应的镜像文件信息发送至客户端;4)虚拟桌面服务端根据保存的客户端秘密值和向虚拟桌面服务端申请的随机数y计算出新的动态口令;5)客户端根据该秘密值、随机数y计算出本次登录虚拟桌面时所需动态口令,并将其发送给虚拟桌面服务端进行验证,验证通过,则将虚拟桌面返回至客户端。本发明整个认证过程只需要输入一次pin码即可,既便捷又提高了安全性。,下面是一种基于USB-Key的虚拟桌面安全认证方法及系统专利的具体信息内容。

1.一种基于USB-Key的虚拟桌面安全认证方法,其步骤为:
1)用户在客户端的瘦客户机上插入USB-Key,输入USB-Key的PIN码,客户端检测USB-Key存在并验证PIN码;其中,该USB-Key存放该用户的用户证书和用户私钥,瘦客户机上保存该用户证书利用随机数生成的用户的数字签名;瘦客户机PIN码验证通过后,该客户端向管理中心的认证模申请签名所用的随机数;该认证模块生成一随机数x并将其返回给该客户端;
2)该客户端从该USB-Key中获取用户名、用户证书,然后用该随机数x通过HASH对待签名数据做摘要,通过用户私钥对摘要数据进行签名,产生验签数据包p7;
3)该客户端将用户名和验签数据包p7经云管理中心的认证模块转发至该认证服务器的验签模块进行身份验证;
4)该认证模块获取该认证服务器的身份验证结果,如果验证通过则将该用户的用户名信息发送至云管理中心的桌面分配模块,选择对应的镜像文件信息发送至该客户端;如果身份验证失败,则返回一个异常信息至该客户端;
5)该客户端与虚拟桌面服务端建立安全会话,虚拟桌面服务端根据初始化时保存的该客户端秘密值和向虚拟桌面服务端申请的随机数y计算出新的动态口令,依此来重置该镜像文件的虚拟桌面登录口令;
6)该客户端根据该USB-Key中的秘密值、随机数y计算出本次登录虚拟桌面时所需的动态口令,并将该动态口令和用户名发送给虚拟桌面服务端进行验证,如果验证通过,则将虚拟桌面返回至客户端。
2.如权利要求1所述的方法,其特征在于所述验签数据包p7含有用户证书和签名的身份信息。
3.如权利要求1或2所述的方法,其特征在于所述云管理中心创建镜像文件时为每一镜像文件分配一唯一uuid,匹配用户及权限,并将镜像文件uuid和用户的绑定信息保存到一数据库中,所述桌面分配模块根据该数据库选择该用户对应的镜像文件。
4.如权利要求1所述的方法,其特征在于步骤1)中,所述用户证书对随机数进行HASH运算,生成用户的数字签名。
5.一种基于USB-Key的虚拟桌面安全认证系统,其特征在于包括客户端、USB-Key、虚拟桌面服务端、云管理中心和认证服务器;其中,客户端通过网络分别与虚拟桌面服务端、云管理中心连接,云管理中心通过网络与认证服务器连接;
所述客户端,用于接入所述USB-Key,并验证输入的USB-Key的PIN码;验证通过后,该客户端向云管理中心的认证模块申请签名所用的随机数x,然后用该随机数x通过HASH对待签名数据做摘要,通过用户私钥对摘要数据进行签名,产生验签数据包p7;其中,该USB-Key存放用户的用户证书和私钥,该客户端的瘦客户机上保存该用户证书利用随机数生成的用户的数字签名;
所述云管理中心,包括一认证模块、一桌面分配模块;其中,该认证模块根据客户端请求生成一随机数x并将其返回给该客户端,并将所述验签数据包p7转发给认证服务器;桌面分配模块根据用户的用户名信息把镜像文件分配给该客户端;
所述认证服务器,包括验签模块,用于建立与云管理中心的安全链接并认证用户身份;
所述虚拟桌面服务端,用于生成动态口令、验证用户身份以及提供应用服务。
6.如权利要求5所述的系统,其特征在于所述云管理中心创建镜像文件时为每一镜像文件分配一唯一uuid,匹配用户及权限,并将镜像文件uuid和用户的绑定信息保存到一镜像文件匹配信息数据库中,所述桌面分配模块根据该镜像文件匹配信息数据库选择该用户对应的镜像文件。

说明书全文

一种基于USB-Key的虚拟桌面安全认证方法及系统

技术领域:

[0001] 本发明属于终端安全领域,涉及一种安全认证方法及系统,主要涉及一种基于USB-Key的虚拟桌面安全认证方法及系统。背景技术:
[0002] 在虚拟桌面架构(Virtualization Desktop Infrastructure,简称VDI或桌面)系统中,用户使用客户端软件并通过计算机网络来登录位于服务器上的虚拟桌面系统。用户在登录到虚拟桌面系统前,VDI系统需要验证用户的身份信息,确认用户身份信息合法的前提下,才允许用户访问目标虚拟桌面系统,因此VDI系统必须具有安全、可靠的身份认证机制,保证用户的接入安全。
[0003] 现有技术中,VDI系统通常将目标虚拟桌面信息直接提供给用户,并选择用户的账户名和口令作为唯一的身份认证信息,鉴别技术单一且简单,致使用户身份很容易被冒用,如果目标虚拟桌面遭到非授权访问,将直接导致重要数据的泄露,甚至攻破整个VDI系统等。还有一种虚拟化环境下的认证方式是只认证虚拟桌面虚拟机操作系统,而忽略了镜像文件的认证。
[0004] 目前虚拟化技术领域中优秀的身份认证方案大致如下:
[0005] (1)用户向桌面分发中心发出虚拟桌面的登录请求
[0006] (2)用户将自己的身份信息(用户名和口令)加密传输给桌面分发中心;
[0007] (3)桌面分发中心验证用户身份信息并返回相关的虚拟桌面信息;
[0008] (4)用户使用指定的协议和虚拟桌面信息尝试连接到对应的虚拟桌面;
[0009] (5)虚拟桌面验证用户身份信息(用户名和口令)并建立数据链路,供用户访问。以上技术方案的安全性和可靠性方面都存在不足,主要存在以下几点:
[0010] (1)用户身份信息的承载方式过于简单,很容易被他人获取;
[0011] (2)尽管进行了两次身份验证,但每次验证的信息相同,可靠性较低;
[0012] (3)虚拟化环境下认证范围不全。

发明内容

[0013] 针对现有技术存在的技术问题,本发明的目的在于提供一种基于USB-Key的虚拟桌面多因子安全认证方法及系统。本发明利用USB-Key来存放用户的身份信息,且身份信息以证书和签名形式提供;并且引入动态口令机制,虚拟桌面认证采用一次一密;本发明解决了用户身份信息承载方式过于简单和身份信息容易破解的问题,增强了认证的可靠性。
[0014] 本发明技术方案存在以下两个关键点:
[0015] (1)引入三种身份鉴别技术:基于USB-Key的PIN码认证,证书与签名认证,用户名与动态口令认证;首先是瘦客户端的基于usbkey的PIN码认证,由用户在客户端界面中输入,用于控制插入在瘦客户端上的usbkey的访问权限,其次是云管理中心的证书与签名认证,用户证书存放于usbkey中,用于用户身份鉴别,在验证合法身份情况下,通过与镜像文件的匹配选择用户对应的桌面镜像文件信息,最后是虚拟桌面内的挑战响应型动态口令认证,虚拟桌面和客户端均采用相同类型的秘密值、随机数、用户信息和HASH算法分别计算得到动态口令,虚拟桌面验证客户端的动态口令。整个认证过程只需要输入一次pin码就可以了,既便捷又提高了安全性。
[0016] (2)引入双层认证技术:用户镜像文件认证和虚拟桌面系统认证,每层认证的身份信息不相同。用户镜像文件认证:根据用户的证书和签名信息的验证结果,决定是否返回用户的虚拟镜像文件信息,验证失败时,用户无法获知任何镜像文件信息;虚拟桌面系统认证:用户通过获取的虚拟镜像文件信息、用户名以及动态口令,尝试登录虚拟桌面,由虚拟桌面的相关安全服务程序验证,仅在验证通过情况下,才返还虚拟桌面的控制权给用户。用户镜像认证是利用创建镜像文件时分配的唯一uuid,匹配用户及权限,建立一个数据库,依靠算法进行匹配。
[0017] 本发明的技术方案为:
[0018] 一种基于USB-Key的虚拟桌面安全认证方法,其步骤为:
[0019] 1)用户在客户端的瘦客户机上插入USB-Key,输入USB-Key的PIN码,客户端检测USB-Key存在并验证PIN码;其中,该USB-Key存放该用户的用户证书和用户私钥,瘦客户机上保存该用户证书利用随机数生成的用户的数字签名;瘦客户机PIN码验证通过后,该客户端向云管理中心的认证模申请签名所用的随机数;该认证模块生成一随机数x并将其返回给该客户端;
[0020] 2)该客户端从该USB-Key中获取用户名、用户证书,然后用该随机数x通过HASH对待签名数据做摘要,通过用户私钥对摘要数据进行签名,产生验签数据包p7;
[0021] 3)该客户端将用户名和验签数据包p7经云管理中心的认证模块转发至该认证服务器的验签模块进行身份验证;
[0022] 4)该认证模块获取该认证服务器的身份验证结果,如果验证通过则将用户的用户名信息发送至云管理中心的桌面分配模块,选择对应的镜像文件信息发送至该客户端;如果身份验证失败,则返回一个异常信息至该客户端;
[0023] 5)该客户端与虚拟桌面服务端建立安全会话,虚拟桌面服务端根据初始化时保存的该客户端秘密值和向虚拟桌面服务端申请的随机数y计算出新的动态口令,依此来重置该镜像文件的虚拟桌面登录口令;
[0024] 6)该客户端根据该USB-Key中的秘密值、随机数y计算出本次登录虚拟桌面时所需的动态口令,并将该动态口令和用户名发送给虚拟桌面服务端进行验证,如果验证通过,则将虚拟桌面返回至客户端。
[0025] 进一步的,所述验签数据包p7含有用户证书和签名的身份信息。
[0026] 进一步的,所述云管理中心创建镜像文件时为每一镜像文件分配一唯一uuid,匹配用户及权限,并将镜像文件uuid和用户的绑定信息保存到一数据库中,所述桌面分配模块根据该数据库选择该用户对应的镜像文件。
[0027] 进一步的,步骤1)中,所述用户证书对随机数进行HASH运算,生成用户的数字签名。
[0028] 一种基于USB-Key的虚拟桌面安全认证系统,其特征在于包括客户端、USB-Key、虚拟桌面服务端、云管理中心和认证服务器;其中,客户端通过网络分别与虚拟桌面服务端、云管理中心连接,云管理中心通过网络与认证服务器连接;
[0029] 所述客户端,用于接入所述USB-Key,并验证输入的USB-Key的PIN码;验证通过后,该客户端向云管理中心的认证模块申请签名所用的随机数x,然后用该随机数x通过HASH对待签名数据做摘要,通过用户私钥对摘要数据进行签名,产生验签数据包p7;其中,该USB-Key存放用户的用户证书和私钥,该客户端的瘦客户机上保存该用户证书利用随机数生成的用户的数字签名;
[0030] 所述云管理中心,包括一认证模块、一桌面分配模块;其中,该认证模块根据客户端请求生成一随机数x并将其返回给该客户端,并将所述验签数据包p7转发给认证服务器;桌面分配模块根据用户的用户名信息把镜像文件分配给该客户端;
[0031] 所述认证服务器,包括验签模块,用于建立与云管理中心的安全链接并认证用户身份;
[0032] 所述虚拟桌面服务端,用于生成动态口令、验证用户身份以及提供应用服务。
[0033] 进一步的,所述云管理中心创建镜像文件时为每一镜像文件分配一唯一uuid,匹配用户及权限,并将镜像文件uuid和用户的绑定信息保存到一镜像文件匹配信息数据库中,所述桌面分配模块根据该镜像文件匹配信息数据库选择该用户对应的镜像文件。
[0034] 与现有技术相比,本发明的积极效果:
[0035] (1)身份信息难仿冒:完整的身份信息包括PIN码、用户名、动态口令(秘密值)、证书和签名,且不同身份数据在不同的阶段和验证模块中使用,使得非授权用户极难伪造出合法的身份信息。
[0036] (2)镜像文件认证采用的证书认证方法,脱离了微软的证书认证模式,此次镜像文件采用PKI/CA证书认证,需要证书与虚拟化的镜像文件信息进行绑定和匹配。
[0037] (3)防止VDI系统中特权用户非法访问:VDI系统的管理员容易通过系统平台获得用户的虚拟桌面镜像信息,进而容易非授权访问用户虚拟桌面,而本发明引入了动态口令机制,大大增加了VDI系统的管理员的非授权访问难度,基本禁止了管理员访问虚拟桌面。附图说明
[0038] 附图为虚拟桌面安全认证系统的安全认证过程图。

具体实施方式

[0039] 下面结合附图对本发明进行进一步详细描述。
[0040] (1)本发明的虚拟桌面系统基本架构包括:
[0041] 客户端:主要包括瘦客户机(硬件),客户端软件和USB-Key(硬件)。用于登录、显示和操作虚拟化桌面。
[0042] 云管理中心:主要包括认证模块、桌面分发模块和数据库。负责触发用户身份的认证行为和分发桌面给客户端。
[0043] 认证服务器:负责建立与云管理中心的安全链接并认证用户身份。
[0044] 虚拟化桌面:包括动态口令模块、相关安全服务程序以及操作系统桌面。负责生成动态口令、验证用户身份以及提供应用服务。
[0045] (2)安全认证系统包括:
[0046] a.采用三种(三因子)身份鉴别技术:USB-Key的PIN码识别、USB-Key证书认证和动态口令认证,即:
[0047] USB-Key的PIN码识别:由用户在客户端界面中输入,用于控制插入在客户机上的USB-Key的访问权限。
[0048] USB-Key证书认证:用户证书存放于USB-Key中,用于用户身份鉴别,并在验证合法身份情况下,依此选择用户对应的桌面镜像文件信息。
[0049] 动态口令认证:虚拟桌面和客户端均采用相同类型的秘密值、随机数、用户信息和算法分别计算得到动态口令,虚拟桌面验证客户端的动态口令。
[0050] b.采用双层认证技术:虚拟镜像文件认证和虚拟桌面系统认证,即:
[0051] 虚拟镜像文件认证:根据用户的证书和签名信息的验证结果,决定是否返回用户的虚拟镜像文件信息,验证失败时,用户无法获知任何镜像文件信息。
[0052] 虚拟桌面系统认证:用户通过获取的虚拟镜像文件信息、用户名以及动态口令,尝试登录虚拟桌面,由虚拟桌面的相关安全服务程序验证,仅在验证通过情况下,才返还虚拟桌面的控制权给用户。
[0053] c.安全认证过程和组件间的数据交互过程可参考附图,具体描述如下:
[0054] 步骤1,用户在客户机上插入USB-Key,在客户端软件界面上输入USB-Key的PIN码,客户端检测USB-Key存在并验证PIN码的正确性。
[0055] 步骤2,客户端软件向云管理中心认证模块申请签名所用的随机数x;云管理中心认证模块收到请求后产生随机数x,并返回至客户端软件。
[0056] 步骤3,客户端软件从USB-Key中获取用户名、用户证书,然后用该随机数x通过HASH对待签名数据做摘要,通过用户私钥对摘要数据进行签名,产生验签数据包p7包(含有用户证书和签名的身份信息,签名的身份信息是在瘦客户端的软件中通过HASH算法生成的信息,即数字签名)。
[0057] 步骤4,客户端软件将用户名和验签数据包发送给云管理中心的认证模块。
[0058] 步骤5,云管理中心的认证模块在收到客户端软件发送的信息后,转发至认证服务器,由认证服务器的验签模块完成用户身份验证;认证模块用于与客户端建立安全会话、生成签名随机数、接收认证请求、交互认证信息及结果。
[0059] 步骤6,云管理中心的认证模块获取身份验证结果,如果验证通过,则将用户的用户名信息发送至云管理中心的桌面分配模块,由桌面分配模块根据数据库(用户与镜像文件的匹配信息,依靠镜像文件的uuid和用户及权限进行绑定)选择该用户对应的镜像文件(含有操作系统桌面和应用环境等)信息,返回至客户端软件;如果身份验证失败,则桌面分配模块返回一个异常信息至客户端软件。
[0060] 步骤7,虚拟桌面服务端根据初始化时保存的用户身份信息(即秘密值,此秘密值是一开始就在usbkey和虚拟桌面服务端程序中的)计算出新的动态口令,依此来重置桌面系统的登录口令,并返还生成动态口令所需的随机数至客户端软件;客户端软件根据USB-Key中的秘密值和虚拟桌面服务端申请来的随机数y等,通过HASH算法计算出本次登录虚拟桌面时所需的口令,发起虚拟桌面连接会话,在会话中携带用户名和动态口令,交由虚拟桌面服务端程序验证;验证通过后,将虚拟桌面返回至客户端。如果验证失败,用户无法获取虚拟桌面。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈