CN110476399B - 相互认证系统 - Google Patents

相互认证系统 Download PDF

Info

Publication number
CN110476399B
CN110476399B CN201880019799.5A CN201880019799A CN110476399B CN 110476399 B CN110476399 B CN 110476399B CN 201880019799 A CN201880019799 A CN 201880019799A CN 110476399 B CN110476399 B CN 110476399B
Authority
CN
China
Prior art keywords
responder
initiator
authentication
mutual
public key
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
CN201880019799.5A
Other languages
English (en)
Other versions
CN110476399A (zh
Inventor
J·A·C·伯恩森
F·A·M·范德拉尔
R·F·A·林德斯
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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 Koninklijke Philips NV filed Critical Koninklijke Philips NV
Publication of CN110476399A publication Critical patent/CN110476399A/zh
Application granted granted Critical
Publication of CN110476399B publication Critical patent/CN110476399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/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/3215Cryptographic 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 a plurality of 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/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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual authentication
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种无线通信系统使能由发起者设备(110)对响应者设备(120)的单侧认证以及这两个设备的相互认证。发起者的实施例可以具有消息单元(116)和状态机(117)。发起者通过经由带外动作获取响应者公共密钥来启动,并且发送认证请求。响应者发送认证响应,所述认证响应包括基于响应者私有密钥的响应者认证数据和指示相互认证正在进展以使响应者设备能够经由响应者带外动作获取发起者公共密钥的相互进展状态。发起者状态机被布置为提供相互认证状态,其在接收到相互进展状态时是参与的,以用于等待相互认证。由此,避免了无线通信期间的长超时时段,同时还使发起者能够在短时间内向用户报告通信错误。

Description

相互认证系统
技术领域
本发明涉及被布置用于根据通信协议进行无线通信的发起者设备和响应者设备,以及用于这种设备的方法和计算机程序产品。通信协议包括用于容纳认证的认证协议,所述认证是以下之一:-由发起者设备对响应者设备的单侧认证,以及-由发起者设备对响应者设备和由响应者设备对发起者设备的相互认证。响应者设备包括:响应者收发机,其被布置用于根据通信协议进行无线通信;以及响应者处理器,其被布置用于处理通信协议。发起者设备包括:发起者收发机,其被布置用于根据通信协议进行无线通信;以及发起者处理器,其被布置用于处理通信协议。
本发明涉及短程无线通信系统领域,例如,室内通信系统,并且更具体地,提供用于基于认证响应者设备和/或发起者设备来安全地建立无线连接的各种设备和方法。Wi-Fi,参见参考文献[1],提供了通信协议和建立无线设备连接的机制的范例。
背景技术
公共密钥可以用作识别和认证无线通信中的设备的手段。应该在每个设备内生成与公共密钥相关联的私有密钥,并保护其免于泄露。设备使用公共密钥加密技术来认证对等设备,其中,设备必须证明拥有与其公共密钥对应的私有密钥,并建立用于进一步安全通信的共享密钥。此安全体系结构简化了设备之间安全连接的建立,并为供应和连接设备的改进的可用性提供了基础。
启动认证协议的设备扮演发起者的角色。响应发起者请求的设备扮演响应者的角色。认证协议可以向发起者提供响应者的认证,并且任选地向响应者提供发起者的认证。这假设发起者已获得响应者的自举(bootstrapping)密钥以执行单向认证,并且双方已获得彼此的自举密钥以任选地执行相互认证。
Diffie-Hellman,参见参考文献[6],是一种公知的技术,用于在双方之间建立密钥,其中,各方之间的通信不会向第三方透露关于已建立的秘密密钥上的任何信息。双方各自使用他们自己的公共密钥/私有密钥对并彼此交换公共密钥。每一方都能够使用其自己的私有密钥和另一方的公共密钥以及可能的一些其他信息来计算秘密密钥,例如,来自各方的一次性随机数(随机数)。每一方可以在每次其执行Diffie-Hellman时可以重新生成密钥对,或者其可以重用较旧的密钥对。
当通过网络执行Diffie-Hellman时,接收用于执行Diffie-Hellman的公共密钥的设备不知道该公共密钥来自哪个设备。这可能由攻击者在所谓的中间人攻击中利用。攻击者E可能伪装成设备A想要连接的真实设备B。攻击者E利用设备A执行Diffie-Hellman并与设备A建立秘密密钥Kae。类似地,攻击者伪装成针对设备B的设备A并且与设备B建立秘密密钥Kbe。当消息从设备A或B中的一个进入时,攻击者用一个秘密密钥解密消息,用另一个秘密密钥加密其并将其转发给另一个设备。以这种方式,设备A和B在其通信中没有注意任何奇怪的情况,除了一些额外的延迟。但攻击者已经完全了解它们通信的内容。
为了增加无线通信的安全性,可以使用协议来根据通信协议对参加安全无线通信的一个或多个设备进行认证。这种认证协议可以由第一参加的设备启动,该第一参加的设备通常称为发起者设备,发起者设备与第二参加的设备通信,第二接参加的设备通常称为响应者设备。在当前背景下,发起者设备可以是具有使用无线通信建立连接的能力的任何电子设备。发起者设备可以是固定设备,如PC或接入点或无线对接站或无线USB集线器、或无线视频或AV监测器,但也可以是便携式设备,如膝上型电脑或移动电话。响应者设备类似地可以是具有使用无线通信建立连接的能力的任何类型的电子设备。
因此,通信协议可以包括用于容纳响应者和/或发起者的认证的认证协议。认证可以是由发起者设备对响应者设备的单侧认证。而且,认证可以是相互认证,其涉及发起者设备对响应者设备的认证以及响应者设备对发起者设备的认证。
发明内容
在这样的认证协议中,例如,为了防止在使用Diffie-Hellman时的中间人攻击,另一种通信方式可以用于交换公共密钥或公共密钥的散列,即除了根据无线通信协议使用的无线通信信道,其通常称为带内通信。另一种通信方式通常称为带外(OOB)通信,例如使用如条形码的视觉标记或让用户输入代码。
此外,通信协议通常具有处理消息的无线交换的噪声和干扰的机制。例如,当在预定超时时段内没有接收到回复时,再次传输该消息。在预定次数的重试之后,可以中止通信协议。
本发明的一个目的是提供一种安全无线通信系统,用于可靠地建立发起者设备和响应者设备之间的连接,同时避免在认证期间过长的超时时段。
为此目的,提供如所附权利要求中限定的设备和方法。
根据本发明的一个方面,一种发起者设备,被布置用于根据通信协议与响应者设备进行无线通信,
所述通信协议包括用于容纳认证的认证协议,所述认证是以下中的一项:
-由所述发起者设备对所述响应者设备的单侧认证,以及
-由所述发起者设备对所述响应者设备和由所述响应者设备对所述发起者设备的相互认证;
所述响应者设备包括:
-响应者收发机,其被布置用于根据所述通信协议进行无线通信,以及
-响应者处理器,其被布置用于处理所述通信协议,
其中,所述发起者设备包括:
-发起者收发机,其被布置用于根据所述通信协议进行无线通信,
-发起者处理器,其被布置用于处理所述通信协议,并且所述发起者处理器具有:
-发起者消息单元,其用于创建要被发送到所述响应者设备的消息并且根据所述认证协议分解从所述响应者设备接收的消息;以及
-发起者状态机,其用于依据用户交互和从所述响应者设备接收的消息根据所述认证协议提供发起者状态,所述发起者状态包括:
初始状态,其用于通过经由发起者带外动作从所述响应者设备获取响应者公共密钥来进行自举,
自举状态,其指示已经通过获取所述响应者公共密钥成功地执行了所述自举,以及
已认证状态,其指示已经成功地执行了所述认证;
所述发起者消息单元被布置为创建包括以下项的消息:
-认证请求,其要在所述自举状态下被发送并且包括用于验证发起者公共密钥的发起者验证器和用于验证所述响应者公共密钥的响应者验证器;
并且所述发起者消息单元被布置为分解包括以下项的消息:
-认证响应,其包括基于对应于所述响应者公共密钥的响应者私有密钥的响应者单侧认证数据以及指示所述相互认证正在进展以使所述响应者设备能够经由响应者带外动作从所述发起者设备获取所述发起者公共密钥的相互进展状态;并且
并且被布置为创建:
-相互认证确认,其包括指示对所述相互认证的确认的相互确认状态以及基于所述响应者公共密钥和对应于所述发起者公共密钥的发起者私有密钥的相互发起者认证数据。
根据本发明的另一方面,除了单侧认证方法之外或作为其备选,可以执行由发起者设备对响应者设备和由响应方设备对发起者设备的相互认证。根据该方面,发起者状态机被布置为提供相互认证状态,其在接收到相互进展状态时是参与的,以用于等待相互认证;并且
所述发起者消息单元被布置为分解:
-相互认证响应,其包括基于发起者公共密钥和响应者私有密钥的相互响应者认证数据;并且
所述发起者状态机被布置为在接收到所述相互认证响应并且所述发起者处理器基于所述响应者公共密钥和对应于发起者公共密钥的发起者私有密钥成功地处理所述相互响应者认证数据时参与所述已认证状态。
根据本发明的另一方面,一种响应者设备被布置用于根据通信协议与发起者设备进行无线通信,
所述通信协议包括用于容纳认证的认证协议,所述认证是以下中的一项:
-由所述发起者设备对所述响应者设备的单侧认证,以及
-由所述发起者设备对所述响应者设备和由所述响应者设备对所述发起者设备的相互认证;
所述发起者设备包括:
-发起者收发机,其被布置用于根据所述通信协议进行无线通信,
-发起者处理器,其被布置用于处理所述通信协议,并且
其中,所述响应者设备包括:
-响应者收发机,其被布置用于根据所述通信协议进行无线通信,
-响应者处理器,其被布置用于处理所述通信协议,并且所述响应者处理器具有:
-响应者消息单元,其用于创建要发送到所述发起者设备的消息,并且根据所述认证协议分解从所述发起者设备接收的消息,
-响应者状态机,其用于依据用户交互和从所述发起者设备接收的消息根据所述认证协议提供响应者状态,所述响应者状态包括:
等待状态,其用于从所述发起者接收消息,以及
响应者已认证状态,其指示已经成功地执行了所述认证;
所述响应者消息单元被布置为创建包括以下项的消息:
-认证响应,其包括基于对应于所述响应者公共密钥的响应者私有密钥的单侧响应者认证数据以及指示所述相互认证正在进展的相互进展状态;
并且被布置为分解包括以下项的消息:
-认证请求,其包括用于验证发起者公共密钥的发起者验证器和用于验证所述响应者公共密钥的响应者验证器。
根据本发明的另一方面,除了单侧认证方法之外或作为其备选,可以执行由发起者设备对响应者设备和由响应者设备对发起者设备的相互认证。根据该方面,响应者状态机被布置为:
-提供相互响应者认证状态,以用于使所述响应者设备能够经由响应者带外动作从所述发起者设备获取发起者公共密钥;并且
所述响应者消息单元被布置为创建:
-相互认证响应,其要在所述相互响应者认证状态下被发送并且包括基于所述发起者公共密钥和对应于所述响应者公共密钥的响应者私有密钥的相互响应者认证数据;
并且被布置为分解:
-相互认证确认,其包括指示对所述相互认证的确认的相互确认状态以及基于所述响应者公共密钥和对应于所述发起者公共密钥的发起者私有密钥的相互发起者认证数据;
所述响应者状态机被布置为在所述响应者处理器基于所述发起者公共密钥和所述响应者私有密钥成功地处理所述发起者认证数据时参与所述响应者已认证状态。
根据本发明的另一方面,提供了一种用于发起者设备中的发起者方法,所述发起者设备用于根据通信协议与响应者设备进行无线通信,
所述通信协议包括用于容纳认证的认证协议,所述认证是以下中的一项:
-由所述发起者设备对所述响应者设备的单侧认证,以及
-由所述发起者设备对所述响应者设备和由所述响应者设备对所述发起者设备的相互认证;
所述方法包括:
-依据用户交互和从所述响应者设备接收的消息根据所述认证协议提供发起者状态,所述发起者状态包括:
初始状态,其用于通过经由发起者带外动作从所述响应者设备获取响应者公共密钥来进行自举,
自举状态,其指示已经通过获取所述响应者公共密钥成功地执行了所述自举,以及
已认证状态,其指示已经成功地执行了所述认证;
-创建认证请求,所述认证请求要在所述自举状态下被发送并且包括用于验证发起者验证器和用于验证响应者公共密钥的响应者验证器;
-分解认证响应,所述认证响应包括基于对应于所述响应者公共密钥的响应者私有密钥的单侧响应者认证数据以及指示所述相互认证正在进展以使所述响应者设备能够经由响应者带外动作从所述发起者设备获取所述发起者公共密钥的相互进展状态;
-提供相互认证状态,所述相互认证状态在接收到所述相互进展状态时是参与的,以用于等待相互认证;
-分解相互认证响应,所述相互认证响应包括基于所述发起者公共密钥和所述响应者私有密钥的相互响应者认证数据;
-创建相互认证确认,所述相互认证确认包括指示对所述相互认证的确认的相互确认状态以及基于所述响应者公共密钥和对应于所述发起者公共密钥的发起者私有密钥的相互发起者认证数据;以及
-在接收到所述相互认证响应并且基于所述响应者公共密钥和对应于所述发起者公共密钥的发起者私有密钥成功地处理所述相互响应者认证数据时参与所述已认证状态。
根据本发明的另一方面,提供了一种用于响应者设备中的响应者方法,所述响应者设备用于根据通信协议与发起者设备进行无线通信,
所述通信协议包括用于容纳认证的认证协议,所述认证是以下中的一项:
-由所述发起者设备对所述响应者设备的单侧认证,以及
-由所述发起者设备对所述响应者设备和由所述响应者设备对所述发起者设备的相互认证;
所述方法包括:
-依据用户交互和从所述发起者设备接收的消息根据所述认证协议提供响应者状态,所述响应者状态包括:
等待状态,其用于从所述发起者接收消息,以及
响应者已认证状态,其指示已成功地执行了所述认证;
-创建认证响应,所述认证响应包括基于对应于所述响应者公共密钥的响应者私有密钥的单侧响应者认证数据和指示所述相互认证正在进展的相互进展状态;
-分解认证请求,所述认证请求包括用于验证发起者公共密钥的发起者验证器和用于验证所述响应者公共密钥的响应者验证器;
-在成功地处理所述认证请求时参与所述响应者认证状态;
-提供相互响应者认证状态,以用于使所述响应者设备能够经由响应者带外动作从所述发起者设备获取发起者公共密钥;
-创建相互认证响应,所述相互认证响应要在所述相互响应者认证状态下被发送并且包括基于所述发起者公共密钥和对应于所述响应者公共密钥的响应者私有密钥的相互响应者认证数据;
-分解相互认证确认,所述相互认证确认包括指示对所述相互认证的确认的相互确认状态以及基于所述响应者公共密钥和对应于所述发起者公共密钥的发起者私有密钥的相互发起者认证数据;
-在基于所述发起者公共密钥和所述响应者私有密钥成功地处理所述相互发起者认证数据时参与所述响应者已认证状态。
根据本发明的另一方面,提供了一种能从网络下载和/或存储在计算机可读介质和/或微处理器可执行介质上的计算机程序产品,所述产品包括用于在计算机上运行时实现上述方法的程序代码指令。
以上特征具有认证协议支持单侧认证和相互通信两者的效果。通过交换各种消息来执行协议,其可以由相应的发起者和响应者消息单元创建和分解。此外,可以经由相应的发起者和响应者状态机来控制交换消息和处理消息中的元素的序列,所述相应的发起者和响应者状态机在执行认证协议期间确定发起者和响应者设备的状态。
此外,认证协议使得能够使用带外(OOB)通信来从响应者设备获取响应者公共密钥。发起者侧的带外动作可以涉及接收响应者公共密钥本身,或编码的响应者公共密钥数据,以验证经由另外的通信动作接收的响应者公共密钥,例如,接收的带内消息或存储在较早的通信会话中的。获取初始量的密钥材料的过程称为自举。在成功自举之后,发起者可以参与认证状态以执行响应者设备的认证。
然而,在相互认证的情况下,响应者设备必须经由响应者带外动作从发起者设备获取发起者公共密钥。经由OOB通信交换代码可能花费很长时间,例如,如果涉及用户交互,例如读取发起者设备上的代码并将其输入响应者设备或者拍摄发起者设备上的机器可读代码(例如条形码或QR码)的照片(以约十分之几秒为单位)。与经由无线通信交换消息的时间(通常为毫秒或更短)相比,这样的时间很长。在发送认证请求之后,发起者设备可以保持等待认证响应。为了启用所述相互认证,完整认证响应需要还提供基于发起者公共密钥的响应者认证数据。发明人已经看到,可以仅在足够响应者OOB动作的相对长的时间之后传输完整认证响应。因此,在常规相互认证协议中将需要长的超时时段。不利的是,在没有接收到认证请求的情况下,例如,由于噪声,重传仅将在所述长超时时段之后发生。
此外,在未接收到认证请求的情况下,或者在认证响应包含导致认证失败的错误数据的情况下,用户在发起者设备能够让用户知道认证已失败之前必须等待很长时间。为了避免这样的长的超时时段,其已经提供了包含响应者认证数据的认证响应,响应者认证数据基于对应于响应者公共密钥的响应者私有密钥,其不涉及任何发起者密钥。有利地,可以在处理认证请求之后直接传输这种认证响应,从而在发送认证请求时实现发起者设备中的短暂超时。因此,在噪声的情况下,将基于所述短暂超时发生重传,并且当认证尝试已经失败时用户将更快地知道。
此外,发明人已经看到这种认证响应可以类似于单侧认证的响应。然而,要执行相互认证。因此,此外,上述增强的认证响应还包含指示相互认证正在进展的相互进展状态。而且,发起者状态机被布置为提供相互认证状态,其在接收到相互进展状态时参与,以用于等待相互认证。有利地,在所述相互认证状态下,发起者设备知道相互认证,其使得稍后能够接收包括相互响应者认证数据的相互认证响应,所述相互响应者认证数据基于发起者公共密钥和响应者私有密钥。随后,在成功处理所接收的相互响应者认证数据的情况下,发起者传输相互认证确认,所述相互认证确认包括指示相互认证的确认的相互确认状态以及基于响应者公共密钥和对应于发起者公共密钥的发起者私有密钥的发起者认证数据。
因此,通过在第一认证响应消息中提供额外的相互认证状态和相互进展状态,执行相互认证而不需要长的超时时段,同时在相同的认证协议中也实现单侧认证。有利地,在无线通信的不良条件的情况下,由于短的超时时段,所需消息的重传相对快。
根据本发明的方法可以在计算机上实现为计算机实现的方法,或者在专用硬件中实现,或者在两者的组合中实现。用于根据本发明的方法的可执行代码可以存储在计算机程序产品上。计算机程序产品的范例包括诸如记忆棒的存储器设备、诸如光盘的光学存储设备、集成电路、服务器、在线软件等。计算机程序产品可以包括存储在计算机可读介质上的非瞬态程序代码模块,当在计算机运行所述程序产品时,所述非瞬态程序代码模块用于执行根据本发明的方法。在实施例中,计算机程序包括计算机程序代码模块,当计算机程序在计算机上运行时,所述计算机程序代码模块适于执行根据本发明的方法的所有步骤或阶段。优选地,计算机程序实现在计算机可读介质上。提供了一种能从网络下载和/或存储在计算机可读介质和/或微处理器可执行介质上的计算机程序产品,所述产品包括用于当在计算机上运行时实现上述方法的程序代码指令。
本发明的另一方面提供了一种使计算机程序可用于下载的方法,例如包括在应用程序中。当计算机程序被上传到例如Apple的App商店、Google的Play商店或Microsoft的Windows商店中时,以及当计算机程序可用于从这样的商店下载时,使用该方面。
在所附权利要求中给出了根据本发明的设备和方法的另外的优选实施例,通过引用将其公开内容并入本文。
附图说明
参考在以下描述中并参考附图以范例方式描述的实施例,本发明的这些和其他方面将变得显而易见并且得到进一步阐明,附图中,
图1示出了用于无线通信和认证的设备,
图2示出了认证协议的示意图,
图3示出了发起者状态机的范例,
图4示出了响应者状态机的范例,
图5示出了用于发起者的方法,
图6示出了用于响应者的方法,
图7a示出了计算机可读介质,并且
图7b以处理器系统的示意性图示示出。
这些图纯粹是图解性的,并未按比例绘制。在附图中,对应于已经描述的元件的元件可以具有相同的附图标记。
具体实施方式
使用以下缩写:
状态:
IST 初始状态
BST 自举
AG1 认证(发起者,单向)
AG2 相互认证(发起者,相互)
ATD 认证(发起者)
AWG 等待(响应者)
AR1 认证(响应者,单向)
AR2 相互认证(响应者,相互)
ARD 认证(响应者)
消息:
ARQ 认证请求
ARP 认证响应
ACF1 认证确认(单向)
ACF2 相互认证确认
ARP1 认证响应(单向)
ARP2 相互认证响应
事件/动作/状态:
OOB 带外(通信动作)
OOB_I 带外(发起者的通信动作)
OOB_R 带外(响应者的通信动作)
BA 不良认证(事件)
BTG 自举(事件)
NP 无对等(事件)
TO 超时(事件)
TR 触发(事件)
MPS 相互进展状态
MAS 相互等待状态
MCS 相互确认状态
密钥:
BI 发起者的公共自举密钥
BR 响应者的公共自举密钥
PI 发起者的公共密钥
PR 响应者的公共密钥
bI 与BI对应的发起者私有密钥
bR 与BR对应的响应者私有密钥
图1示出了用于无线通信和认证的设备。用于无线通信的系统100包括发起者设备110和响应者设备120,这些设备在物理上是分开的。发起者设备具有布置成根据通信协议进行无线通信的发起者收发机111,以及布置用于处理通信协议的发起者处理器112。同样,响应者设备具有响应者收发机121和响应者处理器122,响应者收发机121被布置用于根据通信协议进行无线通信,响应者处理器122被布置用于处理通信协议。设备被装备用于无线通信,如由形状130和连接收发机111、121的箭头示意性地指示的。发起者设备可以具有用户接口113,其可以包括公知的元件,诸如一个或多个按钮115、键盘、显示器、触摸屏等。响应者设备还可以具有用户接口123。响应者用户接口可以被布置用于容纳用户交互以执行响应者带外动作来从发起者设备获取发起者公共密钥。
设备被布置用于根据发起者设备与响应者设备之间的通信协议进行无线通信。设备被布置用于执行认证协议,该认证协议用于容纳作为以下之一的认证:由发起者设备对响应者设备的单侧认证,以及由发起者设备对响应者设备和由响应者设备对发起者设备的相互认证,下面参考图2详细描述了范例。通信协议可以包括认证协议。在范例中,根据IEEE802.11[参考文献1],通信协议是Wi-Fi,但是当提供基于如下所述的系统的适当认证协议时,也可以使用其他无线协议,例如蓝牙。
发起者处理器112具有发起者消息单元116,以创建(compose)要发送给响应者设备的消息,并根据认证协议分解从响应者设备接收的消息。发起者处理器还具有发起者状态机117,以依据用户交互和从响应者设备接收的消息根据认证协议提供发起者状态,下面参考图3详细说明该范例。
响应者处理器122具有响应者消息单元126,以创建要发送到发起者设备的消息,并根据认证协议分解从发起者设备接收的消息。响应者处理器还具有响应者状态机127,以依据用户交互和从发起者设备接收的消息根据认证协议提供响应者状态。
下面参考图2、3和4阐述发起者处理器和响应者处理器的功能,该发起者处理器和响应者处理器用于使用相应的消息单元和状态机基于相应的消息和相应的发起者和响应者状态来容纳认证协议。
对于认证,建议的系统可以使用任何形式的公共密钥加密,例如RSA,参见[7],或椭圆曲线加密(ECC),见[8]。
图2示出了认证协议的示意图。根据认证协议200,第一设备INIT_DEV与第二设备RESP_DEV交换消息,如由表示向下方向上的时间进度的两个垂直时间线之间的箭头所指示的。第一设备可以是在IST处开始的发起者设备,并且第二设备可以是在AWG处开始的响应者设备,但是可以反转这样的角色。消息由发送侧的消息单元创建,并由接收侧的消息单元分解。
在本说明书中,BI指示发起者的公共自举密钥,而bI指示对应的私有密钥。类似地,BR指示响应者的公共自举密钥,而bR指示对应的私有密钥。H指示散列函数,例如基于这样已知的适当散列单向算法。散列函数的合适范例可以在参考文献[4]中找到。
发起者公共密钥的散列值由H(BI)指示。可以容易地验证散列值以对应于散列保护值,但是在保持相同散列的同时操纵这样的值实际上是不可能的。认证数据基于一个或多个密钥、相应的公共密钥和私有密钥计算,例如由{auth1}k1指示的,其意指由密钥k1加密的auth1的值,而{auth1}意指auth1的值。这样的密钥被生成、用于编码和解码,从而产生签名或控制值,并且验证这样的值,如公知的那样,例如,来自前面提到的Diffie-Hellman加密系统。
初始地,发起者设备可以通过经由发起者带外动作从响应者设备获取响应者公共密钥来执行自举。OOB动作由标记为OOB动作的虚线箭头示出(在图1中由箭头140相应地指示)。参考文献[2]中描述了各种OOB动作的范例;其他范例是用户在发起者设备上读取代码并将其输入响应者设备,用户利用发起者设备的相机拍摄机器可读代码(例如条形码或QR码)的照片,其由响应者设备打印或显示。
随后,发起者消息单元可以创建要在自举状态下发送的认证请求ARQ。认证请求可以包含用于验证发起者公共密钥的发起者验证器H(BI)和用于验证响应者公共密钥的响应者验证器H(BR)。ARQ还可以包含发起者公共密钥PI,以及另外的发起者数据,如发起者一次性随机数I-一次性随机数以及发起者能力数据I-能力,其可以使用由{I-一次性随机数|I-能力}K1指示的第一密钥K1来编码。第一密钥K1可以由发起者以Diffie-Hellman方式根据响应者公共密钥BR和与发起者公共密钥PI对应的发起者私有密钥pI导出。第一密钥K1可以由响应者以Diffie-Hellman方式根据发起者公共密钥PI和与响应者公共密钥BR对应的响应者私有密钥bR导出。相应地,响应者消息单元被布置为分解认证请求ARQ。
在超时TO之后,当没有接收到响应时,可以再次传输ARQ,例如,达到3次。假设及时接收响应ARP1。
响应者消息单元被布置成创建认证响应ARP1,其可以包含单侧响应者认证数据{R-auth1}k1。ARP1还可以包含响应者公共密钥PR,以及另外的响应者数据,如响应者一次性随机数R-一次性随机数等。第一中间密钥k1可以基于发起者公共密钥PI、与响应者公共密钥(PR)对应的响应者私有密钥(pR)(如果ARP存在于ARP1中)和与响应者公共密钥(BR)对应的响应者私有密钥(bR)。第一中间密钥适用于响应者设备的单侧认证。R-auth1的值可以是认证协议中使用的值的任何选择的级联(的散列),例如发起者一次性随机数I-一次性随机数、响应者一次性随机数R-一次性随机数和/或使用的公共密钥,例如PR、BR和PI。由于一次性随机数的随机性,每次运行协议时R-auth1的值都不同,从而防止重放攻击。在相互认证的情况下,ARP1还可以包括指示相互认证正在进行中的相互进展状态,以使响应者设备能够经由响应者带外动作从发起者设备获取发起者公共密钥。相应地,发起者消息单元用于分解认证响应ARP1。
任选地,发起者消息单元被布置为在认证状态下接收到相互进展状态时,创建包含相互等待状态的等待认证确认ACF1。ACF1可以包含基于响应者公共密钥(BR)和与发起者公共密钥PI相对应的发起者私有密钥(pI)的单侧发起者认证数据{I-auth1}k1。使用相同的输入以与{R-auth1}类似的方式计算{I-auth1}的值。但是,{I-auth1}的值应该与{R-auth1}的值不同,以防止重放攻击。因此,在计算散列时输入的顺序应该被不同地选择,或者在散列中应该包括与在{R-auth1}的散列的计算中不同的常数值。相应地,响应者消息单元可以被布置为分解等待认证确认ACF1。
随后,响应者设备可以执行或已经执行了经由响应者带外动作从发起者设备获取发起者公共密钥。OOB动作由标记为OOB动作的虚线箭头示出(在图1中由箭头140相应地指示)。在完成所述获取时,响应者状态机如下所述进行以发送相互认证响应ARP2。
响应者消息单元被布置为创建包括相互响应者认证数据{R-auth2}k2的相互认证响应ARP2。ARP2还可以包含响应者公共密钥PR,以及另外的响应者数据,如响应者一次性随机数R-一次性随机数。第二中间密钥k2可以基于发起者公共密钥(BI)和与响应者公共密钥(BR)相对应的响应者私有密钥(bR)。第二中间密钥适合于响应者设备和发起者设备的相互认证。可以使用响应者中的{bR,pR,BI和PI}或者发起者中的{pI,bI,BR和PR}来确定第二中间密钥。R-auth2的值可以是认证协议中使用的值级联的散列,例如发起者一次性随机数I-一次性随机数、响应者一次性随机数R-一次性随机数和使用的公共密钥,诸如BI、BR、PR和PI。由于一次性随机数的随机性,每次运行协议时{R-auth2}的值不同,从而防止重放攻击。相应地,发起者消息单元被布置为分解认证响应ARP2。成功处理意味着发起者处理器与响应者达到k2的相同值,并且发起者通过计算R-auth2本身并且利用密钥k2对在消息ARP2中接收到的值{R-auth2}k2的进行解密来为{R-auth2}找到相同的值。
发起者消息单元被布置成创建相互认证确认ACF2,所述相互认证确认ACF2包括指示相互认证的确认的相互确认状态和基于响应者公共密钥(BR)和与发起者公共密钥(BI)对应的发起者私有密钥(bI)的相互发起者认证数据{I-auth2}k2。可以使用发起者中的{pI,bI,BR和PR}来确定第二中间密钥k2。使用相同的输入以与{R-auth2}类似的方式计算{I-auth2}的值。然而,{I-auth2}的值应该与{R-auth2}的值不同,以防止重放攻击。因此,在计算散列时输入的顺序应该被不同地选择,或者散列中应该包括与{R-auth2}的散列的计算中不同的常数值。相应地,响应者消息单元被布置为分解相互认证确认ACF2。如果响应者到达相同的中间密钥k2并通过计算I-auth2本身并通过利用密钥k2解密接收的{I-auth2}k2来获得数据I-auth2的相同值,则响应者确实认证了BI并且相互发起者认证数据{I-auth2}k2的处理是成功的。
图3示出了发起者状态机的范例。发起者状态机300依据用户交互和从响应者设备接收的消息,根据认证协议提供发起者状态。发起者状态可以包括:
-初始状态IST,其通过经由发起者带外动作从响应者设备获取响应者公共密钥进行自举;
-自举状态BST,其指示已经通过获取响应者公共密钥成功地执行了自举;
-认证状态AG1,其用于执行认证;
-相互认证状态AG2,其用于执行相互认证;
-已认证状态ATD,其指示已成功地执行认证。
初始地,状态机在起始状态IST开始。箭头指示状态转换,并且由指示与状态转换对应的消息或事件的首字母缩写词标记。发起者状态机被布置成在通过获取响应者公共密钥成功地执行自举BTG时参与自举状态BST。
发起者状态机可以被布置成在发送ARQ时随后参与认证状态AG1,和/或经由用户的触发事件TR或另一事件随后参与认证状态AG1,或者在所述成功自举之后立即参与认证状态AG1。在超时TO之后,可以在重新传输ARQ之后重新参与状态,同时计数试验次数并且在超过预定试验次数之后,回退到自举状态BST或初始状态IST。状态BST和AG1也可以组合。
发起者状态机被布置成在接收到ARP1中的相互进展状态时参与相互认证状态AG2,以等待相互认证。任选地,可以发送包含相互等待状态的等待认证确认ACF1。
发起者状态机被布置成在接收到相互认证响应ARP2并且发起者处理器基于响应者公共密钥和与发起者公共密钥(BI)对应的发起者私有密钥(bI)成功地处理相互响应者认证数据{R-auth2}k2时参与已认证状态ATD。然后,还可以发送包括相互确认状态的相互认证确认ACF2。
任选地,发起者状态机被布置成在认证状态AG1中接收到相互认证响应ACF2并且发起者处理器成功地处理相互响应者认证数据{R-auth2}k2时参与已认证状态。然后,还可以发送包括相互确认状态的相互认证确认ACF2。因此有效地跳过了相互认证状态。
任选地,发起者消息单元被布置用于在单侧认证的情况下分解单侧认证响应(ARP1),单侧认证响应(ARP1)包括基于与响应者公共密钥BR对应的响应者私有密钥bR的单侧响应者认证数据{R-auth1}k1和指示单侧认证的单侧状态。而且,发起者状态机被布置成在发起者处理器基于响应者公共密钥和与发起者公共密钥BI对应的发起者私有密钥bI成功地处理单侧响应者认证数据{R-auth1}k1时参与已认证状态。成功地处理意味着发起者处理器与响应者达到k1的相同值,并且发起者通过计算R-auth1本身并通过利用密钥k1对消息ARP1中接收到的值{R-auth1}k1的解密来为{R-auth1}找到相同的值。
任选地,发起者状态机被布置为在接收到认证响应ARP1并且发起者处理器未成功地处理单侧响应者认证数据{R-auth1}k1时参与自举状态或初始状态。未成功地处理可能是由于所谓的不良认证BA或者没有找到对等设备NP。在这种情况下,发起者状态机可以被布置成回退到自举状态BST,或者回退到初始状态IST,这还可以取决于如检测到的事件。
任选地,发起者状态机被布置用于在接收到相互认证响应ARP2并且发起者处理器未成功地处理相互响应者认证数据{R-auth2}k2时参与自举状态或初始状态。未成地功处理可能是由于所谓的不良认证BA或者没有找到对等设备NP。在这种情况下,发起者状态机可以被布置成回退到自举状态BST,或者回退到初始状态IST(未示出),这还可以取决于检测到的事件。
图4示出了响应者状态机的范例。响应者状态机400依据用户交互和从发起者设备接收的消息,根据认证协议提供响应者状态。响应者状态可以包括:
-等待状态(AWG),其用于接收来自发起者的消息;
-响应者认证状态(AR1),其用于执行认证;
-相互响应者认证状态(AR2),其用于使响应者设备能够经由响应者带外动作从发起者设备获取发起者公共密钥;
-响应者已认证状态(ARD),其指示认证已成功地执行。
初始地,响应者状态机在等待状态AWG开始。可以在用户交互或任何其他事件(例如接通响应者设备)时参与该状态。箭头指示状态转换,并且由指示与状态转换对应的消息或事件的首字母缩写词标记。
响应者状态机可以被布置为在接收并成功地处理认证请求ARQ时参与响应者认证状态AR1。状态AWG和AR1也可以组合成单个状态。
未成功地处理ARQ可能意味着响应者确定接收到的ARQ中的响应者验证器H(BR)不是其公共密钥BR的散列值或者解密收到的ARQ中的{I-一次性随机数|I能力}K1导致错误。能够在解密期间检测错误的密钥用于解密或加密数据在加密之后已经改变的加密/解密算法的范例是AES-SIV,参见[3]。在成功地处理ARQ时,包含指示正在进展的相互认证的相互进展状态的认证响应ARP1被传输到发起者。
在响应者设备经由响应者带外动作从发起者设备获取发起者公共密钥时,响应者状态机提供并参与相互响应者认证状态AR2。在所述获取时,相互认证响应ARP2也被发送到发起者。
任选地,响应者状态机被布置为接收和处理包括相互等待状态的等待相互认证确认ACF1。然后,响应者状态机被布置成仅在接收到相互等待状态和所述响应者OOB动作时参与相互响应者认证状态AR2。如果在预定超时TO内没有接收到ACF1,则状态保持响应者认证状态AR1,并且ARP1可以再次传输直到预定次数的重试。
响应者状态机被布置成在接收到相互认证确认ACF2并且响应者处理器基于发起者公共密钥BI和响应者私有密钥bR成功地处理相互发起者认证数据{I-auth2}k2时参与响应者已认证状态ARD。
任选地,响应者状态机被布置为在响应者认证状态AR1中接收到相互认证确认ACF2时并且在响应者处理器成功地处理相互发起者认证数据{I-auth2}k2时参与响应者已认证状态ARD。接收ACF2可以在响应者在接收到ARQ时直接将相互认证响应ARP2发送给发起者时发生,例如基于响应者已经拥有来自较早会话的发起者公共密钥。
任选地,消息单元被布置成在单侧认证的情况下创建单侧认证响应ARP1,该单侧认证响应ARP1包括基于与响应者公共密钥BR对应的响应者私有密钥bR的单侧响应者认证数据{R-auth1}k1和指示单侧认证完成的单侧状态。而且,响应者状态机被布置成在单侧认证的情况下,在接收到单侧认证确认ACF1并且响应者处理器成功地处理单侧发起者认证数据{I-auth1}k1时参与响应者已认证状态。成功地处理意味着响应者处理器与发起者达到k1的相同值,并且响应者设备通过计算I-auth1本身并通过利用密钥k1对消息ACF1中接收到的值{I-auth1}k1进行解密来为I-auth1找到相同的值。
任选地,响应者状态机被布置为在接收到相互认证确认ACF2并且响应者处理器未成功地处理相互发起者认证数据{I-auth2}k2从而导致不良认证事件BA时参与等待状态。
任选地,响应者消息单元被布置为还分解包括单侧发起者认证数据{I-auth1}k1并且包括相互等待状态的等待认证确认ACF1。并且响应者状态机被布置为在响应者处理器未成功地处理单侧发起者认证数据从而导致不良认证事件BA时参与等待状态。
通常,相互认证可以容纳在也指定单向认证的认证协议中。在单向认证中,响应者的(用户)不希望确定其已经从哪个设备接收到认证请求。响应者不会在带外捕获发起者的公共密钥BI,并且因此不能也不会在认证响应消息中向发起者发送BI的散列。当响应者向发起者证明拥有与发起者已经在带外捕获的公共密钥BR对应的私有密钥bR时,仅进行单侧认证。例如,通过以Diffie-Hellman方式使用bR,参见参考文献[6],以产生用于加密针对发起者的消息的密钥。这样的协议可以为每一方使用两个或更多个密钥对,例如,一个密钥对用于自举彼此中的信任,并且另外的密钥对用于另外的操作,公共密钥通过该另外的密钥对进行认证。
当用户通过Wi-Fi执行触发具有请求和响应的协议的执行的动作以及消息的另外的交换时,用户不喜欢希望在具有所有其交换的该动作完成之前等待很长时间。然而,由于多种原因,例如如果消息被RF干扰破坏,则消息中的每个可能未能由另一方接收。因此,当设备通过Wi-Fi发送请求时,其会设置等待响应的计时器。如果响应未在超时内到达,则其可以尝试再次发送请求。如果在多次尝试后未接收到任何响应,则设备会放弃并向用户报告这一点。当等待时间更长并且允许的尝试次数更多时,成功的机会增加,但是用户在确认协议未成功之前还必须等待更长时间。
关于常规相互认证的问题在于响应者采取比单向认证情况下更长的时间来响应用于相互认证的认证响应消息,因为响应者设备的用户必须首先捕获公共密钥BI。而且,发起者设备不知道响应者设备是否想要进行相互认证。因此,其必须将其等待时间和尝试次数设置为高以容纳这一点。这意味着在存在Wi-Fi问题(例如,发起者和响应者之间的太多噪声或不良Wi-Fi传输的一些其他原因)的情况下,发起者设备在放弃并向用户报告这一点之前必须等待很长时间。
当需要用户交互来捕获发起者的公共OOB密钥BI时,所提出的系统是有效的。这种响应者OOB动作的范例是
·当BI显示为机器可读代码(例如QR码或条形码)并且用户必须使用机器可读代码读取器(例如相机或激光扫描器)来读取BI时;
·当BI以人类可读的形式显示并且用户必须使用某些输入设备(键盘、按键、其上显示有键盘的触摸显示器、屏幕上显示的鼠标和键盘等)在响应者设备中输入代码时;
·当使用NFC标签传输BI时,参见参考文献[5],用户必须接触响应者设备的NFC读取器,其中,具有BI的NFC标签不能与将BI传输到响应者设备的同时将BR传输到发起者设备。
为了解决上述问题,在响应者想要进行相互认证的情况下,其首先产生第一认证响应,如同其想要进行单向认证。其执行所有加密操作和其他操作,如同其想要进行单向认证。然而,其在其响应中指示其希望稍后进行相互认证。该指示可以是特殊状态,例如,代替于“状态正常”,其可以在认证响应中发送“相互认证正在进展”状态。
当接收到这样的ARP时,当没有Wi-Fi问题时,发起者设备将对其认证请求做出快速响应。发起者设备可以对响应者执行对响应者设备的单向认证检查,以在响应者设备中建立信任。进行单向认证检查,例如使用Diffie-Hellman密钥对返回的状态执行完整性检查,还防止攻击者更改状态代码“相互认证正在进展”或认证响应消息的其他部分。
在已经发现关于接收到的认证响应的所有加密检查没有问题之后,发起者设备可以以具有特殊状态“等待相互认证响应”的认证确认消息进行响应。
然后,响应者设备(的用户)可以在闲暇时捕获公共密钥BI,并且在完成时,以包含发起者的公共密钥BI的散列和另外的状态“状态正常”的相互认证响应进行响应。
现在将描述详细的认证协议。该协议使公共密钥能够在带外(OOB)使用,其被完整地显示或传输,但不这样通过Wi-Fi使用。代替地,通过Wi-Fi,使用公共OOB密钥的散列值,使得这些公共密钥对于收听交换的Wi-Fi消息的其他人来说仍然是未知的。这在OOB密钥是静态的情况下很有用。静态OOB密钥可以由不具有输出数据OOB的模块(例如用于QR码的显示器)的设备使用。当协议要求响应者在带内接收公共密钥时,因此通过Wi-Fi,发起者可以通过Wi-Fi发送另外的不同公共密钥PI
对于公共密钥的传输,备选实施例是可能的。代替于使用Wi-Fi上的公共密钥的散列,可以使用混淆值的其他方式,例如仅显示/发送公共密钥的有限比特数。而且,代替于完整值,可以显示/OOB传输公共密钥的散列。这具有以下优点:显示或OOB传输的比特数可以更少,因此可以使用更小的QR码或更小的NFC标签,参见参考文献[5]。在这种情况下,公共密钥的全部值必须在带内发送,即通过Wi-Fi发送。在这种情况下,PI和BI能够是相同的。可以使用OOB和通过Wi-Fi完全显示/传输公共密钥。
在现在描述的范例协议中,OOB公共密钥被显示为QR码并由相机捕获,但是OOB信道的其他实施例也是可能的,参见上面的范例。
在第一阶段,发起者设备的用户想要在发起者设备和特定的响应者设备之间建立安全连接。用户在发起者设备上启动认证协议。发起者设备使用公共密钥对BI/bI和PI/pI或生成新密钥对BI/bI和PI/pI
在某些实施例中,响应者设备可以主动设置在响应者模式中。在其他实施例中,当响应者设备第一次接通时或者在重置为出厂值之后,响应者设备被设置在响应者模式中。将R设置为响应者模式可以触发生成新的公共密钥对BR/bR。响应者设备必须处于响应者模式中以便参加协议。在响应者模式中,响应者设备可以显示用作公共密钥的公共密钥BR或者Diffie-Hellman中的公共密钥之一。BR可以是静态的并且打印在响应者设备上或其手册中。对应于BR的私有密钥是bR。对于Diffie-Hellman的每次新执行或者对于x分钟的每个时间间隔,可以重新生成对BR/bR。BR的显示可以采取人类可读形式或机器可读形式(QR码,条形码)或两者。我们将假设此处的计算机可读代码可以利用相机读取。
在第二阶段中,发起者设备的用户发起认证协议并将发起者设备的相机指向响应者设备的机器可读公共密钥BR,并使发起者设备捕获其。这些用户动作当然能够采取一些时间。
在第三阶段中,发起者设备通过Wi Fi向响应者设备发送认证请求,如果发起者设备知道MAC地址则通过直接寻址响应者设备,或通过在Wi-Fi上广播其。认证请求包含发起者设备的公共密钥BI的散列和响应者设备的公共密钥BR的散列、要用于由响应者导出Diffie-Hellman密钥的发起者的公共密钥PI,以及其他发起者信息,例如利用密钥k1加密的发起者一次性随机数,所述密钥k1是使用Diffie-Hellman使用BR和pI导出的。加密可以利用对称密码完成。然而,当使用还以对其加密的有效载荷的完整性检查以及其有效载荷的其他未加密部分的完整性检查为特征的密码时,例如,AES SIV(参见参考文献[3]),响应者设备可以在解密“其他发起者信息”期间检查其是否已经生成了正确的Diffie-Hellman密钥,以及消息中的未加密值(例如状态代码)是否没有被攻击者改变。如果AES-SIV在没有错误的情况下解密,则响应者设备肯定地知道发起者设备已经使用了与PI相对应的私有密钥,因此发起者设备已经向响应者设备证明拥有与PI相对应的私有密钥。
在下一阶段中,响应者看到具有其公共密钥BR的散列的Wi-Fi消息,因此其知道其是用于其的。其还知道该消息的发送者已从其显示中捕获BR,尤其是在认证协议的该执行紧之前重新生成BR时。然而,响应者设备不知道发送者是哪个设备。因此,响应者设备(的用户)可能想要进一步认证,并且从而在带外捕获发起者设备的公共密钥BI。响应者设备的用户可以设置他的设备以执行相互认证。响应者现在向发起者设备提供快速反馈,因此发起者设备知道Wi-Fi链路正在工作,并且加密运算现在都可以。响应消息指示相互认证响应将来自响应者设备,但是该响应可能花费一些时间(大约几秒到几十秒)。因此,响应者立即向发起者回复认证响应消息,具有状态“相互认证正在进展”,而消息中的另外的数据如在单向认证响应中那样生成。后者意味着,在该消息的构造中,“其他发起者信息”,例如,来自认证请求的发起者一次性随机数,由响应者设备使用PI和bR解密并用于构建认证响应消息,使得发起者可以检查响应者是否确实使用了正确的“其他发起者信息”,例如,发起者一次性随机数,并且因此证明拥有对应于响应者OOB公共密钥BR的私有密钥bR
在构建认证响应消息中使用其他发起者信息的各种方式包括以下内容。
·“其他发起者信息”可以在消息中以明文表达。
·“其他发起者信息”可以在消息中以明文表达,同时通过使用Diffie-Hellman导出的密钥保护其完整性,例如,通过使用“其他发起者信息”作为关于AES-SIV的AAD(经认证的关联数据或经认证的额外的数据)。
·“其他发起者信息”可以用于导出另外的密钥,例如,通过首先使用Diffie-Hellman导出密钥,并使用Diffie-Hellman密钥和“其他发起者信息”作为密钥导出函数的输入。如果这样导出的密钥与AES-SIV一起使用,或者如果如此导出的密钥用于加密发起者已知的一些事物,则发起者可以检查响应者是否知道正确的“其他发起者信息”。任选地,状态字段也可以用作AES-SIV的AAD,因此在发起者设备没有发现这一点的情况下它不会被篡改。
在下一阶段中,发起者接收认证响应消息。其执行所有加密检查,并且可以找出响应者设备是否已正确解密“其他发起者信息”,并且因此响应者设备是否拥有与发起者设备已利用其相机从响应者设备捕获的公共OOB密钥BR相对应的私有密钥bR。如果这些检查失败,则发起者设备将中止协议。如果检查结果为正常,则发起者设备会检查状态字段。将看到“相互认证正在进展”。发起者设备现在知道其必须等待几秒到几十秒以用于来自响应者设备的第二响应。
任选地,发起者设备以等待认证确认消息确认正确接收认证响应消息,该等待认证确认消息具有指示发起者正在等待相互认证响应的状态。可以为单向认证构造消息。
在下一阶段中,响应者设备的用户将响应者设备的相机指向由发起者设备显示的公共密钥BI。当来自发起者设备的如此捕获的公共密钥的散列与在认证请求消息中通过Wi-Fi接收的发起者设备的公共密钥的散列匹配时,响应者设备可以确定其将使用正确的公共密钥对发起者设备执行Diffie-Hellman。响应者设备将知道其正在与其从在协议中稍后时间捕获BI的设备通信时,发起者设备证明拥有对应的私有密钥bI
在下一阶段中,在已经捕获公共密钥BI之后,响应者设备利用相互认证响应消息响应发起者设备,该相互认证响应消息被创建为相互认证响应。该消息可以包含状态“相互正常”、或简单地“正常”、BI的散列,以及利用密钥加密的其他响应者信息,所述密钥使用Diffie-Hellman使用在认证请求消息中通过Wi-Fi接收的公共密钥PI和从发起者设备带外获得的Bi导出。由响应者设备使用其私有密钥bR和接收到的公共密钥PI对由发起者设备发送的“其他发起者信息”进行解密,并将其用于构建认证响应消息,如前所述,因此响应者设备可以向发起者设备证明拥有bR。与单向认证响应的一些差异在于,响应者还使用BI根据响应中BI的散列导出Diffie-Hellman密钥以及响应中BI的散列的存在。
存在响应者设备可以使用来自发起者的两个公共密钥BI和PI的不同方式。例如,响应者可以将这两个公共密钥中的每一个与其自己的一个或两个私有密钥一起使用,以导出具有k3和k4的两个Diffie-Hellman密钥。
在第一实施例中,响应者可以例如使用PI及其私有密钥bR或新私有密钥pR或bR和pR之和来导出k3。在其使用pR的情况下,其必须以这样的方式在认证响应中包括对应的公共密钥PR:发起者可以检索其。这可以通过以明文发送PR完成或利用发起者能够导出的密钥(例如,上面的密钥k1)加密来。
在第二实施例中,响应者可以是例如使用BI及其私有密钥bR或新私有密钥pR或bR和pR之和来导出k4。在其使用pR的情况下,其必须以这样的方式在认证响应中包括对应的公共密钥PR:发起者可以检索其。这可以通过以明文发送PR来完成或利用发起者能够导出的密钥(例如,上面的密钥k1)加密。在两个私有密钥的总和用于k3或k4的情况下,其他密钥的导出不应使用pR和bR的总和,而应仅使用这些密钥中的一个。以这种方式,响应者设备能够证明拥有私有密钥而不仅仅是私有密钥bR和pR的总和。
在另一个实施例中,响应者可以使用密钥k3和k4两者来加密发起者知道的不同值,例如,发起者一次性随机数,因此发起者可以检查响应者设备是否知道响应者使用的私有密钥。此外,响应者加密其自己的“其他响应者信息”,例如,响应者一次性随机数,以能够检查认证确认消息。
在另一实施例中,代替使用密钥k3和k4来加密不同的值,其中之一,即“第一密钥”,可以用于加密第一值,而另一个密钥,“第二密钥”用于加密另一值和加密的第一值的级联。第二密钥应该使得响应者可以生成该密钥。利用第二密钥加密的值能够包含生成第一密钥所需的信息,因此有助于建立信任。
在下一阶段中,发起者接收认证响应消息,现在具有状态“正常”。发起者设备将其中的散列与其公共密钥BI的散列进行比较。当这匹配时,发起者设备还知道响应者设备已经从其显示器捕获其公共密钥BI的响应者。发起者设备生成所有所需的密钥,为此其需要其私有密钥bI和pI,执行所有加密检查。如果这些检查全部正常,则发起者设备知道它已经与拥有私有密钥bR和可能的pR的设备通信(如果后者也已被使用),并且响应者设备已成功获得正确的BI
在下一阶段中,如果前一阶段的检查全部正常,则发起者设备向具有状态“正常”的响应者设备发送确认响应消息,其中,除了其它事物之外使用以Diffie-Hellman方式自bI导出的密钥,使得发起者设备可以向响应者设备证明拥有bI。发起者设备还使用“其他响应者信息”,例如,响应者一次性随机数,使得响应者可以看到发起者成功解密这些。
上述系统可以在便携式设备、膝上型电脑、PC、Wi-Fi接入点、Wi-Fi对等设备、蓝牙设备、ZigBee设备中实现。在使用Wi-Fi的情况下,本发明通常在wpa_supplicant软件中实现,参见例如https://en.wikipedia.org/wiki/wpa_supplicant。
在实施例中,第一设备和第二设备之间的认证协议包括额外的属性或额外的消息,其可以例如被添加到如IEEE 802.11中定义的认证协议,参见参考文献[1],其包含凭证(例如,公共密钥)或凭证或加密凭证的散列。第二设备必须包括凭证或凭证的散列或加密凭证,作为用于认证协议的消息交换的一部分。为了对称,第一设备也将必须包括这样的凭证、凭证的散列或加密凭证。在认证协议的消息中包含凭证或凭证的散列或加密凭证的优选字段是信号或传输该字段的信号的至少一部分用于测量该消息的传输或到达时间的字段,使得如果不是不可能的话,另一个设备很难在消息中插入其凭证或其凭证的散列或其加密凭证。
在一个实施例中,第一消息处理器被布置成处理该凭证或凭证的散列或加密凭证,并验证其是否与由设备先前已经使用的凭证匹配,已经利用其例如通过使用Wi-Fi保护设置协议、设备布置协议、Diffie-Hellman密钥交换和/或4路WPA2握手成功地执行设备认证并建立相互信任,参见[1]。如果找到匹配,则第一设备可以假设第二设备可以被信任并且被认为是可靠的。如果未找到匹配,则第一设备将不信任第二设备并执行额外的步骤以验证可靠性。
在备选实施例中,第二设备必须包括将在稍后的连接建立期间使用的凭证或凭证的散列或加密凭证。第一消息处理器被布置为结合第二设备的其他参数来处理和存储所接收的凭证或凭证的散列或加密凭证,以便安全地与同该凭证连接的特定设备相关。在建立第一设备和第二设备之间的连接后,第一设备在执行设备认证时,例如在执行Wi-Fi保护设置协议、设备供应协议、Diffie-Hellman密钥交换和/或执行4路WPA2握手时,验证是否使用相同的凭证或其衍生物。通过这样做,第一设备可以确定与其连接的设备是与先前认证完成的相同的设备。特别地,如果凭证是公共密钥并且如果设置第一和第二设备之间的连接包括第二设备已成功向第一设备证明其拥有属于公共密钥的私有密钥作为凭证,则第一设备可以确定第二设备是其自称的设备而不是冒名顶替者。
图5示出了用于发起者的方法。该方法用于发起者设备中,以根据通信协议和用于容纳认证的认证协议与响应者设备进行无线通信。该协议依据用户交互和从响应者设备接收的消息,根据认证协议要求发起者状态。
该方法从节点开始501开始。在第一阶段,该方法设置用于自举的初始状态。
在下一步骤ACRPK 502中,该方法经由发起者带外动作来参与从响应者设备获取响应者公共密钥BR。在成功获取BR之后,在步骤SARQ 503中,方法通过获取响应者公共密钥来参与指示已成功地执行自举的自举状态。然后,该方法通过创建认证请求ARQ来继续,该认证请求ARQ包括用于验证发起者公共密钥的发起者验证器(H(BI))和用于验证响应者公共密钥的响应者验证器(H(BR))。消息ARQ在自举状态下发送。然后该方法等待接收认证响应。如果在预定时间内没有接收到,则该方法再次发送ARQ,如箭头513指示的。
在下一阶段RARP1 504中,参与用于执行认证的认证状态。随后,该方法接收并分解认证响应ARP1,认证响应ARP1包括基于与响应者公共密钥BR对应的响应者私有密钥bR的单侧响应者认证数据{R-auth1}k1。ARP1具有指示相互认证正在进展以使响应者设备能够经由响应者带外动作从发起者设备获取发起者公共密钥的相互进展状态。
在下一阶段AWMUT 505中,在接收到相互进展状态时参与相互认证状态,以等待相互认证。接下来,接收并分解相互认证响应ARP2。ARP2包括基于发起者公共密钥BI和响应者私有密钥bR的相互响应者认证数据{R-auth2}k2
在下一阶段MUTC 506中,参与已认证状态,其指示认证已成功地执行。这涉及接收相互认证响应ARP2并基于响应者公共密钥和与发起者公共密钥(BI)相对应的发起者私有密钥(bI)成功地处理相互响应者认证数据{R-auth2}k2。然后,该方法通过创建相互认证确认ACF2而继续,该相互认证确认ACF2包括指示相互认证的确认的相互确认状态。ACF2还包括基于响应者公共密钥BR和与发起者公共密钥BI对应的发起者私有密钥bI的相互发起者认证数据{I-auth2}k2。该方法然后在节点结束(END)507处终止。
图6示出了用于响应者的方法。该方法用于响应者设备,其用于根据通信协议和用于容纳认证的认证协议与发起者设备进行无线通信。该协议依据用户交互和从发起者设备接收的消息,根据认证协议要求响应者状态。
该方法在节点开始601处开始。在第一阶段RARQ 602中,响应者参与等待状态来接收来自发起者的消息。接收并分解认证请求ARQ。ARQ包括用于验证发起者公共密钥的发起者验证器H(BI)和用于验证响应者公共密钥的响应者验证器H(BR)。
在下一阶段SARP1 603中,该方法参与用于执行认证的响应者认证状态。在成功地处理认证请求时参与响应者认证状态。然后,创建认证响应ARP1,其包括基于与响应者公共密钥BR对应的响应者私有密钥bR的单侧响应者认证数据{R-auth1}k1和指示相互认证正在进展的相互进展状态。
在下一阶段MUTA 604中,参与相互响应者认证状态。现在使得响应者(的用户)能够经由响应者带外动作从发起者设备获取发起者公共密钥。这可能花费一些时间,如由重新进入状态的箭头614指示的。在成功获取发起者公共密钥之后,创建相互认证响应ARP2并在相互响应者认证状态下发送。ARP2包括基于发起者公共密钥BI和与响应者公共密钥BR对应的响应者私有密钥bR的相互响应者认证数据{R-auth2}k2
在下一状态WMUC 605中,参与响应者已认证状态,其指示认证已经成功地执行。相互认证确认ACF2被接收并分解。ACF2包括指示相互认证的确认的相互确认状态以及基于响应者公共密钥BR和与发起者公共密钥(BI)相对应的发起者私有密钥bI的相互发起者认证数据{I-auth2}k2。在基于发起者公共密钥(BI)和响应者私有密钥(bR)成功地处理相互发起者认证数据时,参与已认证状态。该方法现在终止于节点结束606。
提供了可从网络下载和/或存储在计算机可读介质和/或微处理器可执行介质上的计算机程序产品,其包括程序代码指令,所述程序代码指令用于当在计算机上运行时实施上述方法以保护位置信息,如下面进一步阐明的。
例如,上述系统可以应用于室内和室外短距离无线通信系统,其中,经由认证协议支持认证。例如,该系统可以应用于支持Wi-Fi、Wi-Fi Aware或Wi-Fi Direct的便携式设备和固定设备。
通常,发起者设备和响应者设备交互,每个包括执行存储在设备中的适当软件的处理器;例如,该软件可能已被下载和/或存储在对应的存储器中,例如,诸如RAM的易失性存储器或诸如闪存的非易失性存储器(未示出)。设备和服务器可以例如被装备有微处理器和存储器(未示出)。备选地,设备和服务器可以全部或部分地以可编程逻辑实现,例如,实现为现场可编程门阵列(FPGA)。设备和服务器可以全部或部分地实现为所谓的专用集成电路(ASIC),即为其特定用途定制的集成电路(IC)。例如,电路可以用CMOS实现,例如,使用诸如Verilog、VHDL等的硬件描述语言。
对于本领域技术人员来说将显而易见的是,运行该方法的许多不同的方式是可能的。例如,阶段或步骤的次序能够被改变,或者一些阶段可以被并行运行。此外,在步骤之间可以插入其他方法步骤。插入的步骤可以表示诸如本文所述的方法的细化,或者可以与该方法无关。
根据本发明的方法可以使用软件来运行,该软件包括用于使处理器系统执行相应方法的指令。软件可以仅仅包括由系统的特定子实体采取的那些步骤。软件可以被存储在适当的存储介质中,例如硬盘、软盘、存储器等。软件可以作为信号沿着有线或无线发送,或者使用数据网络(例如互联网)发送。软件可以用于下载和/或在服务器上远程使用。可以使用比特流来执行根据本发明的方法,该比特流被布置成配置可编程逻辑,例如,现场可编程门阵列(FPGA),以执行该方法。将认识到,软件可以采用源代码、目标代码、代码中间源和目标代码(例如,部分编译的形式)的形式,或者可以是适用于实施根据本发明的方法的任何其他形式。涉及计算机程序产品的实施例包括与所阐述的方法中的至少一个的处理步骤中的每个相对应的计算机可执行指令。这些指令可以被细分成子例程和/或被存储在可以被静态地或动态地链接的一个或多个文件中。涉及计算机程序产品的另一实施例包括与所阐述的系统和/或产品中的至少一个的单元中的每个相对应的计算机可执行指令。
图7a示出了具有可写部分1010的计算机可读介质1000,该可写部分1010包括计算机程序1020,该计算机程序1020包括用于使处理器系统执行如上所述的系统中的一个或多个上述方法的指令。计算机程序1020可以在非瞬态计算机可读介质1000上实现为物理标记或者通过计算机可读介质1000的元件的磁化来实现。然而,也可以想到任何其他合适的实施例。此外,将认识到,尽管计算机可读介质1000在此处被示出为光盘,但是计算机可读介质1000可以是任何适当的计算机可读介质,例如硬盘、固态存储器、闪存等,并且可以是不可记录的或可记录的。计算机程序1020包括用于使处理器系统执行所述方法的指令。
图7b以示意性图示示出了根据如上所述的设备或服务器的实施例的处理器系统1100。处理器系统可以包括电路1110,例如一个或多个集成电路。电路1110的架构在图中示意性地示出。电路1110包括处理单元1120,例如CPU,以用于运行计算机程序部件从而执行根据实施例的方法和/或实现其模块或单元。电路1110包括用于存储编程代码、数据等的存储器1122。存储器1122的一部分可以是只读的。电路1110可以包括通信元件1126,例如天线、连接器或两者等。电路1110可以包括专用集成电路1124,以用于执行在该方法中定义的部分或全部处理。处理器1120、存储器1122、专用IC 1124和通信元件1126可以经由互连1130(例如总线)彼此连接。处理器系统1110可以被布置用于分别使用天线和/或连接器进行接触式和/或非接触式通信。
总之,无线通信系统可以具有被布置用于无线通信的发起者设备和响应者设备。无线通信系统使得能够由发起者设备对响应者设备进行单侧认证,并且能够对两个设备进行相互认证。发起者的实施例可以具有消息单元和状态机。发起者通过经由带外动作获取响应者公共密钥而启动,并且发送认证请求。响应者发送认证响应,该认证响应包括基于响应者私有密钥的响应者认证数据和指示相互认证正在进展以使响应者设备能够经由响应者带外动作获取发起者公共密钥的相互进展状态。发起者状态机被布置成提供相互认证状态,在接收到相互进展状态时参与,以等待相互认证。从而避免了无线通信期间的长的超时时段,同时还使发起者能够在短时间内向用户报告通信错误。
将认识到,为清楚起见,以上描述参考不同的功能单元和处理器描述了本发明的实施例。然而,将显而易见的是,在不偏离本发明的情况下,可以使用不同的功能单元或处理器之间的任何适当的功能分布。例如,图示为由分开的单元、处理器或控制器执行的功能可以由相同的处理器或控制器执行。因此,对特定功能单元的引用仅被视为用于提供所描述的功能的适当的单元的参考,而不是指示严格的逻辑或物理结构或组织。本发明能够以包括硬件、软件、固件或这些的任何组合的任何适当形式来实施。
应注意的是,在该文档中,“包括”一词不排除存在除列出的元件或步骤之外的元件或步骤,并且元件之前的词语“一(a)”或“一个(an)”并不排除存在多个这样的元件,任何附图标记不限制权利要求的范围,本发明可以通过硬件和软件来实施,并且若干“模块(means)”或“单元(units)”可以由同一项硬件或软件来表示,并且处理器可以可能与硬件元件协作地实现一个或多个单元的功能。此外,本发明不限于这些实施例,并且本发明在于上面描述的或在相互不同的从属权利要求中记载的每个和每一个新颖特征或特征的组合。
参考文献:
[1]IEEE Computer Society,“IEEE Standard for Information Technology–Telecommunications and Information Exchange Between Systems–Local andMetropolitan Area Networks–Specific requirements Part 11:Wireless LAN MediumAccess Control(MAC)and Physical Layer(PHY)Specifications,”(IEEE Std.802.11-2016),December 2016
[2]Wi-Fi Simple Configuration-Technical Specification-Version 2.0.5“Specification for easy,secure setup and introduction of devices into WPA2-enabled 802.11networks”,Wi-Fi Alliance,2014.
[3]RFC 5297,Synthetic Initialization Vector(SIV)AuthenticatedEncryptionUsing the Advanced Encryption Standard(AES),October 2008,
(https://datatracker.ietf.org/doc/rfc5297/)
[4]FIPS180-4,"Secure Hash Standard",United States of America,NationalInstitute of Standards and Technology,Federal Information Processing Standard(FIPS)180-4
[5]NFC Forum Connection Handover Candidate Technical Specification,December 2015,
(http://nfc-forum.org/product/nfc-forum-connection-handover-candidate-technical-specification-version-1-4/)
[6]Diffie,W.;Hellman,M.(1976),"New directions in cryptography",IEEETransactions on Information Theory,22(6):644–654
[7]Rivest,R.;Shamir,A.;Adleman,L.(February 1978)."A Method forObtaining Digital Signatures and Public-Key Cryptosystems",Communications ofthe ACM.21(2):120–126.
[8]Koblitz,N.(1987)."Elliptic curve cryptosystems".Mathematics ofComputation.48(177):203–209.

Claims (18)

1.一种发起者设备,被布置用于根据通信协议与响应者设备进行无线通信,
所述通信协议包括用于容纳认证的认证协议,所述认证是以下各项中的一项:
由所述发起者设备对所述响应者设备的单侧认证,以及
由所述发起者设备对所述响应者设备和由所述响应者设备对所述发起者设备的相互认证;
所述响应者设备(120)包括:
响应者收发机,其被布置用于根据所述通信协议进行无线通信,以及
响应者处理器,其被布置用于处理所述通信协议,
其中,所述发起者设备(110)包括:
发起者收发机(111),其被布置用于根据所述通信协议进行无线通信,
发起者处理器(112),其被布置用于处理所述通信协议,并且所述发起者处理器具有:
发起者消息单元(116),其用于创建要被发送到所述响应者设备的消息并且根据所述认证协议分解从所述响应者设备接收的消息;以及
发起者状态机(117),其用于依据用户交互和从所述响应者设备接收的消息根据所述认证协议提供发起者状态,所述发起者状态包括:
初始状态(IST),其用于通过经由发起者带外动作从所述响应者设备获取响应者公共密钥来进行自举,
自举状态(BST),其指示已经通过获取所述响应者公共密钥成功地执行了所述自举,以及
已认证状态(ATD),其指示已经成功地执行了所述认证;所述发起者消息单元被布置为创建包括以下项的消息:
认证请求(ARQ),其要在所述自举状态下被发送并且包括用于验证发起者公共密钥的发起者验证器(H(BI))和用于验证所述响应者公共密钥的响应者验证器(H(BR));
并且所述发起者消息单元被布置为分解包括以下项的消息:
认证响应,其包括基于对应于所述响应者公共密钥(BR)的响应者私有密钥(bR)的响应者单侧认证数据({R-auth1}k1)以及指示所述相互认证正在进展以使所述响应者设备能够经由响应者带外动作从所述发起者设备获取所述发起者公共密钥的相互进展状态(MPS);并且
其中,所述发起者状态机被布置为提供相互认证状态,所述相互认证状态在接收到所述相互进展状态时是参与的,以用于等待相互认证,
所述发起者消息单元被布置为分解:
相互认证响应,其包括基于所述发起者公共密钥(BI)和所述响应者私有密钥(bR)的相互响应者认证数据({R-auth2}k2);
并且所述发起者消息单元被布置为创建:
相互认证确认,其包括指示对所述相互认证的确认的相互确认状态(MCS)以及基于所述响应者公共密钥(BR)和对应于所述发起者公共密钥(BI)的发起者私有密钥(bI)的相互发起者认证数据({I-auth2}k2)。
2.根据权利要求1所述的发起者设备,其中,所述发起者状态机被布置为在接收到所述相互认证响应并且所述发起者处理器基于所述响应者公共密钥和对应于所述发起者公共密钥(BI)的发起者私有密钥(bI)成功地处理所述相互响应者认证数据时参与所述已认证状态。
3.根据权利要求1所述的发起者设备,其中,
所述发起者消息单元被布置为在所述单侧认证的情况下分解单侧认证响应,所述单侧认证响应包括基于对应于所述响应者公共密钥(BR)的响应者私有密钥(bR)的单侧响应者认证数据({R-auth1}k1)以及指示所述单侧认证的单侧状态;并且
所述发起者状态机被布置为在所述发起者处理器基于所述响应者公共密钥以及对应于发起者公共密钥(PI)的发起者私有密钥(pI)成功地处理所述单侧响应者认证数据({R-auth1}k1)时参与所述已认证状态。
4.根据权利要求2或3中的任一项所述的发起者设备,其中,
所述发起者状态机被布置为在接收到所述认证响应并且所述发起者处理器未成功地处理所述响应者单侧认证数据({R-auth1}k1)时参与所述自举状态或所述初始状态。
5.根据权利要求2所述的发起者设备,其中,
所述发起者状态机被布置为在接收到所述相互认证响应并且所述发起者处理器未成功地处理所述相互响应者认证数据({R-auth2}k2)时参与所述自举状态或所述初始状态。
6.根据权利要求2或5中的任一项所述的发起者设备,其中,
所述发起者消息单元被布置为在接收到所述相互进展状态时创建包括相互等待状态(MAS)的等待认证确认。
7.一种响应者设备,被布置用于根据通信协议与发起者设备进行无线通信,
所述通信协议包括用于容纳认证的认证协议,所述认证是以下各项中的一项:
由所述发起者设备对所述响应者设备的单侧认证,以及
由所述发起者设备对所述响应者设备和由所述响应者设备对所述发起者设备的相互认证;
所述发起者设备(110)包括:
发起者收发机(111),其被布置用于根据所述通信协议进行无线通信,
发起者处理器(112),其被布置用于处理所述通信协议,并且
其中,所述响应者设备(120)包括:
响应者收发机(121),其被布置用于根据所述通信协议进行无线通信,
响应者处理器(122),其被布置用于处理所述通信协议,并且所述响应者处理器具有:
响应者消息单元(126),其用于创建要发送到所述发起者设备的消息,并且根据所述认证协议分解从所述发起者设备接收的消息,
响应者状态机(127),其用于依据用户交互和从所述发起者设备接收的消息根据所述认证协议提供响应者状态,所述响应者状态包括:
等待状态(AWG),其用于从所述发起者接收消息,以及
响应者已认证状态(ATD),其指示已经成功地执行了所述认证;
所述响应者状态机被布置为提供相互响应者认证状态(AR2),以用于使所述响应者设备能够经由响应者带外动作从所述发起者设备获取发起者公共密钥;并且
所述响应者消息单元被布置为创建包括以下项的消息:
认证响应,其包括基于对应于所述响应者公共密钥(BR)的响应者私有密钥(bR)的单侧响应者认证数据({R-auth1}k1)以及指示所述相互认证正在进展的相互进展状态;
并且所述响应者消息单元被布置为分解包括以下项的消息:
认证请求(ARQ),其包括用于验证发起者公共密钥的发起者验证器(H(BI))和用于验证所述响应者公共密钥的响应者验证器(H(BR));
所述响应者状态机被布置为在所述响应者处理器基于所述发起者公共密钥(BI)和所述响应者私有密钥(bR)成功地处理所述发起者认证数据({I-auth2})时参与所述响应者已认证状态。
8.根据权利要求7所述的响应者设备,
所述响应者消息单元被布置为创建:
相互认证响应,其要在所述相互响应者认证状态下被发送并且包括基于所述发起者公共密钥(BI)和对应于所述响应者公共密钥(BR)的响应者私有密钥(bR)的相互响应者认证数据({R-auth2}k2);
并且所述响应者消息单元被布置为分解:
相互认证确认,其包括指示对所述相互认证的确认的相互确认状态以及基于所述响应者公共密钥(BR)和对应于所述发起者公共密钥(BI)的发起者私有密钥(bI)的相互发起者认证数据({I-auth2}k2)。
9.根据权利要求7或8所述的响应者设备,其中,
所述响应者消息单元被布置为在所述单侧认证的情况下创建单侧认证响应,所述单侧认证响应包括基于对应于所述响应者公共密钥(BR)的响应者私有密钥(bR)的单侧响应者认证数据({R-auth1}k1)以及指示所述单侧认证的单侧状态;并且
所述响应者状态机被布置为在所述单侧认证的情况下在接收到单侧认证确认并且所述响应者处理器成功地处理单侧发起者认证数据({I-auth1}k1)时参与所述响应者已认证状态。
10.根据权利要求8所述的响应者设备,其中,
所述响应者状态机被布置为在接收到所述相互认证确认并且所述响应者处理器未成功地处理所述相互发起者认证数据({I-auth2}k2)时参与所述等待状态。
11.根据权利要求8或10所述的响应者设备,其中,
所述响应者消息单元被布置为分解包括相互等待状态的等待相互认证确认,并且
所述响应者状态机被布置为在接收到所述相互等待状态时参与所述相互响应者认证状态(AR2)。
12.根据权利要求11所述的响应者设备,其中,
所述响应者消息单元被布置为还分解包括单侧发起者认证数据({I-auth1}k1)的等待认证确认,并且
所述响应者状态机被布置为在所述响应者处理器未成功地处理所述单侧发起者认证数据时参与所述等待状态。
13.根据权利要求7或8所述的响应者设备,其中,所述响应者设备包括:
响应者用户接口(123),其被布置用于容纳用户交互,所述用户交互用于执行所述响应者带外动作以从所述发起者设备获取所述发起者公共密钥。
14.一种无线通信系统,包括根据权利要求1-6中的任一项所述的发起者设备(110)和根据权利要求7-13中的任一项所述的响应者设备(120、120')。
15.一种用于在发起者设备(110)中使用的用于根据通信协议与响应者设备进行无线通信的发起者方法,
所述通信协议包括用于容纳认证的认证协议,所述认证是以下各项中的一项:
由所述发起者设备对所述响应者设备的单侧认证,以及
由所述发起者设备对所述响应者设备和由所述响应者设备对所述发起者设备的相互认证;
所述方法包括:
依据用户交互和从所述响应者设备接收的消息根据所述认证协议提供发起者状态,所述发起者状态包括:
初始状态,其用于通过经由发起者带外动作从所述响应者设备获取响应者公共密钥来进行自举,
自举状态,其指示已经通过获取所述响应者公共密钥成功地执行了所述自举,以及
已认证状态,其指示已经成功地执行了所述认证;
创建认证请求(ARQ),所述认证请求要在所述自举状态下被发送并且包括用于验证发起者公共密钥的发起者验证器(H(BI))和用于验证所述响应者公共密钥的响应者验证器(H(BR));
分解认证响应,所述认证响应包括基于对应于所述响应者公共密钥(BR)的响应者私有密钥(bR)的单侧响应者认证数据({R-auth1}k1)以及指示所述相互认证正在进展以使所述响应者设备能够经由响应者带外动作从所述发起者设备获取所述发起者公共密钥的相互进展状态;
提供相互认证状态,所述相互认证状态在接收到所述相互进展状态时是参与的,以用于等待相互认证;
分解相互认证响应,所述相互认证响应包括基于所述发起者公共密钥(BI)和所述响应者私有密钥(bR)的相互响应者认证数据({R-auth2}k2);
创建相互认证确认,所述相互认证确认包括指示对所述相互认证的确认的相互确认状态以及基于所述响应者公共密钥(BR)和对应于所述发起者公共密钥(BI)的发起者私有密钥(bI)的相互发起者认证数据({I-auth2}k2);以及
在接收到所述相互认证响应并且基于所述响应者公共密钥和对应于所述发起者公共密钥(BI)的发起者私有密钥(bI)成功地处理所述相互响应者认证数据时参与所述已认证状态。
16.一种用于在响应者设备中使用用于根据通信协议与发起者设备进行无线通信的响应者方法,
所述通信协议包括用于容纳认证的认证协议,所述认证是以下各项中的一项:
由所述发起者设备对所述响应者设备的单侧认证,以及
由所述发起者设备对所述响应者设备和由所述响应者设备对所述发起者设备的相互认证;
所述方法包括:
依据用户交互和从所述发起者设备接收的消息根据所述认证协议提供响应者状态,所述响应者状态包括:
等待状态,其用于从所述发起者接收消息,以及
响应者已认证状态,其指示已经成功地执行了所述认证;
创建认证响应,所述认证响应包括基于对应于所述响应者公共密钥(BR)的响应者私有密钥(bR)的单侧响应者认证数据({R-auth1}k1)以及指示所述相互认证正在进展的相互进展状态;
提供相互响应者认证状态(AR2),以用于使所述响应者设备能够经由响应者带外动作从所述发起者设备获取发起者公共密钥;
创建相互认证响应,所述相互认证响应要在所述相互响应者认证状态下被发送并且包括基于所述发起者公共密钥(BI)和对应于所述响应者公共密钥(BR)的响应者私有密钥(bR)的相互响应者认证数据({R-auth2}k2);
分解认证请求(ARQ),所述认证请求包括用于验证发起者公共密钥的发起者验证器(H(BI))和用于验证所述响应者公共密钥的响应者验证器(H(BR));
在成功地处理所述认证请求时参与响应者认证状态(AG1)。
17.根据权利要求16所述的响应者方法,其中,所述方法还包括:
分解相互认证确认,所述相互认证确认包括指示对所述相互认证的确认的相互确认状态以及基于所述响应者公共密钥(BR)和对应于所述发起者公共密钥(BI)的发起者私有密钥(bI)的相互发起者认证数据({I-auth2}k2);
在基于所述发起者公共密钥(BI)和所述响应者私有密钥(bR)成功地处理所述相互发起者认证数据时参与所述响应者已认证状态。
18.一种存储有计算机程序的计算机可读介质和/或微处理器可执行介质,所述计算机程序包括程序代码指令,所述程序代码指令当在计算机上执行时用于实现根据权利要求15所述的方法或者根据权利要求16所述的方法。
CN201880019799.5A 2017-03-20 2018-03-15 相互认证系统 Active CN110476399B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17161856.4 2017-03-20
EP17161856.4A EP3379789A1 (en) 2017-03-20 2017-03-20 Mutual authentication system
PCT/EP2018/056491 WO2018172171A1 (en) 2017-03-20 2018-03-15 Mutual authentication system

Publications (2)

Publication Number Publication Date
CN110476399A CN110476399A (zh) 2019-11-19
CN110476399B true CN110476399B (zh) 2022-04-01

Family

ID=58387749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880019799.5A Active CN110476399B (zh) 2017-03-20 2018-03-15 相互认证系统

Country Status (9)

Country Link
US (3) US11190506B2 (zh)
EP (2) EP3379789A1 (zh)
JP (1) JP7041162B6 (zh)
CN (1) CN110476399B (zh)
BR (1) BR112019019327A2 (zh)
MX (1) MX2019011050A (zh)
RU (1) RU2766440C2 (zh)
TW (1) TWI759445B (zh)
WO (1) WO2018172171A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3379789A1 (en) * 2017-03-20 2018-09-26 Koninklijke Philips N.V. Mutual authentication system
JP7257744B2 (ja) * 2018-04-25 2023-04-14 キヤノン株式会社 通信装置、制御方法、及びプログラム
US11133934B2 (en) 2018-08-24 2021-09-28 Powch, LLC Systems and methods for single-step out-of-band authentication
CN109309910A (zh) * 2018-10-30 2019-02-05 深圳市元征科技股份有限公司 通信数据传输方法、系统、设备及计算机可读存储介质
JP7121646B2 (ja) * 2018-11-29 2022-08-18 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
TWI828558B (zh) * 2021-01-29 2024-01-01 銓安智慧科技股份有限公司 訊息傳輸系統以及應用其中之使用者裝置與資訊安全硬體模組
TWI827906B (zh) * 2021-01-29 2024-01-01 銓安智慧科技股份有限公司 訊息傳輸系統以及應用其中之使用者裝置與資訊安全硬體模組
CN113452704B (zh) * 2021-06-28 2022-08-09 湖南天河国云科技有限公司 基于分布式身份标识的异构工业设备可信互联方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934470A (zh) * 2010-06-16 2013-02-13 高通股份有限公司 用于在通信系统中将订户认证与设备认证绑定的方法和装置
EP2922236A1 (en) * 2014-03-18 2015-09-23 EM Microelectronic-Marin SA Authentication by use of symmetric and asymmetric cryptography
CN105432102A (zh) * 2013-05-22 2016-03-23 康维达无线有限责任公司 用于机器对机器通信的网络辅助引导自举
CN105684344A (zh) * 2013-10-28 2016-06-15 华为终端有限公司 一种密钥配置方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607012B2 (en) * 2003-10-01 2009-10-20 Nokia Corporation Method for securing a communication
JP4707373B2 (ja) * 2003-12-16 2011-06-22 株式会社リコー 電子装置、電子装置の制御方法、プログラム、記録媒体、管理システム、および交換部材
US8611536B2 (en) 2004-09-08 2013-12-17 Qualcomm Incorporated Bootstrapping authentication using distinguished random challenges
US8099598B1 (en) * 2005-01-03 2012-01-17 Gary Gang Liu Secure messaging system with automatic recipient enrollment
US8015409B2 (en) * 2006-09-29 2011-09-06 Rockwell Automation Technologies, Inc. Authentication for licensing in an embedded system
US8156334B2 (en) * 2008-08-12 2012-04-10 Texas Instruments Incorporated Public key out-of-band transfer for mutual authentication
TW201101865A (en) * 2008-12-31 2011-01-01 Interdigital Patent Holdings Authentication method selection using a home enhanced Node B profile
CN102347870B (zh) * 2010-07-29 2015-09-09 中国电信股份有限公司 一种流量安全检测方法、设备和系统
US9288228B2 (en) * 2011-08-05 2016-03-15 Nokia Technologies Oy Method, apparatus, and computer program product for connection setup in device-to-device communication
WO2013108121A2 (en) * 2012-01-17 2013-07-25 IPalive AB A device, software module, system or business method for global real-time telecommunication
US9237448B2 (en) * 2012-08-15 2016-01-12 Interdigital Patent Holdings, Inc. Enhancements to enable fast security setup
US10555170B2 (en) * 2015-09-04 2020-02-04 Huawei Technologies Co., Ltd. Method and apparatus for authentication of wireless devices
US11070380B2 (en) * 2015-10-02 2021-07-20 Samsung Electronics Co., Ltd. Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method
US10735467B2 (en) * 2016-01-11 2020-08-04 Lg Electronics Inc. Method and apparatus for controlling a device using bluetooth technology
CN109075968A (zh) * 2016-03-08 2018-12-21 马维尔国际贸易有限公司 用于安全设备认证的方法和装置
EP3379789A1 (en) * 2017-03-20 2018-09-26 Koninklijke Philips N.V. Mutual authentication system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934470A (zh) * 2010-06-16 2013-02-13 高通股份有限公司 用于在通信系统中将订户认证与设备认证绑定的方法和装置
CN105432102A (zh) * 2013-05-22 2016-03-23 康维达无线有限责任公司 用于机器对机器通信的网络辅助引导自举
CN105684344A (zh) * 2013-10-28 2016-06-15 华为终端有限公司 一种密钥配置方法和装置
EP3051744A1 (en) * 2013-10-28 2016-08-03 Huawei Device Co., Ltd. Key configuration method and apparatus
EP2922236A1 (en) * 2014-03-18 2015-09-23 EM Microelectronic-Marin SA Authentication by use of symmetric and asymmetric cryptography

Also Published As

Publication number Publication date
TW201902177A (zh) 2019-01-01
EP3602997A1 (en) 2020-02-05
US20200099539A1 (en) 2020-03-26
EP3379789A1 (en) 2018-09-26
BR112019019327A2 (pt) 2020-04-14
WO2018172171A1 (en) 2018-09-27
US11757874B2 (en) 2023-09-12
JP7041162B2 (ja) 2022-03-23
US11190506B2 (en) 2021-11-30
JP2020516118A (ja) 2020-05-28
US20230379327A1 (en) 2023-11-23
RU2766440C2 (ru) 2022-03-15
TWI759445B (zh) 2022-04-01
CN110476399A (zh) 2019-11-19
RU2019132954A (ru) 2021-04-21
JP7041162B6 (ja) 2022-05-31
RU2019132954A3 (zh) 2021-08-03
US20220086146A1 (en) 2022-03-17
EP3602997B1 (en) 2022-10-05
MX2019011050A (es) 2019-10-17

Similar Documents

Publication Publication Date Title
CN110476399B (zh) 相互认证系统
US11765172B2 (en) Network system for secure communication
EP2963959B1 (en) Method, configuration device, and wireless device for establishing connection between devices
US8402272B2 (en) Master unit and slave unit
JP5524157B2 (ja) プローブを使用する2つの装置間のセキュアなワイヤレスリンク
WO2022021992A1 (zh) 一种基于NB-IoT通信的数据传输方法、系统及介质
JP2012530311A5 (zh)
US10637652B2 (en) Method and system for exchanging cryptographic keys with an unauthenticated device
WO2015100675A1 (zh) 一种网络配置方法、相关装置及系统
CN106131008B (zh) 视音频监控设备及其安全认证方法、视音频展示设备
CN111654481B (zh) 一种身份认证方法、装置和存储介质
WO2021109668A1 (zh) 一种安全认证方法、装置及电子设备
WO2020090443A1 (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
GR01 Patent grant