CN111869249A - 针对中间人攻击的安全ble just works配对方法 - Google Patents
针对中间人攻击的安全ble just works配对方法 Download PDFInfo
- Publication number
- CN111869249A CN111869249A CN201980018011.3A CN201980018011A CN111869249A CN 111869249 A CN111869249 A CN 111869249A CN 201980018011 A CN201980018011 A CN 201980018011A CN 111869249 A CN111869249 A CN 111869249A
- Authority
- CN
- China
- Prior art keywords
- peripheral device
- public key
- authentication server
- host device
- security certificate
- 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 75
- 230000002093 peripheral effect Effects 0.000 claims abstract description 241
- 238000004891 communication Methods 0.000 claims description 63
- 230000004044 response Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 description 55
- 238000010586 diagram Methods 0.000 description 10
- 206010000210 abortion Diseases 0.000 description 9
- 238000000275 quality assurance Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000023445 activated T cell autonomous cell death Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- 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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- 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
- 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/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种方法包括:在外围设备的无线广播信道上传送安全证书的一个或更多个片段,其中安全证书的至少一个片段识别认证服务器;通过传送外围设备的被签名的公钥来参与在外围设备和主机设备之间的公钥交换,其中被签名的公钥是在安全证书中被签名的;以及经由基于公钥建立的第一安全连接来将一个或更多个加密消息从外围设备传送到主机设备。
Description
相关申请
本申请是于2019年3月4日提交的美国非临时申请号16/291,160的国际申请,其要求于2018年3月8日提交的美国临时申请号62/640,398 的优先权,所有这些申请通过引用被全部并入本文。
技术领域
本公开涉及无线通信的领域,且特别是涉及在无线设备之间的安全通信。
背景
物联网(IoT)将网络连接扩展出标准计算设备(例如台式计算机、笔记本计算机、智能手机和平板计算机)之外到更宽范围的物理设备和日常物体,例如车辆、家用电器、娱乐设备等。支持IoT的设备包含允许它们将信息和命令传递到彼此的处理逻辑、软件、传感器、致动器和/或连接特征。当连接散布到较大数量的设备并且该连接的应用增加时,信息的安全性和该信息的传递变得越来越重要。当恶意软件和寻求隐私信息的人的访问点随着越来越多的所连接的设备的出现而增加时,物联网(IoT)引入了新的安全挑战。
用于在设备之间建立连接的一个无线技术标准是蓝牙。遵守蓝牙标准的设备与彼此配对,以便建立通信信道,在该通信信道上,数据和命令可以被传送。蓝牙设备的一种频繁地使用的配对方法是SSP(安全配对协议) Just Works(只工作)模式。这种模式按照设计容易受到中间人攻击,但却是普遍的,因为它不需要用于安全凭证配置和/或验证的用户接口特征,例如键盘和显示器。通过秘密地转发在打算只与彼此通信的两个连接方之间的通信来执行中间人攻击。因此,攻击者能够查看和修改在双方之间传送的信息。
附图简述
本公开在附图的图中作为例子而非限制被说明。
图1是根据一个实施例的计算机网络的框图。
图2A根据一个实施例示出了无线外围设备的框图。
图2B根据一个实施例示出了主机设备的框图。
图2C根据一个实施例示出了认证服务器的框图。
图2D根据一个实施例示出了在固件数据库和外围设备数据库中的条目。
图3根据一个实施例示出了在主和次级广播(advertising)信道上的广播分组(packets)。
图4A是根据一个实施例示出用于获得安全证书的过程的流程图。
图4B是根据一个实施例示出用于使外围设备和主机设备配对的过程的流程图。
图5A和图5B根据一个实施例示出了用于获得安全证书的过程。
图6根据一个实施例示出了用于使外围设备和主机设备配对的过程。
详细描述
下面的描述阐述了许多特定细节,例如特定系统、部件、方法等的示例,以便提供对所主张的主题的若干实施例的良好理解。然而对本领域中的技术人员将明显的是,至少一些实施例可在没有这些特定细节的情况下被实践。在其他实例中,众所周知的部件或方法未被详细描述或以简单框图形式呈现,以便避免使所主张的主题不必要地模糊。因此,所阐述的特定细节仅仅是示例性的。特定的实现方式可相对于这些示例性细节变化,并且仍然被设想为在所主张的主题的范围内。
蓝牙低能量(BLE)设备的通常使用的配对方法是SSP(安全配对协议)Just Works模式。当被配对的设备中的至少一个具有键盘而另一个设备具有显示器以用于安全凭证配置和/或验证时,除Just Works以外的安全配对模式可以被使用。然而,在利用蓝牙的许多外围设备(例如头戴式设备)中包括这样的用户接口特征是不切实际的。因此,这种设备使用Just Works配对模式来建立安全连接。Just Works模式提供了针对窃听的保护,但在防止中间人(MITM)攻击方面是无效的。
在一个实施例中,用于在Just Works模式中使外围设备与主机设备配对的方法通过允许一个设备(例如外围设备)在次级广播信道上广播它的安全证书或它的安全证书的片段来增加预防MITM攻击的保护。然后,该设备使用用于生成随后的椭圆曲线Diffie-Hellman(ECDH)密钥由所广播的安全证书背书(endorsed)的椭圆曲线密码(ECC)公钥来在Just Works 模式中完成配对过程。
外围设备通过主广播信道和次级广播信道向主机设备广播它的存在。主信道广播的协议数据单元(PDU)使用“ADV_EXT_IND”类型来表明 (signal)附加信息在次级广播信道上被广播。次级广播信道PDU使用“AUX_ADV_IND”类型。在一个实施例中,次级广播信道PDU包含 AD_TYPE=0x09。该AD_TYPE指示该PDU包含外围设备的完整本地名称;有效载荷数据包括完整本地名称连同安全证书的片段。可选地,不同的AD_TYPE可以用于向接收方主机设备指示外围设备的安全证书或安全证书的片段被包含在PDU中。
安全证书的所广播的片段包括外围设备的唯一标识符(ID)、外围设备的ECC公钥、数字签名、认证服务器(其私有密钥用于将安全证书的公告信息签名到数字签名中)的统一资源定位符(URL)、以及所选择的数字签名算法和参数。外围设备的设备特定安全证书在质量保证(QA)过程期间或在外围设备的第一次使用时被生成,在对外围设备的证实(attestation)之后由认证服务器支持(例如通过验证外围设备的固件)。
在与外围设备的第一次配对时,发起端主机设备经由与服务器的安全连接(例如经由传输层安全(TLS))获得认证服务器的公钥并对其进行认证。然后,服务器的URL和公钥被保存到主机设备的非易失性存储器中,使得使用同一认证服务器的未来配对可以跳过在线操作。在获得认证服务器的认证过的公钥之后,主机设备发起与外围设备的公钥交换,其中外围设备将它的ECC公钥(其在安全证书中被签名)传送到主机设备。在成功地认证外围设备的ECC公钥之后,主机设备在Just Works模式中完成与外围设备的配对。
如果发起连接的主机设备没有实现认证功能,上述配对过程自动默认为JustWorks模式。也就是说,即使主机设备没有认证外围设备的ECC公钥,Just Works配对过程也正常完成。在这种情况下,主机设备发起与外围设备的公钥交换,并接受由外围设备提供的ECC公钥而不认证它。
图1示出了包括无线外围设备101、主机设备102和认证服务器103 的计算机网络系统100的实施例。外围设备可以被体现为各种不同设备中的任何一种,例如头戴式设备、扬声器、计算机鼠标、键盘、智能扬声器等。主机设备可以被体现为许多不同类型的设备中的任一种,例如个人计算机、移动电话、平板计算机、交通工具信息系统等。
外围设备101包括无线通信接口111,以及主机设备102包括无线通信接口112。外围设备101和主机设备102使用它们的相应无线接口111 和112通过通信信道113来无线地交换消息。在一个实施例中,通信信道 113是用于以加密形式交换消息的安全蓝牙连接。
主机设备还经由网络链路114连接到广域网(WAN),例如互联网。通过WAN 104,主机设备102能够与认证服务器103通信。认证服务器 103经由网络链路115连接到WAN 104,并且由外围设备101所散布的 (broadcast)URL来识别。认证服务器向多个外围设备(包括外围设备101) 提供在线安全证书生成服务,并且还在配对过程期间帮助主机设备(包括主机设备102)来认证外围设备的ECC公钥。在一个实施例中,认证服务器103在外围设备的制造商或其签约伙伴的控制下在互联网上进行操作和维护。
图2A是根据一个实施例示出在外围设备101中的电路部件的框图。外围设备101包括多个部件210-217,该多个部件210-217可以直接或经由一个或更多个其他部件210-217(例如经由共享存储器)与彼此通信。在一个实施例中,在外围设备101中的部件210-217被包含在单个物理外壳内。
外围设备101另外包括具有蓝牙模块217的无线电收发器216,其用于通过与另一蓝牙设备的连接来无线地传送和接收数据。外围设备101包括接收并执行在存储器系统210中存储的固件中提供的指令211的处理器 215。在一个实施例中,处理器215通过引导在外围设备101中的其他部件根据指令211来执行本文描述的证书请求和配对过程。证书请求和配对过程的加密和解密操作由密码引擎214执行。
存储器系统210包括由外围设备101使用的存储器设备,例如随机存取存储器(RAM)模块、只读存储器(ROM)模块、非易失性存储器(NVM)、硬盘、和/或其他非暂时性计算机可读介质。除了固件211之外,存储器系统210还存储在配对过程中使用的外围设备101的安全证书212和ECC公钥和私有密钥对213。
外围设备101包括无线通信接口111,无线通信接口111包括无线电收发器216和蓝牙模块217。无线电收发器216由蓝牙模块217引导传送和接收无线电信号,蓝牙模块217管理根据蓝牙协议来传送或接收的消息的缓冲、调度、分段等。在一个实施例中,蓝牙模块217还包括用于将蓝牙通信加密和解密的密码引擎。
图2A是根据一个实施例示出在主机设备102中的电路部件的框图。主机设备102包括多个部件220-227,该多个部件220-227可以直接或通过一个或更多个其他部件220-227与彼此通信。在一个实施例中,在主机设备102中的部件220-227被包含在单个物理外壳(例如个人计算机机箱或移动设备机壳)内。
主机设备102另外包括具有蓝牙模块227的无线电收发器226,其用于通过与另一蓝牙设备的连接来无线地传送和接收数据。处理器225接收并执行存储在存储器系统220中的指令221。在一个实施例中,处理器215 通过引导在主机设备102中的其他部件根据指令221来执行本文描述的证书请求和配对过程。在一个实施例中,证书和配对过程的加密和解密操作由密码引擎224执行。
存储器系统220包括由主机设备102使用的存储器设备,例如随机存取存储器(RAM)模块、只读存储器(ROM)模块、非易失性存储器(NVM)、硬盘和/或其他非暂时性计算机可读介质。除了指令221之外,存储器系统 220还存储公钥数据库222。公钥数据库222使一个或更多个服务器的网络地址(例如URL、IP地址等)与它们的相应公钥相关联。在一个实施例中,公钥数据库222位于非易失性存储器中。
在主机设备102中,无线通信接口112包括无线电收发器226和蓝牙模块227。无线电收发器226由蓝牙模块227引导传送和接收无线电信号,蓝牙模块227管理根据蓝牙协议来传送和接收的消息的缓冲、调度、分段等。在一个实施例中,蓝牙模块227包括用于将蓝牙通信加密和解密的密码(cryptographic)引擎。
主机设备102还包括用于通过有线或无线网络来传送和接收数据的网络接口223。主机设备102通过网络接口223在WAN 104上传送和接收数据。
图2C是根据一个实施例示出在认证服务器103中的电路部件的框图。认证服务器103包括多个部件230-235,该多个部件230-235可以直接或通过一个或更多个其他部件230-235与彼此通信。在一个实施例中,在认证服务器103中的部件230-235被包含在单个物理外壳(例如服务器机箱) 内。在可选的实施例中,服务器103的部件和/或功能分布在多个物理设备当中。
处理器235接收并执行存储在存储器系统230中的指令231。在一个实施例中,处理器235通过引导服务器103中的其他部件根据指令231来执行本文描述的证书生成和认证过程。证书和认证过程的加密和解密操作是在加密引擎234中被执行的。
存储器系统230包括由认证服务器103使用的存储器设备,例如随机存取存储器(RAM)模块、只读存储器(ROM)模块、非易失性存储器 (NVM)、硬盘和/或其他非暂时性计算机可读介质。除了指令231之外,存储器系统230还存储固件数据库232和外围设备数据库236。存储器230 还存储由主要认证机构(CA)发布的服务器103的安全证书237。
服务器103还包括用于通过有线或无线网络来传送和接收数据的网络接口233。服务器103通过网络接口233在WAN 104上传送和接收数据。
图2D根据一个实施例示出在认证服务器103中的固件数据库232和外围设备数据库236。在固件数据库232中的每个条目使固件标识符251 与所识别的固件的块地址252和从位于块地址252处的固件块导出的散列值253相关联。固件数据库232可以包含针对多种类型的外围设备以及针对每种类型的外围设备的多个固件版本的条目。固件数据库232用于证实向服务器103请求安全证书的外围设备。在外围设备数据库236中,对于服务器103已经为其发布了安全证书的每个外围设备,每个条目使设备ID 261与ECC公钥262相关联。
图3根据一个实施例示出了由外围设备101传送的BLE广播帧。分组 300是在主广播信道上被传送的,以及分组310是在次级广播信道上被传送的。主信道广播分组300包括前导码301、协议数据单元类型(PDU_type) 302、广播数据信息(ADV数据信息)303、AuxPtr304、发射(Tx)功率电平305和循环冗余校验(CRC)306的字段。在主信道广播分组300中,PDU_type 302被设置为“ADV_EXT_IND”,指示附加数据是通过在次级广播信道上的广播可得到的。AuxPtr字段304是对次级广播信道分组310 的引用,并且识别信道号,附加数据以该信道号进行传送。
次级信道广播分组310包括前导码311、PDU_type 312、ADV地址313、 ADV数据信息314、Tx功率电平315、附加控制器广播数据(ACAD)316、 AD长度317、AD类型318、名称319和CRC 320的字段。在次级信道广播分组310中,ADV地址字段313包含广播外围设备101的地址,AD长度被选择以指示有效载荷数据319的长度,并且“9”的AD类型指示有效载荷数据319是存储广播外围设备101的完整名称的名称字段。
次级广播信道能够广播大约250字节的有效载荷,这对广播基于ECC 公钥的安全证书是足够的。安全证书212被包括在名称字段319中。在一个实施例中,安全证书212被附加在设备101的完整名称330后面,并且通过分隔符(例如零)与该名称分开。安全证书212包括外围设备101的设备标识符331、外围设备101的椭圆曲线密码(ECC)公钥333、认证服务器103的统一资源定位符332、和认证服务器103的数字签名334中的每一个的字段。在一个实施例中,次级信道广播分组310包括安全证书212 的选定片段;可选地,整个证书212被包括。在可选的实施例中,其他类型的网络地址可用于识别在广播分组310中的服务器103,而不是URL,例如互联网协议版本6(IPV6)地址。
图4A和图4B根据一个实施例示出了用于为无线外围设备生成证书并随后将外围设备与主机设备配对的过程。证书过程400和配对过程450由计算机网络系统100的部件(包括外围设备101、主机设备102和认证服务器103)执行。
在一个实施例中,证书过程400在外围设备101的质量保证(QA)期间被执行,并且专用主机设备102专用于协助证书生成400。可选地,最终用户的设备(例如电话、平板计算机、个人计算机等)可以起主机设备 102的作用。当外围设备101没有设备特定的安全证书时,证书过程400 被执行。在下面的实施例中,外围设备101、主机设备102和服务器103 为了建立与彼此的安全连接而利用TLS;然而在可选的实施例中,其他安全通信协议也可以被使用。
在块401,如果外围设备101已经具有安全证书,则用于获得证书的过程400被绕过,并且配对过程450在块451开始被执行。如果外围设备 101没有安全证书,则过程400从块401继续到块403。在块403,外围设备101广播认证服务器103的地址(例如URL)。外围设备101传送广播分组300和310,在有效载荷字段319中仅包括认证服务器103的地址,因为证书不是可用的。
在块405,主机设备102从广播分组310接收认证服务器103的地址,然后建立与广播的认证服务器103的TLS连接。在块407,外围设备101 通过主机设备102建立到认证服务器103的TLS隧道连接;即,从外围设备101传送到认证服务器103的消息首先通过无线介质从外围设备101传送到主机设备102,然后主机设备102将它们经由在主机设备102和认证服务器103之间的TLS连接从主机设备102转发到认证服务器103。从外围设备101到服务器103的消息因此通过在它们之间的端到端加密进行保护,因此主机设备102不能够查看或修改消息。
在块409,认证服务器103经由在外围设备101和服务器103之间的 TLS隧道来验证在外围设备101中的固件。在一个实施例中,外围设备101 传送对应于它的当前固件的固件ID。服务器103接收固件ID,并为被识别的固件生成一组随机固件块地址。随机块地址被传送到外围设备101,外围设备101基于它的固件的被识别的块来计算散列值。外围设备101然后将计算出的散列值连同它的公钥一起传送回服务器103。服务器103在它的固件数据库232中执行查找以将接收到的散列值与所存储的对应于固件ID和块地址的散列值进行比较。
在块411,如果接收到的散列值与在固件数据库232中的所存储的值不匹配,则外围设备101的固件不被验证。在这种情况下,如在块413所提供的,服务器103和主机设备102停止与外围设备101的通信。在块411,如果接收到的散列值与存储在固件数据库232中的散列值匹配,则固件被验证并且过程400在块415继续。
在块415,认证服务器为外围设备101生成安全证书,在证书中签名外围设备的公钥。在块417,认证服务器103经由TLS隧道将证书传送到外围设备101。服务器103还通过它与主机设备102的TLS连接将外围设备的证书传送到主机设备102。外围设备101和主机设备102均接收外围设备的安全证书的副本,并将该证书存储在它们的相应存储器系统中以用于以后使用。
在外围设备101获得它的设备特定安全证书212(在该安全证书212 中外围设备101的公钥被签名)的副本之后,配对过程450可以被执行以在外围设备101和主机设备102之间建立安全连接。配对过程450在块451 开始,在块451中外围设备101向主机设备102广播它的安全证书212。外围设备101在主广播信道上无线地播放(broadcast)分组300,该分组300引用(refers to)在次级广播信道上可用的附加信息。在次级广播信道上,外围设备101播放包括安全证书212的分组310。分组310还包括认证服务器103的网络地址(即,URL332)。
在块453,主机设备102在它的无线接口112处接收认证服务器103 的所广播的URL332。主机设备102试图通过使用服务器103的接收到的 URL 332在它的公钥数据库222中执行查找来找出服务器103的公钥。如果查找没有返回服务器103的公钥,则如在块455所提供的,主机通过与服务器103的TLS连接来从服务器103获得公钥。否则,如果查找返回服务器103的公钥,则过程450在块457继续。
在块457,主机设备102使用认证服务器103的公钥来认证外围设备 101的安全证书212。在块459,如果认证不是成功的,则如在块461所提供的,主机设备102停止与外围设备101的通信。如果认证是成功的,过程450从块459继续到块463。
在块463,主机设备102和外围设备101执行公钥交换。主机设备102 传送随机生成的临时ECC公钥,并且外围设备通过向主机设备102传送在认证的安全证书212中被签名的公钥213来做出响应。在块465,主机设备102确定接收到的公钥213是否在所认证的证书212中被签名。如果否,主机102停止与外围设备101的通信。如果公钥213在所认证的证书212中被正确地签名,则过程450在块467继续。
在块467,主机设备102和外围设备101使用所交换的公钥完成配对过程。在一个实施例中,配对是根据Just Works配对模式来完成的。因此,外围设备101通过计算外围设备的一对椭圆曲线Diffie-Hellman(ECDH) 密钥来建立与主机设备102的安全连接。主机还为主机设备计算一对 ECDH密钥。当配对完成时,在外围设备101和主机102之间建立安全通信信道,以及计算出的ECDH密钥对被用于将消息加密。在块469,主机 102和外围设备101通过安全连接来交换一个或更多个加密消息。
图5A和图5B示出了在在线证书生成过程400期间在外围设备101、主机设备102、和认证服务器103之间的通信的序列。证书生成过程以在主广播信道上的广播分组300中的ADV_EXT_IND和在次级广播信道上的广播分组310中的AUX_ADV_IND的播放501开始,AD数据包括认证服务器103的URL。
主机设备102接收广播分组501,并通过向服务器103发送TLS设置“ClientHello”502来做出响应以建立与服务器103的安全TLS连接。服务器103通过向主机102返回带有它的证书和公钥503的“ServerHello”来做出响应。在504,主机设备102证实服务器103的接收到的安全证书是有效的。服务器103的安全证书由主要证书管理机构发布;因此,CA 的公钥是主机设备102可容易得到的。认证服务器103的安全证书237用于向主机设备102证明从认证服务器103接收的公钥属于服务器103。
如果服务器103的证书未被成功地验证,主机设备102中止与服务器 103的TLS连接设置,并且在505结束与外围设备101的通信。在505,由于未能认证服务器103的证书,主机设备102不能信任认证服务器103。因此,主机设备102默默地放弃它与服务器103的连接(即,停止通信而不通知服务器103)以最小化被欺骗进行任何不安全通信的机会。
在一个实施例中,系统100中的设备(例如外围设备101、主机设备 102或认证服务器103)通过在它自己的存储器中记录连接将被终止的指示来停止经由与另一设备的连接的通信。这种指示可以包括例如识别待终止的连接的信息(例如网络地址、设备标识符等)、(例如在与连接相关联的数据结构或寄存器中的)与连接相关联的标志的断言、超时时间段(在该时间段期间没有另外的通信应出现)的指示等。在一些实施例中,指示连接被终止的错误消息也可以被显示或否则被传达给用户。
因此,在一个实施例中,具有不能被认证的证书(或识别连接被中止的其他信息)的服务器103的网络地址被记录在主机设备102的存储器220 中,并且与服务器103的未来通信在预定量的时间(例如协议或应用超时时间段)内被避免。主机设备102不向服务器103传送任何另外的通信,并等待协议或应用程序指定的连接超时过去。在超时过去之后,外围设备 101和认证服务器103都返回到它们的原始状态。
在504,如果服务器103的证书是有效的,主机102和服务器103在 506和507完成TLS连接设置。在主机102和服务器103之间传送的后续消息被加密;图5A中的浅色阴影(510、511、516和517)指示可以由主机102或服务器103解密的消息。
主机设备102使用正常Just Works模式与外围设备101配对,这容易受到MITM攻击。主机设备102然后通知外围设备101它可以通过向外围设备101传送“StartOnlineSecurityCertificateGeneration”508来开始与服务器的在线安全证书生成过程400。在配对之后没有接收到此作为第一消息的情况下,没有证书的外围设备101恢复到使用正常JustWorks配对模式。
外围设备101通过传送在外围设备101和服务器103之间设置安全 TLS隧道连接的请求509来对“StartOnlineSecurityCertificateGeneration”消息508做出响应,其中消息通过主机102被转发。主机102将外围设备 101的TLS设置请求510转发到服务器103,服务器103将它的证书511 和公钥512返回到外围设备101。外围设备101经由主机设备102通过转发协议来与服务器103交换它的TLS记录。主机设备102将TLS记录转发到服务器103和从服务器103转发TLS记录,但是不能在预加密阶段期间修改TLS记录。在加密生效之后,主机设备102不能够查看或修改数据。这防止了在在线安全证书生成过程期间的MITM攻击。
在513,外围设备101确定服务器103的安全证书是否是有效的。如果否,则在514外围设备中止证书生成过程400,并停止与主机设备102 的通信。在514,由于未能认证服务器103的证书,外围设备101不能信任认证服务器103。因此,外围设备101默默地断开它与服务器103的连接以最小化被欺骗进行任何不安全通信的机会。在一个实施例中,外围设备101在它自己的存储器210中记录它与服务器103的连接被断开的指示,并且与服务器103的未来通信在预定量的时间内被避免。在514,如果证书是有效的,外围设备101和服务器103利用传送515、516、517和518 来完成通过主机设备102的TLS隧道连接的设置。
参考图5B,浅色阴影(522、531、542)指示可以被主机102或服务器103解密的消息,而深色阴影(519、520、525、523等)指示可以被外围设备101或服务器103但不能被主机设备102解密的消息。一旦安全TLS 隧道连接在外围设备101和服务器103之间被建立,外围设备101就经由TLS隧道将它的固件ID 519和520以加密形式传送到服务器103。在521,如果服务器103确定固件是无效的(例如,基于在固件数据库232中对接收到的固件ID的查找),则服务器103向主机设备102传送“无效设备”错误消息522并中止523证书生成过程400。当接收到指示外围设备没有正确固件ID的“无效设备”错误522时,主机设备102也中止524并停止与外围设备101的通信。主机设备102也结束与服务器103通信,因为服务器103已经在523停止通信。
在521,如果固件是有效的(例如,固件ID成功地位于在固件数据库 232中的一个或更多个条目中),则服务器103识别对应于在固件数据库 232中的固件ID的固件块地址的子集,然后为固件验证过程随机选择一个或更多个地址。服务器103将随机选择的固件代码地址525和526传送到外围设备。每个所传送的地址识别来自由接收到的固件ID识别的固件的代码块。在527,外围设备101从它自己的固件接收块地址并计算指定块的散列值。外围设备101还使用真随机数生成器(TRNG)来生成设备ID 和ECC公钥和私有密钥对。计算出的固件散列值、设备ID、以及公钥528 和529然后通过TLS隧道被传送到服务器。
服务器103接收每个所请求的固件块地址的散列值,并且在530服务器103将所接收的固件散列值与存储在它的固件数据库232中的预期散列值(例如253)进行比较,该预期散列值对应于外围设备101的固件ID和所请求的块地址525和526。可选地,使用存储在固件数据库232中的固件代码的副本来在需要时计算预期散列值。如果接收到的散列值与预期散列值不匹配,则固件是无效的。从530,服务器103向主机设备102传送“无效设备”错误消息531。服务器103中止532证书生成过程400。当接收到“无效设备”错误531时,主机设备102也中止533证书生成过程 400。服务器103和主机102都停止与外围设备101的通信。
在530,如果接收到的固件散列值与预期的固件散列值匹配,则外围设备101的固件是有效的,并且在534服务器确定从外围设备101接收的设备ID和公钥是否是唯一的(例如,通过在服务器的外围设备数据库236 中执行对设备ID的查找)。如果设备ID和/或公钥不是唯一的(例如,它们已经被另一个外围设备使用),则服务器103向外围设备101传送请求 535和536,用于使外围设备101生成新的设备ID和公钥。
响应于接收到请求536,外围设备101生成新设备ID和公钥537和 538并向服务器103传送新设备ID和公钥537和538。在块534,检查新设备ID和公钥537的唯一性。因此,当设备ID和/或公钥在外围设备数据库236中不唯一时,服务器103重复地请求外围设备101重新生成设备ID 和公钥值,直到唯一值被生成或超时过去为止。如果超时被达到,服务器 103经由在主机设备102和服务器103之间的TLS连接来向主机设备102 发送“无效设备”错误消息,使服务器103和主机设备102都中止证书生成过程400并停止与外围设备101的通信。
在534,如果在超时条件被触发之前唯一的设备ID和公钥值被接收到,则如在539所提供的,服务器103将设备ID和公钥保存在数据库236中。在外围设备101的唯一设备ID和公钥被获得之后,服务器103为外围设备101生成安全证书。所生成的证书使用服务器103的私有密钥签名服务器103的URL、唯一设备ID、和外围设备101的公钥。
服务器103经由TLS隧道向外围设备101传送带有所生成的证书540 和541的“OK”消息。外围设备接收证书,并在543将证书、批准的设备 ID、以及公钥和私有密钥对保存到它的存储系统210中的安全存储器中。外围设备101更新它的广播信息以包括安全证书。在545,外围设备101 然后终止与主机设备102的现有BLE连接(因为它可能受到MITM攻击),并等待主机设备101(或另一设备)在安全Just Works模式中发起配对。
服务器103还向主机设备102传送带有外围设备101的证书542的“OK”消息。在544,主机设备102将服务器103的URL和公钥保存在它的公钥数据库222中以用于在随后的配对过程450中使用。在从服务器103接收到“OK”消息542之后,主机设备102关闭它与服务器103的TLS连接,并且在545终止它与外围设备101的BLE连接(因为它可能受到中间人攻击)。主机设备102然后可以重新开始使用外围设备101的新安全证书的安全Just Works配对过程。
图6示出了在安全配对过程450期间在外围设备101、主机设备102、和认证服务器103之间的通信的序列。配对过程450以在主广播信道上的广播分组300中的ADV_EXT_IND和在次级广播信道上的广播分组310 中的AUX_ADV_IND的广播601开始,其中AD数据包含外围设备101 的安全证书。安全证书包括外围设备101的唯一设备ID、认证服务器103 的网络地址(即,URL)、外围设备101的ECC公钥、和数字签名。安全证书允许主机设备102证明由外围设备101播放的ECC公钥实际上属于外围设备101,而不是属于MITM攻击者。
主机设备102接收认证服务器103的URL,并试图通过在它的公钥数据库222中执行对URL的查找来找出服务器103的公钥。如果公钥数据库222包含服务器103的公钥,则主机设备102从数据库222获得公钥并继续前进到下一步骤610。否则,如果公钥数据库222不包含被广播的服务器103的公钥,则主机设备102基于被广播的URL来发起与服务器103 的TLS连接的设置。主机设备向服务器103传送“ClientHello”消息603,服务器103通过向主机设备102传送“ServerHello”消息604连同服务器 103的证书和公钥来做出响应。
在605,主机设备102确定从服务器103接收的证书是否是有效的。该证书由主CA发布,该主CA的公钥对主机设备102是已知的;因此,主机102试图基于发布的CA的公钥来验证证书。如果主机设备102确定服务器103的证书不是有效的,则如在606提供的(类似于图5A中的505),主机设备102中止配对过程450。在605,如果主机设备102确定服务器 103的证书是有效的,则主机设备102和服务器103完成TLS连接设置607 和608。在609,主机设备102将服务器103的URL和公钥保存在主机设备102的公钥数据库222中。
在获得认证服务器103的公钥之后,在610主机设备102使用服务器 103的公钥来验证在由外围设备101广播的安全证书212中的数字签名。如果签名不匹配,则主机设备102认证外围设备101的安全证书失败,并如在611所提供的,中止配对过程450。在611,主机设备102验证外围设备101的证书失败,因此主机设备102默默地断开与外围设备101的连接以最小化被欺骗进行与外围设备101的任何不安全通信的机会。然而,如果外围设备101的所广播的安全证书被成功地验证,则从610起主机设备 102通过向外围设备101传送随机临时ECC公钥612来开始与外围设备101 的公钥交换。外围设备101在它的无线通信接口111处从主机设备接收临时ECC密钥612。
响应于接收到临时ECC公钥612,外围设备101传送它的永久签名的 ECC公钥,其在被广播的安全证书212中被签名。主机设备102接收外围设备101的公钥,并且在614主机设备102验证外围设备101的公钥在它的安全证书中被签名。如果否,主机设备102基于安全证书认证被签名的公钥失败,并且在615中止配对过程,停止与外围设备101的通信。在615,主机设备102发现外围设备101没有传送在被广播的证书中被签名的公钥,这不符合协议。因此,外围设备101被认为是不可信任的,并且主机设备 102默默地断开它与外围设备101的连接以最小化被欺骗进行与外围设备 101的任何不安全通信的机会。
在614,如果主机设备102通过确定公钥在外围设备101的被广播的安全证书中被正确地签名来验证外围设备101的公钥,则从614起主机设备102根据Just Works配对模式继续配对过程。通过在外围设备和主机设备中的每一者中计算一对椭圆曲线Diffie-Hellman(ECDH)密钥来建立安全连接。一旦安全连接被建立,则外围设备101和主机设备102就配对,并经由该安全连接来交换使用ECDH密钥加密的消息。
因此,前述证书生成过程400和配对过程450防止MITM攻击,这是因为由BLE外围设备101广播的安全证书可以向发端主机BLE设备102 证明在基于ECDH的安全配对协议中的由外围设备101发送的ECC公钥确实属于外围设备101。这可以防止MITM攻击者欺骗主机BLE设备使其接受攻击者自己的ECC公钥。
当配对由主机设备(其中安全配对过程450未被实现)发起时,外围设备101(其中上述安全配对模式被实现)能够坦然地(gracefully)默认为基本Just Works配对模式(容易受到MITM攻击)。在任一情况下,外围设备101向发起端主机设备发送相同的被签名的ECC公钥。如果安全配对过程450未在主机设备中被实现,则主机设备生成随机ECC公钥以用于公钥交换,并根据Just Works过程来推进而不认证外围设备的ECC公钥。如果安全配对过程450在主机设备102中被实现,则主机设备102在完成 Just Works配对之前认证外围设备101的ECC公钥。
在前述实施例中,可以进行各种修改;例如,被描述为以高电压被有效的信号可以替代地以低电压被有效,或者指定部件可以用具有类似功能的其他部件替换。如本文所述的,“电气地连接”或“电气地耦合”的导电电极可以被耦合,使得相对低电阻的导电路径存在于导电电极之间。被描述为“实质上”相等的量、尺寸或其他值可以是名义上相等的,但不需要确切地相等(存在由于制造公差、环境条件、量化或舍入误差、和/或其他因素而引起的变化),或者可以足够接近相等用于达到预期的效果或益处。
本文描述的实施例包括各种操作。这些操作可由硬件部件、软件、固件、或其组合执行。如本文中所使用的,术语“耦合到”可意味着直接地或通过一个或更多个中间部件间接地耦合。本文所述的通过各种总线提供的任何信号可以与其它信号时间复用并通过一个或更多个公共总线被提供。此外,在电路部件或块之间的互连可被示为总线或单信号线。总线中的每一个可以可选地是一个或更多个单信号线,并且单信号线中的每一个可以可选地是总线。
某些实施例可被实现为可包括存储在计算机可读介质上的指令的计算机程序产品。这些指令可以用来对通用或专用处理器编程以执行所描述的操作。计算机可读介质包括用于存储或传送以机器(例如计算机)可读的形式(例如软件、处理应用)的信息的任何机构。计算机可读存储介质可以包括但不限于磁存储介质(例如软盘);光学存储介质(例如CD-ROM);磁光存储介质;只读存储器(ROM);随机存取存储器(RAM);可擦除可编程存储器(例如EPROM和EEPROM);闪存或适合于存储电子指令的另一类型的介质。
此外,一些实施例可以在分布式计算环境中被实践,其中计算机可读介质被存储在多于一个计算机系统上和/或由多于一个计算机系统执行。另外,在计算机系统之间传输的信息可以在连接计算机系统的传输介质当中被推送或拉取。
虽然方法的操作在本文以特定的顺序被示出和描述,但是每种方法的操作的顺序可以被改变,使得特定操作可以以相反的顺序被执行,或使得特定操作可与其他操作至少部分地并行地被执行。在另一实施例中,不同操作的指令或子操作可以是以间歇和/或交替的方式进行。
在前述描述中,所主张的主题参考其特定示例性实施例被描述。然而将明显的是,可对其做出各种修改和改变而不偏离如在所附权利要求中阐述的本发明的更宽范围。说明书和附图相应地应在说明性意义上而不是限制性意义上被考虑。
Claims (20)
1.一种方法,包括:
在外围设备的无线广播信道上传送安全证书的一个或更多个片段,其中,所述安全证书的所述片段中的至少一个片段识别认证服务器;
通过传送所述外围设备的被签名的公钥来参与在所述外围设备和主机设备之间的公钥交换,其中,所述被签名的公钥是在所述安全证书中被签名的;以及
经由基于所述公钥建立的第一安全连接来将一个或更多个加密消息从所述外围设备传送到所述主机设备。
2.根据权利要求1所述的方法,其中:
所述广播信道是所述外围设备的次级广播信道;
所述安全证书的所述片段中的所述至少一个片段通过指示所述认证服务器的网络地址来识别所述认证服务器;以及
所述方法还包括从所述外围设备传送在所述外围设备的主无线广播信道上对所述次级广播信道的引用。
3.根据权利要求2所述的方法,其中:
所述安全证书的一个或更多个片段包括所述外围设备的设备标识符、所述外围设备的公钥、和所述认证服务器的数字签名。
4.根据权利要求1所述的方法,还包括响应于从所述外围设备接收到所述认证服务器的网络地址:
基于所述网络地址,在所述主机设备和所述认证服务器之间建立第二安全连接;以及
响应于基于所述认证服务器的公钥认证所述安全证书,完成在所述外围设备和所述主机设备之间的配对。
5.根据权利要求1所述的方法,其中:
所述公钥交换是响应于所述主机设备基于所述认证服务器的公钥认证所述安全证书而被执行的;
所述公钥交换包括将随机生成的密钥从所述主机设备传送到所述外围设备;以及
传送所述外围设备的被签名的公钥是响应于从所述主机设备接收到随机生成的密钥而被执行的。
6.根据权利要求5所述的方法,其中:
响应于在所述主机设备处接收到所述安全证书的一个或更多个片段,基于所述认证服务器的网络地址来检查公钥数据库以找到所述认证服务器的公钥;以及
响应于未能在所述公钥数据库中找到所述认证服务器的公钥,
通过建立与所述认证服务器的第二安全连接来获得所述认证服务器的公钥。
7.根据权利要求1所述的方法,还包括通过下列操作来从所述认证服务器获得所述安全证书:
响应于认证所述认证服务器的安全证书,在所述主机设备和所述认证服务器之间建立第二安全连接;
通过在所述外围设备和所述认证服务器之间经由所述主机设备转发消息来在所述外围设备和所述认证服务器之间建立安全隧道连接;以及
经由所述安全隧道连接来从所述认证服务器接收所述安全证书。
8.根据权利要求1所述的方法,还包括在所述认证服务器处:
从所述外围设备接收固件标识符;
响应于在固件数据库中找到所接收的固件标识符,向所述外围设备传送一组随机生成的固件块地址;
对于在所述一组随机生成的固件块地址中被识别的每个块,从所述外围设备接收与所述块相关联的散列;以及
响应于验证每个接收到的散列,为所述外围设备生成所述安全证书。
9.根据权利要求1所述的方法,还包括响应于下列情况之一而停止与所述外围设备的通信:
基于所述认证服务器的公钥认证所述安全证书失败。
基于所述安全证书认证所述被签名的公钥失败;以及
认证从所述外围设备的固件块计算的一个或更多个散列值失败,其中,所述散列值是从所述外围设备接收的。
10.一种外围设备,包括:
无线通信接口;以及
处理器,所述处理器与所述无线通信接口耦合,其中,所述处理器被配置成:
经由所述无线通信接口在所述外围设备的无线广播信道上传送安全证书的一个或更多个片段,其中,所述安全证书的所述一个或更多个片段中的至少一个片段识别认证服务器;
通过经由所述无线通信接口传送所述外围设备的被签名的公钥来参与在所述外围设备和主机设备之间的公钥交换,其中,所述被签名的公钥是在所述安全证书中被签名的;以及
经由所述无线通信接口来将一个或更多个加密消息从所述外围设备经由基于所述公钥建立的第一安全连接传送到所述主机设备。
11.根据权利要求10所述的外围设备,其中:
所述广播信道是所述外围设备的次级广播信道;
所述安全证书的一个或更多个片段指示所述外围设备的设备标识符、所述外围设备的公钥、所述认证服务器的网络地址和所述认证服务器的数字签名;以及
所述处理器还被配置成经由所述无线通信接口在所述外围设备的主无线广播信道上传送对所述次级广播信道的引用。
12.根据权利要求10所述的外围设备,其中:
所述无线通信接口被配置成在所述公钥交换期间从所述主机设备接收随机生成的密钥;以及
所述处理器还被配置成响应于经由所述无线通信接口在所述公钥交换期间从所述主机设备接收到所述随机生成的密钥而经由所述无线通信接口传送所述外围设备的所述被签名的公钥。
13.根据权利要求10所述的外围设备,其中,所述处理器还被配置为通过下列操作从所述认证服务器获得所述安全证书:
通过在所述外围设备和所述认证服务器之间经由所述主机设备转发消息来在所述外围设备和所述认证服务器之间建立安全隧道连接;以及
经由所述安全隧道连接来从所述认证服务器接收所述安全证书。
14.一种系统,包括:
在主机设备中的第一无线通信接口,其中,所述第一无线通信接口被配置成经由外围设备的无线广播信道来接收安全证书的一个或更多个片段,其中,所述安全证书的所述一个或更多个片段中的至少一个片段识别认证服务器;以及
在所述主机设备中的第一处理器,其中,所述第一处理器与所述第一无线通信接口耦合,并且被配置为:
基于所述认证服务器的公钥来认证所述安全证书;
通过经由所述第一无线通信接口接收所述外围设备的被签名的公钥来参与在所述外围设备和主机设备之间的公钥交换,其中,所述被签名的公钥是在所述安全证书中被签名的;以及
经由基于所述被签名的公钥建立的第一安全连接来将一个或更多个加密消息从所述主机设备传送到所述外围设备。
15.根据权利要求14所述的系统,还包括:
在所述主机设备中的网络接口,其中,所述第一处理器与所述网络接口耦合,并被配置为:
响应于接收到所述安全证书的所述一个或更多个片段,基于所述认证服务器的网络地址来尝试在公钥数据库中找到所述认证服务器的公钥;
响应于未能在所述公钥数据库中找到所述认证服务器的公钥,通过经由所述网络接口建立与所述认证服务器的第二安全连接来获得所述公钥;以及
响应于基于所述认证服务器的公钥认证所述安全证书,通过所述第一无线通信接口来完成与所述外围设备的配对。
16.根据权利要求14所述的系统,其中,所述第一处理器被配置成:
经由所述网络接口在所述主机设备和所述认证服务器之间建立第二安全连接;以及
响应于基于所述认证服务器的所述公钥认证所述安全证书失败而停止通过所述第一无线通信接口与所述外围设备的通信。
17.根据权利要求14所述的系统,其中,所述第一处理器被配置成:
响应于基于所述安全证书认证所述外围设备的所述被签名的公钥,通过计算所述主机设备的一对密钥来建立所述第一安全连接,以及
响应于下列情况之一而停止与所述外围设备的通信:基于所述认证服务器的所述公钥认证所述安全证书失败;以及基于所述安全证书认证所述被签名的公钥失败。
18.根据权利要求14所述的系统,还包括:
在所述外围设备中的第二无线通信接口;以及
在所述外围设备中的第二处理器,其中,所述第二处理器与所述第二无线通信接口耦合,并且被配置为:
通过在所述外围设备和所述认证服务器之间经由所述主机设备转发消息来在所述外围设备和所述认证服务器之间建立安全隧道连接;以及
经由所述安全隧道连接来从所述认证服务器接收所述安全证书。
19.根据权利要求14所述的系统,还包括:
第二无线通信接口;以及
在所述外围设备中的第二处理器,其中,所述第二处理器与所述第二无线通信接口耦合,并且被配置为:
通过下列操作来执行所述公钥交换:
在所述第二无线通信接口处从所述主机设备接收随机生成的密钥,以及
响应于从所述主机设备接收到所述随机生成的密钥,经由所述第二无线通信接口传送所述被签名的公钥;以及
通过计算所述外围设备的一对密钥来建立与所述主机设备的所述第一安全连接。
20.根据权利要求14所述的系统,还包括:
在所述认证服务器中的网络接口,其中,所述认证服务器被配置为从所述外围设备接收固件标识符;
固件数据库,所述固件数据库被配置为存储多个固件块地址中的每一个固件块地址的预期散列值;以及
在所述认证服务器中的第二处理器,其中,所述第二处理器被配置成:
响应于在所述固件数据库中找到对应于所接收到的固件标识符的所述多个固件块地址的子集,经由所述网络接口将固件块地址的所述子集中的一组一个或更多个随机选择的固件块地址传送到所述外围设备,
从所述外围设备接收一组散列值,其中,所述一组散列值包括在所述一组随机选择的固件块地址中被识别的每个块的散列值,
响应于基于所述预期散列值验证所接收到的一组散列值,生成所述外围设备的所述安全证书,其中,验证所述一组散列值包括将在所述一组散列值中的每个散列值与来自所述固件数据库的相对应的预期散列值进行比较,以及
响应于认证所接收的一组散列值失败,停止与所述外围设备的通信。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862640398P | 2018-03-08 | 2018-03-08 | |
US62/640,398 | 2018-03-08 | ||
US16/291,160 US11729612B2 (en) | 2018-03-08 | 2019-03-04 | Secure BLE just works pairing method against man-in-the-middle attack |
US16/291,160 | 2019-03-04 | ||
PCT/US2019/020798 WO2019173371A1 (en) | 2018-03-08 | 2019-03-05 | A secure ble just works pairing method against man-in-the-middle attack |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111869249A true CN111869249A (zh) | 2020-10-30 |
CN111869249B CN111869249B (zh) | 2024-07-02 |
Family
ID=67842316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980018011.3A Active CN111869249B (zh) | 2018-03-08 | 2019-03-05 | 针对中间人攻击的安全ble just works配对方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11729612B2 (zh) |
CN (1) | CN111869249B (zh) |
DE (1) | DE112019001209T5 (zh) |
WO (1) | WO2019173371A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556797A (zh) * | 2021-06-29 | 2021-10-26 | 深圳市闪联信息技术有限公司 | 一种移动设备与大屏设备快速建立连接的方法及系统 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3379445B1 (en) * | 2017-03-22 | 2024-06-12 | Diebold Nixdorf Systems GmbH | System and method to generate encryption keys based on information of peripheral devices |
TWI666889B (zh) * | 2018-05-18 | 2019-07-21 | 瑞昱半導體股份有限公司 | 藍牙通信系統及相關的傳送端藍牙裝置與接收端藍牙裝置 |
CN111131362A (zh) * | 2018-11-01 | 2020-05-08 | 昆盈企业股份有限公司 | 共享配置文件的方法 |
US11533598B2 (en) * | 2018-12-18 | 2022-12-20 | Fisher Controls International, Llc | Methods and apparatus to establish secure low energy wireless communications in a process control system |
US10887051B2 (en) * | 2019-01-03 | 2021-01-05 | Qualcomm Incorporated | Real time MIC recovery |
US11757663B1 (en) * | 2019-03-22 | 2023-09-12 | Emtruth, Inc. | Blockchain-based monitoring of devices |
EP3619670A4 (en) * | 2019-04-08 | 2020-05-06 | Alibaba Group Holding Limited | PROMOTION OF PRODUCTS BY MEANS OF INTELLIGENT CONTRACTS IN BLOCK CHAIN NETWORKS |
US11212113B2 (en) * | 2019-05-20 | 2021-12-28 | Citrix Systems, Inc. | Systems and methods providing connection lease anti-theft features for virtual computing sessions |
US11997496B2 (en) * | 2019-05-31 | 2024-05-28 | Apple Inc. | Temporary pairing for wireless devices |
JP7008661B2 (ja) * | 2019-05-31 | 2022-01-25 | 本田技研工業株式会社 | 認証システム |
EP3840441B1 (en) * | 2019-12-16 | 2023-10-18 | Axis AB | Method for establishing a secure wireless connection |
US12045375B2 (en) * | 2020-08-24 | 2024-07-23 | Analog Devices, Inc. | Techniques of tracking software usage on a remote device |
EP3955516B1 (en) * | 2021-03-31 | 2024-11-06 | CyberArk Software Ltd. | Identity-based security layer for peripheral computing devices |
US20230025979A1 (en) * | 2021-07-23 | 2023-01-26 | EMC IP Holding Company LLC | Systems and methods for peripheral device security |
US20230051075A1 (en) * | 2021-08-16 | 2023-02-16 | SILVAIR Sp. z o.o. | Processing of Mesh Network Data Packets Having Invalid Cyclic Redundancy Check (CRC) Values |
US20230096692A1 (en) * | 2021-09-29 | 2023-03-30 | Quixotic Holdings, LLC | Efficient wireless public key exchange |
US12050704B2 (en) | 2021-12-20 | 2024-07-30 | Western Digital Technologies, Inc. | Secure data content access system and method |
US12075255B2 (en) | 2021-12-20 | 2024-08-27 | SanDisk Technologies, Inc. | Secure wireless communication system and method |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083368A1 (en) * | 2002-10-24 | 2004-04-29 | Christian Gehrmann | Secure communications |
CN104170312A (zh) * | 2011-12-15 | 2014-11-26 | 英特尔公司 | 用于使用硬件安全引擎通过网络进行安全通信的方法和设备 |
CN105704645A (zh) * | 2014-12-09 | 2016-06-22 | 美国博通公司 | 通信设备及保护与设备的连接建立的方法 |
CN105706379A (zh) * | 2013-11-11 | 2016-06-22 | Lg电子株式会社 | 用于蓝牙连接的方法和设备 |
CN105917628A (zh) * | 2014-02-07 | 2016-08-31 | 波音公司 | 安全建立用于飞行器至飞行器通信的加密密钥的方法和系统 |
CN105917590A (zh) * | 2014-01-14 | 2016-08-31 | 高通股份有限公司 | 具有多速率流式传输的蓝牙低能量辅助数据信道 |
CN106452782A (zh) * | 2015-07-28 | 2017-02-22 | 西门子公司 | 为终端设备生成安全通信信道的方法和系统 |
US20170171747A1 (en) * | 2015-12-14 | 2017-06-15 | Afero, Inc. | System and method for establishing a secondary communication channel to control an internet of things (iot) device |
CN106998331A (zh) * | 2011-09-29 | 2017-08-01 | 亚马逊技术股份有限公司 | 支持系统中的安全通信的实施 |
CN107211028A (zh) * | 2015-02-06 | 2017-09-26 | 微软技术许可有限责任公司 | 对服务控制器的基于音频的发现和连接 |
US20180041484A1 (en) * | 2016-08-03 | 2018-02-08 | KryptCo, Inc. | Systems and methods for delegated cryptography |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516325B2 (en) | 2001-04-06 | 2009-04-07 | Certicom Corp. | Device authentication in a PKI |
EP1955471A4 (en) * | 2005-12-01 | 2009-03-11 | Firestar Software Inc | SYSTEM AND METHOD FOR EXCHANGING INFORMATION BETWEEN EXCHANGE APPLICATIONS |
US20110217950A1 (en) | 2010-03-05 | 2011-09-08 | Alan Kozlay | Apparatus & method to improve pairing security in Bluetooth™ headsets & earbuds |
JP5293659B2 (ja) * | 2010-03-18 | 2013-09-18 | ブラザー工業株式会社 | 制御装置とコンピュータプログラム |
US20150188929A1 (en) * | 2012-08-21 | 2015-07-02 | Sony Corporation | Signature validation information transmission method, information processing apparatus, information processing method, and broadcast delivery apparatus |
US9107069B2 (en) | 2012-10-11 | 2015-08-11 | Nordic Semiconductor Asa | Addressable radio device |
US9189225B2 (en) * | 2012-10-16 | 2015-11-17 | Imprivata, Inc. | Secure, non-disruptive firmware updating |
GB2518256A (en) * | 2013-09-13 | 2015-03-18 | Vodafone Ip Licensing Ltd | Communicating with a machine to machine device |
EP2887715A1 (en) | 2013-12-20 | 2015-06-24 | GN Store Nord A/S | Automatic pairing or connecting of devices |
WO2015120161A1 (en) | 2014-02-05 | 2015-08-13 | Apple Inc. | Uniform communication protocols for communication between controllers and accessories |
US9900091B2 (en) | 2014-06-24 | 2018-02-20 | Samsung Electronics Co., Ltd. | Method and apparatus for pairing electronic device and lighting device |
WO2016080798A1 (ko) | 2014-11-20 | 2016-05-26 | 엘지전자(주) | 블루투스 통신을 지원하는 무선 통신 시스템에서 디바이스들 간 페어링을 수행하기 위한 방법 및 이를 위한 장치 |
US9930240B2 (en) | 2014-12-22 | 2018-03-27 | Lg Electronics Inc. | Method and apparatus for controlling a camera by using Bluetooth communication in a wireless communication system |
US10051076B2 (en) | 2014-12-31 | 2018-08-14 | Airties Kablosuz Iletisim San. Ve Dis Tic. A.S. | Low power digital radio range extension |
JP2017004220A (ja) * | 2015-06-09 | 2017-01-05 | 株式会社東芝 | 通信装置、通信システム、通信方法およびプログラム |
GB201512232D0 (en) * | 2015-07-13 | 2015-08-19 | Nagravision Sa | Authentication of digital broadcast data |
EP3443376B1 (en) | 2016-04-15 | 2020-09-16 | Denso Corporation | System for establishing real-time location |
US10484363B2 (en) | 2016-05-23 | 2019-11-19 | Lg Electronics Inc. | Method and apparatus for authenticating a device using Bluetooth technology |
US9942328B2 (en) | 2016-05-27 | 2018-04-10 | Afero, Inc. | System and method for latched attributes in an internet of things (IOT) system |
US10423798B2 (en) | 2016-06-30 | 2019-09-24 | Hewlett-Packard Development Company, L.P. | Mobile device authenticated print |
US11012227B2 (en) | 2016-07-01 | 2021-05-18 | Lg Electronics Inc. | Authentication method and system for device using Bluetooth technology |
EP3535008B1 (en) | 2016-11-03 | 2023-10-11 | ResMed Inc. | Secure networked respiratory therapy systems |
US10087063B2 (en) | 2017-01-20 | 2018-10-02 | Afero, Inc. | Internet of things (IOT) system and method for monitoring and collecting data in a beverage dispensing system |
KR102436485B1 (ko) * | 2017-11-20 | 2022-08-26 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법 |
US20190044738A1 (en) * | 2018-05-04 | 2019-02-07 | Intel Corporation | Mobile device certificate distribution |
-
2019
- 2019-03-04 US US16/291,160 patent/US11729612B2/en active Active
- 2019-03-05 DE DE112019001209.6T patent/DE112019001209T5/de active Pending
- 2019-03-05 CN CN201980018011.3A patent/CN111869249B/zh active Active
- 2019-03-05 WO PCT/US2019/020798 patent/WO2019173371A1/en active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083368A1 (en) * | 2002-10-24 | 2004-04-29 | Christian Gehrmann | Secure communications |
CN106998331A (zh) * | 2011-09-29 | 2017-08-01 | 亚马逊技术股份有限公司 | 支持系统中的安全通信的实施 |
CN104170312A (zh) * | 2011-12-15 | 2014-11-26 | 英特尔公司 | 用于使用硬件安全引擎通过网络进行安全通信的方法和设备 |
CN105706379A (zh) * | 2013-11-11 | 2016-06-22 | Lg电子株式会社 | 用于蓝牙连接的方法和设备 |
CN105917590A (zh) * | 2014-01-14 | 2016-08-31 | 高通股份有限公司 | 具有多速率流式传输的蓝牙低能量辅助数据信道 |
CN105917628A (zh) * | 2014-02-07 | 2016-08-31 | 波音公司 | 安全建立用于飞行器至飞行器通信的加密密钥的方法和系统 |
CN105704645A (zh) * | 2014-12-09 | 2016-06-22 | 美国博通公司 | 通信设备及保护与设备的连接建立的方法 |
CN107211028A (zh) * | 2015-02-06 | 2017-09-26 | 微软技术许可有限责任公司 | 对服务控制器的基于音频的发现和连接 |
CN106452782A (zh) * | 2015-07-28 | 2017-02-22 | 西门子公司 | 为终端设备生成安全通信信道的方法和系统 |
US20170171747A1 (en) * | 2015-12-14 | 2017-06-15 | Afero, Inc. | System and method for establishing a secondary communication channel to control an internet of things (iot) device |
US20180041484A1 (en) * | 2016-08-03 | 2018-02-08 | KryptCo, Inc. | Systems and methods for delegated cryptography |
Non-Patent Citations (1)
Title |
---|
张星昊;黄一才;郁滨;: "基于RSSI变化趋势的BLE密钥协商方案", 系统仿真学报, no. 04 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556797A (zh) * | 2021-06-29 | 2021-10-26 | 深圳市闪联信息技术有限公司 | 一种移动设备与大屏设备快速建立连接的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
DE112019001209T5 (de) | 2020-11-19 |
WO2019173371A1 (en) | 2019-09-12 |
CN111869249B (zh) | 2024-07-02 |
US20190281449A1 (en) | 2019-09-12 |
US11729612B2 (en) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111869249B (zh) | 针对中间人攻击的安全ble just works配对方法 | |
CN109246053B (zh) | 一种数据通信方法、装置、设备和存储介质 | |
CN109714168B (zh) | 可信远程证明方法、装置和系统 | |
US10638321B2 (en) | Wireless network connection method and apparatus, and storage medium | |
EP3308519B1 (en) | System, apparatus and method for transferring ownership of a device from manufacturer to user using an embedded resource | |
CN113099443B (zh) | 设备认证方法、装置、设备和系统 | |
US9843579B2 (en) | Dynamically generated SSID | |
CN104145465B (zh) | 机器类型通信中基于群组的自举的方法和装置 | |
WO2017028593A1 (zh) | 网络接入设备接入无线网络接入点的方法、网络接入设备、应用程序服务器和非易失性计算机可读存储介质 | |
CN107360571B (zh) | 在移动网络中的匿名相互认证和密钥协商协议的方法 | |
TW201644291A (zh) | 用於使用特定於應用的網路存取身份碼來進行到無線網路的受贊助連接的設備和方法(一) | |
EP3197190B1 (en) | Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks | |
US12132839B2 (en) | Decentralised authentication | |
TW201644292A (zh) | 用於使用特定於應用的網路存取身份碼來進行到無線網路的受贊助連接的設備和方法(二) | |
EP2805470A1 (en) | Identity management with local functionality | |
WO2022100356A1 (zh) | 身份认证系统、方法、装置、设备及计算机可读存储介质 | |
JP2020526146A (ja) | 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 | |
KR20160127167A (ko) | 다중 팩터 인증 기관 | |
US20140237627A1 (en) | Protecting data in a mobile environment | |
CN111654481B (zh) | 一种身份认证方法、装置和存储介质 | |
CN113207322B (zh) | 通信的方法和通信装置 | |
CN111314269B (zh) | 一种地址自动分配协议安全认证方法及设备 | |
CN116527261A (zh) | 密钥恢复方法、电子设备、存储介质 | |
CN103152730B (zh) | 一种抗DoS攻击的通用移动通信系统无线接入方法 | |
JP2015111440A (ja) | 信頼できる認証およびログオンのための方法および装置 |
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 |