CN108599926B - 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法 - Google Patents
一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法 Download PDFInfo
- Publication number
- CN108599926B CN108599926B CN201810229081.0A CN201810229081A CN108599926B CN 108599926 B CN108599926 B CN 108599926B CN 201810229081 A CN201810229081 A CN 201810229081A CN 108599926 B CN108599926 B CN 108599926B
- Authority
- CN
- China
- Prior art keywords
- key
- authentication
- ciphertext
- random number
- server
- 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
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/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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
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)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种基于对称密钥池的HTTP‑Digest改进型AKA身份认证系统和方法,实施认证时请求方向鉴权方发起鉴权请求,鉴权请求中带有第一随机数;鉴权方响应于所述鉴权请求生成提问消息并发送至请求方,所述提问消息包括消息认证码、AMF以及用于生成协商密钥的第二随机数,且该第二随机数采用密文形式,用于加密第二随机数的匿名密钥是利用所述第一随机数生成;请求方接收来自鉴权方的提问消息,利用第一随机数对所述提问消息进行验证,验证通过后生成应答消息发送至鉴权方;鉴权方接收来自请求方的应答消息并进行认证得到鉴权结果,再将鉴权结果发送给请求方;请求方接收来自鉴权方的鉴权结果。本发明采用双向认证提高了安全性,简化了繁琐的消息校验步骤。
Description
技术领域
本发明涉及安全通信技术领域,具体涉及一种端到端的鉴权和密钥协商的算法,即通信双方如何进行双向的身份认证和从对称密钥池中取出相同密钥的机制。
背景技术
鉴权是实现信息安全的基本技术,系统通过审查用户的身份来确认该用户是否具有对某种资源的访问和使用权限,同样也可以进行系统与系统间的身份认证。
移动通信的安全问题正面临着严峻的挑战,也越来越多的受到关注。作为相对独立的安全体系,用户端和服务器之间的通信必须时刻处于安全保护之中,所有的用户端在使用网络核心控制平台的服务之前都必须进行鉴权。如何保证用户端安全的接入网络,完成与服务器之间的双向身份认证有着十分重要的现实意义。随着量子计算机的发展,经典非对称加密算法将不再安全,无论是认证还是加解密领域,对称密钥算法将大行其道。比如目前在移动通信领域比较常用的基于对称密钥算法的服务器法之一的AKA机制。基于认证和密钥协商(AKA)的接入认证机制是由IETF 制定,被3GPP采用并广泛应用的鉴权机制。AKA机制在身份认证的同时并进行了密钥的协商,为后续通信的加密提供了密钥保障。
作为安全性升级的方案,对称密钥池的方式将是一种保证密钥安全的重要方案乃至主流方案。同时可以对对称密钥池中的全部或部分内容进行加密存储,加密密钥可以存储到对称密钥池宿主的安全隔离装置中。后续对对称密钥池进行密钥操作时,需要由安全隔离装置解密后使用。有关对称密钥池可参见公开号为CN105337726A,发明名称为“基于量子密码的端对端手持设备加密方法及系统”的发明专利文献,公开了一种基于量子密码的端对端手持设备加密方法,其量子通信的两台密钥分发设备之间,通过QKD形成了一对对称密钥池,用于QKD双方的用户进行量子加密通信。
又例如公开号为CN106452740A,发明名称为“一种量子通信服务站、量子密钥管理装置以及密钥配置网络和方法”的发明专利文献,公开了一种量子通信服务站、量子密钥管理装置,两者之间共享同样的量子随机数密钥数据块,该数据块对也可以理解为一对对称密钥池,用于双方的用户进行量子随机数密钥的加密通信。
公开号为CN106357649A,发明名称为“用户身份认证系统和方法”的专利文献,公开了一种对称密钥体制的身份认证方法。该发明基于移动密钥装置,采用量子真随机数发生器产生的真随机数作为密钥种子,在身份认证时有限多次使用,兼顾了密钥生成量和安全性问题。
现有技术存在的问题:
1.公开号为CN106357649A的专利文献虽然使用了对称密钥池的技术作为密钥的来源,但是其身份认证是单向的,存在较大的安全隐患。并且该发明在鉴权时没有密钥协商的功能,如需实现,得在鉴权后再开启密钥协商的功能。过程过于繁琐,且增加了鉴权双方的通信负担。
2.现有的使用AKA机制的HTTP Digest身份认证方法使用的根密钥非常有限,且协商的密钥都是通过根密钥计算所得,安全性能不高。
发明内容
本发明提供一种基于对称密钥池实现的身份认证系统和方法,在现有 AKA身份认证方法基础上进一步改进提高了安全性。
一种基于对称密钥池的HTTP-Digest改进型AKA身份认证方法,实施在用户端,包括:
向服务器发送包含有密文M1的注册请求,所述密文M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
接收来自服务器的包含有密文M2的401Unauthorized提问消息,所述密文M2通过鉴权密钥生成,所述401Unauthorized提问消息是服务器响应于所述注册请求而生成,密文M2位于401Unauthorized提问消息的 nonce字段中,且包括第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;
利用第一随机数对所述401Unauthorized提问消息中的密文M2进行验证,验证通过后生成包含有密文M3的应答消息并发送至服务器,所述密文M3通过协商密钥生成,且包括第三随机数以及认证应答;
接收来自服务器的包含有密文M4的注册结果,所述密文M4通过协商密钥生成,所述注册结果为服务器响应于所述应答消息而生成,且所述第三随机数作为密文M4中服务器对所述认证应答进行认证的成功标识;
检验所述注册结果,通过密文M4中的第三随机数确认注册结果。
本发明所述的身份认证方法,即注册过程既包括相互认证,也包括了对后续加密通信所采用密钥的协商,即所述协商密钥,协商密钥包括消息加密密钥CK(即保密性密钥)和消息认证密钥IK(即完整性密钥)。
本发明基于认证和密钥协商(AKA)的接入认证机制基于“挑战/应答”模式实现对服务器与用户端的相互身份认证和会话密钥的分发,由携带 AKA参数的SIP消息在用户端和服务器之间进行交互,按照AKA机制进行传输和协商,从而实现用户端和服务器之间的双向认证,并协商出后续通信所需的安全性密钥对。利用对称密钥池的密钥同步机制可有效地在注册的请求消息开始对任意一条消息进行消息认证和加密。这样设计的意义在于可以将更多的关键信息进行加密传输,更加保证了通信的安全性,同时也保证了会话消息的完整性。
所述第一随机数、第二随机数、以及第三随机数优选为量子真随机数发生器生成的量子随机数,既可以预先生成并存储以供调用,也可以是在认证过程中依照需要而生成。
用户端与服务器交互时采用全密文方式,密文M1~密文M4的传输过程中,发送方先对数据进行运算生成消息认证码,再进行加密,相应的在接收方先进行解密,然后利用消息认证码进行验证。就密文传输本身而言并非本发明改进重点,因此有关密文的加解密以及验证在没有特殊限定的情况下可以依照现有技术实施。
用户端和服务器既可以自身设置有量子真随机数发生器,可以采用匹配量子密钥卡或其他外置的硬件形式,或通过向量子网络服务站请求获得。
本发明利用对称密钥池的密钥同步机制可有效地在注册的请求消息开始对任意一条消息进行消息认证和加密。可以将更多的关键信息进行加密传输,更加保证了通信的安全性,同时也保证了会话消息的完整性。本发明在注册请求中加入了比较多的参数,为注册的主动方提供了更多的密钥协商选择。其次,相对于现有的单向认证方式,本发明中实现了注册对象双方的相互认证。并且在注册中加入了多个唯一识别符确保了消息的新鲜度。
本发明中鉴权密钥的更新提高了认证过程中鉴权密钥的安全性,同时可以在注册过程中进行鉴权密钥的更新,减少了不必要的通信步骤,降低了设备的通信压力。
本发明还根据AKA通信密钥的限制进行了改进,从原来根据随机数计算密钥的方式改成了取密钥种子计算密钥的方式,并且密钥种子不对外暴露,并且原AKA机制中用于生成保密性密钥和完整性密钥的随机数在401 Unauthorized提问消息中被加密了,降低了密钥被破解的风险。
经典AKA的注册机制中SQN存在重同步的漏洞,当遇到重放提问时, SQN会不断进行重同步,这样会加大通信负荷。本发明利用第一随机数代替了经典AKA的注册机制中的SQN,简化了繁琐的消息新鲜度校验步骤,避免重同步的漏洞。
相应的,本发明还提供一种基于对称密钥池的HTTP-Digest改进型 AKA身份认证方法,实施在服务器,包括:
接收来自用户端的包含有密文M1的注册请求,所述密文M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
响应于所述注册请求生成包含有密文M2的401Unauthorized提问消息并发送至用户端,所述密文M2通过鉴权密钥生成,密文M2位于401 Unauthorized提问消息的nonce字段中,其包括所述第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;
接收来自用户端的包含有密文M3的应答消息,所述密文M3通过协商密钥生成,所述应答消息为用户端对所述401Unauthorized提问消息中的密文M2利用第一随机数验证通过后生成,所述密文M3中包括第三随机数以及认证应答;
对应答消息中的认证应答进行认证,并相应生成包含有密文M4的注册结果发送给用户端,所述密文M4通过协商密钥生成,在密文M4中所述第三随机数作为认证的成功标识。
相应的,本发明还提供一种基于对称密钥池的HTTP-Digest改进型 AKA身份认证方法,实施在用户端与服务器之间,包括:
用户端向服务器发送包含有密文M1的注册请求,所述密文M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
服务器响应于所述注册请求,生成包含有密文M2的401 Unauthorized提问消息并发送至用户端,所述密文M2通过鉴权密钥生成,密文M2位于401Unauthorized提问消息的nonce字段中,且包括所述第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;
用户端接收包含有密文M2的401Unauthorized提问消息,利用第一随机数所述401Unauthorized提问消息中的密文M2进行验证,验证通过后生成包含有密文M3的应答消息并发送至服务器,所述密文M3通过协商密钥生成,且包括第三随机数以及认证应答;
服务器接收包含有密文M3的应答消息,对应答消息中的认证应答进行认证,并相应生成包含有密文M4的注册结果发送给用户端,所述密文M4通过协商密钥生成,在密文M4中所述第三随机数作为认证的成功标识;
用户端接收包含有密文M4的注册结果,通过密文M4中的第三随机数确认注册结果。
相应的,本发明还提供一种基于对称密钥池的HTTP-Digest改进型 AKA身份认证系统,包括用户端,在用户端设置有处理器以及存储器,存储器中配置有如下指令模块供处理器调用运行:
第一模块,用于向服务器发送包含有密文M1的注册请求,所述密文 M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
第二模块,接收来自服务器的包含有密文M2的401Unauthorized提问消息,所述密文M2通过鉴权密钥生成,所述401Unauthorized提问消息是服务器响应于所述注册请求而生成,密文M2位于401Unauthorized 提问消息的nonce字段中,且包括第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;
第三模块,用于利用第一随机数对所述401Unauthorized提问消息中的密文M2进行验证,验证通过后生成包含有密文M3的应答消息并发送至服务器,所述密文M3通过协商密钥生成,且包括第三随机数以及认证应答;
第四模块,用于接收来自服务器的包含有密文M4的注册结果,所述密文M4通过协商密钥生成,所述注册结果为服务器响应于所述应答消息而生成,且所述第三随机数作为密文M4中服务器对所述认证应答进行认证的成功标识;
第五模块,检验所述注册结果,通过密文M4中的第三随机数确认注册结果。
相应的,本发明还提供一种基于对称密钥池的HTTP-Digest改进型 AKA身份认证系统,包括服务器,在服务器设置有处理器以及存储器,存储器中配置有如下指令模块供处理器调用运行:
第六模块,接收来自用户端的包含有密文M1的注册请求,所述密文 M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
第七模块,用于响应于所述注册请求生成包含有密文M2的401 Unauthorized提问消息并发送至用户端,所述密文M2通过鉴权密钥生成,密文M2位于401Unauthorized提问消息的nonce字段中,其包括所述第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;
第八模块,用于接收来自用户端的包含有密文M3的应答消息,所述密文M3通过协商密钥生成,所述应答消息为用户端对所述401 Unauthorized提问消息中的密文M2利用第一随机数验证通过后生成,所述密文M3中包括第三随机数以及认证应答;
第九模块,用于对应答消息中的认证应答进行认证,并相应生成包含有密文M4的注册结果发送给用户端,所述密文M4通过协商密钥生成,在密文M4中所述第三随机数作为认证的成功标识。
本发明还提供一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统,包括本发明所述的用户端和服务器。
作为优选,参与身份认证的双方(例如用户端和服务器)配置有对称密钥池以及相应的鉴权密钥,通过所述第二随机数以及鉴权密钥对密钥池内指定的密钥种子进行运算(按照“协商密钥的生成算法标识”所对应的算法),得到所述协商密钥;且所述鉴权密钥按预定的生存周期进行更新。
鉴权密钥的更新时机为:
用户端在发起注册请求前判定鉴权密钥是否处在生存周期内,若超出生存周期则在发起注册请求时一并发起鉴权密钥更新请求;或
参与身份认证的双方在使用鉴权密钥时,判定鉴权密钥是否处在生存周期内,若超出生存周期则发起鉴权密钥更新请求;或
参与身份认证的双方定期检查鉴权密钥是否处在生存周期内,若超出生存周期则发起鉴权密钥更新请求。
在鉴权密钥的更新时,发起鉴权密钥更新请求的一方为主动方,另一方为被动方,至少在被动方中,存储有上一次使用的鉴权密钥,以及当前使用的鉴权密钥,更新时依次向前覆盖。
这样可以在处理注册异常时,调用上一次使用的鉴权密钥,以恢复注册流程。
在本发明中可以在注册过程中进行鉴权密钥的更新,减少了不必要的通信步骤,降低了设备的通信压力。
作为优选,所述应答消息的response字段中包含认证应答,该认证应答为用户端利用第二随机数以及当前使用的鉴权密钥计算得到;
服务器针对所述认证应答与在本地生成的相应的认证应答进行对比,得到注册结果,再将注册结果发送给用户端。
作为优选,所述认证应答中还包括协商密钥。
由于用户端和服务器在交互注册请求和401Unauthorized提问消息后,已经完成了协商密钥生成方式以及用法,为了进一步提高安全性和复杂程度,用户端生成应答消息时可利用协商密钥参与认证应答的生成。
协商密钥中,保密性密钥和完整性密钥的使用方式按照协商密钥的使用算法标识所对应的算法,例如保密性密钥在加解密时的算法,按照保密性密钥的使用算法标识所对应的算法;完整性密钥在生成消息认证码的算法,按照完整性密钥的使用算法标识所对应的算法,
在形成密文过程中,无论是鉴权密钥还是协商密钥,就其保密性密钥和完整性密钥的具体使用方式而言均为现有技术,并不作为改进的重点所在。
本发明采用双向认证,进一步提高了安全性,并利用第一随机数代替经典AKA的注册机制中的SQN,简化了繁琐的消息校验步骤,原AKA机制中用于生成保密性密钥和完整性密钥的随机数在401Unauthorized提问消息中采用密文方式了,降低了密钥被破解的风险。
附图说明
图1a为A端的部分数据结构示意图;
图1b为B端的部分数据结构示意图;
图2为实施例1注册机制的流程示意图;
图3为实施例2注册机制的流程示意图;
具体实施方式
实施例1
本实施例的身份认证的过程是在端到端之间实现的。本实施例中参与的双方分别定义为用户端和服务器。
本发明中各个参数的符号只是为了方便说明,并不对本发明构成任何特殊限制。例如密文M1~密文M4,M1~M4仅仅为了便于区分,并不对密文内容本身以及生成方式等作出额外的限定。
为避免赘述,在具体步骤中密文M1也可简称为M1,其他符号同理。
如图1a和图1b所示,用户端和服务器的身份识别码分别为ID=IDA和ID=IDB,同时记录了对方的身份识别码PID,即用户端的PID含有 IDB;服务器的PID含有IDA。
用户端和服务器持有相对应的密钥池、各类算法和鉴权密钥数组。鉴权密钥数组长度为2,第一组为前一个鉴权密钥,第二组为现使用的鉴权密钥。每组鉴权密钥均由一个保密性密钥和一个完整性密钥组成。每个密钥的符号表达详见图1a和图1b。除此之外,用户端和服务器中均有相应的算法来支撑整个注册过程。
图2中,大括号内表示被加密的部分,后面紧跟的内容表示使用的密钥,如{KLA||RAND1||MAC1}KEA表示:
使用KEA加密KLA||RAND1||MAC1。
本实施例中,用户端和服务器的安全隔离装置中分别存储有相同的密钥池。本实施例中注册后最终协商的密钥为消息加密密钥CK(即保密性密钥)和消息认证密钥IK(即完整性密钥)。
本实施例的注册流程示意图请参考图2,包括:
步骤1:用户端发起注册请求
用户端产生一个随机数,或者从密钥池中获取一个随机数作为本次注册请求的唯一识别符,记为RAND1。
随机数RAND1优选为量子真随机数发生器生成的量子随机数,以提高安全性,既可以预先生成并存储以供调用,也可以是依照发起注册请求的需要而生成。
用户端将RAND1附加在参数KLA后面生成KLA||RAND1(||表示串接)。KLA参数包括了本次协商的保密性密钥CK和消息认证密钥IK 的密钥长度LC和LI,以及消息加密算法IDCK和消息认证算法IDIK。这样的设定可以满足应用层对算法的要求和密钥的要求。
用户端将KLA||RAND1用完整性密钥KIA和消息认证算法(本实施例采用HMAC算法)生成消息认证码MAC1,并附加在KLA||RAND1 后得到KLA||RAND1||MAC1。
用户端用保密性密钥KEA和消息加密算法(本实施例采用AES算法)加密KLA||RAND1||MAC1得到密文M1。
用户端将IDA和M1拼接后发送给服务器。用户端向服务器发起的请求内容如下:
“response”和“nonce”域的值在初始注册请求消息中都设置为空。此请求中含有用户端的身份识别码IDA和密文M1。
步骤2:服务器计算认证向量
服务器接收到用户端的注册请求后,将消息拆分成IDA和密文M1。服务器将IDA与PID中的身份识别码进行匹配,若匹配失败,则服务器返回用户端失败的消息;若匹配成功,则使用对应的鉴权密钥对密文 M1进行解密得到明文,并拆分KLA||RAND1和MAC1。
利用完整性密钥KIB和对应的消息认证算法对KLA||RAND1进行计算得到MAC2。将MAC1与MAC2进行比较,若相同,则证明消息未被篡改;若不相同,则使用前一组鉴权密钥再对密文M1进行解密和消息认证。如果认证失败,则服务器向用户端返回失败的消息,如果认证成功,则使用前一组鉴权密钥覆盖现使用的密钥组,并计算认证向量。
服务器首先会生成一个不可预测的随机数RAND2和一个时间戳 Ts,随机数RAND2优选为采用量子真随机数发生器生成的量子随机数,以提高安全性。随机数RAND2既可以预先生成并存储以供调用,也可以是依照生成认证向量的需要而生成。
服务器同时取KIB作为以下算法的密钥K。此时的KIB或是原来的,或是被覆盖过的。设用作保密性密钥CK的密钥种子(即随机数)为N1,其指针地址为PC,长度为LC;用作完整性密钥IK的密钥种子(即随机数)为N2,指针地址为PI,长度为LI。N1和N2分别取自密钥池。设密钥池总量为PA。具体的计算公式如下(⊕表示按位异或):
计算密钥协商码(KIA):KIA=IDf4||IDf5||Ts;
计算期望的认证应答(XRES):XRES=f1(K,RAND2);
计算CK的指针地址(PC):PC=f2(K,RAND2,PA);
计算IK的指针地址(PI):PI=f3(K,RAND2,PA);
计算保密性密钥(CK):CK=f4(K,N1);
计算完整性密钥(IK):IK=f5(K,N2);
网络认证令牌(AUTN)=RAND1||RAND2||KIA;
计算消息认证码(MAC3):MAC3=f6(K,AUTN);
计算消息密文(M2):M2=f7(KEB,AUTN||MAC3);
认证向量(AV):AV=XRES||CK||IK||AUTN;
(注:算法f1为消息认证算法,f2和f3为特定的指针地址算法, f4和f5为密钥生成算法,算法f6和f7分别与上述2.1中的消息认证算法和消息加密算法对应。IDf4和IDf5分别是CK和IK的生成算法的ID。)
服务器将认证向量AV中的XRES、CK和IK剔除并保留下来,将密文M2进行Base64编码后的字符串作为nonce字段,并在algorithm 字段放入值“AKAv1-MD5”,表示使用的是3GPP AKA认证机制。将以上部分包含在401Unauthorized提问消息的WWW-Authenticate头域中向用户端提问。401应答主要的头域和字段的内容如下:
步骤3:包含认证应答RES的REGISTER
用户端接收到服务器的401应答消息后,从“nonce”中解析出密文 M2,利用鉴权密钥KEA和KIA对密文M2进行解密并消息认证,具体流程参考步骤2,但是认证失败后,用户端返回失败消息并终止本次注册,不使用前一组鉴权密钥。若认证成功,则将明文消息拆分为RAND1’、 RAND2和KIA。
为便于区分A本地的RAND1,从提问消息中解析出的RAND1以下记为RAND1’,其他步骤中有关随机数的标识同理。
将RAND1’与RAND1进行比较,若不相同,则说明服务器是非法身份,用户端将向服务器发送不携带response字段的REGISTER消息,以此通知网络提问无效。失败原因可能是消息被篡改或者服务器为非法身份等;若相同,则进行下一步。
将RAND2用KIA和消息认证算法计算得到认证应答RES。用户端根据KIA中的信息,通过RAND2计算得到取随机数的指针地址,根据 LC和LI在密钥池中取相应的长度的随机数,并利用对应IDf4和IDf5密钥生成算法生成密钥CK’和IK’。用户端再次生成一个随机数RAND3,并附加在RES后得到RES||RAND3。
随机数RAND3优选为采用量子真随机数发生器生成的量子随机数,以提高安全性。随机数RAND3既可以预先生成并存储以供调用,也可以是依照生成认证向量的需要而生成。
用户端利用CK’和IK’对RES||RAND3进行消息认证码的生成和消息加密并将密文M3发送给服务器,具体步骤参考步骤1。用户端在发往服务器的第二个REGISTER请求中返回密文M3,进行Base64编码后的字符串放入response字段中。主要的头域和字段的内容如下:
步骤4:服务器认证用户端身份
服务器接收用户端的认证应答消息后,对应答消息进行解析并从认证头域Authorization中取出相应的参数:如果Authorization头域中的 response字段为空,再检查重同步参数字段auts是否为空:如果AUTS 参数不为空,说明检查出了RAND1认证失败,服务器使用这个重同步参数AUTS重新请求认证数据,当下载认证数据成功后,再用新的认证向量重新提问。如果AUTS参数也为空,说明提问无效,服务器将选择下一个认证向量,重新用401消息进行提问。若用完了所有的认证向量,仍然无法完成认证,则认为本次认证失败,放弃本次认证过程,并发送 403Forbidden消息通知用户端。
如果Authorization头域中的response字段不为空,则取出密文M3,利用CK、IK和已经协商的消息解密算法和消息认证算法来解密认证密文M3。如果认证失败,则返回失败消息,如果认证成功,则进行下一步操作。
服务器将明文拆成RES和RAND3。先将RES与XRES进行比较,如果相同,则证明用户端为合法身份,如果失败,则证明用户端为非法身份,返回失败消息并终止本次注册。认证成功后,服务器将RAND3 附加在注册结果后,用CK和IK进行消息认证和加密后形成密文M4形式的注册结果,并发送给用户端。
步骤5:用户端接收注册结果
用户端接收到注册结果后,利用CK’和IK’进行解密及消息认证。并得到明文中的RAND3’,将RAND3’与RAND3进行比较,如果相同,则注册成功。如果不相同,则终止本次注册。
鉴权密钥的更新
鉴权密钥的更新方法与上述的服务器法相似。在第一次时,默认采用密钥池开头的随机数作为鉴权密钥。进行鉴权密钥更新时,将现使用的鉴权密钥覆盖前一次的鉴权密钥组,将同步的鉴权密钥组覆盖现使用的密钥组。
服务器更新是在步骤4中认证用户端身份成功后进行;
用户端更新是在步骤5中接收到服务器的注册结果并判断本次注册成功后进行。
注册与鉴权密钥更新组合
当鉴权密钥的更新需要与注册绑定时,用户端即用户端可以在步骤1 的注册请求中声明,例如在KLA参数中指定一位作为识别符。当该位上是0时,则说明本次注册无需更新密钥,当该位上是1时,则说明本次注册需要更新密钥。鉴权密钥更新的时刻请参考本实施例的“鉴权密钥的更新”。
注册异常的处理
主动服务器与被动服务器之间的收发的消息可能是注册请求、401 Unauthorized提问消息、应答消息或者注册结果。
结合图2,注册请求、401Unauthorized提问消息、应答消息和注册结果分别简称消息①~消息④。
如果消息传输过程中发生用户端和服务器之间轻度丢包,通过各自的信令重发机制,一般情况下不影响消息的收发。例如用户端向服务器发送注册请求后收不到来自服务器的提问消息,会重新生成唯一识别符打包请求消息并发送给服务器,直到达到请求的最大发送次数;服务器发送提问消息后收不到应答消息,同样会重新发送到最大发送次数。
如果注册过程中发生用户端和服务器之间重度丢包甚至断网的情况,则注册过程终止,等下应用层下一次注册的请求。各类异常情况的处理如下:
情况1、如果过程只进行注册和密钥协商,那么无论消息①、②、③、④任何一个丢失都不会对密钥池及鉴权密钥组造成影响。唯一的影响就是注册失败以及密钥协商失败,可根据应用层的请求重新进行注册。
情况2、如果是鉴权密钥的更新,消息①、②、③的丢包对鉴权密钥组的同步不影响。当消息④丢包后,服务器的鉴权密钥更新,但用户端的鉴权密钥未做更新,当用户端向服务器再次做注册或者鉴权密钥更新时,服务器的前一次鉴权密钥组依然能与用户端的鉴权密钥组匹配。当如果服务器向用户端进行注册或者鉴权密钥更新时,用户端两个鉴权密钥组都无法与服务器的现使用鉴权密钥组匹配,故返回失败的消息。服务器会使用前一组鉴权密钥组再次发送,并重新调整鉴权密钥组。
情况3、如果是注册和鉴权密钥更新组合使用时,处理方式可以参考情况2中的异常处理。
实施例2
本实施例系统与实施例1中描述一致。
本发明的注册流程示意图请参考图3,包括:
步骤1:用户端发起注册请求
用户端产生一个随机数,或者从密钥池中获取一个随机数作为本次注册请求的唯一识别符,记为RAND1。
随机数RAND1优选为量子真随机数发生器生成的量子随机数,以提高安全性,既可以预先生成并存储以供调用,也可以是依照发起注册请求的需要而生成。
用户端将RAND1附加在参数KLA后面生成KLA||RAND1(||表示串接)。KLA参数包括了本次协商的保密性密钥CK和消息认证密钥IK 的密钥长度LC和LI,以及消息加密算法IDCK和消息认证算法IDIK。这样的设定可以满足应用层对算法的要求和密钥的要求。
用户端将KLA||RAND1用完整性密钥KIA和消息认证算法(本实施例采用HMAC算法)生成消息认证码MAC1,并附加在KLA||RAND1 后得到KLA||RAND1||MAC1。
用户端用保密性密钥KEA和消息加密算法(本实施例采用AES算法)加密KLA||RAND1||MAC1得到密文M1。
用户端将IDA和M1拼接后发送给服务器。用户端向服务器发起的请求内容如下:
“response”和“nonce”域的值在初始注册请求消息中都设置为空。此请求中含有用户端的身份识别码IDA和密文M1。
步骤2:服务器计算认证向量
服务器接收到用户端的注册请求后,将消息拆分成IDA和密文M1。服务器将IDA与PID中的身份识别码进行匹配,若匹配失败,则服务器返回用户端失败的消息;若匹配成功,则使用对应的鉴权密钥对密文 M1进行解密得到明文,并拆分KLA||RAND1和MAC1。
利用完整性密钥KIB和对应的消息认证算法对KLA||RAND1进行计算得到MAC2。将MAC1与MAC2进行比较,若相同,则证明消息未被篡改;若不相同,则使用前一组鉴权密钥再对密文M1进行解密和消息认证。如果认证失败,则服务器向用户端返回失败的消息,如果认证成功,则使用前一组鉴权密钥覆盖现使用的密钥组,并计算认证向量。
服务器首先会生成一个不可预测的随机数RAND2和一个时间戳 Ts,随机数RAND2优选为采用量子真随机数发生器生成的量子随机数,以提高安全性。随机数RAND2既可以预先生成并存储以供调用,也可以是依照生成认证向量的需要而生成。
服务器同时取KIB作为以下算法的密钥K。此时的KIB或是原来的,或是被覆盖过的。设用作保密性密钥CK的密钥种子(即随机数)为N1,其指针地址为PC,长度为LC;用作完整性密钥IK的密钥种子(即随机数)为N2,指针地址为PI,长度为LI。N1和N2分别取自密钥池。设密钥池总量为PA。具体的计算公式如下(⊕表示按位异或):
计算密钥协商码(KIA):KIA=IDf4||IDf5||Ts;
计算期望的认证应答(XRES):XRES=f1(K,RAND2);
计算CK的指针地址(PC):PC=f2(K,RAND2,PA);
计算IK的指针地址(PI):PI=f3(K,RAND2,PA);
计算保密性密钥(CK):CK=f4(K,N1);
计算完整性密钥(IK):IK=f5(K,N2);
网络认证令牌(AUTN)=RAND1||RAND2||KIA;
计算消息认证码(MAC3):MAC3=f6(K,AUTN);
计算消息密文(M2):M2=f7(KEB,AUTN||MAC3);
认证向量(AV):AV=XRES||CK||IK||AUTN;
(注:算法f1为消息认证算法,f2和f3为特定的指针地址算法, f4和f5为密钥生成算法,算法f6和f7分别与上述2.1中的消息认证算法和消息加密算法对应。IDf4和IDf5分别是CK和IK的生成算法的ID。)
服务器将认证向量AV中的XRES、CK和IK剔除并保留下来,使用PRF计算Xpassword=PRF(XRES||IK||CK, “http-digest-akav2-password”)。PRF为假随机函数,用来构造AKAv2 的密码和相关的会话密钥IK’和CK’。本专利中,PRF使用KD(secret,data) 的格式出现,指示一个加密的digest算法(KD)使用密钥(“secret”) 对数据(“data”)执行。如果算法是AKAv2-MD5,那么PRF就是 HMAC_MD5。将密文M2进行Base64编码后的字符串作为nonce字段,并在algorithm字段放入值“AKAv1-MD5”,表示使用的是3GPP AKA认证机制。将以上部分包含在401Unauthorized提问消息的 WWW-Authenticate头域中向用户端提问。401应答主要的头域和字段的内容如下:
步骤3:包含认证应答password的REGISTER
用户端接收到服务器的401应答消息后,从“nonce”中解析出密文 M2,利用鉴权密钥KEA和KIA对密文M2进行解密并消息认证,具体流程参考上述2.2,如果认证失败,用户端返回失败消息并终止本次注册,不使用前一组鉴权密钥。若认证成功,则将明文消息拆分为RAND1’、 RAND2和KIA。
为便于区分A本地的RAND1,从提问消息中解析出的RAND1以下记为RAND1’,其他步骤中有关随机数的标识同理。
将RAND1’与RAND1进行比较,若不相同,则说明服务器是非法身份,用户端将向服务器发送不携带response字段的REGISTER消息,以此通知网络提问无效。失败原因可能是消息被篡改或者服务器为非法身份等;若相同,则进行下一步。
将RAND2用KIA和消息认证算法计算得到消息认证码RES。
使用假随机函数PRF计算:
password=PRF(RES||IK||CK,“http-digest-akav2-password”)。
用户端根据KIA中的信息,通过RAND2计算得到取随机数的指针地址,根据LC和LI在密钥池中取相应的长度的随机数,并利用对应IDf4和IDf5密钥生成算法生成密钥CK’和IK’。用户端再次生成一个随机数 RAND3,并附加在password后得到password||RAND3。
随机数RAND3优选为采用量子真随机数发生器生成的量子随机数,以提高安全性。随机数RAND3既可以预先生成并存储以供调用,也可以是依照生成认证向量的需要而生成。
用户端利用CK’和IK’对password||RAND3进行消息认证码的生成和消息加密并将密文M3发送给服务器,具体步骤参考步骤1。用户端在发往服务器的第二个REGISTER请求中返回密文M3,进行Base64 编码后的字符串放入response字段中。主要的头域和字段的内容如下:
步骤4:服务器认证用户端身份
服务器接收用户端的认证应答消息后,对应答消息进行解析并从认证头域Authorization中取出相应的参数:如果Authorization头域中的 response字段为空,再检查重同步参数字段auts是否为空:如果AUTS 参数不为空,说明检查出了RAND1认证失败,服务器使用这个重同步参数AUTS重新请求认证数据,当下载认证数据成功后,再用新的认证向量重新提问。如果AUTS参数也为空,说明提问无效,服务器将选择下一个认证向量,重新用401消息进行提问。若用完了所有的认证向量,仍然无法完成认证,则认为本次认证失败,放弃本次认证过程,并发送 403Forbidden消息通知用户端。
如果Authorization头域中的response字段不为空,则取出密文M3,利用CK、IK和已经协商的消息解密算法和消息认证算法来解密认证密文M3。如果认证失败,则返回失败消息,如果认证成功,则进行下一步操作。
服务器将明文拆成password和RAND3。先将password与Xpassword 进行比较,如果相同,则证明用户端为合法身份,如果失败,则证明用户端为非法身份,返回失败消息并终止本次注册。认证成功后,服务器将RAND3附加在注册结果后,用CK和IK进行消息认证和加密后形成密文M4形式的注册结果,并发送给用户端。
步骤5:用户端接收注册结果
用户端接收到注册结果后,利用CK’和IK’进行解密及消息认证。并得到明文中的RAND3’,将RAND3’与RAND3进行比较,如果相同,则注册成功。如果不相同,则终止本次注册。
鉴权密钥的更新
鉴权密钥的更新方法可参考实施例1中的鉴权密钥更新方法。
注册与鉴权密钥更新组合方法
本组合方法可以参考实施例1的做法。鉴权密钥更新的方式请参考本实施例的“鉴权密钥的更新”。
注册异常的处理
异常处理情况可参考实施例1中的处理。
以上公开的仅为本发明的实施例,但是本发明并非局限于此,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。显然这些改动和变型均应属于本发明要求的保护范围保护内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何特殊限制。
Claims (7)
1.一种基于对称密钥池的HTTP-Digest改进型AKA身份认证方法,实施在用户端,其特征在于,包括:
向服务器发送包含有密文M1的注册请求,所述密文M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
接收来自服务器的包含有密文M2的401Unauthorized提问消息,所述密文M2通过鉴权密钥生成,所述401Unauthorized提问消息是服务器响应于所述注册请求而生成,密文M2位于401Unauthorized提问消息的nonce字段中,且包括第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;参与身份认证的双方配置有对称密钥池以及相应的鉴权密钥,所述鉴权密钥包括保密性密钥和完整性密钥,通过所述第二随机数以及鉴权密钥对对称密钥池内指定的密钥种子进行运算,得到所述协商密钥,所述协商密钥包括:
保密性密钥CK=f4(K,N1);
完整性密钥IK=f5(K,N2);
式中:
f4和f5为密钥生成算法;
N1为根据指针地址PC在己方的对称密钥池中取得的密钥种子,且长度为LC;
N2为根据指针地址PI在己方的对称密钥池中取得的密钥种子,且长度为LI;
保密性密钥CK的指针地址PC:PC=f2(K,RAND2,PA);
完整性密钥IK的指针地址PI:PI=f3(K,RAND2,PA);
式中:
f2和f3为指针地址算法;
K为服务器的鉴权密钥中的完整性密钥;
RAND2为服务器生成的第二随机数;
PA为对称密钥池的密钥池总量;
且所述鉴权密钥按预定的生存周期进行更新;
利用第一随机数以及鉴权密钥对所述401Unauthorized提问消息中的密文M2进行验证,验证通过后利用密文M2并采用与所述服务器相应的方法生成协商密钥;
生成包含有密文M3的应答消息并发送至服务器,所述密文M3通过协商密钥生成,且包括第三随机数以及认证应答;
接收来自服务器的包含有密文M4的注册结果,所述密文M4通过协商密钥生成,所述注册结果为服务器响应于所述应答消息而生成,且所述第三随机数作为密文M4中服务器对所述认证应答进行认证的成功标识;
检验所述注册结果,通过密文M4中的第三随机数确认注册结果。
2.一种基于对称密钥池的HTTP-Digest改进型AKA身份认证方法,实施在服务器,其特征在于,包括:
接收来自用户端的包含有密文M1的注册请求,所述密文M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
响应于所述注册请求生成包含有密文M2的401Unauthorized提问消息并发送至用户端,所述密文M2通过鉴权密钥生成,密文M2位于401Unauthorized提问消息的nonce字段中,其包括所述第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;参与身份认证的双方配置有对称密钥池以及相应的鉴权密钥,所述鉴权密钥包括保密性密钥和完整性密钥,通过所述第二随机数以及鉴权密钥对对称密钥池内指定的密钥种子进行运算,得到所述协商密钥,所述协商密钥包括:
保密性密钥CK=f4(K,N1);
完整性密钥IK=f5(K,N2);
式中:
f4和f5为密钥生成算法;
N1为根据指针地址PC在己方的对称密钥池中取得的密钥种子,且长度为LC;
N2为根据指针地址PI在己方的对称密钥池中取得的密钥种子,且长度为LI;
保密性密钥CK的指针地址PC:PC=f2(K,RAND2,PA);
完整性密钥IK的指针地址PI:PI=f3(K,RAND2,PA);
式中:
f2和f3为指针地址算法;
K为服务器的鉴权密钥中的完整性密钥;
RAND2为服务器生成的第二随机数;
PA为对称密钥池的密钥池总量;
且所述鉴权密钥按预定的生存周期进行更新;
接收来自用户端的包含有密文M3的应答消息,所述密文M3通过协商密钥生成,所述用户端的协商密钥是利用密文M2并与所述服务器相应的方法生成,所述应答消息为用户端对所述401Unauthorized提问消息中的密文M2利用第一随机数以及鉴权密钥验证通过后生成,所述密文M3中包括第三随机数以及认证应答;
对应答消息中的认证应答进行认证,并相应生成包含有密文M4的注册结果发送给用户端,所述密文M4通过协商密钥生成,在密文M4中所述第三随机数作为认证的成功标识。
3.如权利要求2所述的基于对称密钥池的HTTP-Digest改进型AKA身份认证方法,其特征在于,所述应答消息的response字段中包含认证应答,该认证应答为用户端利用第二随机数以及当前使用的鉴权密钥计算得到;
服务器针对所述认证应答与在本地生成的相应的认证应答进行对比,得到注册结果,再将注册结果发送给用户端。
4.如权利要求3所述的基于对称密钥池的HTTP-Digest改进型AKA身份认证方法,其特征在于,所述认证应答中还包括协商密钥。
5.一种基于对称密钥池的HTTP-Digest改进型AKA身份认证方法,实施在用户端与服务器之间,其特征在于,包括:
用户端向服务器发送包含有密文M1的注册请求,所述密文M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
服务器响应于所述注册请求,生成包含有密文M2的401Unauthorized提问消息并发送至用户端,所述密文M2通过鉴权密钥生成,密文M2位于401Unauthorized提问消息的nonce字段中,且包括所述第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;参与身份认证的双方配置有对称密钥池以及相应的鉴权密钥,所述鉴权密钥包括保密性密钥和完整性密钥,通过所述第二随机数以及鉴权密钥对对称密钥池内指定的密钥种子进行运算,得到所述协商密钥,所述协商密钥包括:
保密性密钥CK=f4(K,N1);
完整性密钥IK=f5(K,N2);
式中:
f4和f5为密钥生成算法;
N1为根据指针地址PC在己方的对称密钥池中取得的密钥种子,且长度为LC;
N2为根据指针地址PI在己方的对称密钥池中取得的密钥种子,且长度为LI;
保密性密钥CK的指针地址PC:PC=f2(K,RAND2,PA);
完整性密钥IK的指针地址PI:PI=f3(K,RAND2,PA);
式中:
f2和f3为指针地址算法;
K为服务器的鉴权密钥中的完整性密钥;
RAND2为服务器生成的第二随机数;
PA为对称密钥池的密钥池总量;
且所述鉴权密钥按预定的生存周期进行更新;
用户端接收包含有密文M2的401Unauthorized提问消息,利用第一随机数以及鉴权密钥对所述401Unauthorized提问消息中的密文M2进行验证,验证通过后生成包含有密文M3的应答消息并发送至服务器,所述密文M3通过协商密钥生成,所述用户端的协商密钥是利用密文M2并与所述服务器相应的方法生成,所述应答消息中包括第三随机数以及认证应答;
服务器接收包含有密文M3的应答消息,对应答消息中的认证应答进行认证,并相应生成包含有密文M4的注册结果发送给用户端,所述密文M4通过协商密钥生成,在密文M4中所述第三随机数作为认证的成功标识;
用户端接收包含有密文M4的注册结果,通过密文M4中的第三随机数确认注册结果。
6.一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统,包括用户端,在用户端设置有处理器以及存储器,其特征在于,存储器中配置有如下指令模块供处理器调用运行:
第一模块,用于向服务器发送包含有密文M1的注册请求,所述密文M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
第二模块,接收来自服务器的包含有密文M2的401Unauthorized提问消息,所述密文M2通过鉴权密钥生成,所述401Unauthorized提问消息是服务器响应于所述注册请求而生成,密文M2位于401Unauthorized提问消息的nonce字段中,且包括第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;参与身份认证的双方配置有对称密钥池以及相应的鉴权密钥,所述鉴权密钥包括保密性密钥和完整性密钥,通过所述第二随机数以及鉴权密钥对对称密钥池内指定的密钥种子进行运算,得到所述协商密钥,所述协商密钥包括:
保密性密钥CK=f4(K,N1);
完整性密钥IK=f5(K,N2);
式中:
f4和f5为密钥生成算法;
N1为根据指针地址PC在己方的对称密钥池中取得的密钥种子,且长度为LC;
N2为根据指针地址PI在己方的对称密钥池中取得的密钥种子,且长度为LI;
保密性密钥CK的指针地址PC:PC=f2(K,RAND2,PA);
完整性密钥IK的指针地址PI:PI=f3(K,RAND2,PA);
式中:
f2和f3为指针地址算法;
K为服务器的鉴权密钥中的完整性密钥;
RAND2为服务器生成的第二随机数;
PA为对称密钥池的密钥池总量;
且所述鉴权密钥按预定的生存周期进行更新;
第三模块,用于利用第一随机数以及鉴权密钥对所述401Unauthorized提问消息中的密文M2进行验证,验证通过后利用密文M2并采用与所述服务器相应的方法生成协商密钥;
生成包含有密文M3的应答消息并发送至服务器,所述密文M3通过协商密钥生成,且包括第三随机数以及认证应答;
第四模块,用于接收来自服务器的包含有密文M4的注册结果,所述密文M4通过协商密钥生成,所述注册结果为服务器响应于所述应答消息而生成,且所述第三随机数作为密文M4中服务器对所述认证应答进行认证的成功标识;
第五模块,检验所述注册结果,通过密文M4中的第三随机数确认注册结果。
7.一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统,包括服务器,在服务器设置有处理器以及存储器,其特征在于,存储器中配置有如下指令模块供处理器调用运行:
第六模块,接收来自用户端的包含有密文M1的注册请求,所述密文M1通过鉴权密钥生成,且带有第一随机数以及协商密钥的长度和协商密钥的使用算法标识;
第七模块,用于响应于所述注册请求生成包含有密文M2的401Unauthorized提问消息并发送至用户端,所述密文M2通过鉴权密钥生成,密文M2位于401Unauthorized提问消息的nonce字段中,其包括所述第一随机数、用于生成协商密钥的第二随机数,以及协商密钥的生成算法标识;参与身份认证的双方配置有对称密钥池以及相应的鉴权密钥,所述鉴权密钥包括保密性密钥和完整性密钥,通过所述第二随机数以及鉴权密钥对对称密钥池内指定的密钥种子进行运算,得到所述协商密钥,所述协商密钥包括:
保密性密钥CK=f4(K,N1);
完整性密钥IK=f5(K,N2);
式中:
f4和f5为密钥生成算法;
N1为根据指针地址PC在己方的对称密钥池中取得的密钥种子,且长度为LC;
N2为根据指针地址PI在己方的对称密钥池中取得的密钥种子,且长度为LI;
保密性密钥CK的指针地址PC:PC=f2(K,RAND2,PA);
完整性密钥IK的指针地址PI:PI=f3(K,RAND2,PA);
式中:
f2和f3为指针地址算法;
K为服务器的鉴权密钥中的完整性密钥;
RAND2为服务器生成的第二随机数;
PA为对称密钥池的密钥池总量;
且所述鉴权密钥按预定的生存周期进行更新;
第八模块,用于接收来自用户端的包含有密文M3的应答消息,所述密文M3通过协商密钥生成,所述用户端协商密钥是利用密文M2并采用与所述服务器相应的方法生成,所述应答消息为用户端对所述401Unauthorized提问消息中的密文M2利用第一随机数以及鉴权密钥验证通过后生成,所述密文M3中包括第三随机数以及认证应答;
第九模块,用于对应答消息中的认证应答进行认证,并相应生成包含有密文M4的注册结果发送给用户端,所述密文M4通过协商密钥生成,在密文M4中所述第三随机数作为认证的成功标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810229081.0A CN108599926B (zh) | 2018-03-20 | 2018-03-20 | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810229081.0A CN108599926B (zh) | 2018-03-20 | 2018-03-20 | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108599926A CN108599926A (zh) | 2018-09-28 |
CN108599926B true CN108599926B (zh) | 2021-07-27 |
Family
ID=63626805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810229081.0A Active CN108599926B (zh) | 2018-03-20 | 2018-03-20 | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108599926B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495244A (zh) * | 2018-10-16 | 2019-03-19 | 如般量子科技有限公司 | 基于对称密钥池的抗量子计算密钥协商方法 |
CN109586917B (zh) * | 2018-10-31 | 2021-07-27 | 如般量子科技有限公司 | 基于非对称密钥池的抗量子计算的签章方法和签章系统 |
CN109560926B (zh) * | 2018-11-19 | 2021-07-27 | 如般量子科技有限公司 | 基于非对称密钥池的抗量子计算代理数字签名方法、签名系统以及计算机设备 |
CN109902483B (zh) * | 2019-01-10 | 2023-01-10 | 如般量子科技有限公司 | 基于多个密钥池的抗量子计算代理数字签名方法和系统 |
CN110535632B (zh) * | 2019-07-02 | 2023-09-05 | 如般量子科技有限公司 | 基于非对称密钥池对和dh协议的量子通信服务站aka密钥协商方法和系统 |
CN115701016B (zh) * | 2021-07-31 | 2024-05-14 | 华为技术有限公司 | 一种卫星通信系统中鉴权校验方法、系统及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107086907A (zh) * | 2016-02-15 | 2017-08-22 | 阿里巴巴集团控股有限公司 | 用于量子密钥分发过程的密钥同步、封装传递方法及装置 |
CN107086908A (zh) * | 2016-02-15 | 2017-08-22 | 阿里巴巴集团控股有限公司 | 一种量子密钥分发方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403742C (zh) * | 2003-07-25 | 2008-07-16 | 华为技术有限公司 | 一种媒体网关与媒体网关控制器之间安全认证的方法 |
US7434050B2 (en) * | 2003-12-11 | 2008-10-07 | International Business Machines Corporation | Efficient method for providing secure remote access |
DE102005026982A1 (de) * | 2005-06-10 | 2006-12-14 | Siemens Ag | Verfahren zur Vereinbarung eines Sicherheitsschlüssels zwischen mindestens einem ersten und einem zweiten Kommunikationsteilnehmer zur Sicherung einer Kommunikationsverbindung |
CN101710900B (zh) * | 2009-12-24 | 2012-07-25 | 公安部第一研究所 | 一种sip注册域内信令安全交互方法 |
CN103188080B (zh) * | 2011-12-31 | 2018-02-09 | 中兴通讯股份有限公司 | 一种基于身份标识的端到端的密钥认证协商方法及系统 |
WO2018047120A1 (en) * | 2016-09-10 | 2018-03-15 | Singanamala Prahlad P | A system and method for data block modification detection and authentication codes |
-
2018
- 2018-03-20 CN CN201810229081.0A patent/CN108599926B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107086907A (zh) * | 2016-02-15 | 2017-08-22 | 阿里巴巴集团控股有限公司 | 用于量子密钥分发过程的密钥同步、封装传递方法及装置 |
CN107086908A (zh) * | 2016-02-15 | 2017-08-22 | 阿里巴巴集团控股有限公司 | 一种量子密钥分发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108599926A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108599925B (zh) | 一种基于量子通信网络的改进型aka身份认证系统和方法 | |
CN108599926B (zh) | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法 | |
US9197411B2 (en) | Protocol and method for client-server mutual authentication using event-based OTP | |
JP5307191B2 (ja) | 無線通信機器とサーバとの間でのデータの安全なトランザクションのためのシステムおよび方法 | |
JP5845393B2 (ja) | 暗号通信装置および暗号通信システム | |
US8417949B2 (en) | Total exchange session security | |
US20190089530A1 (en) | Secure Key Transmission Protocol without Certificates or Pre-shared Symmetrical Keys | |
US20210203492A1 (en) | Internet of things security with multi-party computation (mpc) | |
CN103763356A (zh) | 一种安全套接层连接的建立方法、装置及系统 | |
CN110020524B (zh) | 一种基于智能卡的双向认证方法 | |
JP2000083018A (ja) | 機密を要する情報を最初は機密化されてない通信を用いて伝送するための方法 | |
CN101958907A (zh) | 一种传输密钥的方法、系统和装置 | |
CN110635901B (zh) | 用于物联网设备的本地蓝牙动态认证方法和系统 | |
CN108616350B (zh) | 一种基于对称密钥池的HTTP-Digest类AKA身份认证系统和方法 | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN108712252B (zh) | 一种基于对称密钥池和跨中继的aka身份认证系统和方法 | |
CN108768632B (zh) | 一种基于对称密钥池和中继通信的aka身份认证系统和方法 | |
CN108964888B (zh) | 一种基于对称密钥池和中继通信的改进型aka身份认证系统和方法 | |
CN107682152B (zh) | 一种基于对称密码的群组密钥协商方法 | |
CN108718237A (zh) | 一种基于对称密钥池的改进型aka身份认证系统和方法 | |
CN114826659A (zh) | 一种加密通讯方法及系统 | |
WO2022135399A1 (zh) | 身份鉴别方法、鉴别接入控制器和请求设备、存储介质、程序、及程序产品 | |
Dey et al. | An efficient dynamic key based EAP authentication framework for future IEEE 802.1 x Wireless LANs | |
Shojaie et al. | Enhancing EAP-TLS authentication protocol for IEEE 802.11 i | |
CN114386020A (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 |