CN110557248A - 基于无证书密码学的抗量子计算签密的密钥更新方法和系统 - Google Patents

基于无证书密码学的抗量子计算签密的密钥更新方法和系统 Download PDF

Info

Publication number
CN110557248A
CN110557248A CN201910656968.2A CN201910656968A CN110557248A CN 110557248 A CN110557248 A CN 110557248A CN 201910656968 A CN201910656968 A CN 201910656968A CN 110557248 A CN110557248 A CN 110557248A
Authority
CN
China
Prior art keywords
parameter
key
original
client
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910656968.2A
Other languages
English (en)
Other versions
CN110557248B (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.)
Ruban Quantum Technology Co Ltd
Nanjing Ruban Quantum Technology Co Ltd
Original Assignee
Ruban Quantum Technology Co Ltd
Nanjing Ruban Quantum Technology 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 Ruban Quantum Technology Co Ltd, Nanjing Ruban Quantum Technology Co Ltd filed Critical Ruban Quantum Technology Co Ltd
Priority to CN201910656968.2A priority Critical patent/CN110557248B/zh
Publication of CN110557248A publication Critical patent/CN110557248A/zh
Application granted granted Critical
Publication of CN110557248B publication Critical patent/CN110557248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Abstract

本发明公开了一种无基于证书密码学的抗量子计算签密的密钥更新方法和系统,抗量子计算保密通信的密钥更新系统包括客户端和服务器,客户端配置有客户端密钥卡,客户端密钥卡内存储有非对称密钥池、群组对称密钥池和客户端私钥;服务器配置有服务器密钥卡,服务器密钥卡内存储有非对称密钥池、群组对称密钥池、通信私钥和颁发私钥。本发明的客户端与服务器之间传输消息时,利用密钥池中的密钥对签密参数增加了偏移量,仅有密钥卡拥有者可以恢复该偏移量而得到原始签密参数,这让量子计算机在传输过程中难以破解签密参数,从而难以破解会话内容,充分地保障了密钥更新过程的安全性。

Description

基于无证书密码学的抗量子计算签密的密钥更新方法和系统
技术领域
本申请涉及安全通信技术领域,尤其是一种基于无证书密码学的抗量子计算签密的密钥更新方法和系统。
背景技术
国际互联网的广泛应用使得远在世界各个角落的互不相识的人们可以快速交换信息,共享信息资源。在交换的过程中,人们并不总是希望自己发出的信息被所有人获悉,处于种种考虑,发出信息的人只希望所发出的信息被与此有关的人获悉。为此人们使用密码对自己所发出的信息进行加密,只有配有相同密码的人才能解密信息。另外,在通过互联网把全球连接在一个如此广泛的网络世界的时代,出于全球电子商务和电子贸易的目的,人们需要使用统一的密码进行信息加密。因此在1975年公布的美国数据加密标准DES。作为传统密码体制的DES算法,使用时通信双方必须预先分配相同的密钥并妥善保管,在没有专门的密钥管理机构时,互不认识的通信双方如何预先得到所需的密钥,如何识别对方的身份,是一个非常重要的问题。这个问题可以归结到如何授权对方成为自己本次通信的唯一合法的通信伙伴,使其具有合法的权利和能力解密自己所发出去的密文。
密钥卡是结合了密码学技术、硬件安全隔离技术、量子物理学技术(搭载量子随机数发生器的情况下)的身份认证和加解密产品。密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡可以有硬件PIN码保护,PIN码和硬件构成了用户使用密钥卡的两个必要因素,即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的密钥卡和用户PIN码,才可以登录系统。即使用户的PIN码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。总之,密钥卡使得密钥等绝密信息不以明文形式出现在主机的磁盘及内存中,从而能有效保证绝密信息的安全。现有技术存在的问题:
1.客户端非对称密钥池颁发后,出于客户端自身安全等考虑,可有客户端发起密钥更新的需求,以更换自身的公钥。由于所有客户端使用同一个公钥池,如果某客户端需要更新其公钥,没有合适的方法来更新所有客户端的非对称密钥池。
2.必须先获取通信对方的公钥指针随机数用于从非对称密钥池中获取对方的公钥。公钥指针随机数难以记忆,并需要对所有通信对方的公钥指针随机数进行存储,往往需要浪费额外的存储空间,流程也显得冗余。
发明内容
基于此,有必要针对上述技术问题,提供一种基于无证书密码学的抗量子计算签密的密钥更新方法和系统。
本申请提供基于无证书密码学的抗量子计算签密的密钥更新方法,在主动更新时,参与方包括第一客户端和服务器,所述密钥更新方法实施在第一客户端包括:
生成新第一公钥和新第一私钥,组合原第一公钥、原第一公钥生成时间以及新第一公钥作为第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第一客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
向服务器发送所述第一签密密文;所述第一中间参数用于供服务器计算得到第一偏移量,所述第一偏移量和第一偏移参数用于供服务器相加得到第一原始参数,所述第一原始参数和第一中间参数用于供服务器计算得到第二偏移量,所述第二偏移量和第二偏移参数用于供服务器相加得到第二中间参数,所述第一中间参数和第一原始参数用于供服务器计算得到所述第一原文,所述第一原文用于供服务器执行服务器密钥更新操作;
接收来自服务器的第二签密密文;所述第二签密密文由服务器对第二原文进行所述签密计算后得到,所述第二原文为服务器执行服务器密钥更新操作后生成的执行结果;
对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述执行结果,若所述执行结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥、原第一公钥生成时间和原第一私钥为新第一公钥、新第一公钥生成时间和新第一私钥。
本申请提供基于无证书密码学的抗量子计算签密的密钥更新方法,其特征在于,参与方包括第一客户端和服务器,所述密钥更新方法实施在服务器包括:
接收来自所述第一客户端的第一签密密文;所述第一签密密文由第一客户端对第一原文进行签密计算得到,所述第一签密密文包括第一偏移参数、第一中间参数和第二偏移参数,所述第一偏移参数由第一客户端利用第一原始参数减去第一偏移量得到,所述第一原始参数由第一客户端生成,所述第一偏移量由第一客户端利用所述第一中间参数计算得到,所述第一中间参数由第一客户端根据服务器颁发公钥、服务器通信公钥和第一原文计算得到,所述第一原文包括原第一公钥、原第一公钥生成时间以及由第一客户端生成的新第一公钥,所述第二偏移参数由第一客户端利用第二中间参数减去第二偏移量得到,所述第二中间参数由第一客户端根据所述第一原始参数、第一中间参数和第一客户端私钥计算得到,所述第二偏移量由第一客户端利用所述第一原始参数和第一中间参数计算得到;
解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文执行服务器密钥更新操作包括:解析第一原文,记录服务器当前时间为新第一公钥生成时间,替换本地存储的原第一公钥和原第一公钥生成时间为第一原文中的新第一公钥和新第一公钥生成时间;
执行服务器公钥更新操作后生成执行结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文;
向所述第一客户端发送所述第二签密密文;所述第二签密密文用于供第一客户端解签密得到所述第二原文,所述第二原文用于供第一客户端执行客户端密钥更新操作。
本申请提供基于无证书密码学的抗量子计算签密的密钥更新方法,在主动更新时,参与方包括第一客户端和服务器,所述密钥更新方法包括:
所述第一客户端生成新第一公钥和新第一私钥,组合原第一公钥、原第一公钥生成时间以及新第一公钥作为第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第一客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
所述第一客户端向服务器发送所述第一签密密文;
所述服务器接收来自所述第一客户端的第一签密密文;
所述服务器解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文执行服务器密钥更新操作包括:解析第一原文,记录服务器当前时间为新第一公钥生成时间,替换本地存储的原第一公钥和原第一公钥生成时间为第一原文中的新第一公钥和新第一公钥生成时间;
所述服务器执行服务器公钥更新操作后生成执行结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文,向所述第一客户端发送所述第二签密密文;
所述第一客户端接收来自服务器的第二签密密文;
所述第一客户对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述执行结果,若所述执行结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥、原第一公钥生成时间和原第一私钥为新第一公钥、新第一公钥生成时间和新第一私钥。
本申请提供基于无证书密码学的抗量子计算签密的密钥更新方法,在被动更新时,参与方包括第二客户端和服务器,所述密钥更新方法实施在第二客户端包括:
组合第一客户端ID和原第一公钥生成时间得到第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第二客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
向服务器发送所述第一签密密文;所述第一中间参数用于供服务器计算得到第一偏移量,所述第一偏移量和第一偏移参数用于供服务器相加得到第一原始参数,所述第一原始参数和第一中间参数用于供服务器计算得到第二偏移量,所述第二偏移量和第二偏移参数用于供服务器相加得到第二中间参数,所述第一中间参数和第一原始参数用于供服务器计算得到所述第一原文,所述第一原文用于供服务器判断是否需要更新第二客户端中的原第一公钥;
接收来自服务器的第二签密密文;所述第二签密密文由服务器对第二原文进行所述签密计算后得到,所述第二原文为服务器判断是否需要更新第二客户端中的原第一公钥后生成的判断结果;
对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述判断结果,若所述判断结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥和原第一公钥生成时间为新第一公钥和新第一公钥生成时间。
本申请提供基于无证书密码学的抗量子计算签密的密钥更新方法,在被动更新时,参与方包括第二客户端和服务器,所述密钥更新方法实施在服务器包括:
接收来自所述第二客户端的第一签密密文;所述第一签密密文由第二客户端对第一原文进行签密计算得到,所述第一签密密文包括第一偏移参数、第一中间参数和第二偏移参数,所述第一偏移参数由第二客户端利用第一原始参数减去第一偏移量得到,所述第一原始参数由第二客户端生成,所述第一偏移量由第二客户端利用所述第一中间参数计算得到,所述第一中间参数由第二客户端根据服务器颁发公钥、服务器通信公钥和第一原文计算得到,所述第一原文包括第一客户端ID和原第一公钥生成时间,所述第二偏移参数由第二客户端利用第二中间参数减去第二偏移量得到,所述第二中间参数由第二客户端根据所述第一原始参数、第一中间参数和第二客户端私钥计算得到,所述第二偏移量由第二客户端利用所述第一原始参数和第一中间参数计算得到;
解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文判断是否需要更新第二客户端中的原第一公钥:根据第一原文中的第一客户端ID取出本地存储的最新的第一公钥生成时间,若本地存储的最新的第一公钥生成时间和第一原文中的原第一公钥生成时间不相等,则需要更新第二客户端中的原第一公钥;
将判断是否需要更新第二客户端中的原第一公钥生成的判断结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文;
向所述第二客户端发送所述第二签密密文;所述第二签密密文用于供第二客户端解签密得到所述第二原文,所述第二原文用于供第二客户端执行客户端密钥更新操作。
本申请提供基于无证书密码学的抗量子计算签密的密钥更新方法,在被动更新时,参与方包括第二客户端和服务器,所述密钥更新方法包括:
所述第二客户端组合第一客户端ID和原第一公钥生成时间得到第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第二客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
所述第二客户端向服务器发送所述第一签密密文;
所述服务器接收来自所述第二客户端的第一签密密文;
所述服务器解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文判断是否需要更新第二客户端中的原第一公钥:根据第一原文中的第一客户端ID取出本地存储的最新的第一公钥生成时间,若本地存储的最新的第一公钥生成时间和第一原文中的原第一公钥生成时间不相等,则需要更新第二客户端中的原第一公钥;
所述服务器将判断是否需要更新第二客户端中的原第一公钥生成的判断结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文向所述第二客户端发送所述第二签密密文;
所述第二客户端接收来自服务器的第二签密密文;
所述第二客户端对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述判断结果,若所述判断结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥和原第一公钥生成时间为新第一公钥和新第一公钥生成时间。
进一步的,所述利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,包括:
对第一中间参数进行哈希运算得到第一哈希值,根据所述第一哈希值从密钥卡的群组对称密钥池中取出第一密钥,对所述第一哈希值和所述第一密钥的组合进行哈希运算得到第二哈希值,对所述第二哈希值进行哈希运算得到第一偏移量;
对所述第一原始参数和所述第一中间参数的组合进行哈希运算得到第三哈希值,根据所述第三哈希值从密钥卡的群组对称密钥池中取出第二密钥,对所述第三哈希值和所述第二密钥的组合进行哈希运算得到第四哈希值,对所述第四哈希值进行哈希运算得到第二偏移量。
进一步的,客户端配置有客户端密钥卡,所述客户端密钥卡内存储有非对称密钥池、群组对称密钥池和客户端私钥;所述服务器配置有服务器密钥卡,所述服务器密钥卡内存储有非对称密钥池、群组对称密钥池、通信私钥和颁发私钥;所述客户端密钥卡内的非对称密钥池和服务器密钥卡内的非对称密钥池均包含客户端公钥和服务器公钥,所述服务器公钥包括通信公钥和颁发公钥,所述客户端公钥与通信公钥的结构相同,所述客户端私钥与通信私钥的结构相同。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的基于无证书密码学的抗量子计算签密的密钥更新方法的步骤。
本申请还提供一种基于无证书密码学的抗量子计算签密的密钥更新系统,所述抗量子计算保密通信的密钥更新系统包括客户端和服务器,客户端配置有客户端密钥卡,所述客户端密钥卡内存储有非对称密钥池、群组对称密钥池和客户端私钥;所述服务器配置有服务器密钥卡,所述服务器密钥卡内存储有非对称密钥池、群组对称密钥池、通信私钥和颁发私钥;所述客户端密钥卡内的非对称密钥池和服务器密钥卡内的非对称密钥池均包含客户端公钥和服务器公钥,所述服务器公钥包括通信公钥和颁发公钥,所述客户端公钥与通信公钥的结构相同,所述客户端私钥与通信私钥的结构相同;
所述客户端和服务器通过通信网络实现所述的基于无证书密码学的抗量子计算签密的密钥更新方法的步骤。
本申请提供的基于无证书密码学的抗量子计算签密的密钥更新方法和系统,客户端与服务器之间传输消息时,利用密钥池中的密钥对签密参数增加了偏移量,仅有密钥卡拥有者可以恢复该偏移量而得到原始签密参数,这让量子计算机在传输过程中难以破解加密参数,从而难以破解会话内容,充分地保障了密钥更新过程的安全性。值得指出的是本申请的抗量子计算方法,对比使用对称密钥对签密参数进行加密以抗量子计算的方法,其计算量更小。
附图说明
图1为本发明中使用的客户端密钥卡内部结构图;
图2为本发明中使用的服务器密钥卡内部结构图;
图3为本发明中使用的密钥卡中公钥池的具体结构图;
图4为本发明中生成参数QID的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更好地描述和说明本申请的实施例,可参考一幅或多幅附图,但用于描述附图的附加细节或示例不应当被认为是对本申请的发明创造、目前所描述的实施例或优选方式中任何一者的范围的限制。
应该理解的是,除非本文中有明确的说明,各步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
其中一实施例中,提供一种基于无证书密码学的抗量子计算签密的密钥更新方法,在主动更新时,参与方包括第一客户端和服务器,所述密钥更新方法包括:
所述第一客户端生成新第一公钥和新第一私钥,组合原第一公钥、原第一公钥生成时间以及新第一公钥作为第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第一客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
所述第一客户端向服务器发送所述第一签密密文;
所述服务器接收来自所述第一客户端的第一签密密文;
所述服务器解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文执行服务器密钥更新操作包括:解析第一原文,记录服务器当前时间为新第一公钥生成时间,替换本地存储的原第一公钥和原第一公钥生成时间为第一原文中的新第一公钥和新第一公钥生成时间;
所述服务器执行服务器公钥更新操作后生成执行结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文,向所述第一客户端发送所述第二签密密文;
所述第一客户端接收来自服务器的第二签密密文;
所述第一客户对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述执行结果,若所述执行结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥、原第一公钥生成时间和原第一私钥为新第一公钥、新第一公钥生成时间和新第一私钥。
本实施例中客户端与服务器之间传输消息时,利用密钥池中的密钥对加密参数增加了偏移量,仅有密钥卡拥有者可以恢复该偏移量而得到原始签密参数,这让量子计算机在传输过程中难以破解签密参数,从而难以破解会话内容,充分地保障了密钥更新过程的安全性。
为了进一步说明在抗量子计算签密的密钥更新过程中各参与方的工作流程,以下通过实施在单侧方的方式对主动更新时的基于无证书密码学的抗量子计算签密的密钥更新方法予以描述。
在一实施例中,提供一种基于无证书密码学的抗量子计算签密的密钥更新方法,在主动更新时,参与方包括第一客户端和服务器,所述密钥更新方法实施在第一客户端包括:
生成新第一公钥和新第一私钥,组合原第一公钥、原第一公钥生成时间以及新第一公钥作为第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第一客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
向服务器发送所述第一签密密文;所述第一中间参数用于供服务器计算得到第一偏移量,所述第一偏移量和第一偏移参数用于供服务器相加得到第一原始参数,所述第一原始参数和第一中间参数用于供服务器计算得到第二偏移量,所述第二偏移量和第二偏移参数用于供服务器相加得到第二中间参数,所述第一中间参数和第一原始参数用于供服务器计算得到所述第一原文,所述第一原文用于供服务器执行服务器密钥更新操作;
接收来自服务器的第二签密密文;所述第二签密密文由服务器对第二原文进行所述签密计算后得到,所述第二原文为服务器执行服务器密钥更新操作后生成的执行结果;
对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述执行结果,若所述执行结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥、原第一公钥生成时间和原第一私钥为新第一公钥、新第一公钥生成时间和新第一私钥。
在一实施例中,提供一种基于无证书密码学的抗量子计算签密的密钥更新方法,在主动更新时,参与方包括第一客户端和服务器,所述密钥更新方法实施在服务器包括:
接收来自所述第一客户端的第一签密密文;所述第一签密密文由第一客户端对第一原文进行签密计算得到,所述第一签密密文包括第一偏移参数、第一中间参数和第二偏移参数,所述第一偏移参数由第一客户端利用第一原始参数减去第一偏移量得到,所述第一原始参数由第一客户端生成,所述第一偏移量由第一客户端利用所述第一中间参数计算得到,所述第一中间参数由第一客户端根据服务器颁发公钥、服务器通信公钥和第一原文计算得到,所述第一原文包括原第一公钥、原第一公钥生成时间以及由第一客户端生成的新第一公钥,所述第二偏移参数由第一客户端利用第二中间参数减去第二偏移量得到,所述第二中间参数由第一客户端根据所述第一原始参数、第一中间参数和第一客户端私钥计算得到,所述第二偏移量由第一客户端利用所述第一原始参数和第一中间参数计算得到;
解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文执行服务器密钥更新操作包括:解析第一原文,记录服务器当前时间为新第一公钥生成时间,替换本地存储的原第一公钥和原第一公钥生成时间为第一原文中的新第一公钥和新第一公钥生成时间;
执行服务器公钥更新操作后生成执行结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文;
向所述第一客户端发送所述第二签密密文;所述第二签密密文用于供第一客户端解签密得到所述第二原文,所述第二原文用于供第一客户端执行客户端密钥更新操作。
在密钥更新中,除主动更新之外还包括被动更新,其中一实施例中,提供一种基于无证书密码学的抗量子计算签密的密钥更新方法,在被动更新时,参与方包括第二客户端和服务器,所述密钥更新方法包括:
所述第二客户端组合第一客户端ID和原第一公钥生成时间得到第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第二客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
所述第二客户端向服务器发送所述第一签密密文;
所述服务器接收来自所述第二客户端的第一签密密文;
所述服务器解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文判断是否需要更新第二客户端中的原第一公钥:根据第一原文中的第一客户端ID取出本地存储的最新的第一公钥生成时间,若本地存储的最新的第一公钥生成时间和第一原文中的原第一公钥生成时间不相等,则需要更新第二客户端中的原第一公钥;
所述服务器将判断是否需要更新第二客户端中的原第一公钥生成的判断结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文向所述第二客户端发送所述第二签密密文;
所述第二客户端接收来自服务器的第二签密密文;
所述第二客户端对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述判断结果,若所述判断结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥和原第一公钥生成时间为新第一公钥和新第一公钥生成时间。
本实施例中客户端与服务器之间传输消息时,利用密钥池中的密钥对签密参数增加了偏移量,仅有密钥卡拥有者可以恢复该偏移量而得到原始签密参数,这让量子计算机在传输过程中难以破解加密参数,从而难以破解会话内容,充分地保障了密钥更新过程的安全性。
为了进一步说明在抗量子计算签密的密钥更新过程中各参与方的工作流程,以下通过实施在单侧方的方式对被动更新时的基于无证书密码学的抗量子计算签密的密钥更新方法予以描述。
其中一实施例中,提供一种基于无证书密码学的抗量子计算签密的密钥更新方法,在被动更新时,参与方包括第二客户端和服务器,所述密钥更新方法实施在第二客户端包括:
组合第一客户端ID和原第一公钥生成时间得到第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第二客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
向服务器发送所述第一签密密文;所述第一中间参数用于供服务器计算得到第一偏移量,所述第一偏移量和第一偏移参数用于供服务器相加得到第一原始参数,所述第一原始参数和第一中间参数用于供服务器计算得到第二偏移量,所述第二偏移量和第二偏移参数用于供服务器相加得到第二中间参数,所述第一中间参数和第一原始参数用于供服务器计算得到所述第一原文,所述第一原文用于供服务器判断是否需要更新第二客户端中的原第一公钥;
接收来自服务器的第二签密密文;所述第二签密密文由服务器对第二原文进行所述签密计算后得到,所述第二原文为服务器判断是否需要更新第二客户端中的原第一公钥后生成的判断结果;
对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述判断结果,若所述判断结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥和原第一公钥生成时间为新第一公钥和新第一公钥生成时间。
其中一实施例中,提供一种基于无证书密码学的抗量子计算签密的密钥更新方法,在被动更新时,参与方包括第二客户端和服务器,所述密钥更新方法实施在服务器包括:
接收来自所述第二客户端的第一签密密文;所述第一签密密文由第二客户端对第一原文进行签密计算得到,所述第一签密密文包括第一偏移参数、第一中间参数和第二偏移参数,所述第一偏移参数由第二客户端利用第一原始参数减去第一偏移量得到,所述第一原始参数由第二客户端生成,所述第一偏移量由第二客户端利用所述第一中间参数计算得到,所述第一中间参数由第二客户端根据服务器颁发公钥、服务器通信公钥和第一原文计算得到,所述第一原文包括第一客户端ID和原第一公钥生成时间,所述第二偏移参数由第二客户端利用第二中间参数减去第二偏移量得到,所述第二中间参数由第二客户端根据所述第一原始参数、第一中间参数和第二客户端私钥计算得到,所述第二偏移量由第二客户端利用所述第一原始参数和第一中间参数计算得到;
解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文判断是否需要更新第二客户端中的原第一公钥:根据第一原文中的第一客户端ID取出本地存储的最新的第一公钥生成时间,若本地存储的最新的第一公钥生成时间和第一原文中的原第一公钥生成时间不相等,则需要更新第二客户端中的原第一公钥;
将判断是否需要更新第二客户端中的原第一公钥生成的判断结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文;
向所述第二客户端发送所述第二签密密文;所述第二签密密文用于供第二客户端解签密得到所述第二原文,所述第二原文用于供第二客户端执行客户端密钥更新操作。
在另一实施例中,所述利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,包括:
对第一中间参数进行哈希运算得到第一哈希值,根据所述第一哈希值从密钥卡的群组对称密钥池中取出第一密钥,对所述第一哈希值和所述第一密钥的组合进行哈希运算得到第二哈希值,对所述第二哈希值进行哈希运算得到第一偏移量;
对所述第一原始参数和所述第一中间参数的组合进行哈希运算得到第三哈希值,根据所述第三哈希值从密钥卡的群组对称密钥池中取出第二密钥,对所述第三哈希值和所述第二密钥的组合进行哈希运算得到第四哈希值,对所述第四哈希值进行哈希运算得到第二偏移量。
本实施例中,利用密钥池中的密钥进行偏移量计算,使得仅有密钥卡拥有者可以恢复该偏移量而得到原始签密参数,从而难以破解会话内容,充分地保障了密钥更新过程的安全性。
在另一实施例中,客户端配置有客户端密钥卡,所述客户端密钥卡内存储有非对称密钥池、群组对称密钥池和客户端私钥;所述服务器配置有服务器密钥卡,所述服务器密钥卡内存储有非对称密钥池、群组对称密钥池、通信私钥和颁发私钥;所述客户端密钥卡内的非对称密钥池和服务器密钥卡内的非对称密钥池均包含客户端公钥和服务器公钥,所述服务器公钥包括通信公钥和颁发公钥,所述客户端公钥与通信公钥的结构相同,所述客户端私钥与通信私钥的结构相同。
本实施例中,客户端密钥卡和服务器密钥卡内存储非对称密钥池(公钥),对比使用对称密钥对签密参数进行加密以抗量子计算的方法,其计算量更小。
本实施例中有一个服务器,对应多个客户端。客户端和服务器拥有不同的密钥卡,所有密钥卡都是由服务器颁发,密钥卡中存储有非对称密钥池(公钥)、群组对称密钥池和私钥,其中客户端密钥卡中存有该客户端的唯一私钥,而服务器密钥卡中存有服务器的两种私钥,如图1和图2所示。设实施例中的客户端为A和B,A和B各自从服务器得到密钥卡,服务器为S。
如图3所示,非对称密钥池(公钥)拥有服务器和各个客户端的公钥,每个公钥的存储位置还存有对应用户的ID,因此每个公钥可以用对应用户的ID搜索确定。对于服务器来说,服务器有两种公钥,其中通信公钥与客户端公钥的构成形式相同,而颁发公钥则是服务器独有的构成形式,用服务器ID可以从密钥卡中取出这两种公钥。对于客户端公钥而言,存储每个公钥pk的同时存储有一个pk生成时间Tpk,该Tpk是服务器生成或获取到该pk的时间,即Tpk统一由服务器确定。
本实施例采用密钥系统为无证书签密系统,可参见论文《CertificatelessSigncryption》。对于服务器来说,假设服务器颁发私钥为Msk,其颁发公钥为Mpk=Msk*P,P为参数。Mpk也存于非对称密钥池(公钥)中。用户私钥为sk=<x,D=Msk*Q>,其中x为随机数,Q为用户的部分公钥;用户公钥为<pk=x*P,Q>。特别地,服务器的通信私钥为skS=<xS,DS=Msk*QS>;服务器的通信公钥为<pkS=xS*P,QS>。
密钥卡颁发后,出于客户端自身安全等考虑,可有客户端发起密钥更新的需求;其余用户使用密钥池中的某通信对方的公钥前,也需要查看是否需要更新。
在未做特殊说明的情况下本申请中的各名称以字母和数字组合为准,例如公钥pkA、pkA在本申请中表示同一含义,即公钥pkA;又如原文mA、第一原文mA和mA在本申请中表示同一含义,即第一原文mA;其余名称同理。且本申请中的服务器S、公钥pkAnew等表述中的S、pkAnew仅仅是为了便于区分和叙述,并不对参数本身有额外限定,例如颁发公钥Mpk、部分私钥xA中的Mpk、xA;其他同理。且本申请中的新第一公钥应理解为新生成的想要用于更新的第一公钥,原第一公钥应理解为当前用户密钥卡内存储的最新的第一公钥。
密钥更新包括主动更新和被动更新,以下分别对两种更新过程进行详述。
一、主动更新
步骤1、A(第一客户端)向S(服务器)提出需要更新A的公钥pkA。
A将自己的公钥pkA(原第一公钥)、pkA的生成时间TpkA(原第一公钥生成时间)和想要更新的公钥pkAnew(新第一公钥)组合起来得到pkA||TpkA||pkAnew,命名为第一原文mA。
A对mA进行签密计算:取随机数r∈Zp,根据公式UmA=rP可得第一原始参数UmA的值。先取S的ID并用哈希函数计算得到HIDS=HASH(IDS),然后将HIDS作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PIDS,并在该位置取得对应的密钥KIDS,根据公式CIDS=FC(IDS,KIDS)计算得到CIDS,再用哈希函数H1作用于CIDS得到S的部分公钥QS,如图4所示。其中FC(ID,K)=ID||K;或FC(ID,K)=ID⊕K;或FC(ID,K)=MAC(ID,K),表示使用消息认证算法。
本实施例采用签密算法为无证书密码学签密算法。根据服务器ID值IDS从密钥卡中取服务器颁发公钥Mpk和服务器通信公钥pkS,根据公式TmA=e(Mpk,QS)r可计算得TmA的值,再根据公式hmA=H2(UmA,TmA,r*pkS,IDS,pkS)可以计算得到hmA,由VmA=mA⊕hmA可以得到第一中间参数VmA,其中H2为哈希函数。用哈希函数H3作用于UmA、VmA、IDA和pkA可以得到HmA,用哈希函数H4作用于UmA、VmA、IDA和pkA可以得到HmA’。A从密钥卡中取自己的私钥skA,又根据skA得到部分私钥xA和DA,其中xA为真随机数,DA=Msk*QA,QA的计算方法与QS类似。根据公式WmA=DA+rHmA+xAHmA’可以得到第二中间参数WmA。对VmA做哈希运算得到第一哈希值HmAV,然后将HmAV作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PmAV,并在该位置取得对应的第一密钥KmAV,根据公式UKRmA=HASH(HmAV||KmAV)计算得到第二哈希值UKRmA,对UKRmA进行计算得到第一偏移量UKPmA=H1(UKRmA)。接着对UmA||VmA做哈希运算得到第三哈希值HmAUV,然后将HmAUV作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PmAUV,并在该位置取得对应的第二密钥KmAUV,根据公式WKRmA=HASH(HmAUV||KmAUV)计算得到第四哈希值WKRmA,对WKRmA进行计算得到第二偏移量WKPmA=H1(WKRmA)。从而可以得到加入偏移量后的第一签密密文(UmA-UKPmA,VmA,WmA-WKPmA)。
A将第一签密密文,即消息组合IDA||UmA-UKPmA||VmA||WmA-WKPmA发送给服务器S。
步骤2、S处理A的请求。
S收到A发送过来的消息IDA||UmA-UKPmA||VmA||WmA-WKPmA后,得到其中的各个部分,并对其中的密文进行解密。S按照客户端中一样的方法计算得到UKPmA:对VmA做哈希运算得到HmAV,然后将HmAV作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PmAV,并在该位置取得对应的密钥KmAV,根据公式UKRmA=HASH(HmAV||KmAV)计算得到UKRmA,对UKRmA进行计算得到偏移量UKPmA=H1(UKRmA)。然后用UKPmA加上UmA-UKPmA可得到UmA。接下来S按照客户端中一样的方法计算得到WKPmA:对UmA||VmA做哈希运算得到HmAUV,然后将HmAUV作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PmAUV,并在该位置取得对应的密钥KmAUV,根据公式WKRmA=HASH(HmAUV||KmAUV)计算得到WKRmA,对WKRmA进行计算得到偏移量WKPmA=H1(WKRmA)。然后用WKPmA加上WmA-WKPmA可得到WmA。至此,S恢复了客户端对密文做的偏移,得到原始的签密密文(UmA,VmA,WmA)。
S根据IDA从密钥卡公钥池中取出A的公钥pkA,用哈希函数H3作用于UmA、VmA、IDA和pkA得到HmA,用哈希函数H4作用于UmA、VmA、IDA和pkA得到HmA’。S用哈希函数作用于IDA计算得到HIDA=HASH(IDA),然后将HIDA作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PIDA,并在该位置取得对应的密钥KIDA,根据公式CIDA=FC(IDA,KIDA)计算得到CIDA,再用哈希函数H1作用于CIDA得到A的部分公钥QA。验证公式e(Mpk,QA)e(UmA,HmA)e(pkA,HmA’)=e(P,WmA)是否成立,如果不成立则验证失败,S拒绝更新公钥;如果等式成立则验证成功,进行后续的步骤。S从密钥卡中取自己的私钥skS自己的公钥pkS,又根据skS得到部分私钥xS和DS,其中xS为真随机数,DS=Msk*QS。根据公式TmA=e(DS,UmA)可计算得到TmA,根据公式hmA=H2(UmA,TmA,xSUmA,IDS,pkS)可计算得到hmA,根据公式mA=VmA⊕hmA可以计算得到第一原文mA,根据mA执行服务器公钥更新操作:
S可以得到mA中包含的pkA、TpkA和pkAnew,记录下此时服务器的时间TpkAnew,并验证得到的pkA、TpkA和本地密钥池中的pkA、TpkA是否相等。如果相等,则更换本地密钥池中的pkA、TpkA为pkAnew、TpkAnew,完成更换公钥。
步骤3、S向A发送更新结果作为响应。
如果更新成功,令执行结果mSA=mA||TpkAnew,如果更新失败,则令执行结果mSA=mA||ResultA,其中ResultA为更新失败的原因。将执行结果mSA作为第二原文。
S用按照步骤1中的方法对mSA进行签密,先计算得到偏移量UKPmSA和WKPmSA,然后得到第二签密密文(UmSA-UKPmSA,VmSA,WmSA-WKPmSA)。S将第二签密密文(UmSA-UKPmSA,VmSA,WmSA-WKPmSA)发送给A。
步骤4、A接受S的响应。
如果A没有收到S发送过来的消息,则A将结果告知S,告知方式可以是邮件或即时消息等其他通信方式,告知S的目的是继续从S处接收更新成功或更新失败的通知,以完成密钥更新流程。
A收到S发送过来的消息(UmSA-UKPmSA,VmSA,WmSA-WKPmSA)后,用步骤2中一样的方法对密文(UmSA-UKPmSA,VmSA,WmSA-WKPmSA)进行解签密。如果解签密失败,则A扔掉收到的消息,A将拒绝更新密钥;如果解签密成功,则A得到第二原文mSA,根据mSA执行客户端密钥更新操作:
解析mSA,如果得到的是ResultA则更新失败,可以查看失败原因,流程结束;如果得到的是TpkAnew,获取pkA、TpkA、pkAnew、TpkAnew。
验证从mAS中解析得到的pkA与TpkA是否和从密钥卡中取出的pkA与TpkA相等,如果相等则更换密钥卡中的pkA为pkAnew,更换密钥卡中的TpkA为TpkAnew。A同时也更新旧的私钥xA为新的私钥xAnew。
本实施例就每个步骤而言可视为针对前述相应的实施例,就所有步骤而言也可视为前述相应实施例的结合。
二、被动更新
步骤1、当B(第二客户端)需要使用A(第一客户端)的公钥时,B向S(服务器)询问是否需要更新A的公钥pkA。
B将A的ID值IDA、pkA的生成时间TpkA(原第一公钥生成时间)组合起来得到IDA||TpkA,命名为第一原文mB。其中包含TpkA的意思是向S上报B本地的A的公钥的最新时间,从而询问A的公钥是否需要更新。
B对mB进行签密计算:取随机数r∈Zp,根据公式UmB=rP可得第一原始参数UmB的值。先取S的ID并用哈希函数计算得到HIDS=HASH(IDS),然后将HIDS作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PIDS,并在该位置取得对应的密钥KIDS,根据公式CIDS=FC(IDS,KIDS)计算得到CIDS,再用哈希函数H1作用于CIDS得到S的部分公钥QS。其中FC(ID,K)=ID||K;或FC(ID,K)=ID⊕K;或FC(ID,K)=MAC(ID,K),表示使用消息认证算法。
本实施例采用签密算法为无证书密码学签密算法。根据服务器ID值IDS从密钥卡中取服务器颁发公钥Mpk和服务器通信公钥pkS,根据公式TmB=e(Mpk,QS)r可计算得TmB的值,再根据公式hmB=H2(UmB,TmB,r*pkS,IDS,pkS)可以计算得到hmB,由VmB=mB⊕hmB可以得到第一中间参数VmB,其中H2为哈希函数。用哈希函数H3作用于UmB、VmB、IDB和pkB可以得到HmB,用哈希函数H4作用于UmB、VmB、IDB和pkB可以得到HmB’。B从密钥卡中取自己的私钥skB,又根据skB得到部分私钥xB和DB,其中xB为真随机数,DB=Msk*QB,QB的计算方法与QS类似。根据公式WmB=DB+rHmB+xBHmB’可以得到第二中间参数WmB。对VmB做哈希运算得到第一哈希值HmBV,然后将HmBV作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PmBV,并在该位置取得对应的第一密钥KmBV,根据公式UKRmB=HBSH(HmBV||KmBV)计算得到第二哈希值UKRmB,对UKRmB进行计算得到第一偏移量UKPmB=H1(UKRmB)。接着对UmB||VmB做哈希运算得到第三哈希值HmBUV,然后将HmBUV作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PmBUV,并在该位置取得对应的第二密钥KmBUV,根据公式WKRmB=HBSH(HmBUV||KmBUV)计算得到第四哈希值WKRmB,对WKRmB进行计算得到第二偏移量WKPmB=H1(WKRmB)。从而可以得到加入偏移量后的第一签密密文(UmB-UKPmB,VmB,WmB-WKPmB)。
B将第一签密密文,即消息组合IDB||UmB-UKPmB||VmB||WmB-WKPmB发送给服务器S。
步骤2、S处理B的请求。
S收到B发送过来的消息IDB||UmsB-UKPmsB||VmsB||WmsB-WKPmB后,得到其中的各个部分,并对其中的密文进行解签密。S按照客户端中一样的方法计算得到UKPmB:对VmB做哈希运算得到HmBV,然后将HmBV作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PmBV,并在该位置取得对应的密钥KmBV,根据公式UKRmB=HASH(HmBV||KmBV)计算得到UKRmB,对UKRmB进行计算得到偏移量UKPmB=H1(UKRmB)。然后用UKPmB加上UmB-UKPmB可得到UmB。接下来S按照客户端中一样的方法计算得到WKPmB:对UmB||VmB做哈希运算得到HmBUV,然后将HmBUV作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PmBUV,并在该位置取得对应的密钥KmBUV,根据公式WKRmB=HASH(HmBUV||KmBUV)计算得到WKRmB,对WKRmB进行计算得到偏移量WKPmB=H1(WKRmB)。然后用WKPmB加上WmB-WKPmB可得到WmB。至此,S恢复了客户端对密文做的偏移,得到原始的签密密文(UmB,VmB,WmB)。
S根据IDB从密钥卡公钥池中取出B的公钥pkB,用哈希函数H3作用于UmB、VmB、IDB和pkB得到HmB,用哈希函数H4作用于UmB、VmB、IDB和pkB得到HmB’。S用哈希函数作用于IDB计算得到HIDB=HASH(IDB),然后将HIDB作为密钥指针随机数,在密钥卡的群组对称密钥池中得到位置PIDB,并在该位置取得对应的密钥KIDB,根据公式CIDB=FC(IDB,KIDB)计算得到CIDB,再用哈希函数H1作用于CIDB得到B的部分公钥QB。验证公式e(Mpk,QB)e(UmB,HmB)e(pkB,HmB’)=e(P,WmB)是否成立,如果不成立则验证失败,S拒绝更新公钥;如果等式成立则验证成功,进行后续的步骤。S从密钥卡中取自己的私钥skS自己的公钥pkS,又根据skS得到部分私钥xS和DS,其中xS为真随机数,DS=Msk*QS。根据公式TmB=e(DS,UmB)可计算得到TmB,根据公式hmB=H2(UmB,TmB,xSUmB,IDS,pkS)可计算得到hmB,根据公式mB=VmB⊕hmB可以计算得到第一原文mB,根据mB判断是否需要更新B中的公钥pkA:
S得到mB中包含的IDA和TpkA,再根据IDA从密钥卡中取出存在卡内的TpkA’,将其与从mB得到的TpkA进行比较,如果相等则无需更换A的公钥,如果不相等则需要更换A的公钥。如果需要更新A的公钥,S将获取新的公钥pkAnew和对应的时间TpkAnew,准备发送给B。
步骤3、S向B发送更新结果作为响应
如果需要更新A的公钥,S令判断结果mSB=mB||pkAnew||TpkAnew,如果不需要更新A的公钥,则令判断结果mSB=mB||ResultB,其中ResultB包含不需要更新A的公钥的内容,并将判断结果mSB作为第二原文。
S用按照步骤1中的方法对mSB进行签密,先计算得到偏移量UKPmSB和WKPmSB,然后得到第二签密密文(UmSB-UKPmSB,VmSB,WmSB-WKPmSB)。S将密文(UmSB-UKPmSB,VmSB,WmSB-WKPmSB)发送给B。
步骤4、B接受S的响应。
B收到S发送过来的消息(UmSB-UKPmSB,VmSB,WmSB-WKPmSB)后,用步骤2中一样的方法对密文(UmSB-UKPmSB,VmSB,WmSB-WKPmSB)进行解签密。如果解签密失败,则B扔掉收到的消息,B将拒绝更新密钥;如果解签密成功,则B得到原文mSB,根据mSB执行客户端密钥更新操作:
解析mSB,如果得到的是ResultB则无需更新,流程结束;如果得到的是pkAnew和TpkAnew,则更换密钥卡中的pkA为pkAnew,更换密钥卡中的TpkA为TpkAnew。
本实施例就每个步骤而言可视为针对前述相应的实施例,就所有步骤而言也可视为前述相应实施例的结合。
本实施例中,使用密钥卡存服务器和客户端的所有公钥、群组对称密钥和各自的私钥,根据ID值就能选择密钥卡中的公钥进行计算,而且整个计算过程中公钥和私钥不会出密钥卡。因此本实施例解决了公钥指针随机数难以维护的问题,用户通信前仅需要使用对方ID和密钥卡就可以安全通信。密钥池一直位于密钥卡中,密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥可能性大大降低。
同时,本实施例对基于身份的签密流程进行改进,使得基于公私钥的签密不仅取决于自身身份ID和算法的系统参数,还涉及到相应群组的对称密钥池,不拥有对称密钥池的敌方将难以计算得到用户的公钥。
另外,客户端与服务器之间传输消息时,利用密钥池中的密钥对加密参数增加了偏移量,仅有密钥卡拥有者可以恢复该偏移量而得到原始签密参数,这让量子计算机在传输过程中难以破解签密参数,从而难以破解会话内容,充分地保障了密钥更新过程的安全性。值得指出的是本实施例的抗量子计算方法,对比使用对称密钥对签密参数进行加密以抗量子计算的方法,其计算量更小。
本申请中,以非对称密钥池为例,说明了如何安全更新非对称密钥池数据的方法。本申请也可以用于对密钥卡中的其他数据进行更新,例如对称密钥池、用户共享数据等。
在一实施例中,提供了一种计算机设备,即一种基于无证书密码学的抗量子计算签密的密钥更新系统,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现基于无证书密码学的抗量子计算签密的密钥更新方法的步骤。
计算机设备可以是终端,其内部结构可以包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,计算机设备的处理器用于提供计算和控制能力。计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述基于无证书密码学的抗量子计算签密的密钥更新方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,各设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在另一实施例中,提供了一种基于无证书密码学的抗量子计算签密的密钥更新系统,所述抗量子计算保密通信的密钥更新系统包括客户端和服务器,客户端配置有客户端密钥卡,所述客户端密钥卡内存储有非对称密钥池、群组对称密钥池和客户端私钥;所述服务器配置有服务器密钥卡,所述服务器密钥卡内存储有非对称密钥池、群组对称密钥池、通信私钥和颁发私钥;所述客户端密钥卡内的非对称密钥池和服务器密钥卡内的非对称密钥池均包含客户端公钥和服务器公钥,所述服务器公钥包括通信公钥和颁发公钥,所述客户端公钥与通信公钥的结构相同,所述客户端私钥与通信私钥的结构相同;
所述客户端和服务器通过通信网络实现所述的基于无证书密码学的抗量子计算签密的密钥更新方法的步骤。
关于基于无证书密码学的抗量子计算签密的密钥更新系统的具体限定可以参见上文中对于基于无证书密码学的抗量子计算签密的密钥更新方法的限定,在此不再赘述。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.基于无证书密码学的抗量子计算签密的密钥更新方法,在主动更新时,其特征在于,参与方包括第一客户端和服务器,所述密钥更新方法实施在第一客户端包括:
生成新第一公钥和新第一私钥,组合原第一公钥、原第一公钥生成时间以及新第一公钥作为第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第一客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
向服务器发送所述第一签密密文;所述第一中间参数用于供服务器计算得到第一偏移量,所述第一偏移量和第一偏移参数用于供服务器相加得到第一原始参数,所述第一原始参数和第一中间参数用于供服务器计算得到第二偏移量,所述第二偏移量和第二偏移参数用于供服务器相加得到第二中间参数,所述第一中间参数和第一原始参数用于供服务器计算得到所述第一原文,所述第一原文用于供服务器执行服务器密钥更新操作;
接收来自服务器的第二签密密文;所述第二签密密文由服务器对第二原文进行所述签密计算后得到,所述第二原文为服务器执行服务器密钥更新操作后生成的执行结果;
对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述执行结果,若所述执行结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥、原第一公钥生成时间和原第一私钥为新第一公钥、新第一公钥生成时间和新第一私钥。
2.基于无证书密码学的抗量子计算签密的密钥更新方法,在主动更新时,其特征在于,参与方包括第一客户端和服务器,所述密钥更新方法实施在服务器包括:
接收来自所述第一客户端的第一签密密文;所述第一签密密文由第一客户端对第一原文进行签密计算得到,所述第一签密密文包括第一偏移参数、第一中间参数和第二偏移参数,所述第一偏移参数由第一客户端利用第一原始参数减去第一偏移量得到,所述第一原始参数由第一客户端生成,所述第一偏移量由第一客户端利用所述第一中间参数计算得到,所述第一中间参数由第一客户端根据服务器颁发公钥、服务器通信公钥和第一原文计算得到,所述第一原文包括原第一公钥、原第一公钥生成时间以及由第一客户端生成的新第一公钥,所述第二偏移参数由第一客户端利用第二中间参数减去第二偏移量得到,所述第二中间参数由第一客户端根据所述第一原始参数、第一中间参数和第一客户端私钥计算得到,所述第二偏移量由第一客户端利用所述第一原始参数和第一中间参数计算得到;
解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文执行服务器密钥更新操作包括:解析第一原文,记录服务器当前时间为新第一公钥生成时间,替换本地存储的原第一公钥和原第一公钥生成时间为第一原文中的新第一公钥和新第一公钥生成时间;
执行服务器公钥更新操作后生成执行结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文;
向所述第一客户端发送所述第二签密密文;所述第二签密密文用于供第一客户端解签密得到所述第二原文,所述第二原文用于供第一客户端执行客户端密钥更新操作。
3.基于无证书密码学的抗量子计算签密的密钥更新方法,在主动更新时,其特征在于,参与方包括第一客户端和服务器,所述密钥更新方法包括:
所述第一客户端生成新第一公钥和新第一私钥,组合原第一公钥、原第一公钥生成时间以及新第一公钥作为第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第一客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
所述第一客户端向服务器发送所述第一签密密文;
所述服务器接收来自所述第一客户端的第一签密密文;
所述服务器解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文执行服务器密钥更新操作包括:解析第一原文,记录服务器当前时间为新第一公钥生成时间,替换本地存储的原第一公钥和原第一公钥生成时间为第一原文中的新第一公钥和新第一公钥生成时间;
所述服务器执行服务器公钥更新操作后生成执行结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文,向所述第一客户端发送所述第二签密密文;
所述第一客户端接收来自服务器的第二签密密文;
所述第一客户对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述执行结果,若所述执行结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥、原第一公钥生成时间和原第一私钥为新第一公钥、新第一公钥生成时间和新第一私钥。
4.基于无证书密码学的抗量子计算签密的密钥更新方法,在被动更新时,其特征在于,参与方包括第二客户端和服务器,所述密钥更新方法实施在第二客户端包括:
组合第一客户端ID和原第一公钥生成时间得到第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第二客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
向服务器发送所述第一签密密文;所述第一中间参数用于供服务器计算得到第一偏移量,所述第一偏移量和第一偏移参数用于供服务器相加得到第一原始参数,所述第一原始参数和第一中间参数用于供服务器计算得到第二偏移量,所述第二偏移量和第二偏移参数用于供服务器相加得到第二中间参数,所述第一中间参数和第一原始参数用于供服务器计算得到所述第一原文,所述第一原文用于供服务器判断是否需要更新第二客户端中的原第一公钥;
接收来自服务器的第二签密密文;所述第二签密密文由服务器对第二原文进行所述签密计算后得到,所述第二原文为服务器判断是否需要更新第二客户端中的原第一公钥后生成的判断结果;
对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述判断结果,若所述判断结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥和原第一公钥生成时间为新第一公钥和新第一公钥生成时间。
5.基于无证书密码学的抗量子计算签密的密钥更新方法,在被动更新时,其特征在于,参与方包括第二客户端和服务器,所述密钥更新方法实施在服务器包括:
接收来自所述第二客户端的第一签密密文;所述第一签密密文由第二客户端对第一原文进行签密计算得到,所述第一签密密文包括第一偏移参数、第一中间参数和第二偏移参数,所述第一偏移参数由第二客户端利用第一原始参数减去第一偏移量得到,所述第一原始参数由第二客户端生成,所述第一偏移量由第二客户端利用所述第一中间参数计算得到,所述第一中间参数由第二客户端根据服务器颁发公钥、服务器通信公钥和第一原文计算得到,所述第一原文包括第一客户端ID和原第一公钥生成时间,所述第二偏移参数由第二客户端利用第二中间参数减去第二偏移量得到,所述第二中间参数由第二客户端根据所述第一原始参数、第一中间参数和第二客户端私钥计算得到,所述第二偏移量由第二客户端利用所述第一原始参数和第一中间参数计算得到;
解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文判断是否需要更新第二客户端中的原第一公钥:根据第一原文中的第一客户端ID取出本地存储的最新的第一公钥生成时间,若本地存储的最新的第一公钥生成时间和第一原文中的原第一公钥生成时间不相等,则需要更新第二客户端中的原第一公钥;
将判断是否需要更新第二客户端中的原第一公钥生成的判断结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文;
向所述第二客户端发送所述第二签密密文;所述第二签密密文用于供第二客户端解签密得到所述第二原文,所述第二原文用于供第二客户端执行客户端密钥更新操作。
6.基于无证书密码学的抗量子计算签密的密钥更新方法,在被动更新时,其特征在于,参与方包括第二客户端和服务器,所述密钥更新方法包括:
所述第二客户端组合第一客户端ID和原第一公钥生成时间得到第一原文,对所述第一原文进行签密计算:根据随机数生成第一原始参数,根据服务器ID取出服务器颁发公钥和服务器通信公钥,根据所述服务器颁发公钥、服务器通信公钥和第一原文计算得到第一中间参数,根据所述第一原始参数、第一中间参数和第二客户端私钥计算得到第二中间参数,利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,利用第一原始参数减去第一偏移量得到第一偏移参数,利用第二中间参数减去第二偏移量得到第二偏移参数,将所述第一偏移参数、第一中间参数和第二偏移参数组合得到第一签密密文;
所述第二客户端向服务器发送所述第一签密密文;
所述服务器接收来自所述第二客户端的第一签密密文;
所述服务器解析所述第一签密密文,根据所述第一中间参数计算得到第一偏移量,将所述第一偏移量和第一偏移参数相加得到第一原始参数,利用所述第一原始参数和第一中间参数计算得到第二偏移量,将所述第二偏移量和第二偏移参数相加得到第二中间参数,根据所述第一中间参数和第一原始参数计算得到所述第一原文,根据所述第一原文判断是否需要更新第二客户端中的原第一公钥:根据第一原文中的第一客户端ID取出本地存储的最新的第一公钥生成时间,若本地存储的最新的第一公钥生成时间和第一原文中的原第一公钥生成时间不相等,则需要更新第二客户端中的原第一公钥;
所述服务器将判断是否需要更新第二客户端中的原第一公钥生成的判断结果作为第二原文,对所述第二原文进行所述签密计算得到第二签密密文向所述第二客户端发送所述第二签密密文;
所述第二客户端接收来自服务器的第二签密密文;
所述第二客户端对所述第二签密密文进行解签密,并在解签密成功后得到第二原文,根据所述第二原文执行客户端密钥更新操作:解析所述判断结果,若所述判断结果包含新第一公钥和新第一公钥生成时间,则更新本地存储的原第一公钥和原第一公钥生成时间为新第一公钥和新第一公钥生成时间。
7.如权利要求1至6中任一项所述的基于无证书密码学的抗量子计算签密的密钥更新方法,其特征在于,所述利用所述第一中间参数计算得到第一偏移量,利用所述第一原始参数和第一中间参数计算得到第二偏移量,包括:
对第一中间参数进行哈希运算得到第一哈希值,根据所述第一哈希值从密钥卡的群组对称密钥池中取出第一密钥,对所述第一哈希值和所述第一密钥的组合进行哈希运算得到第二哈希值,对所述第二哈希值进行哈希运算得到第一偏移量;
对所述第一原始参数和所述第一中间参数的组合进行哈希运算得到第三哈希值,根据所述第三哈希值从密钥卡的群组对称密钥池中取出第二密钥,对所述第三哈希值和所述第二密钥的组合进行哈希运算得到第四哈希值,对所述第四哈希值进行哈希运算得到第二偏移量。
8.如权利要求1至6中任一项所述的基于无证书密码学的抗量子计算签密的密钥更新方法,其特征在于,客户端配置有客户端密钥卡,所述客户端密钥卡内存储有非对称密钥池、群组对称密钥池和客户端私钥;所述服务器配置有服务器密钥卡,所述服务器密钥卡内存储有非对称密钥池、群组对称密钥池、通信私钥和颁发私钥;所述客户端密钥卡内的非对称密钥池和服务器密钥卡内的非对称密钥池均包含客户端公钥和服务器公钥,所述服务器公钥包括通信公钥和颁发公钥,所述客户端公钥与通信公钥的结构相同,所述客户端私钥与通信私钥的结构相同。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至2、4至5中任一项所述的基于无证书密码学的抗量子计算签密的密钥更新方法的步骤。
10.基于无证书密码学的抗量子计算签密的密钥更新系统,其特征在于,所述抗量子计算保密通信的密钥更新系统包括客户端和服务器,客户端配置有客户端密钥卡,所述客户端密钥卡内存储有非对称密钥池、群组对称密钥池和客户端私钥;所述服务器配置有服务器密钥卡,所述服务器密钥卡内存储有非对称密钥池、群组对称密钥池、通信私钥和颁发私钥;所述客户端密钥卡内的非对称密钥池和服务器密钥卡内的非对称密钥池均包含客户端公钥和服务器公钥,所述服务器公钥包括通信公钥和颁发公钥,所述客户端公钥与通信公钥的结构相同,所述客户端私钥与通信私钥的结构相同;
所述客户端和服务器通过通信网络实现权利要求3或6中所述的基于无证书密码学的抗量子计算签密的密钥更新方法的步骤。
CN201910656968.2A 2019-07-19 2019-07-19 基于无证书密码学的签密的密钥更新方法和系统 Active CN110557248B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910656968.2A CN110557248B (zh) 2019-07-19 2019-07-19 基于无证书密码学的签密的密钥更新方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910656968.2A CN110557248B (zh) 2019-07-19 2019-07-19 基于无证书密码学的签密的密钥更新方法和系统

