数据传输的方法和BLE设备与流程

文档序号:22557592发布日期:2020-10-17 02:42阅读:370来源:国知局
数据传输的方法和BLE设备与流程

本申请涉及通信技术领域,尤其涉及数据传输的方法和ble设备。



背景技术:

当前蓝牙低能耗(bluetoothlowenergy,ble)技术高速发展,以其极地功耗特性、灵活性和便捷性在无线传输应用中发挥日益重要的作用,广泛用于身份标识符(identifier,id)识别、无线控制等应用,但因为ble传输的数据在空中传输,在数据传输安全性上受到强烈的关注。

当前使用ble进行通信的主流做法主要是使用ble技术的加密绑定功能,或者在传输数据时,对数据层进行加密。但这些加密通信的方法都需要在ble设备之间建立连接的基础上,才能进行身份id识别和无线控制,那么在一些需要快速识别,或者需要多设备进行加密通信和识别的场景下,这些加密通信方法效率较低,并不是很实用。



技术实现要素:

本申请提供了一种数据传输的方法和ble设备,能够在提高传输效率的同时,保证数据传输的安全性。

第一方面,提供了一种用于ble的数据传输的方法,该方法包括:第一ble端采用一次性加密算法对原始数据进行加密处理,获得加密数据;所述第一ble端通过广播的方式,向至少一个ble端发送所述加密数据。

因此,本申请实施例的用于ble的数据传输的方法,ble端可以采用一次性加密算法,对数据进行加密处理,并通过广播的方式,向其他的ble端发送加密数据,可以在提高传输效率的同时,保证数据传输的安全性。

结合第一方面,在第一方面的一种实现方式中,所述第一ble端采用一次性加密算法对原始数据进行加密处理,包括:所述第一ble端基于时间因子,对所述原始数据进行加密处理。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述第一ble端基于时间因子,对所述原始数据进行加密处理,包括:所述第一ble端根据所述第一ble端的时间和预设时间间隔,确定密钥;所述第一ble端采用所述密钥,对所述原始数据进行加密处理。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述第一ble端根据所述第一ble端的时间和预设时间间隔,确定密钥,包括;所述第一ble端根据所述第一ble端的时间和预设时间间隔,按照种子文件,确定密钥。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述一次性加密算法为动态口令算法。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述方法还包括:所述第一ble端与第二ble端进行时间同步,所述第二ble端为所述至少一个ble端中的一个。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述第一ble端与所述第二ble端进行时间同步,包括:所述第一ble端向所述第二ble端发送时间同步请求消息,所述时间同步请求消息用于所述第一ble端请求与所述第二ble端进行时间同步;所述第一ble端接收所述第二ble端根据所述时间同步请求消息发送的时间同步响应消息;所述第一ble端根据所述时间同步响应消息,与所述第二ble端进行时间同步。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述时间同步请求消息包括所述第一ble端的时间;和/或,所述时间同步响应消息包括所述第二ble端的时间。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述第一ble端与所述至少一个ble端之间未建立蓝牙连接。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,在所述第一ble端与所述第二ble端进行时间同步之前,所述方法还包括:所述第一ble端与所述第二ble端建立蓝牙连接,所述蓝牙连接用于所述时间同步。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述第一ble端与所述第二ble端建立蓝牙连接,包括:所述第一ble端接收所述第二ble端发送的连接请求消息,所述连接请求消息用于所述第二ble端请求与所述第一ble端建立连接;所述第一ble端根据所述连接请求消息,向所述第二ble端发送连接响应消息。

第二方面,提供了一种用于ble端间数据传输的方法,该方法包括:第二ble端接收第一ble端通过广播的方式发送的加密数据;所述第二ble端根据一次性加密算法,对所述加密数据进行解密处理,获得原始数据。

因此,本申请实施例的用于ble端间数据传输的方法,ble端采用一次性加密算法,对广播数据进行加密处理,可以在提高传输效率的同时,保证数据传输的安全性。

结合第二方面,在第二方面的一种实现方式中,所述第二ble端根据一次性加密算法,对所述加密数据进行解密处理,包括:所述第二ble端基于时间因子,对所述加密数据进行解密处理。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述第二ble端基于时间因子,对所述加密数据进行解密处理,包括:所述第二ble端根据所述第二ble端的时间和预设时间间隔,确定密钥;所述第二ble端采用所述密钥,对所述加密数据进行解密处理。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述第二ble端根据所述第二ble端的时间和预设时间间隔,确定密钥,包括:所述第二ble端根据所述第二ble端的时间和预设时间间隔,按照种子文件,确定密钥。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述方法还包括:所述第二ble端接收应用服务器发送的所述种子文件。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述一次性加密算法为动态口令算法。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述方法还包括:所述第二ble端与所述第一ble端进行时间同步。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述第二ble端与所述第一ble端进行时间同步,包括:所述第二ble端接收所述第一ble端发送的时间同步请求消息,所述时间同步请求消息用于所述第一ble端请求与所述第二ble端进行时间同步;所述第二ble端根据所述时间同步请求消息,向所述第一ble端发送时间同步响应消息。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述时间同步请求消息包括所述第一ble端的时间;和/或,所述时间同步响应消息包括所述第二ble端的时间。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述第一ble端与所述至少一个ble端之间未建立蓝牙连接。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,在所述第二ble端与所述第一ble端进行时间同步之前,所述方法还包括:所述第二ble端与所述第一ble端建立蓝牙连接,所述蓝牙连接用于所述时间同步。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述第二ble端与所述第一ble端建立蓝牙连接,包括:所述第二ble端向所述第一ble端发送连接请求消息,所述连接请求消息用于所述第二ble端请求与所述第一ble端建立连接;所述第二ble端接收所述第一ble端根据所述连接请求消息发送的连接响应消息;所述第二ble端根据所述连接响应消息,与所述第一ble端建立蓝牙连接。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述方法还包括:所述第二ble端根据所述原始数据,对所述第一ble端进行身份识别。

第三方面,提供了一种ble设备,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该ble设备包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。

第四方面,提供了一种ble设备,用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。具体地,该ble设备包括用于执行上述第二方面或第二方面的任意可能的实现方式中的方法的单元。

第五方面,提供了一种ble设备,包括:存储单元和处理器,该存储单元用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。

第六方面,提供了一种ble设备,包括:存储单元和处理器,该存储单元用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。

第七方面,提供了一种ble芯片,用于实现上述第一方面或其各实现方式中的方法。具体地,该ble芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该ble芯片的设备执行如上述第一方面或其各实现方式中的方法。

第八方面,提供了一种ble芯片,用于实现上述第二方面或其各实现方式中的方法。具体地,该ble芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该ble芯片的设备执行如上述第二方面或其各实现方式中的方法。

第九方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

第十方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。

第十一方面,提供了一种包括指令的计算机程序产品,当计算机运行所述计算机程序产品的所述指时,所述计算机执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该计算机程序产品可以运行于上述第三方面的ble设备上。

第十二方面,提供了一种包括指令的计算机程序产品,当计算机运行所述计算机程序产品的所述指时,所述计算机执行上述第二方面或第二方面的任意可能的实现方式中的方法。具体地,该计算机程序产品可以运行于上述第四方面的ble设备上。

附图说明

图1是根据本申请实施例的用于ble的数据传输的方法的示意性流程图。

图2是根据本申请实施例的ble设备间传输数据的应用场景的示意图。

图3是根据本申请实施例的采用动态口令进行加密和解密的工作原理的示意图。

图4是根据本申请实施例的两个ble设备间时间同步的方法的示意性流程图。

图5是根据本申请实施例的一种ble设备的示意性框图。

图6是根据本申请实施例的一种ble设备的另一示意性框图。

图7是根据本申请实施例的一种ble芯片的示意性框图。

具体实施方式

下面将结合附图,对本申请实施例中的技术方案进行描述。

图1示出了根据本申请实施例的用于ble的数据传输的方法100的示意性流程图。如图1所示,该方法100包括:s110,对原始数据进行加密处理,即第一ble端采用一次性加密算法对原始数据进行加密处理,获得加密数据;s120,发送加密数据,即该第一ble端通过广播的方式,发送该加密数据,对应的,可以有至少一个ble端接收到该加密数据;s130,对加密数据进行解密处理,例如,以第二ble端为例,该第二ble端可以为接收到加密数据的至少一个ble端中的任意一个ble端,该第二ble端根据一次性加密算法,对该加密数据进行解密处理,获得原始数据。

应理解,本申请实施例中的第一ble端可以指任意一个ble设备或者任意一个芯片,该芯片可以应用于ble设备,该第一ble端为加密端,即用于对数据进行加密处理,并且可以存在一个或者多个第一ble端,为了便于说明,下面以第一ble端为ble设备为例进行描述;本申请实施例中的第二ble端也可以指任意一个ble设备或者任意一个芯片,该芯片可以应用于ble设备,该第二ble端为解密端,即第二ble端为加密数据的接收端,该第二ble端接收第一ble端广播发送的加密数据,并且也可以存在一个或者多个第二ble端,为了便于说明,下面以第二ble端为ble设备为例进行描述,但本申请实施例并不限于此。

应理解,本申请实施例中的原始数据可以指任意数据,例如,该原始数据可以指用于第一ble设备与第二ble设备之间进行数据通信的任意数据;再例如,该原始数据也可以指用于进行身份id识别的相关数据,本申请实施例并不限于此。

图2示出了ble设备间传输数据的一种应用场景的示意图,如图2所示,通常在ble无线数据分发传输中存在两种角色,这里分别称为从(slave)设备和主(master)设备。其中,从设备一般指slave外围设备,而主设备一般指master中心设备。例如,如图2所示,slave设备可以用于发送数据,例如可以用于发送广播包(advertisingpackets),即采用广播的方式发送数据,例如,本申请实施例中的第一ble设备可以为slave设备,如智能手环等穿戴设备;而master设备可以用于扫描slave设备广播发送的数据,即扫描advertisingpackets,或者说接收advertisingpackets,另外,master设备还可以用于发起连接请求(connectionrequest),例如,本申请实施例中的第二ble设备可以为master设备,常见的master设备包括手机等长供电设备,但本申请实施例并不限于此。

应理解,本申请实施例的方法100可以应用于第一ble设备通过广播的方式向一个或者多个ble设备发送数据的场景中。具体地,目前ble设备间的数据传输或者数据加密过程,都是在建立连接之后,例如任意两个ble设备在建立蓝牙连接之后,才可以进行数据传输;但是,采取广播的方式传输数据,可以在没有建立蓝牙连接的情况下,由一个ble设备向一个或者多个其他的ble设备发送数据,例如,本申请实施例中的第一ble设备也可以与接收端的该至少一个ble设备之间未建立蓝牙连接,直接通过广播的方式传输数据,这种广播传输的方式能够大大的提高数据传输的效率。

另外,对于需要多设备进行通信和识别的场景下,例如,可能存在某个ble设备需要向多个ble设备发送数据的场景,目前的传输方式均为一对一,即需要发送端ble设备依次向每个接收端ble设备发送数据;但是如果采用广播的方式,那么无论这些设备之间是否已建立连接,都可以由发送端ble设备通过广播的方式,直接向多个ble设备发送数据,例如,本申请实施例中的第一ble设备也可以通过广播的方式,向多个ble设备发送数据,从而提高数据传输的效率。

考虑到广播传输的方式的安全性,本申请实施例的方法100在采用广播的方式传输数据的同时,还采用一次性加密算法对广播数据进行加密。这样,相对于采用静态密码进行加密的方式,本申请实施例中一次性算法中使用的一次性密码(onetimepassword,otp)最重要的优点是不容易受到重放攻击,即使攻击者通过抓包仪进行空口数据抓包,也不会暴力破解出密钥(key)。

因此,本申请实施例的用于ble端之间数据传输的方法,采用可以在微控制单元(microcontrollerunit,mcu)平台高效运行的一次性加密算法,对数据进行加密处理,再通过广播的方式发送加密数据,该方法可以适用于通用ble芯片,并可以在提高传输效率的同时,保证数据传输的安全性。

下面将结合具体实施例,对本申请实施例的方法100进行详细描述。

在s110中,第一ble设备采用一次性加密算法对原始数据进行加密处理,以获得加密数据。具体地,第一ble设备采用一次性加密算法对原始数据进行加密处理,也就是采用otp对原始数据进行加密。该otp也叫密电本,是一种应用于军事领域的谍报技术,即对通信信息使用预先约定的一次性密电本进行加密和解密,使用后的密电本部分丢弃不再使用,能够做到一次一密。

在本申请实施例中,该s110可以具体包括:该第一ble设备基于时间因子,对该原始数据进行加密处理。例如,第一ble设备可以使用动态口令算法对需要广播的原始数据进行加密处理,其中,动态口令算法是otp中的一类。另外,本申请实施例的方法100中可以采用基于时间因子的动态口令算法进行加密处理。

具体地,第一ble设备基于时间因子,对该原始数据进行加密处理,可以具体包括:该第一ble设备根据该第一ble设备的时间和预设时间间隔,确定密钥;该第一ble设备采用该密钥,对该原始数据进行加密处理。其中,该预设时间间隔可以表示动态口令的更新时长,或者也可以称为时间步长;并且,该预设时间间隔可以根据实际应用进行设置,并且可以设置为任意值,例如,可以设置为30s,60s或者其他数值,但本申请实施例并不限于此。

应理解,本申请实施例中的加密过程和解密过程相对应,流程相同。图3示出了采用动态口令进行加密和解密的工作原理的示意图,如图3所示,加密和解密的流程是一样的,都基于时间作为因子,使用非函数式的伪随机数算法,简单、快速、高效,并且能够在通用ble芯片中运行。

在本申请实施例中,第一ble设备可以根据该第一ble设备的时间和预设时间间隔,按照种子文件,确定密钥,并采用该密钥加密数据。具体地,加密端(例如本申请实施例中的第一ble设备)和解密端(例如本申请实施例中的至少一个第二ble设备)都存储了一份种子文件,即图3中钥匙所代表的种子(seed)。例如,第一ble设备和/或者第二ble设备中的种子文件可以存储在ble芯片中;或者,第一ble设备和/或者第二ble设备中的种子文件也可以通过应用服务器获取;或者,第一ble设备与第二ble设备之间还可以相互传输该种子文件,例如,可以通过蓝牙连接或者其他连接方式传输该种子文件。例如,若第一ble设备与第二ble设备之间建立过蓝牙连接,则可以相互传输该种子文件并保存该种子文件,以便于在之后二者之间存在或者不存在蓝牙连接的情况下,都可以保证能够使用该种子文件。再例如,该方法100还可以包括:该第二ble设备接收应用服务器发送的该种子文件。具体地,如图2所示,本申请实施例中的第二ble设备可以与应用服务器连接,或者说与网络侧连接,以获取相关信息,例如,可以通过应用服务器获取种子文件。

考虑到本申请实施例中的加密过程和解密过程一致,下面先以第一ble设备基于时间因子,对该原始数据进行加密处理为例进行描述。具体地,如图3所示,该第一ble设备可以根据该第一ble设备的时间(即图3中左边的“时钟”表示该第一ble设备的时间)和预设时间间隔,按照种子文件,确定密钥;该第一ble设备采用该密钥,对该原始数据(即图3中的“广播数据”,表示待广播的原始数据)进行加密处理,即图3中的“密码运算”过程,以生成加密数据。

之后,在s120中,该第一ble设备通过广播的方式,发送s110中生成的加密数据,例如,如图3所示生成的加密数据;对应的,可以有至少一个ble设备接收到该加密数据。以第二ble设备为例,该第二ble设备可以为接收到加密数据的至少一个ble设备中的任意一个ble设备,在s130中,该第二ble设备根据一次性加密算法,对s120中接收到的加密数据进行解密处理,以获得原始数据。也就是说,对于解密端的第二ble设备在收到加密数据后,会进行与加密运算相应的“解密运算”,以获得原始数据,即获得图3中的“广播的数据”。

可选地,考虑本申请实施例中的方法100中的第一ble设备可以采用基于时间因子的动态口令算法进行加密处理,此时对第一ble设备与第二ble设备之间的时间同步有一定要求。例如,第一ble设备和/或第二ble设备需要有精准的实时时钟计时器;再例如,第一ble设备和/或第二ble设备也可以连接网络获取到时间;再例如,第一ble设备和第二ble设备可以进行连接,从而进行时间同步,本申请实施例并不限于此。可选地,作为一个实施例,本申请实施例的方法100还可以包括:该第一ble设备与第二ble设备进行时间同步,其中,该第二ble设备为接收到第一ble设备广播的加密数据的至少一个ble设备中的任意一个。具体地,图4示出了本申请实施例的用于该第一ble设备与第二ble设备进行时间同步的过程200的示意图。如图4所示,该过程200可以包括:该第一ble设备与该第二ble设备进行时间同步,并具体可以包括:s210,发送时间同步请求消息,即该第一ble设备向该第二ble设备发送时间同步请求消息,该时间同步请求消息用于该第一ble设备请求与该第二ble设备进行时间同步;s220,发送时间同步响应消息,即第二ble设备根据接收到的时间同步请求消息,向第一ble设备发送时间同步响应消息,以便于该第一ble设备接收该第二ble设备发送的时间同步响应消息,并根据该时间响应消息,与该第二ble设备进行时间同步。

可选地,该时间同步请求消息包括该第一ble设备的时间,这样可以使得第二ble设备获知第二ble设备的时间;和/或,该时间响应消息包括该第二ble设备的时间,这样可以使得第一ble设备获知第二ble设备的时间。第一ble设备可以根据自身的时间以及第二ble设备的时间,进行时间同步,同样的,第二ble设备也可以根据自身的时间以及第一ble设备的时间,进行时间同步,无论哪种方式,都可以达到第一ble设备与第二ble设备之间时间同步的目的,但本申请实施例并不限于此。

可选地,如图4所示,在该过程200中的该第一ble设备与该第二ble设备进行时间同步之前,该过程200还包括:该第一ble设备与该第二ble设备建立蓝牙连接,该蓝牙连接用于该时间同步。具体地,该第一ble设备与该第二ble设备建立蓝牙连接,可以包括:s230,发送连接请求消息,即该第二ble设备向第一ble设备发送连接请求消息,该连接请求消息用于该第二ble设备请求与该第一ble设备建立连接,对应的,第一ble设备接收该第二ble设备发送的连接请求消息;s240,发送连接响应消息,即该第一ble设备根据接收到的该连接请求消息,向该第二ble设备发送连接响应消息,以便于第一ble设备与第二ble设备建立连接。其中,在s230和s240中,是以第二ble设备发送连接请求消息,第一ble设备发送连接响应消息为例进行说明的;相反的,还可以由第一ble设备发送连接请求消息,第二ble设备发送连接响应消息,同样可以建立第一ble设备和第二ble设备之间的蓝牙连接,为了简洁,在此不再赘述。

可选地,不同于上述第一ble设备与第二ble设备建立连接之后再进行时间同步,在第一ble设备与第二ble设备之间未建立连接的情况下,也可以进行时间同步,例如,可以通过广播的方式进行时间同步,或者也可以通过其他方式进行时间同步,本申请实施例并不限于此。

这样,在第一ble设备与第二ble设备之间时间保持同步的情况下,采用基于时间因子的动态口令算法对广播的数据进行加密处理,能够保证加密过程更加准确。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

上文中结合图1至图4,详细描述了根据本申请实施例的用于ble的数据传输的方法,下面将结合图5至图7,描述根据本申请实施例的ble设备。

如图5所示,根据本申请实施例的ble设备300可以包括:处理单元310和收发单元320。可选地,该ble设备300可以为本申请实施例中的第一ble设备,具体地,所述处理单元310用于:采用一次性加密算法对原始数据进行加密处理,获得加密数据;收发单元320用于:通过广播的方式,向至少一个ble设备发送所述加密数据。

可选地,作为一个实施例,所述处理单元310用于:基于时间因子,对所述原始数据进行加密处理。

可选地,作为一个实施例,所述处理单元310用于:根据所述第一ble设备的时间和预设时间间隔,按照种子文件,确定密钥;采用所述密钥,对所述原始数据进行加密处理。

可选地,作为一个实施例,所述一次性加密算法为动态口令算法。

可选地,作为一个实施例,所述处理单元310还用于:与第二ble设备进行时间同步,所述第二ble设备为所述至少一个ble设备中的一个。

可选地,作为一个实施例,所述收发单元320还用于:向所述第二ble设备发送时间同步请求消息,所述时间同步请求消息用于请求与所述第二ble设备进行时间同步;接收所述第二ble设备根据所述时间同步请求消息发送的时间同步响应消息;所述处理单元310用于:根据所述时间同步响应消息,与所述第二ble设备进行时间同步。

可选地,作为一个实施例,所述时间同步请求消息包括所述第一ble设备的时间;和/或,所述时间同步响应消息包括所述第二ble设备的时间。

可选地,作为一个实施例,所述第一ble设备与所述至少一个ble设备之间未建立蓝牙连接。

可选地,作为一个实施例,所述处理单元310还用于:在与所述第二ble设备进行时间同步之前,与所述第二ble设备建立蓝牙连接,所述蓝牙连接用于所述时间同步。

可选地,作为一个实施例,所述收发单元320还用于:接收所述第二ble设备发送的连接请求消息,所述连接请求消息用于所述第二ble设备请求与所述第一ble设备建立连接;根据所述连接请求消息,向所述第二ble设备发送连接响应消息。

应理解,上述的本申请实施例的ble设备300中的各个单元的上述和其它操作和/或功能分别为了实现图1至图4中的各个方法中第一ble设备的相应流程,为了简洁,在此不再赘述。

可选地,该ble设备300还可以为本申请实施例中的第二ble设备,具体地,所述收发单元320用于:接收第一ble设备通过广播的方式发送的加密数据;所述处理单元310用于:根据一次性加密算法,对所述加密数据进行解密处理,获得原始数据。

可选地,作为一个实施例,所述处理单元310用于:基于时间因子,对所述加密数据进行解密处理。

可选地,作为一个实施例,所述处理单元310用于:根据所述第二ble设备的时间和预设时间间隔,按照种子文件,确定密钥;采用所述密钥,对所述加密数据进行解密处理。

可选地,作为一个实施例,所述收发单元320还用于:接收应用服务器发送的所述种子文件。

可选地,作为一个实施例,所述一次性加密算法为动态口令算法。

可选地,作为一个实施例,所述处理单元310还用于:与所述第一ble设备进行时间同步。

可选地,作为一个实施例,所述收发单元320还用于:接收所述第一ble设备发送的时间同步请求消息,所述时间同步请求消息用于所述第一ble设备请求与所述第二ble设备进行时间同步;根据所述时间同步请求消息,向所述第一ble设备发送时间同步响应消息。

可选地,作为一个实施例,所述时间同步请求消息包括所述第一ble设备的时间;和/或,所述时间同步响应消息包括所述第二ble设备的时间。

可选地,作为一个实施例,所述第一ble设备与所述至少一个ble设备之间未建立蓝牙连接。

可选地,作为一个实施例,所述处理单元310还用于:在与所述第一ble设备进行时间同步之前,与所述第一ble设备建立蓝牙连接,所述蓝牙连接用于所述时间同步。

可选地,作为一个实施例,所述收发单元320还用于:向所述第一ble设备发送连接请求消息,所述连接请求消息用于请求与所述第一ble设备建立连接;接收所述第一ble设备根据所述连接请求消息发送的连接响应消息;所述处理单元310用于:根据所述连接响应消息,与所述第一ble设备建立蓝牙连接。

可选地,作为一个实施例,所述处理单元310还用于:根据所述原始数据,对所述第一ble设备进行身份识别。

应理解,上述的本申请实施例的ble设备300中的各个单元的上述和其它操作和/或功能分别为了实现图1至图4中的各个方法中第二ble设备的相应流程,为了简洁,在此不再赘述。

因此,本申请实施例的ble设备,采用可以在mcu平台高效运行的一次性加密算法,对数据进行加密处理,并通过广播的方式发送,该方法可以适用于通用ble芯片,并可以在提高传输效率的同时,保证数据传输的安全性。

图6是本申请实施例提供的一种ble设备400示意性结构图。图6所示的ble设备400包括处理器410,处理器410可以从存储器中调用并运行计算机程序,以实现本申请实施例中的方法。

可选地,如图6所示,ble设备400还可以包括存储器420。其中,处理器410可以从存储器420中调用并运行计算机程序,以实现本申请实施例中的方法。

其中,存储器420可以是独立于处理器410的一个单独的器件,也可以集成在处理器410中。

可选地,如图6所示,ble设备400还可以包括收发器430,处理器410可以控制该收发器430与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。

其中,收发器430可以包括发射机和接收机。收发器430还可以进一步包括天线,天线的数量可以为一个或多个。

可选地,该ble设备400具体可为本申请实施例的第一ble设备,并且该ble设备400可以实现本申请实施例的各个方法中由第一设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该ble设备400具体可为本申请实施例的第二ble设备,并且该ble设备400可以实现本申请实施例的各个方法中由第二ble设备实现的相应流程,为了简洁,在此不再赘述。

图7是本申请实施例的ble芯片的示意性结构图。图7所示的ble芯片500包括处理器510,处理器510可以从存储器中调用并运行计算机程序,以实现本申请实施例中的方法。

可选地,如图7所示,ble芯片500还可以包括存储器520。其中,处理器510可以从存储器520中调用并运行计算机程序,以实现本申请实施例中的方法。

其中,存储器520可以是独立于处理器510的一个单独的器件,也可以集成在处理器510中。

可选地,该ble芯片500还可以包括输入接口530。其中,处理器510可以控制该输入接口530与其他设备或芯片进行通信,具体地,可以获取其他设备或芯片发送的信息或数据。

可选地,该ble芯片500还可以包括输出接口540。其中,处理器510可以控制该输出接口540与其他设备或芯片进行通信,具体地,可以向其他设备或芯片输出信息或数据。

可选地,该ble芯片可应用于本申请实施例中的第一ble设备,并且该ble芯片可以实现本申请实施例的各个方法中由第一ble设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该ble芯片可应用于本申请实施例中的第二ble设备,并且该ble芯片可以实现本申请实施例的各个方法中由第二ble设备实现的相应流程,为了简洁,在此不再赘述。

应理解,本申请实施例提到的ble芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。

应理解,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

应理解,上述存储器为示例性但不是限制性说明,例如,本申请实施例中的存储器还可以是静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)以及直接内存总线随机存取存储器(directrambusram,drram)等等。也就是说,本申请实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。

可选的,该计算机可读存储介质可应用于本申请实施例中的第一ble设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由第一ble设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该计算机可读存储介质可应用于本申请实施例中的第二ble设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由第二ble设备实现的相应流程,为了简洁,在此不再赘述。

本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。

可选的,该计算机程序产品可应用于本申请实施例中的第一ble设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由第一ble设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该计算机程序产品可应用于本申请实施例中的第二ble设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由第二ble设备实现的相应流程,为了简洁,在此不再赘述。

本申请实施例还提供了一种计算机程序。

可选的,该计算机程序可应用于本申请实施例中的第一ble设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由第一ble设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该计算机程序可应用于本申请实施例中的第二ble设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由第二ble设备实现的相应流程,为了简洁,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,)rom、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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

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