面向云计算平台的三层认证系统及认证方法与流程

文档序号:12648722阅读:358来源:国知局
面向云计算平台的三层认证系统及认证方法与流程
本发明属于互联网技术领域,更进一步涉及中计算平台的三层认证系统及其方法,可用于对云平台下用户、云平台服务器、虚拟机群的身份认证,保护云计算平台用户的隐私和数据安全。技术背景伴随着云计算的快速发展,越来越多的用户将数据和应用托管到了云端,但是云计算中的安全问题已成为目前阻碍云计算发展的最主要的问题之一。云计算具有多用户、多层次、体系结构庞大的特性,正是因为这些新特性使得云计算的安全有着其特殊性:1)云平台用户认证的开放性特性,使得其认证安全需求高;2)云平台服务器的易伪造特性,使得云平台认证服务器需要对服务器进行认证;3)云平台虚拟机的资源隔离特性,使得其认证保密性要求高,并且保证内部共享。无锡成电科大科技发展有限公司申请的专利“一种云平台的认证与接入方法及系统”(申请号CN201310139306.0申请公布号CN103312691A)公开了一种云平台的认证与接入方法及系统。该方法包括:检查对端的数字证书是否是由本端信赖的CA签发;对端用私钥数字签名,本端用与其对应的公钥解密数字签名,以此来认证对端身份。该发明对用户和云平台服务器进行双向身份认证,通过双向身份认证,进一步保障云平台及整个网络的安全。该方法存在的不足之处是对于提供服务的云平台的认证任务留给了缺乏权威性的用户,所以认证的结果同样缺乏权威性。武汉大学申请的专利“一种防止云平台虚拟机非法启动的镜像加解密方法”(申请号CN201310478092.X申请公开号CN103516728A)公开了一种防止云平台虚拟机非法启动的镜像加解密方法。其特征在于:云管理服务器的密钥管理中心为每个虚拟机的镜像创建一个唯一的密钥,并采用云管理服务器中TPM(TrustedPlatformModule,可信赖平台模块)的SRK(StorageRootKey,存储根密钥)密钥保护该密钥;在云管理服务器下发虚拟机的镜像时,将受云管理服务器中TPM保护的密钥迁移至虚拟机运行的计算节点上,然后利用计算节点上TPM的SRK密钥保护该密钥;虚拟机第一次启动时正常启动,在每次虚拟机关闭时,利用迁移到计算节点上的密钥对虚拟机的镜像进行加密;之后虚拟机每次启动时对已加密虚拟机的镜像进行解密。该方法的不足之处用户的虚拟机的密码由服务器掌握,从而使虚拟机密码可信度下降,导致用户数据保密性下降。

技术实现要素:
本发明的目的在于针对上述现有技术的不足,提出一种面向云计算平台的三层认证系统及方法,以提高了云计算平台用户层、服务器层和虚拟机层的安全性,保证用户数据和隐私的安全性。为了实现上述目的,本发明的技术方案是这样实现的:一.本发明的三层认证系统本发明的三层认证系统包括用户层认证模块、服务器层认证模块和虚拟机层认证模块,其特征在于:所述用户层次认证模块,包括:用户证书列表子模块,用于认证服务器存储用户的证书信息V;分配子模块,用于通过认证服务器为用户分配不同的角色,即用户在云平台操作时会选择相应的角色,用户在对云平台操作时是基于角色分配的,每个用户拥有若干不同的角色,这些角色由认证服务器分配;USBkey子模块,用于利用硬件USBkey存储加密后的用户证书信息V′,所述的服务器层次认证模块,包括:服务器证书列表子模块,用于存储服务器的证书信息W;服务器认证子模块,用于主动对所有服务器中部署的证书进行认证,如果发现未认证通过的服务器,则会禁止为该服务器提供服务;所述的虚拟机层认证模块,包括:虚拟机认证子模块,用于对用户USBkey中提供的证书与虚拟机中部署的证书进行匹配,以保证用户能打开虚拟机;虚拟机通信子模块,用于在虚拟机之间进行加密通信,通信内容为En(meg),其中n表示用户虚拟机群组密钥,meg表示虚拟机发送的消息。二.本发明三层认证方法本发明的三层认证方法,包括如下步骤:(1)用户层认证步骤:(1a)用户通过浏览器打开云平台界面,进入用户身份识别系统,如用户已经注册则跳至1d),否则执行1b);(1b)用户在云平台注册自己的身份密码m,认证服务器根据用户身份ri、用户公钥q以及用户随机数δ,制作用户证书(ri||q||Ep(δ)),用户证书在用户密码m加密后写入USBkey,云平台将USBkey颁发给用户保存,同时将用户证书写入用户证书列表;(1c)用户在云平台操作是基于角色的访问控制进行,认证服务器负责对用户的角色、权限进行配置;(1d)用户使用用户密码m读取USBkey中证书信息,认证服务器通过用户输入的用户密码m和用户证书验证用户身份;(2)服务器层认证步骤:(2a)服务器加入云计算平台集群,进入服务器身份识别系统,若服务器已经完成注册则跳至步骤2d),否则执行2b);(2b)新加入的服务器通过云平台中的认证服务器进行身份注册,认证服务器根据服务器身份s、服务器公钥sq,服务器私钥sp和服务器随机数θ,制作服务器证书(s||sq||Esp(θ)),并将证书发送给新加入的服务器,同时将证书写入服务器证书列表中;(2c)认证服务器主动读取云平台中所有服务器上的证书,通过该证书验证服务器身份,禁止未通过认证的服务器向云平台提供服务;(3)虚拟机层认证步骤:(3a)用户登陆云平台,向云平台申请开启指定数量的虚拟机;(3b)用户向认证服务器提供用户的虚拟机群组密钥n和用户证书,认证服务器将用户的虚拟机群组密钥和用户证书注入用户申请的虚拟机镜像,并为用户开启指定数量的虚拟机;(3c)用户访问指定虚拟机时,进入虚拟机身份识别系统,用户使用用户密码m读取USBkey中证书信息,认证服务器通过用户输入的证书和指定虚拟机镜像中的证书进行认证:(3d)判断认证是否通过:若用户输入的证书和虚拟机镜像中的证书匹配,则认证通过,用户虚拟机相互通信,并使用群组密钥对通信内容进行加密,接收端需使用群组密钥对加密后的通信内容进行解密;反之,认证未被通过,则重新执行步骤3c)。本发明与现有技术相比具有如下优点:第一,本发明由于在用户层认证中,云平台中的认证服务器会为用户颁发写有用户证书的USBkey,通过硬件技术保证每一个合法用户都是服务器认证的,同时用户在云平台操作是基于角色的访问控制进行,保证了用户操作的合法性,提高了用户隐私和数据的安全性。第二,本发明由于在服务器层认证中,要求新加入云平台的服务器必须通过云平台中的认证服务器进行身份认证,并且认证服务器将主动对云平台中所有服务器认证,从而防止未认证通过的服务器和伪造的服务器加入到云平台,提高了云平台中服务器的权威性。第三,本发明在虚拟机层认证中,由于用户在申请虚拟机后,云平台中的认证服务器会向用户申请的虚拟机镜像中注入用户的群组密钥和用户证书,保证了不同用户之间虚拟机群的隔离,并且在虚拟机通信时使用用户的群组密钥加密,进一步提到了虚拟机之间的安全通信,提高了用户虚拟机中的数据和虚拟机间通信的安全性。附图说明图1为本发明的系统框图;图2为本发明方法的实现总流程图;图3是本发明中用户层认证子流程图;图4为本发明中服务器层认证子流程图;图5为本发明中虚拟机层认证子流程图。具体实施措施参照附图1,本发明的系统包括:用户层认证模块、服务器层认证模块和虚拟机层认证模块三大模块,其中:用户层认证模块,用于对云平台中用户身份进行认证;服务器层认证模块,用于对云平台中的服务器进行身份认证;虚拟机层认证模块,用于对虚拟机进行身份认证。三个认证模块从用户、服务器和虚拟机三个层次共同为云平台提供安全保障。所述用户层次认证模块,包括:用户证书列表子模块、分配子模块和USBkey子模块。该用户证书列表子模块,用于认证服务器存储用户的证书信息;该USBkey子模块,用于利用硬件USBkey存储加密后的用户证书信息;该分配子模块,用于认证服务器为用户分配角色,并且为各个角色配置不同的权限。在用户进行身份注册时,认证服务器为用户制作证书,并发送给用户证书列表子模块进行存储,同时使用用户密码对用户证书加密,并将加密后的用户证书发送给USBkey子模块进行存储;认证服务器在用户完成注册时将进入分配子模块进行角色分配。所述的服务器层次认证模块,包括:服务器证书列表子模块、服务器认证子模块。该服务器证书列表子模块,用于存储服务器的证书信息;该服务器认证子模块,用于云平台中认证服务器主动收集所有服务器中部署的证书,并通过对比服务器证书列表子模块中的服务器证书信息和服务器中部署的用户证书信息进行服务层身份认证,如果发现未认证通过的服务器,则会禁止该服务器工作;所述的虚拟机层认证模块,包括:虚拟机认证子模块、虚拟机通信子模块。该虚拟机认证子模块,用于云平台中认证服务器对用户层USBkey子模块中提供的证书与虚拟机中注入的证书进行匹配,以保证用户能打开虚拟机;该虚拟机通信子模块,用于对虚拟机之间通信内容进行加密。参照图2,本发明面向云计算平台的三层认证方法,其实现包括用户层认证、服务器层认证和虚拟机层认证三个层。一、用户层认证:参照图3,本步骤的实现如下:步骤1,用户登录云平台工作时由用户打开面向云平台的三层认证系统,根据云平台中认证服务器中的记录,判断用户是否完成身份注册,若已经完成身份注册,则执行步骤5;否则,则执行步骤2。步骤2,用户身份注册。用户通过云平台中的认证服务器注册身份ri和密码m,认证服务器为用户分发通信时使用的私钥p和公钥q,其中认证服务器根据用户身份ri、用户公钥q和数字签名Ep(δ)制作用户证书(ri||q||Ep(δ)),用户证书在经过用户密码m加密后写入硬件USBkey,同时为USBkey设置密码m,并将USBkey颁发给用户;认证服务器将用户的身份信息ri,密码m和证书(ri||q||Ep(δ))写入用户证书列表。步骤4,认证服务器为用户分配角色。认证服务器基于角色的访问控制为用户分配不同角色,并为每个角色配置不同的管理权限。所述的角色,其在基于角色的访问控制中,表示一定数量的权限的集合,权限分配的单位与载体,目的是隔离用户与权限的逻辑关系。步骤5,认证用户身份用户在web页面通过网页插件调用USBkey,通过用户密码m打开USBkey,读取其中证书(ri||q||Ep(δ)),并使用用户私钥对证书(ri||q||Ep(δ))加密,得到加密后的证书Ep(ri||m||Ep(δ)),并将加密后证书Ep(ri||m||Ep(δ))上传至认证服务器,认证服务器按如下步骤进行认证:5.1)认证服务器通过用户公钥q对加密后证书Ep(ri||m||Ep(δ))解密,解密后获得用户名ri、用户密码m和数字签名Ep(δ),使用用户公钥q对数字签名Ep(δ)进行解密,得到用户随机数δ;5.2)将用户名ri,用户密码m和随机数δ与认证服务器用户列表存储的用户名ri′,用户密码m′和用户随机数δ′进行对比,若满足条件则用户身份认证通过,否则认证不通过。二、服务器层认证:参照图4,本步骤的实现如下:步骤6,服务器加入云平台当服务器加入云平台时,服务器通过网络连接至云平台,必须通过云平台的三层认证系统进行服务器身份认证。并根据云平台中认证服务器中的记录,判断服务器是否完成注册,若已经完成注册,则跳转到步骤8;若未完成注册,则执行步骤7。步骤7,服务器身份注册。新加入的服务器通过云平台中的认证服务器注册身份s,认证服务器为服务器分发通信时使用的私钥sp和公钥sq,其中认证服务器根据服务器身份s、服务器公钥sq和数字签名Ep(θ)制作服务器证书(s||sq||Esp(θ)),认证服务器将证书(s||sq||Esp(θ))发送给新加入的服务器;认证服务器将服务器的身份s和证书(s||sq||Esp(θ))写入服务器证书列表。步骤8,认证服务器主动对服务器认证。8.1)认证服务器主动向云平台中服务器收集服务器证书(s||sq||Esp(θ)),获取服务器名称s、服务器公钥sq和数字签名Esp(θ),并使用服务器公钥sq对签名Esp(θ)进行解密,得到服务器随机数θ;8.2)将服务器名称s和服务器随机数θ与认证服务器中的服务器列表所存储的服务器名称s′和服务器随机数θ′进行对比,若满足条件则服务器身份认证通过,否则认证不通过。三、虚拟机层认证:参照图5,本步骤的实现如下:步骤9,用户申请虚拟机工作时由用户打开面向云平台的三层认证系统,用户在云平台申请指定数量的虚拟机。步骤10,认证服务器为用户开启虚拟机。用户向认证服务器提供用户的虚拟机群组密钥n和用户证书(ri||q||Ep(δ)),认证服务器将用户的虚拟机群组密钥和用户证书注入用户申请的虚拟机镜像,并为用户开启指定数量的虚拟机。步骤11,虚拟机身份认证。用户访问指定虚拟机时,进入虚拟机身份识别系统,用户通过用户密码m打开USBkey,读取其中证书(ri||q||Ep(δ)),并使用用户私钥对证书(ri||q||Ep(δ))加密,得到加密后证书Ep(ri||m||Ep(δ)),并将加密后证书Ep(ri||m||Ep(δ))上传至认证服务器;认证服务器通过用户公钥q解密加密后证书Ep(ri||m||Ep(δ)),得到用户证书(ri||m||Ep(δ));步骤12,判断认证是否通过认证服务器对用户上传的证书和指定虚拟机镜像中的证书进行认证判断:若用户输入的证书与虚拟机镜像中的证书匹配,则认证通过,执行步骤13;反之,返回步骤11。步骤13,虚拟机间加密通信虚拟机发送消息meg,并使用用户的群组密钥n对消息meg加密,得到加密后的消息En(meg),接收端使用群组密钥n,对加密消息En(meg)解密,得到解密后的消息meg。以上描述仅是本发明的一个具体事例,并且构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1