交互密钥生成方法、系统、蓝牙电子设备及存储介质技术方案

技术编号:24718840 阅读:18 留言:0更新日期:2020-07-01 00:42
本发明专利技术涉及一种交互密钥生成方法、系统、蓝牙电子设备及存储介质,一种交互密钥生成方法,用于交互访问过程中,包括:生成一至少包括身份ID和挑战码的第一通知数据,将发送第一通知数据;获取所述第一写入数据,根据所述第二密钥因子与预存的第一密钥进行预设算法计算生成第二密钥;获取第一电子设备发送的第二写入数据,通过第二密钥至少对第二写入数据中的第一协商数据的加密数据和挑战码认证数据进行预设算法解密,且确认解密得到的挑战码认证数据与挑战码认证通过,则根据解密得到的第一协商数据与本地的第二协商数据通过预设算法生成一第三密钥。通过本发明专利技术实现通过三层密钥的生成,避免传统的无线传输的安全方面弊端。

【技术实现步骤摘要】
交互密钥生成方法、系统、蓝牙电子设备及存储介质
本专利技术涉及蓝牙领域,尤其涉及一种交互密钥生成方法、系统、蓝牙电子设备及存储介质。
技术介绍
蓝牙交互过程中,安全性会得到很大挑战,现有基于蓝牙低功耗(BLE)的技术,在实现安全控制方面:基于蓝牙串口协议(SPP),实现双向的流传输,定义不同类型的数据帧,划分不同的内部状态,以不同数据帧收发来触发对应状态转换及动作,从而实现一种应用层的安全。有的直接将开放系统互连参考模型的一些安全协议直接照搬过来,如通过简单的挑战握手认证协议(CHAP)来验证对端身份。传统的这些安全控制手段,具有下面的缺点:没有密钥保护,易密钥泄露而被攻击;由于需要系统解析/打包不同类型数据帧,并根据内部状态才能进行可靠的上下文判断,因此存在易遭受拒绝服务型攻击、畸形报文攻击的弱点;由于状态机设计/实现十分复杂,不利于嵌入式系统应用的开发;需要将部分协议解析/打包功能封装到移动端App中,也不利用移动端的开发。如何避免传统的无线传输的安全方面弊端,是亟需解决的问题。
技术实现思路
本专利技术解决的技术问题是如何生成一种提高无线传输的安全性的交互密钥。为解决上述技术问题,本专利技术实施例提供一种交互密钥生成方法,获取第一电子设备发送的读取请求,生成一至少包括身份ID和挑战码的第一通知数据,将所述第一通知数据发送第一电子设备;获取所述第一电子设备发送的第一写入数据,其中,所述第一写入数据中至少包括所述身份ID对应的所述第二密钥因子;根据所述第二密钥因子与预存的第一密钥进行预设算法计算生成第二密钥;获取所述第一电子设备发送的第二写入数据,其中,所述第二写入数据中至少包括所述第一电子设备生成的第一协商数据的加密数据和挑战码认证数据的加密数据;通过所述第二密钥至少对所述第二写入数据中的所述第一协商数据的加密数据和所述挑战码认证数据进行预设算法解密,且确认解密得到的所述挑战码认证数据与所述挑战码认证通过,则根据解密得到的所述第一协商数据与本地的第二协商数据通过预设算法生成一第三密钥;生成将第二协商数据根据所述第二密钥进行预设算法加密的第三通知数据,将所述第三通知数据发送给所述第一电子设备,以用于所述第一电子设备生成第三密钥。优选的,用于蓝牙服务端电子设备被基于GATT协议的蓝牙访问过程中;其中,所述第一电子设备为蓝牙客户端电子设备;所述获取第一电子设备发送的读取请求,生成一至少包括身份ID和挑战码的第一通知数据,将所述第一通知数据发送第一电子设备,具体包括:当预设的状态特征值的状态值为第一状态值时,获取蓝牙客户端电子设备发送的第一操作特征值的数据;确定所述第一操作特征值为预设的所述第一状态值对应的操作特征值,且所述第一操作特征值的数据为读取属性的请求数据,则获取的所述第一操作特征值的数据为所述读取请求,生成一至少包括身份ID和挑战码的所述第一操作特征值的通知属性的数据,将所述第一操作特征值的通知属性的数据发送给所述蓝牙客户端电子设备,且将所述状态特征值的状态值跳转到第二状态值;所述获取所述第一电子设备发送的第一写入数据,根据所述第二密钥因子进行预设算法计算生成第二密钥,具体包括:获取所述蓝牙客户端电子设备发送的第二操作特征值的数据,确定所述第二操作特征值为预设的所述第二状态值对应的操作特征值,且所述第二操作特征值的数据为写入属性的数据,则所述第二操作特征值的数据为第一写入数据,根据预存的第一密钥与所述第二操作特征值的所述第二密钥因子进行预设的算法计算以生成第二密钥,且将所述状态特征值的状态值跳转到第三状态值;所述获取所述第一电子设备发送的第二写入数据,通过所述第二密钥至少对所述第二写入数据中的所述第一协商数据的加密数据和所述挑战码认证数据进行预设算法解密,具体包括:获取所述蓝牙客户端电子设备发送的第三操作特征值的数据,确定所述第三操作特征值为预设的所述第三状态值对应的操作特征值,且所述第三操作特征值的数据为写入属性的数据,则所述第三操作特征值的数据为所述第二写入数据,通过所述第二密钥至少对所述第三操作特征值的数据中的所述第一协商数据的加密数据和所述挑战码认证数据进行预设算法的解密操作;所述生成第三密钥之后,将第二协商数据通过所述第二密钥加密后生成所述第三操作特征值的通知属性的数据,发送给所述蓝牙客户端电子设备以用于所述蓝牙客户端电子设备生成第三密钥,且将所述状态特征值的状态值跳转到第四状态值。优选的,所述状态特征值的状态值为第四状态值之后,还包括:获取所述蓝牙客户端电子设备发送的第四操作特征值的数据,其中,所述第四操作特征值的数据至少包括加密的命令ID,确定所述第四操作特征值为预设的所述第四状态值对应的操作特征值,且所述第四操作特征值的数据为写入属性的数据,则将所述第四操作特征值的数据作为所述写入数据,根据所述第三密钥至少对所述第四操作特征值的数据中的所述加密的命令ID进行预设算法的解密,根据得到的明文命令ID执行相应的命令;执行所述命令ID对应的操作,且将执行结果数据根据所述第三密钥加密后生成所述第四操作特征值的通知属性的数据作为第二通知数据,将所述第四操作特征值的通知属性的数据发送给所述蓝牙客户端电子设备。为解决上述技术问题,本专利技术实施例还公开了一种交互密钥生成方法,用于交互访问过程中,包括以下步骤:发送第一读取请求给所述第二电子设备,获取到所述第二电子设备发送的第一通知数据,其中,所述第一通知数据中至少包括身份ID和挑战码的第一通知数据;根据所述身份ID得到对应的第二密钥和用于计算第二密钥的第二密钥因子,将至少包括用于计算第二密钥的第二密钥因子的第一写入数据发送给所述第二电子设备;本地生成并存储第一协商数据,根据所述第二密钥至少对所述挑战码和所述第一协商数据进行加密得到第二写入数据,将所述第二写入数据发送给所述第二电子设备;将获取到的所述第二电子设备发送的第三通知数据,所述第三通知数据包括已加密的所述第二协商数据,将所述第二密钥对所述第二协商数据进行解密,将明文的第二协商数据与所述第一协商数据通过预设算法生成第三密钥。为解决上述技术问题,本专利技术实施例还公开了一种蓝牙交互密钥生成系统,用于交互访问过程中,包括:第一通知发送模块,用于获取第一电子设备发送的读取请求,生成一至少包括身份ID和挑战码的第一通知数据,将所述第一通知数据发送第一电子设备;第二密钥生成模块,用于获取所述第一电子设备发送的第一写入数据,其中,所述第一写入数据中至少包括所述身份ID对应的所述第二密钥因子;根据所述第二密钥因子与预存的第一密钥进行预设算法计算生成第二密钥;第二写入数据获取模块,用于获取所述第一电子设备发送的第二写入数据,其中,所述第二写入数据中至少包括所述第一电子设备生成的第一协商数据的加密数据和挑战码认证数据的加密数据;通过所述第二密钥至少对所述第二写入数据中的所述第一协商数据的加密数据和所述挑战码认证数据进行预设算法解本文档来自技高网...

【技术保护点】
1.一种交互密钥生成方法,其特征在于,用于交互访问过程中,包括以下步骤:/n获取第一电子设备发送的读取请求,生成一至少包括身份ID和挑战码的第一通知数据,将所述第一通知数据发送第一电子设备;/n获取所述第一电子设备发送的第一写入数据,其中,所述第一写入数据中至少包括所述身份ID对应的第二密钥因子;根据所述第二密钥因子与预存的第一密钥进行预设算法计算生成第二密钥;/n获取所述第一电子设备发送的第二写入数据,其中,所述第二写入数据中至少包括所述第一电子设备生成的第一协商数据的加密数据和挑战码认证数据的加密数据;/n通过所述第二密钥至少对所述第二写入数据中的所述第一协商数据的加密数据和所述挑战码认证数据进行预设算法解密,且确认解密得到的所述挑战码认证数据与所述挑战码认证通过,则根据解密得到的所述第一协商数据与本地的第二协商数据通过预设算法生成一第三密钥;/n生成将第二协商数据根据所述第二密钥进行预设算法加密的第三通知数据,将所述第三通知数据发送给所述第一电子设备以用于所述第一电子设备生成第三密钥。/n

【技术特征摘要】
1.一种交互密钥生成方法,其特征在于,用于交互访问过程中,包括以下步骤:
获取第一电子设备发送的读取请求,生成一至少包括身份ID和挑战码的第一通知数据,将所述第一通知数据发送第一电子设备;
获取所述第一电子设备发送的第一写入数据,其中,所述第一写入数据中至少包括所述身份ID对应的第二密钥因子;根据所述第二密钥因子与预存的第一密钥进行预设算法计算生成第二密钥;
获取所述第一电子设备发送的第二写入数据,其中,所述第二写入数据中至少包括所述第一电子设备生成的第一协商数据的加密数据和挑战码认证数据的加密数据;
通过所述第二密钥至少对所述第二写入数据中的所述第一协商数据的加密数据和所述挑战码认证数据进行预设算法解密,且确认解密得到的所述挑战码认证数据与所述挑战码认证通过,则根据解密得到的所述第一协商数据与本地的第二协商数据通过预设算法生成一第三密钥;
生成将第二协商数据根据所述第二密钥进行预设算法加密的第三通知数据,将所述第三通知数据发送给所述第一电子设备以用于所述第一电子设备生成第三密钥。


2.根据权利要求1所述的方法,其特征在于,所述第二协商数据中包括第一随机数和本地特征数据;
所述第一协商数据中包括第二随机数和第一电子设备特征数据。


3.根据权利要求1所述的方法,其特征在于,将所述第三通知数据发送给所述第一电子设备之后,还包括:
获取所述第一电子设备发送的第三写入数据,其中,所述第三写入数据中至少包括加密的命令ID,根据所述第三密钥至少对所述加密的命令ID进行预设算法的解密,根据得到的明文命令ID执行相应的命令。


4.根据权利要求3所述的方法,其特征在于,根据第三密钥对所述明文命令ID对应的命令执行结果进行加密,基于加密的所述命令执行结果生成第二通知数据;
将第二通知数据发送给所述第一电子设备。


5.根据权利要求1所述的方法,其特征在于,所述第一写入数据中还包括通过第三端设备的密钥签名生成的身份认证数据,所述第二电子设备中存储有所述第三端设备的签名密钥;
所述根据所述第二密钥因子与预存的第一密钥进行预设算法计算生成第二密钥,具体包括:
根据所述第一写入数据中的预设第三端设备的密钥签名生成的身份认证数据与本地存储的所述预设第三端设备的签名密钥进行所述预设第三端设备的身份认证,若认证成功,则根据所述第二密钥因子与预存的第一密钥进行预设算法计算生成第二密钥。


6.一种交互密钥生成方法,其特征在于,用于交互访问过程中,包括以下步骤:
发送第一读取请求给所述第二电子设备,获取到所述第二电子设备发送的第一通知数据,其中,所述第一通知数据中至少包括身份ID和挑战码的第一通知数据;
根据所述身份ID得到对应的第二密钥和用于计算第二密钥的第二密钥因子,将至少包括用于计算第二密钥的第二密钥因子的第一写入数据发送给所述第二电子设备;
本地生成并存储第一协商数据,根据所述第二密钥至少对所述挑战码和所述第一协商数据进行加密得到第二写入数据,将所述第二写入数据发送给所述第二电子设备;
将获取到的所述第二电子设备发送的第三通知数据,所述第三通知数据包括已加密的所述第二协商数据,将所述第二密钥对所述第二协商数据进行解密,将明文的第二协商数据与所述第一协商数据通过预设算法生成第三密钥。


7.根据权利要求6所述的方法,其特征在于,所述第二协商数据中包括第三随机数和第二电子设备特征数据;所述第一协商数据中包括第四随机数和本地特征数据。


8.根据权利要求6所述的方法,其特征在于,所述生成第三密钥之后,还包括:
通过所述第三密钥至少对一命令ID进行预设算法的加密得到第三写入数据,将所述第三写入数据发送给所述第二电子设备。


9.根据权利要求8所述的方法,其特征在于,将所述第三写入数据发送给所述第二电子设备之后,还包括:
获取所述第一电子设备发送的第二通知数据,所述第二通知数据中包括已加密的命令执行结果;基于所述第三密钥对所述已加密的命令ID对应的命令执行结果进...

【专利技术属性】
技术研发人员:吕晓建仇兆峰韩毅单宏寅
申请(专利权)人:上海银基信息安全技术股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1