CN106130716A - 基于认证信息的密钥交换***及方法 - Google Patents

基于认证信息的密钥交换***及方法 Download PDF

Info

Publication number
CN106130716A
CN106130716A CN201610220579.1A CN201610220579A CN106130716A CN 106130716 A CN106130716 A CN 106130716A CN 201610220579 A CN201610220579 A CN 201610220579A CN 106130716 A CN106130716 A CN 106130716A
Authority
CN
China
Prior art keywords
session key
server
authentication information
end side
terminal
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
Application number
CN201610220579.1A
Other languages
English (en)
Other versions
CN106130716B (zh
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.)
Samsung SDS Co Ltd
Original Assignee
Samsung SDS Co Ltd
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
Priority claimed from KR1020150062864A external-priority patent/KR101685810B1/ko
Application filed by Samsung SDS Co Ltd filed Critical Samsung SDS Co Ltd
Publication of CN106130716A publication Critical patent/CN106130716A/zh
Application granted granted Critical
Publication of CN106130716B publication Critical patent/CN106130716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开一种基于认证信息的密钥交换***及方法。根据本发明的一实施例的基于用户认证信息的密钥交换***包括:终端,利用终端侧随机数以及服务器识别信息而生成与所述终端用户的认证信息对应的密文;服务器,利用与所述服务器识别信息对应的服务器端私钥而对从所述终端接收到的所述密文进行解密而还原所述认证信息,且利用被还原的所述认证信息而认证所述终端,并生成与经认证的所述终端对应的服务器端会话密钥。

Description

基于认证信息的密钥交换***及方法
技术领域
本发明涉及一种网络上的安全技术。
背景技术
基于认证信息的密钥交换协议(PAKE:Password Authenticated KeyExchange)是指参与到通信的两个以上的主体基于其中的一个以上的主体所知道的密码来共享用于加密的通信的密钥的过程。PAKE可以根据其实现方式而被分为基于公开密钥认证书的PAKE以及基于非公开密钥认证书的PAKE。
对基于公开密钥认证书的PAKE的情况而言,为了交换密钥而始终需要执行认证公开密钥的步骤。尤其,对非公开密钥认证书的PAKE(相关标准:IEEEP1363.2以及ISO/IEC 11770-4)的情况而言,其以通过将密码直接取幂而存储的认证者(verifier)构成方式构成,从而会发生难以进行现有***的迁移(migration)以及参数(parameter)更新的问题。此外,对该方式的情况而言,需要将密码直接与组参数(group parameter)结合,因此存在一种为了响应离线分析而需要相对较多的实时计算量、并且难以灵活地更换消息流的问题。
发明内容
本发明的实施例通过在基于认证信息的密钥交换协议中采用基于身份(ID)的加密技术,从而提供一种同时具备基于公开密钥认证书的PAKE以及基于非公开认证书的PAKE的优点的有效的认证及密钥交换协议。
此外,本发明的实施例用于使认证以及密钥交换过程所需要的通信次数最少化。
根据一个示例性实施例,提供一种基于用户认证信息的密钥交换***,包括:终端,利用终端侧随机数以及服务器识别信息而生成与用户的认证信息对应的密文;服务器,利用与所述服务器识别信息对应的服务器端私钥而对从所述终端接收到的所述密文进行解密而还原所述认证信息,且利用被还原的所述认证信息而认证所述终端,并生成与经认证的所述终端对应的服务器端会话密钥。
所述终端可由所述终端侧随机数来计算第一会话密钥元素,并由所述服务器识别信息以及所述终端侧随机数来生成终端侧加密元素,并将所述认证信息与所述终端侧加密元素进行结合而生成加密字符串。
所述终端侧加密元素可通过下述的数学式而计算:
D=(H(IDs))x
其中,D是终端侧加密元素,IDs是服务器识别信息,x是终端侧随机数,H是单向哈希值。
所述加密字符串可由所述认证信息与所述终端侧加密元素的异或逻辑运算(XOR)方式计算。
所述服务器可从所述终端接收包含所述第一会话密钥元素以及所述加密字符串的密文,并由所述服务器端私钥以及所述第一会话密钥元素计算服务器端加密元素,并利用所述服务器端加密元素而从所述加密字符串还原所述认证信息。
所述服务器端加密元素可由如下的数学式来计算:
D'=XKs
其中,D'是服务器端加密元素,X是第一会话密钥元素,Ks是服务器端私钥。
所述认证信息可通过接收到的所述加密字符串与所述服务器端加密元素之间的异或逻辑运算而被还原。
所述服务器可根据被还原的所述认证信息与已存储到所述服务器的所述终端的认证信息的同一性与否而认证所述终端。
所述服务器端会话密钥可以是字符串的哈希值,该字符串可包括客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素以及所述服务器端加密元素中的一个以上。
所述终端可生成终端侧会话密钥,该终端侧会话密钥可由字符串的哈希值来构成,该字符串可包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素以及所述终端侧加密元素中的一个以上。
所述服务器在所述终端得到认证的情况下可向所述终端发送随机消息,所述服务器端会话密钥以及所述终端侧会话密钥以额外包含所述随机消息的方式生成。
所述服务器在所述终端得到认证的情况下可由服务器端随机数计算第二会话密钥元素,并由所述服务器端随机数以及所述第一会话密钥元素生成服务器端第三会话密钥元素。
所述服务器端第三会话密钥元素可通过将所述第一会话密钥元素作为底数并将所述服务器端随机数作为指数并进行幂乘而被计算出。
所述终端可从所述服务器接收所述第二会话密钥元素,并由此生成终端侧第三会话密钥元素以及终端侧会话密钥。
所述终端侧第三会话密钥元素可通过将所述第二会话密钥元素作为底数并将所述终端侧随机数作为指数并进行幂乘而被计算出。
所述终端侧会话密钥(sk)可以是字符串的哈希值,该字符串可包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素、所述第二会话密钥元素、所述终端侧加密元素以及所述终端侧第三会话密钥元素中的一个以上。
所述服务器端会话密钥可以是字符串的哈希值,该字符串可包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素、所述第二会话密钥元素、所述服务器端加密元素以及所述服务器端第三会话密钥元素中的一个以上。
根据另一示例性实施例,提供一种基于用户认证信息的密钥交换方法,包括如下的步骤:在终端中,利用终端侧随机数以及服务器识别信息而生成与用户的认证信息对应的密文;在服务器中,利用与所述服务器识别信息对应的服务器端私钥而对从所述终端接收到的所述密文进行解密而还原所述认证信息;在所述服务器中,利用被还原的所述认证信息而认证所述终端;在所述终端得到认证的情况下,生成与经认证的所述终端对应的服务器端会话密钥。
生成所述密文的步骤还可以包括如下的步骤:由所述终端侧随机数来计算第一会话密钥元素;由所述服务器识别信息以及所述终端侧随机数来生成终端侧加密元素;将所述认证信息与所述终端侧加密元素进行结合而生成加密字符串。
所述终端侧加密元素可通过下述的数学式而计算:
D=(H(IDs))x
其中,D是终端侧加密元素,IDs是服务器识别信息,x是终端侧随机数,H是单向哈希值。
所述加密字符串可由所述认证信息与所述终端侧加密元素的异或逻辑运算方式计算。
还原所述认证信息的步骤可包括如下的步骤:从所述终端接收包含所述第一会话密钥元素以及所述加密字符串的密文;由所述服务器端私钥以及所述第一会话密钥元素计算服务器端加密元素;利用所述服务器端加密元素而从所述加密字符串还原所述认证信息。
所述服务器端加密元素可由如下的数学式来计算:
D'=XKs
其中,D'是服务器端加密元素,X是第一会话密钥元素,Ks是服务器端私钥。
从所述加密字符串还原所述认证信息的步骤以如下方式构成:通过接收到的所述加密字符串与所述服务器端加密元素之间的异或逻辑运算而还原所述认证信息。
在所述认证的步骤中,可根据被还原的所述认证信息与已存储到所述服务器的所述终端的认证信息的同一性与否而认证所述终端。
所述服务器端会话密钥可以是字符串的哈希值,该字符串可包括客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素以及所述服务器端加密元素中的一个以上。
所述终端可生成终端侧会话密钥,该终端侧会话密钥可由字符串的哈希值来构成,该字符串可包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素以及所述终端侧加密元素中的一个以上。
所述服务器在所述终端得到认证的情况下可向所述终端发送随机消息,所述服务器端会话密钥以及所述终端侧会话密钥以额外包含所述随机消息的方式生成。
生成所述服务器端会话密钥的步骤还可以包括如下的步骤:由服务器端随机数计算第二会话密钥元素;由所述服务器端随机数以及所述第一会话密钥元素生成服务器端第三会话密钥元素。
所述服务器端第三会话密钥元素可通过将所述第一会话密钥元素作为底数并将所述服务器端随机数作为指数并进行幂乘而被计算出。
所述终端可从所述服务器接收所述第二会话密钥元素,并由此生成终端侧第三会话密钥元素以及终端侧会话密钥。
所述终端侧第三会话密钥元素可通过将所述第二会话密钥元素作为底数并将所述终端侧随机数作为指数并进行幂乘而被计算出。
所述终端侧会话密钥可以是字符串的哈希值,该字符串可包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素、所述第二会话密钥元素、所述终端侧加密元素以及所述终端侧第三会话密钥元素中的一个以上。
所述服务器端会话密钥(sk′)可以是字符串的哈希值,该字符串可包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素、所述第二会话密钥元素、所述服务器端加密元素以及所述服务器端第三会话密钥元素中的一个以上。
根据又一示例性实施例,提供一种存储于介质中的计算机程序,用于与硬件结合而用于执行包含如下步骤的方法:利用终端侧随机数以及服务器识别信息而生成与用户的认证信息对应的密文;利用与所述服务器识别信息对应的服务器端私钥而对从所述终端接收到的所述密文进行解密而还原所述认证信息;利用被还原的所述认证信息而认证所述终端;在所述终端得到认证的情况下,生成与经认证的所述终端对应的服务器端会话密钥。
根据本发明的实施例,可以利用所述用户的认证信息而有效、安全地认证终端,尤其可以在初期在服务器中执行针对终端的认证,从而能够更为有效地对抗DDoS(分布式拒绝服务:Distributed Denial of Service)攻击等。
此外,根据本发明的实施例,可以将终端的认证以及会话密钥(SessionKey)生成过程所需要的通信次数最大限度地降低至1-pass(通)或者2-pass,从而可以使认证过程中的流量(traffic)负担最小化。
附图说明
图1是用于说明根据本发明的第一实施例的基于认证信息的认证***的模块图。
图2是用于说明根据本发明的第一实施例的基于认证信息的认证算法的全部步骤的流程图。
图3是用于详细地说明根据本发明的第一实施例的基于认证信息的认证算法的认证以及密钥交换过程的流程图。
图4是用于说明根据本发明的第二实施例的基于认证信息的认证***的模块图。
图5是用于说明根据本发明的第二实施例的基于认证信息的认证算法的全部步骤的流程图。
图6是用于详细地说明根据本发明的第二实施例的基于认证信息的认证算法的认证以及密钥交换过程的流程图。
图7是用于详细地说明根据本发明的第三实施例的基于认证信息的认证算法的认证以及密钥交换过程的流程图。
符号说明
100、400:基于用户认证信息的密钥交换***
102、402:终端
104、404:服务器
106、406:密钥分发装置
具体实施方式
以下,参考附图而对本发明的具体实施方式进行说明。然而,这仅仅是示例,本发明并不局限于此。
在对本发明的实施例进行说明的过程中,如果认为对有关本发明的公知技术的具体说明有可能对本发明的主旨造成不必要的混乱,则省略其详细说明。另外,后述的术语均为考虑到本发明中的功能而定义的,其可能因使用者、运用者的意图或惯例等而不同。因此,需要以贯穿整个说明书的内容为基础而对其进行定义。
本发明的技术思想由权利要求书的范围来确定,以下的实施例仅仅是用于对本发明所属的技术领域中具有基本知识的人有效地说明本发明的技术思想的一手段。
图1是用于说明根据本发明的第一实施例的基于认证信息的认证***100的模块图。如图所示,根据本发明的一实施例的基于认证信息的认证***100包含终端102、服务器104以及密钥分发装置106。
终端102选择终端侧的随机数(x),并利用所述终端侧的随机数(x)以及服务器端的识别信息(IDs)而生成终端102用户的认证信息所对应的密文(X、W)。在本发明的实施例中,服务器104的识别信息(IDs)是为了在网络上识别服务器104而赋予的信息,例如,其可以是服务器104的MAC地址、IP地址或者服务器104的认证书等。此外,终端102的用户的认证信息可以包括用户的密码、指纹信息等认证所述用户时所需要的所有种类的信息。
当生成密文(X、W)时,终端102将密文(X、W)发送到服务器104而请求认证。
服务器104存储并管理终端102用户的认证信息。此时,所述认证信息可以包括所述用户的密码、指纹信息等认证所述用户时所需要的所有的信息。在一实施例中,所述终端102可以设置用户的识别信息(IDc)以及密码(pw),并将其注册到服务器104。在一实施例中,客户端识别信息(IDc)可以是终端102用户的身份(ID)或者认证书等。
终端102的用户可以直接注册所述密码(pw),然而为了提高安全性,还可以由利用所述密码的单向哈希值(H(pw))或者独立的硬件安全模块(HSM)而计算出的MAC(message authentication code)值(MACk(pw))来代替密码(pw)而进行注册。在以下的说明中,为了方便说明,假设所述认证信息为密码的单向哈希值(H(pw))。
服务器104利用对应于服务器识别信息(IDs)的服务器端私钥(Ks)而对从所述终端接收到的所述密文(X、W)进行解密,从而还原所述用户的认证信息,并将被还原的所述认证信息与已注册到服务器104的认证信息进行比较而认证终端102。即,服务器104可通过从终端102接收到的密文(X、W)所包含的终端的认证信息而直接认证终端。此外,所述密文(X、W)的解密过程仅可在服务器104中执行,因此在所述认证过程中,终端102也将会间接地认证(implicit authentication)服务器104。
在成功认证终端102的情况下,服务器104生成用于与终端102进行通信的会话密钥(sk)。此外,在此过程中,服务器104可以选择随机数(y),将由随机数(y)生成的第二会话密钥元素(Y)发送到终端102,接收到该第二会话密钥元素(Y)的终端102可以利用在所述第二会话密钥元素(Y)以及认证过程中用到的信息而生成与服务器相同的会话密钥(sk)。
密钥分发装置(Private Key Generator)106从服务器104接收服务器端的识别信息(IDs),并分发对应于服务器识别信息(IDs)的服务器端私钥(Ks)。被存储的所述服务器端私钥(Ks)在后续的认证过程中被用于对从终端102接收到的密文(X、W)进行解密。
在一实施例中,密钥分发装置106可以基于预设定的***参数和自身的主密钥(Master Key)、以及对应于陷门离散对数(Trapdoor discrete logarithm)群的预先计算的数据来计算与所述服务器识别信息(IDs)对应的服务器端私钥(Ks)。具体的服务器端私钥(Ks)生成方法将会在下述的部分中进行说明。
以下,对具有上述的构成的基于验证信息的验证***100中的具体的验证方法进行说明。如图2所示,根据本发明的第一实施例的基于验证信息的验证方法200被划分为设置步骤(Setup,202)、服务器端私钥的分发步骤(Keyextract,204)、以及密钥交换步骤(Key Exchange,206)这三个步骤。其中,在设置步骤(202)中,对***全部的构成要素做出定义;在私钥分发步骤(204)中,根据服务器104的请求而在密钥分发装置106中基于主密钥来生成对应于识别信息(IDs)的服务器端私钥(Ks)。在密钥交换步骤(206)中,将会执行终端102以及服务器104之间的认证,并由此生成会话密钥(sk)。
设置(202)
设置步骤是对用于终端102和服务器104之间的认证以及密钥交换的参数以及主密钥做出定义的步骤。
首先,由两个质数p、q计算N=pq,其中p和q分别满足p≡3(mod 4)、q≡3(mod 4),而且是B-平滑(B smooth)的两个大小差不多的、较大的质数。此时,p、q满足给定的稳定参数所对应的安全强度(security level),并且是密码学角度上安全的质数。安全性参数意味着决定针对加密算法的基本攻击时间和费用的算法的要素。此时,基本攻击意味着发现满足给定的数据(明文和密文)的密钥为止搜索所有可行的候选密钥的、穷举搜索(ExhaustiveSearch)方式的攻击。穷举搜索所消耗的时间取决于可行的密钥的个数,而密钥的个数由密钥的长度来确定,因此在本情况下,参数意味着密钥的长度。此外,B值可以根据所述安全强度而适当地设定。
之后,对哈希函数H以及随机哈希函数h做出定义。假设有限的群ZN={0,1,2,...,N-1}的最大循环子群(maximal cyclic subgroup)的生成源(generator)为之后,如果将以生成源的方式生成的循环部分群定义为G,则哈希函数可以由此获得如同以下的数学式1的定义。
[数学式1]
H:{0,1}*→G
(其中,{0,1}*是由0和1构成的任意的有限位串)
即,所述哈希函数H以如下方式得到定义:在将给定的身份作为输入值时,将其输出值作为群G的元素。例如,在存在如下的随机哈希函数h':{0,1}*→Zn的情况下,哈希函数H可以如下述的数学式2地得到定义。
[数学式2]
H(ID)=h'(ID)2
此外,哈希函数h可以如下数学式3地得到定义。
[数学式3]
h:{0,1}*→{0,1}n
(其中,{0,1}n表示由0或者1中的任意的位(bit)构成的n位字符串)
所述随机哈希函数例如可以使用SHA1、SHA-256、SHA-512等,然而本发明并不局限于特定的函数。
通过上述的过程而被导出的***参数(param)以及主密钥(mk)如下。
param={N,G,g,H,h}
mk=(p,q)
服务器端私钥的分发(204)
本步骤是在密钥分发装置106中,基于从服务器104接收的服务器识别信息(IDs)来分发私钥(Ks)的步骤。密钥分发装置106可以基于预设定的***参数和自身的主密钥(Master Key)、以及对应于陷门离散对数(Trapdoordiscrete logarithm:TDL)群的预先计算的数据来计算与给定的身份对应的私钥(Ks)。尽管在密码学角度上不可能进行离散对数的计算,然而如果知道陷门(Trapdoor),则存在能够容易地计算离散对数值的群,而该群被称为陷门离散对数群。在本发明中,利用如上所述的陷门离散对数群的特性而计算各个身份所对应的私钥。即,所述私钥生成者例如以表(table)等形式来存储预先计算的数据,并利用所接收的身份和存储于所述表的预先计算的数据而计算与接收到的身份对应的私钥,其中,所述预先计算的数据是针对所述主密钥和所述陷门离散对数群所对应的各个值而预先计算的数据。例如,如下述的数学式4,密钥分发装置106可以计算服务器端私钥(Ks)。
[数学式4]
Ks=logg(H(IDs))
如上所述地计算出的所述私钥(Ks)可以通过安全的通道而被发送到服务器104。
认证以及密钥交换(206)
本步骤是执行终端102和服务器104之间的认证并生成会话密钥(sk)的步骤。
图3是用于详细地说明根据本发明的第一实施例的基于认证信息的认证算法的认证以及密钥交换过程(206)的流程图。
在302步骤中,终端102可以根据在所述202步骤中得到定义的***参数而从ZN中选择任意的终端侧随机数(random number)x。
在304步骤中,终端102由所述终端侧随机数x计算第一会话密钥元素(X)(302)。此时,所述第一会话密钥元素(X)可以通过由如下的数学式5来计算而得到。
[数学式5]
X=gx
(其中,g是所述循环部分群G的生成源,N是满足N=pq的整数,p以及q分别是满足p≡3(mod 4)、q≡3(mod 4)的质数)
在306步骤中,终端102利用服务器识别信息(IDs)而生成密文(X、W)。此时,所述密文(X、W)表示对终端102用户的验证信息进行加密的值。此外,在所述密文(X、W)中,除了所述验证信息以外还可以额外地包含生成会话密钥时所需要的值(例如,gx等)。具体的密文(X、W)生成过程如下。
首先,如下述的数学式6,终端102利用所述服务器识别信息(IDs)以及终端侧随机数(x)而生成终端侧加密元素(D)。
[数学式6]
D=(H(IDs))x
(其中,D是终端侧加密元素,IDs是服务器识别信息,x是终端侧随机数,H是单向哈希值)
之后,终端102将认证信息和终端侧加密元素(D)结合而生成加密字符串(W)。当假设所述认证信息为单向哈希值(H(pw))时,如下述的数学式7,加密字符串(W)可以由认证信息以及终端侧加密元素(D)的异或(XOR)方式计算而得到。
[数学式7]
W=D XOR H(pw)
在308步骤中,终端102可以将客户端识别信息(IDc)连同包含第一会话密钥元素(X)以及加密字符串(W)的密文(X、W)一起发送到服务器104。
在310步骤中,服务器104利用服务器端私钥(Ks)而解密接收到的密文(X、W)。具体而言,如下述的计算数学式8,服务器104利用服务器端私钥(Ks)以及第一会话密钥元素(X)而计算服务器端加密元素(D')。
[数学式8]
D'=XKs
(其中,D'是服务器端加密元素,X是第一会话密钥元素,Ks是服务器端私钥)
在此情况下,如果所述服务器端私钥(Ks)是正常地由服务器识别信息(IDs)生成的私钥,则服务器端加密元素(D')将会成为与终端侧加密元素(D)相同的值。
之后,服务器104利用服务器端加密元素(D')而从加密字符串(W)还原认证信息。其可以被表示为一个如数学式9的公式。
[数学式9]
H'(pw)=W XOR D'
即,所述认证信息可以通过接收到的加密字符串(W)以及所述服务器端加密元素(D')之间的异或逻辑运算(XOR)而被还原。
在312步骤中,服务器104根据被还原的所述认证信息(H'(pw))以及已存储到所述服务器的终端102的认证信息(H(pw))的同一性与否而认证终端102。如果H'(pw)与H(pw)相同,则服务器104可以判断为终端102已得到认证,如果两者不相同,则服务器104判断为其没有得到认证。
此外,如上所述,在服务器104端不具有对应于服务器识别信息(IDs)的正确的私钥(Ks)的情况下,310步骤不能被正常地执行。因此,根据所述认证的结果值,终端102也可以间接认证服务器104。
在314步骤中,服务器104根据在所述202步骤中得到定义的***参数而从ZN中选择任意的服务器端随机数(random number)。
在316步骤中,服务器104由所述服务器端随机数(y)计算第二会话密钥元素(Y)。所述第二会话密钥元素(Y)可以通过下述的数学式10计算而得到。
[数学式10]
Y=gy
(其中,g是所述循环子群G的生成源,N是满足N=pq的整数,p以及q分别是满足p≡3(mod 4)、q≡3(mod 4)的质数)
在318步骤中,服务器104将生成的所述第二会话密钥元素(Y)发送到终端102。
在320步骤中,服务器104利用在上一个步骤中生成或者被交换的信息而生成服务器端会话密钥(sk')。
具体而言,如数学式11,服务器104由服务器端随机数(y)以及第一会话密钥元素(X)来生成第三密钥元素(Z')。
[数学式11]
Z'=Xy
之后,服务器104通过将字符串散列化而生成服务器端会话密钥(sk'),其中,字符串包含客户端识别信息(IDc)、服务器识别信息(IDs)、加密字符串(W)、会话密钥元素(X)、第二会话密钥元素(Y)、服务器端加密元素(D')以及服务器端第三会话密钥(Z')中的一个以上。例如,服务器端会话密钥(sk')可以由如下的数学式12来生成。
[数学式12]
sk'=H(IDc,IDs,W,X,Y,D',Z')
此外,在322步骤中,终端102还利用上一个步骤中所生成或者被交换的信息而生成终端侧会话密钥(sk)。
具体而言,如数学式13,终端102由终端侧随机数(x)以及第二会话密钥元素(Y)来生成终端侧第三会话密钥元素(Z)。
[数学式13]
Z=Yx
此时,所述终端侧密钥(Z)与服务器端第三会话密钥元素(Z')相同。
之后,终端102对包含客户端识别信息(IDc)、服务器识别信息(IDs)、加密字符串(W)、第一会话密钥元素(X)、第二回话密钥元素(Y)、终端侧加密元素(D)以及终端侧第三会话密钥元素(Z)中的一个以上的字符串进行散列化(hashing)而生成终端侧会话密钥(sk)。例如,终端侧会话密钥(sk)可以通过下述的数学式14而生成。
[数学式14]
sk=H(IDc,IDs,W,X,Y,D,Z)
如上所述,终端侧加密元素(D)以及终端侧第三会话密钥元素(Z)分别与服务器端加密元素(D')以及服务器端第三密钥元素(Z')相同,因此,终端侧会话密钥(sk)和服务器端会话密钥(sk')也相同。即,通过如上所述的过程,终端102和服务器能够不直接收发密钥而共享用于两者之间的安全的通信的会话密钥。
图4是用于说明根据本发明的第二实施例的基于认证信息的认证***400的模块图。如图所示,根据本发明的一实施例的基于认证信息的认证***400包含终端402、服务器404以及密钥分发装置406。
终端402选择终端侧随机数(x),并利用终端侧随机数(x)以及服务器识别信息(IDs)而生成终端402用户的认证信息所对应的密文(X、W)。在本发明的实施例中,服务器404的识别信息(IDs)例如可以是服务器404的MAC地址、IP地址或者服务器104的认证书等。此外,终端402的用户的认证信息可以包括用户的密码、指纹信息等认证所述用户时所需要的所有类型的信息。
当生成密文(X、W)时,终端402将密文(X、W)发送到服务器104而请求认证。
服务器404存储并管理终端402用户的认证信息。此时,所述认证信息可以包括所述用户的密码、指纹信息等认证所述用户时所需要的所有的信息。在一实施例中,所述终端402可以设置用户的识别信息(IDc)以及密码(pw),并将其注册到服务器404。在一实施例中,客户端识别信息(IDc)可以是终端402用户的身份(ID)或者认证书等。
终端402的用户可以直接注册所述密码(pw),然而为了提高安全性,还可以将利用所述密码的单向哈希值(H(pw))或者独立的硬件安全模块(HSM)而计算出的MAC(message authentication code)值(MACk(pw))代替密码(pw)而进行注册。在以下的说明中,为了方便说明,假设所述认证信息为密码的单向哈希值(H(pw))。
服务器404由对应于服务器识别信息(IDs)的服务器端私钥(Ks)而对从所述终端接收到的所述密文(X、W)进行解密,从而还原所述用户的认证信息,并将被还原的所述认证信息与已注册到服务器404的认证信息进行比较而认证终端402。即,服务器404可以将从终端402接收的密文(X、W)所包含的终端的认证信息而直接认证终端。此外,所述密文(X、W)的解密过程仅可在服务器404中执行,因此在所述认证过程中,终端402也将会间接地认证(implicit authentication)服务器404。
在成功认证终端402的情况下,服务器404生成用于与终端402进行通信的会话密钥(sk)。
密钥分发装置(Private Key Generator)406从服务器404接收服务器端的识别信息(IDs),并分发对应于服务器识别信息(IDs)的服务器端私钥(Ks)。被存储的所述服务器端私钥(Ks)在后续的认证过程中被用于对从终端402接收的密文(X、W)进行解密。
在一实施例中,密钥分发装置406可以基于预设定的***参数和自身的主密钥(Master Key)、以及对应于陷门离散对数(Trapdoor discrete logarithm)群的预先计算的数据来计算与所述服务器识别信息(IDs)对应的服务器端私钥(Ks)。对具体的服务器端私钥(Ks)生成方法将会在下述的部分阐述。
以下,对具有上述的构成的基于验证信息的验证***400中的具体的验证方法进行说明。如图5所示,根据本发明的第二实施例的基于验证信息的验证方法(500)被划分为设置步骤(Setup,502)、服务器端私钥的分发步骤(Key extract,504)、以及密钥交换步骤(Key Exchange,506)的三个步骤。其中,在设置步骤(502)中,对***全部的构成要素做出定义;在私钥分发步骤(504)中,根据服务器404的请求而在密钥分发装置406中基于主密钥来生成对应于识别信息(IDs)的服务器端私钥(Ks)。在密钥交换步骤(506)中,执行终端402与服务器404之间的认证,并由此生成会话密钥(sk)。
上述的过程中,设置步骤(502)以及私钥分发步骤(504)实质上与上述的第一实施例中的设置步骤(202)以及私钥分发步骤(204)相同,因此,在此省略对其进行的说明。
认证以及密钥交换步骤(506)是执行终端402和服务器404之间的认证并生成会话密钥(sk)的步骤。图6是用于说明根据本发明的第二实施例的认证以及密钥交换过程(506)的流程图。
在602步骤中,终端402可以根据在所述502步骤中得到定义的***参数而从ZN中选择任意的终端侧随机数(random number)x。
在604步骤中,终端402由所述终端侧随机数x计算第一会话密钥元素(X)。此时,所述第一会话密钥元素(X)可以通过由如下的数学式15来计算而得到。
[数学式15]
X=gx
(其中,g是所述循环部分群G的生成源,N是满足N=pq的整数,p以及q分别是满足p≡3(mod 4)、q≡3(mod 4)的质数)
在606步骤中,终端402利用服务器识别信息(IDs)而生成密文(X、W)。此时,所述密文(X、W)意味着对终端402用户的验证信息进行加密的值。此外,在所述密文(X、W)中,除了所述验证信息以外还可以额外地包含生成会话密钥时所需要的值(例如,gx等)。具体的密文(X、W)生成过程如下。
首先,如下述的数学式16,终端402利用所述服务器识别信息(IDs)以及终端侧随机数(x)而生成终端侧加密元素(D)。
[数学式16]
D=(H(IDS))x
(其中,D是终端侧加密元素,IDs是服务器识别信息,x是终端侧随机数,H是单向哈希值)
之后,终端402将认证信息和终端侧加密元素(D)结合而生成加密字符串(W)。当假设所述认证信息为单向哈希值(H(pw))时,如下述的数学式17,加密字符串(W)可以由认证信息以及终端侧加密元素(D)的异或逻辑运算(XOR)方式计算而得到。
[数学式17]
W=D XOR H(pw)
在608步骤中,终端402可以与客户端识别信息(IDc)一起将包含第一会话密钥元素(X)以及加密字符串(W)的密文(X、W)发送到服务器104。
在610步骤中,服务器404利用服务器端私钥(Ks)而解密接收到的密文(X、W)。具体而言,如下述的计算数学式18,服务器404利用服务器端私钥(Ks)以及第一会话密钥元素(X)而计算服务器端加密元素(D')。
[数学式18]
D'=XKs
(其中,D'是服务器端加密元素,X是第一会话密钥元素,Ks是服务器端私钥)
在此情况下,如果所述服务器端私钥(Ks)是正常地由服务器识别信息(IDs)生成的私钥,则服务器端加密元素(D')将会成为与终端侧加密元素(D)相同的值。
之后,服务器404利用服务器端加密元素(D')而从加密字符串(W)还原认证信息。其可以被表示为一个如数学式19的公式。
[数学式19]
H'(pw)=W XOR D'
即,所述认证信息可以通过接收到的加密字符串(W)以及所述服务器端加密元素(D')之间的异或逻辑运算(XOR)而被还原。
在612步骤中,服务器404根据被还原的所述认证信息(H'(pw))以及已存储到所述服务器的终端402的认证信息(H(pw))的同一性与否而认证终端402。如果H'(pw)与H(pw)相同,则服务器404可以判断为终端402已得到认证,如果两者不相同,则服务器404判断为其没有得到认证。
此外,如上所述,在服务器404端不具有对应于服务器识别信息(IDs)的正确的私钥(Ks)的情况下,310步骤不能被正常地执行。因此,根据所述认证的结果值,终端402还可以间接认证服务器404。
在614步骤中,服务器404利用在上一个步骤中生成或者被交换的信息而生成服务器端会话密钥(sk')。
具体而言,服务器404通过将字符串散列化而生成服务器端会话密钥(sk'),其中,字符串包含客户端识别信息(IDc)、服务器识别信息(IDs)、加密字符串(W)、会话密钥元素(X)以及服务器端加密元素(D')中的一个以上。例如,服务器端会话密钥(sk')可以由如下的数学式20来生成。
[数学式20]
sk'=H(IDc,IDs,W,X,D')
此外,在616步骤中,终端402还利用上一个步骤中所生成或者被交换的信息而生成终端侧会话密钥(sk)。
具体而言,终端402通过将字符串散列化而生成服务器端会话密钥(sk),其中,字符串包含客户端识别信息(IDc)、服务器识别信息(IDs)、加密字符串(W)、会话密钥元素(X)以及终端侧加密元素(D)中的一个以上。例如,终端侧会话密钥(sk)可以由如下的数学式21来生成。
[数学式21]
sk=H(IDc,IDs,W,X,D)
如上所述,终端侧加密元素(D)与服务器端加密元素(D')相同,因此终端侧会话密钥(sk)与服务器端会话密钥(sk')也相同。即,通过如上所述的过程,终端402和服务器404可以不直接收发密钥而共享用于执行两者之间的安全的通信的会话密钥。此外,对根据本实施例的情况而言,能够仅通过终端402和服务器404之间的一次性消息收发(1-pass)而交换密钥,因此可以有效地减少用于密钥交换的消息收发回收。
图7是用于详细地说明根据本发明的第三实施例的认证以及密钥交换过程506的流程图。在所示出的流程图中,以与图6相同的识别符标记的602至612步骤与如上所述的第二实施例相同,因此,在此省去对其的说明。
对本实施例的情况而言,当在612步骤中完成终端402的认证时,在终端702中,服务器404可以通过终端402发送随机消息(rs)。所述随机消息(rs)用于会话密钥的生成。即,对于本实施例的情况而言,可以通过随机消息(rs)的发送而将基于1-pass的协议扩展为基于2-pass的协议。
在704步骤中,服务器404利用在上一步骤中生成或者交换的信息而生成服务器端会话密钥(sk')。
具体而言,服务器404通过将字符串散列化而生成服务器端会话密钥(sk'),其中,字符串包含客户端识别信息(IDc)、服务器识别信息(IDs)、加密字符串(W)、会话密钥元素(X)以及服务器端加密元素(D')中的一个以上。例如,服务器端会话密钥(sk')可以由如下的数学式22来生成。
[数学式22]
sk'=H(IDc,IDs,W,X,rs,D')
此外,在706步骤中,终端402还利用在上一步骤中交换的信息而生成终端侧会话密钥(sk)。
具体而言,终端402通过将字符串散列化而生成服务器端会话密钥(sk),其中,字符串包含客户端识别信息(IDc)、服务器识别信息(IDs)、加密字符串(W)、会话密钥元素(X)、随机消息rs以及终端侧加密元素(D)中的一个以上。例如,终端侧会话密钥(sk)可以由如下的数学式23来生成。
[数学式23]
sk=H(IDc,IDs,W,X,rs,D)
如上所述,终端侧加密元素(D)与服务器端加密元素(D')相同,因此终端侧会话密钥(sk)与服务器端会话密钥(sk')也相同。即,通过如上所述的过程,终端402和服务器404可以不直接收发密钥而共享用于执行两者之间的安全的通信的会话密钥。
另外,本发明的一实施例可以包括计算机可读记录介质,其包括用于在计算机上执行本说明书中记载的方法的程序。所述计算机可读记录介质可以单独地或者组合地包括程序命令、本地数据文件、本地数据结构等。所述介质可以是为本发明而特别地设计并构成的介质,或者是在计算机软件领域中通常被使用的介质。计算机可解码记录介质的示例包括:磁介质,如硬盘、软盘以及磁带等;光记录介质,如CD-ROM、DVD等;磁-光介质,软盘等;以及ROM、RAM、闪存等为了储存命令并执行程序命令而特别构成的硬件装置。作为程序命令的例,不仅包括如利用编译器制作的计算机语音代码,还可以包括可利用翻译器等由计算机执行的高级语言代码。
以上,对本发明的具有代表性的实施例进行了详细的说明,然而在本发明所属的技术领域中具有基本知识的人员可以理解对上述的实施例可在不脱离本发明的范围的限度内进行多种变形。
因此,本发明的权利范围并不局限于上述的实施例,本发明的权利范围需要根据权利要求书的范围以及与该权利要求书均等的范围来确定。

Claims (34)

1.一种基于用户认证信息的密钥交换***,包括:
终端,利用终端侧随机数以及服务器识别信息而生成与用户的认证信息对应的密文;以及
服务器,利用与所述服务器识别信息对应的服务器端私钥而对从所述终端接收到的所述密文进行解密而还原所述认证信息,且利用被还原的所述认证信息而认证所述终端,并生成与经认证的所述终端对应的服务器端会话密钥。
2.如权利要求1所述的基于用户认证信息的密钥交换***,其中,
所述终端由所述终端侧随机数来计算第一会话密钥元素,并由所述服务器识别信息以及所述终端侧随机数来生成终端侧加密元素,并将所述认证信息与所述终端侧加密元素进行结合而生成加密字符串。
3.如权利要求2所述的基于用户认证信息的密钥交换***,其中,所述终端侧加密元素通过下述的数学式而计算:
D=(H(IDs))x
其中,D是终端侧加密元素,IDs是服务器识别信息,x是终端侧随机数,H是单向哈希值。
4.如权利要求2所述的基于用户认证信息的密钥交换***,其中,
所述加密字符串由所述认证信息与所述终端侧加密元素的异或逻辑运算方式计算。
5.如权利要求2所述的基于用户认证信息的密钥交换***,其中,
所述服务器从所述终端接收包含所述第一会话密钥元素以及所述加密字符串的密文,并由所述服务器端私钥以及所述第一会话密钥元素计算服务器端加密元素,并利用所述服务器端加密元素而从所述加密字符串还原所述认证信息。
6.如权利要求5所述的基于用户认证信息的密钥交换***,其中,所述服务器端加密元素由如下的数学式来计算:
D'=XKs
其中,D'是服务器端加密元素,X是第一会话密钥元素,Ks是服务器端私钥。
7.如权利要求5所述的基于用户认证信息的密钥交换***,其中,
所述认证信息通过接收到的所述加密字符串与所述服务器端加密元素之间的异或逻辑运算而被还原。
8.如权利要求5所述的基于用户认证信息的密钥交换***,其中,
所述服务器根据被还原的所述认证信息与已存储到所述服务器的所述终端的认证信息的同一性与否而认证所述终端。
9.如权利要求5所述的基于用户认证信息的密钥交换***,其中,
所述服务器端会话密钥是字符串的哈希值,该字符串包括客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素以及所述服务器端加密元素中的一个以上。
10.如权利要求9所述的基于用户认证信息的密钥交换***,其中,
所述终端生成终端侧会话密钥,该终端侧会话密钥由字符串的哈希值来构成,该字符串包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素以及所述终端侧加密元素中的一个以上。
11.如权利要求9所述的基于用户认证信息的密钥交换***,其中,
所述服务器在所述终端得到认证的情况下向所述终端发送随机消息,所述服务器端会话密钥以及所述终端侧会话密钥以额外包含所述随机消息的方式生成。
12.如权利要求2所述的基于用户认证信息的密钥交换***,其中,
所述服务器在所述终端得到认证的情况下由服务器端随机数计算第二会话密钥元素,并由所述服务器端随机数以及所述第一会话密钥元素生成服务器端第三会话密钥元素。
13.如权利要求12所述的基于用户认证信息的密钥交换***,其中,
所述服务器端第三会话密钥元素通过将所述第一会话密钥元素作为底数并将所述服务器端随机数作为指数并进行幂乘而被计算出。
14.如权利要求12所述的基于用户认证信息的密钥交换***,其中,
所述终端从所述服务器接收所述第二会话密钥元素,并由此生成终端侧第三会话密钥元素以及终端侧会话密钥。
15.如权利要求14所述的基于用户认证信息的密钥交换***,其中,
所述终端侧第三会话密钥元素通过将所述第二会话密钥元素作为底数并将所述终端侧随机数作为指数并进行幂乘而被计算出。
16.如权利要求14所述的基于用户认证信息的密钥交换***,其中,
所述终端侧会话密钥为字符串的哈希值,该字符串包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素、所述第二会话密钥元素、所述终端侧加密元素以及所述终端侧第三会话密钥元素中的一个以上。
17.如权利要求12所述的基于用户认证信息的密钥交换***,其中,
所述服务器端会话密钥为字符串的哈希值,该字符串包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素、所述第二会话密钥元素、所述服务器端加密元素以及所述服务器端第三会话密钥元素中的一个以上。
18.一种基于用户认证信息的密钥交换方法,包括如下的步骤:
在终端中,利用终端侧随机数以及服务器识别信息而生成与用户的认证信息对应的密文;
在服务器中,利用与所述服务器识别信息对应的服务器端私钥而对从所述终端接收到的所述密文进行解密而还原所述认证信息;
在所述服务器中,利用被还原的所述认证信息而认证所述终端;以及
在所述终端得到认证的情况下,生成与经认证的所述终端对应的服务器端会话密钥。
19.如权利要求18所述的基于用户认证信息的密钥交换方法,其中,生成所述密文的步骤还包括如下的步骤:
由所述终端侧随机数来计算第一会话密钥元素;
由所述服务器识别信息以及所述终端侧随机数来生成终端侧加密元素;以及
将所述认证信息与所述终端侧加密元素进行结合而生成加密字符串。
20.如权利要求19所述的基于用户认证信息的密钥交换方法,其中,所述终端侧加密元素通过下述的数学式而计算:
D=(H(IDs))x
其中,D是终端侧加密元素,IDs是服务器识别信息,x是终端侧随机数,H是单向哈希值。
21.如权利要求19所述的基于用户认证信息的密钥交换方法,其中,
所述加密字符串由所述认证信息与所述终端侧加密元素的异或逻辑运算方式计算。
22.如权利要求19所述的基于用户认证信息的密钥交换方法,其中,还原所述认证信息的步骤包括如下的步骤:
从所述终端接收包含所述第一会话密钥元素以及所述加密字符串的密文;
由所述服务器端私钥以及所述第一会话密钥元素计算服务器端加密元素;以及
利用所述服务器端加密元素而从所述加密字符串还原所述认证信息。
23.如权利要求22所述的基于用户认证信息的密钥交换方法,其中,所述服务器端加密元素由如下的数学式来计算:
D'=XKs
其中,D'是服务器端加密元素,X是第一会话密钥元素,Ks是服务器端私钥。
24.如权利要求22所述的基于用户认证信息的密钥交换方法,其中,从所述加密字符串还原所述认证信息的步骤以如下方式构成:
通过接收到的所述加密字符串与所述服务器端加密元素之间的异或逻辑运算而还原所述认证信息。
25.如权利要求22所述的基于用户认证信息的密钥交换方法,其中,
在所述认证的步骤中,根据被还原的所述认证信息与已存储到所述服务器的所述终端的认证信息的同一性与否而认证所述终端。
26.如权利要求22所述的基于用户认证信息的密钥交换方法,其中,
所述服务器端会话密钥是字符串的哈希值,该字符串包括客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素以及所述服务器端加密元素中的一个以上。
27.如权利要求26所述的基于用户认证信息的密钥交换方法,其中,
所述终端生成终端侧会话密钥,该终端侧会话密钥由字符串的哈希值来构成,该字符串包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素以及所述终端侧加密元素中的一个以上。
28.如权利要求26所述的基于用户认证信息的密钥交换方法,其中,
所述服务器在所述终端得到认证的情况下向所述终端发送随机消息,所述服务器端会话密钥以及所述终端侧会话密钥以额外包含所述随机消息的方式生成。
29.如权利要求19所述的基于用户认证信息的密钥交换方法,其中,生成所述服务器端会话密钥的步骤还包括如下的步骤:
由服务器端随机数计算第二会话密钥元素;以及
由所述服务器端随机数以及所述第一会话密钥元素生成服务器端第三会话密钥元素。
30.如权利要求29所述的基于用户认证信息的密钥交换方法,其中,
所述服务器端第三会话密钥元素通过将所述第一会话密钥元素作为底数并将所述服务器端随机数作为指数并进行幂乘而被计算出。
31.如权利要求29所述的基于用户认证信息的密钥交换方法,其中,
所述终端从所述服务器接收所述第二会话密钥元素,并由此生成终端侧第三会话密钥元素以及终端侧会话密钥。
32.如权利要求31所述的基于用户认证信息的密钥交换方法,其中,
所述终端侧第三会话密钥元素通过将所述第二会话密钥元素作为底数并将所述终端侧随机数作为指数并进行幂乘而被计算出。
33.如权利要求31所述的基于用户认证信息的密钥交换方法,其中,
所述终端侧会话密钥为字符串的哈希值,该字符串包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素、所述第二会话密钥元素、所述终端侧加密元素以及所述终端侧第三会话密钥元素中的一个以上。
34.如权利要求29所述的基于用户认证信息的密钥交换方法,其中,
所述服务器端会话密钥为字符串的哈希值,该字符串包括所述客户端识别信息、所述服务器识别信息、所述加密字符串、所述第一会话密钥元素、所述第二会话密钥元素、所述服务器端加密元素以及所述服务器端第三会话密钥元素中的一个以上。
CN201610220579.1A 2015-05-06 2016-04-11 基于认证信息的密钥交换***及方法 Active CN106130716B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0062864 2015-05-06
KR1020150062864A KR101685810B1 (ko) 2014-09-05 2015-05-06 인증 정보 기반 키 교환 시스템 및 방법

Publications (2)

Publication Number Publication Date
CN106130716A true CN106130716A (zh) 2016-11-16
CN106130716B CN106130716B (zh) 2020-01-21

Family

ID=57240741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610220579.1A Active CN106130716B (zh) 2015-05-06 2016-04-11 基于认证信息的密钥交换***及方法

Country Status (2)

Country Link
US (1) US10447669B2 (zh)
CN (1) CN106130716B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108306726A (zh) * 2017-01-13 2018-07-20 杭州海康威视数字技术股份有限公司 一种密钥获得方法及***
CN108632250A (zh) * 2018-03-27 2018-10-09 北京安御道合科技有限公司 指令操控会话主密钥生成、操作指令传输的方法及设备
CN110574335A (zh) * 2017-05-09 2019-12-13 日本电信电话株式会社 密钥分发***以及方法、密钥生成装置、代表用户终端、服务器装置、用户终端以及程序
CN111279655A (zh) * 2017-11-06 2020-06-12 日本电信电话株式会社 数据共享方法、数据共享***、数据共享服务器、通信终端、程序
CN114499848A (zh) * 2022-01-26 2022-05-13 无锡融卡科技有限公司 会话密钥生成装置及方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721153B (zh) * 2014-09-05 2020-03-27 三星Sds株式会社 基于认证信息的密钥交换***及方法
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
KR102530441B1 (ko) 2018-01-29 2023-05-09 삼성전자주식회사 전자 장치와 외부 전자 장치 및 이를 포함하는 시스템
CN109462476B (zh) * 2018-11-23 2021-10-08 成都卫士通信息产业股份有限公司 密钥协商方法、装置、终端及计算机可读存储介质
CN111294388B (zh) * 2020-01-16 2023-09-29 中国平安人寿保险股份有限公司 配置文件的生成方法、装置、设备及存储介质
CN114726558B (zh) * 2020-12-21 2024-05-28 航天信息股份有限公司 认证方法、装置、电子设备和存储介质
CN112822015B (zh) * 2020-12-30 2023-07-04 中国农业银行股份有限公司 信息传输方法及相关装置
CN113468596B (zh) * 2021-06-28 2023-10-13 深圳供电局有限公司 一种用于电网数据外包计算的多元身份认证方法及***
CN115795413B (zh) * 2023-02-07 2023-05-16 山东省计算中心(国家超级计算济南中心) 基于国密算法的软件认证保护方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146126A (zh) * 2006-09-14 2008-03-19 索尼株式会社 无线通信***、无线通信装置及其认证方法、以及程序
CN102882685A (zh) * 2012-09-27 2013-01-16 东莞宇龙通信科技有限公司 身份认证***及其方法
US20140122888A1 (en) * 2012-10-31 2014-05-01 Industry-Academia Cooperation Group Of Sejong University Method for password based authentication and apparatus executing the method
US20140215213A1 (en) * 2006-09-27 2014-07-31 Secureauth Corporation Facilitating secure online transactions

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246771B1 (en) * 1997-11-26 2001-06-12 V-One Corporation Session key recovery system and method
AU780201B2 (en) * 2000-10-11 2005-03-10 Trustcopy Pte Ltd. Remote printing of secure and/or authenticated documents
US7644275B2 (en) * 2003-04-15 2010-01-05 Microsoft Corporation Pass-thru for client authentication
US7299354B2 (en) * 2003-09-30 2007-11-20 Intel Corporation Method to authenticate clients and hosts to provide secure network boot
US8259949B2 (en) * 2008-05-27 2012-09-04 Intel Corporation Methods and apparatus for protecting digital content
US8510558B2 (en) * 2009-02-17 2013-08-13 Alcatel Lucent Identity based authenticated key agreement protocol
US8769288B2 (en) * 2011-04-22 2014-07-01 Alcatel Lucent Discovery of security associations
KR101493214B1 (ko) 2012-10-31 2015-02-24 삼성에스디에스 주식회사 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치
KR101493212B1 (ko) 2012-10-31 2015-02-23 삼성에스디에스 주식회사 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치
US9628273B2 (en) * 2014-04-30 2017-04-18 Thamir Alshammari Cryptographic method and system for secure authentication and key exchange
US9531542B2 (en) * 2014-09-19 2016-12-27 Bank Of America Corporation Secure remote password
US20160352710A1 (en) * 2015-05-31 2016-12-01 Cisco Technology, Inc. Server-assisted secure exponentiation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146126A (zh) * 2006-09-14 2008-03-19 索尼株式会社 无线通信***、无线通信装置及其认证方法、以及程序
US20140215213A1 (en) * 2006-09-27 2014-07-31 Secureauth Corporation Facilitating secure online transactions
CN102882685A (zh) * 2012-09-27 2013-01-16 东莞宇龙通信科技有限公司 身份认证***及其方法
US20140122888A1 (en) * 2012-10-31 2014-05-01 Industry-Academia Cooperation Group Of Sejong University Method for password based authentication and apparatus executing the method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108306726A (zh) * 2017-01-13 2018-07-20 杭州海康威视数字技术股份有限公司 一种密钥获得方法及***
CN110574335A (zh) * 2017-05-09 2019-12-13 日本电信电话株式会社 密钥分发***以及方法、密钥生成装置、代表用户终端、服务器装置、用户终端以及程序
CN111279655A (zh) * 2017-11-06 2020-06-12 日本电信电话株式会社 数据共享方法、数据共享***、数据共享服务器、通信终端、程序
CN111279655B (zh) * 2017-11-06 2023-03-31 日本电信电话株式会社 数据共享方法、***及服务器、通信终端、记录介质
CN108632250A (zh) * 2018-03-27 2018-10-09 北京安御道合科技有限公司 指令操控会话主密钥生成、操作指令传输的方法及设备
CN108632250B (zh) * 2018-03-27 2020-12-08 北京安御道合科技有限公司 指令操控会话主密钥生成、操作指令传输的方法及设备
CN114499848A (zh) * 2022-01-26 2022-05-13 无锡融卡科技有限公司 会话密钥生成装置及方法
CN114499848B (zh) * 2022-01-26 2023-05-30 无锡融卡科技有限公司 会话密钥生成装置及方法

Also Published As

Publication number Publication date
US20160330179A1 (en) 2016-11-10
CN106130716B (zh) 2020-01-21
US10447669B2 (en) 2019-10-15

Similar Documents

Publication Publication Date Title
CN106130716A (zh) 基于认证信息的密钥交换***及方法
CN103795534B (zh) 基于口令的认证方法及用于执行该方法的装置
CN103124269B (zh) 云环境下基于动态口令与生物特征的双向身份认证方法
CN107342859B (zh) 一种匿名认证方法及其应用
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
KR101493214B1 (ko) 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치
KR101685810B1 (ko) 인증 정보 기반 키 교환 시스템 및 방법
WO2021022246A1 (en) Systems and methods for generating signatures
CN104158827B (zh) 密文数据共享方法、装置、查询服务器和上传数据客户端
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和***
US20120278628A1 (en) Digital Signature Method and System
CN101815091A (zh) 密码提供设备、密码认证***和密码认证方法
CN109543434B (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN110138548B (zh) 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和***
Tsai et al. A chaotic map‐based anonymous multi‐server authenticated key agreement protocol using smart card
Odelu et al. A secure and efficient ECC‐based user anonymity preserving single sign‐on scheme for distributed computer networks
Bouchaala et al. Enhancing security and efficiency in cloud computing authentication and key agreement scheme based on smart card
CN109347923A (zh) 基于非对称密钥池的抗量子计算云存储方法和***
CN106230840B (zh) 一种高安全性的口令认证方法
CN110098925B (zh) 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和***
Wu et al. A new authenticated key agreement scheme based on smart cards providing user anonymity with formal proof
US9292671B1 (en) Multi-server authentication using personalized proactivization
CN110519040B (zh) 基于身份的抗量子计算数字签名方法和***
CN201717885U (zh) 密码提供设备和密码认证***
Byun A generic multifactor authenticated key exchange with physical unclonable function

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant