CN114205077B - 基于Blom密钥分配算法的混合加密安全通信方法 - Google Patents

基于Blom密钥分配算法的混合加密安全通信方法 Download PDF

Info

Publication number
CN114205077B
CN114205077B CN202111371492.1A CN202111371492A CN114205077B CN 114205077 B CN114205077 B CN 114205077B CN 202111371492 A CN202111371492 A CN 202111371492A CN 114205077 B CN114205077 B CN 114205077B
Authority
CN
China
Prior art keywords
key
node
matrix
common
boom
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
CN202111371492.1A
Other languages
English (en)
Other versions
CN114205077A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202111371492.1A priority Critical patent/CN114205077B/zh
Publication of CN114205077A publication Critical patent/CN114205077A/zh
Application granted granted Critical
Publication of CN114205077B publication Critical patent/CN114205077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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)
    • 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
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • 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/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于Blom密钥分配算法的混合加密安全通信方法,其特征在于,包括:证书生成阶段,为通信网络中的所有普通节点配置一个主节点,所有普通节点和主节点申请证书以获得私钥和公钥;密钥分配阶段,主节点基于Blom密钥分配算法生成并分配包含公共矩阵信息、私密矩阵信息以及节点信息的Blom信息作为密钥至普通节点;安全通信阶段,普通节点之间进行通信时,基于从Blom信息中获取的公共矩阵信息和私密矩阵信息生成的对称密钥进行通信。以解决对称密钥交换的开销大,网络扩展性不足,以及需要节点之间的信任程度高,实际场景难以满足的问题。

Description

