CN105359154B - 一种终端配对方法及配对终端 - Google Patents
一种终端配对方法及配对终端 Download PDFInfo
- Publication number
- CN105359154B CN105359154B CN201480004670.9A CN201480004670A CN105359154B CN 105359154 B CN105359154 B CN 105359154B CN 201480004670 A CN201480004670 A CN 201480004670A CN 105359154 B CN105359154 B CN 105359154B
- Authority
- CN
- China
- Prior art keywords
- opposite end
- terminal
- pairing
- value
- itself
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 159
- 230000004044 response Effects 0.000 claims description 31
- 238000001514 detection method Methods 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 20
- 108010001267 Protein Subunits Proteins 0.000 claims description 10
- 230000008569 process Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 230000033001 locomotion Effects 0.000 description 15
- 230000003993 interaction Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 101000893549 Homo sapiens Growth/differentiation factor 15 Proteins 0.000 description 9
- 101000692878 Homo sapiens Regulator of MON1-CCZ1 complex Proteins 0.000 description 9
- 102100026436 Regulator of MON1-CCZ1 complex Human genes 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 102000008482 12E7 Antigen Human genes 0.000 description 7
- 108010020567 12E7 Antigen Proteins 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 239000000523 sample Substances 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W4/21—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种终端配对方法及配对终端,所述方法包括:当终端检测到预设的配对触发事件时,获取与所述预设的配对触发事件相关联的所述终端自身的配对隐秘值;所述终端利用所述终端自身的配对隐秘值实现与所述对端的配对。与现有技术相比,本发明不需要使用NFC接口即可准确实现配对,节约了终端配对的成本。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种终端配对方法及配对终端。
背景技术
随着网络技术的发展,人与人之间习惯了分享彼此的数据信息。通常,人们只是通过彩信、邮件、聊天软件如QQ、微信等方式与其他终端共享数据或媒体内容。目前,面对面的用户也可以通过终端之间的简单触碰或者摇晃等操作完成内容的共享。但是,在内容共享之前,如何实现内容共享终端的配对是目前比较棘手的问题。
目前,存在一种使用NFC(英文:Near Field Communication,中文:近场通信)接口交换隐秘数据的终端配对方法。由于NFC接口通信距离短,第三方难以侦听,更难以进行中间人攻击,因此利用NFC接口就能够完成终端的配对。但是,由于NFC接口的成本较高,使得该方案不容易在各类终端中被普及。
发明内容
本发明提供了一种终端配对方法及配对终端,能够在不使用NFC接口的条件下,准确地实现终端的配对。
为了解决以上技术问题,本发明采取的技术方案是:
第一方面,本发明提供了一种终端配对方法,所述方法包括:
当终端检测到预设的配对触发事件时,获取与所述配对触发事件相关联的所述终端自身的配对隐秘值;
所述终端利用所述终端自身的配对隐秘值实现与对端的配对。
在第一方面的第一种可能的实现方式中,所述当终端检测到预设的配对触发事件时,获取与所述配对触发事件相关联的所述终端自身的配对隐秘值,包括:
当终端检测到预设的配对触发事件时,所述终端获取与所述对端基于共同参考时间点获得的相对于所述事件的发生时间的所述终端自身的时长;
和\或,
当终端检测到预设的配对触发事件时,所述终端获取所述终端自身的运动方向值。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述当终端检测到预设的配对触发事件时,所述终端获取与所述对端基于共同参考时间点的相对于所述事件的发生时间的所述终端自身的时长,包括:
当终端检测到预设的配对触发事件时,获取所述配对触发事件的发生时间,作为所述终端自身的第一时间点;
所述终端根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点;
所述终端获取所述终端自身的时长,所述终端自身的时长为所述终端自身的第一时间点与所述终端自身的第二时间点的时间间隔。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述获取所述配对触发事件的发生时间,作为所述终端自身的第一时间点之后,且在所述终端根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点之前,还包括:
所述终端在检测到所述配对触发事件后随机延迟时间r,通过无线接口向所述对端发送发现请求消息。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述终端在检测到所述配对触发事件后随机延迟时间r,通过无线接口向所述对端发送发现请求消息之后,还包括:
所述终端接收来自所述对端的发现响应消息,所述发现响应消息为所述对端在接收到所述发现请求消息后延迟时间R后发送的,所述R大于所述r。
结合第一方面的第二种可能的实现方式,在第五种可能的实现方式中,所述终端根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点,具体为:
所述终端根据在预设的信道上与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点。
结合第一方面的第二种可能的实现方式,在第六种可能的实现方式中,所述终端获取所述终端自身的时长,所述终端自身的时长为所述终端自身的第一时间点与所述终端自身的第二时间点的时间间隔之后,还包括:
所述终端采用预设的规整方法,规整所述终端自身的时长。
在第一方面的第七种可能的实现方式中,所述终端利用所述终端自身的配对隐秘值实现与对端的配对,包括:
所述终端利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值;
所述终端利用所述对端的公钥和所述终端自身的私钥生成所述终端自身的共享密钥;
所述终端通过验证所述终端自身的共享密钥和所述对端的共享密钥实现与所述对端的配对。
结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述方法还包括:
所述终端向所述对端发送所述终端自身的配对隐秘值,以使所述对端实现与所述终端的配对。
结合第一方面的第七种可能的实现方式,在第九种可能的实现方式中,所述终端利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值,包括:
所述终端接收对端发送的第一秘密值和任一随机数,所述第一秘密值为利用所述对端的配对隐秘值加密所述对端的公钥和所述随机数得到;
所述终端利用所述终端自身的配对隐秘值和所述对端的随机数,解密所述第一秘密值得到所述对端的公钥。
结合第一方面的第七种可能的实现方式,在第十种可能的实现方式中,所述终端利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值,包括:
所述终端接收对端发送的第一秘密值和第一运算值,所述第一秘密值包括利用所述对端的配对隐秘值加密所述对端的公钥得到的值,所述第一运算值包括利用所述终端自身的配对隐秘值和所述对端的配对隐秘值通过预设的预算方法得到的值;
所述终端利用来自所述对端的第一运算值和所述终端自身的配对隐秘值得到所述对端的配对隐秘值;
所述终端利用所述对端的配对隐秘值,解密来自所述对端的第一秘密值得到所述对端的公钥。
在第一方面的第十一种可能的实现方式中,所述终端利用所述终端自身的配对隐秘值实现与对端的配对,包括:
所述终端利用来自对端的信息和所述终端自身的信息,得到所述对端的配对隐秘值,所述来自对端的信息包括所述对端的公钥和配对隐秘值,所述终端自身的信息包括所述终端自身的私钥;
所述终端通过比较所述终端自身的配对隐秘值和所述对端的配对隐秘值实现与所述对端的配对。
结合第一方面的第十一种可能的实现方式,在第十二种可能的实现方式中,所述终端利用来自对端的信息和所述终端自身的信息,得到所述对端的配对隐秘值,所述来自对端的信息包括所述对端的公钥和配对隐秘值,所述终端自身的信息包括所述终端自身的私钥,包括:
所述终端接收来自对端的第一消息,所述来自对端的第一消息包括所述对端的公钥和第二秘密值,所述对端的第二秘密值包括利用所述对端的预设密钥加密所述对端的配对隐秘值得到的值;
所述终端利用所述终端自身的私钥和所述对端的公钥生成所述终端自身的共享密钥;
所述终端接收来自所述对端的第二消息,来自所述对端的第二消息包括所述对端的第三秘密值,所述对端的第三秘密值包括利用所述对端的共享密钥加密所述对端的预设密钥得到的值;
所述终端利用所述终端自身的共享密钥解密所述对端的第三秘密值得到所述对端的预设密钥,并利用所述对端的预设密钥解密所述对端的第二秘密值得到所述对端的配对隐秘值。
结合第一方面的第十二种可能的实现方式,在第十三种可能的实现方式中,所述来自对端的第一消息还包括所述对端的第一消息完整性码,所述对端的第一消息完整性码包括所述对端利用所述对端的配对隐秘值加密所述来自对端的第一消息的摘要信息得到的值;
所述终端利用所述对端的预设密钥解密所述对端的第二秘密值得到所述对端的配对隐秘值之后,还包括:
所述终端利用所述对端的配对隐秘值验证所述对端的第一消息完整性码。
结合第一方面的第十三种可能的实现方式,在第十四种可能的实现方式中,所述终端通过比较所述终端自身的配对隐秘值和所述对端的配对隐秘值实现与所述对端的配对,包括:
所述终端判断所述终端自身的配对隐秘值和所述对端的配对隐秘值的差别是否在预设的允许误差范围内;
当所述差别在预设的允许误差范围内以及所述对端的第一消息完整性码通过验证时,所述终端实现与所述对端的配对。
结合第一方面的第十二种可能的实现方式,在第十五种可能的实现方式中,所述来自所述对端的第二消息还包括所述对端的第二消息完整性码,所述对端的第二消息完整性码包括所述对端利用所述对端的共享密钥加密所述来自所述对端的第二消息的摘要信息得到的值;
所述终端接收来自所述对端的第二消息之后,还包括:
所述终端利用所述终端自身的共享密钥验证所述对端的第二消息完整性码。
第二方面,本发明提供了一种配对终端,所述终端包括检测单元、获取单元和配对单元;
所述检测单元,用于检测触发与对端配对的事件;
所述获取单元,用于当所述检测单元检测到所述触发与对端配对的事件时,获取与所述触发与对端配对的事件相关联的所述终端自身的配对隐秘值;
所述配对单元,用于利用所述终端自身的配对隐秘值实现与所述对端的配对。
在第二方面的第一种可能的实现方式中,所述获取单元,包括:
第一获取子单元,用于当所述检测单元检测到触发与对端配对的事件时,获取与所述对端基于共同参考时间点获得的相对于所述事件的发生时间的所述终端自身的时长;
和\或,
第二获取子单元,用于当所述检测单元检测到触发与对端配对的事件时,获取所述终端自身的运动方向值。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一获取子单元,包括:
第三获取子单元,用于当所述检测单元检测到触发与对端配对的事件时,获取所述触发与对端配对的事件的发生时间,作为所述终端自身的第一时间点;
第四获取子单元,用于根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点;
第五获取子单元,用于获取所述终端自身的时长,所述终端自身的时长为所述终端自身的第一时间点与所述终端自身的第二时间点的时间间隔。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一获取子单元,还包括:
第一发送子单元,用于在检测到所述触发与对端配对的事件后随机延迟时间r,通过无线接口向所述对端发送发现请求消息。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第一获取子单元,还包括:
第一接收子单元,用于接收来自所述对端的发现响应消息,所述发现响应消息为所述对端在接收到所述发现请求消息后延迟时间R后发送的,所述R大于所述r。
结合第二方面的第二种可能的实现方式,在第五种可能的实现方式中,所述第四获取子单元,具体为根据在预设的信道上与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点的单元。
结合第二方面的第二种可能的实现方式,在第六种可能的实现方式中,所述终端还包括:
规整子单元,用于采用预设的规整方法,规整所述终端自身的时长。
在第二方面的第七种可能的实现方式中,所述配对单元,包括:
第六获取子单元,用于利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值;
第一生成子单元,用于利用所述对端的公钥和所述终端自身的私钥生成所述终端自身的共享密钥;
第一配对子单元,用于通过验证所述终端自身的共享密钥和所述对端的共享密钥实现与所述对端的配对。
结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述终端还包括发送单元,
所述发送单元,用于向所述对端发送所述终端自身的配对隐秘值,以使所述对端实现与所述终端的配对。
结合第二方面的第七种可能的实现方式,在第九种可能的实现方式中,所述第六获取子单元,包括:
第二接收子单元,用于接收对端发送的第一秘密值和任一随机数,所述第一秘密值为利用所述对端的配对隐秘值加密所述对端的公钥和所述随机数得到;
第一解密子单元,用于利用所述终端自身的配对隐秘值和所述对端的随机数,解密所述第一秘密值得到所述对端的公钥。
结合第二方面的第七种可能的实现方式,在第十种可能的实现方式中,所述第六获取子单元,包括:
第三接收子单元,用于接收对端发送的第一秘密值和第一运算值,所述第一秘密值包括利用所述对端的配对隐秘值加密所述对端的公钥得到的值,所述第一运算值包括利用所述终端自身的配对隐秘值和所述对端的配对隐秘值通过预设的预算方法得到的值;
第二生成子单元,用于利用来自所述对端的第一运算值和所述终端自身的配对隐秘值得到所述对端的配对隐秘值;
第二解密子单元,用于利用所述对端的配对隐秘值,解密来自所述对端的第一秘密值得到所述对端的公钥。
在第二方面的第十一种可能的实现方式中,所述配对单元,包括:
第三生成子单元,用于利用来自对端的信息和所述终端自身的信息,得到所述对端的配对隐秘值,所述来自对端的信息包括所述对端的公钥和配对隐秘值,所述终端自身的信息包括所述终端自身的私钥;
第二配对子单元,用于通过比较所述终端自身的配对隐秘值和所述对端的配对隐秘值实现与所述对端的配对。
结合第二方面的第十一种可能的实现方式,在第十二种可能的实现方式中,所述第三生成子单元,包括:
第四接收子单元,用于接收来自对端的第一消息,所述来自对端的第一消息包括所述对端的公钥和第二秘密值,所述对端的第二秘密值包括利用所述对端的预设密钥加密所述对端的配对隐秘值得到的值;
第四生成子单元,用于利用所述终端自身的私钥和所述对端的公钥生成所述终端自身的共享密钥;
第五接收子单元,用于接收来自所述对端的第二消息,来自所述对端的第二消息包括所述对端的第三秘密值,所述对端的第三秘密值包括利用所述对端的共享密钥加密所述对端的预设密钥得到的值;
第三解密子单元,用于利用所述终端自身的共享密钥解密所述对端的第三秘密值得到所述对端的预设密钥,并利用所述对端的预设密钥解密所述对端的第二秘密值得到所述对端的配对隐秘值。
结合第二方面的第十二种可能的实现方式,在第十三种可能的实现方式中,所述来自对端的第一消息还包括所述对端的第一消息完整性码,所述对端的第一消息完整性码包括所述对端利用所述对端的配对隐秘值加密所述来自对端的第一消息的摘要信息得到的值;
所述第三生成子单元还包括第一验证子单元;
所述第一验证子单元,用于利用所述对端的配对隐秘值验证所述对端的第一消息完整性码。
结合第二方面的第十三种可能的实现方式,在第十四种可能的实现方式中,所述第二配对子单元,包括:
判断子单元,用于判断所述终端自身的配对隐秘值和所述对端的配对隐秘值的差别是否在预设的允许误差范围内;
第三配对子单元,用于当所述差别在预设的允许误差范围内以及所述对端的第一消息完整性码通过验证时,所述终端实现与所述对端的配对。
结合第二方面的第十二种可能的实现方式,在第十五种可能的实现方式中,所述来自所述对端的第二消息还包括所述对端的第二消息完整性码,所述对端的第二消息完整性码包括所述对端利用所述对端的共享密钥加密所述来自所述对端的第二消息的摘要信息得到的值;
所述第三生成子单元还包括第二验证子单元;
所述第二验证子单元,用于利用所述终端自身的共享密钥验证所述对端的第二消息完整性码。
本发明中当终端检测到触发与对端配对的配对触发事件时,所述终端首先获取与所述配对触发事件相关联的所述终端自身的配对隐秘值,然后利用所述终端自身的配对隐秘值实现与对端的配对过程。与现有技术相比,本发明不需要使用NFC接口即可准确实现配对,节约了终端的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的终端配对方法流程图;
图2是本发明实施例提供的安装有二个霍尔器件和二个磁铁的第一终端和第二终端结构示意图;
图3是本发明实施例提供的实现终端获取基于预设的配对触发事件发生时间的时长的方法流程图;
图4是本发明实施例提供的实现终端获取基于预设的配对触发事件的发生时间的时长的方法交互图;
图5是本发明实施例提供的一种终端配对方法交互图;
图6是本发明实施例提供的一种终端配对方法交互图;
图7是本发明实施例提供的一种终端配对方法交互图;
图8是本发明实施例提供的一种配对终端结构示意图;
图9是本发明实施例提供的配对终端在一种实现方式中的结构示意图;
图10是本发明实施例提供的配对终端在一种实现方式中的结构示意图;
图11是本发明实施例提供的配对终端在另一种实现方式中的结构示意图;
图12是本发明实施例提供的配对终端构成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
实施例一
参考图1,图1为本实施例提供的终端配对方法流程图,所述方法包括:
S101:当终端检测到预设的配对触发事件时,获取与所述配对触发事件相关联的所述终端自身的配对隐秘值。
S102:所述终端利用所述终端自身的配对隐秘值实现与对端配对。
本实施例中,假设需要实现配对的终端分别为第一终端和第二终端,首先在第一终端和第二终端分别设置配对触发事件,如将第一终端与第二终端进行触碰设置为配对触发事件等。当第一终端和第二终端进行触碰时,第一终端和第二终端分别记录与所述配对触发事件相关联的所述终端自身的配对隐秘值,所述终端自身的配对隐秘值可以为第一终端和第二终端分别基于一个共同参考点获得的相对于所述配对触发事件发生时间的所述终端自身的时长,也可以为所述配对触发事件发生时第一终端和第二终端的运动方向值。
具体的,当预设的配对触发事件发生时,第一终端和第二终端可以分别记录在所述终端自身的运动方向值,例如,可以通过CPU周期性读取三轴加速度计、重力感应器、电子罗盘等传感装置的传感数据,当检测到终端在一个方向上快速运动,然后在运动方向上运动速度骤降为0或骤然变为反向运动,则判定发生触碰事件,可在此时依据此前读取的一系列传感器数据分析运动方向,例如第一终端检测到运动方向为东偏北5度、上仰3度,而第二终端运动方向为西偏南5度、下俯3度,则两个终端的运动方向是相向的。实际判断时允许运动方向的角度存在一些误差。
以下用于介绍终端获取基于配对触发事件发生时间点的时长的具体内容:
首先是获取触碰事件发生时间点。
实际应用中,可以使用加速度计确定触碰事件的发生时间点,通常的做法是由CPU(中央处理器)周期性读取加速度计的加速度值,如果加速度值剧烈变化并发生显著拐点,如向一个方向较快运动然后骤停,此时说明终端发生了触碰事件。本实施例中的终端在根据加速度值的变化判断出触碰事件后立即记录所述触碰事件发生时的系统时间,例如CPU系统时间,精确到微秒。两个设备通过加速度计等感应器检测出触碰事件发生时间点所产生的时间误差可能在1至20毫秒之间。
另外,本实施例也可以使用霍尔感应的方式检测触碰事件的发生时间点,具体的,每个终端至少需要安装一个霍尔器件和一个磁铁,其中,所述磁铁可以是电磁铁,为了方便使用,每个终端还可以安装二个霍尔器件和二个磁铁,如图2所示,图2为安装有二个霍尔器件和二个磁铁的第一终端和第二终端结构示意图。当第一终端和第二终端进行触碰时,第一设备的霍尔器件1检测到第二终端的磁铁2靠近,向第一终端的CPU发出触碰事件发生的信号,同时,第二终端的霍尔器件2检测到第一终端的磁铁1靠近,向第二终端的CPU发出触碰事件发生的信号。当第一终端和第二终端进行良好的触碰时,两个设备的霍尔器件会同时检测到触碰事件,这两个触碰事件的发生时间点误差可以小到数个毫秒或更低。
除上述两种检测触碰事件发生时间点的方法,本实施例也可以使用其它技术检测触碰事件,本发明不限制检测触碰事件的技术实现方法。只要对于相互触碰的两个终端能够以非常小的时间误差同时检测到触碰事件的发生时间点,都可以适用于本发明的方案。本实施例可以将所述非常小的时间误差记为D,D的单位可以取为微秒,D的值越小越好,例如100微秒。
其次是依据一个共同参考点获取时长。
所述共同参考点是两个终端通过第一无线通信接口交互的某个消息而获得的时间点,从触碰事件发生时间点到这个共同参考点所经历的时间就是所述的时长。所述第一无线通信接口可以在所述配对触发事件发生之前就已经打开,例如用于分享内容的程序在运行时就打开所述第一无线通信接口,并等待配对触发事件的发生。所述第一无线通信接口也可以在所述配对触发事件发生之后打开,即检测到所述配对触发事件之后打开所述第一无线通信接口。所述第一无线通信接口可以是WiFi或蓝牙等无线通信技术。所述第一无线通信接口与配对成功后传输分享内容的第二无线接口可以相同或不同,例如所述第一无线通信接口和第二无线通信接口都是WiFi接口,或者在配对触发事件发生前就打开BLE(英文:Bluetooth Low Energy,中文:蓝牙低功耗)接口,通过BLE接口完成配对过程,之后再打开WiFi接口完成内容传输,这样可以节约终端的耗电量。
参考图3,图3为本实施例提供的实现终端获取基于预设触发与对端配对的事件发生时间的时长的方法流程图,所述方法可以包括:
S301:当终端检测到配对触发事件时,获取所述配对触发事件的发生时间,并确定为所述终端自身的第一时间点。
S302:所述终端根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点。
S303:所述终端获取所述终端自身的时长,所述终端自身的时长为所述终端自身的第一时间点与所述终端自身的第二时间点的时间间隔。
实际应用中,需要配对的两个终端首先触发预设的配对触发事件,如将两个终端进行触碰,此时,两个终端分别记录所述配对触发事件发生时间点,并将该发生时间点确定为所述终端自身的第一时间点。其次,通过两个终端之间交互的任意一条消息,所述两个终端分别记录基于该消息的终端自身的第二时间点。由于消息以光速传播,而两个终端的距离很近,不妨假设触碰后两个设备离开1米远,信号从一个终端到达另一个终端所需的时间仅仅为3.3纳秒,可以忽略不计。因此,本实施例的所述消息的发送终端在发送所述消息时记录系统时间作为第二时间点,同时所述消息的接收终端在接收所述消息时记录系统时间作为第二时间点,可以认为两个终端分别记录的第二时间点相同,或者非常接近。最后,由于理论上发生配对触发事件的两个终端分别记录的第一时间点和第二时间点均相同,所以,本实施例中两个终端分别获取各自的时长,所述时长为各自的第一时间点和第二时间点的时间间隔,可以理解的是,两个发生配对触发事件的终端的时长理论上应该也是相同的。
以下介绍上述获取时长方法的一种具体实施方式,参考图4,图4为实现终端获取基于预设的配对触发事件的发生时间的时长的方法交互图,其中实现配对的终端分别为第一终端和第二终端,所述方法包括:
S401:第一终端和第二终端发生配对触发事件,如触碰事件。
S402:在所述配对触发事件发生时,第一终端和第二终端分别将所述配对触发事件发生时的系统时间确定为第一时间点。
S403:第一终端随机延迟时间r后,通过WiFi或蓝牙等无线接口发送首个消息,所述首个消息通常为发现请求(英文:Discovery Request)消息。具体地,所述发现请求消息可以是IEEE 802.11中定义的探测请求帧(英文:Probe Request frame)。
其中,第一终端随机延迟时间r后发送首个消息的目的是防止攻击者通过侦听首个消息的方式猜测到触碰事件发生的时间点,假冒第二终端与第一终端实现配对。
为了保证首个消息发送的成功率,第一终端可以将首个消息快速连发三次,并最好保证最后一次发送首个消息的时间点必须在预设的时间点之前完成。
另外,为了加快终端配对过程,可以设定第一终端只在预先设定的特定无线通道上发送发现请求消息,而第二终端也只在所述特定的无线通道上侦听所述发现请求消息。值得注意的是,由于第一终端通常不知道第二终端的地址,因此所述发现请求消息通常是广播的。
S404:第二终端收到发现请求消息后,延迟时间R向第一终端发送对所述发现请求消息的响应消息即发现响应消息。同时,所述第二终端在发出所述发现响应消息时记录系统时间为第二时间点,所述第一终端在接收到所述发现响应消息时子记录系统时间为第二时间点。
更具体地,所述第二终端在开始发送所述发现响应消息时记录系统时间为第二时间点,所述第一终端在开始接收到所述发现响应消息时记录系统时间为第二时间点,当然,所述第一终端可以在确定接收到所述发现响应消息时记录第三时间点,减去接收所述发现响应消息所需要的时间来确定所述第一终端的第二时间点。如此,两个终端记录的都是同一个消息起始端的传输时间点,它们的误差是消息起始端在空中传播的时间加上可能存在的电路处理产生的延迟,这个误差可以非常小。实际第二时间点的获得也可以采用其它方法,例如两个设备都记录所述发现响应消息末端的传输时间点,即第二设备完成发送所述发现响应消息的时间点和第一设备完成接收所述发现响应消息的时间点。也可以根据所述发现请求消息或所述发现响应消息后续的某个消息获得第二时间点。
其中R为预设的固定时间值,并可以设r小于等于R。
实际应用中,对首个消息的响应消息通常就是发现响应消息。具体地,所述发现响应消息可以是IEEE 802.11中定义的探测响应帧(英文:Probe Response frame)。
其中,第二终端延迟时间R后再发送发现响应消息的目的是防止攻击者通过持续发送发现请求消息触发第二终端在发生配对触发事件后立即发出发现响应消息,从而使得攻击者比较容易地猜测到配对触发事件的发生时间点,假冒第一终端与第二终端实现配对。
另外,本实施例还可以存在其它的交互过程以完成终端的发现过程,例如按照IEEE 802.11规范,S403和S404探测过程即Probe Request和Probe Response过程之后还可以存在802.11认证过程(英文:Authentication frames)和关联过程(英文:Associationframes),这里不再详细描述。
S405:第一终端和第二终端分别计算时长,所述时长为第一终端和第二终端各自的第一时间点和第二时间点之间的时间间隔。
本实施例中,时长是第一终端和第二终端基于一个共同参考点相对触碰事件发生时间点的时长。本实施例中的这个共同参考点是通过某一条消息来实现的,例如发现请求消息或者发现响应消息。
本实施例在实际实现的过程中,终端记录发送出或者接收到一个无线接口帧的时间点需要在无线接口芯片内实现,因为如果等到CPU知道无线接口芯片发送或收到一个无线接口帧时再读取系统时间,则会产生较大的误差。但是,通常无线接口芯片例如WiFi芯片中的程序不能读取CPU的系统时间,而CPU中运行的程序却可以读取WiFi芯片中的时间戳信息,因此在获取有关第一时间点和第二时间点时需采取一些技巧。
具体来说,实际实现中,如果各个终端在发生配对触发事件之前已经打开无线接口例如WiFi接口,则终端在检测到配对触发事件时直接读取WiFi芯片中的时间戳作为所述第一时间点,而在发送或者接收WiFi帧时可以通过WiFi芯片内的程序直接获取WiFi芯片的时间戳信息作为第二时间点,之后再将获得的第二时间点传递给CPU中的程序。
实际实现中,如果各个终端在发生配对触发事件之前尚未打开无线接口例如WiFi接口而是在发送首个消息之前打开WiFi的,这种情况下,各个终端的第一时间点可以通过CPU中运行的程序获取CPU当时的系统时间Ta1作为第一时间点,并且在打开WiFi接口完成时同时由CPU中运行的程序获取CPU系统时间Ta2和WiFi芯片的时间戳信息TSFa1(英文:timing synchronization function,中文:时间同步功能),WiFi芯片启动后的时间计数,单位为微秒。之后,各个终端的第二时间点可以通过WiFi芯片内运行的程序获取WiFi芯片的时间戳信息TSFa2而得到。可以理解的是,上述实施方式确定的时长可以通过以下公式得到:时长=TSFa2-TSFa1+Ta2-Ta1。
实际应用中,第一终端和第二终端可以使用一种通信技术例如BLE(英文:Bluetooth Low Energy,中文:蓝牙低功耗)完成配对触发事件后的设备发现过程并完成时长的获取,而后续利用时长实现的认证过程或者分享内容的数据传输可以使用另一种通信技术例如WiFi。
由于误差的存在,第一终端和第二终端分别得到的时长实际上是难以相等。这个误差主要来自配对触发事件发生后两个终端检测到该配对触发事件的时间可能存在先后,同时后续的基于共同参考时间点的时长获得过程也会产生误差。因此,为了方便后续将时长用作隐秘数据进行本发明所描述的配对匹配过程,必须尽量消除第一终端和第二终端得到的时长之间的误差,使得两个设备的时长在取值上相等或比较接近,以便计算。例如,当两个终端检测出配对触发事件发生时间允许相差1000微秒的情况下,为了使得合理误差范围内的时长在取值上更进一步接近,本发明采用预设的规整方法,规整所述时长,也就是将时长换算成较大时间单位的值,具体的,可以将时长换算成以200微秒为单位的值。
具体的,由于尾数的取值关系,不存在一个确定的计算方法,使得两个在允许误差范围内的原始数值在各自通过上述换算方法计算之后一定得到相同的数值,同时不在允许误差范围内的原始数值在各自通过这个换算方法计算之后一定得到不相同的数值,总是存在某些情况下两个原始数值确实在允许的误差范围内,但消除误差后它们的取值并不相等,和/或在另一些情况下,两个原始数值的误差超出了允许的误差范围,但消除误差后却获得相同的值,这种情况我们称之为允许误差判不准,判不准的取值区间称之为允许误差判不准区间,简称判不准区间。因此,当允许的误差为1000微秒时,如果将所获得的时长换算成以1000微秒为单位的值,误判的可能性较大,而换算成200微秒为单位时,误判的可能性就较小。当然,如果允许的误差本身就很小,例如只有1微秒(所获得的时长单位也是微秒),则完全不需要规整,也就不会有误判。允许的误差指因为技术因素而实际上会存在的最大误差。
本实施例中,可以将时长除以“D/S”(D除以S)对所述时长进行规整,“D/S”的目的实际上是取一个合适的规整后的时长的单位。其中,D表示第一终端和第二终端得到的时长允许的最大误差值,单位是微秒,例如可以假设D的取值为1000,S为5。如此计算后,两个终端的规整后的时长允许差值就在0到S之间。这样计算后,判不准区间仍然存在,但S取值越大,判不准区间越小,误判的可能性越小。但S要控制在合适的范围内,S取值过大,判断过程计算量越大。通常S取为5比较合适,S的其他取值本实施例也并没有进行限制。不妨将上述规整方法称为DS方法。
本实施例中当终端检测到预设的配对触发事件时,获取与所述配对触发事件相关联的所述终端自身的配对隐秘值,并利用所述终端自身的配对隐秘值实现与对端的配对过程。与现有技术相比,本发明不需要使用NFC接口即可准确实现配对,节约了终端配对的成本。
实施例二
本实施例中,首先,所述终端利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值;其次,所述终端利用所述对端的公钥和所述终端自身的私钥生成所述终端自身的共享密钥;最后,所述终端通过验证所述终端自身的共享密钥和所述对端的共享密钥实现与所述对端的配对。
具体实现方式参考图5,图5为本实施例提供的一种终端配对方法交互图,其中,实现配对的终端分别为第一终端和第二终端,所述方法包括:
S501:第一终端和第二终端获取基于预设配对触发事件发生时间的终端自身的配对隐秘值,所述配对隐秘值可以为时长。
本步骤中的配对隐秘值的获取方法在实施例一中已经介绍,在此不再赘述。
S502:第一终端和第二终端分别接收对端发送的第一秘密值和任一随机数,其中第一终端接收到的第二终端的第一秘密值可以为第二终端利用所述第二终端的规整后的时长加密所述第二终端的密钥交换算法公钥(简称公钥)和第二终端的所述随机数得到。同理,第二终端接收到来自第一终端的的第一秘密值为第一终端利用所述第一终端的规整后的时长加密所述第一终端的密钥交换算法公钥(简称公钥)和第一终端的所述随机数得到。可知,所述第一终端的第一秘密值和所述第二终端的第一秘密值通常不会相同。
本实施例中,可以用ΔTa表示第一终端的配对隐秘值,ΔTb表示第二终端的配对隐秘值,且ΔTa和ΔTb是经过实施例一中描述的DS方法规整之后的结果,其中设S取值为5。可以用Na表示第一终端的随机数,Nb表示第二终端的随机数,PKa表示第一终端的公钥,PKb表示第二终端的公钥。则第一终端的第一秘密值可以用ΔTa(PKa,Na)表示,第二终端的第一秘密值可以用ΔTb(PKb,Nb)表示。
实际应用中,第一秘密值和随机数的发送可以不在同一条消息进行,具体的,可以先发送第一秘密值,对端在收到第一秘密值后再发送随机数。可以理解的是,本实施例对第一秘密值和随机数的发送顺序不做具体限制。
本实施例中的随机数可以与产生该随机数的终端的当前时间、特定计数器等信息相关,但总体上它的取值是随机的。
实际应用中,本步骤可以采用DH(英文:Diffie-Hellman key exchange,中文:迪菲-赫尔曼密钥交换)密钥交换算法。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥,这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。由于DH交换公钥的过程可能被中间人攻击,因此,本实施例使用ΔTa和ΔTb来保护交换公钥的过程,这样,攻击者必须猜中ΔTa或ΔTb才能进行中间人攻击,而攻击者并不容易猜到ΔTa或ΔTb的值,这样中间人攻击就难以实施。
以上DH密钥交换算法也可以使用其它的密钥交换算法代替,例如使用增强的DH算法ECDH算法,本发明不作限定。
S503:第一终端和第二终端分别利用自身的配对隐秘值和接收的随机数,解密接收的第一秘密值,从而得到对端的公钥。
具体的,本实施例采用试算的方式对接收的第一秘密值进行解密。理论上,如果第一终端和第二终端是发生配对触发事件的两个终端,则这两个终端的ΔTa和ΔTb在允许的误差范围内,那么,正确的ΔTa的取值范围应该是大于等于ΔTb-5,并且小于等于ΔTb+5,也就是ΔTb-5=<ΔTa<=ΔTb+5。所以,本实施例中的第二终端可用ΔTa’对接收的第一秘密值进行解密计算,从而得到解密后的公钥PKa’和随机数Na’,ΔTa’的取值可以依次从ΔTb-5到ΔTb+5之间取整数值。如果解密算出的随机数Na’与接收的Na相同,则证明此时算出的公钥PKa’就是第一终端的公钥PKa,同时,此时ΔTa’的取值就是ΔTa的值。如果第二终端试算所有ΔTa’后没有成功解密获得与Na相等的Na’,则就此终止过程,第二终端可不作任何响应,或者向第一终端发一个消息,用于向第一终端反馈配对失败的结果。
本实施例可以使用下列伪代码来表示第二设备试算ΔTa的过程:
同理,第一终端的操作与第二终端相同,在此不再赘述。
值得注意的是,解密第一秘密值的步骤可以由一个终端先执行,如果该终端可以得到对端的公钥,则再向对端发送随机数或者第一秘密值,以便对端再进行密钥的获取。这样可以提高配对效率,使得非正确配对的终端较快得到配对失败的结果。
S504:第一终端和第二终端分别利用解密得到的对端的公钥和自身的私钥生成共享密钥。
本实施例中,第一终端使用自身的公钥PKa对应的私钥Ka、解密得到的第二终端的公钥PKb来计算DH共享密钥DHKeya,而第二终端则使用其公钥PKb对应的私钥Kb、第一终端的公钥PKa来计算DH共享密钥DHKeyb。按照DH算法特性,DHKeya和DHKeyb应该是相等。
另外,共享密钥的计算还可以结合Na和Nb,使得在第一终端和第二终端每次交换的公钥都不变的情况下算得的共享密钥也不是固定不变的。
实际应用中,如果攻击者不能在S502中一次性猜中ΔTa和/或ΔTb,攻击就不成功。即使攻击者得到明文的Na和Nb后离线算出ΔTa和ΔTb,从而得到PKa和PKb,但这对于攻击者是没有用的,因为攻击者并不能知道PKa和PKb对应的私钥,从而无法得到第一终端和第二终端之间的共享密钥,因而无法获取后续第一终端和第二终端交互的秘密数据。本实施例通过共享密钥的方式进一步确保双方配对的准确性。
S505:第一终端和第二终端分别通过验证共享密钥确定与所述对端配对。
本实施例中,第一终端和第二终端通过计算得到共享密钥后,需要验证双方的共享密钥是否一致,如果一致则证明终端配对成功,否则可能是中间人攻击等非正常情况。
实际应用中,第一终端可以和第二终端直接用公钥交换后得到的共享密钥保护后续的数据交互,通常后续的消息中会包含消息完整性码,其中消息完整性码为共享密钥对消息的摘要信息加密得到。如果第一终端和第二终端间可以完成数据交互,则说明双方持有相同的共享密钥。
另外,两个终端也可以先验证一下对方是否持有与自己一致的共享密钥,例如可以执行802.11规范中的四步握手过程,将共享密钥DHKey视为802.11规范中定义的PMK(英文:Pairwise Master Key,中文:一对节点间的主密钥)即可,在成功的四步握手之后会产生临时会话密钥PTK(英文:Pairwise Transient Key,中文:一对节点间的临时密钥),用PTK保护后续的数据交互。也可以在双方获得共享密钥后,使用共享密钥由一方向另一方发送一个配置信息,其中包含一个新的密钥,这个新的密钥用于后续的连接。如果双方都能够成功获取新的密钥,则证明配对成功。另外,双方还可以在共享密钥或会话密钥的保护下交换一下名片,其中包括用户的标识如用户姓名,以便终端用户进一步确定设备双方配对成功。总之,利用共享密钥验证配对的方法很多,本发明不作限制。
值得注意的是,图5仅是终端配对的一种具体实施方式,图5中各个步骤的执行顺序对于实现终端配对而言不是唯一。
实施例三
参考图6,图6为本实施例提供的终端配对方法交互图,其中,实现配对的终端分别为第一终端和第二终端,所述方法包括:
S601:第一终端和第二终端获取基于预设的配对触发事件发生时间的终端自身的配对隐秘值,所述配对隐秘值可以为时长。
本步骤中的配对隐秘值的获取方法在实施例一中已经介绍,在此不再赘述。
S602:第二终端获取第一终端的配对隐秘值和公钥后,利用自身的配对隐秘值和所述第一终端的配对隐秘值通过预设的运算方法得到第一运算值。
实际应用中,第二终端获取第一终端的配对隐秘值和公钥的方法可以参考实施例二,在此不再赘述。
本实施例中预设的运算方法可以为一种可逆运算,运算符可以用‘*’表示,具体可以为算术加法、减法、乘法等。具体的,第一运算值可以使用dT表示,dT=ΔTa*ΔTb,ΔTa和ΔTb分别表示第一终端和第二终端的时长。
S603:第一终端利用自身的配对隐秘值解析第一运算值,并得到第二终端的配对隐秘值。
下表列出了第二终端计算dT的方法对应的第一终端计算ΔTb的方法(此表中的‘*’表示算术乘法,xor表示逐比特异或),如下:
设备B中计算dT | 设备A中计算ΔTb |
dT=ΔTb-ΔTa | ΔTb=ΔTa+dT |
dT=ΔTa-ΔTb | ΔTb=ΔTa-dT |
dT=ΔTa+ΔTb | ΔTb=dT-ΔTa |
dT=ΔTa*ΔTb | ΔTb=dT/ΔTa |
dT=ΔTa xor ΔTb | ΔTb=ΔTa xor dT |
S604:第一终端利用所述第二终端的配对隐秘值,解密来自第二终端的第一秘密值,得到所述第二终端的公钥,其中,第二终端的第一秘密值可以为利用所述第二终端的配对隐秘值加密其公钥得到。
实际应用中,第一终端接收的来自第二终端的第一秘密值可以由配对隐秘值加密公钥得到,也可以由配对隐秘值加密公钥和随机数得到。当第一终端根据dT和自身的ΔTa,计算得到ΔTb后,可以直接利用ΔTb解密来自第二终端的第一秘密值,得到所述第二终端的公钥。
S605:第一终端和第二终端分别利用自身的私钥和对端的公钥生成共享密钥。
S606:第一终端和第二终端分别通过验证共享密钥确定与所述对端配对。
S605和S606的实现方式可参照实施例一中的描述,在此不再赘述。另外,本实施例中各个步骤的执行顺序可以不受限制。
实施例四
参考图7,图7为本实施例提供的终端配对方法交互图,其中,实现配对的终端分别为第一终端和第二终端,所述方法包括:
S701:第一终端和第二终端获取基于预设的配对触发事件发生时间的终端自身的配对隐秘值,所述配对隐秘值可以为时长和\或运动方向值。
本步骤中的配对隐秘值的获取方法在实施例一中已经介绍,在此不再赘述。
S702:第一终端和第二终端分别接收来自对端的第一消息,所述第一消息包括所述对端的DH密钥交换算法的公钥和第二秘密值,所述第二秘密值包含利用对端的预设密钥加密所述对端的配对隐秘值得到的值。
实际应用中,第一终端利用自身预设或随机生成的一个加解密算法的密钥SKA加密ΔTa和/或Ma得到第二秘密值SKA(ΔTa和/或Ma),ΔTa表示第一终端的时长,Ma用于表示第一终端的运动方向值。并将加密的信息和公钥PKa一同组成第一消息发送至第二终端。同理,第二终端也将第一消息发送至第一终端,具体实现形式与第一终端相同。
另外,两个终端分别发送的第一消息中还可以包括第一消息完整性码MIC1,具体的,所述MIC1为发送方使用ΔTa和/或Ma对第一消息的摘要信息进行运算所得,例如加密运算等。同时MIC1的生成还可以有SKA的参与。SKA可以为对称密钥,也可以是不对称密钥,如果是不对称密钥,这里的SKA实际指用于加密的私钥部分,可以记为SKAe,因此所述第二秘密值实际为SKAe(ΔTa和/或Ma)。
S703:第一终端和第二终端分别利用自身的私钥和对端的公钥生成共享密钥。
本实施例中,第一终端和第二终端在得到对端的公钥后,可结合自身的私钥和对端的公钥(例如第二终端利用自己的PKb对应的私钥Kb和第一终端的公钥PKa)生成共享密钥DHKey,具体的实现方式可参考实施例二。当然,本实施例也可以使用其它的密钥交换算法获得共享密钥,本领域技术人员应可理解,这里不一一列举。
S704:第一终端和第二终端分别接收来自对端的第二消息,所述第二消息包括第三秘密值,所述第三秘密值包含对端利用所述对端的共享密钥加密所述对端的加解密密钥得到的值。
本实施例中,第一终端使用生成的共享密钥DHKey加密自身的密钥SKA得到第三秘密值DHKey(SKA),并生成第二消息发送至第二终端。另外,第一终端也可以利用共享密钥DHKey的第一衍生密钥对SKA加密。同理,第二终端的实现过程与第一终端相同,其生成的第三秘密值可以为DHKey(SKB)。如果SKA是不对称密钥,则这里加密发送的是SKA的公钥部分,SKA的公钥部分可以记为SKAd,因此所述第三秘密值实际为DHKey(SKBd)。
另外,两个终端发送的第二消息中还可以包括第二消息完整性码MIC2。所述MIC2为发送方使用生成的DHKey对第二消息的摘要信息进行运算所得,例如加密运算等。或者,所述MIC2为发送方使用生成的DHKey的第二衍生密钥对第二消息的摘要信息进行运算所得。
S705:第一终端和第二终端分别利用自身的共享密钥解密所述第三秘密值得到所述对端的密钥,并利用所述对端的密钥对应解密所述第二秘密值得到所述对端的配对隐秘值。
实际应用中,第一终端在接收到第二消息后,利用生成的共享密钥DHKey解密所述第二消息中的第三秘密值DHKey(SKB),得到第二终端的预设密钥SKB,如果第一终端能够解密来自第二终端的第三秘密值,则证明第二终端和自己有相同的共享密钥DHKey。第一终端进一步利用得到的第二终端的密钥SKB解密第二秘密值,得到第二终端的配对隐秘值ΔTb和/或Mb。同理,第二终端的实现过程与第一终端相同。
值得注意的是,本实施例为了提高终端匹配效率,可以在一个终端完成S705并证明与对端存在相同的共享密钥之后再执行S704,即如图5所示。
另外,第一终端不仅可以通过上述方式证明第二终端和自己有相同的共享密钥DHKey,而且如果第二消息还包括第二消息完整性码MIC2,本实施例还需要验证所述第二消息完整性码MIC2,以证明第二终端和自己有相同的DHKey。由于第二消息完整性码MIC2为对端利用对端的共享密钥加密所述第二消息的摘要信息得到,所以本实施例可以使用自身的共享密钥对第二消息完整性码MIC2进行验证,如果通过验证,则证明对端和自己有相同的DHKey。
S706:第一终端和第二终端分别根据自身的配对隐秘值和对端的配对隐秘值确定与对端配对。
本实施例中,两个终端分别获得对端的配对隐秘值后,将对端的配对隐秘值与自身的配对隐秘值进行比较。如果两者的时长的差值在允许误差范围内,则证明对端与自己发生配对触发事件;或者,如果在误差范围内两者的运动方向值指示两者的运动方向相对,则证明对端与自己发生配对触发事件;或者,上述两种情况同时满足,则证明对端与自己发生配对触发事件。如果终端根据上述比较发现对端不是与自己发生配对触发事件的终端,则可以结束处理过程,即不再向对端发送任何消息。
另外,如果第一消息中还包括第一消息完整性码MIC1,本实施例还需要验证所述第一消息完整性码MIC1。由于接收到的第一消息中的第一消息完整性码MIC1为对端利用其配对隐秘值参与并结合第一消息的摘要信息运算得到,具体可以是将配对隐秘值作为密钥加密摘要信息得到,而对端的配对隐秘值在接收到第一消息时并不能立刻获知,所以本实施例可以在S705中获得了对端的配对隐秘值之后验证MIC1。当第一消息完整性码MIC1通过验证,同时两个终端的配对隐秘值也在允许的误差范围内时,则可以证明两个终端实现配对。如果MIC1没有通过验证,则表示可能存在中间人攻击等异常情况,终端可以结束处理过程,不再和对端交互任何消息。
需要说明的是,本实施例中的时长例如ΔTa和ΔTb并不需要进行规整,因为它们被秘密传输,直接用于比较,而不需要进行实施例二和三中所说的试算过程。
实施例五
参考图8,图8为本实施例提供的一种配对终端结构示意图,所述终端包括检测单元801、获取单元802和配对单元803;
所述检测单元801,用于检测预设的配对触发事件;
所述获取单元802,用于当所述检测单元检测到预设的配对触发事件时,获取与所述配对触发事件相关联的所述终端自身的配对隐秘值;
所述配对单元803,用于利用所述终端自身的配对隐秘值实现与所述对端的配对。
其中,所述获取单元802,包括:
第一获取子单元,用于当所述检测单元检测到预设的配对触发事件时,获取与所述对端基于共同参考时间点获得的相对于所述事件的发生时间的所述终端自身的时长;
和\或,
第二获取子单元,用于当所述检测单元检测到预设的配对触发事件时,获取所述终端自身的运动方向值。
实际应用中,所述第一获取子单元,包括:
第三获取子单元,用于当所述检测单元检测到预设的配对触发事件时,获取所述预设的配对触发事件的发生时间,作为所述终端自身的第一时间点;
第四获取子单元,用于根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点;
第五获取子单元,用于获取所述终端自身的时长,所述终端自身的时长为所述终端自身的第一时间点与所述终端自身的第二时间点的时间间隔。
其中,所述第一获取子单元,还包括:
第一发送子单元,用于在检测到所述预设的配对触发事件后随机延迟时间r,通过无线接口向所述对端发送发现请求消息;
第一接收子单元,用于接收来自所述对端的发现响应消息,所述发现响应消息为所述对端在接收到所述发现请求消息后延迟时间R后发送的,所述R大于所述r。
同时,所述第四获取子单元,具体可以为根据在预设的信道上与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点的单元。
另外,所述终端还可以包括:
修正子单元,用于采用允许误差判不准方法,修正所述终端自身的时长。
参考图9和图10,图9和图10分别为本实施例提供的配对终端在一种实现方式中的结构示意图,所述终端包括检测单元801、获取单元802和配对单元803,所述配对单元803,包括:
第六获取子单元901,用于利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值;
第一生成子单元902,用于利用所述对端的公钥和所述终端自身的私钥生成所述终端自身的共享密钥;
第一配对子单元903,用于通过验证所述终端自身的共享密钥和所述对端的共享密钥实现与所述对端的配对。
所述终端还包括发送单元,
所述发送单元,用于向所述对端发送所述终端自身的配对隐秘值,以使所述对端实现与所述终端的配对。
其中,所述第六获取子单元901,可以包括:
第二接收子单元1001,用于接收对端发送的第一秘密值和任一随机数,所述第一秘密值为利用所述对端的配对隐秘值加密所述对端的公钥和所述随机数得到;
第一解密子单元1002,用于利用所述终端自身的配对隐秘值和所述对端的随机数,解密所述第一秘密值得到所述对端的公钥。
或者,所述第六获取子单元901,可以包括:
第三接收子单元1101,用于接收对端发送的第一秘密值和第一运算值,所述第一秘密值包括利用所述对端的配对隐秘值加密所述对端的公钥得到的值,所述第一运算值包括利用所述终端自身的配对隐秘值和所述对端的配对隐秘值通过预设的预算方法得到的值;
第二生成子单元1102,用于利用来自所述对端的第一运算值和所述终端自身的配对隐秘值得到所述对端的配对隐秘值;
第二解密子单元1103,用于利用所述对端的配对隐秘值,解密来自所述对端的第一秘密值得到所述对端的公钥。
参考图11,图11为本实施例提供的配对终端在另一种实现方式中的结构示意图,所述终端包括检测单元801、获取单元802和配对单元803,所述配对单元803,包括:
第三生成子单元1201,用于利用来自对端的信息和所述终端自身的信息,得到所述对端的配对隐秘值,所述来自对端的信息包括所述对端的公钥和配对隐秘值,所述终端自身的信息包括所述终端自身的私钥;
第二配对子单元1202,用于通过比较所述终端自身的配对隐秘值和所述对端的配对隐秘值实现与所述对端的配对。
其中,所述第三生成子单元1201,包括:
第四接收子单元1301,用于接收来自对端的第一消息,所述来自对端的第一消息包括所述对端的公钥和第二秘密值,所述对端的第二秘密值包括利用所述对端的预设密钥加密所述对端的配对隐秘值得到的值;
第四生成子单元1302,用于利用所述终端自身的私钥和所述对端的公钥生成所述终端自身的共享密钥;
第五接收子单元1303,用于接收来自所述对端的第二消息,来自所述对端的第二消息包括所述对端的第三秘密值,所述对端的第三秘密值包括利用所述对端的共享密钥加密所述对端的预设密钥得到的值;
第三解密子单元1304,用于利用所述终端自身的共享密钥解密所述对端的第三秘密值得到所述对端的预设密钥,并利用所述对端的预设密钥解密所述对端的第二秘密值得到所述对端的配对隐秘值。
另外,所述来自对端的第一消息还包括所述对端的第一消息完整性码,所述对端的第一消息完整性码包括所述对端利用所述对端的配对隐秘值加密所述来自对端的第一消息的摘要信息得到的值;
所述第三生成子单元1201还包括第一验证子单元1305;
所述第一验证子单元1305,用于利用所述对端的配对隐秘值验证所述对端的第一消息完整性码。
另外,所述第二配对子单元1202,包括:
判断子单元1401,用于判断所述终端自身的配对隐秘值和所述对端的配对隐秘值的差别是否在预设的允许误差范围内;
第三配对子单元1402,用于当所述差别在预设的允许误差范围内以及所述对端的第一消息完整性码通过验证时,所述终端实现与所述对端的配对。
实际应用中,所述来自所述对端的第二消息还包括所述对端的第二消息完整性码,所述对端的第二消息完整性码包括所述对端利用所述对端的共享密钥加密所述来自所述对端的第二消息的摘要信息得到的值;
所述第三生成子单元1201还包括第二验证子单元1306;
所述第二验证子单元1306,用于利用所述终端自身的共享密钥验证所述对端的第二消息完整性码。
本实施例中当终端检测到预设的配对触发事件时,获取与所述预设的配对触发事件相关联的所述终端自身的配对隐秘值,并利用所述终端自身的配对隐秘值实现与对端的配对过程。与现有技术相比,本实施例不需要使用NFC接口即可准确实现配对,节约了终端配对的成本。
进一步地,本发明实施例还分别提供了配对终端的硬件构成。可包括至少一个处理器(例如CPU),至少一个无线网络接口,配对触发事件检测装置,存储器,和至少一个总线(Bus),用于实现这些装置之间的信号传输。处理器用于执行存储器中存储的可执行模块,例如计算机程序。存储器可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。
参见图12,在一些实施方式中,存储器中存储了程序指令,程序指令可以被处理器执行,其中,程序指令可包括获取单元802和配对单元803。各单元的具体实现可参见图8-11所揭示的相应单元,这里不再赘述。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (28)
1.一种终端配对方法,其特征在于,所述方法包括:
当终端检测到预设的配对触发事件时,获取与所述配对触发事件相关联的所述终端自身的配对隐秘值;
所述终端利用所述终端自身的配对隐秘值实现与对端的配对;
所述当终端检测到预设的配对触发事件时,获取与所述配对触发事件相关联的所述终端自身的配对隐秘值,包括:
当终端检测到预设的配对触发事件时,所述终端获取与所述对端基于共同参考时间点获得的相对于所述事件的发生时间的所述终端自身的时长;
所述当终端检测到预设的配对触发事件时,所述终端获取与所述对端基于共同参考时间点的相对于所述事件的发生时间的所述终端自身的时长,包括:
当终端检测到预设的配对触发事件时,获取所述配对触发事件的发生时间,作为所述终端自身的第一时间点;
所述终端根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点;
所述终端获取所述终端自身的时长,所述终端自身的时长为所述终端自身的第一时间点与所述终端自身的第二时间点的时间间隔。
2.根据权利要求1所述的方法,其特征在于,所述获取所述配对触发事件的发生时间,作为所述终端自身的第一时间点之后,且在所述终端根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点之前,还包括:
所述终端在检测到所述配对触发事件后随机延迟时间r,通过无线接口向所述对端发送发现请求消息。
3.根据权利要求2所述的方法,其特征在于,所述终端在检测到所述配对触发事件后随机延迟时间r,通过无线接口向所述对端发送发现请求消息之后,还包括:
所述终端接收来自所述对端的发现响应消息,所述发现响应消息为所述对端在接收到所述发现请求消息后延迟时间R后发送的,所述R大于所述r。
4.根据权利要求1所述的方法,其特征在于,所述终端根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点,具体为:
所述终端根据在预设的信道上与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点。
5.根据权利要求1所述的方法,其特征在于,所述终端获取所述终端自身的时长,所述终端自身的时长为所述终端自身的第一时间点与所述终端自身的第二时间点的时间间隔之后,还包括:
所述终端采用预设的规整方法,规整所述终端自身的时长。
6.根据权利要求1所述的方法,其特征在于,所述终端利用所述终端自身的配对隐秘值实现与对端的配对,包括:
所述终端利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值;
所述终端利用所述对端的公钥和所述终端自身的私钥生成所述终端自身的共享密钥;
所述终端通过验证所述终端自身的共享密钥和所述对端的共享密钥实现与所述对端的配对。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述终端向所述对端发送所述终端自身的配对隐秘值,以使所述对端实现与所述终端的配对。
8.根据权利要求6所述的方法,其特征在于,所述终端利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值,包括:
所述终端接收对端发送的第一秘密值和任一随机数,所述第一秘密值为利用所述对端的配对隐秘值加密所述对端的公钥和所述随机数得到;
所述终端利用所述终端自身的配对隐秘值和所述对端的随机数,解密所述第一秘密值得到所述对端的公钥。
9.根据权利要求6所述的方法,其特征在于,所述终端利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值,包括:
所述终端接收对端发送的第一秘密值和第一运算值,所述第一秘密值包括利用所述对端的配对隐秘值加密所述对端的公钥得到的值,所述第一运算值包括利用所述终端自身的配对隐秘值和所述对端的配对隐秘值通过预设的预算方法得到的值;
所述终端利用来自所述对端的第一运算值和所述终端自身的配对隐秘值得到所述对端的配对隐秘值;
所述终端利用所述对端的配对隐秘值,解密来自所述对端的第一秘密值得到所述对端的公钥。
10.根据权利要求1所述的方法,其特征在于,所述终端利用所述终端自身的配对隐秘值实现与对端的配对,包括:
所述终端利用来自对端的信息和所述终端自身的信息,得到所述对端的配对隐秘值,所述来自对端的信息包括所述对端的公钥和配对隐秘值,所述终端自身的信息包括所述终端自身的私钥;
所述终端通过比较所述终端自身的配对隐秘值和所述对端的配对隐秘值实现与所述对端的配对。
11.根据权利要求10所述的方法,其特征在于,所述终端利用来自对端的信息和所述终端自身的信息,得到所述对端的配对隐秘值,所述来自对端的信息包括所述对端的公钥和配对隐秘值,所述终端自身的信息包括所述终端自身的私钥,包括:
所述终端接收来自对端的第一消息,所述来自对端的第一消息包括所述对端的公钥和第二秘密值,所述对端的第二秘密值包括利用所述对端的预设密钥加密所述对端的配对隐秘值得到的值;
所述终端利用所述终端自身的私钥和所述对端的公钥生成所述终端自身的共享密钥;
所述终端接收来自所述对端的第二消息,来自所述对端的第二消息包括所述对端的第三秘密值,所述对端的第三秘密值包括利用所述对端的共享密钥加密所述对端的预设密钥得到的值;
所述终端利用所述终端自身的共享密钥解密所述对端的第三秘密值得到所述对端的预设密钥,并利用所述对端的预设密钥解密所述对端的第二秘密值得到所述对端的配对隐秘值。
12.根据权利要求11所述的方法,其特征在于,所述来自对端的第一消息还包括所述对端的第一消息完整性码,所述对端的第一消息完整性码包括所述对端利用所述对端的配对隐秘值加密所述来自对端的第一消息的摘要信息得到的值;
所述终端利用所述对端的预设密钥解密所述对端的第二秘密值得到所述对端的配对隐秘值之后,还包括:
所述终端利用所述对端的配对隐秘值验证所述对端的第一消息完整性码。
13.根据权利要求12所述的方法,其特征在于,所述终端通过比较所述终端自身的配对隐秘值和所述对端的配对隐秘值实现与所述对端的配对,包括:
所述终端判断所述终端自身的配对隐秘值和所述对端的配对隐秘值的差别是否在预设的允许误差范围内;
当所述差别在预设的允许误差范围内以及所述对端的第一消息完整性码通过验证时,所述终端实现与所述对端的配对。
14.根据权利要求11所述的方法,其特征在于,所述来自所述对端的第二消息还包括所述对端的第二消息完整性码,所述对端的第二消息完整性码包括所述对端利用所述对端的共享密钥加密所述来自所述对端的第二消息的摘要信息得到的值;
所述终端接收来自所述对端的第二消息之后,还包括:
所述终端利用所述终端自身的共享密钥验证所述对端的第二消息完整性码。
15.一种配对终端,其特征在于,所述终端包括检测单元、获取单元和配对单元;
所述检测单元,用于检测触发与对端配对的事件;
所述获取单元,用于当所述检测单元检测到所述触发与对端配对的事件时,获取与所述触发与对端配对的事件相关联的所述终端自身的配对隐秘值;
所述配对单元,用于利用所述终端自身的配对隐秘值实现与所述对端的配对;
所述获取单元,包括:
第一获取子单元,用于当所述检测单元检测到触发与对端配对的事件时,获取与所述对端基于共同参考时间点获得的相对于所述事件的发生时间的所述终端自身的时长;
所述第一获取子单元,包括:
第三获取子单元,用于当所述检测单元检测到触发与对端配对的事件时,获取所述触发与对端配对的事件的发生时间,作为所述终端自身的第一时间点;
第四获取子单元,用于根据与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点;
第五获取子单元,用于获取所述终端自身的时长,所述终端自身的时长为所述终端自身的第一时间点与所述终端自身的第二时间点的时间间隔。
16.根据权利要求15所述的终端,其特征在于,所述第一获取子单元,还包括:
第一发送子单元,用于在检测到所述触发与对端配对的事件后随机延迟时间r,通过无线接口向所述对端发送发现请求消息。
17.根据权利要求16所述的终端,其特征在于,所述第一获取子单元,还包括:
第一接收子单元,用于接收来自所述对端的发现响应消息,所述发现响应消息为所述对端在接收到所述发现请求消息后延迟时间R后发送的,所述R大于所述r。
18.根据权利要求15所述的终端,其特征在于,所述第四获取子单元,具体为根据在预设的信道上与所述对端交互的任一消息,获取与所述对端基于所述消息的所述终端自身的第二时间点的单元。
19.根据权利要求15所述的终端,其特征在于,所述终端还包括:
规整子单元,用于采用预设的规整方法,规整所述终端自身的时长。
20.根据权利要求15所述的终端,其特征在于,所述配对单元,包括:
第六获取子单元,用于利用所述终端自身的配对隐秘值和来自对端的信息,获取所述对端的公钥,所述来自对端的信息包括所述对端的配对隐秘值;
第一生成子单元,用于利用所述对端的公钥和所述终端自身的私钥生成所述终端自身的共享密钥;
第一配对子单元,用于通过验证所述终端自身的共享密钥和所述对端的共享密钥实现与所述对端的配对。
21.根据权利要求20所述的终端,其特征在于,所述终端还包括发送单元,
所述发送单元,用于向所述对端发送所述终端自身的配对隐秘值,以使所述对端实现与所述终端的配对。
22.根据权利要求20所述的终端,其特征在于,所述第六获取子单元,包括:
第二接收子单元,用于接收对端发送的第一秘密值和任一随机数,所述第一秘密值为利用所述对端的配对隐秘值加密所述对端的公钥和所述随机数得到;
第一解密子单元,用于利用所述终端自身的配对隐秘值和所述对端的随机数,解密所述第一秘密值得到所述对端的公钥。
23.根据权利要求20所述的终端,其特征在于,所述第六获取子单元,包括:
第三接收子单元,用于接收对端发送的第一秘密值和第一运算值,所述第一秘密值包括利用所述对端的配对隐秘值加密所述对端的公钥得到的值,所述第一运算值包括利用所述终端自身的配对隐秘值和所述对端的配对隐秘值通过预设的预算方法得到的值;
第二生成子单元,用于利用来自所述对端的第一运算值和所述终端自身的配对隐秘值得到所述对端的配对隐秘值;
第二解密子单元,用于利用所述对端的配对隐秘值,解密来自所述对端的第一秘密值得到所述对端的公钥。
24.根据权利要求15所述的终端,其特征在于,所述配对单元,包括:
第三生成子单元,用于利用来自对端的信息和所述终端自身的信息,得到所述对端的配对隐秘值,所述来自对端的信息包括所述对端的公钥和配对隐秘值,所述终端自身的信息包括所述终端自身的私钥;
第二配对子单元,用于通过比较所述终端自身的配对隐秘值和所述对端的配对隐秘值实现与所述对端的配对。
25.根据权利要求24所述的终端,其特征在于,所述第三生成子单元,包括:
第四接收子单元,用于接收来自对端的第一消息,所述来自对端的第一消息包括所述对端的公钥和第二秘密值,所述对端的第二秘密值包括利用所述对端的预设密钥加密所述对端的配对隐秘值得到的值;
第四生成子单元,用于利用所述终端自身的私钥和所述对端的公钥生成所述终端自身的共享密钥;
第五接收子单元,用于接收来自所述对端的第二消息,来自所述对端的第二消息包括所述对端的第三秘密值,所述对端的第三秘密值包括利用所述对端的共享密钥加密所述对端的预设密钥得到的值;
第三解密子单元,用于利用所述终端自身的共享密钥解密所述对端的第三秘密值得到所述对端的预设密钥,并利用所述对端的预设密钥解密所述对端的第二秘密值得到所述对端的配对隐秘值。
26.根据权利要求25所述的终端,其特征在于,所述来自对端的第一消息还包括所述对端的第一消息完整性码,所述对端的第一消息完整性码包括所述对端利用所述对端的配对隐秘值加密所述来自对端的第一消息的摘要信息得到的值;
所述第三生成子单元还包括第一验证子单元;
所述第一验证子单元,用于利用所述对端的配对隐秘值验证所述对端的第一消息完整性码。
27.根据权利要求26所述的终端,其特征在于,所述第二配对子单元,包括:
判断子单元,用于判断所述终端自身的配对隐秘值和所述对端的配对隐秘值的差别是否在预设的允许误差范围内;
第三配对子单元,用于当所述差别在预设的允许误差范围内以及所述对端的第一消息完整性码通过验证时,所述终端实现与所述对端的配对。
28.根据权利要求25所述的终端,其特征在于,所述来自所述对端的第二消息还包括所述对端的第二消息完整性码,所述对端的第二消息完整性码包括所述对端利用所述对端的共享密钥加密所述来自所述对端的第二消息的摘要信息得到的值;
所述第三生成子单元还包括第二验证子单元;
所述第二验证子单元,用于利用所述终端自身的共享密钥验证所述对端的第二消息完整性码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/077444 WO2015172329A1 (zh) | 2014-05-14 | 2014-05-14 | 一种终端配对方法及配对终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105359154A CN105359154A (zh) | 2016-02-24 |
CN105359154B true CN105359154B (zh) | 2018-06-26 |
Family
ID=54479152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480004670.9A Active CN105359154B (zh) | 2014-05-14 | 2014-05-14 | 一种终端配对方法及配对终端 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10574637B2 (zh) |
EP (1) | EP3082058B1 (zh) |
JP (1) | JP6249428B2 (zh) |
CN (1) | CN105359154B (zh) |
WO (1) | WO2015172329A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9779596B2 (en) | 2012-10-24 | 2017-10-03 | Apple Inc. | Devices and methods for locating accessories of an electronic device |
TWI536197B (zh) * | 2015-08-28 | 2016-06-01 | 匿名性身分識別方法與系統 | |
US10135964B2 (en) * | 2016-08-22 | 2018-11-20 | Adobe Systems Incorporated | Touch and device orientation-based device pairing |
JP2018067854A (ja) * | 2016-10-21 | 2018-04-26 | 株式会社プラットフィールド | 情報通信システム |
US11128661B2 (en) * | 2016-12-31 | 2021-09-21 | Huawei Technologies Co., Ltd. | Terminal matching method and apparatus |
EP3585127B1 (en) * | 2017-03-14 | 2023-11-15 | Huawei Technologies Co., Ltd. | Wireless communication-based connection method and terminal |
US9949124B1 (en) * | 2017-04-24 | 2018-04-17 | Zihan Chen | Method and device for authenticating wireless pairing and/or data transfer between two or more electronic devices |
EP3654540B1 (en) * | 2017-08-31 | 2023-04-05 | Huawei Technologies Co., Ltd. | Pairing method, unpairing method, terminal device and externally-connected device |
US11641563B2 (en) | 2018-09-28 | 2023-05-02 | Apple Inc. | System and method for locating wireless accessories |
CN109462846B (zh) * | 2018-12-27 | 2022-03-18 | 飞天诚信科技股份有限公司 | 一种实现蓝牙设备安全配对的方法、系统及蓝牙设备 |
US11863671B1 (en) | 2019-04-17 | 2024-01-02 | Apple Inc. | Accessory assisted account recovery |
WO2020214701A1 (en) * | 2019-04-17 | 2020-10-22 | Prestacom Services Llc | Sharing keys for a wireless accessory |
US10893385B1 (en) * | 2019-06-07 | 2021-01-12 | Snap Inc. | Detection of a physical collision between two client devices in a location sharing system |
WO2021162427A1 (ko) * | 2020-02-10 | 2021-08-19 | 삼성전자 주식회사 | 전자 장치 및 전자 장치에서의 피어 투 피어 서비스 수행 방법 |
US11889302B2 (en) | 2020-08-28 | 2024-01-30 | Apple Inc. | Maintenance of wireless devices |
CN113691975B (zh) * | 2021-08-24 | 2024-04-09 | 公安部第三研究所 | 针对蓝牙设备实现安全配对隐身连接的方法、装置、处理器及其计算机可读存储介质 |
US20230208633A1 (en) * | 2021-12-28 | 2023-06-29 | Munro Design & Technologies, Llc | Methods for creating secret keys with a chief device and systems thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255896A (zh) * | 2010-06-22 | 2011-11-23 | 微软公司 | 联网设备认证、配对以及资源共享 |
CN102461128A (zh) * | 2009-05-04 | 2012-05-16 | 苹果公司 | 基于接近而配对移动设备的方法和装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307936B1 (en) * | 1997-09-16 | 2001-10-23 | Safenet, Inc. | Cryptographic key management scheme |
US6801924B1 (en) * | 1999-08-19 | 2004-10-05 | National Semiconductor Corporation | Formatting denormal numbers for processing in a pipelined floating point unit |
US9817983B2 (en) | 2001-10-03 | 2017-11-14 | Hewlett-Packard Development Company, L.P. | Mobile Printing |
US7427926B2 (en) * | 2006-01-26 | 2008-09-23 | Microsoft Corporation | Establishing communication between computing-based devices through motion detection |
US9843351B2 (en) * | 2007-07-26 | 2017-12-12 | Nokia Technologies Oy | Gesture activated close-proximity communication |
WO2010022047A2 (en) * | 2008-08-18 | 2010-02-25 | Beckman Coulter, Inc. | Normalized decimal equivalent systems and methods |
US8260261B2 (en) * | 2009-08-31 | 2012-09-04 | Qualcomm Incorporated | Securing pairing verification of devices with minimal user interfaces |
US8762715B2 (en) * | 2009-11-24 | 2014-06-24 | Sony Corporation | Event triggered pairing of wireless communication devices based on time measurements |
US20110126014A1 (en) * | 2009-11-24 | 2011-05-26 | Sony Ericsson Mobile Communications Ab | Event Triggered Pairing of Wireless Communication Devices Based on Time Measurements |
US8447272B2 (en) * | 2009-11-25 | 2013-05-21 | Visa International Service Association | Authentication and human recognition transaction using a mobile device with an accelerometer |
US20120128154A1 (en) * | 2010-11-23 | 2012-05-24 | Intuit Inc. | Establishing a secure proximity pairing between electronic devices |
US9813920B2 (en) * | 2012-09-19 | 2017-11-07 | Qualcomm, Incorporated | Systems and methods for transmitting and receiving discovery messages |
US9635603B2 (en) * | 2012-11-21 | 2017-04-25 | Intel Corporation | Systems and methods for implementing multiple band service discovery |
KR101314717B1 (ko) | 2013-02-08 | 2013-10-08 | 주식회사 씽크풀 | 애플리케이션 시스템, 제어시스템, 및 사용자 단말기 제어방법 |
US10244459B2 (en) * | 2013-03-08 | 2019-03-26 | Qualcomm Incorporated | Systems and methods for synchronization within a neighbor aware network |
EP3025270A1 (en) * | 2013-07-25 | 2016-06-01 | Nymi inc. | Preauthorized wearable biometric device, system and method for use thereof |
US10726018B2 (en) * | 2014-02-10 | 2020-07-28 | Microsoft Technology Licensing, Llc | Semantic matching and annotation of attributes |
KR102196245B1 (ko) * | 2014-02-10 | 2020-12-29 | 삼성전자주식회사 | 무선 통신 시스템에서 단말 탐색을 위한 채널 구조와 전력 제어 방법 및 장치 |
-
2014
- 2014-05-14 CN CN201480004670.9A patent/CN105359154B/zh active Active
- 2014-05-14 EP EP14892077.0A patent/EP3082058B1/en active Active
- 2014-05-14 US US15/111,525 patent/US10574637B2/en active Active
- 2014-05-14 WO PCT/CN2014/077444 patent/WO2015172329A1/zh active Application Filing
- 2014-05-14 JP JP2016568093A patent/JP6249428B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102461128A (zh) * | 2009-05-04 | 2012-05-16 | 苹果公司 | 基于接近而配对移动设备的方法和装置 |
CN102255896A (zh) * | 2010-06-22 | 2011-11-23 | 微软公司 | 联网设备认证、配对以及资源共享 |
Also Published As
Publication number | Publication date |
---|---|
EP3082058A4 (en) | 2016-11-23 |
US20160344712A1 (en) | 2016-11-24 |
EP3082058A1 (en) | 2016-10-19 |
CN105359154A (zh) | 2016-02-24 |
JP2017511083A (ja) | 2017-04-13 |
WO2015172329A1 (zh) | 2015-11-19 |
US10574637B2 (en) | 2020-02-25 |
JP6249428B2 (ja) | 2017-12-20 |
EP3082058B1 (en) | 2018-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105359154B (zh) | 一种终端配对方法及配对终端 | |
Xie et al. | Provably secure dynamic ID-based anonymous two-factor authenticated key exchange protocol with extended security model | |
US11728972B2 (en) | Methods and architectures for secure ranging | |
CN107438230B (zh) | 安全无线测距 | |
Wazid et al. | Provably secure biometric‐based user authentication and key agreement scheme in cloud computing | |
Wang et al. | Cryptanalysis of a remote user authentication scheme for mobile client–server environment based on ECC | |
CN106797317A (zh) | 安全共享密钥共享系统及方法 | |
US10715332B2 (en) | Encryption for transactions in a memory fabric | |
CN109309566B (zh) | 一种认证方法、装置、系统、设备及存储介质 | |
Niu et al. | Weight-aware private matching scheme for proximity-based mobile social networks | |
CN108141364A (zh) | 消息认证 | |
CN101478548A (zh) | 数据传输的加密和完整性校验方法 | |
Gaebel et al. | Looks good to me: Authentication for augmented reality | |
US20220094545A1 (en) | Low power encryption in motion | |
CN108449756A (zh) | 一种网络密钥更新的系统、方法及装置 | |
CN101459509B (zh) | 基于新鲜性验证条件的密码协议安全性检测方法 | |
CN108011856A (zh) | 一种传输数据的方法和装置 | |
CN102882687A (zh) | 一种基于可搜索密文的智能家居安全访问方法及其系统 | |
Yang et al. | A privacy model for RFID tag ownership transfer | |
KR101929355B1 (ko) | 고유 일련번호 및 대칭키를 이용한 암복호화 시스템 | |
Jin et al. | MagPairing: Exploiting magnetometers for pairing smartphones in close proximity | |
Jain et al. | Simple, secure and dynamic protocol for mutual authentication of nodes in wireless sensor networks | |
EP3361670B1 (en) | Multi-ttp-based method and device for verifying validity of identity of entity | |
Hecht | Post-Quantum Cryptography: generalized ElGamal cipher over GF (2518) | |
JP6161392B2 (ja) | 認証システム及び認証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |