CN114301613B - 安全通信的方法和装置 - Google Patents

安全通信的方法和装置 Download PDF

Info

Publication number
CN114301613B
CN114301613B CN202011003010.2A CN202011003010A CN114301613B CN 114301613 B CN114301613 B CN 114301613B CN 202011003010 A CN202011003010 A CN 202011003010A CN 114301613 B CN114301613 B CN 114301613B
Authority
CN
China
Prior art keywords
key
ciphertext
encryption
kek
security token
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
Application number
CN202011003010.2A
Other languages
English (en)
Other versions
CN114301613A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011003010.2A priority Critical patent/CN114301613B/zh
Publication of CN114301613A publication Critical patent/CN114301613A/zh
Application granted granted Critical
Publication of CN114301613B publication Critical patent/CN114301613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种安全通信的方法和装置。该方法包括:第一设备从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文,该第一密钥加密密文为根据该第一KEK对第一加密密钥加密获得的密文;该第一设备根据该第一KEK对该第一密钥加密密文进行解密以获取该第一加密密钥;该第一设备根据该第一加密密钥对第一传输数据进行加密以获取第一数据加密密文;该第一设备向第二设备发送该第一数据加密密文。本申请实施例的安全通信方法和装置,通过引入独立的密钥及安全令牌分发机制并采用对称的加密认证方式,能够减少建链时延、提高计算效率,同时满足性能好、安全性高、适应性强的通信要求。

Description

