CN113612797A - 一种基于国密算法的Kerberos身份认证协议改进方法 - Google Patents

一种基于国密算法的Kerberos身份认证协议改进方法 Download PDF

Info

Publication number
CN113612797A
CN113612797A CN202110968052.8A CN202110968052A CN113612797A CN 113612797 A CN113612797 A CN 113612797A CN 202110968052 A CN202110968052 A CN 202110968052A CN 113612797 A CN113612797 A CN 113612797A
Authority
CN
China
Prior art keywords
client
key
algorithm
kclt
tgs
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.)
Withdrawn
Application number
CN202110968052.8A
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.)
Jinling Institute of Technology
Original Assignee
Jinling Institute of Technology
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 Jinling Institute of Technology filed Critical Jinling Institute of Technology
Priority to CN202110968052.8A priority Critical patent/CN113612797A/zh
Publication of CN113612797A publication Critical patent/CN113612797A/zh
Withdrawn 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/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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/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/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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
    • 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/3297Cryptographic 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 involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本发明公开了一种基于国密算法的Kerberos身份认证协议改进方法,利用会话密钥动态化,以及基于国密算法的混合密码体制改进传统的Kerberos协议,改进后的Kerberos协议包括注册过程和认证过程;所述认证过程包括三个阶段,分别为:客户端与AS互相认证;客户端与TGS通信;以及客户端与应用服务器通信;客户端与AS之间的共享密钥使用动态密钥,认证过程中采用基于国密算法的混合密码体制进行加解密。本发明可有效抵抗弱口令导致的彩虹表攻击、爆破攻击、假冒用户攻击、时间同步导致的重放攻击、中间人攻击等,提高了Kerberos身份认证协议的安全性和效率。

Description

一种基于国密算法的Kerberos身份认证协议改进方法
技术领域
本发明属于密码学中身份认证和隐私保护技术领域,具体涉及一种基于国密算法的Kerberos身份认证协议改进方法。
背景技术
身份认证是保障网络安全的基石,用于保障认证双方的真实性。Kerberos协议作为最常用的身份认证协议,广泛应用于许多身份认证系统如银行系统、公安系统等等。因此,探讨Kerberos协议的缺陷以及改进Kerberos安全方案对保证计算机系统的安全性变得十分重要。同时,自从2012年我国发布商用密码以来,我国密码领域发展迅速,广泛应用于电子政务、电子商务、国民经济及公民生活等各个领域。
近年来,国内外许多学者都提出了针对Kerberos协议的改进方案,例如基于混合加密体制和密钥协商协议的改进Kerberos协议、使用Diffie-Hellman密钥取代用户口令加密需要传输的数据改进Kerberos协议、Weil对与Kerberos协议结合、将视觉密码与Kerberos协议相结合等。通过分析,虽然有效解决了原协议部分固有的安全问题,但同时也产生了其他诸如增大开销、密钥管理困难等问题。同时,如今国际经常使用的AES、RSA等算法,不排除有后门威胁,因此将商用密码算法与Kerberos协议相结合,具有实际意义和应用价值。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种基于国密算法的Kerberos身份认证协议改进方法,设计一种基于动态密钥的改进Kerberos协议,并将基于国密算法的混合密码体制嵌入该协议中,本发明提出的改进Kerberos协议可以解决弱口令导致的彩虹表攻击问题和时间同步导致的重放攻击等,本发明具有抵抗爆破攻击、假冒用户攻击、重放攻击、中间人攻击的能力,同时身份认证具备正确性。
为实现上述技术目的,本发明采取的技术方案为:
一种基于国密算法的Kerberos身份认证协议改进方法,利用会话密钥动态化,以及基于国密算法的混合密码体制改进传统的Kerberos协议,改进后的Kerberos协议包括注册过程和认证过程;
所述认证过程包括三个阶段,分别为:
客户端与AS互相认证;
客户端与TGS通信;
以及客户端与应用服务器通信;
客户端与AS之间的共享密钥使用动态密钥;
认证过程中采用基于国密算法的混合密码体制进行加解密。
为优化上述技术方案,采取的具体措施还包括:
上述的基于国密算法的混合密码体制,其加密算法包括以下步骤:
步骤1:通过伪随机数生成器构建会话秘钥;
步骤2:会话密钥通过SM3杂凑,生成杂凑值;
步骤3:将杂凑值作为SM4的秘钥,同时也作为SM2加密的明文,首先使用SM2公钥对会话密钥进行加密,使用SM2私钥解密,实现数字签名;
步骤4:使用SM4算法和会话密钥对明文消息加密;
步骤5:将密文消息和加密后的会话密钥一同封装成报文发送给接收方。
上述的基于国密算法的混合密码体制,其解密算法包括以下步骤:
步骤1:服务器接收密文,包括密文消息和加密后的会话密钥;
接收方分离用SM4加密的消息和用SM2加密的会话密钥组合而成的密文;
步骤2:分离后得到秘钥加密部分,通过SM2中的私钥对秘钥加密部分进行解密,得到用SM3对会话密钥生成的杂凑值;
步骤3:经过解密拿到加密过程中的SM4的秘钥,然后对消息密文进行解密,解密完成成功拿到明文。
上述的所述客户端与AS相互认证,认证过程包括以下步骤:
步骤1.1:客户端A向AS发送认证请求AS_REQ,包括用KDC公钥Kkdc加密的时间戳timestamp,客户端A的账号userA,随机数nonce和挑战值iv;
步骤1.2:AS收到后解密出时间戳,并与分离出的userA中时间对比,记录userA的登录信息,与上次userA的登录信息对比得到生命周期;
步骤1.3:若客户端A的请求服务合法,则AS向客户端A响应AS_REP,包括用A的公钥Kclt加密会话密钥Kclt-kdc,时间戳timestamp,随机数nonce和挑战值iv,再用Kkdc加密userA和TGS会话密钥Kclt-kdc产生TGT;
步骤1.4:客户端A收到AS_REP响应后,解密出Kclt-kdc,timestamp和nonce,并保存TGT。
上述的所述KDC的公钥Kkdc和客户端A的公钥Kclt基于国密SM2算法加密。
上述的客户端与TGS通信,通信过程包括以下步骤:
步骤2.1:客户端A生成TGS_REQ请求发送给TGS,包括缓存的TGT,会话密钥Kclt-kdc加密userA和时间戳timestamp,应用服务器ResourceB;
步骤2.2:TGS收到请求后用Kkdc解密出TGT中的会话密钥,再用Kclt-kdc解密得到UserA和时间戳timestamp,并与数据库中对比验证,保存ResourceB;
步骤2.3:若验证合法,则TGS向客户端A响应TGS_REP,包括用Kclt-kdc加密的客户端与应用服务器会话密钥Kclt-Ksrv,和票据Ticket;
所述Ticket由应用服务器的公钥Ksrv加密userA和客户端与应用服务器会话密钥Kclt-Ksrv生成;
步骤2.4:客户端A收到TGS_REP后用Kclt-kdc解密出Kclt-srv,并保存票据Ticket,在后序客户端A凭借Ticket访问应用服务器以获取资源。
上述的会话密钥Kclt-kdc使用的对称加密算法为国密SM4算法。
上述的客户端与应用服务器通信,通信过程包括以下步骤:
步骤3.1:客户端A向应用服务器S发送CS_REQ,包括用Kclt-srv加密的userA,timestamp和nonce,以及票据Ticket;
步骤3.2:应用服务器S收到后解密Ticket,解密数据enc_data,并与数据库中对比验证完成动态密钥协商,再向客户端A响应CS_REP,即用Kclt-srv加密的timestamp和nonce;
步骤3.3:客户端A收到CS_REP后使用Kclt-srv解密出timestamp和nonce,完成身份认证。
上述的应用服务器S用私钥解密Ticket由基于国密SM2公钥算法生成,客户端A与应用服务器S用会话密钥Kclt-srv加密传输采用国密SM4对称密码算法。
本发明具有以下有益效果:
本发明基于动态密钥认证和国密算法技术的改进Kerberos身份认证协议可有效抵抗弱口令导致的彩虹表攻击、爆破攻击、假冒用户攻击、时间同步导致的重放攻击、中间人攻击等。本发明提高了Kerberos身份认证协议的安全性和效率,并将我国密码算法切实贯彻到常用的身份认证协议中,实现商用密码技术的国产化自主化。
附图说明
图1为本发明的原理图。
图2为本发明的身份认证过程图。
图3为基于国密算法的混合密码体制加密流程图。
图4为基于国密算法的混合密码体制解密流程图。
图5为本发明的客户端与AS认证过程图。
图6为本发明的客户端与TGS通信过程图。
图7为本发明的客户端与应用服务器通信过程图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细描述。
本发明的一种基于国密算法的Kerberos身份认证协议改进方法,利用会话密钥动态化,以及基于国密算法的混合密码体制改进传统的Kerberos协议,改进后的Kerberos协议包括注册过程和认证过程;
所述认证过程保留传统Kerberos认证的三个阶段,分别为:
客户端与认证服务器(Authentication Server,AS)互相认证:客户端向AS发送AS_REQ,请求AS认证,AS收到向客户端发送一个挑战值,客户端收到后响应AS,接着AS返回给客户端AS_REP;
客户端与票据授权服务器(Ticket-Granting Server,TGS)通信:客户端生成TGS_REQ请求发送给TGS,如果客户端请求的服务通过认证,则TGS返回给客户端TGS_REP;
以及客户端与应用服务器通信:客户端发送给应用服务器的信息为CS_REQ,应用服务器返回给客户端CS_REP;
认证过程中采用基于国密算法的混合密码体制进行加解密;
客户端与AS之间的共享密钥使用动态密钥,是传统Kerberos认证协议中没有的。
动态密钥由动态随机数、时间戳以及数据库中客户端的口令通过SM3哈希算法生成。
在初始认证中新增了用来协商更新动态会话密钥的随机数。
本发明的原理及认证过程如图1和2所示,包括:
1、初始认证。
客户端C向KDC中的AS申请初始认证,AS给予初始认证的响应。
(1)初始认证请求(AS_BRE_REQ)
C向AS发送初始认证请求报文,使用会话密钥KC加密随机数N1、用来更新本地密钥Keynum的rndnum和数据库存储的用户口令pwd,与CID一起封装成报文发送给AS,报文为{KC[N1,rndnum,pwd],CID}。
(2)初始认证响应(AS_BRE_REP)
AS根据请求报文,向C发送响应报文。响应报文的内容为{KC[N1+1,N2]}。
2、TGT票据请求与响应。
(1)TGT票据请求(AS_REQ)
C向AS发送请求,获取TGT。
该请求包括C的账号CID、IP地址CIP、票据授权服务器账号TGSID、时间戳timestamp1、生存时间lifetime1、随机数N3,请求报文的内容为{KC[N2+1,CID,CIP,TGSID,timestamp1,lifetime1,N3]}。
(2)响应TGT和会话密钥(AS_REP)
AS收到C的请求,AS通过KDC中存储的客户端密钥KC,生成TGS与C的会话密钥SKC,TGS、访问TGS的票据TC,TGS、时间戳timestamp2、生存时间lifetime2、随机数N3,其中TC,TGS=KTGS{CID,CIP,TGSID,lifetime2,N2,SKC,TGS}。
然后AS使用客户端密钥KC加密SKC,TGS、TC,TGS、timestamp2、随机数和TGSID,并将加密报文响应给C。
响应报文的内容为
{KC[SKC,TGS,TC,TGS,TGSID,timestamp2,N2+1,N3,SKC,TGS]}。
C收到响应后,用KC解密AS响应报文,若为合法用户,则正确解密得到访问TGS的票据和会话密钥,进行下一阶段。若为非法用户,则无法解密。
3、ST票据请求与响应。
C使用TGT票据向TGS申请访问应用服务器的ST票据。
(1)请求ST票据(TGS_REQ)
C向TGS发送请求,该请求包括应用服务器SID、第一阶段中获得的TGS票据TC,TGS、生存周期lifetime3、认证符号AC,TGS和随机数N4,其中AC,TGS只有C和TGS才有权解密。此外,由第一阶段可知只有TGS可解密TC,TGS。请求报文内容具体为{SID,TC,TGS,lifetime3,AC,TGS,N3+1,N4},其中
AC,TGS=SKC,TGS{CID,CIP,timestamp2,lifetime2}。
TGS收到请求后,解密得到C与TGS会话密钥SKC,TGS,并验证报文有效期,检查IP地址是否相同。并解密AC,TGS验证C是否为合法用户。若TGS只有TC,TGS无法验证C真实身份,而加上AC,TGS的验证可防止攻击者对客户身份的盗用,其中AC,TGS中包含时间戳和生命周期且有效时间很短。
(2)响应ST票据(TGS_REP)
TGS验证身份后向C发送响应报文,报文中包含应用服务器SID,C与S会话密钥SKC,S,C访问S的票据TC,S,时间戳timestamp5和随机数N5,并用SKC,TGS加密,响应报文内容为{SKC,TGS[SID,SKC,S,timestamp5,N4+1,N5,TC,S]},其中
TC,S=KS{SID,CID,CIP,SKC,S,lifetime4,N5}。
4、服务器资源请求与响应。
C使用ST票据访问相应的服务。
(1)请求S(AP_REQ)
C使用SKC,TGS解密响应报文,获取会话密钥SKC,S和准入S的票据TC,S。请求报文包括授权票据TC,S和认证符AC,S,其中AC,S=SKC,S{CID,CIP,lifetime6,N6}。认证符AC,S是由SKC,S加密的,包含用户ID、IP、生存周期、随机数。
(2)S响应(AP_REP)
服务器S收到请求报文后,验证C身份的真实性,确认C合法后,将时间戳timestamp5加1,与AC,S中的随机数N6封装成响应报文,并用SKC,S加密发送给C,响应报文的内容为{SKC,S[timestamp5+1,N6]}。
实施例中,所述基于国密算法的混合密码体制,其加密算法流程图如图3所示,包括以下步骤:
步骤1:通过伪随机数生成器构建会话秘钥;
步骤2:会话密钥通过SM3杂凑,生成杂凑值;
步骤3:将此杂凑值作为SM4的秘钥,同时也作为SM2加密的明文。首先使用SM2公钥对会话密钥进行加密,使用SM2私钥解密,这一步的作用是数字签名;
步骤4:使用SM4算法和会话密钥对明文消息加密;
步骤5:将密文消息和加密后的会话密钥一同封装成报文发送给接收方。此时公钥密码的私钥还未进行任何的工作,它会用于后面的解密工作中。
实施例中,基于国密算法的混合密码体制,其解密算法流程图如图4所示,包括以下步骤:
步骤1:服务器收到的密文由两部分组成,密文消息和加密后的会话密钥。接收方需要分离“用SM4加密的消息”和“用SM2加密的会话密钥”组合而成的密文;
步骤2:经过分离后拿到秘钥加密部分,通过SM2中的私钥对这部分进行解密,得到用SM3对会话密钥生成的杂凑值;
步骤3:经过解密拿到加密过程中的SM4的秘钥。拿到SM4秘钥后就可以对右半部分的消息密文进行解密,解密完成成功拿到明文。
实施例中,所述客户端与AS相互认证,认证过程如图5所示,包括以下步骤:
步骤1.1:客户端A向AS发送认证请求AS_REQ,包括用KDC公钥Kkdc加密的时间戳timestamp,客户端A的账号userA,随机数nonce和挑战值iv;
步骤1.2:AS收到后解密出时间戳,并与分离出的userA中时间对比,记录userA的登录信息,与上次userA的登录信息对比得到生命周期;
步骤1.3:若客户端A的请求服务合法,则AS向客户端A响应AS_REP,包括用A的公钥Kclt加密会话密钥Kclt-kdc,时间戳timestamp,随机数nonce和挑战值iv,再用Kkdc加密userA和TGS会话密钥Kclt-kdc产生TGT,客户端A无法解密TGT,主要是缓存下来与TGS进行通信;
步骤1.4:客户端A收到AS_REP响应后,解密出Kclt-kdc,timestamp和nonce,并保存TGT。
此过程中,所述KDC的公钥Kkdc和客户端A的公钥Kclt基于国密SM2算法加密;
客户端A的私钥A_pwd、KDC的私钥KDC_pwd均用国密SM3哈希算法生成后保存,更好地体现协议的安全性和高效性。
实施例中,所述客户端与TGS通信,获取票据Ticket,通信过程如图6所示,包括以下步骤:
步骤2.1:客户端A生成TGS_REQ请求发送给TGS,包括缓存的TGT,会话密钥Kclt-kdc加密userA和时间戳timestamp,应用服务器ResourceB;
步骤2.2:TGS收到请求后用Kkdc解密出TGT中的会话密钥,再用Kclt-kdc解密得到UserA和时间戳timestamp,并与数据库中对比验证,保存ResourceB;
步骤2.3:若验证合法,则TGS向客户端A响应TGS_REP,包括用Kclt-kdc加密的客户端与应用服务器会话密钥Kclt-Ksrv,和票据Ticket;
所述Ticket由应用服务器的公钥Ksrv加密userA和客户端与应用服务器会话密钥Kclt-Ksrv生成,客户端A无法解密Ticket;
步骤2.4:客户端A收到TGS_REP后用Kclt-kdc解密出Kclt-srv,并保存票据Ticket,在后序客户端A凭借Ticket访问应用服务器以获取资源。
此过程中,所述会话密钥Kclt-kdc使用的对称加密算法为国密SM4算法,算法的安全性和效率性均有良好的体现,不亚于常见的AES算法。
实施例中,所述客户端与应用服务器通信,通信过程如图7所示;
客户端A与应用服务器S通信进行密钥协商,完成身份认证过程,包括以下步骤:
步骤3.1:客户端A向应用服务器S发送CS_REQ,包括用Kclt-srv加密的userA,timestamp和nonce,以及票据Ticket;
步骤3.2:应用服务器S收到后解密Ticket,解密数据enc_data,并与数据库中对比验证完成动态密钥协商,再向客户端A响应CS_REP,即用Kclt-srv加密的timestamp和nonce;
步骤3.3:客户端A收到CS_REP后使用Kclt-srv解密出timestamp和nonce,完成身份认证。
此过程中,所述应用服务器S用私钥解密Ticket由基于国密SM2公钥算法生成,客户端A与应用服务器S用会话密钥Kclt-srv加密传输采用国密SM4对称密码算法,因此在改进Kerberos协议过程中体现了基于国密算法的混合密码体制。
综上所述,本发明提出的改进Kerberos协议有效提高了传统Kerberos协议的安全性,可以抵抗以下四种攻击方式。
1、爆破攻击。KDC服务器中存储了用户与应用服务器的关键注册信息,都进行了SM4和SM2加密处理,非法攻击者最多只能获得加密后的注册信息,很难通过解密得到明文注册信息。并且,该注册信息很难被穷举,攻击者很难用爆破的方式的获取明文。同时,算法中的Kerberos协议在进行身份认证前加了两个阶段用来协商随机数,这大大增加密码穷举攻击的难度。攻击者如果想要通过穷举密钥攻击本算法,不仅要穷举密钥,还要穷举算法中增加的随机数。并且可以通过增加随机数的长度来增加本算法的安全性,这使得即使用户使用弱口令,也可以在一定程度上保护算法的安全性。
2、假冒用户攻击。在网络中传输的报文数据经过SM4加密,密钥数据经过SM2公钥加密处理,注册信息中的口令都通过SM3哈希处理,攻击者在没有破解出明文之前,无法得到密钥。
3、重放攻击。传统的Kerberos协议使用固定的加密密钥,而改进Kerberos协议中使用的是动态密钥,增加了协议中报文的随机性。攻击者只能在当前一轮的协议通信中实施重放攻击,而且攻击者只能在图2的第7、8过程进行重放。改进协议通过加入序列号,大大增加了攻击者重放报文的难度,提高了Kerberos协议的安全性。
4、中间人攻击。在改进的Kerberos协议中,即使攻击者通过了初始认证,后面的认证过程用户还会不断地向服务器发送随机数和时间戳,并且用户与服务器通信的认证信息都是通过用户或服务器的公钥加密的,这就保证了即使攻击者截取了网络中传输的报文,也无法实施中间人攻击。
此外,本发明实现了服务器与用户的双向认证,攻击者难以冒充KDC服务器或者应用服务器进行攻击。
Kerberos协议是常见的身份认证方式,本发明利用会话密钥动态化,以及基于国密算法的混合密码体制改进了传统的Kerberos协议,不仅有效解决传统协议中的爆破攻击和重放攻击问题,增强Kerberos协议的安全性,还可避免国际密码算法标准可能存在的后门问题,进一步推广国产密码技术的应用前景,具有实际意义。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (9)

1.一种基于国密算法的Kerberos身份认证协议改进方法,其特征在于,利用会话密钥动态化,以及基于国密算法的混合密码体制改进传统的Kerberos协议,改进后的Kerberos协议包括注册过程和认证过程;
所述认证过程包括三个阶段,分别为:
客户端与AS互相认证;
客户端与TGS通信;
以及客户端与应用服务器通信;
客户端与AS之间的共享密钥使用动态密钥;
认证过程中采用基于国密算法的混合密码体制进行加解密。
2.根据权利要求1所述的一种基于国密算法的Kerberos身份认证协议改进方法,其特征在于,所述基于国密算法的混合密码体制,其加密算法包括以下步骤:
步骤1:通过伪随机数生成器构建会话秘钥;
步骤2:会话密钥通过SM3杂凑,生成杂凑值;
步骤3:将杂凑值作为SM4的秘钥,同时也作为SM2加密的明文,首先使用SM2公钥对会话密钥进行加密,使用SM2私钥解密,实现数字签名;
步骤4:使用SM4算法和会话密钥对明文消息加密;
步骤5:将密文消息和加密后的会话密钥一同封装成报文发送给接收方。
3.根据权利要求2所述的一种基于国密算法的Kerberos身份认证协议改进方法,其特征在于,基于国密算法的混合密码体制,其解密算法包括以下步骤:
步骤1:服务器接收密文,包括密文消息和加密后的会话密钥;
接收方分离用SM4加密的消息和用SM2加密的会话密钥组合而成的密文;
步骤2:分离后得到秘钥加密部分,通过SM2中的私钥对秘钥加密部分进行解密,得到用SM3对会话密钥生成的杂凑值;
步骤3:经过解密拿到加密过程中的SM4的秘钥,然后对消息密文进行解密,解密完成成功拿到明文。
4.根据权利要求1所述的一种基于国密算法的Kerberos身份认证协议改进方法,其特征在于,所述客户端与AS相互认证,认证过程包括以下步骤:
步骤1.1:客户端A向AS发送认证请求AS_REQ,包括用KDC公钥Kkdc加密的时间戳timestamp,客户端A的账号userA,随机数nonce和挑战值iv;
步骤1.2:AS收到后解密出时间戳,并与分离出的userA中时间对比,记录userA的登录信息,与上次userA的登录信息对比得到生命周期;
步骤1.3:若客户端A的请求服务合法,则AS向客户端A响应AS_REP,包括用A的公钥Kclt加密会话密钥Kclt-kdc,时间戳timestamp,随机数nonce和挑战值iv,再用Kkdc加密userA和TGS会话密钥Kclt-kdc产生TGT;
步骤1.4:客户端A收到AS_REP响应后,解密出Kclt-kdc,timestamp和nonce,并保存TGT。
5.根据权利要求4所述的一种基于国密算法的Kerberos身份认证协议改进方法,其特征在于,所述KDC的公钥Kkdc和客户端A的公钥Kclt基于国密SM2算法加密。
6.根据权利要求1所述的一种基于国密算法的Kerberos身份认证协议改进方法,其特征在于,所述客户端与TGS通信,通信过程包括以下步骤:
步骤2.1:客户端A生成TGS_REQ请求发送给TGS,包括缓存的TGT,会话密钥Kclt-kdc加密userA和时间戳timestamp,应用服务器ResourceB;
步骤2.2:TGS收到请求后用Kkdc解密出TGT中的会话密钥,再用Kclt-kdc解密得到UserA和时间戳timestamp,并与数据库中对比验证,保存ResourceB;
步骤2.3:若验证合法,则TGS向客户端A响应TGS_REP,包括用Kclt-kdc加密的客户端与应用服务器会话密钥Kclt-Ksrv,和票据Ticket;
所述Ticket由应用服务器的公钥Ksrv加密userA和客户端与应用服务器会话密钥Kclt-Ksrv生成;
步骤2.4:客户端A收到TGS_REP后用Kclt-kdc解密出Kclt-srv,并保存票据Ticket,在后序客户端A凭借Ticket访问应用服务器以获取资源。
7.根据权利要求6所述的一种基于国密算法的Kerberos身份认证协议改进方法,其特征在于,所述会话密钥Kclt-kdc使用的对称加密算法为国密SM4算法。
8.根据权利要求1所述的一种基于国密算法的Kerberos身份认证协议改进方法,其特征在于,所述客户端与应用服务器通信,通信过程包括以下步骤:
步骤3.1:客户端A向应用服务器S发送CS_REQ,包括用Kclt-srv加密的userA,timestamp和nonce,以及票据Ticket;
步骤3.2:应用服务器S收到后解密Ticket,解密数据enc_data,并与数据库中对比验证完成动态密钥协商,再向客户端A响应CS_REP,即用Kclt-srv加密的timestamp和nonce;
步骤3.3:客户端A收到CS_REP后使用Kclt-srv解密出timestamp和nonce,完成身份认证。
9.根据权利要求8所述的一种基于国密算法的Kerberos身份认证协议改进方法,其特征在于,所述应用服务器S用私钥解密Ticket由基于国密SM2公钥算法生成,客户端A与应用服务器S用会话密钥Kclt-srv加密传输采用国密SM4对称密码算法。
CN202110968052.8A 2021-08-23 2021-08-23 一种基于国密算法的Kerberos身份认证协议改进方法 Withdrawn CN113612797A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110968052.8A CN113612797A (zh) 2021-08-23 2021-08-23 一种基于国密算法的Kerberos身份认证协议改进方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110968052.8A CN113612797A (zh) 2021-08-23 2021-08-23 一种基于国密算法的Kerberos身份认证协议改进方法

Publications (1)

Publication Number Publication Date
CN113612797A true CN113612797A (zh) 2021-11-05

Family

ID=78309159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110968052.8A Withdrawn CN113612797A (zh) 2021-08-23 2021-08-23 一种基于国密算法的Kerberos身份认证协议改进方法

Country Status (1)

Country Link
CN (1) CN113612797A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114071460A (zh) * 2021-11-17 2022-02-18 兰州理工大学 基于Wireless HART工业无线通信协议安全改进方法
CN114492489A (zh) * 2022-01-24 2022-05-13 芯电智联(北京)科技有限公司 一种基于动态数据的nfc标签验证系统
CN114513339A (zh) * 2022-01-21 2022-05-17 国网浙江省电力有限公司金华供电公司 一种安全认证方法、系统及装置
CN114884736A (zh) * 2022-05-11 2022-08-09 山东鲁软数字科技有限公司 一种防爆破攻击的安全防护方法及装置
CN115776390A (zh) * 2022-11-04 2023-03-10 哈尔滨工程大学 一种基于国密的mqtt协议身份认证与数据加密方法
CN116032660A (zh) * 2023-02-21 2023-04-28 北京微步在线科技有限公司 Ad域威胁识别方法、装置、电子设备和存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114071460A (zh) * 2021-11-17 2022-02-18 兰州理工大学 基于Wireless HART工业无线通信协议安全改进方法
CN114071460B (zh) * 2021-11-17 2024-02-06 兰州理工大学 基于Wireless HART工业无线通信协议安全改进方法
CN114513339A (zh) * 2022-01-21 2022-05-17 国网浙江省电力有限公司金华供电公司 一种安全认证方法、系统及装置
CN114492489A (zh) * 2022-01-24 2022-05-13 芯电智联(北京)科技有限公司 一种基于动态数据的nfc标签验证系统
CN114884736A (zh) * 2022-05-11 2022-08-09 山东鲁软数字科技有限公司 一种防爆破攻击的安全防护方法及装置
CN114884736B (zh) * 2022-05-11 2024-04-09 山东鲁软数字科技有限公司 一种防爆破攻击的安全防护方法及装置
CN115776390A (zh) * 2022-11-04 2023-03-10 哈尔滨工程大学 一种基于国密的mqtt协议身份认证与数据加密方法
CN115776390B (zh) * 2022-11-04 2024-04-09 哈尔滨工程大学 一种基于国密的mqtt协议身份认证与数据加密方法
CN116032660A (zh) * 2023-02-21 2023-04-28 北京微步在线科技有限公司 Ad域威胁识别方法、装置、电子设备和存储介质
CN116032660B (zh) * 2023-02-21 2023-06-20 北京微步在线科技有限公司 Ad域威胁识别方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
JP4847322B2 (ja) 二重要素認証されたキー交換方法及びこれを利用した認証方法とその方法を含むプログラムが貯蔵された記録媒体
CN113612797A (zh) 一种基于国密算法的Kerberos身份认证协议改进方法
CN110932870B (zh) 一种量子通信服务站密钥协商系统和方法
CN108683501B (zh) 基于量子通信网络的以时间戳为随机数的多次身份认证系统和方法
Cheikhrouhou et al. A lightweight user authentication scheme for wireless sensor networks
CN104796265A (zh) 一种基于蓝牙通信接入的物联网身份认证方法
CN110020524B (zh) 一种基于智能卡的双向认证方法
EP2984782A1 (en) Method and system for accessing device by a user
CN110087240B (zh) 基于wpa2-psk模式的无线网络安全数据传输方法及系统
CN108881960B (zh) 基于标识密码的智能摄像头安全控制与数据保密的方法
WO2005088892A1 (en) A method of virtual challenge response authentication
CN112751821A (zh) 一种数据传输方法、电子设备和一种存储介质
CN112235108B (zh) 一种基于802.1x的eap-tls认证系统
CN114513339A (zh) 一种安全认证方法、系统及装置
Castiglione et al. An efficient and transparent one-time authentication protocol with non-interactive key scheduling and update
CN110784305B (zh) 基于不经意伪随机函数和签密的单点登录认证方法
Shmuel et al. 3D from an image sequence-occlusions and perspective
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
KR20040013966A (ko) 이동 통신망에서의 인증 및 키 합의 방법
CN112035820B (zh) 一种用于Kerberos加密环境下的数据解析方法
CN111682936B (zh) 一种基于物理不可克隆函数的Kerberos鉴权方法
CN111310210B (zh) 基于口令和匿签密的双重认证对称可搜索加密方法
Chatterjee et al. A novel multi-server authentication scheme for e-commerce applications using smart card
Du et al. Improvement of Kerberos protocol based on dynamic password and “One-time public key”
CN100596066C (zh) 一种基于h323系统的实体认证方法

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20211105