Publications (2)

Publication Number Publication Date
CN110557248A true CN110557248A (zh) 2019-12-10
CN110557248B CN110557248B (zh) 2023-06-09

Family

ID=68736460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910656968.2A Active CN110557248B (zh) 2019-07-19 2019-07-19 基于无证书密码学的签密的密钥更新方法和系统

Country Status (1)

Country Link
CN (1) CN110557248B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111918285A (zh) * 2020-06-17 2020-11-10 南京如般量子科技有限公司 基于id密码学的抗量子计算群组通信方法及系统
CN112152813A (zh) * 2020-09-11 2020-12-29 中南民族大学 一种支持隐私保护的无证书内容提取签密方法
CN115001723A (zh) * 2021-02-20 2022-09-02 南京如般量子科技有限公司 基于树结构和非对称密钥池的群组通信方法及系统
CN115833985A (zh) * 2022-11-16 2023-03-21 中国联合网络通信集团有限公司 时间同步方法、装置、通信终端和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095461A (zh) * 2013-01-23 2013-05-08 山东量子科学技术研究院有限公司 一种量子安全网络设备间网络信令的认证方法
CN109687977A (zh) * 2019-01-10 2019-04-26 如般量子科技有限公司 基于多个密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统
CN109728906A (zh) * 2019-01-11 2019-05-07 如般量子科技有限公司 基于非对称密钥池的抗量子计算非对称加密方法和系统
CN109756500A (zh) * 2019-01-11 2019-05-14 如般量子科技有限公司 基于多个非对称密钥池的抗量子计算https通信方法和系统
CN109831306A (zh) * 2019-01-15 2019-05-31 如般量子科技有限公司 基于多个密钥池的抗量子计算环签名方法和系统
CN109981255A (zh) * 2019-04-02 2019-07-05 如般量子科技有限公司 密钥池的更新方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095461A (zh) * 2013-01-23 2013-05-08 山东量子科学技术研究院有限公司 一种量子安全网络设备间网络信令的认证方法
CN109687977A (zh) * 2019-01-10 2019-04-26 如般量子科技有限公司 基于多个密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统
CN109728906A (zh) * 2019-01-11 2019-05-07 如般量子科技有限公司 基于非对称密钥池的抗量子计算非对称加密方法和系统
CN109756500A (zh) * 2019-01-11 2019-05-14 如般量子科技有限公司 基于多个非对称密钥池的抗量子计算https通信方法和系统
CN109831306A (zh) * 2019-01-15 2019-05-31 如般量子科技有限公司 基于多个密钥池的抗量子计算环签名方法和系统
CN109981255A (zh) * 2019-04-02 2019-07-05 如般量子科技有限公司 密钥池的更新方法和系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111918285A (zh) * 2020-06-17 2020-11-10 南京如般量子科技有限公司 基于id密码学的抗量子计算群组通信方法及系统
CN111918285B (zh) * 2020-06-17 2022-09-23 南京如般量子科技有限公司 基于id密码学的抗量子计算群组通信方法及系统
CN112152813A (zh) * 2020-09-11 2020-12-29 中南民族大学 一种支持隐私保护的无证书内容提取签密方法
CN112152813B (zh) * 2020-09-11 2022-06-07 中南民族大学 一种支持隐私保护的无证书内容提取签密方法
CN115001723A (zh) * 2021-02-20 2022-09-02 南京如般量子科技有限公司 基于树结构和非对称密钥池的群组通信方法及系统
CN115833985A (zh) * 2022-11-16 2023-03-21 中国联合网络通信集团有限公司 时间同步方法、装置、通信终端和存储介质

Also Published As

Publication number Publication date
CN110557248B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
CN109756329B (zh) 基于私钥池的抗量子计算共享密钥协商方法和系统
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
US8484469B2 (en) Method, system and equipment for key distribution
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
CN109981255B (zh) 密钥池的更新方法和系统
CN109728906B (zh) 基于非对称密钥池的抗量子计算非对称加密方法和系统
CN110557248A (zh) 基于无证书密码学的抗量子计算签密的密钥更新方法和系统
JP6753403B2 (ja) 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム
CN110417547B (zh) 基于无证书密码学的保密通信的密钥更新方法和系统
CN111404664B (zh) 基于秘密共享和多个移动设备的量子保密通信身份认证系统和方法
CN107171796A (zh) 一种多kmc密钥恢复方法
CN110505055B (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN110380859B (zh) 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统
CN112187450B (zh) 密钥管理通信的方法、装置、设备及存储介质
CN111327419B (zh) 基于秘密共享的抗量子计算区块链的方法及系统
CN110557367B (zh) 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统
JP2010231404A (ja) 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム
CN110493005B (zh) 基于联盟链的抗量子计算公钥池更新方法和系统
CN110176989B (zh) 基于非对称密钥池的量子通信服务站身份认证方法和系统
CN110620668B (zh) 基于区块链的抗量子计算公钥池更新方法和系统
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
CN110048852B (zh) 基于非对称密钥池的量子通信服务站数字签密方法和系统
CN111245611A (zh) 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统
CN115412236A (zh) 一种密钥管理和密码计算的方法、加密方法及装置
CN111526131B (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