一种蓝牙设备及其工作方法转让专利
申请号 : CN201910994617.2
文献号 : CN110730441B
文献日 : 2021-07-02
发明人 : 陆舟 , 于华章
申请人 : 飞天诚信科技股份有限公司
摘要 :
权利要求 :
1.一种蓝牙设备的工作方法,其特征在于,所述方法包括:步骤S1、设备开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备;
步骤S2、当设备检测到按键被按下时,关闭所述第一蓝牙服务,执行步骤S3;
步骤S3、设备将当前的MAC地址保存为第一MAC地址,获取第二MAC地址,将当前的MAC地址设置为所述第二MAC地址;
步骤S4、设备开启第二蓝牙服务并广播声明自身为蓝牙键盘设备,等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功,则获取动态口令应用的应用标识,根据应用标识选择动态口令应用;
步骤S5、设备通过动态口令应用获取动态口令值,根据蓝牙键盘协议将获取的动态口令值发送到上位机;
步骤S6、设备关闭第二蓝牙服务,获取保存的第一MAC地址,将设备的MAC地址设置为所述第一MAC地址,开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备;
所述根据蓝牙键盘协议将获取的动态口令值发送到上位机,具体为:所述设备根据蓝牙键盘协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将所述虚拟按键信息依次自动地发送到上位机。
2.根据权利要求1所述的方法,其特征在于,所述蓝牙非键盘设备具体为认证设备;
所述步骤S2之前还包括:所述设备等待接收上位机发送建立连接指令,当接收到建立连接指令时进行连接,若连接成功则根据应用标识选择认证应用。
3.根据权利要求2所述的方法,其特征在于,所述根据应用标识选择认证应用具体为:所述设备获取默认设置中的应用标识,将应用标识发送给设备中的安全芯片,安全芯片根据应用标识选择认证应用;
或,所述设备接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取应用标识,并根据应用标识选择认证应用。
4.根据权利要求2所述的方法,其特征在于,所述步骤S2还包括:所述设备接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理,并将处理结果返回给上位机。
5.根据权利要求4所述的方法,其特征在于,所述设备接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理具体为:设备判断接收到的上位机发送的数据类型;
当接收到的数据为注册请求数据则执行步骤101,当接收到的数据为认证请求数据则执行步骤103,当接收到的数据为其他数据则执行步骤106;
步骤101:设备解析注册请求数据获取第一数据和第二数据,生成第二密钥对;根据第二密钥对的私钥和第一数据组成待加密数据,使用保存的对称密钥对待加密数据进行加密得到密钥句柄;使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值,根据签名值和证书模板内容组成认证证书;根据第一数据、第二数据、密钥句柄和第二密钥对的公钥组成第一待签名数据,使用保存的第一密钥对的私钥对第一待签名数据进行签名得到第一签名结果;
步骤102:设备根据第二密钥对、密钥句柄、认证证书和第一签名结果组成注册请求数据的响应数据,返回上位机;
步骤103:设备解析认证请求数据获取第一参数、第二参数和密钥句柄,使用保存的对称密钥对密钥句柄进行解密得到第一解密数据和第二解密数据;
步骤104:设备获取当前的认证次数,根据第一参数、所述第二参数和所述认证次数组成第二待签名数据,使用所述第二解密数据对所述第二待签名数据进行签名得到第二签名结果;
步骤105:设备根据所述认证次数和所述第二签名结果组成认证请求数据的响应数据,返回上位机;
步骤106:设备执行其他相应操作,并向上位机返回其他相应响应数据。
6.根据权利要求5所述的方法,其特征在于,步骤104之前还包括:根据第一参数和第一解密数据判断当前用户是否合法,是则执行步骤104,否则根据预设错误字节码组成认证请求数据的响应数据,并返回上位机。
7.根据权利要求4或5所述的方法,其特征在于,所述通过安全芯片对接收到的数据进行处理之前还包括:所述设备判断接收到的数据是否为认证数据或者注册数据,若是认证数据或者注册数据,则设备将处理结果返回上位机后关机,否则返回步骤S2。
8.根据权利要求1所述的方法,其特征在于,所述获取动态口令应用的应用标识,根据应用标识选择动态口令应用具体为:所述设备接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取应用标识,并根据应用标识选择动态口令应用。
9.根据权利要求1所述的方法,其特征在于,所述设备检测是否有按键被按下具体为:设备通过检测芯片IO端口是否有触发按键信号来判断设备是否有按键被按下。
10.根据权利要求1所述的方法,其特征在于,所述获取第二MAC地址具体为:所述设备获取当前的MAC地址,将当前MAC地址的最后一个字节加1,得到第二MAC地址。
11.一种蓝牙设备,其特征在于,所述设备包括:开启模块、声明模块、检测模块、关闭模块、设置模块、等待并接收模块、连接模块、获取模块、选择应用模块、发送模块;
所述开启模块,用于开启第一蓝牙服务并广播;
所述开启模块,还用于开启第二蓝牙服务并广播;
所述声明模块,用于声明所述蓝牙设备为蓝牙非键盘设备;
所述声明模块,还用于声明所述蓝牙设备为蓝牙键盘设备;
所述检测模块,用于检测设备按键是否被按下;
所述关闭模块,用于当所述检测模块检测到按键被按下时,关闭所述第一蓝牙服务;
所述关闭模块,还用于关闭第二蓝牙服务;
所述获取模块,用于获取第二MAC地址;
所述设置模块,用于将当前的MAC地址保存为第一MAC地址,将当前的MAC地址设置为所述第二MAC地址;
所述获取模块,还用于获取保存的第一MAC地址;
所述设置模块,还用于将设备的MAC地址设置为所述第一MAC地址,开启第一蓝牙服务并广播声明自身为蓝牙非键盘设备;所述等待并接收模块,用于等待并接收上位机发送建立连接指令;
所述连接模块,用于当所述等待并接收模块接收到建立连接指令时进行连接;
所述选择应用模块,用于当所述连接模块连接成功后,获取动态口令应用的应用标识,根据应用标识选择动态口令应用;
所述获取模块,还用于通过动态口令应用获取动态口令值;
所述发送模块,用于根据蓝牙键盘协议将所述获取模块获取的动态口令值发送到上位机;
所述发送模块包括转换单元和发送单元;
所述转换单元,用于根据蓝牙键盘协议将所述获取模块获取的动态口令值转换成蓝牙键盘类虚拟按键信息;
所述发送单元,用于将所述转换单元转换得到的虚拟按键信息依次自动地发送到上位机。
12.根据权利要求11所述的设备,其特征在于,所述蓝牙非键盘设备具体为认证设备;
所述声明模块声明所述蓝牙设备为蓝牙非键盘设之后还包括:所述等待并接收模块,具体用于等待并接收上位机发送建立连接指令;
所述连接模块,具体用于当所述等待并接收模块接收到建立连接指令时进行连接;
所述选择应用模块,还用于根据应用标识选择认证应用。
13.根据权利要求12所述的设备,其特征在于,所述选择应用模块,具体包括:第一获取单元、第一选择单元;第二获取单元、第二选择单元;
所述第一获取单元,用于获取默认设置中的应用标识,将应用标识发送给设备中的安全芯片;
所述第一选择单元,用于根据所述第一获取单元获取的应用标识选择认证应用;
所述第二获取单元,用于接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取应用标识;
所述第二选择单元,用于根据所述第二获取单元获取的应用标识选择认证应用。
14.根据权利要求12所述的设备,其特征在于,所述等待并接收模块,还用于接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理,并将处理结果返回给上位机。
15.根据权利要求14所述的设备,其特征在于,所述等待并接收模块包括第一判断单元;
所述第一判断单元,用于判断接收到的上位机发送的数据类型;
当所述第一判断单元判断接收到的数据为注册请求数据时,所述等待并接收模块还包括:第一解析单元、加密单元、第一签名单元和第一组成单元;
所述第一解析单元,用于解析注册请求数据获取第一数据和第二数据,生成第二密钥对;
所述第一组成单元,用于根据第二密钥对的私钥和第一数据组成待加密数据;
所述加密单元,用于使用保存的对称密钥对所述第一组成单元组成的待加密数据进行加密得到密钥句柄;
所述第一签名单元,用于使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值;
所述第一组成单元,还用于根据签名值和证书模板内容组成认证证书;
所述第一组成单元,还用于根据第一数据、第二数据、密钥句柄和第二密钥对的公钥组成第一待签名数据;
所述第一签名单元,还用于使用保存的第一密钥对的私钥对第一待签名数据进行签名得到第一签名结果;
所述第一组成单元,还用于根据第二密钥对、密钥句柄、认证证书和第一签名结果组成注册请求数据的响应数据,返回上位机;
当所述第一判断单元判断接收到的数据为认证请求数据时,所述等待并接收模块还包括:第二解析单元、解密单元、第二签名单元和第二组成单元;
所述第二解析单元,用于解析认证请求数据获取第一参数、第二参数和密钥句柄;
所述解密单元,用于使用保存的对称密钥对密钥句柄进行解密得到第一解密数据和第二解密数据;
所述第二组成单元,用于获取当前的认证次数,根据第一参数、所述第二参数和所述认证次数组成第二待签名数据;
所述第二签名单元,用于使用所述第二解密数据对所述第二待签名数据进行签名得到第二签名结果;
所述第二组成单元,用于根据所述认证次数和所述第二签名结果组成认证请求数据的响应数据,返回上位机;
当所述第一判断单元判断接收到的数据为其他数据时,所述等待并接收模块还包括:执行单元;
所述执行单元,用于执行其他相应操作,并向上位机返回其他相应响应数据。
16.根据权利要求15所述的设备,其特征在于,当所述第一判断单元判断接收到的数据为认证请求数据时,所述等待并接收模块还包括:判断子单元;
所述判断子单元,用于根据第一参数和第一解密数据判断当前用户是否合法;
所述第二组成单元,还用于当所述判断子单元判断当前用户不合法时,根据预设错误字节码组成认证请求数据的响应数据,并返回上位机。
17.根据权利要求14或15所述的设备,其特征在于,所述等待并接收模块具体用于接收到上位机发送的数据,通过安全芯片对接收到的数据进行处理之前,所述等待并接收模块还包括第二判断单元;
所述第二判断单元,用于判断接收到的数据是否为认证数据或者注册数据;
当所述第二判断单元判断接收到的数据为认证数据或者注册数据时,所述等待并接收模块还包括关闭单元;
所述关闭单元,用于将处理结果返回上位机后将设备关机。
18.根据权利要求11所述的设备,其特征在于,所述选择应用模块包括:第三获取单元和第三选择单元;
所述第三获取单元,用于接收上位机下发的选择应用指令,将选择应用指令发送给设备中的安全芯片,安全芯片根据选择应用指令获取应用标识;
所述第三选择单元,用于根据所述第三获取单元获取的应用标识选择动态口令应用。
19.根据权利要求11所述的设备,其特征在于,所述检测模块,具体用于通过检测芯片IO端口是否有触发按键信号来判断设备是否有按键被按下。
20.根据权利要求11所述的设备,其特征在于,当所述获取模块用于获取第二MAC地址时,所述获取模块具体用于:获取当前的MAC地址,将当前MAC地址的最后一个字节加1,得到第二MAC地址。
说明书 :
一种蓝牙设备及其工作方法
技术领域
背景技术
备除了智能密钥设备等还包括动态口令设备,为了确保只有合法用户才能够访问应用系统
并使用服务。动态口令认证俨然成为身份认证技术中的主流方式,被广泛应用于企业、网
游、金融等领域,现有的智能密钥设备和动态口令设备是两个独立的设备,设备的集成性
差,降低了资源的利用率和用户的使用体验。现有技术中,当设备作为动态口令设备与上位
机建立连接时,上位机检测到设备为蓝牙键盘设备时,则会隐藏自身系统的虚拟键盘,因此
设备与上位机键盘产生冲突,导致用户无法将设备生成的动态口令输入到上位机上,另外,
现有的动态口令通过动态口令设备生成后,均需要用户将生成的动态口令手动输入到主机
或终端设备中进行认证操作,然而,手动输入的这种方式会存在一些问题,例如,手动误输
入、手动输入速度慢等导致动态口令认证不成功。
发明内容
用的应用标识,根据应用标识选择动态口令应用;
认证应用。
加密得到密钥句柄;使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值,
根据签名值和证书模板内容组成认证证书;根据第一数据、第二数据、密钥句柄和第二密钥
对的公钥组成第一待签名数据,使用保存的第一密钥对的私钥对第一待签名数据进行签名
得到第一签名结果;
位机。
返回上位机后关机,否则返回步骤S2。
依次自动地发送到上位机。
全芯片根据选择应用指令获取应用标识,并根据应用标识选择动态口令应用。
协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将所述虚拟按键信息依次自动
地发送到上位机,设备会自动恢复设备类型,从而解决了键盘设备与上位机产生键盘冲突
的问题,还降低了用户在上位机上输入动态口令的出错率,提高了身份认证的安全性。
附图说明
具体实施方式
发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有
做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
例中所提出的应用包括第一应用和动态口令应用,第一应用所对应的蓝牙服务为第一蓝牙
服务,动态口令应用所对应的蓝牙服务为第二蓝牙服务。
用的应用标识,根据应用标识选择动态口令应用;
息依次自动地发送到上位机。
择应用,若连接超时则关闭;
返回给上位机;
密得到密钥句柄;使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值,根
据签名值和证书模板内容组成认证证书;根据第一数据、第二数据、密钥句柄和第二密钥对
的公钥组成第一待签名数据,使用保存的第一密钥对的私钥对第一待签名数据进行签名得
到第一签名结果;
名结果;
机;
返回上位机后关机。
例中所提出的应用包括认证应用和动态口令应用,认证应用所对应的蓝牙服务为第一蓝牙
服务,动态口令应用所对应的蓝牙服务为第二蓝牙服务。
标识,根据应用标识选择认证应用;
0xd0 0x9e 0x78 0xad 0x99 0xa4 0xbc 0x55 0xc0 0xe0 0x5c 0x65 0x50 0x28 0xb0
0xf0 0x03 0x19 0x00 0x27 0x00 0x00 0x00 0xbc 0x02 0xff 0xff 0xff 0xff 0x1f
0xa8 0xf2 0x61 0xda。
用的应用标识,根据应用标识选择动态口令应用;
0xd0 0x9e 0x78 0xad 0x99 0xa4 0xbc 0x55 0xc0 0xe0 0x5c 0x65 0x50 0x28 0xb0
0xf0 0x03 0x19 0x00 0x27 0x00 0x00 0x00 0xbc 0x02 0xff 0xff 0xff 0xff 0x1f
0xa8 0xf2 0x61 0xda。
息依次自动地连续发送到上位机;
89 64 3f d4 64 ec d6,将按键1抬起时发送的信息为:0d 03 38 e2 01 60 0a 15 aa 5a
7b 65 50 1a 13 0b 00 04 00 1b 16 00 00 00 00 00 00 00 00 00 9b 4e 39 6f 1c 34
14;当按键为2时,设备发送的信息为:0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 16 13
0b 00 04 00 1b 16 00 00 00 1f 00 00 00 00 00 a2 7e 84 60d8 76 ba,将按键2抬起
时发送的信息为:0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 1a 13 0b 00 04 00 1b 16
00 00 00 00 00 00 00 00 00 bf 76 17 a2 ee 88f4;当按键为3时,设备发送的信息为:
0d 03 38 e2 01 60 0a 15 aa 5a 7b 65 50 16 13 0b 00 04 00 1b 16 00 00 00 20 00
00 00 00 00 18 4b 9f a8 fa 17 0a,将按键2抬起时发送的信息为:0d 03 1e e3 01 60
08 15 aa 5a 7b 65 50 1a 13 0b 00 04 00 1b 16 00 00 00 00 00 00 00 00 00 7d 23
8b 74 bd 8a ab;当按键为4时,设备发送的信息为:0d 03 1e e3 01 60 08 15 aa 5a 7b
65 50 16 13 0b 00 04 00 1b 16 00 00 00 21 00 00 00 00 00 56 99 15 c0 20 61
01,将按键4抬起时发送的信息为:0d 03 1e e3 01 60 08 15 aa 5a 7b 65 50 1a 13 0b
00 04 00 1b 16 00 00 00 00 00 00 00 00 00 47 fd a6 34 89 8a 50;当按键为5时,设
备发送的信息为:0d 03 1e e3 01 60 08 15aa 5a 7b 65 50 16 13 0b 00 04 00 1b 16
00 00 00 22 00 00 00 00 00 92 7d 22 7b 7c 88 2c,将按键5抬起时发送的信息为:0d
03 1e e3 01 60 08 15 aa 5a 7b 65 50 1a 13 0b 00 04 00 1b 16 00 00 00 00 00 00
00 00 00 3f 73 d2 f0 50 cf a6。
通过寄存器读取存储的第一MAC地址;
密得到密钥句柄;使用预置密钥对的私钥对保存的证书模板内容进行签名得到签名值,根
据签名值和证书模板内容组成认证证书;根据第一数据、第二数据、密钥句柄和第二密钥对
的公钥组成第一待签名数据,使用保存的第一密钥对的私钥对第一待签名数据进行签名得
到第一签名结果;
a362696458202b6689bb18f4169f069fbcdf50cb6ea3c60a861b9a7b63946983e0b577b78c70
646e616d6571746573746374617040637461702e636f6d6b646973706c61794e616d65695465
737420437461700483a263616c672664747970656a7075626c69632d6b6579a263616c673901
0064747970656a7075626c69632d6b6579a263616c67382464747970656a7075626c69632d6b
6579;
1010101010101010101010101010101010101010101010101010101010101010101010101016
4747970656a7075626c69632d6b6579a26269645832020202020202020202020202020202020
2020202020202020202020202020202020202020202020202020202020202020202647479706
56a7075626c69632d6b6579a26269645870286ca7f4cc4480c6fdf7e15d076db62054c8f96df
7bd604224ca04961d92d2db15cbee20d02d1191b182d53d51534df4042650797dbd9386c8534
05827c2ab469f563380c4293fa1e80c6cf424afcbbc65e757879ebfec78f59777e5ba6541f3c
b6212fb74aab630f17a512ecdcac66564747970656a7075626c69632d6b6579a262696458320
4040404040404040404040404040404040404040404040404040404040404040404040404040
4040404040404040404040464747970656a7075626c69632d6b6579a26269645832050505050
5050505050505050505050505050505050505050505050505050505050505050505050505050
50505050505050564747970656a7075626c69632d6b657905a1627570f5。
e5a2402289c7060660010070286ca7f4cc4480c6fdf7e15d076db62054c8f96df7bd604224ca
04961d92d2db15cbee20d02d1191b182d53d51534df4042650797dbd9386c853405827c2ab46
9f563380c4293fa1e80c6cf424afcbbc65e757879ebfec78f59777e5ba6541f3cb6212fb74aa
b630f17a512ecdcac665a501020326200121582086010b1aee7166408a681ceb39c0b7ee9040
ea678f5ac096ee0dac3dd5d5a55b225820c93d6dc90e1584a8d2eba08955f9544f873f6637f1
603e33d5fb47c7dee67e2703a363616c6726637369675846304402201cf814728a06587b589c
f6c672fc161651065f361b0ed67647fe0feb7172158f02201105824cf62ffe4bf40f5f2ac054
420e6bad5bf5f6da579e560ae5e2e2dbf72c63783563825901623082015e30820104a0030201
02020900d79549bd1a671744300a06082a8648ce3d04030230173115301306035504030c0c46
54204649444f20303230303020170d3137303232303030303030305a180f3230353030353031
3030303030305a30183116301406035504030c0d4654204649444f3220546573743059301306
072a8648ce3d020106082a8648ce3d03010703420004df1bd845b086b939677eb01e75d64613
2be7c356b8a018cc10bcfeebb074401f9d58859f9ee76babf9e9e5e1c815e1a2e4dcba0ea8f5
4f144e1d327cb95c2b4aa3363034301d0603551d0e041604142393d61a27e84fef9bbd76db09
9e1c728cf0ba633013060b2b0601040182e51c020101040403020520300a06082a8648ce3d04
030203480030450221009453c09a35ebe8a1db27ce01253615adc9a0feeb56ab6ab6ea5934a1
cf17362102202d109c4c295eb448315a30dbedd0301836e2755adad49e274541957b918b8515
5901823082017e30820125a003020102020101300a06082a8648ce3d04030230173115301306
035504030c0c4654204649444f20303230303020170d3136303530313030303030305a180f32
303530303530313030303030305a30173115301306035504030c0c4654204649444f20303230
303059301306072a8648ce3d020106082a8648ce3d03010703420004d066ad1a953b1ced4c95
4dd7dbed76a70beed2907a89769e7336ff2620be4b199ebe7448a6d5808124cc74153aef342d
5104de556178ed478e08310254faa385a360305e301d0603551d0e041604144915642dd5bbc6
de333a5e0995fc872336d3bf0b301f0603551d230418301680144915642dd5bbc6de333a5e09
95fc872336d3bf0b300c0603551d13040530030101ff300e0603551d0f0101ff040403020106
300a06082a8648ce3d04030203470030440220307cfaa021621407e40105a546b1d1f2d2ce51
331964ce9497ff34b24d9994a50220076c09ea765133ca17fe7038dd187a489a2f3365f00821
ffffe2e2ac101b0743。
从第65个字节之后获取相应长度的数据作为密钥句柄。
名结果;
f4042650797dbd9386c853405827c2ab469f563380c4293fa1e80c6cf424afcbbc65e757879e
bfec78f59777e5ba6541f3cb6212fb74aab630f17a512ecdcac66564747970656a7075626c69
632d6b65790258257f409b1b3211c37499c9619f42ae0d2abdee652ebdc1af0502d6b539a670
430601000000020358473045022100e0d2dd99fcd91d1e70e07c799da317be98fc7a65eaf767
394e76ec749f8e31d002203084474d7d2959f3e2e254338a625a5bc8c558b02e10f9c5907994
28ed8a8bd0。
机;
返回上位机后关机。
18、选择应用模块19、发送模块20;
协议将获取的动态口令值转换成蓝牙键盘类虚拟按键信息,将所述虚拟按键信息依次自动
地发送到上位机,设备会自动恢复设备类型,从而解决了键盘设备与上位机产生键盘冲突
的问题,降低了用户在上位机上输入动态口令的出错率,提高了身份认证的安全性。
本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具
体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限
制。