CN111869249B - 针对中间人攻击的安全ble just works配对方法 - Google Patents

针对中间人攻击的安全ble just works配对方法 Download PDF

Info

Publication number
CN111869249B
CN111869249B CN201980018011.3A CN201980018011A CN111869249B CN 111869249 B CN111869249 B CN 111869249B CN 201980018011 A CN201980018011 A CN 201980018011A CN 111869249 B CN111869249 B CN 111869249B
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.)
Active
Application number
CN201980018011.3A
Other languages
English (en)
Other versions
CN111869249A (zh
Inventor
罗晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of CN111869249A publication Critical patent/CN111869249A/zh
Application granted granted Critical
Publication of CN111869249B publication Critical patent/CN111869249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key 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/0841Key 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/0844Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

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

针对中间人攻击的安全BLE JUST WORKS配对方法
相关申请
本申请是于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还包括用于将蓝牙通信加密和解密的密码引擎。
图2B是根据一个实施例示出在主机设备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的网络地址(即,URL 332)。
在块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之间的通信的序列。在501,证书生成过程以在主广播信道上的广播分组300中的ADV_EXT_IND和在次级广播信道上的广播分组310中的AUX_ADV_IND的播放开始,AD数据包括认证服务器103的URL。
主机设备102接收广播分组,并通过在502向服务器103发送TLS设置“ClientHello”来做出响应以建立与服务器103的安全TLS连接。在503,服务器103通过向主机102返回带有它的证书和公钥的“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攻击。在508,主机设备102然后通知***设备101它可以通过向***设备101传送“StartOnlineSecurityCertificateGeneration”来开始与服务器的在线安全证书生成过程400。在配对之后没有接收到此作为第一消息的情况下,没有证书的***设备101恢复到使用正常Just Works配对模式。
在509,***设备101通过传送在***设备101和服务器103之间设置安全TLS隧道连接的请求来对508处的“StartOnlineSecurityCertificateGeneration”消息做出响应,其中消息通过主机102被转发。在510,主机102将***设备101的TLS设置请求转发到服务器103,在511和512服务器103将它的证书和公钥返回到***设备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的未来通信在预定量的时间内被避免。在513,如果证书是有效的,***设备101和服务器103利用515、516、517和518处的传送来完成通过主机设备102的TLS隧道连接的设置。
参考图5B,浅色阴影(522、531、542处)指示可以被主机102或服务器103解密的消息,而深色阴影(519、520、525、523处等)指示可以被***设备101或服务器103但不能被主机设备102解密的消息。一旦安全TLS隧道连接在***设备101和服务器103之间被建立,在519和520***设备101就经由TLS隧道将它的固件ID以加密形式传送到服务器103。在521,如果服务器103确定固件是无效的(例如,基于在固件数据库232中对接收到的固件ID的查找),则在522服务器103向主机设备102传送“无效设备”错误消息并在523中止证书生成过程400。当在522接收到指示***设备没有正确固件ID的“无效设备”错误时,在524主机设备102也中止并停止与***设备101的通信。主机设备102也结束与服务器103通信,因为服务器103已经在523停止通信。
在521,如果固件是有效的(例如,固件ID成功地位于在固件数据库232中的一个或更多个条目中),则服务器103识别对应于在固件数据库232中的固件ID的固件块地址的子集,然后为固件验证过程随机选择一个或更多个地址。在525和526服务器103将随机选择的固件代码地址传送到***设备。每个所传送的地址识别来自由接收到的固件ID识别的固件的代码块。在527,***设备101从它自己的固件接收块地址并计算指定块的散列值。***设备101还使用真随机数生成器(TRNG)来生成设备ID和ECC公钥和私有密钥对。在528和529计算出的固件散列值、设备ID、以及公钥然后通过TLS隧道被传送到服务器。
服务器103接收每个所请求的固件块地址的散列值,并且在530服务器103将所接收的固件散列值与存储在它的固件数据库232中的预期散列值(例如253)进行比较,该预期散列值对应于***设备101的固件ID和在525和526所请求的块地址。可选地,使用存储在固件数据库232中的固件代码的副本来在需要时计算预期散列值。如果接收到的散列值与预期散列值不匹配,则固件是无效的。从530,服务器103在531向主机设备102传送“无效设备”错误消息。在532服务器103中止证书生成过程400。当在531接收到“无效设备”错误时,在533主机设备102也中止证书生成过程400。服务器103和主机102都停止与***设备101的通信。
在530,如果接收到的固件散列值与预期的固件散列值匹配,则***设备101的固件是有效的,并且在534服务器确定从***设备101接收的设备ID和公钥是否是唯一的(例如,通过在服务器的***设备数据库236中执行对设备ID的查找)。如果设备ID和/或公钥不是唯一的(例如,它们已经被另一个***设备使用),则在535和536服务器103向***设备101传送请求,用于使***设备101生成新的设备ID和公钥。
响应于在536接收到请求,在537和538***设备101生成新设备ID和公钥并向服务器103传送新设备ID和公钥。在块534,检查537处的新设备ID和公钥的唯一性。因此,当设备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的公钥。
在540和541服务器103经由TLS隧道向***设备101传送带有所生成的证书的“OK”消息。***设备接收证书,并在543将证书、批准的设备ID、以及公钥和私有密钥对保存到它的存储***210中的安全存储器中。***设备101更新它的广播信息以包括安全证书。在545,***设备101然后终止与主机设备102的现有BLE连接(因为它可能受到MITM攻击),并等待主机设备102(或另一设备)在安全Just Works模式中发起配对。
在542服务器103还向主机设备102传送带有***设备101的证书的“OK”消息。在544,主机设备102将服务器103的URL和公钥保存在它的公钥数据库222中以用于在随后的配对过程450中使用。当在542从服务器103接收到“OK”消息之后,主机设备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所述的***,还包括:
在所述认证服务器中的网络接口,其中,所述认证服务器被配置为从所述***设备接收固件标识符;
固件数据库,所述固件数据库被配置为存储多个固件块地址中的每一个固件块地址的预期散列值;以及
在所述认证服务器中的第二处理器,其中,所述第二处理器被配置成:
响应于在所述固件数据库中找到对应于所接收到的固件标识符的所述多个固件块地址的子集,经由所述网络接口将固件块地址的所述子集中的一组一个或更多个随机选择的固件块地址传送到所述***设备,
从所述***设备接收一组散列值,其中,所述一组散列值包括在所述一组随机选择的固件块地址中被识别的每个块的散列值,
响应于基于所述预期散列值验证所接收到的一组散列值,生成所述***设备的所述安全证书,其中,验证所述一组散列值包括将在所述一组散列值中的每个散列值与来自所述固件数据库的相对应的预期散列值进行比较,以及
响应于认证所接收到的一组散列值失败,停止与所述***设备的通信。
CN201980018011.3A 2018-03-08 2019-03-05 针对中间人攻击的安全ble just works配对方法 Active CN111869249B (zh)

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 CN111869249A (zh) 2020-10-30
CN111869249B true 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)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
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
AU2019204731A1 (en) * 2019-04-08 2019-06-27 Advanced New Technologies Co., Ltd. Product promotion using smart contracts in blockchain 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
US20220058279A1 (en) * 2020-08-24 2022-02-24 Analog Devices, Inc. Techniques of tracking software usage on a remote device
EP3955516A3 (en) * 2021-03-31 2022-03-09 CyberArk Software Ltd. Identity-based security layer for peripheral computing devices
CN113556797A (zh) * 2021-06-29 2021-10-26 深圳市闪联信息技术有限公司 一种移动设备与大屏设备快速建立连接的方法及***
US20230025979A1 (en) * 2021-07-23 2023-01-26 EMC IP Holding Company LLC Systems and methods for peripheral device security
US20230096692A1 (en) * 2021-09-29 2023-03-30 Quixotic Holdings, LLC Efficient wireless public key exchange

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704645A (zh) * 2014-12-09 2016-06-22 美国博通公司 通信设备及保护与设备的连接建立的方法
CN107211028A (zh) * 2015-02-06 2017-09-26 微软技术许可有限责任公司 对服务控制器的基于音频的发现和连接

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516325B2 (en) 2001-04-06 2009-04-07 Certicom Corp. Device authentication in a PKI
US7284127B2 (en) * 2002-10-24 2007-10-16 Telefonktiebolaget Lm Ericsson (Publ) Secure communications
CA2631763A1 (en) * 2005-12-01 2007-06-07 Firestar Software, Inc. System and method for exchanging information among 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 ブラザー工業株式会社 制御装置とコンピュータプログラム
US9037511B2 (en) * 2011-09-29 2015-05-19 Amazon Technologies, Inc. Implementation of secure communications in a support system
CN104170312B (zh) * 2011-12-15 2018-05-22 英特尔公司 用于使用硬件安全引擎通过网络进行安全通信的方法和设备
EP2890045A4 (en) * 2012-08-21 2016-03-30 Sony Corp METHOD FOR TRANSMITTING SIGNATURE VALIDATION INFORMATION, INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND RADIO TRANSMISSION DEVICE
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
GB2586549B (en) * 2013-09-13 2021-05-26 Vodafone Ip Licensing Ltd Communicating with a machine to machine device
US10045181B2 (en) * 2013-11-11 2018-08-07 Lg Electronics Inc. Method and apparatus for Bluetooth connection
EP2887715A1 (en) 2013-12-20 2015-06-24 GN Store Nord A/S Automatic pairing or connecting of devices
US9743449B2 (en) * 2014-01-14 2017-08-22 Qualcomm Incorporated Bluetooth low energy secondary data channel with multi-rate streaming
KR102101308B1 (ko) 2014-02-05 2020-04-16 애플 인크. 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
US9124580B1 (en) * 2014-02-07 2015-09-01 The Boeing Company Method and system for securely establishing cryptographic keys for aircraft-to-aircraft communications
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
DE102015214267A1 (de) * 2015-07-28 2017-02-02 Siemens Aktiengesellschaft Verfahren und System zum Erzeugen eines sicheren Kommunikationskanals für Endgeräte
US10091242B2 (en) * 2015-12-14 2018-10-02 Afero, Inc. System and method for establishing a secondary communication channel to control an internet of things (IOT) device
CN109154642B (zh) 2016-04-15 2023-05-16 株式会社电装 用于建立实时定位的***和方法
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
WO2018004303A1 (ko) 2016-07-01 2018-01-04 엘지전자(주) 블루투스 기술을 사용하는 장치의 인증 방법 및 장치
WO2018027059A1 (en) * 2016-08-03 2018-02-08 KryptCo, Inc. Systems and methods for delegated cryptography
US11596754B2 (en) 2016-11-03 2023-03-07 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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704645A (zh) * 2014-12-09 2016-06-22 美国博通公司 通信设备及保护与设备的连接建立的方法
CN107211028A (zh) * 2015-02-06 2017-09-26 微软技术许可有限责任公司 对服务控制器的基于音频的发现和连接

Also Published As

Publication number Publication date
US11729612B2 (en) 2023-08-15
CN111869249A (zh) 2020-10-30
WO2019173371A1 (en) 2019-09-12
DE112019001209T5 (de) 2020-11-19
US20190281449A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
CN111869249B (zh) 针对中间人攻击的安全ble just works配对方法
US10638321B2 (en) Wireless network connection method and apparatus, and storage medium
TWI610577B (zh) 用於使用特定於應用的網路存取身份碼來進行到無線網路的受贊助連接的設備和方法(一)
CN109714168B (zh) 可信远程证明方法、装置和***
WO2018214777A1 (zh) 一种数据通信方法、装置、设备和存储介质
US10681540B2 (en) Communication network system, transmission node, reception node, and message checking method
EP2805470B1 (en) Identity management with local functionality
US8707029B2 (en) Mobile handset identification and communication authentication
WO2017028593A1 (zh) 网络接入设备接入无线网络接入点的方法、网络接入设备、应用程序服务器和非易失性计算机可读存储介质
CN113099443B (zh) 设备认证方法、装置、设备和***
CN106330857B (zh) 具有证书的客户端设备及相关方法
JP5688087B2 (ja) 信頼できる認証およびログオンのための方法および装置
CN111149335A (zh) 远程设备的分布式管理***及其方法
TW201644292A (zh) 用於使用特定於應用的網路存取身份碼來進行到無線網路的受贊助連接的設備和方法(二)
US11184336B2 (en) Public key pinning for private networks
KR20160127167A (ko) 다중 팩터 인증 기관
JP2020526146A (ja) 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法
WO2022100356A1 (zh) 身份认证***、方法、装置、设备及计算机可读存储介质
CN113207322B (zh) 通信的方法和通信装置
CN111314269B (zh) 一种地址自动分配协议安全认证方法及设备
CN110771087B (zh) 私钥更新
CN116321158A (zh) 基于证书的本地ue认证
JP2017139026A (ja) 信頼できる認証およびログオンのための方法および装置
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