CN105450269A - 一种实现蓝牙设备间安全交互配对认证的方法及装置 - Google Patents

一种实现蓝牙设备间安全交互配对认证的方法及装置 Download PDF

Info

Publication number
CN105450269A
CN105450269A CN201510965272.XA CN201510965272A CN105450269A CN 105450269 A CN105450269 A CN 105450269A CN 201510965272 A CN201510965272 A CN 201510965272A CN 105450269 A CN105450269 A CN 105450269A
Authority
CN
China
Prior art keywords
client
module
bluetooth
bluetooth equipment
cryptographic hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510965272.XA
Other languages
English (en)
Other versions
CN105450269B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201510965272.XA priority Critical patent/CN105450269B/zh
Publication of CN105450269A publication Critical patent/CN105450269A/zh
Application granted granted Critical
Publication of CN105450269B publication Critical patent/CN105450269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/40Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
    • H04B5/48Transceivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • 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

Landscapes

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

Abstract

本发明公开一种实现蓝牙设备间安全交互配对认证的方法及装置,属于信息安全领域。当客户端搜索到蓝牙广播包时,与蓝牙设备建立连接,生成随机数发送至蓝牙设备,蓝牙设备根据随机数生成哈希值并发送至客户端,当客户端判断接收到的哈希值正确时,根据哈希值生成配对码并显示,并向蓝牙设备发送配对请求,蓝牙设备根据保存的哈希值生成配对码并提示用户进行配对码比对,当蓝牙设备检测到确认键按下时,配对成功。采用本发明的技术方法,在配对过程中无需用户手动选择蓝牙设备,操作简便防止出现误操作,准确性高,而且在配对认证过程中加入硬件操作以及人机交互,实现蓝牙设备间的交互配对认证,提高了配对的安全性。

Description

一种实现蓝牙设备间安全交互配对认证的方法及装置
技术领域
本发明涉及信息安全领域,尤其涉及一种实现蓝牙设备间安全交互配对认证的方法及装置。
背景技术
现有的蓝牙设备之间的配对过程相对复杂,蓝牙设备之间建立连接时,要先扫描双方的蓝牙信息,选择出待匹配的蓝牙设备,再输入双方认可的配对码并在验证通过之后才能建立连接。
当使用环境中有多个可配对设备时,用户必须知道要配对的终端设备的名称,而用户在手动选择时很容易产生误操作,甚至连错设备,另外,蓝牙设备在此过程中并未发挥硬件功能,安全性低,而且由于每次连接都需要输入配对码进行验证,配对操作过程繁琐、准确性差、易用性差。
发明内容
本发明的目的是为了解决现有技术中存在的问题,提供了一种实现蓝牙设备间安全交互配对认证的方法及装置。
本发明采用的技术方案是:一种实现蓝牙设备间安全交互配对认证的方法,包括:
步骤S1:当客户端搜索到蓝牙广播包时,根据所述蓝牙广播包与对应的蓝牙设备建立蓝牙连接,生成随机数并发送至所述蓝牙设备;
步骤S2:所述蓝牙设备根据接收到的所述随机数生成哈希值并保存,并将所述哈希值发送至所述客户端;
步骤S3:所述客户端根据生成的所述随机数,判断接收到的所述哈希值是否正确,如果是,则根据所述哈希值生成配对码并显示,并向所述蓝牙设备发送配对请求,执行步骤S4,否则报错,结束;
步骤S4:所述蓝牙设备接收到所述配对请求后,根据保存的所述哈希值生成配对码并提示用户进行配对码比对;
步骤S5:所述蓝牙设备检测按键状态,当检测到确认键按下时,配对成功,等待接收所述客户端发送的指令,当检测到取消键按下时,配对失败,结束。
所述步骤S1中,所述建立蓝牙连接之后,还包括:所述客户端与所述蓝牙设备协商会话密钥。
所述协商会话密钥,具体为:所述客户端生成会话密钥,应用预先保存的公钥对所述会话密钥进行加密,将加密结果发送至所述蓝牙设备,所述蓝牙设备应用预先保存的私钥对接收到的加密结果进行解密,得到会话密钥并保存,向所述客户端返回协商会话密钥成功响应,所述客户端将所述会话密钥保存,协商会话密钥成功。
所述步骤S1中,所述生成随机数,具体为:所述客户端生成随机数,根据所述随机数生成随机数指令,应用所述会话密钥对所述随机数指令进行加密,得到加密的随机数指令;
所述步骤S2还包括:所述蓝牙设备接收到所述加密的随机数指令后,应用所述会话密钥对所述指令进行解密,判断解密得到的数据是否是随机数指令,是则从所述随机数指令中获取所述随机数,否则主动断开与所述客户端的蓝牙连接并进入省电模式。
所述步骤S2中,所述根据接收到的所述随机数生成哈希值,具体为:所述蓝牙设备获取保存的蓝牙设备的设备序列号,对所述随机数和所述设备序列号进行哈希运算,得到哈希值;
所述步骤S3中,所述判断接收到的所述哈希值是否正确,具体为:所述客户端获取保存的蓝牙设备的设备序列号,对所述设备序列号和所述随机数进行哈希计算,生成哈希值,判断生成的哈希值与接收到的哈希值是否相同,如果是,则根据接收到的哈希值生成配对码并显示,并向所述蓝牙设备发送配对请求,否则报错,结束。
所述步骤S3中,所述根据所述哈希值生成配对码,具体为:所述客户端获取所述哈希值的预设位上的数据作为配对码;
所述步骤S4中,所述根据所述哈希值生成配对码,具体为:所述蓝牙设备获取所述哈希值的预设位上的数据作为配对码。
所述步骤S3中,所述根据所述哈希值生成配对码,具体为:所述客户端对所述哈希值进行预设运算生成配对码;
所述步骤S4中,所述根据所述哈希值生成配对码,具体为:所述蓝牙设备对所述哈希值进行预设运算生成配对码。
所述步骤S1中,所述建立蓝牙连接和所述生成随机数之间,还包括:
步骤a1:所述客户端判断是否已与所述蓝牙设备进行过配对,如果是,则执行步骤a2,否则生成随机数;
步骤a2:所述客户端获取所述客户端中保存的客户端唯一标识码,将所述客户端唯一标识码发送至所述蓝牙设备进行验证;
步骤a3:所述蓝牙设备获取所述蓝牙设备中保存的客户端唯一标识码,判断获取到的所述客户端唯一标识码与接收到的所述客户端唯一标识码是否相同,如果是,则配对成功,否则生成随机数;
所述步骤S5中,当配对成功时,还包括:所述蓝牙设备将接收到的所述客户端唯一标识码保存至所述蓝牙设备中。
所述步骤S5中,配对成功后,还包括:
步骤b1:所述客户端组织待签名数据,根据所述待签名数据生成签名指令,将所述签名指令发送至所述蓝牙设备;
步骤b2:所述蓝牙设备从接收到的所述签名指令中获取待签名数据,显示所述待签名数据;
步骤b3:所述蓝牙设备检测按键状态,当检测到确认键按下时,执行步骤b4,当检测到取消键按下时,向所述客户端发送签名失败响应,执行步骤b5;
步骤b4:所述蓝牙设备对所述待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至所述客户端,执行步骤b5;
步骤b5:所述客户端判断接收到的响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则执行步骤b6;
步骤b6:所述客户端将所述签名成功响应中的签名结果发送至服务器进行验证;
步骤b7:所述客户端接收并判断所述服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
一种实现蓝牙设备间安全交互配对认证的系统,所述系统包括:客户端和蓝牙设备;
所述客户端包括搜索模块、建立连接模块、第一接收模块、第一生成模块、第一发送模块和第一显示模块;
所述搜索模块,用于搜索蓝牙广播包;
所述建立连接模块,用于当所述搜索模块搜索到蓝牙广播包时,根据所述蓝牙广播包与对应的蓝牙设备建立蓝牙连接;
所述第一接收模块,用于接收所述蓝牙设备发送的哈希值;
所述第一生成模块,用于当所述建立连接模块建立蓝牙连接后,生成随机数;当所述第一接收模块接收到所述哈希值后,根据所述哈希值生成配对码;
所述第一发送模块,用于将所述第一生成模块生成的所述随机数发送至所述蓝牙设备;当所述第一显示模块显示配对码后,向所述蓝牙设备发送配对请求;
所述第一显示模块,用于显示所述第一生成模块生成的配对码;
所述蓝牙设备包括第二接收模块、第二生成模块、存储模块、第二发送模块、第二显示模块和检测模块;
所述第二接收模块,用于接收所述客户端发送的配对请求或所述随机数;
所述第二生成模块,用于根据所述第二接收模块接收到的所述随机数生成哈希值;当所述第二接收模块接收到客户端发送的配对请求时,根据所述存储模块存储的哈希值生成配对码;
所述存储模块,用于保存所述第二生成模块生成的所述哈希值;
所述第二发送模块,用于将所述第二生成模块生成的所述哈希值发送至所述客户端;
所述第二显示模块,用于显示所述第二生成模块生成的配对码;
所述检测模块,用于当所述第二显示模块显示所述配对码后,检测按键状态,当检测到确认键按下时,配对成功,当检测到取消键按下时,配对失败。
所述客户端还包括第一协商模块,用于与所述蓝牙设备协商会话密钥;
所述蓝牙设备还包括第二协商模块,用于与所述客户端协商会话密钥。
所述第一协商模块,具体包括生成单元、加密单元、第一发送单元、第一接收单元和第一存储单元;
所述生成单元,用于生成会话密钥;
所述加密单元,用于应用预先保存的公钥对所述生成单元生成的所述会话密钥进行加密;
所述第一发送单元,用于将所述加密单元得到的加密结果发送至所述蓝牙设备;
所述第一接收单元,用于接收所述蓝牙设备返回的协商会话密钥成功响应;
所述第一存储单元,用于当所述第一接收单元接收到协商会话密钥成功响应时,将所述生成单元生成的所述会话密钥保存;
所述第二协商模块,具体包括第二接收单元、解密单元、第二存储单元和第二发送单元;
所述第二接收单元,用于接收所述客户端发送的加密结果;
所述解密单元,用于应用预先保存的私钥对所述第二接收单元接收到的解密结果进行解密;
所述第二存储单元,用于将所述解密单元解密得到的会话密钥保存;
所述第二发送单元,用于当所述存储单元存储完成所述会话密钥后,向所述客户端返回协商会话密钥成功响应。
所述第一生成模块,具体用于生成随机数,根据所述随机数生成发送随机数指令,应用所述会话密钥对所述发送随机数指令进行加密,得到加密的发送随机数指令;
所述第二接收模块,用于接收所述客户端发送的所述加密的发送随机数指令;
所述蓝牙设备还包括解密模块、第一判断模块、获取模块和断开模块;
所述解密模块,用于应用所述会话密钥对所述第二接收模块接收到的所述发送随机数指令进行解密;
所述第一判断模块,用于判断所述解密模块解密得到的数据是否是随机数指令;
所述获取模块,用于当所述第一判断模块判断为是时,从所述随机数指令中获取所述随机数;
所述断开模块,用于当所述第一判断模块判断为否时,主动断开与所述客户端的蓝牙连接并进入省电模式。
所述第二生成模块,具体用于获取保存的蓝牙设备的设备序列号,对所述随机数和所述设备序列号进行哈希运算,得到哈希值。
所述客户端还包括第二判断模块,用于当所述第一接收模块接收到所述哈希值后,根据保存的蓝牙设备的设备序列号和所述随机数验证所述哈希值是否正确,判断为是时,触发所述第一生成模块,判断为否时,结束。
所述第一生成模块,具体用于获取所述哈希值的预设位上的数据作为配对码;
所述第二生成模块,具体用于获取所述哈希值的预设位上的数据作为配对码。
所述第一生成模块,具体用于对所述哈希值进行预设运算生成配对码;
所述第二生成模块,具体用于对所述哈希值进行预设运算生成配对码。
所述客户端还包括配对模块,用于判断是否已与所述蓝牙设备进行过配对,判断为是时,触发所述第一发送模块,判断为否时,触发所述第一生成模块;
所述第一发送模块,还用于获取所述客户端中保存的客户端唯一标识码,将所述客户端唯一标识码发送至所述蓝牙设备进行验证;
所述第二接收模块,还用于接收所述客户端发送的所述客户端唯一标识码;
所述蓝牙设备,还包括第三判断模块和存储模块;
所述第三判断模块,用于当所述第二接收模块接收到所述客户端唯一标识码时,获取所述蓝牙设备中保存的客户端唯一标识码,判断获取到的所述客户端唯一标识码与接收到的所述客户端唯一标识码是否相同,判断为是时,触发所述存储模块,判断为否时,触发所述第一生成模块;
所述存储模块,用于将所述客户端唯一标识码保存至所述蓝牙设备中。
所述存储模块,还用于将所述客户端唯一标识码保存至所述蓝牙设备中。
所述第一发送模块,还用于组织待签名数据,根据所述待签名数据生成签名指令,将所述签名指令发送至所述蓝牙设备;还用于将签名成功响应中的签名结果,发送至服务器进行验证;
所述第二接收模块,还用于接收所述客户端发送的所述签名指令;
所述第二显示模块,还用于从所述第二接收模块接收到的所述签名指令中获取待签名数据,显示所述待签名数据;
所述检测模块,还用于当所述第二显示模块显示所述待签名数据后,检测按键状态;
所述第二发送模块,还用于当所述检测模块检测到确认键按下时,对所述待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至所述客户端;当所述检测模块检测到取消键按下时,向所述客户端发送签名失败响应;
所述第一接收模块,还用于接收所述蓝牙设备发送的签名响应;还用于接收所述服务器返回的验证结果;
所述客户端还包括第五判断模块,用于判断所述第一接收模块接收到的签名响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则触发所述第一发送模块;判断服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
一种实现安全配对的蓝牙设备的工作方法,包括:
步骤T1:蓝牙设备启动,组织并广播蓝牙广播包,等待与客户端建立蓝牙连接,当所述蓝牙设备与所述客户端建立蓝牙连接时,执行步骤T2;
步骤T2:所述蓝牙设备判断是否接收到所述客户端发送的随机数,如果是,则根据所述随机数生成哈希值并保存,并将所述哈希值发送至所述客户端,执行步骤T3,否则报错,结束;
步骤T3:所述蓝牙设备接收所述客户端发送的配对请求,根据保存的所述哈希值生成配对码并显示;
步骤T4:所述蓝牙设备检测按键状态,当检测到确认键按下时,配对成功,等待接收所述客户端发送的指令,当检测到取消键按下时,配对失败,结束。
所述步骤T1中,所述组织并广播蓝牙广播包,具体为:所述蓝牙设备根据所述蓝牙设备的设备序列号组成蓝牙广播包,广播所述蓝牙广播包。
所述步骤T1中,所述组织并广播蓝牙广播包,具体为:所述蓝牙设备从所述蓝牙设备中获取内部保存的设备序列号,对所述设备序列号进行哈希计算,生成哈希值,根据所述哈希值组成蓝牙广播包,广播所述蓝牙广播包。
所述步骤T1中,所述组织并广播蓝牙广播包,具体为:所述蓝牙设备从所述蓝牙设备中获取内部保存的设备序列号的哈希值,根据所述哈希值组成蓝牙广播包,广播所述蓝牙广播包。
所述步骤T2中,所述根据所述随机数生成哈希值,具体为:所述蓝牙设备获取保存的蓝牙设备的设备序列号,对所述随机数和所述设备序列号进行哈希运算,得到哈希值。
所述步骤T3中,所述根据保存的所述哈希值生成配对码,具体为:获取所述哈希值的预设位上的数据作为配对码。
所述步骤T3中,所述根据保存的所述哈希值生成配对码,具体为:对所述哈希值进行预设运算生成配对码。
所述步骤T2之前还包括:所述蓝牙设备接收所述客户端发送的客户端唯一标识码,获取所述蓝牙设备中保存的客户端唯一标识码,判断获取到的所述客户端唯一标识码与接收到的所述客户端唯一标识码是否相同,如果是,则配对成功,否则执行步骤T2;
所述步骤T4中,当检测到确认键按下时,还包括:将接收到的所述客户端唯一标识码保存至所述蓝牙设备中。
所述蓝牙设备接收客户端发送的客户端唯一标识码之后,还包括:所述蓝牙设备判断是否已与所述客户端进行过配对,如果是,则继续,否则执行步骤T2。
所述蓝牙设备将所述客户端唯一标识码保存至所述蓝牙设备中,具体为:所述蓝牙设备判断所述蓝牙设备中是否存在其他已配对的客户端唯一标识码,如果是,则将所述其他已配对的客户端唯一标识码删除,并将所述客户端唯一标识码作为已配对的客户端唯一标识码保存,否则直接将所述客户端唯一标识码作为已配对的客户端唯一标识码保存。
所述蓝牙设备将所述客户端唯一标识码保存至所述蓝牙设备中,具体为:所述蓝牙设备判断所述蓝牙设备中已配对的客户端唯一标识码的个数是否达到预设值,如果是,则将其中一个已配对的客户端唯一标识码删除,并将所述客户端唯一标识码作为已配对的客户端唯一标识码保存,否则直接将所述客户端唯一标识码作为已配对的客户端唯一标识码保存。
所述步骤T1中,所述蓝牙设备与所述客户端建立蓝牙连接后,还包括:所述蓝牙设备与所述客户端协商会话密钥。
所述协商会话密钥,具体为:所述蓝牙设备接收所述客户端发送的加密结果,应用预先保存的私钥对所述加密结果进行解密,得到会话密钥并保存,并向所述客户端返回协商会话密钥成功响应。
所述步骤T2中,所述判断是否接收到所述客户端发送的随机数,具体包括:所述蓝牙设备接收所述客户端发送的指令,应用所述会话密钥对所述指令进行解密,判断解密得到的数据是否为随机数指令,如果是,则从所述随机数指令中获取随机数,否则主动断开与所述客户端的蓝牙连接并进入省电模式。
所述步骤T4中,所述等待接收所述客户端发送的指令之后,还包括:
步骤1:所述蓝牙设备接收所述客户端发送的签名指令,从所述签名指令中获取待签名数据,显示所述待签名数据;
步骤2:所述蓝牙设备检测按键状态,当检测到确认键按下时,对所述待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至所述客户端,当检测到取消键按下时,向所述客户端发送签名失败响应。
一种实现安全配对的蓝牙设备,包括:
组织广播模块,用于当蓝牙设备启动时,组织并广播蓝牙广播包;
蓝牙连接模块,用于与客户端建立蓝牙连接;
第一判断模块,用于与所述客户端建立蓝牙连接后,判断是否接收到所述客户端发送的随机数,判断为是时,触发处理模块,判断为否时,报错,结束;
处理模块,用于根据所述随机数生成哈希值并保存;
发送模块,用于将所述处理模块得到的所述哈希值发送至所述客户端;
接收模块,用于接收所述客户端发送的配对请求;当配对成功时,接收所述客户端发送的指令;
显示模块,用于当所述接收模块接收到所述配对请求后,根据所述处理模块保存的所述哈希值生成配对码并显示;
检测模块,用于当所述显示模块显示所述配对码后,检测按键状态,当检测到确认键按下时,配对成功,当检测到取消键按下时,配对失败。
所述组织广播模块,具体用于根据所述蓝牙设备的设备序列号组成蓝牙广播包,广播所述蓝牙广播包。
所述组织广播模块,具体用于从所述蓝牙设备中获取内部保存的设备序列号,对所述设备序列号进行哈希计算,生成哈希值,根据所述哈希值组成蓝牙广播包,广播所述蓝牙广播包。
所述组织广播模块,具体用于从所述蓝牙设备中获取内部保存的设备序列号的哈希值,根据所述哈希值组成蓝牙广播包,广播所述蓝牙广播包。
所述处理模块,具体用于获取保存的蓝牙设备的设备序列号,对所述随机数和所述设备序列号进行哈希运算,得到哈希值。
所述显示模块,具体用于当所述接收模块接收到所述配对请求后,获取所述处理模块保存的所述哈希值的预设位上的数据作为配对码并显示。
所述显示模块,具体用于当所述接收模块接收到所述配对请求后,对所述处理模块保存的所述哈希值进行预设运算生成配对码并显示。
所述蓝牙设备还包括第二判断模块、获取模块和存储模块;
所述接收模块,还用于接收所述客户端发送的客户端唯一标识码;
所述获取模块,用于获取所述蓝牙设备中保存的客户端唯一标识码;
所述第二判断模块,用于判断获取到的所述客户端唯一标识码与接收到的所述客户端唯一标识码是否相同,判断为是时,配对成功,判断为否时,触发所述第一判断模块;
所述存储模块,用于当所述检测模块检测到确认键按下时,将接收到的所述客户端唯一标识码保存至所述蓝牙设备中。
所述蓝牙设备还包括第三判断模块,用于当所述接收模块接收到所述客户端发送的客户端唯一标识码后,判断是否已与所述客户端进行过配对,判断为是时,触发所述获取模块,判断为否时,触发所述第一判断模块。
所述存储模块,具体用于判断所述蓝牙设备中是否存在其他已配对的客户端唯一标识码,判断为是时,将所述其他已配对的客户端唯一标识码删除,并将接收到的所述客户端唯一标识码作为已配对的客户端唯一标识码保存,判断为否时,直接将接收到的所述客户端唯一标识码作为已配对的客户端唯一标识码保存。
所述存储模块,具体用于判断所述蓝牙设备中已配对的客户端唯一标识码的个数是否达到预设值,判断为是时,将其中一个已配对的客户端唯一标识码删除,并将接收到的所述客户端唯一标识码作为已配对的客户端唯一标识码保存,判断为否时,直接将接收到的所述客户端唯一标识码作为已配对的客户端唯一标识码保存。
所述蓝牙设备还包括:协商密钥模块,用于与所述客户端协商会话密钥。
所述协商密钥模块,具体用于接收所述客户端发送的加密结果,应用预先保存的私钥对所述加密结果进行解密,得到会话密钥并保存,并向所述客户端返回协商会话密钥成功响应。
所述第一判断模块,具体用于接收所述客户端发送的指令,应用所述会话密钥对所述指令进行解密,判断解密得到的数据是否为随机数指令,判断为是时,从所述随机数指令中获取随机数,判断为否时,主动断开与所述客户端的蓝牙连接并进入省电模式。
所述蓝牙设备还包括签名模块;
所述接收模块,还用于接收所述客户端发送的签名指令;
所述显示模块,还用于从所述签名指令中获取待签名数据,显示所述待签名数据;
所述检测模块,还用于当所述显示模块显示所述待签名数据后,检测按键状态,当检测到确认键按下时,触发所述签名模块,当检测到取消键按下时,向所述客户端发送签名失败响应;
所述签名模块,用于对所述待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至所述客户端。
一种实现安全配对的客户端的工作方法,包括:
步骤Q1:客户端打开蓝牙连接并搜索蓝牙广播包,当搜索到蓝牙广播包时,根据所述蓝牙广播包与对应的蓝牙设备建立蓝牙连接,生成随机数并发送至所述蓝牙设备;
步骤Q2:所述客户端接收所述蓝牙设备返回的哈希值,根据生成的所述随机数,判断接收到的所述哈希值是否正确,如果是,则执行步骤Q3,否则报错,结束;所述哈希值为所述蓝牙设备对所述随机数进行计算所得;
步骤Q3:所述客户端根据所述哈希值生成配对码并显示,并向所述蓝牙设备发送配对请求;
步骤Q4:所述客户端接收所述蓝牙设备返回的配对成功信息。
所述步骤Q1中,当搜索到蓝牙广播包时,还包括:所述客户端根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号,判断获取到的所述设备序列号和所述蓝牙广播包中的设备序列号是否匹配,如果是,则继续,否则继续搜索蓝牙广播包。
所述步骤Q1中,当搜索到蓝牙广播包时,还包括:所述客户端根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号,对获取到的所述设备序列号进行哈希计算,得到第一哈希值,判断所述第一哈希值和所述蓝牙广播包中的设备序列号的哈希值是否匹配,如果是,则继续,否则继续搜索蓝牙广播包。
所述步骤Q1中,当搜索到蓝牙广播包时,还包括:所述客户端根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号的哈希值,判断获取到的所述哈希值和所述蓝牙广播包中的设备序列号的哈希值是否匹配,如果是,则继续,否则继续搜索蓝牙广播包。
所述步骤Q2中,所述判断接收到的所述哈希值是否正确,具体为:所述客户端获取保存的蓝牙设备的设备序列号,对所述设备序列号和所述随机数进行哈希计算,生成第三哈希值,判断所述第三哈希值与所述哈希值是否相同,如果是,则执行步骤Q3,否则报错,结束。
所述步骤Q3中,所述客户端根据所述哈希值生成配对码,具体为:获取所述哈希值的预设位上的数据作为配对码。
所述步骤Q3中,所述客户端根据所述哈希值生成配对码,具体为:对所述哈希值进行预设运算生成配对码。
所述步骤Q1中,所述建立连接和所述生成随机数之间,还包括:
步骤a1:所述客户端判断是否已与所述蓝牙设备进行过配对,如果是,则执行步骤a2,否则生成随机数;
步骤a2:所述客户端获取所述客户端中保存的客户端唯一标识码,将所述客户端唯一标识码发送至所述蓝牙设备进行验证;
步骤a3:所述客户端接收并所述蓝牙设备返回的验证结果,如果是验证成功,则配对成功,记录已与所述蓝牙设备进行过配对,如果是验证失败,则生成随机数。
当所述客户端启动时,获取并判断保存的激活标识,如果为已激活,则执行步骤Q1,如果为未激活,则跳转至激活界面,接收用户选择的激活请求,根据用户手机号将激活请求短信发送至服务器进行激活,当接收到服务器返回的激活成功响应时,将所述激活标识置为已激活。
所述步骤Q1中,所述与对应的蓝牙设备建立蓝牙连接后,还包括:所述客户端与所述蓝牙设备协商会话密钥。
所述协商会话密钥,具体为:所述客户端生成会话密钥,应用预先保存的公钥对所述会话密钥进行加密,将加密结果发送至所述蓝牙设备,接收所述客户端返回的协商会话密钥成功响应,将所述会话密钥保存。
所述步骤Q1中,所述生成随机数并发送至所述蓝牙设备,具体包括:所述客户端生成随机数,根据所述随机数生成随机数指令,应用所述会话密钥对所述随机数指令进行加密,得到加密的随机数指令并发送至所述蓝牙设备。
所述步骤Q4之后,还包括:
步骤1:所述客户端组织待签名数据,根据所述待签名数据生成签名指令,将所述签名指令发送至所述蓝牙设备;
步骤2:所述客户端接收并判断所述蓝牙设备返回的响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则执行步骤3;
步骤3:所述客户端将所述签名成功响应中的签名结果发送至服务器进行验证;
步骤4:所述客户端接收并判断所述服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
一种实现安全配对的客户端,包括:
搜索模块,用于打开蓝牙连接并搜索蓝牙广播包;
建立连接模块,用于当所述搜索模块搜索到蓝牙广播包时,根据所述蓝牙广播包与对应的蓝牙设备建立蓝牙连接;
第一生成模块,用于当所述建立连接模块建立蓝牙连接完成时,生成随机数;
发送模块,用于将所述第一生成模块生成的随机数发送至所述蓝牙设备;向所述蓝牙设备发送配对请求;
接收模块,用于接收所述蓝牙设备返回的哈希值;接收所述蓝牙设备返回的配对成功信息。
第一判断模块,用于当所述接收模块接收到所述哈希值后,根据生成的所述随机数,判断接收到的所述哈希值是否正确,判断为是时,触发第二生成模块,判断为否时,报错,结束;
所述第二生成模块,用于根据所述哈希值生成配对码;
显示模块,用于显示所述第二生成模块生成的配对码。
所述客户端还包括第二判断模块,用于当所述搜索模块搜索到蓝牙广播包后,根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号,判断获取到的所述设备序列号和所述蓝牙广播包中的设备序列号是否匹配,判断为是时,触发所述建立连接模块,判断为否时,触发所述搜索模块。
所述客户端还包括第三判断模块,用于当所述搜索模块搜索到蓝牙广播包后,根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号,对获取到的所述设备序列号进行哈希计算,得到第一哈希值,判断所述第一哈希值和所述蓝牙广播包中的设备序列号的哈希值是否匹配,判断为是时,触发所述建立连接模块,判断为否时,触发所述搜索模块。
所述客户端还包括第四判断模块,用于当所述搜索模块搜索到蓝牙广播包后,根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号的哈希值,判断获取到的所述哈希值和所述蓝牙广播包中的设备序列号的哈希值是否匹配,判断为是时,触发所述建立连接模块,判断为否时,触发所述搜索模块。
所述第一判断模块,具体用于获取保存的蓝牙设备的设备序列号,对所述设备序列号和所述随机数进行哈希计算,生成第三哈希值,判断所述第三哈希值与所述哈希值是否相同,判断为是时,触发所述第二生成模块,判断为否时,报错,结束。
所述第二生成模块,具体用于获取所述哈希值的预设位上的数据作为配对码。
所述第二生成模块,具体用于对所述哈希值进行预设运算生成配对码。
所述客户端还包括第五判断模块、获取模块、第六判断模块和记录模块;
所述第五判断模块,用于当所述建立连接模块建立蓝牙连接完成后,判断是否已与所述蓝牙设备进行过配对,判断为是时,触发所述获取模块,判断为否时,触发所述第一生成模块;
所述获取模块,用于获取所述客户端中保存的客户端唯一标识码;
所述发送模块,还用于将所述获取模块获取到的所述客户端唯一标识码发送至所述蓝牙设备进行验证;
所述第六判断模块,用于接收并所述蓝牙设备返回的验证结果,判断为验证成功时,触发所述记录模块,判断为验证失败时,触发所述第一生成模块;
所述记录模块,用于记录已与所述蓝牙设备进行过配对。
所述客户端还包括第七判断模块、跳转模块和设置模块;
所述第七判断模块,用于获取并判断保存的激活标识,判断为已激活时,触发所述搜索模块,判断为未激活时,触发所述跳转模块;
所述跳转模块,用于跳转至激活界面;
所述接收模块,还用于接收用户选择的激活请求;接收服务器返回的激活成功响应;
所述发送模块,还用于根据用户手机号将激活请求短信发送至服务器进行激活;
所述设置模块,用于当所述接收模块接收到所述服务器返回的激活成功响应时,将所述激活标识置为已激活。
所述客户端还包括协商密钥模块,用于与所述蓝牙设备协商会话密钥。
所述协商密钥模块,具体用于生成会话密钥,应用预先保存的公钥对所述会话密钥进行加密,将加密结果发送至所述蓝牙设备,接收所述客户端返回的协商会话密钥成功响应,将所述会话密钥保存。
所述第一生成模块,具体用于生成随机数,根据所述随机数生成随机数指令,应用所述会话密钥对所述随机数指令进行加密,得到加密的随机数指令。
所述客户端还包括第八判断模块和验签模块;
所述发送模块,还用于组织待签名数据,根据所述待签名数据生成签名指令,将所述签名指令发送至所述蓝牙设备;
所述接收模块,还用于接收所述蓝牙设备返回的响应;
所述第八判断模块,用于判断所述蓝牙设备返回的响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则触发所述验签模块;
所述验签模块,用于将所述签名成功响应中的签名结果发送至服务器进行验证,接收并判断所述服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
本发明取得的有益效果是:采用本发明的技术方法,在配对过程中无需用户手动选择蓝牙设备,操作简便防止出现误操作,准确性高,而且在配对认证过程中加入硬件操作以及人机交互,实现蓝牙设备间的交互配对认证,提高了配对的安全性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种实现蓝牙设备间安全交互配对认证的系统方法流程图;
图2是本发明实施例2提供的一种实现蓝牙设备间安全交互配对认证的系统方法流程图;
图3和图4是本发明实施例3提供的一种实现蓝牙设备间安全交互配对认证的系统方法流程图;
图5是本发明实施例4提供的一种实现蓝牙设备间安全交互配对认证的系统图;
图6是本发明实施例5提供的一种实现安全配对的蓝牙设备的工作方法流程图;
图7是本发明实施例6提供的一种实现安全配对的蓝牙设备装置图;
图8是本发明实施例7提供的一种实现安全配对的客户端的工作方法流程图;
图9是本发明实施例8提供的一种实现安全配对的客户端装置图;
图10是本发明实施例9提供的客户端与蓝牙设备进行交易的具体操作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本实施例中,客户端组织的指令和蓝牙设备接收到的指令均符合APDU格式,具体为:CLAINSP1P2LcDataLe,其中CLA为指令类别、INS为指令码、P1、P2为参数、Lc为Data的长度、Le为返回数据的长度。
实施例1
本发明实施例1提供了一种实现蓝牙设备间安全交互配对认证的方法,应用于蓝牙设备和客户端组成的系统中,如图1所示,包括:
步骤S1:当客户端搜索到蓝牙广播包时,根据蓝牙广播包与对应的蓝牙设备建立蓝牙连接;
步骤S2:客户端生成随机数并发送至蓝牙设备;
本实施例中,建立蓝牙连接之后,还包括:客户端与蓝牙设备协商会话密钥;
具体为:客户端生成会话密钥,应用预先保存的公钥对会话密钥进行加密,将加密结果发送至蓝牙设备,蓝牙设备应用预先保存的私钥对接收到的加密结果进行解密,得到会话密钥并保存,向客户端返回协商会话密钥成功响应,客户端将会话密钥保存,协商会话密钥成功;
本步骤中,生成随机数并发送至蓝牙设备,具体为:客户端生成随机数,根据随机数生成发送随机数指令,应用会话密钥对发送随机数指令进行加密,得到加密的发送随机数指令并发送至蓝牙设备。
步骤S3:蓝牙设备根据接收到的随机数生成哈希值并保存;
本步骤还包括:蓝牙设备接收到加密的随机数指令后,应用会话密钥对指令进行解密,判断解密得到的数据是否是随机数指令,是则从随机数指令中获取随机数,否则主动断开与客户端的蓝牙连接并进入省电模式;
其中,根据接收到的随机数生成哈希值,具体为:蓝牙设备获取保存的蓝牙设备的设备序列号,对随机数和设备序列号进行哈希运算,得到哈希值。
步骤S4:蓝牙设备将哈希值发送至客户端;
步骤S5:客户端根据生成的随机数,判断接收到的哈希值是否正确,如果是,则执行步骤S6,否则报错,结束;
本实施例中,判断接收到的哈希值是否正确,具体为:客户端获取保存的蓝牙设备的设备序列号,对设备序列号和随机数进行哈希计算,生成哈希值,判断生成的哈希值与接收到的哈希值是否相同,如果是,则根据接收到的哈希值生成配对码并显示,并向蓝牙设备发送配对请求,否则报错,结束;
其中,根据哈希值生成配对码,具体为以下操作中的一个:
一、获取哈希值的预设位上的数据作为配对码;
二、对哈希值进行预设运算生成配对码。
步骤S6:客户端根据哈希值生成配对码并显示,向蓝牙设备发送配对请求;
步骤S7:蓝牙设备接收到配对请求后,根据保存的哈希值生成配对码并提示用户进行配对码比对;
本实施例中,对应步骤S5中的生成配对码操作,本步骤中根据保存的哈希值生成配对码,具体为以下操作中的一个:
一、获取哈希值的预设位上的数据作为配对码;
二、对哈希值进行预设运算生成配对码。
步骤S8:蓝牙设备检测按键状态,当检测到确认键按下时,配对成功,进入交易流程,等待接收客户端发送的指令,当检测到取消键按下时,配对失败,结束;
进一步的,步骤S1与步骤S2之间,还包括:
步骤a1:客户端判断是否已与蓝牙设备进行过配对,如果是,则执行步骤a2,否则执行步骤S2;
步骤a2:客户端获取客户端中保存的客户端唯一标识码,将客户端唯一标识码发送至蓝牙设备进行验证;
步骤a3:蓝牙设备获取蓝牙设备中保存的客户端唯一标识码,判断获取到的客户端唯一标识码与接收到的客户端唯一标识码是否相同,如果是,则配对成功,否则执行步骤S2;
对应的,步骤S8中,当配对成功时,还包括:蓝牙设备将接收到的客户端唯一标识码保存至蓝牙设备中。
实施例2
本发明实施例2提供了一种实现蓝牙设备间安全交互配对认证的方法,应用于蓝牙设备和客户端组成的系统中,其中,蓝牙设备具体为具有蓝牙功能的智能密钥设备,客户端是安装在移动设备(手机、pad等具有蓝牙功能的终端设备)上的用于交易的应用程序,如图2所示,在客户端进入需要连接蓝牙设备进行交易签名时,执行以下操作:
步骤101:蓝牙设备开机,根据该蓝牙设备的设备序列号的哈希值组成蓝牙广播包,广播该蓝牙广播包;
本实施例中,根据该蓝牙设备的设备序列号的哈希值组成蓝牙广播包,具体为:
蓝牙设备从蓝牙设备存储区中获取内部保存的设备序列号的哈希值,根据哈希值组成蓝牙广播包;
或者,蓝牙设备从蓝牙设备存储区中获取内部保存的设备序列号,对该设备序列号进行哈希运算,得到哈希值,根据哈希值组成蓝牙广播包;
本实施例中,智能密钥装置开机包括长按确认键开机或蓝牙连接从休眠状态中触发唤醒;
本实施例中,蓝牙设备存储区中具体保存有蓝牙设备的设备序列号或设备序列号的哈希值、协商好的会话密钥、私钥、哈希值。
例如,蓝牙设备获取到的设备序列号为228000005808,对其进行哈希运算得到的哈希值为bba2b007d7936788f8e6b2afa3834213bbd3ced2,根据哈希值组成的蓝牙广播包为:
0x02,0x01,0x06,0x03,0x02,0xFF,0xF0,0x14,0xbb,0xa2,0xb0,0x07,0xd7,0x93,0x67,0x88,0xf8,0xe6,0xb2,0xaf,0xa3,0x83,0x42,0x13,0xbb,0xd3,0xce,0xd2,0x00,0x00,0x00,其中0x02为广播时间,0x01,0x06,0x03为广播模式,0xFF,0xF0,0x14为服务通用的唯一标识码。
步骤102:当客户端打开蓝牙连接并搜索到蓝牙广播包时,根据客户端唯一标识码从服务器中获取与该客户端绑定的蓝牙设备的设备序列号,将该蓝牙设备的设备序列号保存至客户端存储区中;
本实施例中,客户端存储区中具体保存有与该客户端绑定的蓝牙设备的设备序列号、协商好的会话密钥、公钥、随机数;
本步骤还可以为:当客户端打开蓝牙连接并搜索到蓝牙广播包时,直接从客户端存储区中获取与客户端绑定的蓝牙设备的设备序列号;
其中,服务器中蓝牙设备的设备序列号是在柜台给用户开通业务时与客户端唯一标识码绑定好的,其中,客户端唯一标识码为客户端在激活时服务器记录的设备激活标识码,优选的,客户端唯一标识码为用户手机号,还可以为客户端应用程序的唯一标识码;
本实施例还包括,当客户端启动时,获取保存的激活标识,如果为已激活,则转入登录界面,当登录成功时,进入需要连接蓝牙设备进行交易签名界面,如果为未激活,则转入激活界面,接收用户选择的激活请求(用户点击激活按钮),根据用户手机号将激活请求短信发送至服务器,服务器将用户手机号与客户端唯一标识码进行绑定,客户端激活成功,将激活标识置为已激活。
步骤103:客户端对获取到的蓝牙设备的设备序列号进行哈希计算,得到第一哈希值;
具体的,客户端应用预设哈希算法对蓝牙设备的设备序列号进行哈希计算,其中,优选的,预设哈希算法为SHA-1算法,除此之外,还可以为MD2、MD5算法等;
例如,客户端获取到的蓝牙设备的设备序列号为228000005808,对其进行哈希运算得到的第一哈希值为bba2b007d7936788f8e6b2afa3834213bbd3ced2;
步骤104:客户端选择搜索到的蓝牙广播包的值为第一哈希值的蓝牙设备,与该蓝牙设备建立蓝牙连接;
本实施例中,客户端对搜索到的所有蓝牙广播包的值进行逐一比对,查找蓝牙广播包的值为第一哈希值的蓝牙设备,与之建立蓝牙连接;
本步骤还包括:客户端判断是否能够查找到蓝牙广播包的值为第一哈希值的蓝牙设备,如果是,则与该蓝牙设备建立蓝牙连接,建立与蓝牙设备的蓝牙通道,否则说明当前搜索到的蓝牙设备均不是本客户端能够识别的蓝牙设备,因此,报错,结束。
步骤105:客户端与蓝牙设备协商会话密钥;
本实施例中,客户端与蓝牙设备协商会话密钥包括蓝牙层协商会话密钥和指令层协商会话密钥;
其中,指令层协商会话密钥具体为:客户端生成随机数作为会话密钥,应用预先保存的公钥对会话密钥进行加密,将加密结果发送至蓝牙设备,蓝牙设备应用预先保存的私钥对接收到的解密结果进行解密,得到会话密钥并保存至蓝牙设备存储区中,向客户端返回协商会话密钥成功响应,客户端将生成的随机数作为会话密钥保存至客户端存储区中,协商会话密钥成功。
步骤106:客户端生成随机数并保存至客户端存储区中,根据该随机数生成随机数指令,应用协商好的会话密钥对随机数指令进行加密,得到加密的随机数指令;
本实施例中,具体的,客户端调用随机数生成函数,生成随机数,根据APDU指令格式将该随机数作为数据域加上指令头组成发送随机数指令,根据预设加密算法,应用协商好的会话密钥对发送随机数指令进行加密,优选的,预设加密算法为DES算法,除此之外还可以为AES算法等;
例如,客户端生成的随机数为7CA6962BE9E3A803801A61EB5987CFD1,根据该随机数生成的发送随机数指令为:
0001107CA6962BE9E3A803801A61EB5987CFD1;
步骤107:客户端将加密的随机数指令发送至蓝牙设备;
步骤108:蓝牙设备应用协商好的会话密钥对接收到的指令进行解密,判断解密得到指令是否为随机数指令,如果是,则执行步骤109,否则结束;
具体的,蓝牙设备判断解密得到的指令的前两个字节是否为0x0001,如果是,则该指令为发送随机数指令,否则该指令不是发送随机数指令;
本实施例中,当蓝牙设备判断解密得到的指令不是发送随机数指令时,还包括:蓝牙设备显示提示信息,主动断开与客户端的蓝牙连接并进入省电模式;
其中,蓝牙设备显示的提示信息可以为:“非法连接,请仔细核实连接自己的掌银”,进入省电模式包括关机或进入休眠状态,休眠状态可以包括关闭显示屏等。
步骤109:蓝牙设备从解密得到的随机数指令中获取随机数,并获取蓝牙设备存储区中保存的设备序列号,对随机数和设备序列号进行哈希运算,得到哈希值并保存至蓝牙设备存储区中;
具体的,蓝牙设备应用预设哈希算法对随机数和设备序列号进行哈希运算,其中,优选的,预设哈希算法为SHA-1算法,除此之外,还可以为MD2、MD5算法等;
例如,蓝牙设备对随机数7CA6962BE9E3A803801A61EB5987CFD1和设备序列号228000005808进行哈希运算得到的哈希值为:
c018f4798bea04a70053ebee3763c7a814986815;
步骤110:蓝牙设备根据哈希值生成验证指令,应用协商好的会话密钥对该验证指令进行加密,得到加密的验证指令;
例如,蓝牙设备根据APDU指令格式将该哈希值作为数据域加上指令头组成的验证指令为000214c018f4798bea04a70053ebee3763c7a814986815;
步骤111:蓝牙设备将加密的验证指令发送至客户端;
步骤112:客户端应用协商好的会话密钥对加密的验证指令进行解密,得到验证指令,并从验证指令中获取哈希值,根据客户端存储区中保存的蓝牙设备的设备序列号和随机数验证该哈希值是否正确,如果是,则执行步骤113,否则结束;
本实施例中,客户端根据客户端存储区中保存的蓝牙设备的设备序列号和随机数验证该哈希值是否正确,具体为:客户端获取保存的设备序列号和随机数,对设备序列号和随机数进行哈希运算,生成第三哈希值,判断第三哈希值与哈希值是否相等,如果是,则哈希值正确,否则哈希值不正确;
本步骤还包括:客户端判断解密得到的指令的前两个字节是否为0x0002,如果是,则解密得到的是验证指令,否则解密得到的不是验证指令,报错,结束;
本步骤中,当客户端判断哈希值不正确时,还包括:客户端断开与蓝牙设备的蓝牙连接。
步骤113:客户端根据哈希值生成配对码,根据该配对码生成提示信息,显示该提示信息;
本实施例中,根据哈希值生成配对码,具体可以为获取哈希值的预设位上的数据作为配对码或者对哈希值进行预设运算生成配对码等;
本步骤中,根据该配对码生成的提示信息可以为:“正在配对,配对码为xxxx”;
例如,客户端获取哈希值后四位数据6815作为配对码,生成的提示信息为:“正在配对,配对码为6815”。
步骤114:客户端向蓝牙设备发送配对请求;
步骤115:蓝牙设备接收到配对请求后,获取蓝牙设备存储区中保存的哈希值,根据哈希值生成配对码,根据该配对码生成提示信息,显示该提示信息;
本实施例中,根据哈希值生成配对码,具体可以为获取哈希值的预设位上的数据作为配对码或者对哈希值进行预设运算生成配对码等;
本步骤中,根据该配对码生成的提示信息可以为:“请确认配对码xxxx,您的设备正在与其他设备建立连接,请按确认键进行配对,按取消键取消配对”;
例如,蓝牙设备获取哈希值后四位数据6815作为配对码,生成的提示信息为:“请确认配对码6815,您的设备正在与其他设备建立连接,请按确认键进行配对,按取消键取消配对”。
步骤116:蓝牙设备检测按键状态,当检测到确认键按下时,执行步骤118,当检测到取消键按下时,执行步骤117;
步骤117:蓝牙设备提示取消配对,进入省电模式。
步骤118:蓝牙设备向客户端发送配对成功响应,配对成功,进入交易流程;
本步骤还包括:蓝牙设备提示配对成功信息。
实施例3
本发明实施例3提供了一种实现蓝牙设备间安全交互配对认证的方法,应用于蓝牙设备和客户端组成的系统中,其中,蓝牙设备具体为具有蓝牙功能的智能密钥设备,客户端是安装在移动设备(手机、pad等具有蓝牙功能的终端设备)上的用于交易的应用程序,如图3和图4所示,包括:
步骤201:蓝牙设备开机,根据该蓝牙设备的设备序列号的哈希值组成蓝牙广播包,广播该蓝牙广播包;
本实施例中,根据该蓝牙设备的设备序列号的哈希值组成蓝牙广播包,具体为:
蓝牙设备从蓝牙设备存储区中获取内部保存的设备序列号的哈希值,根据哈希值组成蓝牙广播包;
或者,蓝牙设备从蓝牙设备存储区中获取内部保存的设备序列号,对该设备序列号进行哈希运算,得到哈希值,根据哈希值组成蓝牙广播包;
本实施例中,智能密钥装置开机包括长按确认键开机或蓝牙连接从休眠状态中触发唤醒。
步骤202:当客户端打开蓝牙连接并搜索到蓝牙广播包时,根据客户端唯一标识码从服务器中获取与该客户端绑定的蓝牙设备的序列号,将该蓝牙设备的设备序列号保存至客户端存储区中;
本实施例中,服务器中蓝牙设备的序列号是在柜台给用户开通业务时与客户端唯一标识码绑定好的,优选的,客户端唯一标识码为用户手机号。
步骤203:客户端对获取到的蓝牙设备的序列号进行哈希计算,得到第一哈希值;
具体的,客户端应用预设哈希算法对蓝牙设备的序列号进行哈希计算,其中,优选的,预设哈希算法为SHA-1算法,除此之外,还可以为MD2、MD5算法等。
步骤204:客户端选择搜索到的蓝牙广播包的值为第一哈希值的蓝牙设备,与该蓝牙设备建立蓝牙连接;
本实施例中,客户端对搜索到的所有蓝牙广播包的值进行逐一比对,查找蓝牙广播包的值为第一哈希值的蓝牙设备,与之建立蓝牙连接;
本步骤还包括:客户端判断是否能够查找到蓝牙广播包的值为第一哈希值的蓝牙设备,如果是,则与该蓝牙设备建立蓝牙连接,建立与蓝牙设备的蓝牙通道,否则说明当前搜索到的蓝牙设备均不是本客户端能够识别的蓝牙设备,因此,报错,结束。
步骤205:客户端与蓝牙设备协商会话密钥;
本实施例中,客户端与蓝牙设备协商会话密钥包括蓝牙层协商会话密钥和指令层协商会话密钥;
其中,指令层协商会话密钥具体为:客户端生成随机数作为会话密钥,应用预先保存的公钥对会话密钥进行加密,将加密结果发送至蓝牙设备,蓝牙设备应用预先保存的私钥对接收到的解密结果进行解密,得到会话密钥并保存至蓝牙设备存储区中,向客户端返回协商会话密钥成功响应,客户端将生成的随机数作为会话密钥保存至客户端存储区中,协商会话密钥成功。
步骤206:客户端判断是否已与该蓝牙设备进行过配对,如果是,则执行步骤207,否则执行步骤210;
具体的,客户端从客户端存储区中获取与该蓝牙设备对应的配对标识,判断该配对标识是否为已配对,如果是,则客户端已与该蓝牙设备进行过配对,否则客户端未与该蓝牙设备进行过配对;
步骤207:客户端从客户端存储区中获取内部保存的客户端唯一标识码;
本实施例中,优选的,客户端唯一标识码可以为用户手机号,除此之外还可以为客户端的唯一标识码。
步骤208:客户端将客户端唯一标识码发送至蓝牙设备进行配对验证;
步骤209:蓝牙设备从蓝牙设备存储区中获取内部保存的客户端唯一标识码,判断获取到的客户端唯一标识码和接收到的客户端唯一标识码是否相同,如果是,则配对成功,进入交易流程,否则向客户端发送未进行过配对响应,执行步骤210;
本步骤之前还包括:蓝牙设备从蓝牙设备存储区中获取与该客户端对应的配对标识,判断该配对标识是否为已配对,如果是,则执行步骤209,否则向客户端发送未进行过配对响应,执行步骤210。
步骤210:客户端生成随机数并保存至客户端存储区中,根据该随机数生成发送随机数指令,应用协商好的会话密钥对发送随机数指令进行加密,得到加密的发送随机数指令;
本实施例中,客户端调用随机数生成函数,生成随机数,将该随机数作为数据域加上指令头组成发送随机数指令,根据预设加密算法,应用协商好的会话密钥对发送随机数指令进行加密,优选的,预设加密算法为DES算法,除此之外还可以为AES算法等。
步骤211:客户端将加密的发送随机数指令发送至蓝牙设备;
步骤212:蓝牙设备应用协商好的会话密钥对接收到的指令进行解密,判断解密得到指令是否为发送随机数指令,如果是,则执行步骤213,否则结束;
本实施例中,当蓝牙设备判断解密得到的指令不是发送随机数指令时,还包括:蓝牙设备显示提示信息,主动断开与客户端的蓝牙连接并进入省电模式;
其中,蓝牙设备显示的提示信息可以为:“非法连接,请仔细核实连接自己的掌银”,进入省电模式包括关机或进入休眠状态,休眠状态可以包括关闭显示屏等。
步骤213:蓝牙设备从解密得到的发送随机数指令中获取随机数,并获取蓝牙设备存储区中保存的设备序列号,对随机数和设备序列号进行哈希运算,得到哈希值并保存至蓝牙设备存储区中;
具体的,蓝牙设备应用预设哈希算法对随机数和设备序列号进行哈希运算,其中,优选的,预设哈希算法为SHA-1算法,除此之外,还可以为MD2、MD5算法等。
步骤214:蓝牙设备根据哈希值生成验证指令,应用协商好的会话密钥对该验证指令进行加密,得到加密的验证指令;
步骤215:蓝牙设备将加密的验证指令发送至客户端;
步骤216:客户端应用协商好的会话密钥对加密的验证指令进行解密,得到验证指令,并从验证指令中获取哈希值,根据客户端存储区中保存的蓝牙设备的设备序列号和随机数验证该哈希值是否正确,如果是,则执行步骤217,否则结束;
本实施例中,客户端根据客户端存储区中保存的蓝牙设备的设备序列号和随机数验证该哈希值是否正确,具体为:客户端获取保存的设备序列号和随机数,对设备序列号和随机数进行哈希运算,生成第三哈希值,判断第三哈希值与哈希值是否相等,如果是,则哈希值正确,否则哈希值不正确;
本步骤中,当客户端判断哈希值不正确时,还包括:客户端断开与蓝牙设备的蓝牙连接。
步骤217:客户端根据第三哈希值生成配对码,根据该配对码生成提示信息,显示该提示信息;
本实施例中,根据第三哈希值生成配对码,具体可以为获取第三哈希值的预设位上的数据作为配对码或者对第三哈希值进行预设运算生成配对码等;
例如,客户端获取第三哈希值前四位数据作为配对码;
本步骤中,根据该配对码生成的提示信息可以为:“正在配对,配对码为xxxx”。
步骤218:客户端向蓝牙设备发送配对请求;
步骤219:蓝牙设备接收到配对请求后,获取蓝牙设备存储区中保存的哈希值,根据哈希值生成配对码,根据该配对码生成提示信息,显示该提示信息;
本实施例中,根据哈希值生成配对码,具体可以为获取哈希值的预设位上的数据作为配对码或者对哈希值进行预设运算生成配对码等;
例如,蓝牙设备获取哈希值前四位作为配对码;
本步骤中,根据该配对码生成的提示信息可以为:“请确认配对码xxxx,您的设备正在与其他设备建立连接,请按确认键进行配对,按取消键取消配对”。
步骤220:蓝牙设备检测按键状态,当检测到确认键按下时,执行步骤222,当检测到取消键按下时,执行步骤221;
步骤221:蓝牙设备提示取消配对,进入省电模式。
步骤222:蓝牙设备将客户端唯一标识码保存至蓝牙设备存储区中;
本实施例中,蓝牙设备将客户端唯一标识码保存至蓝牙设备存储区中,具体为:
蓝牙设备判断蓝牙设备存储区中是否存在其他已配对的客户端唯一标识码,如果是,则将其他已配对的客户端唯一标识码删除,并将接收到的客户端唯一标识码作为已配对的客户端唯一标识码保存;
或者,蓝牙设备判断蓝牙设备存储区中已配对的客户端唯一标识码的个数是否达到预设值(优选为3),如果是,则根据预设方式将其中一个已配对的客户端唯一标识码删除,并将接收到的客户端唯一标识码作为已配对的客户端唯一标识码保存;
其中,预设方式可以为将最先保存的已配对的客户端唯一标识码删除,除此之外还可以为将配对次数最少的已配对的客户端唯一标识码删除,此方式中对应的在步骤220中还包括将该客户端唯一标识码对应的配对次数加1。
步骤223:蓝牙设备向客户端发送配对成功响应;
步骤224:客户端接收到配对成功响应后,记录已与该蓝牙设备进行过配对的信息,配对成功,进入交易流程;
具体的,客户端接收到配对成功响应后,将配对标识设置为已配对。
实施例4
本发明实施例4是在实施例1、2、3的基础上提供的一种实现蓝牙设备间安全交互配对认证的系统,如图5所示,包括:客户端和蓝牙设备;
客户端包括搜索模块301、建立连接模块302、第一接收模块303、第一生成模块304、第一发送模块305和第一显示模块306;
搜索模块301,用于搜索蓝牙广播包;
建立连接模块302,用于当搜索模块301搜索到蓝牙广播包时,根据蓝牙广播包与对应的蓝牙设备建立蓝牙连接;
第一接收模块303,用于接收蓝牙设备发送的哈希值;
第一生成模块304,用于当建立连接模块302建立蓝牙连接后,生成随机数;当第一接收模块303接收到哈希值后,根据哈希值生成配对码;
第一发送模块305,用于将第一生成模块304生成的随机数发送至蓝牙设备;当第一显示模块306显示配对码后,向蓝牙设备发送配对请求;
第一显示模块306,用于显示第一生成模块304生成的配对码;
蓝牙设备包括第二接收模块401、第二生成模块402、存储模块403、第二发送模块404、第二显示模块405和检测模块406;
第二接收模块401,用于接收客户端发送的配对请求或随机数;
第二生成模块402,用于根据第二接收模块401接收到的随机数生成哈希值;当第二接收模块401接收到客户端发送的配对请求时,根据存储模块403存储的哈希值生成配对码;
存储模块403,用于保存第二生成模块402生成的哈希值;
第二发送模块404,用于将第二生成模块402生成的哈希值发送至客户端;
第二显示模块405,用于显示第二生成模块402生成的配对码;
检测模块406,用于当第二显示模块405显示配对码后,检测按键状态,当检测到确认键按下时,配对成功,当检测到取消键按下时,配对失败。
本实施例中,客户端还包括第一协商模块,用于与蓝牙设备协商会话密钥;
蓝牙设备还包括第二协商模块,用于与客户端协商会话密钥。
其中,第一协商模块,具体包括生成单元、加密单元、第一发送单元、第一接收单元和第一存储单元;
生成单元,用于生成会话密钥;
加密单元,用于应用预先保存的公钥对生成单元生成的会话密钥进行加密;
第一发送单元,用于将加密单元得到的加密结果发送至蓝牙设备;
第一接收单元,用于接收蓝牙设备返回的协商会话密钥成功响应;
第一存储单元,用于当第一接收单元接收到协商会话密钥成功响应时,将生成单元生成的会话密钥保存;
第二协商模块,具体包括第二接收单元、解密单元、第二存储单元和第二发送单元;
第二接收单元,用于接收客户端发送的加密结果;
解密单元,用于应用预先保存的私钥对第二接收单元接收到的解密结果进行解密;
第二存储单元,用于将解密单元解密得到的会话密钥保存;
第二发送单元,用于当存储单元存储完成会话密钥后,向客户端返回协商会话密钥成功响应。
本实施例中,第一生成模块304,具体用于生成随机数,根据随机数生成发送随机数指令,应用会话密钥对发送随机数指令进行加密,得到加密的发送随机数指令;
第二接收模块401,用于接收客户端发送的加密的发送随机数指令;
蓝牙设备还包括解密模块、第一判断模块、获取模块和断开模块;
解密模块,用于应用会话密钥对第二接收模块401接收到的发送随机数指令进行解密;
第一判断模块,用于判断解密模块解密得到的数据是否是随机数指令;
获取模块,用于当第一判断模块判断为是时,从随机数指令中获取随机数;
断开模块,用于当第一判断模块判断为否时,主动断开与客户端的蓝牙连接并进入省电模式。
本实施例中,第二生成模块402,具体用于获取保存的蓝牙设备的设备序列号,对随机数和设备序列号进行哈希运算,得到哈希值。
客户端还包括第二判断模块,用于当第一接收模块303接收到哈希值后,根据保存的蓝牙设备的设备序列号和随机数验证哈希值是否正确,判断为是时,触发第一生成模块304,判断为否时,结束。
进一步的,第一生成模块304,具体用于获取哈希值的预设位上的数据作为配对码;
第二生成模块402,具体用于获取哈希值的预设位上的数据作为配对码。
除此之外,第一生成模块304,具体用于对哈希值进行预设运算生成配对码;
第二生成模块402,具体用于对哈希值进行预设运算生成配对码。
本实施例中,客户端还包括配对模块,用于判断是否已与蓝牙设备进行过配对,判断为是时,触发第一发送模块305,判断为否时,触发第一生成模块304;
第一发送模块305,还用于获取客户端中保存的客户端唯一标识码,将客户端唯一标识码发送至蓝牙设备进行验证;
第二接收模块401,还用于接收客户端发送的客户端唯一标识码;
蓝牙设备,还包括第三判断模块和存储模块403;
第三判断模块,用于当第二接收模块401接收到客户端唯一标识码时,获取蓝牙设备中保存的客户端唯一标识码,判断获取到的客户端唯一标识码与接收到的客户端唯一标识码是否相同,判断为是时,触发存储模块403,判断为否时,触发第一生成模块304;
存储模块403,还用于将客户端唯一标识码保存至蓝牙设备中。
本实施例中,第一发送模块305,还用于组织待签名数据,根据待签名数据生成签名指令,将签名指令发送至蓝牙设备;还用于将签名成功响应中的签名结果,发送至服务器进行验证;
第二接收模块401,还用于接收客户端发送的签名指令;
第二显示模块405,还用于从第二接收模块401接收到的签名指令中获取待签名数据,显示待签名数据;
检测模块406,还用于当第二显示模块405显示待签名数据后,检测按键状态;
第二发送模块404,还用于当检测模块406检测到确认键按下时,对待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至客户端;当检测模块406检测到取消键按下时,向客户端发送签名失败响应;
第一接收模块303,还用于接收蓝牙设备发送的签名响应;还用于接收服务器返回的验证结果;
客户端还包括第五判断模块,用于判断第一接收模块303接收到的签名响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则触发第一发送模块305;判断服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
实施例5
本发明实施例5提供了一种实现安全配对的蓝牙设备的工作方法,如图6所示,包括:
步骤501:蓝牙设备启动,组织并广播蓝牙广播包,等待与客户端建立蓝牙连接,当蓝牙设备与客户端建立蓝牙连接时,执行步骤502;
其中,组织并广播蓝牙广播包,具体为以下操作的一种:
一、蓝牙设备根据蓝牙设备的设备序列号组成蓝牙广播包,广播蓝牙广播包;
二、蓝牙设备从蓝牙设备中获取内部保存的设备序列号,对设备序列号进行哈希计算,生成哈希值,根据哈希值组成蓝牙广播包,广播蓝牙广播包;
三、蓝牙设备从蓝牙设备中获取内部保存的设备序列号的哈希值,根据哈希值组成蓝牙广播包,广播蓝牙广播包。
步骤502:蓝牙设备判断是否接收到客户端发送的随机数,如果是,则根据随机数生成哈希值并保存,并将哈希值发送至客户端,执行步骤503,否则报错,结束;
本步骤中,根据随机数生成哈希值,具体为:蓝牙设备获取保存的蓝牙设备的设备序列号,对随机数和设备序列号进行哈希运算,得到哈希值。
步骤503:蓝牙设备接收客户端发送的配对请求,根据保存的哈希值生成配对码并显示;
其中,根据保存的哈希值生成配对码,具体为以下操作的一种:
一、获取哈希值的预设位上的数据作为配对码;
二、对哈希值进行预设运算生成配对码。
步骤504:蓝牙设备检测按键状态,当检测到确认键按下时,配对成功,进入交易流程,等待接收客户端发送的指令,当检测到取消键按下时,配对失败,结束。
本实施例中,步骤502之前还包括:蓝牙设备接收客户端发送的客户端唯一标识码,获取蓝牙设备中保存的客户端唯一标识码,判断获取到的客户端唯一标识码与接收到的客户端唯一标识码是否相同,如果是,则配对成功,否则执行步骤502;
当蓝牙设备接收客户端发送的客户端唯一标识码后,还包括:蓝牙设备判断是否已与客户端进行过配对,如果是,则继续,否则执行步骤502;
步骤504中,当检测到确认键按下时,还包括:将接收到的客户端唯一标识码保存至蓝牙设备中;
其中,将接收到的客户端唯一标识码保存至蓝牙设备中,具体为:
蓝牙设备判断蓝牙设备中是否存在其他已配对的客户端唯一标识码,如果是,则将其他已配对的客户端唯一标识码删除,并将客户端唯一标识码作为已配对的客户端唯一标识码保存,否则直接将客户端唯一标识码作为已配对的客户端唯一标识码保存;
或者,蓝牙设备判断蓝牙设备中已配对的客户端唯一标识码的个数是否达到预设值,如果是,则将其中一个已配对的客户端唯一标识码删除,并将客户端唯一标识码作为已配对的客户端唯一标识码保存,否则直接将客户端唯一标识码作为已配对的客户端唯一标识码保存。
本实施例中,步骤501中,蓝牙设备与客户端建立蓝牙连接后,还包括:蓝牙设备与客户端协商会话密钥,具体为:蓝牙设备接收客户端发送的加密结果,应用预先保存的私钥对加密结果进行解密,得到会话密钥并保存,并向客户端返回协商会话密钥成功响应;
对应的,步骤502中,判断是否接收到客户端发送的随机数,具体包括:蓝牙设备接收客户端发送的指令,应用会话密钥对指令进行解密,判断解密得到的数据是否为随机数指令,如果是,则从随机数指令中获取随机数,否则主动断开与客户端的蓝牙连接并进入省电模式。
实施例6
本发明实施例6是在实施例5的基础上提供的一种实现安全配对的蓝牙设备,如图7所示,包括:
组织广播模块601,用于当蓝牙设备启动时,组织并广播蓝牙广播包;
蓝牙连接模块602,用于与客户端建立蓝牙连接;
第一判断模块603,用于与客户端建立蓝牙连接后,判断是否接收到客户端发送的随机数,判断为是时,触发处理模块604,判断为否时,报错,结束;
处理模块604,用于根据随机数生成哈希值并保存;
发送模块605,用于将处理模块604得到的哈希值发送至客户端;
接收模块606,用于接收客户端发送的配对请求;当配对成功时,接收客户端发送的指令;
显示模块607,用于当接收模块606接收到配对请求后,根据处理模块604保存的哈希值生成配对码并显示;
检测模块608,用于当显示模块607显示配对码后,检测按键状态,当检测到确认键按下时,配对成功,当检测到取消键按下时,配对失败。
其中,组织广播模块601,具体用于根据蓝牙设备的设备序列号组成蓝牙广播包,广播蓝牙广播包;
或者,组织广播模块601,具体用于从蓝牙设备中获取内部保存的设备序列号,对设备序列号进行哈希计算,生成哈希值,根据哈希值组成蓝牙广播包,广播蓝牙广播包。
或者,组织广播模块601,具体用于从蓝牙设备中获取内部保存的设备序列号的哈希值,根据哈希值组成蓝牙广播包,广播蓝牙广播包。
本实施例中,处理模块604,具体用于获取保存的蓝牙设备的设备序列号,对随机数和设备序列号进行哈希运算,得到哈希值。
显示模块607,具体用于当接收模块606接收到配对请求后,获取处理模块604保存的哈希值的预设位上的数据作为配对码并显示;或者,显示模块607,具体用于当接收模块606接收到配对请求后,对处理模块604保存的哈希值进行预设运算生成配对码并显示。
本实施例中,蓝牙设备还包括第二判断模块、获取模块和存储模块;
接收模块606,还用于接收客户端发送的客户端唯一标识码;
获取模块,用于获取蓝牙设备中保存的客户端唯一标识码;
第二判断模块,用于判断获取到的客户端唯一标识码与接收到的客户端唯一标识码是否相同,判断为是时,配对成功,判断为否时,触发第一判断模块603;
存储模块,用于当检测模块608检测到确认键按下时,将接收到的客户端唯一标识码保存至蓝牙设备中。
进一步的,蓝牙设备还包括第三判断模块,用于当接收模块606接收到客户端发送的客户端唯一标识码后,判断是否已与客户端进行过配对,判断为是时,触发获取模块,判断为否时,触发第一判断模块603。
存储模块,具体用于判断蓝牙设备中是否存在其他已配对的客户端唯一标识码,判断为是时,将其他已配对的客户端唯一标识码删除,并将接收到的客户端唯一标识码作为已配对的客户端唯一标识码保存,判断为否时,直接将接收到的客户端唯一标识码作为已配对的客户端唯一标识码保存;
或者,存储模块,具体用于判断蓝牙设备中已配对的客户端唯一标识码的个数是否达到预设值,判断为是时,将其中一个已配对的客户端唯一标识码删除,并将接收到的客户端唯一标识码作为已配对的客户端唯一标识码保存,判断为否时,直接将接收到的客户端唯一标识码作为已配对的客户端唯一标识码保存。
更进一步的,蓝牙设备还包括:协商密钥模块,用于与客户端协商会话密钥,具体用于接收客户端发送的加密结果,应用预先保存的私钥对加密结果进行解密,得到会话密钥并保存,并向客户端返回协商会话密钥成功响应。
第一判断模块603,具体用于接收客户端发送的指令,应用会话密钥对指令进行解密,判断解密得到的数据是否为随机数指令,判断为是时,从随机数指令中获取随机数,判断为否时,主动断开与客户端的蓝牙连接并进入省电模式。
本实施例中,蓝牙设备还包括签名模块;
接收模块606,还用于接收客户端发送的签名指令;
显示模块607,还用于从签名指令中获取待签名数据,显示待签名数据;
检测模块608,还用于当显示模块607显示待签名数据后,检测按键状态,当检测到确认键按下时,触发签名模块,当检测到取消键按下时,向客户端发送签名失败响应;
签名模块,用于对待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至客户端。
实施例7
本发明实施例7提供了一种实现安全配对的客户端的工作方法,如图8所示,包括:
步骤701:客户端打开蓝牙连接并搜索蓝牙广播包,当搜索到蓝牙广播包时,根据蓝牙广播包与对应的蓝牙设备建立蓝牙连接,生成随机数并发送至蓝牙设备;
本实施例中,当搜索蓝牙广播包时,执行以下操作中的一种:
一、客户端根据客户端唯一标识码从服务器中获取与客户端绑定的蓝牙设备的设备序列号,判断获取到的设备序列号和蓝牙广播包中的设备序列号是否匹配,如果是,则继续,否则继续搜索蓝牙广播包;
二、客户端根据客户端唯一标识码从服务器中获取与客户端绑定的蓝牙设备的设备序列号,对获取到的设备序列号进行哈希计算,得到第一哈希值,判断第一哈希值和蓝牙广播包中的设备序列号的哈希值是否匹配,如果是,则继续,否则继续搜索蓝牙广播包;
三、客户端根据客户端唯一标识码从服务器中获取与客户端绑定的蓝牙设备的设备序列号的哈希值,判断获取到的哈希值和蓝牙广播包中的设备序列号的哈希值是否匹配,如果是,则继续,否则继续搜索蓝牙广播包。
步骤702:客户端接收蓝牙设备返回的哈希值,根据生成的随机数,判断接收到的哈希值是否正确,如果是,则执行步骤703,否则报错,结束;
本实施例中,接收到的哈希值为蓝牙设备对随机数进行计算所得;
其中,根据生成的随机数,判断接收到的哈希值是否正确,具体为:客户端获取保存的蓝牙设备的设备序列号,对设备序列号和随机数进行哈希计算,生成第三哈希值,判断第三哈希值与哈希值是否相同,如果是,则执行步骤703,否则报错,结束。
步骤703:客户端根据哈希值生成配对码并显示,并向蓝牙设备发送配对请求;
本实施例中,根据哈希值生成配对码,具体为以下操作的一种:
一、获取哈希值的预设位上的数据作为配对码;
二、对哈希值进行预设运算生成配对码。
步骤704:客户端接收蓝牙设备返回的配对成功信息,进入交易流程。
本实施例中,步骤701中,建立连接和生成随机数之间,还包括:
步骤a1:客户端判断是否已与蓝牙设备进行过配对,如果是,则执行步骤a2,否则生成随机数;
步骤a2:客户端获取客户端中保存的客户端唯一标识码,将客户端唯一标识码发送至蓝牙设备进行验证;
步骤a3:客户端接收并蓝牙设备返回的验证结果,如果是验证成功,则配对成功,记录已与蓝牙设备进行过配对,如果是验证失败,则生成随机数。
本实施例还包括当客户端启动时,获取并判断保存的激活标识,如果为已激活,则执行步骤701,如果为未激活,则跳转至激活界面,接收用户选择的激活请求,根据用户手机号将激活请求短信发送至服务器进行激活,当接收到服务器返回的激活成功响应时,将激活标识置为已激活。
其中,步骤701中,与对应的蓝牙设备建立蓝牙连接后,还包括:客户端与蓝牙设备协商会话密钥,具体为:客户端生成会话密钥,应用预先保存的公钥对会话密钥进行加密,将加密结果发送至蓝牙设备,接收客户端返回的协商会话密钥成功响应,将会话密钥保存;
对应的,步骤701中,生成随机数并发送至蓝牙设备,具体包括:客户端生成随机数,根据随机数生成随机数指令,应用会话密钥对随机数指令进行加密,得到加密的随机数指令并发送至蓝牙设备。
实施例8
本发明实施例8是在实施例7的基础上提供的一种实现安全配对的客户端,如图9所示,包括:
搜索模块801,用于打开蓝牙连接并搜索蓝牙广播包;
建立连接模块802,用于当搜索模块801搜索到蓝牙广播包时,根据蓝牙广播包与对应的蓝牙设备建立蓝牙连接;
第一生成模块803,用于当建立连接模块802建立蓝牙连接完成时,生成随机数;
发送模块804,用于将第一生成模块803生成的随机数发送至蓝牙设备;向蓝牙设备发送配对请求;
接收模块805,用于接收蓝牙设备返回的哈希值;接收蓝牙设备返回的配对成功信息。
第一判断模块806,用于当接收模块805接收到哈希值后,根据生成的随机数,判断接收到的哈希值是否正确,判断为是时,触发第二生成模块807,判断为否时,报错,结束;
第二生成模块807,用于根据哈希值生成配对码;
显示模块808,用于显示第二生成模块807生成的配对码。
本实施例中,客户端还包括第二判断模块,用于当搜索模块801搜索到蓝牙广播包后,根据客户端唯一标识码从服务器中获取与客户端绑定的蓝牙设备的设备序列号,判断获取到的设备序列号和蓝牙广播包中的设备序列号是否匹配,判断为是时,触发建立连接模块802,判断为否时,触发搜索模块801。
进一步的,客户端还包括第三判断模块,用于当搜索模块801搜索到蓝牙广播包后,根据客户端唯一标识码从服务器中获取与客户端绑定的蓝牙设备的设备序列号,对获取到的设备序列号进行哈希计算,得到第一哈希值,判断第一哈希值和蓝牙广播包中的设备序列号的哈希值是否匹配,判断为是时,触发建立连接模块802,判断为否时,触发搜索模块801。
更进一步的,客户端还包括第四判断模块,用于当搜索模块801搜索到蓝牙广播包后,根据客户端唯一标识码从服务器中获取与客户端绑定的蓝牙设备的设备序列号的哈希值,判断获取到的哈希值和蓝牙广播包中的设备序列号的哈希值是否匹配,判断为是时,触发建立连接模块802,判断为否时,触发搜索模块801。
其中,第一判断模块806,具体用于获取保存的蓝牙设备的设备序列号,对设备序列号和随机数进行哈希计算,生成第三哈希值,判断第三哈希值与哈希值是否相同,判断为是时,触发第二生成模块807,判断为否时,报错,结束。
第二生成模块807,具体用于获取哈希值的预设位上的数据作为配对码;或者对哈希值进行预设运算生成配对码。
本实施例中,客户端还包括第五判断模块、获取模块、第六判断模块和记录模块;
第五判断模块,用于当建立连接模块802建立蓝牙连接完成后,判断是否已与蓝牙设备进行过配对,判断为是时,触发获取模块,判断为否时,触发第一生成模块803;
获取模块,用于获取客户端中保存的客户端唯一标识码;
发送模块804,还用于将获取模块获取到的客户端唯一标识码发送至蓝牙设备进行验证;
第六判断模块,用于接收并蓝牙设备返回的验证结果,判断为验证成功时,触发记录模块,判断为验证失败时,触发第一生成模块803;
记录模块,用于记录已与蓝牙设备进行过配对。
本实施例中,客户端还包括第七判断模块、跳转模块和设置模块;
第七判断模块,用于获取并判断保存的激活标识,判断为已激活时,触发搜索模块801,判断为未激活时,触发跳转模块;
跳转模块,用于跳转至激活界面;
接收模块805,还用于接收用户选择的激活请求;接收服务器返回的激活成功响应;
发送模块804,还用于根据用户手机号将激活请求短信发送至服务器进行激活;
设置模块,用于当接收模块805接收到服务器返回的激活成功响应时,将激活标识置为已激活。
进一步的,本实施例中,客户端还包括协商密钥模块,用于与蓝牙设备协商会话密钥,具体用于生成会话密钥,应用预先保存的公钥对会话密钥进行加密,将加密结果发送至蓝牙设备,接收客户端返回的协商会话密钥成功响应,将会话密钥保存。
对应的,第一生成模块803,具体用于生成随机数,根据随机数生成随机数指令,应用会话密钥对随机数指令进行加密,得到加密的随机数指令。
本实施例中,客户端还包括第八判断模块和验签模块;
发送模块804,还用于组织待签名数据,根据待签名数据生成签名指令,将签名指令发送至蓝牙设备;
接收模块805,还用于接收蓝牙设备返回的响应;
第八判断模块,用于判断蓝牙设备返回的响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则触发验签模块;
验签模块,用于将签名成功响应中的签名结果发送至服务器进行验证,接收并判断服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
实施例9
本发明实施例9是在实施例1、2、3、5、7的基础上提供的进入交易流程的具体操作,如图10所示,包括:
步骤901:客户端接收到配对成功响应后,组织待签名数据,根据待签名数据生成签名指令;
步骤902:客户端将签名指令通过已建立的蓝牙通道发送至蓝牙设备;
步骤903:蓝牙设备从接收到的签名指令中获取待签名数据,显示该待签名数据;
例如,蓝牙设备获取到的待签名数据为:
蓝牙设备显示的数据为:
收款账号:6221286897001736
收款户名:李四
交易金额:100
步骤904:蓝牙设备检测按键状态,当检测到确认键按下时,执行步骤906,当检测到取消键按下时,执行步骤905。
步骤905:蓝牙设备显示取消签名信息,通过已建立的蓝牙通道向客户端发送签名失败响应,执行步骤907。
步骤906:蓝牙设备对待签名数据执行签名操作,得到签名结果,根据签名结果生成签名成功响应,通过已建立的蓝牙通道向客户端发送签名成功响应,执行步骤907;
具体的,蓝牙设备应用预设签名算法对待签名数据进行签名,得到签名结果,优选的,预设签名算法为RSA签名算法等。
步骤907:客户端判断接收到的响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则执行步骤908:
步骤908:客户端从签名成功响应中获取签名结果,将签名结果发送至服务器进行验证,接收服务器返回的验证结果;
步骤909:客户端判断接收到的服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束;
本实施例中,交易成功后还包括客户端通过已建立的蓝牙通道向蓝牙设备发送交易成功信息,蓝牙设备显示交易成功信息,结束。
以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (75)

1.一种实现蓝牙设备间安全交互配对认证的方法,其特征在于,包括:
步骤S1:当客户端搜索到蓝牙广播包时,根据所述蓝牙广播包与对应的蓝牙设备建立蓝牙连接,生成随机数并发送至所述蓝牙设备;
步骤S2:所述蓝牙设备根据接收到的所述随机数生成哈希值并保存,并将所述哈希值发送至所述客户端;
步骤S3:所述客户端根据生成的所述随机数,判断接收到的所述哈希值是否正确,如果是,则根据所述哈希值生成配对码并显示,并向所述蓝牙设备发送配对请求,执行步骤S4,否则报错,结束;
步骤S4:所述蓝牙设备接收到所述配对请求后,根据保存的所述哈希值生成配对码并提示用户进行配对码比对;
步骤S5:所述蓝牙设备检测按键状态,当检测到确认键按下时,配对成功,等待接收所述客户端发送的指令,当检测到取消键按下时,配对失败,结束。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1中,所述建立蓝牙连接之后,还包括:所述客户端与所述蓝牙设备协商会话密钥。
3.根据权利要求2所述的方法,其特征在于,所述协商会话密钥,具体为:
所述客户端生成会话密钥,应用预先保存的公钥对所述会话密钥进行加密,将加密结果发送至所述蓝牙设备,所述蓝牙设备应用预先保存的私钥对接收到的加密结果进行解密,得到会话密钥并保存,向所述客户端返回协商会话密钥成功响应,所述客户端将所述会话密钥保存,协商会话密钥成功。
4.根据权利要求2所述的方法,其特征在于,
所述步骤S1中,所述生成随机数,具体为:所述客户端生成随机数,根据所述随机数生成随机数指令,应用所述会话密钥对所述随机数指令进行加密,得到加密的随机数指令;
所述步骤S2还包括:所述蓝牙设备接收到所述加密的随机数指令后,应用所述会话密钥对所述指令进行解密,判断解密得到的数据是否是随机数指令,是则从所述随机数指令中获取所述随机数,否则主动断开与所述客户端的蓝牙连接并进入省电模式。
5.根据权利要求1所述的方法,其特征在于,
所述步骤S2中,所述根据接收到的所述随机数生成哈希值,具体为:所述蓝牙设备获取保存的蓝牙设备的设备序列号,对所述随机数和所述设备序列号进行哈希运算,得到哈希值;
所述步骤S3中,所述判断接收到的所述哈希值是否正确,具体为:所述客户端获取保存的蓝牙设备的设备序列号,对所述设备序列号和所述随机数进行哈希计算,生成哈希值,判断生成的哈希值与接收到的哈希值是否相同,如果是,则根据接收到的哈希值生成配对码并显示,并向所述蓝牙设备发送配对请求,否则报错,结束。
6.根据权利要求1所述的方法,其特征在于,
所述步骤S3中,所述根据所述哈希值生成配对码,具体为:所述客户端获取所述哈希值的预设位上的数据作为配对码;
所述步骤S4中,所述根据所述哈希值生成配对码,具体为:所述蓝牙设备获取所述哈希值的预设位上的数据作为配对码。
7.根据权利要求1所述的方法,其特征在于,
所述步骤S3中,所述根据所述哈希值生成配对码,具体为:所述客户端对所述哈希值进行预设运算生成配对码;
所述步骤S4中,所述根据所述哈希值生成配对码,具体为:所述蓝牙设备对所述哈希值进行预设运算生成配对码。
8.根据权利要求1所述的方法,其特征在于,所述步骤S1中,所述建立蓝牙连接和所述生成随机数之间,还包括:
步骤a1:所述客户端判断是否已与所述蓝牙设备进行过配对,如果是,则执行步骤a2,否则生成随机数;
步骤a2:所述客户端获取所述客户端中保存的客户端唯一标识码,将所述客户端唯一标识码发送至所述蓝牙设备进行验证;
步骤a3:所述蓝牙设备获取所述蓝牙设备中保存的客户端唯一标识码,判断获取到的所述客户端唯一标识码与接收到的所述客户端唯一标识码是否相同,如果是,则配对成功,否则生成随机数;
所述步骤S5中,当配对成功时,还包括:所述蓝牙设备将接收到的所述客户端唯一标识码保存至所述蓝牙设备中。
9.根据权利要求1所述的方法,其特征在于,所述步骤S5中,配对成功后,还包括:
步骤b1:所述客户端组织待签名数据,根据所述待签名数据生成签名指令,将所述签名指令发送至所述蓝牙设备;
步骤b2:所述蓝牙设备从接收到的所述签名指令中获取待签名数据,显示所述待签名数据;
步骤b3:所述蓝牙设备检测按键状态,当检测到确认键按下时,执行步骤b4,当检测到取消键按下时,向所述客户端发送签名失败响应,执行步骤b5;
步骤b4:所述蓝牙设备对所述待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至所述客户端,执行步骤b5;
步骤b5:所述客户端判断接收到的响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则执行步骤b6;
步骤b6:所述客户端将所述签名成功响应中的签名结果发送至服务器进行验证;
步骤b7:所述客户端接收并判断所述服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
10.一种实现蓝牙设备间安全交互配对认证的系统,其特征在于,所述系统包括:客户端和蓝牙设备;
所述客户端包括搜索模块、建立连接模块、第一接收模块、第一生成模块、第一发送模块和第一显示模块;
所述搜索模块,用于搜索蓝牙广播包;
所述建立连接模块,用于当所述搜索模块搜索到蓝牙广播包时,根据所述蓝牙广播包与对应的蓝牙设备建立蓝牙连接;
所述第一接收模块,用于接收所述蓝牙设备发送的哈希值;
所述第一生成模块,用于当所述建立连接模块建立蓝牙连接后,生成随机数;当所述第一接收模块接收到所述哈希值后,根据所述哈希值生成配对码;
所述第一发送模块,用于将所述第一生成模块生成的所述随机数发送至所述蓝牙设备;当所述第一显示模块显示配对码后,向所述蓝牙设备发送配对请求;
所述第一显示模块,用于显示所述第一生成模块生成的配对码;
所述蓝牙设备包括第二接收模块、第二生成模块、存储模块、第二发送模块、第二显示模块和检测模块;
所述第二接收模块,用于接收所述客户端发送的配对请求或所述随机数;
所述第二生成模块,用于根据所述第二接收模块接收到的所述随机数生成哈希值;当所述第二接收模块接收到客户端发送的配对请求时,根据所述存储模块存储的哈希值生成配对码;
所述存储模块,用于保存所述第二生成模块生成的所述哈希值;
所述第二发送模块,用于将所述第二生成模块生成的所述哈希值发送至所述客户端;
所述第二显示模块,用于显示所述第二生成模块生成的配对码;
所述检测模块,用于当所述第二显示模块显示所述配对码后,检测按键状态,当检测到确认键按下时,配对成功,当检测到取消键按下时,配对失败。
11.根据权利要求10所述的系统,其特征在于,
所述客户端还包括第一协商模块,用于与所述蓝牙设备协商会话密钥;
所述蓝牙设备还包括第二协商模块,用于与所述客户端协商会话密钥。
12.根据权利要求11所述的系统,其特征在于,
所述第一协商模块,具体包括生成单元、加密单元、第一发送单元、第一接收单元和第一存储单元;
所述生成单元,用于生成会话密钥;
所述加密单元,用于应用预先保存的公钥对所述生成单元生成的所述会话密钥进行加密;
所述第一发送单元,用于将所述加密单元得到的加密结果发送至所述蓝牙设备;
所述第一接收单元,用于接收所述蓝牙设备返回的协商会话密钥成功响应;
所述第一存储单元,用于当所述第一接收单元接收到协商会话密钥成功响应时,将所述生成单元生成的所述会话密钥保存;
所述第二协商模块,具体包括第二接收单元、解密单元、第二存储单元和第二发送单元;
所述第二接收单元,用于接收所述客户端发送的加密结果;
所述解密单元,用于应用预先保存的私钥对所述第二接收单元接收到的解密结果进行解密;
所述第二存储单元,用于将所述解密单元解密得到的会话密钥保存;
所述第二发送单元,用于当所述存储单元存储完成所述会话密钥后,向所述客户端返回协商会话密钥成功响应。
13.根据权利要求11所述的系统,其特征在于,所述第一生成模块,具体用于生成随机数,根据所述随机数生成发送随机数指令,应用所述会话密钥对所述发送随机数指令进行加密,得到加密的发送随机数指令;
所述第二接收模块,用于接收所述客户端发送的所述加密的发送随机数指令;
所述蓝牙设备还包括解密模块、第一判断模块、获取模块和断开模块;
所述解密模块,用于应用所述会话密钥对所述第二接收模块接收到的所述发送随机数指令进行解密;
所述第一判断模块,用于判断所述解密模块解密得到的数据是否是随机数指令;
所述获取模块,用于当所述第一判断模块判断为是时,从所述随机数指令中获取所述随机数;
所述断开模块,用于当所述第一判断模块判断为否时,主动断开与所述客户端的蓝牙连接并进入省电模式。
14.根据权利要求10所述的系统,其特征在于,
所述第二生成模块,具体用于获取保存的蓝牙设备的设备序列号,对所述随机数和所述设备序列号进行哈希运算,得到哈希值。
所述客户端还包括第二判断模块,用于当所述第一接收模块接收到所述哈希值后,根据保存的蓝牙设备的设备序列号和所述随机数验证所述哈希值是否正确,判断为是时,触发所述第一生成模块,判断为否时,结束。
15.根据权利要求10所述的系统,其特征在于,
所述第一生成模块,具体用于获取所述哈希值的预设位上的数据作为配对码;
所述第二生成模块,具体用于获取所述哈希值的预设位上的数据作为配对码。
16.根据权利要求10所述的系统,其特征在于,
所述第一生成模块,具体用于对所述哈希值进行预设运算生成配对码;
所述第二生成模块,具体用于对所述哈希值进行预设运算生成配对码。
17.根据权利要求10所述的系统,其特征在于,
所述客户端还包括配对模块,用于判断是否已与所述蓝牙设备进行过配对,判断为是时,触发所述第一发送模块,判断为否时,触发所述第一生成模块;
所述第一发送模块,还用于获取所述客户端中保存的客户端唯一标识码,将所述客户端唯一标识码发送至所述蓝牙设备进行验证;
所述第二接收模块,还用于接收所述客户端发送的所述客户端唯一标识码;
所述蓝牙设备,还包括第三判断模块和存储模块;
所述第三判断模块,用于当所述第二接收模块接收到所述客户端唯一标识码时,获取所述蓝牙设备中保存的客户端唯一标识码,判断获取到的所述客户端唯一标识码与接收到的所述客户端唯一标识码是否相同,判断为是时,触发所述存储模块,判断为否时,触发所述第一生成模块;
所述存储模块,用于将所述客户端唯一标识码保存至所述蓝牙设备中。
18.根据权利要求17所述的系统,其特征在于,所述存储模块,还用于将所述客户端唯一标识码保存至所述蓝牙设备中。
19.根据权利要求10所述的系统,其特征在于,
所述第一发送模块,还用于组织待签名数据,根据所述待签名数据生成签名指令,将所述签名指令发送至所述蓝牙设备;还用于将签名成功响应中的签名结果,发送至服务器进行验证;
所述第二接收模块,还用于接收所述客户端发送的所述签名指令;
所述第二显示模块,还用于从所述第二接收模块接收到的所述签名指令中获取待签名数据,显示所述待签名数据;
所述检测模块,还用于当所述第二显示模块显示所述待签名数据后,检测按键状态;
所述第二发送模块,还用于当所述检测模块检测到确认键按下时,对所述待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至所述客户端;当所述检测模块检测到取消键按下时,向所述客户端发送签名失败响应;
所述第一接收模块,还用于接收所述蓝牙设备发送的签名响应;还用于接收所述服务器返回的验证结果;
所述客户端还包括第五判断模块,用于判断所述第一接收模块接收到的签名响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则触发所述第一发送模块;判断服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
20.一种实现安全配对的蓝牙设备的工作方法,其特征在于,包括:
步骤T1:蓝牙设备启动,组织并广播蓝牙广播包,等待与客户端建立蓝牙连接,当所述蓝牙设备与所述客户端建立蓝牙连接时,执行步骤T2;
步骤T2:所述蓝牙设备判断是否接收到所述客户端发送的随机数,如果是,则根据所述随机数生成哈希值并保存,并将所述哈希值发送至所述客户端,执行步骤T3,否则报错,结束;
步骤T3:所述蓝牙设备接收所述客户端发送的配对请求,根据保存的所述哈希值生成配对码并显示;
步骤T4:所述蓝牙设备检测按键状态,当检测到确认键按下时,配对成功,等待接收所述客户端发送的指令,当检测到取消键按下时,配对失败,结束。
21.根据权利要求20所述的方法,其特征在于,所述步骤T1中,所述组织并广播蓝牙广播包,具体为:所述蓝牙设备根据所述蓝牙设备的设备序列号组成蓝牙广播包,广播所述蓝牙广播包。
22.根据权利要求20所述的方法,其特征在于,所述步骤T1中,所述组织并广播蓝牙广播包,具体为:所述蓝牙设备从所述蓝牙设备中获取内部保存的设备序列号,对所述设备序列号进行哈希计算,生成哈希值,根据所述哈希值组成蓝牙广播包,广播所述蓝牙广播包。
23.根据权利要求20所述的方法,其特征在于,所述步骤T1中,所述组织并广播蓝牙广播包,具体为:所述蓝牙设备从所述蓝牙设备中获取内部保存的设备序列号的哈希值,根据所述哈希值组成蓝牙广播包,广播所述蓝牙广播包。
24.根据权利要求20所述的方法,其特征在于,所述步骤T2中,所述根据所述随机数生成哈希值,具体为:所述蓝牙设备获取保存的蓝牙设备的设备序列号,对所述随机数和所述设备序列号进行哈希运算,得到哈希值。
25.根据权利要求20所述的方法,其特征在于,所述步骤T3中,所述根据保存的所述哈希值生成配对码,具体为:获取所述哈希值的预设位上的数据作为配对码。
26.根据权利要求20所述的方法,其特征在于,所述步骤T3中,所述根据保存的所述哈希值生成配对码,具体为:对所述哈希值进行预设运算生成配对码。
27.根据权利要求20所述的方法,其特征在于,所述步骤T2之前还包括:所述蓝牙设备接收所述客户端发送的客户端唯一标识码,获取所述蓝牙设备中保存的客户端唯一标识码,判断获取到的所述客户端唯一标识码与接收到的所述客户端唯一标识码是否相同,如果是,则配对成功,否则执行步骤T2;
所述步骤T4中,当检测到确认键按下时,还包括:将接收到的所述客户端唯一标识码保存至所述蓝牙设备中。
28.根据权利要求27所述的方法,其特征在于,所述蓝牙设备接收客户端发送的客户端唯一标识码之后,还包括:所述蓝牙设备判断是否已与所述客户端进行过配对,如果是,则继续,否则执行步骤T2。
29.根据权利要求27所述的方法,其特征在于,所述蓝牙设备将所述客户端唯一标识码保存至所述蓝牙设备中,具体为:所述蓝牙设备判断所述蓝牙设备中是否存在其他已配对的客户端唯一标识码,如果是,则将所述其他已配对的客户端唯一标识码删除,并将所述客户端唯一标识码作为已配对的客户端唯一标识码保存,否则直接将所述客户端唯一标识码作为已配对的客户端唯一标识码保存。
30.根据权利要求27所述的方法,其特征在于,所述蓝牙设备将所述客户端唯一标识码保存至所述蓝牙设备中,具体为:所述蓝牙设备判断所述蓝牙设备中已配对的客户端唯一标识码的个数是否达到预设值,如果是,则将其中一个已配对的客户端唯一标识码删除,并将所述客户端唯一标识码作为已配对的客户端唯一标识码保存,否则直接将所述客户端唯一标识码作为已配对的客户端唯一标识码保存。
31.根据权利要求20所述的方法,其特征在于,所述步骤T1中,所述蓝牙设备与所述客户端建立蓝牙连接后,还包括:所述蓝牙设备与所述客户端协商会话密钥。
32.根据权利要求31所述的方法,其特征在于,所述协商会话密钥,具体为:所述蓝牙设备接收所述客户端发送的加密结果,应用预先保存的私钥对所述加密结果进行解密,得到会话密钥并保存,并向所述客户端返回协商会话密钥成功响应。
33.根据权利要求31所述的方法,其特征在于,所述步骤T2中,所述判断是否接收到所述客户端发送的随机数,具体包括:所述蓝牙设备接收所述客户端发送的指令,应用所述会话密钥对所述指令进行解密,判断解密得到的数据是否为随机数指令,如果是,则从所述随机数指令中获取随机数,否则主动断开与所述客户端的蓝牙连接并进入省电模式。
34.根据权利要求20所述的方法,其特征在于,所述步骤T4中,所述等待接收所述客户端发送的指令之后,还包括:
步骤1:所述蓝牙设备接收所述客户端发送的签名指令,从所述签名指令中获取待签名数据,显示所述待签名数据;
步骤2:所述蓝牙设备检测按键状态,当检测到确认键按下时,对所述待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至所述客户端,当检测到取消键按下时,向所述客户端发送签名失败响应。
35.一种实现安全配对的蓝牙设备,其特征在于,包括:
组织广播模块,用于当蓝牙设备启动时,组织并广播蓝牙广播包;
蓝牙连接模块,用于与客户端建立蓝牙连接;
第一判断模块,用于与所述客户端建立蓝牙连接后,判断是否接收到所述客户端发送的随机数,判断为是时,触发处理模块,判断为否时,报错,结束;
处理模块,用于根据所述随机数生成哈希值并保存;
发送模块,用于将所述处理模块得到的所述哈希值发送至所述客户端;
接收模块,用于接收所述客户端发送的配对请求;当配对成功时,接收所述客户端发送的指令;
显示模块,用于当所述接收模块接收到所述配对请求后,根据所述处理模块保存的所述哈希值生成配对码并显示;
检测模块,用于当所述显示模块显示所述配对码后,检测按键状态,当检测到确认键按下时,配对成功,当检测到取消键按下时,配对失败。
36.根据权利要求35所述的蓝牙设备,其特征在于,所述组织广播模块,具体用于根据所述蓝牙设备的设备序列号组成蓝牙广播包,广播所述蓝牙广播包。
37.根据权利要求35所述的蓝牙设备,其特征在于,所述组织广播模块,具体用于从所述蓝牙设备中获取内部保存的设备序列号,对所述设备序列号进行哈希计算,生成哈希值,根据所述哈希值组成蓝牙广播包,广播所述蓝牙广播包。
38.根据权利要求35所述的蓝牙设备,其特征在于,所述组织广播模块,具体用于从所述蓝牙设备中获取内部保存的设备序列号的哈希值,根据所述哈希值组成蓝牙广播包,广播所述蓝牙广播包。
39.根据权利要求35所述的蓝牙设备,其特征在于,所述处理模块,具体用于获取保存的蓝牙设备的设备序列号,对所述随机数和所述设备序列号进行哈希运算,得到哈希值。
40.根据权利要求35所述的蓝牙设备,其特征在于,所述显示模块,具体用于当所述接收模块接收到所述配对请求后,获取所述处理模块保存的所述哈希值的预设位上的数据作为配对码并显示。
41.根据权利要求35所述的蓝牙设备,其特征在于,所述显示模块,具体用于当所述接收模块接收到所述配对请求后,对所述处理模块保存的所述哈希值进行预设运算生成配对码并显示。
42.根据权利要求35所述的蓝牙设备,其特征在于,所述蓝牙设备还包括第二判断模块、获取模块和存储模块;
所述接收模块,还用于接收所述客户端发送的客户端唯一标识码;
所述获取模块,用于获取所述蓝牙设备中保存的客户端唯一标识码;
所述第二判断模块,用于判断获取到的所述客户端唯一标识码与接收到的所述客户端唯一标识码是否相同,判断为是时,配对成功,判断为否时,触发所述第一判断模块;
所述存储模块,用于当所述检测模块检测到确认键按下时,将接收到的所述客户端唯一标识码保存至所述蓝牙设备中。
43.根据权利要求42所述的蓝牙设备,其特征在于,所述蓝牙设备还包括第三判断模块,用于当所述接收模块接收到所述客户端发送的客户端唯一标识码后,判断是否已与所述客户端进行过配对,判断为是时,触发所述获取模块,判断为否时,触发所述第一判断模块。
44.根据权利要求42所述的蓝牙设备,其特征在于,所述存储模块,具体用于判断所述蓝牙设备中是否存在其他已配对的客户端唯一标识码,判断为是时,将所述其他已配对的客户端唯一标识码删除,并将接收到的所述客户端唯一标识码作为已配对的客户端唯一标识码保存,判断为否时,直接将接收到的所述客户端唯一标识码作为已配对的客户端唯一标识码保存。
45.根据权利要求42所述的蓝牙设备,其特征在于,所述存储模块,具体用于判断所述蓝牙设备中已配对的客户端唯一标识码的个数是否达到预设值,判断为是时,将其中一个已配对的客户端唯一标识码删除,并将接收到的所述客户端唯一标识码作为已配对的客户端唯一标识码保存,判断为否时,直接将接收到的所述客户端唯一标识码作为已配对的客户端唯一标识码保存。
46.根据权利要求35所述的蓝牙设备,其特征在于,所述蓝牙设备还包括:协商密钥模块,用于与所述客户端协商会话密钥。
47.根据权利要求46所述的蓝牙设备,其特征在于,所述协商密钥模块,具体用于接收所述客户端发送的加密结果,应用预先保存的私钥对所述加密结果进行解密,得到会话密钥并保存,并向所述客户端返回协商会话密钥成功响应。
48.根据权利要求46所述的蓝牙设备,其特征在于,所述第一判断模块,具体用于接收所述客户端发送的指令,应用所述会话密钥对所述指令进行解密,判断解密得到的数据是否为随机数指令,判断为是时,从所述随机数指令中获取随机数,判断为否时,主动断开与所述客户端的蓝牙连接并进入省电模式。
49.根据权利要求35所述的蓝牙设备,其特征在于,所述蓝牙设备还包括签名模块;
所述接收模块,还用于接收所述客户端发送的签名指令;
所述显示模块,还用于从所述签名指令中获取待签名数据,显示所述待签名数据;
所述检测模块,还用于当所述显示模块显示所述待签名数据后,检测按键状态,当检测到确认键按下时,触发所述签名模块,当检测到取消键按下时,向所述客户端发送签名失败响应;
所述签名模块,用于对所述待签名数据执行签名操作,根据签名结果生成签名成功响应并发送至所述客户端。
50.一种实现安全配对的客户端的工作方法,其特征在于,包括:
步骤Q1:客户端打开蓝牙连接并搜索蓝牙广播包,当搜索到蓝牙广播包时,根据所述蓝牙广播包与对应的蓝牙设备建立蓝牙连接,生成随机数并发送至所述蓝牙设备;
步骤Q2:所述客户端接收所述蓝牙设备返回的哈希值,根据生成的所述随机数,判断接收到的所述哈希值是否正确,如果是,则执行步骤Q3,否则报错,结束;所述哈希值为所述蓝牙设备对所述随机数进行计算所得;
步骤Q3:所述客户端根据所述哈希值生成配对码并显示,并向所述蓝牙设备发送配对请求;
步骤Q4:所述客户端接收所述蓝牙设备返回的配对成功信息。
51.根据权利要求50所述的方法,其特征在于,所述步骤Q1中,当搜索到蓝牙广播包时,还包括:所述客户端根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号,判断获取到的所述设备序列号和所述蓝牙广播包中的设备序列号是否匹配,如果是,则继续,否则继续搜索蓝牙广播包。
52.根据权利要求50所述的方法,其特征在于,所述步骤Q1中,当搜索到蓝牙广播包时,还包括:所述客户端根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号,对获取到的所述设备序列号进行哈希计算,得到第一哈希值,判断所述第一哈希值和所述蓝牙广播包中的设备序列号的哈希值是否匹配,如果是,则继续,否则继续搜索蓝牙广播包。
53.根据权利要求50所述的方法,其特征在于,所述步骤Q1中,当搜索到蓝牙广播包时,还包括:所述客户端根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号的哈希值,判断获取到的所述哈希值和所述蓝牙广播包中的设备序列号的哈希值是否匹配,如果是,则继续,否则继续搜索蓝牙广播包。
54.根据权利要求50所述的方法,其特征在于,所述步骤Q2中,所述判断接收到的所述哈希值是否正确,具体为:所述客户端获取保存的蓝牙设备的设备序列号,对所述设备序列号和所述随机数进行哈希计算,生成第三哈希值,判断所述第三哈希值与所述哈希值是否相同,如果是,则执行步骤Q3,否则报错,结束。
55.根据权利要求50所述的方法,其特征在于,所述步骤Q3中,所述客户端根据所述哈希值生成配对码,具体为:获取所述哈希值的预设位上的数据作为配对码。
56.根据权利要求50所述的方法,其特征在于,所述步骤Q3中,所述客户端根据所述哈希值生成配对码,具体为:对所述哈希值进行预设运算生成配对码。
57.根据权利要求50所述的方法,其特征在于,所述步骤Q1中,所述建立连接和所述生成随机数之间,还包括:
步骤a1:所述客户端判断是否已与所述蓝牙设备进行过配对,如果是,则执行步骤a2,否则生成随机数;
步骤a2:所述客户端获取所述客户端中保存的客户端唯一标识码,将所述客户端唯一标识码发送至所述蓝牙设备进行验证;
步骤a3:所述客户端接收并所述蓝牙设备返回的验证结果,如果是验证成功,则配对成功,记录已与所述蓝牙设备进行过配对,如果是验证失败,则生成随机数。
58.根据权利要求50所述的方法,其特征在于,还包括:当所述客户端启动时,获取并判断保存的激活标识,如果为已激活,则执行步骤Q1,如果为未激活,则跳转至激活界面,接收用户选择的激活请求,根据用户手机号将激活请求短信发送至服务器进行激活,当接收到服务器返回的激活成功响应时,将所述激活标识置为已激活。
59.根据权利要求50所述的方法,其特征在于,所述步骤Q1中,所述与对应的蓝牙设备建立蓝牙连接后,还包括:所述客户端与所述蓝牙设备协商会话密钥。
60.根据权利要求59所述的方法,其特征在于,所述协商会话密钥,具体为:所述客户端生成会话密钥,应用预先保存的公钥对所述会话密钥进行加密,将加密结果发送至所述蓝牙设备,接收所述客户端返回的协商会话密钥成功响应,将所述会话密钥保存。
61.根据权利要求59所述的方法,其特征在于,所述步骤Q1中,所述生成随机数并发送至所述蓝牙设备,具体包括:所述客户端生成随机数,根据所述随机数生成随机数指令,应用所述会话密钥对所述随机数指令进行加密,得到加密的随机数指令并发送至所述蓝牙设备。
62.根据权利要求50所述的方法,其特征在于,所述步骤Q4之后,还包括:
步骤1:所述客户端组织待签名数据,根据所述待签名数据生成签名指令,将所述签名指令发送至所述蓝牙设备;
步骤2:所述客户端接收并判断所述蓝牙设备返回的响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则执行步骤3;
步骤3:所述客户端将所述签名成功响应中的签名结果发送至服务器进行验证;
步骤4:所述客户端接收并判断所述服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
63.一种实现安全配对的客户端,其特征在于,包括:
搜索模块,用于打开蓝牙连接并搜索蓝牙广播包;
建立连接模块,用于当所述搜索模块搜索到蓝牙广播包时,根据所述蓝牙广播包与对应的蓝牙设备建立蓝牙连接;
第一生成模块,用于当所述建立连接模块建立蓝牙连接完成时,生成随机数;
发送模块,用于将所述第一生成模块生成的随机数发送至所述蓝牙设备;向所述蓝牙设备发送配对请求;
接收模块,用于接收所述蓝牙设备返回的哈希值;接收所述蓝牙设备返回的配对成功信息。
第一判断模块,用于当所述接收模块接收到所述哈希值后,根据生成的所述随机数,判断接收到的所述哈希值是否正确,判断为是时,触发第二生成模块,判断为否时,报错,结束;
所述第二生成模块,用于根据所述哈希值生成配对码;
显示模块,用于显示所述第二生成模块生成的配对码。
64.根据权利要求63所述的客户端,其特征在于,所述客户端还包括第二判断模块,用于当所述搜索模块搜索到蓝牙广播包后,根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号,判断获取到的所述设备序列号和所述蓝牙广播包中的设备序列号是否匹配,判断为是时,触发所述建立连接模块,判断为否时,触发所述搜索模块。
65.根据权利要求63所述的客户端,其特征在于,所述客户端还包括第三判断模块,用于当所述搜索模块搜索到蓝牙广播包后,根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号,对获取到的所述设备序列号进行哈希计算,得到第一哈希值,判断所述第一哈希值和所述蓝牙广播包中的设备序列号的哈希值是否匹配,判断为是时,触发所述建立连接模块,判断为否时,触发所述搜索模块。
66.根据权利要求63所述的客户端,其特征在于,所述客户端还包括第四判断模块,用于当所述搜索模块搜索到蓝牙广播包后,根据客户端唯一标识码从服务器中获取与所述客户端绑定的蓝牙设备的设备序列号的哈希值,判断获取到的所述哈希值和所述蓝牙广播包中的设备序列号的哈希值是否匹配,判断为是时,触发所述建立连接模块,判断为否时,触发所述搜索模块。
67.根据权利要求63所述的客户端,其特征在于,所述第一判断模块,具体用于获取保存的蓝牙设备的设备序列号,对所述设备序列号和所述随机数进行哈希计算,生成第三哈希值,判断所述第三哈希值与所述哈希值是否相同,判断为是时,触发所述第二生成模块,判断为否时,报错,结束。
68.根据权利要求63所述的客户端,其特征在于,所述第二生成模块,具体用于获取所述哈希值的预设位上的数据作为配对码。
69.根据权利要求63所述的客户端,其特征在于,所述第二生成模块,具体用于对所述哈希值进行预设运算生成配对码。
70.根据权利要求63所述的客户端,其特征在于,所述客户端还包括第五判断模块、获取模块、第六判断模块和记录模块;
所述第五判断模块,用于当所述建立连接模块建立蓝牙连接完成后,判断是否已与所述蓝牙设备进行过配对,判断为是时,触发所述获取模块,判断为否时,触发所述第一生成模块;
所述获取模块,用于获取所述客户端中保存的客户端唯一标识码;
所述发送模块,还用于将所述获取模块获取到的所述客户端唯一标识码发送至所述蓝牙设备进行验证;
所述第六判断模块,用于接收并所述蓝牙设备返回的验证结果,判断为验证成功时,触发所述记录模块,判断为验证失败时,触发所述第一生成模块;
所述记录模块,用于记录已与所述蓝牙设备进行过配对。
71.根据权利要求63所述的客户端,其特征在于,所述客户端还包括第七判断模块、跳转模块和设置模块;
所述第七判断模块,用于获取并判断保存的激活标识,判断为已激活时,触发所述搜索模块,判断为未激活时,触发所述跳转模块;
所述跳转模块,用于跳转至激活界面;
所述接收模块,还用于接收用户选择的激活请求;接收服务器返回的激活成功响应;
所述发送模块,还用于根据用户手机号将激活请求短信发送至服务器进行激活;
所述设置模块,用于当所述接收模块接收到所述服务器返回的激活成功响应时,将所述激活标识置为已激活。
72.根据权利要求63所述的客户端,其特征在于,所述客户端还包括协商密钥模块,用于与所述蓝牙设备协商会话密钥。
73.根据权利要求72所述的客户端,其特征在于,所述协商密钥模块,具体用于生成会话密钥,应用预先保存的公钥对所述会话密钥进行加密,将加密结果发送至所述蓝牙设备,接收所述客户端返回的协商会话密钥成功响应,将所述会话密钥保存。
74.根据权利要求72所述的客户端,其特征在于,所述第一生成模块,具体用于生成随机数,根据所述随机数生成随机数指令,应用所述会话密钥对所述随机数指令进行加密,得到加密的随机数指令。
75.根据权利要求63所述的客户端,其特征在于,所述客户端还包括第八判断模块和验签模块;
所述发送模块,还用于组织待签名数据,根据所述待签名数据生成签名指令,将所述签名指令发送至所述蓝牙设备;
所述接收模块,还用于接收所述蓝牙设备返回的响应;
所述第八判断模块,用于判断所述蓝牙设备返回的响应,如果是签名失败响应,则交易失败,结束,如果是签名成功响应,则触发所述验签模块;
所述验签模块,用于将所述签名成功响应中的签名结果发送至服务器进行验证,接收并判断所述服务器返回的验证结果,如果是成功结果,则交易成功,结束,如果是失败结果,则交易失败,结束。
CN201510965272.XA 2015-12-21 2015-12-21 一种实现蓝牙设备间安全交互配对认证的方法及装置 Active CN105450269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510965272.XA CN105450269B (zh) 2015-12-21 2015-12-21 一种实现蓝牙设备间安全交互配对认证的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510965272.XA CN105450269B (zh) 2015-12-21 2015-12-21 一种实现蓝牙设备间安全交互配对认证的方法及装置

Publications (2)

Publication Number Publication Date
CN105450269A true CN105450269A (zh) 2016-03-30
CN105450269B CN105450269B (zh) 2017-09-22

Family

ID=55560116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510965272.XA Active CN105450269B (zh) 2015-12-21 2015-12-21 一种实现蓝牙设备间安全交互配对认证的方法及装置

Country Status (1)

Country Link
CN (1) CN105450269B (zh)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933039A (zh) * 2016-06-24 2016-09-07 飞天诚信科技股份有限公司 一种蓝牙设备及其工作方法
CN106211355A (zh) * 2016-06-15 2016-12-07 飞天诚信科技股份有限公司 一种控制数据交互的设备、系统及其工作方法
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置
CN106851540A (zh) * 2017-02-08 2017-06-13 飞天诚信科技股份有限公司 一种蓝牙配对的实现方法及装置
CN106921972A (zh) * 2017-03-13 2017-07-04 湖州贝格信息安全科技有限公司 智能终端的安全屏蔽方法及智能终端
CN106993266A (zh) * 2017-03-31 2017-07-28 东信和平科技股份有限公司 一种蓝牙sim卡配对连接的方法
CN107071709A (zh) * 2017-04-06 2017-08-18 飞天诚信科技股份有限公司 一种与蓝牙设备的配对方法及装置
CN107071699A (zh) * 2017-03-09 2017-08-18 新奥科技发展有限公司 一种蓝牙设备添加方法及系统
CN107094283A (zh) * 2017-04-26 2017-08-25 北京望远迅杰科技有限公司 一种净化器与智能终端之间的蓝牙通信方法
CN107277745A (zh) * 2016-04-02 2017-10-20 英特尔Ip公司 蓝牙语音配对装置和方法
CN107507434A (zh) * 2016-06-14 2017-12-22 北京数码视讯科技股份有限公司 一种交通控制方法、装置及交通管理系统
CN107516365A (zh) * 2017-09-28 2017-12-26 北京新能源汽车股份有限公司 一种虚拟钥匙管理方法、装置及系统
CN107708098A (zh) * 2017-10-12 2018-02-16 重庆云停智连科技有限公司 一种基于蓝牙通信的身份识别方法
CN107969001A (zh) * 2018-01-17 2018-04-27 飞天诚信科技股份有限公司 一种蓝牙配对双向认证的方法及装置
CN108112000A (zh) * 2017-12-28 2018-06-01 上海传英信息技术有限公司 一种用于智能终端的通信方法及通信系统
CN108769960A (zh) * 2018-04-27 2018-11-06 努比亚技术有限公司 一种设备互连方法、终端及计算机可读存储介质
CN109075820A (zh) * 2016-10-25 2018-12-21 华为技术有限公司 一种蓝牙配对方法以及终端设备
CN109451477A (zh) * 2018-12-18 2019-03-08 东莞市韵茂电子科技有限公司 一种智能设备的蓝牙通讯加密方法
CN109462846A (zh) * 2018-12-27 2019-03-12 飞天诚信科技股份有限公司 一种实现蓝牙设备安全配对的方法、系统及蓝牙设备
CN109951283A (zh) * 2017-12-20 2019-06-28 亚旭电脑股份有限公司 加密验证方法
CN110063052A (zh) * 2016-12-16 2019-07-26 豪夫迈·罗氏有限公司 确认bluetooth*配对的方法和系统
CN110489958A (zh) * 2019-08-27 2019-11-22 上海银基信息安全技术股份有限公司 一种身份认证方法、定位装置及待解锁端
CN110798795A (zh) * 2019-09-20 2020-02-14 广汽蔚来新能源汽车科技有限公司 基于蓝牙的虚拟钥匙车控系统、方法、装置和计算机设备
CN110972233A (zh) * 2019-10-22 2020-04-07 珠海格力电器股份有限公司 一种智能设备配网状态显示方法及装置
WO2020124920A1 (zh) * 2018-12-20 2020-06-25 深圳市冠旭电子股份有限公司 一种语音交互的方法及蓝牙设备
CN111901122A (zh) * 2020-07-14 2020-11-06 万通智控科技股份有限公司 一种自动匹配头挂车的方法及接收机
CN112214779A (zh) * 2020-10-28 2021-01-12 纳恩博(北京)科技有限公司 一种控制方法及装置、电子设备、存储介质
CN112291773A (zh) * 2020-12-31 2021-01-29 飞天诚信科技股份有限公司 一种认证器及其通信方法
CN112977335A (zh) * 2019-12-02 2021-06-18 联合汽车电子有限公司 连接认证方法、解锁端、钥匙端及智能钥匙系统
WO2021135200A1 (zh) * 2019-12-31 2021-07-08 中国电力科学研究院有限公司 用于断路器和电表进行配对的电流编码方法及系统
CN113179450A (zh) * 2021-03-23 2021-07-27 重庆扬成大数据科技有限公司 一种用于大数据环境下分析城市运营管理的工作方法
CN113596827A (zh) * 2021-07-29 2021-11-02 Oppo广东移动通信有限公司 密钥生成方法、装置、电子设备及存储介质
CN113709737A (zh) * 2021-08-24 2021-11-26 深圳艾创力科技有限公司 一种基于tws蓝牙耳机的语音通信方法及装置
CN115379590A (zh) * 2022-10-27 2022-11-22 深圳市正浩创新科技股份有限公司 蓝牙连接建立方法、装置、电子设备及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177894A1 (en) * 2008-01-07 2009-07-09 Security First Corporation Systems and methods for securing data using multi-factor or keyed dispersal
CN102035654A (zh) * 2010-12-29 2011-04-27 北京握奇数据系统有限公司 身份认证方法、设备、服务器及基于身份认证的加密方法
US8452970B2 (en) * 2005-09-29 2013-05-28 Research In Motion Limited System and method for code signing
CN103326863A (zh) * 2013-06-24 2013-09-25 飞天诚信科技股份有限公司 一种电子签名工具的签名方法
US20130254519A1 (en) * 2012-03-20 2013-09-26 Qualcomm Incorporated Network security configuration using short-range wireless communication
CN103609059A (zh) * 2010-09-20 2014-02-26 安全第一公司 用于安全数据共享的系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452970B2 (en) * 2005-09-29 2013-05-28 Research In Motion Limited System and method for code signing
US20090177894A1 (en) * 2008-01-07 2009-07-09 Security First Corporation Systems and methods for securing data using multi-factor or keyed dispersal
CN103609059A (zh) * 2010-09-20 2014-02-26 安全第一公司 用于安全数据共享的系统和方法
CN102035654A (zh) * 2010-12-29 2011-04-27 北京握奇数据系统有限公司 身份认证方法、设备、服务器及基于身份认证的加密方法
US20130254519A1 (en) * 2012-03-20 2013-09-26 Qualcomm Incorporated Network security configuration using short-range wireless communication
CN103326863A (zh) * 2013-06-24 2013-09-25 飞天诚信科技股份有限公司 一种电子签名工具的签名方法

Cited By (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277745A (zh) * 2016-04-02 2017-10-20 英特尔Ip公司 蓝牙语音配对装置和方法
CN107507434A (zh) * 2016-06-14 2017-12-22 北京数码视讯科技股份有限公司 一种交通控制方法、装置及交通管理系统
CN106211355A (zh) * 2016-06-15 2016-12-07 飞天诚信科技股份有限公司 一种控制数据交互的设备、系统及其工作方法
CN106211355B (zh) * 2016-06-15 2019-12-20 飞天诚信科技股份有限公司 一种控制数据交互的设备、系统及其工作方法
WO2017219789A1 (zh) * 2016-06-24 2017-12-28 飞天诚信科技股份有限公司 一种蓝牙设备及其工作方法
US10979409B2 (en) 2016-06-24 2021-04-13 Feitian Technologies Co., Ltd. Bluetooth device and working method thereof
CN105933039B (zh) * 2016-06-24 2018-06-29 飞天诚信科技股份有限公司 一种蓝牙设备及其工作方法
CN105933039A (zh) * 2016-06-24 2016-09-07 飞天诚信科技股份有限公司 一种蓝牙设备及其工作方法
US10694564B2 (en) 2016-10-25 2020-06-23 Huaweio Technologies Co., Ltd. Bluetooth pairing method and terminal device
CN109075820A (zh) * 2016-10-25 2018-12-21 华为技术有限公司 一种蓝牙配对方法以及终端设备
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置
CN106603485B (zh) * 2016-10-31 2020-03-03 美的智慧家居科技有限公司 密钥协商方法及装置
CN110063052A (zh) * 2016-12-16 2019-07-26 豪夫迈·罗氏有限公司 确认bluetooth*配对的方法和系统
CN110063052B (zh) * 2016-12-16 2022-02-11 豪夫迈·罗氏有限公司 确认配对的方法和系统
CN106851540A (zh) * 2017-02-08 2017-06-13 飞天诚信科技股份有限公司 一种蓝牙配对的实现方法及装置
CN106851540B (zh) * 2017-02-08 2019-11-15 飞天诚信科技股份有限公司 一种蓝牙配对的实现方法及装置
CN107071699A (zh) * 2017-03-09 2017-08-18 新奥科技发展有限公司 一种蓝牙设备添加方法及系统
CN106921972A (zh) * 2017-03-13 2017-07-04 湖州贝格信息安全科技有限公司 智能终端的安全屏蔽方法及智能终端
CN106921972B (zh) * 2017-03-13 2020-06-02 湖州贝格信息安全科技有限公司 智能终端的安全屏蔽方法及智能终端
CN106993266A (zh) * 2017-03-31 2017-07-28 东信和平科技股份有限公司 一种蓝牙sim卡配对连接的方法
CN106993266B (zh) * 2017-03-31 2020-04-03 东信和平科技股份有限公司 一种蓝牙sim卡配对连接的方法
CN107071709B (zh) * 2017-04-06 2021-06-08 飞天诚信科技股份有限公司 一种与蓝牙设备的配对方法及装置
CN107071709A (zh) * 2017-04-06 2017-08-18 飞天诚信科技股份有限公司 一种与蓝牙设备的配对方法及装置
CN107094283A (zh) * 2017-04-26 2017-08-25 北京望远迅杰科技有限公司 一种净化器与智能终端之间的蓝牙通信方法
CN107516365A (zh) * 2017-09-28 2017-12-26 北京新能源汽车股份有限公司 一种虚拟钥匙管理方法、装置及系统
CN107708098A (zh) * 2017-10-12 2018-02-16 重庆云停智连科技有限公司 一种基于蓝牙通信的身份识别方法
CN109951283A (zh) * 2017-12-20 2019-06-28 亚旭电脑股份有限公司 加密验证方法
CN108112000A (zh) * 2017-12-28 2018-06-01 上海传英信息技术有限公司 一种用于智能终端的通信方法及通信系统
CN107969001B (zh) * 2018-01-17 2020-07-07 飞天诚信科技股份有限公司 一种蓝牙配对双向认证的方法及装置
CN107969001A (zh) * 2018-01-17 2018-04-27 飞天诚信科技股份有限公司 一种蓝牙配对双向认证的方法及装置
CN108769960A (zh) * 2018-04-27 2018-11-06 努比亚技术有限公司 一种设备互连方法、终端及计算机可读存储介质
CN109451477A (zh) * 2018-12-18 2019-03-08 东莞市韵茂电子科技有限公司 一种智能设备的蓝牙通讯加密方法
WO2020124920A1 (zh) * 2018-12-20 2020-06-25 深圳市冠旭电子股份有限公司 一种语音交互的方法及蓝牙设备
CN111356117A (zh) * 2018-12-20 2020-06-30 深圳市冠旭电子股份有限公司 一种语音交互的方法及蓝牙设备
CN109462846A (zh) * 2018-12-27 2019-03-12 飞天诚信科技股份有限公司 一种实现蓝牙设备安全配对的方法、系统及蓝牙设备
CN109462846B (zh) * 2018-12-27 2022-03-18 飞天诚信科技股份有限公司 一种实现蓝牙设备安全配对的方法、系统及蓝牙设备
CN110489958A (zh) * 2019-08-27 2019-11-22 上海银基信息安全技术股份有限公司 一种身份认证方法、定位装置及待解锁端
CN110798795A (zh) * 2019-09-20 2020-02-14 广汽蔚来新能源汽车科技有限公司 基于蓝牙的虚拟钥匙车控系统、方法、装置和计算机设备
CN110972233B (zh) * 2019-10-22 2021-07-20 珠海格力电器股份有限公司 一种智能设备配网状态显示方法及装置
CN110972233A (zh) * 2019-10-22 2020-04-07 珠海格力电器股份有限公司 一种智能设备配网状态显示方法及装置
CN112977335A (zh) * 2019-12-02 2021-06-18 联合汽车电子有限公司 连接认证方法、解锁端、钥匙端及智能钥匙系统
WO2021135200A1 (zh) * 2019-12-31 2021-07-08 中国电力科学研究院有限公司 用于断路器和电表进行配对的电流编码方法及系统
CN111901122A (zh) * 2020-07-14 2020-11-06 万通智控科技股份有限公司 一种自动匹配头挂车的方法及接收机
CN111901122B (zh) * 2020-07-14 2024-03-08 万通智控科技股份有限公司 一种自动匹配头挂车的方法及接收机
CN112214779A (zh) * 2020-10-28 2021-01-12 纳恩博(北京)科技有限公司 一种控制方法及装置、电子设备、存储介质
CN112291773A (zh) * 2020-12-31 2021-01-29 飞天诚信科技股份有限公司 一种认证器及其通信方法
CN113179450A (zh) * 2021-03-23 2021-07-27 重庆扬成大数据科技有限公司 一种用于大数据环境下分析城市运营管理的工作方法
CN113179450B (zh) * 2021-03-23 2022-06-03 重庆扬成大数据科技有限公司 一种用于大数据环境下分析城市运营管理的工作方法
CN113596827B (zh) * 2021-07-29 2024-02-13 Oppo广东移动通信有限公司 密钥生成方法、装置、电子设备及存储介质
CN113596827A (zh) * 2021-07-29 2021-11-02 Oppo广东移动通信有限公司 密钥生成方法、装置、电子设备及存储介质
CN113709737A (zh) * 2021-08-24 2021-11-26 深圳艾创力科技有限公司 一种基于tws蓝牙耳机的语音通信方法及装置
CN113709737B (zh) * 2021-08-24 2024-01-26 深圳艾创力科技有限公司 一种基于tws蓝牙耳机的语音通信方法及装置
CN115379590B (zh) * 2022-10-27 2023-02-14 深圳市正浩创新科技股份有限公司 蓝牙连接建立方法、装置、电子设备及计算机存储介质
CN115379590A (zh) * 2022-10-27 2022-11-22 深圳市正浩创新科技股份有限公司 蓝牙连接建立方法、装置、电子设备及计算机存储介质
WO2024087384A1 (zh) * 2022-10-27 2024-05-02 深圳市正浩创新科技股份有限公司 蓝牙连接建立方法、电子设备及计算机存储介质

Also Published As

Publication number Publication date
CN105450269B (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
CN105450269A (zh) 一种实现蓝牙设备间安全交互配对认证的方法及装置
CN104243484B (zh) 信息交互方法及装置、电子设备
CN110365484B (zh) 一种设备认证的数据处理方法、装置及系统
CN104852911B (zh) 安全验证方法、装置及系统
CN104955031A (zh) 信息传输方法及装置
EP3487142A1 (en) Method and device for providing and obtaining graphic code information, and terminal
CN102945526B (zh) 一种提高移动设备在线支付安全的装置及方法
CN105634737B (zh) 一种数据传输方法、终端及其系统
EP3602997B1 (en) Mutual authentication system
CN105227537A (zh) 用户身份认证方法、终端和服务端
CN113242224B (zh) 授权方法及装置、电子设备和存储介质
CN105722013A (zh) 蓝牙配对方法及装置
US11159329B2 (en) Collaborative operating system
CN106487659B (zh) 信息加密方法、信息加密装置及终端
CN114868123A (zh) 非接触式卡个人标识系统
CN105719131A (zh) 服务器、客户端及电子支付的代付方法
CN108616352B (zh) 基于安全元件的动态口令生成方法和系统
CN104660589A (zh) 一种对信息进行加密控制、解析信息的方法、系统和终端
CN105741116B (zh) 一种快捷支付方法、装置及系统
JP2008535427A (ja) データ処理デバイスとセキュリティモジュールとの間のセキュア通信
CN110278083A (zh) 身份认证请求处理方法和装置、设备重置方法和装置
CN104951366A (zh) 一种移动终端应用程序登录方法和设备
CN114419765A (zh) Nfc卡实现车辆安全控制的方法、装置及可读存储介质
CN104869001A (zh) 短信认证方法及装置
CN104980919A (zh) 网络服务信息的获取方法及设备

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