CN111489462B - 一种个人用蓝牙钥匙系统 - Google Patents

一种个人用蓝牙钥匙系统 Download PDF

Info

Publication number
CN111489462B
CN111489462B CN201910076598.5A CN201910076598A CN111489462B CN 111489462 B CN111489462 B CN 111489462B CN 201910076598 A CN201910076598 A CN 201910076598A CN 111489462 B CN111489462 B CN 111489462B
Authority
CN
China
Prior art keywords
key
user
app
bluetooth lock
factory
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
Application number
CN201910076598.5A
Other languages
English (en)
Other versions
CN111489462A (zh
Inventor
杨刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Zhihui Space Technology Co ltd
Original Assignee
Hefei Zhihui Space Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei Zhihui Space Technology Co ltd filed Critical Hefei Zhihui Space Technology Co ltd
Priority to CN201910076598.5A priority Critical patent/CN111489462B/zh
Publication of CN111489462A publication Critical patent/CN111489462A/zh
Application granted granted Critical
Publication of CN111489462B publication Critical patent/CN111489462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00817Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00571Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00896Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys specially adapted for particular uses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/00412Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal being encrypted
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00817Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
    • G07C2009/00825Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed remotely by lines or wireless communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Lock And Its Accessories (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种个人用蓝牙钥匙系统,蓝牙锁根密钥包括工厂根密钥、用户根密钥、按键根密钥,蓝牙锁内部具有按键,在所述按键被按下后的设定时间内,使用按键钥匙进行认证并生成用户根密钥;在更新用户根密钥的过程中,采用工厂根密钥进行验证与加密在认证过程中,钥匙数据不暴露,同时每次连接重新协商通讯密钥,防止了重放被攻击的可能,三个根密钥生成三个钥匙,更是保证了钥匙的安全。

Description

一种个人用蓝牙钥匙系统
技术领域
本发明涉及蓝牙锁技术领域,尤其是涉及一种个人用蓝牙钥匙系统。
背景技术
由于门锁涉及到人身财产安全,因而对安全性的需求较高。由于蓝牙开锁系统涉及到云端数据库及代码安全、APP数据及代码安全、固件数据及代码安全,这三端只要有一端产生漏洞,就会对整体安全性产生影响。
固件为蓝牙锁安全性的最重要一关,如果设计不当,很容易被黑客攻击,如最基本的通讯协议为明文,或者每次开门指令相同,或者开门逻辑被破解等情况下,黑客在不需要接触的情况下即可复制出数字钥匙。为了不让通讯协议明文传输,通讯过程中需要进行加密。由于低功耗蓝牙每次传输数据量有限,且算力小,只能选择对算力要求不高的对称算法。但如果对称算法加密密钥不变,则每次开门的指令均会相同,这样加密就失去了意义,固每次通讯过程中均需协商出一个密钥。而只用一定的逻辑算法去协商密钥,一旦逻辑被泄露,协商出的密钥也是非安全的;若蓝牙锁内置一个根密钥,此密钥存在于APP或云端。如果在APP中,也可能存在一些问题,如APP不小心被卸载,或手机被格式化,同时用户又没有带卡或者钥匙,就只能找锁匠开锁,或暴力拆解。同时APP安装包可以进行反编译,即使代码经过混淆或者使用沙箱等技术手段,破解也只是时间问题。如果根密钥被解析出来,锁就没有安全性可言。另外存储在APP中也不方便B端应用场景,即多管理员批量管理钥匙的需求,从这几点的情形来看,根密钥存储在云端是最好的选择,而APP在开锁中只扮演“中间人”的角色。
但在没有网络的时候,APP无法连接服务器,无法实现开锁。
根密钥存储在云端,且包含生成钥匙算法的“业务服务器”与存储根密钥的“密管中心”分开部署,一定程度上保证了根密钥的安全性。虽然服务器被攻破的概率极低,但世界上没有绝对的安全,一旦“密管中心”和“业务服务器”被攻破,会威胁到所有蓝牙锁的安全,引起大规模的安全事件。
如果蓝牙锁内部只有一种根密钥,想收回分发的钥匙(重新生成根密钥),很容易出现数据不同步问题。例如重新生成根密钥时,某一步出现了无法修复的中断,导致新的根密钥没有上传到服务器,这时锁的根密钥也就丢失了(相当于蓝牙功能不可用),而且没有补救措施。
为了解决上述问题,设计一种安全的蓝牙锁系统是亟待解决的问题。
发明内容
本发明的目的是提供一种个人用蓝牙锁密钥系统,采用工厂根密钥、用户根密钥、按键根密钥对应生成多个根钥匙,使用按键钥匙进行认证并生成用户根密钥,提高蓝牙锁的安全性。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种个人用蓝牙钥匙系统,蓝牙锁根密钥包括工厂根密钥、用户根密钥、按键根密钥,蓝牙锁内部具有按键,在所述按键被按下后的设定时间内,使用按键钥匙进行认证并生成用户根密钥;在更新用户根密钥的过程中,采用工厂根密钥进行验证与加密。
本发明进一步设置为:蓝牙锁生成用户根密钥的过程,服务器工作包括以下步骤:
S1、服务器接收用户APP发送的账号密码登陆请求后,进行账号验证,若账号密码一致,则发送登陆成功信息给用户APP,其中,账号密码是通过HTTPS加密方式发送;
S2、服务器接收用户APP发送的用户根密钥密文,进行解密并存储。
本发明进一步设置为:蓝牙锁生成用户根密钥的过程,用户APP工作包括以下步骤:
A1、用户APP发送账号密码登陆请求给服务器,并接收服务器发送的登陆成功信息,其中,账号密码是通过HTTPS方式发送;
A2、用户APP接收蓝牙锁广播的密码ID、C端标识信息;
A3、用户APP实现与蓝牙锁的连接;并与蓝牙锁进行按键钥匙认证,发送生成用户根密钥指令发送给蓝牙锁;
A4、用户APP接收蓝牙锁发送的用户根密钥密文,并上报给服务器;
A5、用户APP断开与蓝牙锁的连接。
本发明进一步设置为:蓝牙锁按键被按下后的设定时间内,使用按键钥匙进行认证并生成用户根密钥,蓝牙锁工作包括以下步骤:
B1、蓝牙锁按键被按下;
B2、蓝牙锁广播密码ID、C端标识信息给用户APP;
B3、蓝牙锁建立与用户APP的连接;并与用户APP进行按键钥匙认证;
B4、蓝牙锁接收用户APP发送的生成用户根密钥指令;
B5、蓝牙锁随机生成新的用户根密钥,更新用户根密钥并存储,并采用工厂根密钥加密用户根密钥,形成用户根密钥密文,并上报给用户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.本发明通过设置三个不同的根密钥,分别存储在手机APP与云端,保证了蓝牙锁的安全,解决了根密钥丢失后无法补救的问题。
2.进一步地,APP与蓝牙锁通讯开锁的过程中,不暴露根密钥,进一步提高了蓝牙锁系统的安全性。
3.进一步地,在蓝牙锁中设置按键,保证了能开启锁的人的唯一性,提高了安全性。
4.进一步地,用户根密钥的认证都需要工厂钥匙,防止了恶意添加。
附图说明
图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:
Figure GDA0003296403570000181
请求认证数据包,包括:参数钥匙、密钥类型、随机数、校验位,其中,参数钥匙包括16个字节,密钥类型包括1个字节,随机数包括2个字节、校验位包括1个字节,参数钥匙的前4个字节不加密,对参数钥匙的后12个字节、密钥类型、随机数、校验位用验证钥匙加密。
步骤R11中,挑战数据包结构,如表2所示:
表2:
Figure GDA0003296403570000191
挑战数据包,包括:认证回复(Auth Respond)、挑战数据(Challenge Data)1、挑战数据(Challenge Data)2、随机数、校验位,其中,认证回复包括2个字节、挑战数据1包括4个字节、挑战数据2包括8个字节、随机数包括5个字节、校验位包括1个字节,对认证回复、挑战数据1、挑战数据2、随机数的前2个字节用验证钥匙加密,对随机数的后3个字节、校验位不进行处理。
步骤R3中,通讯密钥结构,如表3所示:
表3:
Figure GDA0003296403570000192
通讯密钥,包括挑战数据(Challenge Data)2、认证钥匙(Auth Key)的后半部分;其中,挑战数据2包括8个字节、认证钥匙的后半部分包括后8个字节。
步骤R4中,回复挑战与操作数据包结构,如表4所示:
表4:
Figure GDA0003296403570000201
回复挑战与操作数据包,包括挑战数据1、命令(Command)段、校验位,其中,挑战数据1包括4个字节、命令段包括15个字节、校验位包括1字节,回复挑战与操作数据包的命令段、校验位用通讯密钥加密,对挑战数据1不处理。
至此蓝牙认证过程结束。
可见通讯过程中,未将钥匙数据的原文暴露在通讯过程中,保证了通过无线抓包方式无法获取到钥匙。同时每次连接均重新协商了使用的通讯密钥,防止了重放攻击的可能。使用中间人攻击时,中间人获取不到通讯密钥,也无法进行数据篡改。
本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。

Claims (10)

1.一种个人用蓝牙钥匙系统,其特征在于:蓝牙锁根密钥包括工厂根密钥、用户根密钥、按键根密钥,蓝牙锁内部具有按键,在所述按键被按下后的设定时间内,使用按键钥匙进行认证并生成用户根密钥;在更新用户根密钥的过程中,采用工厂根密钥进行验证与加密;用户根密钥用于生成用户开门操作所用的用户钥匙,按键根密钥用于生成按键钥匙,工厂根密钥用于生成工厂钥匙;对于具有生成用户根密钥权限的钥匙,蓝牙锁内部按键被按下,在设定时间内用固定按键钥匙进行认证并重新生成用户根密钥;根密钥存储于服务器;工厂根密钥和用户根密钥为蓝牙锁随机生成的,按键根密钥为固定的;蓝牙锁在添加用户根密钥时,要求用户填写一个自定义开门密码,并存储于蓝牙锁和APP中,不上传到云端服务器;用户APP中钥匙分两部分,分别为用于验证的验证钥匙和用于验证权限信息的参数钥匙。
2.根据权利要求1所述蓝牙钥匙系统,其特征在于:蓝牙锁生成用户根密钥的过程,服务器工作包括以下步骤:
S1、服务器接收用户APP发送的账号密码登陆请求后,进行账号验证,若账号密码一致,则发送登陆成功信息给用户APP,其中,账号密码是通过HTTPS加密方式发送;
S2、服务器接收用户APP发送的用户根密钥密文,进行解密并存储。
3.根据权利要求1所述蓝牙钥匙系统,其特征在于:蓝牙锁生成用户根密钥的过程,用户APP工作包括以下步骤:
A1、用户APP发送账号密码登陆请求给服务器,并接收服务器发送的登陆成功信息,其中,账号密码是通过HTTPS方式发送;
A2、用户APP接收蓝牙锁广播的密码ID、C端标识信息;
A3、用户APP实现与蓝牙锁的连接;并与蓝牙锁进行按键钥匙认证,发送生成用户根密钥指令发送给蓝牙锁;
A4、用户APP接收蓝牙锁发送的用户根密钥密文,并上报给服务器;
A5、用户APP断开与蓝牙锁的连接。
4.根据权利要求1所述蓝牙钥匙系统,其特征在于:蓝牙锁按键被按下后的设定时间内,使用按键钥匙进行认证并生成用户根密钥,蓝牙锁工作包括以下步骤:
B1、蓝牙锁按键被按下;
B2、蓝牙锁广播密码ID、C端标识信息给用户APP;
B3、蓝牙锁建立与用户APP的连接;并与用户APP进行按键钥匙认证;
B4、蓝牙锁接收用户APP发送的生成用户根密钥指令;
B5、蓝牙锁随机生成新的用户根密钥,更新用户根密钥并存储,并采用工厂根密钥加密用户根密钥,形成用户根密钥密文,并上报给用户APP;
B6、蓝牙锁断开与用户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上报用户根密钥密文给服务器存储。
CN201910076598.5A 2019-01-26 2019-01-26 一种个人用蓝牙钥匙系统 Active CN111489462B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910076598.5A CN111489462B (zh) 2019-01-26 2019-01-26 一种个人用蓝牙钥匙系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910076598.5A CN111489462B (zh) 2019-01-26 2019-01-26 一种个人用蓝牙钥匙系统

Publications (2)

Publication Number Publication Date
CN111489462A CN111489462A (zh) 2020-08-04
CN111489462B true CN111489462B (zh) 2022-07-15

Family

ID=71810992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910076598.5A Active CN111489462B (zh) 2019-01-26 2019-01-26 一种个人用蓝牙钥匙系统

Country Status (1)

Country Link
CN (1) CN111489462B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114743295A (zh) * 2022-04-11 2022-07-12 杨勇 无线加密数字锁及其开锁的方法
CN115273287A (zh) * 2022-08-03 2022-11-01 杭州恒生数字设备科技有限公司 蓝牙锁的开锁方法、系统和蓝牙锁

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105827576B (zh) * 2015-01-05 2019-07-26 珠海汇金科技股份有限公司 基于动态密码锁的开锁方法和系统
CN105405189A (zh) * 2015-10-29 2016-03-16 詹卓衡 门锁及其控制方法
US10080318B2 (en) * 2015-11-13 2018-09-18 Nio Usa, Inc. Safety shield for charging
CN205259674U (zh) * 2015-11-24 2016-05-25 厦门中卡科技开发有限公司 一种多车使用的车位锁系统
CN205862387U (zh) * 2016-04-29 2017-01-04 北京果心科技有限公司 基于蜂窝网络与蓝牙技术的密码智能锁远程管理系统
CN106097515A (zh) * 2016-06-23 2016-11-09 武汉市国扬科技有限公司 一种智能锁虚拟锁芯更换方法
US20180068506A1 (en) * 2016-09-06 2018-03-08 Jsw Pacific Corporation Entry managing system
CN106530469A (zh) * 2016-12-02 2017-03-22 百度在线网络技术(北京)有限公司 用于控制密码锁的方法和装置
CN106934886B (zh) * 2017-02-28 2019-02-26 南京东屋电气有限公司 一种动态密码锁otc密钥设置与更新方法
CN206523914U (zh) * 2017-03-06 2017-09-26 南京邮电大学 一种基于蓝牙的手机app和单片机控制系统
CN108010171A (zh) * 2017-12-28 2018-05-08 浙江金华凯宇电子科技有限公司 一种基于指纹传感器的指纹锁
CN109166200A (zh) * 2018-07-06 2019-01-08 捷德(中国)信息科技有限公司 授权方法、装置、系统、电子锁、数字钥匙和存储介质
CN109003368B (zh) * 2018-07-17 2021-04-30 北京思源理想控股集团有限公司 一种蓝牙门禁系统离线更新密码的方法及蓝牙门禁系统

Also Published As

Publication number Publication date
CN111489462A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN109495274B (zh) 一种去中心化智能锁电子钥匙分发方法及系统
CN106130982B (zh) 基于pki体系的智能家电远程控制方法
CN107612889B (zh) 防止用户信息泄露的方法
CN108650261B (zh) 基于远程加密交互的移动终端系统软件烧录方法
CN111464301A (zh) 一种密钥管理方法及系统
CN107154847A (zh) 面向离线环境的密码生成方法、验证方法及其智能设备
CN102685739B (zh) 安卓企业应用的鉴权方法及系统
CN111243133A (zh) 一种基于动态密码生成和匹配的蓝牙门锁系统及开启方法
CN113572740A (zh) 一种基于国密的云管理平台认证加密方法
CN112672342B (zh) 数据传输方法、装置、设备、系统和存储介质
CN104539420A (zh) 一种通用的智能硬件的安全密钥管理方法
CN104767766A (zh) 一种Web Service接口验证方法、Web Service服务器、客户端
CN115396121A (zh) 安全芯片ota数据包的安全认证方法及安全芯片装置
CN111181723A (zh) 物联网设备间离线安全认证的方法和装置
CN105141629A (zh) 一种基于WPA/WPA2 PSK多密码提升公用Wi-Fi网络安全性的方法
CN114697082B (zh) 一种无服务器环境的加解密装置的生产及应用方法
CN111489462B (zh) 一种个人用蓝牙钥匙系统
CN111563980B (zh) 一种蓝牙锁钥匙生成与认证方法
CN110212991B (zh) 量子无线网络通信系统
CN106789845A (zh) 一种网络数据安全传输的方法
KR101358375B1 (ko) 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법
CN103856938B (zh) 一种加密解密的方法、系统及设备
CN103152326A (zh) 一种分布式认证方法及认证系统
CN107104792B (zh) 一种便携式移动口令管理系统及其管理方法
CN111489461B (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
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.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant