CN111489461B - 一种集团用蓝牙钥匙*** - Google Patents
一种集团用蓝牙钥匙*** Download PDFInfo
- Publication number
- CN111489461B CN111489461B CN201910076591.3A CN201910076591A CN111489461B CN 111489461 B CN111489461 B CN 111489461B CN 201910076591 A CN201910076591 A CN 201910076591A CN 111489461 B CN111489461 B CN 111489461B
- Authority
- CN
- China
- Prior art keywords
- user
- key
- app
- factory
- bluetooth lock
- 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
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
-
- 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
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Lock And Its Accessories (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种集团用蓝牙钥匙***,所述蓝牙锁的根密钥包括工厂根密钥、用户根密钥与按键根密钥;每一个类型的根密钥可以生成对应类型的钥匙,分别为工厂钥匙、用户钥匙与按键钥匙;蓝牙锁与钥匙的认证是通过APP进行的,在更新用户根密钥的过程中,采用工厂根密钥进行验证与加密。在认证过程中,钥匙数据不被暴露,同时每次连接重新协商通讯密钥,防止了重放被攻击的可能,保证了钥匙的安全。
Description
技术领域
本发明涉及蓝牙锁技术领域,尤其是涉及一种集团用蓝牙钥匙***。
背景技术
由于门锁涉及到人身财产安全,因而对安全性的需求较高。由于蓝牙开锁***涉及到云端数据库及代码安全、APP数据及代码安全、固件数据及代码安全,这三端只要有一端产生漏洞,就会对整体安全性产生影响。
固件为蓝牙锁安全性的最重要一关,如果设计不当,很容易被黑客攻击,如最基本的通讯协议为明文,或者每次开门指令相同,或者开门逻辑被破解等情况下,黑客在不需要接触的情况下即可复制出数字钥匙。为了不让通讯协议明文传输,通讯过程中需要进行加密。由于低功耗蓝牙每次传输数据量有限,且算力小,只能选择对算力要求不高的对称算法。但如果对称算法加密密钥不变,则每次开门的指令均会相同,这样加密就失去了意义,固每次通讯过程中均需协商出一个密钥。而只用一定的逻辑算法去协商密钥,一旦逻辑被泄露,协商出的密钥也是非安全的;若蓝牙锁内置一个根密钥,此密钥存在于APP或云端。如果在APP中,也可能存在一些问题,如APP不小心被卸载,或手机被格式化,同时用户又没有带卡或者钥匙,就只能找锁匠开锁,或暴力拆解。同时APP安装包可以进行反编译,即使代码经过混淆或者使用沙箱等技术手段,破解也只是时间问题。如果根密钥被解析出来,锁就没有安全性可言。另外存储在APP中也不方便B端应用场景,即多管理员批量管理钥匙的需求,从这几点的情形来看,根密钥存储在云端是最好的选择,而APP在开锁中只扮演“中间人”的角色。
但在没有网络的时候,APP无法连接服务器,无法实现开锁。
根密钥存储在云端,且包含生成钥匙算法的“业务服务器”与存储根密钥的“密管中心”分开部署,一定程度上保证了根密钥的安全性。虽然服务器被攻破的概率极低,但世界上没有绝对的安全,一旦“密管中心”和“业务服务器”被攻破,会威胁到所有蓝牙锁的安全,引起大规模的安全事件。
如果蓝牙锁内部只有一种根密钥,想收回分发的钥匙(重新生成根密钥),很容易出现数据不同步问题。例如重新生成根密钥时,某一步出现了无法修复的中断,导致新的根密钥没有上传到服务器,这时锁的根密钥也就丢失了(相当于蓝牙功能不可用),而且没有补救措施。
为了解决上述问题,设计一种安全的蓝牙锁***是亟待解决的问题。
发明内容
本发明的目的是提供一种集团用蓝牙锁生成用户根密钥的方法,采用三个根密钥,在生成更新用户根密钥的过程中,采用工厂根密钥进行验证与加密,防止用户钥匙根密钥丢失后无法补救,提高了蓝牙锁的安全。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种集团用蓝牙钥匙***,蓝牙锁根密钥包括工厂根密钥、用户根密钥、按键根密钥,在更新用户根密钥的过程中,采用工厂根密钥进行验证与加密。
本发明进一步设置为:蓝牙锁生成用户根密钥的过程,服务器工作包括以下步骤:
S1、服务器接收用户APP发送的账号密码登陆请求后,进行账号验证,若账号密码一致,则发送登陆成功信息给用户APP,其中,账号密码是通过HTTPS加密方式发送;
S2、服务器接收用户APP广播发送的密码ID,验证账号权限,并生成工厂钥匙发送给用户APP;
S3、服务器接收用户APP发送的用户根密钥密文,进行解密并存储。
本发明进一步设置为:蓝牙锁生成用户根密钥的过程,用户APP工作包括以下步骤:
A1、用户APP发送账号密码登陆请求给服务器,并接收服务器发送的登陆成功信息,其中,账号密码是通过HTTPS方式发送;
A2、用户APP接收蓝牙锁的广播密码ID,并上报给服务器;
A3、用户APP接收服务器发送的工厂钥匙;
A4、用户APP实现与蓝牙锁的连接;并与蓝牙锁进行工厂钥匙认证,发送生成用户根密钥指令给蓝牙锁;
A5、用户APP接收蓝牙锁发送的用户根密钥密文,并上报给服务器;
A6、用户APP断开与蓝牙锁的连接。
本发明进一步设置为:蓝牙锁生成用户根密钥的过程,蓝牙锁工作包括以下步骤:
B1、蓝牙锁发送广播密码ID给用户APP;
B2、蓝牙锁建立与用户APP的连接;并与用户APP进行工厂钥匙认证;
B3、蓝牙锁接收用户APP发送的生成用户根密钥指令;
B4、蓝牙锁随机生成新的用户根密钥,存储更新用户根密钥,并采用工厂根密钥加密用户根密钥,形成用户根密钥密文,上报给用户APP;
B5、蓝牙锁断开与用户APP的连接。
本发明进一步设置为:蓝牙锁初始化过程,服务器工作包括以下步骤:
C1、服务器接收出厂APP发送的账号密码登陆请求后,验证账号权限和生产数量,若账号密码一致,则发送登陆成功信息给出厂APP,其中,账号密码是通过HTTPS加密方式发送;
C2、服务器接收出厂APP上报的MAC地址,进行MAC查重,生成蓝牙锁ID和密码ID,并记录相关数据;
C3、服务器发送蓝牙锁ID和密码ID给出厂APP;
C4、服务器接收出厂APP发送的工厂根密钥密文,进行解密并存储。
本发明进一步设置为:蓝牙锁初始化过程,出厂APP工作包括以下步骤:
D1、出厂APP发送账号密码登陆请求给服务器,并接收服务器发送的登陆成功信息,其中,账号密码是通过HTTPS方式发送;
D2、出厂APP接收蓝牙锁的广播MAC地址,并上报给服务器;
D3、出厂APP接收服务器发送的蓝牙锁ID和密码ID;
D4、出厂APP实现与蓝牙锁的连接;并与蓝牙锁进行工厂钥匙认证,将蓝牙锁ID、密码ID、B/C端标识写入蓝牙锁;
D5、出厂APP接收蓝牙锁发送的写入成功信息,并发送初始化工厂根密钥指令给蓝牙锁;
D6、出厂APP接收蓝牙锁发送的工厂根密钥密文,并上报工厂根密钥密文给服务器;
D7、出厂APP断开与蓝牙锁的连接。
本发明进一步设置为:蓝牙锁初始化过程,蓝牙锁工作包括以下步骤:
E1、蓝牙锁发送广播发送MAC地址给出厂APP;
E2、蓝牙锁建立与出厂APP的连接;与出厂APP进行工厂钥匙认证;
E3、蓝牙锁写入蓝牙锁ID、密码ID、B/C端标识;写入操作成功后,发送操作成功信息给出厂APP;
E4、蓝牙锁接收出厂APP发送的初始化工厂根密钥指令,随机生成新的工厂根密钥并存储,随机选择密钥加密工厂根密钥后,发送工厂根密钥密文给出厂APP;
E5、蓝牙锁断开与出厂APP的连接。
本发明进一步设置为:当蓝牙锁具有用户根密钥之后,计算出钥匙,服务器下发用户钥匙给用户APP的过程具体包括如下步骤:
F1、服务器接收用户APP发送的账号密码登陆信息后,进行账号验证,若验证成功,则发送登陆成功信息给用户APP,其中,账号密码是通过HTTPS加密方式发送;
F2、服务器下发用户钥匙给用户APP。
本发明进一步设置为:蓝牙锁认证开锁,只有有权限的用户钥匙用户钥匙用户钥匙可以进行认证开锁,开锁时需要判断用户开锁信息,蓝牙锁工作包括以下步骤:
G1、蓝牙锁广播密码ID给用户APP;
G2、蓝牙锁建立与用户APP的连接;
G3、蓝牙锁与用户APP进行用户钥匙用户钥匙用户钥匙验证;
G4、蓝牙锁接收用户APP发送的操作信息,所述操作信息包括开门命令与用户自定密码;
G5、蓝牙锁开锁成功后,上报开锁成功信息给用户APP;
G6、蓝牙锁断开与用户APP的连接。
本发明进一步设置为:蓝牙锁认证开锁中,用户APP工作包括以下步骤:
H1、用户APP接收蓝牙锁的广播密码ID;
H2、用户APP建立与蓝牙锁的连接;
H3、用户APP与蓝牙锁进行用户钥匙验证;
H4、用户APP发送操作信息给蓝牙锁,所述操作信息包括开门命令与用户自定密码;
H5、用户APP接收蓝牙锁发送的开锁成功信息;
H6、用户APP断开与蓝牙锁的连接;
H7、用户APP上报用户根密钥密文给服务器存储。
与现有技术相比,本发明的有益技术效果为:
1.本申请通过采用三个根密钥,防止了在一个根密钥时,根密钥丢失引起的损失。
2.进一步地,本申请通过在生成更新用户根密钥的过程中,采用工厂根密钥进行验证与加密,防止用户根密钥被破解引起的安全漏洞,提高了蓝牙锁的安全。
3.进一步地,在蓝牙锁与云端的通过过程中,***漏密钥数据,防止了重放被攻击的可能。
附图说明
图1是本发明的一个具体实施例的初始化流程示意图。
图2是本发明的一个具体实施例的B端锁生成用户根密钥的流程示意图。
图3是本发明的一个具体实施例的C端锁生成用户根密钥的流程示意图。图4是本发明的一个具体实施例的服务器下发钥匙的流程示意图。
图5是本发明的一个具体实施例的蓝牙认证开锁的流程示意图。
图6是本发明的一个具体实施例的钥匙认证的流程示意图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
本发明提供一种蓝牙锁***,包括工厂根密钥、用户根密钥、按键根密钥,在更新用户根密钥的过程中,使用工厂根密钥进行验证与加密,这样如果在更新用户根密钥时发生数据丢失,只需要再次进行更新用户根密钥,不会造成根密钥丢失问题。
“工厂根密钥”和“用户根密钥”为锁随机生成的,“按键根密钥”为固定的。每一个类型的根密钥可以生成对应类型的钥匙,因此钥匙也分为工厂钥匙(Factory Key),用户钥匙(User Key)和按键钥匙(Press Key)。
在蓝牙锁的生产过程中,对蓝牙锁做初始化操作时生成的密钥为“工厂根密钥”,工厂钥匙(Factory Key)为“工厂根密钥”生成的钥匙。在工厂时使用的出厂APP可以保证是安全的,因而可以认定“工厂根密钥”也是安全的。
“用户根密钥”多数是在正常使用环境生成,采用“工厂根密钥”加密“用户根密钥”以保证安全性,克服了使用“固定密钥”进行加密无法保证“用户根密钥”的安全性的问题。
蓝牙锁在添加“用户根密钥”时,要求用户填写一个自定义开门密码。此密码只存储于蓝牙锁和APP中,不上传到云端。此时相当于手机里只有密码和钥匙,服务器只有根密钥。每次开门时,APP中的密码和云端发的钥匙均与锁内信息对应起来才能打开蓝牙锁,解决了如果“密管中心”和“业务服务器”被攻破后,蓝牙锁安全不能保证的问题。
钥匙就是将代表一定意义的数据进行处理,并用根密钥加密得到的一组数据。APP得到的钥匙分两部分,一部分是验证用的验证钥匙Auth Key,一部分是用来验证权限等信息的参数钥匙Param Key。此时APP不再纯做“中间人”,也没有得到锁的根密钥,不但解决了离线开门的情形,也解决了根密钥暴露的问题。
在蓝牙锁初始化时,会写入B端或C端的锁标识,其中B端表示用于集团性统一管理的锁,如酒店、小区门禁等,C端表示用于个人用户的锁,如家里的门锁。
B端蓝牙锁只能用工厂钥匙(Factory Key)进行认证添加“用户根密钥”,B端蓝牙锁绑定到了某个集团或者小区,个人用户无法添加“用户根密钥”。APP的非集团账号也无法获得对应的工厂钥匙(Factory Key),这样就防止了非集团用户恶意添加“用户根密钥”的情形。
在C端蓝牙锁的内部设置一个按键,只有能打开此蓝牙锁的人(即锁的拥有者)才能按到,解决了因为C端蓝牙锁与APP账号没有一一对应关系,无法判断某个账号是否有添加此蓝牙锁用户钥匙(User Key)权限的问题。在按键被按下后,30秒内可以使用固定的按键钥匙(Press Key)进行认证并生成“用户根密钥”。
蓝牙锁在固件烧录完成后,内部数据均为默认值,需要进行初始化、生成用户密钥、服务器下发钥匙、蓝牙认证开锁四个步骤后才能实现蓝牙开锁功能。其中初始化是在工厂内部完成,其余步骤根据实际应用场景进行。
蓝牙锁初始化操作是向刚烧写完固件的锁设备中写入必要信息,生成“工厂根密钥”,并对应记录到服务器中。“工厂根密钥”产生后不可更改,只有重新烧写程序并清空内部数据后才可再次生成。
在本发明的一个具体实施例中,如图1所示,服务器、蓝牙锁、出厂APP协同工作,完成初始化过程。
服务器工作流程,包括以下步骤:
C1、服务器接收出厂APP发送的账号密码登陆请求后,验证账号权限和生产数量,若账号密码一致,则发送登陆成功信息给出厂APP,其中,账号密码是通过HTTPS加密方式发送;
C2、服务器接收出厂APP上报的MAC地址,进行MAC查重,生成蓝牙锁ID和密码ID,并记录相关数据;
C3、服务器发送ID和密码ID给出厂APP;
C4、服务器接收出厂APP发送的工厂根密钥密文,进行解密并存储。
出厂APP工作流程,包括以下步骤:
D1、出厂APP发送账号密码登陆请求给服务器,并接收服务器发送的登陆成功信息,其中,账号密码是通过HTTPS方式发送;
D2、出厂APP接收蓝牙锁的广播MAC地址,并上报给服务器;
D3、出厂APP接收服务器发送的蓝牙锁ID和密码ID;
D4、出厂APP实现与蓝牙锁的连接;并与蓝牙锁进行工厂钥匙认证,将蓝牙锁ID、密码ID、B/C端标识写入蓝牙锁;
D5、出厂APP接收蓝牙锁发送的写入成功信息,并发送初始化工厂根密钥指令给蓝牙锁;
D6、出厂APP接收蓝牙锁发送的工厂根密钥密文,并上报工厂根密钥密文给服务器;
D7、出厂APP断开与蓝牙锁的连接。
蓝牙锁工作流程,包括以下步骤:
E1、蓝牙锁广播发送MAC地址给出厂APP;
E2、蓝牙锁建立与出厂APP的连接;与出厂APP进行工厂钥匙认证;
E3、蓝牙锁写入ID、密码ID、B/C端标识;写入操作成功后,发送操作成功信息给出厂APP;
E4、蓝牙锁接收初始化工厂根密钥指令,随机生成新的工厂根密钥并存储,随机选择密钥加密工厂根密钥后,发送工厂根密钥密文给出厂APP;
E5、蓝牙锁断开与出厂APP的连接。
在本发明的一个具体实施例中,服务器、蓝牙锁、用户APP协同工作,生成用户根密钥。
“用户根密钥”,用于生成用户开门操作所用的用户钥匙(User Key),“用户根密钥”存储在服务器中。对于具有生成“用户根密钥”权限的钥匙,可以重新生成“用户根密钥”。
在本发明的一个具体实施例中,如图2所示,B端蓝牙锁生成用户根密钥,服务器工作过程,包括以下步骤:
S11、服务器接收用户APP发送的账号密码登陆请求后,进行账号验证,若账号密码一致,则发送登陆成功信息给用户APP,其中,账号密码是通过HTTPS加密方式发送;
S12、服务器接收用户APP发送的广播密码ID,验证账号权限,并生成工厂钥匙(Factory Key)发送给用户APP;
S13、服务器接收用户APP发送的用户根密钥密文,进行解密并存储。
用户APP工作过程,包括以下步骤:
A11、用户APP发送账号密码登陆请求给服务器,并接收服务器发送的登陆成功信息,其中,账号密码是通过HTTPS加密方式发送;
A12、用户APP接收蓝牙锁的广播密码ID,并上报给服务器;
A13、用户APP接收服务器发送的工厂钥匙;
A14、用户APP实现与蓝牙锁的连接;并与蓝牙锁进行工厂钥匙认证,发送生成用户根密钥指令给蓝牙锁;
A15、用户APP接收蓝牙锁发送的用户根密钥密文,并上报给服务器;
A16、用户APP断开与蓝牙锁的连接。
蓝牙锁工作过程,包括以下步骤:
B11、蓝牙锁发送广播密码ID给用户APP;
B12、蓝牙锁建立与用户APP的连接;并与用户APP进行工厂钥匙认证;
B13、蓝牙锁接收用户APP发送的生成用户根密钥指令;
B14、蓝牙锁随机生成新的用户根密钥,存储更新用户根密钥,并采用工厂根密钥加密用户根密钥,形成用户根密钥密文,上报给用户APP;
B15、蓝牙锁断开与用户APP的连接。
在本发明的一个具体实施例中,如图3所示,C端蓝牙锁生成用户根密钥,服务器工作过程,包括以下步骤:
S21、服务器接收用户APP发送的账号密码登陆请求后,进行账号验证,若账号密码一致,则发送登陆成功信息给用户APP,其中,账号密码是通过HTTPS加密方式发送;
S22、服务器接收用户APP发送的用户根密钥密文,进行解密并存储。
用户APP工作过程,包括以下步骤:
A21、用户APP发送账号密码登陆请求给服务器,并接收服务器发送的登陆成功信息,其中,账号密码是通过HTTPS方式发送;
A22、用户APP接收蓝牙锁广播的密码ID、C端标识信息;
A23、用户APP实现与蓝牙锁的连接;并与蓝牙锁进行按键钥匙认证,发送生成用户根密钥指令给蓝牙锁;
A25、用户APP接收蓝牙锁发送的用户根密钥密文,并上报给服务器;
A26、用户APP断开与蓝牙锁的连接。
蓝牙锁工作过程,蓝牙锁在按键被按下后的设定时间内,使用按键钥匙进行认证并生成用户根密钥,包括以下步骤:
B21、蓝牙锁按键被按下;
B22、蓝牙锁广播密码ID、C端标识信息给用户APP;
B23、蓝牙锁建立与用户APP的连接;并与用户APP进行按键钥匙认证;
B24、蓝牙锁接收用户APP发送的生成用户根密钥指令;
B25、蓝牙锁随机生成新的用户根密钥,更新用户根密钥并存储,并采用工厂根密钥加密用户根密钥,形成用户根密钥密文,并上报给用户APP;
B25、蓝牙锁断开与用户APP的连接。
优选地,设定时间为30秒。
在本发明的一个具体实施例中,当蓝牙锁具有“用户根密钥”之后,则可以计算出钥匙。如图4所示,服务器下发用户钥匙给用户APP的过程中,服务器工作流程,包括以下步骤:
F1、服务器接收用户APP发送的账号密码登陆信息后,进行账号验证,若验证成功,则发送登陆成功信息给用户APP,其中,账号密码是通过HTTPS加密方式发送;
F2、服务器下发用户钥匙给用户APP。
服务器下发用户钥匙过程中,用户APP工作流程,包括以下步骤:
F11、用户APP以HTTPS加密方式向服务器发送账号密码信息,请求登陆;
F12、用户APP接收服务器返回的登陆成功信号及下发的用户钥匙。
在本发明的一个具体实施例中,如图5所示,蓝牙锁认证开锁,只有具有权限的用户钥匙才能进行认证开锁,开锁时需要判断用户开锁信息,蓝牙锁工作过程包括以下步骤:
G1、蓝牙锁广播密码ID(Cipher ID)给用户APP;
G2、蓝牙锁建立与用户APP的连接;
G3、蓝牙锁与用户APP进行用户钥匙验证;
G4、蓝牙锁接收用户APP发送的操作信息,所述操作信息包括开门命令与用户自定密码;
G5、蓝牙锁开锁成功后,上报开锁成功信息给用户APP;
G6、蓝牙锁断开与用户APP的连接。
蓝牙锁认证开锁,用户APP工作过程,包括以下步骤:
H1、用户APP接收蓝牙锁的广播密码ID;
H2、用户APP建立与蓝牙锁的连接;
H3、用户APP与蓝牙锁进行用户钥匙验证;
H4、用户APP发送操作信息给蓝牙锁,所述操作信息包括开门命令与用户自定密码;
H5、用户APP接收蓝牙锁发送的开锁成功信息;
H6、用户APP断开与蓝牙锁的连接;
H7、用户APP上报用户根密钥密文给服务器存储。
在本发明的一个具体实施例中,不同类型的钥匙生成方法相同,采用AES或其他对称算法进行加密,区别在于,在生成钥匙过程中,不同类型的钥匙携带的原始数据(Data)(12字节)意义不同,使用的根密钥也不同。
具体地,工厂钥匙的生成包括如下步骤:
S31、将工厂根密钥拆分成两段工厂根密钥A和工厂根密钥B;工厂根密钥A包括12字节,工厂根密钥B包括4字节;
S32、将工厂原始数据(Data)与工厂根密钥B拼合在一起后,用工厂根密钥加密后,得到的数据为工厂参数钥匙(Param Key),包括16个字节;
S33、将工厂参数钥匙(Param Key)拆分成两段,工厂参数钥匙A(Param Key A)和工厂参数钥匙B(Param Key B),工厂参数钥匙A包括4字节,工厂参数钥匙B包括12字节;
S34、将工厂参数钥匙A与工厂根密钥A拼合在一起后,再用工厂根密钥加密,得到的数据为工厂认证钥匙,包括16个字节;
S35、将工厂参数钥匙与工厂认证钥匙拼合在一起,得到的数据即为工厂钥匙,包括32个字节。
同样地,按键钥匙的生成包括如下步骤:
S41、将按键根密钥拆分成两段按键根密钥A和按键根密钥B,按键根密钥A包括12字节,按键根密钥B包括4字节;
S42、将按键原始数据与按键根密钥B拼合在一起后,用按键根密钥加密后,得到的数据为按键参数钥匙,包括16个字节;
S43、将按键参数钥匙拆分成两段按键参数钥匙A和按键参数钥匙B,按键参数钥匙A包括4字节,按键参数钥匙B包括12字节;
S44、将按键参数钥匙A与按键根密钥A拼合在一起后,再用按键根密钥加密,得到的数据为按键认证钥匙,包括16个字节;
S45、将按键参数钥匙与按键认证钥匙拼合在一起,得到的数据即为按键钥匙。
同样地,用户根密钥生成所述用户钥匙,包括以下步骤:
S51、将用户根密钥拆分成两段,用户根密钥A和用户根密钥B,用户根密钥A包括12字节,用户根密钥B包括4字节;
S52、将用户原始数据与用户根密钥B拼合在一起后,用用户根密钥加密后,得到的数据为用户参数钥匙;
S53、将用户参数钥匙拆分成两段,用户参数钥匙A和用户参数钥匙B,用户参数钥匙A包括4字节,用户参数钥匙B包括12字节;
S54、将用户参数钥匙A与用户根密钥A拼合在一起后,再用用户根密钥加密,得到的数据为用户认证钥匙;
S55、将用户参数钥匙与用户认证钥匙拼合在一起,得到的数据即为用户钥匙。
在本发明的一个具体实施例中,不论哪种钥匙,蓝牙锁与钥匙的认证方法相同,不同点是钥匙后续操作的权限。例如工厂钥匙(Factory Key)不可以开门,用户钥匙(UserKey)不可以添加“用户根密钥”等。
如图6所示,蓝牙锁与用户钥匙进行认证的过程中,用户APP的工作过程,包括如下步骤:
R1、用户APP连接蓝牙锁;
R2、用户APP采用用户钥匙向蓝牙锁发送请求认证(Auth);
R3、用户APP接收蓝牙锁发起的挑战,用认证钥匙(Auth Key)解密并解析挑战(Challenge)数据,再利用挑战(Challenge)数据更新加密密钥,此时相当于协商出了通讯加密用的通讯密钥;
R4、用户APP向蓝牙锁回复挑战,并发送需要进行的操作给蓝牙锁;
R5、用户钥匙认证过程结束。
蓝牙锁与用户钥匙进行认证的过程中,蓝牙锁的工作过程,包括如下步骤:
R11、蓝牙锁收到请求认证后,首先会生成认证钥匙(Auth Key),解密请求认证数据包后部分并校验,再解密参数钥匙(Param Key)获取并校验,若校验成功则会发起挑战,即产生挑战(Challenge)随机数后,生成挑战数据包并用认证钥匙(Auth Key)加密发送给用户APP。
由钥匙生成过程可知,利用未加密的参数钥匙(Param Key)及锁内部存储的根密钥,可以算出认证钥匙(Auth Key)。
其中,步骤R2中,请求认证数据包结构,如表1所示:
表1:
请求认证数据包,包括:参数钥匙、密钥类型、随机数、校验位,其中,参数钥匙包括16个字节,密钥类型包括1个字节,随机数包括2个字节、校验位包括1个字节,参数钥匙的前4个字节不加密,对参数钥匙的后12个字节、密钥类型、随机数、校验位用认证钥匙加密。
步骤R11中,挑战数据包结构,如表2所示:
表2:
挑战数据包,包括:认证回复(Auth Respond)、挑战数据(Challenge Data)1、挑战数据(Challenge Data)2、随机数、校验位,其中,认证回复包括2个字节、挑战数据1包括4个字节、挑战数据2包括8个字节、随机数包括5个字节、校验位包括1个字节,对认证回复、挑战数据1、挑战数据2、随机数的前2个字节用认证钥匙加密,对随机数的后3个字节、校验位不进行处理。
步骤R3中,通讯密钥结构,如表3所示:
表3:
通讯密钥,包括挑战数据(Challenge Data)2、认证钥匙(Auth Key)的后半部分;其中,挑战数据2包括8个字节、认证钥匙的后半部分包括后8个字节。
步骤R4中,回复挑战与操作数据包结构,如表4所示:
表4:
回复挑战与操作数据包,包括挑战数据1、命令(Command)段、校验位,其中,挑战数据1包括4个字节、命令段包括15个字节、校验位包括1字节,回复挑战与操作数据包的命令段、校验位用通讯密钥加密,对挑战数据1不处理。
至此蓝牙认证过程结束。
可见通讯过程中,未将钥匙数据的原文暴露在通讯过程中,保证了通过无线抓包方式无法获取到钥匙。同时每次连接均重新协商了使用的通讯密钥,防止了重放攻击的可能。使用中间人攻击时,中间人获取不到通讯密钥,也无法进行数据篡改。
本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。
Claims (10)
1.一种集团用蓝牙钥匙***,其特征在于:蓝牙锁根密钥包括工厂根密钥、用户根密钥、按键根密钥,在更新用户根密钥的过程中,采用工厂根密钥进行验证与加密;根密钥存储于服务器,用户根密钥用于生成用户开门操作所用的用户钥匙,工厂根密钥用于生成工厂钥匙,按键根密钥用于生成按键钥匙;工厂根密钥和用户根密钥为蓝牙锁随机生成的,按键根密钥为固定的;集团用蓝牙锁绑定某个集团或者小区,只能用工厂钥匙进行认证添加用户根密钥,个人用户无法添加用户根密钥;用户APP中钥匙分两部分,分别为用于验证的验证钥匙和用于验证权限信息的参数钥匙。
2.根据权利要求1所述蓝牙钥匙***,其特征在于:蓝牙锁生成用户根密钥的过程,服务器工作包括以下步骤:
S1、服务器接收用户APP发送的账号密码登陆请求后,进行账号验证,若账号密码一致,则发送登陆成功信息给用户APP,其中,账号密码是通过HTTPS加密方式发送;
S2、服务器接收用户APP广播发送的密码ID,验证账号权限,并生成工厂钥匙发送给用户APP;
S3、服务器接收用户APP发送的用户根密钥密文,进行解密并存储。
3.根据权利要求1所述蓝牙钥匙***,其特征在于:蓝牙锁生成用户根密钥的过程,用户APP工作包括以下步骤:
A1、用户APP发送账号密码登陆请求给服务器,并接收服务器发送的登陆成功信息,其中,账号密码是通过HTTPS方式发送;
A2、用户APP接收蓝牙锁的广播密码ID,并上报给服务器;A3、用户APP接收服务器发送的工厂钥匙;
A4、用户APP实现与蓝牙锁的连接;并与蓝牙锁进行工厂钥匙认证,发送生成用户根密钥指令给蓝牙锁;
A5、用户APP接收蓝牙锁发送的用户根密钥密文,并上报给服务器;
A6、用户APP断开与蓝牙锁的连接。
4.根据权利要求1所述蓝牙钥匙***,其特征在于:蓝牙锁生成用户根密钥的过程,蓝牙锁工作包括以下步骤:
B1、蓝牙锁发送广播密码ID给用户APP;
B2、蓝牙锁建立与用户APP的连接;并与用户APP进行工厂钥匙认证;
B3、蓝牙锁接收用户APP发送的生成用户根密钥指令;
B4、蓝牙锁随机生成新的用户根密钥,存储更新用户根密钥,并采用工厂根密钥加密用户根密钥,形成用户根密钥密文,上报给用户APP;
B5、蓝牙锁断开与用户APP的连接。
5.根据权利要求1所述蓝牙钥匙***,其特征在于:蓝牙锁初始化过程,服务器工作包括以下步骤:
C1、服务器接收出厂APP发送的账号密码登陆请求后,验证账号权限和生产数量,若账号密码一致,则发送登陆成功信息给出厂APP,其中,账号密码是通过HTTPS加密方式发送;
C2、服务器接收出厂APP上报的MAC地址,进行MAC查重,生成蓝牙锁ID和密码ID,并记录相关数据;
C3、服务器发送蓝牙锁ID和密码ID给出厂APP;
C4、服务器接收出厂APP发送的工厂根密钥密文,进行解密并存储。
6.根据权利要求1所述蓝牙钥匙***,其特征在于:蓝牙锁初始化过程,出厂APP工作包括以下步骤:
D1、出厂APP发送账号密码登陆请求给服务器,并接收服务器发送的登陆成功信息,其中,账号密码是通过HTTPS方式发送;
D2、出厂APP接收蓝牙锁的广播MAC地址,并上报给服务器;
D3、出厂APP接收服务器发送的蓝牙锁ID和密码ID;
D4、出厂APP实现与蓝牙锁的连接;并与蓝牙锁进行工厂钥匙认
证,将蓝牙锁ID、密码ID、B/C端标识写入蓝牙锁;
D5、出厂APP接收蓝牙锁发送的写入成功信息,并发送初始化工厂根密钥指令给蓝牙锁;
D6、出厂APP接收蓝牙锁发送的工厂根密钥密文,并上报工厂根密钥密文给服务器;
D7、出厂APP断开与蓝牙锁的连接。
7.根据权利要求1所述蓝牙钥匙***,其特征在于:蓝牙锁初始化过程,蓝牙锁工作包括以下步骤:
E1、蓝牙锁发送广播发送MAC地址给出厂APP;
E2、蓝牙锁建立与出厂APP的连接;与出厂APP进行工厂钥匙认证;
E3、蓝牙锁写入蓝牙锁ID、密码ID、B/C端标识;写入操作成功后,发送操作成功信息给出厂APP;
E4、蓝牙锁接收出厂APP发送的初始化工厂根密钥指令,随机生成新的工厂根密钥并存储,随机选择密钥加密工厂根密钥后,发送工厂根密钥密文给出厂APP;
E5、蓝牙锁断开与出厂APP的连接。
8.根据权利要求1所述蓝牙钥匙***,其特征在于:当蓝牙锁具有用户根密钥之后,计算出钥匙,服务器下发用户钥匙给用户APP的过程具体包括如下步骤:
F1、服务器接收用户APP发送的账号密码登陆信息后,进行账号验证,若验证成功,则发送登陆成功信息给用户APP,其中,账号密码是通过HTTPS加密方式发送;
F2、服务器下发用户钥匙给用户APP。
9.根据权利要求1所述蓝牙钥匙***,其特征在于:蓝牙锁认证
开锁,只有有权限的用户钥匙用户钥匙用户钥匙能进行认证开锁,开锁时需要判断用户开锁信息,蓝牙锁工作包括以下步骤:
G1、蓝牙锁广播密码ID给用户APP;G2、蓝牙锁建立与用户APP的连接;
G3、蓝牙锁与用户APP进行用户钥匙用户钥匙用户钥匙验证;
G4、蓝牙锁接收用户APP发送的操作信息,所述操作信息包括开门命令与用户自定密码;
G5、蓝牙锁开锁成功后,上报开锁成功信息给用户APP;G6、蓝牙锁断开与用户APP的连接。
10.根据权利要求1所述蓝牙钥匙***,其特征在于:蓝牙锁认证开锁中,用户APP工作包括以下步骤:
H1、用户APP接收蓝牙锁的广播密码ID;H2、用户APP建立与蓝牙锁的连接;
H3、用户APP与蓝牙锁进行用户钥匙验证;
H4、用户APP发送操作信息给蓝牙锁,所述操作信息包括开门命令与用户自定密码;
H5、用户APP接收蓝牙锁发送的开锁成功信息;
H6、用户APP断开与蓝牙锁的连接;
H7、用户APP上报用户根密钥密文给服务器存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910076591.3A CN111489461B (zh) | 2019-01-26 | 2019-01-26 | 一种集团用蓝牙钥匙*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910076591.3A CN111489461B (zh) | 2019-01-26 | 2019-01-26 | 一种集团用蓝牙钥匙*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111489461A CN111489461A (zh) | 2020-08-04 |
CN111489461B true CN111489461B (zh) | 2022-07-15 |
Family
ID=71793851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910076591.3A Active CN111489461B (zh) | 2019-01-26 | 2019-01-26 | 一种集团用蓝牙钥匙*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111489461B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112396738B (zh) * | 2020-12-01 | 2022-11-04 | 深圳市汇顶科技股份有限公司 | 共享设备的解锁方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389500A (zh) * | 2014-09-02 | 2016-03-09 | 苹果公司 | 利用一个设备解锁另一个设备的方法 |
CN106846589A (zh) * | 2017-03-06 | 2017-06-13 | 南京邮电大学 | 一种基于蓝牙的手机app和单片机控制*** |
CN107948961A (zh) * | 2017-12-23 | 2018-04-20 | 北京智辉空间科技有限责任公司 | 蓝牙定位***及方法 |
EP3361451A1 (en) * | 2017-02-10 | 2018-08-15 | Vestel Elektronik Sanayi ve Ticaret A.S. | Safety lock for restricting access to technical devices |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105405189A (zh) * | 2015-10-29 | 2016-03-16 | 詹卓衡 | 门锁及其控制方法 |
CN205259674U (zh) * | 2015-11-24 | 2016-05-25 | 厦门中卡科技开发有限公司 | 一种多车使用的车位锁*** |
CN108116367B (zh) * | 2016-11-29 | 2020-08-25 | 比亚迪股份有限公司 | 无钥匙***匹配方法及无钥匙匹配*** |
US10580242B2 (en) * | 2017-01-20 | 2020-03-03 | Macron International, Inc. | Asset management system utilizing a mobile application |
CN106934886B (zh) * | 2017-02-28 | 2019-02-26 | 南京东屋电气有限公司 | 一种动态密码锁otc密钥设置与更新方法 |
CN108510626B (zh) * | 2018-02-23 | 2021-08-31 | 深圳同心科技有限公司 | 一种动态密码门禁管理方法及其管理*** |
-
2019
- 2019-01-26 CN CN201910076591.3A patent/CN111489461B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389500A (zh) * | 2014-09-02 | 2016-03-09 | 苹果公司 | 利用一个设备解锁另一个设备的方法 |
EP3361451A1 (en) * | 2017-02-10 | 2018-08-15 | Vestel Elektronik Sanayi ve Ticaret A.S. | Safety lock for restricting access to technical devices |
CN106846589A (zh) * | 2017-03-06 | 2017-06-13 | 南京邮电大学 | 一种基于蓝牙的手机app和单片机控制*** |
CN107948961A (zh) * | 2017-12-23 | 2018-04-20 | 北京智辉空间科技有限责任公司 | 蓝牙定位***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111489461A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495274B (zh) | 一种去中心化智能锁电子钥匙分发方法及*** | |
CN106130982B (zh) | 基于pki体系的智能家电远程控制方法 | |
CN107612889B (zh) | 防止用户信息泄露的方法 | |
CN111080845B (zh) | 临时解锁方法、***、门锁、管理员终端和可读存储介质 | |
CN113572740B (zh) | 一种基于国密的云管理平台认证加密方法 | |
CN1977559B (zh) | 保护在用户之间进行通信期间交换的信息的方法和*** | |
CN102685739B (zh) | 安卓企业应用的鉴权方法及*** | |
CN107154847A (zh) | 面向离线环境的密码生成方法、验证方法及其智能设备 | |
CN111181723B (zh) | 物联网设备间离线安全认证的方法和装置 | |
CN108650261B (zh) | 基于远程加密交互的移动终端***软件烧录方法 | |
CN101621794A (zh) | 一种无线应用服务***的安全认证实现方法 | |
CN112672342B (zh) | 数据传输方法、装置、设备、***和存储介质 | |
CN104767766A (zh) | 一种Web Service接口验证方法、Web Service服务器、客户端 | |
CN115396121A (zh) | 安全芯片ota数据包的安全认证方法及安全芯片装置 | |
CN105141629A (zh) | 一种基于WPA/WPA2 PSK多密码提升公用Wi-Fi网络安全性的方法 | |
CN114697082B (zh) | 一种无服务器环境的加解密装置的生产及应用方法 | |
CN111489462B (zh) | 一种个人用蓝牙钥匙*** | |
CN111563980B (zh) | 一种蓝牙锁钥匙生成与认证方法 | |
CN102546240B (zh) | 网络通信方法、网络通信***以及网络通信装置 | |
KR101358375B1 (ko) | 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법 | |
CN103856938B (zh) | 一种加密解密的方法、***及设备 | |
CN107104792B (zh) | 一种便携式移动口令管理***及其管理方法 | |
CN111489461B (zh) | 一种集团用蓝牙钥匙*** | |
KR101996317B1 (ko) | 인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법 | |
KR101329789B1 (ko) | 모바일 디바이스의 데이터베이스 암호화 방법 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 230001 China (Anhui) pilot Free Trade Zone, Hefei, Anhui Province a3-14, floor 14, block a, building J1, phase II, innovation industrial park, No. 2800, innovation Avenue, high tech Zone, Hefei Applicant after: Hefei Zhihui Space Technology Co.,Ltd. Address before: 100020 room 801, 8th floor, building 2, courtyard 16, Guangshun North Street, Chaoyang District, Beijing Applicant before: BEIJING ZHIHUI SPACE TECHNOLOGY CO.,LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |