CN113228722A - 一种配对方法及装置 - Google Patents
一种配对方法及装置 Download PDFInfo
- Publication number
- CN113228722A CN113228722A CN202180001248.8A CN202180001248A CN113228722A CN 113228722 A CN113228722 A CN 113228722A CN 202180001248 A CN202180001248 A CN 202180001248A CN 113228722 A CN113228722 A CN 113228722A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- pairing
- pairing method
- key agreement
- 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
- 238000000034 method Methods 0.000 title claims abstract description 526
- 238000004891 communication Methods 0.000 claims abstract description 57
- 238000004422 calculation algorithm Methods 0.000 claims description 230
- 238000012545 processing Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 17
- 230000007774 longterm Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000012795 verification Methods 0.000 description 11
- 238000009795 derivation Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/08—Access restriction or access information delivery, e.g. discovery data delivery
- H04W48/10—Access restriction or access information delivery, e.g. discovery data delivery using broadcasted information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供一种配对方法及装置,应用于通信技术、网联车领域,方法包括:第一借贷发送第一消息,所述第一消息包括所述第一节点支持的至少一种配对方法的指示信息;接收来自第二节点的第二消息,所述第二消息包括第一配对方法的指示信息,所述第一配对方法包含于所述第一节点和所述第二节点均支持的配对方法中。通过本申请实施例,两个节点可以支持多个配对方法,进而从多个配对方法协商第一配对方法,提高了节点配对的灵活性。该方案进一步可用于提升自动驾驶或高级驾驶辅助***ADAS能力,可应用于车联网V2X、车间通信长期演进技术LTE‑V、车辆‑车辆V2V等领域。
Description
技术领域
本申请涉及通信技术、网联车领域,尤其涉及短距离通信技术领域,例如座舱域通信。具体涉及一种配对方法及装置。
背景技术
在信息化飞速发展的今天,移动终端,手机、平板还是其他可携带式智能终端是我们不可缺少的重要个人智能工具,给我们的生活带来了很多便利。通信技术的发展,更使得人们能够利用智能工具进行方便快捷的通信。例如,蓝牙技术是一种能够支持设备短距离通信(一般10m)的无线电技术,能在包括移动电话、无线耳机、笔记本电脑和相关外设等众多设备之间进行无线信息交换。通过蓝牙技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网之间的通信,从而使得数据传输变得更加迅速高效。
为了保证通信的安全,在两个节点(方便描述称为第一节点和第二节点)通信之前,第二节点会采用配对方法接入第一节点。目前,两个节点之间的配对方法由两个设备的输入输出(IO capability,I代表input,O代表output)能力唯一决定。例如,第一节点的IO能力为输入数字的能力,第二节点的IO能力为显示能力,则第一节点和第二节点之间的配对方法只有一种,该配对方法可以为第一节点输入口令和第二节点显示口令。
由于目前的通信技术中,两个节点之间只有一种配对方法,应用场景有限,节点之间配对的灵活性不高。
发明内容
本申请实施例公开了一种配对方法及装置。通过本申请,两个节点之间可以支持多个配对方法,从而可以提高节点之间配对的灵活性。
第一方面,本申请实施例公开了一种配对方法,应用于第一节点,包括:
发送第一消息,所述第一消息包括所述第一节点支持的至少一种配对方法的指示信息;
接收来自第二节点的第二消息,所述第二消息包括第一配对方法的指示信息,所述第一配对方法包含于所述第一节点和所述第二节点均支持的配对方法中。
在本申请实施例中,第一节点和第二节点支持一个或多个配对方法,第二节点可以从第一节点和第二节点均支持的配对方法中确定第一配对方法,以使第一节点和第二节点可以通过第一配对方法进行配对。通过本申请,第一节点和第二节点可以根据不同的应用场景协商确定第一配对方法,提供了两个节点之间配对方法的多种选择,提高了节点之间配对的灵活性。
在第一方面的一种可能的实施方式中,所述第二消息用于请求与所述第一节点建立关联。
在第一方面的又一种可能的实现方式中,所述第一消息还包括所述第一节点支持的至少一种配对方法对应的优先级信息,或者,所述至少一种配对方法对应的优先级是预配置的。
在第一方面的又一种可能的实现方式中,所述第一配对方法为基于所述第一节点支持的至少一种配对方法的优先级信息确定的。
在一些实施例中,优先级的高低可以代表两个节点之间的配对方法的合适程度。那么,本申请中节点通过优先级可以将两个节点之间优选的配对方法确定第一配对方法。
在第一方面的又一种可能的实现方式中,所述第二消息还包括所述第二节点支持的至少一种配对方法的指示信息。
在第一方面的又一种可能的实现方式中,所述方法还包括:
确定是否将所述第一配对方法用于与所述第二节点建立关联;
在确定不将所述第一配对方法用于与所述第二节点建立关联时,向所述第二节点发送拒绝消息,所述拒绝消息用于指示配对方法选择错误。
本申请中,第一节点还可以对第二节点确定的第一配对方法进行判断。例如,在第一节点和可信节点均预设优先级的情况下,第二节点接收到的第二消息中第一配对方法不是优先级最高的配对方法,则第二消息可以被攻击者篡改,或第二消息或第二节点不是可信节点,第一节点不通过第一配对方法与第二节点配对,并向第二节点发送拒绝消息,可以确保第一节点的安全。
在第一方面的又一种可能的实现方式中,所述方法还包括:
从所述第一节点和所述第二节点均支持的配对方法中确定第二配对方法;
在所述第一配对方法与所述第二配对方法不是同一个配对方法时,确定不将所述第一配对方法用于与所述第二节点建立关联。
在第一方面的又一种可能的实现方式中,所述拒绝消息包括指示所述第二配对方法的指示信息。
在第一方面的又一种可能的实现方式中,所述第二消息还包括第一密钥协商算法的指示信息和第一密钥协商参数,所述第一密钥协商参数是所述第二节点根据所述第一密钥协商算法生成的,所述方法还包括:
向所述第二节点发送第三消息,所述第三消息包括第一认证信息和第二密钥协商参数,所述第二密钥协商参数是所述第一节点根据所述第一密钥协商算法得到的,所述第一认证信息是所述第一节点根据第一共享密钥得到的,所述第一共享密钥是所述第一节点根据所述第一密钥协商算法和所述第一密钥协商参数确定的;
接收来自所述第二节点的第四消息,所述第四消息是所述第二节点在验证所述第一认证信息与第二认证信息一致时发送至所述第一节点的,所述第二认证信息是所述第二节点根据第二共享密钥得到的,所述第二共享密钥是所述第二节点根据所述第一密钥协商算法和所述第二密钥协商参数得到的。
在第一方面的又一种可能的实现方式中,所述第四消息包括第三认证信息,所述第三认证信息是所述第二节点根据所述第二共享密钥得到的,所述方法还包括:
在验证所述第三认证信息与第四认证信息一致时,确定所述第二节点的身份认证通过,所述第四认证信息是所述第一节点根据所述第一共享密钥得到的。
在第一方面的又一种可能的实现方式中,所述第三认证信息是所述第二节点通过推演算法根据所述第二共享密钥和所述第一节点支持的至少一种配对方法,所述方法还包括:
通过所述推演算法根据所述第一共享密钥和所述第一节点支持的至少一种配对方法,生成所述第四认证信息。
可选地,第二节点生成第三认证信息时还可以采用所述第一节点支持的至少一种配对方法的优先级。具体的,所述第三认证信息是所述第二节点通过推演算法根据所述第二共享密钥、所述第一节点支持的至少一种配对方法和所述第一节点支持的至少一种配对方法的优先级生成的。则第一节点可以通过所述推演算法根据所述第一共享密钥、所述第一节点支持的至少一种配对方法和所述第一节点支持的至少一种配对方法的优先级,生成所述第四认证信息。进而,在验证所述第三认证信息与第四认证信息一致时,确定所述第二节点的身份认证通过。
在第一方面的又一种可能的实现方式中,所述第一消息还包括所述第一节点支持的密钥协商算法的指示信息,所述第一节点支持的密钥协商算法的指示信息用于所述第二节点从所述第一节点和所述第二节点均支持的密钥协商算法中确定所述第一密钥协商算法和根据所述第一密钥协商算法确定所述第一密钥协商参数。
在第一方面的又一种可能的实现方式中,所述第二消息还包含第一随机数,所述方法还包括:
根据所述第一共享密钥、所述第一随机数和第二随机数,推演得到第一密钥,所述第二随机数是所述第一节点生成的;
根据所述第一配对方法确定口令;
根据所述口令、所述第一密钥、所述第一随机数和所述第二随机数确定所述第一节点与所述第二节点之间的预共享密钥PSK;
根据所述PSK、所述第一共享密钥和所述第一随机数,生成所述第一认证信息。
在第一方面的又一种可能的实现方式中,所述方法还包括:
根据所述第三消息,得到第一消息完整性代码MIC,所述第一MIC用于验证第三消息的完整性;
将所述第一MIC发送至所述第二节点,以使所述第二节点在根据所述第一MIC验证所述第三消息的完整性成功时生成所述第一认证消息;
在根据第二MIC验证所述第四消息的完整性成功时,通过所述第一配对方法与所述第二节点建立关联,所述第四消息包括所述第二MIC,所述第二MIC是所述第二节点根据所述第四消息得到的。
在第一方面的又一种可能的实现方式中,第一节点支持的至少一种配对方法的指示信息为所述第一节点的输入输出能力。
在第一方面的又一种可能的实现方式中,所述第一配对方法为所述第一节点和所述第二节点均支持的配对方法中被所述第二节点的用户选定的。
在第一方面的又一种可能的实现方式中,前述第一消息也可以为第一节点广播至第二节点的。第二消息也称为接入请求消息(或者关联请求消息)。进一步的,第三消息也可以称为安全上下文请求消息(或者身份认证请求消息)。第四消息也可以称为安全上下文响应消息(或者身份认证响应消息)。
在第一方面的又一种可能的实施方式中,所述方法还包括:
向第二节点发送第五消息,所述第五消息用于指示接入成功,或者用于指示关联完成。进一步的,该第五消息可以称为关联建立消息(或者接入关联完成消息)、关联完成消息等。
第二方面,本申请实施例公开了一种配对方法,应用于第二节点,包括:
接收来自第一节点的第一消息,所述第一消息包括所述第一节点支持的至少一种配对方法的指示信息;
从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法;
向所述第二节点发送第二消息,所述第二消息包括所述第一配对方法。
在第二方面的又一种可能的实现方式中,所述第二消息用于请求与所述第一节点建立关联。
在第二方面的又一种可能的实现方式中,所述第一消息还包括所述第一节点支持的至少一种配对方法对应的优先级信息,或者,所述至少一种配对方法对应的优先级是预配置的。
在第二方面的又一种可能的实现方式中,所述从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法,包括:
基于所述第一节点支持的至少一种配对方法的优先级信息,从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法。
在第二方面的又一种可能的实现方式中,所述第二消息还包括所述第二节点支持的至少一种配对方法的指示信息。
在第二方面的又一种可能的实现方式中,所述方法还包括:
接收来自所述第一节点的拒绝消息,所述拒绝消息用于指示配对方法选择错误,所述拒绝消息是所述第一节点在确定不将所述第一配对方法用于与所述第二节点建立关联时向所述第二节点发送的。
在第二方面的又一种可能的实现方式中,所述拒绝消息包括指示第二配对方法的指示信息。
在第二方面的又一种可能的实现方式中,所述第二配对方法是所述第一节点从所述第一节点和所述第二节点均支持的配对方法中确定的,所述第二配对方法用于所述第一节点在确定所述第一配对方法与所述第二配对方法不是同一个配对方法时不将所述第一配对方法用于与所述第二节点建立关联。
在第二方面的又一种可能的实现方式中,所述第二消息还包括第一密钥协商算法的指示信息和第一密钥协商参数,所述第一密钥协商参数是所述第二节点根据所述第一密钥协商算法生成的,所述方法还包括:
接收来自所述第一节点的第三消息,所述第三消息包括第一认证信息和第二密钥协商参数,所述第二密钥协商参数是所述第一节点根据所述第一密钥协商算法得到的,所述第一认证信息是所述第一节点根据第一共享密钥得到的,所述第一共享密钥是所述第一节点根据所述第一密钥协商算法和所述第一密钥协商参数确定的;
向所述第二节点发送第四消息,所述第四消息是所述第二节点在验证所述第一认证信息与第二认证信息一致时发送至所述第一节点的,所述第二认证信息是所述第二节点根据第二共享密钥得到的,所述第二共享密钥是所述第二节点根据所述第一密钥协商算法和所述第二密钥协商参数得到的。
在第二方面的又一种可能的实现方式中,所述第四消息包括第三认证信息,所述第三认证信息是所述第二节点根据所述第二共享密钥得到的,所述第三认证信息用于所述第一节点在验证所述第三认证信息与第四认证信息一致时确定所述第二节点的身份认证通过,所述第四认证信息是所述第一节点根据所述第一共享密钥得到的。
在第二方面的又一种可能的实现方式中,所述方法还包括:
通过推演算法根据所述第二共享密钥和所述第一节点支持的至少一种配对方法,生成所述第三认证信息,所述第四认证信息是通过所述推演算法根据所述第一共享密钥和所述第一节点支持的至少一种配对方法生成的。
在第二方面的又一种可能的实现方式中,所述第一消息还包括所述第一节点支持的密钥协商算法的指示信息,所述第一节点支持的密钥协商算法的指示信息用于所述第二节点从所述第一节点和所述第二节点均支持的密钥协商算法中确定所述第一密钥协商算法和根据所述第一密钥协商算法确定所述第一密钥协商参数。
在第二方面的又一种可能的实现方式中,所述第二消息还包含第一随机数,所述方法还包括:
根据所述第二共享密钥、所述第一随机数和第二随机数,推演得到第一密钥,所述第二随机数是所述第一节点生成的;
根据所述第一配对方法确定口令;
根据所述口令、所述第一密钥、所述第一随机数和所述第二随机数确定所述第一节点与所述第二节点之间的预共享密钥PSK;
根据所述PSK、所述第二共享密钥和所述第一随机数,生成所述第二认证信息。
在第二方面的又一种可能的实现方式中,所述方法还包括:
接收来自所述第一节点的第一消息完整性代码MIC,所述第一MIC是所述第一节点根据所述第三消息得到的,所述第一MIC用于验证第三消息的完整性;
在根据所述第一MIC验证所述第三消息的完整性成功时生成所述第一认证消息;
根据所述第四消息,得到第二MIC,所述第四消息包括所述第二MIC,以使所述第一节点在根据第二MIC验证所述第四消息的完整性成功时,通过所述第一配对方法与所述第二节点建立关联。
在第二方面的又一种可能的实现方式中,第一节点支持的至少一种配对方法的指示信息为所述第一节点的输入输出能力。
在第二方面的又一种可能的实现方式中,所述第一配对方法为所述第一节点和所述第二节点均支持的配对方法中被所述第二节点的用户选定的。
结合第一方面和第二方面中任意一种可能的实现方式,上述实施例中还可以由第一节点确定第一配对方法。
在一种可能的实现方式中,第一节点向第二节点发送第一消息;第二节点响应于第一消息,向第一节点发送第二节点支持的配对方法的指示信息;第一节点从第一节点和第二节点均支持的配对方法中确定第一配对方法;第一节点向第二节点发送指示第一配对方法的指示信息。
在另一种可能的实现方式中,第一节点向第二节点发送第一消息,第一消息包括第一节点支持的密钥协商算法的指示信息;第二节点在接收到第一消息后,向第一节点发送关联请求消息,该关联请求消息包括第二节点的身份标识、第二节点从第一节点和第二节点均支持的密钥协商算法中确定的第一密钥协商算法、第二节点根据第一密钥协商算法生成的第一密钥协商参数、第二节点生成的随机数和第二节点的配对能力的指示信息,可选地还可以包括配对方法的优先级信息;第一节点响应于该关联请求消息,从第一节点和第二节点均支持的配对方法中确定第一配对方法,进而,通过安全上下文请求消息将第一配对方法的指示信息发送至第二节点。
需要说明的是,上述由第一节点确定第一配对方法的实施例的具体内容可以参见第一方面和第二方面中任意一种可能的实现方式中的相关内容,此处不再赘述。
第三方面,本申请实施例公开了一种配对装置,该配对装置包括接收单元、发送单元和处理单元。该配对装置用于实现第一方面或者第一方面的任意一种可能的实施方式所描述的配对方法。
第四方面,本申请实施例公开了一种配对装置,包括发送单元、接收单元和处理单元,上述配对装置用于实现第二方面或者第二方面的一种可能的实施方式所描述的配对方法。
第五方面,本申请实施例公开了一种配对装置,包括处理器和通信接口,所述处理器用于调用存储器中存储的计算机程序,以实现第一方面或者第一方面的任意一种可能的实施方式所描述的方法。
第六方面,本申请实施例公开了一种配对装置,包括处理器和通信接口,所述处理器用于调用存储器中存储的计算机程序,以实现第一方面或者第一方面的任意一种可能的实现方式。
第七方面,本申请实施例还提供一种芯片***,所述芯片***包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述芯片***所在的装置实现第一方面或者第一方面的任意一种可能的实施方式所描述的方法;又或者实现第二方面或者第二方面的任意一种可能的实施方式所描述的方法。
第八方面,本申请实施例还提供一种通信***,该第一节点和第二节点。其中,该第一节点包含上述第三方面或者第三方面的任意一种可能的实施方式所描述的配对装置;又或者包含上述第五方面或者第五方面的任意一种可能的实施方式所描述的配对装置。该第二节点包含上述第四方面或者第四方面的任意一种可能的实施方式所描述的配对装置;又或者包含上述第六方面或者第六方面的任意一种可能的实施方式所描述的配对装置。
第九方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行第一方面或第一方面的任意一种可能的实施方式所描述的方法,又或者执行第二方面或第二方面的任意一种可能的实施方式所描述的方法。
第十方面,本申请实施例公开了一种计算机程序产品,当所述计算机程序产品在一个或多个处理器上运行时,执行第一方面或第一方面的任意一种可能的实施方式所描述的方法,又或者执行第二方面或第二方面的任意一种可能的实施方式所描述的方法。
第十一方面,本申请实施例公开了一种终端,所述终端可以为智能座舱产品、或者车辆等,所述终端包括第一节点和/或第二节点。其中,所述第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入、启动***控制器以及用户设备UE等模块中的一个或者多个)包含上述第三方面或第三方面的任意一种可能的实施方式所描述的装置。所述第一节点(例如,基站、汽车座舱域控制器CDC等)包含上述第四方面或第四方面的任意一种可能的实施方式所描述的配对装置。
可替换的,上述终端还可以为无人机、机器人等智能终端或者运输工具。
附图说明
以下对本申请实施例用到的附图进行介绍。
图1是本申请实施例提供的一种DH算法的原理示意图;
图2是本申请实施例提供的一种可能的通信***的示意图;
图3是本申请实施例提供的一种可能的通信场景的示意图;
图4是本申请实施例提供的一种配对方法的流程示意图;
图5是本申请实施例提供的一种配对方法的部分流程图;
图6是本申请实施例提供的另一种配对方法的流程示意图;
图7是本申请实施例提供的一种人机交互的界面示意图;
图8是本申请实施例提供的一种生成第一认证信息的流程示意图;
图9是本申请实施例提供的一种配对方法的示意图;
图10是本申请实施例提供的一种配对装置的结构示意图;
图11是本申请实施例提供的又一种配对装置的结构示意图;
图12是本申请实施例提供的再一种配对装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中实施例提到的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b、或c中的至少一项(个),可以表示:a、b、c、(a和b)、(a和c)、(b和c)、或(a和b和c),其中a、b、c可以是单个,也可以是多个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A、同时存在A和B、单独存在B这三种情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
以及,除非有相反的说明,本申请实施例使用“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一信息和第二信息,只是为了区分不同的信息,而并不是表示这两种信息的内容、优先级、发送顺序或者重要程度等的不同。
下面先对本申请实施例中涉及的技术术语进行描述。
一、节点(node)
节点是具有数据处理收发能力的电子设备或者电子设备中的器件(例如芯片、或集成电路等),上述电子设备可以包括终端设备或网络侧设备。例如,节点可以为汽车座舱(cockpit domain)设备,或者汽车座舱设备中的一个模块(例如座舱域控制器(cockpitdomain controller,CDC)、摄像头、屏幕、麦克风、音响、电子钥匙、无钥匙进入或启动***控制器等模块中的一个或者多个)。在具体实施过程中,节点还可以是数据中转设备,例如基站、路由器、中继器、桥接器或交换机;也可以是一个终端设备,例如各种类型的用户设备(user equipment,UE)、手机(mobile phone)、平板电脑(pad)、台式电脑、耳机、音响等;还可以包括机器智能设备,如无人驾驶(self-driving)设备、运输安全(transportationsafety)设备、智能家居设备(例如音视频设备、安防设备、智能照明设备、环境监测设备等等中的一个或者多个)、虚拟现实(virtual reality,VR)终端设备、增强现实(augmentedreality,AR)终端设备、机器类型通信(machine type communication,MTC)设备、工业控制(industrial control)设备、远程医疗(remote medical)设备、智能电网(smart grid)设备、智慧城市(smart city)设备;还可以包括可穿戴设备(如智能手表,智能手环,计步器等)等等。
在某些技术场景中,具备相类似数据收发能力的设备的名称也可能不称为节点,但是为了方便描述,本申请实施例中将具有数据收发能力的电子设备统称为节点。
二、密钥协商算法
密钥协商是通信双方通过交互一部分参数,从而协商得到密钥的过程。用于密钥协商的算法称为密钥协商算法,也可以称为密钥交换算法。
常用的密钥协商算法有迪菲赫尔曼密钥交换(Diffie–Hellman key exchange,DH)算法、基于椭圆曲线密码(Elliptic Curve Cryptosystems,ECC)的DH(ECDH)算法、国密算法(如SM1、SM2、SM3和SM4)、奥克利(Oakley)算法等。
需要说明的是,密钥协商算法也可以看做是一种密钥协商的协议,也即是说,对于通信的双方,密钥协商算法定义了密钥生成和交换的规则,至于如何用密钥进行加密取决于其他的算法。
其中,DH算法可以让双方在不安全信道创建起一个密钥,这个密钥可以在后续的通讯中作为密钥来加密通讯内容。
参见图1,图1是本申请实施例提供的一种DH算法的原理示意图,第一节点与第二节点中获取有确定素数p、随机数g,两个节点通过DH算法交换密钥的步骤如下:
步骤1:第二节点确定随机数a。
步骤2:第二节点生成第一计算值A,其中A=ga mod p。
步骤3:第二节点向第一节点发送第一计算值A。
步骤4:第一节点确定随机数b。
步骤5:第一节点计算得到第二计算值B,其中B=gb mod p。
步骤6:第一节点确定密钥s,其中s=Ab mod p。
步骤7:第一节点向第二节点发送第二计算值B。
步骤8:第二节点确定密钥s,其中s=Ba mod p。
由于s=Ab mod p=(ga mod p)b mod p=gab mod p=(gb mod p)a mod p=Bamod p,因此第一节点和第二节点计算出的密钥s是相同的。由于密钥s没有在消息中直接传输,因此攻击者无法直接获取密钥,只能通过暴力破解获取到a或者b才可以计算出协商得到的密钥s。在这种情况下,攻击者通过A、g、p,暴力破解计算得到a的公式为:a=loggAmodp,由于对数运算没有一个快速计算的算法,而且素数p和随机数g通常数值较大,因此攻击者很难通过A、素数p和随机数g通过对数运算和模运算得到a。因此通过DH算法得到的密钥K具有安全性。
本申实施例中,两个节点可以基于密钥协商算法进行密钥协商,得到密钥协商参数。该密钥协商算法可以为上述例如DH算法等常用的密钥协商算法,也可以为其他算法,此处不作限定。
三、ECDH密钥交换
椭圆曲线算法需要一个定义在有限域中的椭圆曲线的循环子群,需要的参数如下:一个质数p用于描述有限域的大小、椭圆曲线方程的参数a和b、一个用于生成循环子群的基点G、子群的阶数n、子群的协因子h(h=N/n,其中N是椭圆曲线群的阶数)。一般通过六个参数(p,a,b,G,n,h)联合起来定义一种椭圆曲线算法所用到的椭圆曲线。
ECDH算法主要基于如下等式来实现:K=k×G,其中K、G为椭圆曲线Ep(a,b)上的点,n为G的阶(nG=O∞,O∞指无穷远点),k为小于n的整数。在K=kG中,对于给定的k和G,根据加法法则,计算K很容易(例如使用点加运算累加)。但反过来,对于给定的K和G,求k就非常困难。因为实际使用中的椭圆曲线算法原则上把p取得相当大,n也相当大,要把n个点逐一算出来与K进行比较是数学难题。
在密钥交换的过程中,假设密钥交换双方为Alice、Bob,其有共享曲线参数(椭圆曲线E、阶N、基点G)。可以有如下交换步骤:
步骤1:Alice生成随机整数a,计算第一计算值A=a×G。
步骤2:Bob生成随机整数b,计算第二计算值B=b×G。
步骤3:Alice将A传递给Bob。A的传递可以公开,即攻击者可以获取A、G,但是难以通过A、G计算出a。
步骤4:Bob将B传递给Alice。同理,B的传递可以公开,即攻击者可以获取B、G,但是难以通过B、G计算出a。
步骤5:Bob收到Alice传递的A,计算Q=b×A=ab×G。
步骤6:Alice收到Bob传递的B,计算Q’=a×B=ab×G。
Alice、Bob双方即得Q=b×A=b×(a×G)=(b×a)×G=(a×b)×G=a×(b×G)=a×B=Q’(交换律和结合律),即双方得到一致的密钥Q。由于密钥Q没有直接传输,攻击者难以通过获取的A、B、G计算得到Q,因此通过ECDH算法交换得到的密钥Q具有安全性。
本申请实施例中,节点之间可以基于ECDH算法进行密钥协商,得到密钥协商参数;节点还可以基于ECDH算法确定交换密钥。上述密钥协商参数和交换密钥可以用于节点生成身份认证信息,该身份认证信息用于确保节点之间的通信安全。
四、密钥派生算法
密钥派生算法用于从一个秘密值中推演(派生、导出)出一个或多个秘密值,又称为密钥导出算法。例如,通过秘密值Key派生的新的秘密值DK可以表示为:DK=KDF(Key)。常用的密钥派生算法有基于密码的密钥派生函数(password-based key derivationfunction,PBKDF)、斯克里普特(scrypt)算法等,其中PBKDF算法又包括第一代PBKDF1和第二代PBKDF2。一些KDF算法在派生密钥过程中,使用哈希算法对输入的秘密值进行哈希变化,因此KDF函数还可以接收算法标识作为输入,用于指示使用何种哈希算法。
需要说明的是,KDF不仅应用于派生得到秘密值得过程,在生成认证信息、身份信息等方面也可以应用。
当然,生成认证信息、身份信息时,也可以使用认证算法(authenticationfunction,AUF,或者AUTH function),该认证算法用于根据输入参数得到认证信息。
本申请实施例中,节点可以根据密钥派生算法计算密钥以及身份认证信息等。
五、新鲜性参数
新鲜性参数是一种信息安全领域中的参数,用于生成密钥和认证参数等,也可以称为新鲜度或新鲜参数。新鲜性参数可以包括随机数(number once,NONCE)、计数值(counter)、序列号(serial number)、顺序号(sequence number)等等中的至少一个。不同时刻生成的新鲜性参数通常不同。可以理解的,新鲜性参数的具体取值,在每生成一次新鲜性参数时会发生变化,从而使得这一次生成密钥(或者认证参数等)所使用的新鲜性参数与上一次生成密钥(或者认证参数等)时所使用的新鲜性参数不同的,可以提高生成的密钥的安全性。
其中,NONCE是一个只被使用一次的(非重复的)随机数值。
六、口令
口令可以理解为节点为了让其他节点可以接入从而预先配置或者预先定义的密码,或者理解为两个节点之间约定的秘密值。可选的,口令在形式上可以为数字、字母、符号等其中的一个或者多个组成的字符串,可以是通过键盘、语音、生物信息等方式输入的。例如,手机终端接入支持无线保真(Wireless fidelity,Wi-fi)协议的路由器的场景中,手机终端可以使用“Wi-fi密码”接入路由器,该“Wi-fi密码”可以理解为路由器的口令。
可选的,口令可以有如下使用场景(以第二节点请求接入第一节点为例):
场景1:第一节点预先定义或者预先配置了第一口令,第二节点的用户可以在第二节点中输入第一口令。具体的,第二节点接收用户输入的第一口令,基于该第一口令可以请求接入第一节点。例如,车主通过管理员接口为车辆配置第一口令。当车主的新智能手机需要接入车辆时,车主可以在新智能手机中输入第一口令,智能手机根据输入的口令可以请求接入车辆。
场景2:第一节点预先定义或者预先配置了第一口令。同样的,第二节点中也预先配置了接入第一节点的第一口令。当需要接入第一节点时,第二节点可以使用预先配置的第一口令进行接入。例如,主机厂在装配车辆时,可以在车辆的CDC中配置第一口令,在车辆的雷达中配置CDC的第一口令,这样一来,雷达在接入车辆的CDC时,可以使用CDC的第一口令来接入CDC。
场景3:第三方设备(如网络侧设备、证书中心、认证服务器等等设备,受第一节点信任)可以给第一节点和第二节点分配一个约定值,该约定值可以供第二节点接入第一节点。因此该约定值可以看做是第一节点的接入口令。
本申请实施例中,两个节点之间的配对方法对应着两个节点之间的口令的使用规则。例如,方案一的配对方法可以为向第一节点和第二节点输入相同的口令,则第一节点和第二节点建立关联。
可以理解的,前述的关于算法的解释只是用于简单叙述实现的原理,并不限定使用时一定使用相同的参数进行实现。算法具体实现过程中还可以有其他的改进和变体,本申请中提到算法可以为经过改进和变体后的算法,例如ECC可以结合在DSA算法中,称为ECDSA算法。
另外需要说明的是,本申请各实施例中提到的“认证”、“校验”、“验证”,可以表征检查是否正确或者合理的意思。本申请各实施例中提到的“接入”表明第一节点与第二节点建立连接的过程,在一些具体的技术场景中,也可以将“接入”描述为“关联”。
下面对本申请实施例的***架构和业务场景进行描述。需要说明的是,本申请描述的***架构及业务场景是为了更加清楚的说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定,本领域普通技术人员可知,随着***架构的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
请参见图2,图2是本申请实施例提供的一种可能的通信***的示意图,该通信***包括第一节点201和第二节点202。其中:
第二节点202可以请求关联第一节点201,关联成功后,第一节点201可以与第二节点202进行通信。其中,第一节点201与第二节点202之间通信的链路可以包括各种类型的连接介质,包括有线链路(例如光纤)、无线链路、或者有线链路和无线链路的组合等。例如可以为近距离连接技术包括802.11b/g、蓝牙(blue tooth)、紫蜂(Zigbee)、无线射频识别技术(radio frequency identification,RFID)、超宽带(ultra wideband,UWB)技术、无线短距通信***(例如车载无线短距通信***)等,再如还可以为远距离连接技术包括基于长期演进(Long Term Evolution,长期演进)的通信技术、第五代移动通信技术(5thgeneration mobile networks或5th generation wireless systems、5th-Generation,简称5G或5G技术)、全球移动通信***(global System for mobile communications,GSM)、通用分组无线业务(general packet radio Service,GPRS)、通用移动通信***(universal mobile telecommunications system,UMTS)等无线接入类型技术。
当然,还有其他无线通信技术可以用于支撑第一节点与第二节点进行通信。例如,在一些具体的实施场景中,第一节点也可以称为G节点、控制节点或者接入点(accesspoint),第二节点也可以称为T节点或者终端。G节点向T节点的通信链路可以称为G链路,T节点向G节点的通信链路可以称为T链路。
其中,第一节点201和第二节点202可以是相同类型的设备,也可以是不同类型的设备。例如,请参见图3,图3是本申请实施例提供的一种可能的通信场景的示意图。车辆的座舱域控制器(cockpit domain controller,CDC)301是车辆的智能座舱设备中的控制中心,可以看作为第一节点201。智能手机302是具有数据收发能力的设备,可以看作为第二节点202。
其中,CDC301可以通过蓝牙接入,而智能手机302支持蓝牙功能,因此智能手机302可以请求接入该CDC301。由于蓝牙技术通常采用数字配对或者直接工作(just work)模式进行连接,在数字配对模式下,在智能手机302中直接点击CDC301的标识,输入CDC301预设接入的口令,即可通过蓝牙连接CDC301。该方法要获取接入CDC301的口令,不适应需要经常更换口令的节点之间的通信场景。此处仅以蓝牙接入的场景作为示例,具体接入场景还可以包括其他通信技术进行接入的情况。可见,两个节点的配对方法只有一种,因而配对的灵活性低,应用场景有限。
因此,为了提高节点配对的灵活性,本申请实施例提供了图4所示的配对方法。
请参见图4,图4是本申请实施例提供的一种配对方法的流程示意图。进一步的,该方法可以基于图2所示的架构来实现。该方法可以包括以下部分或全部步骤:
步骤S401:第一节点向第二节点发送第一消息,第一消息包括第一节点支持的至少一种配对方法的指示信息。
在一些实施例中,第一节点可以将第一消息以广播的方式发送至第二节点,相应的,第二节点可以接收第一节点广播的第一消息。其中,第一消息中携带的是第一节点支持的配对方法的索引,该索引指示第一节点支持的至少一种配对方法。需要说明的是,所有的配对方法是第一节点和第二节点已知的。
可选地,第一消息还可以包括第一节点支持的至少一种配对方法对应的优先级信息,或者,至少一种配对方法对应的优先级是第一节点和第二节点预配置的。例如,第一消息包括第一节点支持的N个配对方法,N为正整数,第一消息还可以包括N个配对方法对应的优先级信息,其中,每一个配对方法的优先级不同。又例如,第二节点预配置的配对方法的优先级包括第一节点支持的配对方法的优先级,应理解,第二节点中预配置的第一节点的优先级与第一节点支持的配对方法的优先级相同,第一节点和第二节点预配置的配对方法是第一节点和第二节点已知的。
可选地,第一消息还可以包括第一节点支持的密钥协商算法的指示信息(或者称为第一节点的密钥协商算法能力)和密钥协商算法的优先级的指示信息等,此处不作限定。需要说明的是,在一些场景中,第一节点支持的至少一种配对方法又可以称为第一节点的配对能力。
在另一些实施例中,在步骤S401之前,第二节点没有收到第一节点的广播消息,则第二节点可以生成第一请求消息以使第一节点执行上述步骤S401,该第一请求消息用于请求第一节点支持的至少一个配对方法的指示信息。例如,第二节点可以生成携带空配对方法的第一请求消息,该空配对方法用于第一节点支持的至少一个配对方法,进而,将该第一请求消息发送至第一节点。相应的,第一节点响应于上述第一请求消息,在确定该第一请求消息中的配对方法为空时,向第二节点发送包括第一节点配对能力的消息。可选的,该消息还可以包括配对方法的优先级信息。
步骤S402:第二节点向第一节点发送第二消息,该第二消息包括第一配对方法的指示信息。
在一些实施例中,第二消息又可以称为关联请求消息,该第二消息用于请求与第一节点建立关联。相应的,第一节点接收来自第二节点的第二消息。
步骤S403:第一节点向第二节点发送拒绝消息。
在一种实现中,第一节点响应于第二消息,通过第一配对方法与第一节点进行配对,建立关联。
在另一种实现中,第一节点先对第二消息中指示的第一配对方法进行验证,确定是否将第一配对方法用于与第二节点建立关联,在确定不将第一配对方法用于与第二节点建立关联时,向第二节点发送拒绝消息,拒绝消息用于指示配对方法选择错误。
例如,第二消息还包括第二节点支持的配对方法的指示信息,则第一节点可以从第一节点和第二节点均支持的配对方法中确定第二配对方法。
在第一配对方法与第二配对方法是同一个配对方法时,确定第一配对方法正确,将第一配对方法用于与第二节点建立关联;在第一配对方法与第二配对方法不是同一个配对方法时,确定第一配对方法错误,进而,向第二节点发送拒绝消息。其中,拒绝消息包括第二配对方法。进而,第二节点可以重新向第一节点发送关联请求消息,用于请求与第一节点建立关联。
其中,第二节点可以通过优先级确定第二配对方法。例如,第一节点发送至第二节点的第一消息包括优先级信息,则第一节点在接收到第二节点确定的第一配对方法后,可以根据该优先级信息确定第二配对方法。可以理解的,若第一配对方法与第二配对方法不一样,证明第二节点确定的第一配对方法有误,第二节点可能为不可信节点,则第一节点可以向第二节点发送拒绝消息,可以避免接入不可信节点。
可选的,本申请实施例所述的配对方法,在步骤S402后,还可以包括图5所示的步骤S404~步骤S408中的一个或者多个步骤,步骤S404~步骤S408具体如下:
步骤S404:第一节点向第二节点发送第三消息,该第三消息包括第一认证信息。
其中,第一认证信息用于认证第一节点的身份。
需要说明的,第三消息也可以称为安全上下文请求消息。
步骤S405:第二节点根据第一认证信息AUTHg,认证第一节点的身份。
具体的,在第一节点将第一认证信息发送给第二节点的情况下,第二节点可以根据第一认证信息认证第一节点的身份。
在一种可选的方案中,根据协议规定,第一节点使用什么参数生成第一认证信息,则第二节点也应当使用相同的参数生成校验信息,如果校验信息与第一认证信息相同,则认为验证通过。
例如,由于第一认证信息为根据第一共享密钥和/或预共享密钥(pre-sharedkey,PSK)确定的,因此第二节点可以根据第一共享密钥和/或PSK,以及第一认证信息,认证第一节点的身份。具体的,第二节点可以根据第一共享密钥和/或PSK生成第二认证信息,该第二认证信息为校验信息,若第二认证信息与第一认证信息相同,则确定第一节点的身份认证通过。
可选的,若第一认证信息验证不通过,第二节点可以断开与第一节点之间的通信连接或者丢弃第三消息,进一步的还可以重新向第一节点发送第二消息。例如,第一认证信息是根据第一共享密钥生成的,若第一认证信息验证不通过,说明第一节点中的第一共享密钥与第二节点的第一共享密钥不同,因此第一节点的身份不可信,第一节点可能是攻击者伪装的节点,故丢弃第三消息,重新向第一节点发送第二消息,避免接入不可信的节点。
步骤S406:第二节点向第一节点发送第四消息,该第四消息包括第三认证信息。
可以理解的,第二节点向第一节点发送第四消息,相应的,第一节点则接收来自第二节点的第四消息。需要说明的,第四消息也可以称为安全上下文响应消息。
步骤S407:第一节点根据第三认证信息,认证第二节点的身份。
例如,第三认证信息为第二节点根据第一共享密钥和/或PSK确定的,因此第一节点中也可以获取第一共享密钥和/或PSK,从而校验第三认证信息。
在一种可选的方案中,根据协议规定,第二节点使用什么参数生成第三认证信息,则第一节点也应当使用相同的参数生成校验信息,如果校验信息与第三认证信息相同,则认为验证通过。
例如,由于第三认证信息为根据第一共享密钥和/或PSK确定的,因此第一节点可以根据第一共享密钥和/或PSK,以及第二认证信息,认证第二节点的身份。具体的,第一节点可以根据第一共享密钥和/或PSK生成第四认证信息,该第四认证信息为校验信息,若第四认证信息与第三认证信息相同,则确定第一节点的身份认证通过。
可选的,若第三认证信息验证不通过,第一节点可以断开与第一节点之间的通信连接。若第三认证信息验证通过,则说明第二节点的身份可信,第一节点可以与第二节点进行通信。
步骤S408:第一节点向第二节点发送第五消息。
可选的,该第五消息用于指示第二节点关联已经建立、或者指示第二节点接入成功或者指示验证其身份成功等等。相应的,第二节点可以接收来自第一节点的第五消息。
进一步的,该第五消息可以称为关联建立消息(具体场景中也可以称为关联完成消息)。
在图5所示的实施例中,第二节点通过安全参数(该安全参数可以是PSK或者口令)将第一密钥协商参数加密得到第一密文,由于第一节点中预先配置有或者可以获取与第二节点相同的安全参数,因此第一节点可以对第一密文进行解密得到第一密钥协商参数,后续可以基于该第一密钥协商参数生成共享密钥。由于没有获取安全参数不能生成共享密钥,第二节点无法接入第一节点,因此可以避免攻击者通过第二节点接入第一节点,防止第一节点与身份不可信的攻击者关联成功。
以上图4至图5所示的方法实施例中包含了很多可能的实现方案,下面结合图6对其中的部分实现方案进行举例说明,需要说明的是,图6未解释到的相关概念、操作或者逻辑关系可以参照图4至图5所示实施例中的相应描述。
请参见图6,图6是本申请实施例提供的另一种配对方法的流程示意图,该方法可以基于图2所示的架构来实现。该配对方法可以包括如下步骤:
步骤S701:第一节点向第二节点发送第一消息,第一消息包括第一节点支持的至少一种配对方法的指示信息。
其中,第一消息还可以包括第一节点支持的密钥协商算法的指示信息和密钥协商算法的优先级的指示信息。具体可参见上文中步骤S401中的相关内容,此处不再赘述。
步骤S702:第二节点从第一节点和第二节点均支持的配对方法中确定第一配对方法。
可选地,第二节点具体可以基于第一节点支持的至少一种配对方法的优先级信息,确定第一配对方法。
在一种实现中,第一消息中包括第一节点支持的至少一种配对方法和第一节点支持的至少一种配对方法的优先级信息,则第二节点可以响应于第一消息,将与第一节点和第二节点均支持的配对方法中优先级最高的配对方法确定为第一配对方法,其中,优先级为对第一节点支持的至少一种配对方法的排序。例如,第一节点和第二节点均支持的配对方法包括第三配对方法、第五配对方法和第六配对方法,根据第一消息中携带的优先级指示信息确定第三配对方法的优先级排序为3,第五配对方法的优先级排序为5,第六配对方法优先级排序为6,可以确定第三配对方法的优先级最高,则第二节点可以将第三配对方法确定为第一配对方法。
在另一种实现中,第一节点和第二节点预置了配对方法的优先级,则第二节点可以将第一节点和第二节点均支持的配对方法中优先级最高的配对方法确定为第一配对方法。需要说明的是,第一节点和第二节点预置的配对方法的优先级是相同的。
在又一种实现中,第二节点为具备显示以及接收用户键入能力的电子设备,例如,手机和平板等。当第二节点确定第一节点和第二节点均支持的配对方法包括多个配对方法时,第二节点可以将上述多个配对方法显示在界面上,以使用户从上述多个配对方法中选择一个配对方法作为第一配对方法。
请参见图7,图7是本申请实施例提供的一种人机交互的界面示意图。如图7所示,电子设备可以显示如图7中的(A)所示的用户界面51,用户界面51包括多个设置选项,例如飞行模式、WiFi、蓝牙和声音等。例如,用户可以通过触摸(或点击等用户操作)选定蓝牙510,相应的,电子设备可以响应于该用户操作,显示如图7中的(B)所示的用户界面52。该用户界面52包括蓝牙开关521、可接入设备显示栏和可接入设备的至少一个选项栏。例如,用户可以触摸选项栏522选定设备1,则电子设备可以响应于该用户操作,显示如图7中的(C)所示的用户界面53,用户界面53中包括设备显示栏和配对方法的至少一个选项栏531。进一步的,用户可以通过触摸选项栏531以指示电子设备通过配对方法1与设备1进行配对。
需要说明的是,在第一节点和第二节点均支持的配对方法包括多个时,除了上述实现外,第二节点也可以从中随机选择一个配对方法作为第一配对方法,还可以有其他实现方法,此处不作限定。
步骤S703:第二节点从第一节点和第二节点均支持的密钥协商算法中确定第一密钥协商算法。
具体的,第二节点可以先获取第一节点支持的密钥协商算法,再从第一节点和第二节点均支持的密钥协商算法中确定第一密钥协商算法。
例如,在第一消息包括第一节点支持的密钥协商算法的指示信息时,第二节点可以根据第一消息确定第一密钥协商算法。具体的,第二节点可以从第二节点支持的密钥协商算法中查找与第一节点支持的密钥协商算法相同的算法,再从第一节点和第二节点均支持的密钥协商算法中确定第一密钥协商算法。
在一种实现中,第二节点可以根据密钥协商算法的优先级确定第一密钥协商算法。具体的,第二节点可以将与第一节点支持的密钥协商算法相同的算法中优先级最高的算法确定为第一密钥协商算法。例如,第一节点和第二节点均支持的密钥协商算法包括一号算法、二号算法和三号算法,其中,一号算法的优先级最高,则第二节点可以将一号算法确定为第一密钥协商算法。其中,该密钥协商算法的优先级可以是由第一节点向第二节点发送的(例如,第一消息中包括密钥协商算法的优先级信息),也可以是第二节点预配置的优先级,还可以是由其它方法获取的优先级信息,此处不做限定。
在其他实现中,第二节点还可以从第一节点和第二节点均支持的密钥协商算法中确定任一算法作为第一密钥协商算法,此处不作限定。
步骤S704:第二节点根据第一密钥协商算法生成第一密钥协商参数。
其中,密钥协商参数为密钥协商过程中确定的参数,为了方便描述,本申请各实施例中将第二节点发送给第一节点的密钥协商参数称为第一密钥协商参数。
在一些实施例中,第一密钥协商算法为DH算法,第二节点可以根据DH算法生成第一密钥协商参数。例如,第一节点与第二节点中均有确定素数p和随机数g,第二节点可以生成随机数a,进而,第二节点可以确定计算值A=ga mod p,将该计算值A确定为第一密钥协商参数KEt。
在另一些实施例中,第一密钥协商算法为ECDH算法,第二节点可以根据ECDH算法生成第一密钥协商参数。以确定的椭圆曲线为Ep、基点为G为例,第二节点可以生成随机数a,根据随机数a和基点G得到计算值A(例如:A=a×G)发送给第一节点,则该计算值A可以看做第一密钥协商参数KEt。
步骤S705:第二节点向第一节点发送第二消息,该第二消息包括第一配对方法的指示信息。
具体的,第二节点在确定第一配对方法后,向第一节点发送第二消息,该第二消息包括第一配对方法的指示信息。
可选地,第二消息还可以包括第二节点的身份标识。其中,第二节点的身份标识可以为第二节点的ID、媒体存取控制(media access control,MAC)地址、域名、域地址或其他自定义的标识,也称为第二节点的设备标识。
可选的,第二消息还可以包括新鲜性参数(fresh parameter)和第二节点支持的配对方法。为了方便描述,本申请各实施例中,将第二消息中包含的新鲜性参数称为第一新鲜性参数。其中,新鲜性参数为包括随机数、计数值、序列号等等中的至少一个。
在一些实施例中,第二消息还可以同时包括第一密钥协商参数KEt、第一密钥协商算法的指示信息、第二节点的身份标识、第二节点生成的第一随机数NONCEg和第二节点的配对能力。
需要说明的是,第二消息也可以称为关联请求消息(或者接入请求消息)。本申请各个实施例中不对消息或者信息的名称进行限定,仅对消息内容进行示例性的说明和表达,消息的名称可以进行任意地替换。
步骤S706:第一节点验证第一配对方法。
第一节点可以在接收到第二节点发送的第二消息后,验证第一配对方法,在验证第一配对方法正确时,执行以下步骤。其中,验证第一配对方法的具体过程可参见步骤S403中的相关内容,此处不再赘述。
步骤S707:第一节点根据第一密钥协商算法生成第二密钥协商参数KEg。
其中,第一密钥协商算法是第一节点和第二节点确定采用的协商算法,可以是如步骤S703中由第二节点确定的,也可以是由第一节点确定的,还可以是第一节点和第二节点预配置的算法,此处不作限定。应理解,为方便描述,将第一节点发送给第二节点的密钥协商参数称为第二密钥协商参数。
以第一密钥协商算法为DH算法为例,第一节点与第二节点中均有确定素数p和随机数g,第一节点可以生成随机数b,进而,第一节点可以确定计算值B=gb mod p,将该计算值B确定为第二密钥协商参数KEt。
具体还可以参见步骤S704第二节点根据第一密钥协商算法生成第二密钥协商参数的相关内容,此处不再赘述。
步骤S708:第一节点生成第一认证信息。
可选地,第一认证信息可以是基于共享密钥或PSK生成的。其中,PSK是第一节点与第二节点之间共享的一个秘密值。
以下提供一种第一节点生成第一认证信息的方法。
请参见图8,图8是本申请实施例提供的一种生成第一认证信息的流程示意图。该方法可以包括步骤S801~S804中的部分或全部内容:
步骤S801:第一节点根据第一密钥协商算法和第一密钥协商参数,得到第一共享密钥Kdh。
其中,第一密钥协商算法可以为DH算法、ECDH算法、国密算法(如SM1、SM2、SM3和SM4)和奥克利(Oakley)算法等,此处不作限定。
例如,第二消息中包括第一密钥协商算法的指示信息和第一密钥协商参数,则第一节点可以响应于第二消息,根据第一密钥协商算法和第一密钥协商参数KEt确定第一共享密钥。
在一种实现中,第一节点接收到的第一密钥协商算法为DH算法,第一节点与第二节点共享有素数p,则第一节点可以生成随机数a,进而,可以得到第一共享密钥Kdh=KEtmod p。具体内容可参见上文中DH算法的详细内容,此处不再赘述。
在另一种实现中,第一节点接收到的第一密钥协商算法为ECDH算法,则第一节点可以生成随机整数b,进而,可以得到第一共享密钥Kdh=b×KEt。具体内容可参见上述ECDH算法的详细内容,此处不再赘述。
可以理解的,在一些具体设计中,可以将第一密钥协商算法封装为一个计算流程,输入为第一密钥协商参数,输出为第一共享密钥。当然,在另一些可能的设计中,也可以将确定私钥、计算交换密钥的步骤分别由不同的计算流程执行。
步骤S802:第一节点根据第一共享密钥、第一随机数和第二随机数,得到第一密钥Kgt。
在一些实施例中,第二消息还包括第一随机数,第一节点得到第一密钥Kgt的公式可以如下所示:
Kgt=KDF(Kdh,NONCEt,NONCEg)
其中,KDF为推演第一密钥时使用的推演算法,NONCEt为第一新鲜性参数(可选参数,如第一随机数),NONCEg为第二新鲜性参数(可选参数,如第二随机数)。可以理解的,本申请的“第一”“第二”只是为了区分参数,不作为对具体参数名称的限定。
步骤S803:第一节点根据第一配对方法确定口令。
具体的,第一节点可以先根据第一配对方法确定第一配对方法对应的口令(以下为方便描述,故称为第一口令)。例如,第一配对方法为用户在第一节点和第二节点上输入相同的口令,则用户在第一节点和第二节点输入的相同的口令为第一口令;又例如,第一配对方法为第一节点预设的接入口令,则该第一节点的接入口令为第一口令。其中,不同的配对方法对应的口令可以相同,也可以不同,此处不做限定。
步骤S804:第一节点根据口令、第一密钥、第一随机数和第二随机数,确定预共享密钥。
例如,第一节点获取预共享密钥PSK的公式可以如下所示:
PSK=KDF(Kgt,pw,IDt,IDg,NONCEt,NONCEg)
其中,KDF为推演第一中间密钥时使用的推演算法,pw为第一口令,IDg为第一节点的身份标识,IDt为第二节点的身份标识,NONCEt为第一新鲜性参数,NONCEg为第二新鲜性参数。
需要说明的是,PSK也可以是第一节点和第二节点预配置的一个参数。
步骤S805:第一节点根据PSK、第一共享密钥Kdh和第二随机数,得到第一认证信息AUTHg。
在一种实现中,第一节点生成第一认证信息AUTHg的公式可以如下:
AUTHg=KDF(PSK,Kdh,NONCEg,第二消息)
其中,各个参数可以参考前述的定义。
需要说明的是,步骤S802~S805中第一节点分别生成第一密钥、PSK和第一认证信息时所采用的推演算法可以不同也可以相同,此处不作限定。
步骤S709:第一节点向第二节点发送第三消息。
具体的,第一节点向第二节点发送第三消息,相应的,第二节点接收第三消息。其中,第三消息可以包括第一认证信息和第二密钥协商参数。
可选地,第三消息还可以包括第二随机数NONCEt和第一消息完整性代码(MessageIntegrity Code,MIC)。其中,第一MIC是根据完整性保护算法生成的消息完整性代码,用于保护第三消息的完整性。
需要说明的,第三消息也可以称为安全上下文请求消息。
步骤S710:第二节点根据第一认证信息AUTHg,认证第一节点的身份。
在一些实施例中,第二节点可以在接收第一节点发送的第三消息后,获取第三消息中的第一认证信息,根据第一认证信息认证第一节点的身份。例如,第一节点以根据图8所示的步骤生成第一认证信息,则第二节点可以根据第一密钥协商算法和第二密钥协商参数生成第二共享密钥,再根据第二共享密钥生成第二认证信息,该第二认证信息为校验信息,在第一认证信息与第二认证信息相等时,执行以下步骤。应理解,如果在第一节点和第二节点协商配对的过程中没有入侵者,则第一节点和第二节点通过第一密钥协商算法分别生成第一共享密钥和第二共享密钥是相同的,第一节点和第二节点又通过相同的计算过程分别生成第一认证信息和第二认证信息,故在第一认证信息和第二认证信息相等时,可以确定第一节点的身份认证通过,第一节点为可信节点。
其中,第二节点认证第一节点的身份以及生成第二认证信息的过程可以参见步骤S405以及步骤S708中的相关内容,此处不再赘述。
步骤S711、第二节点生成第三认证信息。
在一些实施例中,第二节点可以在步骤S710确定第一节点的身份验证成功后,根据第三消息生成第三认证信息,该第三认证信息用于验证第二节点的身份。
在一种实现中,第二节点可以通过推演算法根据第二共享密钥和第一节点支持的至少一种配对方法生成第三认证信息。其中,第二共享密钥可以是步骤S710中第二节点生成第二共享密钥。可选的,第二节点生成第三认证信息的数据还可以包括配对方法的优先级。
例如,第二节点计算第三认证信息的公式可以如下所示:
AUTHt=KDF(PSK,Kdh,第一消息,NONCEt,第一节点密钥协商算法能力,
第一节点配对能力,[配对方法优先级])|高32位
其中,高32位表示对密钥派生算法得到的数据保留高32位,从而得到第三认证信息。需要说明的是,在其他实施例中也可以对配对方法优先级不截短,或者截短为其他长度。其中,其他各个参数可以参考前述的定义。
可选的,第二节点接收的第三消息还可以包括第一MIC和第一认证信息。第二节点可以先根据第一MIC验证第一消息的完整性,在验证第三消息的完整性成功时,再根据第三认证信息验证第二节点的身份,在第二节点的身份认证成功时,再根据第三消息生成第三认证消息。否则,第二节点则丢弃第三消息。
步骤S712:第一节点向第二节点发送第四消息。
在一些实施例中,第一节点可以在接收到第二节点的第三消息后,响应于第三消息,执行步骤S710和S711后,向第二节点发送第四消息,其中,第四消息可以包括第三认证信息。可选的,第四消息还可以包括第二MIC,第二MIC是根据完整性保护算法生成的消息完整性代码,用于保护第四消息的完整性。
在另一些实施例中,第一节点接收的第三消息包括第一MIC和第一认证信息,则第二节点可以先根据第一MIC验证第一消息的完整性,在验证第一消息的完整性成功时根据第一认证信息验证第二节点的身份,进而,在第二节点的身份认证成功时根据第一消息生成第三认证消息,最后向第二节点发送第四消息,该第四消息包括第三认证信息。
可以理解的是,假设存在攻击者篡改消息,会导致计算认证信息的参数产生改变,从而导致认证失败。在认证失败之后,断开连接,第二节点重新向第一节点发起第二消息。
需要说明的,第四消息又可以称为安全上下文响应消息。
为确保通信过程中数据的传输、存储安全,其中一方面就是需要对数据进行完整性保护(或者简称为完保),数据的完整性保护具体可以通过根据完整性保护算法计算消息完整性代码的方式来进行,其中,消息完整性代码是经过特定算法后产生的一小段信息,用来检查消息的完整性。完整性保护算法可以通过完整性保护算法对应的密钥对第一节点和第二节点之间的全部或部分通信信息进行完整性保护,或者,通过完整性保护算法对应的密钥验证第一节点和第二节点之间的全部或部分通信信息的完整性。
步骤S713:第一节点根据第三认证信息AUTHg,认证第二节点的身份。
在一些实施例中,第一节点接收到的来自第二节点的第四消息中包括第三认证信息,则第二节点可以响应于第四消息,根据第三认证信息认证第二节点的身份。进而,在确定第二节点的身份认证通过后,与第二节点建立关联。
在另一些实施例中,第四消息中包括第三认证信息还包括第二MIC,则第一节点可以先验证第二MIC,在验证消息完整性成功时根据第三认证信息AUTHt认证第二节点的身份,在确定第二节点的身份认证通过时,与第二节点建立关联。
其中,第一节点可以通过第二节点生成第三认证信息的方法生成第四认证信息,该第四认证信息为第三认证信息的校验信息,在第三认证信息与第四认证信息相同时,确定第一节点的身份认证通过。其中,第一节点认证第二节点的身份的具体内容可以参见步骤S407和步骤S711的相关内容,此处不再赘述。
其中,第一节点在第二认证信息和第一认证信息相等时,可以执行上述第一配对方法的第一操作,以使第二节点在执行上述第一配对方法的第二操作时建立与第二节点的关联。
请参见图9,图9是本申请实施例提供的一种配对方法的示意图。如图9所示,方法1到6为本申请实施例举例的六种配对方法,方法x可以包括上述六种配对方法,也可以是其他配对方式,此处不做限定。图9中,以节点A表示同时具备键盘输入能力和显示输出能力的节点,以节点B表示同时具备按钮输入能力和显示输出能力的节点,以节点C表示具备键盘输入能力且无显示能力的节点,以节点D表示具备按钮输入能力且无显示能力的节点,以节点E表示无输入能力且无显示能力的节点。
如图9所示,方法一的配对方法的第一操作和第二操作均为输入一号口令,一号口令可以为预配置或用户输入的一个口令。例如,第一节点和第二节点均为手机,当第一配对方法为方法一时,用户可以分别在第一节点和第二节点输入相同的口令,以实现第一节点和第二节点的关联建立。
方法二的配对方法对应的第一操作为显示二号口令,第二操作为接收二号口令,其中,二号口令可以为预设的口令。例如,第一节点为手机,第二节点为手环,在第一配对方法为方法二时,手环显示二号口令,用户可以将二号口令输入该手机,相应的,该手机接收二号口令,以使第一节点接入第二节点。
方法三的配对方法对应的第一操作为接收三号口令,第二操作为接收三号口令,其中,三号口令可以为预设的口令。例如,第一节点为手机,第二节点为路由器,在第一配对方法为方法三时,手机可以显示三号口令,用户在路由器输入三号口令,手机与路由器即可建立关联。
方法四的配对方法对应的第一操作为无操作,第二操作为接收四号口令,其中,四号口令为连入第一节点的预设口令。例如,第一节点为新智能手机,第二节点为车辆,四号口令为车主通过管理员接口为车辆配置的口令。在第一配对方法为方法四时,可以在新智能手机中输入四号口令,智能手机根据输入的口令可以请求接入车辆。
方法五的配对方法对应的第一操作为接收五号口令,第二操作为无操作,其中,五号口令为连入第二节点的预设口令。例如,第一节点为耳机,第二节点为手机,在第一配对方法为方法五时,用户在手机上输入五号口令,该手机和该耳机即可建立关联。
方法六的配对方法对应的第一操作为显示六号口令和接收六号口令,第二操作为显示六号口令和接收六号口令,其中,六号口令可以为第一节点和第二节点约定的口令。例如,第一节点和第二节点均为手机,在第一配对方法为方法六时,两部手机上均显示六号口令,用户分别在两部手机上输入六号口令,两部手机即可建立关联。
步骤S714:第一节点向第二节点发送第五消息。
可选的,该第五消息用于指示第二节点关联已经建立、或者指示第二节点接入成功或者指示验证其身份成功等等。相应的,第二节点可以接收来自第一节点的第五消息。
进一步的,该第五消息可以称为关联建立消息(具体场景中也可以称为关联完成消息)。
需要说明的是,上述实施例中,第一节点支持的至少一种配对方法的指示信息可以为第一节点的输入输出能力,第二节点可以根据第一节点的输入输出能力确定第一配对方法;第二节点支持的至少一种配对方法的指示信息可以为第二节点的输入输出能力,则第一节点可以根据第二节点的输入输出能力确定第二配对方法。请参见图9,例如第一节点可以根据第二节点与第一节点的输入输出能力,确定第一节点和第二节点均支持的配对方法,进而,从第一节点和第二节点均支持的配对方法中确定第一配对方法。该配对方法的具体步骤参见上述实施例的相关内容,此处不再赘述。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参见图10,图10是本申请实施例提供的一种配对装置100的结构示意图,该装置100可以为一个节点,为了便于描述可以称之为第一节点。当然,该装置100也可以为第一节点中的一个器件,例如芯片或者集成电路等,该装置100可以包括发送单元1001和接收单元1002。该配对装置100用于实现前述的配对方法,例如图4、图5或者图6所示的任意一个实施例的配对方法。
在一种可能的实施方式中,发送单元1001,用于发送第一消息,所述第一消息包括所述第一节点支持的至少一种配对方法的指示信息;
接收单元1002,用于接收来自第二节点的第二消息,所述第二消息包括第一配对方法的指示信息,所述第一配对方法包含于所述第一节点和所述第二节点均支持的配对方法中。
在本申请实施例中,第一节点和第二节点支持一个或多个配对方法,第二节点可以从第一节点和第二节点均支持的配对方法中确定第一配对方法,以使第一节点和第二节点可以通过第一配对方法进行配对。通过本申请,第一节点和第二节点可以根据不同的应用场景协商确定第一配对方法,提供了两个节点之间配对方法的多种选择,提高了节点之间配对的灵活性。
在一种可能的实施方式中,所述第二消息用于请求与所述第一节点建立关联。
在一种可能的实施方式中,所述第一消息还包括所述第一节点支持的至少一种配对方法对应的优先级信息,或者,所述至少一种配对方法对应的优先级是预配置的。
在一种可能的实施方式中,所述第一配对方法为基于所述第一节点支持的至少一种配对方法的优先级信息确定的。
在一种可能的实施方式中,所述第二消息还包括所述第二节点支持的至少一种配对方法的指示信息。
在一种可能的实施方式中,所述装置还包括处理单元1003,所述处理单元1003,用于确定是否将所述第一配对方法用于与所述第二节点建立关联;
所述发送单元1001,还用于在确定不将所述第一配对方法用于与所述第二节点建立关联时,向所述第二节点发送拒绝消息,所述拒绝消息用于指示配对方法选择错误。
在一种可能的实施方式中,所述处理单元1003,具体用于:
从所述第一节点和所述第二节点均支持的配对方法中确定第二配对方法;
在所述第一配对方法与所述第二配对方法不是同一个配对方法时,确定不将所述第一配对方法用于与所述第二节点建立关联。
在一种可能的实施方式中,所述拒绝消息包括指示所述第二配对方法的指示信息。
在一种可能的实施方式中,所述第二消息还包括第一密钥协商算法的指示信息和第一密钥协商参数,所述第一密钥协商参数是所述第二节点根据所述第一密钥协商算法生成的;
所述发送单元1001,还用于向所述第二节点发送第三消息,所述第三消息包括第一认证信息和第二密钥协商参数,所述第二密钥协商参数是所述第一节点根据所述第一密钥协商算法得到的,所述第一认证信息是所述第一节点根据第一共享密钥得到的,所述第一共享密钥是所述第一节点根据所述第一密钥协商算法和所述第一密钥协商参数确定的;
所述接收单元1002,还用于接收来自所述第二节点的第四消息,所述第四消息是所述第二节点在验证所述第一认证信息与第二认证信息一致时发送至所述第一节点的,所述第二认证信息是所述第二节点根据第二共享密钥得到的,所述第二共享密钥是所述第二节点根据所述第一密钥协商算法和所述第二密钥协商参数得到的。
在一种可能的实施方式中,所述第四消息包括第三认证信息,所述第三认证信息是所述第二节点根据所述第二共享密钥得到的,所述处理单元1003,还用于:
在验证所述第三认证信息与第四认证信息一致时,确定所述第二节点的身份认证通过,所述第四认证信息是所述第一节点根据所述第一共享密钥得到的。
在一种可能的实施方式中,所述第三认证信息是所述第二节点通过推演算法根据所述第二共享密钥和所述第一节点支持的至少一种配对方法生成的,所述处理单元1003还用于:
通过所述推演算法根据所述第一共享密钥和所述第一节点支持的至少一种配对方法,生成所述第四认证信息。
在一种可能的实施方式中,所述第一消息还包括所述第一节点支持的密钥协商算法的指示信息,所述第一节点支持的密钥协商算法的指示信息用于所述第二节点从所述第一节点和所述第二节点均支持的密钥协商算法中确定所述第一密钥协商算法和根据所述第一密钥协商算法确定所述第一密钥协商参数。
在一种可能的实施方式中,所述第二消息还包含第一随机数,所述处理单元1003,具体用于:
根据所述第一共享密钥、所述第一随机数和第二随机数,推演得到第一密钥,所述第二随机数是所述第一节点生成的;
根据所述第一配对方法确定口令;
根据所述口令、所述第一密钥、所述第一随机数和所述第二随机数确定所述第一节点与所述第二节点之间的预共享密钥PSK;
根据所述PSK、所述第一共享密钥和所述第一随机数,生成所述第一认证信息。
在一种可能的实施方式中,所述处理单元1003,还用于:根据所述第三消息,得到第一消息完整性代码MIC,所述第一MIC用于验证第三消息的完整性;
所述发送单元1001,还用于将所述第一MIC发送至所述第二节点,以使所述第二节点在根据所述第一MIC验证所述第三消息的完整性成功时生成所述第一认证消息;
所述处理单元1003,还用于在根据第二MIC验证所述第四消息的完整性成功时,通过所述第一配对方法与所述第二节点建立关联,所述第四消息包括所述第二MIC,所述第二MIC是所述第二节点根据所述第四消息得到的。
在一种可能的实施方式中,第一节点支持的至少一种配对方法的指示信息为所述第一节点的输入输出能力。
在一种可能的实施方式中,所述第一配对方法为所述第一节点和所述第二节点均支持的配对方法中被所述第二节点的用户选定的。
在一种可能的实施方式中,前述第一消息也可以为第一节点广播至第二节点的。第二消息也称为接入请求消息(或者关联请求消息)。进一步的,第三消息也可以称为安全上下文请求消息(或者身份认证请求消息)。第四消息也可以称为安全上下文响应消息(或者身份认证响应消息)。
在一种可能的实施方式中,所述方法还包括:
向第二节点发送第五消息,所述第五消息用于指示接入成功,或者用于指示关联完成。进一步的,该第五消息可以称为关联建立消息(或者接入关联完成消息)、关联完成消息等。
需要说明的是,各个单元的实现还可以对应参照图4或者图6所示的实施例的相应描述。该配对装置100可以为图4或者图6所示实施例中的第一节点。
可以理解的,本申请各个装置实施例中,对多个单元或者模块的划分仅是一种根据功能进行的逻辑划分,不作为对装置具体的结构的限定。在具体实现中,其中部分功能模块可能被细分为更多细小的功能模块,部分功能模块也可能组合成一个功能模块,但无论这些功能模块是进行了细分还是组合,装置100在配对的过程中所执行的大致流程是相同的。例如,上述装置100中的接收单元1002和发送单元1001也可以集成为通信单元,该通信单元可以实现接收单元1002和发送单元1001所实现的功能。通常,每个单元都对应有各自的程序代码(或者程序指令),这些单元各自对应的程序代码在处理器上运行时,使得该单元受处理单元1003的控制而执行相应的流程从而实现相应功能。
请参见图11,图11是本申请实施例提供的一种配对装置110的结构示意图,该装置110可以为一个节点,为了便于描述可以称之为第二节点。当然,该装置110也可以为第一节点中的一个器件,例如芯片或者集成电路等,该装置110可以包括接收单元1101、处理单元1102和发送单元1103。该配对装置110用于实现前述的配对方法,例如图7、图6或者图8所示的任意一个实施例的配对方法。
在一种可能的实施方式中,接收单元1101,用于接收来自第一节点的第一消息,所述第一消息包括所述第一节点支持的至少一种配对方法的指示信息;
处理单元1102,用于从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法;
发送单元1103,用于向所述第二节点发送第二消息,所述第二消息包括所述第一配对方法。
在一种可能的实施方式中,所述第二消息用于请求与所述第一节点建立关联。
在一种可能的实施方式中,所述第一消息还包括所述第一节点支持的至少一种配对方法对应的优先级信息,或者,所述至少一种配对方法对应的优先级是预配置的。
在一种可能的实施方式中,所述处理单元1102,具体用于:
基于所述第一节点支持的至少一种配对方法的优先级信息,从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法。
在一种可能的实施方式中,所述第二消息还包括所述第二节点支持的至少一种配对方法的指示信息。
在一种可能的实施方式中,所述接收单元1101,还用于:
接收来自所述第一节点的拒绝消息,所述拒绝消息用于指示配对方法选择错误,所述拒绝消息是所述第一节点在确定不将所述第一配对方法用于与所述第二节点建立关联时向所述第二节点发送的。
在一种可能的实施方式中,所述拒绝消息包括指示第二配对方法的指示信息。
在一种可能的实施方式中,所述第二配对方法是所述第一节点从所述第一节点和所述第二节点均支持的配对方法中确定的,所述第二配对方法用于所述第一节点在确定所述第一配对方法与所述第二配对方法不是同一个配对方法时不将所述第一配对方法用于与所述第二节点建立关联。
在一种可能的实施方式中,所述第二消息还包括第一密钥协商算法的指示信息和第一密钥协商参数,所述第一密钥协商参数是所述第二节点根据所述第一密钥协商算法生成的;
所述接收单元1101,还用于接收来自所述第一节点的第三消息,所述第三消息包括第一认证信息和第二密钥协商参数,所述第二密钥协商参数是所述第一节点根据所述第一密钥协商算法得到的,所述第一认证信息是所述第一节点根据第一共享密钥得到的,所述第一共享密钥是所述第一节点根据所述第一密钥协商算法和所述第一密钥协商参数确定的;
所述发送单元1103,还用于向所述第二节点发送第四消息,所述第四消息是所述第二节点在验证所述第一认证信息与第二认证信息一致时发送至所述第一节点的,所述第二认证信息是所述第二节点根据第二共享密钥得到的,所述第二共享密钥是所述第二节点根据所述第一密钥协商算法和所述第二密钥协商参数得到的。
在一种可能的实施方式中,所述第四消息包括第三认证信息,所述第三认证信息是所述第二节点根据所述第二共享密钥得到的,所述第三认证信息用于所述第一节点在验证所述第三认证信息与第四认证信息一致时确定所述第二节点的身份认证通过,所述第四认证信息是所述第一节点根据所述第一共享密钥得到的。
在一种可能的实施方式中,所述处理单元1102,具体用于:
通过推演算法根据所述第二共享密钥和所述第一节点支持的至少一种配对方法,生成所述第三认证信息,所述第四认证信息是通过所述推演算法根据所述第一共享密钥和所述第一节点支持的至少一种配对方法生成的。
在一种可能的实施方式中,所述第一消息还包括所述第一节点支持的密钥协商算法的指示信息,所述第一节点支持的密钥协商算法的指示信息用于所述第二节点从所述第一节点和所述第二节点均支持的密钥协商算法中确定所述第一密钥协商算法和根据所述第一密钥协商算法确定所述第一密钥协商参数。
在一种可能的实施方式中,所述第二消息还包含第一随机数,所述处理单元1102,具体用于:
根据所述第二共享密钥、所述第一随机数和第二随机数,推演得到第一密钥,所述第二随机数是所述第一节点生成的;
根据所述第一配对方法确定口令;
根据所述口令、所述第一密钥、所述第一随机数和所述第二随机数确定所述第一节点与所述第二节点之间的预共享密钥PSK;
根据所述PSK、所述第二共享密钥和所述第一随机数,生成所述第二认证信息。
在一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第一节点的第一消息完整性代码MIC,所述第一MIC是所述第一节点根据所述第三消息得到的,所述第一MIC用于验证第三消息的完整性;
所述处理单元1102,还用于在根据所述第一MIC验证所述第三消息的完整性成功时生成所述第一认证消息;
所述处理单元1102,还用于根据所述第四消息,得到第二MIC,所述第四消息包括所述第二MIC,以使所述第一节点在根据第二MIC验证所述第四消息的完整性成功时,通过所述第一配对方法与所述第二节点建立关联。
在一种可能的实施方式中,第一节点支持的至少一种配对方法的指示信息为所述第一节点的输入输出能力。
在一种可能的实施方式中,所述第一配对方法为所述第一节点和所述第二节点均支持的配对方法中被所述第二节点的用户选定的。
需要说明的是,各个单元的实现还可以对应参照图4或者图6所示的实施例的相应描述。该配对装置110可以为图4或者图6所示实施例中的第二节点。
请参见图12,图12是本申请实施例提供的一种配对装置120的结构示意图,该配对装置120可以为节点,也可以为节点中的一个器件,例如芯片或者集成电路等。该装置120可以包括至少一个处理器1202和通信接口1204。进一步可选的,所述配对装置还可以包括至少一个存储器1201。更进一步可选的,还可以包含总线1203,其中,存储器1201、处理器1202和通信接口1204通过总线1203相连。
其中,存储器1201用于提供存储空间,存储空间中可以存储操作***和计算机程序等数据。存储器1201可以是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read onlymemory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)等等中的一种或者多种的组合。
处理器1202是进行算术运算和/或逻辑运算的模块,具体可以是中央处理器(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)、协处理器(协助中央处理器完成相应处理和应用)、微控制单元(Microcontroller Unit,MCU)等处理模块中的一种或者多种的组合。
通信接口1204可以用于为所述至少一个处理器提供信息输入或者输出。和/或所述通信接口可以用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(Wi-Fi、蓝牙、通用无线传输、车载短距通信技术等)接口。可选的,通信接口1204还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行前述的配对方法,例如图7、图6或者图8所示实施例所描述的配对方法。
在一种设计中,该配对装置120可以为图7、图6或者图8所示实施例中的第一节点。该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行上述图4或者图6所示的方法实施例。该配对装置100可以为图4或者图6所示实施例中的第一节点。
在另一种设计中,该配对装置120可以为图4、图5或者图6所示实施例中的第二节点。该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行以上图4或者图6所示的方法实施例。该配对装置110可以为图4或者图6所示实施例中的第二节点。
具体实现还可以参考图7、图6或者图8所示实施例中的详细描述,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,实现图7、图6或者图8所示的实施例所述的方法。
本申请实施例还提供了一种芯片***,所述芯片***包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,实现图4、图5或者图6所示的实施例所述的方法。
进一步,所述至少一个处理器可以包含CPU、MPU、MCU或者协处理器中的至少一个。
本申请实施例还提供一种终端,所述终端可以为智能座舱产品、或者车辆等,所述终端包括第一节点和/或第二节点,其中所述第一节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入、启动***控制器以及用户设备UE等模块中的一个或者多个)为图7、图6或者图8所示实施例中的第一节点,所述第二节点(例如,基站、汽车座舱域控制器CDC等)为图7、图6或者图8所示实施例中的第二节点。
进一步可选的,所述终端可以为无人机、机器人、智能家居场景中的设备、智能制造场景中的设备等。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在一个或多个处理器上运行时,可以实现如图4、图5或者图6所示的实施例所描述的通信方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。
当使用软件实现时,可以全部或部分地以计算机指令产品的形式实现。
在计算机上加载和执行该计算机指令时,可以全部或部分地实现本申请实施例所描述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid statedisk,SSD))等。
本申请方法实施例中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请装置实施例中的模块可以根据实际需要进行合并、划分和删减。
Claims (70)
1.一种配对方法,其特征在于,应用于第一节点,所述方法包括:
发送第一消息,所述第一消息包括所述第一节点支持的至少一种配对方法的指示信息;
接收来自第二节点的第二消息,所述第二消息包括第一配对方法的指示信息,所述第一配对方法包含于所述第一节点和所述第二节点均支持的配对方法中。
2.根据权利要求1中所述的方法,其特征在于,所述第二消息用于请求与所述第一节点建立关联。
3.根据权利要求1或2中所述的方法,其特征在于,所述第一消息还包括所述第一节点支持的至少一种配对方法对应的优先级信息,或者,所述至少一种配对方法对应的优先级是预配置的。
4.根据权利要求3中所述的方法,其特征在于,所述第一配对方法为基于所述第一节点支持的至少一种配对方法的优先级信息确定的。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述第二消息还包括所述第二节点支持的至少一种配对方法的指示信息。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
确定是否将所述第一配对方法用于与所述第二节点建立关联;
在确定不将所述第一配对方法用于与所述第二节点建立关联时,向所述第二节点发送拒绝消息,所述拒绝消息用于指示配对方法选择错误。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
从所述第一节点和所述第二节点均支持的配对方法中确定第二配对方法;
在所述第一配对方法与所述第二配对方法不是同一个配对方法时,确定不将所述第一配对方法用于与所述第二节点建立关联。
8.根据权利要求7中所述的方法,其特征在于,所述拒绝消息包括指示所述第二配对方法的指示信息。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述第二消息还包括第一密钥协商算法的指示信息和第一密钥协商参数,所述第一密钥协商参数是所述第二节点根据所述第一密钥协商算法生成的,所述方法还包括:
向所述第二节点发送第三消息,所述第三消息包括第一认证信息和第二密钥协商参数,所述第二密钥协商参数是所述第一节点根据所述第一密钥协商算法得到的,所述第一认证信息是所述第一节点根据第一共享密钥得到的,所述第一共享密钥是所述第一节点根据所述第一密钥协商算法和所述第一密钥协商参数确定的;
接收来自所述第二节点的第四消息,所述第四消息是所述第二节点在验证所述第一认证信息与第二认证信息一致时发送至所述第一节点的,所述第二认证信息是所述第二节点根据第二共享密钥得到的,所述第二共享密钥是所述第二节点根据所述第一密钥协商算法和所述第二密钥协商参数得到的。
10.根据权利要求9中所述的方法,其特征在于,所述第四消息包括第三认证信息,所述第三认证信息是所述第二节点根据所述第二共享密钥得到的,所述方法还包括:
在验证所述第三认证信息与第四认证信息一致时,确定所述第二节点的身份认证通过,所述第四认证信息是所述第一节点根据所述第一共享密钥得到的。
11.根据权利要求10中所述的方法,其特征在于,所述第三认证信息是所述第二节点通过推演算法根据所述第二共享密钥和所述第一节点支持的至少一种配对方法生成的,所述方法还包括:
通过所述推演算法根据所述第一共享密钥和所述第一节点支持的至少一种配对方法,生成所述第四认证信息。
12.根据权利要求9中所述的方法,其特征在于,所述第一消息还包括所述第一节点支持的密钥协商算法的指示信息,所述第一节点支持的密钥协商算法的指示信息用于所述第二节点从所述第一节点和所述第二节点均支持的密钥协商算法中确定所述第一密钥协商算法和根据所述第一密钥协商算法确定所述第一密钥协商参数。
13.根据权利要求9-12任一项中所述的方法,其特征在于,所述第二消息还包含第一随机数,所述方法还包括:
根据所述第一共享密钥、所述第一随机数和第二随机数,推演得到第一密钥,所述第二随机数是所述第一节点生成的;
根据所述第一配对方法确定口令;
根据所述口令、所述第一密钥、所述第一随机数和所述第二随机数确定所述第一节点与所述第二节点之间的预共享密钥PSK;
根据所述PSK、所述第一共享密钥和所述第一随机数,生成所述第一认证信息。
14.根据权利要求9-13中任一项所述的方法,其特征在于,所述方法还包括:
根据所述第三消息,得到第一消息完整性代码MIC,所述第一MIC用于验证第三消息的完整性;
将所述第一MIC发送至所述第二节点,以使所述第二节点在根据所述第一MIC验证所述第三消息的完整性成功时生成所述第一认证消息;
在根据第二MIC验证所述第四消息的完整性成功时,通过所述第一配对方法与所述第二节点建立关联,所述第四消息包括所述第二MIC,所述第二MIC是所述第二节点根据所述第四消息得到的。
15.根据权利要求1-14任一项中所述的方法,其特征在于,第一节点支持的至少一种配对方法的指示信息为所述第一节点的输入输出能力。
16.根据权利要求1-15任一项中所述的方法,其特征在于,所述第一配对方法为所述第一节点和所述第二节点均支持的配对方法中被所述第二节点的用户选定。
17.一种配对方法,其特征在于,应用于第二节点,所述方法包括:
接收来自第一节点的第一消息,所述第一消息包括所述第一节点支持的至少一种配对方法的指示信息;
从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法;
向所述第二节点发送第二消息,所述第二消息包括所述第一配对方法。
18.根据权利要求17中所述的方法,其特征在于,所述第二消息用于请求与所述第一节点建立关联。
19.根据权利要求17或18中所述的方法,其特征在于,所述第一消息还包括所述第一节点支持的至少一种配对方法对应的优先级信息,或者,所述至少一种配对方法对应的优先级是预配置的。
20.根据权利要求19中所述的方法,其特征在于,所述从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法,包括:
基于所述第一节点支持的至少一种配对方法的优先级信息,从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法。
21.根据权利要求17-20中任一项所述的方法,其特征在于,所述第二消息还包括所述第二节点支持的至少一种配对方法的指示信息。
22.根据权利要求17-21中任一项所述的方法,其特征在于,所述方法还包括:
接收来自所述第一节点的拒绝消息,所述拒绝消息用于指示配对方法选择错误,所述拒绝消息是所述第一节点在确定不将所述第一配对方法用于与所述第二节点建立关联时向所述第二节点发送的。
23.根据权利要求22所述的方法,其特征在于,所述拒绝消息包括指示第二配对方法的指示信息。
24.根据权利要求23中所述的方法,其特征在于,所述第二配对方法是所述第一节点从所述第一节点和所述第二节点均支持的配对方法中确定的,所述第二配对方法用于所述第一节点在确定所述第一配对方法与所述第二配对方法不是同一个配对方法时不将所述第一配对方法用于与所述第二节点建立关联。
25.根据权利要求17-24中任一项所述的方法,其特征在于,所述第二消息还包括第一密钥协商算法的指示信息和第一密钥协商参数,所述第一密钥协商参数是所述第二节点根据所述第一密钥协商算法生成的,所述方法还包括:
接收来自所述第一节点的第三消息,所述第三消息包括第一认证信息和第二密钥协商参数,所述第二密钥协商参数是所述第一节点根据所述第一密钥协商算法得到的,所述第一认证信息是所述第一节点根据第一共享密钥得到的,所述第一共享密钥是所述第一节点根据所述第一密钥协商算法和所述第一密钥协商参数确定的;
向所述第二节点发送第四消息,所述第四消息是所述第二节点在验证所述第一认证信息与第二认证信息一致时发送至所述第一节点的,所述第二认证信息是所述第二节点根据第二共享密钥得到的,所述第二共享密钥是所述第二节点根据所述第一密钥协商算法和所述第二密钥协商参数得到的。
26.根据权利要求25中所述的方法,其特征在于,所述第四消息包括第三认证信息,所述第三认证信息是所述第二节点根据所述第二共享密钥得到的,所述第三认证信息用于所述第一节点在验证所述第三认证信息与第四认证信息一致时确定所述第二节点的身份认证通过,所述第四认证信息是所述第一节点根据所述第一共享密钥得到的。
27.根据权利要求26中所述的方法,其特征在于,所述方法还包括:
通过推演算法根据所述第二共享密钥和所述第一节点支持的至少一种配对方法,生成所述第三认证信息,所述第四认证信息是通过所述推演算法根据所述第一共享密钥和所述第一节点支持的至少一种配对方法生成的。
28.根据权利要求25中所述的方法,其特征在于,所述第一消息还包括所述第一节点支持的密钥协商算法的指示信息,所述第一节点支持的密钥协商算法的指示信息用于所述第二节点从所述第一节点和所述第二节点均支持的密钥协商算法中确定所述第一密钥协商算法和根据所述第一密钥协商算法确定所述第一密钥协商参数。
29.根据权利要求25-28任一项中所述的方法,其特征在于,所述第二消息还包含第一随机数,所述方法还包括:
根据所述第二共享密钥、所述第一随机数和第二随机数,推演得到第一密钥,所述第二随机数是所述第一节点生成的;
根据所述第一配对方法确定口令;
根据所述口令、所述第一密钥、所述第一随机数和所述第二随机数确定所述第一节点与所述第二节点之间的预共享密钥PSK;
根据所述PSK、所述第二共享密钥和所述第一随机数,生成所述第二认证信息。
30.根据权利要求25-28中任一项所述的方法,其特征在于,所述方法还包括:
接收来自所述第一节点的第一消息完整性代码MIC,所述第一MIC是所述第一节点根据所述第三消息得到的,所述第一MIC用于验证第三消息的完整性;
在根据所述第一MIC验证所述第三消息的完整性成功时生成所述第一认证消息;
根据所述第四消息,得到第二MIC,所述第四消息包括所述第二MIC,以使所述第一节点在根据第二MIC验证所述第四消息的完整性成功时,通过所述第一配对方法与所述第二节点建立关联。
31.根据权利要求17-30任一项中所述的方法,其特征在于,第一节点支持的至少一种配对方法的指示信息为所述第一节点的输入输出能力。
32.根据权利要求17-31任一项中所述的方法,其特征在于,所述第一配对方法为所述第一节点和所述第二节点均支持的配对方法中被所述第二节点的用户选定的。
33.一种配对装置,其特征在于,包括:
发送单元,用于发送第一消息,所述第一消息包括所述第一节点支持的至少一种配对方法的指示信息;
接收单元,用于接收来自第二节点的第二消息,所述第二消息包括第一配对方法的指示信息,所述第一配对方法包含于所述第一节点和所述第二节点均支持的配对方法中。
34.根据权利要求33中所述的装置,其特征在于,所述第二消息用于请求与所述第一节点建立关联。
35.根据权利要求33或34中所述的装置,其特征在于,所述第一消息还包括所述第一节点支持的至少一种配对方法对应的优先级信息,或者,所述至少一种配对方法对应的优先级是预配置的。
36.根据权利要求35中所述的装置,其特征在于,所述第一配对方法为基于所述第一节点支持的至少一种配对方法的优先级信息确定的。
37.根据权利要求33-36中任一项所述的装置,其特征在于,所述第二消息还包括所述第二节点支持的至少一种配对方法的指示信息。
38.根据权利要求33-37中任一项所述的装置,其特征在于,所述装置还包括处理单元,所述处理单元,用于确定是否将所述第一配对方法用于与所述第二节点建立关联;
所述发送单元,还用于在确定不将所述第一配对方法用于与所述第二节点建立关联时,向所述第二节点发送拒绝消息,所述拒绝消息用于指示配对方法选择错误。
39.根据权利要求38所述的装置,其特征在于,所述处理单元,具体用于:
从所述第一节点和所述第二节点均支持的配对方法中确定第二配对方法;
在所述第一配对方法与所述第二配对方法不是同一个配对方法时,确定不将所述第一配对方法用于与所述第二节点建立关联。
40.根据权利要求39中所述的装置,其特征在于,所述拒绝消息包括指示所述第二配对方法的指示信息。
41.根据权利要求33-40中任一项所述的装置,其特征在于,所述第二消息还包括第一密钥协商算法的指示信息和第一密钥协商参数,所述第一密钥协商参数是所述第二节点根据所述第一密钥协商算法生成的;
所述发送单元,还用于向所述第二节点发送第三消息,所述第三消息包括第一认证信息和第二密钥协商参数,所述第二密钥协商参数是所述第一节点根据所述第一密钥协商算法得到的,所述第一认证信息是所述第一节点根据第一共享密钥得到的,所述第一共享密钥是所述第一节点根据所述第一密钥协商算法和所述第一密钥协商参数确定的;
所述接收单元,还用于接收来自所述第二节点的第四消息,所述第四消息是所述第二节点在验证所述第一认证信息与第二认证信息一致时发送至所述第一节点的,所述第二认证信息是所述第二节点根据第二共享密钥得到的,所述第二共享密钥是所述第二节点根据所述第一密钥协商算法和所述第二密钥协商参数得到的。
42.根据权利要求41中所述的装置,其特征在于,所述第四消息包括第三认证信息,所述第三认证信息是所述第二节点根据所述第二共享密钥得到的,所述处理单元,还用于:
在验证所述第三认证信息与第四认证信息一致时,确定所述第二节点的身份认证通过,所述第四认证信息是所述第一节点根据所述第一共享密钥得到的。
43.根据权利要求42中所述的装置,其特征在于,所述第三认证信息是所述第二节点通过推演算法根据所述第二共享密钥和所述第一节点支持的至少一种配对方法生成的,所述处理单元还用于:
通过所述推演算法根据所述第一共享密钥和所述第一节点支持的至少一种配对方法,生成所述第四认证信息。
44.根据权利要求41中所述的装置,其特征在于,所述第一消息还包括所述第一节点支持的密钥协商算法的指示信息,所述第一节点支持的密钥协商算法的指示信息用于所述第二节点从所述第一节点和所述第二节点均支持的密钥协商算法中确定所述第一密钥协商算法和根据所述第一密钥协商算法确定所述第一密钥协商参数。
45.根据权利要求41-44任一项中所述的装置,其特征在于,所述第二消息还包含第一随机数,所述处理单元,具体用于:
根据所述第一共享密钥、所述第一随机数和第二随机数,推演得到第一密钥,所述第二随机数是所述第一节点生成的;
根据所述第一配对方法确定口令;
根据所述口令、所述第一密钥、所述第一随机数和所述第二随机数确定所述第一节点与所述第二节点之间的预共享密钥PSK;
根据所述PSK、所述第一共享密钥和所述第一随机数,生成所述第一认证信息。
46.根据权利要求41-45中任一项所述的装置,其特征在于,所述处理单元,还用于:根据所述第三消息,得到第一消息完整性代码MIC,所述第一MIC用于验证第三消息的完整性;
所述发送单元,还用于将所述第一MIC发送至所述第二节点,以使所述第二节点在根据所述第一MIC验证所述第三消息的完整性成功时生成所述第一认证消息;
所述处理单元,还用于在根据第二MIC验证所述第四消息的完整性成功时,通过所述第一配对方法与所述第二节点建立关联,所述第四消息包括所述第二MIC,所述第二MIC是所述第二节点根据所述第四消息得到的。
47.根据权利要求33-46任一项中所述的装置,其特征在于,第一节点支持的至少一种配对方法的指示信息为所述第一节点的输入输出能力。
48.根据权利要求33-47任一项中所述的装置,其特征在于,所述第一配对方法为所述第一节点和所述第二节点均支持的配对方法中被所述第二节点的用户选定的。
49.一种配对装置,其特征在于,所述装置包括:
接收单元,用于接收来自第一节点的第一消息,所述第一消息包括所述第一节点支持的至少一种配对方法的指示信息;
处理单元,用于从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法;
发送单元,用于向所述第二节点发送第二消息,所述第二消息包括所述第一配对方法。
50.根据权利要求49中所述的装置,其特征在于,所述第二消息用于请求与所述第一节点建立关联。
51.根据权利要求49或50中所述的装置,其特征在于,所述第一消息还包括所述第一节点支持的至少一种配对方法对应的优先级信息,或者,所述至少一种配对方法对应的优先级是预配置的。
52.根据权利要求51中所述的装置,其特征在于,所述处理单元,具体用于:
基于所述第一节点支持的至少一种配对方法的优先级信息,从所述第一节点和所述第二节点均支持的配对方法中确定第一配对方法。
53.根据权利要求49-52中任一项所述的装置,其特征在于,所述第二消息还包括所述第二节点支持的至少一种配对方法的指示信息。
54.根据权利要求49-53中任一项所述的装置,其特征在于,所述接收单元,还用于:
接收来自所述第一节点的拒绝消息,所述拒绝消息用于指示配对方法选择错误,所述拒绝消息是所述第一节点在确定不将所述第一配对方法用于与所述第二节点建立关联时向所述第二节点发送的。
55.根据权利要求54所述的装置,其特征在于,所述拒绝消息包括指示第二配对方法的指示信息。
56.根据权利要求55中所述的装置,其特征在于,所述第二配对方法是所述第一节点从所述第一节点和所述第二节点均支持的配对方法中确定的,所述第二配对方法用于所述第一节点在确定所述第一配对方法与所述第二配对方法不是同一个配对方法时不将所述第一配对方法用于与所述第二节点建立关联。
57.根据权利要求49-56中任一项所述的装置,其特征在于,所述第二消息还包括第一密钥协商算法的指示信息和第一密钥协商参数,所述第一密钥协商参数是所述第二节点根据所述第一密钥协商算法生成的;
所述接收单元,还用于接收来自所述第一节点的第三消息,所述第三消息包括第一认证信息和第二密钥协商参数,所述第二密钥协商参数是所述第一节点根据所述第一密钥协商算法得到的,所述第一认证信息是所述第一节点根据第一共享密钥得到的,所述第一共享密钥是所述第一节点根据所述第一密钥协商算法和所述第一密钥协商参数确定的;
所述发送单元,还用于向所述第二节点发送第四消息,所述第四消息是所述第二节点在验证所述第一认证信息与第二认证信息一致时发送至所述第一节点的,所述第二认证信息是所述第二节点根据第二共享密钥得到的,所述第二共享密钥是所述第二节点根据所述第一密钥协商算法和所述第二密钥协商参数得到的。
58.根据权利要求57中所述的装置,其特征在于,所述第四消息包括第三认证信息,所述第三认证信息是所述第二节点根据所述第二共享密钥得到的,所述第三认证信息用于所述第一节点在验证所述第三认证信息与第四认证信息一致时确定所述第二节点的身份认证通过,所述第四认证信息是所述第一节点根据所述第一共享密钥得到的。
59.根据权利要求58中所述的装置,其特征在于,所述处理单元,具体用于:
通过推演算法根据所述第二共享密钥和所述第一节点支持的至少一种配对方法,生成所述第三认证信息,所述第四认证信息是通过所述推演算法根据所述第一共享密钥和所述第一节点支持的至少一种配对方法生成的。
60.根据权利要求57中所述的装置,其特征在于,所述第一消息还包括所述第一节点支持的密钥协商算法的指示信息,所述第一节点支持的密钥协商算法的指示信息用于所述第二节点从所述第一节点和所述第二节点均支持的密钥协商算法中确定所述第一密钥协商算法和根据所述第一密钥协商算法确定所述第一密钥协商参数。
61.根据权利要求57-60任一项中所述的装置,其特征在于,所述第二消息还包含第一随机数,所述处理单元,具体用于:
根据所述第二共享密钥、所述第一随机数和第二随机数,推演得到第一密钥,所述第二随机数是所述第一节点生成的;
根据所述第一配对方法确定口令;
根据所述口令、所述第一密钥、所述第一随机数和所述第二随机数确定所述第一节点与所述第二节点之间的预共享密钥PSK;
根据所述PSK、所述第二共享密钥和所述第一随机数,生成所述第二认证信息。
62.根据权利要求57-58中任一项所述的装置,其特征在于,所述接收单元,还用于接收来自所述第一节点的第一消息完整性代码MIC,所述第一MIC是所述第一节点根据所述第三消息得到的,所述第一MIC用于验证第三消息的完整性;
所述处理单元,还用于在根据所述第一MIC验证所述第三消息的完整性成功时生成所述第一认证消息;
所述处理单元,还用于根据所述第四消息,得到第二MIC,所述第四消息包括所述第二MIC,以使所述第一节点在根据第二MIC验证所述第四消息的完整性成功时,通过所述第一配对方法与所述第二节点建立关联。
63.根据权利要求49-62任一项中所述的装置,其特征在于,第一节点支持的至少一种配对方法的指示信息为所述第一节点的输入输出能力。
64.根据权利要求49-63任一项中所述的装置,其特征在于,所述第一配对方法为所述第一节点和所述第二节点均支持的配对方法中被所述第二节点的用户选定的。
65.一种芯片***,其特征在于,所述芯片***包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述芯片***所在的装置实现如权利要求1-16中任一项所述的方法。
66.一种芯片***,其特征在于,所述芯片***包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述芯片***所在的装置实现如权利要求17-32中任一项所述的方法。
67.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行如权利要求1-16中任一项所述的方法。
68.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行如权利要求17-32中任一项所述的方法。
69.一种通信***,其特征在于,包括:
第一节点,所述第一节点包含如权利要求33-48中任一项所述的配对装置;
第二节点,所述第二节点包含如权利要求49-64中任一项所述的配对装置。
70.一种终端,所述终端包括如权利要求33-48中任一项所述的配对装置或如权利要求49-64中任一项所述的配对装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/083641 WO2022204888A1 (zh) | 2021-03-29 | 2021-03-29 | 一种配对方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113228722A true CN113228722A (zh) | 2021-08-06 |
CN113228722B CN113228722B (zh) | 2023-02-10 |
Family
ID=77081266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180001248.8A Active CN113228722B (zh) | 2021-03-29 | 2021-03-29 | 一种配对方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240023175A1 (zh) |
EP (1) | EP4311288A4 (zh) |
CN (1) | CN113228722B (zh) |
WO (1) | WO2022204888A1 (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083368A1 (en) * | 2002-10-24 | 2004-04-29 | Christian Gehrmann | Secure communications |
CN101347029A (zh) * | 2005-11-16 | 2009-01-14 | 诺基亚公司 | 用于建立独立于承载且安全的连接的***和方法 |
CN102387501A (zh) * | 2010-08-30 | 2012-03-21 | 苹果公司 | 使用探测的两个设备之间的安全无线链路 |
CN102550052A (zh) * | 2009-06-11 | 2012-07-04 | 高通股份有限公司 | 基于布隆过滤器的设备发现 |
CN104365173A (zh) * | 2012-05-26 | 2015-02-18 | 高通股份有限公司 | 使用蓝牙*技术进行智能配对 |
CN104540089A (zh) * | 2014-12-23 | 2015-04-22 | 海信集团有限公司 | 一种主设备与从设备进行蓝牙配对的方法、设备及*** |
CN104812088A (zh) * | 2014-01-28 | 2015-07-29 | 上海贝尔股份有限公司 | 增强直接通信接口以支持双连接的方法和网络节点 |
KR101568332B1 (ko) * | 2014-11-12 | 2015-11-12 | 현대자동차주식회사 | 효율적인 블루투스 연결을 지원하는 차량 및 그 제어방법 |
CN105281809A (zh) * | 2014-05-30 | 2016-01-27 | 刘洪明 | 辅助蓝牙低功耗设备配对的方法及*** |
CN105282865A (zh) * | 2014-06-19 | 2016-01-27 | 诺基亚技术有限公司 | 设备配对 |
CN106162537A (zh) * | 2016-09-09 | 2016-11-23 | 北京华大智宝电子***有限公司 | 一种安全认证连接的方法、无线通信设备及终端 |
CN107148038A (zh) * | 2017-03-27 | 2017-09-08 | 聂江海 | 用于无线网状网络的管理和通信的方法、设备和*** |
CN107277745A (zh) * | 2016-04-02 | 2017-10-20 | 英特尔Ip公司 | 蓝牙语音配对装置和方法 |
CN109041021A (zh) * | 2018-07-24 | 2018-12-18 | 百富计算机技术(深圳)有限公司 | 一种基于蓝牙的文件传输方法、终端设备及存储介质 |
US20190306703A1 (en) * | 2018-03-27 | 2019-10-03 | Denso International America, Inc. | Systems And Methods Of Cloud Bonding For Vehicles |
CN111066335A (zh) * | 2017-09-29 | 2020-04-24 | 苹果公司 | 用于与访问控制***通信和测距以实现自动功能的移动设备 |
CN111246592A (zh) * | 2020-01-15 | 2020-06-05 | 广东小天才科技有限公司 | 一种数据共享的实现方法、数据发送端和数据接收端 |
US20200267517A1 (en) * | 2019-02-18 | 2020-08-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, Apparatus, and Computer-Readable Media for Discovery of Application Server and/or Services for V2X Communications |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103206765B (zh) * | 2012-01-17 | 2016-04-13 | 珠海格力电器股份有限公司 | 遥控器与空调器的配对方法及***和遥控器及空调器 |
US10187908B2 (en) * | 2014-05-09 | 2019-01-22 | Blackberry Limited | System and method for indicating pairing availability between devices |
CN106604213A (zh) * | 2016-12-22 | 2017-04-26 | 上海百芝龙网络科技有限公司 | 一种蓝牙设备配对*** |
JP6911411B2 (ja) * | 2017-03-14 | 2021-07-28 | 富士通株式会社 | 通信装置、通信システム、通信制御方法、及びプログラム |
JP6998397B2 (ja) * | 2017-06-15 | 2022-01-18 | 中▲興▼通▲訊▼股▲ふぇん▼有限公司 | 無線ネットワーク内の2つのノード間で構成情報を交換するためのシステムおよび方法 |
CN107483715B (zh) * | 2017-07-04 | 2021-03-02 | 上海小蚁科技有限公司 | 终端与设备通信的方法和***、终端、存储介质 |
US10491734B1 (en) * | 2019-01-04 | 2019-11-26 | Faraday&Future Inc. | User-friendly vehicle bluetooth pairing scheme |
-
2021
- 2021-03-29 CN CN202180001248.8A patent/CN113228722B/zh active Active
- 2021-03-29 EP EP21933574.2A patent/EP4311288A4/en active Pending
- 2021-03-29 WO PCT/CN2021/083641 patent/WO2022204888A1/zh active Application Filing
-
2023
- 2023-09-28 US US18/477,144 patent/US20240023175A1/en active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083368A1 (en) * | 2002-10-24 | 2004-04-29 | Christian Gehrmann | Secure communications |
CN101347029A (zh) * | 2005-11-16 | 2009-01-14 | 诺基亚公司 | 用于建立独立于承载且安全的连接的***和方法 |
CN102550052A (zh) * | 2009-06-11 | 2012-07-04 | 高通股份有限公司 | 基于布隆过滤器的设备发现 |
CN102387501A (zh) * | 2010-08-30 | 2012-03-21 | 苹果公司 | 使用探测的两个设备之间的安全无线链路 |
CN104365173A (zh) * | 2012-05-26 | 2015-02-18 | 高通股份有限公司 | 使用蓝牙*技术进行智能配对 |
CN104812088A (zh) * | 2014-01-28 | 2015-07-29 | 上海贝尔股份有限公司 | 增强直接通信接口以支持双连接的方法和网络节点 |
CN105281809A (zh) * | 2014-05-30 | 2016-01-27 | 刘洪明 | 辅助蓝牙低功耗设备配对的方法及*** |
CN105282865A (zh) * | 2014-06-19 | 2016-01-27 | 诺基亚技术有限公司 | 设备配对 |
KR101568332B1 (ko) * | 2014-11-12 | 2015-11-12 | 현대자동차주식회사 | 효율적인 블루투스 연결을 지원하는 차량 및 그 제어방법 |
CN104540089A (zh) * | 2014-12-23 | 2015-04-22 | 海信集团有限公司 | 一种主设备与从设备进行蓝牙配对的方法、设备及*** |
CN107277745A (zh) * | 2016-04-02 | 2017-10-20 | 英特尔Ip公司 | 蓝牙语音配对装置和方法 |
CN106162537A (zh) * | 2016-09-09 | 2016-11-23 | 北京华大智宝电子***有限公司 | 一种安全认证连接的方法、无线通信设备及终端 |
CN107148038A (zh) * | 2017-03-27 | 2017-09-08 | 聂江海 | 用于无线网状网络的管理和通信的方法、设备和*** |
CN111066335A (zh) * | 2017-09-29 | 2020-04-24 | 苹果公司 | 用于与访问控制***通信和测距以实现自动功能的移动设备 |
US20190306703A1 (en) * | 2018-03-27 | 2019-10-03 | Denso International America, Inc. | Systems And Methods Of Cloud Bonding For Vehicles |
CN109041021A (zh) * | 2018-07-24 | 2018-12-18 | 百富计算机技术(深圳)有限公司 | 一种基于蓝牙的文件传输方法、终端设备及存储介质 |
US20200267517A1 (en) * | 2019-02-18 | 2020-08-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, Apparatus, and Computer-Readable Media for Discovery of Application Server and/or Services for V2X Communications |
CN111246592A (zh) * | 2020-01-15 | 2020-06-05 | 广东小天才科技有限公司 | 一种数据共享的实现方法、数据发送端和数据接收端 |
Also Published As
Publication number | Publication date |
---|---|
CN113228722B (zh) | 2023-02-10 |
EP4311288A1 (en) | 2024-01-24 |
WO2022204888A1 (zh) | 2022-10-06 |
US20240023175A1 (en) | 2024-01-18 |
EP4311288A4 (en) | 2024-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112740733B (zh) | 一种安全接入方法及装置 | |
CN109905348B (zh) | 端到端认证及密钥协商方法、装置及*** | |
CN112491533B (zh) | 一种密钥生成方法及装置 | |
CN112602290B (zh) | 一种身份验证方法、装置和可读存储介质 | |
CN113545115B (zh) | 一种通信方法及装置 | |
CN113228722B (zh) | 一种配对方法及装置 | |
CN113455032B (zh) | 通信方法、通信装置及计算机可读介质 | |
CN115885496B (zh) | 一种通信方法及相关装置 | |
CN115334480A (zh) | 蓝牙周边与中央设备以及验证方法 | |
CN112640506B (zh) | 一种蓝牙节点配对方法及相关装置 | |
US20230099065A1 (en) | Key obtaining method and related apparatus | |
WO2023230929A1 (zh) | 通信方法及相关装置 | |
CN115668858A (zh) | 密钥协商方法、装置和*** | |
CN117981371A (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 |