安全通信的方法和装置
技术领域
本申请涉及通信领域,并且更加具体地,涉及通信领域中安全通信的方法和装置。
背景技术
传统框式设备的交互背板总线是封闭且安全的,但是随着通信技术的发展,设备逐渐迁移到了网络功能虚拟化(network functions virtualization,NFV)和微服务等环境,内部通信的总线背板不再安全,因此在新的通信环境中,需要对设备内部的数据传输信道采用端到端的保护以满足安全通信的诉求。
当前运行在传输层之上最流行的用于端到端保护的安全协议是传输层安全性协议(transport layer security,TLS)/数据包传输层安全性协议(datagram transportlayer security,DTLS)。TLS/DTLS用于为互联网通信提供安全及数据完整性保障。
然而,当前的TLS/DTLS安全通信协议在安全传输过程还存在很多局限性,例如,TLS/DTLS认证及传输协议是一个多轮握手协议,其在建链握手时要进行多轮交互,建链时延较长,同时TLS/DTLS协议在建链握手时基于非对称加密,对计算能力消耗较大,因此TLS/DTLS协议在性能上会有一定的瓶颈。
同时,TLS/DTLS在使用场景方面也非常受限。TLS/DTLS和底层传输协议传输控制协议(transport control protocol,TCP)/用户数据报协议(user data protocol,UDP)绑定,并不适用底层不是TCP/UDP的业务场景。第五代移动通信(the 5th generation mobilecommunication technology,5G)系统和移动边缘计算(mobile edge computing,MEC)系统中的网络设备具有大流量、低时延、多连接的特点,因此其对设备间的安全通信提出了更高的要求。5G系统和MEC系统可能使用TCP/UDP之外的其他传输协议,因此5G系统和MEC系统可能不能使用TLS/DTLS协议来保证安全通信。换一句话说,当前的TLS/DTLS协议在性能和适应性方面已经不能满足一些新的网络环境对安全通信的要求。
另外,TLS/DTLS协议只支持协议栈包含的算法,不支持一些特定的算法,比如国密SM算法,算法的扩展性较差。
因此提供一种能同时满足性能好、安全性高、适应性强的安全通信方法是当前亟待解决的问题。
发明内容
本申请提供了一种安全通信的方法和装置,使得设备之间的通信能够满足性能好、安全性高和适应性强的要求。
第一方面,提供了一种安全通信的方法,该方法包括:第一设备从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文,该第一密钥加密密文为根据该第一KEK对第一加密密钥加密获得的密文;该第一设备根据该第一KEK对该第一密钥加密密文进行解密以获取该第一加密密钥;该第一设备根据该第一加密密钥对第一传输数据进行加密以获取第一数据加密密文;该第一设备向第二设备发送该第一数据加密密文。
结合第一方面,在第一方面的第一种可能的实现中,该方法还包括:该第一设备从该安全令牌服务实体获取第二密钥加密密文,该第二密钥加密密文为根据该第二KEK对该第一加密密钥加密获得的密文;该第一设备向该第二设备发送该第二密钥加密密文。
结合第一方面或第一方面的第一种可能的实现方式中,在第一方面的第二种可能的实现方式中,该第一设备根据该第一KEK对该第一密钥加密密文进行解密以获取该第一加密密钥包括:该第一设备获取第一KEK版本;该第一设备根据该第一KEK版本确定该第一KEK处于生命周期有效期内;该第一设备根据处于生命周期有效期内的该第一KEK对该第一密钥加密密文进行解密以获取该第一加密密钥。
结合第一方面或第一方面的第一种可能的实现方式中,在第一方面的三种可能的实现方式中,该第一设备根据该第一KEK对该第一密钥加密密文进行解密以获取该第一加密密钥包括:该第一设备获取安全令牌版本;该第一设备根据该安全令牌版本确定该第一密钥加密密文处于生命周期有效期内;该第一设备根据该第一KEK对处于生命周期有效期内的该第一密钥加密密文进行解密以获取该第一加密密钥。
结合第一方面或第一方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,在该第一设备从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文之前,该方法还包括:该第一设备向该安全令牌服务实体发送第一请求信息,该第一请求信息用于请求该第一KEK,该第一请求消息包括第一标识,该第一标识用于指示该第一设备的业务类型,该第一设备从该安全令牌服务实体获取的该第一KEK与该第一设备的业务类型相关联。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,在该第一设备从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文之前,该方法还包括:该第一设备向该安全令牌服务实体发送第二请求信息,该第二请求信息用于请求该第一密钥加密密文,该第二请求信息包括该第一标识,该第一设备从该安全令牌服务实体获取的该第一密钥加密密文与该第一设备的业务类型相关联。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,该第二请求信息进一步用于请求第二密钥加密密文,该第二请求信息还包括第二标识,该第二标识用于指示该第二设备的业务类型;该方法还包括:该第一设备从该安全令牌服务实体获取第二密钥加密密文,该第二密钥加密密文为根据第二KEK对该第一加密密钥进行加密获得的密文,该第二密钥加密密文与该第二设备的业务程序类型相关联;该第一设备向该第二设备发送该第二密钥加密密文。
结合第一方面或第一方面的第一种至第六种可能的实现方式中的任一种可能的实现方式,在第一方面的第七种可能的实现方式中,该第一设备从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文包括:该第一设备接收该安全令牌服务实体发送的第三密钥加密密文,该第三密钥加密密文为该第一KEK的加密密文;该第一设备与该安全令牌服务实体通过密钥协商获取第一传输密钥,根据该第一传输密钥对该第三密钥加密密文进行解密以获取该第一KEK;该第一设备从该安全令牌服务实体接收该第一加密密钥。
结合第一方面或第一方面的第一种至第六种可能的实现方式中的任一种可能的实现方式,在第一方面的第八种可能的实现方式中,该第一设备从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文包括:该第一设备从该安全令牌服务实体接收该第一KEK;该第一设备从该安全令牌服务实体接收令牌加密密文,该令牌加密密文为安全令牌的加密密文,该安全令牌包括该第一密钥加密密文;该第一设备与该安全令牌服务实体通过密钥协商获取第二传输密钥,根据该第二传输密钥对该令牌加密密文进行解密以获取该安全令牌,根据该安全令牌获取该第一密钥加密密文。
结合第一方面的第一种或第六种可能的实现方式,在第一方面的第九种可能的实现方式中,在该第一设备向该第二设备发送该第二密钥加密密文之后,该方法还包括:该第一设备向该第二设备发送会话重建请求信息,该会话重建请求信息包括会话重建标识号,该会话重建标识号用于标识该第一加密密钥,该重建请求信息用于请求该第二设备通过根据会话重建标识号确定的该第一加密密钥进行信息交互;该第一设备接收该第二设备发送的第三数据加密密文,该第三数据加密密文为该第二设备根据该第一加密密钥对第三传输数据进行加密获得的密文。
结合第一方面或第一方面的第一种至第九种可能的实现方式中的任一种可能的实现方式,在第一方面的第十种可能的实现方式中,该第一设备根据该第一加密密钥对第一传输数据进行加密以获取第一数据密文,包括:该第一设备根据该第一加密密钥确定第一签名密钥、第一机密密钥和第一完整性密钥中的至少一个,该第一签名密钥用于身份认证,该第一机密密钥用于对该第一传输数据进行机密性保护,该第一完整性密钥用于对该第一传输数据进行完整性保护;该第一设备根据该第一签名密钥、第一机密密钥和第一完整性密钥中的至少一个对第一传输数据进行加密以获取该第一数据密文。
结合第一方面或第一方面的第一种至第十种可能的实现方式中的任一种可能的实现方式,在第一方面的第十一种可能的实现方式中,该方法还包括:该第一设备接收该第二设备发送的第二数据加密密文,该第二数据加密密文为根据该第一加密密钥对第二传输数据进行加密获得的密文;该第一设备根据该第一加密密钥对该第二数据加密密文进行解密以获取该第二传输数据;该第一设备根据所述第一加密密钥对所述第三数据加密密文进行解密以获取所述第三传输数据。
第二方面,提供了一种安全通信的方法,该方法包括:安全令牌服务实体通过第一密钥加密密钥KEK对第一加密密钥进行加密以获取第一密钥加密密文,该第一加密密钥用于对第一传输数据进行加密以获取第一数据密文以及对该第一数据密文进行解密;该安全令牌服务实体向第一设备发送该第一KEK和该第一密钥加密密文,该第一KEK和该第一密钥加密密文用于获取该第一加密密钥;该安全令牌服务实体向第二设备发送第二KEK,该第二KEK用于对该第一加密密钥加密获得第二密钥加密密文。
结合第二方面,在第二方面的第一种可能的实现方式中,该方法还包括:该安全令牌服务实体通过该第二KEK对该第一加密密钥进行加密以获取第二密钥加密密文;该安全令牌服务实体向该第一设备发送该第二密钥加密密文。
结合第二方面,在第二方面的第二种可能的实现方式中,在该安全令牌服务实体向第一设备发送该第一KEK和该第一密钥加密密文之前,该方法还包括:该安全令牌服务实体接收该第一设备发送的第一请求信息,该第一请求信息用于请求该第一KEK,该第一请求消息包括第一标识,该第一标识用于指示该第一设备的业务类型;该安全令牌服务实体向第一设备发送该第一KEK和该第一密钥加密密文包括:该安全令牌服务实体向该第一设备发送与该第一设备的业务类型相关联的该第一KEK;该安全令牌服务实体向该第一设备发送该第一密钥加密密文。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,在该安全令牌服务实体向第一设备发送该第一KEK和该第一密钥加密密文之前,该方法还包括:该安全令牌服务实体接收该第一设备发送的第二请求信息,该第二请求信息用于请求该第一密钥加密密文,该第二请求消息包括第一标识;该安全令牌服务实体向第一设备发送该第一KEK和该第一密钥加密密文包括:该安全令牌服务实体向该第一设备发送该第一KEK;该安全令牌服务实体向该第一设备发送与该第一设备的业务类型相关联的该第一密钥加密密文。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,该第二请求信息进一步用于请求第二密钥加密密文,该第二请求信息还包括第二标识,该第二标识用于指示该第二设备的业务类型;该方法还包括:该安全令牌服务实体向该第一设备发送与该第二设备的业务类型相关联的该第二密钥加密密文,该第二密钥加密密文为根据第二KEK对该第一加密密钥进行加密获得的密文。
结合第二方面,在第二方面的第五种可能的实现方式中,在该安全令牌服务实体向第二设备发送第二KEK之前,该方法还包括:该安全令牌服务实体接收该第二设备发送的第三请求信息,该第三请求信息用于请求该第二KEK,该第三请求消息包括第二标识,该第二标识用于指示该第二设备的业务类型;该安全令牌服务实体向第二设备发送第二KEK包括:该安全令牌服务实体向该第二设备发送与该第二设备的业务类型相关联的该第二KEK。
结合第二方面或第二方面的第二种至第四种可能的实现方式中的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,该安全令牌服务实体向第一设备发送该第一KEK和该第一密钥加密密文包括:该安全令牌服务实体与该第一设备通过密钥协商获取第一传输密钥及该第一KEK,根据该第一传输密钥对该第一KEK进行加密以获取第三密钥加密密文;该安全令牌服务实体向该第一设备发送该第三密钥加密密文;该安全令牌服务实体向该第一设备发送该第一密钥加密密文。
结合第二方面或第二方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第二方面的第七种可能的实现方式中,该安全令牌服务实体向第一设备发送该第一KEK和该第一密钥加密密文包括:该安全令牌服务实体向该第一设备发送该第一KEK;该安全令牌服务实体与该第一设备通过密钥协商获取第二传输密钥,根据该第二传输密钥对安全令牌进行加密以获取令牌加密密文,该安全令牌包括该第一密钥加密密文;该安全令牌服务实体向该第一设备发送该令牌加密密文。
结合第二方面,在第二方面的第八种可能的实现方式中,该安全令牌服务实体向第二设备发送该第二KEK包括:该安全令牌服务实体与该第二设备通过密钥协商获取第三传输密钥及该第二KEK,根据该第三传输密钥对该第二KEK进行加密以获取第四密钥加密密文;该安全令牌服务实体向该第二设备发送该第四密钥加密密文。
第三方面,提供了一种安全通信的方法,该方法包括:第二设备从安全令牌服务实体获取第二KEK;该第二设备接收第一设备发送的第一数据加密密文,该第一数据加密密文为该第一加密密钥对第一传输数据进行加密获得的密文;该第二设备获取第二密钥加密密文,该第二加密密文为根据该第二KEK对该第一加密密钥加密获得的密文;该第二设备根据该第二KEK对该第二密钥加密密文进行解密以获取第一加密密钥;该第二设备根据该第一加密密钥对该第一数据加密密文进行解密以获取该第一传输数据。
结合第三方面,在第三方面的第一种可能的实现方式中,该第二设备获取第二密钥加密密文包括:该第二设备接收该第一设备或该安全令牌服务实体发送的该第二密钥加密密文。
结合第三方面或第三方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,该第二设备根据该第二KEK对第二密钥加密密文进行解密以获取第一加密密钥,包括:该第二设备获取第二KEK版本;该第二设备根据该第二KEK版本确定该第二KEK处于生命周期有效期内;该第二设备根据处于生命周期有效期内的该第二KEK对该第二密钥加密密文进行解密以获取该第一加密密钥。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式中,该第二设备根据该第二KEK对第二密钥加密密文进行解密以获取第一加密密钥,包括:该第二设备获取安全令牌版本;该第二设备根据该安全令牌版本确定该第二密钥加密密文处于生命周期有效期内;该第二设备根据该第二KEK对处于生命周期有效期内的该第二密钥加密密文进行解密以获取该第一加密密钥。
结合第三方面或第三方面的第二种至第三种可能的实现方式中的任一种可能的实现方式,在第三方面的第四种可能的实现方式中,在该第二设备从安全令牌服务实体获取第二KEK之前,该方法还包括:该第二设备向该安全令牌服务实体发送第三请求信息,该第三请求信息用于请求该第二KEK,该第三请求信息包括第二标识,该第二标识用于指示该第二设备的业务类型,该第二设备从该安全令牌服务实体获取的该第二KEK与该第二设备的业务类型相关联。
结合第三方面或第三方面的第二种至第三种可能的实现方式中的任一种可能的实现方式,在第三方面的第五种可能的实现方式中,该第二设备从安全令牌服务实体获取第二KEK包括:该第二设备接收该安全令牌服务实体发送的第四密钥加密密文,该第四密钥加密密文为该第二KEK的加密密文;该第二设备与该安全令牌服务实体通过密钥协商获取第三传输密钥,根据该第三传输密钥对该第四密钥加密密文进行解密以获取该第二KEK。
结合第三方面的第一种可能的实现方式,在第三方面的第六种可能的实现方式中,在该第二设备接收该第一设备或该安全令牌服务实体发送的该第二密钥加密密文之后,该方法还包括:该第二设备接收该第一设备发送的会话重建请求信息,该会话重建请求信息包括会话重建标识号,该会话重建标识号用于标识该第一加密密钥;该第二设备根据该会话重建标识号确定该第一加密密钥;该第二设备根据该第一加密密钥对该第三传输数据进行加密获得第三数据加密密文;该第二设备向该第一设备发送该第三数据加密密文。
结合第三方面或第三方面的第一种至第六种可能的实现方式中的任一种可能的实现方式,在第三方面的第七种可能的实现方式中,该第二设备根据该第一加密密钥对该第一数据加密密文进行解密以获取第一传输数据包括:该第二设备根据该第一加密密钥确定第一签名密钥、第一机密密钥和第一完整性密钥中的至少一个;该第二设备根据该第一签名密钥、第一机密密钥和第一完整性密钥中的至少一个对该第一数据加密密文进行解密以获取该第一传输数据,该第一签名密钥用于身份认证,该第一机密密钥用于对该第一传输数据进行机密性保护,该第一完整性密钥用于对该第一传输数据进行完整性保护。
结合第三方面或第三方面的第一种至第七种可能的实现方式中的任一种可能的实现方式,在第三方面的第八种可能的实现方式中,该方法还包括:该第二设备根据该第一加密密钥对第二传输数据进行加密以获取第二数据加密密文;向该第一设备发送该第二数据加密密文。
第四方面,提供了一种安全通信的装置,该装置包括:获取模块,用于从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文,该第一密钥加密密文为根据该第一KEK对第一加密密钥加密获得的密文;第一解密模块,用于根据该第一KEK对该第一密钥加密密文进行解密以获取该第一加密密钥;加密模块,用于根据该第一加密密钥对第一传输数据进行加密以获取第一数据加密密文;第一发送模块,用于向第二设备发送该第一数据加密密文。
结合第四方面,在第四方面的第一种可能的实现方式中,该获取模块还用于从该安全令牌服务实体获取第二密钥加密密文,该第二密钥加密密文为根据该第二KEK对该第一加密密钥加密获得的密文;该第一发送模块还用于向该第二设备发送该第二密钥加密密文。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,该获取模块包括:第一获取单元,用于获取第一KEK版本;第一确定单元,用于根据该第一KEK版本确定该第一KEK处于生命周期有效期内;第一解密单元,用于根据处于生命周期有效期内的该第一KEK对该第一密钥加密密文进行解密以获取该第一加密密钥。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第三种可能的实现方式中,该获取模块包括:第二获取单元,用于获取安全令牌版本;第二确定单元,用于根据该安全令牌版本确定该第一密钥加密密文处于生命周期有效期内;第二解密单元,用于根据该第一KEK对处于生命周期有效期内的该第一密钥加密密文进行解密以获取该第一加密密钥。
结合第四方面或第四方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第四方面的第四种可能的实现方式中,该装置还包括:第二发送模块,用于在该获取模块从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文之前,向该安全令牌服务实体发送第一请求信息,该第一请求信息用于请求该第一KEK,该第一请求消息包括第一标识,该第一标识用于指示该安全通信的装置的业务类型,该获取模块从该安全令牌服务实体获取的该第一KEK与该安全通信的装置的业务类型相关联。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,该第二发送模块还用于在该获取模块从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文之前,向该安全令牌服务实体发送第二请求信息,该第二请求信息用于请求该第一密钥加密密文,该第二请求信息包括该第一标识,该获取模块从该安全令牌服务实体获取的该第一密钥加密密文与该安全通信的装置的业务类型相关联。
结合第四方面的第五种可能的实现方式,在第四方面的第六种可能的实现方式中,该第二请求信息进一步用于请求第二密钥加密密文,该第二请求信息还包括第二标识,该第二标识用于指示该第二设备的业务类型;该获取模块还用于从该安全令牌服务实体获取第二密钥加密密文,该第二密钥加密密文为根据第二KEK对该第一加密密钥进行加密获得的密文,该第二密钥加密密文与该第二设备的业务程序类型相关联;该第一发送模块还用于向该第二设备发送该第二密钥加密密文。
结合第四方面或第四方面的第一种至第六种可能的实现方式中的任一种可能的实现方式,在第四方面的第七种可能的实现方式中,该获取模块包括:第一接收单元,用于接收该安全令牌服务实体发送的第三密钥加密密文,该第三密钥加密密文为该第一KEK的加密密文;第三获取单元,用于与该安全令牌服务实体通过密钥协商获取第一传输密钥;第三解密单元,用于根据该第一传输密钥对该第三密钥加密密文进行解密以获取该第一KEK;第二接收单元,用于从该安全令牌服务实体接收该第一加密密钥。
结合第四方面或第四方面的第一种至第六种可能的实现方式中的任一种可能的实现方式,在第四方面的第八种可能的实现方式中,该获取模块包括:第三接收单元,用于从该安全令牌服务实体接收该第一KEK;第四接收单元,用于从该安全令牌服务实体接收令牌加密密文,该令牌加密密文为安全令牌的加密密文,该安全令牌包括该第一密钥加密密文;第四获取单元,用于与该安全令牌服务实体通过密钥协商获取第二传输密钥;第四解密单元,用于根据该第二传输密钥对该令牌加密密文进行解密以获取该安全令牌;第五获取单元,用于根据该安全令牌获取该第一密钥加密密文。
结合第四方面的第一种或第六种可能的实现方式,在第四方面的第九种可能的实现方式中,该装置还包括:第三发送模块,用于向该第二设备发送会话重建请求信息,该会话重建请求信息包括会话重建标识号,该会话重建标识号用于标识该第一加密密钥,该重建请求信息用于请求该第二设备通过根据会话重建标识号确定的该第一加密密钥进行信息交互;接收模块,用于接收该第二设备发送的第三数据加密密文,该第三数据加密密文为该第二设备根据该第一加密密钥对第三传输数据进行加密获得的密文;第二解密模块,用于根据所述第一加密密钥对所述第三数据加密密文进行解密以获取所述第三传输数据。
结合第四方面或第四方面的第一种至第九种可能的实现方式中的任一种可能的实现方式,在第四方面的第十种可能的实现方式中,该加密模块包括:第三确定单元,用于根据该第一加密密钥确定第一签名密钥、第一机密密钥和第一完整性密钥中的至少一个,该第一签名密钥用于身份认证,该第一机密密钥用于对该第一传输数据进行机密性保护,该第一完整性密钥用于对该第一传输数据进行完整性保护;加密单元,用于根据该第一签名密钥、第一机密密钥和第一完整性密钥中的至少一个对第一传输数据进行加密以获取该第一数据密文。
结合第四方面或第四方面的第一种至第十种可能的实现方式中的任一种可能的实现方式,在第四方面的第十一种可能的实现方式中,该装置还包括第五接收单元,用于接收该第二设备发送的第二数据加密密文,该第二数据加密密文为根据该第一加密密钥对第二传输数据进行加密获得的密文;第五解密单元,用于根据该第一加密密钥对该第二数据加密密文进行解密以获取该第二传输数据。
第五方面,提供了一种安全令牌服务实体装置,该装置包括:加密模块,用于通过第一密钥加密密钥KEK对第一加密密钥进行加密以获取第一密钥加密密文,该第一加密密钥用于对第一传输数据进行加密以获取第一数据密文以及对该第一数据密文进行解密;第一发送模块,用于该安全令牌服务实体向第一设备发送该第一KEK和该第一密钥加密密文,该第一KEK和该第一密钥加密密文用于获取该第一加密密钥;第二发送模块,用于向第二设备发送第二KEK,该第二KEK用于对该第一加密密钥加密获得第二密钥加密密文。
结合第五方面,在第五方面的第一种可能的实现方式中,该加密模块还用于通过该第二KEK对该第一加密密钥进行加密以获取第二密钥加密密文;该第一发送模块还用于向该第一设备发送该第二密钥加密密文。
结合第五方面或第五方面的第一种可能实现方式,在第五方面的第二种可能的实现方式中,该装置还包括:第一接收模块,用于接收该第一设备发送的第一请求信息,该第一请求信息用于请求该第一KEK,该第一请求消息包括第一标识,该第一标识用于指示该第一设备的业务类型;该第一发送模块具体用于向该第一设备发送与该第一设备的业务类型相关联的该第一KEK及该第一密钥加密密文。
结合第五方面第二种可能实现方式,在第五方面的第三种可能的实现方式中,该装置还包括:第二接收模块,用于在该第一发送模块向该第一设备发送该第一KEK和该第一密钥加密密文之前,接收该第一设备发送的第二请求信息,该第二请求信息用于请求该第一密钥加密密文,该第二请求消息包括第一标识;该第一发送模块具体用于向该第一设备发送该第一KEK及与该第一设备的业务类型相关联的该第一密钥加密密文。
结合第五方面第三种可能实现方式,在第五方面的第四种可能的实现方式中,该第二请求信息进一步用于请求第二密钥加密密文,该第二请求信息还包括第二标识,该第二标识用于指示该第二设备的业务类型;该第一发送模块还用于向该第一设备发送与该第二设备的业务类型相关联的该第二密钥加密密文,该第二密钥加密密文为根据第二KEK对该第一加密密钥进行加密获得的密文。
结合第五方面或第五方面的第一种可能实现方式,在第五方面的第五种可能的实现方式中,该装置还包括:第三接收模块,用于在该第二发送模块向该第二设备发送该第二KEK之前,接收该第二设备发送的第三请求信息,该第三请求信息用于请求该第二KEK,该第三请求消息包括第二标识,该第二标识用于指示该第二设备的业务类型;该第二发送模块具体用于向该第二设备发送与该第二设备的业务类型相关联的该第二KEK。
结合第五方面或第五方面的第一种至第五种可能的实现方式中的任一种可能的实现方式,在第五方面的第六种可能的实现方式中,该第一发送模块包括:第一获取单元,用于与该第一设备通过密钥协商获取第一传输密钥及该第一KEK;第一加密单元,用于根据该第一传输密钥对该第一KEK进行加密以获取第三密钥加密密文;第一发送单元,用于向该第一设备发送该第三密钥加密密文;第二发送单元,用于向该第一设备发送该第一密钥加密密文。
结合第五方面或第五方面的第一种至第五种可能的实现方式中的任一种可能的实现方式,在第五方面的第七种可能的实现方式中,该第一发送模块包括:第三发送单元,用于向该第一设备发送该第一KEK;第二获取单元,用于与该第一设备通过密钥协商获取第二传输密钥;第二加密单元,用于根据该第二传输密钥对安全令牌进行加密以获取令牌加密密文,该安全令牌包括该第一密钥加密密文;第三发送单元,用于向该第一设备发送该令牌加密密文。
结合第五方面或第五方面的第一种至第五种可能的实现方式中的任一种可能的实现方式,在第五方面的第八种可能的实现方式中,该第二发送模块包括:第三获取单元,用于与该第二设备通过密钥协商获取第三传输密钥及该第二KEK;第三加密单元,用于根据该第三传输密钥对该第二KEK进行加密以获取第四密钥加密密文;第四发送单元,用于向该第二设备发送该第四密钥加密密文。
第六方面,提供了一种安全通信的装置,该装置包括:第一获取模块,用于从安全令牌服务实体获取第二KEK;接收模块,用于接收第一设备发送的第一数据加密密文,该第一数据加密密文为该第一加密密钥对第一传输数据进行加密获得的密文;第二获取模块,用于获取第二密钥加密密文,该第二加密密文为根据该第二KEK对该第一加密密钥加密获得的密文;第一解密模块,用于根据该第二KEK对该第二密钥加密密文进行解密以获取第一加密密钥;第二解密模块,用于根据该第一加密密钥对该第一数据加密密文进行解密以获取该第一传输数据。
结合第六方面,在第六方面的第一种可能的实现方式中,该第二获取模块包括:第一接收单元,用于接收该第一设备或该安全令牌服务实体发送的该第二密钥加密密文。
结合第六方面或第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,该第一解密模块包括:第一获取单元,用于获取第二KEK版本;第一确定单元,用于根据该第二KEK版本确定该第二KEK处于生命周期有效期内;第一解密单元,用于根据处于生命周期有效期内的该第二KEK对该第二密钥加密密文进行解密以获取该第一加密密钥。
结合第六方面或第六方面的第一种可能的实现方式,在第六方面的第三种可能的实现方式中,该第一解密模块包括:第二获取单元,用于获取安全令牌版本;第二确定单元,用于根据该安全令牌版本确定该第二密钥加密密文处于生命周期有效期内;第二解密单元,用于根据该第二KEK对处于生命周期有效期内的该第二密钥加密密文进行解密以获取该第一加密密钥。
结合第六方面或第六方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第六方面的第四种可能的实现方式中,该装置还包括:发送模块,用于在该第一获取模块从该安全令牌服务实体获取该第二KEK之前,向该安全令牌服务实体发送第三请求信息,该第三请求信息用于请求该第二KEK,该第三请求信息包括第二标识,该第二标识用于指示该安全通信的装置的业务类型,该第一获取模块从该安全令牌服务实体获取的该第二KEK与该安全通信的装置的业务类型相关联。
结合第六方面或第六方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第六方面的第五种可能的实现方式中,该第一获取模块包括:第二接收单元,用于接收该安全令牌服务实体发送的第四密钥加密密文,该第四密钥加密密文为该第二KEK的加密密文;第三获取单元,用于与该安全令牌服务实体通过密钥协商获取第三传输密钥;第三解密单元,用于根据该第三传输密钥对该第四密钥加密密文进行解密以获取该第二KEK。
结合第六方面的第一种可能实现方式,在第六方面的第六种可能的实现方式中,该装置还包括:第二发送模块,用于在该第一接收单元接收该第一设备或该安全令牌服务实体发送的该第二密钥加密密文之后,接收该第一设备发送的会话重建请求信息,该会话重建请求信息包括会话重建标识号,该会话重建标识号用于标识该第一加密密钥;确定模块,用于根据该会话重建标识号确定该第一加密密钥;加密模块,用于根据该第一加密密钥对该第三传输数据进行加密获得第三数据加密密文;第三发送模块,用于向该第一设备发送该第三数据加密密文。
结合第六方面或第六方面的第一种至第六种可能的实现方式中的任一种可能的实现方式,在第六方面的第七种可能的实现方式中,该第二加密模块包括:第三确定单元,用于根据该第一加密密钥确定第一签名密钥、第一机密密钥和第一完整性密钥中的至少一个;第四解密单元,用于根据该第一签名密钥、第一机密密钥和第一完整性密钥中的至少一个对该第一数据加密密文进行解密以获取该第一传输数据,该第一签名密钥用于身份认证,该第一机密密钥用于对该第一传输数据进行机密性保护,该第一完整性密钥用于对该第一传输数据进行完整性保护。
结合第六方面或第六方面的第一种至第七种可能的实现方式中的任一种可能的实现方式,在第六方面的第八种可能的实现方式中,该装置还包括:加密单元,用于根据该第一加密密钥对第二传输数据进行加密以获取第二数据加密密文;发送单元,用于向该第一设备发送该第二数据加密密文。
第七方面,提供了一种安全通信设备,包括,处理器,存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该通信设备执行第一方面至第三方面中的任一方面及其各种实现方式中的通信方法。
结合第七方面,在第七方面的第一种可能的实现方式中,该处理器为一个或多个,该存储器为一个或多个。
结合第七方面或第七方面的第一种可能实现方式,在第七方面的第二种可能的实现方式中,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
结合第七方面或第七方面的第一种至第二种可能的实现方式中的任一种可能的实现方式,在第七方面的第三种可能实现方式中,该终端设备还包括,发射机(发射器)和接收机(接收器)。
第八方面,提供了一种通信系统,包括上述第七方面提供的通信设备。
在一种可能的设计中,该通信系统还可以包括本申请实施例提供的方案中与通信设备进行交互的其他设备。
第九方面,提供了一种通信系统,包括第一设备、安全令牌服务实体和第二设备。
其中,该第一设备用于指示上述第一方面中的各实现方式的方法,该安全令牌服务实体用于指示上述第二方面中的各实现方式的方法,该第二设备用于指示上述第三方面中的各实现方式的方法。
在一种可能的设计中,该通信系统还可以包括本申请实施例提供的方案中与通信设备进行交互的其他设备。
第十方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述第一方面至第三方面中的任意方面及其可能实现方式中的方法。
第十一方面,提供了一种计算机可读介质,所述计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面至第三方面中的任意方面及其可能实现方式中的方法。
第十二方面,提供了一种芯片系统,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片系统的通信设备执行上述第一方面至第三方面中的任意方面及其可能实现方式中的方法。
其中,该芯片系统可以包括用于发送信息或数据的输入电路或者接口,以及用于接收信息或数据的输出电路或者接口。
基于上述技术方案,本申请的安全通信的方法,通过引入密钥及安全令牌分发机制,使得通信系统在安全通信之前便完成了密钥信息的分发,避免了通信设备在建链过程进行多轮握手,因此可以减少安全通信过程的建链时延,从而提高安全通信系统的性能。同时采用对称的加密认证方式,既保证了安全性,又提高了计算效率、减少了计算消耗。并且由于本申请方案通过安全令牌服务实体引入了独立的加密密钥机制,使得本申请的安全通信方法有很强的适应性,能够满足灵活加密的需求,即可以在加密的时候根据业务需要自由选择加密算法。
附图说明
图1是本申请实施例提供的安全通信的方法的示意性流程图。
图2是本申请实施例提供的安全通信的方法的另一示意性流程图。
图3是本申请实施例提供的安全通信的方法的再一示意性流程图。
图4是本申请实施例提供的安全通信的方法的再一示意性流程图。
图5是本申请实施例提供的安全通信的装置中第一设备的示意性框图。
图6是本申请实施例提供的安全通信的装置中第一设备的另一示意性框图。
图7是本申请实施例提供的安全通信的装置中第一设备的再一示意性框图。
图8是本申请实施例提供的安全通信的装置中第一设备的再一示意性框图。
图9是本申请实施例提供的安全通信的装置中第一设备的再一示意性框图。
图10是本申请实施例提供的安全通信的装置中第一设备的再一示意性框图。
图11是本申请实施例提供的安全通信的装置中第一设备的再一示意性框图。
图12是本申请实施例提供的安全令牌服务实体装置的示意性框图。
图13是本申请实施例提供的安全令牌服务实体装置的另一示意性框图。
图14是本申请实施例提供的安全令牌服务实体装置的再一示意性框图。
图15是本申请实施例提供的安全令牌服务实体装置的再一示意性框图。
图16是本申请实施例提供的安全令牌服务实体装置的再一示意性框图。
图17是本申请实施例提供的安全令牌服务实体装置的再一示意性框图。
图18是本申请实施例提供的安全令牌服务实体装置的再一示意性框图。
图19是本申请实施例提供的安全通信的装置中第二设备的示意性框图。
图20是本申请实施例提供的安全通信的装置中第二设备的另一示意性框图。
图21是本申请实施例提供的安全通信的装置中第二设备的再一示意性框图。
图22是本申请实施例提供的安全通信的装置中第二设备的再一示意性框图。
图23是本申请实施例提供的安全通信的装置中第二设备的再一示意性框图。
图24是本申请实施例提供的安全通信的装置中第二设备的再一示意性框图。
图25是本申请实施例提供的安全通信的装置中第二设备的再一示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例中,第一设备和第二设备均为通信设备,本申请实施例涉及的通信设备可以是系统内部的不同通信模块,也可以是不同系统间的不同通信模块,例如,本申请实施例涉及的应用场景可以是同一系统或不同系统中不同的微服务进程之间的通信,也可以是同一网络系统或不同网络系统中的不同网元之间的通信,本申请并不限定,但为描述方便,下述实施例将以5G核心网中一个网元内部不同类型微服务之间的通信为例进行说明。
下面首先对本申请实施例提供的安全通信方法进行说明。
图1示出了根据本申请实施例的一种安全通信方法100的示意性流程图。图1中的第一设备为发送设备,例如可以为前面描述的一种B类型微服务进程中的其中一个工作负载实例B1;第二设备为接收设备,例如可以为前面描述的一种D类型微服务进程中的其中一个工作负载实例D1;安全令牌服务实体是一种发行和验证密钥及安全令牌Token的网络服务实体,安全令牌服务实体被通信双方共同信任,扮演着第一设备和第二设备之间的中介者的角色。应理解,安全令牌服务实体可以是一个单独的实体,还可以是设置在网络设备中的一个模块,例如,安全令牌服务实体可以是设置在接入和移动性管理功能(access andmobility management function,AMF)的一个功能模块。安全令牌服务实体可以通过主备方式或负荷分担方式部署在通信系统中,例如以主备方式部署在5G核心网系统中。应理解,图1仅以系统包括两个通信设备为例进行说明,但本申请实施例并不限于此,例如,系统还可以包括更多的通信设备。还应理解,图1仅以第一设备为发送端(即消息请求端)、第二设备为接收端(即消息响应端)为例进行说明,但本申请实施例并不限于此,例如,第一设备还可以是接收端,第二设备也可以是发送端。从图1中可以看出,方法100包括:
S110,安全令牌服务实体通过第一密钥加密密钥(key-encrypting key,KEK)对第一加密密钥进行加密以获取第一密钥加密密文,该第一加密密钥用于对第一传输数据进行加密以获取第一数据密文以及对该第一数据密文进行解密。
S120,第一设备从安全令牌服务实体获取第一KEK和第一密钥加密密文,该第一密钥加密密文为根据第一KEK对第一加密密钥加密获得的密文。
S130,第一设备根据第一KEK对第一密钥加密密文进行解密以获取第一加密密钥。
S140,第一设备根据第一加密密钥对第一传输数据进行加密以获取第一数据加密密文。
S150,第二设备从安全令牌服务实体获取第二KEK。
S160,第一设备向第二设备发送第一数据加密密文。
S170,第二设备根据第二KEK对第二密钥加密密文进行解密以获取第一加密密钥。
S180,第二设备根据第一加密密钥对第一数据加密密文进行解密以获取第一传输数据。
具体而言,安全令牌服务实体通过第一KEK对第一加密密钥进行加密以获取第一密钥加密密文,通过第二KEK对该第一加密密钥进行加密获得第二密钥加密密文,其中,该第一加密密钥为用于对待传输的第一传输数据进行加密的密钥。第一设备从安全令牌服务实体处获取第一KEK和第一密钥加密密文。本申请方案中密钥及密文分发过程采用的是对称加密方式,即第一KEK可用于对第一加密密钥进行加密,也可用于对第一密钥加密密文进行解密。因此第一设备可以通过第一KEK对第一密钥加密密文进行解密以获取第一加密密钥,并利用该第一加密密钥对待传输的第一传输数据进行加密以获取第一数据加密密文,并将该第一数据加密密文发送给第二设备。第二设备通过安全令牌服务实体获取第二KEK和第二密钥加密密文。第二设备通过第二KEK对第二密钥加密密文进行解密以获取第一加密密钥,通过该第一加密密钥对第一数据加密密文进行解密即可获得第一传输数据。
因此,本申请实施例的安全通信的方法,通过引入密钥及安全令牌分发机制,使得通信系统在安全通信之前便完成了密钥信息的分发,避免了通信设备在建链过程进行多轮握手,因此可以减少安全通信过程的建链时延,从而提高安全通信系统的性能。同时采用对称的加密认证方式,既保证了安全性,又提高了计算效率、减少了计算消耗。并且由于本申请方案通过安全令牌服务实体引入了独立的加密密钥机制,使得本申请的安全通信方法有很强的适应性,能够满足灵活加密的需求,即可以在加密的时候根据业务需要自由选择加密算法。
由上可知,本申请实施例的具体过程包括安全令牌服务实体向第一设备和第二设备分发密钥信息,第一设备将待传输数据的加密密文发送给第二设备。为了使第一设备和第二设备能够对密钥信息进行解密以获取加密密钥,安全令牌服务实体会首先分别向第一设备和第二设备分发他们对应的密钥加密密钥KEK,即第一KEK和第二KEK。图1中,步骤S120为第一设备从安全令牌服务实体处获取第一KEK的过程,也即安全令牌服务实体向第一设备分发第一KEK的过程。可选地,安全令牌服务实体可采用与第一设备进行密钥协商的方式生成第一KEK并进行分发。例如,安全令牌服务实体和第一设备可以执行如图2所示的流程生成并分发第一KEK:
S111,安全令牌服务实体和第一设备通过密钥协商派生第一密钥材料Z1。
可选地,该第一密钥材料用作第一传输加密密钥tSK1和第一KEK的密钥生成材料。
可选地,在步骤S111之前,第一设备向安全令牌服务实体发送第一请求信息以请求第一KEK,该第一请求信息包括第一标识,该第一标识用于指示该第一设备的业务类型,该业务类型用于指示通信设备的功能或者业务。例如,当本方案应用场景为微服务间通信时,通信设备的业务类型即为微业务类型;当本方案应用场景为进程间通信时,通信设备的业务类型即为进程类型。为了描述方便,本申请实施例将以5G核心网中一个网元内部不同类型微服务之间的通信为例进行说明,例如,第一设备为B类型微服务进程中的其中一个工作负载实例B1,第二设备为D类型微服务进程中的其中一个工作负载实例D1,则该第一标识为第一设备的业务类型身份标识号ServiceIDB。类似地,第二设备的业务类型身份标识号为ServiceIDD,记为第二标识。
可选地,在步骤S111之前,第一设备中预置了其对应的第一标识,即ServiceIDB。同时,该第一设备中还预置了其对应的证书私钥PrkB以及由证书颁发中心(certificateauthority,CA)颁发的CA证书和身份证书CertB,其中,该CA证书用于验证由CA颁发的证书,该身份证书CertB中包含该第一设备的证书公钥PukB。
可选地,在步骤S111之前,安全令牌服务实体中预置了其对应的第三标识,即ServiceIDS。同时,该安全令牌服务实体中还预置了其对应的证书私钥PrkB以及由证书颁发中心(certificate authority,CA)颁发的CA证书和身份证书CertS,该身份证书CertS中包含该安全令牌服务实体的证书公钥PukS。
可选地,该安全令牌服务实体和第一设备之间通过椭圆曲线迪菲-赫尔曼密钥协商(elliptic curve diffie-hellman key agreement,ECDH密钥协商)来生成第一密钥材料Z1。
具体地,安全令牌服务实体接收到第一设备发送的第一请求信息之后,生成随机数randomS1,然后向第一设备发送第一会话标识SessionID1,第三标识ServiceIDS及随机数randomS1。
第一设备生成随机数randomB1和x1,将x1作为密钥协商过程第一设备的私钥,并计算点X1:X1=x1·G1,其中G1为ECDH协商公共参数,将X1作为密钥协商过程第一设备生成的公钥。应理解,协商公共参数G1在步骤S111之前已经预置在第一设备和安全令牌服务实体中,且G1为素数。
可选地,第一设备利用证书私钥PrkB通过签名算法生成数字签名S1,该数字签名用于通信认证:
S1=Sign(PrkB,ServiceIDB||ServiceIDS||randomB1||randomS1||X1)。
应理解,用于认证的签名的信息还可以是其他便于安全令牌服务实体进行验证的内容,本申请并不限于此。本申请实施例的安全通信方法,通过在签名算法中引入随机数randomB1和randomS1,使得每次通信在认证过程生成的签名都不同,从而能够有效防止重放攻击,保证通信安全。
第一设备在生成签名S1之后,向安全令牌服务实体发送第一会话标识SessionID1、第一设备身份证书CertB、随机数randomB1、第一设备协商公钥X1及数字签名S1。应理解,身份证书CertB中包含的证书公钥PukB与第一设备证书私钥PrkB是非对称密钥中的一对公私密钥。
安全令牌服务实体接收第一设备发送的SessionID1、CertB、randomB1、X1及S1,然后利用CA证书验证接收到的CertB的合法性和有效期。
当CertB验证通过后,安全令牌服务实体利用CertB中的证书公钥校验签名S1。具体地,安全令牌服务实体利用CertB中的证书公钥对签名S1进行解密,然后将解密后获得的ServiceIDB、ServiceIDD等数据与本地ServiceIDB、ServiceIDS等数据进行对比,完全一样则验证通过,否则程序终止。
当签名S1验证通过后,安全令牌服务实体生成随机数y1,将y1作为密钥协商过程安全令牌服务实体的私钥,并计算点Y1:Y1=y1·G,将Y1作为密钥协商过程安全令牌服务实体生成的公钥。
利用安全令牌服务实体的证书私钥PrkS通过签名算法生成数字签名S2:
S2=Sign(PrkS,W1),
其中W1=ServiceIDS||ServiceIDB||randomS1||randomB1||S1||Y1||X1。
应理解,用于认证的签名的信息W1还可以是其他便于第一设备进行验证的内容,本申请并不限于此。
根据安全令牌服务实体的私钥y1和第一设备的公钥X1生成ECDH协商共享密钥Z1:Z1=y1·X1。将该Z1用作生成密钥的第一密钥材料。
应理解,该安全令牌服务实体还可以采用除了ECDH算法以外的其他密钥协商算法来生成第一密钥材料Z1,例如采用有限域整数模P上的DH算法,本申请实施例并不限于此。
S112,安全令牌服务实体根据第一密钥材料Z1通过密钥导出生成第一传输密钥tSK1及第一KEK。
具体地,安全令牌服务实体将Z1用作密钥材料,通过密钥导出算法生成第一传输密钥tSK1,该tSK1用于对待传输密钥进行加密。可选地,该密钥导出算法为哈希密钥派生函数HKDF:
tSK1=HKDF(ikm=Z1,salt=W1,info=“TransportKey”)。
类似地,安全令牌服务实体将Z1用作密钥材料,通过密钥导出算法生成第二密钥材料rSK1,该第二密钥材料为第一KEK的导出密钥材料。可选地,该密钥导出算法为哈希密钥派生函数HKDF:
rSK1=HKDF(ikm=Z2,salt=W1,info=“EphemeralRootKey”)。
类似地,安全令牌服务实体将Z1用作密钥材料,通过密钥导出算法生成第一认证密钥macSK1,该macSK1用于生成消息认证码。可选地,该密钥导出算法为哈希密钥派生函数HKDF:
macSK1=HKDF(ikm=Z1,salt=W1,info=“MACKey”)。
安全令牌服务实体根据该认证密钥macSK1生成消息认证码MACS1,该MACS1用于进行消息完整性保护。可选地,通过哈希运算消息认证码(hash-based messageauthentication code,HMAC)算法来生成该MACS1
MACS1=HMAC(macSK1,W1||S2||S1)。
应理解,密钥导出还可以采用其他算法,例如基于密码的密钥导出函数2(password-based key derivation function 2,PBKDF2)算法,本实施例仅以HKDF算法为例进行说明,本申请并不限于此。应理解,还可以通过其他算法来生成消息认证码,例如密码分组链接模式-消息认证码(cipher block chaining mode-message authenticationcodes,CBC-MAC)算法,本实施例仅以HMAC算法为例进行说明,本申请并不限于此。
还应理解,上述密钥导出过程中,盐值salt用于加强密钥强度,其值可以为任意随机数,本申请实施例仅以W1作为示例,本申请并不限于此。同时,HKDF算法中的info值也可以为其他任意不同参数,本申请并不限于此。HMAC算法中输入的信息还可以是其他便于验证的内容,本申请并不限于此。还应理解,生成数字签名S2的过程可以在计算tSK1、macSK1及MACS1步骤之前,也可以在其生成之后,本申请并不限于此。
安全令牌服务实体向第一设备发送以下信息:第一会话标识SessionID1,安全令牌服务实体身份证书CertS,安全令牌服务实体公钥Y1,数字签名S2,消息认证码MACS1
S113,第一设备根据第一密钥材料Z1通过密钥导出生成第一传输密钥tSK1。
具体地,第一设备接收安全令牌服务实体发送的第一会话标识SessionID1、安全令牌服务实体身份证书CertS、安全令牌服务实体公钥Y1、数字签名S2及消息认证码MACS1,然后利用预置的CA证书验证该安全令牌服务实体身份证书CertS的合法性和有效期。
当安全令牌服务实体身份证书CertS验证通过后,第一设备利用CertS中的证书公钥校验签名S2。具体地,安全令牌服务实体利用CertS中的证书公钥对数字签名S2进行解密,然后将解密后获得的ServiceIDS、ServiceIDD等数据与本地ServiceIDS、ServiceIDD等数据进行对比,完全一样则验证通过,否则程序终止。
当签名S1验证通过后,第一设备利用私钥x1和安全令牌服务实体公钥Y1生成ECDH协商共享密钥Z1:Z1=x1·Y1。
第一设备将Z1用作密钥材料,通过密钥导出算法生成第一传输密钥tSK1,该tSK1用于对待传输密钥进行解密。可选地,该密钥导出算法为哈希密钥派生函数HKDF:
tSK1=HKDF(ikm=Z1,salt=W1,info=“TransportKey”)。
其中W1=ServiceIDS||ServiceIDB||randomS1||randomB1||S1||Y1||X1。
可选地,第一设备将Z1用作密钥材料,通过密钥导出算法生成第一认证密钥macSK1,该macSK1用于生成消息认证码。可选地,该密钥导出算法为哈希密钥派生函数HKDF:
macSK1=HKDF(ikm=Z1,salt=W1,info=“MACKey”)。
第一设备利用macSK1验证MACS1。具体地,第一设备根据本地生成的macSK1计算MACS1
MACS1=HMAC(macSK1,W1||S2||S1)。
当接收到的MACS1和本地计算得到的MACS1相等时,验证通过。
MACS1验证通过后,第一设备计算消息认证码MACB1
MACB1=HMAC(macSK1,W1||S2||S1||MACS1)。
可选地,第一设备向安全令牌服务实体发送该MACB1及SessionID1。
S114,安全令牌服务实体通过第一传输密钥tSK1对第一KEK进行加密生成第三密钥加密密文CKEKB
可选地,安全令牌服务实体接收到MACB1之后,利用本地的macSK1验证MACB1。具体地,安全令牌服务实体根据本地生成的macSK1计算MACB1
MACB1=HMAC(macSK1,W1||S2||S1||MACS1)。
当接收到的MACB1和本地计算得到的MACB1相等,则验证通过。
安全令牌服务实体检查本地是否存储了第一KEK及第一KEK版本VersionKEKB1,其中VersionKEKB1用于标记当前第一KEK是否在其生命周期有效期内。当安全令牌服务实体确定本地没有存储VersionKEKB1时,计算VersionKEKB1及第一KEK:
VersionKEKB1=版本||(开始时间点||生命周期),
其中,“版本”仅代表一种安全通信系统的版本标记,在本实施例中不做任何限定作用;“开始时间点”代表当前时间,“生命周期”指示当前KEK版本对应的KEK的生命周期,例如,该生命周期可以为24小时。
应理解,该生命周期可以预置在通信系统中,也可以根据业务需求进行用户设置,本申请对此不作限定。
当安全令牌服务实体确定本地没有存储第一KEK时,根据第二密钥材料rSK1通过密钥导出生成第一KEK:
KEKB1=HKDF(ikm=RK||rSK1||t,salt=W1||VersionKEKB1,info=“KEK”),
其中,RK为长期密钥。应理解,该长期密钥材料RK在步骤S111之前预置在通信系统中。应理解,盐值salt可以为任意随机值,本申请实施例仅以W1||VersionKEKB1作为盐值salt为例进行说明,本申请并不限于此。还应理解,该密钥导出还可以采用其他算法,例如PBKDF2算法,本实施例仅以HKDF算法为例进行说明,本申请并不限于此。
因此,本申请实施例的安全通信方法,通过引入DH密钥协商机制,每次通信使用不同的随机数生成共享密钥,使得基于动态协商的共享密钥和长期密钥共同导出的密钥加密密钥在每次通信中都是不同的,从而使得经过密钥加密的数据具有前向安全性。
安全令牌服务实体利用对称加密算法,根据第一传输密钥tSK1对包含第一KEK的信息进行加密生成第三密钥加密密文CKEKB,可选地,该加密算法采用高级加密标准-伽罗瓦/计数模式(advanced encryption standard-galois/counter mode,AES-GCM)算法:
CKEKB=ENCAES-GCM(tSK1,ServiceIDB||VersionKEKB1||KEKB1||ISN,AAD=W),
其中ISN表示初始序列号(initial sequence number,ISN),分组加密时,当加密的内容有很多块,且同时使用的密钥是同一密钥,则针对每一块分别进行加密,ISN依次递增。通信双方通过交换ISN以便让对方知道接下来接收数据的时候如何按序列号组装数据。应理解,本申请实施例中的ISN是为了方案方便扩展而引入的,在本申请实施例中不做任何限定作用。
应理解,本申请实施例中的加密算法以AES-GCM算法为例进行说明,但是本申请方案还可以采用其他加密算法,例如AES-CCM算法、AES-CBC算法或者3DES算法等,本申请并不限于此。
还应理解,生成第三密钥加密密文CKEKB的加密算法中,加密信息需要包含第一KEK,但具体加密信息的内容不限于本申请实施例给出的形式。
因此本申请实施例的安全通信方法,通过采用对称加密算法,能够提高计算效率,减少资源消耗。
S115,安全令牌服务实体向第一设备发送第三密钥加密密文CKEKB
具体地,在生成第三密钥加密密文CKEKB之后,安全令牌服务实体向第一设备发送该CKEKB
可选地,安全令牌服务实体还向第一设备初始序列号ISN。
S116,第一设备根据第一传输密钥tSK1对第三密钥加密密文CKEKB进行解密以获取第一KEK。
具体地,第一设备接收安全令牌服务实体发送的第三密钥加密密文CKEKB,然后利用第一传输密钥tSK1对第三密钥加密密文CKEKB进行解密以获得第一KEK并将其保存在本地。
可选地,第一设备通过对第三密钥加密密文CKEKB解密获取第一KEK版本VersionKEKB1,并将其保存在本地,第一设备通过该VersionKEKB1判断第一KEK是否处于生命周期有效期内。当第一KEK不在生命周期有效期内,则程序中止或重新发送请求信息以请求第一KEK。
应理解,第一设备可以在消息触发时对VersionKEKB1进行核查,也可以采用定期核查的方式对VersionKEKB1进行核查,本申请对此不作限定。
由上可知,本申请实施例的具体过程包括安全令牌服务实体向第一设备分发密钥信息,第一设备将密钥信息和数据加密密文发送给第二设备。为了使第一设备和第二设备能够对密钥信息进行解密以获取加密密钥,安全令牌服务实体会首先分别向第一设备和第二设备分发他们对应的密钥加密密钥KEK,即第一KEK和第二KEK。
图1中步骤150包括第二设备从安全令牌服务实体获取第二KEK的过程。
可选地,在步骤150之前,第二设备向安全令牌服务实体发送第三请求信息,该第三请求信息用于请求第二KEK。
可选地,该第二KEK请求信息包括第二标识,该第二标识用于指示该第二设备的业务类型。例如,当第二设备为D类型微服务进程中的其中一个工作负载实例D1时,该第二标识为第二设备的微服务业务类型身份标识号ServiceIDD
应理解,在步骤S150之前,第二设备中预置了其对应的第二标识,例如,ServiceIDD。同时,该第二设备中还预置了其对应的证书私钥PrkB以及由CA颁发的CA证书和身份证书CertD,该CA证书用于验证该身份证书,该身份证书CertD中包含该第二设备的证书公钥PukD。
应理解,安全令牌服务实体为第二设备生成并分发第二KEK的过程与其为第一设备生成并分发第一KEK的过程类似,即步骤S150与步骤S120类似,为了简洁,本申请对该交互过程不再赘述。
还应理解,第二设备与安全令牌服务实体和第一设备与安全令牌服务实体之间的交互顺序没有必然联系,即步骤S150与步骤S120-S140之间没有必然的先后顺序。本申请实施例中各步骤的先后顺序仅仅作为示例,本申请对此不作限定。
图2展示了安全令牌服务实体和第一设备通过密钥协商生成并派发第一KEK的过程。为了使第一设备能够获取用于数据加密的加密密钥,除了为其分发密钥加密密钥KEK外,还要为其分发密钥加密密文。例如,安全令牌服务实体为第一设备分发第一密钥加密密文C1,该第一密钥加密密文C1为第一KEK的加密密文。
可选地,安全令牌服务实体还为第一设备分发第二密钥加密密文C2,该第二密钥加密密文为第二KEK的加密密文。
可选地,安全令牌服务实体通过安全令牌Token为第一设备分发C1和C2。
可选地,安全令牌服务实体和第一设备通过密钥协商的方式生成该安全令牌Token。例如,安全令牌服务实体和第一设备可以执行如图3所示的流程进行安全令牌Token的生成和分发:
S121,安全令牌服务实体和第一设备通过密钥协商派生第三密钥材料Z2,该第三密钥材料用于通过密钥导出生成第二传输加密密钥tSK2和第一加密密钥。
可选地,在步骤S121之前,第一设备向安全令牌服务实体发送第二请求信息,该第二请求信息用于请求安全令牌Token。可选地,该安全令牌Token包含第一密钥加密密文C1和第二密钥加密密文C2。
可选地,该第二请求信息包括第一标识和第二标识,该第一标识用于指示第一设备的业务类型,该第二标识用于指示第二设备的业务类型。在本实施例中,第一标识和第二标识分别为ServiceIDB和ServiceIDD
应理解,本申请实施例仅以该安全令牌Token包括第二密钥加密密文C2为例进行说明,即仅以第一设备向安全令牌服务实体发送第二请求信息以请求第二密钥加密密文C2为例进行说明,但是还可以通过第二设备直接向安全令牌服务实体请求该第二密钥加密密文,即第二设备可以不经过第一设备,直接向安全令牌服务实体请求该第二密钥加密密文C2,本申请对此不作限定。
还应理解,该第一请求信息和第二请求信息没有必然发送顺序,即第一设备从安全令牌服务实体获取第一KEK和第一密钥加密密文没有必然的先后顺序,例如,该第一设备可以先向该安全令牌服务实体发送第二请求信息以获取第一密钥加密密文,再向该安全令牌服务实体发送第一请求信息以获取第一KEK。或者该顺序颠倒,本申请对此不作限定。
还应理解,该第二请求信息可以和第一请求信息合并发送,即第一设备可以通过一条请求信息同时向安全令牌服务实体请求第一KEK和第一密钥加密密文,该请求信息包括第一标识和第二标识。本申请对此不作限定。
可选地,该安全令牌服务实体和第一设备之间通过ECDH密钥协商来生成第三密钥材料Z2。
具体地,安全令牌服务实体接收到第一设备发送的第三请求信息之后,生成随机数randomS2,然后向第一设备发送第二会话标识SessionID2,第三标识ServiceIDS及随机数randomS2。
第一设备生成随机数randomB2和x2,将x2作为该密钥协商过程第一设备的私钥,并计算点X2:X2=x2·G2,其中G2为ECDH协商公共参数,将X2作为密钥协商过程第一设备生成的公钥。应理解,协商公共参数G2在步骤S121之前已经预置在第一设备和安全令牌服务实体中,且G2为素数。
可选地,第一设备利用证书私钥PrkB通过签名算法生成数字签名S3:
S3=Sign(PrkB,ServiceIDB||ServiceIDS||randomB2||randomS2||X2)。
应理解,用于认证的签名的信息还可以是其他便于安全令牌服务实体进行验证的内容,本申请并不限于此。本申请实施例的安全通信方法,通过在签名算法中引入随机数randomB1和randomS1,使得每次通信在认证过程生成的签名都不同,从而能够有效防止重放攻击,保证通信安全。
第一设备在生成签名S3之后,向安全令牌服务实体发送第二会话标识SessionID2、第一设备身份证书CertB、随机数randomB2、第一设备协商公钥X2及数字签名S3。应理解,身份证书CertB中包含的证书公钥PukB与第一设备证书私钥PrkB是非对称密钥中的一对公私密钥。
安全令牌服务实体接收第一设备发送的SessionID2、CertB、randomB2、X2及S3,然后利用CA证书验证接收到的CertB的合法性和有效期。
当CertB验证通过后,安全令牌服务实体利用CertB中的证书公钥PukB校验签名S3。具体地,安全令牌服务实体利用CertB中的证书公钥PukB对签名S3进行解密,然后将解密后获得的ServiceIDB、ServiceIDS等数据与本地ServiceIDB、ServiceIDS等数据进行对比,完全一样则验证通过,否则程序终止。
当签名S3验证通过后,安全令牌服务实体生成随机数y2,将y2作为密钥协商过程安全令牌服务实体的私钥,并计算点Y2:Y2=y2·G,将Y2作为密钥协商过程安全令牌服务实体生成的公钥。
利用安全令牌服务实体的证书私钥PrkS通过签名算法生成数字签名S4:
S4=Sign(PrkS,W2),
其中W2=ServiceIDS||ServiceIDB||randomS2||randomB2||S3||Y2||X2。
应理解,用于认证的签名的信息W2还可以是其他便于第一设备进行验证的内容,本申请并不限于此。
根据安全令牌服务实体的私钥y2和第一设备的公钥X2生成ECDH协商共享密钥Z1:Z2=y2·X2。将该Z2用作生成密钥的第三密钥材料。
应理解,该安全令牌服务实体还可以采用除了ECDH算法以外的其他密钥协商算法来生成第三密钥材料Z2,例如采用有限域整数模P上的DH算法,本申请实施例并不限于此。
S122,安全令牌服务实体根据第三密钥材料生成第二传输加密密钥tSK2,该第二传输加密密钥tSK2用于对安全令牌Token进行加密。
具体地,安全令牌服务实体将Z2用作密钥材料,通过密钥导出算法生成第二传输密钥tSK2,该tSK2用于对待传输密钥进行加密。可选地,该密钥导出算法为哈希密钥派生函数HKDF:
tSK2=HKDF(ikm=Z2,salt=W2,info=“TransportKey”)。
类似地,安全令牌服务实体将Z2用作密钥材料,通过密钥导出算法生成第二认证密钥macSK2,该macSK2用于生成消息认证码。可选地,该密钥导出算法为哈希密钥派生函数HKDF:
macSK2=HKDF(ikm=Z2,salt=W2,info=“MACKey”)。
安全令牌服务实体根据该认证密钥macSK2生成消息认证码MACS2,该MACS2用于进行消息完整性保护。可选地,通过哈希运算消息认证码(hash-based messageauthentication code,HMAC)算法来生成该MACS2
MACS2=HMAC(macSK2,W2||S4||S3)。
应理解,密钥导出还可以采用其他算法,例如PBKDF2算法,本实施例仅以HKDF算法为例进行说明,本申请并不限于此。应理解,还可以通过其他算法来生成消息认证码,例如CBC-MAC算法,本实施例仅以HMAC算法为例进行说明,本申请并不限于此。
还应理解,上述密钥导出过程中,盐值salt用于加强密钥强度,其值可以为任意随机数,本申请实施例仅以W2作为示例,本申请并不限于此。同时,HKDF算法中的info值也可以为其他任意不同参数,本申请并不限于此。HMAC算法中输入的信息还可以是其他便于验证的内容,本申请并不限于此。还应理解,生成数字签名S4的过程可以在计算tSK2、macSK2及MACS2步骤之前,也可以在其生成之后,本申请并不限于此。
安全令牌服务实体向第一设备发送以下信息:第二会话标识SessionID2,安全令牌服务实体身份证书CertS,安全令牌服务实体公钥Y2,数字签名S4,消息认证码MACS2
S123,第一设备根据第三密钥材料Z2生成第二传输加密密钥tSK2。
第一设备接收安全令牌服务实体发送的SessionID2、CertS、Y2、S4及MACS2,然后利用预置的CA证书验证该CertS的合法性和有效期。
当安全令牌服务实体身份证书CertS验证通过后,第一设备利用CertS中的证书公钥校验签名S4。具体地,安全令牌服务实体利用CertS中的证书公钥对签名S4进行解密,然后将解密后获得的ServiceIDS、ServiceIDD等数据与本地ServiceIDS、ServiceIDD等数据进行对比,完全一样则验证通过,否则程序终止。
当签名S4验证通过后,第一设备利用私钥x2和安全令牌服务实体公钥Y2生成ECDH协商共享密钥Z2:Z2=x2·Y2。
第一设备将Z2用作密钥材料,通过密钥导出算法生成第二传输密钥tSK2,该tSK2用于对待传输密钥进行解密。可选地,该密钥导出算法为哈希密钥派生函数HKDF:
tSK2=HKDF(ikm=Z2,salt=W2,info=“TransportKey”)。
其中,W2=ServiceIDS||ServiceIDB||randomS2||randomB2||S3||Y2||X2。
可选地,第一设备将Z2用作密钥材料,通过密钥导出算法生成第二认证密钥macSK2,该macSK2用于生成消息认证码。可选地,该密钥导出算法为哈希密钥派生函数HKDF:
macSK2=HKDF(ikm=Z2,salt=W2,info=“MACKey”)。
第一设备利用macSK2验证MACS2。具体地,第一设备根据本地生成的macSK2计算MACS2
MACS2=HMAC(macSK1,W1||S2||S1)。
当接收到的MACS2和本地就算得到的MACS2相等,验证通过。
MACS2验证通过后,第一设备计算消息认证码MACB2
MACB2=HMAC(macSK2,W2||S4||S3||MACS2)。
可选地,第一设备向安全令牌服务实体发送该MACB2及SessionID2。
S124,安全令牌服务实体根据第三密钥材料Z2生成第一加密密钥,该第一加密密钥用于对待传输的第一传输数据进行加密。
可选地,安全令牌服务实体接收到MACB2之后,利用本地的macSK2验证MACB2。具体地,安全令牌服务实体根据本地生成的macSK2计算MACB2
MACB2=HMAC(macSK2,W2||S4||S3||MACS2)。
当接收到的MACB2和本地就算得到的MACB2相等,验证通过。
安全令牌服务实体生成随机数R1,并计算访问密钥(Access Key,AK):
AKB1D=有效期||R1。
应理解,该有效期为预置的或是通过用户自定义的AK的有效期限,本申请不限于此。
安全令牌服务实体生成第四密钥材料Z3,该Z3用作第一加密密钥的密钥导出材料:
Z3=RK||rSK2||t。
安全令牌服务实体利用Z3生成签名密钥(Signing Key,SK)和数据密钥(DataKey,DK):
SKB1D=HKDF(ikm=Z3,salt=W2,info=“SKServiceID”);
DKB1D=HKDF(ikm=Z3,salt=W2,info=“DKServiceID”)。
可选地,第一加密密钥包括访问密钥AK、签名密钥SK和数据密钥DK。
S125,安全令牌服务实体分别利用第一KEK和第二KEK对第一加密密钥进行加密以获得第一密钥加密密文C1和第二密钥加密密文C2。
具体地,安全令牌服务实体根据第一设备的第一标识和第二设备的第二标识,即ServiceIDB和ServiceIDD,确定它们对应的密钥加密密钥第一KEK和第二KEK。并分别利用第一KEK和第二KEK对SKB1D、DKB1D进行加密生成密文C1和C2:
C1=ENCAES-GCM(KEKB,TokenVersion||SKB1D||DKB1D);
C2=ENCAES-GCM(KEKD,TokenVersion||SKB1D||DKB1D)。
可选地,C1、C2的加密内容包括安全令牌版本TokenVersion。可选地,安全令牌服务实体通过以下方式生成该TokenVersion:
TokenVersion=ServiceIDB||ServiceIDD||Token有效期||版本号说明||AKB1X
其中,“Token有效期”指示当前安全令牌Token对应的生命周期,例如,该生命周期可以为8小时;“版本号说明”仅代表一种安全通信系统的版本说明,在本实施例中不做任何限定作用。
应理解,该生命周期可以预置在通信系统中,也可以根据业务需求进行用户设置,本申请对此不作限定。应理解,本申请对安全令牌版本TokenVersion的生成方式不作限定。
S126,安全令牌服务实体通过第二传输加密密钥tSK2对安全令牌Token进行加密以获取令牌加密密文CToken
可选地,安全令牌服务实体根据第一KEK版本VersionKEKB、第二KEK版本VersionKEKD及密钥加密密文生成安全令牌Token:
Token=VersionKEKB,C1,VersionKEKD,C2。
可选地,安全令牌服务实体利用第二传输加密密钥tSK2对Token进行加密生成令牌加密密文CToken
CToken=ENCAES-GCM(tSK2,ISN||Token,AAD=W||S2||S1)。
应理解,本申请实施例中对安全令牌进行加密的加密算法以AES-GCM算法为例进行说明,但是本申请方案还可以采用其他加密算法,例如AES-CCM算法、AES-CBC算法或者3DES算法等,本申请并不限于此。
S127,安全令牌服务实体向第一设备发送令牌加密密文CToken
具体地,安全令牌服务实体向第一设备发送令牌加密密文CToken
可选地,安全令牌服务实体还向第一设备发送第二会话标识SessionID2及初始序列号ISN2。
S128,第一设备利用第二传输加密密钥tSK2解密令牌加密密文CToken以获取安全令牌Token。
具体地,第一设备接收安全令牌服务实体发送的令牌加密密文CToken,并利用第二传输加密密钥tSK2对CToken进行解密获得Token,即获得了第一密钥加密密文C1和第二密钥加密密文C2,并将其保存在本地。
可选地,第一设备通过对令牌加密密文CToken进行解密以获取第一KEK版本VersionKEKB1,并将其保存在本地,第一设备根据该VersionKEKB1判断第一KEK是否处于生命周期有效期内。当第一KEK不在生命周期有效期内,则程序中止或重新发送请求信息以请求第一KEK。
应理解,第一设备可以在消息触发时对VersionKEKB1进行核查,也可以采用定期核查的方式对其进行核查,本申请对此不作限定。
在图1所示的安全通信方法示意性流程图中,第一设备接收安全令牌服务实体分发的第一KEK和安全令牌Token之后,根据该第一KEK和安全令牌Token获取第一加密密钥,根据该第一加密密钥进行与第二设备之间的安全通信。具体地:
S130,第一设备根据第一KEK对第一密钥加密密文进行解密以获取第一加密密钥。
具体地,第一设备通过解密算法对第一密钥加密密文C1进行解密以获取第一加密密钥:
TokenVersion||SKB1D||DKB1D=DECAES-GCM(KEKB,C1)。
可选地,该第一设备通过对第一密钥加密密文进行解密以获取安全令牌版本TokenVersion,并将其保存在本地,第一设备根据该TokenVersion判断安全令牌是否处于生命周期有效期内。当该安全令牌不在生命周期有效期内,则程序中止或重新发送请求信息以请求安全令牌。
可选地,第一设备根据TokenVersion中的字段进行安全检测。具体地,第一设备将TokenVersion中的第一字段ServiceIDB和第二字段ServiceIDD与本地第一标识和第二标识进行比较,完全一致则检测通过,否则程序中止或重新发送请求。
S140,第一设备根据第一加密密钥对第一传输数据进行加密以获取第一数据加密密文。
可选地,第一设备根据第一加密密钥确定签名密钥SK、机密密钥DKEnc和完整性密钥DKMAC中的至少一个,该签名密钥SK用于身份认证,该机密密钥DKEnc用于对待传输的第一传输数据进行机密性保护,该完整性密钥DKMAC用于对第一传输数据进行完整性保护。
具体地,第一设备利用数据密钥DK生成机密密钥DKEnc和完整性密钥DKMAC
DKEnc=HKDF(DK,ServiceIDB||ServiceIDD||“Enc”);
DKMAC=HKDF(DK,ServiceIDB||ServiceIDD||“MAC”)。
可选地,第一设备可以利用第一加密密钥对第一传输数据的部分字段进行加密,例如,该第一传输数据的部分字段为第一传输数据中的敏感字段或权限信息。
可选地,第一设备可以利用签名密钥SK、机密密钥DKEnc和完整性密钥DKMAC中的至少一个对待传输的第一传输数据的部分字段进行加密以获取第一数据加密密文。即第一设备可以自由选择不同类型的密钥进行组合对待传输数据进行有针对性的保护,对于不用的功能可以设置为空。
例如,第一传输数据的第一字段为敏感字段m1,该第一字段为第一传输数据中的部分字段,需要对该m1进行机密性保护,则第一设备根据机密密钥DKEnc对m1进行加密。可选地,采用AES-GCM算法对该m1进行加密生成密文Cm1:
Cm1=ENCAES-GCM(DKEnc,m1)。
又例如,第一传输数据的第二字段为敏感字段m2,该第二字段为第一传输数据中的部分字段,需要对该m2进行完整性保护,则第一设备根据完整性密钥DKMAC对m2进行加密。可选地,采用HMAC算法对该m2进行加密生成密文MACm2:
MACm2=HMAC-256(DKMAC,m2)。
再例如,第一传输数据的第三字段为权限信息m3,该第三字段为第一传输数据中的部分字段,需要对该m3进行认证保护,则第一设备根据签名密钥SK对该m3进行加密。可选地,采用AES-GCM算法对该m3进行加密生成密文Cm3:
Cm3=ENCAES-GCM(SK,timestampB||ServiceIDB||ServiceIDD||AK||m3,AAD=Cm1||MACm2)。
因此在本申请具体实施例中,第一数据加密密文即为Cm1、MACm2及Cm3。
应理解,本申请实施例中,仅以对m1进行机密性保护、对m2进行完整性保护、对m3进行认证保护为例进行说明,但本申请并不限于此,例如,还可以对m1进行完整性保护,或者对m2进行机密性保护和认证保护。
还应理解,本申请实施例中的机密性保护和认证保护采用的加密算法以AES-GCM算法为例进行说明,但是本申请方案还可以采用其他加密算法,例如AES-CCM算法、AES-CBC算法或者3DES算法等,本申请并不限于此。本申请实施例中的完整性保护采用的算法以HMAC-256算法为例进行说明,但是本申请方案还可以采用其他算法,例如CBC-MAC、CMAC等,本申请并不限于此。
因此,本申请实施例的安全通信的方法,通过引入不同用途的独立密钥机制,包含机密密钥DKEnc、完整性密钥DKMAC以及签名密钥SK,分别用于机密性保护、完整性保护和认证保护,从而可以实现不同保护类型的灵活组合,例如选择认证和机密保护、不选择完整性保护,或者选择认证和完整性保护、不选择机密保护,从而能够根据业务需求对于不同数据进行更加有针对性的保护。
同时,本申请实施例的安全通信的方法,因为可以协商出独立的加密密钥,从而可以在加密时根据业务需要仅对业务中指定的敏感字段加密,从而可以避免对链路中所有流量进行加密,能够减少资源消耗、提高性能。
S160,第一设备向第二设备发送第二密钥加密密文及第一数据加密密文。
具体地,第一设备向第二设备发送其在步骤S150对第一传输数据的部分字段进行加密获得的第一数据加密密文,即Cm1,MACm2和Cm3。
可选地,第一设备向第二设备发送第二密钥加密密文C2,以使得第二设备能够根据该第二密钥加密密文和第二KEK获取第一加密密钥。
S170,第二设备根据第二KEK对第二密钥加密密文C2进行解密以获取第一加密密钥。
具体地,第二设备从安全令牌服务实体接收第二KEK,从第一设备接收了第二密钥加密密文和第一数据加密密文。其中第二密钥加密密文为根据第二KEK对第一加密密钥进行加密获得的密文。通过第二KEK对该第二密钥加密密文进行解密以获取第一加密密钥。
可选地,第二设备通过对第二密钥加密密文进行解密可获取安全令牌版本TokenVersion。例如:
TokenVersion||SK||DK=DECAES-GCM(KEKD,C2)
可选地,第二设备根据该TokenVersion判断安全令牌是否处于生命周期有效期内。当TokenVersion不在生命周期有效期内,则程序中止或重新发送请求信息以请求安全令牌版本。
第二设备根据第二KEK对C2进行解密以获取第一加密密钥:
DECAES-GCM(KEKD,C2)=TokenVersion||SK||DK。
可选地,第二设备通过TokenVersion中的第二标识进行身份验证。具体地,第二设备将TokenVersion中的第二标识与本地的第二标识进行比对,如果完全一致则验证通过。
S180,第二设备根据第一加密密钥对第一数据加密密文进行解密以获取第一传输数据。
可选地,第二设备根据第一加密密钥确定签名密钥SK、机密密钥DKEnc和完整性密钥DKMAC中的至少一个。
具体地,第二设备利用数据密钥DK生成机密密钥DKEnc和完整性密钥DKMAC
DKEnc=HKDF(DK,ServiceIDB||ServiceIDD||“Enc”);
DKMAC=HKDF(DK,ServiceIDB||ServiceIDD||“MAC”)。
然后第二设备确定签名密钥SK、机密密钥DKEnc和完整性密钥DKMAC中的至少一个对第一数据加密密文进行解密以获取第一传输数据。
具体地,第二设备根据机密密钥DKEnc对Cm1进行解密以获取第一传输数据中的第一字段m1:
m1=DECAES-GCM(DKEnc,Cm1)。
第二设备根据完整性密钥DKMAC对第一传输数据中的第二字段m2进行完整性认证,具体地,根据完整性密钥DKMAC对m2进行加密生成密文完整性认证密文MACm2:
MACm2=HMAC-256(DKMAC,m2)。
通过将该计算得到的完整性认证密文和从第一设备接收到的完整性认证密文进行比较,完全一致则验证通过。
第二设备根据签名密钥SK对Cm3进行解密以获取第一传输数据中的第三字段m3:
timestampB||ServiceIDB||ServiceIDD||AK||m3=DECAES-GCM(SK,Cm3,AAD=Cm1);
可选地,第二设备可以验证解密获得的时间戳timestampB是否有效,如果无效则程序中止。
可选地,第二设备根据解密获得的ServiceIDB和ServiceIDD进行合法性检测。具体地,第二设备将解密获得的ServiceIDB和ServiceIDD与本地的第一标识和第二标识进行比较,如果完全一致则验证通过。
可选地,第二设备可以利用签名密钥SK、机密密钥DKEnc和完整性密钥DKMAC中的至少一个对待传输的第二传输数据的部分字段进行加密以获取第二数据加密密文。
例如,第二传输数据的第一字段为敏感字段v1,该第一字段为第二传输数据中的部分字段,需要对该v1进行机密性保护,则第二设备根据机密密钥DKEnc对v1进行加密。可选地,采用AES-GCM算法对该v1进行加密生成密文Cv1:
Cv1=ENCAES-GCM(DKEnc,v1)。
又例如,第二传输数据的第二字段为敏感字段v2,该第二字段为第二传输数据中的部分字段,需要对该v2进行完整性保护,则第二设备根据完整性密钥DKMAC对v2进行加密。可选地,采用HMAC算法对该v2进行加密生成密文MACv2:
MACv2=HMAC-256(DKMAC,v2)。
再例如,第二传输数据的第三字段为权限信息v3,该第三字段为第二传输数据中的部分字段,需要对该v3进行认证保护,则第二设备根据签名密钥SK对该v3进行加密。可选地,采用AES-GCM算法对该v3进行加密生成密文Cv3:
Cv3=ENCAES-GCM(SK,timestampB||ServiceIDB||ServiceIDD||AK||v3,AAD=Cv1||MACv2)。
因此在本申请具体实施例中,第二数据加密密文即为Cv1、MACv2及Cv3。
应理解,本申请实施例中,仅以对v1进行机密性保护、对v2进行完整性保护、对v3进行认证保护为例进行说明,但本申请并不限于此,例如,还可以对v1进行完整性保护,或者对v2进行机密性保护和认证保护。
可选地,第二设备向第一设备发送第二数据加密密文,即Cv1,MACv2和Cv3。
第一设备根据第一加密密钥对第二数据加密密文进行解密以获取第二传输数据。
具体地,第一设备确定签名密钥SK、机密密钥DKEnc和完整性密钥DKMAC中的至少一个对第二数据加密密文进行解密以获取第二传输数据。
具体地,第一设备根据机密密钥DKEnc对Cv1进行解密以获取第二传输数据中的第一字段v1:
v1=DECAES-GCM(DKEnc,Cv1)。
第一设备根据完整性密钥DKMAC对第二传输数据中的第二字段v2进行完整性认证,具体地,根据完整性密钥DKMAC对v2进行加密生成密文完整性认证密文MACv2:
MACv2=HMAC-256(DKMAC,v2)。
通过将该计算得到的完整性认证密文和从第二设备接收到的完整性认证密文进行比较,完全一致则验证通过。
第一设备根据签名密钥SK对Cv3进行解密以获取第二传输数据中的第三字段v3:
timestampB||ServiceIDB||ServiceIDD||AK||v3=DECAES-GCM(SK,Cv3,AAD=Cv1);
可选地,第一设备验证解密获得的时间戳timestampB是否有效。具体地,第一设备检测timestampB+1是否等于本地timestampB+1,如果二者相等,则验证通过。
可选地,第一设备根据解密获得的ServiceIDB和ServiceIDD进行合法性检测。具体地,第一设备将解密获得的ServiceIDB和ServiceIDD与本地的第一标识和第二标识进行比较,如果完全一致则验证通过。
可选地,在第一设备与第二设备经过第一次会话之后,为避免第二设备在安全令牌生命周期有效期内需要重复获取密钥信息从而浪费资源,第一设备可以通过会话重建机制与第二设备再次建立会话。图4示出了第一设备向第二设备请求会话重建的方法200的示意性流程图。从图4中可以看出,方法200包括:
S210,第一设备向第二设备发送会话重建请求信息,该会话重建请求信息包括重建标识号,该重建标识号用于标识第一加密密钥,该重建请求信息用于请求该第二设备通过根据会话重建标识号确定的该第一加密密钥进行信息交互。
具体地,第一设备向第二设备发送包含重建标识号的会话重建请求信息,其中该重建标识号可以为第二设备标识其本地存储的第一加密密钥。
可选地,第二设备在步骤S170中根据第二KEK对第二密钥加密密钥进行解密获取第一加密密钥之后,生成重建标识号ResumeSessionID并用其标识该第一加密密钥,并将该ResumeSessionID和其对应的第一加密密钥保存在本地。
可选地,第一设备从第二设备获取该重建标识号ResumeSessionID,并将该ResumeSessionID和其对应的第一加密密钥保存在本地。
第一设备通过第一加密密钥对待传输的第四传输数据进行加密以获取第四数据加密密文。
可选地,第一设备利用签名密钥SK、机密密钥DKEnc和完整性密钥DKMAC中的至少一个对待传输的第四传输数据的部分字段进行加密以获取第四数据加密密文。
第一设备向第二设备发送会话重建请求信息。可选地,该会话重建请求信息包括第四数据加密密文及重建标识号ResumeSessionID。
S220,第二设备根据会话重建标识号确定第一加密密钥。
具体地,第二设备获取重建标识号ResumeSessionID,并根据该ResumeSessionID从本地存储中确定其对应的第一加密密钥。
S230,第二设备判断计数值是否小于边界值,其中计数值初始为0,边界值表示会话重建的次数。
具体地,在接收到会话重建请求信息之后,第二设备生成计数值并将其设置为0。当计数值小于边界值,则进行步骤S240;当计数值大于等于边界值,则进行步骤S260。
应理解,该边界值标识会话重建的次数,其可以通过用户自定义也可以通过系统预置的方式进行设置,本申请对此不作限定。
S240,第二设备根据所述第一加密密钥对第三传输数据进行加密以获得第三数据加密密文。
当计数值小于边界值,表示当前会话重建是合法的。可选地,第二设备接收第一设备发送的第四数据加密密文,并利用第一加密密钥对该第四数据加密密文进行解密以获取第四传输数据。
可选地,第二设备利用签名密钥SK、机密密钥DKEnc和完整性密钥DKMAC中的至少一个对待传输的第三传输数据的部分字段进行加密以获取第三数据加密密文。
S250,第二设备向该第一设备发送该第三数据加密密文。
S260,第二设备将计数值加1,并重新判断计数值是否小于边界值。
第二设备将通过第一加密密钥加密获得的第三数据加密密文发送给第一设备之后,表示第一次重建会话结束。第二设备将计数值加1,然后重新判断下次会话重建是否合法。
具体地,第二设备将计数值加1生成新的计数值,并将该新的计数值与边界值进行比较。当该新的计数值小于该边界值,表示当前会话重建依然合法,继续执行S240-S260,并不断循环;当该新的计数值大于等于边界值时,表示当前会话重建不合法,执行S270。
S270,当计数值大于等于边界值,第二设备向第一设备发送重建指示信息,该重建指示信息用于指示该第一设备向第二设备重新发送安全令牌认证建立连接。
S280,第一设备根据第一加密密钥对该第三数据加密密文进行解密以获取该第三传输数据。
可选地,第一设备确定签名密钥SK、机密密钥DKEnc和完整性密钥DKMAC中的至少一个对第三数据加密密文进行解密以获取第三传输数据。
应理解,该方法200中对第三传输数据及第四传输数据进行加密的具体过程与方法100中的相同,为了简洁,本申请不再赘述。
因此,本申请实施例的安全通信方法,通过会话重建机制,能够实现会话中断后的高效重建,避免了通信设备在安全令牌有效期内重复发送密钥信息以及重复计算加密密钥,从而能够节省资源,提高计算效率。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
因此,本申请实施例的安全通信方法,通过引入密钥及安全令牌分发机制,使得通信设备之间在安全通信之前便完成了密钥及密钥加密密文的分发,避免了通信设备在建链过程进行多轮握手,因此可以减少安全通信过程的建链时延。同时采用对称的加密认证方式,提高了计算效率、减少了计算消耗。并且由于本申请方案通过安全令牌服务实体引入了独立的加密密钥机制,使得本申请的安全通信方法能够满足灵活加密的需求,即可以在加密的时候根据业务需要自由选择加密算法。
上文中结合图1至图4,详细描述了根据本申请实施例的用于安全通信的方法,下面将结合图5至图25,详细描述根据本申请实施例的安全通信的装置。
图5示出了根据本申请实施例的安全通信的装置300的示意性框图。如图5所示,该装置300包括:
获取模块310,用于从安全令牌服务实体获取第一密钥加密密钥KEK和第一密钥加密密文,该第一密钥加密密文为根据该第一KEK对第一加密密钥加密获得的密文;
解密模块320,用于根据该第一KEK对该第一密钥加密密文进行解密以获取该第一加密密钥;
加密模块330,用于根据该第一加密密钥对第一传输数据进行加密以获取第一数据加密密文;
第一发送模块340,用于向第二设备发送该第一数据加密密文。
本申请实施例的装置,通过引入独立的密钥及安全令牌分发装置,使得通信系统在安全通信之前便完成了密钥及安全令牌的分发,避免了通信设备在建链过程进行多轮握手,因此可以减少安全通信过程的建链时延。同时采用对称的加密认证方式,提高了计算效率、减少了计算消耗。并且由于本申请方案通过安全令牌服务实体引入了独立的加密密钥机制,使得本申请的安全通信装置能够满足灵活加密的需求,即可以根据业务需要自由选择加密算法。
应理解,该获取模块310、解密模块320和加密模块340还可以是处理模块或处理器,本申请对此不作限定。也就是说,处理模块或处理器可以完成前述方法实施例中除了接收/发送之外的其他处理。其他实施例中的处理模块或处理器也是类似。
可选地,该获取模块还用于从该安全令牌服务实体获取第二密钥加密密文,该第二密钥加密密文为根据该第二KEK对该第一加密密钥加密获得的密文;
该第一发送模块340还用于向该第二设备发送该第二密钥加密密文。
在本申请实施例中,可选地,如图6所示,该获取模块310包括:
第一获取单元311,用于获取第一KEK版本;
第一确定单元312,用于根据该第一KEK版本确定该第一KEK处于生命周期有效期内;
第一解密单元313,用于根据处于生命周期有效期内的该第一KEK对该第一密钥加密密文进行解密以获取该第一加密密钥。
应理解,该第一获取单元311、第一确定单元312和第一解密单元313还可以是处理单元或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图7所示,该获取模块410包括:
第二获取单元314,用于获取安全令牌版本;
第二确定单元315,用于根据该安全令牌版本确定该第一密钥加密密文处于生命周期有效期内;
第二解密单元316,用于根据该第一KEK对处于生命周期有效期内的该第一密钥加密密文进行解密以获取该第一加密密钥。
应理解,该第二获取单元314、第二确定单元315和第二解密单元316还可以是处理单元或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图8所示,该装置300还包括:
第二发送模块350,用于在该获取模块从该安全令牌服务实体获取块从第一密钥加密密钥KEK和取模第一密钥加密密文之前,向该安全令牌服务实体发送第一请求信息,该第一请求信息用于请求该第一KEK,该第一请求消息包括第一标识,该第一标识用于指示该装置300的业务类型,该获取模块410从该安全令牌服务实体获取的该第一KEK与该装置300的业务类型相关联。
在本申请实施例中,可选地,该第二发送模块350还用于在该获取模块310从该安全令牌服务实体获取该第一密钥加密密钥KEK和该第一密钥加密密文之前,向该安全令牌服务实体发送第二请求信息,该第二请求信息用于请求该第一密钥加密密文,该第二请求信息包括该第一标识,该获取模块310从该安全令牌服务实体获取的该第一密钥加密密文与该装置300的业务类型相关联。
在本申请实施例中,可选地,该第二请求信息进一步用于请求第二密钥加密密文,该第二请求信息还包括第二标识,该第二标识用于指示该第二设备的业务类型;
可选地,该获取模块310还用于从该安全令牌服务实体获取第二密钥加密密文,该第二密钥加密密文为根据第二KEK对该第一加密密钥进行加密获得的密文,该第二密钥加密密文与该第二设备的业务程序类型相关联;
可选地,该第一发送模块340还用于向该第二设备发送该第二密钥加密密文。
在本申请实施例中,可选地,如图9所示,该获取模块310包括:
第一接收单元321,用于接收该安全令牌服务实体发送的第三密钥加密密文,该第三密钥加密密文为该第一KEK的加密密文;
第三获取单元322,用于与该安全令牌服务实体通过密钥协商获取第一传输密钥;
第三解密单元323,用于根据该第一传输密钥对该第三密钥加密密文进行解密以获取该第一KEK;
第二接收单元324,用于从该安全令牌服务实体接收该第一加密密钥。
应理解,该第一接收单元321、第三获取单元322、第三解密单元323和第二接收单元324还可以是处理单元或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图10所示,该获取模块410包括:
第三接收单元325,用于从该安全令牌服务实体接收该第一KEK;
第四接收单元326,用于从该安全令牌服务实体接收令牌加密密文,该令牌加密密文为安全令牌的加密密文,该安全令牌包括该第一密钥加密密文;
第四获取单元327,用于与该安全令牌服务实体通过密钥协商获取第二传输密钥;
第四解密单元328,用于根据该第二传输密钥对该令牌加密密文进行解密以获取该安全令牌;
第五获取单元329,用于根据该安全令牌获取该第一密钥加密密文。
应理解,该第四获取单元327、第四解密单元328和第五获取单元329还可以是处理单元或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图11所示,该装置300还包括:
第三发送模块360,用于在该获取模块从该安全令牌服务实体获取第二密钥加密密文之后,向该第二设备发送会话重建请求信息,该会话重建请求信息包括会话重建标识号,该会话重建标识号用于标识该第一加密密钥,该重建请求信息用于请求该第二设备通过根据会话重建标识号确定的该第一加密密钥进行信息交互;
接收模块370,用于接收该第二设备发送的第三数据加密密文,该第三数据加密密文为该第二设备根据该第一加密密钥对第三传输数据进行加密获得的密文。
应理解,根据本申请实施例的安全通信的装置300可对应于本申请方法实施例中的第一设备,并且装置300中的各个模块的上述和其它操作和/或功能分别为了实现图1至图4中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本申请实施例的装置,通过引入独立的密钥及安全令牌分发装置,使得通信系统在安全通信之前便完成了密钥及安全令牌的分发,避免了通信设备在建链过程进行多轮握手,因此可以减少安全通信过程的建链时延。同时采用对称的加密认证方式,提高了计算效率、减少了计算消耗。并且由于本申请方案通过安全令牌服务实体引入了独立的加密密钥机制,使得本申请的安全通信方法能够满足灵活加密的需求,即可以在加密的时候根据业务需要自由选择加密算法。
图12示出了根据本申请实施例的安全通信的装置400的示意性框图。如图12所示,该装置400包括:
加密模块410,用于通过第一密钥加密密钥KEK对第一加密密钥进行加密以获取第一密钥加密密文,该第一加密密钥用于对第一传输数据进行加密以获取第一数据密文以及对该第一数据密文进行解密;
第一发送模块420,用于向第一设备发送该第一KEK和该第一密钥加密密文,该第一KEK和该第一密钥加密密文用于获取该第一加密密钥;
第二发送模块430,用于向第二设备发送第二KEK,该第二KEK用于对该第一加密密钥加密获得第二密钥加密密文。
应理解,该加密模块410还可以是处理模块或处理器,本申请对此不作限定。
本申请实施例的安全令牌服务实体装置,为安全通信设备引入了密钥及安全令牌分发机制,使得通信系统在安全通信之前便完成了密钥及安全令牌的分发,避免了通信设备在建链过程进行多轮握手,因此可以减少安全通信过程的建链时延。同时采用对称的加密认证方式,提高了计算效率、减少了计算消耗。并且由于本申请方案通过安全令牌服务实体引入了独立的加密密钥机制,使得本申请的安全通信装置能够满足灵活加密的需求,即可以在加密的时候根据业务需要自由选择加密算法。
可选地,该加密模块410还用于通过该第二KEK对该第一加密密钥进行加密以获取第二密钥加密密文;
该第一发送模块420还用于向该第一设备发送该第二密钥加密密文。
在本申请实施例中,可选地,如图13所示,该装置400还包括:
第一接收模块450,用于在该第一发送模块向第一设备发送该第一KEK和该第一密钥加密密文之前,接收该第一设备发送的第一请求信息,该第一请求信息用于请求该第一KEK,该第一请求消息包括第一标识,该第一标识用于指示该第一设备的业务类型;
其中,该第一发送模块420具体用于向该第一设备发送与该第一设备的业务类型相关联的该第一KEK及该第一密钥加密密文。
在本申请实施例中,可选地,如图14所示,该装置400还包括:
第二接收模块460,用于在该第一发送模块向该第一设备发送该第一KEK和该第一密钥加密密文之前,接收该第一设备发送的第二请求信息,该第二请求信息用于请求该第一密钥加密密文,该第二请求消息包括第一标识;
其中,该第一发送模块420具体用于向该第一设备发送该第一KEK及与该第一设备的业务类型相关联的该第一密钥加密密文。
在本申请实施例中,可选地,该第二请求信息进一步用于请求第二密钥加密密文,该第二请求信息还包括第二标识,该第二标识用于指示该第二设备的业务类型;
可选地,该第一发送模块420还用于向该第一设备发送与该第二设备的业务类型相关联的该第二密钥加密密文,该第二密钥加密密文为根据第二KEK对该第一加密密钥进行加密获得的密文。
在本申请实施例中,可选地,如图15所示,该装置400还包括:
第三接收模块470,用于在该第二发送模块向该第二设备发送该第二KEK之前,接收该第二设备发送的第三请求信息,该第三请求信息用于请求该第二KEK,该第三请求消息包括第二标识,该第二标识用于指示该第二设备的业务类型;
该第二发送模块440具体用于向该第二设备发送与该第二设备的业务类型相关联的该第二KEK。
在本申请实施例中,可选地,如图16所示,该第一发送模块420包括:
第一获取单元421,用于与该第一设备通过密钥协商获取第一传输密钥及该第一KEK;
第一加密单元422,用于根据该第一传输密钥对该第一KEK进行加密以获取第三密钥加密密文;
第一发送单元423,用于向该第一设备发送该第三密钥加密密文;
第二发送单元424,用于向该第一设备发送该第一密钥加密密文。
应理解,该第一获取单元421和第一加密单元422还可以是处理单元或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图17所示,该第一发送模块420包括:
第三发送单元425,用于向该第一设备发送该第一KEK;
第二获取单元426,用于与该第一设备通过密钥协商获取第二传输密钥;
第二加密单元427,用于根据该第二传输密钥对安全令牌进行加密以获取令牌加密密文,该安全令牌包括该第一密钥加密密文;
第三发送单元428,用于向该第一设备发送该令牌加密密文。
应理解,该第二获取单元426和第二加密单元427还可以是处理单元或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图18所示,该第二发送模块430包括:
第三获取单元431,用于与该第二设备通过密钥协商获取第三传输密钥及该第二KEK;
第三加密单元432,用于根据该第三传输密钥对该第二KEK进行加密以获取第四密钥加密密文;
第四发送单元433,用于向该第二设备发送该第四密钥加密密文。
应理解,该第三获取单元431和第三加密单元432还可以是处理单元或处理器,本申请对此不作限定。
应理解,根据本申请实施例的安全通信的装置400可对应于本申请方法实施例中的安全令牌服务实体,并且装置400中的各个模块的上述和其它操作和/或功能分别为了实现图1至图4中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本申请实施例的装置,通过引入密钥及安全令牌分发机制,使得通信系统在安全通信之前便完成了密钥及安全令牌的分发,避免了通信设备在建链过程进行多轮握手,因此可以减少安全通信过程的建链时延。同时采用对称的加密认证方式,提高了计算效率、减少了计算消耗。并且由于本申请方案通过安全令牌服务实体引入了独立的加密密钥机制,使得本申请的安全通信装置能够满足灵活加密的需求,即可以在加密的时候根据业务需要自由选择加密算法。
图19示出了根据本申请实施例的安全通信的装置500的示意性框图。如图19所示,该装置500包括:
第一获取模块510,用于从安全令牌服务实体获取第二KEK;
接收模块520,用于接收第一设备发送的第一数据加密密文,该第一数据加密密文为该第一加密密钥对第一传输数据进行加密获得的密文;
第二获取模块530,用于获取第二密钥加密密文,该第二加密密文为根据该第二KEK对该第一加密密钥加密获得的密文;
第一解密模块540,用于根据该第二KEK对该第二密钥加密密文进行解密以获取第一加密密钥;
第二解密模块550,用于根据该第一加密密钥对该第一数据加密密文进行解密以获取该第一传输数据。
应理解,该第一获取模块510、第二获取模块530、第一解密模块540和第二解密模块550还可以是处理模块或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图20所示,该第二获取模块530包括:第一接收单元531,用于接收该第一设备或该安全令牌服务实体发送的该第二密钥加密密文。
在本申请实施例中,可选地,如图21所示,该第一解密模块540包括:第一获取单元541,用于获取第二KEK版本;第一确定单元542,用于根据该第二KEK版本确定该第二KEK处于生命周期有效期内;第一解密单元543,用于根据处于生命周期有效期内的该第二KEK对该第二密钥加密密文进行解密以获取该第一加密密钥。
应理解,该第一获取单元541、第一确定单元542和第一解密单元543还可以是处理单元或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图22所示,该第一解密模块540包括:第二获取单元544,用于获取安全令牌版本;第二确定单元545,用于根据该安全令牌版本确定该第二密钥加密密文处于生命周期有效期内;第二解密单元546,用于根据该第二KEK对处于生命周期有效期内的该第二密钥加密密文进行解密以获取该第一加密密钥。
应理解,该第一解密模块540、第二确定单元545和第二解密单元546还可以是处理单元或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图23所示,该装置还包括:发送模块560,用于在该第一获取模块从该安全令牌服务实体获取该第二KEK之前,向该安全令牌服务实体发送第三请求信息,该第三请求信息用于请求该第二KEK,该第三请求信息包括第二标识,该第二标识用于指示该安全通信的装置的业务类型,该第一获取模块510从该安全令牌服务实体获取的该第二KEK与该安全通信的装置的业务类型相关联。
在本申请实施例中,可选地,如图24所示,该第一获取模块510包括:第二接收单元511,用于接收该安全令牌服务实体发送的第四密钥加密密文,该第四密钥加密密文为该第二KEK的加密密文;第三获取单元512,用于与该安全令牌服务实体通过密钥协商获取第三传输密钥;第三解密单元513,用于根据该第三传输密钥对该第四密钥加密密文进行解密以获取该第二KEK。
应理解,该第三获取单元512和第三解密单元513还可以是处理单元或处理器,本申请对此不作限定。
在本申请实施例中,可选地,如图25所示,该装置还包括:第二发送模块570,用于在该第一接收单元接收该第一设备或该安全令牌服务实体发送的该第二密钥加密密文之后,接收该第一设备发送的会话重建请求信息,该会话重建请求信息包括会话重建标识号,该会话重建标识号用于标识该第一加密密钥;确定模块580,用于根据该会话重建标识号确定该第一加密密钥;加密模块590,用于根据该第一加密密钥对该第三传输数据进行加密获得第三数据加密密文;第三发送模块591,用于向该第一设备发送该第三数据加密密文。
应理解,该确定模块580和加密模块590还可以是处理单元或处理器,本申请对此不作限定。
应理解,根据本申请实施例的安全通信的装置500可对应于本申请方法实施例中的第二设备,并且装置500中的各个模块的上述和其它操作和/或功能分别为了实现图1至图4中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本申请实施例的装置,通过引入密钥及安全令牌分发机制,使得通信系统在安全通信之前便完成了密钥及安全令牌的分发,避免了通信设备在建链过程进行多轮握手,因此可以减少安全通信过程的建链时延。同时采用对称的加密认证方式,提高了计算效率、减少了计算消耗。并且由于本申请方案通过安全令牌服务实体引入了独立的加密密钥机制,使得本申请的安全通信方法能够满足灵活加密的需求,即可以在加密的时候根据业务需要自由选择加密算法。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (29)

