CN116886374A - 身份认证方法及云计算服务平台 - Google Patents
身份认证方法及云计算服务平台 Download PDFInfo
- Publication number
- CN116886374A CN116886374A CN202310893444.1A CN202310893444A CN116886374A CN 116886374 A CN116886374 A CN 116886374A CN 202310893444 A CN202310893444 A CN 202310893444A CN 116886374 A CN116886374 A CN 116886374A
- Authority
- CN
- China
- Prior art keywords
- component
- password
- security module
- cpu
- token
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012795 verification Methods 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供的身份认证方法及云计算服务平台中,身份认证组件接收用户的获取令牌请求,将获取令牌请求中的用户信息发送至密码服务组件;密码服务组件通过调用CPU的安全模块,并基于用户信息、CPU的安全模块中的第一密钥、密码算法,生成用户令牌;用户令牌包括第一密钥对应的密钥标识;身份认证组件接收服务资源组件发出的解密令牌请求,并将解密令牌请求中的目标用户令牌发送至密码服务组件;密码服务组件通过调用CPU的安全模块,并基于CPU的安全模块中目标用户令牌中的目标密钥标识对应的密钥及密码算法,对目标用户令牌进行解密,获取目标用户信息。本申请能够提高身份认证的可靠性,从而提高云计算服务平台的安全性。
Description
技术领域
本申请涉及通讯技术领域,尤其涉及一种身份认证方法及云计算服务平台。
背景技术
云计算服务平台是为公共及私有云的建设及管理提供服务的平台,其具有性能稳定、可扩展性强等特点,为云服务的底层基础架构。身份认证组件是云计算服务平台中负责身份验证、服务规则和服务令牌的组件。用户在访问云计算的服务资源组件时,先通过身份认证组件获取用户令牌,然后用用户令牌作为访问凭证访问服务资源组件,服务资源组件将用户令牌发送给身份认证组件,身份认证组件对用户令牌进行解密,以验证用户身份,身份认证合格的用户可以访问服务资源组件。
相关技术中,身份认证组件基于本地配置文件中的密钥及密码算法对用户信息进行加密,生成用户令牌,以及在基于本地配置文件中的密钥及密码算法对用户令牌进行解密,获得用户信息,以完成用户身份的认证。
然而相关技术中,本地配置文件中的密钥及密码算法,容易被窃取及篡改,使得身份认证的可靠性较低,进而降低了云计算服务平台的安全性。
发明内容
本申请提供一种身份认证方法及云计算服务平台,旨在解决相关技术中,身份认证的可靠性较低,进而降低了云计算服务平台的安全性的问题。
第一方面,本申请提供一种身份认证方法,运行于云计算服务平台,所述云计算服务平台包括:服务资源组件、身份认证组件及密码服务组件,所述密码服务组件所在服务器的CPU内嵌有安全模块;所述方法包括:所述身份认证组件接收用户的获取令牌请求,并将所述获取令牌请求中的用户信息发送至所述密码服务组件;所述密码服务组件通过调用所述CPU的安全模块,并基于所述用户信息、所述CPU的安全模块中的第一密钥、密码算法,生成用户令牌;将所述用户令牌返回至所述身份认证组件;所述用户令牌包括所述第一密钥对应的密钥标识;所述身份认证组件接收所述服务资源组件发出的解密令牌请求,并将所述解密令牌请求中的目标用户令牌发送至所述密码服务组件;所述密码服务组件通过调用所述CPU的安全模块,并基于所述CPU的安全模块中所述目标用户令牌中的目标密钥标识对应的密钥及所述密码算法,对所述目标用户令牌进行解密,获取目标用户信息,将所述目标用户信息返回至所述身份认证组件。
在一些实施例中,所述身份认证组件及所述密码服务组件部署在不同的服务器上。
在一些实施例中,所述身份认证组件及所述密码服务组件部署在同一服务器上。
在一些实施例中,所述CPU的安全模块中的密码算法包括第一密码算法及第二密码算法;所述密码服务组件通过调用所述CPU的安全模块,并基于所述用户信息、所述CPU的安全模块中的第一密钥、密码算法,生成用户令牌,包括:所述密码服务组件通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密钥及第一密码算法对所述用户信息进行加密,生成用户密文;并获取所述第一密钥对应的密钥标识;所述密码服务组件通过调用所述CPU的安全模块,基于所述用户密文及所述第一密钥对应的密钥标识,并通过所述第二密码算法,获得完整性验证码;所述密码服务组件整合所述用户密文、所述第一密钥对应的密钥标识及所述完整性验证码,生成用户令牌。
在一些实施例中,所述密码服务组件通过调用所述CPU的安全模块,并基于所述CPU的安全模块中所述目标用户令牌中的目标密钥标识对应的密钥及所述密码算法,对所述目标用户令牌进行解密,获取目标用户信息,包括:所述密码服务组件通过调用所述CPU的安全模块,基于所述目标用户令牌中的目标用户密文及目标密钥标识,并通过所述CPU的安全模块中的第二密码算法,生成目标完整性验证码;所述密码服务组件检测所述目标完整性验证码与所述目标用户令牌中的完整性验证码是否一致;若一致,所述密码服务组件通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密码算法及所述目标密钥标识对应的密钥对所述目标用户密文进行解密,获得目标用户信息。
在一些实施例中,所述第一密码算法为第一国密算法,所述第二密码算法为第二国密算法。
在一些实施例中,所述第一密码算法为第一国际标准算法,所述第二密码算法为第二国际标准算法。
在一些实施例中,所述云计算服务平台为Openstack服务平台,所述身份认证组件为所述Openstack服务平台的Keystone组件。
第二方面,本申请提供一种云计算服务平台,所述云计算服务平台包括:服务资源组件、身份认证组件及密码服务组件,所述密码服务组件所在服务器的CPU内嵌有安全模块;所述身份认证组件,用于接收用户的获取令牌请求,并将所述获取令牌请求中的用户信息发送至所述密码服务组件;所述密码服务组件,用于通过调用所述CPU的安全模块,并基于所述用户信息、所述CPU的安全模块中的第一密钥、密码算法,生成用户令牌;将所述用户令牌返回至所述身份认证组件;所述用户令牌包括所述第一密钥对应的密钥标识;所述身份认证组件,用于接收所述服务资源组件发出的解密令牌请求,并将所述解密令牌请求中的目标用户令牌发送至所述密码服务组件;所述密码服务组件,用于通过调用所述CPU的安全模块,并基于所述CPU的安全模块中所述目标用户令牌中的目标密钥标识对应的密钥及所述密码算法,对所述目标用户令牌进行解密,获取目标用户信息,将所述目标用户信息返回至所述身份认证组件。
在一些实施例中,所述CPU的安全模块中的密码算法包括第一密码算法及第二密码算法;所述密码服务组件,具体用于通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密钥及第一密码算法对所述用户信息进行加密,生成用户密文;并获取所述第一密钥对应的密钥标识;所述密码服务组件,具体还用于通过调用所述CPU的安全模块,基于所述用户密文及所述第一密钥对应的密钥标识,并通过所述第二密码算法,获得完整性验证码;所述密码服务组件,具体还用于整合所述用户密文、所述第一密钥对应的密钥标识及所述完整性验证码,生成用户令牌。
在一些实施例中,所述密码服务组件,具体用于通过调用所述CPU的安全模块,基于所述目标用户令牌中的目标用户密文及目标密钥标识,并通过所述CPU的安全模块中的第二密码算法,生成目标完整性验证码;所述密码服务组件,具体还用于检测所述目标完整性验证码与所述目标用户令牌中的完整性验证码是否一致;若一致,所述密码服务组件,具体还用于通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密码算法及所述目标密钥标识对应的密钥对所述目标用户密文进行解密,获得目标用户信息。
在一些实施例中,所述云计算服务平台为Openstack服务平台,所述身份认证组件为所述Openstack服务平台的Keystone组件。
本申请提供的身份认证方法及云计算服务平台中,身份认证组件接收用户的获取令牌请求,并将所述获取令牌请求中的用户信息发送至密码服务组件,密码服务组件通过调用所述CPU的安全模块,并基于用户信息、CPU的安全模块中的第一密钥及密码算法,生成用户令牌;身份认证组件接收服务资源组件发出的解密令牌请求,将解密令牌请求中的目标用户令牌至密码服务组件;密码服务组件通过调用CPU的安全模块,并基于安全模块中目标密钥标识对应的密钥及密码算法,对所述用户令牌进行解密,以完成身份的认证。本方案中,云计算服务平台中增加了密码服务组件,身份认证组件可以通过密码服务组件调用CPU中的安全模块执行加密及解密的处理,而密钥及密码算法都存储于安全模块中,无法被窃取及篡改,且密钥以密钥标识的形式流转,这样即使密钥标识被非法获取,也无法获知硬件中的密钥,因而本实施例能够提高身份认证的可靠性,从而能够提高云计算服务平台的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请实施例的实施例,并与说明书一起用于解释本申请实施例的原理。
通过上述附图,已示出本申请实施例明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请实施例构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请实施例的概念。
图1为一示例中云计算服务平台的结构示意图;
图2为本申请实施例提供的一种云计算服务平台的结构示意图;
图3为本申请实施例提供的一种身份认证方法的流程示意图;
图4为本申请实施例提供的另一种身份认证方法的流程示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似或同类的对象或实体,而并不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。本申请中使用的术语“电路”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
对本申请所涉及的名词进行解释:
国密算法:是我国自主研发创新的一套数据加密处理系列算法。从SM1-SM4分别实现了对称、非对称、摘要等算法功能。特别适合应用于嵌入式物联网等相关领域,完成身份认证和数据加解密等功能。
国际标准算法:国际算法证书是由国际电信联盟(ITU)制定的一种标准,旨在评估密码算法的安全性和性能。国际算法证书通常用于评估通信协议中使用的密码算法,如TLS和IPsec等。其评估标准基于国际标准,如ISO/IEC 18033和ISO/IEC 19772等。
令牌:即Token,为服务端生成的一串加密字符串、以作客户端进行请求的一个凭证。当用户使用账号密码成功进行登录后,服务器便生成一个Token及Token失效时间并将此返回给客户端,若成功登陆,以后客户端只需在有效时间内带上这个Token前来请求数据即可,无需再次带上用户名和密码。
下面对本申请的应用场景及技术问题进行相关的说明。
图1为一示例中云计算服务平台的结构示意图,如图1所示,云计算平台包括:身份认证组件10及服务资源组件20,其中服务资源组件20可以包括控制节点及多个服务节点。身份认证组件10是云计算服务平台中负责身份验证、服务规则和服务令牌的组件。服务资源组件20与客户端及身份认证组件10连接。服务资源组件20提供API接口。用户30要访问服务资源组件20,先向身份认证组件10发送获取令牌请求,身份认证组件10对用户30身份信息进行核实,若通过生成用户令牌,并将用户令牌返回至用户30,用户30带着用户令牌,通过API接口访问服务资源组件20,服务资源组件20向身份认证组件10发送解密令牌请求,身份认证组件10对用户令牌进行解密,获得用户30的用户信息,以获取令牌是否有效,以及用户30的访问权限,完成身份的认证,并将认证结果返回给服务资源组件20,若认证通过则允许该用户30进行访问,若不通过则允许该用户30访问。
相关技术中,身份认证组件基于本地配置文件中的密钥及密码算法对用户信息进行加密,生成用户令牌,以及在基于本地配置文件中的密钥及密码算法对用户令牌进行解密,获得用户信息,以完成用户身份的认证。
然而相关技术中,本地配置文件中的密钥及密码算法,容易被窃取及篡改,使得身份认证的可靠性较低,进而降低了云计算服务平台的安全性。例如,若不法人员从身份认证的本地配置文件中窃取了密钥及密码算法,又获取用户令牌,则可以伪造身份非法访问服务资源组件。
为此,本申请提供一种身份认证方法,以提高身份认证的可靠性较低,从而提高云计算服务平台的安全性的。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。在本申请的描述中,除非另有明确的规定和限定,各术语应在本领域内做广义理解。下面将结合附图,对本申请的实施例进行描述。
实施例一
本实施例提供一种的身份认证方法,运行于云计算服务平台中,图2为本申请实施例提供的一种云计算服务平台的结构示意图,如图2所示,所述云计算服务平台包括:服务资源组件20、身份认证组件10及密码服务组件40,所述密码服务组件40所在服务器的CPU内嵌有安全模块。其中密码服务组件40可以为安装在服务器上的软件,密码服务组件40可以调用所在服务器的CPU,其中CPU的内核中嵌有安全模块,安全模块将密码技术及通用计算技进行芯片级的一体化融合设计,使其具有硬件级的密码算法处理能力及芯片级的安全防护能力,从而实现应用处理器、通讯处理器的真正安全,为操作系统及上层应用提供灵活的安全解决方案。此外,安全模块能够写入密钥及密码算法,且其内的密钥及密码算法不能够被窃取及篡改。安全模块只能向上层应用提供密钥对应的密钥标识,而不提供真正的密钥。
本实施例中的云计算服务平台包括但不限于Openstack服务平台、oVirt服务平台及Proxmox服务平台。以Openstack服务平台为例,身份认证组件为Keystone组件;服务资源组件则可以包括Openstack服务平台中的服务资源组件,可以包括控制节点、计算节点、网络节点及存储节点等。
在上述架构的基础上,图3为本申请实施例提供的一种身份认证方法的流程示意图,所述方法包括:
S301:所述身份认证组件接收用户的获取令牌请求,并将所述获取令牌请求中的用户信息发送至所述密码服务组件;
S302:所述密码服务组件通过调用所述CPU的安全模块,并基于所述用户信息、所述CPU的安全模块中的第一密钥、密码算法,生成用户令牌;将所述用户令牌返回至所述身份认证组件;所述用户令牌包括所述第一密钥对应的密钥标识;
S303:所述身份认证组件接收所述服务资源组件发出的解密令牌请求,并将所述解密令牌请求中的目标用户令牌发送至所述密码服务组件;
S304:所述密码服务组件通过调用所述CPU的安全模块,并基于所述CPU的安全模块中所述目标用户令牌中的目标密钥标识对应的密钥及所述密码算法,对所述目标用户令牌进行解密,获取目标用户信息,将所述目标用户信息返回至所述身份认证组件。本实施例的S301中,身份认证组件接收用户的获取令牌请求,获取令牌请求中包括用户的用户信息,用户信息可以包括用户名、用户密码等信息;身份认证组件可以在每个用户注册时,分配给用户对应的访问权限,并以权限表的形式存储。在接收获取令牌请求时,身份认证组件则可以先基于权限表确认用户是否为合法用户,若为合法用户,则将用户信息发送给密码服务组件,若不为合法用户,则不予获取令牌。
S302中,密码服务组件作为CPU的安全模块的应用软件,可以调用安全模块执行相应的处理。由上述可知,安全模块是嵌在CPU中的硬件,安全模块具体有密码运算功能,存储有密钥及密码算法。其中,安全模块中的密钥可以为一个或多个;当密钥为一个时,则所有的用户信息都用一个密钥进行加密;也可以以项目为单位,每个项目下的各用户对应一个密钥;还可以将多个密钥轮流周期性更换,对此本示例中不做限制。
密码服务组件调用安全模块,安全模块作为执行硬件,基于用户信息及其内存储的第一密钥及加密算法,生成用户令牌,其中用户令牌中包括第一密钥对应的密钥标识,由于安全模块具有密码运算功能,因而会基于第一密钥生成与之唯一对应的密钥标识,密钥标识可以理解为加了密的密钥,只有安全模块知道真正用于加密的密钥,外界只能获取密钥标识。用户令牌中包括密钥标识目的是为了后续解密令牌时,安全模块能够通过目标用户令牌中的目标密钥标识,确定用于解密的密钥。
密码服务组件将用户令牌,返回至身份认证组件。身份认证组件将用户令牌返回给用户。
然后用户带着用户令牌,基于API接口访问服务资源组件,服务资源组件需要通过身份认证组件对用户令牌进行验证,以识别出用户的令牌是否有效。
S303中,身份认证组件接收服务资源组件发出的解密令牌请求,该请求中可以包括目标用户令牌。身份认证组件将目标用户令牌发送至密码服务组件。
S304中,密码服务组件接收目标用户令牌,调用CPU的安全模块执行解密处理。CPU的安全模块基于用户令牌中的目标密钥标识,确认加密该用户令牌的密钥。需要说明的是,上述示例可知,安全模块中的密钥可能是基于不用的用户而变化,也可能是周期性更换,因此加密模块需要基于目标密钥标识,确定加密该用户令牌的密钥。然后基于目标密钥标识对应的密钥,通过安全模块中的密码算法对目标用户令牌进行解密,以获取目标用户信息,并将解密后的目标用户信息返回至身份认证组件。
示例性的,身份认证组件可以对目标用户信息做进一步认证,例如基于上述用户权限表,以确认用户的合法性及对应的权限,并将认证结果返回至服务资源组件。
本实施例中,云计算服务平台中增加了密码服务组件,身份认证组件可以通过密码服务组件调用CPU中的安全模块执行加密及解密的处理,而密钥及密码算法都存储于安全模块中,无法被窃取及篡改,且密钥以密钥标识的形式流转于密码服务组件及身份认证组件,这样即使密钥标识被非法获取了,也无法获知硬件中的密钥,因而本实施例能够提供身份认证的可靠性,从而能够提高云计算服务平台的安全性。
一些示例中,身份认证组件及密码服务组件可以部署在同一服务器上。其中密码服务组件可以作为插件集成在身份认证组件中,也可以作为与身份认证组件并列的应用安装在服务器上。本示例中对此不做限制。
在本示例中,身份认证组件与密码服务组件部署在同一服务器上,也就是说,身份认证组件与密码服务组件调用同一CPU执行处理。而这个CPU上内嵌有安全模块。该CPU需要能够接收身份认证组件与密码服务组件的调用。从整体来看,本示例能够减少云计算服务平台中服务器及CPU的配置数量,从而降低云计算服务平台构建成本。
另一些示例中,身份认证组件及密码服务组件可以部署在不同的服务器上。也就是说,本示例中身份认证组件和密码服务组件调用不同的CPU执行对应的处理。
例如,身份认证组件安装在第一服务器上,调用第一服务器的第一CPU执行接收、转发、认证等处理,其中第一CPU只具有CPU通用的运算功能的;密码服务组件安装在第二服务器上,调用第二服务器的第二CPU执行加密、解密处理,第二CPU具有加解密等密码运算功能。
本示例中,身份认证组件及密码服务组件部署在两个服务器上,调用两个CPU执行对应的处理,进而可以提高身份认证组件及密码服务组件的处理效率,从而可以提高身份认证的效率。
下面将对密码服务组件加密、解密方案示例性的介绍。
在一些示例中,所述CPU的安全模块中的密码算法包括第一密码算法及第二密码算法;S302包括:
所述密码服务组件通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密钥及第一密码算法对所述用户信息进行加密,生成用户密文;并获取所述第一密钥对应的密钥标识;
所述密码服务组件通过调用所述CPU的安全模块,基于所述用户密文及所述第一密钥对应的密钥标识,并通过所述第二密码算法,获得完整性验证码;
所述密码服务组件整合所述用户密文、所述第一密钥对应的密钥标识及所述完整性验证码,生成用户令牌。
本示例示例性的介绍了生成用户令牌的方案。其中,密码服务组件调用CPU的安全模块,基于安全模块中的第一密码算法及第一密钥对用户信息进行加密,生成用户密文,然后安全模块通过第二密码算法对第一密钥对应密钥标识及用户密文进行运算,生成完整性验证码,该完整性验证码用于保护用户令牌的完整性,以防止被篡改。整合用户密文、第一密钥对应密钥标识及完整性验证码生成用户令牌,也就是说,用户令牌包括用户密文、第一密钥对应密钥标识及完整性验证码对应的三串字符串。基于本示例生成的用户令牌,可靠性高,同时又能够防止用户令牌被篡改,因而能够进一步提高身份认证的可靠性。
在上述示例的基础上,另一些示例中,S304包括:
所述密码服务组件通过调用所述CPU的安全模块,基于所述目标用户令牌中的目标用户密文及目标密钥标识,并通过所述CPU的安全模块中的第二密码算法,生成目标完整性验证码;
所述密码服务组件检测所述目标完整性验证码与所述目标用户令牌中的完整性验证码是否一致;
若一致,所述密码服务组件通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密码算法及所述目标密钥标识对应的密钥对所述目标用户密文进行解密,获得目标用户信息。
本示例示例性的介绍解密用户令牌的方案。其中由上述示例可知,用户令牌是由用户密文、密钥标识及完整性验证码整合而成。解密时,密码服务组件先对解密名牌请求中的目标用户令牌做完整性验证,以确认用户令牌是否被篡改。具体的,密码服务组件调用CPU的安全模块,安全模块基于第二密码算法对目标用户令牌中的目标用户密文及目标密钥标识进行运算,生成目标完整性验证码。将目标完整性验证码与用户令牌中的完整性验证码进行比较,一旦目标用户令牌中的目标用户密文或目标密钥标识被篡改,目标完整性验证码就会与完整性验证码不同。基于此,若二者不一致,则说明当前的用户令牌被篡改了,该目标用户令牌失效。反之,若二者一致,则说明目标用户令牌未被篡改。
若目标用户令牌未被篡改,则密码服务组件继续调用安全模块,安全模块会基于目标用户令牌中的目标密钥标识,确认加密目标用户密文时的密钥,然后基于目标密钥标识对应的密钥及第一密码算法对目标用户密文进行解密,获得目标用户信息。
基于本示例解密目标用户令牌,可靠性高,同时又能够验证用户令牌是否被篡改,因而能够进一步提高身份认证的可靠性。
一个示例中,第一密码算法可以为第一国际标准算法,所述第二密码算法可以为第二国际标准算法。
本示例中,安全模块中写入的是国际标准算法,密码服务组件基于国际标准算法获取用户令牌。示例性的,第一国际标准算法可以为AES加秘密算法、第二国际标准算法可以为hmac-sha256加密算法。
另一个示例中,所述第一密码算法可以为第一国密算法,所述第二密码算法可以为第二国密算法。
本示例中,安全模块中写入的是国密算法,密码服务组件基于国密算法获取用户令牌。示例性的,第一国密算法可以为SM4算法、第二国际标准算法可以为SM3算法。相比于国际标准算法,国密算法的公开低,安全性更高,因而基于第一国密算法及第二国密算法加密、解密用户令牌,能够进一步提高身份认证的可靠性。
下面将结合实际场景对本实施例做示例性的介绍:图4为本申请实施例提供的另一种身份认证方法的流程示意图,如图4所示,以云计算服务平台为Openstack为例,所述Keystone组件接收用户的客户端发出的获取令牌请求,Keystone组件对获取令牌请求中的用户信息进行合法性验证,验证合格后,将用户信息发送密码服务组件,密码服务组件调用CPU的安全模块,安全模块中存储有第一密钥、SM3算法及SM4算法,密码服务组件通过安全模块,并基于第一密钥及SM4算法对用户信息进行加密,获得用户密文。密码服务组件获取安全模块中的第一密钥中的第一密钥标识,密码组件调用安全模块,通过安全模块基于SM3算法对第一密钥标识及用户密文进行运算,生成完整性验证码;密码服务组件对用户密文、第一密钥标识及完整性验证码进行整合,生成用户令牌,则用户令牌为{用户密文,第一密钥标识,完整性验证码}。密码服务组件将用户令牌返回至Keystone组件,Keystone组件将用户令牌返回至用户。
用户凭借用户令牌访问服务资源组件,服务资源组件向Keystone组件发送解密令牌请求,Keystone组件将解密令牌请求中的目标用户令牌发送至密码服务组件,密码服务组件调用安全模块,通过安全模块,并基于安全模块中的SM3算法对目标用户令牌请求中的目标用户密文及目标密钥标识进行运算,获得目标完整性验证码,密码服务组件检验目标完整性验证码与目标用户令牌中的完整性验证码是否一致,若不一致,则目标用户令牌被篡改,目标用户令为无效令牌。若一致,则密码服务组件调用安全模块,通过安全模块,并基于安全模块中的目标密码标识对应的密钥及SM4算法对目标用户密文进行解密,获得用户信息,并将该用户信息返回至Keystone组件,Keystone组件再次验证用户信息的合法性及权限,完成身份认证,并将身份认证结果返回至服务资源组件。
本实施例提供的身份认证方法中,身份认证组件将接收的获取令牌请求中的用户信息发送至密码服务组件,密码服务组件通过调用CPU的安全模块,并基于用户信息、CPU的安全模块中的密钥、密码算法及密钥对应的密钥标识,生成用户令牌;将用户令牌返回至身份认证组件,身份认证组件将接收的解密令牌请求中的用户令牌发送至密码服务组件;密码服务组件通过调用CPU的安全模块,并基于用户令牌中的密钥标识对应的密钥及密码算法,对用户令牌进行解密,获取用户信息。本方案中,云计算服务平台中增加了密码服务组件,身份认证组件可以通过密码服务组件调用CPU中的安全模块执行加密及解密的处理,而密钥及密码算法都存储于安全模块中,无法被窃取及篡改,且密钥以密钥标识的形式流转,这样即使密钥标识被非法获取,也无法获知硬件中的密钥,因而本实施例能够提高身份认证的可靠性,从而能够提高云计算服务平台的安全性。
实施例二
本实施例提供一种云计算服务平台,如图2所示,所述云计算服务平台包括:服务资源组件20、身份认证组件10及密码服务组件40,所述密码服务组件40所在服务器的CPU内嵌有安全模块。其中密码服务组件40可以为安装在服务器上的软件,密码服务组件40可以调用所在服务器的CPU,其中CPU的内核中嵌有安全模块,安全模块将密码技术及通用计算技进行芯片级的一体化融合设计,使其具有硬件级的密码算法处理能力及芯片级的安全防护能力,从而实现应用处理器、通讯处理器的真正安全,为操作系统及上层应用提供灵活的安全解决方案。此外,安全模块能够写入密钥及密码算法,且其内的密钥及密码算法不能够被窃取及篡改。安全模块只能向上层应用提供密钥对应的密钥标识,而不提供真正的密钥。
本实施例中的云计算服务平台包括但不限于Openstack服务平台、oVirt服务平台及Proxmox服务平台。以Openstack服务平台为例,身份认证组件为Keystone组件、服务资源组件则可以包括Openstack服务平台中的控制节点、计算节点、网络节点及存储节点等。
其中,身份认证组件10,用于接收用户的获取令牌请求,并将所述获取令牌请求中的用户信息发送至所述密码服务组件;
密码服务组件40,用于通过调用所述CPU的安全模块,并基于所述用户信息、所述CPU的安全模块中的第一密钥、密码算法,生成用户令牌;将所述用户令牌返回至所述身份认证组件;所述用户令牌包括所述第一密钥对应的密钥标识;
身份认证组件10,用于接收所述服务资源组件发出的解密令牌请求,并将所述解密令牌请求中的目标用户令牌发送至所述密码服务组件;
密码服务组件40,用于通过调用所述CPU的安全模块,并基于所述CPU的安全模块中所述目标用户令牌中的目标密钥标识对应的密钥及所述密码算法,对所述目标用户令牌进行解密,获取目标用户信息,将所述目标用户信息返回至所述身份认证组件。
本实施例中,云计算服务平台中增加了密码服务组件,身份认证组件可以通过密码服务组件调用CPU中的安全模块执行加密及解密的处理,而密钥及密码算法都存储于安全模块中,无法被窃取及篡改,且密钥以密钥标识的形式流转于密码服务组件及身份认证组件,这样即使密钥标识被非法获取了,也无法获知硬件中的密钥,因而本实施例能够提供身份认证的可靠性,从而能够提高云计算服务平台的安全性。
一些示例中,身份认证组件及密码服务组件可以部署在同一服务器上。其中密码服务组件可以作为插件集成在身份认证组件中,也可以作为与身份认证组件并列的应用安装在服务器上。本示例中对此不做限制。
在本示例中,身份认证组件与密码服务组件部署在同一服务器上,也就是说,身份认证组件与密码服务组件调用同一CPU执行处理。而这个CPU上内嵌有安全模块。该CPU需要能够接收身份认证组件与密码服务组件的调用。从整体来看,本示例能够减少云计算服务平台中服务器及CPU的配置数量,从而降低云计算服务平台构建成本。
另一些示例中,身份认证组件及密码服务组件可以部署在不同的服务器上。也就是说,本示例中身份认证组件和密码服务组件调用不同的CPU执行对应的处理。
本示例中,身份认证组件及密码服务组件部署在两个服务器上,调用两个CPU执行对应的处理,进而可以提高身份认证组件及密码服务组件的处理效率,从而可以提高身份认证的效率。
下面将对密码服务组件做示例性的介绍。
在一些示例中,所述CPU的安全模块中的密码算法包括第一密码算法及第二密码算法;
密码服务组件40,具体用于通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密钥及第一密码算法对所述用户信息进行加密,生成用户密文;并获取所述第一密钥对应的密钥标识;
密码服务组件40,具体还用于通过调用所述CPU的安全模块,基于所述用户密文及所述第一密钥对应的密钥标识,并通过所述第二密码算法,获得完整性验证码;
密码服务组件40,具体还用于整合所述用户密文、所述第一密钥对应的密钥标识及所述完整性验证码,生成用户令牌。
本示例示例性的介绍了生成用户令牌的方案。其中,密码服务组件调用CPU的安全模块,基于安全模块中的第一密码算法及第一密钥对用户信息进行加密,生成用户密文,然后安全模块通过第二密码算法对第一密钥对应密钥标识及用户密文进行运算,生成完整性验证码,该完整性验证码用于保护用户令牌的完整性,以防止被篡改。整合用户密文、第一密钥对应密钥标识及完整性验证码生成用户令牌,也就是说,用户令牌包括用户密文、第一密钥对应密钥标识及完整性验证码对应的三串字符串。基于本示例生成的用户令牌,可靠性高,同时又能够防止用户令牌被篡改,因而能够进一步提高身份认证的可靠性。
在上述示例的基础上,另一些示例中,
密码服务组件40,具体用于通过调用所述CPU的安全模块,基于所述目标用户令牌中的目标用户密文及目标密钥标识,并通过所述CPU的安全模块中的第二密码算法,生成目标完整性验证码;
密码服务组件40,具体还用于检测所述目标完整性验证码与所述目标用户令牌中的完整性验证码是否一致;
若一致,密码服务组件40,具体还用于通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密码算法及所述目标密钥标识对应的密钥对所述目标用户密文进行解密,获得目标用户信息。
本示例示例性的介绍解密用户令牌的方案。其中由上述示例可知,用户令牌是由用户密文、密钥标识及完整性验证码整合而成。解密时,密码服务组件先对解密名牌请求中的目标用户令牌做完整性验证,以确认用户令牌是否被篡改。具体的,密码服务组件调用CPU的安全模块,安全模块基于第二密码算法对目标用户令牌中的目标用户密文及目标密钥标识进行运算,生成目标完整性验证码。将目标完整性验证码与用户令牌中的完整性验证码进行比较,一旦目标用户令牌中的目标用户密文或目标密钥标识被篡改,目标完整性验证码就会与完整性验证码不同。基于此,若二者不一致,则说明当前的用户令牌被篡改了,该目标用户令牌失效。反之,若二者一致,则说明目标用户令牌未被篡改。
若目标用户令牌未被篡改,则密码服务组件继续调用安全模块,安全模块会基于目标用户令牌中的目标密钥标识,确认加密目标用户密文时的密钥,然后基于目标密钥标识对应的密钥及第一密码算法对目标用户密文进行解密,获得目标用户信息。
基于本示例解密目标用户令牌,可靠性高,同时又能够验证用户令牌是否被篡改,因而能够进一步提高身份认证的可靠性。
一个示例中,第一密码算法可以为第一国际标准算法,所述第二密码算法可以为第二国际标准算法。
本示例中,安全模块中写入的是国际标准算法,密码服务组件基于国际标准算法获取用户令牌。示例性的,第一国际标准算法可以为AES加秘密算法、第二国际标准算法可以为hmac-sha256加密算法。
另一个示例中,所述第一密码算法可以为第一国密算法,所述第二密码算法可以为第二国密算法。
本示例中,安全模块中写入的是国密算法,密码服务组件基于国密算法获取用户令牌。示例性的,第一国密算法可以为SM4算法、第二国际标准算法可以为SM3算法。相比于国际标准算法,国密算法的公开低,安全性更高,因而基于第一国密算法及第二国密算法加密、解密用户令牌,能够进一步提高身份认证的可靠性。
本实施例提供的云计算服务平台中,身份认证组件将接收的获取令牌请求中的用户信息发送至密码服务组件,密码服务组件通过调用CPU的安全模块,并基于用户信息、CPU的安全模块中的密钥、密码算法及密钥对应的密钥标识,生成用户令牌;将用户令牌返回至身份认证组件,身份认证组件将接收的解密令牌请求中的用户令牌发送至密码服务组件;密码服务组件通过调用CPU的安全模块,并基于用户令牌中的密钥标识对应的密钥及密码算法,对用户令牌进行解密,获取用户信息。本方案中,云计算服务平台中增加了密码服务组件,身份认证组件可以通过密码服务组件调用CPU中的安全模块执行加密及解密的处理,而密钥及密码算法都存储于安全模块中,无法被窃取及篡改,且密钥以密钥标识的形式流转,这样即使密钥标识被非法获取,也无法获知硬件中的密钥,因而本实施例能够提高身份认证的可靠性,从而能够提高云计算服务平台的安全性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种身份认证方法,其特征在于,运行于云计算服务平台,所述云计算服务平台包括:服务资源组件、身份认证组件及密码服务组件,所述密码服务组件所在服务器的CPU内嵌有安全模块;所述方法包括:
所述身份认证组件接收用户的获取令牌请求,并将所述获取令牌请求中的用户信息发送至所述密码服务组件;
所述密码服务组件通过调用所述CPU的安全模块,并基于所述用户信息、所述CPU的安全模块中的第一密钥、密码算法,生成用户令牌;将所述用户令牌返回至所述身份认证组件;所述用户令牌包括所述第一密钥对应的密钥标识;
所述身份认证组件接收所述服务资源组件发出的解密令牌请求,并将所述解密令牌请求中的目标用户令牌发送至所述密码服务组件;
所述密码服务组件通过调用所述CPU的安全模块,并基于所述CPU的安全模块中所述目标用户令牌中的目标密钥标识对应的密钥及所述密码算法,对所述目标用户令牌进行解密,获取目标用户信息,将所述目标用户信息返回至所述身份认证组件。
2.根据权利要求1所述的认证方法,其特征在于,所述身份认证组件及所述密码服务组件部署在不同的服务器上。
3.根据权利要求1所述的认证方法,其特征在于,所述身份认证组件及所述密码服务组件部署在同一服务器上。
4.根据权利要求1所述的方法,其特征在于,所述CPU的安全模块中的密码算法包括第一密码算法及第二密码算法;所述密码服务组件通过调用所述CPU的安全模块,并基于所述用户信息、所述CPU的安全模块中的第一密钥、密码算法,生成用户令牌,包括:
所述密码服务组件通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密钥及第一密码算法对所述用户信息进行加密,生成用户密文;并获取所述第一密钥对应的密钥标识;
所述密码服务组件通过调用所述CPU的安全模块,基于所述用户密文及所述第一密钥对应的密钥标识,并通过所述第二密码算法,获得完整性验证码;
所述密码服务组件整合所述用户密文、所述第一密钥对应的密钥标识及所述完整性验证码,生成用户令牌。
5.根据权利要求4所述的方法,其特征在于,所述密码服务组件通过调用所述CPU的安全模块,并基于所述CPU的安全模块中所述目标用户令牌中的目标密钥标识对应的密钥及所述密码算法,对所述目标用户令牌进行解密,获取目标用户信息,包括:
所述密码服务组件通过调用所述CPU的安全模块,基于所述目标用户令牌中的目标用户密文及目标密钥标识,并通过所述CPU的安全模块中的第二密码算法,生成目标完整性验证码;
所述密码服务组件检测所述目标完整性验证码与所述目标用户令牌中的完整性验证码是否一致;
若一致,所述密码服务组件通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密码算法及所述目标密钥标识对应的密钥对所述目标用户密文进行解密,获得目标用户信息。
6.根据权利要求4所述的方法,其特征在于,所述第一密码算法为第一国密算法,所述第二密码算法为第二国密算法。
7.根据权利要求4所述的方法,其特征在于,所述第一密码算法为第一国际标准算法,所述第二密码算法为第二国际标准算法。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述云计算服务平台为Openstack服务平台,所述身份认证组件为所述Openstack服务平台的Keystone组件。
9.一种云计算服务平台,其特征在于,所述云计算服务平台包括:服务资源组件、身份认证组件及密码服务组件,所述密码服务组件所在服务器的CPU内嵌有安全模块;
所述身份认证组件,用于接收用户的获取令牌请求,并将所述获取令牌请求中的用户信息发送至所述密码服务组件;
所述密码服务组件,用于通过调用所述CPU的安全模块,并基于所述用户信息、所述CPU的安全模块中的第一密钥、密码算法,生成用户令牌;将所述用户令牌返回至所述身份认证组件;所述用户令牌包括所述第一密钥对应的密钥标识;
所述身份认证组件,用于接收所述服务资源组件发出的解密令牌请求,并将所述解密令牌请求中的目标用户令牌发送至所述密码服务组件;
所述密码服务组件,用于通过调用所述CPU的安全模块,并基于所述CPU的安全模块中所述目标用户令牌中的目标密钥标识对应的密钥及所述密码算法,对所述目标用户令牌进行解密,获取目标用户信息,将所述目标用户信息返回至所述身份认证组件。
10.根据权利要求9所述的云计算服务平台,其特征在于,所述CPU的安全模块中的密码算法包括第一密码算法及第二密码算法;
所述密码服务组件,具体用于通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密钥及第一密码算法对所述用户信息进行加密,生成用户密文;并获取所述第一密钥对应的密钥标识;
所述密码服务组件,具体还用于通过调用所述CPU的安全模块,基于所述用户密文及所述第一密钥对应的密钥标识,并通过所述第二密码算法,获得完整性验证码;
所述密码服务组件,具体还用于整合所述用户密文、所述第一密钥对应的密钥标识及所述完整性验证码,生成用户令牌。
11.根据权利要求10所述的云计算服务平台,其特征在于,
所述密码服务组件,具体用于通过调用所述CPU的安全模块,基于所述目标用户令牌中的目标用户密文及目标密钥标识,并通过所述CPU的安全模块中的第二密码算法,生成目标完整性验证码;
所述密码服务组件,具体还用于检测所述目标完整性验证码与所述目标用户令牌中的完整性验证码是否一致;
若一致,所述密码服务组件,具体还用于通过调用所述CPU的安全模块,基于所述CPU的安全模块中的第一密码算法及所述目标密钥标识对应的密钥对所述目标用户密文进行解密,获得目标用户信息。
12.根据权利要求9-11任一项所述的云计算服务平台,其特征在于,所述云计算服务平台为Openstack服务平台,所述身份认证组件为所述Openstack服务平台的Keystone组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310893444.1A CN116886374A (zh) | 2023-07-19 | 2023-07-19 | 身份认证方法及云计算服务平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310893444.1A CN116886374A (zh) | 2023-07-19 | 2023-07-19 | 身份认证方法及云计算服务平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116886374A true CN116886374A (zh) | 2023-10-13 |
Family
ID=88261794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310893444.1A Pending CN116886374A (zh) | 2023-07-19 | 2023-07-19 | 身份认证方法及云计算服务平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116886374A (zh) |
-
2023
- 2023-07-19 CN CN202310893444.1A patent/CN116886374A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107743133B (zh) | 移动终端及其基于可信安全环境的访问控制方法和系统 | |
US11882442B2 (en) | Handset identifier verification | |
WO2018050081A1 (zh) | 设备身份认证的方法、装置、电子设备及存储介质 | |
RU2434352C2 (ru) | Способ и устройство для надежной аутентификации | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
CN104798083B (zh) | 用于验证访问请求的方法和系统 | |
CN109361668A (zh) | 一种数据可信传输方法 | |
CN110971415A (zh) | 一种天地一体化空间信息网络匿名接入认证方法及系统 | |
US20200412554A1 (en) | Id as service based on blockchain | |
TW201215070A (en) | Key Management Systems and methods for shared secret ciphers | |
US10263782B2 (en) | Soft-token authentication system | |
CN112187466B (zh) | 一种身份管理方法、装置、设备及存储介质 | |
CN115277168B (zh) | 一种访问服务器的方法以及装置、系统 | |
CN113726733B (zh) | 一种基于可信执行环境的加密智能合约隐私保护方法 | |
CN110493177B (zh) | 基于非对称密钥池对和序列号的量子通信服务站aka密钥协商方法和系统 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
CN111614621A (zh) | 物联网通信方法和系统 | |
CN112351037A (zh) | 用于安全通信的信息处理方法及装置 | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN114338091B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
JP2002529778A (ja) | 共有無作為性の分散暗号化への組み込み | |
KR20090054774A (ko) | 분산 네트워크 환경에서의 통합 보안 관리 방법 | |
CN112242976B (zh) | 一种身份认证方法及装置 | |
CN104901967A (zh) | 信任设备的注册方法 | |
CN115459929B (zh) | 安全验证方法、装置、电子设备、系统、介质和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |