一种蓝牙配对双向认证的方法及装置与流程

文档序号:14281821阅读:536来源:国知局
一种蓝牙配对双向认证的方法及装置与流程

本发明涉及通信领域,尤其涉及一种蓝牙配对双向认证的方法及装置。



背景技术:

目前,蓝牙设备与移动设备绑定之后,蓝牙设备对移动设备进行认证,具体认证过程为:移动设备从蓝牙设备获取会话密钥,利用会话密钥加密移动设备唯一标识(包括移动设备唯一识别码、移动设备名称和厂商标识)得到加密结果,将加密结果下发到蓝牙设备,通过蓝牙设备返回的响应数据,得知蓝牙设备是否与该移动设备进行过配对;如果移动设备与蓝牙设备未配对,蓝牙设备产生随机码并通过响应数据发送给移动设备,移动设备将响应数据中的随机数与蓝牙设备生成的随机码进行比对,比对成功,通过按键进行确认,完成配对过程;如果已配对,则移动设备与蓝牙设备可以进行通信。

这会产生两个问题;第一,同一个移动设备的唯一标识每次都是固定的数据,如果人为仿造一个蓝牙设备,当仿造的蓝牙设备给移动设备的响应数据是配对成功时,移动设备即认为配对成功,固定数据极易被窃取,安全系数低;第二,需要用户进行按键确认,降低了用户体验。



技术实现要素:

本发明的目的是为了克服现有技术的不足,提供一种蓝牙配对双向认证的方法及装置。

本发明提供了一种蓝牙配对双向认证的方法,包括:

步骤s1、移动设备通过与蓝牙设备进行协商通道认证,获取所述蓝牙设备生成的会话密钥;

步骤s2、所述移动设备生成第一随机数,使用所述会话密钥对预置的移动设备唯一标识和所述第一随机数进行加密生成第一结果,向所述蓝牙设备发送所述第一结果;

步骤s3、所述蓝牙设备接收所述蓝牙设备发送的所述第一结果,使用所述会话密钥解密所述第一结果得到所述移动设备唯一标识和所述第一随机数;对预置的长密钥、预置的蓝牙设备唯一标识、所述移动设备唯一标识进行加密生成唯一配对信息,判断是否已经保存过生成的唯一配对信息,是则使用所述会话密钥和所述唯一配对信息加密所述第一随机数生成第二结果,向所述移动设备发送所述第二结果,执行步骤s4;否则生成未连接信息,向所述移动设备发送所述未连接信息,执行步骤s5;

步骤s4、所述移动设备接收所述第二结果,根据预置的唯一配对信息和所述会话密钥解密所述第二结果得到第一随机数,根据解密得到的所述第一随机数判断所述移动设备对所述蓝牙设备是否认证成功,是则认证成功,结束;否则返回步骤s1;

步骤s5、所述移动设备接收所述未连接信息,生成第一请求,向所述蓝牙设备发送所述第一请求;

步骤s6、所述蓝牙设备接收所述第一请求,生成第二随机数,根据所述第二随机数和预置的保护公钥生成第三结果,向所述移动设备发送所述第三结果;

步骤s7、所述移动设备接收并解析所述第三结果得到所述第二随机数和所述保护公钥,使用所述保护公钥和所述会话密钥加密所述第二随机数和输入的蓝牙设备序列号生成第四结果,向所述蓝牙设备发送所述第四结果;

步骤s8、所述蓝牙设备接收所述蓝牙设备发送的所述第四结果,使用所述会话密钥和预置的保护私钥解密所述第四结果得到所述第二随机数和所述蓝牙设备序列号;根据解密得到的所述第二随机数和所述蓝牙设备序列号判断所述蓝牙设备对所述移动设备是否认证成功,是则认证成功,否则认证失败,删除长密钥和所述唯一配对信息。

本发明又提供了一种蓝牙配对双向认证的装置,包括:移动设备和蓝牙设备;

所述移动设备包括第一发送模块、第一接收模块、获取模块、第二生成模块、第四生成模块、第四加密模块、第一加密模块、第二解密模块、第二判断模块、解析模块和第一认证成功模块;

所述蓝牙设备包括第二发送模块、第二接收模块、第一生成模块、第三生成模块、第五生成模块、第六生成模块、第二加密模块、第三加密模块、第一判断模块、第三判断模块、第一解密模块、第三解密模块、删除模块、第二认证成功模块和第二认证失败模块;

所述第一生成模块,用于生成会话密钥;

所述获取模块,用于通过与蓝牙设备进行协商通道认证,获取所述第一生成模块生成的所述会话密钥;

所述第二生成模块,用于所述获取模块获取所述第一生成模块生成的所述会话密钥后,生成第一随机数;

所述第一加密模块,用于使用所述获取模块获取的所述会话密钥对预置的移动设备唯一标识和所述第二生成模块生成的所述第一随机数进行加密生成第一结果;

所述第一发送模块,用于向所述蓝牙设备发送所述第一结果;

所述第二接收模块,用于接收所述第一发送模块发送的所述第一结果;

所述第一解密模块,用于使用所述第一生成模块生成的所述会话密钥解密所述第二接收模块接收的所述第一结果得到所述移动设备唯一标识和所述第一随机数;

所述第二加密模块,用于对预置的长密钥、预置的蓝牙设备唯一标识、所述第一解密模块解密所述第一结果所得的所述移动设备唯一标识进行加密生成唯一配对信息;

所述第一判断模块,用于判断是否已经保存过所述第二加密模块生成的所述唯一配对信息;

所述第三加密模块,用于当所述第一判断模块判断已经保存过所述第二加密模块生成的所述唯一配对信息时,使用所述会话密钥和所述唯一配对信息加密所述第一随机数生成第二结果;

所述第二发送模块,用于向所述移动设备发送所述第三加密模块生成的所述第二结果;

所述第一接收模块,用于接收所述第二发送模块发送的所述第二结果;

所述第二解密模块,用于根据预置的唯一配对信息和所述获取模块获取的所述会话密钥解密所述第一接收模块接收的所述第二结果得到第一随机数;

所述第二判断模块,用于根据所述第二解密模块解密所述第二结果得到的所述第一随机数判断所述移动设备对所述蓝牙设备是否认证成功;

所述第一认证成功模块,用于当所述第二判断模块根据所述第二解密模块解密所述第二结果得到的所述第一随机数判断所述移动设备对所述蓝牙设备认证成功时,认证成功,结束;

所述获取模块,还用于当所述第二判断模块根据所述第二解密模块解密所述第二结果得到的所述第一随机数判断所述移动设备对所述蓝牙设备未认证成功时,通过与蓝牙设备进行协商通道认证,获取所述第一生成模块生成的所述会话密钥;

所述第三生成模块,用于当所述第一判断模块判断未保存过所述第二加密模块生成的所述唯一配对信息时,生成未连接信息;

所述第二发送模块,还用于向所述移动设备发送所述第三生成模块生成的所述未连接信息;

所述第一接收模块,还用于接收所述第二发送模块发送的所述未连接信息;

所述第四生成模块,用于当所述第一接收模块接收到所述第二发送模块发送的所述未连接信息时,生成第一请求;

所述第一发送模块,还用于向所述蓝牙设备发送所述第四生成模块生成的所述第一请求;

所述第二接收模块,还用于接收所述第一发送模块发送的所述第一请求;

所述第五生成模块,用于当所述第二接收模块接收到所述第一发送模块发送的所述第一请求时,生成第二随机数;

所述第六生成模块,用于根据所述第五生成模块生成的所述第二随机数和预置的保护公钥生成第三结果;

所述第二发送模块,还用于向所述移动设备发送所述第六生成模块生成的所述第三结果;

所述第一接收模块,还用于接收所述第二发送模块发送的所述第三结果;

所述解析模块,用于解析所述第一接收模块接收的所述第三结果得到所述第二随机数和所述保护公钥;

所述第四加密模块,用于使用所述解析模块解析所述第三结果得到的所述保护公钥和所述获取模块获取的所述会话密钥加密所述解析模块解析所述第三结果得到的所述第二随机数和输入的蓝牙设备序列号生成第四结果;

所述第一发送模块,还用于向所述蓝牙设备发送所述第四加密模块生成的所述第四结果;

所述第二接收模块,还用于接收所述第一发送模块发送的所述第四结果;

所述第三解密模块,用于使用所述第一生成模块生成的所述会话密钥和预置的保护私钥解密所述第二接收模块接收的所述第四结果得到所述第二随机数和所述蓝牙设备序列号;

所述第三判断模块,用于根据所述第三解密模块解密所述第四结果得到的所述第二随机数和所述蓝牙设备序列号判断所述移动设备对所述蓝牙设备是否认证成功;

所述第二认证成功模块,用于当所述第三判断模块判断所述移动设备对所述蓝牙设备认证成功时,认证成功;

所述第二认证失败模块,用于当所述第三判断模块判断所述移动设备对所述蓝牙设备未认证成功时,认证失败;

所述删除模块,用于当所述第三判断模块判断所述移动设备对所述蓝牙设备未认证成功时,删除长密钥和所述第二加密模块生成的所述唯一配对信息。

本发明与现有技术相比,具有以下优点:蓝牙设备对移动设备进行认证的过程中,增加了第二随机数,使得同一个移动设备的相关参数是动态的,不易被窃取,增加了蓝牙设备对移动设备认证的安全性;又增加了移动设备对蓝牙设备的认证过程,使蓝牙设备与移动设备之间形成双向认证,增加认证的安全性,且避开了按键确认的不便利,提高了用户体验。

附图说明

图1为本发明实施例一提供的一种蓝牙配对双向认证的方法流程图;

图2和图3为本发明实施例二提供的一种蓝牙配对双向认证的方法流程图;

图4为本发明实施例三提供的一种蓝牙配对双向认证的装置方框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实施例一提供一种蓝牙配对双向认证的方法,如图1所示,包括以下步骤:

步骤s1、移动设备通过与蓝牙设备进行协商通道认证,获取蓝牙设备生成的会话密钥;

具体地,本实施例中的步骤s1具体包括:

步骤a1、移动设备向蓝牙设备发送协商通道认证指令;

步骤a2、蓝牙设备接收到移动终端发送的协商通道认证指令后,生成会话密钥,使用预置的预设私钥对生成的会话密钥进行加密,生成协商通道认证响应,向移动设备发送生成的协商通道认证响应;

步骤a3、移动设备接收到蓝牙设备发送的协商通道认证响应,根据接收到的协商通道认证响应判断协商通道认证是否成功,是则执行步骤a4,否则返回步骤a1;

步骤a4、移动设备根据预置的预设公钥解密协商通道认证响应得到会话密钥;

更具体地,本实施例中的步骤a3中,根据接收到的协商通道认证响应判断协商通道认证是否成功,是则执行步骤a4,否则返回步骤a1,具体为:

移动设备判断接收的协商通道认证响应中的响应码的类型,当响应码等于第一预设值时,协商通道认证成功,执行步骤a4,当响应码等于第二预设值时,协商通道认证不成功,返回步骤a1。

步骤s2、移动设备生成第一随机数,使用会话密钥对预置的移动设备唯一标识和第一随机数进行加密生成第一结果,向蓝牙设备发送第一结果;

步骤s3、蓝牙设备接收蓝牙设备发送的第一结果,使用会话密钥解密第一结果得到移动设备唯一标识和第一随机数;对预置的长密钥、预置的蓝牙设备唯一标识、移动设备唯一标识进行加密生成唯一配对信息,判断是否已经保存过生成的唯一配对信息,是则使用会话密钥和唯一配对信息加密第一随机数生成第二结果,向移动设备发送第二结果,执行步骤s4;否则生成未连接信息,向移动设备发送未连接信息,执行步骤s5;

具体地,本实施例中的步骤s2中,使用会话密钥对预置的移动设备唯一标识和第一随机数进行加密生成第一结果,具体为:

移动设备根据预置的移动设备唯一标识、预置的蓝牙设备的厂商标识和生成的第一随机数生成设置移动设备参数数据,使用获取的会话密钥对生成的设置移动设备参数数据进行加密生成第一结果;

步骤s3中,使用会话密钥解密第一结果得到移动设备唯一标识和第一随机数;对预置的长密钥、预置的蓝牙设备唯一标识、移动设备唯一标识进行加密生成唯一配对信息,具体为:

蓝牙设备使用生成的会话密钥解密第一结果得到设置移动设备参数数据,解析解密得到的设置移动设备参数数据得到移动终端设备唯一标识、预置的蓝牙设备的厂商标识和第一随机数;根据预置的长密钥、预置的蓝牙设备的mac地址、解析得到的移动终端设备唯一标识和预置的蓝牙设备的厂商标识生成唯一配对数据,对生成的唯一配对数据进行加密生成唯一配对信息。

进一步地,本实施例中的步骤s3中,对预置的长密钥、预置的蓝牙设备唯一标识、移动设备唯一标识进行加密生成唯一配对信息,具体为:

蓝牙设备对预置的长密钥、预置的蓝牙设备唯一标识、移动设备唯一标识进行哈希运算生成唯一配对信息。

步骤s4、移动设备接收第二结果,根据预置的唯一配对信息和会话密钥解密第二结果得到第一随机数,根据解密得到的第一随机数判断移动设备对蓝牙设备是否认证成功,是则认证成功,结束;否则返回步骤s1;

具体地,本实施例中的步骤s3中,使用会话密钥和唯一配对信息加密第一随机数生成第二结果,具体为:

蓝牙设备使用生成的会话密钥对第一随机数进行加密生成第一加密结果,使用生成的唯一配对信息对生成的第一加密结果进行加密生成第二结果;

步骤s4中,根据预置的唯一配对信息和会话密钥解密第二结果得到第一随机数,具体为:

移动设备使用预置的唯一配对信息对接收到的第二结果进行解密得到第一加密结果,使用获取的会话密钥对得到的第一加密结果进行解密得到第一随机数。

具体地,本实施例中的步骤s3中,使用会话密钥和唯一配对信息加密第一随机数生成第二结果,具体为:

蓝牙设备使用生成的唯一配对信息对第一随机数进行加密生成第一加密结果,使用生成的会话密钥对生成的第一加密结果进行加密生成第二结果;

步骤s4中,根据预置的唯一配对信息和会话密钥解密第二结果得到第一随机数,具体为:

移动设备使用获取的会话密钥对接收到的第二结果进行解密得到第一加密结果,使用预置的唯一配对信息对得到的第一加密结果进行解密得到第一随机数。

具体地,本实施例中的步骤s4中,根据解密得到的第一随机数判断移动设备对蓝牙设备是否认证成功,具体为:

移动设备判断解密得到的第一随机数与生成的第一随机数是否相同。

步骤s5、移动设备接收未连接信息,生成第一请求,向蓝牙设备发送第一请求;

步骤s6、蓝牙设备接收第一请求,生成第二随机数,根据第二随机数和预置的保护公钥生成第三结果,向移动设备发送第三结果;

步骤s7、移动设备接收并解析第三结果得到第二随机数和保护公钥,使用保护公钥和会话密钥加密第二随机数和输入的蓝牙设备序列号生成第四结果,向蓝牙设备发送第四结果;

步骤s8、蓝牙设备接收蓝牙设备发送的第四结果,使用会话密钥和预置的保护私钥解密第四结果得到第二随机数和蓝牙设备序列号;根据解密得到的第二随机数和蓝牙设备序列号判断蓝牙设备对移动设备是否认证成功,是则认证成功;否则认证失败,删除长密钥和唯一配对信息;

具体地,本实施例中的步骤s7中,使用保护公钥和会话密钥加密第二随机数和输入的蓝牙设备序列号生成第四结果,具体为:

移动设备使用解析得到的保护公钥对解析得到的第二随机数和输入的蓝牙设备序列号进行加密生成第二加密结果,使用获取的会话密钥对生成的第二加密结果进行加密生成第四结果;

步骤s8中,使用会话密钥和预置的保护私钥解密第四结果得到第二随机数和蓝牙设备序列号,具体为:

蓝牙设备使用生成的会话密钥对第四结果进行解密得到第二加密结果,使用预置的保护私钥对得到的第二加密结果进行解密得到第二随机数和蓝牙设备序列号。

具体地,本实施例中的步骤s7中,使用保护公钥和会话密钥加密第二随机数和输入的蓝牙设备序列号生成第四结果,具体为:

移动设备使用获取的会话密钥对解析得到的第二随机数和输入的蓝牙设备序列号进行加密生成第二加密结果,使用解析得到的保护公钥对生成的第二加密结果进行加密生成第四结果;

步骤s8中,使用会话密钥和预置的保护私钥解密第四结果得到第二随机数和蓝牙设备序列号,具体为:

蓝牙设备使用预置的保护私钥对第四结果进行解密得到第二加密结果,使用生成的会话密钥对得到的第二加密结果进行解密得到第二随机数和蓝牙设备序列号。

具体地,本实施例中的步骤s7中,使用保护公钥和会话密钥加密第二随机数和输入的蓝牙设备序列号生成第四结果,具体为:移动设备使用保护公钥和会话密钥加密第二随机数和用户输入的蓝牙设备序列号生成第四结果;

或者,移动设备使用保护公钥和会话密钥加密第二随机数和扫描蓝牙设备上的二维码所得的蓝牙设备序列号生成第四结果;

或者,移动设备使用保护公钥和会话密钥加密第二随机数和扫描蓝牙设备上的条形码所得的蓝牙设备序列号生成第四结果。

进一步地,本实施例中的步骤s8中,认证成功之后,还包括:生成验证通过信息,向移动设备发送验证通过信息及唯一配对信息,执行步骤s9;

步骤s9、移动设备接收验证通过信息及唯一配对信息,保存唯一配对信息,认证完成;

认证失败之后,还包括:生成验证未通过信息,向移动设备发送验证未通过信息,执行步骤s10;

步骤s10、移动设备接收验证未通过信息,报错。

本发明与现有技术相比,具有以下优点:蓝牙设备对移动设备进行认证的过程中,增加了第二随机数,使得同一个移动设备的相关参数是动态的,不易被窃取,增加了蓝牙设备对移动设备认证的安全性;又增加了移动设备对蓝牙设备的认证过程,使蓝牙设备与移动设备之间形成双向认证,增加认证的安全性,且避开了按键确认的不便利,提高了用户体验。

实施例二

本发明实施例二提供一种蓝牙配对双向认证的方法,如图2和图3所示,包括以下步骤:

步骤201、移动设备向蓝牙设备发送协商通道认证指令;

例如,本实施例中,协商通道认证指令为:611b000000000000000080100000000000000000000000000000000081060000000000006d;

步骤202、蓝牙设备接收移动终端发送的协商通道认证指令;

步骤203、蓝牙设备生成会话密钥,使用预置的预设私钥对生成的会话密钥进行加密,生成协商通道认证响应;

具体地,本实施例中,步骤201之前还包括;蓝牙设备和移动设备预置预设密钥,即蓝牙设备预置预设私钥和移动设备预置预设公钥;

例如,本实施例中,会话密钥为:016dfac6b54dea5569104fce7a69b38d;

预置的预设私钥为:

p:d85c1751f3aed7d01f255173b5a5c8a0ab8dc6044ba99543c1a6f257a28541bea92b088b754f8fe2e37e0499bae93bec4f7970a7db2b1f2ecb2ea28456f94519

q:c7deea45f97381f00e163f88dbc1599cdeab47ccbd0b8bc208d83cad1fc2ce6b9f869104ca5f415ec69067dc7202c0e3bfee2c7654c6607c84d20351564df689;

dp:69cc467f058916f12779c925aacaa19ba7a8110f62ac4f582da6e454641d8373a7276aeb3ef723e60fd63c8babf18722dc0e073f9d95ad8ee53e2dac47176769;

dq:048b4ae44061a1e8a5495834725a9900fa0706e0dec36e7000e779a9adf92ddc408a3cadd1340d366c69481338fc5b0a5288c5b60303679a2d22e1346e33e391;

pq:9522df4c32606a7bc38018aaeeeb1c3f755522b3b0302ce6d26175754a64cab90ddca150e92db7f2319e6ad96a580227f4690ff463fc457bbd9e2692955363ff;

加密后的会话密钥为:

n:a8ebfbfc3e749f14e7e8f334d643da3135b1a0046cdde5c0668a14d44f1d87a0a2cc64590eca37cc32aef637f2f207dff0689e0243b58ef9fffb4870c2516a0ef8791fa8740aef3bf0e2970056dbfc6f6b82e839e9f69814f40d48d5800127a21e123d66181ebe41e871108723781900e8f6aed4766d2004e656327f42510061;

e:010001;

协商通道认证响应为:82800000000100000000016dfac6b54dea5569104fce7a69b38dc0b8255276000ee0-530f6d44e476a77e5f66add66a16adae5d253c903e12057f1c7cd11f7faab7a60411a864672a1672aefe6302e381a9608ba4e37fef18c95430b9d890726e4d0eb544e6d4884e7eeb3bc2d7d58600fc033c83bf10774544c3845e04eaa6439889cb2eea08465f5210;

步骤204、蓝牙设备向移动设备发送生成的协商通道认证响应;

步骤205、移动设备接收蓝牙设备发送的协商通道认证响应;

步骤206、移动设备根据接收到的协商通道认证响应判断协商通道认证是否成功,是则执行步骤207,否则返回步骤201;

具体地,移动设备判断接收的协商通道认证响应中的响应码的类型,当响应码等于第一预设值时,协商通道认证成功,执行步骤207,当响应码等于第二预设值时,协商通道认证不成功,返回步骤201;

例如,本实施例中,第一预设值为:ox00;

第二预设值为:ox01;

步骤207、移动设备根据预置的预设公钥解密协商通道认证响应得到会话密钥,保存得到的会话密钥;

具体地,本实施例中,步骤201之前还包括:蓝牙设备和移动设备预置预设密钥,即蓝牙设备预置预设私钥和移动设备安装预设公钥;

例如,本实施例中,预设公钥为:

n:a8ebfbfc3e749f14e7e8f334d643da3135b1a0046cdde5c0668a14d44f1d87a0a2cc64590eca37cc32aef637f2f207dff0689e0243b58ef9fffb4870c2516a0ef8791fa8740aef3bf0e2970056dbfc6f6b82e839e9f69814f40d48d5800127a21e123d66181ebe41e871108723781900e8f6aed4766d2004e656327f42510061;

e:010001;

步骤208、移动设备生成第一随机数,根据预置的移动设备唯一标识、预置的蓝牙设备的厂商标识和生成的第一随机数生成设置移动设备参数数据,使用保存的会话密钥对生成的设置移动设备参数数据进行加密,生成设置移动设备参数指令;

具体地,本实施例中,步骤201之前,移动设备唯一标识出厂时预置在移动设备中;蓝牙设备的厂商标识预置在移动设备的应用程序中:

例如,本实施例中,第一随机数为:b65ea9334a43c9ef;

移动设备唯一标识为:bcf4236926994c4795d42755b5d4e024;

蓝牙设备的厂商标识为:“ftsafeiddepartment”;

设置移动设备参数数据为:8010bcf4236926994c4795d42755b5d4e024811246545361666549444465706172746d656e74820c7975616ee79a8420695061648308b65ea9334a43c9ef;

设置移动设备参数指令为:61410000000001010000;

步骤209、移动设备向蓝牙设备发送生成的设置移动设备参数指令;

步骤210、蓝牙设备接收移动设备发送的设置移动设备参数指令,使用生成的会话密钥解密设置移动设备参数指令得到设置移动设备参数数据,解析解密得到的设置移动设备参数数据得到移动终端设备唯一标识、预置的蓝牙设备的厂商标识和第一随机数;

步骤211、蓝牙设备根据预置的长密钥、预置的蓝牙设备的mac地址、解析得到的移动终端设备唯一标识和预置的蓝牙设备的厂商标识生成唯一配对数据,对生成的唯一配对数据进行哈希运算,生成唯一配对信息;

具体地,本实施例中,步骤201之前还包括:蓝牙设备与移动设备进行绑定流程,生成长密钥,并在自身中预置;蓝牙设备出厂时预置mac地址;

例如,本实施例中,长密钥为:9814f40d48d504090a764795a30cd596;

蓝牙设备的mac地址为:c4d7cfa84f9a;

移动终端设备唯一标识为:bcf4236926994c4795d42755b5d4e024;

唯一配对信息为:0631613170b46d1ad243f08fa30cf3395ea5ab4c;

步骤212、蓝牙设备判断是否已经保存过生成的唯一配对信息,是则已与移动设备经连接,执行步骤213,否则未与移动设备连接,执行步骤218;

步骤213、蓝牙设备使用生成的会话密钥对解析得到的第一随机数进行加密,生成第一加密结果,使用生成的唯一配对信息对生成的第一加密结果进行加密,生成设置移动设备参数指令响应;

例如,本实施例中,设置移动设备参数指令响应为:80020e00811088d59612e771a5561ec89c35abc8d4780a0a0a0a0a0a0a0a0a0a;

步骤214、蓝牙设备向移动设备发送生成的设置移动设备参数指令响应;

步骤215、移动设备接收蓝牙设备发送的设置移动设备参数指令响应;

步骤216、移动设备使用保存的唯一配对信息对接收到的设置移动设备参数指令响应进行解密,得到第一加密结果,使用保存的会话密钥对得到的第一加密结果进行解密,得到第一随机数;

步骤217、移动设备判断解密得到的第一随机数与向蓝牙设备发送的设置移动设备参数指令中的第一随机数是否相同,是则移动设备对蓝牙设备认证成功,否则返回步骤201;

步骤218、蓝牙设备生成未连接响应;

例如,本实施例中,未连接响应为:8201000000010110000093;

步骤219、蓝牙设备向移动设备发送未连接响应;

步骤220、移动设备接收蓝牙设备发送的未连接响应;

步骤221、移动设备生成获取随机数和保护公钥指令;

步骤222、移动设备向蓝牙设备发送生成的获取随机数和保护公钥指令;

步骤223、蓝牙设备接收移动设备发送的获取随机数和保护公钥指令;

步骤224、蓝牙设备生成第二随机数,根据生成的第二随机数和预置的保护公钥生成获取随机数和保护公钥响应;

具体地,本实施例中,步骤201之前包括:蓝牙设备预置保护公钥和保护私钥;

例如,本实施例中,保护公钥为:

