CN117749355A - 一种通信方法及相关装置 - Google Patents
一种通信方法及相关装置 Download PDFInfo
- Publication number
- CN117749355A CN117749355A CN202311484258.9A CN202311484258A CN117749355A CN 117749355 A CN117749355 A CN 117749355A CN 202311484258 A CN202311484258 A CN 202311484258A CN 117749355 A CN117749355 A CN 117749355A
- Authority
- CN
- China
- Prior art keywords
- key
- node
- group
- communication
- message
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 722
- 238000004891 communication Methods 0.000 title claims abstract description 717
- 238000000034 method Methods 0.000 title claims abstract description 159
- 238000004422 calculation algorithm Methods 0.000 claims description 333
- 230000011664 signaling Effects 0.000 claims description 86
- 238000004590 computer program Methods 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 10
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 abstract 1
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 abstract 1
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 abstract 1
- 230000007774 longterm Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 73
- 238000009795 derivation Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 230000004044 response Effects 0.000 description 19
- 101100282746 Oryza sativa subsp. japonica GID1 gene Proteins 0.000 description 9
- 101100156295 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) VID30 gene Proteins 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 102100020960 E3 ubiquitin-protein transferase RMND5A Human genes 0.000 description 6
- 101000854471 Homo sapiens E3 ubiquitin-protein transferase RMND5A Proteins 0.000 description 6
- 101000854467 Homo sapiens E3 ubiquitin-protein transferase RMND5B Proteins 0.000 description 6
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 5
- 101150115300 MAC1 gene Proteins 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 3
- 102100039558 Galectin-3 Human genes 0.000 description 3
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 3
- 101150051246 MAC2 gene Proteins 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- TXFOLHZMICYNRM-UHFFFAOYSA-N dichlorophosphoryloxybenzene Chemical compound ClP(Cl)(=O)OC1=CC=CC=C1 TXFOLHZMICYNRM-UHFFFAOYSA-N 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 101100289995 Caenorhabditis elegans mac-1 gene Proteins 0.000 description 1
- 102100028650 Glucose-induced degradation protein 4 homolog Human genes 0.000 description 1
- 101001058369 Homo sapiens Glucose-induced degradation protein 4 homolog Proteins 0.000 description 1
- 101000644682 Homo sapiens Ubiquitin-conjugating enzyme E2 H Proteins 0.000 description 1
- 102100020698 Ubiquitin-conjugating enzyme E2 H Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 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/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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- 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/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/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/3236—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 using cryptographic hash functions
- H04L9/3242—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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Abstract
本申请实施例提供一种通信方法及相关装置,应用于支持短距离通信的节点中,例如蓝牙或者车载短距通信系统中,该方法包括:接收来自第二节点的关联请求消息;确定第一通信组的组密钥,其中,第一通信组为第二节点所在的通信组;基于第一节点与第二节点之间的共享密钥对第一通信组的组密钥进行加密,得到第一保护密钥;向第二节点发送第一关联建立消息,该第一关联建立消息包括第一保护密钥。采用本申请实施例,能够提高组播通信的安全性。该方案进一步可用于提升自动驾驶或高级驾驶辅助系统ADAS能力,可应用于车联网,例如车辆外联V2X、车间通信长期演进技术LTE‑V、车辆‑车辆V2V等。
Description
本申请是分案申请,原申请的申请号是202080103262.4,原申请日是2020年08月28日,原申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及车载设备技术领域,尤其涉及一种密封装置、发光装置、灯具、投影装置及终端。
背景技术
在信息化飞速发展的今天,通信技术已经深入了人们的生活。节点的通信过程中,存在有单播、广播、组播三种通信方式。
单播是相互感兴趣的节点双方进行通信的方式,属于点对点通信。广播是节点向子网内所有节点发送消息,属于点对多点的通信。组播则介于两者之间,某一节点(例如称为第一节点)向某一通信组中的节点发送消息,存在于该通信组的节点都可以接收到消息,属于点对多点通信。组播技术是计算机网络中的关键技术之一,无论在应用层,网络层还是媒体接入层,组播都得到了广泛的应用,例如媒体广播、多方会议、阵列探测等等。
在通信过程中,为了防止数据泄露、保护通信安全,需要对通信过程中的消息进行安全保护。单播消息的加密可以通过单播密钥来实现,两个节点之间可以建立一对私有临时密钥(Private Temporary Key,PTK)来保证一对一的单播安全。单播消息需要保护,组播消息也需要保护,只有通信组中的组成员知道加密和解密用的组密钥,这样才能够确保只有组成员才能解读被加密的报文,非组成员无法获得报文内容,保护组播通信的安全性。
对组播消息的保护依赖于组密钥,因此对组密钥的保护至关重要。对于通信系统来说,组密钥泄露使得攻击者可以通过组密钥接收组内消息,导致数据泄漏,使得用户隐私及安全受到威胁。尤其对于车载通信系统,这种情况容易造成车辆的重要数据泄露、或者车辆与窃取了组密钥的节点进行通信,危及车辆安全。
可以看出,如何保护组密钥的私密性、提高组播通信过程中的安全性是本领域技术人员正在研究的技术问题。
发明内容
本申请实施例公开了一种通信方法及相关装置,能够保护组密钥的私密性,提高组播通信过程中的安全性。
第一方面,本申请实施例公开了一种通信方法,包括:
接收来自第二节点的关联请求消息;
确定第一通信组的组密钥,其中,所述第一通信组为所述第二节点所在的通信组;所述第一通信组的组密钥为根据第一新鲜性参数和所述第一通信组的标识ID中的至少一项得到的;
基于第一节点与所述第二节点之间的共享密钥对所述第一通信组的组密钥进行加密,得到第一保护密钥;
向所述第二节点发送第一关联建立消息,其中,所述第一关联建立消息包括所述第一保护密钥。
上述方法中,在接收来自第二节点的关联请求后,可以确定第二节点所在的第一通信组的组密钥,然后使用第一节点与第二节点的共享密钥对组密钥进行加密得到第一保护密钥,将第一保护密钥携带在关联建立消息中发送给第二节点。可以看出,由于关联建立消息中携带的保护密钥是通过共享密钥对组密钥进行加密得到的,因此无论第一关联建立消息是否被加密,都可以保护组密钥的私密性。这样一来,第一节点与第一通信组进行组播通信时,可以使用该组密钥对组播消息进行加密,从而对组播消息进行保护,避免非组成员获得通信内容,提高了组播通信的安全性。
进一步的,第一节点可以在关联建立消息中将组密钥通过保护密钥发送给第二节点,将组密钥的分发流程融合在第一节点与第二节点建立关联的流程中,因此不需要额外的密钥分发的流程,节省了网络资源的开销,提高了组播通信的效率。
在第一方面的一种可能的实施方法中,所述第一节点和所述第二节点共享所述共享密钥。
可以看出,共享密钥是第一节点与第二节点之间共享的一个秘密值,共享密钥可以是双方通过相同的密钥获取方法生成的,也可以是在双方节点中预先定义或者预先配置的,还可以是一个可信设备分别发送给第一节点和第二节点的。例如,第一节点和第二节点可以通过交换公钥生成密钥S,第一节点生成的密钥S与第二节点生成的密钥S的值是相同的,因此密钥S可以作为第一节点与第二节点之间的共享密钥。此外,还可以根据原有的共享密钥通过密钥派生算法KDF得到其他的密钥,由于第二节点与第二节点进行派生密钥的方法可以是相同的,因此根据共享密钥派生得到的密钥也是共享密钥。
在第一方面的一种可能的实施方法中,所述基于第一节点与所述第二节点之间的共享密钥对所述第一通信组的组密钥进行加密,得到第一保护密钥,包括:
基于第一节点与所述第二节点之间的所述共享密钥和第二新鲜性参数对所述第一通信组的组密钥进行加密,得到所述第一保护密钥。
上述说明了一种加密的方法,由于新鲜性参数的值是不同的,使得每一次加密第一通信组的组密钥得到的第一保护密钥也是不同的,从而提高了组密钥的私密性。
在第一方面的又一种可能的实施方法中,所述基于第一节点与所述第二节点之间的共享密钥对所述第一通信组的组密钥进行加密,得到第一保护密钥,包括:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;
通过第一中间密钥对第一通信组的组密钥进行加密,得到第一保护密钥。
上述说明了又一种加密的方法,第一节点通过共享密钥和第二新鲜性参数生成第一中间密钥,通过第一中间密钥进行对组密钥加密。
在第一方面的又一种可能的实施方法中,所述基于第一节点与所述第二节点之间的共享密钥对所述第一通信组的组密钥进行加密,得到第一保护密钥,包括:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;所述第一KDF属于所述第二节点支持的KDF;
将所述第一中间密钥和所述第一通信组的组密钥执行异或处理,得到所述第一保护密钥。
上述说明了又一种加密的方法,第一节点通过共享密钥和第二新鲜性参数生成第一中间密钥,由于进行两次异或处理后可以得到原本的值,因此第一节点将第一中间密钥与第一通信组的组密钥进行异或。进一步可选的,第二节点接收第一保护密钥后,通过共享密钥和第二新新鲜性参数的值生成相同的第一中间密钥,将第一中间密钥和第一保护密钥进行异或处理则可以得到第一通信组的密钥。
在第一方面的又一种可能的实施方法中,所述共享密钥为所述第一节点与所述第二节点之间的加密密钥,所述第二新鲜性参数为随机数;所述第一关联建立消息中包括所述第二新鲜性参数。
上述说明了共享密钥与新鲜性参数的可能情况,第一节点与第二节点之间的加密密钥可以是共享的,因此可以通过第一节点与第二节点之间的加密密钥对组密钥进行加密。第二新鲜性参数可以为随机数(number once,NONCE)。其中,NONCE是一个只被使用一次的(或者说非重复的)随机数值。该第二新鲜性参数可以在第一关联建立消息中发送给第二节点,便于第二节点根据该第二新鲜性参数解密第一保护密钥,得到第一通信组的组密钥。
在第一方面的又一种可能的实施方法中,所述第二新鲜性参数为第一计数器的值,所述第一计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。
上述说明了新鲜性参数的可能情况,第二新鲜性参数可以为第一计数器的值,第一计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。这样一来,每次使用共享密钥对组密钥进行加密时,使用的计数器的值都是不同的,使得每一次加密相同的第一通信组的组密钥得到的第一保护密钥也是不同的,从而提高了组密钥的私密性。
在第一方面的又一种可能的实施方法中,所述确定第一通信组的组密钥,包括:
根据所述第一通信组的ID确定所述第一通信组的组密钥,所述第一通信组的ID与所述第一通信组的组密钥之间存在对应关系;
或者,根据所述第一新鲜性参数和所述第一通信组的ID中的至少一项,通过第二KDF生成所述第一通信组的组密钥。
上述说明了确定第一通信组的组密钥的方式,一方面,第一通信组的ID与组密钥之间存在对应关系,因此可以根据通信组的ID确定通信组的组密钥。另一方面,可以通过KDF生成第一通信组的组密钥。进一步的可选的,若第一通信组的ID没有对应的组密钥(例如新创建了一个通信组时),则可以通过KDF生成第一通信组的组密钥。
在第一方面的又一种可能的实施方法中,所述方法还包括:
确定组安全算法,所述组安全算法属于所述第一通信组中的节点支持的算法;其中,所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项;
所述第一关联建立消息中还包括用于指示所述组安全算法的信息。
可以看出,第一关联建立消息中还包括组安全算法,该安全算法是在组内所有节点均支持的算法中确定的。
在第一方面的又一种可能的实施方法中,所述组安全算法为第一通信组中的节点支持的算法中优先级最高的算法;
或者,所述确定组安全算法,包括:
根据算法选择策略确定所述组安全算法,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。
在第一方面的又一种可能的实施方法中,所述组安全算法包括第三KDF算法,所述方法还包括:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
可以看出,使用组KDF算法,根据会话密钥类型可以从组密钥推演出会话密钥,用于会话过程中的加密。
在第一方面的又一种可能的实施方法中,所述密钥类型包括信令面加密密钥、用户面加密密钥、信令面完保密钥或者用户面完保密钥中的一个或者多个;或者,所述会话密钥的类型对应所述会话密钥应用的场景。
在第一方面的又一种可能的实施方法中,所述基于第一节点与所述第二节点之间的共享密钥对所述第一通信组的组密钥进行加密,得到保护密钥之前,还包括:
确认所述第一节点与所述第二节点之间的信令面消息不开启加密。
在第一方面的又一种可能的实施方法中,所述方法还包括:
若所述第一节点与所述第二节点之前的信令面消息开启加密,则向所述第二节点发送第二关联建立消息,其中,所述第二关联建立消息中包括第一通信组的组密钥;所述第二关联建立消息属于所述第一节点与所述第二节点之间的信令面消息。
可以看出,对与信令面加密开启和关闭两种场景,可以使用不同的保护方法。具体地,若确定信令面的消息开启加密,对于信令面开启加密时,可以不对组密钥进行加密,而是通过信令面的消息的加密对组密钥进行保护,避免额外的加密数据计算,提高了组密钥分发的效率。
在第一方面的又一种可能的实施方法中,所述方法包括:
确定满足更新所述第一通信组的组密钥的条件;
根据第三新鲜性参数和第一通信组的标识ID中的至少一项确定第一密钥;
基于所述第一节点与第二节点之间的共享密钥对所述第一密钥进行加密,得到第二保护密钥;
向所述第二节点发送密钥更新消息,所述密钥更新消息包括所述第二保护密钥。
在第一方面的又一种可能的实施方法中,所述第一密钥用于替换所述第一通信组的组密钥。
上述说明了更新组密钥的方式,确定满足更新组密钥的条件后,可以确定第一密钥,将第一密钥使用共享密钥加密后,通过密钥更新消息发送给第二节点。可以看出,由于密钥更新消息中携带的保护密钥是通过共享密钥对第一密钥进行加密得到的,因此无论密钥更新消息是否被加密,都可以保护第一密钥的私密性。可选的,该密钥更新消息可以是第一节点向第一通信组中的第二节点发送的组播消息,还可以是第一节点与第二节点之间的单播消息。进一步的可选的,在密钥更新消息为单播消息的情况下,第一节点还可以向第一通信组的其他第二节点发送单播消息。
在第一方面的又一种可能的实施方法中,所述密钥更新消息还用于指示所述第一密钥的启动时间和所述第一密钥的有效期;所述第一密钥应用于从所述第一密钥的启动时间开始的所述第一密钥的有效期内。
可以看出,密钥更新消息可以指示第一目标密钥的更新时间和/或第一目标密钥的有效期,有利于按需求来决定何时应用第一目标密钥。
在第一方面的又一种可能的实施方法中,所述向所述第二节点发送密钥更新消息之后,还包括:
确定接收到来自属于所述第一通信组中的至少一个第二节点的更新确认消息。
在所述第一密钥的启动时间应用所述第一密钥。
在第一方面的又一种可能的实施方法中,所述确定接收到来自属于所述第一通信组中的至少一个第二节点的更新确认消息,包括:
确定接收到来自属于所述第一通信组中的全部第二节点的更新确认消息。
在第一方面的又一种可能的实施方法中,所述通过所述第一节点与第二节点之间的共享密钥对所述第一密钥进行加密,得到第二保护密钥,包括:
基于第一节点与所述第二节点之间的共享密钥和第四新鲜性参数对所述第一密钥进行加密,得到所述第二保护密钥。
上述说明了一种对第一密钥进行加密的方法,由于新鲜性参数的值是不同的,使得每一次加密第一密钥得到的第二保护密钥也是不同的,从而提高了组密钥的私密性。
在第一方面的又一种可能的实施方法中,所述通过所述第一节点与第二节点之间的共享密钥对所述第一密钥进行加密,得到第二保护密钥,包括:
根据第一节点与所述第二节点之间的共享密钥和第四新鲜性参数,通过第一密钥派生算法KDF生成第二中间密钥;
通过第二中间密钥对第一密钥进行加密,得到第一保护密钥。
在第一方面的又一种可能的实施方法中,所述通过所述第一节点与第二节点之间的共享密钥对所述第一密钥进行加密,得到第二保护密钥,包括:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第二中间密钥;所述第一KDF属于所述第二节点支持的KDF;
将所述第二中间密钥和第一密钥执行异或处理,得到所述第二保护密钥。
在第一方面的又一种可能的实施方法中,所述更新的条件包括:
当前通信帧的帧号与标记帧号的差值大于或者等于第一阈值;其中,所述当前通信帧的帧号与所述标记帧号在同一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述标记帧号与所述当前通信帧的帧号的差值小于或者等于第二阈值;其中,所述当前通信帧的帧号在所述标记帧号的下一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述第一通信组的组密钥的有效期到达或者所述第一通信组的组密钥使用时长到达第三阈值;
或者,所述第一通信组中的至少一个第二节点离开所述第一通信组。
上述说明了更新组密钥的条件,当满足以下条件之一时,可以确定需要更新组密钥:①接入点的组新鲜性参数(比如帧号)即将重复或者反转(或超过反转之前的某个阈值)时;②组密钥有效期到期或者组密钥使用时长超过阈值时;③组内成员发生变动时。
第二方面,本申请实施例公开了一种通信方法,包括:
向第一节点发送关联请求消息;
接收来自所述第一节点的第一关联建立消息,所述第一关联建立消息包括第一保护密钥;
基于所述第一节点与第二节点之间的共享密钥以及所述第一保护密钥,得到第一通信组的组密钥;其中,所述第一通信组为所述第二节点所在的通信组。
在第二方面的一种可能的实施方法中,所述第一节点和所述第二节点共享所述共享密钥。
在第二方面的又一种可能的实施方法中,所述基于所述第一节点与第二节点之间的共享密钥以及所述第一保护密钥,得到第一通信组的组密钥,包括:
基于所述第一节点与第二节点之间的共享密钥和第二新鲜性参数以及所述第一保护密钥,得到第一通信组的组密钥。
在第二方面的又一种可能的实施方法中,所述基于所述第一节点与第二节点之间的共享密钥以及所述第一保护密钥,得到第一通信组的组密钥,包括:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;
基于所述第一中间以及所述第一保护密钥,得到所述第一通信组的组密钥。
在第二方面的又一种可能的实施方法中,所述共享密钥为所述第一节点与所述第二节点之间的加密密钥,所述第二新鲜性参数为随机数;所述第一关联建立消息中包括所述第二新鲜性参数。
在第二方面的又一种可能的实施方法中,所述第二新鲜性参数为第一计数器的值,所述第一计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。
在第二方面的又一种可能的实施方法中,所述第一关联建立消息中还包括用于指示组安全算法的信息;所述组安全算法属于所述第一通信组中的节点支持的算法;所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项。
在第二方面的又一种可能的实施方法中,所述组安全算法为第一通信组中的节点支持的算法中优先级最高的算法;
或者,所述确定组安全算法对应于算法选择策略,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。
在第二方面的又一种可能的实施方法中,所述组安全算法包括第三KDF算法,所述方法还包括:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
在第二方面的又一种可能的实施方法中,所述密钥类型包括信令面加密密钥、用户面加密密钥、信令面完保密钥或者用户面完保密钥中的一个或者多个;或者,所述会话密钥的类型对应所述会话密钥应用的场景。
在第二方面的又一种可能的实施方法中,所述基于所述第一节点与第二节点之间的共享密钥以及所述第一保护密钥,得到第一通信组的组密钥之前,还包括:
确认所述第一节点与所述第二节点之间的信令面消息不开启加密。
在第二方面的又一种可能的实施方法中,所述方法还包括:
接收来自所述第一节点的第二关联建立消息;所述第二关联建立消息包括第一通信组的组密钥;所述第二关联建立消息属于所述第一节点与所述第二节点之间的信令面消息;
若所述第一节点与所述第二节点之前的信令面消息开启加密,则通过所述第一节点与所述第二节点之间的信令面加密密钥以及所述第二关联建立消息,得到所述第一通信组的组密钥。
在第二方面的又一种可能的实施方法中,所述方法还包括:
接收来自所述第一节点的密钥更新消息;其中,所述密钥更新消息包括第二保护密钥;
基于所述第一节点与所述第二节点之间的共享密钥以及所述第二保护密钥,得到第一密钥。
在第二方面的又一种可能的实施方法中,所述第一密钥用于替换所述第一通信组的组密钥。
在第二方面的又一种可能的实施方法中,所述密钥更新消息还用于指示所述第一密钥的启动时间和所述第一密钥的有效期;所述第一密钥应用于从所述第一密钥的启动时间开始的所述第一密钥的有效期内。
在第二方面的又一种可能的实施方法中,所述基于所述第一节点与第二节点之间的共享密钥以及所述第二保护密钥,得到第一密钥之后,所述方法还包括:
向所述第一节点发送更新确认消息;
在所述第一密钥的启动时间应用所述第一密钥。
在第二方面的又一种可能的实施方法中,所述基于所述第一节点与第二节点之间的共享密钥以及所述第二保护密钥,得到第一密钥,包括:
基于第一节点与所述第二节点之间的所述共享密钥和第四新鲜性参数以及所述第二保护密钥,得到所述第一密钥。
第三方面,本申请实施例提供了一种通信装置,所述通信装置包括用于执行第一方面或者第一方面任意一种可能的实施方式所描述的方法的单元。
在第三方面的一种可能的实施方法中,所述装置具体包括:
接收单元,用于接收来自第二节点的关联请求消息;
处理单元,用于确定第一通信组的组密钥,其中,所述第一通信组为所述第二节点所在的通信组;所述第一通信组的组密钥为根据第一新鲜性参数和所述第一通信组的标识ID中的至少一项确定的;
所述处理单元,用于基于第一节点与所述第二节点之间的共享密钥对所述第一通信组的组密钥进行加密,得到第一保护密钥;
发送单元,用于向所述第二节点发送第一关联建立消息,其中,所述第一关联建立消息包括所述第一保护密钥。
在第三方面的又一种可能的实施方法中,所述处理单元,具体用于:
基于第一节点与所述第二节点之间的所述共享密钥和第二新鲜性参数对所述第一通信组的组密钥进行加密,得到所述第一保护密钥。
在第三方面的又一种可能的实施方法中,所述处理单元,具体用于:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;
通过第一中间密钥对第一通信密钥进行加密,得到第一保护密钥。
在第三方面的又一种可能的实施方法中,所述处理单元,具体用于:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;所述第一KDF属于所述第二节点支持的KDF;
将所述第一中间密钥和所述第一通信组的组密钥执行异或处理,得到所述第一保护密钥。
在第三方面的又一种可能的实施方法中,所述共享密钥为所述第一节点与所述第二节点之间的加密密钥,所述第二新鲜性参数为随机数;所述第一关联建立消息中包括所述第二新鲜性参数。
在第三方面的又一种可能的实施方法中,所述第二新鲜性参数为第一计数器的值,所述第一计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。
在第三方面的又一种可能的实施方法中,所述处理单元,具体用于:
根据所述第一通信组的ID确定所述第一通信组的组密钥,所述第一通信组的ID与所述第一通信组的组密钥之间存在对应关系;
或者,根据所述第一新鲜性参数和所述第一通信组的ID中的至少一项,通过第二KDF生成所述第一通信组的组密钥。
在第三方面的又一种可能的实施方法中,所述处理单元,还用于:
确定组安全算法,所述组安全算法属于所述第一通信组中的节点支持的算法;其中,所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项;
所述第一关联建立消息中还包括用于指示所述组安全算法的信息。
在第三方面的又一种可能的实施方法中,所述组安全算法为第一通信组中的节点支持的算法中优先级最高的算法;
或者,所述确定组安全算法,包括:
根据算法选择策略确定所述组安全算法,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。
在第三方面的又一种可能的实施方法中,所述组安全算法包括第三KDF算法,所述处理单元,还用于:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
在第三方面的又一种可能的实施方法中,所述密钥类型包括信令面加密密钥、用户面加密密钥、信令面完保密钥或者用户面完保密钥中的一个或者多个;或者,所述会话密钥的类型对应所述会话密钥应用的场景。
在第三方面的又一种可能的实施方法中,所述处理单元,还用于:
确认所述第一节点与所述第二节点之间的信令面消息不开启加密。
在第三方面的又一种可能的实施方法中,所述第一节点与所述第二节点之间的信令面消息开启加密;所述发送单元,还用于:
向所述第二节点发送第二关联建立消息,其中,所述第二关联建立消息中包括第一通信组的组密钥;所述第二关联建立消息属于所述第一节点与所述第二节点之间的信令面消息。
在第三方面的又一种可能的实施方法中,所述处理单元,还用于确定满足更新所述第一通信组的组密钥的条件;
所述处理单元,还用于根据第三新鲜性参数和第一通信组的标识ID中的至少一项确定第一密钥;
所述处理单元,还用于基于所述第一节点与第二节点之间的共享密钥对所述第一密钥进行加密,得到第二保护密钥;
所述发送单元,还用于向所述第二节点发送密钥更新消息,所述密钥更新消息包括所述第二保护密钥。
在第三方面的又一种可能的实施方法中,所述第一密钥用于替换所述第一通信组的组密钥。
在第三方面的又一种可能的实施方法中,所述密钥更新消息还用于指示所述第一密钥的启动时间和所述第一密钥的有效期;所述第一密钥应用于从所述第一密钥的启动时间开始的所述第一密钥的有效期内。
在第三方面的又一种可能的实施方法中,所述处理单元,还用于:
确定接收到来自属于所述第一通信组中的至少一个第二节点的更新确认消息。
在所述第一密钥的启动时间应用所述第一密钥。
在第三方面的又一种可能的实施方法中,所述处理单元,具体用于:
确定接收到来自属于所述第一通信组中的全部第二节点的更新确认消息。
在第三方面的又一种可能的实施方法中,所述处理单元,具体用于:
基于第一节点与所述第二节点之间的所述共享密钥和第四新鲜性参数对所述密钥进行加密,得到所述第二保护密钥。
在第三方面的又一种可能的实施方法中,所述更新的条件包括:
当前通信帧的帧号与标记帧号的差值大于或者等于第一阈值;其中,所述当前通信帧的帧号与所述标记帧号在同一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述标记帧号与所述当前通信帧的帧号的差值小于或者等于第二阈值;其中,所述当前通信帧的帧号在所述标记帧号的下一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述第一通信组的组密钥的有效期到达或者所述第一通信组的组密钥使用时长到达第三阈值;
或者,所述第一通信组中的至少一个第二节点离开所述第一通信组。
第四方面,本申请实施例提供了一种通信装置,所述通信装置包括用于执行第二方面或者第二方面任意一种可能的实施方式所描述的方法的单元。
在第四方面的一种可能的实施方法中,所述装置具体包括:
发送单元,用于向第一节点发送关联请求消息;
接收单元,用于接收来自所述第一节点的第一关联建立消息,所述第一关联建立消息包括第一保护密钥;
处理单元,用于基于所述第一节点与第二节点之间的共享密钥以及所述第一保护密钥,得到第一通信组的组密钥;其中,所述第一通信组为所述第二节点所在的通信组。
在第四方面的又一种可能的实施方法中,所述第一节点和所述第二节点共享所述共享密钥。
在第四方面的又一种可能的实施方法中,所述处理单元,具体用于:
基于所述第一节点与第二节点之间的共享密钥和第二新鲜性参数以及所述第一保护密钥,得到第一通信组的组密钥。
在第四方面的又一种可能的实施方法中,所述处理单元,具体用于:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;
基于所述第一中间以及所述第一保护密钥,得到所述第一通信组的组密钥。
在第四方面的又一种可能的实施方法中,所述共享密钥为所述第一节点与所述第二节点之间的加密密钥,所述第二新鲜性参数为随机数;所述第一关联建立消息中包括所述第二新鲜性参数。
在第四方面的又一种可能的实施方法中,所述第二新鲜性参数为第一计数器的值,所述第一计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。
在第四方面的又一种可能的实施方法中,所述第一关联建立消息中还包括用于指示组安全算法的信息;所述组安全算法属于所述第一通信组中的节点支持的算法;所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项。
在第四方面的又一种可能的实施方法中,所述组安全算法为第一通信组中的节点支持的算法中优先级最高的算法;
或者,所述确定组安全算法对应于算法选择策略,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。
在第四方面的又一种可能的实施方法中,所述处理单元,还用于:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
在第四方面的又一种可能的实施方法中,所述密钥类型包括信令面加密密钥、用户面加密密钥、信令面完保密钥或者用户面完保密钥中的一个或者多个;或者,所述会话密钥的类型对应所述会话密钥应用的场景。
在第四方面的又一种可能的实施方法中,所述基于所述第一节点与第二节点之间的共享密钥以及所述第一保护密钥,得到第一通信组的组密钥之前,还包括:
确认所述第一节点与所述第二节点之间的信令面消息不开启加密。
在第四方面的又一种可能的实施方法中,所述接收单元,还用于接收来自所述第一节点的第二关联建立消息;所述第二关联建立消息包括第一通信组的组密钥;所述第二关联建立消息属于所述第一节点与所述第二节点之间的信令面消息;
所述处理单元,还用于通过所述第一节点与所述第二节点之间的信令面加密密钥解密所述第二关联建立消息,得到所述第一通信组的组密钥。
在第四方面的又一种可能的实施方法中,所述接收单元,还用于接收来自所述第一节点的密钥更新消息;其中,所述密钥更新消息包括第二保护密钥;
所述处理单元,还用于基于所述第一节点与所述第二节点之间的共享密钥以及所述第二保护密钥,得到第一密钥。
在第四方面的又一种可能的实施方法中,所述第一密钥用于替换所述第一通信组的组密钥。
在第四方面的又一种可能的实施方法中,所述密钥更新消息还用于指示所述第一密钥的启动时间和所述第一密钥的有效期;所述第一密钥应用于从所述第一密钥的启动时间开始的所述第一密钥的有效期内。
在第四方面的又一种可能的实施方法中,所述处理单元,还用于:
向所述第一节点发送更新确认消息;
在所述第一密钥的启动时间应用所述第一密钥。
在第四方面的又一种可能的实施方法中,所述处理单元,具体用于:
基于第一节点与所述第二节点之间的所述共享密钥和第四新鲜性参数以及所述第二保护密钥,得到所述第一密钥。
第五方面,本申请实施例还提供一种通信装置,所述通信装置包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述装置实现第一方面或第一方面任意一种可能的实施方式,或者第二方面或第二方面任意一种可能的实施方式所描述的方法。
第六方面,本申请实施例还提供一种通信系统,该通信系统包括第一节点和第二节点,其中,该第一节点为上述第三方面或第三方面的任意一种可能的实施方式所描述的装置,该第二节点为上述第四方面或第四方面的任意一种可能的实施方式所描述的装置。
第七方面,本身申请实施例提供一种芯片系统,所述芯片系统通信装置包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述芯片系统所在的装置实现第一方面或第一方面任意一种可能的实施方式,又或者实现第二方面或第二方面任意一种可能的实施方式所描述的方法。
第八方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行第一方面或第一方面的任意一种可能的实施方式、或者第二方面或第二方面的任意一种可能的实施方式所描述的方法。
第九方面,本申请实施例公开了一种计算机程序产品,当所述计算机程序产品在一个或多个处理器上运行时,执行第一方面或第一方面的任意一种可能的实施方式、或者第二方面或第二方面的任意一种可能的实施方式所描述的方法。
第十方面,本申请实施例公开了一种终端,所述终端包括第一节点(例如,汽车座舱域控制器CDC)和/或第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入或启动系统控制器等模块中的至少一个),其中所述第一节点为上述第三方面或第三方面的任意一种可能的实施方式所描述的装置,所述第二节点为上述第四方面或第四方面的任意一种可能的实施方式所描述的装置。
进一步可选的,所述终端可以为车辆、无人机、机器人、智能家居场景中的设备、智能制造场景中的设备等。
可以理解的,本申请第二方面、第三方面、第四方面的技术方案与第一方面的技术方案相对应,相关的有益效果可以参考第一方面的有益效果,因此不再赘述。
附图说明
以下对本申请实施例用到的附图进行介绍。
图1是本申请实施例提供的一种通信系统的架构示意图;
图2是本申请实施例提供的一种通信方法的使用场景示意图;
图3是本申请实施例提供的一种通信方法的流程示意图;
图4是本申请实施例提供的一种对组密钥进行加密的示意图;
图5是本申请实施例提供的又一种对组密钥进行加密的示意图;
图6是本申请实施例提供的一种确定组安全算法的方法示意图;
图7是本申请实施例提供的又一种通信方法的流程图;
图8是本申请实施例提供的一种通信场景示意图;
图9是本申请实施例提供的一种更新组密钥的场景示意图;
图10是本申请实施例提供的又一种更新组密钥的场景示意图;
图11是本申请实施例提供的又一种通信方法的流程图;
图12是本申请实施例提供的又一种通信方法的流程示意图;
图13是本申请实施例提供的一种通信装置的结构示意图;
图14是本申请实施例提供的又一种通信装置的结构示意图;
图15是本申请实施例提供的又一种通信装置的结构示意图;
图16是本申请实施例提供的又一种通信装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面先对本申请涉及到的相关技术和专业术语进行简单的介绍以方便理解。
一、节点(node)
节点是具有数据收发能力的电子设备。例如,节点可以为汽车座舱(CockpitDomain)设备,或者汽车座舱设备中的一个模块(例如座舱域控制器(cockpit domaincontroller,CDC)、摄像头、屏幕、麦克风、音响、电子钥匙、无钥匙进入或启动系统控制器等模块中的一个或者多个)。在具体实施过程中,节点还可以是数据中转设备,例如路由器、中继器、桥接器或交换机;也可以是一个终端设备,例如各种类型的用户设备(userequipment,UE)、手机(mobile phone)、平板电脑(pad)、台式电脑、耳机、音响等;还可以包括机器智能设备,如无人驾驶(self-driving)设备、运输安全(transportation safety)设备、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、机器类型通信(machine type communication,MTC)设备、工业控制(industrialcontrol)设备、远程医疗(remote medical)设备、智能电网(smart grid)设备、智慧城市(smart city)设备;还可以包括可穿戴设备(如智能手表,智能手环,计步器等)等等。在某些技术场景中,具备相类似数据收发能力的设备的名称也可能不称为节点,但是为了方便描述,本申请实施例中将具有数据收发能力的电子设备统称为节点。
二、共享密钥(shared key,SK)
共享密钥是通信双方的节点中保存的相同的秘密值,共享密钥可以是双方通过相同的密钥获取方法生成的,也可以是在双方节点中预先定义或者预先配置的,还可以是一个可信设备(如密钥分发中心(key distribution center,KDC))分别发送给第一节点和第二节点的。
例如,车辆的座舱域控制器(cockpit domain controller,CDC)与车主的手机是可以通过短距通信技术通信的两个节点。当车主需要通过手机与车辆的CDC进行配对时,可以先通过交换公钥生成共享密钥,如通过密钥协商算法在手机与车辆的CDC之间交换密钥协商算法参数生成共享密钥等。该共享密钥可以用于后续该手机再次请求与车辆的CDC进行配对时,验证双方节点的身份。
再如,车辆的座舱域控制器(cockpit domain controller,CDC)与车载雷达设备是可以进行通信的两个节点,汽车厂工作人员在部署CDC和车载雷达时已经预先配置CDC和车载雷达之间的共享密钥,通过该共享密钥,可以保证车辆的CDC与车顶雷达进行通信的安全性。
此外,节点可以根据原有的共享密钥通过密钥派生得到其他的密钥。由于双方的节点进行派生密钥的方法可以是相同的,因此根据原有的共享密钥派生得到的密钥也可以看作是共享密钥,例如,第一节点使用共享密钥Kdh,通过密钥派生得到会话密钥Kenc,相应的,第二节点也使用相同的方法派生得到会话密钥Kenc。由于共享密钥Kdh是第一节点与第二节点共享的一个秘密值,因此派生得到会话密钥Kenc也可以看作为第一节点与第二节点之间的共享密钥。
三、组播通信
组播技术旨在将某一信息发送到某一组节点中,这样一组节点可以看作是一个通信组。在某些场景中,也将这样的通信组称为目标组,或者组播组。在某一节点(例如称为第一节点)向多个目标节点发送信息时,第一节点可以只发送一份数据,数据的目的地址是组播组地址,这样,凡是属于该组的目标节点,都可以接收到第一节点发送的上述数据。因此,组播方式解决了单播情况下数据的重复发送及带宽的重复占用,也解决了广播方式下带宽资源的浪费。
四、安全算法
安全算法可以包括加密算法、完整性保护算法和密钥派生算法等等。
其中,加密算法包括对称加密算法和非对称加密算法。通常来说,对称加密算法的加密密钥与解密密钥相同,非对称加密算法的加密密钥与解密密钥不同,此外,还有一类不需要密钥的散列算法。常见的对称加密算法主要有数据加密标准(data encryptionstandard,DES)、三重数据加密算法(tripledata encryption algorithm,3DES)、高级加密标准(advanced encryption standard,AES)等,常见的非对称算法主要有RSA加密算法、数据结构分析算法(data structure analysis,DSA)等,散列算法主要有安全散列算法(secure hash algorithm 1,SHA-1)、信息摘要(message digest,MD)算法(如MD2、MD4或MD5等)等。
完整性保护算法是用于保护消息完整性的算法,也可以称为MAC(messageauthentication code,MAC)算法或者完保算法。例如,通过哈希算法来实现的完整性保护算法称为基于哈希的消息认证码(hash-based message authentication code,HMAC)算法,其中的哈希算法可以为MD5、SHA-1、SHA-256等等中的一个,这些不同的HMAC实现通常标记为:HMAC-MD5,HMAC-SHA1,HMAC-SHA256等等。再如,基于密码算法来实现的MAC算法可以称为基于密码的消息认证码(cipher-based message authentication code,CMAC)算法,其中的密码算法可以为AES,由于AES分组加密的工作模式有ECB,CBC,CFB,OFB四种,基于不同的工作的模式的分组加密算法来实现的完整性保护算法可以分别称为:ECB-MAC算法、CBC-MAC算法等等。进一步的,单密钥消息认证码(One-key CBC-MAC,OMAC)是从CBC-MAC算法改进而来。此外,完整性保护算法还可以包括伽罗瓦消息验证码(Galois messageauthentication code mode,GMAC)、祖冲之密码算法(如ZUC128、ZUC256等)、MD算法(如MD2、MD4或MD5等)。
在一些具体场景中,通过认证加密算法,对与给定的原文既可以加密数据也可以生成消息认证码,因此认证加密算法既可以作为加密算法也可以作为完保算法。例如,基于GMAC和计数加密模式的AES算法(AES-Galois/counter mode,AES-GCM)和基于CMAC和计数加密模式的AES算法(AES-CMAC/counter mode,AES-CCM)等可以对消息进行认证加密,而进行认证加密的过程中能够生成MAC来保护消息的完整性。
密钥派生算法(key derivation function,KDF)用于从一个秘密值中派生出一个或多个秘密值,又称为密钥导出算法。例如,通过秘密值Key派生的新的秘密值DK可以表示为:DK=KDF(Key)。常用的密钥派生算法有基于密码的密钥派生函数(password-based keyderivation function,PBKDF)、斯克里普特(scrypt)算法等,其中PBKDF算法又包括第一代PBKDF1和第二代PBKDF2。可选的,一些KDF算法在派生密钥过程中,使用哈希算法对输入的秘密值进行哈希变化,因此KDF函数还可以接收算法标识作为输入,用于指示使用何种哈希算法。
这里需要说明的是,本申请各个实施例中,为了方便描述各个密钥派生过程使用的KDF,因此使用“第一KDF”“第二KDF”和“第三KDF”进行描述,该“第一KDF”“第二KDF”和“第三KDF”可以是不同的KDF,也可以是相同的KDF。
五、新鲜性参数
新鲜性参数用于生成密钥和认证参数等,也可以称为新鲜度或新鲜参数,可以包括随机数(number once,NONCE)、计数值(counter)、序列号(number)、帧号等等中的至少一个。其中,NONCE是一个只被使用一次的(或者说非重复的)随机数值。不同时刻生成的新鲜性参数通常不同,即新鲜性参数的具体取值,在每生成一次新鲜性参数时会发生变化,从而使得这一次生成密钥(或者认证参数等)所使用的新鲜性参数与上一次生成密钥(或者认证参数等)时所使用的新鲜性参数不同的,可以提高生成的密钥的安全性。
例如,新鲜性参数可以是节点通过随机数发生器(random number generator)获取的随机数。
再如,新鲜性参数可以是分组数据汇聚协议计数值(packet data convergenceprotocol count,PDCP COUNT),而PDCP COUNT又可以包括上行PDCP COUNT和下行PDCPCOUNT,第二节点每发送一个上行PDCP数据包则上行PDCP COUNT加1,第一节点每发送一个下行PDCP数据包则下行PDCP COUNT加1。由于PDCP COUNT是一直在变化的,使得每次通过PDCP COUNT生成的密钥与上次通过PDCP COUNT生成的密钥是不同的。
六、帧号
协议数据单元(Protocol Data Unit,PDU)是通信过程中对等层次之间传递的数据单位,在通信系统的协议栈中,每一层实体都可以建立本层实体的PDU,PDU中包含来自上层实体的信息,以及当前层实体附加的信息,然后被传送到下一层。某些场景中,也可以不附加当前层实体的信息,例如透传。例如,对于逻辑链路控制(logical link control,LLC)和介质访问控制(media access control,MAC)两个子层,LLC实体可以建立LLC PDU,MAC实体可以建立MAC PDU。为了方便描述,本申请实施例中将通信系统中传递的协议数据单元统称为通信帧。具体的,控制类型协议数据单元又可以称为控制帧或者管理帧,数据类型协议数据单元又可以称为数据帧。例如,通信帧可以为媒体接入控制(media access control,MAC)数据帧。
节点通过网络收发的通信帧有其相对应的序号(serial number,SN),也称为序列号,该序号的值通过n个比特指示,下一个通信帧的序号为上一个通信帧的序号加1。举例而言,假设通信帧A的序号的值为192,则下一个通信帧B的序号的值为193,依此类推。值得注意的是,当序号超出其最大表示值而反转归零(SN rollover)时,会造成后面的通信帧的序号值反而会小于前面的通信帧的序号的情况。例如,以序号为8比特为例,第一个通信帧的序号为0且每次增加1,每当增加到0xFF时该序号会反转归零。也就是说,序号有周期性的特质,对于包含n个比特的序号来说,每经过2n个的通信帧时,序号会重复,因此通信帧并非拥有独一无二的序号,但是其在每一序号周期(SN cycle)中是唯一的。
本申请各个实施例中,帧号(Frame Number,FN)通过N个比特指示,所述N个比特包括用于指示通信帧的序号的比特作为低阶n位,以及用于指示记录值的比特作为高阶的(N-n)位。其中,记录值的初始值为0或为指定的值,且当通信帧的序号反转归零(rollover)时,记录值会加1。举例而言,以帧号为32比特、序号为8比特为例,假设记录值为0x00 0000,且通信帧的序号的值为0xFF,则当前帧号为0x0000 00FF。而下一个数据包的序号值加1后发生反转,因此下一个的协议数据单元的序号的值为0x00,而由于序号返转归零,使得记录值变为0x00 0001,因此下一个帧号为0x0000 0100。可以理解的,由于帧号是N个比特的数字,因此帧号也存在计数周期(FN cycle),当帧号超过最大值时,帧号也会产生反转(FNrollover)。
可选的,该帧号的设置也可以参考PCDP COUNT的相关定义,PCDP COUNT中包括超帧号(Hyper Frame Number,HFN)部分和协议数据单元的序号部分,其中超帧号起始值被设为0或为指定的值,当协议数据单元的序号反转归零时,超帧号加1。
可选的,节点中可以维护多个帧号,例如,节点可以分别维护上行通信帧的帧号和下行通信帧的帧号,当节点发送一个上行通信帧时,可以根据通信帧的序号变化将上行通信的帧号加1,当节点发送一个下行通信帧时,可以根据通信帧的序号变化调整下行的通信帧的帧号。
下面对本申请实施例的系统架构和业务场景进行描述。需要说明的是,本申请描述的系统架构及业务场景是为了更加清楚的说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
请参见图1,图1是本申请实施例提供的一种通信系统的架构示意图,包括第一节点101、第一通信组102、第二节点103和第二节点104。其中:
第一通信组102中包括多个第二节点,第二节点103和第二节点104均为属于第一通信组103的节点。可以理解的,第一通信组102中可以有一个第二节点,也可以有多个第二节点,此处仅以第一通信组102中含有两个第二节点为例进行说明,并不限定本申请。可选的,第一节点101也可以称为主节点或者接入点(access point,AP),相应的,第一通信组102中的第二节点103、或者第二节点104可以称为从节点。
第一节点101可以与第一通信组102中的节点之间可以进行组播通信,也可以与第一通信组内的第二节点103(或者第二节点104)之间进行单播通信。可选的,通信的数据链路可以包括各种类型的连接介质,例如可以为远距离连接技术包括全球移动通信系统(global system for mobile communications,GSM)、通用分组无线业务(general packetradio service,GPRS)、通用移动通信系统(universal mobile telecommunicationssystem,UMTS)等无线接入类型技术。再如还可以为近距离连接技术包括802.11b/g、蓝牙(Blue Tooth)、紫蜂(Zigbee)、无线射频识别技术(Radio Frequency Identification,RFID)和超宽带(Ultra Wideband,UWB)技术、车载无线短距传输技术等。当然,不排除还有其他技术可以用于支撑第一节点101与第二节点进行通信。
第一节点101可以与第一通信组102中的多个第二节点进行组播通信,而通信的消息需要进行加密,确保只有组内的成员才能解读被加密的报文,非组成员无法获得报文内容,保护组播通信的安全性。对于组内的第二节点103,第一节点101需要将组密钥发送给第二节点103,便于第二节点103使用组密钥解密组播消息。
第一节点101可以将包含组密钥的信令消息,通过信令面的加密密钥(例如第一节点101与第二节点103之间的单播密钥PTK)加密后发送给第二节点103。
需要说明的是,为了方便描述,此处以第二节点103进行示例进行说明,对于组内的第二节点104,第一节点101也需要将组密钥发送给第二节点104,便于第二节点104使用组密钥解密组播消息。
例如,请参见图2,图2是本申请实施例提供的一种通信方法的使用场景示意图。车辆的座舱域控制器(cockpit domain controller,CDC)201是智能座舱设备中的控制中心,可以看作为第一节点101。摄像头202与摄像头203是车辆摄像设备,为了便于控制,将摄像头202与摄像头203配置为一个通信组。CDC201可以通过无线保真(Wireless Fidelity,Wi-Fi)技术与摄像头202和摄像头203进行组播通信。在组播通信之前,CDC201可以将包含组密钥的信令消息,通过CDC201与摄像头203的信令面的加密密钥加密后发送给摄像头203。相应的,CDC201可以将包含组密钥的信令消息,通过CDC201与摄像头203的信令面的加密密钥加密后发送给摄像头202。
但是,上述方法依赖信令面消息的加密来对组密钥进行保护,对于信令面消息不开启加密的情况,组密钥无法得到保护,容易导致组密钥泄露。
例如,参见图2,攻击设备204可以接收组播通信,若信令面消息不开启加密,则攻击者通过接收携带组密钥的信令消息获取组密钥,进而窃取或者接收组播通信的内容,甚至可以向CDC201发起攻击,危及车辆安全。
请参见图3,图3是本申请实施例提供的一种通信方法的流程示意图,该方法可以基于图1所示的架构来实现,该方法包括但不限于如下步骤:
步骤S301:第二节点向第一节点发送关联请求消息。
具体地,第二节点可以通过无线链路(例如Wi-Fi、蓝牙、Zigbee或者其他短距无线链路等中的一个,例如车载短距无线通信链路)或者有线链路(例如光纤)向第一节点发送第一关联请求消息。相应的,第一节点接收来自第二节点的第一关联请求消息。
可选的,关联请求消息中可以包括第二节点的设备标识。节点的设备标识可以为身份标识(identification,ID)、媒体存取控制(media access control,MAC)地址、域名、域地址或其他自定义的标识。
在该方法中,第一节点可以发送接入消息或者广播消息,第二节点接收来自第一节点的接入消息或者广播消息。基于接入消息或者广播消息,第二节点向第一节点发送第一关联请求消息。具体的,第一节点的接入消息或者广播消息中可以包含第一节点的身份标识、该第一节点的描述信息或者用于指示其它节点接入的信息等等中的至少一项。
可选的,第一关联请求消息中还可以包括第二节点支持的安全算法的信息(或者说第二节点的安全能力(Sec Capabilities)),该安全算法的信息可以是安全算法的名称、标识或者预先定义的符号等等。该第二节点支持的安全算法的信息可以用于第一节点确定第一节点与第二节点之间的安全算法(或者说单播安全算法)、第一通信组的组安全算法等等中的一项或者多项。
进一步可选的,第二节点接收来自第一节点的关联请求消息后,可以向第二节点发送安全上下文请求消息,该安全上下文请求消息包括第一节点确定的单播安全算法的信息和第一身份认证信息,该第一身份认证信息用于第二节点认证第一节点的身份。进一步的,第二节点可以向第一节点反馈安全上下文响应消息,该安全上下文响应消息中包括第二身份认证信息,该第二身份认证信息用于第一节点验证第二节点的身份。
步骤S302:第一节点确定第一通信组的组密钥。
具体地,第一通信组为第二节点所属的通信组。可选的,第一节点可以预先获取第二节点的设备标识,从而可以根据第二节点的设备标识确定第二节点所属的通信组。即,所述第二节点的设备标识与通信组之间存在对应关系。例如,该对应关系可以参见表1,表1为本申请实施例提供的一种可能的通信组信息表,第一节点中可以预先配置或者预先定义有该通信组信息表所展示的对应关系,具体的配置和定义方式不限定以表的方式进行,以能体现所述对应关系为准。该通信组信息表中包括通信组的ID、通信组包含的节点。可选的,还可以包括该通信组的组密钥、或者组算法等等信息。第一节点可以根据第二节点的设备标识,确定其所在的第一通信组的组密钥,例如,若第二节点的设备标识为“E0”,则第一节点确定ID为“GID1”的通信组的组密钥。
表1通信组信息表
通信组ID | 包含的节点 | 组密钥 | 组算法 |
GID1 | E0、E1、E2 | GK1 | - |
GID2 | E3、E4 | GK2 | 完保算法:ZUC |
GID3 | E5、E6、E7 | GK3 | 完保算法:AES-CCM |
GID4 | E6、E7、E8 | - | - |
可选的,第一节点至少可以通过以下方法确定或者获得第一通信组的组密钥:
方法一:第一节点根据第一通信组的ID确定第一通信组的组密钥,其中第一通信组的ID与第一通信组的组密钥之间存在对应关系。具体的,第一节点中预先定义或者预先配置有通信组的ID与组密钥的对应关系,因此第一节点可以根据第一通信组的ID确定第一通信组的组密钥。例如,参见表1,第一节点根据通信组的ID“GID1”,可以确定通信组的组密钥为“GK1”。
方法二:第一节点获取一个随机数NONCEa,将NONCEa作为第一通信组的组密钥。
方法三:第一节点根据第一新鲜性参数和第一通信组的ID中的至少一项,通过第二KDF生成所述第一通信组的组密钥。其中,第一新鲜性参数是第一节点获取(或者说生成)的新鲜性参数,第一新鲜性参数的数量可以是一个,也可以是多个。可选的,第二KDF可以为第一节点中优先级最高的KDF算法。第一节点根据第一新鲜性参数和第一通信组的ID中的至少一项,通过第二KDF生成所述第一通信组的组密钥,具体可以有如下实现方式:
实现方式一:第一节点根据第一新鲜性参数和第一通信组的ID,通过第二KDF生成第一通信组的组密钥。例如,以第一新鲜性参数为一个新鲜性参数NONCEg、第一通信组的ID为GID为例,生成的第一通信组的组密钥满足如下公式:GK=第二KDF(NONCEg,GID)。
实现方式二:第一节点根据第一新鲜性参数,通过第二KDF生成第一通信组的组密钥。例如,以第一新鲜性参数为新鲜性参数NONCEg1和新鲜性参数NONCEg2、第一通信组的ID为GID为例,生成的第一通信组的组密钥满足如下公式:GK=KDF(NONCEg1,NONCEg2)。
实现方式三:第一节点根据第一通信组的组ID,通过第二KDF生成第一通信组的组密钥。例如,生成的第一通信组的组密钥满足如下公式:GK=KDF(GID)。
可选的,参与生成的GK的参数还可以包括其他信息,例如生成的密钥的长度、使用的哈希算法的标识等等中的一个或者多个。
可选的,第一节点可以生成组密钥GK的标识GK ID。进一步的,第一节点还可以将GK ID与第一通信组的ID建立对应关系,便于下一次确定组密钥时可以通过第一通信组的ID确定对应的GK ID,从而获取GK ID所指示的组密钥GK。
需要说明的是,在确定第一通信组的组密钥之前,第一节点可以先确定第一通信组是否有对应的组密钥。若存在对应的组密钥,则通过上述方法一所描述的方法确定第一通信组的组密钥;若不存在对应的组密钥,则通过上述方法二或者方法三所描述的方法确定第一通信组的组密钥。例如,新创建了一个通信组时,由于新创建的通信组还没有对应的组密钥,此时可以通过上述方法二或者方法三所描述的方法确定第一通信组的组密钥。
步骤S303:第一节点基于第一节点与第二节点之间的共享密钥对第一通信组的组密钥进行加密,得到第一保护密钥。
具体地,共享密钥是第一节点与第二节点之间共享的一个秘密值。例如,第一节点和第二节点可以通过交换公钥生成密钥S,第一节点生成的密钥S与第二节点生成的密钥S的值是相同的,因此密钥S可以作为第一节点与第二节点之间的共享密钥。
可选的,第一节点基于第一节点与第二节点之间的共享密钥对第一通信组的组密钥进行加密,至少可以包括以下几种实施方案:
实施方案一:第一节点使用共享密钥对组密钥进行加密,得到第一保护密钥。例如,参见图4,图4是本申请实施例提供的一种可能的对组密钥进行加密的示意图,第一节点使用共享密钥402,对第一通信组的组密钥401进行加密,得到第一保护密钥403。
可选的,该共享密钥可以是第一节点与第二节点之间的单播密钥。例如,第一节点使用单播的加密密钥,基于单播的加密算法对第一通信组的组密钥进行加密。
实施方案二:第一节点可以使用共享密钥和第二新鲜性参数对组密钥进行加密,得到第一保护密钥。其中,第二新鲜性参数是第一节点获取(或者生成)的NONCE、计数器值、帧号等等中的一个或者多个,例如,可以是第一节点生成的随机数NONCEk,或者还可以是第一节点与第二节点之间交换的公钥等。由于新鲜性参数的值是不同的,使得每一次加密相同的第一通信组的组密钥得到的第一保护密钥也是不同的,从而提高了组密钥的私密性。其中,所述计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。
实现方案三:第一节点根据共享密钥生成第一中间密钥,使用第一中间密钥对组密钥进行加密,得到第一保护密钥。例如,参见图5,图5是本申请实施例提供的一种可能的对组密钥进行加密的示意图,第一节点根据共享密钥504生成第一中间密钥503,使用第一中间密钥503对组密钥501进行加密,得到第一保护密钥502。
实施方案四:第一节点根据共享密钥和第二新鲜性参数生成第一中间密钥,使用第一中间密钥对组密钥进行加密,得到第一保护密钥。
例如,第一节点根据共享密钥Kdh和第一计数器的值counter1,通过第一KDF生成第一中间密钥Kg,如:Kg=第一KDF(kdh,counter1)。其中,第一计数器可以用于表征第一节点根据共享密钥Kdh生成第一中间密钥Kg的次数,这里需要说明的是,由于生成的第一中间密钥Kg用于对第一通信组的组密钥进行加密,因此生成中间密钥的次数也可以表征对组密钥加密的次数。例如,以计数器值从1开始为例,第一次根据共享密钥Kdh和第一计数器的值counter1生成第一中间密钥时,counter值为1,相应的,当第二次根据共享密钥Kdh和第一计数器的值counter1生成第一中间密钥Kg时,counter1为2。进一步可选的,当第一计数器的值大于或者等于预先定义或者预先配置的某一阈值时,第一节点可以更新共享密钥Kdh,更新Kdh后第一计数器可以重新开始计数。
在一种可能的设计中,若生成的第一中间密钥未能成功加密第一通信组的组密钥,或者第一通信组的组密钥未能成功发送时,再次参与生成第一中间密钥的第一计数器的值可以就为上一次的计数器的值。
再如,第一节点根据会话密钥Kenc和随机数NONCEk,通过第一KDF生成第一中间密钥Kg,如:Kg=第一KDF(Kenc,NONCEk),然后通过该Kg对第一通信组的组密钥进行加密,得到第一保护密钥。再如,第一节点根据共享密钥Kgt(该共享密钥Kgt具体可以为根据共享密钥Kdh推演出来的)和随机数NONCK(或者计数器值counter),通过第一KDF生成第一中间密钥Kg,如:Kg=第一KDF(Kenc,NONCEk(或者counter)),然后通过该Kg对第一通信组的组密钥进行加密,得到第一保护密钥。
其中,第一节点使用第一中间密钥对第一通信组的组密钥进行加密,具体可以为:第一节点将第一通信组的组密钥与第一中间密钥进行异或处理,得到第一保护密钥。例如:第一节点加密得到的第一保护密钥GKc,可以满足如下公式:GKc=GK⊕Kg,其中GK为第一通信组的组密钥,⊕为异或处理,Kg为第一中间密钥。由于进行两次异或处理后可以得到原本的值,因此第一节点将第一中间密钥与第一通信组的组密钥进行异或,第二节点接收第一保护密钥后,可以生成相同的第一中间密钥,将第一中间密钥和第一保护密钥进行异或处理则可以得到第一通信组的密钥。可以理解为,“异或”可以为一种具体的加密处理方式。
可选的,第一节点可以确认第一节点与第二节点之间的信令面消息不开启加密,在信令面消息不开启加密的情况下,对第一通信组的组密钥进行加密得到第一保护密钥。
若第一节点与第二节点之前的信令面消息开启加密,则第一节点向第二节点发送第二关联建立消息,其中,第二关联建立消息中包括第一通信组的组密钥,由于第二关联建立消息属于第一节点与第二节点之间的信令面消息,因此可以通过信令面消息加密对组密钥进行保护。
步骤S304:第一节点向第二节点发送第一关联建立消息。
可以理解的,第一节点向第二节点发送第一关联建立消息,相应的,第二节点接收来自第一节点的第一关联建立消息,该关联建立消息中包括第一保护密钥。例如,参见图4,第一节点向第二节点发送第一关联建立消息404,第二节点接收来自第一节点的第一关联建立消息404。再如,参见图5,第一节点向第二节点发送第一关联建立消息507,第二节点接收来自第一节点的第一关联建立消息507。
可选的,第一关联建立消息中还可以包括第二新鲜性参数,该第二新鲜性参数可以用于第二节点对第一保护密钥进行解密。
进一步可选的,在第二新鲜性参数为计数器的值的情况下,第二节点中也可以获取有与第一节点中的计数器的值相对应的计数器值,因此第一关联建立消息中可以不包括该第二新鲜性参数。例如,第一节点的第一计数器的值作为第二新鲜性参数,该第一计数器的值表征对组密钥加密的次数。第二节点中也获取有第二计数器的值,该第二计数器的值用于表征对组密钥进行解密的次数,该第一计数器的值与第一计数器的值对应,因此第一关联建立消息中可以不包括该第二新鲜性参数。
可选的,第一关联建立消息中还包括消息认证码,该消息认证码用于第二节点认证第一关联建立消息的完整性。
进一步可选的,第一节点可以通过加密密钥对第一关联建立消息进行加密,相应的,第二节点可以使用相应的解密密钥解密第一关联建立消息,从而可以获取第一关联建立消息中的内容。
步骤S305:第二节点基于第一节点与第二节点之间的共享密钥以及第一保护密钥,得到第一通信组的组密钥。可选的,第二节点可以基于第一节点与第二节点之间的共享密钥解密第一保护密钥,进而得到第一通信组的组密钥。
具体地,共享密钥是第一节点与第二节点之间共享的一个秘密值,因此第二节点可以使用该共享密钥解密第一保护密钥,得到第一通信组的组密钥。
可选的,对应于第一节点对组密钥的加密方式,第一节点基于第一节点与第二节点之间的共享密钥对第一保护密钥进行解密,至少可以包括以下几种实施方案:
实施方案一:第二节点使用共享密钥对第一保护密钥进行解密,得到第一通信组的组密钥。例如,参见图4,第一节点使用共享密钥402,对第一保护密钥403进行解密,得到第一通信组的组密钥401。
实施方案二:第二节点可以使用共享密钥和第二新鲜性参数对第一保护密钥进行解密,得到第一通信组的组密钥。
实施方案三:第二节点根据共享密钥生成第一中间密钥,使用第一中间密钥对第一保护密钥进行解密,得到第一通信组的组密钥。例如,参见图5,第二节点根据共享密钥506生成第一中间密钥505,使用第一中间密钥505对第一保护密钥502进行解密,得到第一通信组的组密钥501。
实现方案四:第二节点根据共享密钥和第二新鲜性参数生成第一中间密钥,使用第一中间密钥对第一保护密钥进行解密,得到第一通信组的组密钥。例如,第二节点根据共享密钥Kdh和第一计数器的值counter1,通过第一KDF生成第一中间密钥Kg,如:Kg=第一KDF(kdh,counter1)。其中,第一计数器可以用于表征第一节点根据共享密钥Kdh生成第一中间密钥Kg的次数。再如,第二节点根据会话密钥Kenc和第二新鲜性参数NONCEk,通过第一KDF生成第一中间密钥Kg,如:Kg=第一KDF(Kenc,NONCEk)。再如,第一节点根据共享密钥Kgt和随机数NONCK(或者计数器值counter),通过第一KDF生成第一中间密钥Kg,如:Kg=第一KDF(Kenc,NONCEk(或者counter))。
可选的,第二节点使用第一中间密钥对第一保护密钥进行解密,具体可以为,第二节点将第一保护密钥与第一中间密钥进行异或处理,得到第一通信组的组密钥。例如:第二节点解密第一保护密钥GKc得到第一通信组的组密钥GK,可以满足如下公式:
可选的,第二节点还可以向第一节点发送关联完成消息,该关联完成消息用于指示第一节点关联建立成功。可选的,第二节点可以通过加密密钥对关联完成消息进行加密,相应的,第一节点可以使用相应的解密密钥解密关联完成消息,从而可以获取关联完成消息中的数据内容。可选的,该关联完成消息中包括消息认证码,该消息认证码用于第一节点验证关联完成消息的完整性。
可选的,第一关联建立消息中还包含指示第一通信组的组安全算法的信息。具体的,第一节点可以确定第一通信组的组安全算法,该组安全算法属于组内节点支持的算法,也可以称为组算法,可以包括组加密算法、组完保算法(或者说组完整性保护算法)、或者组KDF算法等中的一个或者多个。
需要说明的是,上述实现中的“解密”可以是一个独立的步骤,也可以是一种功能的说明。即,可以通过对信息进行解密得到另外一个信息,也可以以解密的方式通过信息得到另外一个信息。
进一步的可选的,第一节点确定第一通信组的组安全算法至少有以下几种情况:
情况一:第一节点中预先配置或定义了第一通信组对应的组安全算法,因此第一节点可以根据第一通信组的标识(例如第一通信组的编号)确定对应的组安全算法。例如,以组完保算法为例,参见图6,图6是本申请实施例提供的一种确定组安全算法的方法示意图,可以看出,根据通信组的ID可以确定通信组的ID对应的组算法。例如,参见区域601中的信息可知,组标号(group identify,GID)为GID2的通信组对应的组完保算法为祖冲之密码算法(ZUC)。可选的,组安全算法为第一通信组中的节点支持的算法中优先级最高的算法。
情况二:第一节点可以根据算法选择策略确定所述组安全算法,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。参见图6,以第一算法选择策略为基于优先级的算法选择策略为例,参见区域602中的信息可知,节点E0是ID为GID1的通信组中的一个节点,该通信组GID1中包括节点E0、节点E1、节点E2。第一节点可以获取组内的节点的安全能力(Sec Capabilities)的信息,参见区域603中的信息可知,节点E0支持的完保算法为AES-CCM、ZUC和AES-GCM,节点E1支持的完保算法为AES-CCM和AES-GCM,节点E2支持的安全算法为AES-CCM和AES-GCM,组内节点都支持的AES-CCM和AES-GCM,参见区域604可知,AES-CCM的优先级为1,参见区域605可知,AES-GCM的优先级为3,因此可以将AES-CCM确定为组完保算法。
可选的,基于顺序的算法选择策略,可以根据预先定义或者预先配置的顺序确定顺序较前的安全算法。进一步可选的,若通信组中的节点支持的两个算法的优先级相同,可以选择顺序靠前的安全算法。
进一步可选的,第一通信组的组安全算法包括第三KDF算法。第一节点可以根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。其中,会话密钥的类型可以包括信令面加密密钥、信令面完保密钥、用户面加密密钥、用户面完保密钥等中的一个或者多个。例如,以信令面加密密钥为例,根据第一通信组的组密钥GK和信令面加密密钥的密钥类型“enc”,通过第三KDF生成信令面的加密密钥Kenc,如:Kenc=第三KDF(GK,“enc”)。再如,第三KDF中具体可以包括多种哈希算法,可以通过算法标识指示使用何种哈希算法,因此,生成的加密密钥Kenc还可以满足如下公式:Kenc=第三KDF(GK,密钥类型,算法标识)。进一步的,会话密钥的类型可以对应所述会话密钥应用的场景,本申请仅以以上四种类型为例,具体实现中还可以包括其他的会话密钥类型。
在图3所示的实施例中,第一节点在接收来自第二节点的关联请求后,可以确定第二节点所在的第一通信组的组密钥,然后使用第一节点与第二节点的共享密钥对组密钥进行加密得到第一保护密钥,将第一保护密钥携带在关联建立消息中发送给第二节点。可以看出,由于关联建立消息中携带的保护密钥是通过共享密钥对组密钥进行加密得到的,因此无论第一关联建立消息是否被加密,都可以保护组密钥的私密性。这样一来,第一节点与第一通信组进行组播通信时,可以使用该组密钥对组播消息进行加密,从而对组播消息进行保护,避免非组成员获得通信内容,提高了组播通信的安全性。
进一步的,第一节点可以在关联建立消息中将组密钥通过保护密钥发送给第二节点,将组密钥的分发流程融合在第一节点与第二节点建立关联的流程中,因此不需要额外的密钥分发的流程,节省了网络资源的开销,提高了组播通信的效率。
参见图7,图7是本申请实施例提供的又一种通信方法,该通信方法可以基于图1所示的架构来实现,该方法至少包括以下步骤:
步骤S701:第一节点确定满足更新所述第一通信组的组密钥的条件。
具体的,第一通信组的组密钥更新的条件包括以下条件中的至少一个:
条件1:当前通信帧的帧号与标记帧号的差值大于或者等于第一阈值;其中,当前通信帧的帧号与标记帧号在同一轮计数周期;标记帧号为需要进行密钥更新的帧号或者标记帧号为第一次应用第一通信组的组密钥进行加密的通信帧的帧号。
其中,通信帧的帧号包括记录值和通信帧的序号,该帧号可以用于在通信帧的传递过程中对通信帧进行加密,可选的,该通信帧可以为MAC数据帧,该序号可以为MAC序列号(MAC serial number,MAC SN)。参见图8,图8是本申请实施例提供的一种可能的通信场景示意图,第一节点可以向通信组内的多个节点发送组播消息,组播消息以通信帧的形式进行发送。为了方便描述,图8中仅以向第二节点发送组播消息为例,其中,组播消息可以通过组密钥和帧号进行加密,例如,第一节点发送的通信帧803可以使用帧号801和组密钥802进行加密。其中,帧号801为32比特位的数字,帧号801包含高22位的记录值和低10位的序列号,该低10位的序列值与当前通信帧803的序号对应。由于帧号的位数是有限的,因此帧号在达到最大值时会产生反转,例如,在图8所示的通信过程中,帧号801的值为0x00000000,当通信帧不断发送,帧号也不断累加,当帧号值达到最大值后(如帧号804的值为0xFFFFFFFF),帧号反转(rollover),重新从0开始计数,例如帧号805的值为0x00000000。但是,当帧号重新达到帧号0x00000001时,若组密钥802还未更新,则使得对两个不同的通信帧(通信帧803和通信帧806)进行加密时,使用的密钥和帧号都是相同的,容易导致密钥被破解,威胁通信的安全性。因此,需要在帧号到达上一次使用组密钥802进行加密的帧号之前,更新组密钥,避免影响组密钥的私密性。需要说明的是,此处仅以帧号为32比特进行示例,具体实现过程中按照需求预先配置帧号的大小,本申请对此不做限定。
具体的,第一节点可以记录标记帧号,例如,标记帧号可以为需要进行密钥更新的帧号或者标记帧号还可以为第一次应用第一通信组的组密钥进行加密的通信帧的帧号。第一节点可以在帧号累加到上一次使用组密钥进行加密的帧号之前更新组密钥,例如,提前10帧更新组密钥。进一步的,第一节点还可以指示应用新密钥的时间,例如可以指示提前5帧应用新的组密钥。
具体的,若当前通信帧的帧号与标记帧号在同一轮计数周期,则当前通信帧的帧号与标记帧号的差值大于或者等于第一阈值时,需要更新第一通信组的组密钥。例如,以标记帧号为第一次应用第一通信组的组密钥进行加密的通信帧的帧号为例,参见图9,图9是本申请实施例提供的一种更新组密钥的场景示意图,其中,通信帧901是第一次使用组密钥902进行加密的通信帧,该通信帧的帧号为0x00000001,第一节点可以标记该帧号(即标记帧号为0x00000001),若第一节点需要提前10帧更新组密钥,则预设第一阈值为0xFFFFFFF5。也即是说,若当前通信帧的帧号到达0xFFFF FFF6时,当前通信帧的帧号与标记帧号的差值达到0xFFFF FFF5,因此第一节点可以在帧号到达0xFFFF FFF6时,更新第一通信组的组密钥。进一步可选的,更新组密钥时可以指示应用新的组密钥的时间,例如,可以在标记帧号的提前5帧应用新的组密钥,则第一节点可以在帧号到达0xFFFF FFFB时,通过新的组密钥904和帧号0xFFFF FFFB对通信帧905进行加密。这样一来,当通信帧的帧号反转,然后到达标记帧号0x00000001时,对通信帧905进行加密的密钥已经为新的组密钥904,从而不会影响通信的安全性。
需要说明的是,本申请中涉及的多个阈值,可以是协议中规定的,或者在节点中预先定义或预先配置的,又或者可以是节点根据安全性需求来确定的。例如,第一阈值可以是根据协议规定得到的,或者在第一节点中预设的,又或者可以是第一节点根据安全性需求来确定的。
条件2:标记帧号与当前通信帧的帧号的差值小于或者等于第二阈值;其中,当前通信帧的帧号在标记帧号的下一轮计数周期;标记帧号为需要进行密钥更新的帧号或者标记帧号为第一次应用第一通信组的组密钥进行加密的通信帧的帧号。
可以理解的,若当前通信帧的帧号在标记帧号的下一轮计数周期,当标记帧号与当前通信帧的帧号小于或者等于第二阈值前,第一节点需要更新组密钥。例如,以标记帧号为第一次应用第一通信组的组密钥进行加密的通信帧的帧号为例,参见图10,图10是本申请实施例提供的又一种更新组密钥的场景示意图,其中,通信帧1001是第一次使用组密钥1002进行加密的通信帧,该通信帧的帧号为0x5555 6666,第一节点可以标记该帧号(即标记帧号为0x5555 6666),若第一节点需要提前10帧更新组密钥,则第二阈值为10。也即是说,若当前通信帧的帧号反转归0后,到达0x5555 665A时,标记帧号与当前通信帧的帧号的差值为10,因此当在帧号到达0x5555 665A时,第一节点开始更新第一通信组的组密钥。进一步可选的,更新组密钥时可以确定新的组密钥的启动时间,例如,可以在标记帧号的提前5帧应用新密钥,则第一节点可以在帧号到达0x5555 6661时,启动新的组密钥1005和帧号0x5555 6661对通信帧1004进行加密。这样一来,当通信帧的帧号到达标记帧号0x55556666时,对通信帧1006进行加密的密钥已经为新的组密钥1005,从而不会影响通信的安全性。
条件3:第一通信组的组密钥的有效期到达或者所述第一通信组的组密钥使用时长到达第三阈值。
可选的,第一通信组的组密钥可以存在有效期,当第一通信组的组密钥的有效期到达时,需要更新第一通信组的组密钥。例如,第一通信组的组密钥的有效期可以为具体的时间,或者该有效期也可以为通信帧的帧号,又或者该有效期为计数器值等等。例如,第一通信组的组密钥的有效期可以为2020年07月06日的08时08分08秒,可以指示第一通信组的组密钥的有效期有效的日期时间到2020年07月06日的08时08分08秒或者无效的日期时间从2020年07月06日的08时08分08秒后开始,因此,若当前时间为该有效期,则第一节点可以更新组密钥。可选的,第一节点可以在有效期到达之前提前更新第一通信组的组密钥,例如,当距离有效期对应的时间还剩10分钟时更新第一通信组的组密钥。
可选的,第一通信组的组密钥可以存在使用时长,当第一通信组的组密钥的使用时长达到(大于或者大于等于)第三阈值时,需要更新第一通信组的组密钥。进一步可选的,该第三阈值可以是协议中规定的,或者在第一节点中预先定义或预先配置的,又或者该阈值可以是第一节点根据安全性需求来确定的。例如,协议中规定该第三阈值为24小时,当第一通信组的组密钥达到24小时时,则需要更新第一通信组的组密钥。再如,第一节点中预先定义有第三阈值为1000个通信帧(具体可以包括1000个管理帧和1000个数据帧),当使用该第一通信组的组密钥加密了1000个管理帧或者加密了1000个数据帧时,需要更新第一通信组的组密钥。
条件4:第一通信组中的至少一个第二节点离开第一通信组。
可以理解的,若通信组中存在有一个第二节点离开(leave)第一通信组,则第一节点需要更新组密钥,使得第一节点与第一通信组中的第二节点的通信具有私密性。例如,第一通信组GID1中包括3个第二节点,分别为第二节点E0-第二节点E2,其中,第二节点E2由于功能老化,因此向第一节点发送用于指示申请退出(exit)第一通信组的请求消息,则第一节点确认第二节点E2退出第一通信组后(例如第一节点在如表1所示的通信组信息表中,在通信组GID1所包含的节点中删除第二节点E2后),第一节点可以更新第一通信组的组密钥。再如,第一节点接收到上层管理节点发送的配置消息,该配置消息指示第一节点将第二节点E1移除(remove)第一通信组,则第一节点确认第二节点E1被移除第一通信组后(例如第一节点在如表1所示的通信组信息表中,在通信组GID1所包含的节点中删除第二节点E1后),第一节点可以更新第一通信组的组密钥。
进一步的,第一节点还可以配置为,当存在一个第二节点加入第一通信组时或者存在一个第二节点离开第一通信组时,更新组密钥。例如,第一通信组GID2中包括2个第二节点,分别为第二节点E3和第二节点E4,而管理人员在第一通信组中增加第二节点E9(例如在如表1所示的通信组信息表中,在通信组GID2所包含的节点中添加第二节点E9后),第一节点可以更新主密钥。再如,第一节点接收到配置消息,该配置消息指示第一节点将第二节点E10加入第一通信组GID2,则第一节点确认第二节点E9加入第一通信组GID2后(例如在如表1所示的通信组信息表中,在通信组GID2所包含的节点中添加第二节点E10后),第一节点可以更新第一通信组的组密钥。
步骤S702:第一节点根据第三新鲜性参数和第一通信组的标识ID中的至少一项确定第一密钥。
具体的,第一节点根据第三新鲜性参数和第一通信组的标识ID中的至少一项确定第一密钥,至少包括以下两种方法:
方法一:第一节点获取一个第三新鲜性参数,将该第三新鲜性参数作为第一密钥。
方法二:第一节点根据第三新鲜性参数和第一通信组的ID中的至少一项,通过第二KDF生成第一密钥。其中,第三新鲜性参数是第一节点获取(或者说生成)的新鲜性参数,第三新鲜性参数的数量可以是一个,也可以是多个。可选的,第二KDF可以为第一节点中优先级最高的KDF算法。第一节点生成第一密钥,具体可以有如下实现方式:
实现方式一:第一节点根据第三新鲜性参数和第一通信组的ID,通过第二KDF生成第一密钥。例如,以第三新鲜性参数为一个新鲜性参数NONCEg3、第一通信组的ID为GID为例,生成的第一密钥NGK满足如下公式:NGK=KDF(NONCEg3,GID)。
实现方式二:第一节点根据第三新鲜性参数,通过第二KDF生成第一密钥。例如,以第三新鲜性参数为新鲜性参数NONCEg3和新鲜性参数NONCEg4为例,生成的第一密钥NGK满足如下公式:NGK=KDF(NONCEg3,NONCEg4)。
可选的,该第一密钥用于替换第一通信组的组密钥,作为第一通信组的新的组密钥。
步骤S703:第一节点基于第一节点与第二节点之间的共享密钥对第一密钥进行加密,得到第二保护密钥。
具体地,第一节点基于第一节点与第二节点之间的共享密钥对第一密钥进行加密,至少可以包括以下几种实施方案:
实施方案一:第一节点使用共享密钥对第一密钥进行加密,得到第二保护密钥。
实施方案二:第一节点可以使用共享密钥和第四新鲜性参数对第一密钥进行加密,得到第二保护密钥。其中,第四新鲜性参数是第一节点获取(或者生成)的随机数值、计数器值、帧号等等中的一个或者多个。
实现方案三:第一节点根据共享密钥生成第二中间密钥,使用第二中间密钥对第一密钥进行加密,得到第二保护密钥。
实施方案四:第一节点根据共享密钥和第四新鲜性参数生成第二中间密钥,使用第二中间密钥对第一密钥进行加密,得到第二保护密钥。例如,第一节点根据共享密钥Kdh和第一计数器的值counter1,通过KDF生成第二中间密钥Kg2,如:Kg2=KDF(kdh,counter1)。其中,第一计数器可以用于表征第一节点根据共享密钥Kdh生成第二中间密钥Kg的次数。再如,第一节点根据会话密钥Kenc和第四新鲜性参数NONCEk2,通过KDF生成第二中间密钥Kg2,如:Kg2=KDF(Kenc,NONCEk2)。
可选的,第一节点使用第二中间密钥对第一密钥进行加密,具体可以为,第一节点将第一密钥与第一中间密钥进行异或处理,得到第一保护密钥。例如:第一节点加密得到的第二保护密钥GKc2,可以满足如下公式:其中NGK为第一密钥,/>为异或处理,Kg2为第二中间密钥。由于进行两次异或处理后可以得到原本的值,因此第一节点将第二中间密钥与第一密钥进行异或,第二节点接收第二保护密钥后,可以生成相同的第二中间密钥,将第二中间密钥和第二保护密钥进行异或处理则可以得到第一密钥。
可选的,第一节点可以确认第一节点与第二节点之间的信令面消息不开启加密,在信令面消息不开启加密的情况下,对第一密钥进行加密得到第二保护密钥。可选的,若第一节点与第二节点之前的信令面消息开启加密,则密钥更新消息中包括第一密钥,由于密钥更新消息属于第一节点与第二节点之间的信令面消息,因此可以通过信令面消息加密对第一密钥进行保护。
步骤S704:第一节点向第二节点发送密钥更新消息。
具体地,密钥更新消息包含上述第二保护密钥。可以理解的,第一节点向第二节点发送密钥更新消息,相应的,第二节点接收来自第一节点的密钥更新消息。
可选的,密钥更新请求消息中还包括第四新鲜性参数,该第四新鲜性参数用于第二节点解密第二保护密钥得到第一密钥。
可选的,密钥更新请求中还用于指示第一密钥的启动时间和/或第一密钥的有效期。其中,第一密钥的启动时间用于指示应用所述第一密钥的时间,第一密钥的有效期用于指示第一密钥使用的期限。进一步的,当密钥更新请求中包括第一密钥的启动时间和第一密钥的有效期的情况下,第一密钥应用于从第一密钥的启动时间开始的第一密钥的有效期内。
可选的,该密钥更新消息可以是第一节点向第一通信组中的第二节点发送的组播消息,还可以是第一节点与第二节点之间的单播消息。可选的,在密钥更新消息为组播消息的情况下,第一节点对第一密钥进行加密时使用的共享密钥为第一通信组的组密钥(或者根据组密钥派生得到的第一通信组的会话密钥)。进一步的可选的,在密钥更新消息为单播消息的情况下,第一节点还可以向第一通信组的其他第二节点发送该密钥更新消息。
可选的,第一节点可以通过加密密钥对密钥更新消息进行加密,相应的,第二节点可以使用相应的解密密钥来解密密钥更新消息,从而可以获取密钥更新消息中的数据内容。可选的,该密钥更新消息中包括消息认证码,该消息认证码用于第二节点验证密钥更新消息的完整性。
步骤S705:第二节点基于第一节点与第二节点之间的共享密钥以及第二保护密钥,得到第一密钥。可选的,第二节点可以基于第一节点与第二节点之间的共享密钥解密第二保护密钥,进而得到第一通信组的组密钥。
具体地,对应于第一节点对第一密钥的加密方式,第一节点基于第一节点与第二节点之间的共享密钥对第二保护密钥进行解密,至少可以包括以下几种实施方案:
实施方案一:第二节点使用共享密钥对第二保护密钥进行解密,得到第一密钥。
实施方案二:第二节点可以使用共享密钥和第四新鲜性参数对第一保护密钥进行解密,得到第一密钥。
实施方案三:第二节点根据共享密钥生成第二中间密钥,使用第二中间密钥对第二保护密钥进行解密,得到第一密钥。
实现方案四:第二节点根据共享密钥和第四新鲜性参数生成第二中间密钥,使用第二中间密钥对第二保护密钥进行解密,得到第一密钥。
可选的,第二节点使用第二中间密钥对第二保护密钥进行解密,具体可以为,第二节点将第二保护密钥与第二中间密钥进行异或处理,得到第一密钥。例如:第二节点根据第二中间密钥Kg2解密第二保护密钥GKc2得到第一密钥NGK,可以满足如下公式:
需要说明的是,上述实现中的“解密”可以是一个独立的步骤,也可以是一种功能的说明。即,可以通过对信息进行解密得到另外一个信息,也可以以解密的方式通过信息得到另外一个信息。
可选的,图7所示的实施例还包括步骤S706-步骤S709中的部分或者全部步骤,步骤S706-步骤S709如下:
步骤S706:第二节点向第一节点发送更新确认消息。
可以理解的,第二节点向第一节点发送更新确认消息,相应的,第一节点接收到来自第一节点的更新确认消息。
可选的,第一通信组中包括一个或者多个第二节点,第一节点可以向一个或者多个第二节点发送密钥更新消息,相应的,第一节点可以接收该一个或者多个第二节点的更新确认消息。
可选的,第二节点可以通过加密密钥对更新确认消息进行加密,相应的,第一节点可以使用相应的解密密钥来解密更新确认消息,从而可以获取更新确认消息中的数据内容。可选的,该更新确认消息中包括消息认证码,该消息认证码用于第一节点验证更新确认消息的完整性。
步骤S707:第一节点确定接收到第一通信组中至少一个第二节点的更新确认消息。
具体的,当确认接收到第一通信组中的至少一个第二节点的更新确认消息时,表明确认可以应用新的密钥。
可选的,第一节点在接收到第一通信组中的全部节点中的更新确认消息后,表明确认可以应用新的密钥。
进一步可选的,第一节点可以在预设长度的时间段内接收来自至少一个节点的更新确认消息,若预设时间段内接收到至少一个第二节点的更新确认消息,则表明确认可以应用新密钥。可选的,对于未收到其更新确认消息的节点,第一节点可以通过单播消息与其进行重新连接。例如,第一通信组中包括第二节点A和第二节点B,第一节点向第二节点A和第二节点B发送密钥更新消息,若第一节点接收到来自第二节点A的更新确认消息后,表明确认可以应用新密钥;对于第二节点B,第一节点可以与第二节点B进行重新连接,或者还可以向第二节点B发送经过加密处理的新密钥。
步骤S708:第一节点在第一密钥的启动时间应用第一密钥。
具体的,第一密钥的启动时间可以是预先定义或者预先配置的,也可以是第一节点在密钥更新消息指示的。例如,第一节点中预先定义有,在发送密钥更新消息后的第五个通信帧应用第一密钥,再如,第一节点在密钥更新消息中指示在帧号到达0xFFFF FFFF6时应用新密钥。第一节点可以在第一密钥的启动时间,应用该第一密钥作为第一通信组的新的组密钥。
步骤S709:第二节点在第一密钥的启动时间应用第一密钥。
具体的,第一密钥的启动时间可以是预先定义或者预先配置的,也可以是第一节点在密钥更新消息指示的。例如,第二节点中预先定义有,在接收到密钥更新消息后的第五个通信帧后应用第一密钥,再如,第一节点在密钥更新消息中指示在帧号到达0xFFFFFFFF6时应用新密钥。第二节点可以在第一密钥的启动时间,应用该第一密钥作为第一通信组的新的组密钥。
在图7所示的实施例中,确定满足更新组密钥的条件后,可以确定第一密钥,将第一密钥使用共享密钥加密后,通过密钥更新消息发送给第二节点。可以看出,由于密钥更新消息中携带的保护密钥是通过共享密钥对第一密钥进行加密得到的,因此无论密钥更新消息是否被加密,都可以保护第一密钥的私密性。
可选的,图7所示的实施例中的方法可以为图3所示的实施例中的方法的后续步骤。可以理解的,第一节点使用图3所示的通信方法确定第一通信组的密钥的情况下,可以使用图7所示的通信方法更新第一通信组的组密钥。可以理解的,在这种情况下,图7所示的实施例中的确定第一密钥的方法和图3中确定第一通信组的密钥的方法保持一致,图7所示的实施例中的对第一密钥进行加密的方法和图3中对组密钥进行加密的方法保持一致。
以上图3所示的方法实施例中包含了很多可能的实现方案,下面分别结合图11、图12对其中的部分实现方案进行举例说明,需要说明的是,图11、图12未解释到的相关概念或者操作或者逻辑关系可以参照图3所示实施例中的相应描述,因此不再赘述。
请参见图11,图11是本申请实施例提供的一种通信方法的流程示意图,该方法可以基于图1所示的架构来实现,该方法包括但不限于如下步骤:
步骤S1101:第二节点向第一节点发送关联请求消息。
具体的,第一关联请求消息中可以包括第二节点的设备标识(具体可以为第二节点的ID)、第二节点支持的安全算法的信息(或者说第二节点的安全能力(SecCapabilities))和第二节点获取的新鲜性参数NONCEe。
第二节点向第一节点发送第一关联请求消息,相应的,第一节点接收来自第二节点的第一关联请求消息。
具体描述还可以参见步骤S301中的内容。
步骤S1102:第一节点向第二节点发送安全上下文请求消息。
具体的,安全上下文请求消息中包括第一身份认证信息AUTHa。可选的,安全上下文请求消息中还可以包括第一节点中获取的新鲜性参数NONCEa、目标安全算法(第一节点与第二节点的单播安全算法)的信息algorithm1和消息认证码MAC1等中的一项或者多项。
其中,第一身份认证信息用于第二节点验证第一节点的身份,该第一身份认证信息为第一节点根据第一节点与第二节点之间的共享密钥生成的。例如,以共享密钥为第一节点与第二节点之间的预共享密钥(pre-shared key,PSK)为例,第一节点通过PSK生成的AUTHa满足如下公式:AUTHa=KDF(PSK)。进一步可选的,参与生成KDF的参数还可以包括第二节点中获取的新鲜性参数NONCEe、第一节点中获取的新鲜性参数NONCEa、关联请求消息等等中的一项或者多项,例如:AUTHa=KDF(PSK,NONCEa,关联请求消息),此处不再一一例举。
安全上下文请求消息中的目标安全算法属于第二节点支持的安全算法的信息指示的安全算法的集合。可选的,该目标安全算法包括加密算法、完保算法、KDF中的一项或者多项,该目标安全算法用于指示第一节点与第二节点通信时所使用的安全算法。
安全上下文请求消息中的消息认证码MAC1用于保护安全上下文请求消息的完整性。可选的,该消息认证码MAC1可以为根据安全上下文请求消息中的部分或者全部数据,基于完保密钥和完保算法生成的。
可以理解的,第一节点向第二节点发送安全上下文请求消息,相应的,第二节点就接收来自第一节点的安全上下文请求消息。
步骤S1103:第二节点根据第一身份认证信息验证第一节点的身份。
具体的,第一身份认证信息为第一节点根据共享密钥生成的,因此第二节点可以使用该共享密钥验证第一身份认证信息,从而验证第一节点的身份。
在一种可能的实施方案中,根据协议规定,第一节点使用什么方法生成第一身份认证信息,第二节点也使用相同的方法生成检验值,若校验值与第一身份认证信息相同,则验证第一节点的身份通过。例如,第二节点根据第二节点中存储的PSK生成校验值check1,即check1=KDF(PSK),然后比较check1与第一身份认证信息AUTHa的值,若check1与AUTHa相同,则认证通过。
可选的,安全上下文请求消息中包括消息认证码MAC1的情况下,第二节点还可以根据消息认证码MAC1验证安全上下文请求消息的完整性。
可选的,若验证第一节点的身份信息不通过或验证安全上下文请求消息的完整性不通过,则说明第一节点的身份不可信、或者说明与第一节点的通信不安全,因此第二节点可以断开与第一节点的连接,或者还可以不再执行后续的通信步骤。
步骤S1104:第二节点向第一节点发送安全上下文响应消息。
具体的,安全上下文响应消息中包括第二身份认证信息AUTHe。可选的,安全上下文响应消息中还可以包括消息认证码MAC1等等。
其中,第二身份认证信息用于第一节点验证第二节点的身份,该第二身份认证信息为第二节点根据第一节点与第二节点之间的共享密钥生成的。例如,以共享密钥为PSK为例,第二节点通过PSK生成的AUTHe满足如下公式:AUTHe=KDF(PSK)。进一步可选的,参与生成KDF的参数还可以包括第二节点中获取的新鲜性参数NONCEe、第一节点中获取的新鲜性参数NONCEa、安全上下文请求消息等等中的一项或者多项,例如:AUTHa=KDF(PSK,NONCEe,安全上下文请求消息),此处不再一一例举。
安全上下文响应消息中的消息认证码MAC2用于保护安全上下文响应消息的完整性。可选的,该消息认证码MAC2可以为根据安全上下文响应消息中的部分或者全部数据,基于完保密钥和完保算法生成的。
可以理解的,第二节点向第一节点发送安全上下文响应消息,相应的,第一节点就接收来自第二节点的安全上下文响应消息。可选的,第二节点可以通过加密密钥对安全上下文响应消息进行加密,相应的,第一节点可以使用相应的解密密钥来解密安全上下文响应消息,从而可以获取安全上下文响应消息中的数据内容。
步骤S1105:第一节点根据第二身份认证信息验证第二节点的身份。
具体的,第二身份认证信息为第二节点根据共享密钥生成的,因此第一节点也具有该共享密钥且可以使用该共享密钥验证第二身份认证信息,从而验证第二节点的身份。
在一种可能的实施方案中,根据协议规定,第二节点使用什么方法生成第二身份认证信息,第一节点也使用相同的方法生成检验值,若校验值与第二身份认证信息相同,则验证第二节点的身份通过。例如,第一节点根据第一节点中存储的PSK生成校验值check2,即check2=KDF(PSK),然后比较check2与第一身份认证信息AUTHe的值,若check2与AUTHe相同,则认证通过。
可选的,安全上下文响应消息中包括消息认证码MAC2的情况下,第一节点还可以根据消息认证码MAC2验证安全上下文响应消息的完整性。
可选的,若验证第二节点的身份信息不通过或验证安全上下文响应消息的完整性不通过,则说明第二节点的身份不可信、或者说明与第二节点的通信不安全,因此第一节点可以断开与第二节点的连接,或者还可以不再执行后续的通信步骤。
步骤S1106:第一节点确定第一通信组的组密钥。
具体地,第一节点至少可以通过以下方法确定第一通信组的组密钥:
方法一:第一节点根据第一通信组的ID确定第一通信组的组密钥,其中第一通信组的ID与第一通信组的组密钥之间存在对应关系。
方法二:第一节点获取一个随机数NONCEa,将NONCEa作为第一通信组的组密钥。
方法三:第一节点根据第一新鲜性参数和第一通信组的ID中的至少一项,通过第二KDF生成所述第一通信组的组密钥。例如,以第一新鲜性参数为一个新鲜性参数NONCEg、第一通信组的ID为GID为例,生成的第一通信组的组密钥满足如下公式:GK=KDF(NONCEg,GID)。再如,以第一新鲜性参数为新鲜性参数NONCEg1和新鲜性参数NONCEg2、第一通信组的ID为GID为例,生成的第一通信组的组密钥满足如下公式:GK=KDF(NONCEg1,NONCEg2)。再如,生成的第一通信组的组密钥满足如下公式:GK=KDF(GID)。可选的,参与生成的GK的参数还可以包括其他信息,例如生成的密钥的长度、使用的哈希算法的标识等等中的一个或者多个。
具体描述还可以参见步骤S302中的内容。
步骤S1107:第一节点基于第一节点与第二节点之间的共享密钥对第一通信组的组密钥进行加密,得到第一保护密钥。
具体的,至少可以包括以下几种实施方案:
实施方案一:第一节点使用共享密钥对组密钥进行加密,得到第一保护密钥。
实施方案二:第一节点可以使用共享密钥和第二新鲜性参数对组密钥进行加密,得到第一保护密钥。
实现方案三:第一节点根据共享密钥生成第一中间密钥,使用第一中间密钥对组密钥进行加密,得到第一保护密钥。
实施方案四:第一节点根据共享密钥和第二新鲜性参数生成第一中间密钥,使用第一中间密钥对组密钥进行加密,得到第一保护密钥。
例如,第一节点根据共享密钥Kdh和第一计数器的值counter1,通过第一KDF生成第一中间密钥Kg,如:Kg=第一KDF(kdh,counter1),其中,第一计数器可以用于表征第一节点根据共享密钥Kdh生成第一中间密钥Kg的次数。再如,第一节点根据会话密钥Kenc和第二新鲜性参数NONCEk,通过第一KDF生成第一中间密钥Kg,如:Kg=第一KDF(Kenc,NONCEk)。再如,第一节点根据共享密钥Kgt和随机数NONCK(或者计数器值counter),通过第一KDF生成第一中间密钥Kg,如:Kg=第一KDF(Kenc,NONCEk(或者counter))。
可选的,第一节点使用第一中间密钥对第一通信组的组密钥进行加密,具体可以为:第一节点将第一通信组的组密钥与第一中间密钥进行异或处理,得到第一保护密钥。例如:第一节点加密得到的第一保护密钥GKc,可以满足如下公式:GKc=GK⊕Kg,其中GK为第一通信组的组密钥,⊕为异或处理,Kg为第一中间密钥。
具体描述请参见步骤S303中的内容。
可选的,图11所示的通信方法还可以包括步骤S1108,该步骤S1108具体如下:
步骤S1108:第一节点确定第一通信组的组安全算法。
具体地,该组安全算法属于组内所有节点均支持的算法。可选的,第一节点确定第一通信组的组安全算法至少有以下几种情况:
情况一:第一节点中存在第一通信组对应的组安全算法,因此第一节点可以根据第一通信组的标识(例如第一通信组的编号)确定对应的组安全算法。例如,以组完保算法为例,参见图6,图6是本申请实施例提供的一种确定组安全算法的方法示意图,可以看出,根据通信组的ID可以确定通信组的ID对应的组算法。例如,参见区域601中的信息可知,组标号(group identify,GID)为GID2的通信组对应的组完保算法为祖冲之密码算法(ZUC)。
情况二:第一节点可以根据算法选择策略确定所述组安全算法,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。
以第一算法选择策略为基于优先级的算法选择策略为例,参见图6,例如,参见区域602中的信息可知,节点E0是ID为GID1的通信组中的一个节点,该通信组GID1中包括节点E0、节点E1、节点E2。第一节点可以获取组内的节点的安全能力(Sec Capabilities)的信息,参见区域603中的信息可知,节点E0支持的完保算法为AES-CCM、ZUC和AES-GCM,节点E1支持的完保算法为AES-CCM和AES-GCM,节点E2支持的安全算法为AES-CCM和AES-GCM,组内节点都支持的算法为AES-CCM和AES-GCM,参见区域604可知,AES-CCM的优先级为1,参见区域605可知,AES-GCM的优先级为3,因此可以将AES-CCM确定为组完保算法。
可选的,基于顺序的算法选择策略,可以根据预先定义或者预先配置的顺序确定顺序较前的安全算法。进一步的,若通信组中的节点支持的两个算法的优先级相同,可以选择顺序靠前的安全算法。
可选的,组安全算法包括第三KDF算法。第一节点可以根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。其中,会话密钥的类型可以包括信令面加密密钥、信令面完保密钥、用户面加密密钥、用户面完保密钥等中的一个或者多个。例如,以信令面加密密钥为例,根据第一通信组的组密钥GK和信令面加密密钥的密钥类型“enc”,通过第三KDF生成信令面的加密密钥Kenc,如:Kenc=第三KDF(GK,“enc”)。进一步的,会话密钥的类型可以对应所述会话密钥应用的场景,本申请仅以上述四种类型为例,具体实现中还可以包括其他的会话密钥类型。
步骤S1109:第一节点向第二节点发送关联建立消息。
可选的,第一关联建立消息中包括第一保护密钥GKc和第一通信组的组安全算法Galgorithm。
可选的,第一关联建立消息中还可以包括第二新鲜性参数NONCEk、第一通信组的组密钥的有效期GK expiration、第一通信组的组密钥的启动时间timer、消息认证码MAC3等等中的一项或者多项。其中,该第二新鲜性参数可以用于第二节点对第一保护密钥进行解密。第一通信组的组密钥的有效期用于指示该第一通信组的组密钥的使用期限。第一通信组的组密钥的启动时间用于指示应用该第一通信组的组密钥的时机。
关联建立消息中的消息认证码MAC3用于第二节点验证关联建立消息的完整性。
可以理解的,第一节点向第二节点发送第一关联建立消息,相应的,第二节点接收来自第一节点的第一关联建立消息。可选的,第一节点可以通过加密密钥对第一关联建立消息进行加密,相应的,第二节点可以使用相应的解密密钥解密第一关联建立消息,从而可以获取第一关联建立消息中的数据内容。
步骤S1110:第二节点基于第一节点与第二节点之间的共享密钥解密第一保护密钥,得到第一通信组的组密钥。
具体描述请参见步骤S305中的内容。
可选的,图11所示的通信方法还可以包括步骤S1111,该步骤S1111具体如下:
步骤S1111:第二节点向第一节点发送关联完成消息。
具体的,该关联完成消息用于指示第一节点关联建立成功。可以理解的,第二节点向第一节点发送关联完成消息,相应的,第一节点可以接收来自第二节点的关联完成消息。可选的,第一节点可以通过加密密钥对第一关联建立消息进行加密,相应的,第二节点可以使用相应的解密密钥解密第一关联建立消息,从而可以获取第一关联建立消息中的数据内容。可选的,该关联完成消息中包括消息认证码MAC4,该消息认证码MAC4用于第一节点验证关联完成消息的完整性。
请参见图12,图12是本申请实施例提供的一种通信方法的流程示意图,该方法可以基于图1所示的架构来实现,该方法包括但不限于如下步骤:
步骤S1201:第二节点向第一节点发送关联请求消息。
具体描述请参见步骤S1101中的内容。
步骤S1202:第一节点向第二节点发送安全上下文请求消息。
具体描述请参见步骤S1102中的内容。
步骤S1203:第二节点根据第一身份认证信息验证第一节点的身份。
具体描述请参见步骤S1103中的内容。
步骤S1204:第二节点向第一节点发送安全上下文响应消息。
具体描述请参见步骤S1104中的内容。
步骤S1205:第一节点根据第二身份认证信息验证第二节点的身份。
具体描述请参见步骤S1105中的内容。
步骤S1206:第一节点确定第一通信组的组密钥。
具体描述请参见步骤S1106中的内容。
步骤S1207:第一节点确定第一节点与第二节点之间的信令面消息是否开启加密。
具体的,第一节点确定第一节点与第二节点之前的信令面消息不开启加密,则第一节点可以执行步骤S1208或者以及之后的步骤。
第一节点确定第一节点与第二节点之前的信令面消息开启加密,则第一节点可以执行步骤S1212或者以及之后的步骤。
步骤S1208:第一节点基于第一节点与第二节点之间的共享密钥对第一通信组的组密钥进行加密,得到第一保护密钥。
具体描述请参见步骤S1107中的内容。
步骤S1209:第一节点确定第一通信组的组安全算法。
具体描述请参见步骤S1108中的内容。
步骤S1210:第一节点向第二节点发送第一关联建立消息。
具体描述请参见步骤S1109中的内容。
步骤S1211:第二节点基于第一节点与第二节点之间的共享密钥解密第一保护密钥,得到第一通信组的组密钥。
具体描述请参见步骤S1110中的内容。
步骤S1212:第一节点向第二节点发送第二关联建立消息。
具体的,若第一节点与第二节点之前的信令面消息开启加密,则第一节点向第二节点发送第二关联建立消息,其中,第二关联建立消息中包括第一通信组的组密钥,由于第二关联建立消息属于第一节点与第二节点之间的信令面消息,因此可以通过信令面消息加密对组密钥进行保护。
步骤S1213:第二节点向第一节点发送关联完成消息。
具体的,该关联完成消息用于指示第一节点关联建立成功。可以理解的,第二节点向第一节点发送关联完成消息,相应的,第一节点可以接收来自第二节点的关联完成消息。可选的,第一节点可以通过加密密钥对第一关联建立消息进行加密,相应的,第二节点可以使用相应的解密密钥解密第一关联建立消息,从而可以获取第一关联建立消息中的数据内容。可选的,该关联完成消息中包括消息认证码,该消息认证用于第一节点验证关联完成消息的完整性。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参见图13,图13是本申请实施例提供的一种通信装置130的结构示意图,该装置130可以为节点,也可以为节点中的一个器件,例如芯片或者集成电路等,该装置130可以包括接收单元1301、处理单元1302和发送单元1303。其中,各个单元的描述如下:
接收单元1301,用于接收来自第二节点的关联请求消息;
处理单元1302,用于确定第一通信组的组密钥,其中,所述第一通信组为所述第二节点所在的通信组;所述第一通信组的组密钥为根据第一新鲜性参数和所述第一通信组的标识ID中的至少一项确定的;
所述处理单元1302,用于基于第一节点与所述第二节点之间的共享密钥对所述第一通信组的组密钥进行加密,得到第一保护密钥;
发送单元1303,用于向所述第二节点发送第一关联建立消息,其中,所述第一关联建立消息包括所述第一保护密钥。
在又一种可能的实施方法中,所述处理单元1302,具体用于:
基于第一节点与所述第二节点之间的所述共享密钥和第二新鲜性参数对所述第一通信组的组密钥进行加密,得到所述第一保护密钥。
在又一种可能的实施方法中,所述处理单元1302,具体用于:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;所述第一KDF属于所述第二节点支持的KDF;
将所述第一中间密钥和所述第一通信组的组密钥执行异或处理,得到所述第一保护密钥。
在又一种可能的实施方法中,所述共享密钥为所述第一节点与所述第二节点之间的加密密钥,所述第二新鲜性参数为随机数;所述第一关联建立消息中包括所述第二新鲜性参数。
在又一种可能的实施方法中,所述第二新鲜性参数为第一计数器的值,所述第一计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。
在又一种可能的实施方法中,所述处理单元1302,具体用于:
根据所述第一通信组的ID确定所述第一通信组的组密钥,所述第一通信组的ID与所述第一通信组的组密钥之间存在对应关系;
或者,根据所述第一新鲜性参数和所述第一通信组的ID中的至少一项,通过第二KDF生成所述第一通信组的组密钥。
在又一种可能的实施方法中,所述处理单元1302,还用于:
确定组安全算法,所述组安全算法属于所述第一通信组中的节点支持的算法;其中,所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项;
所述第一关联建立消息中还包括用于指示所述组安全算法的信息。
在又一种可能的实施方法中,所述组安全算法为第一通信组中的节点支持的算法中优先级最高的算法;
在又一种可能的实施方法中,所述处理单元1302,具体用于根据算法选择策略确定所述组安全算法,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。
在又一种可能的实施方法中,所述组安全算法包括第三KDF算法,所述处理单元,还用于:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
在又一种可能的实施方法中,所述密钥类型包括信令面加密密钥、用户面加密密钥、信令面完保密钥或者用户面完保密钥中的一个或者多个;或者,所述会话密钥的类型对应所述会话密钥应用的场景。
在又一种可能的实施方法中,所述处理单元1302,还用于:
确认所述第一节点与所述第二节点之间的信令面消息不开启加密。
在又一种可能的实施方法中,所述第一节点与所述第二节点之间的信令面消息开启加密;所述发送单元1303,还用于:
向所述第二节点发送第二关联建立消息,其中,所述第二关联建立消息中包括第一通信组的组密钥;所述第二关联建立消息属于所述第一节点与所述第二节点之间的信令面消息。
在又一种可能的实施方法中,所述处理单元1302,还用于确定满足更新所述第一通信组的组密钥的条件;
所述处理单元1302,还用于根据第三新鲜性参数和第一通信组的标识ID中的至少一项确定第一密钥;
所述处理单元1302,还用于基于所述第一节点与第二节点之间的共享密钥对所述第一密钥进行加密,得到第二保护密钥;
所述发送单元1303,还用于向所述第二节点发送密钥更新消息,所述密钥更新消息包括所述第二保护密钥。
在又一种可能的实施方法中,所述第一密钥用于替换所述第一通信组的组密钥。
在又一种可能的实施方法中,所述密钥更新消息还用于指示所述第一密钥的启动时间和所述第一密钥的有效期;所述第一密钥应用于从所述第一密钥的启动时间开始的所述第一密钥的有效期内。
在又一种可能的实施方法中,所述处理单元1302,还用于:
确定接收到来自属于所述第一通信组中的至少一个第二节点的更新确认消息。
在所述第一密钥的启动时间应用所述第一密钥。
在又一种可能的实施方法中,所述处理单元1302,具体用于:
确定接收到来自属于所述第一通信组中的全部第二节点的更新确认消息。
在又一种可能的实施方法中,所述处理单元1302,具体用于:
基于第一节点与所述第二节点之间的所述共享密钥和第四新鲜性参数对所述密钥进行加密,得到所述第二保护密钥。
在又一种可能的实施方法中,所述更新的条件包括:
当前通信帧的帧号与标记帧号的差值大于或者等于第一阈值;其中,所述当前通信帧的帧号与所述标记帧号在同一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述标记帧号与所述当前通信帧的帧号的差值小于或者等于第二阈值;其中,所述当前通信帧的帧号在所述标记帧号的下一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述第一通信组的组密钥的有效期到达或者所述第一通信组的组密钥使用时长到达第三阈值;
或者,所述第一通信组中的至少一个第二节点离开所述第一通信组。
需要说明的是,各个单元的实现还可以对应参照图3、图7、图11或图12所示的实施例的相应描述。该装置130可以为图3、图7、图11或图12所示的实施例中的第一节点。
可以理解的,本申请各个装置实施例中,对多个单元的划分仅是一种根据功能进行的逻辑划分,不作为对装置具体的结构的限定。在具体实现中,其中部分功能模块可能被细分为更多细小的功能模块,部分功能模块也可能组合成一个功能模块,但无论这些功能模块是进行了细分还是组合,装置在通信过程中所执行的大致流程是相同的。例如,上述装置130中的接收单元1301、发送单元1303也可以合并为通信单元。通常,每个单元都对应有各自的程序代码(或者说程序指令),这些单元各自对应的程序代码在处理器上运行时,使得该单元执行相应的流程从而实现相应功能。
请参见图14,图14是本申请实施例提供的一种通信装置140的结构示意图,该通信装置140可以为节点,也可以为节点中的一个器件,例如芯片或者集成电路等,该通信装置140可以包括发送单元1401、接收单元1402和处理单元1403。其中,各个单元的描述如下:
发送单元1401,用于向第一节点发送关联请求消息;
接收单元1402,用于接收来自所述第一节点的第一关联建立消息,所述第一关联建立消息包括第一保护密钥;
处理单元1403,用于基于所述第一节点与第二节点之间的共享密钥以及所述第一保护密钥,得到第一通信组的组密钥;其中,所述第一通信组为所述第二节点所在的通信组。
在又一种可能的实施方法中,所述第一节点和所述第二节点共享所述共享密钥。
在又一种可能的实施方法中,所述处理单元1403,具体用于:
基于所述第一节点与第二节点之间的共享密钥和第二新鲜性参数以及所述第一保护密钥,得到第一通信组的组密钥。
在又一种可能的实施方法中,所述处理单元1403,具体用于:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;
基于所述第一中间以及所述第一保护密钥,得到所述第一通信组的组密钥。
在又一种可能的实施方法中,所述共享密钥为所述第一节点与所述第二节点之间的加密密钥,所述第二新鲜性参数为随机数;所述第一关联建立消息中包括所述第二新鲜性参数。
在又一种可能的实施方法中,所述第二新鲜性参数为第一计数器的值,所述第一计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。
在又一种可能的实施方法中,所述第一关联建立消息中还包括用于指示组安全算法的信息;所述组安全算法属于所述第一通信组中的节点支持的算法;所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项。
在又一种可能的实施方法中,所述组安全算法为第一通信组中的节点支持的算法中优先级最高的算法;
或者,所述确定组安全算法对应于算法选择策略,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。
在又一种可能的实施方法中,所述处理单元1403,还用于:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
在又一种可能的实施方法中,所述密钥类型包括信令面加密密钥、用户面加密密钥、信令面完保密钥或者用户面完保密钥中的一个或者多个;或者,所述会话密钥的类型对应所述会话密钥应用的场景。
在又一种可能的实施方法中,所述基于所述第一节点与第二节点之间的共享密钥解密所述第一保护密钥,得到第一通信组的组密钥之前,还包括:
确认所述第一节点与所述第二节点之间的信令面消息不开启加密。
在又一种可能的实施方法中,所述接收单元1402,还用于接收来自所述第一节点的第二关联建立消息;所述第二关联建立消息包括第一通信组的组密钥;所述第二关联建立消息属于所述第一节点与所述第二节点之间的信令面消息;
所述处理单元1403,还用于通过所述第一节点与所述第二节点之间的信令面加密密钥解密所述第二关联建立消息,得到所述第一通信组的组密钥。
在又一种可能的实施方法中,所述接收单元1402还用于接收来自所述第一节点的密钥更新消息;其中,所述密钥更新消息包括第二保护密钥;
所述处理单元1403,还用于基于所述第一节点与所述第二节点之间的共享密钥以及所述第二保护密钥,得到第一密钥。
在又一种可能的实施方法中,所述第一密钥用于替换所述第一通信组的组密钥。
在又一种可能的实施方法中,所述密钥更新消息还用于指示所述第一密钥的启动时间和所述第一密钥的有效期;所述第一密钥应用于从所述第一密钥的启动时间开始的所述第一密钥的有效期内。
在又一种可能的实施方法中,所述处理单元1403,还用于:
向所述第一节点发送更新确认消息;
在所述第一密钥的启动时间应用所述第一密钥。
在又一种可能的实施方法中,所述处理单元1403,具体用于:
基于第一节点与所述第二节点之间的所述共享密钥和第四新鲜性参数以及所述第二保护密钥,得到所述第一密钥。
需要说明的是,各个单元的实现还可以对应参照图3、图7、图11或图12所示的实施例的相应描述。该通信装置140可以为图3、图7、图11或图12所示的实施例中的第二节点。
请参见图15,图15是本申请实施例提供的一种通信装置150的结构示意图,该通信装置150可以为节点,也可以为节点中的一个器件,例如芯片或者集成电路等。该通信装置150可以包括至少一个存储器1501和至少一个处理器1502。可选的,还可以包含总线1503。进一步可选的,还可以包括通信接口1504,其中,存储器1501、处理器1502和通信接口1504通过总线1503相连。
其中,存储器1501用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器1501可以是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read onlymemory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)等等中的一种或者多种的组合。
处理器1502是进行算术运算和/或逻辑运算的模块,具体可以是中央处理器(central processing unit,CPU)、图片处理器(graphics processing unit,GPU)、微处理器(microprocessor unit,MPU)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex programmable logic device,CPLD)等处理模块中的一种或者多种的组合。
通信接口1504用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(Wi-Fi、蓝牙、通用无线传输等)接口。可选的,通信接口1504还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
该通信装置150中的处理器1502用于读取所述存储器1501中存储的计算机程序,用于执行前述的通信方法,例如图3、图7、图11或图12所描述的通信方法。
举例来说,该通信装置150中的处理器1502用于读取所述存储器1501中存储的计算机程序,用于执行以下操作:
通过通信接口1504接收来自第二节点的关联请求消息;
确定第一通信组的组密钥,其中,所述第一通信组为所述第二节点所在的通信组;所述第一通信组的组密钥为根据第一新鲜性参数和所述第一通信组的标识ID中的至少一项确定的;
基于第一节点与所述第二节点之间的共享密钥对所述第一通信组的组密钥进行加密,得到第一保护密钥;
通过通信接口1504向所述第二节点发送第一关联建立消息,其中,所述第一关联建立消息包括所述第一保护密钥。
在又一种可能的实施方法中,所述处理器1502,具体用于:
基于第一节点与所述第二节点之间的所述共享密钥和第二新鲜性参数对所述第一通信组的组密钥进行加密,得到所述第一保护密钥。
在又一种可能的实施方法中,所述处理器1502,具体用于:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;所述第一KDF属于所述第二节点支持的KDF;
将所述第一中间密钥和所述第一通信组的组密钥执行异或处理,得到所述第一保护密钥。
在又一种可能的实施方法中,所述共享密钥为所述第一节点与所述第二节点之间的加密密钥,所述第二新鲜性参数为随机数;所述第一关联建立消息中包括所述第二新鲜性参数。
在又一种可能的实施方法中,所述第二新鲜性参数为第一计数器的值,所述第一计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。
在又一种可能的实施方法中,所述处理器1502,具体用于:
根据所述第一通信组的ID确定所述第一通信组的组密钥,所述第一通信组的ID与所述第一通信组的组密钥之间存在对应关系;
或者,根据所述第一新鲜性参数和所述第一通信组的ID中的至少一项,通过第二KDF生成所述第一通信组的组密钥。
在又一种可能的实施方法中,所述处理器1502,还用于:
确定组安全算法,所述组安全算法属于所述第一通信组中的节点支持的算法;其中,所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项;
所述第一关联建立消息中还包括用于指示所述组安全算法的信息。
在又一种可能的实施方法中,所述组安全算法为第一通信组中的节点支持的算法中优先级最高的算法;
在又一种可能的实施方法中,所述处理器1502,具体用于根据算法选择策略确定所述组安全算法,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。
在又一种可能的实施方法中,所述组安全算法包括第三KDF算法,所述处理单元,还用于:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
在又一种可能的实施方法中,所述密钥类型包括信令面加密密钥、用户面加密密钥、信令面完保密钥或者用户面完保密钥中的一个或者多个;或者,所述会话密钥的类型对应所述会话密钥应用的场景。
在又一种可能的实施方法中,所述处理器1502,还用于:
确认所述第一节点与所述第二节点之间的信令面消息不开启加密。
在又一种可能的实施方法中,所述第一节点与所述第二节点之间的信令面消息开启加密;所述处理器1502,还用于:
通过通信接口1504向所述第二节点发送第二关联建立消息,其中,所述第二关联建立消息中包括第一通信组的组密钥;所述第二关联建立消息属于所述第一节点与所述第二节点之间的信令面消息。
在又一种可能的实施方法中,所述处理器1502,还用于:
确定满足更新所述第一通信组的组密钥的条件;
根据第三新鲜性参数和第一通信组的标识ID中的至少一项确定第一密钥;
基于所述第一节点与第二节点之间的共享密钥对所述第一密钥进行加密,得到第二保护密钥;
通过通信接口1504向所述第二节点发送密钥更新消息,所述密钥更新消息包括所述第二保护密钥。
在又一种可能的实施方法中,所述第一密钥用于替换所述第一通信组的组密钥。
在又一种可能的实施方法中,所述密钥更新消息还用于指示所述第一密钥的启动时间和所述第一密钥的有效期;所述第一密钥应用于从所述第一密钥的启动时间开始的所述第一密钥的有效期内。
在又一种可能的实施方法中,所述处理器1502,还用于:
确定接收到来自属于所述第一通信组中的至少一个第二节点的更新确认消息。
在所述第一密钥的启动时间应用所述第一密钥。
在又一种可能的实施方法中,所述处理器1502,具体用于:
确定接收到来自属于所述第一通信组中的全部第二节点的更新确认消息。
在又一种可能的实施方法中,所述处理器1502,具体用于:
基于第一节点与所述第二节点之间的共享密钥和第四新鲜性参数对所述第一密钥进行加密,得到所述第二保护密钥。
在又一种可能的实施方法中,所述更新的条件包括:
当前通信帧的帧号与标记帧号的差值大于或者等于第一阈值;其中,所述当前通信帧的帧号与所述标记帧号在同一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述标记帧号与所述当前通信帧的帧号的差值小于或者等于第二阈值;其中,所述当前通信帧的帧号在所述标记帧号的下一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述第一通信组的组密钥的有效期到达或者所述第一通信组的组密钥使用时长到达第三阈值;
或者,所述第一通信组中的至少一个第二节点离开所述第一通信组。
需要说明的是,各个单元的实现还可以对应参照图3、图7、图11或图12所示的实施例的相应描述。该通信装置150可以为图3、图7、图11或图12所示的实施例中的第一节点。
请参见图16,图16是本申请实施例提供的一种通信装置160的结构示意图,该通信装置160可以为节点,也可以为节点中的一个器件,例如芯片或者集成电路等。该通信装置160可以包括至少一个存储器1601和至少一个处理器1602。可选的,还可以包含总线1603。进一步可选的,还可以包括通信接口1604,其中,存储器1601、处理器1602和通信接口1604通过总线1603相连。
其中,存储器1601用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器1601可以是RAM、ROM、EPROM、CD-ROM等等中的一种或者多种的组合。
处理器1602是进行算术运算和/或逻辑运算的模块,具体可以是CPU、GPU、MPU、ASIC、FPGA、CPLD等处理模块中的一种或者多种的组合。
通信接口1604用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(Wi-Fi、蓝牙等)接口。可选的,通信接口1604还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
该通信装置160中的处理器1602用于读取所述存储器1601中存储的计算机程序,用于执行前述的通信方法,例如图3、图7、图11或图12所描述的通信方法。
举例来说,该通信装置160中的处理器1602用于读取所述存储器1601中存储的计算机程序,用于执行以下操作:
通过通信接口1604向第一节点发送关联请求消息;
通过通信接口1604接收来自所述第一节点的第一关联建立消息,所述第一关联建立消息包括第一保护密钥;
基于所述第一节点与第二节点之间的共享密钥以及所述第一保护密钥,得到第一通信组的组密钥;其中,所述第一通信组为所述第二节点所在的通信组。
在又一种可能的实施方法中,所述第一节点和所述第二节点共享所述共享密钥。
在又一种可能的实施方法中,所述处理器1602,具体用于:
基于所述第一节点与第二节点之间的共享密钥和第二新鲜性参数以及所述第一保护密钥,得到第一通信组的组密钥。
在又一种可能的实施方法中,所述处理器1602,具体用于:
根据第一节点与所述第二节点之间的共享密钥和第二新鲜性参数,通过第一密钥派生算法KDF生成第一中间密钥;
基于所述第一中间以及所述第一保护密钥,得到所述第一通信组的组密钥。
在又一种可能的实施方法中,所述共享密钥为所述第一节点与所述第二节点之间的加密密钥,所述第二新鲜性参数为随机数;所述第一关联建立消息中包括所述第二新鲜性参数。
在又一种可能的实施方法中,所述第二新鲜性参数为第一计数器的值,所述第一计数器用于表征基于所述共享密钥对所述第一通信组的组密钥进行加密的次数。
在又一种可能的实施方法中,所述第一关联建立消息中还包括用于指示组安全算法的信息;所述组安全算法属于所述第一通信组中的节点支持的算法;所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项。
在又一种可能的实施方法中,所述组安全算法为第一通信组中的节点支持的算法中优先级最高的算法;
或者,所述确定组安全算法对应于算法选择策略,所述算法选择策略包括基于优先级的算法选择策略、基于顺序的算法选择策略中的至少一项。
在又一种可能的实施方法中,所述处理器1602,还用于:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
在又一种可能的实施方法中,所述密钥类型包括信令面加密密钥、用户面加密密钥、信令面完保密钥或者用户面完保密钥中的一个或者多个;或者,所述会话密钥的类型对应所述会话密钥应用的场景。
在又一种可能的实施方法中,所述基于所述第一节点与第二节点之间的共享密钥以及所述第一保护密钥,得到第一通信组的组密钥之前,还包括:
确认所述第一节点与所述第二节点之间的信令面消息不开启加密。
在又一种可能的实施方法中,所述处理器1602,还用于:
通过通信接口1604接收来自所述第一节点的第二关联建立消息;所述第二关联建立消息包括第一通信组的组密钥;所述第二关联建立消息属于所述第一节点与所述第二节点之间的信令面消息;
通过所述第一节点与所述第二节点之间的信令面加密密钥解密所述第二关联建立消息,得到所述第一通信组的组密钥。
在又一种可能的实施方法中,所述处理器1602,还用于:
通过通信接口1604接收来自所述第一节点的密钥更新消息;其中,所述密钥更新消息包括第二保护密钥;
基于所述第一节点与所述第二节点之间的共享密钥以及所述第二保护密钥,得到第一密钥。
在又一种可能的实施方法中,所述第一密钥用于替换所述第一通信组的组密钥。
在又一种可能的实施方法中,所述密钥更新消息还用于指示所述第一密钥的启动时间和所述第一密钥的有效期;所述第一密钥应用于从所述第一密钥的启动时间开始的所述第一密钥的有效期内。
在又一种可能的实施方法中,所述处理器1602,还用于:
向所述第一节点发送更新确认消息;
在所述第一密钥的启动时间应用所述第一密钥。
在又一种可能的实施方法中,所述处理器1602,具体用于:
基于第一节点与所述第二节点之间的所述共享密钥和第四新鲜性参数以及所述第二保护密钥,得到所述第一密钥。
需要说明的是,各个单元的实现还可以对应参照图3、图7、图11或图12所示的实施例的相应描述。该通信装置160可以为图3、图7、图11或图12所示的实施例中的第二节点。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行图3、图7、图11或图12所示的任意一种实施例所述的方法。
本申请实施例还提供了一种芯片系统,所述芯片系统通信装置包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行图3、图7、图11或图12所示的任意一种实施例所述的方法。
本申请实施例还提供了一种终端,所述终端包括第一节点(例如,汽车座舱域控制器CDC)和/或第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入或启动系统控制器等模块中的至少一个),其中所述第一节点包含上述图13或者图15所示实施例所描述的装置,所述第二节点包含上述图13或者图15所示实施例所描述的装置。
进一步可选的,所述终端可以为车辆、无人机、机器人、智能家居场景中的设备、智能制造场景中的设备等。
本申请实施例还提供一种智能座舱产品,所述智能座舱产品包括第一节点(例如,汽车座舱域控制器CDC),所述第一节点为图3、图7、图11或图12所示的任意一种实施例中的第一节点。进一步的,所述智能座舱产品还包括第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入及启动系统控制器等模块中的至少一个),所述第二节点为图3、图7、图11或图12所示任意一种实施例中的第二节点。
本申请实施例还提供一种车辆,所述车辆包括第一节点(例如,汽车座舱域控制器CDC)。进一步的,所述车辆还包括第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入或启动系统控制器等模块中的至少一个),其中上述第一节点为图3、图7、图11或图12所示的任意一种实施例中的第一节点,上述第二节点为图3、图7、图11或图12所示的任意一种实施例中的第二节点。可替换的,上述车辆还可以替换为无人机、机器人等智能终端或者运输工具。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在一个或多个处理器上运行时,可以执行如图3、图7、图11或图12所示的任意一种实施例所描述的通信方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机产品(例如计算机成程序或计算机指令)的形式实现。在计算机上加载和执行该计算机程序产品时,可以全部或部分地实现本申请实施例所描述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。该计算机程序产品可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请方法实施例中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请装置实施例中的模块可以根据实际需要进行合并、划分和删减。
Claims (23)
1.一种通信方法,其特征在于,包括:
接收来自第二节点的关联请求消息;
确定第一通信组的组密钥,其中,所述第一通信组为所述第二节点所在的通信组;所述第一通信组的组密钥为根据第一新鲜性参数和所述第一通信组的标识ID中的至少一项得到的;
向所述第二节点发送第一关联建立消息,其中,所述第一关联建立消息包括所述第一通信组的组密钥。
2.根据权利要求1所述的方法,其特征在于,所述确定第一通信组的组密钥,包括:
根据所述第一通信组的ID确定所述第一通信组的组密钥,所述第一通信组的ID与所述第一通信组的组密钥之间存在对应关系;
或者,根据所述第一新鲜性参数和所述第一通信组的ID中的至少一项,通过第二KDF生成所述第一通信组的组密钥。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
确定组安全算法,所述组安全算法属于所述第一通信组中的节点支持的算法;其中,所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项;
所述第一关联建立消息中还包括用于指示所述组安全算法的信息。
4.根据权利要求3中所述的方法,其特征在于,所述组安全算法包括第三KDF算法,所述方法还包括:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
5.根据权利要求4所述的方法,其特征在于,所述会话密钥包含信令面加密密钥、信令面完整性保护密钥、用户面加密密钥和用户面完整性保护密钥中的一个或者多个。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法包括:
确定满足更新所述第一通信组的组密钥的条件;
根据第二新鲜性参数和第一通信组的标识ID中的至少一项确定第一密钥;
向所述第二节点发送密钥更新消息,所述密钥更新消息包括所述第一密钥。
7.根据权利要求6所述的方法,其特征在于,所述密钥更新消息还用于指示所述第一密钥的启动时间。
8.根据权利要求7所述的方法,其特征在于,所述向所述第二节点发送密钥更新消息之后,还包括:
确定接收到来自属于所述第一通信组中的至少一个第二节点的更新确认消息;
在所述第一密钥的启动时间应用所述第一密钥。
9.根据权利要求6-8任一项所述的方法,其特征在于,所述更新所述第一通信组的组密钥的条件包括:
当前通信帧的帧号与标记帧号的差值大于或者等于第一阈值;其中,所述当前通信帧的帧号与所述标记帧号在同一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述标记帧号与所述当前通信帧的帧号的差值小于或者等于第二阈值;其中,所述当前通信帧的帧号在所述标记帧号的下一轮计数周期;所述标记帧号为需要进行密钥更新的帧号或者所述标记帧号为第一次应用所述第一通信组的组密钥进行加密的通信帧的帧号;
或者,所述第一通信组的组密钥的有效期到达或者所述第一通信组的组密钥使用时长到达第三阈值;
或者,所述第一通信组中的至少一个第二节点离开所述第一通信组。
10.一种通信方法,其特征在于,应用于第二节点,所述方法包括:
向第一节点发送关联请求消息;
接收来自所述第一节点的第一关联建立消息,所述第一关联建立消息包括第一通信组的组密钥,所述第一通信组为所述第二节点所在的通信组。
11.根据权利要求10所述的方法,其特征在于,所述第一关联建立消息中还包括用于指示组安全算法的信息;所述组安全算法属于所述第一通信组中的节点支持的算法;所述组安全算法包括组加密算法、组完整性保护算法和组KDF算法中的至少一项。
12.根据权利要求11中所述的方法,其特征在于,所述组安全算法包括第三KDF算法,所述方法还包括:
根据所述第一通信组的组密钥和会话密钥的类型,通过所述第三KDF算法生成所述第一通信组的会话密钥。
13.根据权利要求12所述的方法,其特征在于,所述会话密钥包含信令面加密密钥、信令面完整性保护密钥、用户面加密密钥和用户面完整性保护密钥中的一个或者多个。
14.根据权利要求10-13任一项所述的方法,其特征在于,所述方法还包括:
接收来自所述第一节点的密钥更新消息,其中,所述密钥更新消息包括第一密钥。
15.根据权利要求14所述的方法,其特征在于,所述密钥更新消息还用于指示所述第一密钥的启动时间。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
向所述第一节点发送更新确认消息;
在所述第一密钥的启动时间应用所述第一密钥。
17.一种通信装置,其特征在于,所述通信装置包括用于执行权利要求1-9中任一项所述的方法的单元。
18.一种通信装置,其特征在于,所述通信装置包括用于执行权利要求10-16中任一项所述的方法的单元。
19.一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述芯片系统所在的装置实现如权利要求1-9中任一项所述的方法。
20.一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述芯片系统所在的装置实现如权利要求10-16中任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行如权利要求1-9中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行如权利要求10-16中任一项所述的方法。
23.一种通信系统,其特征在于,包括:
第一节点,所述第一节点包含如权利要求17所述的通信装置;
第二节点,所述第二节点包含如权利要求18所述的通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311484258.9A CN117749355A (zh) | 2020-08-28 | 2020-08-28 | 一种通信方法及相关装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/112249 WO2022041141A1 (zh) | 2020-08-28 | 2020-08-28 | 一种通信方法及相关装置 |
CN202080103262.4A CN115885496B (zh) | 2020-08-28 | 2020-08-28 | 一种通信方法及相关装置 |
CN202311484258.9A CN117749355A (zh) | 2020-08-28 | 2020-08-28 | 一种通信方法及相关装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080103262.4A Division CN115885496B (zh) | 2020-08-28 | 2020-08-28 | 一种通信方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117749355A true CN117749355A (zh) | 2024-03-22 |
Family
ID=80352448
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080103262.4A Active CN115885496B (zh) | 2020-08-28 | 2020-08-28 | 一种通信方法及相关装置 |
CN202311484258.9A Pending CN117749355A (zh) | 2020-08-28 | 2020-08-28 | 一种通信方法及相关装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080103262.4A Active CN115885496B (zh) | 2020-08-28 | 2020-08-28 | 一种通信方法及相关装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230208625A1 (zh) |
EP (1) | EP4195580A4 (zh) |
JP (1) | JP2023541563A (zh) |
KR (1) | KR20230051592A (zh) |
CN (2) | CN115885496B (zh) |
WO (1) | WO2022041141A1 (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100389555C (zh) * | 2005-02-21 | 2008-05-21 | 西安西电捷通无线网络通信有限公司 | 一种适合有线和无线网络的接入认证方法 |
WO2007111710A2 (en) * | 2005-11-22 | 2007-10-04 | Motorola Inc. | Method and apparatus for providing a key for secure communications |
CN101242323B (zh) * | 2007-02-06 | 2010-12-08 | 华为技术有限公司 | 设备间管道的建立方法和家庭网络系统 |
JP5328141B2 (ja) * | 2007-12-05 | 2013-10-30 | キヤノン株式会社 | 通信装置、通信装置の制御方法、コンピュータプログラム |
JP5328142B2 (ja) * | 2007-12-05 | 2013-10-30 | キヤノン株式会社 | 通信装置、通信装置の制御方法、コンピュータプログラム |
CN102761830A (zh) * | 2011-04-27 | 2012-10-31 | 华为终端有限公司 | 多播密钥更新、发送方法、接入点设备、终端设备和系统 |
CN104769982B (zh) * | 2013-10-23 | 2019-05-03 | 华为技术有限公司 | 用户设备之间进行安全通信的方法及装置 |
WO2016147303A1 (ja) * | 2015-03-16 | 2016-09-22 | 株式会社東芝 | 管理装置、プログラム、システム、機器および方法 |
CN106027233A (zh) * | 2016-04-28 | 2016-10-12 | 江苏大学 | 一种车载网群组协商通信协议设计方法 |
KR20190056661A (ko) * | 2017-11-17 | 2019-05-27 | (주)이씨스 | 차량 네트워크에서 기지국 기반 보안 통신 방법 |
US10939288B2 (en) * | 2018-01-14 | 2021-03-02 | Qualcomm Incorporated | Cellular unicast link establishment for vehicle-to-vehicle (V2V) communication |
DE102018214354A1 (de) * | 2018-08-24 | 2020-02-27 | Robert Bosch Gmbh | Erstes fahrzeugseitiges Endgerät, Verfahren zum Betreiben des ersten Endgeräts, zweites fahrzeugseitiges Endgerät und Verfahren zum Betreiben des zweiten fahrzeugseitigen Endgeräts |
CN109005539B (zh) * | 2018-09-06 | 2021-12-14 | 东北大学 | 基于加密Mix-Zone的VANETs中车辆节点位置隐私保护方法 |
CN110933672B (zh) * | 2019-11-29 | 2021-11-30 | 华为技术有限公司 | 一种密钥协商方法及电子设备 |
-
2020
- 2020-08-28 CN CN202080103262.4A patent/CN115885496B/zh active Active
- 2020-08-28 EP EP20950811.8A patent/EP4195580A4/en active Pending
- 2020-08-28 KR KR1020237009722A patent/KR20230051592A/ko unknown
- 2020-08-28 CN CN202311484258.9A patent/CN117749355A/zh active Pending
- 2020-08-28 JP JP2023514142A patent/JP2023541563A/ja active Pending
- 2020-08-28 WO PCT/CN2020/112249 patent/WO2022041141A1/zh active Application Filing
-
2023
- 2023-02-28 US US18/176,289 patent/US20230208625A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230208625A1 (en) | 2023-06-29 |
KR20230051592A (ko) | 2023-04-18 |
CN115885496B (zh) | 2023-10-20 |
JP2023541563A (ja) | 2023-10-03 |
WO2022041141A1 (zh) | 2022-03-03 |
EP4195580A1 (en) | 2023-06-14 |
EP4195580A4 (en) | 2023-09-27 |
CN115885496A (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8295488B2 (en) | Exchange of key material | |
EP4254861A1 (en) | Secure access method and device | |
KR20120105507A (ko) | 사용자 단말기들 사이의 보안 연결을 확립하기 위한 방법 및 시스템 | |
CN113545115B (zh) | 一种通信方法及装置 | |
CN112753203B (zh) | 一种安全通信方法及装置 | |
CN112449323B (zh) | 一种通信方法、装置和系统 | |
CN115104282B (zh) | 一种密钥更新方法及相关装置 | |
CN112602290B (zh) | 一种身份验证方法、装置和可读存储介质 | |
JP2007110487A (ja) | Lanシステムおよびその通信方法 | |
WO2022021256A1 (zh) | 一种关联控制方法及相关装置 | |
CN116530117A (zh) | 一种WiFi安全认证方法及通信装置 | |
CN115885496B (zh) | 一种通信方法及相关装置 | |
CN113455034B (zh) | 一种通信方法及装置 | |
CN113455032A (zh) | 通信方法及装置 | |
IL254758B2 (en) | Method, equipment and computer software product for code encryption | |
US20230099065A1 (en) | Key obtaining method and related apparatus | |
KR20230016662A (ko) | 키 네고시에이션 방법, 장치 및 시스템 | |
CN116996872A (zh) | 一种信道建立方法、装置、系统及计算设备 | |
CN113228722A (zh) | 一种配对方法及装置 | |
CN111918229A (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 |