CN114244499A - 基于树结构对称密钥池的群组通信方法及*** - Google Patents
基于树结构对称密钥池的群组通信方法及*** Download PDFInfo
- Publication number
- CN114244499A CN114244499A CN202010942344.XA CN202010942344A CN114244499A CN 114244499 A CN114244499 A CN 114244499A CN 202010942344 A CN202010942344 A CN 202010942344A CN 114244499 A CN114244499 A CN 114244499A
- Authority
- CN
- China
- Prior art keywords
- key
- node
- message
- pool
- key pool
- 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
Links
Images
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/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/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/083—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提出一种基于树结构对称密钥池的群组通信方法及***,本发明中,将群组成员作为树结构中的节点,构建群组通信树结构,并为树结构中的各个节点分配替换密钥和密钥池。子节点的密钥池和替换密钥由其父节点的密钥池和替换密钥计算而成,通过这种方式,可以实现群组中各个成员在仅存储有限长度密钥池的前提下,成员间通信所用对称密钥的多样性和多变性,进而增加第三方破解群组通信密钥的难度,提高整个群组的通信安全性。
Description
技术领域
本发明涉及群组通信领域,尤其涉及基于树结构对称密钥池的群组通信方法及***。
背景技术
随着无线通信技术的不断发展,终端直接通信(Device to Device,D2D)已成为3GPP Rel-12标准化技术的热点之一。D2D允许两个用户设备(User Equipment,UE)通过特定的信道(Sidelink Channel)直接进行数据传输,而无需经过演进型基站设备(Evolutional Node B,eNB)。当然,D2D并不局限于两个用户设备之间的数据传输,还可以支持单点对多点的群组通信(Group Communication)。现有的网络认证体系大都是基于单个对象的一对一的认证方式,但是对于单点对多点的数据传输,会根据一定的原则形成群组。在这些应用场景下,当组内接入新的终端时,若采用现有的一对一的认证方式,不仅会增加网络信令,导致网络拥塞,且会占用大量网络资源,因此现有的一对一的网络认证体系不再适用。在这种情况下,为降低认证资源消耗,减少网络拥塞,需要相应的群组认证机制。
但是,现有的群组通信***使用群组密钥池,通过使用群组型对称密钥池存储的对称密钥来实现群组通信,若某一成员遭到攻击,整个群组的保密通信都受到安全性威胁。
另一方面,在现有技术中,对密钥池进行更新往往需要颁发中心的参与,由于传输的数据量较大,对安全性有一定威胁。
基于上述分析,现有技术存在以下缺陷:
1.现有基于密钥池的群组通信***中,所有拥有群组密钥池的成员的地位是相同的,任意一个成员被俘获均会导致整个群组通信***的失效;
2.现有技术中,群组对称密钥池由于容量较大,无法存储于高度安全的安全芯片中,存在被俘获后被拆解从而被破解的可能性;群组型对称密钥池被群组内所有成员所共有,群组型对称密钥池一旦被破解,则基于群组型对称密钥池的群组通信的安全性受到威胁;
3.现有基于对称密钥池的取密钥方法为:首先选择一个密钥位置,然后从该位置取出整段密钥,在对称密钥池已经被破解的情况下,该种取密钥方式容易被预测乃至被完全破解,安全性不高;
4.现有密钥池更新的方法为一方生成密钥后给另一方发送过去,由于密钥池中的密钥量巨大,会导致密钥池更新需要大量时间;对于群组通信来说,需要将同一份密钥传递到群组的各个成员,密钥量更加巨大,往往难以实现。
发明内容
发明目的:为克服现有技术的缺陷,本发明提出一种基于树结构对称密钥池的群组通信方法及***,可以实现群组中各个成员在仅存储有限长度密钥池的前提下,实现成员间通信所用对称密钥的多样性和多变性,进而增加第三方破解群组通信密钥的难度,提高整个群组的通信安全性。
发明内容:为实现上述目的,本发明提出以下技术方案:
基于树结构对称密钥池的群组通信方法,包括以下步骤:
(1)以管理员为根节点,以普通群组成员为其余节点,构建群组通信树;
(2)为所述通信树中的每个节点分配唯一的ID;每个节点配置有记载所有节点ID和位置的ID表;
(3)为每个节点分配密钥池和替换密钥;其中,子节点的替换密钥由替换密钥计算函数联合计算父节点的替换密钥和子节点的ID得到;子节点的密钥池由密钥池计算函数联合计算父节点的密钥池和子节点的替换密钥得到;替换密钥计算函数为不可逆函数,密钥池计算函数为可逆函数;各节点部署有安全芯片,安全芯片中存储有替换密钥计算函数、密钥池计算函数及其逆函数,除了管理员节点,其余节点的替换密钥计算函数和密钥池计算函数的逆函数仅在安全芯片中使用,不可被本节点读取;
(4)群组中,任意两个节点之间按照以下方式进行保密通信:
方式1、两个节点为父子关系:父节点向自己的安全芯片输入子节点ID、自己的替换密钥和密钥池,获得安全芯片输出的子节点密钥池;父、子节点从子节点的密钥池中取出对称密钥进行保密通信;
方式2、两个节点为兄弟关系:兄弟节点通过父节点进行消息转发实现通信;
方式3、两个节点既不是父子关系也不是兄弟关系:从低等级节点一侧逐级向上找,直到找到一个中间节点能够与高等级节点满足父子关系或兄弟关系;高等级节点与中间节点按照方式1或2进行通信,中间节点与低等级节点之间通过逐级计算对称密钥并转发消息进行通信,最终实现高等级节点与低等级节点之间的保密通信。
本发明中,将群组成员作为树结构中的节点,构建群组通信树结构,并为树结构中的各个节点分配替换密钥和密钥池。子节点的替换密钥由其父节点的替换密钥和子节点ID计算得到,子节点的密钥池由其父节点的密钥池和子节点的替换密钥计算得到。通过这样的计算方式,可以保证各子节点的替换密钥和密钥池都不相同,增加第三方破解群组通信密钥的难度,提高整个群组的通信安全性。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
可选的,所述方法还包括以下步骤:
当群组中新增可信成员Y时,管理员为Y分配ID,并更新所有节点的ID表;然后按照步骤(3)所述方法,为Y分配替换密钥和密钥池;
管理员生成用于描述Y合法的第一消息,并按照步骤(4)所述方法将第一消息逐级传递给Y在群组中的父节点。
可选的,所述方法还包括以下步骤:
当群组中的某个节点B发现自己的子节点X不可信时,则B将X不可信的消息逐级传递给管理员节点;
管理员节点生成用于描述X不可信和通知X的子节点将父节点更换为B的第二消息;对于X的每个子节点C,管理员节点为C生成新的ID,记为ID′C,然后计算出X当前的替换密钥KRX、C当前的替换密钥KRC、C以B为父节点的替换密钥KR′C;管理员节点用KRC加密KRX和KR′C,并将加密消息、第二消息和ID′C一并作为更新消息逐级转发给B;
除管理员节点以外的各节点的安全芯片中,还存储有对称密钥转换函数,用于根据子节点的替换密钥和对称密钥生成中间密钥;
B接收到更新消息后,通过安全芯片计算出C当前的密钥池KC,取出与C的对称密钥KTC,再将KTC输入安全芯片中,通过安全芯片计算出的中间密钥KSC;B用KSC加密更新消息后发送给C;
C接收到B发送的消息后,从自己当前的密钥池里取出对称密钥KTC,进而用自己的替换密钥KRC与KTC计算出KSC,用KSC解密接收到的消息,得到管理员节点发出的更新消息;
C用更新消息中的ID′C更新自己现有的ID,然后用KRC解密更新消息中的加密消息,得到KRX和KR′C;然后,C更新自己的密钥池:
向自己的安全芯片输入KR′C和KC,通过安全芯片中的密钥池计算函数的逆函数倒推出X的密钥池KX,再按照同样方法倒推出B的密钥池KB,然后用KB和KR′C计算出新的密钥池K′C;最后,安全芯片输出K′C,C更新自己的替换密钥为KR′C,更新自己的密钥池为K′C并且以B为新的上级节点。
可选的,若节点C还存在子节点D,则D的替换密钥和密钥池更新方式如下:
管理员节点在C完成更新后,为D生成新的ID,记为ID′D,然后计算出D的新的替换密钥KR′D;管理员节点用KRC加密KRX、KRC、KR′C、KR′D,并将加密消息、第二消息和ID′D一并作为更新消息逐级转发给B,再由B转发给C;
C接收到消息后,通过安全芯片计算出D当前的密钥池KD,取出与D的对称密钥KTD,再将KTD输入安全芯片中,通过安全芯片计算出的中间密钥KSD;C用KSD加密更新消息后发送给D;
D接收到C发送的消息后,从自己当前的密钥池里取出对称密钥KTD,进而用自己的替换密钥KRD与KTD计算出KSD,用KSD解密接收到的消息,得到管理员节点发出的更新消息;
D用更新消息中的ID′D更新自己现有的ID,然后用KRD解密更新消息中的加密消息,得到KRX、KRC、KR′C、KR′D;然后,D更新自己的密钥池:
向自己的安全芯片输入KR′D和KD,通过安全芯片中的密钥池计算函数的逆函数倒推出C的密钥池KC,再按照同样方法依次倒推出KX、KB;然后用KB和KR′C计算出C的新密钥池K′C;进而用K′C和KR′D计算出自己的新的密钥池K′D;
最后,安全芯片输出K′D,D更新自己的替换密钥为KR′D,更新自己的密钥池为K′D;
若D还存在子节点,则以此类推,更新D的子节点的替换密钥和密钥池。
可选的,管理员节点的安全芯片内还存储有管理员私钥,而其余节点的安全芯片中则存储有相应的管理员公钥;
管理员在下发更新消息时,还要用自己的私钥对更新消息进行签名,然后将签名和更新消息一并下发;
而节点在接收到签名和更新消息后,用管理员公钥验证签名之后,信任接收到的更新消息。
可选的,所述从密钥池中取出对称密钥的具体步骤如下:
对于一个N比特的对称密钥,首先生成一个明文消息;
再根据所述明文消息计算出初始位置指针,然后用初始位置指针与明文消息计算第一个步长,再用第一个步长与明文消息计算第二个步长,以此类推,共计算出N个步长;
用初始位置指针与第一个步长计算出对称密钥的第一位密钥指针,然后用第一位密钥指针与第二个步长计算出第二位随机码指针,以此类推,共计算出N位密钥指针;根据每一位密钥指针从密钥池中取出相应的密钥数据,组成对称密钥。
通过这样的对称密钥提取方式,可以实现群组中各个成员在仅存储有限长度密钥池的前提下,增加对称密钥的多样性和多变性,进一步增加群组通信密钥被破解的难度。
可选的,在通过对称密钥加密所要发送的消息时,还用对称密钥计算消息认证码以用于通信双方的身份校验。以确保正在通信的对象就是所要通信的对象。
可选的,所述计算子节点的密钥池的方法包括以下步骤:
将父节点的密钥池等分为多段子密钥,用父节点的每一段子密钥与子节点的替换密钥进行计算,得到子节点的多段子密钥,将子节点的各子密钥按相应的父节点子密钥的序列进行排列,得到子节点的密钥池。
本发明还提出一种基于树结构对称密钥池的群组通信***,所述***包括管理员和群组成员,管理员和群组成员按照所述方法进行通信。
有益效果:
1.本专利基于密钥池的群组通信***中,所有拥有群组密钥池的成员的地位是按等级进行划分的,不同等级的保护措施和密钥池均不同。重要等级成员的保护措施好,不容易被俘获;不重要等级成员的保护措施相对较差或者工作环境更不安全,但由于其密钥池是重要等级成员密钥池经过密钥替换函数计算得到的,因此即使被俘获也影响不大,不会导致整个群组通信***的失效。
2.本专利结合对称密钥池和替换密钥,在群组通信的场景中,进一步增强了对称密钥池的使用安全性,使得在对称密钥池被破解的极端情况下,基于对称密钥池的群组通信的安全性也仍然可以得到保证。因为双方密钥还受到替换密钥的保护,在替换密钥可保证不会被破解的情况下,双方通信不会因为对称密钥池被破解而被破解。
3.本专利基于对称密钥池的取密钥方法为:从密钥池中采用不同的步长逐个取出多个密钥比特,每次步长均不同。在对称密钥池已经被破解的情况下,该种取密钥方式不容易被预测,而且可以通过密钥池更新使得已经被破解的对称密钥池变为无效,安全性高;
4.本专利密钥池更新的方法只需传递少量密钥即可对密钥池进行更新,由于更新密钥的计算量较小,因此密钥池更新需要时间较少;对于群组通信来说,本专利的密钥更新方案的密钥传输量很小,容易实现。
附图说明
图1为本发明实施例中涉及的***结构图;
图2为本发明实施例中在军用数据链场景下的***结构图;
图3为本发明实施例中各层密钥池计算过程;
图4为本发明实施例中KTA获取方式示意图。
具体实施方式
下面将结合附图和具体实施例对本发明作更进一步的说明。但应当理解的是,本发明可以以各种形式实施,以下在附图中出示并且在下文中描述的一些示例性和非限制性实施例,并不意图将本发明限制于所说明的具体实施例。
应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外的实施例。此外,本发明所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤、顺序做出相应修改而不脱离本发明的保护范围。
本发明提出一种基于树结构对称密钥池的群组通信***,在本***中,包括管理员节点在内的各个节点形成的树结构,在树结构中,管理员节点为等级最高的父节点(即树结构的根节点),我们把管理员节点称为第0层节点,管理员节点以下的各层节点称为第一层节点、第二层节点……,图1为树结构的一种示例。
本发明可适用于任何群组通信***,比如,在一种军用数据链场景下,各节点的分布如图2所示,管理员节点可以是指挥中心,第1层节点可以是指挥机,第2层节点可以是无人机、无人车或单兵节点等。
在通信群组中,本专利假设所有成员拥有当前群组的ID列表,且每个ID内带有该ID的层数。层数越小,安全保护措施越好,被敌方俘获的可能性越小。
本专利中基于树结构的对称密钥池,各层密钥池计算过程如图3所示。管理员拥有自己的替换密钥和密钥池。管理员以下每一个节点都存储有自己的替换密钥和密钥池。
整个树结构中,子节点与父节点的满足以下关系:
子节点的替换密钥是基于父节点的替换密钥和子节点自己的ID计算来的,也就是KR子=FKRID(ID子,KR父),FKRID是不可逆函数,表示用KR父加密ID子。FKRID优选为消息认证码即MAC函数,或哈希函数。
子节点的密钥池是基于父节点的密钥池和子节点的替换密钥计算得到的,即
K子=FKR(K父,KR子)
FKRID及计算出的替换密钥本身均存储在本地安全存储芯片如TPM/TCM中,具有抗拆解功能,无法被第三方拆解获取。FKRID、FKR和位于安全芯片内,FKRID和没有输出接口。也就是说,节点的安全芯片仅可以根据输入的参数计算出子节点的替换密钥和父节点的密钥池,但是计算出的替换密钥和父节点密钥池都是不输出给节点的,安全芯片只输出子节点的密钥池(管理员节点除外,因为管理员掌握所有安全存储芯片的PIN码,可以执行密钥导入导出操作),节点本身不知道怎么计算出父节点的密钥池(只能使用安全芯片的计算结果,但是不能获得其计算结果);普通节点的安全存储芯片内还存有管理员节点的公钥PK0;管理员节点安全存储芯片内还存有管理员节点的私钥SK0。
基于上述原理,本实施例中为每一层节点分发密钥池的过程如下:
将父节点的密钥池平均分割为多段子密钥,对每一段子密钥计算更新密钥,计算公式为:
K子-m=FKR(K父-m,KR子)
其中,K父-m为父节点密钥池的第m段子密钥,K子-m为子节点的第m段子密钥;
将计算出的每一段K子-m按照序号m排列,则得到子节点的密钥池。
逐层计算各个节点的密钥池,直至群组中所有节点都分配到密钥池。
为进一步阐述本发明的原理,下面通过结合具体应用场景和具体实施方式详细阐述本发明的实现原理。需要注意的是,应用场景可根据需求设计,并不用于限制本发明保护范围。
以下实施例的群组通信结构符合秘密战线军事斗争的实际情况:每个成员只有一个上级的联系方式,每个上级拥有多个下级的联系方式;下级不可以越级与上级的上级通信;除非下级的上级被捕获,否则上级的上级不会越级与下级通信;平级之间通过共同的上级进行通信。
实施例1:成员可信情况下的群组通信
在成员可信的情况下,群组内任意两个成员A和B之间进行保密通信,这里我们设A存储的替换密钥为KRA,B存储的替换密钥为KRB。由于一个群组中,任意两个节点之间的关系可能是父子关系、兄弟关系或者既不是父子关系也不是兄弟关系,下面我们针对这三种情况分别进行讨论。
情况1.1:具有父子关系的两个节点间的通信
1.1.1:假设父节点为A,子节点为B,群组成员A要发出的消息为NTF,并为该消息生成一个时间戳TNTF。
A首先要计算出B的替换密钥,即KRB=FKRID(IDB,KRA),再根据KRB计算出B的密钥池。
A计算本次群组通信的群组密钥:
A在长度为KPL的B的密钥池中取出密钥KTA,该密钥共N个比特,得到KTA的具体流程如图4所示,文字描述如下:
计算得到KTA的初始位置指针PK=FPK(TNTF)mod KPL,其中,mod表示取模运算。依次计算步长:LK1=FLK(PK||TNTF),LK2=FLK(LK1||TNTF),LK3=FLK(LK2||TNTF),…,LKN=FLK(LKN-1||TNTF)。函数FPK(*)和FLK(*)为任意指定的函数。再依次计算用于提取随机码的指针PK1=PK+LK1 mod KPL,PK2=PK1+LK2 mod KPL,…,PKN=PKN-1+LKN mod KPL。PK1指向KTA的开始位置,也就是第一个比特的位置,PK2指向KTA的第二个比特的位置,以此类推。根据PK1、PK2、...、PKN从密钥池中依次取出对应位置的共N个比特的密钥数据。如超出密钥池大小KPL则利用对KPL取模的方式回到密钥池头部。
A取出KTA后,使用KTA加密NTF得到{NTF}KTA。使用KTA对IDA、TNTF和NTF计算消息认证码得到MAC(IDA||TNTF||NTF,KTA)。将加密的信息、消息认证码连同IDA、TNTF一起发送至B,发送的信息可以表示为IDA||TNTF||{NTF}KTA||MAC(IDA||TNTF||NTF,KTA)。
B收到后,使用同样的方法从自己的密钥池中取出KTA,使用KTA解密{NTF}KTA得到消息NTF,使用KTA对IDA、TNTF和NTF计算消息认证码并与收到的消息认证码进行对比,若两者一致,表示验证通过,验证通过后,信任消息NTF;若果验证不通过,则不信任消息NTF。
1.1.2:假设父节点为A,子节点为B,群组成员B要发出的消息为NTF,并为该消息生成一个时间戳TNTF。
B根据情况1.1.1中的方法在自己的密钥池中取出密钥KTB,发送的信息可以表示为IDB||TNTF||{NTF}KTB||MAC(IDB||TNTF||NTF,KTB)。
A收到后,计算出B的替换密钥,即KRB=FKRID(IDB,KRA),再根据KRB计算出B的密钥池。然后A根据情况1.1.1中的方法在B的密钥池中取出密钥KTB,使用与情况1.1.1中相同的方法对收到的消息进行验证。验证通过后,信任消息NTF;若果验证不通过,则不信任消息NTF。
情况1.2:具有兄弟关系的两个节点间的通信
A和B为兄弟节点,则二者需要通过父节点通信,因此在这种情况下,A和B只需要按照情况1.1所述方式与父节点通信,由父节点实现消息的转发即可。
情况1.3:既不是父子关系也不是兄弟关系的两个节点之间的通信假设A为发送方,B为接收方,A所在的层级比B高。因为群组内各个节点都保存了ID表,所以A可以知道B是在哪一层的哪一个位置,也可以找到B的父节点C,若C的层级还是与A没有关系,那就找C的父节点D,以此类推,直到找到与A有父子关系或是兄弟的节点,假设这个节点为E,则A到B的通信路由为:A→E→D→C→B。A与E根据不同关系采用上述相应的过程进行通信。然后E对A发送的消息进行逐层转发,直到发送给B。E→D→C→B之间都是父子关系,因此都按照情况1.1描述的通信过程进行通信。
实施例2:某成员不可信情况下的群组通信
设群组管理员为节点A,其ID为IDA,替换密钥为KRA;
不可信成员为X,其ID为IDX,替换密钥为KRX;
X的可信上级为B,其ID为IDB,替换密钥为KRB;
X的叶子结点共有NX个,记任意一个为C,其ID分别为IDC,替换密钥为KRC;
由于X可计算得到所有X的叶子节点的对称密钥池,因此所有X的叶子节点的群组通信安全性受到影响。基于此,A将要把X的所有叶子结点转移给X的可信上级B来管理。以C为例,C的父节点改为B后,其ID由原本的IDC替换为ID′C,且ID′C也是唯一的,其替换密钥由KRC更新为KR′C。
下面以C为例,阐述C的ID、替换密钥和密钥池更新的具体步骤如下:
步骤一:可信上级发出消息。
B发现X不可信后,将X不可信的消息逐级发送给管理员节点A。
步骤二:群组管理员宣布不可信成员。
A收到B发送的消息后,宣布X非法,并通知C将父节点改为B。该通知消息为NTF,为该消息生成一个时间戳TNTF。
A为C重新计算一个唯一的ID′C;A逐级计算出B的替换密钥,再根据B的替换密钥计算出C的新的替换密钥KR′C=FKRID(ID′C,KRB);
A逐级计算得到C当前的替换密钥KRC,使用KRC加密KRX和KR′C得到{KR′C||KRX}KRC,表示使用KRC对KR′C和KRX的串接进行对称加密。将{KR′C||KRX}KRC与TNTF、NTF以及ID′C组合得到MSGC=TNTF||NTF||ID′C||{KR′C||KRX}KRC。使用自己的私钥SK0对MSGC签名得到SIGC。
A将MSGC||SIGC逐级发送给B
B使用A的公钥PK0验证SIGC,然后解析得到MSGC。
步骤三:可信上级B宣布不可信成员。
各节点的安全芯片中,还存储有对称密钥转换函数,用于根据子节点的替换密钥和对称密钥生成中间密钥。
对于C,B接收到更新消息后,通过安全芯片计算出C当前的密钥池KC。
B在长度为KPL的密钥池KC中取出密钥KTC,该密钥共N个比特,得到的具体流程如下:
计算得到KTC的初始位置指针PK=FPK(TNTF||KTC)mod KPL,敌方无法破解得到KRC,因此无法预测KTC。依次计算步长:LK1=FLK(PK||TNTF||KRC),LK2=FLK(LK1||TNTF||KRC),LK3=FLK(LK2||TNTF||KRC),…,LKN=FLK(LKN-1||TNTF||KRC)。再依次计算用于提取随机码的指针PK1=PK+LK1 mod KPL,PK2=PK1+LK2 mod KPL,…,PKN=PKN-1+LKN mod KPL。PK1指向KTC的开始位置,也就是第一个比特的位置,PK2指向KTC的第二个比特的位置,以此类推。根据PK1、PK2、…、PKN从密钥池中依次取出对应位置的共N个比特的密钥数据。如超出密钥池大小KPL则利用对KPL取模的方式回到密钥池头部。
获取KTC后,通过安全芯片计算KSC=FKS(KTC,KRC),FKS优选为MAC算法。
B使用KSC加密MSGC||SIGC,连同IDB和TNTF发送至C,同时发送的还有使用KSC对该消息计算的消息认证码。发送的消息可表示为MBC=IDB||TNTF||{MSGC||SIGC}KSC||MAC(IDB||TNTF||MSGC||SIGC,KSC)
C收到MBC后,根据收到的TNTF和本地存储的替换密钥KRC从自己的密钥池中提取KTC,再计算KSC=FKS(KTC,KRC)。使用KSC解密MBC中的{MSGC||SIGC}KSC,并验证消息认证码。验证通过后,使用PK0验证SIGC,验证通过后,信任MSGC。
C使用KRC解密{KR′C||KRX}KRC得到KR′C和KRX,C用更新消息中的ID′C更新自己现有的ID,将KR′C存入本地安全存储芯片中作为新的替换密钥,并且以B为新的上级节点。然后,C更新自己的密钥池:
对于密钥池的每一段密钥KC-m,C执行密钥替换,步骤如下:
1.取出密钥池的一段密钥KC-m输入安全芯片;
3.安全芯片将K′C-m输出给节点C,作为C的密钥池的一段密钥。
采用上述步骤1至5更新C的每一段密钥,C对自己的原密钥池进行完全替换成功后,向B发送密钥池更新成功消息。B收到后,确认C为新的下级节点,该节点的ID及对应的替换密钥分别为ID′C、KR′C。
步骤四:可信下级更新ID及替换密钥。
如C还有下级D,则D的ID、替换密钥和密钥池更新的具体流程为:
A为D重新计算一个唯一的ID,记为ID′D,然后为ID′D计算一个新的替换密钥KR′D,再计算出D当前的替换密钥KRD,用KRD加密KR′D、KRX、KRC、KR′C,得到{KR′D||KRX||KRC||KR′C}KRD,然后把ID′D、TNTF、NTF连同{KR′D||KRX||KRC||KR′C}KRD一起作为MSGD,即MSGD=TNTF||NTF||ID′D||{KR′D||KRX||KRC||KR′C}KRD,A对MSGD签名得到SIGD=SIGN(MSGD,SK0);然后A将MSGD||SIGD发送给B。
使用步骤三中的方法,B将MSGD||SIGD发送给C,C接收到消息后,通过安全芯片计算出D当前的密钥池KD,取出与D的对称密钥KTD,再将KTD输入安全芯片中,通过安全芯片计算出的中间密钥KSD;C用KSD加密更新消息后发送给D。
D接收到C发送的消息后,从自己当前的密钥池里取出对称密钥KTD,进而用自己的替换密钥KRD与KTD计算出KSD,用KSD解密接收到的消息,得到管理员节点发出的MSGD||SIGD。
D使用PK0验证SIGD。验证通过后,D将自己的ID更换为ID′D,并以C为新的上级节点。使用KRD解密{KR′D||KRX||KRC||KR′C}KRD得到KR′D、KRX、KRC、KR′C。
对于密钥池的每一段密钥KD-m,节点D执行密钥替换,步骤如下:
1.取出密钥池的一段密钥KD-m输入安全芯片;
2.安全芯片进行以下计算:使用KRD计算得到与C密钥池对应位置相等的密钥使用KRC计算得到与X密钥池对应位置相等的密钥使用KRX计算得到与B密钥池对应位置相等的密钥使用KR′C计算得到K′C=FKR(KB-m,KR′C);计算得到KD-m的更新值:K′D-m=FKR(K′C,KR′D);
3.安全芯片将K′D-m输出给节点D,作为节点D密钥池的一段密钥。
节点D对自己的原密钥池进行完全替换成功后,再按照实施例1中所述方法给C发送成功消息。C收到后,确认D为新的下级节点,该节点的ID及对应的替换密钥分别为ID′D、KR′D。
实施例3:新增可信成员的群组通信。
设群组管理员为A,新增可信成员为Y,Y的上级节点为B。A根据Y的层号及节点号,为Y分配对应替换密钥以及对称密钥池。
A生成用于宣布Y合法的消息为NTF,A通过情况1.1的方法逐级将NTF发送至B。B收到NTF后,获取新增成员Y合法的消息。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1.基于树结构对称密钥池的群组通信方法,其特征在于,包括以下步骤:
(1)以管理员为根节点,以普通群组成员为其余节点,构建群组通信树;
(2)为所述通信树中的每个节点分配唯一的ID;每个节点配置有记载所有节点ID和位置的ID表;
(3)为每个节点分配密钥池和替换密钥;其中,子节点的替换密钥由替换密钥计算函数联合计算父节点的替换密钥和子节点的ID得到;子节点的密钥池由密钥池计算函数联合计算父节点的密钥池和子节点的替换密钥得到;替换密钥计算函数为不可逆函数,密钥池计算函数为可逆函数;各节点部署有安全芯片,安全芯片中存储有替换密钥计算函数、密钥池计算函数及其逆函数,除了管理员节点,其余节点的替换密钥计算函数和密钥池计算函数的逆函数仅在安全芯片中使用,不可被本节点读取;
(4)群组中,任意两个节点之间按照以下方式进行保密通信:
方式1、两个节点为父子关系:父节点向自己的安全芯片输入子节点ID、自己的替换密钥和密钥池,获得安全芯片输出的子节点密钥池;父、子节点从子节点的密钥池中取出对称密钥进行保密通信;
方式2、两个节点为兄弟关系:兄弟节点通过父节点进行消息转发实现通信;
方式3、两个节点既不是父子关系也不是兄弟关系:从低等级节点一侧逐级向上找,直到找到一个中间节点能够与高等级节点满足父子关系或兄弟关系;高等级节点与中间节点按照方式1或2进行通信,中间节点与低等级节点之间通过逐级计算对称密钥并转发消息进行通信,最终实现高等级节点与低等级节点之间的保密通信。
2.根据权利要求1所述的基于树结构对称密钥池的群组通信方法,其特征在于,还包括以下步骤:
当群组中新增可信成员Y时,管理员为Y分配ID,并更新所有节点的ID表;然后按照步骤(3)所述方法,为Y分配替换密钥和密钥池;
管理员生成用于描述Y合法的第一消息,并按照步骤(4)所述方法将第一消息逐级传递给Y在群组中的父节点。
3.根据权利要求1或2所述的基于树结构对称密钥池的群组通信方法,其特征在于,还包括以下步骤:
当群组中的某个节点B发现自己的子节点X不可信时,则B将X不可信的消息逐级传递给管理员节点;
管理员节点生成用于描述X不可信和通知X的子节点将父节点更换为B的第二消息;对于X的每个子节点C,管理员节点为C生成新的ID,记为ID′C,然后计算出X当前的替换密钥KRX、C当前的替换密钥KRC、C以B为父节点的替换密钥KR′C;管理员节点用KRC加密KRX和KR′C,并将加密消息、第二消息和ID′C一并作为更新消息逐级转发给B;
除管理员节点以外的各节点的安全芯片中,还存储有对称密钥转换函数,用于根据子节点的替换密钥和对称密钥生成中间密钥;
B接收到更新消息后,通过安全芯片计算出C当前的密钥池KC,取出与C的对称密钥KTC,再将KTC输入安全芯片中,通过安全芯片计算出的中间密钥KSC;B用KSC加密更新消息后发送给C;
C接收到B发送的消息后,从自己当前的密钥池里取出对称密钥KTC,进而用自己的替换密钥KRC与KTC计算出KSC,用KSC解密接收到的消息,得到管理员节点发出的更新消息;
C用更新消息中的ID′C更新自己现有的ID,然后用KRC解密更新消息中的加密消息,得到KRX和KR′C;然后,C更新自己的密钥池:
向自己的安全芯片输入KR′C和KC,通过安全芯片中的密钥池计算函数的逆函数倒推出X的密钥池KX,再按照同样方法倒推出B的密钥池KB,然后用KB和KR′C计算出新的密钥池K′C;最后,安全芯片输出K′C,C更新自己的替换密钥为KR′C,更新自己的密钥池为K′C并且以B为新的上级节点。
4.根据权利要求3所述的基于树结构对称密钥池的群组通信方法,其特征在于,若节点C还存在子节点D,则D的替换密钥和密钥池更新方式如下:
管理员节点在C完成更新后,为D生成新的ID,记为ID′D,然后计算出D的新的替换密钥KR′D;管理员节点用KRD加密KRX、KRC、KR′C、KR′D,并将加密消息、第二消息和ID′D一并作为更新消息逐级转发给B,再由B转发给C;
C接收到消息后,通过安全芯片计算出D当前的密钥池KD,取出与D的对称密钥KTD,再将KTD输入安全芯片中,通过安全芯片计算出的中间密钥KSD;C用KSD加密更新消息后发送给D;
D接收到C发送的消息后,从自己当前的密钥池里取出对称密钥KTD,进而用自己的替换密钥KRD与KTD计算出KSD,用KSD解密接收到的消息,得到管理员节点发出的更新消息;
D用更新消息中的ID′D更新自己现有的ID,然后用KRD解密更新消息中的加密消息,得到KRX、KRC、KR′C、KR′D;然后,D更新自己的密钥池:
向自己的安全芯片输入KR′D和KD,通过安全芯片中的密钥池计算函数的逆函数倒推出C的密钥池KC,再按照同样方法依次倒推出KX、KB;然后用KB和KR′C计算出C的新密钥池K′C;进而用K′C和KR′D计算出自己的新的密钥池K′D;
最后,安全芯片输出K′D,D更新自己的替换密钥为KR′D,更新自己的密钥池为K′D;
若D还存在子节点,则以此类推,更新D的子节点的替换密钥和密钥池。
5.根据权利要求3或4所述的基于树结构对称密钥池的群组通信方法,其特征在于,管理员节点的安全芯片内还存储有管理员私钥,而其余节点的安全芯片中则存储有相应的管理员公钥;
管理员在下发更新消息时,还要用自己的私钥对更新消息进行签名,然后将签名和更新消息一并下发;
而节点在接收到签名和更新消息后,用管理员公钥验证签名之后,信任接收到的更新消息。
6.根据权利要求5所述的基于树结构对称密钥池的群组通信方法,其特征在于,所述从密钥池中取出对称密钥的具体步骤如下:
对于一个N比特的对称密钥,首先生成一个明文消息;
再根据所述明文消息计算出初始位置指针,然后用初始位置指针与明文消息计算第一个步长,再用第一个步长与明文消息计算第二个步长,以此类推,共计算出N个步长;
用初始位置指针与第一个步长计算出对称密钥的第一位密钥指针,然后用第一位密钥指针与第二个步长计算出第二位随机码指针,以此类推,共计算出N位密钥指针;根据每一位密钥指针从密钥池中取出相应的密钥数据,组成对称密钥。
7.根据权利要求6所述的基于树结构对称密钥池的群组通信方法,其特征在于,在通过对称密钥加密所要发送的消息时,还用对称密钥计算消息认证码以用于通信双方的身份校验。
8.根据权利要求7所述的基于树结构对称密钥池的群组通信方法,其特征在于,所述计算子节点的密钥池的方法包括以下步骤:
将父节点的密钥池等分为多段子密钥,用父节点的每一段子密钥与子节点的替换密钥进行计算,得到子节点的多段子密钥,将子节点的各子密钥按相应的父节点子密钥的序列进行排列,得到子节点的密钥池。
9.基于树结构对称密钥池的群组通信***,其特征在于,所述***包括管理员和群组成员,管理员和群组成员按照权利要求1至8任意一项所述方法进行通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010942344.XA CN114244499B (zh) | 2020-09-09 | 2020-09-09 | 基于树结构对称密钥池的群组通信方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010942344.XA CN114244499B (zh) | 2020-09-09 | 2020-09-09 | 基于树结构对称密钥池的群组通信方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114244499A true CN114244499A (zh) | 2022-03-25 |
CN114244499B CN114244499B (zh) | 2023-09-26 |
Family
ID=80742757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010942344.XA Active CN114244499B (zh) | 2020-09-09 | 2020-09-09 | 基于树结构对称密钥池的群组通信方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114244499B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117097488A (zh) * | 2023-10-19 | 2023-11-21 | 成都理工大学 | 基于节点寻路的设备群组安全验证方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050271210A1 (en) * | 2002-03-27 | 2005-12-08 | Andrea Soppera | Key management protocol |
US20110249816A1 (en) * | 2010-04-08 | 2011-10-13 | The Industry & Academic Cooperation In Chungnam National University (Iac) | Hybrid key management method for robust scada systems and session key generation method |
CN108768632A (zh) * | 2018-05-29 | 2018-11-06 | 如般量子科技有限公司 | 一种基于对称密钥池和中继通信的aka身份认证***和方法 |
CN109510707A (zh) * | 2019-01-16 | 2019-03-22 | 北京交通大学 | 基于树状结构模型的群组密钥管理方法 |
CN110166258A (zh) * | 2019-06-21 | 2019-08-23 | 郑州轻工业学院 | 基于隐私保护和属性认证的群组密钥协商方法 |
-
2020
- 2020-09-09 CN CN202010942344.XA patent/CN114244499B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050271210A1 (en) * | 2002-03-27 | 2005-12-08 | Andrea Soppera | Key management protocol |
US20110249816A1 (en) * | 2010-04-08 | 2011-10-13 | The Industry & Academic Cooperation In Chungnam National University (Iac) | Hybrid key management method for robust scada systems and session key generation method |
CN108768632A (zh) * | 2018-05-29 | 2018-11-06 | 如般量子科技有限公司 | 一种基于对称密钥池和中继通信的aka身份认证***和方法 |
CN109510707A (zh) * | 2019-01-16 | 2019-03-22 | 北京交通大学 | 基于树状结构模型的群组密钥管理方法 |
CN110166258A (zh) * | 2019-06-21 | 2019-08-23 | 郑州轻工业学院 | 基于隐私保护和属性认证的群组密钥协商方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117097488A (zh) * | 2023-10-19 | 2023-11-21 | 成都理工大学 | 基于节点寻路的设备群组安全验证方法 |
CN117097488B (zh) * | 2023-10-19 | 2023-12-19 | 成都理工大学 | 基于节点寻路的设备群组安全验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114244499B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218018B (zh) | 一种基于身份的无人机密钥管理与组网认证***及方法 | |
CN104363215B (zh) | 一种基于属性的加密方法和*** | |
US9084112B2 (en) | Secure group key agreement for wireless networks | |
CN102356597B (zh) | 用于在网络中安全通信的方法、及其通信设备、网络 | |
CN111918285B (zh) | 基于id密码学的抗量子计算群组通信方法及*** | |
KR20110004870A (ko) | 암호 수단을 분배하는 방법 | |
CN112187450B (zh) | 密钥管理通信的方法、装置、设备及存储介质 | |
Alghamdi et al. | Reliable and secure end-to-end data aggregation using secret sharing in wsns | |
CN112019331A (zh) | 一种用于量子保密通信的加解密方法及*** | |
Asaad et al. | Adaptive security approach for wireless sensor network using RSA algorithm | |
CN114362928B (zh) | 一种用于多节点间加密的量子密钥分发与重构方法 | |
CN114244499A (zh) | 基于树结构对称密钥池的群组通信方法及*** | |
CN109714362B (zh) | 一种轻量级的工业无线网络安全数据融合方法 | |
Tata et al. | Secure multipath routing algorithm for device-to-device communications for public safety over LTE heterogeneous networks | |
CN1917422A (zh) | 一种降低manet网络密钥管理计算量的实现方法 | |
CN114980037A (zh) | 基于分层结构非对称密钥池的群组通信方法和*** | |
CN110113344A (zh) | 一种基于分布式加密的海上多移动平台身份识别方法 | |
CN102624748B (zh) | 一种对等网络的访问控制方法 | |
Xiong et al. | A cloud based three layer key management scheme for VANET | |
Verma et al. | DNA cryptography: a novel paradigm for secure routing in Mobile Ad hoc Networks (MANETs) | |
CN114079877B (zh) | 基于分层结构对称密钥池的群组通信方法及*** | |
CN102404731A (zh) | 基于加密参量表的无线传感器网络动态加密方法 | |
CN115001723A (zh) | 基于树结构和非对称密钥池的群组通信方法及*** | |
Altisen et al. | SR3: secure resilient reputation-based routing | |
CN115037448A (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 |