1.一种安全通信的方法,其特征在于,包括:
第一设备接收安全令牌服务实体发送的第三密钥加密密文,所述第三密钥加密密文为第一密钥加密密钥KEK的加密密文;
所述第一设备与所述安全令牌服务实体通过密钥协商获取第一传输密钥,根据所述第一传输密钥对所述第三密钥加密密文进行解密以获取所述第一KEK;
所述第一设备从所述安全令牌服务实体接收第一密钥加密密文,所述第一密钥加密密文为根据所述第一KEK对第一加密密钥加密获得的密文;
所述第一设备根据所述第一KEK对所述第一密钥加密密文进行解密以获取所述第一加密密钥;
所述第一设备根据所述第一加密密钥对第一传输数据进行加密以获取第一数据加密密文;
所述第一设备向第二设备发送所述第一数据加密密文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一设备从所述安全令牌服务实体获取第二密钥加密密文,所述第二密钥加密密文为根据第二KEK对所述第一加密密钥加密获得的密文;
所述第一设备向所述第二设备发送所述第二密钥加密密文。
3.根据权利要求1或2所述的方法,其特征在于,所述第一设备根据所述第一KEK对所述第一密钥加密密文进行解密以获取所述第一加密密钥,包括:
所述第一设备获取第一KEK版本;
所述第一设备根据所述第一KEK版本确定所述第一KEK处于生命周期有效期内;
所述第一设备根据处于生命周期有效期内的所述第一KEK对所述第一密钥加密密文进行解密以获取所述第一加密密钥。
4.根据权利要求1或2所述的方法,其特征在于,所述第一设备根据所述第一KEK对所述第一密钥加密密文进行解密以获取所述第一加密密钥,包括:
所述第一设备获取安全令牌版本;
所述第一设备根据所述安全令牌版本确定所述第一密钥加密密文处于生命周期有效期内;
所述第一设备根据所述第一KEK对处于生命周期有效期内的所述第一密钥加密密文进行解密以获取所述第一加密密钥。
5.根据权利要求1或2所述的方法,其特征在于,在所述第一设备接收安全令牌服务实体发送的第三密钥加密密文之前,所述方法还包括:
所述第一设备向所述安全令牌服务实体发送第一请求信息,所述第一请求信息用于请求所述第一KEK,所述第一请求信息包括第一标识,所述第一标识用于指示所述第一设备的业务类型,所述第一设备从所述安全令牌服务实体获取的所述第三密钥加密密文与所述第一设备的业务类型相关联。
6.根据权利要求5所述的方法,其特征在于,在所述第一设备接收安全令牌服务实体发送的第三密钥加密密文之前,所述方法还包括:
所述第一设备向所述安全令牌服务实体发送第二请求信息,所述第二请求信息用于请求所述第一密钥加密密文,所述第二请求信息包括所述第一标识,所述第一设备从所述安全令牌服务实体获取的所述第一密钥加密密文与所述第一设备的业务类型相关联。
7.根据权利要求6所述的方法,其特征在于,所述第二请求信息进一步用于请求第二密钥加密密文,所述第二请求信息还包括第二标识,所述第二标识用于指示所述第二设备的业务类型;
所述方法还包括:
所述第一设备从所述安全令牌服务实体获取所述第二密钥加密密文,所述第二密钥加密密文为根据第二KEK对所述第一加密密钥进行加密获得的密文,所述第二密钥加密密文与所述第二设备的业务程序类型相关联;
所述第一设备向所述第二设备发送所述第二密钥加密密文。
8.根据权利要求1或2所述的方法,其特征在于,所述第一设备从所述安全令牌服务实体接收第一密钥加密密文,包括:
所述第一设备从所述安全令牌服务实体接收令牌加密密文,所述令牌加密密文为安全令牌的加密密文,所述安全令牌包括所述第一密钥加密密文;
所述第一设备与所述安全令牌服务实体通过密钥协商获取第二传输密钥,根据所述第二传输密钥对所述令牌加密密文进行解密以获取所述安全令牌,根据所述安全令牌获取所述第一密钥加密密文。
9.根据权利要求2或7所述的方法,其特征在于,在所述第一设备向所述第二设备发送所述第二密钥加密密文之后,所述方法还包括:
所述第一设备向所述第二设备发送会话重建请求信息,所述会话重建请求信息包括会话重建标识号,所述会话重建标识号用于标识所述第一加密密钥,所述重建请求信息用于请求所述第二设备通过根据所述会话重建标识号确定的所述第一加密密钥进行信息交互;
所述第一设备接收所述第二设备发送的第三数据加密密文,所述第三数据加密密文为所述第二设备根据所述第一加密密钥对第三传输数据进行加密获得的密文;
所述第一设备根据所述第一加密密钥对所述第三数据加密密文进行解密以获取所述第三传输数据。
10.一种安全通信的方法,其特征在于,包括:
安全令牌服务实体与第一设备通过密钥协商获取第一传输密钥及第一密钥加密密钥KEK,根据所述第一传输密钥对所述第一KEK进行加密以获取第三密钥加密密文;
所述安全令牌服务实体通过所述第一KEK对第一加密密钥进行加密以获取第一密钥加密密文,所述第一加密密钥用于对第一传输数据进行加密以获取第一数据密文以及对所述第一数据密文进行解密;
所述安全令牌服务实体向所述第一设备发送所述第三密钥加密密文及所述第一密钥加密密文,所述第一KEK和所述第一密钥加密密文用于获取所述第一加密密钥;
所述安全令牌服务实体与第二设备通过密钥协商获取第三传输密钥及第二KEK,根据所述第三传输密钥对所述第二KEK进行加密以获取第四密钥加密密文,所述第二KEK用于对所述第一加密密钥加密以获取第二密钥加密密文;
所述安全令牌服务实体向所述第二设备发送所述第四密钥加密密文。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述安全令牌服务实体通过所述第二KEK对所述第一加密密钥进行加密以获取所述第二密钥加密密文;
所述安全令牌服务实体向所述第一设备发送所述第二密钥加密密文。
12.根据权利要求10或11所述的方法,其特征在于,在所述安全令牌服务实体向第一设备发送所述第三密钥加密密文和所述第一密钥加密密文之前,所述方法还包括:
所述安全令牌服务实体接收所述第一设备发送的第一请求信息,所述第一请求信息用于请求所述第一KEK,所述第一请求信息包括第一标识,所述第一标识用于指示所述第一设备的业务类型;
所述安全令牌服务实体向第一设备发送所述第三密钥加密密文和所述第一密钥加密密文包括:
所述安全令牌服务实体向所述第一设备发送与所述第一设备的业务类型相关联的所述第三密钥加密密文;
所述安全令牌服务实体向所述第一设备发送所述第一密钥加密密文。
13.根据权利要求12所述的方法,其特征在于,在所述安全令牌服务实体向第一设备发送所述第三密钥加密密文和所述第一密钥加密密文之前,所述方法还包括:
所述安全令牌服务实体接收所述第一设备发送的第二请求信息,所述第二请求信息用于请求所述第一密钥加密密文,所述第二请求信息包括所述第一标识;
所述安全令牌服务实体向第一设备发送所述第一KEK和所述第一密钥加密密文包括:
所述安全令牌服务实体向所述第一设备发送所述第一KEK;
所述安全令牌服务实体向所述第一设备发送与所述第一设备的业务类型相关联的所述第一密钥加密密文。
14.根据权利要求13所述的方法,其特征在于,所述第二请求信息进一步用于请求所述第二密钥加密密文,所述第二请求信息还包括第二标识,所述第二标识用于指示所述第二设备的业务类型;
所述方法还包括:
所述安全令牌服务实体向所述第一设备发送与所述第二设备的业务类型相关联的所述第二密钥加密密文,所述第二密钥加密密文为根据所述第二KEK对所述第一加密密钥进行加密获得的密文。
15.根据权利要求10或11所述的方法,其特征在于,在所述安全令牌服务实体向第二设备发送所述第四密钥加密密文之前,所述方法还包括:
所述安全令牌服务实体接收所述第二设备发送的第三请求信息,所述第三请求信息用于请求所述第二KEK,所述第三请求信息包括第二标识,所述第二标识用于指示所述第二设备的业务类型;
所述安全令牌服务实体向第二设备发送第二KEK包括:
所述安全令牌服务实体向所述第二设备发送与所述第二设备的业务类型相关联的所述第二KEK。
16.根据权利要求10或11所述的方法,其特征在于,所述安全令牌服务实体向第一设备发送所述第三密钥加密密文和所述第一密钥加密密文,包括:
所述安全令牌服务实体向所述第一设备发送所述第三密钥加密密文;
所述安全令牌服务实体与所述第一设备通过密钥协商获取第二传输密钥,根据所述第二传输密钥对安全令牌进行加密以获取令牌加密密文,所述安全令牌包括所述第一密钥加密密文;
所述安全令牌服务实体向所述第一设备发送所述令牌加密密文。
17.一种安全通信的方法,其特征在于,包括:
第二设备接收安全令牌服务实体发送的第四密钥加密密文,所述第四密钥加密密文为第二密钥加密密钥KEK的加密密文;
所述第二设备与所述安全令牌服务实体通过密钥协商获取第三传输密钥,根据所述第三传输密钥对所述第四密钥加密密文进行解密以获取所述第二KEK;
所述第二设备接收第一设备发送的第一数据加密密文,所述第一数据加密密文为第一加密密钥对第一传输数据进行加密获得的密文;
所述第二设备获取第二密钥加密密文,所述第二密钥加密密文为根据所述第二KEK对所述第一加密密钥加密获得的密文;
所述第二设备根据所述第二KEK对所述第二密钥加密密文进行解密以获取所述第一加密密钥;
所述第二设备根据所述第一加密密钥对所述第一数据加密密文进行解密以获取所述第一传输数据。
18.根据权利要求17所述的方法,其特征在于,所述第二设备获取第二密钥加密密文包括:
所述第二设备接收所述第一设备或所述安全令牌服务实体发送的所述第二密钥加密密文。
19.根据权利要求17或18所述的方法,其特征在于,所述第二设备根据所述第二KEK对第二密钥加密密文进行解密以获取第一加密密钥,包括:
所述第二设备获取第二KEK版本;
所述第二设备根据所述第二KEK版本确定所述第二KEK处于生命周期有效期内;
所述第二设备根据处于生命周期有效期内的所述第二KEK对所述第二密钥加密密文进行解密以获取所述第一加密密钥。
20.根据权利要求17或18所述的方法,其特征在于,所述第二设备根据所述第二KEK对第二密钥加密密文进行解密以获取第一加密密钥,包括:
所述第二设备获取安全令牌版本;
所述第二设备根据所述安全令牌版本确定所述第二密钥加密密文处于生命周期有效期内;
所述第二设备根据所述第二KEK对处于生命周期有效期内的所述第二密钥加密密文进行解密以获取所述第一加密密钥。
21.根据权利要求17或18所述的方法,其特征在于,在所述第二设备接收安全令牌服务实体发送的第四密钥加密密文之前,所述方法还包括:
所述第二设备向所述安全令牌服务实体发送第三请求信息,所述第三请求信息用于请求所述第二KEK,所述第三请求信息包括第二标识,所述第二标识用于指示所述第二设备的业务类型,所述第二设备从所述安全令牌服务实体获取的所述第四密钥加密密文与所述第二设备的业务类型相关联。
22.根据权利要求18所述的方法,其特征在于,在所述第二设备接收所述第一设备或所述安全令牌服务实体发送的所述第二密钥加密密文之后,所述方法还包括:
所述第二设备接收所述第一设备发送的会话重建请求信息,所述会话重建请求信息包括会话重建标识号,所述会话重建标识号用于标识所述第一加密密钥;
所述第二设备根据所述会话重建标识号确定所述第一加密密钥;
所述第二设备根据所述第一加密密钥对第三传输数据进行加密获得第三数据加密密文;
所述第二设备向所述第一设备发送所述第三数据加密密文。
23.一种安全通信装置,其特征在于,包括:
第一接收模块,用于接收安全令牌服务实体发送的第三密钥加密密文,所述第三密钥加密密文为第一密钥加密密钥KEK的加密密文;
处理模块,用于与所述安全令牌服务实体通过密钥协商获取第一传输密钥,根据所述第一传输密钥对所述第三密钥加密密文进行解密以获取所述第一KEK;
第二接收模块,用于从所述安全令牌服务实体接收第一密钥加密密文,所述第一密钥加密密文为根据所述第一KEK对第一加密密钥加密获得的密文;第一解密模块,用于根据所述第一KEK对所述第一密钥加密密文进行解密以获取所述第一加密密钥;
加密模块,用于根据所述第一加密密钥对第一传输数据进行加密以获取第一数据加密密文;
第一发送模块,用于向第二设备发送所述第一数据加密密文。
24.一种安全令牌服务实体装置,其特征在于,包括:
第一处理模块,用于与第一设备通过密钥协商获取第一传输密钥及第一密钥加密密钥KEK,根据所述第一传输密钥对所述第一KEK进行加密以获取第三密钥加密密文;
加密模块,用于通过所述第一KEK对第一加密密钥进行加密以获取第一密钥加密密文,所述第一加密密钥用于对第一传输数据进行加密以获取第一数据密文以及对所述第一数据密文进行解密;
第一发送模块,用于向所述第一设备发送所述第三密钥加密密文和所述第一密钥加密密文,所述第一KEK和所述第一密钥加密密文用于获取所述第一加密密钥;
第二处理模块,用于与第二设备通过密钥协商获取第三传输密钥及第二KEK,根据所述第三传输密钥对所述第二KEK进行加密以获取第四密钥加密密文,所述第二KEK用于对所述第一加密密钥加密以获取第二密钥加密密文;
第二发送模块,用于向第二设备发送所述第四密钥加密密文。
25.一种安全通信装置,其特征在于,包括:
接收模块,用于接收安全令牌服务实体发送的第四密钥加密密文,所述第四密钥加密密文为第二密钥加密密钥KEK的加密密文;
处理模块,用于与安全令牌服务实体通过密钥协商获取第三传输密钥,根据所述第三传输密钥对所述第四密钥加密密文进行解密以获取第二KEK;
接收模块,用于接收第一设备发送的第一数据加密密文,所述第一数据加密密文为第一加密密钥对第一传输数据进行加密获得的密文;
第二获取模块,用于获取第二密钥加密密文,所述第二密钥加密密文为根据所述第二KEK对所述第一加密密钥加密获得的密文;
第一解密模块,用于根据所述第二KEK对所述第二密钥加密密文进行解密以获取第一加密密钥;
第二解密模块,用于根据所述第一加密密钥对所述第一数据加密密文进行解密以获取所述第一传输数据。
26.一种安全通信装置,其特征在于,包括:
用于实现权利要求1至9中任一项所述的方法的单元;或者
用于实现权利要求10至16中任一项所述的方法的单元;或者
用于实现权利要求17至22中任一项所述的方法的单元。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序运行时,
使得装置执行如权利要求1至9中任意一项所述的方法,或者
使得装置执行如权利要求10至16中任意一项所述的方法,或者
使得装置执行如权利要求17至22中任意一项所述的方法。
28.一种芯片系统,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,
使得安装有所述芯片系统的通信装置执行如权利要求1至9中任意一项所述的方法;或者
使得安装有所述芯片系统的通信装置执行如权利要求10至16中任意一项所述的方法;或者
使得安装有所述芯片系统的通信装置执行如权利要求17至22中任意一项所述的方法。
29.一种通信系统,包括以下至少两项:
用于执行如权利要求1至9中任一项所述的方法的装置;
用于执行如权利要求10至16中任一项所述的方法的装置;
用于执行如权利要求17至22中任一项所述的方法的装置。
CN202011003010.2A 2020-09-22 2020-09-22 安全通信的方法和装置 Active CN114301613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011003010.2A CN114301613B (zh) 2020-09-22 2020-09-22 安全通信的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011003010.2A CN114301613B (zh) 2020-09-22 2020-09-22 安全通信的方法和装置

Publications (2)

Publication Number Publication Date
CN114301613A CN114301613A (zh) 2022-04-08
CN114301613B true CN114301613B (zh) 2023-08-22

Family

ID=80964104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011003010.2A Active CN114301613B (zh) 2020-09-22 2020-09-22 安全通信的方法和装置

Country Status (1)

Country Link
CN (1) CN114301613B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225672B (zh) * 2022-07-14 2024-07-26 蔚来汽车科技(安徽)有限公司 端到端的数据传输方法、设备和介质
CN116707802B (zh) * 2023-08-04 2023-12-12 河南省信息化集团有限公司 基于密钥加密密钥(kek)的授权管理方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340443A (zh) * 2008-08-28 2009-01-07 中国电信股份有限公司 一种通信网络中会话密钥协商方法、系统和服务器
WO2012132136A1 (ja) * 2011-03-25 2012-10-04 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
CN103534976A (zh) * 2013-06-05 2014-01-22 华为技术有限公司 数据安全的保护方法、服务器、主机及系统
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置
CN107040369A (zh) * 2016-10-26 2017-08-11 阿里巴巴集团控股有限公司 数据传输方法、装置及系统
CN107786328A (zh) * 2017-09-01 2018-03-09 深圳市金立通信设备有限公司 一种生成密钥的方法、服务节点设备及计算机可读介质
CN108347410A (zh) * 2017-01-24 2018-07-31 华为技术有限公司 安全实现方法、设备以及系统
CN110535641A (zh) * 2019-08-27 2019-12-03 中国神华能源股份有限公司神朔铁路分公司 密钥管理方法和装置、计算机设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822209B2 (en) * 2006-06-06 2010-10-26 Red Hat, Inc. Methods and systems for key recovery for a token
US8356177B2 (en) * 2008-12-30 2013-01-15 Cisco Technology, Inc. Key transport in authentication or cryptography
US10157289B2 (en) * 2016-09-26 2018-12-18 Bank Of America Corporation Progressive key rotation for format preserving encryption (FPE)
US10567165B2 (en) * 2017-09-21 2020-02-18 Huawei Technologies Co., Ltd. Secure key transmission protocol without certificates or pre-shared symmetrical keys

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340443A (zh) * 2008-08-28 2009-01-07 中国电信股份有限公司 一种通信网络中会话密钥协商方法、系统和服务器
WO2012132136A1 (ja) * 2011-03-25 2012-10-04 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
CN103534976A (zh) * 2013-06-05 2014-01-22 华为技术有限公司 数据安全的保护方法、服务器、主机及系统
CN107040369A (zh) * 2016-10-26 2017-08-11 阿里巴巴集团控股有限公司 数据传输方法、装置及系统
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置
CN108347410A (zh) * 2017-01-24 2018-07-31 华为技术有限公司 安全实现方法、设备以及系统
CN107786328A (zh) * 2017-09-01 2018-03-09 深圳市金立通信设备有限公司 一种生成密钥的方法、服务节点设备及计算机可读介质
CN110535641A (zh) * 2019-08-27 2019-12-03 中国神华能源股份有限公司神朔铁路分公司 密钥管理方法和装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李飞等.《信息安全理论与技术》.2016,第73-76页. *

Also Published As

Publication number Publication date
CN114301613A (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
US12047362B2 (en) Systems and methods for secure multi-party communications using a proxy
Jager et al. On the security of TLS 1.3 and QUIC against weaknesses in PKCS# 1 v1. 5 encryption
Li et al. Group-based authentication and key agreement with dynamic policy updating for MTC in LTE-A networks
KR100967323B1 (ko) 데이터 프로세싱 시스템에서의 보안을 위한 방법 및 장치
US7600122B2 (en) Methods and apparatus for accelerating secure session processing
KR101032016B1 (ko) 제약된 암호 키
US8843747B2 (en) Communication apparatus and communication system
US20160373418A1 (en) Method for Enabling a Secure Provisioning of a Credential, and Related Wireless Devices and Servers
US11736304B2 (en) Secure authentication of remote equipment
CN111756529B (zh) 一种量子会话密钥分发方法及系统
JP2005515715A (ja) データ伝送リンク
JP2005515701A (ja) データ伝送リンク
JP2005515701A6 (ja) データ伝送リンク
JP7551080B2 (ja) 最適化された公開鍵基盤を備える組み込みシステムのネットワークを保護および管理するための方法ならびにアーキテクチャ
CN114301613B (zh) 安全通信的方法和装置
US20240348588A1 (en) Data processing method and apparatus, computer device, and storage medium
Xiao et al. Session key distribution made practical for CAN and CAN-FD message authentication
CN115766119A (zh) 通信方法、装置、通信系统及存储介质
US8356175B2 (en) Methods and apparatus to perform associated security protocol extensions
Gerber Authentication and Authorization for Constrained Environments
Pirzada et al. Randomized Key Exchange Protocol Implementation for Internet of Things Application
Yeun et al. Secure software download for programmable mobile user equipment
CN116419224A (zh) 集成可信度量的通信方法和装置
CN117857065A (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