基于Blom密钥分配算法的混合加密安全通信方法
技术领域
本发明属于通信领域,具体涉及一种基于Blom密钥分配算法的混合加密安全通信方法。
背景技术
在计算机网络的通信中,特别是涉及隐私、秘密内容的安全通信中,对消息进行加密解密是十分重要、有效的方法,消息的加密是计算机网络安全通信的基础之一。在消息的加密解密中,存在着两种基本的解决方案——对称加密与非对称加密。对称加密算法与非对称加密算法各自的优势和劣势,在网络通信中常常会适用混合加密的方法进行安全通信。由于在大多数应用场景中,信息的交互是十分频繁的,非对称加密的低效会带来通信效率的极大损失。因此,在通信过程中,通常更多地采用非对称加密的方法对消息进行加密,而在交换对称密钥的问题上,则是利用非对称加密的方法,这就是混合加密通信机制。更具体地,消息的发送方和接收方首先利用非对称加密的方法生成各自的公私密钥对,并且将公钥共享给彼此。然后由某一方决定加密消息使用的对称密钥,再将该对称密钥用接收方的公钥进行加密并发送给接收方。接收方在收到加密后的对称密钥后,便可以利用自己的私钥进行解密,得到与发送方进行后续通信所使用的的对称密钥。在之后的通信中,由于双方已经成功安全地进行了对称密钥的交换,他们便可以利用该对称密钥进行高效的消息加密、解密。混合加密的通信机制既利用了非对称加密以提高安全性,又利用了对称加密计算简单、效率高的特点,在仅涉及双方的安全通信中,混合加密机制已经可以很好地满足安全性与高效性的需求。
随着网络规模的扩大,上述简单的混合加密机制可能会存在以下问题:
问题1,对称密钥交换阶段的额外开销巨大。上文提到,对称密钥应当是每两个通信方就要有一个,因此对于N个通信节点的网络,最多需要N(N-1)/2个对称密钥,这就带来了次数为O(N2)的交换对称密钥开销,在网络规模不断扩大时,这样的开销会变得十分巨大,影响了通信的效率。
问题2,通信节点的加入带来的额外通信开销。上述的简单混合加密机制在网络的扩展性上比较差,具体表现在当有新的通信节点需要加入已有N个节点的网络进行通信时,它需要与这N个节点都进行对称密钥的交换,因此带来了O(N)次的密钥交换开销。密钥交换的次数开销实际上是难以避免的问题,因为新加入的节点总是需要与网络中的所有其他节点进行密钥交换,但是经过优化的密钥交换或分配策略可能可以将传输的数据量大大降低。
问题3,在多节点的网络场景中,上述混合加密机制实际上要求节点之间彼此信任。因为双方的对称密钥是由其中一方生成并发送给另一方的,接收方无法确定该对称密钥是否专属于他们两者通信的,恶意的或操作不规范的发送方可能会将同一个对称密钥发送给多个接收方,这将大大增加对称密钥被泄露的风险,而且接收方只能信任发送方,而无法完全规避这样的风险。在实际的网络通信中,节点之间的部分信任是存在的,但是对其他所有节点的信任则是几乎不可能实现的,因此节点之间的信任问题也会显著地影响加密通信机制的安全性。
除了消息的加密之外,安全通信另一个十分重要的部分就是数字签名。数字的加密解密是为了使消息只能被特定的对象接收到,攻击者即使截获也无法解读其内容,而数字签名则是接收方为了确认消息的来源到底是谁。普通未经数字签名的消息,接收方其实无法知道它是否真的由消息所声称的发送方发送过来的,它有可能是恶意的攻击者伪造了自己的身份从而发送的假消息。而数字签名机制可以让接收方确认消息的来源。数字签名同样利用了非对称密码学,或者说公钥密码学的相关原理。在具体的设计与实现中,发送方,也就是数字签名的附加方,先利用散列函数(哈希算法)得到消息的摘要,常用的散列算法包括SHA-256、SHA-1、MD5等,散列算法可以将任意长度的消息映射到固定长度的哈希值,比如SHA-256算法得到的哈希值是256位的。而哈希值不能恢复成原消息,因此哈希值通常可以用于消息完整性和正确性的校验。在得到摘要后,发送方再利用自己的私钥利用数字签名算法对哈希值进行签名,得到一段数字签名,常用的数字签名算法有RSA、ECDSA等。将附加了签名的消息发送至消息的接收方后,接收方先利用消息原文同样得到消息的摘要,然后用数字签名的验证算法对摘要与消息附加的数字签名进行验证,从而可以知道消息的发送者到底是否掌握了正确的私钥,如果是,则认为消息的来源是可靠的。
发明内容
为了解决对称密钥交换的开销大,网络扩展性不足,以及需要节点之间的信任程度高,实际场景难以满足的问题,本发明提供了一种基于多密钥空间的Blom密钥分配算法的混合加密安全通信方法。
本发明的技术方案为:
一种基于Blom密钥分配算法的混合加密安全通信方法,包括:
证书生成阶段,为通信网络中的所有普通节点配置一个主节点,所有普通节点和主节点申请证书以获得私钥和公钥;
密钥分配阶段,主节点基于Blom密钥分配算法生成包含公共矩阵信息、私密矩阵信息以及节点信息的Blom信息作为密钥并分配至普通节点;
安全通信阶段,普通节点之间进行通信时,基于从Blom信息中获取的公共矩阵信息和私密矩阵信息生成的对称密钥进行通信。
在一个实施例中,所述为通信网络配置主节点时,指定通信网络中的一个普通节点作为主节点,或者额外添加一个节点作为主节点。
在一个实施例中,主节点基于Blom密钥分配算法生成Blom信息的过程为:
随机生成一个(λ+1)×(λ+1)的私密对称矩阵D,其中λ为安全阈值,优选地,安全阈值λ取值为N/2;
随机生成一个随机数P并测试P为素数时,基于素数P构建有限域GF(P);并从有限域GF(P)中寻找生成元g,基于生成元g和素数P以及安全阈值λ构建符合范德蒙特矩阵形式的(λ+1)×N的公共矩阵G,N为普通节点的数量;
依据私密对称矩阵D和公共矩阵G构建私密矩阵A;
将私密矩阵A中与普通节点j对应的行向量Aj*,公共矩阵G中的生成元g和素数P以及普通节点j组成Blom信息。
在一个实施例中,主节点基于Blom密钥分配算法生成Blom信息时,采用基于多密钥空间生成Blom信息,具体包括:
随机生成一个随机数P并测试P为素数时,基于素数P构建有限域GF(P);并从有限域GF(P)中寻找生成元g,基于生成元g和素数P以及安全阈值λ构建符合范德蒙特矩阵形式的(λ+1)×N的公共矩阵G,N为普通节点的数量;优选地,安全阈值λ取值为N/2;
随机生成ω个(λ+1)×(λ+1)的私密对称矩阵D1,D2,…,Dω,λ为安全阈值,ω和τ为安全参数,且满足2≤τ<ω;定义二元组Sk=(Dk,G)为一个密钥空间,每个密钥空间Sk决定一个私密矩阵Ak=Dk·G,其中,k为密钥空间索引;
从ω个密钥空间中选取τ个密钥空间,将密钥空间编号,每个密钥空间对应的私密矩阵Ak中与普通节点j对应的行向量Aj*,公共矩阵G中的生成元g和素数P以及普通节点j组成Blom信息。
在一个实施例中,当P为素数时,集合F={0,1,2,…,P-1}在模运算mod(P)下关于加法和乘法运算构成一个有限域GF(P);
采用Miller-Rabin素数测试算法测试P是否为素数;
公共矩阵G为:
Figure BDA0003362407380000051
在一个实施例中,当需要对通信网络拓展普通节点时,在安全阈值λ确定时给定序号j+1便得出公共矩阵G的第j+1列向量G*(j+1),则根据私密对称矩阵D与G*(j+1)确定私密矩阵A的第j+1行向量A(j+1)*,该行向量A(j+1)*与公共矩阵G中的生成元g和素数P以及节点信息组成Blom信息,实现通信网络中对拓展普通节点的密钥分配。
在一个实施例中,当Blom密钥分配算法扩展到多密钥空间时,在需要对通信网络拓展普通节点时,新普通节点j+1的加入同样会使主节点从ω个密钥空间中随机选出τ个密钥空间,将密钥空间编号,每个密钥空间对应的私密矩阵Ai中与普通节点j+1对应的行向量Aj+1*,公共矩阵G中的生成元g和素数P以及普通节点j组成Blom信息并发送至新普通节点j+1。
在一个实施例中,主节点采用非对称加密方法对Blom信息加密后发送至普通节点,过程包括:主节点利用拥有的私钥对Blom信息的摘要进行数字签名,并附加于Blom信息,再将含数字签名和Blom信息的消息利用接收节点的证书中的公钥信息进行加密生成密文并发送。
在一个实施例中,普通节点之间进行通信时,发送节点对待发送的业务消息利用哈希算法得到固定长度的摘要,并利用自己的私钥对摘要进行数字签名,然后发送节点将业务消息和数字签名用发送节点与接收节点之间的加密密钥进行加密生成密文并发送;其中,加密密钥Kij=Ai*·G*j,Ai*为发送节点i接收的私密矩阵A的行向量,G*j为基于素数P和生成元g以及安全阈值λ构建的公共矩阵G中关于接收节点j的第j列列向量;
接收节点采用发送节点与接收节点之间的解密密钥对密文进行解密,获得业务消息和数字签名,然后采用哈希算法从业务消息中提取摘要,并对摘要和数字签名采用发送节点的证书进行验证,当数字签名的验证通过后,接收节点正式开始处理接收到的业务消息,其中,解密密钥Kji=Aj*·G*i,Aj*为发送节点j接收的私密矩阵A的行向量,G*i为基于素数P和生成元g以及安全阈值λ构建的公共矩阵G中关于发送节点i的第i列列向量,Kij=Kji
在一个实施例中,普通节点之间进行通信时,当普通节点j收到普通节点i的广播消息时,将被分配的密钥空间编号与收到广播信息中的密钥空间编号进行比较,此时会有两种情况:
情况一:普通节点j与普通节点i存在相同的密钥空间,设其编号为k,双方就使用相同编号的密钥空间产生对称密钥,具体地,普通节点i将从主节点收到的私密矩阵的行向量Ai*与公共矩阵G的第j列相乘,以得到与普通节点j的对称密钥,利用对称密钥进行通信;
情况二:普通节点j与普通节点i不存在相同的密钥空间,双方使用证书生成阶段生成的公钥和私钥对通信密钥进行商定,具体包括:普通节点j用普通节点i的公钥对拟采用的对称通信密钥进行加密,普通节点i接收到密文后用自己的私钥进行解密,从而得到双方的对称密钥,利用对称密钥进行通信。
与现有技术相比,本发明具有的有益效果至少包括:
本发明提供的基于Blom密钥分配算法的混合加密安全通信方法,通过为通信网络中的所有普通节点配置一个主节点,主节点采用基于Blom密钥分配算法生成Blom信息作为密钥并分配至普通节点,普通节点之间通过对称密钥进行通信,提升了网络拓展性,且只需要由主节点为所有普通节点分配一次密钥,降低了对称密钥交换开销,无需普通节点之间的信任度,适用场景更灵活。再者,在Blom密钥分配算法的基础上,将单密钥空间扩展成多密钥空间,采用多密钥空间进行密钥分配,显著提高了节点通信对恶意攻击的抵抗性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是本发明实施例1提供的基于Blom密钥分配算法的混合加密安全通信方法的流程图;
图2是本发明实施例提供的Blom密钥分配算法的原理图;
图3是本发明实施例提供的基于Blom密钥分配算法的密钥拓展原理图;
图4是本发明实施例2提供的基于Blom密钥分配算法的混合加密安全通信方法中证书生成阶段、密钥分配阶段以及密钥沟通阶段的流程图;
图5是本发明实施例2提供的基于Blom密钥分配算法的混合加密安全通信方法中安全通信阶段的流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
实施例1
图1是本发明实施例1提供的基于Blom密钥分配算法的混合加密安全通信方法的流程图。如图1所示,实施例1提供的基于Blom密钥分配算法的混合加密安全通信方法,该方法将Blom密钥分配算法与混合加密通信机制进行结合,在普通的混合加密通信机制的基础上加入了可信节点进行密钥的分配,具体包括证书生成阶段、密钥分配阶段以及安全通信阶段三个阶段,下面针对每个阶段进行详细说明。
证书生成阶段
在生成证书之前,为通信网络中的所有普通节点配置一个主节点,也就是Master节点,该Master节点为一个绝对可信的、可用于管理密钥信息的中心节点,由于本发明的通信方法不需要其余普通节点之间的信任,只需要存在一个可信的Master节点即可,因此本发明在节点间信任的要求较传统方法更低,使用场景更广。在具体实现中,可以将Master节点的功能放置于某一个普通节点,也可以独立出来作为第三方可信服务(类似CA服务)。
证书生成阶段主要用于为通信网络中的每个普通节点生成证书。与传统的混合加密机制相似,通信网络中的所有普通节点和Master节点均需要申请证书,该过程通常依赖于第三方的CA服务。在证书生成阶段完成后,每个节点各自掌握自己的私钥,并且会将公钥的信息储存在证书文件中,而证书文件是公开可获取的,以满足公钥的特征。需要注意的是,Master节点同样需要申请证书,即使它可能不参与真正的业务信息通信,但是在密钥分配阶段时它仍然需要用到自己的证书,以保证密钥分配的安全性。
密钥分配阶段
在密钥分配阶段,Master节点主导普通节点间对称密钥的分配,其利用的是Blom密钥分配算法。Blom密钥分配算法的原理如图2所示。
在有限域GF(P)中产生一个(λ+1)×N的公共矩阵G,同时产生一个(λ+1)×(λ+1)的私密对称矩阵D,其中λ为安全阈值,N为普通节点的数量。令私密矩阵A=(DG)T,矩阵K=AG,由于KT=(AG)T=GTAT=GTDG,K=AG=(DG)TG=GTDTG,且D是对称矩阵,因此可得KT=K,K也是对称矩阵,即Kij=Kji。根据该性质,普通节点i保存私密矩阵A的第i行Ai*,普通节点j保存私密矩阵A的第j行Aj*,此时,普通节点i可以将Ai*与公共矩阵G的第j列G*j相乘,即Ai*·G*j=Kij。同理,普通节点j可以将Aj*与公共矩阵G的第i列G*i相乘,得到Aj*·G*i=Kji。通过这种方式,普通节点i与普通节点j之间便可以建立对称密钥。
为了保证集群具有λ安全阈值,需要公共矩阵G的任何(λ+1)列都是线性无关的,而范德蒙特矩阵刚好具有该良好的特性。因此公共矩阵G一般选择范德蒙特矩阵,这样可以保证在不超过λ个节点被攻破的情况下,私密对称矩阵D的信息不会被泄露,整个网络仍然能够保证一定的安全性。
本发明实施例设计了Master节点如何产生Blom相关矩阵与分发密钥的方法,根据Blom相关技术的介绍,需要在一个有限域中生成一个公共矩阵G和一个私密对称矩阵D。由离散数学的相关知识可知,当P为素数时,集合F={0,1,2,…,P-1}在模运算mod(P)下关于加法和乘法运算构成一个有限域GF(P)。同时,任意有限域GF(P)都存在生成元g。生成元g的定义为,对于有限域中的任意一个非零元素b满足,b为g的某次方,即b=gn mod p。因此生成元g通过若干次幂运算能够覆盖除0外的整个有限域。
具体密钥分配过程包括:首先随机生成一个大数P并通过Miller-Rabin Test判断其是否为一个素数,如果不是则重新生成。Miller-Rabin素数测试算法,是一种比较高效且常用的素数测试算法,该算法具有多项式时间复杂度,可以快速的判定一个数大概率是否为素数。
然后,算法通过PrimiteRoot寻找到有限域GF(P)的生成元g,并根据生成元g和素数P生成(λ+1)×N的公共矩阵G。同时随机生成(λ+1)×(λ+1)的私密对称矩阵D,私密对称矩阵D需要保证元素在有限域内,且为对称矩阵。公共矩阵G类似于范德蒙特矩阵,其形式为:
Figure BDA0003362407380000101
N为节点的数量,λ为安全阈值。如果λ值过低,则会导致密钥的安全性降低,通信的可靠性无法保证。如果λ的值过高,又会增加计算量。考虑到攻击者想要攻破大多数设备的密钥代价花费较大,且一旦有超过一半的节点被攻破,通信网络的安全性已经无法保障,因此将λ设为当前节点数量的一半,即
Figure BDA0003362407380000102
从公共矩阵G的表现形式可以看出,只需要知道种子g以及节点数量N即可以知道公共矩阵G,因此在实际情况下公共矩阵G并不需要生成。由于种子g是有限域的生成元,因此公共矩阵G内的元素能够最大可能的覆盖有限域内的数,尽可能的保证公共矩阵G任何(λ+1)列都是线性无关的。
最后,将计算出普通节点i对应的私密矩阵A的行向量Ai*,其中,公共矩阵G、私密对称矩阵D以及私密矩阵A组成Blom矩阵,并将Blom信息<P,g,i,Ai*>发送给普通节点i,同时将通信网络中所有节点的编号发送出去。普通节点i收到编号之后,便可以通过这些信息,计算出普通节点i与普通节点j之间的密钥Kij,Kij=Ai*·G*j
上述密钥分配过程在Blom算法的基础上进行改进,使得Master节点需要发送给普通节点的数据进一步减少,更进一步地提高密钥分配阶段的效率,对于N个通信节点的网络,Master节点只需要发送N次Blom信息,其中每次信息只需要包含P、g、i和一个长度为(λ+1)的行向量即可。
在密钥分配时,为了保证Master所发信息的真实性、可靠性与私密性,需要利用非对称加密对Blom信息进行加密。过程如下:Master节点利用自己的私钥对Blom信息的摘要进行数字签名,并附加于Blom信息,再将含签名的消息利用接收者节点的证书(含接收者的公钥信息)进行加密,该密文便只有对应的接收者才可以用自己的私钥进行解密,同时接收者可以利用Master节点的公开证书(含Master节点的公钥信息)对消息的签名进行验证,以确认Blom信息的真伪(由于Master节点绝对可信,只要身份通过验证便说明内容真实有效)。虽然前文提到,非对称加密的效率很低,但是本阶段的密钥分配过程必须使用非对称加密,理由为:(1)对称密钥的安全性是安全通信机制的重中之重,必须用安全性更高的非对称加密进行加密发送;(2)密钥分配发生的次数较少,一般只有在网络重建等情况才需要进行,并不是频繁发生的,因此这里的非对称加密不会随着业务信息的通信而不断增加通信开销。
随着节点的加入或退出,通信网络中的节点规模会发生一定的变化,密钥分配方案必须能够适应这种分布式网络的变化。根据对Blom密钥分配方案的算法设计,比较重要的D、P、g等信息都与节点个数无关,只有私密矩阵A与公共矩阵G与节点个数N相关。但公共矩阵G的形式固定,在λ确定时给定序号j+1便可以得出矩阵G的第j+1列G*(j+1),而矩阵A的第j+1行A(j+1)*只与公共矩阵D与G*(j+1)相关。因此,在实际密钥分配过程开始时并不需要生成私密矩阵A与公共矩阵G的全部内容,只在分配的过程中不断的为某节点分配编号,及计算该编号在私密矩阵A中对应的行向量即可,这说明理论上私密矩阵A与公共矩阵G是可以无限扩展的,如图3所示。这就意味着新节点的加入不需要整个集群整体更换一次对称密钥。主节点只需要向新节点发送密钥种子,新节点再与其他节点之间进行节点编号的交换,之后新节点便可以与其他任意一个节点间建立对称密钥。但是,如果节点数量N的规模不断扩大,使得λ<<N,便会导致系统的安全性降低。因此一段时间之后仍需要更换对称密钥,根据N的大小调节阈值λ。
因此,新节点加入不需要整个集群整体更换一次对称密钥。主节点只需要向新节点发送密钥种子,新节点再与其他节点之间进行节点编号的交换,之后新节点便可以与其他节点建立对称密钥。
安全通信阶段
在安全通信阶段,网络间的普通节点已经可以正常进行安全通信了。在通信的过程中,消息的发送方与消息的接收方对消息的处理如流程图所示。消息的发送方对待发送的业务消息利用哈希算法得到固定长度的消息摘要,并利用自己的私钥对消息进行数字签名。然后发送方将消息连同签名一同用它与接收方的对称密钥进行加密,该对称密钥由密钥分配阶段时接收到的Blom信息计算得出,最后得到的密文便可以发送给消息的接收方。
消息的接收方利用它与发送方的对称密钥对密文进行解密,该密钥同样通过上一阶段收到的Blom信息计算得出。然后接收方从明文中分离消息本身与签名,对消息求摘要,最后对摘要与数字签名利用发送方的证书进行验证,看消息来源是否真实有效。如果数字签名的验证通过,消息的接收方才会正式开始处理接收到的信息。
安全通信阶段利用了对称加密进行消息的高效加解密,以及利用了基于非对称密码学的数字签名保证了消息来源的真实有效。而对称密钥的安全性则依赖于密钥分配阶段的Blom算法实现。
实施例1提供的基于Blom密钥分配算法的混合加密安全通信方法解决了普通混合加密通信机制中存在的对称密钥交换开销问题,引入Blom密钥分配算法来实现O(N)复杂度的安全密钥分配。在Blom密钥分配算法的实现中利用一个可信的Master节点,无需通信节点之间的信任基础。
实施例2
随着网络规模的不断扩大,原始安全阈值λ保持不变,可能出现λ<<N的情况,此时,恶意的攻击者需要劫持λ+1个节点便可以攻破私密对称矩阵D,从而攻破整个安全通信体系,而劫持的代价与整个网络的规模相比也较小。为了提高Blom密钥分配算法在恶意攻击场景下的鲁棒性,在实施例1的基础上,实施例2采用多密钥空间的Blom密钥分配算法生成密钥,以进行混合加密安全通信方法。
图4和图5是本发明实施例2提供的基于Blom密钥分配算法的混合加密安全通信方法的流程图。如图4所示和图5所示,实施例2提供的基于Blom密钥分配算法的混合加密安全通信方法,具体包证书生成阶段、密钥分配阶段、密钥沟通阶段以及安全通信阶段四个阶段,下面针对每个阶段进行详细说明。
证书生成阶段
该证书生成阶段与实施例1的证书生成阶段相同,在此不再赘述。
密钥分配阶段
在实施例1的基础上,实施例2采用多密钥空间的Blom密钥分配算法进行密钥分配。即在多密钥空间的Blom密钥分配算法中,除了原来的安全阈值参数λ之外,还新增了两个安全参数:ω和τ,且满足2≤τ<ω。Master节点不再仅仅生成一个私密对称矩阵D,而是生成ω个私密对称矩阵:D1,D2,…,Dω。定义二元组Sk=(Dk,G)为一个密钥空间,一个密钥空间Sk就决定了一个私密矩阵Ak=Dk·G,定义Aj*为矩阵Ak的第j行。在Master节点生成了ω个私密对称矩阵D之后,便可以计算出ω个私密矩阵A,对每个普通节点j,Master节点在随机生成的ω个密钥空间中,随机选取τ个空间,将这τ个密钥空间的私密矩阵A的第j行发送到普通节点j。也就是说,每个参与安全通信的节点会收到τ个私密矩阵A的相应行信息。经证明,在应用了多密钥空间后,通信网络在抵抗攻击的性能上显著提升。
具体地,利用多密钥空间的Blom密钥分配算法生成Blom信息过程包括:
首先,生成公共矩阵G,该过程与实施例1中生成公共矩阵G的过程相同,此处不再赘述。
然后,随机生成ω个(λ+1)×(λ+1)的私密对称矩阵D1,D2,…,Dω,从ω个密钥空间中选取τ个密钥空间,以普通节点j为例,对每个密钥空间Sk,计算出相应的私密矩阵Ak=Dk·G,取私密矩阵Ak的第j行Aj*,最终τ个这样的行向量构成一个数组Avec。Master节点将信息<p,g,j,Spaces,Avec>发送给普通节点j,其中,Spaces为大小为τ数组,存储了普通节点j将使用的密钥空间编号,Avec为大小为τ*(λ+1)的二维数组,二维数组的每一行分别存储了一个密钥空间对应的私密矩阵Ak的第j行Aj*
在密钥分配时,为了保证Master节点所发Blom信息的真实性、可靠性与私密性,需要利用非对称加密对Blom信息进行加密。具体加密过程与实施例1中对Blom信息的加密过程相同,此处不再赘述。
当Blom密钥分配算法扩展到多密钥空间时,在需要对通信网络拓展普通节点时,新普通节点j+1的加入同样会使主节点从ω个密钥空间中随机选出τ个密钥空间,将密钥空间编号,每个密钥空间对应的私密矩阵Ai中与普通节点j+1对应的行向量Aj+1*,公共矩阵G中的生成元g和素数P以及普通节点j组成Blom信息并发送至新普通节点j+1。新普通节点与原普通节点通过下属密钥沟通阶段产生对称加密密钥。
密钥沟通阶段
密钥沟通阶段主要阐述普通节点如何根据收到的τ个私密矩阵A的相应行信息进行两两之间对称加密密钥的确认。当Master节点进行完密钥分配阶段后,普通节点之间需要确定两两之间的对称密钥。每个节点向其他节点广播以下信息,以普通节点i为例,当普通节点j收到普通节点i的广播消息时,将被分配的密钥空间编号与收到广播信息中的密钥空间编号进行比较,此时会有两种情况:
情况一:普通节点j与普通节点i存在相同的密钥空间,设其编号为k,双方就使用相同编号的密钥空间产生对称密钥,具体地,普通节点i将从主节点收到的私密矩阵的行向量Ai*与公共矩阵G的第j列相乘,以得到与普通节点j的对称密钥;
情况二:普通节点j与普通节点i不存在相同的密钥空间,双方使用证书生成阶段生成的公钥和私钥对通信密钥进行商定,具体包括:普通节点j用普通节点i的公钥对拟采用的对称通信密钥进行加密,普通节点i接收到密文后用自己的私钥进行解密,从而得到双方的对称密钥。
可以发现,当两个普通节点不存在相同的密钥空间时,实施例利用效率较低的非对称加密进行对称通信密钥的传递。因此,在ω、τ的参数选取中,应当选取适当的参数使得节点两两之间尽可能地存在共享的密钥空间。经验证,ω=50的情况下,τ取10时,90%的节点对都有相同的密钥空间,随着τ的增大,节点之间拥有相同密钥空间的可能性显然越大,但通信的开销也会变多,这里需要在实际场景中进行权衡。
安全通信阶段
在密钥沟通阶段后,普通节点两两之间的对称通信密钥已经建立起来,可以进行高效的安全通信了,流程如图5所示。该安全通信阶段与实施例1相同,在此不再赘述。
实施例2提供的采用多密钥空间的Blom密钥分配算法的混合加密安全通信方法,将Blom密钥分配算法应用与混合加密安全通信机制中,提高了对称密钥的交换效率与网络的可扩展性,同时降低了对网络节点间信任的要求;在原始Blom密钥分配算法的基础上进行改进与实现,在密钥分配时仅传递少量信息,进一步提高了密钥分配的效率,并使密钥分配机制更具有可扩展性;引入了多密钥空间,用可接受的额外通信开销,达到了更好的安全性,具体表现在攻击者为了攻破至少一个密钥空间,需要攻破的节点数远远大于单密钥空间版本的Blom密钥分配算法。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于Blom密钥分配算法的混合加密安全通信方法,其特征在于,包括:
证书生成阶段,为通信网络中的所有普通节点配置一个主节点,所有普通节点和主节点申请证书以获得私钥和公钥;
密钥分配阶段,主节点基于Blom密钥分配算法生成包含公共矩阵信息、私密矩阵信息以及节点信息的Blom信息作为密钥并分配至普通节点,主节点基于Blom密钥分配算法生成Blom信息时,采用基于多密钥空间生成Blom信息,具体包括:
随机生成一个随机数P并测试P为素数时,基于素数P构建有限域GF(P);并从有限域GF(P)中寻找生成元g,基于生成元g和素数P以及安全阈值λ构建符合范德蒙特矩阵形式的(λ+1)×N的公共矩阵G,N为普通节点的数量;安全阈值λ取值为N/2;
随机生成ω个(λ+1)×(λ+1)的私密对称矩阵D1,D2,…,Dω,λ为安全阈值,ω和τ为安全参数,且满足2≤τ<ω;定义二元组Sk=(Dk,G)为一个密钥空间,每个密钥空间Sk决定一个私密矩阵Ak=Dk·G,其中,k为密钥空间索引;
从ω个密钥空间中选取τ个密钥空间,将密钥空间编号,每个密钥空间对应的私密矩阵Ak中与普通节点j对应的行向量Aj*,公共矩阵G中的生成元g和素数P以及普通节点j组成Blom信息;
当Blom密钥分配算法扩展到多密钥空间时,在需要对通信网络拓展普通节点时,新普通节点j+1的加入同样会使主节点从ω个密钥空间中随机选出τ个密钥空间,将密钥空间编号,每个密钥空间对应的私密矩阵Ai中与普通节点j+1对应的行向量Aj+1*,公共矩阵G中的生成元g和素数P以及普通节点j组成Blom信息并发送至新普通节点j+1;
安全通信阶段,普通节点之间进行通信时,基于从Blom信息中获取的公共矩阵信息和私密矩阵信息生成的对称密钥进行通信,包括:
当普通节点j收到普通节点i的广播消息时,将被分配的密钥空间编号与收到广播信息中的密钥空间编号进行比较,此时会有两种情况:
情况一:普通节点j与普通节点i存在相同的密钥空间,设其编号为k,双方就使用相同编号的密钥空间产生对称密钥,具体地,普通节点i将从主节点收到的私密矩阵的行向量Ai*与公共矩阵G的第j列相乘,以得到与普通节点j的对称密钥,利用对称密钥进行通信;
情况二:普通节点j与普通节点i不存在相同的密钥空间,双方使用证书生成阶段生成的公钥和私钥对通信密钥进行商定,具体包括:普通节点j用普通节点i的公钥对拟采用的对称通信密钥进行加密,普通节点i接收到密文后用自己的私钥进行解密,从而得到双方的对称密钥,利用对称密钥进行通信。
2.如权利要求1所述的基于Blom密钥分配算法的混合加密安全通信方法,其特征在于,为通信网络配置主节点时,指定通信网络中的一个普通节点作为主节点,或者额外添加一个节点作为主节点。
3.如权利要求1所述的基于Blom密钥分配算法的混合加密安全通信方法,其特征在于,主节点基于Blom密钥分配算法生成Blom信息的过程包括:
随机生成一个(λ+1)×(λ+1)的私密对称矩阵D,其中λ为安全阈值,安全阈值λ取值为N/2;
随机生成一个随机数P并测试P为素数时,基于素数P构建有限域GF(P);并从有限域GF(P)中寻找生成元g,基于生成元g和素数P以及安全阈值λ构建符合范德蒙特矩阵形式的(λ+1)×N的公共矩阵G,N为普通节点的数量;
依据私密对称矩阵D和公共矩阵G构建私密矩阵A;
将私密矩阵A中与普通节点j对应的行向量Aj*,公共矩阵G中的生成元g和素数P以及普通节点j组成Blom信息。
4.如权利要求3所述的基于Blom密钥分配算法的混合加密安全通信方法,其特征在于,当P为素数时,集合F={0,1,2,…,P-1}在模运算mod(P)下关于加法和乘法运算构成一个有限域GF(P);
采用Miller-Rabin素数测试算法测试P是否为素数;
公共矩阵G为:
Figure FDA0004087983550000031
5.如权利要求3所述的基于Blom密钥分配算法的混合加密安全通信方法,其特征在于,当需要对通信网络拓展普通节点时,在安全阈值λ确定时给定序号j+1便得出公共矩阵G的第j+1列向量G*(j+1),则根据私密对称矩阵D与G*(j+1)确定私密矩阵A的第j+1行向量A(j+1)*,该行向量A(j+1)*与公共矩阵G中的生成元g和素数P以及节点信息组成Blom信息,实现通信网络中对拓展普通节点的密钥分配。
6.如权利要求1所述的基于Blom密钥分配算法的混合加密安全通信方法,其特征在于,主节点采用非对称加密方法对Blom信息加密后发送至普通节点,过程包括:主节点利用拥有的私钥对Blom信息的摘要进行数字签名,并附加于Blom信息,再将含数字签名和Blom信息的消息利用接收节点的证书中的公钥信息进行加密生成密文并发送。
7.如权利要求3所述的基于Blom密钥分配算法的混合加密安全通信方法,其特征在于,普通节点之间进行通信时,发送节点对待发送的业务消息利用哈希算法得到固定长度的摘要,并利用自己的私钥对摘要进行数字签名,然后发送节点将业务消息和数字签名用发送节点与接收节点之间的加密密钥进行加密生成密文并发送;其中,加密密钥Kij=Ai*·G*j,Ai*为发送节点i接收的私密矩阵A的行向量,G*j为基于素数P和生成元g以及安全阈值λ构建的公共矩阵G中关于接收节点j的第j列列向量;
接收节点采用发送节点与接收节点之间的解密密钥对密文进行解密,获得业务消息和数字签名,然后采用哈希算法从业务消息中提取摘要,并对摘要和数字签名采用发送节点的证书进行验证,当数字签名的验证通过后,接收节点正式开始处理接收到的业务消息,其中,解密密钥Kji=Aj*·G*i,Aj*为发送节点j接收的私密矩阵A的行向量,G*i为基于素数P和生成元g以及安全阈值λ构建的公共矩阵G中关于发送节点i的第i列列向量,Kij=Kji
CN202111371492.1A 2021-11-18 2021-11-18 基于Blom密钥分配算法的混合加密安全通信方法 Active CN114205077B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111371492.1A CN114205077B (zh) 2021-11-18 2021-11-18 基于Blom密钥分配算法的混合加密安全通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111371492.1A CN114205077B (zh) 2021-11-18 2021-11-18 基于Blom密钥分配算法的混合加密安全通信方法

Publications (2)

Publication Number Publication Date
CN114205077A CN114205077A (zh) 2022-03-18
CN114205077B true CN114205077B (zh) 2023-05-02

Family

ID=80648147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111371492.1A Active CN114205077B (zh) 2021-11-18 2021-11-18 基于Blom密钥分配算法的混合加密安全通信方法

Country Status (1)

Country Link
CN (1) CN114205077B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102721B (zh) * 2022-06-01 2024-02-02 宁波迦南智能电气股份有限公司 一种智能物联表远程通讯的加密方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462579A (zh) * 2018-05-23 2018-08-28 东南大学 一种基于密钥矩阵的密钥分配方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980921B (zh) * 2015-06-16 2019-04-23 南京林业大学 一种无线传感器网络密钥分配方法
CN108449146B (zh) * 2018-05-17 2020-04-17 中国科学院信息工程研究所 一种量子密钥分配方法和量子密钥分配网络系统
KR20220012851A (ko) * 2019-05-30 2022-02-04 김봉만 대칭 키 암호화/교환을 위한 양자 내성 암호화 및 진보된 암호화 및 키 교환(aeke) 방법
CN112995935A (zh) * 2021-02-05 2021-06-18 中国电力科学研究院有限公司 一种用于电力无线专网远程通信终端密钥的管理方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462579A (zh) * 2018-05-23 2018-08-28 东南大学 一种基于密钥矩阵的密钥分配方法

Also Published As

Publication number Publication date
CN114205077A (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
US10659223B2 (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN112367175B (zh) 基于sm2数字签名的隐式证书密钥生成方法
EP0916209B1 (en) Cryptographic key recovery system
JP4527358B2 (ja) 鍵供託を使用しない、認証された個別暗号システム
CN111342976B (zh) 一种可验证的理想格上门限代理重加密方法及系统
CN110011995B (zh) 多播通信中的加密和解密方法及装置
US11870891B2 (en) Certificateless public key encryption using pairings
CN108183791B (zh) 应用于云环境下的智能终端数据安全处理方法及系统
WO2017167771A1 (en) Handshake protocols for identity-based key material and certificates
CN111953479B (zh) 数据处理的方法及装置
Meshram et al. An identity-based cryptographic model for discrete logarithm and integer factoring based cryptosystem
CN111030801A (zh) 一种多方分布式的sm9密钥生成、密文解密方法与介质
Yang et al. Securing content-centric networks with content-based encryption
Heninger RSA, DH, and DSA in the Wild
CN114205077B (zh) 基于Blom密钥分配算法的混合加密安全通信方法
Bohio et al. An authenticated broadcasting scheme for wireless ad hoc network
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
US7958354B1 (en) High-order knowledge sharing system to distribute secret data
JP4485122B2 (ja) 公開鍵暗号システム,署名システム,暗号通信システム,秘密鍵生成器,公開鍵生成器及びコンピュータプログラム
WO2023055371A1 (en) Replicated secret share generation for distributed symmetric cryptography
JP4612027B2 (ja) 署名システム
Dugardin et al. A New Fair Identity Based Encryption Scheme
Kbar et al. Modified RSA Using Triple Keys Based Encryption/Decryption
Durán Díaz et al. A review of multisignatures based on RSA

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