CN110602703B - 一种ble的蓝牙通信数据加密方法、终端和系统 - Google Patents
一种ble的蓝牙通信数据加密方法、终端和系统 Download PDFInfo
- Publication number
- CN110602703B CN110602703B CN201910877243.6A CN201910877243A CN110602703B CN 110602703 B CN110602703 B CN 110602703B CN 201910877243 A CN201910877243 A CN 201910877243A CN 110602703 B CN110602703 B CN 110602703B
- Authority
- CN
- China
- Prior art keywords
- user equipment
- key
- time
- encryption algorithm
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/30—Connection release
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)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种BLE的蓝牙通信数据加密方法、终端和系统,该方法在生产阶段将非对称加密算法的第一密钥对合理分配,初始化阶段采用非对称加密算法将对称加密算法的第二密钥进行加密传输,通信阶段采用对称加密算法结合加密向量实现防止蓝牙连接被暴力破解功能,同时本发明还公开了一种BLE的蓝牙通信数据加密系统,系统结合了非对称加密算法和对称加密算法,有效防止了用户设备与客户端之间的数据包出现被抓包的问题,还有效降低蓝牙连接被暴力破解的问题。
Description
技术领域
本发明涉及一种数据加密方法、终端和系统,尤其涉及一种BLE的蓝牙通信数据加密方法、终端和系统。
背景技术
目前,蓝牙连接在智能用户设备之间连接方式中占据着很重要的地位,市面上绝大部分智能用户设备都具有蓝牙通信功能,而在智能用户设备使用蓝牙连接时,一般用户设备的功耗都有比较高,因此,BLE(低功耗蓝牙)的使用比例是最高的。在BLE的标准协议中,有连接认证的流程,但是,目前大部分智能用户设备是不使用BLE自带协议连接认证的,因为在实际使用中,iOS系统的客户端拿不到输入配对密钥的权限,导致客户端端不能控制蓝牙配对连接的流程。在通信过程中,BLE也存在可以被空中抓包的风险,因此,使用BLE通信的用户设备,安全性较低。尤其是对于安全性要求较高用户设备,一旦数据被抓包,就可以使用一些蓝牙模拟用户设备,将抓包到的开锁数据发送到用户设备,完成重放攻击,严重损害用户设备安全。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种BLE的蓝牙通信数据加密方法,其能解决智能用户设备在使用蓝牙连接时出现数据被抓包以及暴力破解的问题。
本发明的目的之二在于提供一种BLE的蓝牙通信数据加密终端,其能解决智能用户设备在使用蓝牙连接时出现数据被抓包以及暴力破解的问题。
本发明的目的之三在于提供一种BLE的蓝牙通信数据加密系统,其能解决智能用户设备在使用蓝牙连接时出现数据被抓包以及暴力破解的问题。
为了达到上述目的之一,本发明所采用的技术方案如下:
一种BLE的蓝牙通信数据加密方法,该方法包括下列步骤:
步骤S1:与用户设备进行蓝牙连接,并进行身份验证,判断是否已建立第二密钥的协商,若是,则执行步骤S6,若否,则执行步骤S2;
步骤S2:通过蓝牙广播获取用户设备的唯一识别码,并将唯一识别码发送至后台服务器,获取第一加密算法的第一私钥;
步骤S:3:获得后台服务器生成第二加密算法的第二密钥;
步骤S4:采用第一加密算法对第二密钥进行加密获得第一密文,并发送至用户设备;
步骤S5:获得用户设备发送的一个响应,记录当前时间为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备;
步骤S6:成功与用户设备建立蓝牙连接,记录当前时间为第二时间,并将第二时间与唯一识别码组成加密向量,采用第二密钥和加密向量组成第三密钥对与数据交互的数据包进行加密得到加密信息;
步骤S7:采用第三密钥对接收到加密信息进行解密,若解密成功,则接收数据,若解密失败,则标记失败次数,丢弃全部数据,并执行步骤S8;
步骤S8:累计失败次数,当失败次数达到预设阈值时,限制蓝牙连接。
优选的,后台服务器预先根据用户设备的唯一识别码生成第一加密算法的第一密钥对,其中第一密钥对包括第一公钥和第一私钥,所述第一私钥被保存在后台服务器的数据库中,并将所述第一公钥烧录在用户设备中。
优选的,所述第一加密算法为非对称加密算法,第二加密算法为对称加密算法。
优选的,步骤S3具体由如下步骤实现:
步骤S3.1:获得第一加密算法的第一私钥后,向后台服务器请求生成第二加密算法的第二密钥;
步骤S3.2:获得后台服务器生成的第二加密算法的第二密钥。
优选的,步骤S5具体由如下步骤实现:
步骤S5.1:获得用户设备获得第二密钥后发出的第一响应;
步骤S5.2:记录获得用户设备的响应的当前时间为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备,以使用户设备解密第二密文获得第一时间和随机数,将获得的随机数与数据库中其他随机数进行比较,若获得的随机数与数据库中其他随机数相同,则发出随机数请求响应,否则将第一时间存储至用户设备的实时时钟模块进行时间设置,然后发出随机数时间成功设置响应;
步骤S5.3:获得用户设备发出的第二响应,对第二响应进行判断,若第二响应是随机数请求响应,则执行步骤S5.1,若第二响应是随机数时间成功设置响应,则执行步骤S6。
优选的,所述预设阈值包括第一预设阈值和第二预设阈值,第一预设阈值小于第二预设阈值,步骤S8具体由如下步骤实现:
步骤S8.1:累计失败次数,当失败次数达到第一预设阈值时,与用户设备断开蓝牙连接,并且达到第一预设时间后,才允许再次蓝牙连接;
步骤S8.2:继续累计失败次数,当失败次数达到第二预设阈值时,与用户设备断开蓝牙连接,并且达到第二预设时间后,才允许再次蓝牙连接;
其中,第一预设时间小于第二预设时间。
为了达到上述目的之二,本发明所采用的技术方案如下:
一种BLE的蓝牙通信数据加密终端,包括:
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行上述BLE的蓝牙通信数据加密方法的步骤。
为了达到上述目的之三,本发明所采用的技术方案如下:
一种BLE的蓝牙通信数据加密系统,所述系统包括:后台服务器、客户端和用户设备;
所述后台服务器,用于获取用户设备的唯一识别码,生成第一加密算法的第一密钥对,并将第一密钥对中的第一私钥保存在数据库中,将第一密钥对中的第一公钥分配在用户设备中,获得客户端发出的唯一识别码,将数据库中与唯一识别码相对应的第一私钥发送至客户端,获得客户端发出的生成第二加密算法的第二密钥的请求,生成第二加密算法的第二密钥,并发送至客户端;
所述客户端,用于与用户设备进行蓝牙连接,并进行身份验证,判断是否已建立第二密钥的协商,若未建立第二密钥的协商,则通过蓝牙广播获取用户设备的唯一识别码,并将唯一识别码发送至后台服务器,获取第一加密算法的第一私钥,再请求后台服务器生成第二加密算法的第二密钥,获得后台服务器生成第二加密算法的第二密钥后,采用第一加密算法对第二密钥进行加密获得第一密文,并发送至用户设备,将获得用户设备反馈一个响应的当前时间记录为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备,若已建立第二密钥的协商,则与用户设备建立蓝牙连接,记录当前时间为第二时间,并将第二时间与唯一识别码组成加密向量,采用第二密钥和加密向量组成第三密钥对与数据交互的数据包进行加密得到加密信息,采用第三密钥对接收到的加密信息进行解密,若解密成功,则接收数据,若解密失败,则标记失败次数,丢弃全部数据,并累计失败次数,当失败次数达到预设阈值时,限制蓝牙连接;
所述用户设备,用于通过蓝牙广播将唯一识别号传输至客户端,接收客户端发送的第一密文,调用第一公钥解密第一密文,获得第二密钥,同时向客户端发出一个响应,接收客户端反馈回来得第二密文,采用第一公钥进行解密,获得第一时间和一个随机数,将随机数保存至数据库,并将随机数与数据库中的其他随机数进行比较,将第一时间存储至实时时钟模块。
优选的,用户设备将获得的随机数与数据库中其他随机数进行比较,若获得的随机数与数据库中其他随机数相同,则用户设备重新向客户端发出第二响应,所述第二响应为随机数请求响应,客户端将获得随机数请求将第一时间存储至用户设备的实时时钟模块进行时间设置,然后用户设备向客户端发出的第二响应为时间设置成功响应,此时用户设备与客户端响应的当前时间记录为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备,用户设备采用第一公钥对第二密文进行解密,获得第一时间和一个随机数,将随机数保存至数据库,并将随机数与数据库中的其他随机数进行比较,若随机数与数据库中的其他随机数不相同,则成功建立第二密钥的协商。
优选的,所述第一加密算法为非对称加密算法,所述第二加密算法为对称加密算法。
相比现有技术,本发明的有益效果在于:采用非对称加密算法对对称加密算法的密钥进行加密,确保密钥可以安全传输,同时采用了随机数和连接时间来防止数据被抓包,有效提高了蓝牙连接的安全。
附图说明
图1为本发明中的BLE的蓝牙通信数据加密方法的流程图。
图2为本发明中的BLE的蓝牙通信数据加密终端的结构示意图。
图3为本发明中的BLE的蓝牙通信数据加密系统的结构框图。
图中:1-BLE的蓝牙通信数据加密终端;2-存储器;3-处理器;4-BLE的蓝牙通信数据加密系统;5-后台服务器;6-客户端;7-用户设备。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面,结合附图以及具体实施方式,对本发明做进一步描述:
本发明所提供BLE的蓝牙通信数据加密方法,其应用于客户端6,该客户端6可以是电脑、手机和平板电脑等智能装置,本发明中所述的用户设备7可为牙电子烟、蓝牙门锁等可蓝牙连接实现数据传输的用户设备7。本实施例中,客户端6与蓝牙电子烟、蓝牙门锁等用户设备7进行蓝牙连接,其中本发明所提及的第一加密算法为非对称加密算法,但不仅限于DH、RSA和ElGamal等算法,第二加密算法为对称加密算法,但不仅限于DES、AES、RC2、RC4和RC5等算法。
实施例一:
如图1所示,一种BLE的蓝牙通信数据加密方法,该方法包括下列步骤:
步骤S1:与用户设备7进行蓝牙连接,并进行身份验证,判断是否已建立第二密钥的协商,若是,则执行步骤S6,若否,则执行步骤S2。
具体为,客户端6与用户设备7之间需要通过建立第二密钥的协商来完成第二密钥的发送和用户设备7时间的校准;若用户设备7第一次与客户端6进行蓝牙连接或者用户将用户设备7恢复出厂设置之后的第一次与客户端6进行蓝牙连接,则客户端6需要重新对用户设备7进行第二密钥的分配和用户设备7时间的校准。
步骤S2:通过蓝牙广播获取用户设备7的唯一识别码,并将唯一识别码发送至后台服务器5,获取第一加密算法的第一私钥。
本实施例中,预先利用烧录软件将本用户设备7的唯一识别码上传到后台服务器5,后台服务器5根据唯一识别码生成一个第一加密算法的密钥对,由于用户设备7之间的唯一识别码各不相同,所以后台服务器5对应每个唯一识别码生成不同的密钥对,将密钥对中的第一私钥保存到后台服务器5的数据库中、第一公钥发送到烧录软件,烧录软件收到之后,将第一公钥烧录至蓝牙用户设备7中,后台服务器5在收到客户端6发出的唯一识别码后,从数据库中调出与该唯一识别码相对应的第一私钥,并发送至客户端6。
步骤S3:获得后台服务器5生成第二加密算法的第二密钥。
具体为,客户端6获得第一加密算法的第一私钥后,向后台服务器5请求生成第二加密算法的第二密钥,后台服务器5生成并发送第二加密算法的第二密钥至客户端6保存。
步骤S4:采用第一加密算法对第二密钥进行加密获得第一密文,并发送至用户设备7。
具体为,第一加密算法为非对称加密算法,第二加密算法为对称加密算法,本实施例中,采用非对称加密算法将对称加密算法的密钥进行加密,实现对称加密算法的密钥在客户端6与用户设备7之间加密传输。
步骤S5:获得用户设备7发送的一个响应,记录当前时间为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备7。
具体为,用户设备7调用预先烧录好的第一公钥对第一密文进行解密得到第二密钥,并保存到数据库,同时用户设备7向客户端6发出第一响应;客户端6获得用户设备7的第一响应时,记录当前时间为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备7;用户设备7采用第一公钥对第二密文解密得到随机数和第一时间,将随机数保存至数据库,将随机数与数据库中的其他随机数进行比较,若发现相同随机数,则用户设备7重新向客户端6发出第二响应,该响应为随机数请求响应,客户端6获得随机数请求响应时,记录当前时间,采用第一加密算法将当前时间和一个新的随机数加密成新的第二密文,发送至用户设备7,如此循环,直至用户设备7获得的随机数与数据库中的其他随机数不重复,若无相同随机数,将第一时间存储至用户设备7的实时时钟模块进行时间设置,然后用户设备7向客户端6发出的第二响应为时间设置成功响应,此时用户设备7与客户端6成功建立第二密钥的协商,以保证每个随机数只能使用一次,以防止设置时间的数据包被人抓包之后重复发送。
步骤S6:成功与用户设备7建立蓝牙连接,记录当前时间为第二时间,并将第二时间与唯一识别码组成加密向量,采用第二密钥和加密向量组成第三密钥对与数据交互的数据包进行加密得到加密信息。
具体为,已建立第二密钥的密钥协商的用户设备7和客户端6使用第三密钥加密数据进行数据通信,而第三密钥由第二密钥和加密向量组成的动态密钥;在本实施例中,记录客户端6与用户设备7成功进行蓝牙连接的当前时间为第二时间,第三密钥的加密向量由第二时间和用户设备7的唯一识别码组成。每次连接之后,只要用户设备7与客户端6的蓝牙连接不出现中断情况,第三密钥就需要不更换加密向量。当用户设备7与客户端6的蓝牙连接出现中断情况,当前时间的加密向量就失效,以此保证每次客户端6与用户设备7成功建立蓝牙连接之后的加密向量都是不一致的。
步骤S7:采用第三密钥对接收到加密信息进行解密,若解密成功,则接收数据,若解密失败,则标记失败次数,丢弃全部数据,并执行步骤S8。
具体为,客户端6与用户设备7的交互数据包均使用当前连接所产生的的第三密钥进行加密或解密,当第三密钥对加密信息的解密失败时,数据的接收方将本次接受的数据全部丢失,并对本次解密失败进行标记,降低数据被抓包的概率。
步骤S8:累计失败次数,当失败次数达到预设阈值时,限制蓝牙连接。
具体为,所述预设阈值包括第一预设阈值和第二阈值,第一预设阈值小于第二预设阈值,所述限制蓝牙连接具体为:当累计的失败次数达到第一预设阈值时,客户端6与用户设备7断开蓝牙连接,并且达到第一预设时间后,才允许再次蓝牙连接,继续累计失败次数,当失败次数达到第二预设阈值时,客户端6与用户设备7断开蓝牙连接,并且达到第二预设时间后,才允许再次蓝牙连接,其中第一预设时间小于第二预设时间。
在本实施例中,第一预设阈值设为3,第二预设阈值设为10,第一预设时间为5分钟,第二预设时间为24小时,当用户设备7或者客户端6连续3次出现解密失败的情况,主动断开客户端6与用户设备7的蓝牙连接,并限制需要等待5分钟之后才能再次连接,当用户设备7或者客户端6连续10次出现解密失败的情况,主动断开客户端6与用户设备7的蓝牙连接,并限制需要等待24小时之后才能再次连接,防止暴力破解。
实施例二:
如图2所示,一种BLE的蓝牙通信数据加密终端1,包括:
存储器2,用于存储程序指令;
处理器3,用于运行所述程序指令,以执行实施例一所述的步骤。
实施例三:
如图3所示,一种BLE的蓝牙通信数据加密系统4,所述系统包括:后台服务器5、客户端6和用户设备7;
所述后台服务器5,用于获取用户设备7的唯一识别码,生成第一加密算法的第一密钥对,并将第一密钥对中的第一私钥保存在数据库中,将第一密钥对中的第一公钥分配在用户设备7中,获得客户端6发出的唯一识别码,将数据库中与唯一识别码相对应的第一私钥发送至客户端6,获得客户端6发出的生成第二加密算法的第二密钥的请求,生成第二加密算法的第二密钥,并发送至客户端6;
所述客户端6,用于与用户设备7进行蓝牙连接,并进行身份验证,判断是否已建立第二密钥的协商,若未建立第二密钥的协商,则通过蓝牙广播获取用户设备7的唯一识别码,并将唯一识别码发送至后台服务器5,获取第一加密算法的第一私钥,再请求后台服务器5生成第二加密算法的第二密钥,获得后台服务器5生成第二加密算法的第二密钥后,采用第一加密算法对第二密钥进行加密获得第一密文,并发送至用户设备7,将获得用户设备7反馈一个响应的当前时间记录为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备7,若已建立第二密钥的协商,则与用户设备7建立蓝牙连接,记录当前时间为第二时间,并将第二时间与唯一识别码组成加密向量,采用第二密钥和加密向量组成第三密钥对与数据交互的数据包进行加密得到加密信息,采用第三密钥对接收到的加密信息进行解密,若解密成功,则接收数据,若解密失败,则标记失败次数,丢弃全部数据,并累计失败次数,当失败次数达到预设阈值时,限制蓝牙连接;
所述用户设备7,用于通过蓝牙广播将唯一识别号传输至客户端6,接收客户端6发送的第一密文,调用第一公钥解密第一密文,获得第二密钥,同时向客户端6发出一个响应,接收客户端6反馈回来得第二密文,采用第一公钥进行解密,获得第一时间和一个随机数,将随机数保存至数据库,并将随机数与数据库中的其他随机数进行比较,将第一时间存储至实时时钟模块。
本实施例中,BLE的蓝牙通信数据加密系统4通过后台服务器5利用烧录软件获取用户设备7的唯一识别码,并将唯一识别码生成第一加密算法的第一密钥对,其中第一密钥对包括第一公钥和第一私钥,再通过烧录软件将第一公钥烧录到用户设备7中,第一私钥保存在后台服务器5的数据库中。当用户设备7第一次与客户端6进行蓝牙连接或者用户将用户设备7恢复出厂设置之后的第一次与客户端6进行蓝牙连接,则客户端6和用户设备7需要通过建立第二密钥的协商来完成对用户设备7进行第二密钥的分配和用户设备7时间的校准,客户端6通过蓝牙广播获得用户设备7的唯一识别码,客户端6将唯一识别码发送至后台服务器5,当后台服务器5收到客户端6传输过来的唯一识别码时,将数据库中与唯一识别码相对应的第一私钥发送至客户端6,客户端6收到第一私钥后,再向后台服务器5发送获取第二加密算法的第二密钥的请求,后台服务器5接收到请求后生成第二密钥,并发送至客户端6,客户端6获得第二密钥后,将第二密钥保存至数据库中,同时采用第一加密算法将第二密钥加密成第一密文发送至用户设备7,用户设备7采用预先烧录的第一公钥对第一密文解密获得第二密钥,同时向客户端6发出第一响应,客户端6将获得响应的当前时间记录为第一时间,再采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备7。当客户端6与用户设备7之间已完成第二密钥的协商,则客户端6与用户设备7之间成功建立蓝牙连接,记录当前时间为第二时间,将第二时间和唯一识别码组合成加密向量,将加密向量和第二密钥组成第三密钥,客户端6与用户设备7之间进行数据交互的数据包均由第三密钥进行加密或解密,每次连接之后,只要用户设备7与客户端6的蓝牙连接不出现中断情况,第三密钥就需要不更换加密向量。当用户设备7与客户端6的蓝牙连接出现中断情况,当前时间的加密向量就失效,以此保证每次客户端6与用户设备7成功建立蓝牙连接之后的加密向量都是不一致的,当第三密钥对加密信息的解密失败时,数据的接收方将本次接受的数据全部丢失,并对本次解密失败进行标记,降低数据被抓包的概率。当失败次数达到预设阈值时,限制蓝牙连接。其中,所述预设阈值包括第一预设阈值和第二预设阈值,而且第一预设阈值小于第二预设阈值,所述限制蓝牙连接具体为:当累计的失败次数达到第一预设阈值时,客户端6与用户设备7断开蓝牙连接,并且达到第一预设时间后,才允许再次蓝牙连接,然后继续累计失败次数,当失败次数达到第二预设阈值时,客户端6与用户设备7断开蓝牙连接,并且达到第二预设时间后,才允许再次蓝牙连接,其中第一预设时间小于第二预设时间。在本实施例中,将第一预设阈值设为3,第二预设阈值设为10,第一预设时间为5分钟,第二预设时间为24小时,当用户设备7或者客户端6连续3次出现解密失败的情况,主动断开客户端6与用户设备7的蓝牙连接,并限制需要等待5分钟之后才能再次连接,当用户设备7或者客户端6连续10次出现解密失败的情况,主动断开客户端6与用户设备7的蓝牙连接,并限制需要等待24小时之后才能再次连接,防止暴力破解。
用户设备7获得第二密钥后向客户端6发出第一响应,再将解密第二密文获得的随机数与数据库中其他随机数进行比较,若获得的随机数与数据库中其他随机数相同,则用户设备7重新向客户端6发出第二响应,所述第二响应为随机数请求响应,客户端6将获得随机数请求响应的当前时间记录为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备7,用户设备7采用第一公钥对第二密文进行解密,获得第一时间和一个随机数,将随机数保存至数据库,并将随机数与数据库中的其他随机数进行比较,若随机数与数据库中的其他随机数不相同,则将第一时间存储至用户设备7的实时时钟模块进行时间设置,然后用户设备7向客户端6发出的第二响应为时间设置成功响应,此时用户设备7与客户端6成功建立第二密钥的协商。
具体为,用户设备7调用预先烧录好的第一公钥对第一密文进行解密得到第二密钥,并保存到数据库,同时用户设备7向客户端6发出第一响应;客户端6获得用户设备7的第一响应时,记录当前时间为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备7;用户设备7采用第一公钥对第二密文解密得到随机数和第一时间,将随机数保存至数据库,将随机数与数据库中的其他随机数进行比较,若发现相同随机数,则用户设备7向客户端6发出第二响应,该响应为随机数请求响应,客户端6获得随机数请求响应时,记录当前时间,采用第一加密算法将当前时间和一个新的随机数加密成新的第二密文,发送至用户设备7,如此循环,直至用户设备7获得的随机数与数据库中的其他随机数不重复为止,若无相同随机数,将第一时间存储至用户设备7的实时时钟模块进行时间设置,然后用户设备7向客户端6发出的第二响应为时间设置成功响应,此时用户设备7与客户端6成功建立第二密钥的协商,以保证每个随机数只能使用一次,以防止设置时间的数据包被人抓包之后重复发送。
所述第一加密算法为非对称加密算法,所述第二加密算法为对称加密算法。
在本实施例中,采用非对称加密算法将对称加密算法的密钥进行加密,实现对称加密算法的密钥在客户端6与用户设备7之间加密传输,当对称加密算法的密钥在客户端6与用户设备7之间的分配完成后,客户端6与用户设备7进行数据交互时,采用对称加密算法对数据进行加密或解密,发送方采用对称加密算法将数据进行加密,接收方采用对称加密算法的密钥对加密的数据进行解密。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (10)
1.一种BLE的蓝牙通信数据加密方法,应用于客户端,其特征在于,该方法包括下列步骤:
步骤S1:与用户设备进行蓝牙连接,并进行身份验证,判断客户端与用户设备之间是否已建立第二密钥的协商,若是,则执行步骤S6,若否,则执行步骤S2;
步骤S2:通过蓝牙广播获取用户设备的唯一识别码,并将唯一识别码发送至后台服务器,获取第一加密算法的第一私钥;
步骤S3:获得后台服务器生成第二加密算法的第二密钥;
步骤S4:采用第一加密算法对第二密钥进行加密获得第一密文,并发送至用户设备;
步骤S5:获得用户设备发送的一个响应,记录当前时间为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备;
步骤S6:记录与用户设备成功建立蓝牙连接的当前时间为第二时间,并将第二时间与唯一识别码组成加密向量,采用第二密钥和加密向量组成第三密钥,并用第三密钥对用于数据交互的数据包进行加密,得到加密信息;
步骤S7:采用第三密钥对接收到的加密信息进行解密,若解密成功,则接收数据,若解密失败,则标记失败次数,丢弃全部数据,并执行步骤S8;
步骤S8:累计失败次数,当失败次数达到预设阈值时,限制蓝牙连接。
2.如权利要求1所述的BLE的蓝牙通信数据加密方法,其特征在于:后台服务器预先根据用户设备的唯一识别码生成第一加密算法的第一密钥对,其中第一密钥对包括第一公钥和第一私钥,所述第一私钥保存在后台服务器的数据库中,并将所述第一公钥烧录在用户设备中。
3.如权利要求1所述的BLE的蓝牙通信数据加密方法,其特征在于:所述第一加密算法为非对称加密算法,第二加密算法为对称加密算法。
4.如权利要求1所述的BLE的蓝牙通信数据加密方法,其特征在于:步骤S3具体由如下步骤实现:
步骤S3.1:获得第一加密算法的第一私钥后,向后台服务器请求生成第二加密算法的第二密钥;
步骤S3.2:获得后台服务器生成的第二加密算法的第二密钥。
5.如权利要求1所述的BLE的蓝牙通信数据加密方法,其特征在于:步骤S5具体由如下步骤实现:
步骤S5.1:获得用户设备获得第二密钥后发出的第一响应;
步骤S5.2:记录获得用户设备的响应的当前时间为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备,以使用户设备解密第二密文获得第一时间和随机数,将获得的随机数与数据库中其他随机数进行比较,若获得的随机数与数据库中其他随机数相同,则发出随机数请求响应,否则将第一时间存储至用户设备的实时时钟模块进行时间设置,然后发出随机数时间成功设置响应;
步骤S5.3:获得用户设备发出的第二响应,对第二响应进行判断,若第二响应是随机数请求响应,则执行步骤S5.1,若第二响应是随机数时间成功设置响应,则执行步骤S6。
6.如权利要求1所述的BLE的蓝牙通信数据加密方法,其特征在于:所述预设阈值包括第一预设阈值和第二预设阈值,第一预设阈值小于第二预设阈值,步骤S8具体由如下步骤实现:
步骤S8.1:累计失败次数,当失败次数达到第一预设阈值时,与用户设备断开蓝牙连接,并且达到第一预设时间后,才允许再次蓝牙连接;
步骤S8.2:继续累计失败次数,当失败次数达到第二预设阈值时,与用户设备断开蓝牙连接,并且达到第二预设时间后,才允许再次蓝牙连接;
其中,第一预设时间小于第二预设时间。
7.一种BLE的蓝牙通信数据加密终端,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行如权利要求1-6任一项所述的BLE的蓝牙通信数据加密方法的步骤。
8.一种BLE的蓝牙通信数据加密系统,其特征在于,所述系统包括:后台服务器、客户端和用户设备;
所述后台服务器,用于获取用户设备的唯一识别码,生成第一加密算法的第一密钥对,并将第一密钥对中的第一私钥保存在数据库中,将第一密钥对中的第一公钥分配在用户设备中,获得客户端发出的唯一识别码,将数据库中与唯一识别码相对应的第一私钥发送至客户端,获得客户端发出的生成第二加密算法的第二密钥的请求,生成第二加密算法的第二密钥,并发送至客户端;
所述客户端,用于与用户设备进行蓝牙连接,并进行身份验证,判断自身与用户设备之间是否已建立第二密钥的协商,若未建立第二密钥的协商,则获取用户设备通过蓝牙广播发送的唯一识别码,并将唯一识别码发送至后台服务器,获取第一加密算法的第一私钥,再请求后台服务器生成第二加密算法的第二密钥,获得后台服务器生成第二加密算法的第二密钥后,采用第一加密算法对第二密钥进行加密获得第一密文,并发送至用户设备,将获得用户设备反馈一个响应的当前时间记录为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备,若已建立第二密钥的协商,则与用户设备建立蓝牙连接,记录当前时间为第二时间,并将第二时间与唯一识别码组成加密向量,采用第二密钥和加密向量组成第三密钥,并用第三密钥对用于数据交互的数据包进行加密,以得到加密信息,采用第三密钥对接收到的加密信息进行解密,若解密成功,则接收数据,若解密失败,则标记失败次数,丢弃全部数据,并累计失败次数,当失败次数达到预设阈值时,限制蓝牙连接;
所述用户设备,用于通过蓝牙广播将唯一识别码传输至客户端,接收客户端发送的第一密文,调用第一公钥解密第一密文,以获得第二密钥,同时向客户端发出一个响应,接收客户端反馈回来得第二密文,采用第一公钥进行解密,获得第一时间和一个随机数,将随机数保存至数据库,并将随机数与数据库中的其他随机数进行比较,将第一时间存储至实时时钟模块。
9.如权利要求8所述的BLE的蓝牙通信数据加密系统,其特征在于:用户设备获得第二密钥后向客户端发出第一响应,再将解密第二密文获得的随机数与数据库中其他随机数进行比较,若获得的随机数与数据库中其他随机数相同,则用户设备重新向客户端发出第二响应,所述第二响应为随机数请求响应,客户端将获得随机数请求响应的当前时间记录为第一时间,采用第一加密算法将第一时间和一个随机数加密成第二密文,发送至用户设备,用户设备采用第一公钥对第二密文进行解密,获得第一时间和一个随机数,将随机数保存至数据库,并将随机数与数据库中的其他随机数进行比较,若随机数与数据库中的其他随机数不相同,则将第一时间存储至用户设备的实时时钟模块进行时间设置,然后用户设备向客户端发出的第二响应为时间设置成功响应,此时用户设备与客户端成功建立第二密钥的协商。
10.如权利要求8所述的BLE的蓝牙通信数据加密系统,其特征在于:所述第一加密算法为非对称加密算法,所述第二加密算法为对称加密算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910877243.6A CN110602703B (zh) | 2019-09-17 | 2019-09-17 | 一种ble的蓝牙通信数据加密方法、终端和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910877243.6A CN110602703B (zh) | 2019-09-17 | 2019-09-17 | 一种ble的蓝牙通信数据加密方法、终端和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110602703A CN110602703A (zh) | 2019-12-20 |
CN110602703B true CN110602703B (zh) | 2021-04-27 |
Family
ID=68860174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910877243.6A Active CN110602703B (zh) | 2019-09-17 | 2019-09-17 | 一种ble的蓝牙通信数据加密方法、终端和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110602703B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200807B (zh) * | 2019-12-30 | 2024-03-29 | 上海博泰悦臻网络技术服务有限公司 | 一种基于蓝牙的信息交互方法及其装置 |
WO2021155482A1 (zh) * | 2020-02-03 | 2021-08-12 | 深圳市汇顶科技股份有限公司 | 数据传输的方法和ble设备 |
CN113329399A (zh) * | 2020-02-28 | 2021-08-31 | 阿里巴巴集团控股有限公司 | 数据传输、配网与管理方法、设备、系统及存储介质 |
CN112488255A (zh) * | 2020-11-05 | 2021-03-12 | 贺宗艳 | 电子学生证信息的采集方法及系统 |
CN112672333B (zh) * | 2020-12-15 | 2023-08-25 | 三维通信股份有限公司 | 设备连接方法及装置 |
EP4021033B1 (en) | 2020-12-22 | 2022-11-02 | Axis AB | Method and system for access control using short-range wireless communications |
CN112711764A (zh) * | 2020-12-30 | 2021-04-27 | 南方电网科学研究院有限责任公司 | 一种数据读写方法、装置及电子设备 |
CN113630772A (zh) * | 2021-08-17 | 2021-11-09 | 深圳市智莱科技股份有限公司 | 蓝牙数据传输方法、装置、蓝牙设备以及存储介质 |
CN113808303B (zh) * | 2021-08-24 | 2023-04-07 | 珠海市安科电子有限公司 | 复合加密方法、门锁系统及存储介质 |
CN115833985A (zh) * | 2022-11-16 | 2023-03-21 | 中国联合网络通信集团有限公司 | 时间同步方法、装置、通信终端和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947931A (zh) * | 2017-12-29 | 2018-04-20 | 北京海泰方圆科技股份有限公司 | 一种密钥协商的方法及系统、蓝牙设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105722013A (zh) * | 2016-02-02 | 2016-06-29 | 深圳市文鼎创数据科技有限公司 | 蓝牙配对方法及装置 |
US10523652B2 (en) * | 2017-03-29 | 2019-12-31 | Ca, Inc. | Secure identity sharing using a wearable device |
CN110224976B (zh) * | 2019-04-29 | 2020-05-12 | 北京邮电大学 | 一种加密通信方法、装置及计算机可读存储介质 |
-
2019
- 2019-09-17 CN CN201910877243.6A patent/CN110602703B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947931A (zh) * | 2017-12-29 | 2018-04-20 | 北京海泰方圆科技股份有限公司 | 一种密钥协商的方法及系统、蓝牙设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110602703A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110602703B (zh) | 一种ble的蓝牙通信数据加密方法、终端和系统 | |
CN111050314B (zh) | 客户端注册方法、装置及系统 | |
US11228442B2 (en) | Authentication method, authentication apparatus, and authentication system | |
US8583809B2 (en) | Destroying a secure session maintained by a server on behalf of a connection owner | |
US20190068591A1 (en) | Key Distribution And Authentication Method And System, And Apparatus | |
EP2033479B1 (en) | Method and apparatus for security protection of an original user identity in an initial signaling message | |
US20180225444A1 (en) | Systems and methods for provisioning a camera with a dynamic qr code and a ble connection | |
JP2004214779A (ja) | 無線通信システム、共通鍵管理サーバ、および無線端末装置 | |
WO2012024872A1 (zh) | 移动互联网加密通讯的方法、系统及相关装置 | |
RU2008118495A (ru) | Способ и устройство для установления безопасной ассоциации | |
CN101895881B (zh) | 一种实现gba密钥的方法及终端可插拔设备 | |
WO2018120217A1 (zh) | 验证密钥请求方的方法和设备 | |
CN112332986B (zh) | 一种基于权限控制的私有加密通信方法及系统 | |
CN112672342B (zh) | 数据传输方法、装置、设备、系统和存储介质 | |
CN105577365A (zh) | 一种用户接入wlan的密钥协商方法及装置 | |
CN114826659B (zh) | 一种加密通讯方法及系统 | |
CN116318677A (zh) | 一种数据传输方法、客户端、服务端及存储介质 | |
JP2001505749A (ja) | テレコミュニケーションネットワークにおける通信当事者間の認証 | |
CN112512064B (zh) | 一种无线配网方法、无线网关及待接入设备 | |
JP6471039B2 (ja) | 無線通信システムおよび無線端末 | |
CN114362944A (zh) | 一种基于量子密钥的d2d安全移动通信方法及系统 | |
CN111132143B (zh) | 一体化多媒体智能设备安全保护系统及方法 | |
KR100789354B1 (ko) | 네트워크 카메라, 홈 게이트웨이 및 홈 오토메이션장치에서의 데이터 보안 유지 방법 및 장치 | |
CN110881019A (zh) | 安全通讯终端、安全通讯系统及其通讯方法 | |
CN215186781U (zh) | 基于量子保密通信网络的抗量子计算移动通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |