CN110868285B - 认证方法、服务器、***和计算机可读存储介质 - Google Patents
认证方法、服务器、***和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110868285B CN110868285B CN201810983847.4A CN201810983847A CN110868285B CN 110868285 B CN110868285 B CN 110868285B CN 201810983847 A CN201810983847 A CN 201810983847A CN 110868285 B CN110868285 B CN 110868285B
- Authority
- CN
- China
- Prior art keywords
- server
- user
- parameter
- bilinear
- key
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013507 mapping Methods 0.000 claims description 41
- 238000012795 verification Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0876—Network 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
-
- 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/0861—Generation of secret information including derivation or calculation 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开涉及一种认证方法、服务器、***和计算机可读存储介质,涉及网络安全技术领域。该方法包括:接收用户终端发送的用户ID和用户参数;根据服务器私钥、用户公钥、生成元和用户参数,通过第一哈希运算生成服务器会话密钥;根据生成元生成服务器参数;向用户终端发送服务器参数和服务器ID,以便用户终端生成用户会话密钥,用户会话密钥与服务器会话密钥相同;接收用户终端返回的加密信息,加密信息为利用用户会话密钥加密的用户ID和服务器ID;利用服务器会话密钥解密加密信息,以获取待验证用户ID和待验证服务器ID;根据用户ID、待验证用户ID、服务器ID和待验证服务器ID对用户终端进行认证。本公开的技术方案能够提高安全性、降低***开销。
Description
技术领域
本公开涉及网络安全技术领域,特别涉及一种认证方法、认证服务器、认证***和计算机可读存储介质。
背景技术
目前收费的物联网云平台大都是基于MQTT(Message Queuing TelemetryTransport,消息队列遥测传输)协议构建。MQTT协议可以实现物联网设备的互相通信,以及这些设备与后端应用***之间通信。
在相关技术中,MQTT协议基于明文传输的协议头中的用户名和密码来认证用户。MQTT协议在传输层采用TLS(Transport Layer Security,安全传输层)协议来提高安全性。
发明内容
本公开的发明人发现上述相关技术中存在如下问题:明文传输导致安全性低,TLS握手过程中因证书查找、传递、验证会造成延迟高、计算量大,从而导致***开销大
鉴于此,本公开提出了一种认证技术方案,能够提高安全性、降低***开销。
根据本公开的一些实施例,提供了一种认证方法,包括:接收用户终端发送的用户ID和用户参数,所述用户参数根据生成元生成,所述生成元为第一子群的生成元;根据服务器私钥、用户公钥、所述生成元和所述用户参数,通过第一哈希运算生成服务器会话密钥;根据所述生成元生成服务器参数;向所述用户终端发送所述服务器参数和服务器ID,以便所述用户终端根据用户私钥、服务器公钥、所述生成元和所述服务器参数,通过第一哈希运算生成用户会话密钥,所述用户会话密钥与所述服务器会话密钥相同;接收所述用户终端返回的加密信息,所述加密信息为利用所述用户会话密钥加密的所述用户ID和所述服务器ID;利用所述服务器会话密钥解密所述加密信息,以获取待验证用户ID和待验证服务器ID;根据所述用户ID、所述待验证用户ID、所述服务器ID和所述待验证服务器ID对所述用户终端进行认证。
在一些实施例中,所述第一子群、所述生成元、所述第一哈希运算、所述服务器会话密钥的长度由密钥生成中心生成并发送给认证服务器和所述用户终端。
在一些实施例中,所述第一子群为具有双线性配对性质的超奇异椭圆曲线的子群。
在一些实施例中,根据所述用户参数生成服务器验证参数;根据所述服务器私钥和所述用户参数进行双线性映射,将映射结果作为第一双线性参数,所述双线性映射为所述第一子群与所述第一子群的群积到第二子群的映射,所述第二子群为与第一子群阶数相同的乘法群,所述双线性映射、所述第二子群、所述第二子群的阶数由密钥生成中心生成并发送给认证服务器和所述用户终端;根据所述用户公钥和所述生成元进行所述双线性映射,将映射结果作为第二双线性参数;对所述第一双线性参数、所述服务器验证参数、所述第二双线性参数进行第一哈希运算,将运算结果作为所述服务器会话密钥。
在一些实施例中,所述第一子群和第二子群为q阶子群,q为安全素数;所述服务器验证参数SR=y×X,所述用户参数X=x×P,P为所述生成元,y和x为以q为模的非0整数域中的随机数;所述第一双线性参数E1=e(Ss,X),e(.)为所述双线性映射,Ss为所述服务器私钥;所述第二双线性参数E2=e(Qc,y×Ppub),Qc为所述用户公钥,Ppub=s×P,***主密钥s是以q为模的非0整数域中的随机数,所述***主密钥由所述密钥生成中心生成并发送给所述认证服务器和所述用户终端。
在一些实施例中,所述用户会话密钥为第三双线性参数、用户验证参数、第四双线性参数的所述第一哈希运算结果,所述用户验证参数根据所述服务器参数生成,所述第三双线性参数根据所述服务器公钥和所述生成元进行所述双线性映射生成,所述第四双线性参数根据所述用户私钥和所述服务器参数进行所述双线性映射生成。
在一些实施例中,所述用户验证参数CR=x×Y,所述用户服务器参数Y=y×P,P为所述生成元,y和x为以q为模的非0整数域中的随机数;所述第三双线性参数E3=e(Qs,x×Ppub),Qs为所述服务器公钥,Ppub=s×P,***主密钥s是以q为模的非0整数域中的随机数;所述第四双线性参数E4=e(Sc,Y),e(.)为所述双线性映射,Sc为所述用户私钥。
在一些实施例中,所述用户公钥为所述用户ID的第二哈希运算结果,所述第二哈希运算由所述密钥生成中心生成并发送给认证服务器和所述用户终端,所述用户私钥为***主密钥与所述用户公钥的乘积,所述服务器公钥为所述服务器ID的所述第二哈希运算结果,所述服务器私钥为所述***主密钥与所述服务器公钥的乘积。
在一些实施例中,所述第二哈希运算为将任意长度的0、1字符串映射到所述第一子群中的非原点元素的运算。
在一些实施例中,所述第一哈希运算为将所述第二子群、所述第一子群和所述第二子群的群积映射为预设长度的0、1字符串的运算。
根据本公开的另一些实施例,提供一种认证服务器,包括:接收单元,用于接收用户终端发送的用户ID和用户参数,所述用户参数根据生成元生成,所述生成元为第一子群的生成元,还用于接收所述用户终端返回的利用用户会话密钥加密的所述用户ID和所述服务器ID;生成单元,用于根据服务器私钥、用户公钥、所述生成元和所述用户参数,通过第一哈希运算生成服务器会话密钥,还用于根据所述生成元生成服务器参数;发送单元,用于向所述用户终端发送所述服务器参数和服务器ID,以便所述用户终端根据用户私钥、服务器公钥、所述生成元和所述服务器参数,通过第一哈希运算生成所述用户会话密钥,所述用户会话密钥与所述服务器会话密钥相同;解密单元,用于利用所述服务器会话密钥解密所述加密信息,以获取待验证用户ID和待验证服务器ID;认证单元,用于根据所述用户ID、所述待验证用户ID、所述服务器ID和所述待验证服务器ID对所述用户终端进行认证。
在一些实施例中,所述第一子群、所述生成元、所述第一哈希运算、所述服务器会话密钥的长度由密钥生成中心生成并发送给认证服务器和所述用户终端。
在一些实施例中,所述第一子群为具有双线性配对性质的超奇异椭圆曲线的子群。
在一些实施例中,所述生成单元根据所述用户参数生成服务器验证参数,还用于根据所述服务器私钥和所述用户参数进行双线性映射,将映射结果作为第一双线性参数,所述双线性映射为所述第一子群与所述第一子群的群积到第二子群的映射,所述第二子群为与第一子群阶数相同的乘法群,还用于根据所述用户公钥和所述生成元进行所述双线性映射,将映射结果作为第二双线性参数,还用于对所述第一双线性参数、所述服务器验证参数、所述第二双线性参数进行第一哈希运算,将运算结果作为所述服务器会话密钥。
在一些实施例中,所述第一子群和第二子群为q阶子群,q为安全素数;所述服务器验证参数SR=y×X,所述用户参数X=x×P,P为所述生成元,y和x为以q为模的非0整数域中的随机数;所述第一双线性参数E1=e(Ss,X),e(.)为所述双线性映射,Ss为所述服务器私钥;所述第二双线性参数E2=e(Qc,y×Ppub),Qc为所述用户公钥,Ppub=s×P,***主密钥s是以q为模的非0整数域中的随机数所述***主密钥由所述密钥生成中心生成并发送给所述认证服务器和所述用户终端。
在一些实施例中,所述用户会话密钥为第三双线性参数、用户验证参数、第四双线性参数的所述第一哈希运算结果,所述用户验证参数根据所述服务器参数生成,所述第三双线性参数根据所述服务器公钥和所述生成元进行所述双线性映射生成,所述第四双线性参数根据所述用户私钥和所述服务器参数进行所述双线性映射生成。
在一些实施例中,所述用户验证参数CR=x×Y,所述用户服务器参数Y=y×P,P为所述生成元,y和x为以q为模的非0整数域中的随机数;所述第三双线性参数E3=e(Qs,x×Ppub),Qs为所述服务器公钥,Ppub=s×P,***主密钥s是以q为模的非0整数域中的随机数;所述第四双线性参数E4=e(Sc,Y),e(.)为所述双线性映射,Sc为所述用户私钥。
根据本公开的又一些实施例,提供一种认证服务器,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的认证方法。
根据本公开的再一些实施例,提供一种认证***,包括:上述任一个实施例中的认证服务器;和用户终端,用于发送用户ID和用户参数,还用于生成用户会话密钥,还用于向所述认证服务器返回用所述用户会话密钥加密的第二用户ID和所述服务器ID。
根据本公开的再一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的认证方法。
在上述实施例中,服务器和用户终端根据同一个群的生成元,结合各自的公钥和私钥生成相同的会话密钥,避免了相关技术中繁琐的密钥协商过程,从而降低了***开销;利用会话密钥对身份信息进行加密认证,提高了***的安全性。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出本公开的认证方法的一些实施例的流程图;
图2示出图1的步骤120的一些实施例的流程图;
图3示出本公开的交互过程的一些实施例的信令图;
图4示出本公开的认证服务器的一些实施例的框图;
图5示出本公开的认证***的一些实施例的框图;
图6示出本公开的认证服务器的另一些实施例的框图;
图7示出本公开的认证服务器的又一些实施例的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出本公开的认证方法的一些实施例的流程图。
如图1所示,该方法包括:步骤110,接收用户ID和用户参数;步骤120,生成服务器会话密钥;步骤130,生成服务器参数;步骤140,发送服务器参数和服务器ID;步骤150,接收加密信息;步骤160,解密加密信息;和步骤170,认证用户终端。
在步骤110中,接收用户终端发送的用户ID和用户参数,用户参数根据生成元生成,生成元为第一子群的生成元。例如,用户终端可以为物联网终端。
在一些实施例中,第一子群G1为具有双线性配对性质的超奇异椭圆曲线的子群,G1中的元素均是具有双线性配对性质的超奇异椭圆曲线上的点,如g是G1中的元素,则g可以表示为坐标为(gx,gy)的点。
例如,G1可以为q阶子群,q为安全素数,第二子群G2可以为有限域上的乘法群的q阶子群。根据相关的数学概念可知,存在一个双线性映射e(.):G1×G1→G2满足双线性:
则G1为具有双线性配对性质的超奇异椭圆曲线的子群。这样,通过G1的生成元P,可以使得认证服务器和用户终端生成相同的会话密钥,从而提高***安全性。
在一些实施例中,用户参数X=x×P,x为以q为模的非0整数域中的随机数。由于G1的生成元P是具有双线性配对性质的超奇异椭圆曲线上的点,因此X为具有横纵坐标的点。
在步骤120中,根据服务器私钥、用户公钥、生成元和用户参数,通过第一哈希运算生成服务器会话密钥。
在一些实施例中,服务器公钥为服务器ID的第二哈希运算结果,服务器私钥为***主密钥与服务器公钥的乘积。用户公钥为用户ID的第二哈希运算结果,用户私钥为***主密钥与用户公钥的乘积。例如,第二哈希运算为将任意长度的0、1字符串映射到第一子群中的非原点元素的运算,***主密钥是以q为模的非0整数域中的随机数。
这样,用户和服务器的公钥可以是身份信息(用户ID、服务器ID)或是由身份信息进行简单变换获得,不需要由证书认证中心进行验证之后才确定公钥。这样,只需要接收方的公钥及***的公开参数就能实现信息的加密传输,无需相关技术中的证书管理过程,从而提高了***效率。
在一些实施例中,第一哈希运算为将第二子群、第一子群和第二子群的群积映射为预设长度的0、1字符串的运算,即第一哈希运算H1:G2×G1×G2→{0,1}n,预设长度n是不为0的整数。
在一些实施例中,步骤120可以通过图2中的实施例实现。
图2示出图1的步骤120的一些实施例的流程图。
如图2所示,步骤120可以包括:步骤1210,生成服务器验证参数;步骤1220,生成第一双线性参数;步骤1230,生成第二双线性参数;和步骤1240,生成服务器会话密钥。
在步骤1210,根据用户参数X生成服务器验证参数。例如,服务器验证参数SR=y×X,y为以q为模的非0整数域中的随机数。
在步骤1220中,根据服务器私钥Ss和用户参数X进行双线性映射,将映射结果作为第一双线性参数。例如,第一双线性参数E1=e(Ss,X)。
在步骤1230中,根据用户公钥Qc和生成元P进行双线性映射,将映射结果作为第二双线性参数。例如,根据***主密钥s计算Ppub=s×P,则第二双线性参数E2=e(Qc,y×Ppub)。
在步骤1240中,对第一双线性参数、服务器验证参数、第二双线性参数进行第一哈希运算,将运算结果作为服务器会话密钥。例如,服务器会话密钥KS为:
KS=H1(E1,SR,E2)
生成了服务器会话密钥可以继续通过图1中的步骤130-170进行用户终端的认证。
在步骤130中,根据生成元P生成服务器参数。例如,服务器参数Y=y×P。
在步骤140中,向用户终端发送服务器参数和服务器ID,以便用户终端根据用户私钥、服务器公钥、生成元和服务器参数,通过第一哈希运算生成用户会话密钥,用户会话密钥与所述服务器会话密钥相同。
在一些实施例中,用户会话密钥KC为第三双线性参数E3、用户验证参数CR、第四双线性参数E4的第一哈希运算结果,且KC=KS。这样,可以利用双线性使得用户终端和认证服务器生成相同的会话密钥来完成密钥协商,无需繁琐地反复验证和传递,从而提高***效率。例如,用户会话密钥KC为:
KS=H1(E3,CR,E4)
在一些实施例中,用户验证参数CR根据服务器参数Y生成。例如,CR=x×Y。
在一些实施例中,第三双线性参数E3根据服务器公钥Qs和生成元P进行双线性映射生成。例如,E3=e(Qs,x×Ppub)。
在一些实施例中,第四双线性参数E4根据用户私钥Sc和服务器参数Y进行双线性映射生成。例如,E4=e(Sc,Y)。
在步骤150中,接收用户终端返回的加密信息,加密信息为利用用户会话密钥加密的用户ID和服务器ID。
在步骤160中,利用服务器会话密钥解密加密信息,以获取待验证用户ID和待验证服务器ID。
在步骤170中,根据用户ID、待验证用户ID、服务器ID和待验证服务器ID对用户终端进行认证。例如,可以验证解密后得到的待验证用户ID与之前接收到的用户ID是否相同;还可以验证解密后得到的待验证服务器ID与自身保存的服务器ID是否相同;在全都相同的情况下,通过用户终端的认证,否则不通过用户终端的认证。
在一些实施例中,密钥生成中心生成***参数:第一子群、第二子群、第一子群的阶数、双线性映射、服务器会话密钥的长度、生成元、***主密钥、第一哈希运算、第二哈希运算,并将这些***参数发送给认证服务器和用户终端。例如,可以通过私钥生成中心保存***主密钥,并将***参数发送给认证服务器和用户终端。
通过设置密钥生成中心,只需要维护密钥生成中心生成的认证所需的***参数,即可完成认证。密钥生成中心不需要时刻处于在线状态,页不需要对所有的用户公钥进行维护,从而节省了***开销,降低了成本。
为了更清楚地说明本公开的方法,下面通过图3说明本公开的交互过程的一些实施例。
图3示出本公开的交互过程的一些实施例的信令图。
如图3所示,在事件310中,密钥生成中心生成***参数,并将***参数发送给认证服务器和用户终端。
在事件320中,用户终端通过CONNECT消息将用户ID和用户参数发送给认证服务器。
在事件330中,认证服务器生成服务器会话密钥。
在事件340中,认证服务器在接收到的CONNECT消息后增加Server Key Exchange(服务器密钥交换)消息,通过增加后的CONNECT消息将服务器ID和服务器参数发送给用户终端。
在事件350中,用户终端生成用户会话密钥。
在事件360中,用户终端在接收到的CONNECT消息后增加Client Key Exchange(用户密钥交换)消息,通过增加后的CONNECT消息将利用用户会话密钥加密的用户ID和服务器ID发送给认证服务器。
在事件370中,认证服务器利用服务器会话密钥解密,并验证密钥协商是否成功。
在事件380中,认证服务器保持原CONNACK信息不变,通过Connect Return Code(连接返回码)返回用户终端的认证结果。
上述实施例中,服务器和用户终端根据同一个群的生成元,结合各自的公钥和私钥生成相同的会话密钥,避免了相关技术中繁琐的密钥协商过程,从而降低了***开销;利用会话密钥对身份信息进行加密认证,提高了***的安全性。
图4示出本公开的认证服务器的一些实施例的框图。
如图4所示,认证服务器4中包括接收单元41、生成单元42、发送单元43、解密单元44和认证单元45。
接收单元41接收用户终端发送的用户ID和用户参数。用户参数根据生成元生成。生成元为第一子群的生成元。接收单元41还用于接收用户终端返回的利用用户会话密钥加密的用户ID和服务器ID。例如,第一子群为具有双线性配对性质的超奇异椭圆曲线的子群。
生成单元42根据服务器私钥、用户公钥、生成元和用户参数,通过第一哈希运算生成服务器会话密钥。生成单元42还用于根据生成元生成服务器参数。
在一些实施例中,生成单元42根据用户参数生成服务器验证参数。例如,服务器验证参数SR=y×X。
生成单元42根据服务器私钥和用户参数进行双线性映射,将映射结果作为第一双线性参数。例如,双线性映射为第一子群与第一子群的群积到第二子群的映射。第二子群为与第一子群阶数相同的乘法群,第一子群和第二子群为q阶子群。例如,第一双线性参数E1=e(Ss,X),。
生成单元42根据用户公钥和生成元进行双线性映射,将映射结果作为第二双线性参数。例如,第二双线性参数E2=e(Qc,y×Ppub)。
生成单元42对第一双线性参数、服务器验证参数、第二双线性参数进行第一哈希运算,将运算结果作为服务器会话密钥。
发送单元43向用户终端发送服务器参数和服务器ID,以便用户终端根据用户私钥、服务器公钥、生成元和服务器参数,通过第一哈希运算生成用户会话密钥。用户会话密钥与服务器会话密钥相同。
在一些实施例中,用户会话密钥为第三双线性参数、用户验证参数、第四双线性参数的第一哈希运算结果。用户验证参数根据所述服务器参数生成。例如,用户验证参数CR=x×Y。第三双线性参数根据服务器公钥和生成元进行双线性映射生成。例如,第三双线性参数E3=e(Qs,x×Ppub)。第四双线性参数根据用户私钥和服务器参数进行双线性映射生成。例如,第四双线性参数E4=e(Sc,Y)。
解密单元44利用服务器会话密钥解密加密信息,以获取待验证用户ID和待验证服务器ID;。
认证单元45根据用户ID、待验证用户ID、服务器ID和待验证服务器ID对用户终端进行认证。
在一些实施例中,第一子群、生成元、第一哈希运算、服务器会话密钥的长度由密钥、双线性映射、第二子群、第二子群的阶数由生成中心生成并发送给认证服务器和用户终端。
上述实施例中,服务器和用户终端根据同一个群的生成元,结合各自的公钥和私钥生成相同的会话密钥,避免了相关技术中繁琐的密钥协商过程,从而降低了***开销;利用会话密钥对身份信息进行加密认证,提高了***的安全性。
图5示出本公开的认证***的一些实施例的框图。
如图5所示,认证***包括本公开中任一个实施例中的认证服务器51和用户终端52。用户终端52发送用户ID和用户参数,生成用户会话密钥,向认证服务器51返回用用户会话密钥加密的第二用户ID和服务器ID。
图6示出本公开的认证服务器的另一些实施例的框图。
如图6所示,该实施例的认证服务器6包括:存储器61以及耦接至该存储器61的处理器62,处理器62被配置为基于存储在存储器61中的指令,执行本公开中任意一个实施例中的认证方法中的一个或多个步骤。
其中,存储器61例如可以包括***存储器、固定非易失性存储介质等。***存储器例如存储有操作***、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图7示出本公开的认证服务器的又一些实施例的框图。
如图6所示,该实施例的认证服务器7包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行前述任意一个实施例中的认证方法。
存储器710例如可以包括***存储器、固定非易失性存储介质等。***存储器例如存储有操作***、应用程序、引导装载程序(Boot Loader)以及其他程序等。
认证服务器7还可以包括输入输出接口730、网络接口740、存储接口750等。这些接口730、740、750以及存储器710和处理器720之间例如可以通过总线760连接。其中,输入输出接口730为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口740为各种联网设备提供连接接口。存储接口750为SD卡、U盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的认证方法、认证服务器、认证***和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和***。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和***。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
Claims (20)
1.一种认证方法,包括:
认证服务器接收用户终端发送的用户ID和用户参数,所述用户参数根据生成元生成,所述生成元为第一子群的生成元;
认证服务器根据服务器私钥、用户公钥、所述生成元和所述用户参数,通过第一哈希运算生成服务器会话密钥;
认证服务器根据所述生成元生成服务器参数;
认证服务器向所述用户终端发送所述服务器参数和服务器ID,以便所述用户终端根据用户私钥、服务器公钥、所述生成元和所述服务器参数,通过所述第一哈希运算生成用户会话密钥,所述用户会话密钥与所述服务器会话密钥相同;
认证服务器接收所述用户终端返回的加密信息,所述加密信息为利用所述用户会话密钥加密的所述用户ID和所述服务器ID;
认证服务器利用所述服务器会话密钥解密所述加密信息,以获取待验证用户ID和待验证服务器ID;
认证服务器根据所述用户ID、所述待验证用户ID、所述服务器ID和所述待验证服务器ID对所述用户终端进行认证;
其中,所述根据所述用户ID、所述待验证用户ID、所述服务器ID和所述待验证服务器ID对所述用户终端进行认证包括:
验证解密后得到的所述待验证用户ID与之前接收到的所述用户ID是否相同;
验证解密后得到的所述待验证服务器ID与所述认证服务器保存的所述服务器ID是否相同;
在所述待验证用户ID与所述用户ID相同且所述待验证服务器ID与所述服务器ID相同的情况下,通过所述用户终端的认证。
2.根据权利要求1所述的认证方法,其中,
所述第一子群、所述生成元、所述第一哈希运算、所述服务器会话密钥的长度由密钥生成中心生成并发送给认证服务器和所述用户终端。
3.根据权利要求1所述的认证方法,其中,
所述第一子群为具有双线性配对性质的超奇异椭圆曲线的子群。
4.根据权利要求3所述的认证方法,其中,所述生成服务器会话密钥包括:
根据所述用户参数生成服务器验证参数;
根据所述服务器私钥和所述用户参数进行双线性映射,将映射结果作为第一双线性参数,所述双线性映射为所述第一子群与所述第一子群的群积到第二子群的映射,所述第二子群为与第一子群阶数相同的乘法群,所述双线性映射、所述第二子群、所述第二子群的阶数由密钥生成中心生成并发送给认证服务器和所述用户终端;
根据所述用户公钥和所述生成元进行所述双线性映射,将映射结果作为第二双线性参数;
对所述第一双线性参数、所述服务器验证参数、所述第二双线性参数进行第一哈希运算,将运算结果作为所述服务器会话密钥。
5.根据权利要求4所述的认证方法,其中,
所述第一子群和第二子群为q阶子群,q为安全素数;
所述服务器验证参数SR=y×X,所述用户参数X=x×P,P为所述生成元,y和x为以q为模的非0整数域中的随机数;
所述第一双线性参数E1=e(Ss,X),e(.)为所述双线性映射,Ss为所述服务器私钥;
所述第二双线性参数E2=e(Qc,y×Ppub),Qc为所述用户公钥,Ppub=s×P,***主密钥s是以q为模的非0整数域中的随机数,所述***主密钥由所述密钥生成中心生成并发送给所述认证服务器和所述用户终端。
6.根据权利要求4所述的认证方法,其中,
所述用户会话密钥为第三双线性参数、用户验证参数、第四双线性参数的所述第一哈希运算结果,所述用户验证参数根据所述服务器参数生成,所述第三双线性参数根据所述服务器公钥和所述生成元进行所述双线性映射生成,所述第四双线性参数根据所述用户私钥和所述服务器参数进行所述双线性映射生成。
7.根据权利要求6所述的认证方法,其中,
所述用户验证参数CR=x×Y,所述服务器参数Y=y×P,P为所述生成元,y和x为以q为模的非0整数域中的随机数;
所述第三双线性参数E3=e(Qs,x×Ppub),Qs为所述服务器公钥,Ppub=s×P,***主密钥s是以q为模的非0整数域中的随机数;
所述第四双线性参数E4=e(Sc,Y),e(.)为所述双线性映射,Sc为所述用户私钥。
8.根据权利要求1-7任一项所述的认证方法,其中,
所述用户公钥为所述用户ID的第二哈希运算结果,所述第二哈希运算由密钥生成中心生成并发送给认证服务器和所述用户终端,
所述用户私钥为***主密钥与所述用户公钥的乘积,
所述服务器公钥为所述服务器ID的所述第二哈希运算结果,
所述服务器私钥为所述***主密钥与所述服务器公钥的乘积。
9.根据权利要求8所述的认证方法,其中,
所述第二哈希运算为将任意长度的0、1字符串映射到所述第一子群中的非原点元素的运算。
10.根据权利要求4-7任一项所述的认证方法,其中,
所述第一哈希运算为将所述第二子群、所述第一子群和所述第二子群的群积映射为预设长度的0、1字符串的运算。
11.一种认证服务器,包括:
接收单元,用于接收用户终端发送的用户ID和用户参数,所述用户参数根据生成元生成,所述生成元为第一子群的生成元,还用于接收所述用户终端返回的利用用户会话密钥加密的所述用户ID和服务器ID;
生成单元,用于根据服务器私钥、用户公钥、所述生成元和所述用户参数,通过第一哈希运算生成服务器会话密钥,还用于根据所述生成元生成服务器参数;
发送单元,用于向所述用户终端发送所述服务器参数和服务器ID,以便所述用户终端根据用户私钥、服务器公钥、所述生成元和所述服务器参数,通过第一哈希运算生成所述用户会话密钥,所述用户会话密钥与所述服务器会话密钥相同;
解密单元,用于利用所述服务器会话密钥解密加密信息,以获取待验证用户ID和待验证服务器ID;
认证单元,用于根据所述用户ID、所述待验证用户ID、所述服务器ID和所述待验证服务器ID对所述用户终端进行认证;
所述认证单元验证解密后得到的所述待验证用户ID与之前接收到的所述用户ID是否相同,验证解密后得到的所述待验证服务器ID与所述认证服务器保存的所述服务器ID是否相同,在所述待验证用户ID与所述用户ID相同且所述待验证服务器ID与所述服务器ID相同的情况下,通过所述用户终端的认证。
12.根据权利要求11所述的认证服务器,其中,
所述第一子群、所述生成元、所述第一哈希运算、所述服务器会话密钥的长度由密钥生成中心生成并发送给认证服务器和所述用户终端。
13.根据权利要求11所述的认证服务器,其中,
所述第一子群为具有双线性配对性质的超奇异椭圆曲线的子群。
14.根据权利要求13所述的认证服务器,其中,
所述生成单元根据所述用户参数生成服务器验证参数,还用于根据所述服务器私钥和所述用户参数进行双线性映射,将映射结果作为第一双线性参数,所述双线性映射为所述第一子群与所述第一子群的群积到第二子群的映射,所述第二子群为与第一子群阶数相同的乘法群,所述双线性映射、所述第二子群、所述第二子群的阶数由密钥生成中心生成并发送给认证服务器和所述用户终端,还用于根据所述用户公钥和所述生成元进行所述双线性映射,将映射结果作为第二双线性参数,还用于对所述第一双线性参数、所述服务器验证参数、所述第二双线性参数进行第一哈希运算,将运算结果作为所述服务器会话密钥。
15.根据权利要求14所述的认证服务器,其中,
所述第一子群和第二子群为q阶子群,q为安全素数;
所述服务器验证参数SR=y×X,所述用户参数X=x×P,P为所述生成元,y和x为以q为模的非0整数域中的随机数;
所述第一双线性参数E1=e(Ss,X),e(.)为所述双线性映射,Ss为所述服务器私钥;
所述第二双线性参数E2=e(Qc,y×Ppub),Qc为所述用户公钥,Ppub=s×P,***主密钥s是以q为模的非0整数域中的随机数,所述***主密钥由所述密钥生成中心生成并发送给所述认证服务器和所述用户终端。
16.根据权利要求14所述的认证服务器,其中,
所述用户会话密钥为第三双线性参数、用户验证参数、第四双线性参数的所述第一哈希运算结果,所述用户验证参数根据所述服务器参数生成,所述第三双线性参数根据所述服务器公钥和所述生成元进行所述双线性映射生成,所述第四双线性参数根据所述用户私钥和所述服务器参数进行所述双线性映射生成。
17.根据权利要求16所述的认证服务器,其中,
所述用户验证参数CR=x×Y,所述服务器参数Y=y×P,P为所述生成元,y和x为以q为模的非0整数域中的随机数;
所述第三双线性参数E3=e(qs,x×Ppub),Qs为所述服务器公钥,Ppub=s×P,***主密钥s是以q为模的非0整数域中的随机数;
所述第四双线性参数E4=e(Sc,Y),e(.)为所述双线性映射,Sc为所述用户私钥。
18.一种认证服务器,包括:
存储器;和
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行权利要求1-10任一项所述的认证方法。
19.一种认证***,包括:
如权利要求11-18任一项所述的认证服务器;和
用户终端,用于发送用户ID和用户参数,还用于生成用户会话密钥,还用于向所述认证服务器返回用所述用户会话密钥加密的第二用户ID和所述服务器ID。
20.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1-10任一项所述的认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810983847.4A CN110868285B (zh) | 2018-08-28 | 2018-08-28 | 认证方法、服务器、***和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810983847.4A CN110868285B (zh) | 2018-08-28 | 2018-08-28 | 认证方法、服务器、***和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110868285A CN110868285A (zh) | 2020-03-06 |
CN110868285B true CN110868285B (zh) | 2023-05-19 |
Family
ID=69651244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810983847.4A Active CN110868285B (zh) | 2018-08-28 | 2018-08-28 | 认证方法、服务器、***和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110868285B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202792A (zh) * | 2020-09-30 | 2021-01-08 | 京东数字科技控股股份有限公司 | 客户端与服务器建立长连接的、通信方法及装置 |
CN114785490B (zh) * | 2022-03-03 | 2024-08-06 | 国网浙江省电力有限公司信息通信分公司 | 海量智能电表终端的安全通信方法及安全通信装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179380A (zh) * | 2007-11-19 | 2008-05-14 | 上海交通大学 | 一种双向认证方法、***及网络终端 |
JP2009065226A (ja) * | 2007-09-04 | 2009-03-26 | Kddi Corp | 認証付鍵交換システム、認証付鍵交換方法およびプログラム |
CN102098157A (zh) * | 2009-12-10 | 2011-06-15 | 塔塔咨询服务有限公司 | 一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的***和方法 |
CN105406961A (zh) * | 2015-11-02 | 2016-03-16 | 珠海格力电器股份有限公司 | 密钥协商方法、终端及服务器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100571820B1 (ko) * | 2003-10-20 | 2006-04-17 | 삼성전자주식회사 | 신원 정보를 기반으로 하는 암호 시스템에서의 컨퍼런스세션 키 분배 방법 |
CN101459506B (zh) * | 2007-12-14 | 2011-09-14 | 华为技术有限公司 | 密钥协商方法、用于密钥协商的***、客户端及服务器 |
JP2011199325A (ja) * | 2008-06-18 | 2011-10-06 | Nec Corp | 識別子に基づく鍵交換装置 |
GB201509499D0 (en) * | 2015-06-02 | 2015-07-15 | Certivox Ltd | Zkd |
CN105897416B (zh) * | 2016-06-29 | 2019-03-05 | 邓月霞 | 一种基于标识密码***的前向端到端安全即时通信方法 |
CN106060070B (zh) * | 2016-07-01 | 2019-05-10 | 中国人民解放军国防科学技术大学 | 基于身份密码***的tls握手协议 |
CN106209369B (zh) * | 2016-07-01 | 2019-04-12 | 中国人民解放军国防科学技术大学 | 一种基于身份密码***的通信方法 |
-
2018
- 2018-08-28 CN CN201810983847.4A patent/CN110868285B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009065226A (ja) * | 2007-09-04 | 2009-03-26 | Kddi Corp | 認証付鍵交換システム、認証付鍵交換方法およびプログラム |
CN101179380A (zh) * | 2007-11-19 | 2008-05-14 | 上海交通大学 | 一种双向认证方法、***及网络终端 |
CN102098157A (zh) * | 2009-12-10 | 2011-06-15 | 塔塔咨询服务有限公司 | 一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的***和方法 |
CN105406961A (zh) * | 2015-11-02 | 2016-03-16 | 珠海格力电器股份有限公司 | 密钥协商方法、终端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110868285A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213042B (zh) | 一种基于无证书代理重加密的云数据去重方法 | |
CN109756500B (zh) | 基于多个非对称密钥池的抗量子计算https通信方法和*** | |
CN108292402B (zh) | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 | |
US9379891B2 (en) | Method and system for ID-based encryption and decryption | |
CN106130716B (zh) | 基于认证信息的密钥交换***及方法 | |
CN110224812B (zh) | 一种基于多方安全计算的电子签名移动客户端与协同服务器通信的方法以及设备 | |
CN106341232B (zh) | 一种基于口令的匿名实体鉴别方法 | |
CN113612605A (zh) | 使用对称密码技术增强mqtt协议身份认证方法、***和设备 | |
CN113630407B (zh) | 使用对称密码技术增强mqtt协议传输安全的方法和*** | |
CN110365469B (zh) | 一种支持数据隐私保护的云存储中数据完整性验证方法 | |
CN109981292B (zh) | 一种基于sm9算法的认证方法、装置及*** | |
CN108809633B (zh) | 一种身份认证的方法、装置及*** | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN104378374A (zh) | 一种基于安全套接层建立通信的方法及*** | |
CN103414559B (zh) | 一种云计算环境下的基于类ibe***的身份认证方法 | |
US20130091362A1 (en) | Generating implicit certificates | |
US20230188325A1 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
KR20160029640A (ko) | 인증 정보 기반 키 교환 시스템 및 방법 | |
CN107864037A (zh) | Sm9联合数字签名方法和装置 | |
CN110224976A (zh) | 一种加密通信方法、装置及计算机可读存储介质 | |
CN114726546B (zh) | 数字身份认证方法、装置、设备和存储介质 | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN110690969A (zh) | 一种多方协同完成双向ssl/tls认证的方法和*** | |
CN110868285B (zh) | 认证方法、服务器、***和计算机可读存储介质 | |
CN114070549B (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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20200306 Assignee: Tianyiyun Technology Co.,Ltd. Assignor: CHINA TELECOM Corp.,Ltd. Contract record no.: X2024110000020 Denomination of invention: Authentication methods, servers, systems, and computer-readable storage media Granted publication date: 20230519 License type: Common License Record date: 20240315 |
|
EE01 | Entry into force of recordation of patent licensing contract |