CN112242976A - 一种身份认证方法及装置 - Google Patents
一种身份认证方法及装置 Download PDFInfo
- Publication number
- CN112242976A CN112242976A CN201910647571.7A CN201910647571A CN112242976A CN 112242976 A CN112242976 A CN 112242976A CN 201910647571 A CN201910647571 A CN 201910647571A CN 112242976 A CN112242976 A CN 112242976A
- Authority
- CN
- China
- Prior art keywords
- identity authentication
- node
- authentication node
- generated
- check field
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000012545 processing Methods 0.000 claims description 38
- 238000012795 verification Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 26
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种身份认证方法及装置,涉及通信技术领域,能够解决身份认证节点的访问压力大,通信资源的有效利用率较低的问题。当服务节点接收到客户端发送的包括AK及签名(签名为服务节点根据AK对应的第一SK生成的)的访问请求后,根据AK中的校验字段,校验该AK是否为身份认证节点生成的;若该AK是身份认证节点生成的,则服务节点发送该AK到身份认证节点,以获取AK对应的第二SK;当第一SK与第二SK一致时,服务节点为客户端提供访问请求所请求访问的服务。在AK是身份认证节点生成的情况下,服务节点与身份认证节点通信,有效地减小了身份认证节点的访问压力,提高了二者之间通信资源的有效利用率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种身份认证方法及装置。
背景技术
公有云系统中,客户端首先会在公有云的身份认证节点注册。注册成功后,身份认证节点为客户端分配访问密钥(access key,AK)和安全密钥(securitykey,SK)。在客户端访问云服务时,向提供该云服务的服务节点发送访问请求。每次所发送的访问请求均会携带AK和根据SK计算的签名(signature)。服务节点在接收到访问请求后,向身份认证节点发送获取请求,请求获取与AK对应的SK。身份认证节点对获取请求中的AK进行校验,并在校验通过后,向服务节点发送与AK对应的SK,之后,服务节点根据接收到的SK校验访问请求中的签名是否正确,从而确认客户端的身份。
实际应用中,攻击者常常向服务节点连续发送多个携带无效AK的访问请求。而服务节点在收到每一访问请求后,均与身份认证节点通信,导致身份认证节点的访问压力较大,通信资源的有效利用率较低。
发明内容
本申请提供一种身份认证方法及装置,能够解决身份认证节点的访问压力大,通信资源的有效利用率较低的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种身份认证方法,该身份认证方法应用于包括客户端、身份认证节点和服务节点的身份认证系统。当接收到客户端发送的包括AK及签名(签名为服务节点根据AK对应的第一SK生成的)的访问请求后,服务节点根据AK中的校验字段,校验该AK是否为身份认证节点生成的;若该AK是身份认证节点生成的,则服务节点发送该AK到身份认证节点,以获取AK对应的第二SK;当第一SK与第二SK一致时,服务节点为客户端提供访问请求所请求访问的服务。在AK是身份认证节点生成的情况下,服务节点与身份认证节点通信,有效地减小了身份认证节点的访问压力,提高了二者之间通信资源的有效利用率。
可以看出,服务节点在接收到客户端发送的访问请求后,对访问请求中AK进行了校验。只有在AK是身份认证节点生成的情况下,服务节点与身份认证节点通信。与现有技术中服务节点每次接收到访问请求均与身份认证节点通信相比较,本申请有效地减小了身份认证节点的访问压力,提高了服务节点与身份认证节点之间通信资源的有效利用率。
可选的,在本申请的一种可能的实现方式中,访问请求中的AK还包括AK标识,上述校验字段是对AK标识利用私钥加密生成的。相应的,上述“服务节点根据校验字段校验AK是否为身份认证节点生成的”的方法包括:服务节点获取私钥对应的公钥,并利用公钥对校验字段解密,得到解密后的校验字段;当解密后的校验字段与AK标识匹配时,服务节点确定AK是身份认证节点生成的;当解密后的校验字段与AK标识不匹配时,服务节点拒绝访问请求。
校验字段是对AK标识利用私钥加密生成的,对应的,服务节点可以采用与私钥对应的公钥对校验字段解密,得到解密后的校验字段。在AK合法(即未被攻击者篡改)的场景中,解密后的校验字段与AK标识匹配。若解密后的校验字段与AK标识不匹配,则说明AK不是身份认证节点生成的,这样,服务节点直接拒绝客户端的访问请求。
可选的,在本申请的另一种可能的实现方式中,访问请求中的AK还包括AK标识和版本号,上述校验字段是对AK标识利用私钥加密生成的,版本号用于标识私钥,以及与私钥对应的公钥。相应的,上述“服务节点根据校验字段校验AK是否为身份认证节点生成的”的方法包括:服务节点判断服务节点中是否存在版本号;若不存在,则服务节点拒绝访问请求;若存在,则服务节点获取版本号对应的公钥,并利用公钥对校验字段解密,得到解密后的校验字段;当解密后的校验字段与AK标识匹配时,服务节点确定AK是身份认证节点生成的;当解密后的校验字段与AK标识不匹配时,服务节点拒绝访问请求。
版本号用于标识私钥,以及与私钥对应的公钥,也就是说,版本号、私钥和公钥三者之间相互对应。在AK包括版本号和AK标识的场景中,服务节点通过判断该服务节点中是否存在AK所包括的版本号,初步确定出该AK是否为身份认证节点生成的。进一步地,在服务节点中存在AK所包括的版本号的情况下,服务节点采用与私钥对应的公钥对校验字段解密,得到解密后的校验字段。在AK合法(即未被攻击者篡改)的场景中,解密后的校验字段与AK标识匹配。若解密后的校验字段与AK标识不匹配,则说明AK不是身份认证节点生成的,这样,服务节点直接拒绝客户端的访问请求。
可选的,在本申请的另一种可能的实现方式中,在服务节点发送AK到身份认证节点之前,服务节点还确定访问请求中的AK是否包括在失效AK集合中,该失效AK集合包括至少一个失效AK,失效AK是由身份认证节点生成的、访问请求之前的访问请求所包括的、且已经失效的AK。相应的,上述“服务节点发送AK到身份认证节点”的方法包括:若AK不包括在失效AK集合中,则服务节点发送AK到身份认证节点。
在确定访问请求中的AK是身份认证节点生成的基础上,服务节点还判断了访问请求中AK的有效性。AK集合中的AK均已经失效,若访问请求中的AK不包括在失效AK集合中,则服务节点确定该AK有效。在服务节点确定AK有效的情况下,服务节点发送AK到身份认证节点,有效地减小了身份认证节点的访问压力,提高了服务节点与身份认证节点之间通信资源的有效利用率。
可选的,在本申请的另一种可能的实现方式中,若AK包括在失效AK集合中,则服务节点拒绝访问请求。
第二方面,提供一种服务节点,用于执行第一方面或第一方面任一种可能的实现方式中的方法的各个模块。
第三方面,本申请提供了一种身份认证装置,该身份认证装置包括存储器和处理器,存储器用于存储计算机执行指令,该身份认证装置运行时,该处理器执行该存储器中的计算机执行指令以利用该身份认证装置中的硬件资源执行第一方面或第一方面任一种可能的实现方式中的方法的操作步骤。该装置具体可以是服务节点或者芯片。
第四方面,本申请还提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第一方面任一种可能的实现方式中的方法的操作步骤。
第五方面,本申请还提供了一种计算机程序产品,包括指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第一方面任一种可能的设计中的任一种可能实现方式的方法的操作步骤。
可以理解的是,上述提供的任一种服务节点、身份认证装置、计算机可读存储介质或计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
第六方面,提供一种身份认证方法,身份认证节点在接收到服务节点发送的包括校验字段的AK后,根据校验字段校验AK是否为身份认证节点生成的;若AK是身份认证节点生成的,则身份认证节点判断AK是否与预设的AK匹配;若AK与预设的AK匹配,则身份认证节点将AK对应的安全秘钥SK发送至服务节点,有效地提高了数据的安全性。
可选的,在本申请的一种可能的实现方式中,上述“身份认证节点根据身份认证节点根据校验字段校验AK是否为身份认证节点生成的”的方法包括:身份认证节点采用预设的密钥,对校验字段进行解密,得到校验信息;当校验信息与预设的信息一致时,身份认证节点确定AK是身份认证节点生成的。
预设的信息可以为生成AK的时间信息。本申请中的预设的密钥仅存储于身份认证节点,并没有在网络中传输,如此,身份认证节点可准确地确定出AK是否为身份认证节点生成的。
可选的,在本申请的另一种可能的实现方式中,身份认证节点还接收到客户端发送的注册请求,用于请求为客户端分配AK和SK;响应于注册请求,身份认证节点生成AK和SK,并向客户端发送AK和SK。
可选的,在本申请的另一种可能的实现方式中,上述“身份认证节点生成AK”的方法包括:身份认证节点生成AK标识;身份认证节点确定当前使用的版本号以及与版本号对应的私钥,版本号用于标识私钥,以及与私钥对应的公钥;身份认证节点利用私钥对AK标识进行加密,得到加密后的AK标识;身份认证节点利用预设的密钥对预设的信息进行加密,得到校验字段;身份认证节点组合版本号、AK标识、加密后的AK标识以及校验字段,以得到AK。
可选的,在本申请的另一种可能的实现方式中,身份认证节点还向服务节点发送版本号和公钥。
第七方面,提供一种身份认证节点,用于执行第六方面或第六方面任一种可能的实现方式中的方法的各个模块。
第八方面,本申请提供了一种身份认证装置,该身份认证装置包括存储器和处理器,存储器用于存储计算机执行指令,该身份认证装置运行时,该处理器执行该存储器中的计算机执行指令以利用该身份认证装置中的硬件资源执行第六方面或第六方面任一种可能的实现方式中的方法的操作步骤。该装置具体可以是身份认证节点或者芯片。
第九方面,本申请还提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行上述第六方面或第六方面任一种可能的实现方式的方法的操作步骤。
第十方面,本申请还提供了一种计算机程序产品,包括指令,当所述指令在计算机上运行时,使得计算机执行上述第六方面或第六方面任一种可能的实现方式中的方法的操作步骤。
第十一方面,本申请还提供了一种身份认证系统,所述身份认证系统包括服务节点及身份认证节点,所述服务节点用于执行第一方面或第一方面任一种可能的实现方式中提供的身份认证方法,所述身份认证节点用于执行第六方面或第六方面任一种可能的实现方式中提供的身份认证方法。
可以理解的是,上述提供的任一种身份认证节点、身份认证装置、计算机可读存储介质或计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本发明实施例中身份认证系统的结构示意图;
图2为本发明实施例中通信装置的硬件结构示意图;
图3为本发明实施例中身份认证方法的流程示意图一;
图4A为本发明实施例中AK的格式示意图;
图4B为本发明实施例中身份认证节点生成校验字段2的流程示意图;
图5为本发明实施例中身份认证节点生成的AK的结构示意图;
图6为本发明实施例中身份认证方法的流程示意图二;
图7为本发明实施例中失效AK集合的示意图;
图8为本发明实施例中服务节点的结构示意图;
图9为本发明实施例中身份认证节点的结构示意图。
具体实施方式
如图1所示,为一种身份认证系统的结构示意图。图1所示的身份认证系统包括客户端10,身份认证节点11和至少一个服务节点12。身份认证节点11与每个服务节点12连接。客户端10与一个或多个服务节点12连接,获取服务节点12所提供的服务。
在访问服务节点12之前,客户端10在身份认证节点11注册。具体的,客户端10生成注册请求,并向身份认证节点11发送该注册请求。身份认证节点11在接收到注册请求后,为客户端10分配AK和SK,并向客户端10发送所分配的AK和SK。在接收到身份认证节点11为其分配的AK和SK后,客户端10可以利用该AK和SK,访问与身份认证节点11所连接的各服务节点12,并获取服务节点12所提供的云服务,如云计算服务、云存储服务等。
图1中的客户端10可以为电脑、手机、平板电脑等终端设备。身份认证节点11及服务节点12可以为服务器。
客户端10、身份认证节点11及服务节点12的基本硬件结构类似,都包括图2所示通信装置所包括的元件。下面以图2所示的通信装置为例,介绍客户端10、身份认证节点11及服务节点12的硬件结构。
如图2所示,通信装置可以包括处理器21,存储器22、通信接口23、总线24。处理器21,存储器22以及通信接口23之间可以通过总线24连接。
处理器21是通信装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU 0和CPU 1。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器22可以独立于处理器21存在,存储器22可以通过总线24与处理器21相连接,用于存储指令或者程序代码。处理器21调用并执行存储器22中存储的指令或程序代码时,能够实现本发明下述实施例提供的身份认证方法。
在本发明实施例中,对于客户端10、身份认证节点11及服务节点12而言,存储器22中存储的软件程序不同,所以客户端10、身份认证节点11及服务节点12实现的功能不同。关于各设备所执行的功能将结合下面的流程图进行描述。
另一种可能的实现方式中,存储器22也可以和处理器21集成在一起。
通信接口23,用于通信装置与其他设备通过通信网络连接,所述通信网络可以是以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口23可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线24,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图2中示出的结构并不构成对该通信装置的限定,除图2所示部件之外,该通信装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1所示的身份认证系统,图2所示的通信装置对本发明实施例提供的身份认证方法进行描述。
本发明实施例提供的身份认证方法包括客户端10请求注册的过程和客户端10请求访问的过程。这里先介绍客户端10请求注册的过程。
图3为本实施例提供的一种身份认证方法的流程示意图。如图3所示,本实施例提供的身份认证方法包括:
S301、客户端10生成并向身份认证节点11发送注册请求,请求身份认证节点11为该客户端10分配AK和SK。
S302、响应于注册请求,身份认证节点11为客户端10生成AK和SK,SK与AK相对应。
本实施例中身份认证节点11为客户端10生成的AK的格式为预先设定的。如图4A所示,身份认证节点11生成的AK可以包括四个字段:版本号、随机字符串、校验字段1以及校验字段2。
其中,版本号用于标识身份认证节点11在利用不对称加密算法生成校验字段1时所使用的私钥,以及与该私钥匹配的公钥,根据版本号可以获取版本号对应的私钥及公钥。
不对称加密算法是指采用完全不同但又完全匹配的一对钥匙(即公钥和私钥)分别进行加密和解密。本实施例涉及到的不对称加密算法可以为现有的任意一种不对称加密算法,例如RSA加密算法。
身份认证节点11可以预先生成多对公钥和私钥,并为每对公钥和私钥设置标识所述公钥和私钥的版本号。为了防止被攻击者破译,身份认证节点11可以设置在不同时间段使用不同的公钥和私钥。例如:在当前时间进入第一时间段时,身份认证节点11从多对公钥和私钥中选取一对公钥和私钥(如公钥1和私钥1),并在第一时间段内使用公钥1和私钥1。在第一时间段结束,并进入第二时间段时,身份认证节点11从剩余的公钥和私钥中选取一对公钥和私钥(如公钥2和私钥2),并在第二时间段内使用公钥2和私钥2。
示例性的,表1示出了身份认证节点11中每对公钥和私钥,及其对应的版本号。
表1
版本号 | 公钥 | 私钥 |
V1 | 111111111111 | 333333333333 |
V2 | 222222222222 | aabbdd213455 |
…… | …… | …… |
上述表1中,版本号V1、公钥111111111111以及私钥333333333333三者之间相互匹配,版本号V2、公钥222222222222以及私钥aabbdd213455三者之间匹配。身份认证节点11在进入时间段1时可以选取版本号V1、公钥111111111111以及私钥333333333333,并在时间段1内使用版本号V1、公钥111111111111以及私钥333333333333。身份认证节点11在进入时间段2时可以选取版本号V2、公钥222222222222以及私钥aabbdd213455,并在时间段2内使用版本号V2、公钥222222222222以及私钥aabbdd213455。
当然,为了防止被攻击者破译,身份认证节点11也可以每隔一个时间段,就生成一对新的公钥和私钥,并为新生成的这一对公钥和私钥设置标识所述公钥和私钥的版本号。这样,身份认证节点11依旧是在不同时间段内使用不同的公钥和私钥。
随机字符串用于区分不同的AK,身份认证节点11每次生成的AK所包括的随机字符串均不同。AK的标识可以通过随机字符串体现,这样,随机字符串用于唯一标识AK。
校验字段1是在生成随机字符串后,身份认证节点11对随机字符串采用与当前时间所在的时间段对应的版本号匹配的私钥进行加密后得到的。
身份认证节点11还会将与该私钥相互匹配的公钥以及版本号同步到各个服务节点12,以便于服务节点12在接收到客户端10发送的访问请求后,利用公钥对访问请求中的AK进行校验。因为身份认证节点11在不同时间段内使用不同的公钥和私钥,因此,在当前时间进入新的时间段(以下称为当前时间段)时,身份认证节点11会向各个服务节点12同步当前时间段使用的公钥,以及与当前时间段使用的公钥所对应的版本号。
校验字段2是身份认证节点11利用对称加密算法对预设的信息(如当前的时间信息、校验字段1、或随机字符串)使用预设的密钥进行加密后得到的。该预设的密钥仅存储于身份认证节点11处。本实施例后续以身份认证节点利用对称加密算法对当前的时间信息使用预设的密钥进行加密后得到校验字段2为例进行说明。
对称加密算法是指加密端采用某一密钥对明文进行加密,解密端在接收到密文后采用相同的密钥进行解密。本实施例涉及到的对称加密算法可以为现有的任意一种对称加密算法,例如高级加密标准(advanced encryption standard,AES)算法。
对于不同的客户端10而言,身份认证节点11生成校验字段2所采用的预设的密钥可以相同,也可以不同。本实施例主要以对于不同的客户端10,身份认证节点11生成校验字段2所采用的预设的密钥相同为例进行描述。
本实施例对上述四个字段的排列顺序和长度均不作限定。
示例性的,版本号的长度为2位(bit),随机字符串的长度为12位,校验字段1的长度为12位,校验字段2的长度为16位,这四个字段从前到后的排列顺序依次为:版本号、随机字符串、校验字段1、校验字段2。
具体的,在接收到客户端发送的注册请求后,身份认证节点11为客户端10生成AK的过程可以通过下述S302a~S302c体现。
S302a、身份认证节点11确定当前时间段对应的版本号,以及与版本号对应的公钥和私钥。
示例性的,结合上述表1,身份认证节点11确定当前时间段内使用的版本号为V1,公钥为111111111111,私钥为333333333333。
S302b、身份认证节点11生成随机字符串。例如:身份认证节点11生成的随机字符串为:C0uVW1yaDcAX。
身份认证节点11可以先执行S302a,后执行S302b;也可以先执行S302b,后执行S302a;还可以同时执行S302a和S302b,本实施例对此不作限定。
S302c、身份认证节点11利用不对称加密算法对随机字符串采用S302a中确定出的私钥进行加密,得到校验字段1。
示例性的,身份认证节点11利用RAS算法对随机字符串“C0uVW1yaDcAX”采用私钥333333333333进行加密,得到校验字段1:Hx7Coq4DcAXs。
S302d、身份认证节点11利用对称加密算法对当前的时间信息使用预设的密钥进行加密,得到校验字段2。
可选的,身份认证节点11可以仅对当前的时间信息使用预设的密钥进行加密,也可以对当前的时间信息以及其他信息(如S302a中确定出的版本号)使用预设的密钥进行加密,本实施例对此不作限定。
示例性的,如图4B所示,若当前的时间信息为“2019-03-17 12:34:22”,身份认证节点11将该时间信息采用Uinux时间戳格式(也称为Linux时间戳格式,是从1970年1月1日开始所经过的秒数,不考虑闰秒)表示为“1552797262”,之后,身份认证节点11将该时间信息从Uinux时间戳格式转换为16进制,采用16进制表示的时间信息为“5C8DCE4E”,接着,身份认证节点11利用AES对称加密算法对16进制的时间信息“5C8DCE4E”使用预设的密钥进行加密,得到校验字段2:UmB8wq9IM48uaOP1。
S302e、身份认证节点11根据预先设定的AK格式,将版本号、随机字符串、校验字段1以及校验字段2进行组合,为客户端10生成AK。
综合S302a~S302d中描述的示例,身份认证节点11采用图4A示出的格式,生成图5示出的AK。
此外,身份认证节点11还执行S302f:生成与AK对应的SK,即为客户端10生成SK。
本实施例中身份认证节点11生成SK的方法可以参考现有技术中身份认证节点生成SK的方法,这里不再详细赘述。一般的,SK为40个字节的随机字符串。
S303、身份认证节点11向客户端10发送S302中生成的AK和SK。
S304、身份认证节点11存储S302中生成的AK和SK。
身份认证节点11为客户端10生成AK和SK后,还存储AK和SK。通常,身份认证节点11向客户端10发送为其分配的SK后,这一SK不会再在网络中传输,以防止被攻击者窃取。
可选的,身份认证节点11可以先执行S303,后执行S304;也可以先执行S304,后执行S303;还可以同时执行S303和S304,本实施例对此不作限定。
结合上述描述可知,身份认证节点11还会将S302a中确定出的公钥和版本号同步到各个服务节点12,以便于后续服务节点12在接收到某一AK后,根据版本号和公钥对接收到的AK进行验证。
如图3所示,本实施例提供的身份认证方法还包括S305和S306。
S305、身份认证节点11向各个服务节点12发送S302a中确定出的公钥和版本号。
结合上面描述,S302a中确定出的公钥和版本号在不同时间段内是不同的。在当前时间所落入的时间段发生变化时,版本号、以及与该版本号对应的公钥和私钥也会发生变化,身份认证节点11就会向各个服务节点12发送更新后的公钥和版本号。
S306、每一服务节点12存储接收到的公钥和版本号。
示例性的,结合上述表1,服务节点12存储的公钥和版本号可以采用下述表2表示。
表2
版本号 | 公钥 |
V1 | 111111111111 |
V2 | 222222222222 |
…… | …… |
客户端10获取到身份认证节点11为其分配的AK和SK后,利用该AK和SK,访问服务节点12,以获取服务节点12所提供的服务。
接下来对客户端10请求访问的过程进行描述。
图6为本实施例提供的另一种身份认证方法的流程示意图。如图6所示,本实施例提供的身份认证方法包括:
S600、客户端10向服务节点12发送包括AK和根据SK计算出的签名(signature)的访问请求,请求访问服务节点12中的服务。
本实施例中的AK的格式可以参考图3所示流程中对AK的描述,例如,如图4A所示。
服务节点12对外提供某一服务(如云计算服务或云存储服务)时,可以对外公布该服务所对应的签名算法,这样,客户端10在请求访问服务节点12中的这一服务时,利用服务节点12公布的签名算法对SK进行计算,以获得签名。
在访问服务节点12中的服务时,为了表明身份,客户端10发送的访问请求中包括AK和根据SK计算出的签名,以便于服务节点12对客户端10的身份进行验证。
S601、服务节点12根据访问请求中的AK所包括的版本号、随机字符串和校验字段1,校验该AK是否为身份认证节点11生成的。
结合图3所示的流程的描述可知,身份认证节点11在生成AK时,向各个服务节点12发送了需要使用的公钥和版本号,各个服务节点12也存储了该公钥和版本号。这样,在接收到包括AK的访问请求后,服务节点12可以确定本地存储系统是否存储有AK中的版本号。
如果服务节点12的本地存储系统未存储AK中的版本号,则说明访问请求中的AK不是身份认证节点11生成的,则执行S602。
如果服务节点12的本地存储系统存储有AK中的版本号,则服务节点12从本地存储系统中获取与AK中的版本号所对应的公钥,并利用该公钥对AK中的校验字段1进行解密,得到明文字符串。之后,服务节点12判断明文字符串与AK中的随机字符串是否相同。
因为校验字段1是身份认证节点11利用不对称加密算法对随机字符串采用与版本号对应的私钥进行加密后得到的,因此,若明文字符串与随机字符串不同,则说明访问请求中的AK不是身份认证节点11生成的,则执行S602;若明文字符串与随机字符串相同,则说明访问请求中的AK是身份认证节点11生成的,则执行S603。
示例性的,访问请求中的AK如图5所示,服务节点12的本地存储系统存储有表2示出的信息,服务节点12在接收到访问请求后,确定本地存储系统存储有访问请求中AK的版本号V1,并获取与版本号V1对应的公钥111111111111,以及利用公钥111111111111对AK中的校验字段1“Hx7Coq4DcAXs”进行解密,得到明文字符串“C0uVW1yaDcAX”。之后,服务节点12判断明文字符串“C0uVW1yaDcAX”与AK中的随机字符串是否相同。由于明文字符串“C0uVW1yaDcAX”与AK中的随机字符串“C0uVW1yaDcAX”相同,因此,服务节点12确定该AK是身份认证节点11生成的。
S602、若服务节点12确定访问请求中的AK不是身份认证节点11生成的,服务节点12向客户端10发送拒绝响应。
若服务节点12确定访问请求中的AK不是身份认证节点11生成的,则服务节点12直接拒绝客户端的访问请求,无需再与身份认证节点11通信。这样,有效地减小了身份认证节点11的访问压力,减少了身份认证节点11与服务节点12之间信令的交互,提高了二者之间通信资源的有效利用率。
S603、若服务节点12确定访问请求中的AK是身份认证节点11生成的,服务节点12判断所述访问请求中的AK是否为失效AK。
服务节点12可以根据该服务节点12中的失效AK集合,判断访问请求中的AK是否为失效AK。
其中,失效AK集合包括身份认证节点11生成、当前访问请求之前的访问请求所包括的、且已经失效的所有AK。
本实施例中的身份认证节点11存储有该身份认证节点11为客户端10分配的AK。在客户端10使用身份认证节点11为其分配的AK一段时间后,若该客户端10请求身份认证节点11变更或删除该AK时,身份认证节点11删除原先为客户端10分配的AK,或者在原先为客户端10分配的AK上添加无效标识,并保留预设时长,在预设时长结束后,身份认证节点11删除添加有无效标识的AK。身份认证节点11删除掉的AK以及添加有无效标识的AK均为无效AK。
可选的,身份认证节点11生成的AK可能会存在生命周期(该生命周期的时长为预设的固定时长)。从身份认证节点11生成AK开始,在生命周期内,这一AK有效。身份认证节点11可以采用计时器确定生命周期是否结束。当某一AK的生命周期结束时,身份认证节点11直接删除该AK,或者为该AK添加无效标识,并保留预设时长,在预设时长结束后,身份认证节点11删除添加有无效标识的AK。身份认证节点11删除掉的AK以及添加有无效标识的AK均为无效AK。需要说明的是,AK的生命周期与上述确定版本号所涉及的时间段没有必然关系。
在已经出现无效AK(例如AK 1)的场景中,若客户端10发送包括有AK 1的访问请求,服务节点12采用本实施例提供的方法对AK 1进行了验证,并向身份认证节点11发送包括AK 1的获取请求,请求获取与AK 1对应的SK;接收到获取请求后,身份认证节点11发现未存储有AK 1或者AK 1添加有无效标识,则确定该AK 1已经失效,并向服务节点12发送用于指示AK 1已经失效的信息,这样,服务节点12将该AK 1存储于失效集合中。
可选的,失效AK集合可以采用红黑树的结构存储于服务节点12中,也可以采用哈希列表的结构存储于服务节点12中。当然,失效AK集合还可以采用其他结构存储于服务节点12中,本实施例对此不作限定。
示例性的,如图7所示,失效AK集合采用哈希列表的结构存储于服务节点12中。图7示出的哈希列表包括失效AK以及每一失效AK的哈希值。服务节点12可以采用消息摘要算法第5版(message digest algorithm 5,MD5)算法或安全哈希算法(secure hashalgorithm,SHA1)算法计算AK的哈希值。实际应用中,不同AK的哈希值可能会相同。这样,在哈希列表中,不同AK可能对应同一哈希值。图7中,哈希值1对应的失效AK包括AK 10,哈希值2对应的失效AK包括AK 20和AK 21,哈希值n对应的失效AK包括AK n0。
在确定访问请求中的AK是身份认证节点11生成的之后,服务节点12判断失效AK集合是否包括访问请求中的AK。若失效AK采用哈希列表的结构存储于服务节点12,则服务节点12可以计算访问请求中的AK的哈希值,并判断计算出的哈希值是否存储于哈希列表中。若计算出的哈希值未存储于哈希列表中,则说明失效AK集合不包括访问请求中的AK,这样访问请求中的AK为有效AK。若计算出的哈希值存储于哈希列表中,则服务节点12进一步地在哈希列表中遍历计算出的哈希值所对应的AK,以确定失效AK集合是否包括访问请求中的AK。若哈系列表中与计算出的哈希值所对应的AK包括访问请求中的AK,则确定访问请求中的AK为无效AK,反之,访问请求中的AK为有效AK。服务节点12在哈希列表中遍历计算出的哈希值所对应的AK有效地防止了出现误判的情况。
若访问请求中的AK为失效AK,服务节点12拒绝该访问请求,即执行S604。若访问请求中的AK为有效AK,则服务节点12可进一步执行后续处理,即继续执行S605。
S604、服务节点12向客户端10发送拒绝响应。
本实施例的服务节点12不仅确定访问请求中的AK是否为身份认证节点11生成的,还在确定访问请求中的AK是身份认证节点11生成的基础上,判断访问请求中AK的有效性。若访问请求中的AK为无效AK,则服务节点12直接拒绝客户端10的访问请求,无需再与身份认证节点11通信,减小了身份认证节点11的访问压力,减少了身份认证节点11与服务节点12之间信令的交互,提高了二者之间通信资源的有效利用率。
S605、服务节点12向身份认证节点11发送获取请求,请求获取与访问请求中的AK所对应的SK。
获取请求包括访问请求中的AK,即访问请求中的与获取请求中的AK为同一AK。
S606、身份认证节点11利用预设的密钥,校验获取请求中的AK所包括的校验字段2是否为身份认证节点11生成的。
身份认证节点11利用预设的密钥,对获取请求中的AK所包括的校验字段2进行解密,得到时间信息,并判断“与该时间信息所指示的时间对应的版本号”与获取请求中的AK所包括的版本号是否相同。
因为校验字段2是身份认证节点11利用对称加密算法对当前的时间信息采用预设的密钥进行加密后得到的,且每一时间段内身份认证节点11使用一个版本号,因此,若“与身份认证节点11解密得到的时间信息所指示的时间对应的版本号”与获取请求中的AK所包括的版本号不相同,则说明校验字段2不是身份认证节点11生成的,则执行S607;若“与身份认证节点11解密得到的时间信息所指示的时间对应的版本号”与获取请求中的AK所包括的版本号相同,则说明校验字段2是身份认证节点11生成的,则执行S608。
示例性的,获取请求中的AK如图5所示,身份认证节点11在接收到获取请求后,利用预设的密钥对该AK中的校验字段2“UmB8wq9IM48uaOP1”进行解密,得到采用16进制表示的时间信息“5C8DCE4E”;然后,身份认证节点11将该时间信息转换为标准格式“2019-03-1712:34:22”,并判断与“2019-03-17 12:34:22”对应的版本号是否与获取请求中的AK所包括的版本号相同。结合上述生成图5所示的AK的流程,“2019-03-17 12:34:22”对应的版本号为V1,与获取请求中的AK所包括的版本号V1相同,因此,身份认证节点11确定该AK是身份认证节点生成的。
S607、若获取请求中的AK所包括的校验字段2不是身份认证节点11生成的,身份认证节点11向服务节点12发送拒绝响应。
服务节点12在接收到身份认证节点11发送的拒绝响应后,也向客户端10发送拒绝响应。
S608、如果获取请求中的AK所包括的校验字段2是身份认证节点11生成的,身份认证节点11判断获取请求中的AK是否为有效AK。
在实际应用中,服务节点12存储的无效AK与身份认证节点11中已经失效的AK可能没有实时同步。例如,在身份认证节点11确定AK 1失效后,客户端10没有发送包括AK 1的访问请求,服务节点12也没有向身份认证节点11发送包括AK 1的获取请求。相应的,身份认证节点11不会通知服务节点12该AK 1已经失效。因此,服务节点12中的失效AK集合不包括AK1。后续,服务节点12在接收到包括AK 1的访问请求后,服务节点12确定AK 1是身份认证节点11生成的、且有效。但是,AK 1在身份认证节点11这一方已经是无效的。
基于此,在确定获取请求中的AK所包括的校验字段2是身份认证节点11生成的之后,身份认证节点11还需要进一步地判断获取请求中的AK是否为有效AK。
身份认证节点11中的有效AK集合包括所有身份认证节点11生成的、且有效的AK。身份认证节点11通过判断有效AK集合是否包括获取请求中的AK,即可确定出获取请求中的AK是否为有效AK。
若身份认证节点11确定有效AK集合未包括获取请求中的AK,则获取请求中的AK已经失效,即获取请求中的AK为失效AK,继续执行S609~S610。若身份认证节点11确定有效AK集合包括获取请求中的AK,则获取请求中的AK有效,即获取请求中的AK为有效AK,继续执行S611~S612。
S609、身份认证节点11向服务节点12发送用于指示AK已经失效的指示信息。
S610、服务节点12将访问请求中的AK存储于失效AK集合中,并向客户端10发送拒绝响应。
S611、身份认证节点11获取与获取请求中的AK对应的SK,并向服务节点12发送该SK。
S612、服务节点12根据接收到的SK,认证访问请求中的签名是否合法。
服务节点12根据接收到的SK,认证访问请求中的签名是否合法的方法可以参考现有技术中服务节点根据SK认证签名是否合法的方法,这里不再详细赘述。
若认证访问请求中的签名合法,服务节点12为客户端10提供访问请求所请求访问的服务。
可以理解的是,若服务节点12确定访问请求中的签名不合法,则该服务节点12依旧不会为客户端10提供服务,即向客户端10发送拒绝响应。若服务节点12确定访问请求中的签名合法,则该服务节点12为客户端10提供服务。
综上,本发明实施例中的服务节点12在与身份认证节点11通信之前,能够预先对访问请求中的AK进行认证,拒绝了客户端10发送的包括已经无效的AK的访问请求或者包括不是身份认证节点11生成的AK的访问请求。这样,服务节点12无需再与身份认证节点11通信,有效地减小了身份认证节点11的访问压力,减少了身份认证节点11与服务节点12之间信令的交互,提高了二者之间通信资源的有效利用率。
上述主要从方法的角度对本发明实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明实施例可以根据上述方法示例对服务节点和身份认证节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图8所示,为本发明实施例提供的一种服务节点80的结构示意图。服务节点80用于执行图3或图6所示的身份认证方法。服务节点80可以包括接收单元801、处理单元802和发送单元803。
接收单元801,用于接收客户端发送的访问请求,访问请求包括访问密钥AK及签名,签名为服务节点根据AK对应的第一安全密钥SK生成的,该AK包括校验字段。例如,结合图6,接收单元801可以用于执行S600。处理单元802,用于根据接收单元801接收到的校验字段校验AK是否为身份认证节点生成的。例如,结合图6,处理单元802可以用于执行S601。发送单元803,用于若处理单元802确定AK是身份认证节点生成的,则发送AK到身份认证节点。例如,结合图6,发送单元803可以用于执行S605。接收单元801,还用于获取身份认证节点发送的AK对应的第二SK。例如,结合图6,接收单元801可以用于执行S611。处理单元802,还用于判断第一SK与第二SK是否一致,以及当第一SK与第二SK一致时,为客户端提供访问请求所请求访问的服务。例如,结合图6,处理单元802可以用于执行S612。
可选的,访问请求中的AK还包括AK标识,校验字段是对AK标识利用私钥加密生成的。处理单元802具体用于:获取私钥对应的公钥,并利用公钥对校验字段解密,得到解密后的校验字段;当解密后的校验字段与AK标识匹配时,确定AK是身份认证节点生成的;当解密后的校验字段与AK标识不匹配时,拒绝访问请求。
可选的,访问请求中的AK还包括AK标识和版本号,校验字段是对AK标识利用私钥加密生成的,版本号用于标识私钥,以及与私钥对应的公钥。处理单元802具体用于:判断服务节点中是否存在版本号;若不存在,则拒绝访问请求;若存在,则获取版本号对应的公钥,并利用公钥对校验字段解密,得到解密后的校验字段;当解密后的校验字段与AK标识匹配时,确定AK是身份认证节点生成的;当解密后的校验字段与AK标识不匹配时,拒绝访问请求。
可选的,处理单元802,还用于在发送单元803发送AK到身份认证节点之前,确定AK是否包括在失效AK集合中,失效AK集合包括至少一个失效AK,失效AK是由身份认证节点生成的、访问请求之前的访问请求所包括的、且已经失效的AK。例如,结合图6,处理单元802可以用于执行S603。发送单元803,具体用于若处理单元802确定AK不包括在失效AK集合中,则发送AK到身份认证节点。例如,结合图6,发送单元803可以用于执行S605。
可选的,处理单元802,还用于若AK包括在失效AK集合中,则拒绝访问请求。例如,结合图6,发送单元803可以用于执行S604。
当然,本发明实施例提供的服务节点80包括但不限于上述模块,例如服务节点80还可以包括存储单元804。存储单元804可以用于存储该服务节点80的程序代码,还可以用于存储服务节点80在运行过程中生成、接收到的数据,如公钥和版本号等。
在实际实现时,处理单元802可以由图2所示的处理器21调用存储器22中的程序代码来实现。其具体的执行过程可参考图3或图6所示的身份认证方法部分的描述,这里不再赘述。
本发明另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述方法实施例所示的方法流程中服务节点执行的各个步骤。
在本发明另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当指令在计算机上运行时,使得计算机执行上述方法实施例所示的方法流程中服务节点执行的各个步骤。
如图9所示,为本发明实施例提供的一种身份认证节点90的结构示意图。身份认证节点90用于执行图3或图6所示的身份认证方法。身份认证节点90可以包括接收单元901、处理单元902和发送单元903。
接收单元901,用于接收服务节点发送的访问密钥AK,AK包括校验字段。例如,结合图6,接收单元901可以用于执行S605。处理单元902,用于根据接收单元901接收到的校验字段校验AK是否为身份认证节点生成的,以及若AK是身份认证节点生成的,则判断AK是否与预设的AK匹配。例如,结合图6,处理单元902可以用于执行S606、S608。发送单元903,用于若处理单元902确定AK与预设的AK匹配,则将AK对应的安全秘钥SK发送至服务节点。例如,结合图6,发送单元903可以用于执行S611。
可选的,处理单元902具体用于:采用预设的密钥,对校验字段进行解密,得到校验信息;当校验信息与预设的信息一致时,确定AK是身份认证节点生成的。
可选的,接收单元901,还用于接收客户端发送的注册请求,注册请求用于请求为客户端分配AK和SK。例如,结合图3,接收单元901可以用于执行S301。处理单元902,还用于响应于接收单元901接收到的注册请求,生成AK和SK。例如,结合图3,处理单元902可以用于执行S302。发送单元903,还用于向客户端发送AK和SK。例如,结合图3,发送单元903可以用于执行S303。
可选的,处理单元902具体用于:生成AK标识;确定当前使用的版本号以及与版本号对应的私钥,版本号用于标识私钥,以及与私钥对应的公钥;利用私钥对AK标识进行加密,得到加密后的AK标识;利用预设的密钥对预设的信息进行加密,得到校验字段;组合版本号、AK标识、加密后的AK标识以及校验字段,以得到AK。
可选的,发送单元903,还用于向服务节点发送版本号和公钥。例如,结合图3,发送单元903可以用于执行S305。
当然,本发明实施例提供的身份认证节点90包括但不限于上述模块,例如身份认证节点90还可以包括存储单元904。存储单元904可以用于存储该身份认证节点90的程序代码,还可以用于存储身份认证节点90在运行过程中生成的数据,如AK和SK等。
在实际实现时,处理单元902可以由图2所示的处理器21调用存储器22中的程序代码来实现。其具体的执行过程可参考图3或图6所示的身份认证方法部分的描述,这里不再赘述。
本发明另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述方法实施例所示的方法流程中身份认证节点执行的各个步骤。
在本发明另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当指令在计算机上运行时,使得计算机执行上述方法实施例所示的方法流程中身份认证节点执行的各个步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (17)
1.一种身份认证方法,其特征在于,包括:
服务节点接收客户端发送的访问请求,所述访问请求包括访问密钥AK及签名,所述签名为所述服务节点根据所述AK对应的第一安全密钥SK生成的,所述AK包括校验字段;
所述服务节点根据所述校验字段校验所述AK是否为身份认证节点生成的;
若确定所述AK是所述身份认证节点生成的,则所述服务节点发送所述AK到所述身份认证节点,以获取所述AK对应的第二SK;
当所述第一SK与所述第二SK一致时,所述服务节点为所述客户端提供所述访问请求所请求访问的服务。
2.根据权利要求1所述的身份认证方法,其特征在于,所述AK还包括AK标识,所述校验字段是对所述AK标识利用私钥加密生成的;
所述服务节点根据所述校验字段校验所述AK是否为身份认证节点生成的,包括:
所述服务节点获取所述私钥对应的公钥,并利用所述公钥对所述校验字段解密,得到解密后的校验字段;
当所述解密后的校验字段与所述AK标识匹配时,所述服务节点确定所述AK是所述身份认证节点生成的;
当所述解密后的校验字段与所述AK标识不匹配时,所述服务节点拒绝所述访问请求。
3.根据权利要求1所述的身份认证方法,其特征在于,所述AK还包括AK标识和版本号,所述校验字段是对所述AK标识利用私钥加密生成的,所述版本号用于标识所述私钥,以及与所述私钥对应的公钥;
所述服务节点根据所述校验字段校验所述AK是否为身份认证节点生成的,包括:
所述服务节点判断所述服务节点中是否存在所述版本号;
若不存在,则所述服务节点拒绝所述访问请求;
若存在,则所述服务节点获取所述版本号对应的公钥,并利用所述公钥对所述校验字段解密,得到解密后的校验字段;
当所述解密后的校验字段与所述AK标识匹配时,所述服务节点确定所述AK是所述身份认证节点生成的;
当所述解密后的校验字段与所述AK标识不匹配时,所述服务节点拒绝所述访问请求。
4.根据权利要求1-3中任意一项所述的身份认证方法,其特征在于,在所述服务节点发送所述AK到所述身份认证节点之前,所述身份认证方法还包括:
所述服务节点确定所述AK是否包括在失效AK集合中,所述失效AK集合包括至少一个失效AK,所述失效AK是由所述身份认证节点生成的、所述访问请求之前的访问请求所包括的、且已经失效的AK;
所述服务节点发送所述AK到所述身份认证节点,包括:
若所述AK不包括在所述失效AK集合中,则所述服务节点发送所述AK到所述身份认证节点。
5.一种身份认证方法,其特征在于,包括:
身份认证节点接收服务节点发送的访问密钥AK,所述AK包括校验字段;
所述身份认证节点根据所述校验字段校验所述AK是否为所述身份认证节点生成的;
若所述AK是所述身份认证节点生成的,则所述身份认证节点判断所述AK是否与预设的AK匹配;
若所述AK与所述预设的AK匹配,则所述身份认证节点将所述AK对应的安全秘钥SK发送至所述服务节点。
6.根据权利要求5所述的身份认证方法,其特征在于,所述身份认证节点根据所述身份认证节点根据所述校验字段校验所述AK是否为所述身份认证节点生成的,包括:
所述身份认证节点采用预设的密钥,对所述校验字段进行解密,得到校验信息;
当所述校验信息与预设的信息一致时,所述身份认证节点确定所述AK是所述身份认证节点生成的。
7.根据权利要求5或6所述的身份认证方法,其特征在于,所述身份认证方法还包括:
所述身份认证节点接收客户端发送的注册请求,所述注册请求用于请求为所述客户端分配AK和SK
响应于所述注册请求,所述身份认证节点生成所述AK和所述SK;
所述身份认证节点向所述客户端发送所述AK和所述SK。
8.根据权利要求6所述的身份认证方法,其特征在于,所述身份认证节点生成所述AK,包括:
所述身份认证节点生成AK标识;
所述身份认证节点确定当前使用的版本号以及与所述版本号对应的私钥,所述版本号用于标识所述私钥,以及与所述私钥对应的公钥;
所述身份认证节点利用所述私钥对所述AK标识进行加密,得到加密后的AK标识;
所述身份认证节点利用预设的密钥对预设的信息进行加密,得到所述校验字段;
所述身份认证节点组合所述版本号、所述AK标识、所述加密后的AK标识以及所述校验字段,以得到所述AK。
9.一种服务节点,其特征在于,包括:
接收单元,用于接收客户端发送的访问请求,所述访问请求包括访问密钥AK及签名,所述签名为所述服务节点根据所述AK对应的第一安全密钥SK生成的,所述AK包括校验字段;
处理单元,用于根据所述接收单元接收到的所述校验字段校验所述AK是否为身份认证节点生成的;
发送单元,用于若所述处理单元确定所述AK是所述身份认证节点生成的,则发送所述AK到所述身份认证节点;
所述接收单元,还用于获取所述身份认证节点发送的所述AK对应的第二SK;
所述处理单元,还用于判断所述第一SK与所述第二SK是否一致,以及当所述第一SK与所述第二SK一致时,为所述客户端提供所述访问请求所请求访问的服务。
10.根据权利要求9所述的服务节点,其特征在于,所述AK还包括AK标识,所述校验字段是对所述AK标识利用私钥加密生成的;
所述处理单元具体用于:
获取所述私钥对应的公钥,并利用所述公钥对所述校验字段解密,得到解密后的校验字段;
当所述解密后的校验字段与所述AK标识匹配时,确定所述AK是所述身份认证节点生成的;
当所述解密后的校验字段与所述AK标识不匹配时,拒绝所述访问请求。
11.根据权利要求9所述的服务节点,其特征在于,所述AK还包括AK标识和版本号,所述校验字段是对所述AK标识利用私钥加密生成的,所述版本号用于标识所述私钥,以及与所述私钥对应的公钥;
所述处理单元具体用于:
判断所述服务节点中是否存在所述版本号;
若不存在,则拒绝所述访问请求;
若存在,则获取所述版本号对应的公钥,并利用所述公钥对所述校验字段解密,得到解密后的校验字段;
当所述解密后的校验字段与所述AK标识匹配时,确定所述AK是所述身份认证节点生成的;
当所述解密后的校验字段与所述AK标识不匹配时,拒绝所述访问请求。
12.根据权利要求9-11中任意一项所述的服务节点,其特征在于,
所述处理单元,还用于在所述发送单元发送所述AK到所述身份认证节点之前,确定所述AK是否包括在失效AK集合中,所述失效AK集合包括至少一个失效AK,所述失效AK是由所述身份认证节点生成的、所述访问请求之前的访问请求所包括的、且已经失效的AK;
所述发送单元,具体用于若所述处理单元确定所述AK不包括在所述失效AK集合中,则发送所述AK到所述身份认证节点。
13.一种身份认证节点,其特征在于,包括:
接收单元,用于接收服务节点发送的访问密钥AK,所述AK包括校验字段;
处理单元,用于根据所述接收单元接收到的所述校验字段校验所述AK是否为所述身份认证节点生成的,以及若所述AK是所述身份认证节点生成的,则判断所述AK是否与预设的AK匹配;
发送单元,用于若所述处理单元确定所述AK与所述预设的AK匹配,则将所述AK对应的安全秘钥SK发送至所述服务节点。
14.根据权利要求13所述的身份认证节点,其特征在于,所述处理单元具体用于:
采用预设的密钥,对所述校验字段进行解密,得到校验信息;
当所述校验信息与预设的信息一致时,确定所述AK是所述身份认证节点生成的。
15.根据权利要求13或14所述的身份认证节点,其特征在于,
所述接收单元,还用于接收客户端发送的注册请求,所述注册请求用于请求为所述客户端分配AK和SK;
所述处理单元,还用于响应于所述接收单元接收到的所述注册请求,生成所述AK和所述SK;
所述发送单元,还用于向所述客户端发送所述AK和所述SK。
16.根据权利要求15所述的身份认证节点,其特征在于,所述处理单元具体用于:
生成AK标识;
确定当前使用的版本号以及与所述版本号对应的私钥,所述版本号用于标识所述私钥,以及与所述私钥对应的公钥;
利用所述私钥对所述AK标识进行加密,得到加密后的AK标识;
利用预设的密钥对预设的信息进行加密,得到所述校验字段;
组合所述版本号、所述AK标识、所述加密后的AK标识以及所述校验字段,以得到所述AK。
17.一种身份认证装置,其特征在于,包括存储器和处理器,所述存储器用于存储计算机执行指令,所述处理器用于调用所述计算机执行指令,使得所述身份认证装置运行时,执行所述计算机执行指令以实现如权利要求1-4中任意一项所述的身份认证方法,或者实现如权利要求5-8中任意一项所述的身份认证方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910647571.7A CN112242976B (zh) | 2019-07-17 | 2019-07-17 | 一种身份认证方法及装置 |
PCT/CN2020/097274 WO2021008301A1 (zh) | 2019-07-17 | 2020-06-20 | 访问电子设备中的混合缓存的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910647571.7A CN112242976B (zh) | 2019-07-17 | 2019-07-17 | 一种身份认证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112242976A true CN112242976A (zh) | 2021-01-19 |
CN112242976B CN112242976B (zh) | 2022-02-25 |
Family
ID=74167693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910647571.7A Active CN112242976B (zh) | 2019-07-17 | 2019-07-17 | 一种身份认证方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112242976B (zh) |
WO (1) | WO2021008301A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116684214A (zh) * | 2023-08-03 | 2023-09-01 | 杭州字节方舟科技有限公司 | 基于区块链的会议纪要处理方法、系统、节点设备和介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127382A (zh) * | 2021-04-25 | 2021-07-16 | 北京百度网讯科技有限公司 | 用于追加写的数据读取方法、装置、设备和介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103609059A (zh) * | 2010-09-20 | 2014-02-26 | 安全第一公司 | 用于安全数据共享的系统和方法 |
CN103685277A (zh) * | 2013-12-17 | 2014-03-26 | 南京大学 | 一种浏览器访问网页安全保护系统及方法 |
CN105007279A (zh) * | 2015-08-04 | 2015-10-28 | 北京百度网讯科技有限公司 | 认证方法和认证系统 |
CN105025041A (zh) * | 2015-08-25 | 2015-11-04 | 北京百度网讯科技有限公司 | 文件上传的方法、装置和系统 |
CN105141593A (zh) * | 2015-08-10 | 2015-12-09 | 刘澄宇 | 一种私有云平台安全计算方法 |
CN105847247A (zh) * | 2016-03-21 | 2016-08-10 | 飞天诚信科技股份有限公司 | 一种认证系统及其工作方法 |
US20170118222A1 (en) * | 2015-10-22 | 2017-04-27 | Oracle International Corporation | Run-time trust management system for access impersonation |
CN107408175A (zh) * | 2015-03-25 | 2017-11-28 | 英特尔公司 | 用于自加密驱动的挑战响应认证 |
CN108063748A (zh) * | 2016-11-09 | 2018-05-22 | 中国移动通信有限公司研究院 | 一种用户认证方法、装置及系统 |
US20180191501A1 (en) * | 2016-12-31 | 2018-07-05 | Nok Nok Labs, Inc. | System and method for sharing keys across authenticators |
CN108347417A (zh) * | 2017-01-24 | 2018-07-31 | 华为技术有限公司 | 一种网络认证方法、用户设备、网络认证节点及系统 |
CN108600151A (zh) * | 2018-02-28 | 2018-09-28 | 华为技术有限公司 | 一种数据通讯方法、设备及系统 |
CN108989418A (zh) * | 2018-07-11 | 2018-12-11 | 国云科技股份有限公司 | 一种混合云对象存储通用认证的资源额度方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058788B2 (en) * | 2001-02-23 | 2006-06-06 | Falconstor Software, Inc. | Dynamic allocation of computer memory |
CN101458613B (zh) * | 2008-12-31 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种混合分级阵列的实现方法、混合分级阵列和存储系统 |
CN104090852B (zh) * | 2014-07-03 | 2017-04-05 | 华为技术有限公司 | 管理混合缓存的方法及设备 |
CN107817945B (zh) * | 2016-09-13 | 2021-07-27 | 中国科学院微电子研究所 | 一种混合内存结构的数据读取方法和系统 |
CN109522242A (zh) * | 2018-10-22 | 2019-03-26 | 郑州云海信息技术有限公司 | 一种搜索Cache数据的方法和装置 |
CN110502452B (zh) * | 2019-07-12 | 2022-03-29 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
-
2019
- 2019-07-17 CN CN201910647571.7A patent/CN112242976B/zh active Active
-
2020
- 2020-06-20 WO PCT/CN2020/097274 patent/WO2021008301A1/zh active Application Filing
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103609059A (zh) * | 2010-09-20 | 2014-02-26 | 安全第一公司 | 用于安全数据共享的系统和方法 |
CN103685277A (zh) * | 2013-12-17 | 2014-03-26 | 南京大学 | 一种浏览器访问网页安全保护系统及方法 |
CN107408175A (zh) * | 2015-03-25 | 2017-11-28 | 英特尔公司 | 用于自加密驱动的挑战响应认证 |
CN105007279A (zh) * | 2015-08-04 | 2015-10-28 | 北京百度网讯科技有限公司 | 认证方法和认证系统 |
CN105141593A (zh) * | 2015-08-10 | 2015-12-09 | 刘澄宇 | 一种私有云平台安全计算方法 |
CN105025041A (zh) * | 2015-08-25 | 2015-11-04 | 北京百度网讯科技有限公司 | 文件上传的方法、装置和系统 |
US20170118222A1 (en) * | 2015-10-22 | 2017-04-27 | Oracle International Corporation | Run-time trust management system for access impersonation |
CN105847247A (zh) * | 2016-03-21 | 2016-08-10 | 飞天诚信科技股份有限公司 | 一种认证系统及其工作方法 |
CN108063748A (zh) * | 2016-11-09 | 2018-05-22 | 中国移动通信有限公司研究院 | 一种用户认证方法、装置及系统 |
US20180191501A1 (en) * | 2016-12-31 | 2018-07-05 | Nok Nok Labs, Inc. | System and method for sharing keys across authenticators |
CN108347417A (zh) * | 2017-01-24 | 2018-07-31 | 华为技术有限公司 | 一种网络认证方法、用户设备、网络认证节点及系统 |
CN108600151A (zh) * | 2018-02-28 | 2018-09-28 | 华为技术有限公司 | 一种数据通讯方法、设备及系统 |
CN108989418A (zh) * | 2018-07-11 | 2018-12-11 | 国云科技股份有限公司 | 一种混合云对象存储通用认证的资源额度方法 |
Non-Patent Citations (2)
Title |
---|
VINAYAK ASHOK BHARADI,GODSON MICHAEL DSLIVA: "Online signature recognition using software as a service(SaaS) Model on public cloud", 《IEEE》 * |
YY-CAPTAIN: "公有云API的认证方式:AK/SK 间介", 《HTTPS://BLOG.CSDN.NET/MAKENOTHING/ARTICLE/DETAILS/81158481》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116684214A (zh) * | 2023-08-03 | 2023-09-01 | 杭州字节方舟科技有限公司 | 基于区块链的会议纪要处理方法、系统、节点设备和介质 |
CN116684214B (zh) * | 2023-08-03 | 2023-10-03 | 杭州字节方舟科技有限公司 | 基于区块链的会议纪要处理方法、系统、节点设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112242976B (zh) | 2022-02-25 |
WO2021008301A1 (zh) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6803481B2 (ja) | サーバ及びユーザ装置間の通信を管理する方法 | |
JP7364674B2 (ja) | 安全な無線ファームウェアアップグレード | |
KR101265873B1 (ko) | 분산된 단일 서명 서비스 방법 | |
WO2017028593A1 (zh) | 网络接入设备接入无线网络接入点的方法、网络接入设备、应用程序服务器和非易失性计算机可读存储介质 | |
CN110800248B (zh) | 用于第一应用和第二应用之间的互相对称认证的方法 | |
JP7421771B2 (ja) | Iotサービスを実施するための方法、アプリケーションサーバ、iot装置および媒体 | |
CN111556025A (zh) | 基于加密、解密操作的数据传输方法、系统和计算机设备 | |
US20150350196A1 (en) | Terminal authentication system, server device, and terminal authentication method | |
US9608971B2 (en) | Method and apparatus for using a bootstrapping protocol to secure communication between a terminal and cooperating servers | |
CN104836784B (zh) | 一种信息处理方法、客户端和服务器 | |
US10158487B2 (en) | Dynamic second factor authentication for cookie-based authentication | |
US20210143986A1 (en) | Method for securely sharing data under certain conditions on a distributed ledger | |
CN110662091B (zh) | 第三方直播视频接入方法、存储介质、电子设备及系统 | |
WO2018076740A1 (zh) | 数据传输方法及相关设备 | |
CN108809907B (zh) | 一种证书请求消息发送方法、接收方法和装置 | |
CN114143108B (zh) | 一种会话加密方法、装置、设备及存储介质 | |
CN104243452B (zh) | 一种云计算访问控制方法及系统 | |
CN114338091B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN112242976B (zh) | 一种身份认证方法及装置 | |
CN110138558B (zh) | 会话密钥的传输方法、设备及计算机可读存储介质 | |
CN113824553A (zh) | 密钥管理方法、装置及系统 | |
US11570008B2 (en) | Pseudonym credential configuration method and apparatus | |
KR102413497B1 (ko) | 보안 전자 데이터 전송을 위한 시스템 및 방법 | |
CN106487761B (zh) | 一种消息传输方法和网络设备 | |
CN112261103A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220225 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |