CN116527263A - 用于以现生密码编译进行后量子信任布建和更新的系统和方法 - Google Patents
用于以现生密码编译进行后量子信任布建和更新的系统和方法 Download PDFInfo
- Publication number
- CN116527263A CN116527263A CN202310056230.9A CN202310056230A CN116527263A CN 116527263 A CN116527263 A CN 116527263A CN 202310056230 A CN202310056230 A CN 202310056230A CN 116527263 A CN116527263 A CN 116527263A
- Authority
- CN
- China
- Prior art keywords
- pqc
- key
- public key
- updater
- size
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title description 21
- 230000015654 memory Effects 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 description 12
- 239000000463 material Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000009849 deactivation Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101100203322 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SKS1 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
各种实施例涉及一种用于布建密码编译装置的系统,所述系统包括:存储器;耦合到所述存储器的处理器,其中所述处理器另外被配置成:确定多个后量子密码编译算法的最大PQC私钥大小、最大PQC公钥大小和最大PQC更新符大小;在所述密码编译装置中布建存储器以基于所确定的所述最大PQC私钥大小、最大PQC公钥大小和最大更新符大小存储PQC更新非PQC私钥、秘密PQC更新非PQC公钥、PQC私钥、PQC公钥和PQC更新符;以及为所述密码编译装置布建被配置成实行非PQC密码编译算法的所述PQC更新非PQC私钥、所述秘密PQC更新非PQC公钥、非PQC秘密密钥、非PQC公钥和非PQC算法代码。
Description
技术领域
本文中所公开的各种示例性实施例大体上涉及用于以现生或非后量子密码编译进行后量子信任布建和更新的系统和方法。
背景技术
在信任布建(TP)过程中,敏感数据且明确地说秘密密钥、密钥材料和秘密资产在产生之后安装在装置的(安全)存储器中。通常,针对公钥密码编译创建一个或多个RSA/ECC密钥对。另外,可布建对称密钥以供现场使用。现今在现场布建的装置以及其密钥材料可在现场使用极长的时间(长达20年或更久)。
对此PKI布建系统的威胁为量子计算的进步。全标度量子计算机被认为能够从其公用对应物恢复RSA/ECC秘密密钥或甚至从用所述密钥对进行数字签名的消息恢复RSA/ECC秘密密钥,并且由此使所布建装置的不安全,因为用户不再能够信任保护装置的关键操作的密钥和密码编译。为了保护未来装置,人们正在努力研究后量子密码编译(PQC),即,可抵御甚至来自量子对手的攻击的公钥密码编译。国家标准与技术研究所(NIST)等标准化机构正致力于将推荐使用的一套方案标准化。
发明内容
下文呈现各种示例性实施例的概述。可在以下概述中作出一些简化和省略,所述概述意图凸显并引入各种示例性实施例的一些方面,而非限制本发明的范围。足以允许本领域的普通技术人员产生并使用本发明概念的例示性实施例的详细描述将在后续部分呈现。
一种用于布建密码编译装置的系统,包括:存储器;耦合到所述存储器的处理器,其中所述处理器另外被配置成:确定多个后量子密码算法的最大PQC私钥大小、最大PQC公钥大小和最大PQC更新符大小;基于所确定的所述最大PQC私钥大小、最大PQC公钥大小和最大更新符大小在所述密码编译装置中布建存储器以存储PQC更新非PQC私钥、秘密PQC更新非PQC公钥、PQC私钥、PQC公钥和PQC更新符;以及为所述密码编译装置布建被配置成实行非PQC密码编译算法的所述PQC更新非PQC私钥、所述秘密PQC更新非PQC公钥、非PQC秘密密钥、非PQC公钥和非PQC算法代码。
描述各种实施例,其中所述处理器另外被配置成:生成所述PQC私钥和所述PQC公钥;以及将所述PQC私钥和所述PQC公钥传输到所述密码编译装置,其中所述PQC私钥和所述PQC公钥使用与所述PQC更新非PQC秘密密钥相关联的公钥进行加密。
描述各种实施例,其中所述处理器另外被配置成:从所述密码编译装置接收密钥确认消息。
描述各种实施例,其中处理器另外被配置成:将PQC更新符传输到所述密码编译装置,其中所述PQC更新符被配置成在所述密码编译装置中实施PQC算法,其中所述PQC更新符使用与所述秘密PQC更新非PQC公钥相关联的公钥进行加密。
描述各种实施例,其中处理器另外被配置成:从所述密码编译装置接收PQC启用消息,所述PQC启用消息指示所述密码编译装置已成功地被启用以实行PQC算法。
描述各种实施例,其中所述处理器另外被配置成:从所述密码编译装置接收非PQC停用消息。
描述各种实施例,其中所述PQC更新非PQC私钥是对称加密密钥。
描述各种实施例,其中所述PQC更新非PQC私钥为不对称加密密钥。
描述各种实施例,其中在所述密码编译装置中布建存储器以基于所确定的所述最大PQC私钥大小、最大PQC公钥大小和最大PQC更新符大小存储PQC更新非PQC私钥、秘密PQC更新非PQC公钥、PQC私钥、PQC公钥和PQC更新符包括在所述密码编译装置中布建存储器以存储多个PQC私钥和PQC公钥。
描述各种实施例,其中所述处理器另外被配置成:确定最大密钥生成种子大小;在所述密码编译装置中布建存储器以基于所确定的所述最大密钥生成种子大小存储密钥生成种子;将密钥生成器传输到所述密码编译装置,其中所述密钥生成器被配置成基于密钥生成器种子产生所述PQC私钥和PQC公钥,其中所述密钥生成器使用与所述PQC更新非PQC私钥相关联的公钥进行加密;以及将PQC更新符传输到所述密码编译装置,其中所述PQC更新符被配置成在所述密码编译装置中实施PQC算法,其中所述PQC更新符使用所述PQC更新非PQC公钥进行加密。
其它各种实施例涉及一种密码编译系统,所述密码编译系统包括:包括安全部分的存储器;耦合到所述存储器的处理器,其中所述处理器另外被配置成:从后端系统接收存储器布建请求,所述存储器布建请求包括PQC更新非PQC私钥大小、秘密PQC更新非PQC公钥大小、PQC私钥大小、PQC公钥大小和PQC更新符大小;在所述安全部分中布建存储器以基于所述所接收PQC更新非PQC私钥大小、所接收秘密PQC更新非PQC公钥大小、所接收PQC私钥大小、所接收PQC公钥大小和所接收PQC更新符大小存储PQC更新非PQC私钥、秘密PQC更新非PQC公钥、PQC私钥、PQC公钥和PQC更新符;从所述后端系统接收非PQC布建请求,所述非PQC布建请求包括PQC更新非PQC私钥、秘密PQC更新非PQC公钥、非PQC私钥、非PQC公钥和非PQC更新符;以及使用所述非PQC更新符与被配置成实行非PQC密码编译算法的所述PQC更新非PQC私钥、所述秘密PQC更新非PQC公钥、非PQC秘密密钥、所述非PQC公钥和所述非PQC算法代码来在所述安全部分中布建存储器。
描述各种实施例,其中所述处理器另外被配置成:从所述后端系统接收PQC私钥和PQC公钥,其中所述PQC私钥和所述PQC公钥使用与所述秘密PQC更新非PQC私钥相关联的公钥进行加密。
描述各种实施例,其中所述处理器另外被配置成:将密钥确认消息传输到所述后端系统。
描述各种实施例,其中所述处理器另外被配置成:从所述后端系统接收PQC更新符,其中所述PQC更新符被配置成在所述密码编译装置中实施PQC算法,并且所述PQC更新符使用与所述秘密PQC更新非PQC私钥相关联的公钥进行加密;以及执行所述PQC更新符以实施所述PQC算法。
描述各种实施例,其中处理器另外被配置成:将PQC启用消息传输到所述后端系统,所述PQC启用消息指示所述密码编译装置已成功地被启用以实行PQC算法。
描述各种实施例,其中处理器另外被配置成:停用非PQC秘密密钥、非PQC公钥和非PQC算法代码;以及
从所述密码编译装置传输非PQC停用消息。
描述各种实施例,其中所述PQC更新非PQC私钥是对称加密密钥。
描述各种实施例,其中所述PQC更新非PQC私钥为不对称加密密钥。
描述各种实施例,其中在所述安全部分中布建存储器以基于所述所接收PQC更新非PQC私钥大小、所接收秘密PQC更新非PQC公钥大小、接收密钥生成种子大小、所接收PQC私钥大小、所接收PQC公钥大小和所接收PQC更新符大小存储PQC更新非PQC私钥、秘密PQC更新非PQC公钥、PQC私钥、PQC公钥和PQC更新符包括在所述密码编译装置中布建存储器以存储多个PQC私钥和PQC公钥。
描述各种实施例,其中所述处理器另外被配置成:从所述后端系统接收存储器布建请求,所述存储器布建请求包括最大密钥生成种子大小;在所述安全部分中布建存储器以基于所确定的所述最大密钥生成种子大小存储密钥生成种子;从所述后端系统接收密钥产生器,其中所述密钥产生器使用与所述PQC更新非PQC私钥相关联的公钥进行加密;执行所述密钥生成器以基于所述密钥生成器种子生成所述PQC私钥和PQC公钥;以及将PQC更新符接收到所述密码编译装置,其中所述PQC更新符使用与ECC非PQC私钥相关联的所述公钥进行加密;以及执行所述PQC更新符以在所述密码编译装置中实施PQC算法。
附图说明
为了更好地理解各种示例性实施例,参看附图,其中:
图1示出密码编译装置的布建方法和密码编译装置的部署;
图2示出在现场部署的装置与后端系统之间实行的步骤;并且
图3以框图形式示出包括用于实行后量子密码编译更新的协处理器的数据处理系统。
为了便于理解,相同参考数字已用于表示具有大体上相同或类似结构和/或大体上相同或类似功能的元件。
具体实施方式
描述和附图示出了本发明的原理。因此将了解,本领域的技术人员将能够设计各种布置,尽管本文中未明确地描述或示出所述布置,但所述布置体现本发明的原理且包括在其范围内。此外,本文中所引述的所有例子主要意在明确地用于教学目的,以帮助读者理解本发明的原理和由发明人提供的用以深化本领域的概念,且所有例子应视为并不限于此类特定引述例子和条件。另外,除非另外指明(例如,“否则”或“或在替代方案中”),否则如本文中所使用的术语“或”指非独占的“或”(即,“和/或”)。并且,本文所描述的各种实施例不一定相互排斥,因为一些实施例可以与一个或多个其它实施例组合以形成新的实施例。
最近,NIST标准化的基于散列的签名是防后量子的,但由于需要维持状态,并不适用于所有使用情况。密钥可更新机制存在,但无法简单地用现有更新符来更新到后量子算法。因为此更新符保护其利用预量子密钥进行的更新的完整性和真实性,所以攻击者可以简单地采用已知公钥,恢复秘密密钥,并且破坏机密性或伪造签名。即使假设这在第一密码相关量子计算机之后但在大规模可用之前发生,但对手也可能记录交易且稍后读取内容以便破坏机密性。另外,更新符被设计成将高级加密标准(AES)/椭圆曲线密码编译(ECC)/Rivest-Shamir-Adleman(RSA)密钥更新为相同类型的密钥。在这些内容由新的后量子密码编译(PQC)私钥或公钥组成的情况下,这可能产生各种问题。现场更新为PQC密钥带来了一系列挑战,包括:由于PQC算法正在开发和标准化,不清楚装置将更新到哪种PQC算法;PQC密钥通常比ECC/RSA密钥大得多,且因此它们无法简单地置于分配的RSA/ECC存储槽中;更新通常为向许多装置广播一个签名更新,并且发送芯片专用更新(例如,用PQC密钥)将构成挑战;用于更新符机制的PQC只读存储器(ROM)代码的大小是不可忽略的,并且新的签名/验证组件可能占用100(s)kB的额外空间;并且受限装置上的空间不足。将在本文中所描述的实施例中解决这些各种技术挑战。
使用密码编译的当前应用装置可能已经存在了几十年。有可能在此时间期间攻击者使用量子计算机变得可行。作为响应,现在无法布建PQC密钥,因为不清楚将标准化哪些PQC算法或是否将在标准化之前改变算法细节。同时,用于PQC的密码编译密钥和更新符只读存储器(ROM)代码较大,且由于空间约束而无法简单地在当前装置上替换ECC/RSA密钥。
本文中描述了后量子更新方法的实施例,其利用现生或非PQC公钥(PK)基础架构来将PQC就绪装置更新为PQC装置。这以可适于应用装置中开发和使用的特定PQC算法的灵活方式完成。另外,本文中所描述的方法将PQC密钥安全地布建到装置,同时能够管理稍后将使用且在布建过程期间仍未知的PQC算法的风险。
首先,将描述用于用两种潜在算法选择将装置更新到一个PQC加密密钥对的方法的实施例。接下来,将提供关于如何一般化到多个PQC密钥对、多个算法选项以及其它可能变化的描述。
作为例子,将布建具有后量子密钥对的装置,其中不确定所述后量子密钥对将是KyberKEM-512密钥对还是LightSaber-r3密钥对。这些选项的当前密钥大小和密钥生成种子大小为:
对于RSA,密钥大小通常在128到512字节的范围内。对于ECC,密钥大小通常在32到128字节的范围内。如上表中所见,PQC例子所需的存储空间要大得多。
图1示出密码编译装置的布建方法100和密码编译装置的部署。装置制造商或实施者首先预留105存储器以用于存储PQC秘密密钥(PQC_SK_KEY)、PQC公钥(PQC_PK_KEY)、PQC私用ECC密钥(PQC_Private_ECC_SIGN_KEY)、PQC公用ECC密钥(PQC_Public_ECC_ENC_KEY)和更新符ROM空间(PQC_OVERFLOW_SPACE)。这些项目中的每一个所需的空间可例如如下:
PQC_SK_KEY–800字节;
PQC_PK_KEY–896字节;
PQC_Private_ECC_SIGN_KEY-32字节;
PQC_Public_ECC_ENC_KEY–32字节;
PQC_OVERFLOW_SPACE-100kB。
应注意,在此例子中,为KyberKEM-512PQC算法或LightSaber-r3PQC算法布建足够的空间。在此例子中,PQC_SK_KEY被设置为800字节以容纳KyberKEM-512PQC算法所使用的较大秘密密钥。此外,PQC_PK_KEY被设置为896字节以容纳LightSaber-r3 PQC算法所使用的较大公钥。当为PQC公钥、PQC秘密密钥、密钥生成密钥和更新ROM空间布建空间时,确定潜在PQC算法之中的这些参数中的每一个的最大值,且接着选择所述最大值作为用于设定各种参数所需的存储器的大小的值。因此,存在足够的空间可用于将来布建的多种不同PQC算法。另外32位将预留用于将用作PQC更新的部分的256位私用和公用ECC密钥。
在以上列表中,PQC_Private_ECC_SIGN_KEY与PQC_Public_ECC_ENC_KEY不彼此对应,而是用于不同目的。PQC_Public_ECC_ENC_KEY用于实现保密性,且PQC_Private_ECC_SIGN_KEY用于真实性。在此例子中,使用ECC(例如,具有用于机密性的ECIES),但在其它实施例中,可使用RSA或任何其它非PQC密码编译算法。应注意,如果应用ECDSA或RSA-PKCS1.5签名,那么获知签名会使ECC/RSA公钥泄漏,并且因此使通信容易遭受可拦截单个消息/签名对(ECDSA)或两个此类对(RSA PKCS1.5签名)的攻击者的攻击。
应注意,对于加密,布建AES密钥将达成实现安全通信的相同目标,然而,这无法用于签署消息,并且还需要对称TP基础架构。
应注意,大多数密码编译芯片上的策略是,公钥可以加密方式(例如,使用密码编译加速器和保证模块(CAAM)来创建blob)存储在芯片外。目前,这通常利用并不使用后量子级对称密码编译的内嵌加密引擎来完成。举例来说,Prince加密为用于加密用于芯片外存储的公钥的快速方法,但对于后量子并非安全的。这意味着量子攻击者可在芯片外提取加密的公钥,并且通过其量子计算机从秘密密钥中恢复私钥。因此,如果公钥以加密形式存储在芯片外,那么公钥的保护等级必须接近于秘密密钥的保护等级。当公钥存储在芯片外时,应该用例如AES-256或类似加密来保护所述公钥。
接下来,制造商或实施者布建密码编译装置110。在信任布建期间,将PQC_Public_ECC_ENC_KEY和PQC_Private_ECC_SIGN_KEY布建到装置。应注意,对于验证使用情况,仅需要在装置上布建PQC_Private_ECC_SIGN_KEY。PQC_Public_ECC_ENC_KEY和PQC_Private_ECC_SIGN_KEY两者也由制造商/实施者存储。在加密密钥的情况下,制造商/实施者将仅需要存储PQC_Public_ECC_ENC_KEY。在此情况下,还可在待部署的装置上生成私钥。其它槽(即,PQC_SK_KEY、PQC_PK_KEY和PQC_OVERFLOW_SPACE)保持为空,且应保护所有槽免于用户接入。此外,此布建需要在安全环境中执行,以使得攻击者无法记录公钥。
布建步骤110还将包括例如RSA或ECC的当前或非PQC密码编译算法的布建。此布建将包括存储代码以实行非PQC密码编译算法,并且产生并存储相关联的非PQC秘密和公用密码编译密钥。在本文中的例子中,当前或非PQC密钥为ECC密钥,但也可使用其它类型的密钥,例如RSA。这些所谓的非PQC密钥用于将所部属装置更新为具有PQC能力,并且还可以称为PQC更新非PQC密钥。PQC更新非PQC密钥是与当前不对称密码编译协议一起使用的当前不对称密钥。
一旦布建密码编译装置,就可以现场部署密码编译装置115。
密码编译装置可包括硬件安全模块(HSM)。HSM可以是保卫和管理密码编译密钥、执行加密和解密功能以支持安全通信、数字签名和强认证的安全物理计算装置。HSM可包括被优化以有效地实行各种密码编译算法的专用硬件处理器。此外,HSM可包括保护密码编译密钥和其它敏感信息且防止对秘密材料的篡改和未授权存取的安全存储器。HSM的功能可包括:机载安全密码编译密钥生成;至少对于顶部等级和大部分敏感密钥的机载安全密码编译密钥存储,所述密钥通常被称为主密钥;密钥管理;密码编译和敏感数据材料的使用,例如,执行加密或数字签名函数;以及为应用程序服务器分担完全不对称和对称密码。
图2示出在现场部署的装置210与后端系统205之间实行的步骤。当需要切换到PQC更新符时(例如,当第一大规模量子计算机将可供攻击者使用时)部署装置210指示215准备好PQC更新。作为响应,后端系统205接着试图运行所部署装置205的PQC更新。
PQC更新可具有用于更新所部署装置210的两个不同选项。第一选项更简单,但具有不允许广播解决方案的缺点。下文将描述将允许广播选项的第二选项。
在第一选项中,后端服务器210将发送220PQC秘密密钥PQC_SK_KEY和PQC公钥PQC_PK_KEY,且这些密钥将存储在先前所布建的存储器空间中。PQC密钥将使用与PQC_Public_ECC_ENC_KEY相关联的私钥进行加密。这将保护PQC密钥不受攻击者的攻击。
所部署装置210接着可发送225确认PQC密钥的成功接收的密钥确认消息。
接下来,后端系统205将PQC更新符代码230发送到所部署装置210。PQC更新符代码将使用与PQC_Public_ECC_ENC_KEY相关联的私钥进行加密。所部署装置210运行PQC更新符代码以替换现有ECC/RSA代码。预留的PQC_OVERFLOW_SPACE可用于存储PQC更新符代码。此时,所部署装置210具有由后端系统205提供的PQC密钥对。
应注意,需要私用化的公用ECC密钥,因为如果攻击者访问用于加密PQC密钥和PQC更新符的ECC公钥,那么攻击者可(利用量子计算机)导出相关联的私钥,并且因此解密消息或在签名密钥的情况下伪造签名。然而,通过本文中所描述的PQC更新实施例,攻击者仅具有对1或2或3个密文的访问权。同样应注意,对于保密性,可在其它实施例中布建AES-256而不是ECC私钥。接着,所部署装置210可将指示所部署装置210现在准备好使用PQC密钥和算法操作的PQC启用消息发送235到后端系统205。PQC启用消息可以未加密地发送,或可以使用PQC公钥加密。接下来,后端系统205可将PQC启用确认消息发送到所部署装置210。PQC启用确认消息可使用PQC ECC/RSA私钥或PQC公钥进行加密。
应注意,除ECC私钥/公钥直接用于解密和加密消息之外,替代地,所述ECC私钥/公钥还可用于实施密钥交换以确定用于对称加密协议的秘密共享密钥,例如AES。
所部署装置210可任选地停用现有非PQC密码编译算法(例如,ECC或RSA)的使用。此停用可包括删除非PQC密钥且从所部署装置去除非PQC代码。这些步骤可进一步降低PQC秘密信息被破解的风险。所部署装置210将指示非PQC密码编译算法已经停用的非PQC停用消息245发送到后端系统205。在步骤250处,后端系统205将非PQC确认消息250发送到所部署装置210,所述非PQC确认消息250指示后端系统205确认接收到非QC停用消息245。
在安全性方面,因为攻击者并不知晓密钥,所以攻击者能做的最好的事情就是Shor算法来恢复周期(这对他们并无帮助),或者如果他们知晓(可能的短列表)消息,那么攻击者可能在“时间”pkey位中使用Grover来暴力破解密钥。从这个角度来看,在本文描述的实施例中使用RSA而非ECC可能更好,因为密钥长度更长,从而使这种攻击更难。
PQC更新230可使用第二选项来实行。在具有案卷号82311630US01(相关申请)的标题为“用于弹性后量子信任布建和更新的系统和方法(YSTEM AND METHOD FOR FLEXIBLEPOST-QUANTUM TRUST PROVISIONING AND UPDATING)”的相关专利申请中描述了使用种子材料来使用PQC更新生成PQC私钥和公钥。相关申请特此出于所有目的以引用的方式并入,如同包括在文中。本文中所描述的更新符的实施例可与相关申请的更新符组合以启用广播的更新。在此情况下,除了上文所描述的ECC密钥对之外,将为必要的PQC密钥布建种子材料。更新接着将在两个阶段中继续(从相关申请微调)。在阶段1中,在用所提供的私用-公用ECC密钥加密/签名的情况下发送用于所选PQC算法的密钥生成(Keygen)方法。应注意,这还克服了相关申请中第一消息完全不安全的缺点。尽管所述组合是强的,但其确实添加复杂性层,因此当需要额外安全性时,此方法在某些使用情况下是优选的。接着,将所接收的Keygen方法应用于所布建的种子材料以导出PQC密钥。
在阶段2中,PQC更新符在用ECC私钥-公钥对加密/签名的情况下从后端系统205发送到所部署装置210。任选地,此时,如在相关申请中,可从所部署装置覆写/去除Keygen方法。
应注意,当规划更多算法和密钥时,需要预留更多空间,并且所部署装置包括潜在地未使用的更多空间。此外,在使用以上选项2的情况下,通过与相关情况组合,存储器布建步骤中应考虑到用于种子的额外空间。这是在每一产品基础上存储器使用与可容许的风险之间的折衷。
取决于选择哪些PQC算法,将对硬件(HW)作出不同的要求。例如,如果存在用于SHA-2/3或SHA3之类的散列功能性的HW加速,则使用此HW加速将大体上大大加速PQC_Keygen以及新PQC更新符。类似地,一些PQC_Keygen方法将需要超出初始种子的随机性。在一些情况下,恰当地具现化的现有伪随机数生成器(PRNG)/确定性随机位生成器(DRBG)可用于辅助在PQC更新过程中提供额外随机性。
图3以框图形式示出根据本文中所描述的实施例的包括用于实行PQC更新的协处理器32的数据处理系统20。处理系统可在所部署装置210或后端系统205中实施。数据处理系统20可以是实施于单个集成电路上的芯片上系统(SoC),或可以是芯片的组合。在其它实施例中,集成电路10可包括另一类型的电路,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA),或可提供执行指令的类似电路。在一个实施例中,数据处理系统20可包括使用常规互补金属氧化物半导体(CMOS)工艺制造的金属氧化物半导体(MOS)晶体管。在另一实施例中,数据处理系统20可包括例如双极晶体管等其它晶体管类型,且可使用不同工艺制造。
数据处理系统20包括通信总线22、处理器24、存储器26和密码编译协处理器32。总线22可以是具有用于传送地址、数据和控制信息的多个导体的常规总线。在其它实施例中,总线22可以是互连结构,例如,纵横开关或其它形式的互连系统。处理器24双向连接到总线22。处理器24可包括任何类型的处理元件、处理器核心、微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器等中的一个或多个。可存在任何数目的个处理器。
存储器26双向连接到总线22。存储器26可以是任何类型的易失性或非易失性存储器中的一个或多个。存储器类型的例子包括非易失性存储器,例如快闪存储器、一次性可编程(OTP)存储器、电可擦除可编程只读存储器(EEPROM)等。易失性存储器类型包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。存储器可用于存储指令和/或数据。
用户接口28双向连接到总线22且可连接到一个或多个装置以用于实现与例如管理员等用户的通信。例如,用户接口28可被启用以用于耦合到显示器、鼠标、键盘或其它输入/输出装置。用户接口28还可包括使一个或多个装置实现与数据处理系统20外部的其它硬件装置的通信的网络接口。
指令存储器30可包括用于存储用于由处理器24执行的指令的一个或多个机器可读存储介质。在其它实施例中,存储器26和30两者都可存储处理器24可操作的数据。存储器26和30还可存储例如加密、解密和验证应用程序。存储器26和30可实施于安全硬件元件中且可为防篡改的。
协处理器32双向连接到总线22。协处理器20可以是针对运行加密/解密安全软件根据RSA、ECC或高级加密标准(AES)或其它类型的常用加密算法优化的特定类型的协处理器。协处理器32可以是包括安全处理和/或安全存储器的HSM。因此,且根据所描述的实施例,协处理器32可用于有效地执行用于执行如上文所论述且在图1和2中示出的PQC更新的指令。在协处理器32上执行的算法可用于对数据处理系统20中的数据和指令进行加密/解密。
本文中所描述的PQC更新方法提供技术解决方案以允许更新现有和部署的密码编译装置,以在PQC算法变得可用后稍后使用所述PQC算法。这意味着,一旦由于因将所部署装置更新为使用PQC算法来使量子计算机可用而使非PQC密码编译算法变得不安全,现有的所部署装置可以仍能够提供安全操作。
如本文所使用,术语“非暂时性机器可读存储媒体”应理解为不包括暂时传播信号,但包括所有形式的易失性和非易失性存储器。当软件实施在处理器上时,软件和处理器的组合变成单个特定机器。尽管已详细描述了各种实施例,但应理解,本发明能够具有其它实施例,并且能够在各种显而易见的方面中修改其细节。
由于实施本发明的数据处理大部分由本领域的技术人员已知的电子组件和电路构成,因此为了理解和了解本发明的基本概念并且为了不混淆或偏离本发明的教示,将不会以任何比上文所示的认为必要的程度更大的程度来解释电路细节。
虽然本文中参考具体实施例描述了本发明,但是在不脱离如所附权利要求书所阐述的本发明的范围的情况下可以进行各种修改和改变。因此,说明书和附图应视为示意性而不具有限制性意义,并且所有这些修改旨在都包括在本发明的范围内。并不希望将本文中关于具体实施例所描述的任何优势、优点或针对问题的解决方案理解为任何或所有权利要求的关键、必需或必不可少的特征或元件。
如本文中所使用,术语“耦合”并不意图局限于直接耦合或机械耦合。
此外,如本文中所使用,术语“一”被定义为一个或一个以上。而且,权利要求书中例如“至少一个”和“一个或多个”等介绍性短语的使用不应解释为暗示由不定冠词“一”导入的另一权利要求要素将含有此引导的权利要求要素的任何特定权利要求限制为仅含有一个此要素的发明,甚至是在同一权利要求包括介绍性短语“一个或多个”或“至少一个”和例如“一”等不定冠词时。这同样适用于定冠词的使用。
除非以其它方式陈述,否则例如“第一”和“第二”等术语用于任意地区别这些术语所描述的元件。因此,这些术语未必意图指示此类元件的时间或其它优先级排序。
在处理器上运行以实施本发明的实施例的特定软件的任何组合构成特定专门机器。
本领域的技术人员应了解,本文中的任何框图表示体现本发明的原理的说明性电路的概念视图。
Claims (10)
1.一种用于布建密码编译装置的系统,其特征在于,包括:
存储器;
耦合到所述存储器的处理器,其中所述处理器另外被配置成:
确定多个后量子密码编译算法的最大PQC私钥大小、最大PQC公钥大小和最大PQC更新符大小;
在所述密码编译装置中布建存储器以基于所确定的所述最大PQC私钥大小、最大PQC公钥大小和最大更新符大小存储PQC更新非PQC私钥、秘密PQC更新非PQC公钥、PQC私钥、PQC公钥和PQC更新符;以及
为所述密码编译装置布建被配置成实行非PQC密码编译算法的所述PQC更新非PQC私钥、所述秘密PQC更新非PQC公钥、非PQC秘密密钥、非PQC公钥和非PQC算法代码。
2.根据权利要求1所述的系统,其特征在于,所述处理器另外被配置成:
生成所述PQC私钥和所述PQC公钥;以及
将所述PQC私钥和所述PQC公钥传输到所述密码编译装置,其中所述PQC私钥和所述PQC公钥使用与所述PQC更新非PQC秘密密钥相关联的公钥进行加密。
3.根据权利要求2所述的系统,其特征在于,所述处理器另外被配置成:
将PQC更新符传输到所述密码编译装置,其中所述PQC更新符被配置成在所述密码编译装置中实施PQC算法,其中所述PQC更新符使用与所述秘密PQC更新非PQC公钥相关联的公钥进行加密。
4.根据权利要求1所述的系统,其特征在于,在所述密码编译装置中布建存储器以基于所确定的所述最大PQC私钥大小、最大PQC公钥大小和最大PQC更新符大小存储PQC更新非PQC私钥、秘密PQC更新非PQC公钥、PQC私钥、PQC公钥和PQC更新符包括在所述密码编译装置中布建存储器以存储多个PQC私钥和PQC公钥。
5.根据权利要求1所述的系统,其特征在于,所述处理器另外被配置成:
确定最大密钥生成种子大小;
在所述密码编译装置中布建存储器以基于所确定的所述最大密钥生成种子大小存储密钥生成种子;
将密钥生成器传输到所述密码编译装置,其中所述密钥生成器被配置成基于密钥生成器种子产生所述PQC私钥和PQC公钥,其中所述密钥生成器使用与所述PQC更新非PQC私钥相关联的公钥进行加密;以及
将PQC更新符传输到所述密码编译装置,其中所述PQC更新符被配置成在所述密码编译装置中实施PQC算法,其中所述PQC更新符使用所述PQC更新非PQC公钥进行加密。
6.一种密码编译系统,其特征在于,包括:
包括安全部分的存储器;
耦合到所述存储器的处理器,其中所述处理器另外被配置成:
从后端系统接收存储器布建请求,所述存储器布建请求包括PQC更新非PQC私钥大小、秘密PQC更新非PQC公钥大小、PQC私钥大小、PQC公钥大小和PQC更新符大小;
在所述安全部分中布建存储器以基于所述所接收PQC更新非PQC私钥大小、所接收秘密PQC更新非PQC公钥大小、所接收PQC私钥大小、所接收PQC公钥大小和所接收PQC更新符大小存储PQC更新非PQC私钥、秘密PQC更新非PQC公钥、PQC私钥、PQC公钥和PQC更新符;
从所述后端系统接收非PQC布建请求,所述非PQC布建请求包括PQC更新非PQC私钥、秘密PQC更新非PQC公钥、非PQC私钥、非PQC公钥和非PQC更新符;以及
使用所述非PQC更新符与被配置成实行非PQC密码编译算法的所述PQC更新非PQC私钥、所述秘密PQC更新非PQC公钥、非PQC秘密密钥、所述非PQC公钥和所述非PQC算法代码来在所述安全部分中布建存储器。
7.根据权利要求6所述的系统,其特征在于,所述处理器另外被配置成:
从所述后端系统接收PQC私钥和PQC公钥,其中所述PQC私钥和所述PQC公钥使用与所述秘密PQC更新非PQC私钥相关联的公钥进行加密。
8.根据权利要求7所述的系统,其特征在于,所述处理器另外被配置成:
从所述后端系统接收PQC更新符,其中所述PQC更新符被配置成在所述密码编译装置中实施PQC算法,并且所述PQC更新符使用与所述秘密PQC更新非PQC私钥相关联的公钥进行加密;以及
执行所述PQC更新符以实施所述PQC算法。
9.根据权利要求6所述的系统,其特征在于,在所述安全部分中布建存储器以基于所述所接收PQC更新非PQC私钥大小、所接收秘密PQC更新非PQC公钥大小、接收密钥生成种子大小、所接收PQC私钥大小、所接收PQC公钥大小和所接收PQC更新符大小存储PQC更新非PQC私钥、秘密PQC更新非PQC公钥、PQC私钥、PQC公钥和PQC更新符包括在所述密码编译装置中布建存储器以存储多个PQC私钥和PQC公钥。
10.根据权利要求6所述的系统,其特征在于,所述处理器另外被配置成:
从所述后端系统接收存储器布建请求,所述存储器布建请求包括最大密钥生成种子大小;
在所述安全部分中布建存储器以基于所确定的所述最大密钥生成种子大小存储密钥生成种子;
从所述后端系统接收密钥产生器,其中所述密钥产生器使用与所述PQC更新非PQC私钥相关联的公钥进行加密;
执行所述密钥生成器以基于所述密钥生成器种子生成所述PQC私钥和PQC公钥;以及
将PQC更新符接收到所述密码编译装置,其中所述PQC更新符使用与ECC非PQC私钥相关联的所述公钥进行加密;以及
执行所述PQC更新符以在所述密码编译装置中实施PQC算法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/587,868 US20230246815A1 (en) | 2022-01-28 | 2022-01-28 | System and method for post-quantum trust provisioning and updating with contemporary cryptography |
US17/587,868 | 2022-01-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116527263A true CN116527263A (zh) | 2023-08-01 |
Family
ID=85076202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310056230.9A Pending CN116527263A (zh) | 2022-01-28 | 2023-01-20 | 用于以现生密码编译进行后量子信任布建和更新的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230246815A1 (zh) |
EP (1) | EP4221071A1 (zh) |
CN (1) | CN116527263A (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038318A (en) * | 1998-06-03 | 2000-03-14 | Cisco Technology, Inc. | Optimized machine computation of exponential functions and modulo functions |
US11218301B1 (en) * | 2019-09-10 | 2022-01-04 | Wells Fargo Bank, N.A. | Systems and methods for post-quantum cryptography communications channels |
US11494358B2 (en) * | 2019-09-25 | 2022-11-08 | Verizon Patent And Licensing Inc. | Systems and methods for providing an adaptive attention-based bloom filter for tree-based information repositories |
WO2021150789A1 (en) * | 2020-01-22 | 2021-07-29 | Valimail Inc. | Centrally managed pki provisioning and rotation |
US11449799B1 (en) * | 2020-01-30 | 2022-09-20 | Wells Fargo Bank, N.A. | Systems and methods for post-quantum cryptography optimization |
US11645428B1 (en) * | 2020-02-11 | 2023-05-09 | Wells Fargo Bank, N.A. | Quantum phenomenon-based obfuscation of memory |
US11153080B1 (en) * | 2020-07-29 | 2021-10-19 | John A. Nix | Network securing device data using two post-quantum cryptography key encapsulation mechanisms |
-
2022
- 2022-01-28 US US17/587,868 patent/US20230246815A1/en active Pending
-
2023
- 2023-01-20 CN CN202310056230.9A patent/CN116527263A/zh active Pending
- 2023-01-24 EP EP23153104.7A patent/EP4221071A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4221071A1 (en) | 2023-08-02 |
US20230246815A1 (en) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11921911B2 (en) | Peripheral device | |
US7697691B2 (en) | Method of delivering Direct Proof private keys to devices using an on-line service | |
US7058806B2 (en) | Method and apparatus for secure leveled access control | |
CN110050437B (zh) | 分布式证书注册的装置和方法 | |
EP2506176A1 (en) | Establishing unique key during chip manufacturing | |
US20160006570A1 (en) | Generating a key derived from a cryptographic key using a physically unclonable function | |
US20130251152A1 (en) | Key transport protocol | |
US7693286B2 (en) | Method of delivering direct proof private keys in signed groups to devices using a distribution CD | |
WO2006025952A2 (en) | Method of delivering direct proof private keys to devices using a distribution cd | |
US8687813B2 (en) | Methods circuits devices and systems for provisioning of cryptographic data to one or more electronic devices | |
US20060015751A1 (en) | Method of storing unique constant values | |
KR102450811B1 (ko) | 차량 내부 네트워크의 키 관리 시스템 | |
US11176058B2 (en) | Address decryption for memory storage | |
CN117318941B (zh) | 基于车内网的预置密钥分发方法、系统、终端及存储介质 | |
CN112703500A (zh) | 在低功率模式期间保护存储在IoT装置的存储器中的数据 | |
US20230246815A1 (en) | System and method for post-quantum trust provisioning and updating with contemporary cryptography | |
KR100883442B1 (ko) | 온라인 서비스를 사용하여 직접 증명 비밀키를 디바이스에전달하는 방법 | |
EP4221072A1 (en) | System and method for flexible post-quantum trust provisioning and updating | |
KR20220000537A (ko) | 차량 네트워크 기반의 데이터 송수신 시스템 및 그 방법 | |
CN114124366A (zh) | 一种可信芯片的密钥生成方法及相关设备 | |
CN113411347B (zh) | 交易报文的处理方法及处理装置 | |
US20230185970A1 (en) | Communication node with secure cryptographic keys and methods for securing therein | |
CN116938468A (zh) | 一种密钥生成方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |