CN116155598A - 多服务器架构下的认证方法及系统 - Google Patents

多服务器架构下的认证方法及系统 Download PDF

Info

Publication number
CN116155598A
CN116155598A CN202310154635.6A CN202310154635A CN116155598A CN 116155598 A CN116155598 A CN 116155598A CN 202310154635 A CN202310154635 A CN 202310154635A CN 116155598 A CN116155598 A CN 116155598A
Authority
CN
China
Prior art keywords
application server
authentication
server
user
preset
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
Application number
CN202310154635.6A
Other languages
English (en)
Inventor
宋云帆
孙磊
郭松辉
窦睿彧
郭松
戴乐育
赵锟
毛秀青
臧韦菲
胡翠云
朱新兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202310154635.6A priority Critical patent/CN116155598A/zh
Publication of CN116155598A publication Critical patent/CN116155598A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种多服务器架构下的认证方法及系统,用户向注册服务器注册就可获得注册服务器为用户生成的临时身份标识TIDU,当用户需要应用服务器提供服务时,在客户端输入TIDU即可计算得到认证用户身份信息γ0,客户端将包含γ0的集合M0发送给该应用服务器,该应用服务器会生成相关认证信息,并将该认证信息与M0发送给注册服务器,由注册服务器完成该用户与应用服务器的身份认证,用户及应用服务器的认证均在注册服务器完成,每个应用服务器均无需存储关于用户的任何信息,减少了应用服务器的资源负担,并且用户只需向注册服务器注册获得临时身份标识即可完成认证与密钥交换,无需向多服务器架构下的每个应用服务器进行注册,节省了时间成本。

Description

多服务器架构下的认证方法及系统
技术领域
本申请涉及互联网技术领域,更具体地说,涉及一种多服务器架构下的认证方法及系统。
背景技术
随着互联网服务和电子商务技术的发展,确保服务器和用户之间的安全认证具有重要的意义,互联网用户之间的认证与密钥交换方案需要能够实现真实身份识别和会话密钥协商的双重安全目标。
目前的认证与密钥交换方案往往是针对单个服务器来设计的,当用户需要请求服务时,预先向请求服务的服务器输入身份标识及口令等信息进行注册,并向服务器提供注册时输入的身份标识和口令等信息就可以认证身份并得到服务器的服务,但由于互联网的飞速发展,目前的互联网环境中存在着大量的服务器,用户需要与这些服务器进行通信时,会预先向这些服务器输入身份标识以及口令等信息进行注册,那么每个服务器都需要存储每个用户注册时输入的身份标识以及口令等信息以便完成认证与密钥交换,这会造成极大的资源负担。
发明内容
有鉴于此,本申请提供了一种多服务器架构下的认证方法及系统,用于解决现有多服务器架构下的认证方式,每个服务器都需要存储每个用户注册时输入的身份标识以及口令等信息以便完成认证,这会造成极大的资源负担。
为了实现上述目的,现提出的方案如下:
一种多服务器架构下的认证方法,应用于客户端,方法包括:
获取用户输入的临时身份标识TIDU及所述用户请求服务的应用服务器对应的应用服务器身份标识IDS,所述TIDU为所述用户向注册服务器注册时所述注册服务器为所述用户生成的标识;
使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s0及噪声e0
基于所述s0及所述e0采用所述MLWE问题计算公钥b0
基于所述TIDU、所述b0及预设的第一参数集合计算认证用户身份信息γ0
发送集合M0给所述应用服务器,以便所述应用服务器生成相关认证信息并将所述认证信息及所述M0发送给所述注册服务器,由所述注册服务器认证所述用户和所述应用服务器的身份,所述M0包括所述TIDU、所述IDS、所述b0及所述γ0
接收所述应用服务器发送的集合M1,所述M1包括加密后集合Mes1,所述Mes1为所述应用服务器对所述注册服务器认证所述用户的身份及所述应用服务器的身份后发送的加密后集合进行解密后得到的集合中包含的加密后集合;
采用预设的解密算法对所述Mes1解密,得到集合N0
基于所述N0确认所述应用服务器的身份认证是否通过,其中,若所述N0包括代表所述应用服务器身份认证通过的信息,则确认所述应用服务器的身份认证通过。
一种多服务器架构下的认证方法,应用于应用服务器,方法包括:
接收客户端发送的集合M0,所述M0包括用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0,所述TIDU为用户向注册服务器注册时所述注册服务器为所述用户生成的标识;
当所述IDS为自身的身份标识时,使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s1及噪声e1,基于公钥PT、所述s1及所述e1采用所述MLWE问题计算公钥w,所述PT为预先存储的向所述注册服务器注册时所述注册服务器采用所述MLWE问题计算的公钥;
利用预设的错误协调机制对所述w进行协调,得到中间秘密kS1及信号值c1
基于所述PT、所述kS1及预设的第二参数集合计算认证应用服务器身份信息Auth0
采用预设的加密算法对集合N1进行加密,得到加密后集合Mes0,所述N1包括所述Auth0及所述c1
发送集合M2给所述注册服务器,所述M2包括所述M0、所述Mes0及PS,所述PS为预先采用所述MLWE问题生成的公钥;
当接收到所述注册服务器发送的加密后集合Mes2时,采用预设的解密算法对所述Mes2解密,得到集合N2,所述N2包括加密后集合Mes1
判断所述N2是否还包括代表所述用户身份认证通过的信息;
若是,则表征所述用户的身份认证通过,发送集合M1给所述客户端,所述M1包括所述Mes1
一种多服务器架构下的认证方法,应用于注册服务器,方法包括:
接收应用服务器发送的集合M2,所述M2包括集合M0、加密后集合Mes0及公钥PS,所述M0包括用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0,所述TIDU为用户注册时为所述用户生成的标识;
采用预设的解密算法对所述Mes0进行解密,得到集合N1,所述N1包括认证应用服务器身份信息Auth0及信号值c1
基于所述PS及私钥sT采用MLWE问题计算公钥w′,利用预设的错误协调机制对所述w′及所述c1进行协调,得到中间秘密kT1,所述sT为预先使用预设的取样算法从所述MLWE问题中的多项式环上的分布中取样得到的私钥;
基于公钥PT、所述kT1及预设的第二参数集合计算认证应用服务器身份信息Auth0′,所述PT为预先在所述应用服务器注册时采用所述MLWE问题生成的公钥;
若所述Auth0′与所述Auth0相等,基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0′;
若所述γ0′与所述γ0相等,采用预设的加密算法对集合N0加密,得到加密后集合Mes1,所述N0包括代表所述应用服务器身份认证通过的信息;
采用预设的加密算法对集合N2加密,得到加密后集合Mes2,所述N2包括代表所述用户身份认证通过的信息及所述Mes1
发送所述Mes2给所述应用服务器。
一种多服务器架构下的认证系统,包括:客户端、应用服务器及注册服务器,所述客户端、所述应用服务器及所述注册服务器分别实现前述多服务器架构下的认证方法中的相关步骤。
从上述的技术方案可以看出,本申请实施例提供的多服务器架构下的认证与密钥交换方法,用户只需要向注册服务器注册就可获得注册服务器为用户生成的临时身份标识TIDU,当用户需要应用服务器提供服务时,只需要在客户端输入TIDU即可计算得到认证用户身份信息γ0,客户端将包含γ0的集合M0发送给该应用服务器,该应用服务器会生成相关认证信息,并将该认证信息与M0发送给注册服务器,由注册服务器完成该用户与应用服务器的身份认证,用户及应用服务器的认证均在注册服务器完成,每个应用服务器均无需存储关于用户的任何信息,减少了应用服务器的资源负担,并且用户只需向注册服务器注册获得临时身份标识即可完成认证与密钥交换,无需向多服务器架构下的每个应用服务器进行注册,节省了时间成本。
进一步地,由于客户端、应用服务器及注册服务器所使用的私钥以及公钥均是基于MLWE问题来获取的,使得目前的量子算法无法通过客户端、应用服务器及注册服务器所使用的公钥恢复出客户端、应用服务器及注册服务器所使用的私钥,使得多服务器架构下的认证与密钥交换过程中能够抵抗量子计算机的攻击。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种多服务器架构下的认证方法流程图;
图2为本申请实施例公开的另一种多服务器架构下的认证方法流程图;
图3为本申请实施例公开的又一种多服务器架构下的认证方法流程图;
图4为本申请实施例公开的一种多服务器架构下的认证具体过程示意图;
图5为本申请实施例公开的一种多服务器架构下的认证装置结构示意图;
图6为本申请实施例公开的另一种多服务器架构下的认证装置结构示意图;
图7为本申请实施例公开的又一种多服务器架构下的认证装置结构示意图;
图8为本申请实施例公开的一种多服务器架构下的认证设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于对本申请提供给的多服务器架构下的认证方法进行描述,首先介绍本文将涉及到一些符号以及MLWE问题的定义。
在公式H(m||n)中,H()为哈希函数,“H(m||n)”表示对m及n进行哈希运算,对于m←M,若M为函数,“m←M”表示将函数M的输出值赋值给m,若M为多项式环或多项式环上的分布,则“m←M”表示从M中取样得到m,MT表示M的转置。
MLWE问题的定义:多项式环
Figure BDA0004091937200000051
Zq[x]为模数为q的多项式,f(x)为不可约多项式xn+1,n为向量的维数,x为多项式的变量,随机选取多项式矩阵/>
Figure BDA0004091937200000052
密钥
Figure BDA0004091937200000053
噪声/>
Figure BDA0004091937200000054
Figure BDA0004091937200000055
为/>
Figure BDA0004091937200000056
上的高斯分布,计算公钥/>
Figure BDA0004091937200000057
判定型MLWE困难问题可看作区分以下两个分布:
分布(A,B),其中,随机选取多项式矩阵
Figure BDA0004091937200000058
分布(A,B),其中,随机选取多项式矩阵
Figure BDA0004091937200000059
取样/>
Figure BDA00040919372000000510
B=As+e;
搜索性MLWE问题为给定分布(A,B),从中求解出s。
本申请实施例提供了一种多服务器架构下的认证方案,接下来通过附图1从客户端的角度对本申请的多服务器架构下方法进行说明,如图1所示,该方法可以包括:
步骤S100、获取用户输入的临时身份标识TIDU及所述用户请求服务的应用服务器对应的应用服务器身份标识IDS
其中,所述TIDU为所述用户向注册服务器注册时所述注册服务器为所述用户生成的标识。
具体的,应用服务器为多服务器架构下的为用户提供服务的服务器,注册服务器为预设的一台可信的服务器,为用户及多服务器架构下的多台应用服务器提供注册及认证功能,用户向注册服务器注册时由注册服务器为用户生成临时身份标识TIDU,当用户需要应用服务器提供服务时,只需要在客户端输入TIDU,本申请实施例会获取用户输入的TIDU,并获取该用户请求服务的应用服务器对应的应用服务器身份标识IDS
步骤S110、使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s0及噪声e0
具体的,本申请实施例考虑到敌手无法恢复出从MLWE问题中的多项式环上的分布中取样得到的私钥及噪声,所以使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s0及噪声e0,以便基于得到私钥s0及噪声e0来计算公钥。
步骤S120、基于所述s0及所述e0采用所述MLWE问题计算公钥b0
具体的,可以基于上述生成的私钥s0及噪声e0通过采用MLWE问题中的计算方法来计算公钥b0,计算公钥时引入噪声e0的目的是为了提高安全性,噪声对于MLWE问题在量子计算模型下的困难性有关键作用,敌手无法通过公钥b0恢复出私钥s0
步骤S130、基于所述TIDU、所述b0及预设的第一参数集合计算认证用户身份信息γ0
具体的,本申请实施例发现,若要完成注册服务器对用户身份的认证,需要计算认证用户身份的信息,以便注册服务器根据相关信息同样计算出用于认证用户身份的信息,并与客户端计算的认证用户身份的信息相比较,若相等,则说明用户身份认证通过,所以本申请实施例基于用户输入的临时身份标识TIDU、采用MLWE问题计算得到的公钥b0以及预设的第一参数集合来计算认证用户身份信息γ0,基于临时身份标识TIDU来生成认证用户身份信息γ0可以提高认证用户身份信息γ0的完整性,由于公钥b0是采用MLWE问题生成的,所以基于公钥b0来生成认证用户身份信息γ0,以便能够抵抗量子计算机的攻击,除此之外,认证用户身份信息γ0还基于预设的第一参数集合生成,第一参数集合中可以包括只有用户以及注册服务器知晓的参数,从而使得注册服务器可以认证用户的身份,第一参数集合中还可以包括其他的参数,从而提高生成的认证用户身份信息γ0的安全性及完整性。
步骤S140、发送集合M0给所述应用服务器,以便所述应用服务器生成相关认证信息并将所述认证信息及所述M0发送给所述注册服务器,由所述注册服务器认证所述用户和所述应用服务器的身份。
其中,所述M0包括所述TIDU、所述IDS、所述b0及所述γ0
具体的,将包含临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0的集合M0发送给应用服务器,由应用服务器将集合M0转发给注册服务器,由注册服务器来基于集合M0中包含的上述信息来认证用户的身份。
步骤S150、接收所述应用服务器发送的集合M1
其中,所述M1包括加密后集合Mes1,所述Mes1为所述应用服务器对所述注册服务器认证所述用户的身份及所述应用服务器的身份后发送的加密后集合进行解密后得到的集合中包含的加密后集合。
具体的,注册服务器认证用户的身份及应用服务器的身份后会发送加密后集合给应用服务器,应用服务器对加密后集合进行解密后得到加密后集合Mes1,当应用服务器对加密后集合进行解密后还得到代表用户身份认证通过的信息时,则发送包括加密后集合Mes1的集合M1给客户端。
步骤S160、采用预设的解密算法对所述Mes1解密,得到集合N0
步骤S170、基于所述N0确认所述应用服务器的身份认证是否通过。
其中,若所述N0包括代表所述应用服务器身份认证通过的信息,则确认所述应用服务器的身份认证通过。
具体的,加密后集合Mes1为注册服务器采用预设的加密算法进行加密后得到的集合,所以需要采用预设的解密算法对所述Mes1进行解密,得到集合N0,其中,该解密算法与注册服务器使用的加密算法相对应,当所述N0包括代表所述应用服务器身份认证通过的信息时,表征所述应用服务器的身份认证通过。
本申请实施例中,用户只需要向注册服务器注册就可获得注册服务器为用户生成的临时身份标识TIDU,当用户需要应用服务器提供服务时,只需要在客户端输入TIDU即可计算得到认证用户身份信息γ0,客户端将包含γ0的集合M0发送给该应用服务器,该应用服务器会生成相关认证信息,并将该认证信息与M0发送给注册服务器,由注册服务器完成该用户与应用服务器的身份认证,用户及应用服务器的认证均在注册服务器完成,用户只需向注册服务器注册获得临时身份标识即可完成认证与密钥交换,无需向多服务器架构下的每个应用服务器进行注册,节省了时间成本。
进一步地,由于客户端所使用的私钥以及公钥均是基于MLWE问题来获取的,使得目前的量子算法无法通过客户端所使用的公钥恢复出客户端所使用的私钥,使得多服务器架构下的认证与密钥交换过程中能够抵抗量子计算机的攻击。
可选的,当确认所述应用服务器的身份认证通过之后,即可计算与应用服务器的共享密钥skU,以便后续使用共享密钥skU与应用服务器之间进行通信。
本申请实施例提供了一种多服务器架构下的认证方案,接下来通过附图2从应用服务器的角度对本申请的多服务器架构下方法进行说明,如图2所示,该方法可以包括:
步骤S200、接收客户端发送的集合M0
其中,所述M0包括用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0,所述TIDU为用户向注册服务器注册时所述注册服务器为所述用户生成的标识。
步骤S210、当所述IDS为自身的身份标识时,使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s1及噪声e1,基于公钥PT、所述s1及所述e1采用所述MLWE问题计算公钥w。
其中,所述PT为预先存储的向所述注册服务器注册时所述注册服务器采用所述MLWE问题计算的公钥。
具体的,当接收到的集合M0中包含的应用服务器身份标识IDS为自身身份标识时,代表需要为用户提供服务,在为用户提供服务的前提是用户身份认证通过及应用服务器身份认证通过,为了注册服务器认证应用服务器的身份,需要生成用于认证应用服务器身份的信息,可以首先获取相关私钥和噪声,以便基于获取的私钥和噪声计算用于认证应用服务器身份的信息,考虑到敌手无法恢复出从MLWE问题中的多项式环上的分布中取样得到的私钥及噪声,所以使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s1及噪声e1,并基于公钥PT、私钥s1及噪声e1采用所述MLWE问题计算公钥w,公钥w可用来计算中间秘密以及信号值。
步骤S220、利用预设的错误协调机制对所述w进行协调,得到中间秘密kS1及信号值c1
具体的,利用错误协调机制对所述w进行协调,得到中间秘密kS1及信号值c1,基于中间秘密kS1进行用于认证应用服务器身份的信息的计算,这样可使得注册服务器同样使用该错误协调机制来恢复出与中间秘密kS1一致的中间秘密,保证两者之间的正常通信。
步骤S230、基于所述PT、所述kS1及预设的第二参数集合计算认证应用服务器身份信息Auth0
具体的,由于中间秘密kS1为利用预设的错误协调机制对采用MLWE问题生成的公钥w进行协调得到的中间秘密,敌手无法恢复出与中间秘密kS1一致的中间秘密,所以可以基于kS1生成认证应用服务器身份信息Auth0,由于PT为预先存储的向注册服务器注册时注册服务器采用MLWE问题计算的公钥,只有应用服务器以及注册服务器知晓,所以可以基于PT生成认证应用服务器身份信息Auth0,除此之外,Auth0还基于预设的第二参数集合生成,第二参数集合中可以包括一些其他的参数,从而提高生成的Auth0的安全性及完整性。
步骤S240、采用预设的加密算法对集合N1进行加密,得到加密后集合Mes0
其中,所述N1包括所述Auth0及所述c1
具体的,集合N1包括认证应用服务器身份信息Auth0及信号值c1是为了注册服务器通过认证应用服务器身份信息Auth0及信号值c1来认证应用服务器的身份,采用预设的加密算法对集合N1进行加密是为了进一步地提高认证过程中的安全性,只有注册服务器才知晓该加密算法对应的解密算法,即只有注册服务器才能采用解密算法对加密后集合Mes0进行解密得到集合N1
步骤S250、发送集合M2给所述注册服务器。
其中,所述M2包括所述M0、所述Mes0及PS,所述PS为预先采用所述MLWE问题生成的公钥。
具体的,发送包括集合M0、加密后集合Mes0及公钥PS的集合M2给所述注册服务器,是为了注册服务器通过集合M0来认证用户身份,公钥PS可以使得注册服务器能够恢复出和中间秘密kS1一致的中间秘密,再通过加密后集合Mes0来认证应用服务器身份。
步骤S260、当接收到所述注册服务器发送的加密后集合Mes2时,采用预设的解密算法对所述Mes2解密,得到集合N2
其中,所述N2包括加密后集合Mes1
具体的,接收到的注册服务器发送的加密后集合Mes2为注册服务器采用预设的加密算法进行加密后得到的集合,所以需要采用预设的解密算法对加密后集合Mes2进行解密,其中,该解密算法与注册服务器使用的加密算法相对应。
步骤S270、判断所述N2是否还包括代表所述用户身份认证通过的信息。
若是,则表征所述用户的身份认证通过,执行下述步骤S280。
步骤S280、发送集合M1给所述客户端。
其中,所述M1包括所述Mes1
具体的,当集合N2还包括代表所述用户身份认证通过的信息时,表征用户的身份认证通过,此时可以将包含加密后集合Mes1的集合M1发送给客户端,以便客户端判定应用服务器身份认证是否通过。
可选的,在上述步骤S280发送集合M1给所述客户端之后,即可计算与客户端的共享密钥skS1,以便后续使用共享密钥skS1与客户端之间进行通信。
本申请实施例中,用户只需要向注册服务器注册就可获得注册服务器为用户生成的临时身份标识TIDU,当用户需要应用服务器提供服务时,客户端将包含用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0的集合M0发送给应用服务器,应用服务器会生成相关认证信息,并将该认证信息与M0发送给注册服务器,由注册服务器完成该用户与应用服务器的身份认证,用户及应用服务器的认证均在注册服务器完成,每个应用服务器均无需存储关于用户的任何信息,减少了应用服务器的资源负担。
进一步地,由于应用服务器所使用的私钥以及公钥均是基于MLWE问题来获取的,使得目前的量子算法无法通过应用服务器所使用的公钥恢复出应用服务器所使用的私钥,使得多服务器架构下的认证与密钥交换过程中能够抵抗量子计算机的攻击。
本申请实施例提供了一种多服务器架构下的认证方案,接下来通过附图3从注册服务器的角度对本申请的多服务器架构下方法进行说明,如图3所示,该方法可以包括:
步骤S300、接收应用服务器发送的集合M2
其中,所述M2包括集合M0、加密后集合Mes0及公钥PS,所述M0包括用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0,所述TIDU为用户注册时为所述用户生成的标识。
步骤S310、采用预设的解密算法对所述Mes0进行解密,得到集合N1
其中,所述N1包括认证应用服务器身份信息Auth0及信号值c1
具体的,加密后集合Mes0为应用服务器采用预设的加密算法进行加密后得到的集合,所以需要采用预设的解密算法对Mes0进行解密,其中,该解密算法与应用服务器使用的加密算法相对应。
步骤S320、基于所述PS及私钥sT采用MLWE问题计算公钥w′,利用预设的错误协调机制对所述w′及所述c1进行协调,得到中间秘密kT1
其中,所述sT为预先使用预设的取样算法从所述MLWE问题中的多项式环上的分布中取样得到的私钥。
具体的,若要认证应用服务器的身份,需要计算认证应用服务器身份信息Auth0′,通过比较Auth0′与Auth0来认证应用服务器的身份,由于Auth0是基于中间秘密kS1生成的,所以首先需要计算中间秘密kT1,可以基于接收到的PS以及自身生成的私钥sT来计算公钥w′,再利用预设的错误协调机制对w′及信号值c1协调,即可得到中间秘密kT1,由于错误协调机制的参与,可以使注册服务器计算得到的中间秘密kT1与kS1相同,其中,这里的错误协调机制与应用服务器所使用的错误协调机制一致。
步骤S330、基于公钥PT、所述kT1及预设的第二参数集合计算认证应用服务器身份信息Auth0′。
其中,所述PT为预先在所述应用服务器注册时采用所述MLWE问题生成的公钥。
具体的,由于认证应用服务器身份信息Auth0是应用服务器基于预先存储的向注册服务器注册时注册服务器采用所述MLWE问题计算的公钥PT、中间秘密kS1及预设的第二参数集合计算得到的,所以需要基于预先在所述应用服务器注册时采用所述MLWE问题生成的公钥PT、中间秘密kT1及预设的第二参数集合计算认证应用服务器身份信息Auth0′,这里计算Auth0′所用到的第二参数集合中的信息与应用服务器经计算Auth0所用到的第二参数集合相对应。
步骤S340、若所述Auth0′与所述Auth0相等,基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0′。
具体的,若计算得到的Auth0′与应用服务器计算的Auth0相等,则说明应用服务器身份认证通过,此时需要通过认证用户身份信息γ0来认证用户的身份,由于认证用户身份信息γ0是客户端基于用户输入的临时身份标识TIDU、采用MLWE问题计算的公钥b0及预设的第一参数集合计算得到的,所以基于接收到的临时身份标识TIDU、公钥b0及预设的第一参数集合生成认证用户身份信息γ0′,这里计算γ0′所用到的第一参数集合中的信息与应用服务器经计算γ0所用到的第一参数集合相对应。
步骤S350、若所述γ0′与所述γ0相等,采用预设的加密算法对集合N0加密,得到加密后集合Mes1
其中,所述N0包括代表所述应用服务器身份认证通过的信息。
具体的,在用户及应用服务器身份认证通过后,可以设置代表应用服务器身份认证通过的信息,为了提高安全性,对包含代表应用服务器身份认证通过的信息的集合N0采用预设的加密算法进行加密,得到加密后集合Mes1,只有合法的客户端才知晓该加密算法对应的解密算法,即只有合法的客户端才能对加密后集合Mes1解密得到集合N0
步骤S360、采用预设的加密算法对集合N2加密,得到加密后集合Mes2
其中,所述N2包括代表所述用户身份认证通过的信息及所述Mes1
步骤S370、发送所述Mes2给所述应用服务器。
具体的,除了设置代表应用服务器身份认证通过的信息之外,还需设置代表用户身份认证通过的信息,为了提高安全性,对包括代表所述用户身份认证通过的信息及Mes1的集合N2采用上述加密算法进行加密,得到加密后集合Mes2,只有合法的应用服务器才知晓该加密算法对应的解密算法,即只有合法的应用服务器才能对加密后集合Mes2解密得到集合N2
本申请实施例中,用户只需要向注册服务器注册就可获得注册服务器为用户生成的临时身份标识TIDU,当用户需要应用服务器提供服务时,客户端将包含用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0的集合M0发送给应用服务器,应用服务器会生成相关认证信息,并将该认证信息与M0发送给注册服务器,由注册服务器完成该用户与应用服务器的身份认证,用户及应用服务器的认证均在注册服务器完成,每个应用服务器均无需存储关于用户的任何信息,减少了应用服务器的资源负担,并且用户只需向注册服务器注册获得临时身份标识即可完成认证与密钥交换,无需向多服务器架构下的每个应用服务器进行注册,节省了时间成本。
进一步地,由于注册服务器所使用的私钥以及公钥均是基于MLWE问题来获取的,使得目前的量子算法无法通过注册服务器所使用的公钥恢复出注册服务器所使用的私钥,使得多服务器架构下的认证与密钥交换过程中能够抵抗量子计算机的攻击。
可选的,本申请实施例发现上述实施例中客户端、应用服务器及注册服务器使用的加密算法及解密算法可以为对称加密算法及对称解密算法,而对称加密算法及对称加密算法所使用的密钥可以为客户端、应用服务器及注册服务器之间计算的共享密钥。
基于此,上述步骤S230基于所述PT、所述kS1及预设的第二参数集合计算认证应用服务器身份信息Auth0之前,还可以包括:
计算与所述注册服务器的共享密钥skS0
上述采用预设的加密算法对集合N1进行加密,得到加密后集合Mes0的过程,可以包括:
基于所述skS0采用对称加密算法对集合N1进行加密,得到加密后集合Mes0
具体的,计算与所述注册服务器的共享密钥skS0,并基于skS0采用对称加密算法对集合N1进行加密,这样只有合法的注册服务器计算得到的与应用服务器的共享密钥才与skS0相等,才能基于计算得到的共享密钥对加密后集合Mes0进行解密得到集合N1,使得认证过程更加安全。
上述步骤S310采用预设的解密算法对所述Mes0进行解密,得到集合N1之前,还可以包括:
计算与所述应用服务器的共享密钥skT0
上述步骤S310采用预设的解密算法对所述Mes0进行解密,得到集合N1的过程,可以包括:
基于所述skT0采用对称解密算法对所述Mes0进行解密,得到集合N1
具体的,由于加密后集合Mes0为注册服务器基于计算的与应用服务器的共享密钥采用对称加密算法计算得到的,所以首先计算与注册服务器的共享密钥skT0,并基于skT0采用对称解密算法对Mes0进行解密。
上述步骤S350采用预设的加密算法对集合N0加密,得到加密后集合Mes1之前,还可以包括:
计算与所述客户端的共享密钥skT1
上述步骤S350采用预设的加密算法对集合N0加密,得到加密后集合Mes1的过程,可以包括:
基于所述skT1采用对称加密算法对集合N0加密,得到加密后集合Mes1
上述步骤S360采用预设的加密算法对集合N2加密,得到加密后集合Mes2的过程,可以包括:
基于所述skT0采用对称加密算法对集合N2加密,得到加密后集合Mes2
具体的,计算与所述客户端的共享密钥skT1,并基于skT1采用对称加密算法对集合N0进行加密,这样只有合法的客户端计算得到的与注册服务器的共享密钥才与skT1相等,才能基于计算得到的共享密钥对加密后集合Mes1进行解密得到集合N0,计算与所述应用服务器的共享密钥skT0,并基于skT0采用对称加密算法对集合N2进行加密,这样只有合法的应用服务器计算得到的与注册服务器的共享密钥才与skT0相等,才能基于计算得到的共享密钥对加密后集合Mes2进行解密得到集合N2,使得认证过程更加安全。
上述步骤S130基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0之后,还可以包括:
计算与所述注册服务器的共享密钥skU0
上述步骤S160采用预设的解密算法对所述Mes1解密,得到集合N0的过程,可以包括:
基于所述skU0采用对称解密算法对所述Mes1解密,得到集合N0
具体的,由于加密后集合Mes1是注册服务器基于计算的与客户端的共享密钥采用对称加密算法进行加密得到的,所以首先计算与注册服务器的共享密钥skU0,并基于计算得到的skU0采用对称解密算法对Mes1解密。
上述步骤S260采用预设的解密算法对所述Mes2解密,得到集合N2的过程,可以包括:
基于所述skS0采用所述对称解密算法对所述Mes2解密,得到集合N2
具体的,由于加密后集合Mes2是注册服务器基于计算的与应用服务器的共享密钥采用对称加密算法进行加密得到的,所以基于计算的与注册服务器的共享密钥skS0采用对称解密算法对Mes2解密。
本申请实施例中,客户端、应用服务器及注册服务器基于三者之间计算的共享密钥使用对称加密算法对三者之间发送的集合进行加密,使用对称解密算法对接收的集合进行解密,而客户端、应用服务器及注册服务器之间计算的共享密钥只有合法的这三者能够计算得到,所以基于这些共享密钥来使用对称加密算法及对称解密算法使得认证过程更加安全。
本申请的一些实施例中,对用户向注册服务器注册的过程进行介绍,当用户要向注册服务器注册时,首先在客户端提供的界面中输入身份标识IDi及口令PW0,客户端会响应用户的操作,生成随机数n0,并计算口令PW1=H0(IDi||n0||PW0),并向注册服务器发送注册请求(IDi,PW1),当注册服务器接收到用户使用客户端发送的注册请求(IDi,PW1)时,生成随机数n,并为该用户计算临时身份标识TIDU=H0(IDTA||n||PW1),并保存TIDU及PW1,将TIDU发送给客户端。
本申请实施例中,由于用户注册时输入的口令PW0不会直接被客户端发送给注册服务器,而是将PW1发送给注册服务器,保护了用户的隐私,防止敌手获取到用户的口令PW0,并且计算口令PW1以及临时身份标识TIDU时引入了随机数,提高了安全性,保存TIDU及PW1可以方便后续对用户的身份进行认证。
本申请实施例中,对应用服务器向注册服务器注册的过程进行介绍,应用服务器向注册服务器进行注册时,发送自身的身份标识IDS给注册服务器,注册服务器可以基于预先使用预设的取样算法从MLWE问题中的多项式环上的分布中取样得到的私钥sT以及噪声eT采用MLWE问题生成公钥PT,存储IDS与PT的映射关系,并将PT发送给应用服务器。
在上述实施例的基础上,上述步骤S130中的第一参数集合可以包括IDS、IDU、PW0、n0及n1,IDU及PW0即分别为用户注册时输入的标识及口令,n0即为用户输入IDU及PW0后生成的随机数,n1为预先生成的随机数。
基于此,上述步骤S130基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0的过程,可以包括:
计算口令PW1=H0(IDU||n0||PW0)。
计算γ0=H1(TIDU||IDS||b0||n1||PW1)。
具体的,由于注册时客户端向注册服务器发送的注册请求中包含基于用户注册时输入的标识及口令及为用户生成的随机数生成的口令,并且注册服务器会保存该口令,所以可以首先需要计算该口令,即计算PW1,并基于PW1计算γ0,只有合法的客户端才能计算出的PW1与注册服务器保存的PW1一致,第一参数集合中包括n1可以防止重放攻击,包括IDS可以对计算得到的γ0起到一定的完整性的保护,通过哈希函数计算γ0,基于哈希函数的特性,提高了安全性。
上述计算与所述注册服务器的共享密钥skU0的过程,可以包括:
计算skU0=H2(TIDU||IDS||b0||n1||PW1);
具体的,基于PW1计算skU0,只有合法的客户端才能计算出的PW1与注册服务器保存的PW1一致,即只有合法的客户端计算的共享密钥与注册服务器计算的共享密钥一致,提高了安全性,基于n1计算skU0可以防止重放攻击,基于IDS计算skU0可以对计算得到的skU0起到一定的完整性的保护,通过哈希函数计算skU0,基于哈希函数的特性,提高了安全性。
上述计算与所述注册服务器的共享密钥skS0之前,还可以包括:
使用所述取样算法分别从所述多项式环上的分布中取样,得到私钥s2、噪声e2及噪声e3
基于所述s2及所述e2采用所述MLWE问题计算公钥b1,基于所述PT、所述s2及所述e3采用所述MLWE问题计算公钥v。
利用所述错误协调机制对所述v进行协调,得到中间秘密kS0及信号值c0
生成随机数n2
上述计算与所述注册服务器的共享密钥skS0的过程,可以包括:
计算skS0=H1(IDS||IDTA||b0||pT||c0||n2||kS0),所述IDTA为所述可注册服务器的身份标识。
具体的,基于IDS、IDTA、b0、pT及c0计算skS0可以起到完整性的保护作用,基于n2计算skS0可以防止重放攻击,由于kS0是利用错误协调机制对采用MLWE问题计算的公钥v进行协调得到的,所以基于kS0计算skS0可以抵抗量子计算机的攻击,只有合法的注册服务器才能计算出与kS0一致的中间秘密。
上述步骤S230中的第二参数集合可以包括IDS、IDTA、ps及n3,n3为预先生成的随机数;
上述基于所述PT、所述kS1及预设的第二参数集合计算认证应用服务器身份信息Auth0的过程,可以包括:
计算Auth0=H1(IDS||IDTA||ps||pT||n3||kS1)。
具体的,第二参数集合中包括n3可以防止重放攻击,包括包括IDS、IDTA、ps可以对计算得到的Auth0起到一定的完整性的保护,通过哈希函数计算Auth0,基于哈希函数的特性,提高了安全性。
为了使得注册服务器能够计算出与应用服务器的共享密钥,上述步骤S250发送的集合M2还应该包括n2、b1及c0
由于上述步骤S250发送的集合M2还应该包括n2、b1及c0,所以上述步骤S300接收的M2还包括n2、b1及c0
上述计算与所述应用服务器的共享密钥skT0之前,还可以包括:
基于所述b1及sT计算公钥v′,并利用预设的错误协调机制对所述v′及所述c0进行协调,得到中间秘密kT0
具体的,由于应用服务器计算的与注册服务器的共享密钥skS0是基于中间秘密kS0计算得到的,所以首先需要计算与中间秘密kS0一致的中间秘密,可以基于接收到的b1以及自身生成的私钥sT来计算公钥v′,再利用预设的错误协调机制对v′及接收到的信号值c0协调,即可得到中间秘密kT0,由于错误协调机制的参与,可以使计算得到的中间秘密kT0与kS0相同,其中,这里的错误协调机制与应用服务器所使用的错误协调机制一致。
上述计算与所述应用服务器的共享密钥skT0的过程,可以包括:
计算skT0=H1(IDS||IDTA||b0||pT||c0||n2||kT0),所述IDTA为自身标识。
具体的,由于应用服务器计算的与注册服务器的共享密钥skS0除了基于中间秘密kS0计算,还基于IDS、IDTA、b0、pT、c0及n2计算,所以计算skT0时基于IDS、IDTA、b0、pT、c0及n2来计算,计算skT0用到的pT为注册服务器预先在所述应用服务器注册时采用所述MLWE问题生成的公钥。
上述步骤S330中的第二参数集合可以包括IDS、IDTA、ps及n3,n3为预先接收的所述应用服务器发送的随机数。
上述步骤S330基于公钥PT、所述kT1及预设的第二参数集合计算认证应用服务器身份信息Auth0′的过程,可以包括:
计算Auth0′=H1(IDS||IDTA||ps||pT||n3||kT1)。
具体的,由于应用服务器计算Auth0时使用的第二参数集合包括IDS、IDTA、ps及n3,所以计算Auth0′=H1(IDS||IDTA||ps||pT||n3||kT1)。
上述步骤S340中的第一参数集合可以包括IDS、n1及PW1,PW1为预先存储的所述用户注册时由所述客户端发送的口令,并且PW1=H0(IDU||n0||PW0),所述IDU及所述PW0分别为所述用户注册时输入的标识及口令,所述n0为所述用户输入所述IDU及所述PW0后所述客户端生成的随机数。
上述基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0′的过程,可以包括:
计算γ0′=H1(TIDU||IDS||b0||n1||PW1)。
具体的,由于上述步骤S130基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0的过程为计算口令PW1=H0(IDU||n0||PW0),γ0=H1(TIDU||IDS||b0||n1||PW1),所以上述步骤S340中的第一参数集合包括预先存储的用户注册时由客户端发送的口令PW1用来认证用户的身份,只有用户合法时客户端计算γ0用到的PW1才与计算γ0′时用到的PW1一致,又上述步骤S130中的第一参数集合还包括IDS及n1,所以上述步骤S340中的第一参数集合包括IDS及n1
上述计算与所述客户端的共享密钥skT1的过程,可以包括:
计算skT1=H2(TIDU||IDS||b0||n1||PW1)。
具体的,由于客户端计算的与注册服务器之间的共享密钥skU0=H2(TIDU||IDS||b0||n1||PW1),所以计算与所述客户端的共享密钥skT1=H2(TIDU||IDS||b0||n1||PW1),计算skT1使用的PW1为预先存储的用户注册时由客户端发送的口令。
上述基于所述skT1采用对称加密算法对集合N0加密,得到加密后集合Mes1之前,还可以包括:
生成随机数n4
上述步骤S350中的集合N0还包括b1及n4,上述步骤S350中的集合N2还包括所述n4
基于此,上述步骤S160中的集合N0还包括公钥b1及随机数n4,上述步骤S260中的集合N2还包括随机数n4
上述计算与所述客户端的共享密钥skS1之前,还可以包括:
使用所述取样算法所述多项式环上的分布中取样,得到噪声e4
基于所述b0、所述s2及所述e4采用所述MLWE问题计算公钥u;
利用预设的错误协调机制对所述u进行协调,得到中间秘密kS2及信号值c2
所述计算与所述客户端的共享密钥skS1,包括:
计算skS1=H2(TIDU||IDS||b0||b1||c2||n4||kS2)。
具体的,基于TIDU、IDS、b0、b1及c2计算skS1可以起到完整性的保护作用,基于n4计算skS1可以防止重放攻击,由于kS2是利用错误协调机制对采用MLWE问题计算的公钥u进行协调得到的,所以基于kS2计算skS1可以抵抗量子计算机的攻击,只有合法的客户端才能计算出与kS2一致的中间秘密。
为了使得客户端能够计算出与kS2一致的中间秘密,上述步骤S280中的集合M1还可以包括所述c2
上述计算与所述应用服务器的共享密钥skU之前,还可以包括:
基于所述b1及所述s0计算公钥u′,并利用预设的错误协调机制对所述u′及所述c2进行协调,得到中间秘密kU
上述计算与所述应用服务器的共享密钥skU的过程,可以包括:
计算skU=H2(TIDU||IDS||b0||b1||c2||n4||kU)。
具体的,由于应用服务器计算的与客户端的共享密钥skS1=H2(TIDU||IDS||b0||b1||c2||n4||kS2),所以这里计算与应用服务器的共享密钥skU=H2(TIDU||IDS||b0||b1||c2||n4||kU)。
可选的,上述各实施例中的取样算法可以为中心二项分布取样算法。
基于此,上述步骤S110使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s0及噪声e0的过程,可以包括:
使用中心二项分布取样算法从
Figure BDA0004091937200000201
中取样,得到私钥s0及噪声e0
其中,所述
Figure BDA0004091937200000202
为所述多项式环上的一个参数为η的中心二项分布,所述k为多项式矩阵的维数。
具体的,使用中心二项分布取样算法从
Figure BDA0004091937200000203
中取样,得到的私钥s0及噪声e0的维数均为k行1列。
上述步骤S120基于所述s0及所述e0采用所述MLWE问题计算公钥b0的过程,可以包括:
计算公钥b0=As0+e0,其中,所述A为从所述多项式环上取样得到的多项式矩阵。
具体的,由MLWE问题可知,可以直接从多项式环上取样得到的多项式矩阵A,基于A、s0及e0计算b0,A的维数为k行k列,私钥s0及噪声e0的维数均为k行1列,所以可以直接计算b0=As0+e0
上述注册服务器基于预先使用预设的取样算法从MLWE问题中的多项式环上的分布中取样得到的私钥sT以及噪声eT采用MLWE问题生成公钥PT的过程,可以包括:
使用中心二项分布取样算法从
Figure BDA0004091937200000204
中取样,得到私钥sT及噪声eT
计算PT=AsT+eT
具体的,使用中心二项分布取样算法从
Figure BDA0004091937200000205
中取样,得到的私钥sT及噪声eT的维数均为k行1列,由MLWE问题可知,可以直接从多项式环上取样得到的多项式矩阵A,基于A、sT及eT计算PT,A的维数为k行k列,私钥sT及噪声eT的维数均为k行1列,所以可以直接计算PT=AsT+eT
上述步骤S210使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s1及噪声e1,基于公钥PT、所述s1及所述e1采用所述MLWE问题计算公钥w的过程,可以包括:
使用中心二项分布取样算法从
Figure BDA0004091937200000211
中取样,得到私钥s1,使用中心二项分布取样算法从βη中取样,得到噪声e1,计算/>
Figure BDA0004091937200000212
具体的,由于PT=AsT+eT,PT为k行1列,使用中心二项分布取样算法从
Figure BDA0004091937200000213
中取样得到的私钥s1为k行1列,使用中心二项分布取样算法从βη中取样得到的噪声e1为1行1列,所以计算/>
Figure BDA0004091937200000214
上述使用所述取样算法分别从所述多项式环上的分布中取样,得到私钥s2、噪声e2及噪声e3的过程,可以包括:
使用中心二项分布取样算法分别从
Figure BDA0004091937200000215
中取样,得到私钥s2及噪声e2,使用中心二项分布取样算法从βη中取样,得到噪声e3
具体的,使用中心二项分布取样算法从
Figure BDA0004091937200000216
中取样,得到的私钥s2及噪声e2的维数均为k行1列,从βη中取样,得到的噪声e3的维数为1行1列。
基于所述s2及所述e2采用所述MLWE问题计算公钥b1,基于所述PT、所述s2及所述e3采用所述MLWE问题计算公钥v的过程,可以包括:
计算b1=ATs2+e2
计算
Figure BDA0004091937200000217
具体的,由MLWE问题可知,可以直接从多项式环上取样得到的多项式矩阵A,基于A、s2及e2计算b1,A的维数为k行k列,私钥s2及噪声e2的维数均为k行1列,所以可以直接计算b1=As2+e2,由于PT=AsT+eT,所以PT的维数为k行1列,而私钥s2的维数为k行1列,噪声e3的维数为1行1列,所以基于PT、s2及e3计算公钥v时,需要计算
Figure BDA0004091937200000218
上述预先采用所述MLWE问题生成的公钥PS可以为PS=ATsS+eS,sS及eS可以为使用中心二项分布取样算法分别从
Figure BDA0004091937200000219
中取样得到私钥及噪声。
上述步骤S330基于所述PS及私钥sT采用MLWE问题计算公钥w′的过程,可以包括:
Figure BDA00040919372000002110
具体的,PS=ATsS+eS,PS的维数为k行1列,私钥sT的维数也为k行1列,所以计算
Figure BDA0004091937200000221
上述基于所述b1及sT计算公钥v′的过程,可以包括:
Figure BDA0004091937200000222
具体的,b1=ATs2+e2,b1的维数为k行1列,私钥sT的维数也为k行1列,所以计算
Figure BDA0004091937200000223
上述使用所述取样算法所述多项式环上的分布中取样,得到噪声e4的过程,可以包括:
使用中心二项分布取样算法从βη中取样,得到噪声e4
上述基于所述b0、所述s2及所述e4采用所述MLWE问题计算公钥u的过程,可以包括:
计算
Figure BDA0004091937200000224
具体的,使用中心二项分布取样算法从βη中取样得到的噪声e4的维数为1行1列,由于b0的维数为k行1列,私钥s2的维数为k行1列,所以可以计算公钥
Figure BDA0004091937200000225
上述基于所述b1及所述s0计算公钥u′的过程,可以包括:
计算
Figure BDA0004091937200000226
具体的,由于b1=ATs2+e2,b1的维数为k行1列,而s0维数也为k行1列,所以可以计算
Figure BDA0004091937200000227
本申请实施例使用中心二项分布取样算法进行取样,取样的实现过程简单,并且不需要引入大的表格和高精度计算,取样效率高,并且计算公钥时考虑到维数,不会造成计算出错。
可选的,上述错误协调机制可以包括Perkert式错误协调机制,Perkert式错误协调机制中相关函数的定义如下:
交叉取整函数:
Figure BDA0004091937200000228
模取整函数:
Figure BDA0004091937200000229
协调函数:
Figure BDA00040919372000002210
随机翻倍函数:
Figure BDA0004091937200000231
其中/>
Figure BDA0004091937200000232
为随机项,/>
Figure BDA0004091937200000233
为0的概率为0.5,/>
Figure BDA0004091937200000234
为-1和1的概率为0.5。
上述利用预设的错误协调机制对所述u′及所述c2进行协调,得到中间秘密kU的过程,可以包括:
当多项式环的模数q为偶数时,使用协调函数计算中间秘密kU=Rec(u′,c2)。
具体的,根据Perkert式错误协调机制可知,当q为偶数时,则可以使用协调函数计算中间秘密kU=Rec(u′,c2),从而使得中间秘密kU与应用服务器计算的中间秘密kS2一致。
当所述q为奇数时,使用所述协调函数计算中间秘密kU=Rec(2u′,c2)。
具体的,根据Perkert式错误协调机制可知,当q为偶数时,则可以使用协调函数计算中间秘密kU=Rec(2u′,c2),从而使得中间秘密kU与应用服务器计算的中间秘密kS2一致。
上述利用预设的错误协调机制对所述w进行协调,得到中间秘密kS1及信号值c1的过程,可以包括:
当所述多项式环的模数q为偶数时,分别利用模取整函数和交叉取整函数计算协调公钥
Figure BDA00040919372000002311
和信号值c1←<w>q,2
具体的,根据Perkert式错误协调机制可知,当q为偶数时,可直接利用Perkert式错误协调机制中的模取整函数计算中间秘密
Figure BDA00040919372000002312
利用交叉取整函数计算信号值c1←<w>q,2
当所述q为奇数时,分别利用随机翻倍函数、所述模取整函数和所述交叉取整函数计算翻倍后公钥
Figure BDA0004091937200000235
中间秘密/>
Figure BDA0004091937200000236
和信号值/>
Figure BDA0004091937200000237
具体的,根据Perkert式错误协调机制可知,当q为奇数时,首先需要利用随机翻倍函数计算翻倍后公钥
Figure BDA0004091937200000238
再分别利用模取整函数和交叉取整函数计算中间秘密
Figure BDA0004091937200000239
和信号值/>
Figure BDA00040919372000002310
上述利用所述错误协调机制对所述v进行协调,得到中间秘密kS0及信号值c0的过程,可以包括:
当所述多项式环的模数q为偶数时,分别利用模取整函数和交叉取整函数计算协调公钥
Figure BDA00040919372000002413
和信号值c0←<v>q,2
具体的,根据Perkert式错误协调机制可知,当q为偶数时,可直接利用Perkert式错误协调机制中的模取整函数计算中间秘密
Figure BDA00040919372000002414
利用交叉取整函数计算信号值c0←<v>q,2
当所述q为奇数时,分别利用随机翻倍函数、所述模取整函数和所述交叉取整函数计算翻倍后公钥
Figure BDA0004091937200000241
中间秘密/>
Figure BDA0004091937200000242
和信号值/>
Figure BDA0004091937200000243
具体的,根据Perkert式错误协调机制可知,当q为奇数时,首先需要利用随机翻倍函数计算翻倍后公钥
Figure BDA0004091937200000244
再分别利用模取整函数和交叉取整函数计算中间秘密
Figure BDA0004091937200000245
和信号值/>
Figure BDA0004091937200000246
上述利用预设的错误协调机制对所述u进行协调,得到中间秘密kS2及信号值c2的过程,可以包括:
当所述多项式环的模数q为偶数时,分别利用模取整函数和交叉取整函数计算协调公钥
Figure BDA00040919372000002415
和信号值c2←<u>q,2
具体的,根据Perkert式错误协调机制可知,当q为偶数时,可直接利用Perkert式错误协调机制中的模取整函数计算中间秘密
Figure BDA00040919372000002416
利用交叉取整函数计算信号值c2←<u>q,2
当所述q为奇数时,分别利用随机翻倍函数、所述模取整函数和所述交叉取整函数计算翻倍后公钥
Figure BDA0004091937200000247
中间秘密/>
Figure BDA0004091937200000248
和信号值/>
Figure BDA0004091937200000249
具体的,根据Perkert式错误协调机制可知,当q为奇数时,首先需要利用随机翻倍函数计算翻倍后公钥
Figure BDA00040919372000002410
再分别利用模取整函数和交叉取整函数计算中间秘密
Figure BDA00040919372000002411
和信号值/>
Figure BDA00040919372000002412
上述利用预设的错误协调机制对所述w′及所述c1进行协调,得到中间秘密kT1的过程,可以包括:
当多项式环的模数q为偶数时,使用协调函数计算中间秘密kT1=Rec(w′,c1)。
具体的,根据Perkert式错误协调机制可知,当q为偶数时,则可以使用协调函数计算中间秘密kT1=Rec(w′,c1),从而使得中间秘密kT1与应用服务器计算的中间秘密kS1一致。
当所述q为奇数时,使用所述协调函数计算中间秘密kT1=Rec(2w′,c1)。
具体的,根据Perkert式错误协调机制可知,当q为偶数时,则可以使用协调函数计算中间秘密kT1=Rec(2w′,c1),从而使得中间秘密kT1与应用服务器计算的中间秘密kS1一致。
上述利用预设的错误协调机制对所述v'及所述c0进行协调,得到中间秘密kT0的过程,可以包括:
当多项式环的模数q为偶数时,使用协调函数计算中间秘密kT0=Rec(v′,c0)。
具体的,根据Perkert式错误协调机制可知,当q为偶数时,则可以使用协调函数计算中间秘密kT0=Rec(v′,c0),从而使得中间秘密kT0与应用服务器计算的中间秘密kS0一致。
当所述q为奇数时,使用所述协调函数计算中间秘密kT0=Rec(2v′,c0)。
具体的,根据Perkert式错误协调机制可知,当q为偶数时,则可以使用协调函数计算中间秘密kT0=Rec(2v′,c0),从而使得中间秘密kT0与应用服务器计算的中间秘密kS0一致。
本申请的一些实施例中,对当模数q为奇数时使用Perkert式错误协调机制以及中心二项分布取样算法的多服务架构下的认证的具体过程进行介绍,参见图4,图4展示了认证的具体过程,具体的过程描述为:
客户端获取用户输入的临时身份标识TIDU及用户请求服务的应用服务器对应的应用服务器身份标识IDS之后,取样
Figure BDA0004091937200000251
基于s0及e0采用MLWE问题计算公钥b0=As0+e0,A为从多项式环/>
Figure BDA0004091937200000252
上取样得到的多项式矩阵,计算口令PW1=H0(IDU||n0||PW0),IDU及PW0分别为用户注册时输入的标识及口令,n0为用户输入IDU及PW0后生成的随机数,计算与注册服务器的共享密钥skU0=H1(TIDU||IDS||b0||n1||PW1),计算认证用户身份信息γ0=H1(TIDU||IDS||b0||n1||PW1),n1为预先生成的随机数,发送集合M0=(TIDU,IDS,b00)给应用服务器。
应用服务器接收客户端发送的集合M0=(TIDU,IDS,b00),当IDS为自身的身份标识时,取样
Figure BDA0004091937200000261
计算公钥/>
Figure BDA0004091937200000262
PT为预先存储的向注册服务器注册时注册服务器采用MLWE问题计算的公钥,再分别利用随机翻倍函数、交叉取整函数和模取整函数计算翻倍后公钥/>
Figure BDA0004091937200000263
信号值/>
Figure BDA0004091937200000264
和中间秘密
Figure BDA0004091937200000265
计算认证应用服务器身份信息Auth0=H1(IDS||IDTA||ps||pT||n3||kS1),取样/>
Figure BDA0004091937200000266
计算公钥b1=ATs2+e2,计算公钥/>
Figure BDA0004091937200000267
再分别利用随机翻倍函数、交叉取整函数和模取整函数计算翻倍后公钥/>
Figure BDA0004091937200000268
信号值
Figure BDA0004091937200000269
Figure BDA00040919372000002610
中间秘密/>
Figure BDA00040919372000002611
计算与注册服务器的共享密钥skS0=H1(IDS||IDTA||b0||pT||c0||n2||kS0),集合N1=(c1,Auth0),基于skS0采用对称加密算法对集合N1进行加密,得到加密后集合Mes0:Mes0=EskS0(N1),发送集合M2=(M0,n2,ps,Mes0,b1,c0)给注册服务器。
注册服务器接收应用服务器发送的集合M2=(M0,n2,ps,Mes0,b1,c0),计算公钥
Figure BDA00040919372000002612
利用协调函数计算中间秘密kT0=Rec(2v′,c0),计算与应用服务器的共享密钥skT0=H1(IDS||IDTA||b0||pT||c0||n2||kT0),基于skT0采用对称解密算法对Mes0进行解密,得到集合N1:/>
Figure BDA00040919372000002613
N1=(c1,Auth0),计算公钥/>
Figure BDA00040919372000002614
sT为预先使用预设的取样算法从MLWE问题中的多项式环上的分布中取样得到的私钥,利用协调函数计算中间秘密kT1=Rec(2w′,c1),计算认证应用服务器身份信息Auth0′=H1(IDS||IDTA||ps||pT||n3||kT1),验证Auth0′?=Auth0,“?=”表示是否等于,若是,则说明应用服务器身份认证通过,计算认证用户身份信息γ0′=H1(TIDU||IDS||b0||n1||PW1),验证γ0′?=γ0,若是,则说明客户端身份认证通过,计算与客户端的共享密钥skT1=H2(TIDU||IDS||b0||n1||PW1),集合N0=(Succ1,b1,n4),Succ1为代表应用服务器身份认证通过的信息,基于skT1采用对称加密算法对集合N0加密,得到加密后集合Mes1:/>
Figure BDA00040919372000002615
Figure BDA00040919372000002616
集合N2=(Succ2,Mes1,n4),Succ2为代表用户身份认证通过的信息,基于skT0采用对称加密算法对集合N2加密,得到加密后集合Mes2:/>
Figure BDA00040919372000002617
发送Mes2给应用服务器。
应用服务器基于skS0采用对称解密算法对Mes2解密,得到集合N2
Figure BDA00040919372000002618
N2=(Succ2,Mes1,n4),判断出Succ2为代表用户身份认证通过的信息后,取样(e4)←βη,计算公钥/>
Figure BDA00040919372000002619
再分别利用随机翻倍函数、交叉取整函数和模取整函数计算翻倍后公钥/>
Figure BDA0004091937200000271
信号值/>
Figure BDA0004091937200000272
和中间秘密
Figure BDA0004091937200000273
计算与客户端的共享密钥skS1=H2(TIDU||IDS||b0||b1||c2||n4||kS2),发送集合M1=(c2,Mes1)给客户端。
客户端基于skU0采用对称解密算法对Mes1解密,得到集合N0
Figure BDA0004091937200000274
N0=(Succ1,b1,n4),判断出Succ1为代表应用服务器身份认证通过的信息后,计算公钥/>
Figure BDA0004091937200000275
利用协调函数计算中间秘密kU=Rec(2u′,c2),计算与应用服务器的共享密钥skU=H2(TIDU||IDS||b0||b1||c2||n4||kU)。
若客户端、应用服务器与注册服务器诚实地计算并传输相关信息,那么skU=skS1,现给出skU=skS1的正确性证明:
kU=Rec(2u′,c2)
Figure BDA0004091937200000276
Figure BDA0004091937200000277
Figure BDA0004091937200000278
Figure BDA0004091937200000279
以k=2为例,假设
Figure BDA00040919372000002710
Figure BDA00040919372000002711
Figure BDA00040919372000002712
因为多项式环具有交换性,所以s10a00s00=s00a00s10,由此可得
Figure BDA00040919372000002713
因此/>
Figure BDA00040919372000002714
又令/>
Figure BDA00040919372000002715
Figure BDA00040919372000002716
由中心二项分布取样算法可得及Peikert误差协调函数可得,kU=ks2,那么:skU=skS1
下面对本申请实施例提供的多服务架构下的认证装置进行描述,下文描述的多服务架构下的认证装置与上文描述的多服务架构下的认证方法可相互对应参照。
首先,结合图5,对应用于客户端的多服务架构下的认证装置进行介绍,如图5所示,该多服务架构下的认证装置可以包括:
标识获取单元10,用于获取用户输入的临时身份标识TIDU及所述用户请求服务的应用服务器对应的应用服务器身份标识IDS,所述TIDU为所述用户向注册服务器注册时所述注册服务器为所述用户生成的标识;
第一取样单元11,用于使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s0及噪声e0
第一公钥计算单元12,用于基于所述s0及所述e0采用所述MLWE问题计算公钥b0
第一认证用户身份信息计算单元13,基于所述TIDU、所述b0及预设的第一参数集合计算认证用户身份信息γ0
第一集合发送单元14,用于发送集合M0给所述应用服务器,以便所述应用服务器生成相关认证信息并将所述认证信息及所述M0发送给所述注册服务器,由所述注册服务器认证所述用户和所述应用服务器的身份,所述M0包括所述TIDU、所述IDS、所述b0及所述γ0
第一集合接收单元15,用于接收所述应用服务器发送的集合M1,所述M1包括加密后集合Mes1,所述Mes1为所述应用服务器对所述注册服务器认证所述用户的身份及所述应用服务器的身份后发送的加密后集合进行解密后得到的集合中包含的加密后集合;
第一解密单元16,用于采用预设的解密算法对所述Mes1解密,得到集合N0
第一认证判断单元17,用于基于所述N0确认所述应用服务器的身份认证是否通过,其中,若所述N0包括代表所述应用服务器身份认证通过的信息,则确认所述应用服务器的身份认证通过。
所述多服务器架构下的认证装置,还可以包括:
第一共享密钥计算单元,用于计算与所述注册服务器的共享密钥skU0
所述第一解密单元采用预设的解密算法对所述Mes1解密,得到集合N0的过程,可以包括:
基于所述skU0采用对称解密算法对所述Mes1解密,得到集合N0
所述多服务器架构下的认证装置,还可以包括:
第二共享密钥计算单元,用于计算与所述应用服务器的共享密钥skU
所述第一参数集合可以包括所述IDS、IDU、PW0、n0及n1,所述IDU及所述PW0分别为所述用户注册时输入的标识及口令,所述n0为所述用户输入所述IDU及所述PW0后生成的随机数,所述n1为预先生成的随机数。
基于此,所述第一认证用户身份信息计算单元基于所述TIDU、所述b0及预设的第一参数集合计算认证用户身份信息γ0的过程,可以包括:
计算口令PW1=H0(IDU||n0||PW0);
计算γ0=H1(TIDU||IDS||b0||n1||PW1)。
所述第一共享密钥计算单元计算与所述注册服务器的共享密钥skU0的过程,可以包括:
计算skU0=H2(TIDU||IDS||b0||n1||PW1)。
所述N0还包括中间秘密b1及随机数n4,所述M1还包括信号值c2
基于此,所述多服务器架构下的认证装置,还可以包括:
第一协调单元,用于基于所述b1及所述s0计算公钥u′,并利用预设的错误协调机制对所述u′及所述c2进行协调,得到中间秘密kU
所述第二共享密钥计算单元计算与所述应用服务器的共享密钥skU的过程,可以包括:
计算skU=H2(TIDU||IDS||b0||b1||c2||n4||kU)。
首先,结合图6,对应用于应用服务器的多服务架构下的认证装置进行介绍,如图6所示,该多服务架构下的认证装置可以包括:
第二集合接收单元20,用于接收客户端发送的集合M0,所述M0包括用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0,所述TIDU为用户向注册服务器注册时所述注册服务器为所述用户生成的标识;
取样及公钥计算单元21,用于当所述IDS为自身的身份标识时,使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s1及噪声e1,基于公钥PT、所述s1及所述e1采用所述MLWE问题计算公钥w,所述PT为预先存储的向所述注册服务器注册时所述注册服务器采用所述MLWE问题计算的公钥;
第二协调单元22,用于利用预设的错误协调机制对所述w进行协调,得到中间秘密kS1及信号值c1
第一认证应用服务器身份信息计算单元23,用于基于所述PT、所述kS1及预设的第二参数集合计算认证应用服务器身份信息Auth0
第一加密单元24,用于采用预设的加密算法对集合N1进行加密,得到加密后集合Mes0,所述N1包括所述Auth0及所述c1
第二集合发送单元25,用于发送集合M2给所述注册服务器,所述M2包括所述M0、所述Mes0及PS,所述PS为预先采用所述MLWE问题生成的公钥;
第二解密单元26,用于当接收到所述注册服务器发送的加密后集合Mes2时,采用预设的解密算法对所述Mes2解密,得到集合N2,所述N2包括加密后集合Mes1
第二认证判断单元27,用于判断所述N2是否还包括代表所述用户身份认证通过的信息;
若是,则表征所述用户的身份认证通过,执行下述第三集合发送单元28的步骤;
第三集合发送单元28,用于发送集合M1给所述客户端,所述M1包括所述Mes1
所述多服务器架构下的认证装置,还可以包括:
第三共享密钥计算单元,用于计算与所述注册服务器的共享密钥skS0
所述第一加密单元采用预设的加密算法对集合N1进行加密,得到加密后集合Mes0的过程,可以包括:
基于所述skS0采用对称加密算法对集合N1进行加密,得到加密后集合Mes0
所述第二解密单元采用预设的解密算法对所述Mes2解密,得到集合N2的过程,可以包括:
基于所述skS0采用所述对称解密算法对所述Mes2解密,得到集合N2
所述多服务器架构下的认证装置,还可以包括:
第四共享密钥计算单元,用于计算与所述客户端的共享密钥skS1
所述多服务器架构下的认证装置,还可以包括:
第二取样单元,用于使用所述取样算法分别从所述多项式环上的分布中取样,得到私钥s2、噪声e2及噪声e3
第二公钥计算单元,用于基于所述s2及所述e2采用所述MLWE问题计算公钥b1,基于所述PT、所述s2及所述e3采用所述MLWE问题计算公钥v。
第三协调单元,用于利用所述错误协调机制对所述v进行协调,得到中间秘密kS0及信号值c0
所述多服务器架构下的认证装置,还可以包括:
第一随机数生成单元,用于生成随机数n2
所述第三共享密钥计算单元计算与所述注册服务器的共享密钥skS0的过程,可以包括:
计算skS0=H1(IDS||IDTA||b0||pT||c0||n2||kS0),所述IDTA为所述可注册服务器的身份标识。
所述第二参数集合可以包括所述IDS、所述IDTA、所述ps及n3,所述n3为预先生成的随机数。
基于此,所述第一认证应用服务器身份信息计算单元基于所述PT、所述kS1及预设的第二参数集合计算认证应用服务器身份信息Auth0的过程,可以包括:
计算Auth0=H1(IDS||IDTA||ps||pT||n3||kS1)。
所述M2还包括所述n2、所述b1及所述c0,所述N2还包括随机数n4
基于此,所述多服务器架构下的认证装置,还可以包括:
第三取样单元,用于基于所述b0、所述s2及所述e4采用所述MLWE问题计算公钥u。
第四协调单元,用于利用预设的错误协调机制对所述u进行协调,得到中间秘密kS2及信号值c2
所述第四共享密钥计算单元计算与所述客户端的共享密钥skS1的过程,可以包括:
计算skS1=H2(TIDU||IDS||b0||b1||c2||n4||kS2)。
所述M1还包括所述c2
首先,结合图7,对应用于注册服务器的多服务架构下的认证装置进行介绍,如图7所示,该多服务架构下的认证装置可以包括:
第三集合接收单元30,用于接收应用服务器发送的集合M2,所述M2包括集合M0、加密后集合Mes0及公钥PS,所述M0包括用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0,所述TIDU为用户注册时为所述用户生成的标识;
第三解密单元31,用于采用预设的解密算法对所述Mes0进行解密,得到集合N1,所述N1包括认证应用服务器身份信息Auth0及信号值c1
公钥计算及协调单元32,用于基于所述PS及私钥sT采用MLWE问题计算公钥w′,利用预设的错误协调机制对所述w′及所述c1进行协调,得到中间秘密kT1,所述sT为预先使用预设的取样算法从所述MLWE问题中的多项式环上的分布中取样得到的私钥;
第二认证应用服务器身份信息计算单元33,用于基于公钥PT、所述kT1及预设的第二参数集合计算认证应用服务器身份信息Auth0′,所述PT为预先在所述应用服务器注册时采用所述MLWE问题生成的公钥;
若所述Auth0′与所述Auth0相等,执行下述第二认证用户身份信息计算单元34的步骤;
第二认证用户身份信息计算单元34,用于基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0′;
若所述γ0′与所述γ0相等,执行下述第二加密单元35的步骤;
第二加密单元35,用于采用预设的加密算法对集合N0加密,得到加密后集合Mes1,所述N0包括代表所述应用服务器身份认证通过的信息;
第三加密单元36,用于采用预设的加密算法对集合N2加密,得到加密后集合Mes2,所述N2包括代表所述用户身份认证通过的信息及所述Mes1
第四集合发送单元37,用于发送所述Mes2给所述应用服务器。
所述多服务器架构下的认证装置,还可以包括:
第五共享密钥计算单元,用于计算与所述应用服务器的共享密钥skT0
所述第三解密单元采用预设的解密算法对所述Mes0进行解密,得到集合N1的过程,可以包括:
基于所述skT0采用对称解密算法对所述Mes0进行解密,得到集合N1
所述多服务器架构下的认证装置,还可以包括:
第五共享密钥计算单元,用于计算与所述客户端的共享密钥skT1
所述第二加密单元采用预设的加密算法对集合N0加密,得到加密后集合Mes1的过程,可以包括:
基于所述skT1采用对称加密算法对集合N0加密,得到加密后集合Mes1
所述第三加密单元采用预设的加密算法对集合N2加密,得到加密后集合Mes2的过程,可以包括:
基于所述skT0采用对称加密算法对集合N2加密,得到加密后集合Mes2
所述M2还可以包括随机数n2、中间秘密b1及信号值c0
基于此,所述多服务器架构下的认证装置,还可以包括:
第五协调单元,用于基于所述b1及所述sT计算公钥v′,并利用预设的错误协调机制对所述v′及所述c0进行协调,得到中间秘密kT0
所述第五共享密钥计算计算与所述应用服务器的共享密钥skT0的过程,可以包括:
计算skT0=H1(IDS||IDTA||b0||pT||c0||n2||kT0),所述IDTA为自身标识。
所述第二参数集合包括所述IDS、所述IDTA、所述ps及n3,所述n3为预先接收的所述应用服务器发送的随机数。
基于此,所述第二认证应用服务器身份信息计算单元基于公钥PT、所述kT1及预设的第二参数集合计算认证应用服务器身份信息Auth0′的过程,可以包括:
计算Auth0′=H1(IDS||IDTA||ps||pT||n3||kT1)。
所述第一参数集合可以包括所述IDS、n1及PW1,所述PW1为预先存储的所述用户注册时由所述客户端发送的口令,并且PW1=H0(IDU||n0||PW0),所述IDU及所述PW0分别为所述用户注册时输入的标识及口令,所述n0为所述用户输入所述IDU及所述PW0后所述客户端生成的随机数,所述n1为预先接收的所述客户端发送的随机数。
基于此,所述第二认证用户身份信息计算单元基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0′,包括:
计算γ0′=H1(TIDU||IDS||b0||n1||PW1)。
所述第五共享密钥计算与所述客户端的共享密钥skT1的过程,可以包括:
计算skT1=H2(TIDU||IDS||b0||n1||PW1)。
基于所述skT1采用对称加密算法对集合N0加密,得到加密后集合Mes1之前,还包括:
第二随机数生成单元,用于生成随机数n4
所述N0还可以包括所述b1及所述n4,所述N2还可以包括所述n4
本申请实施例提供的多服务器架构下的认证装置可应用于多服务器架构下的认证设备。多服务器架构下的认证设备可以是客户端或应用服务器或注册服务器。图8示出了多服务器架构下的认证设备的硬件结构框图,参照图8,多服务器架构下的认证设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述客户端在多服务器架构下的认证方案中的各个处理流程,或,实现前述应用服务器在多服务器架构下的认证方案中的各个处理流程,或,实现前述注册服务器在多服务器架构下的认证方案中的各个处理流程。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:实现前述客户端在多服务器架构下的认证方案中的各个处理流程,或,实现前述应用服务器在多服务器架构下的认证方案中的各个处理流程,或,实现前述注册服务器在多服务器架构下的认证方案中的各个处理流程。
本申请实施例还公开了一种多服务器架构下的认证系统,该多服务器架构下的认证系统包括客户端、应用服务器及注册服务器,其中客户端、应用服务器及注册服务器的具体实现逻辑可以参照前述多服务器架构下的认证方法部分的相关介绍,此处不再赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种多服务器架构下的认证方法,其特征在于,应用于客户端,方法包括:
获取用户输入的临时身份标识TIDU及所述用户请求服务的应用服务器对应的应用服务器身份标识IDS,所述TIDU为所述用户向注册服务器注册时所述注册服务器为所述用户生成的标识;
使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s0及噪声e0
基于所述s0及所述e0采用所述MLWE问题计算公钥b0
基于所述TIDU、所述b0及预设的第一参数集合计算认证用户身份信息γ0
发送集合M0给所述应用服务器,以便所述应用服务器生成相关认证信息并将所述认证信息及所述M0发送给所述注册服务器,由所述注册服务器认证所述用户和所述应用服务器的身份,所述M0包括所述TIDU、所述IDS、所述b0及所述γ0
接收所述应用服务器发送的集合M1,所述M1包括加密后集合Mes1,所述Mes1为所述应用服务器对所述注册服务器认证所述用户的身份及所述应用服务器的身份后发送的加密后集合进行解密后得到的集合中包含的加密后集合;
采用预设的解密算法对所述Mes1解密,得到集合N0
基于所述N0确认所述应用服务器的身份认证是否通过,其中,若所述N0包括代表所述应用服务器身份认证通过的信息,则确认所述应用服务器的身份认证通过。
2.根据权利要求1所述的方法,其特征在于,基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0之后,还包括:
计算与所述注册服务器的共享密钥skU0
所述采用预设的解密算法对所述Mes1解密,得到集合N0,包括:
基于所述skU0采用对称解密算法对所述Mes1解密,得到集合N0
当确认所述应用服务器的身份认证通过之后,还包括:
计算与所述应用服务器的共享密钥skU
3.根据权利要求2所述的方法,其特征在于,所述第一参数集合包括所述IDS、IDU、PW0、n0及n1,所述IDU及所述PW0分别为所述用户注册时输入的标识及口令,所述n0为所述用户输入所述IDU及所述PW0后生成的随机数,所述n1为预先生成的随机数;
基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0,包括:
计算口令PW1=H0(IDU||n0||PW0),H0()为预设的哈希函数;
计算γ0=H1(TIDU||IDS||b0||n1||PW1),H1()为预设的哈希函数;
计算与所述注册服务器的共享密钥skU0,包括:
计算skU0=H2(TIDU||IDS||b0||n1||PW 1),H2()为预设的哈希函数;
所述N0还包括中间秘密b1及随机数n4,所述M1还包括信号值c2
所述计算与所述应用服务器的共享密钥skU之前,还包括:
基于所述b1及所述s0计算公钥u′,并利用预设的错误协调机制对所述u′及所述c2进行协调,得到中间秘密kU
所述计算与所述应用服务器的共享密钥skU,包括:
计算skU=H2(TIDU||IDS||b0||b1||c2||n4||kU)。
4.一种多服务器架构下的认证方法,其特征在于,应用于应用服务器,方法包括:
接收客户端发送的集合M0,所述M0包括用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0,所述TIDU为用户向注册服务器注册时所述注册服务器为所述用户生成的标识;
当所述IDS为自身的身份标识时,使用预设的取样算法分别从MLWE问题中的多项式环上的分布中取样,得到私钥s1及噪声e1,基于公钥PT、所述s1及所述e1采用所述MLWE问题计算公钥w,所述PT为预先存储的向所述注册服务器注册时所述注册服务器采用所述MLWE问题计算的公钥;
利用预设的错误协调机制对所述w进行协调,得到中间秘密kS1及信号值c1
基于所述PT、所述kS1及预设的第二参数集合计算认证应用服务器身份信息Auth0
采用预设的加密算法对集合N1进行加密,得到加密后集合Mes0,所述N1包括所述Auth0及所述c1
发送集合M2给所述注册服务器,所述M2包括所述M0、所述Mes0及PS,所述PS为预先采用所述MLWE问题生成的公钥;
当接收到所述注册服务器发送的加密后集合Mes2时,采用预设的解密算法对所述Mes2解密,得到集合N2,所述N2包括加密后集合Mes1
判断所述N2是否还包括代表所述用户身份认证通过的信息;
若是,则表征所述用户的身份认证通过,发送集合M1给所述客户端,所述M1包括所述Mes1
5.根据权利要求4所述的方法,其特征在于,基于所述PT、所述kS1及预设的第二参数集合计算认证应用服务器身份信息Auth0之前,还包括:
计算与所述注册服务器的共享密钥skS0
所述采用预设的加密算法对集合N1进行加密,得到加密后集合Mes0,包括:
基于所述skS0采用对称加密算法对集合N1进行加密,得到加密后集合Mes0
所述采用预设的解密算法对所述Mes2解密,得到集合N2,包括:
基于所述skS0采用所述对称解密算法对所述Mes2解密,得到集合N2
所述发送集合M1给所述客户端之后,还包括:
计算与所述客户端的共享密钥skS1
6.根据权利要求5所述的方法,其特征在于,所述计算与所述注册服务器的共享密钥skS0之前,还包括:
使用所述取样算法分别从所述多项式环上的分布中取样,得到私钥s2、噪声e2及噪声e3
基于所述s2及所述e2采用所述MLWE问题计算公钥b1,基于所述PT、所述s2及所述e3采用所述MLWE问题计算公钥v;
利用所述错误协调机制对所述v进行协调,得到中间秘密kS0及信号值c0
生成随机数n2
所述计算与所述注册服务器的共享密钥skS0,包括:
计算skS0=H1(IDS||IDTA||b0||pT||c0||n2||kS0),所述IDTA为所述可注册服务器的身份标识,H1()为预设的哈希函数;
所述第二参数集合包括所述IDS、所述IDTA、所述ps及n3,所述n3为预先生成的随机数;
基于所述PT、所述kS1及预设的第二参数集合计算认证应用服务器身份信息Auth0,包括:
计算Auth0=H1(IDS||IDTA||ps||pT||n3||kS1);
所述M2还包括所述n2、所述b1及所述c0,所述N2还包括随机数n4
所述计算与所述客户端的共享密钥skS1之前,还包括:
使用所述取样算法所述多项式环上的分布中取样,得到噪声e4
基于所述b0、所述s2及所述e4采用所述MLWE问题计算公钥u;
利用预设的错误协调机制对所述u进行协调,得到中间秘密kS2及信号值c2
所述计算与所述客户端的共享密钥skS1,包括:
计算skS1=H2(TIDU||IDS||b0||b1||c2||n4||kS2),H2()为预设的哈希函数;
所述M1还包括所述c2
7.一种多服务器架构下的认证方法,其特征在于,应用于注册服务器,方法包括:
接收应用服务器发送的集合M2,所述M2包括集合M0、加密后集合Mes0及公钥PS,所述M0包括用户临时身份标识TIDU、应用服务器身份标识IDS、公钥b0及认证用户身份信息γ0,所述TIDU为用户注册时为所述用户生成的标识;
采用预设的解密算法对所述Mes0进行解密,得到集合N1,所述N1包括认证应用服务器身份信息Auth0及信号值c1
基于所述PS及私钥sT采用MLWE问题计算公钥w′,利用预设的错误协调机制对所述w′及所述c1进行协调,得到中间秘密kT1,所述sT为预先使用预设的取样算法从所述MLWE问题中的多项式环上的分布中取样得到的私钥;
基于公钥PT、所述kT1及预设的第二参数集合计算认证应用服务器身份信息Auth0′,所述PT为预先在所述应用服务器注册时采用所述MLWE问题生成的公钥;
若所述Auth0′与所述Auth0相等,基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0′;
若所述γ0′与所述γ0相等,采用预设的加密算法对集合N0加密,得到加密后集合Mes1,所述N0包括代表所述应用服务器身份认证通过的信息;
采用预设的加密算法对集合N2加密,得到加密后集合Mes2,所述N2包括代表所述用户身份认证通过的信息及所述Mes1
发送所述Mes2给所述应用服务器。
8.根据权利要求7所述的方法,其特征在于,所述采用预设的解密算法对所述Mes0进行解密,得到集合N1之前,还包括:
计算与所述应用服务器的共享密钥skT0
所述采用预设的解密算法对所述Mes0进行解密,得到集合N1,包括:
基于所述skT0采用对称解密算法对所述Mes0进行解密,得到集合N1
所述采用预设的加密算法对集合N0加密,得到加密后集合Mes1之前,还包括:
计算与所述客户端的共享密钥skT1
所述采用预设的加密算法对集合N0加密,得到加密后集合Mes1,包括:
基于所述skT1采用对称加密算法对集合N0加密,得到加密后集合Mes1
所述采用预设的加密算法对集合N2加密,得到加密后集合Mes2,包括:
基于所述skT0采用对称加密算法对集合N2加密,得到加密后集合Mes2
9.根据权利要求8所述的方法,其特征在于,所述M2还包括随机数n2、中间秘密b1及信号值c0
所述计算与所述应用服务器的共享密钥skT0之前,还包括:
基于所述b1及所述sT计算公钥v′,并利用预设的错误协调机制对所述v′及所述c0进行协调,得到中间秘密kT0
所述计算与所述应用服务器的共享密钥skT0,包括:
计算skT0=H1(IDS||IDTA||b0||pT||c0||n2||kT0),所述IDTA为自身标识,H1()为预设的哈希函数;
所述第二参数集合包括所述IDS、所述IDTA、所述ps及n3,所述n3为预先接收的所述应用服务器发送的随机数;
所述基于公钥PT、所述kT1及预设的第二参数集合计算认证应用服务器身份信息Auth0′,包括:
计算Auth0′=H1(IDS||IDTA||ps||pT||n3||kT1);
所述第一参数集合包括所述IDS、n1及PW 1,所述PW 1为预先存储的所述用户注册时由所述客户端发送的口令,并且PW1=H0(IDU||n0||PW0),所述IDU及所述PW0分别为所述用户注册时输入的标识及口令,所述n0为所述用户输入所述IDU及所述PW0后所述客户端生成的随机数,所述n1为预先接收的所述客户端发送的随机数,H0()为预设的哈希函数;
基于所述TIDU、所述b0及预设的第一参数集合生成认证用户身份信息γ0′,包括:
计算γ0′=H1(TIDU||IDS||b0||n1||PW1);
计算与所述客户端的共享密钥skT1,包括:
计算skT1=H2(TIDU||IDS||b0||n1||PW 1),H2()为预设的哈希函数;
基于所述skT1采用对称加密算法对集合N0加密,得到加密后集合Mes1之前,还包括:
生成随机数n4
所述N0还包括所述b1及所述n4,所述N2还包括所述n4
10.一种多服务器架构下的认证系统,其特征在于,包括:客户端、应用服务器及注册服务器,所述客户端用于实现权利要求1-3任一项的多服务器架构下的认证方法的各个步骤,所述应用服务器用于实现权利要求4-6任一项的多服务器架构下的认证方法的各个步骤,所述注册服务器用于实现7-9任一项的多服务器架构下的认证方法的各个步骤。
CN202310154635.6A 2023-02-22 2023-02-22 多服务器架构下的认证方法及系统 Pending CN116155598A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310154635.6A CN116155598A (zh) 2023-02-22 2023-02-22 多服务器架构下的认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310154635.6A CN116155598A (zh) 2023-02-22 2023-02-22 多服务器架构下的认证方法及系统

Publications (1)

Publication Number Publication Date
CN116155598A true CN116155598A (zh) 2023-05-23

Family

ID=86357964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310154635.6A Pending CN116155598A (zh) 2023-02-22 2023-02-22 多服务器架构下的认证方法及系统

Country Status (1)

Country Link
CN (1) CN116155598A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116866034A (zh) * 2023-07-11 2023-10-10 吉客印(郑州)数字科技有限公司 一种分布式节点认证方法、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116866034A (zh) * 2023-07-11 2023-10-10 吉客印(郑州)数字科技有限公司 一种分布式节点认证方法、电子设备及存储介质
CN116866034B (zh) * 2023-07-11 2024-03-08 吉客印(郑州)数字科技有限公司 一种分布式节点认证方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107948189B (zh) 非对称密码身份鉴别方法、装置、计算机设备及存储介质
CN109922077B (zh) 一种基于区块链的身份认证方法及其系统
JP6515246B2 (ja) 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
US10027654B2 (en) Method for authenticating a client device to a server using a secret element
CN108768608B (zh) 在区块链pki下支持瘦客户端的隐私保护身份认证方法
US9185111B2 (en) Cryptographic authentication techniques for mobile devices
US11405365B2 (en) Method and apparatus for effecting a data-based activity
JP2014523192A (ja) デバイス及びサーバの通信におけるファジーな認証情報を用いた暗号化によるセキュリティ
JP6950745B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
US11374910B2 (en) Method and apparatus for effecting a data-based activity
CN111797427A (zh) 一种兼顾隐私保护的区块链用户身份监管方法及系统
CN109040060B (zh) 终端匹配方法和系统、计算机设备
CN113343201A (zh) 注册请求处理方法、用户身份信息管理方法及设备
US11637817B2 (en) Method and apparatus for effecting a data-based activity
CN109565440B (zh) 密钥交换方法,密钥交换系统
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
CN107637013B (zh) 密钥交换方法、密钥交换系统、密钥分发装置、通信装置、及记录介质
CN116155598A (zh) 多服务器架构下的认证方法及系统
Amintoosi et al. TAMA: three-factor authentication for multi-server architecture
Yao et al. An inter-domain authentication scheme for pervasive computing environment
CN115955320B (zh) 一种视频会议身份认证方法
CN116032655B (zh) 一种可抵御计时攻击的身份鉴别方法以及系统
Mishra et al. Authenticated content distribution framework for digital rights management systems with smart card revocation
CN114978622A (zh) 一种基于区块链和零知识证明的匿名凭证验证方法及系统
JP3746919B2 (ja) 可変認証情報を用いる資格認証方法

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