n:d4e55fee70c675a03b07d079824d53f562af974fd57994b34556c4c40255905707343d3ea7cb25f2f4254b917ad81a7f52f9a450e5c66dc96ba381522e042cc6fd654110d9b207841a33483da1e9cb2f0c630f5e049b42e18540749f93f52c46551e4f398847197b0bb83d8d2888e887267a530152a87171a26a0df4dfdd7495;

e:010001;

步骤225、蓝牙设备向移动设备发送获取随机数和保护公钥响应;

步骤226、移动设备接收蓝牙设备发送的获取随机数和保护公钥响应;

步骤227、移动设备解析获取随机数和保护公钥响应,得到第二随机数和保护公钥;

步骤228、移动设备使用解析得到的保护公钥对解析得到的第二随机数和输入的蓝牙设备的序列号进行加密生成第二加密结果,使用保存的会话密钥对生成的第二加密结果进行加密,生成第三加密结果;

例如,本实施例中,蓝牙设备的序列号为:228000001047;

本实施例中,蓝牙设备的序列号可以是用户输入的,也可以是进行二维码或者条形码扫描获得的;

步骤229、移动设备根据生成的第三加密结果生成验证指令;

例如,本实施例中,验证指令为:61910000000003030000;

步骤230、移动设备向蓝牙设备发送生成的验证指令;

步骤231、蓝牙设备接收并解析移动设备发送的验证指令,得到第三加密结果;

步骤232、蓝牙设备使用生成的会话密钥对第三加密结果进行解密,得到第二加密结果,使用预置的保护私钥对得到的第二加密结果进行解密,得到第二随机数和蓝牙设备的序列号;

步骤233、蓝牙设备判断解密得到的第二随机数是否与生成的第二随机数相同,且解密得到的蓝牙设备的序列号是否与保存的蓝牙设备的序列号相同,是则生成验证通过信息,执行步骤234,否则生成验证未通过信息,删除保存的唯一配对信息和长密钥,执行步骤237;

具体地,本实施例中,步骤201之前,蓝牙设备保存自身的序列号;

例如,本实施例中,蓝牙设备的序列号为:228000001047;

验证通过信息为:82210000000103000f0005f7458076f25277664548728b90fe932d553496c4159fc0d751cd6c6c7e45d0a3;

验证未通过信息为:“验证失败,蓝牙设备直接断开连接”;

步骤234、蓝牙设备向移动设备发送生成的验证通过信息及保存的唯一配对信息;

步骤235、移动设备接收验证通过信息及唯一配对信息;

步骤236、移动设备保存接收的唯一配对信息,验证完成;

步骤237、蓝牙设备向移动设备发送生成的验证未通过信息;

步骤238、移动设备接收验证未通过信息,报错。

本实施例中,步骤213可以替换步骤213-1,相应的,步骤216替换为步骤216-1:

步骤213-1、蓝牙设备使用生成的唯一配对信息对解析得到的第一随机数进行加密,生成第一加密结果,使用生成的会话密钥对生成的第一加密结果进行加密,生成设置移动设备参数指令响应;

步骤216-1、移动设备使用保存的会话密钥对接收到的设置移动设备参数指令响应进行解密,得到第一加密结果,使用保存的唯一配对信息对得到的第一加密结果进行解密,得到第一随机数。

本实施例中,步骤228可以替换步骤228-1,相应的,步骤232替换为步骤232-1:

步骤228-1、移动设备使用保存的会话密钥对解析得到的第二随机数和蓝牙设备的序列号进行加密生成第二加密结果,使用解析得到的保护公钥对生成的第二加密结果进行加密,生成第三加密结果;

步骤232-1、蓝牙设备使用预设的保护密钥的保护私钥对第三加密结果进行解密,得到第二加密结果,使用生成的会话密钥对得到的第二加密结果进行解密,得到第二随机数和蓝牙设备的序列号。

本发明与现有技术相比,具有以下优点:蓝牙设备对移动设备进行认证的过程中,增加了第二随机数,使得同一个移动设备的相关参数是动态的,不易被窃取,增加了蓝牙设备对移动设备认证的安全性;又增加了移动设备对蓝牙设备的认证过程,使蓝牙设备与移动设备之间形成双向认证,增加认证的安全性,且避开了按键确认的不便利,提高了用户体验。

实施例三

本发明实施例三提供一种蓝牙配对双向认证的装置,如图4所示,包括移动设备和蓝牙设备;

移动设备包括第一发送模块305、第一接收模块313、获取模块302、第二生成模块303、第四生成模块316、第一加密模块304、第四加密模块320、第二判断模块315、第二解密模块314、解析模块319和第一认证成功模块324;

蓝牙设备包括第二发送模块312、第二接收块模块306、第一生成模块301、第三生成模块311、第五生成模块317、第六生成模块318、第二加密模块308、第三加密模块310、第一判断模块309、第三判断模块322、第一解密模块307、第三解密模块321和删除模块323、第二认证成功模块325和第二认证失败模块326;

第一生成模块301,用于生成会话密钥;

获取模块302,用于通过与蓝牙设备进行协商通道认证,获取第一生成模块301生成的会话密钥;

进一步地,本实施例中的装置的蓝牙设备还包括:第五加密模块;获取模块302包括判断单元和解密单元;

第一发送模块305,还用于向蓝牙设备发送协商通道认证指令;

第二接收块模块306,还用于接收第一发送模块305发送的协商通道认证指令;

第一生成模块301,具体用于在第二接收模块接收协商通道认证指令后,生成会话密钥;

第五加密模块,用于使用预置的预设私钥对第一生成模块生成的会话密钥进行加密,生成协商通道认证响应;

第二发送模块312,还用于向移动设备发送第五加密模块生成的协商通道认证响应;

第一接收模块313,还用于接收第二发送模块312发送的协商通道认证响应;

判断单元,用于根据第一接收模块313接收到的协商通道认证响应判断协商通道是否认证成功;

更进一步地,判断单元,具体包括判断子单元、协商通道认证成功子单元和协商通道认证不成功子单元;

判断子单元,用于判断第一接收模块313接收的协商通道认证响应中的响应码的类型;

协商通道认证成功子单元,用于当判断子单元判断协商通道认证响应中的响应码等于第一预设值时,协商通道认证成功,触发所述解密单元;

协商通道认证不成功子单元,用于当判断子单元判断协商通道认证响应中的响应码等于第二预设值时,协商通道认证不成功;

第一发送模块,还用于当协商通道认证不成功子单元协商通道认证不成功时,向蓝牙设备发送协商通道认证指令;

解密单元,用于当判断单元根据第一接收模块313接收到的协商通道认证响应判断协商通道认证成功时,根据预置的预设公钥解密协商通道认证响应得到会话密钥;

第一发送模块305,还用于当判断单元根据第一接收模块313接收到的协商通道认证响应判断协商通道未认证成功时,向蓝牙设备发送协商通道认证指令。

第二生成模块303,用于获取模块302获取第一生成模块301生成的会话密钥后,生成第一随机数;

第一加密模块304,用于使用获取模块302获取的会话密钥对预置的移动设备唯一标识和第二生成模块303生成的第一随机数进行加密生成第一结果;

第一发送模块305,用于向蓝牙设备发送第一结果;

第二接收块模块306,用于接收第一发送模块305发送的第一结果;

第一解密模块307,用于使用第一生成模块301生成的会话密钥解密第二接收块模块306接收的第一结果得到移动设备唯一标识和第一随机数;

第二加密模块308,用于对预置的长密钥、预置的蓝牙设备唯一标识、第一解密模块307解密第一结果所得的移动设备唯一标识进行加密生成唯一配对信息;

进一步地,第一加密模块304,具体用于根据预置的移动设备唯一标识、预置的蓝牙设备的厂商标识和第二生成模块303生成的第一随机数生成设置移动设备参数数据,使用根据获取模块302获取的会话密钥对生成的设置移动设备参数数据进行加密生成第一结果;

第一解密模块307,具体用于使用第一生成模块301生成的会话密钥解密第一结果得到设置移动设备参数数据,解析解密得到的设置移动设备参数数据得到移动终端设备唯一标识、预置的蓝牙设备的厂商标识和第一随机数;

第二加密模块308,具体用于根据预置的长密钥、预置的蓝牙设备的mac地址、解析得到的移动终端设备唯一标识和预置的蓝牙设备的厂商标识生成唯一配对数据,对生成的唯一配对数据进行加密生成唯一配对信息。

进一步地,第二加密模块308,具体用于对预置的长密钥、预置的蓝牙设备唯一标识、移动设备唯一标识进行哈希运算生成唯一配对信息。

第一判断模块309,用于判断是否已经保存过第二加密模块308生成的唯一配对信息;

第三加密模块310,用于当第一判断模块309判断已经保存过第二加密模块308生成的唯一配对信息时,使用会话密钥和唯一配对信息加密第一随机数生成第二结果;

第二发送模块312,用于向移动设备发送第三加密模块310生成的第二结果;

第一接收模块313,用于接收第二发送模块312发送的第二结果;

第二解密模块314,用于根据预置的唯一配对信息和获取模块302获取的会话密钥解密第一接收模块接收的第二结果得到第一随机数;

进一步地,第三加密模块310,具体用于当第一判断模块309判断已经保存过第二加密模块308生成的唯一配对信息时,使用第一生成模块301生成的会话密钥对第一随机数进行加密生成第一加密结果,使用生成的唯一配对信息对生成的第一加密结果进行加密生成第二结果;

第二解密模块314,具体用于使用预置的唯一配对信息对接收到的第二结果进行解密得到第一加密结果,使用获取模块302获取的会话密钥对得到的第一加密结果进行解密得到第一随机数。

进一步地,第三加密模块310,具体用于当第一判断模块309判断已经保存过第二加密模块308生成的唯一配对信息时,使用第二加密模块308生成的唯一配对信息对第一随机数进行加密生成第一加密结果,使用第一生成模块301生成的会话密钥对生成的第一加密结果进行加密生成第二结果;

第二解密模块314,具体用于使用获取模块302获取的会话密钥对接收到的第二结果进行解密得到第一加密结果,使用预置的唯一配对信息对得到的第一加密结果进行解密得到第一随机数。

第二判断模块315,用于根据第二解密模块314解密第二结果得到的第一随机数判断判断移动设备对蓝牙设备是否认证成功;

第一认证成功模块324,用于当第二判断模块315根据第二解密模块314解密所述第二结果得到的第一随机数判断移动设备对蓝牙设备认证成功时,认证成功,结束;

进一步地,第二判断模块315,具体用于判断第二解密模块314解密第二结果得到的第一随机数与第二生成模块303生成的第一随机数是否相同。

获取模块302,还用于当第二判断模块315根据第二解密模块314解密第二结果得到的第一随机数判断移动设备对蓝牙设备未认证成功时,通过与蓝牙设备进行协商通道认证,获取第一生成模块301生成的会话密钥;

第三生成模块311,用于当第一判断模块309判断未保存过第二加密模块308生成的唯一配对信息时,生成未连接信息;

第二发送模块312,还用于向移动设备发送第三生成模块311生成的未连接信息;

第一接收模块313,还用于接收第二发送模块312发送的未连接信息;

第四生成模块316,用于当第一接收模块313接收到第二发送模块312发送的未连接信息时,生成第一请求;

第一发送模块305,还用于向蓝牙设备发送第四生成模块316生成的第一请求;

第二接收块模块306,还用于接收第一发送模块305发送的第一请求;

第五生成模块317,用于当第二接收块模块306接收到第一发送模块305发送的第一请求时,生成第二随机数;

第六生成模块318,用于根据第五生成模块317生成的第二随机数和预置的保护公钥生成第三结果;

第二发送模块312,还用于向移动设备发送第六生成模块318生成的第三结果;

第一接收模块313,还用于接收第二发送模块312发送的第三结果;

解析模块319,用于解析第一接收模块313接收的第三结果得到第二随机数和保护公钥;

第四加密模块320,用于使用解析模块319解析第三结果得到的保护公钥和获取模块302获取的会话密钥加密解析模块319解析第三结果得到的第二随机数和输入的蓝牙设备序列号生成第四结果;

进一步地,第四加密模块320,具体用于使用保护公钥和会话密钥加密第二随机数和用户输入的蓝牙设备序列号生成第四结果;

或者,具体用于使用保护公钥和会话密钥加密第二随机数和扫描蓝牙设备上的二维码所得的蓝牙设备序列号生成第四结果;

或者,具体用于使用保护公钥和会话密钥加密第二随机数和扫描蓝牙设备上的条形码所得的蓝牙设备序列号生成第四结果。

第一发送模块305,还用于向蓝牙设备发送第四加密模块320生成的第四结果;

第二接收块模块306,还用于接收第一发送模块305发送的第四结果;

第三解密模块321,用于使用第一生成模块301生成的会话密钥和预置的保护私钥解密第二接收块模块306接收的第四结果得到第二随机数和蓝牙设备序列号;

进一步地,第四加密模块320,具体用于使用解析模块319解析第三结果得到的保护公钥对解析模块319解析第三结果得到的第二随机数和用户输入的蓝牙设备序列号进行加密生成第二加密结果,使用获取模块302获取的会话密钥对生成的第二加密结果进行加密生成第四结果;

第三解密模块321,具体用于使用第一生成模块301生成的会话密钥对第四结果进行解密得到第二加密结果,使用预置的保护私钥对得到的第二加密结果进行解密得到第二随机数和蓝牙设备序列号。

进一步地,第四加密模块320,具体用于使用获取模块302获取的会话密钥对解析模块319解析第三结果得到的第二随机数和输入的蓝牙设备序列号进行加密生成第二加密结果,使用解析得到的保护公钥对生成的第二加密结果进行加密生成第四结果;

第三解密模块321,具体用于使用预置的保护私钥对第四结果进行解密得到第二加密结果,使用第一生成模块301生成的会话密钥对得到的第二加密结果进行解密得到第二随机数和蓝牙设备序列号。

第三判断模块322,用于根据第三解密模块321解密第四结果得到的第二随机数和蓝牙设备序列号判判断移动设备对蓝牙设备是否认证成功;

第二认证成功模块325,用于当第三判断模块322判断移动设备对蓝牙设备认证成功时,认证成功;

第二认证失败模块326,用于当第三判断模块322判断移动设备对蓝牙设备未认证成功时,认证失败;

删除模块323,用于当第三判断模块322判断移动设备对蓝牙设备未认证成功时,删除长密钥和第二加密模块308生成的唯一配对信息;

进一步地,蓝牙设备还包括第七生成模块和第八生成模块;移动设备还包括保存模块和报错模块;

第七生成模块,用于当第二认证成功模块325认证成功后,生成验证通过信息;

第二发送模块312,还用于向移动设备发送第七生成模块生成的验证通过信息及第二加密模块308生成的唯一配对信息;

第一接收模块313,还用于接收第二发送模块312发送的验证通过信息和唯一配对信息;

保存模块,用于保存第一接收模块313接收的唯一配对信息,认证完成;

第一认证成功模块324,还用于保存模块保存第一接收模313块接收的唯一配对信息后,认证完成;

第八生成模块,用于当第二认证失败模块认证失败326后,生成验证未通过信息;

第二发送模块312,还用于向移动设备发送第八生成模块生成的验证未通过信息;

第一接收模块313,还用于接收第二发送模块312发送的验证未通过信息;

报错模块,用于当第一接收模块313接收验证未通过信息时,报错。

本发明与现有技术相比,具有以下优点:蓝牙设备对移动设备进行认证的过程中,增加了第二随机数,使得同一个移动设备的相关参数是动态的,不易被窃取,增加了蓝牙设备对移动设备认证的安全性;又增加了移动设备对蓝牙设备的认证过程,使蓝牙设备与移动设备之间形成双向认证,增加认证的安全性,且避开了按键确认的不便利,提高了用户体验。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1