CN105099709B - 一种智能密钥设备及其工作方法和工作装置 - Google Patents
一种智能密钥设备及其工作方法和工作装置 Download PDFInfo
- Publication number
- CN105099709B CN105099709B CN201510541886.5A CN201510541886A CN105099709B CN 105099709 B CN105099709 B CN 105099709B CN 201510541886 A CN201510541886 A CN 201510541886A CN 105099709 B CN105099709 B CN 105099709B
- Authority
- CN
- China
- Prior art keywords
- nfc
- data
- cipher key
- intelligent cipher
- module
- 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
Abstract
本发明公开一种智能密钥设备及其工作方法和工作装置,该智能密钥设备包括:USB模块,用于实现与终端设备的枚举操作和数据通信,还用于实现对电源管理模块中的电池进行充电;NFC模块,用于实现与终端设备的数据通信,还用于从电源控制模块中取电或从非接场中取电;蓝牙模块,用于与终端设备端进行配对和数据通信,还用于从电源控制模块中取电;主控模块用于接收USB模块反馈的USB数据、NFC模块反馈的NFC数据、蓝牙模块反馈的蓝牙数据,并对接收到的数据进行签名并将签名结果返回;电源控制电路,用于控制上述各模块的供电,实现稳压或者电池的充放电。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种智能密钥设备及其工作方法和工作装置。
背景技术
随着互联网及业务系统应用的逐步深入,人们对网上信息及业务系统的安全防护问题日益突出。为了保证网络平台和系统平台的安全运行,我们迫切需要做好登录安全身份认证工作,由此便诞生了智能密钥设备。智能密钥设备是一种USB接口的硬件设备,它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书。
在现有技术中,智能手机和智能终端应用非常广泛,但NFC智能密钥设备不支持IOS系统的设备,蓝牙智能密钥设备虽然可支持安卓系统的设备和IOS系统的设备,但却不支持NFC设备,所以亟需一种既能支持NFC又能支持安卓系统和IOS系统的设备。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种智能密钥设备及其工作方法和工作装置。
本发明提供了一种智能密钥设备的工作方法,包括:
步骤S1:智能密钥设备上电,进行初始化;
步骤S2:所述智能密钥设备打开通讯模块,当检测到有通讯模块接收到数据时,判断接收到数据的通讯模块的类型,如为USB通讯模块则关闭NFC通讯模块和蓝牙通讯模块,执行步骤S3,如为蓝牙通讯模块则关闭NFC通讯模块和USB通讯模块,执行步骤S4,如为NFC通讯模块则关闭蓝牙通讯模块和USB通讯模块,执行步骤S5;
步骤S3:所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,并将签名结果返回给所述终端设备;
步骤S4:所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,并将签名结果返回给所述终端设备;
步骤S5:所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,并将签名结果返回给所述终端设备。
其中,所述步骤S3包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,当所述智能密钥设备接收到签名完成指令时将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S4包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,当所述智能密钥设备接收到签名完成指令时将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S5包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,当所述智能密钥设备接收到签名完成指令时将签名结果返回给所述终端设备,返回步骤S2。
其中,所述步骤S3包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,当所述智能密钥设备接收到确认信息时将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S4包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,当所述智能密钥设备接收到确认信息时将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S5包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,当所述智能密钥设备接收到确认信息时将签名结果返回给所述终端设备,返回步骤S2。
其中,所述步骤S3包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,所述智能密钥设备判断在预设时间内是否收到其他指令,是则根据收到的指令进行相应操作,否则将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S4包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,所述智能密钥设备判断在预设时间内是否收到其他指令,是则根据收到的指令进行相应操作,否则将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S5包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,所述智能密钥设备判断在预设时间内是否收到其他指令,是则根据收到的指令进行相应操作,否则将签名结果返回给所述终端设备,返回步骤S2。
其中,所述步骤S3包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,并将签名结果返回给所述终端设备,当检测到设备下电后重新上电时返回步骤S2;
所述步骤S4包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,当并将签名结果返回给所述终端设备,当检测到设备下电后重新上电时返回步骤S2;
所述步骤S5包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,并将签名结果返回给所述终端设备,当检测到设备下电后重新上电时返回步骤S2。
其中,所述进行初始化包括:将USB连接标志、NFC连接标志和蓝牙连接标志复位。
其中,所述方法还包括:
如所述智能密钥设备检测到USB中断,则进入USB中断,执行以下操作:
步骤D:所述智能密钥设备将所述USB连接标志置位,将接收到的USB数据存储到USB接收缓存区中,退出USB中断;
所述步骤S3包括:所述智能密钥设备对所述USB接收缓存区中的USB数据进行签名,并将签名结果返回给所述终端设备,将所述USB连接标志复位。
其中,所述方法还包括:
如所述智能密钥设备检测到蓝牙中断,则进入蓝牙中断,执行以下操作:
步骤A:所述智能密钥设备将所述蓝牙连接标志置位,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
所述步骤S4包括:所述智能密钥设备对所述蓝牙接收缓存区中的蓝牙数据进行签名,并将签名结果返回给所述终端设备,将所述蓝牙连接标志复位。
其中,所述步骤A具体包括:
步骤A0:所述智能密钥设备将所述蓝牙连接标志置位;
步骤A1:所述智能密钥设备判断蓝牙数据暂存标志是否等于第一设定值,是则执行步骤A2,否则执行步骤A3;
步骤A2:所述智能密钥设备将蓝牙数据暂存标志置为第二设定值,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
步骤A3:所述智能密钥设备判断蓝牙数据暂存标志是否等于第二设定值,是则执行步骤A4,否则执行步骤A5;
步骤A4:所述智能密钥设备将蓝牙数据暂存标志置为第三设定值,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
步骤A5:所述智能密钥设备判断蓝牙数据暂存标志是否等于第三设定值,是则执行步骤A6,否则,退出蓝牙中断;
步骤A6:所述智能密钥设备将接收到的蓝牙数据存储到蓝牙接收缓存区中;
步骤A7:所述智能密钥设备判断所述蓝牙接收缓存区中的数据的总长度是否等于接收到的数据长度,是则执行步骤A8,否则退出蓝牙中断;
步骤A8:所述智能密钥设备将蓝牙数据接收完成标志置位,将蓝牙数据暂存标志置为第四设定值,退出蓝牙中断。
其中,所述方法还包括:
当所述智能密钥设备检测到NFC中断时,进入NFC中断,执行以下操作:
步骤B:所述智能密钥设备将所述NFC连接标志置位,将接收到的NFC数据存储到NFC接收缓存区中,退出NFC中断;
所述步骤S5包括:所述智能密钥设备对所述NFC接收缓存区中的NFC数据进行签名,并将签名结果返回给所述终端设备,将所述NFC连接标志复位。
其中,所述步骤B具体包括:
步骤B0:将所述NFC连接标志置位;
步骤B1:所述智能密钥设备判断NFC数据暂存标志是否等于第一设定值,是则执行步骤B2,否则执行步骤B3;
步骤B2:所述智能密钥设备将所述NFC数据暂存标志置为第二设定值,将接收到的NFC数据存储到所述NFC接收缓存区中,退出NFC中断;
步骤B3:所述智能密钥设备判断所述NFC数据暂存标志是否等于第二设定值,是则执行步骤B4,否则执行步骤B5;
步骤B4:所述智能密钥设备将所述NFC数据暂存标志置为第三设定值,将接收到的NFC数据存储到所述NFC接收缓存区中,退出NFC中断;
步骤B5:所述智能密钥设备判断所述NFC数据暂存标志是否等于第三设定值,是则执行步骤B6,否则退出NFC中断;
步骤B6:所述智能密钥设备将接收到的NFC数据存储到所述NFC接收缓存区中;
步骤B7:所述智能密钥设备判断所述NFC接收缓存区中的数据的总长度是否等于接收到的NFC数据长度,是则执行步骤A8,否则退出NFC中断;
步骤B8:所述智能密钥设备将NFC一组数据接收完成标志置位,将所述NFC数据暂存标志置为第四设定值,退出NFC中断。
其中,所述初始化还包括:将屏幕显示标志置为无效;
所述步骤A8还包括:将所述屏幕显示标志置为有效。
其中,所述初始化还包括:将屏幕显示标志置为无效;
所述步骤B8还包括:将所述屏幕显示标志置为有效。
其中,所述步骤S3、S4、S5之后还包括:
步骤T1:所述智能密钥设备判断所述屏幕显示标志是否有效,是则执行步骤T2,否则执行步骤T3;
步骤T2:所述智能密钥设备根据所述USB数据或者蓝牙数据或者NFC数据从字库获取相应的汉字进行显示;
步骤T3:当所述智能密钥设备检测到有按键被按下时,所述智能密钥设备判断按键的类型,如为确定键则执行步骤T4,如为取消键则执行步骤T5;
步骤T4:所述智能密钥设备将回传数据标志置为第一数值,将所述屏幕显示标志置为无效;
步骤T5:所述智能密钥设备将回传数据标志置为第二数值,将所述屏幕显示标志置为无效。
其中,所述对所述NFC接收缓存区中的NFC数据进行签名,包括:
步骤D1:所述智能密钥设备将蓝牙断开引脚置为有效;
步骤D2:所述智能密钥设备根据国际标识码判断当前连接的终端设备是否与上次操作的终端设备相同,是则执行步骤D3,否则报错;
步骤D3:所述智能密钥设备判断本组数据是否接收完成,是则执行步骤D5,否则执行步骤D4;
步骤D4:所述智能密钥设备给所述终端设备返回数据已接收响应,执行步骤D6;
步骤D5:所述智能密钥设备判断NFC接收缓存区中的数据是否为完整的NFC数据,是则执行步骤D6,否则执行步骤D7;
步骤D6:所述智能密钥设备将NFC接收数据完成标志置位,执行步骤D7;
步骤D7:所述智能密钥设备判断NFC数据是否接收完成,是则执行步骤D8,否则报错;
步骤D8:所述智能密钥设备判断是否还有NFC数据未返回给所述终端设备,是则执行步骤D9,否则执行步骤D12;
步骤D9:所述智能密钥设备判断NFC接收缓存区中的数据是否为数据返回命令,是则执行步骤D10,否则报错;
步骤D10:所述智能密钥设备根据数据返回命令中的分组序号将NFC发送缓存区中的对应的分组数据加入报文头和报文尾,并将其返回给所述终端设备;
步骤D11:所述智能密钥设备检测所述NFC发送缓存区中的数据是否全部返回给所述终端设备,是则将所述数据未返回标志复位,否则报错;
步骤D12:所述智能密钥设备对所述NFC接收缓存区中的NFC数据进行签名;
步骤D13:所述智能密钥设备判断签名结果是否需要进行分组,是则执行步骤D15,否则执行步骤D14;
步骤D14:所述智能密钥设备在所述签名结果中加入报文头和报文尾,然后返回给终端设备;
步骤D15:所述智能密钥设备将签名结果分成多组数据,将所述数据未返回标志置位;
步骤D16:所述智能密钥设备分别在每组数据中加入报文头和报文尾然后返回给所述终端设备。
其中,所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,包括:所述智能密钥设备输出所述USB数据中的关键信息并等待用户确认,当接收到用户的确认信息时对所述USB数据进行签名;
所述智能密钥设备对通过蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,包括:所述智能密钥设备输出所述蓝牙数据中的关键信息并等待用户确认,当接收到用户的确认信息时对所述蓝牙数据进行签名;
所述智能密钥设备对通过所述NFC通讯模块接收到所述终端设备下发的NFC数据进行签名,包括为:所述智能密钥设备输出所述NFC数据中的关键信息并等待用户确认,当接收到用户的确认信息时对所述NFC数据进行签名。
其中,所述步骤S5包括:
步骤S51:所述智能密钥设备判断所述NFC通讯的工作模式,如为主动模式则执行步骤S52,如为被动模式则执行步骤S54;
步骤S52:所述智能密钥设备通过NFC通讯模块向所述终端设备发送输入信息提示;
步骤S53:所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,并将签名结果返回给所述终端设备;
步骤S54:所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,并将签名结果返回给所述终端设备。
其中,所述步骤S53包括:
步骤S53-1:所述智能密钥设备接收所述终端设备通过NFC通讯模块下发的NFC数据;
步骤S53-2:所述智能密钥设备使用用户私钥对接收到的NFC数据进行签名;
步骤S53-3:所述智能密钥设备判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则执行步骤S53-5,否则执行步骤S53-4;
步骤S53-4:所述智能密钥设备清除所有接收到的信息,将NFC连接标志复位;
步骤S53-5:所述智能密钥设备将签名结果返回给所述终端设备,将NFC连接标志复位。
其中,所述步骤S54包括:
步骤S54-1:所述智能密钥设备等待接收所述终端设备通过NFC通讯模块下发的NFC数据;
步骤S54-2:所述智能密钥设备判断是否接收到所述终端设备下发的NFC数据,是则执行步骤S54-3,否则报错;
步骤S54-3:所述智能密钥设备使用用户私钥对接收到的所述NFC数据进行签名;
步骤S54-4:所述智能密钥设备判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则执行步骤S54-6,否则执行步骤S54-5;
步骤S54-5:所述智能密钥设备清除所有接收到的信息,将NFC连接标志复位;
步骤S54-6:所述智能密钥设备将签名结果返回给所述终端设备,将NFC连接标志复位。
其中,所述步骤S2与步骤S5之间,包括:
步骤L1:所述智能密钥设备等待接收所述终端设备下发的应用;
步骤L2:所述智能密钥设备判断在预设时间内是否接收到所述终端设备下发的应用,是则执行步骤L3,否则报错;
步骤L3:所述智能密钥设备给所述终端设备返回接收成功信息,执行步骤S5。
其中,所述初始化还包括:开启关机定时器;
在所述步骤S2之前,所述方法还包括:
步骤Y1:所述智能密钥设备判断工作电压是否低于预设值,是则提示低电压状态,延时第一预设时间后关机,否则执行步骤Y2;
步骤Y2:所述智能密钥设备检测所述关机定时器的计时是否大于预设时间值,是则关机,否则执行步骤Y3;
步骤Y3:所述智能密钥设备复位所述关机定时器,执行步骤S2;
所述步骤S3、S4、S5执行之后返回步骤Y2。本发明又提供了一种智能密钥设备,包括:
USB模块,与电源控制模块和主控模块连接,通过USB接口与外部终端设备连接,用于实现与所述终端设备的枚举操作和数据通信,接收所述终端设备发送的USB数据并将其反馈给所述主控模块,接收所述主控模块返回的数据并将其反馈给所述终端设备,还用于实现对电源管理模块中的电池进行充电;
NFC模块,与所述电源控制模块和所述主控模块连接,通过NFC方式与外部终端设备连接,用于接收所述终端设备发送的NFC数据并将其反馈给所述主控模块,接收所述主控模块返回的数据并将其反馈给所述终端设备,还用于从所述电源控制模块中取电或从非接场中取电;
蓝牙模块,与所述电源控制模块和所述主控模块连接,通过蓝牙方式与外部终端设备连接,用于与所述终端设备端进行配对,接收所述终端设备发送的蓝牙数据并将其反馈给所述主控模块,接收所述主控模块返回的数据并将其反馈给所述终端设备,还用于从所述电源控制模块中取电;
所述主控模块,与所述电源控制电路、所述USB模块、所述NFC模块、所述蓝牙模块连接,用于接收所述USB模块反馈的USB数据、所述NFC模块反馈的NFC数据、所述蓝牙模块反馈的NFC数据,并对接收到的数据进行签名并将签名结果返回;
所述电源控制电路,与所述USB模块、所述NFC模块、所述蓝牙模块、所述主控模块连接,用于控制所述USB模块、所述NFC模块、所述蓝牙模块、所述主控模块的供电,实现稳压或者电池的充放电。
其中,所述智能密钥设备还包括:
确认键,用于输入确认信息;
取消键,用于输入取消信息;
所述主控模块还用于根据输入的确认信息或取消信息进行相应操作。
其中,所述智能密钥设备还包括:显示屏,用于显示关键信息。
本发明提供了一种智能密钥设备的工作装置,包括:
初始化模块,用于进行初始化;
打开模块,用于打开所述智能密钥设备的通讯模块;
USB通讯模块,用于接收终端设备发送的USB数据,并向所述终端设备返回第一签名子模块的签名结果;
蓝牙通讯模块,用于接收终端设备发送的蓝牙数据,并向所述终端设备返回第二签名子模块的签名结果;
NFC通讯模块,用于接收终端设备发送的NFC数据,并向所述终端设备返回第三签名子模块的签名结果;
第一判断模块,用于当检测到有通讯模块接收到数据时,判断接收到数据的通讯模块的类型,并触发关闭模块进行工作;
所述关闭模块包括第一关闭子模块、第二关闭子模块和第三关闭子模块;
所述第一关闭子模块,用于当所述第一判断模块判断接收到数据的通讯模块的类型为USB通讯模块时关闭所述NFC通讯模块和所述蓝牙通讯模块;
所述第二关闭子模块,用于当所述第一判断模块判断接收到数据的通讯模块的类型为蓝牙通讯模块时关闭所述NFC通讯模块和所述USB通讯模块;
所述第三关闭子模块,用于当所述第一判断模块判断接收到数据的通讯模块的类型为NFC通讯模块时关闭所述蓝牙通讯模块和USB通讯模块;
签名模块包括所述第一签名子模块、所述第二签名子模块和所述第三签名子模块;
所述第一签名子模块,用于在所述第一判断模块判断通讯模块的类型为USB通讯模块时对通过所述USB通讯模块接收到的所述USB数据进行签名;
所述第二签名子模块,用于在所述第一判断模块判断通讯模块的类型为蓝牙通讯模块时对通过所述蓝牙通讯模块接收到的所述蓝牙数据进行签名;
所述第三签名子模块,用于在所述第一判断模块判断通讯模块的类型为NFC通讯模块时对通过所述NFC通讯模块接收到的所述NFC数据进行签名。
其中,所述USB通讯模块具体用于接收终端设备下发的签名指令和签名完成指令,当接收到签名指令时将所述第一签名子模块的签名结果返回给所述终端设备,触发所述打开模块进行工作;
所述蓝牙通讯模块具体用于接收终端设备下发的签名指令和签名完成指令,当接收到签名指令时将所述第二签名子模块的签名结果返回给所述终端设备,触发所述打开模块进行工作;
所述NFC通讯模块具体用于接收终端设备下发的签名指令和签名完成指令,当接收到签名指令时将所述第三签名子模块的签名结果返回给所述终端设备,触发所述打开模块进行工作。
其中,所述装置还包括按键模块,用于接收确认信息;
所述USB通讯模块具体用于在USB通讯模式下当所述按键模块接收到确认信息后将第一签名子模块的签名结果返回给所述终端设备,然后触发所述打开模块进行工作;
所述蓝牙通讯模块具体用于在蓝牙通讯模式下当所述按键模块接收到确认信息后将第二签名子模块的签名结果返回给所述终端设备,然后触发所述打开模块进行工作;
所述NFC通讯模块具体用于在NFC通讯模式下当所述按键模块接收到确认信息后将第三签名子模块的签名结果返回给所述终端设备,然后触发所述打开模块进行工作。
其中,所述装置还包括第二判断模块,用于判断在预设时间内是否收到指令,是则根据收到的指令进行相应操作,否则在USB通讯模式下触发所述USB通讯模块将所述第一签名子模块的签名结果返回给所述终端设备或在蓝牙通讯模式下触发所述蓝牙通讯模块将所述第二签名子模块的签名结果返回给所述终端设备或在NFC通讯模式下触发所述NFC通讯模块将所述第三签名子模块的签名结果返回给所述终端设备,然后触发所述打开模块进行工作。
其中,所述装置还包括第一检测模块,用于当检测设备下电后重新上电时触发所述打开模块进行工作;
所述第一签名子模块,具体用于在所述第一判断模块判断通讯模块的类型为USB通讯模块且所述USB通讯模块接收到签名指令时对通过所述USB通讯模块接收到的所述USB数据进行签名;
所述第二签名子模块,具体用于在所述第一判断模块判断通讯模块的类型为蓝牙通讯模块且所述蓝牙通讯模块接收到签名指令时对通过所述蓝牙通讯模块接收到的所述蓝牙数据进行签名;
所述第三签名子模块,具体用于在所述第一判断模块判断通讯模块的类型为NFC通讯模块且所述NFC通讯模块接收到签名指令时对通过所述NFC通讯模块接收到的所述NFC数据进行签名。
其中,所述初始化模块,具体用于将USB连接标志、NFC连接标志和蓝牙连接标志复位。
其中,所述装置还包括:
第二检测模块,用于检测USB中断;
USB中断模块,用于当所述第二检测模块检测到USB中断时,将USB连接标志置位,将接收到的USB数据存储到USB接收缓存区中;
所述第一签名子模块,具体用于对所述USB接收缓存区中的USB数据进行签名,将所述USB连接标志复位。
其中,所述装置还包括:
第三检测模块,用于检测蓝牙中断;
蓝牙中断模块,用于当所述第三检测模块检测到蓝牙中断时,将蓝牙连接标志置位,将接收到的蓝牙数据存储到蓝牙接收缓存区中;
所述第二签名子模块,具体用于对所述蓝牙接收缓存区中的蓝牙数据进行签名,将所述蓝牙连接标志复位。
其中,所述蓝牙中断模块,包括:
第一置位子模块,用于将所述蓝牙连接标志置位;
第一判断子模块,用于判断蓝牙数据暂存标志是否等于第一设定值,是则触发第一设定子模块工作,否则触发第二判断子模块工作;
所述第一设定子模块,用于将蓝牙数据暂存标志置为第二设定值,触发存储子模块工作;
所述第二判断子模块,用于判断蓝牙数据暂存标志是否等于第二设定值,是则触发第二设定子模块工作,否则触发第三判断子模块工作;
所述第二设定子模块,用于将蓝牙数据暂存标志置为第三设定值,触发存储子模块工作;
所述第三判断子模块,用于判断蓝牙数据暂存标志是否等于第三设定值,是则触发存储子模块工作;
所述触发存储子模块,用于将接收到的蓝牙数据存储到蓝牙接收缓存区中;
第四判断子模块,用于判断所述蓝牙接收缓存区中的数据的总长度是否等于接收到的数据长度,是则第三设定子模块工作;
所述第三设定子模块,用于将蓝牙数据接收完成标志置位,将蓝牙数据暂存标志置为第四设定值。
其中,所述装置还包括:
第四检测模块,用于检测NFC中断;
NFC中断模块,用于当所述第四检测模块检测到NFC中断时,将NFC连接标志置位,将接收到的NFC数据存储到NFC接收缓存区中;
所述第三签名子模块,具体用于对所述NFC接收缓存区中的NFC数据进行签名,将所述NFC连接标志复位。
其中,所述NFC中断模块包括:
第一置位子模块,用于将所述NFC连接标志置位;
第一判断子模块,用于判断NFC数据暂存标志是否等于第一设定值,是则触发第一设定子模块工作,否则触发第二判断子模块工作;
所述第一设定子模块,用于将NFC数据暂存标志置为第二设定值,触发存储子模块工作;
所述第二判断子模块,用于判断NFC数据暂存标志是否等于第二设定值,是则触发第二设定子模块工作,否则触发第三判断子模块工作;
所述第二设定子模块,用于将NFC数据暂存标志置为第三设定值,触发存储子模块工作;
所述第三判断子模块,用于判断NFC数据暂存标志是否等于第三设定值,是则触发存储子模块工作;
所述触发存储子模块,用于将接收到的NFC数据存储到NFC接收缓存区中;
第四判断子模块,用于判断所述NFC接收缓存区中的数据的总长度是否等于接收到的数据长度,是则第三设定子模块工作;
所述第三设定子模块,用于将NFC数据接收完成标志置位,将NFC数据暂存标志置为第四设定值。
其中,所述初始化模块还用于将屏幕显示标志置为无效;
所述第三设定子模块还用于将所述屏幕显示标志置为有效。
其中,所述装置还包括:
第四判断模块,用于判断所述屏幕显示标志是否有效,是则触发显示模块工作,否则触发第五判断模块工作;
所述显示模块,用于根据所述USB数据或者蓝牙数据或者NFC数据从字库获取相应的汉字进行显示,触发第五判断模块工作;
所述第五判断模块,用于当检测到有按键被按下时,所述智能密钥设备判断按键的类型,如为确定键则触发第一设置模块工作,如为取消键则触发第二设置模块工作;
所述第一设置模块,用于将回传数据标志置为第一数值,将所述屏幕显示标志置为无效;
所述第二设置模块,用于将回传数据标志置为第二数值,将所述屏幕显示标志置为无效。
其中,所述第三签名子模块,包括:
第一设置单元,用于将蓝牙断开引脚置为有效;
第一判断单元,用于根据国际标识码判断当前连接的终端设备是否与上次操作的终端设备相同,是则触发第二判断单元工作,否则触发报错单元工作;
所述第二判断单元,用于判断本组数据是否接收完成,是则触发第三判断单元工作,否则触发所述NFC通讯模块给所述终端设备返回数据已接收响应,触发第二设置单元工作;
所述第三判断单元,用于判断NFC接收缓存区中的数据是否为完整的NFC数据,是则触发第二设置单元工作,否则触发第四判断单元工作;
所述第二设置单元,用于将NFC接收数据完成标志置位,触发第四判断单元工作;
所述第四判断单元,用于判断NFC数据是否接收完成,是则触发第五判断单元工作,否则触发报错单元工作;
所述第五判断单元,用于判断是否还有NFC数据未返回给所述终端设备,是则触发第六判断单元工作,否则触发签名单元工作;
所述第六判断单元,用于判断NFC接收缓存区中的数据是否为数据返回命令,是则触发第一添加单元工作,否则报错;
所述第一添加单元,用于根据数据返回命令中的分组序号将NFC发送缓存区中的对应的分组数据加入报文头和报文尾,触发NFC通讯模块将所述添加单元的结果返回给所述终端设备;
第七判断单元,用于检测所述NFC发送缓存区中的数据是否全部返回给所述终端设备,是则将所述数据未返回标志复位,否则报错;
所述签名单元,用于对所述NFC接收缓存区中的NFC数据进行签名;
第八判断单元,用于判断所述签名单元中的签名结果是否需要进行分组,是则触发分组单元工作,否则触发第二添加单元工作;
所述第二添加单元,用于在所述签名结果中加入报文头和报文尾,然后触发所述NFC通讯模块将所述第二添加单元的结果返回给所述终端设备;
所述分组单元,用于将签名结果分成多组数据,将所述数据未返回标志置位;
第三添加单元,用于分别在所述分组单元中的每组数据中加入报文头和报文尾,然后触发所述NFC通讯模块将所述第三添加单元的结果返回给所述终端设备;
所述报错单元,用于报错。
其中,所述装置还包括:
输出模块,用于在USB通讯模式下输出所述USB数据中的关键信息并等待用户确认或在蓝牙通讯模式下输出所述蓝牙数据中的关键信息并等待用户确认或在NFC通讯模式下输出所述NFC数据中的关键信息并等待用户确认;
按键模块,用于接收用户的确认信息,当接收到所述用户的确认信息时在USB通讯模式下触发所述第一签名子模块进行工作或在蓝牙通讯模式下触发所述第二签名子模块进行工作或在NFC通讯模式下触发所述第三签名子模块进行工作。
其中,所述第三签名子模块包括:
第九判断单元,用于判断所述NFC通讯的工作模式,如为主动模式则触发所述NFC模块向所述终端设备发送输入信息提示,当所述NFC模块接收到所述终端设备下发的NFC数据时触发签名单元工作,如为被动模式则触发所述签名单元工作;
所述签名单元,用于对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名。
其中,所述签名单元包括:
签名子单元,用于使用用户私钥对所述NFC数据进行签名;
第一判断子单元,用于判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则触发所述NFC通讯模块将所述签名子单元的签名结果返回给所述终端设备,触发复位子单元工作,否则触发清除子单元工作;
所述清除子单元,用于清除所有接收到的信息,触发复位子单元工作;
所述触发复位子单元,用于将NFC连接标志复位。
其中,所述签名单元还包括:
第二判断子单元,用于判断是否接收到所述终端设备下发的NFC数据,是则触发所述签名子单元工作,否则报错。
其中,所述NFC通讯模块还用于等待并接收所述终端设备下发的应用;
所述装置还包括:第六判断模块,用于判断在预设时间内是否接收到所述终端设备下发的应用,是则触发所述NFC通讯模块给所述终端设备返回接收成功信息,触发所述第三签名子模块进行工作,否则报错。
其中,所述初始化模块还用于开启关机定时器;所述装置还包括:
第四判断模块,用于判断所述智能密钥设备的工作电压是否低于预设值,是则提示低电压状态,延时第一预设时间后关机,否则触发第五判断模块工作;
所述第五判断模块,用于检测所述关机定时器的计时是否大于预设时间值,是则关机,否则触发复位模块工作;
所述复位模块,用于复位所述关机定时器,触发所述打开模块工作;
所述签名模块工作之后触发第五判断模块工作。
本发明与现有技术相比,具有以下优点:
本发明提供的是将NFC和蓝牙集合到一体的智能密钥设备,既适用于安卓系统的终端设备,也适用于IOS系统的终端设备。
附图说明
图1为本发明实施例一提供的一种智能密钥设备的工作方法流程图;
图2为本发明实施例一中的智能密钥设备进入蓝牙中断的处理过程流程图;
图3为本发明实施例一中的智能密钥设备进入NFC中断的处理过程流程图;
图4为本发明实施例二提供的一种智能密钥设备对NFC数据进行签名的具体实现过程流程图;
图5为本发明实施例三提供的一种智能密钥设备的工作方法流程图;
图6为本发明实施例四提供的一种智能密钥设备的方框图;
图7为本发明实施例五提供的一种智能密钥设备的工作装置方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中提到的智能密钥设备均为基于NFC和蓝牙的智能密钥设备。
实施例一
本发明实施例一提供一种智能密钥设备的工作方法,如图1所示,包括:
步骤S1:智能密钥设备上电,进行初始化;
在本实施例中,初始化包括:将USB连接标志、NFC连接标志和蓝牙连接标志复位,还包括将屏幕显示标志置为无效;
具体的,初始化还包括:开启关机定时器,则在步骤S1与步骤S2之间还包括:
步骤Y1:智能密钥设备判断工作电压是否低于预设值,是则提示低电压状态,延时第一预设时间后关机,否则执行步骤Y2;
步骤Y2:智能密钥设备检测关机定时器的计时是否大于预设时间值,是则关机,否则执行步骤Y3;
步骤Y3:智能密钥设备将关机定时器清零,执行步骤S2。
步骤S2:智能密钥设备打开所有的通讯模块,当检测到有通讯模块接收到数据时,判断接收到数据的通讯模块的类型,如为USB通讯模块则关闭NFC通讯模块和蓝牙通讯模块,执行步骤S3,如为蓝牙通讯模块则关闭NFC通讯模块和USB通讯模块,执行步骤S4,如为NFC通讯模块则关闭蓝牙通讯模块和USB通讯模块,执行步骤S5;
具体的,在本实施例中,步骤S2包括:
智能密钥设备检测置位的连接标识的类型,如置位的连接标识为USB连接标识则接收到数据的通讯模块的类型为USB通讯模块,如置位的连接标识为蓝牙连接标识则接收到数据的通讯模块的类型为蓝牙通讯模块,如置位的连接标识为NFC连接标识则接收到数据的通讯模块的类型为NFC通讯模块;
步骤S3:智能密钥设备对通过USB通讯模块接收到的终端设备下发的USB数据进行签名,并将签名结果返回给终端设备;
步骤S4:智能密钥设备对通过蓝牙通讯模块接收到的终端设备下发的蓝牙数据进行签名,并将签名结果返回给终端设备;
具体的,在本实施例中,步骤S4之前包括:智能密钥设备通过蓝牙通讯模块接收终端设备下发的蓝牙数据,判断是否接收完成,是则执行步骤S4,否则返回步骤S2;判断是否接收完成,具体为:智能密钥设备判断蓝牙接收完成标志是否置位,是则接收完成,否则接收未完成。
步骤S5:智能密钥设备对通过NFC通讯模块接收到的终端设备下发的NFC数据进行签名,并将签名结果返回给终端设备;
在本实施中,智能密钥设备对NFC数据进行签名的具体实现在实施例二进行详细说明;
如本实施例中的智能密钥设备为二代KEY,则在进行签名之前还包括:智能密钥设备输出接收到的数据中的关键信息并等待用户确认,当接收到用户的确认信息时进行签名操作;
在步骤S2与步骤S5之间还可以包括:
步骤L1:智能密钥设备等待接收终端设备下发的应用;
步骤L2:智能密钥设备判断在预设时间内是否接收到终端设备下发的应用,是则执行步骤L3,否则报错;
步骤L3:智能密钥设备给终端设备返回接收成功信息,执行步骤S5。
在本实施例中,如智能密钥设备检测到USB中断,则进入USB中断,执行以下操作:
步骤D:智能密钥设备将USB连接标志置位,将接收到的USB数据存储到USB接收缓存区中,退出USB中断;
在步骤S3包括:智能密钥设备对USB接收缓存区中的USB数据进行签名,并将签名结果返回给终端设备,将USB连接标志复位。
如智能密钥设备检测到蓝牙中断,则进入蓝牙中断,执行以下操作:
步骤A:智能密钥设备将蓝牙连接标志置位,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
步骤S4具体包括:智能密钥设备对蓝牙接收缓存区中的蓝牙数据进行签名,并将签名结果返回给终端设备,将蓝牙连接标志复位。
本实施例中的步骤A的具体实现过程如图2所示,包括:
步骤A0:智能密钥设备将蓝牙连接标志置位;
步骤A1:智能密钥设备判断蓝牙数据暂存标志是否等于第一设定值,是则执行步骤A2,否则执行步骤A3;
步骤A2:智能密钥设备将蓝牙数据暂存标志置为第二设定值,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
步骤A3:智能密钥设备判断蓝牙数据暂存标志是否等于第二设定值,是则执行步骤A4,否则执行步骤A5;
步骤A4:智能密钥设备将蓝牙数据暂存标志置为第三设定值,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
步骤A5:智能密钥设备判断蓝牙数据暂存标志是否等于第三设定值,是则执行步骤A6,否则,退出蓝牙中断;
步骤A6:智能密钥设备将接收到的蓝牙数据存储到蓝牙接收缓存区中;
步骤A7:智能密钥设备判断蓝牙接收缓存区中的数据的总长度是否等于接收到的数据长度,是则执行步骤A8,否则退出蓝牙中断;
步骤A8:智能密钥设备将蓝牙数据接收完成标志置位,将蓝牙数据暂存标志置为第四设定值,退出蓝牙中断;
在本实施例中的,第一设定值、第二设定值、第三设定值、第四设定值分别为0、1、2、3。步骤A8中还包括:将屏幕显示标志置为有效;
如智能密钥设备检测到NFC中断,则进入NFC中断,执行以下操作:
步骤B:智能密钥设备将NFC连接标志置位,将接收到的NFC数据存储到NFC接收缓存区中,退出NFC中断;
步骤S5包括:智能密钥设备对NFC接收缓存区中的NFC数据进行签名,并将签名结果返回给终端设备,将NFC连接标志复位。
在本实施例中,步骤B的具体实现过程如图3所示,包括:
步骤B0:智能密钥设备将NFC连接标志置位;
步骤B1:智能密钥设备判断NFC数据暂存标志是否等于第一设定值,是则执行步骤B2,否则执行步骤B3;
步骤B2:智能密钥设备将NFC数据暂存标志置为第二设定值,将接收到的NFC数据存储到NFC接收缓存区中,退出NFC中断;
步骤B3:智能密钥设备判断NFC数据暂存标志是否等于第二设定值,是则执行步骤B4,否则执行步骤B5;
步骤B4:智能密钥设备将NFC数据暂存标志置为第三设定值,将接收到的NFC数据存储到NFC接收缓存区中,退出NFC中断;
步骤B5:智能密钥设备判断NFC数据暂存标志是否等于第三设定值,是则执行步骤B6,否则退出NFC中断;
步骤B6:智能密钥设备将接收到的NFC数据存储到NFC接收缓存区中;
步骤B7:智能密钥设备判断NFC接收缓存区中的数据的总长度是否等于接收到的数据长度,是则执行步骤B8,否则退出NFC中断;
步骤B8:智能密钥设备将NFC一组数据接收完成标志置位,将NFC数据暂存标志置为第四设定值,退出NFC中断;
在本实施例中的,第一设定值、第二设定值、第三设定值、第四设定值分别为0、1、2、3。步骤B8中还包括:将屏幕显示标志置为有效;
在本实施例中,步骤S3、S4、S5之后还包括:
步骤T1:智能密钥设备判断屏幕显示标志是否有效,是则执行步骤T2,否则执行步骤T3;
步骤T2:智能密钥设备根据USB数据或蓝牙数据或者NFC数据从字库获取相应的汉字进行显示;
在本实施例中,如是USB数据接收完成则该步骤中显示的是USB缓存区中的数据,如是蓝牙数据接收完成则该步骤中显示的是蓝牙接收缓存区中的数据,如是NFC数据接收完成则该步骤中显示的是NFC接收缓存区中的数据;
步骤T3:当智能密钥设备检测到有按键被按下时,智能密钥设备判断按键的类型,如为确定键则执行步骤T4,如为取消键则执行步骤T5;
步骤T4:智能密钥设备将回传数据标志置为第一数值,将屏幕显示标志置为无效;
在本实施例中,步骤T4执行完之后还可以返回步骤S2;
在本实施例中,当回传数据标志为第一数值时表示有待处理的数据需要智能密钥设备去处理,例如第一数值为1;
步骤T5:智能密钥设备将回传数据标志置为第二数值,将屏幕显示标志置为无效;
在本实施例中,步骤T5执行完之后还可以执行步骤S2。
在本实施例中,当回传数据标志为第二数值时表示未有待处理的数据需要智能密钥设备去处理,例如第二数值为0。
在本实施例中,在步骤S3、S4、S5中签名完成之后可以返回步骤S2,具体实现过程包括以下几种方法,但不局限于此方法,其他实现方法也可以;
(1)当智能密钥设备接收到签名指令时智能密钥设备对通过USB通讯模块或蓝牙通讯模块或NFC通讯模块接收到的终端设备下发的USB数据或蓝牙数据或NFC数据进行签名,当智能密钥设备接收到签名完成指令时将签名结果返回给终端设备,返回步骤S2;
(2)当智能密钥设备接收到签名指令时智能密钥设备对通过USB通讯模块或蓝牙通讯模块或NFC通讯模块接收到的终端设备下发的USB数据或蓝牙数据或NFC数据进行签名,当智能密钥设备接收到确认信息时将签名结果返回给终端设备,返回步骤S2;
(3)当智能密钥设备接收到签名指令时智能密钥设备对通过USB通讯模块或蓝牙通讯模块或NFC通讯模块接收到的终端设备下发的USB数据或蓝牙数据或NFC数据进行签名,智能密钥设备判断在预设时间内是否收到其他指令,是则根据收到的指令进行相应操作,否则将签名结果返回给终端设备,返回步骤S2;
(4)当智能密钥设备接收到签名指令时智能密钥设备对通过USB通讯模块或蓝牙通讯模块或NFC通讯接收到的终端设备下发的USB数据或蓝牙数据或NFC数据进行签名,并将签名结果返回给终端设备,当检测到设备下电后重新上电时返回步骤S2。
在本实施例中,如NFC通讯模块接收到数据,则可以有主动的工作模式和被动的工作模式,则步骤S5包括:
步骤S51:智能密钥设备判断NFC通讯的工作模式,如为主动模式则执行步骤S52,如为被动模式则执行步骤S54;
步骤S52:智能密钥设备通过NFC通讯模块向终端设备发送输入信息提示;
步骤S53:智能密钥设备对通过NFC通讯模块接收到的终端设备下发的NFC数据进行签名,并将签名结果返回给终端设备;
在本实施例中,步骤S53具体包括:
步骤S53-1:智能密钥设备接收终端设备通过NFC通讯模块下发的NFC数据;
步骤S53-2:智能密钥设备使用用户私钥对接收到的NFC数据进行签名;
步骤S53-3:智能密钥设备判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则执行步骤S53-5,否则执行步骤S53-4;
在本实施例中,步骤S2中判断接收到数据的通讯模块的类型为NFC通讯模块时还包括:智能密钥设备记录本次连接的终端设备的唯一标识;则步骤S53-3包括:智能密钥设备判断当前连接的终端设备的唯一标识与记录的终端设备的唯一标识是否一致,是则为同一设备,否则不为同一设备。
步骤S53-4:智能密钥设备清除所有接收到的信息,将NFC连接标志复位;
步骤S53-5:智能密钥设备将签名结果返回给终端设备,将NFC连接标志复位。
步骤S54:智能密钥设备对通过NFC通讯模块接收到的终端设备下发的NFC数据进行签名,并将签名结果返回给终端设备。
在本实施例中,步骤S54具体包括:
步骤S54-1:智能密钥设备等待接收终端设备通过NFC通讯模块下发的NFC数据;
步骤S54-2:智能密钥设备判断是否接收到终端设备下发的NFC数据,是则执行步骤S54-3,否则报错;
步骤S54-3:智能密钥设备使用用户私钥对接收到的NFC数据进行签名;
步骤S54-4:智能密钥设备判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则执行步骤S54-6,否则执行步骤S54-5;
具体的,该步骤的实现过程与步骤S53-3相同,在此不再赘述;
步骤S54-5:智能密钥设备清除所有接收到的信息,将NFC连接标志复位;
步骤S54-6:智能密钥设备将签名结果返回给终端设备,将NFC连接标志复位。
实施例二
本发明实施例二提供一种智能密钥设备对NFC数据进行签名的具体实现过程,如图4所示,包括:
步骤401:将蓝牙断开引脚置为有效;
步骤402:根据国际标识码判断当前连接的终端设备是否与上次操作的终端设备相同,是则执行步骤403,否则报错;
具体的,在步骤S2与步骤S5之间还包括:智能密钥设备从连接的终端设备中获取国际标识码并存储;步骤402包括:从当前连接的终端设备中获取国际标识码,判断获取到的国际标识码是否与自身存储的国际标识码相同,是则执行步骤403,否则执行步骤S2;
步骤403:判断本组数据是否接收完成,是则执行步骤405,否则执行步骤404;
在本实施例中,步骤403具体为:判断NFC一组数据接收完成标志是否置位,是则本组数据接收完成,否则本组数据接收未完成;
步骤404:给终端设备返回数据已接收响应,执行步骤406;
步骤405:判断NFC接收缓存区中的数据是否为完整的NFC数据,是则执行步骤406,否则执行步骤407;
在本实施例中,步骤405包括:判断接收到的数据长度与缓存区中数据的总长度是否一致,是则执行步骤406,否则执行步骤407;
步骤406:将NFC接收数据完成标志置位,执行步骤407;
步骤407:判断NFC数据是否接收完成,是则执行步骤408,否则报错;
在本实施例中,步骤407具体为:判断NFC接收数据完成标志是否置位,是则NFC数据接收完成,否则NFC数据接收未完成;
步骤408:判断是否还有NFC数据未返回给终端设备,是则执行步骤409,否则执行步骤412;
在本实施中,步骤408具体为:判断数据未返回标志是否置位,是则还有NFC数据未返回,否则NFC数据全部返回;
步骤409:判断NFC接收缓存区中的数据是否为数据返回命令,是则执行步骤410,否则报错;
步骤410:根据数据返回命令中的分组序号将NFC发送缓存区中的对应的分组数据加入报文头和报文尾,并将其返回给终端设备;
步骤411:检测NFC发送缓存区中的数据是否全部返回给终端设备,是则将数据未返回标志复位,否则报错;
步骤412:对NFC接收缓存区中的数据进行签名;
步骤413:判断处理结果是否需要进行分组,是则执行步骤415,否则执行步骤414;
步骤414:在签名结果中加入报文头和报文尾,然后返回给终端设备;
步骤415:将签名结果分成多组数据,将数据未返回标志置位;
步骤416:分别在每组数据中加入报文头和报文尾然后返回给终端设备。
在本实施例中,报错之后、步骤411判断为是执行之后、414和416之后还可以返回步骤S2智能密钥设备继续进行工作。
实施例三
本发明实施例三提供一种智能密钥设备的工作方法,如图5所示,包括:
步骤501:智能密钥设备上电,进行初始化;
在本实施例中,初始化包括:将USB连接标志、NFC连接标志和蓝牙连接标志复位、开启关机定时器,将屏幕显示标志置为无效;
步骤502:智能密钥设备判断工作电压是否低于预设值,是则提示低电压状态,延时第一预设时间后关机,否则执行步骤503;
步骤503:智能密钥设备检测关机定时器的计时是否大于预设时间值,是则关机,否则执行步骤504;
步骤504:智能密钥设备复位关机定时器;
步骤505:智能密钥设备打开所有的通讯模块,当检测到有通讯模块接收到数据时,判断接收到数据的通讯模块的类型,如为USB通讯模块则关闭NFC通讯模块和蓝牙通讯模块,执行步骤S3,如为蓝牙通讯模块则关闭NFC通讯模块和USB通讯模块,执行步骤S4,如为NFC通讯模块则关闭蓝牙通讯模块和USB通讯模块,执行步骤S5;
在本实施例中,如智能密钥设备检测到USB中断,则进入USB中断,执行以下操作:步骤D:智能密钥设备将USB连接标志置位,将接收到的USB数据存储到USB接收缓存区中,退出USB中断;
如智能密钥设备检测到蓝牙中断,则进入蓝牙中断,执行以下操作:步骤A:智能密钥设备将蓝牙连接标志置位,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
如智能密钥设备检测到NFC中断,则进入NFC中断,执行以下操作:步骤B:智能密钥设备将NFC连接标志置位,将接收到的NFC数据存储到NFC接收缓存区中,退出NFC中断;
步骤506:智能密钥设备对通过USB通讯模块接收到的终端设备下发的USB数据进行签名,并将签名结果返回给终端设备,将USB连接标志复位,返回步骤503;
在本实施例中,进行签名之前还包括:智能密钥设备将USB数据中的关键信息输出并等待用户确认,当接收到用户的确认信息时执行步骤506;
具体的,在本实施例中,步骤506包括:
步骤506-1:智能密钥设备通过USB通讯模块接收终端设备下发的应用;
步骤506-2:智能密钥设备等待接收终端设备通过USB通讯模块下发的USB数据;
步骤506-3:智能密钥设备通过USB通讯模块接收终端设备下发的USB数据;
在本实施例中,智能密钥设备通过USB通讯模块接收到的USB数据包括用户PIN码、用户信息或网络数据;
步骤506-4:智能密钥设备根据接收到的USB数据判断当前应用是否为PIN码验证应用,是则执行步骤506-5,否则执行步骤506-8;
步骤506-5:智能密钥设备从接收到的USB数据中获取用户PIN码,并对PIN码进行验证,如验证成功则执行步骤506-7,如验证失败则执行步骤506-6;
步骤506-6:智能密钥设备提示PIN码验证失败信息,返回步骤503;
步骤506-7:智能密钥设备使用用户私钥对接收到的USB数据进行签名,并将签名结果返回给终端设备,将USB连接标志复位,返回步骤503;
步骤506-8:智能密钥设备使用网络数据进行网络登录验证,并判断是否登录成功,是则执行步骤506-9,否则提示登录失败信息,返回步骤503;
步骤506-9:智能密钥设备使用用户私钥对接收到的USB数据进行签名,并将签名结果返回给终端设备,将USB连接标志复位,返回步骤503;
在本实施例中,步骤506-7、步骤506-9可分别替换为:
智能密钥设备将接收到的USB数据中的关键信息输出并等待用户确认,当接收到用户的确认信息时使用用户私钥对USB数据进行签名处理,并将处理结果返回给终端设备,将USB连接标志复位,返回步骤503;
步骤507:智能密钥设备通过蓝牙通讯模块接收终端设备下发的蓝牙数据,判断是否接收完成,是则执行步骤508,否则返回步骤503;
具体的,判断是否接收完成为:智能密钥设备判断蓝牙接收完成标志是否置位,是则接收完成,否则接收未完成。
步骤508:智能密钥设备对接收到的蓝牙数据进行签名,并将签名结果返回给终端设备,将蓝牙连接标志复位,返回步骤503;
在本实施例中,进行签名之前还包括:智能密钥设备将蓝牙数据中的关键信息输出并等待用户确认,当接收到用户的确认信息时执行步骤508;
在本实施例中,步骤508具体包括:
步骤508-1:智能密钥设备读取蓝牙通讯模块参数;
步骤508-2:智能密钥设备判断是否成功读取蓝牙通讯模块参数,是则执行步骤508-3,否则返回步骤508-1;
步骤508-3:智能密钥设备将蓝牙通讯模块切换为连接状态;
步骤508-4:智能密钥设备通过蓝牙通讯模块接收终端设备下发的应用;
步骤508-5:智能密钥设备等待接收终端设备通过蓝牙通讯模块下发的蓝牙数据;
步骤508-6:智能密钥设备通过蓝牙通讯模块接收终端设备下发的蓝牙数据;
在本实施例中,智能密钥设备通过蓝牙通讯模块接收到的蓝牙数据包括用户PIN码、用户信息或网络数据等等;
步骤508-7:智能密钥设备根据接收到的蓝牙数据判断当前应用是否为PIN码验证应用,是则执行步骤508-8,否则执行步骤508-11;
步骤508-8:智能密钥设备从接收到的蓝牙数据中获取用户PIN码,并对PIN码进行验证,如验证成功则执行步骤508-10,如验证失败则执行步骤508-9;
步骤508-9:智能密钥设备提示PIN码验证失败信息,返回步骤503;
步骤508-10:智能密钥设备使用用户私钥对接收到的蓝牙数据进行签名,并将签名结果返回给终端设备,将蓝牙连接标志复位,返回步骤503;
步骤508-11:智能密钥设备使用蓝牙数据进行网络登录验证,并判断是否登录成功,是则执行步骤508-12,否则提示登录失败信息,返回步骤503;
步骤508-12:智能密钥设备使用用户私钥对接收到的蓝牙数据进行签名,并将签名结果返回给终端设备,将蓝牙连接标志复位,返回步骤503;
在本实施例中,步骤508-10、步骤508-12可分别替换为:
智能密钥设备将接收到的蓝牙数据中的关键信息输出并等待用户确认,当接收到用户的确认信息时使用用户私钥对蓝牙数据进行签名,并将签名结果返回给终端设备,将蓝牙连接标志复位,返回步骤503;
步骤509:智能密钥设备判断NFC通讯的工作模式,如为主动模式则执行步骤510,如为被动模式则执行步骤512;
步骤510:智能密钥设备通过NFC通讯模块向终端设备发送输入信息提示;
在本实施例中,智能密钥设备还可以向终端设备发送应用请求,应用请求和输入信息提示通过两条指令实现;
步骤511:智能密钥设备对通过NFC通讯模块接收终端设备下发的NFC数据进行签名,并将签名结果返回给终端设备,将NFC连接标志复位,返回步骤503;
在本实施例中,进行签名之前还包括:智能密钥设备将NFC数据中的关键信息输出并等待用户确认,当接收到用户的确认信息时执行步骤511;
具体的,在本实施例中,步骤511包括:
步骤511-1:智能密钥设备等待并接收终端设备通过NFC通讯模块下发的NFC数据;
步骤511-2:智能密钥设备使用用户私钥对接收到的NFC数据进行签名;
步骤511-3:智能密钥设备判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则执行步骤511-5,否则执行步骤511-4;
具体的,在本实施例中,在步骤509中智能密钥设备记录本次连接的终端设备的唯一标识,步骤511-3中智能密钥设备通过比较唯一标识来判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,如两者的唯一标识一致则为同一设备,否则不为同一设备;唯一标识可以为国际标识码或者UID等;
步骤511-4:智能密钥设备清除所有接收到的信息,将NFC连接标志复位,返回步骤503;
步骤511-5:智能密钥设备将签名结果返回给终端设备,将NFC连接标志复位,返回步骤503;
步骤512:智能密钥设备等待并接收终端设备下发的数据,当通过NFC通讯模块接收到终端设备下发的NFC数据时对NFC数据进行签名,并将签名结果返回给终端设备,将NFC连接标志复位,返回步骤503;
在本实施例中,进行签名之前还包括:智能密钥设备将NFC数据中的关键信息输出并等待用户确认,当接收到用户的确认信息时执行步骤512。
具体的,本实施例中的步骤512之前包括:
步骤Y1:智能密钥设备等待终端设备下发的应用;
步骤Y2:智能密钥设备判断在预设时间内是否接收到终端设备下发的应用,是则执行步骤Y3,否则报错,返回步骤503;
步骤Y3:智能密钥设备给终端设备返回接收成功信息;
本实施例中的步骤512具体包括:
步骤512-1:智能密钥设备等待接收终端设备下发NFC数据;
步骤512-2:智能密钥设备判断是否接收到终端设备下发的NFC数据,是则执行步骤512-3,否则报错,返回步骤503;
步骤512-3:智能密钥设备使用用户私钥对接收到的NFC数据进行签名;
步骤512-4:智能密钥设备判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则执行步骤512-6,否则执行步骤512-5;
步骤512-5:智能密钥设备清除所有接收到的信息,将NFC连接标志复位,返回步骤503;
步骤512-6:智能密钥设备将签名结果返回给终端设备,将NFC连接标志复位,返回步骤503。
在本实施例中,在步骤506-6和步骤512-5中也可以清除部分信息,如各种标识(例如连接标识等等)、用到的随机数、缓存器中的数据、PIN码等。
在本实施例中,步骤511-2、步骤512-3可以替换为:
智能密钥设备将接收到的NFC数据中的关键信息输出并等待用户确认,当接收到用户的确认信息时使用用户私钥对接收到的NFC数据进行签名。
在本实施例中,对NFC数据进行签名的具体实现过程与实施例一相同,在此不再赘述。
实施例四
本发明实施例四提供一种智能密钥设备,如图6所示,包括:
USB模块601,与电源控制模块605和主控模块604连接,通过USB接口与外部终端设备连接,用于实现与终端设备的枚举操作和数据通信,接收终端设备发送的USB数据并将其反馈给主控模块604,接收主控模块604返回的数据并将其反馈给终端设备,还用于实现对电源管理模块605中的电池进行充电;
NFC模块602,与电源控制模块605和主控模块604连接,通过NFC方式与外部终端设备连接,用于接收终端设备发送的NFC数据并将其反馈给主控模块604,接收主控模块604返回的数据并将其反馈给终端设备,还用于从电源控制模块605中取电或从非接场中取电;
蓝牙模块603,与电源控制模块605和主控模块604连接,通过蓝牙方式与外部终端设备连接,用于与终端设备进行配对,接收终端设备发送的蓝牙数据并将其反馈给主控模块604,接收主控模块604返回的数据并将其反馈给终端设备,还用于从电源控制模块605中取电;
主控模块604,与电源控制电路605、USB模块601、NFC模块602、蓝牙模块603连接,用于接收USB模块601反馈的USB数据、NFC模块602反馈的NFC数据、蓝牙模块603反馈的NFC数据,并对接收到的数据进行签名并将签名结果返回;
电源控制电路605,与USB模块601、NFC模块602、蓝牙模块603、主控模块604连接,用于控制USB模块601、NFC模块602、蓝牙模块603、主控模块304的供电,实现稳压或者电池的充放电。
本实施例中的智能密钥设备还可以包括:
确认键,用于输入确认信息;
取消键,用于输入取消信息;
主控模块604还用于根据输入的确认信息或取消信息进行相应操作。
智能密钥设备还包括:显示屏,用于显示关键信息。
实施例五
本发明实施例五提供一种智能密钥设备的工作装置,如图7所示,包括:
初始化模块701,用于进行初始化;
打开模块702,用于打开智能密钥设备的所有通讯模块;
在本实施例中,智能密钥设备的所有通讯模块包括USB通讯模块703、蓝牙通讯模块704、NFC通讯模块705;
USB通讯模块703,用于接收终端设备发送的USB数据,并向终端设备返回第一签名子模块7081的签名结果;
蓝牙通讯模块704,用于接收终端设备发送的蓝牙数据,并向终端设备返回第二签名子模块7082的签名结果;
NFC通讯模块705,用于接收终端设备发送的NFC数据,并向终端设备返回第三签名子模块7083的签名结果;
第一判断模块706,用于当检测到有通讯模块接收到数据时,判断接收到数据的通讯模块的类型,并触发关闭模块707进行工作;
具体的,在本实施例中,第一判断模块706通过检测置位的连接标识来判断接收到数据的通讯模块的类型,如置位的连接标识为USB连接标识则接收到数据的通讯模块的类型为USB通讯模块,如置位的连接标识为蓝牙连接标识则接收到数据的通讯模块的类型为蓝牙通讯模块,如置位的连接标识为NFC连接标识则接收到数据的通讯模块的类型为NFC通讯模块;
关闭模块707包括第一关闭子模块7071、第二关闭子模块7072和第三关闭子模块7073;
第一关闭子模块7071,用于当第一判断模块706判断接收到数据的通讯模块的类型为USB通讯模块703时关闭NFC通讯模块705和蓝牙通讯模块704;
第二关闭子模块7072,用于当第一判断模块706判断接收到数据的通讯模块的类型为蓝牙通讯模块704时关闭NFC通讯模块705和USB通讯模块703;
第三关闭子模块7073,用于当第一判断模块706判断接收到数据的通讯模块的类型为NFC通讯模块705时关闭蓝牙通讯模块704和USB通讯模块703;
签名模块708包括第一签名子模块7081、第二签名子模块7082和第三签名子模块7083;
第一签名子模块7081,用于在第一判断模块706判断通讯模块的类型为USB通讯模块时对通过USB通讯模块703接收到的USB数据进行签名;
第二签名子模块7082,用于在第一判断模块706判断通讯模块的类型为蓝牙通讯模块时对通过蓝牙通讯模块704接收到的蓝牙数据进行签名;
第三签名子模块7083,用于在第一判断模块706判断通讯模块的类型为NFC通讯模块时对通过NFC通讯模块705接收到的NFC数据进行签名。
在本实施例中,USB通讯模块703具体用于接收终端设备下发的签名指令和签名完成指令,当接收到签名指令时将第一签名子模块7081的签名结果返回给终端设备,触发打开模块702进行工作;
蓝牙通讯模块704具体用于接收终端设备下发的签名指令和签名完成指令,当接收到签名指令时将第二签名子模块7082的签名结果返回给终端设备,触发打开模块702进行工作;
NFC通讯模块705具体用于接收终端设备下发的签名指令和签名完成指令,当接收到签名指令时将第三签名子模块7083的签名结果返回给终端设备,触发打开模块702进行工作。
本实施例中的装置还可以包括按键模块,用于接收确认信息;USB通讯模块703具体用于在USB通讯模式下当按键模块接收到确认信息后将第一签名子模块7081的签名结果返回给终端设备,然后触发打开模块702进行工作;蓝牙通讯模块704具体用于在蓝牙通讯模式下当按键模块接收到确认信息后将第二签名子模块7082的签名结果返回给终端设备,然后触发打开模块702进行工作;NFC通讯模块705具体用于在NFC通讯模式下当按键模块接收到确认信息后将第三签名子模块7083的签名结果返回给终端设备,然后触发打开模块702进行工作。
本实施例中的装置还可以包括第二判断模块,用于判断在预设时间内是否收到指令,是则根据收到的指令进行相应操作,否则在USB通讯模式下触发USB通讯模块703将第一签名子模块7081的签名结果返回给终端设备或在蓝牙通讯模式下触发蓝牙通讯模块704将第二签名子模块7082的签名结果返回给终端设备或在NFC通讯模式下触发NFC通讯模块705将第三签名子模块7083的签名结果返回给终端设备,然后触发打开模块702进行工作。
本实施例中的装置还可以包括第一检测模块,用于当检测设备下电后重新上电时触发打开模块702进行工作;
第一签名子模块7081,具体用于在第一判断模块706判断通讯模块的类型为USB通讯模块且USB通讯模块接收到签名指令时对通过USB通讯模块703接收到的USB数据进行签名;
第二签名子模块7082,具体用于在第一判断模块706判断通讯模块的类型为蓝牙通讯模块且蓝牙通讯模块接收到签名指令时对通过蓝牙通讯模块704接收到的蓝牙数据进行签名;
第三签名子模块7083,具体用于在第一判断模块706判断通讯模块的类型为NFC通讯模块且NFC通讯模块接收到签名指令时对通过NFC通讯模块705接收到的NFC数据进行签名。
具体的,本实施例中的初始化模块701,具体用于将USB连接标志、NFC连接标志和蓝牙连接标志复位。
本实施例中的装置还可以包括:
第二检测模块,用于检测USB中断;
USB中断模块,用于当第二检测模块检测到USB中断时,将USB连接标志置位,将接收到的USB数据存储到USB接收缓存区中;
第一签名子模块7081,具体用于对USB接收缓存区中的USB数据进行签名,将USB连接标志复位。
本实施例中的装置还可以包括:
第三检测模块,用于检测蓝牙中断;
蓝牙中断模块,用于当第三检测模块检测到蓝牙中断时,将蓝牙连接标志置位,将接收到的蓝牙数据存储到蓝牙接收缓存区中;
第二签名子模块7082,具体用于对蓝牙接收缓存区中的蓝牙数据进行签名,将蓝牙连接标志复位。
具体的,蓝牙中断模块,包括:
第一置位子模块,用于将蓝牙连接标志置位;
第一判断子模块,用于判断蓝牙数据暂存标志是否等于第一设定值,是则触发第一设定子模块工作,否则触发第二判断子模块工作;
第一设定子模块,用于将蓝牙数据暂存标志置为第二设定值,触发存储子模块工作;
第二判断子模块,用于判断蓝牙数据暂存标志是否等于第二设定值,是则触发第二设定子模块工作,否则触发第三判断子模块工作;
第二设定子模块,用于将蓝牙数据暂存标志置为第三设定值,触发存储子模块工作;
第三判断子模块,用于判断蓝牙数据暂存标志是否等于第三设定值,是则触发存储子模块工作;
触发存储子模块,用于将接收到的蓝牙数据存储到蓝牙接收缓存区中;
第四判断子模块,用于判断蓝牙接收缓存区中的数据的总长度是否等于接收到的数据长度,是则第三设定子模块工作;
第三设定子模块,用于将蓝牙数据接收完成标志置位,将蓝牙数据暂存标志置为第四设定值。
本实施例中的装置还可以包括:
第四检测模块,用于检测NFC中断;
NFC中断模块,用于当第四检测模块检测到NFC中断时,将NFC连接标志置位,将接收到的NFC数据存储到NFC接收缓存区中;
第三签名子模块,具体用于对NFC接收缓存区中的NFC数据进行签名,将NFC连接标志复位。
具体的,NFC中断模块包括:
第一置位子模块,用于将NFC连接标志置位;
第一判断子模块,用于判断NFC数据暂存标志是否等于第一设定值,是则触发第一设定子模块工作,否则触发第二判断子模块工作;
第一设定子模块,用于将NFC数据暂存标志置为第二设定值,触发存储子模块工作;
第二判断子模块,用于判断NFC数据暂存标志是否等于第二设定值,是则触发第二设定子模块工作,否则触发第三判断子模块工作;
第二设定子模块,用于将NFC数据暂存标志置为第三设定值,触发存储子模块工作;
第三判断子模块,用于判断NFC数据暂存标志是否等于第三设定值,是则触发存储子模块工作;
触发存储子模块,用于将接收到的NFC数据存储到NFC接收缓存区中;
第四判断子模块,用于判断NFC接收缓存区中的数据的总长度是否等于接收到的数据长度,是则第三设定子模块工作;
第三设定子模块,用于将NFC数据接收完成标志置位,将NFC数据暂存标志置为第四设定值。
本实施例中的装置中的初始化模块701还用于将屏幕显示标志置为无效;
上述第三设定子模块还用于将所述屏幕显示标志置为有效。
本实施例中的装置还可以包括:
第四判断模块,用于判断屏幕显示标志是否有效,是则触发显示模块工作,否则触发第五判断模块工作;
显示模块,用于根据USB数据或者蓝牙数据或者NFC数据从字库获取相应的汉字进行显示,触发第五判断模块工作;
第五判断模块,用于当检测到有按键被按下时,智能密钥设备判断按键的类型,如为确定键则触发第一设置模块工作,如为取消键则触发第二设置模块工作;
第一设置模块,用于将回传数据标志置为第一数值,将屏幕显示标志置为无效;
第二设置模块,用于将回传数据标志置为第二数值,将屏幕显示标志置为无效。
具体的,第三签名子模块7083,包括:
第一设置单元,用于将蓝牙断开引脚置为有效;
第一判断单元,用于根据国际标识码判断当前连接的终端设备是否与上次操作的终端设备相同,是则触发第二判断单元工作,否则触发报错单元工作;
在本实施例中,该装置还包括获取模块,用于从连接的终端设备中获取国际标识码并存储;第一判断单元具体用于从当前连接的终端设备中获取国际标识码,判断获取到的国际标识码是否与自身存储的国际标识码相同。
第二判断单元,用于判断本组数据是否接收完成,是则触发第三判断单元工作,否则触发NFC通讯模块给终端设备返回数据已接收响应,触发第二设置单元工作;
在本实施例中,第二判断单元具体用于判断NFC一组数据接收完成标志是否置位,是则本组数据接收完成,否则本组数据接收未完成。
第三判断单元,用于判断NFC接收缓存区中的数据是否为完整的NFC数据,是则触发第二设置单元工作,否则触发第四判断单元工作;
在本实施例中,第三判断单元具体用于判断接收到的数据长度与缓存区中数据的总长度是否一致,是则为完整的NFC数据,否则为不完整的NFC数据。
第二设置单元,用于将NFC接收数据完成标志置位,触发第四判断单元工作;
第四判断单元,用于判断NFC数据是否接收完成,是则触发第五判断单元工作,否则触发报错单元工作;
在本实施例中,第四判断单元具体用于判断NFC接收数据完成标志是否置位,是则NFC数据接收完成,否则NFC数据接收未完成。
第五判断单元,用于判断是否还有NFC数据未返回给终端设备,是则触发第六判断单元工作,否则触发签名单元工作;
在本实施例中,第五判断单元具体用于判断数据未返回标志是否置位,是则还有NFC数据未返回,否则NFC数据全部返回。
第六判断单元,用于判断NFC接收缓存区中的数据是否为数据返回命令,是则触发第一添加单元工作,否则报错;
第一添加单元,用于根据数据返回命令中的分组序号将NFC发送缓存区中的对应的分组数据加入报文头和报文尾,触发NFC通讯模块将添加单元的结果返回给终端设备;
第七判断单元,用于检测NFC发送缓存区中的数据是否全部返回给终端设备,是则将数据未返回标志复位,否则报错;
签名单元,用于对NFC接收缓存区中的NFC数据进行签名;
第八判断单元,用于判断签名单元中的签名结果是否需要进行分组,是则触发分组单元工作,否则触发第二添加单元工作;
第二添加单元,用于在签名结果中加入报文头和报文尾,然后触发NFC通讯模块将第二添加单元的结果返回给终端设备;
分组单元,用于将签名结果分成多组数据,将数据未返回标志置位;
第三添加单元,用于分别在分组单元中的每组数据中加入报文头和报文尾,然后触发NFC通讯模块将第三添加单元的结果返回给终端设备;
报错单元,用于报错。
本实施例的装置还包括:输出模块,用于在USB通讯模式下输出USB数据中的关键信息并等待用户确认或在蓝牙通讯模式下输出蓝牙数据中的关键信息并等待用户确认或在NFC通讯模式下输出NFC数据中的关键信息并等待用户确认;
按键模块,用于接收用户的确认信息,当接收到用户的确认信息时在USB通讯模式下触发第一签名子模块7081进行工作或在蓝牙通讯模式下触发第二签名子模块7082进行工作或在NFC通讯模式下触发第三签名子模块7083进行工作。
在本实施例中,第三签名子模块7083包括:
第九判断单元,用于判断NFC通讯的工作模式,如为主动模式则触发NFC模块向终端设备发送输入信息提示,当NFC模块接收到终端设备下发的NFC数据时触发签名单元工作,如为被动模式则触发签名单元工作;
签名单元,用于对通过NFC通讯模块接收到的终端设备下发的NFC数据进行签名,具体的,签名单元包括:
签名子单元,用于使用用户私钥对接收到的NFC数据进行签名;
第一判断子单元,用于判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则触发NFC通讯模块将签名子单元的签名结果返回给终端设备,触发复位子单元工作,否则触发清除子单元工作;
清除子单元,用于清除所有接收到的信息,触发复位子单元工作;
触发复位子单元,用于将NFC连接标志复位。
签名单元还包括:第二判断子单元,用于判断是否接收到终端设备下发的NFC数据,是则触发签名子单元工作,否则报错;
第三签名子模块7083还包括:记录单元,用于记录本次连接的终端设备的唯一标识。
本实施例中的装置还包括:
NFC通讯模块还用于等待终端设备下发的应用;
第六判断模块,用于判断在预设时间内是否接收到终端设备下发的应用,是则触发NFC通讯模块给终端设备返回接收成功信息,否则报错。
在本实施例中,初始化模块701还用于开启关机定时器;则本实施例的装置还包括:
第四判断模块,用于判断智能密钥设备的工作电压是否低于设定值,是则提示低电压状态,延时第一预设时间后关机,否则触发第五判断模块工作;
第五判断模块,用于检测关机定时器的计时是否大于预设时间值,是则关机,否则触发复位模块工作;
复位模块,用于复位关机定时器,触发打开模块工作;
签名模块工作之后触发第五判断模块工作。
在发明本实施例中的智能密钥设备将NFC和蓝牙集合到一体,既适用于安卓系统的终端设备,也适用于IOS系统的终端设备。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (42)
1.一种智能密钥设备的工作方法,其特征在于,包括:
步骤S1:智能密钥设备上电,进行初始化;
步骤S2:所述智能密钥设备打开通讯模块,当检测到有通讯模块接收到数据时,判断接收到数据的通讯模块的类型,如为USB通讯模块则关闭NFC通讯模块和蓝牙通讯模块,执行步骤S3,如为蓝牙通讯模块则关闭NFC通讯模块和USB通讯模块,执行步骤S4,如为NFC通讯模块则关闭蓝牙通讯模块和USB通讯模块,执行步骤S5;
步骤S3:所述智能密钥设备对通过所述USB通讯模块接收到的终端设备下发的USB数据进行签名,并将签名结果返回给所述终端设备;
步骤S4:所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,并将签名结果返回给所述终端设备;
步骤S5:所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,并将签名结果返回给所述终端设备;
所述步骤S5包括:
步骤S51:所述智能密钥设备判断所述NFC通讯的工作模式,如为主动模式则执行步骤S52,如为被动模式则执行步骤S54;
步骤S52:所述智能密钥设备通过NFC通讯模块向所述终端设备发送输入信息提示;
步骤S53:所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,并将签名结果返回给所述终端设备;
步骤S54:所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,并将签名结果返回给所述终端设备。
2.如权利要求1所述的方法,其特征在于,
所述步骤S3包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,当所述智能密钥设备接收到签名完成指令时将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S4包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,当所述智能密钥设备接收到签名完成指令时将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S5包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,当所述智能密钥设备接收到签名完成指令时将签名结果返回给所述终端设备,返回步骤S2。
3.如权利要求1所述的方法,其特征在于,
所述步骤S3包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,当所述智能密钥设备接收到确认信息时将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S4包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,当所述智能密钥设备接收到确认信息时将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S5包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,当所述智能密钥设备接收到确认信息时将签名结果返回给所述终端设备,返回步骤S2。
4.如权利要求1所述的方法,其特征在于,
所述步骤S3包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,所述智能密钥设备判断在预设时间内是否收到其他指令,是则根据收到的指令进行相应操作,否则将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S4包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,所述智能密钥设备判断在预设时间内是否收到其他指令,是则根据收到的指令进行相应操作,否则将签名结果返回给所述终端设备,返回步骤S2;
所述步骤S5包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,所述智能密钥设备判断在预设时间内是否收到其他指令,是则根据收到的指令进行相应操作,否则将签名结果返回给所述终端设备,返回步骤S2。
5.如权利要求1所述的方法,其特征在于,
所述步骤S3包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,并将签名结果返回给所述终端设备,当检测到设备下电后重新上电时返回步骤S2;
所述步骤S4包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,当并将签名结果返回给所述终端设备,当检测到设备下电后重新上电时返回步骤S2;
所述步骤S5包括:当所述智能密钥设备接收到签名指令时所述智能密钥设备对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名,并将签名结果返回给所述终端设备,当检测到设备下电后重新上电时返回步骤S2。
6.如权利要求1所述的方法,其特征在于,所述进行初始化包括:将USB连接标志、NFC连接标志和蓝牙连接标志复位。
7.如权利要求6所述的方法,其特征在于,还包括:
如所述智能密钥设备检测到USB中断,则进入USB中断,执行以下操作:
步骤D:所述智能密钥设备将所述USB连接标志置位,将接收到的USB数据存储到USB接收缓存区中,退出USB中断;
所述步骤S3包括:所述智能密钥设备对所述USB接收缓存区中的USB数据进行签名,并将签名结果返回给所述终端设备,将所述USB连接标志复位。
8.如权利要求6所述的方法,其特征在于,还包括:
如所述智能密钥设备检测到蓝牙中断,则进入蓝牙中断,执行以下操作:
步骤A:所述智能密钥设备将所述蓝牙连接标志置位,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
所述步骤S4包括:所述智能密钥设备对所述蓝牙接收缓存区中的蓝牙数据进行签名,并将签名结果返回给所述终端设备,将所述蓝牙连接标志复位。
9.如权利要求8所述的方法,其特征在于,所述步骤A具体包括:
步骤A0:所述智能密钥设备将所述蓝牙连接标志置位;
步骤A1:所述智能密钥设备判断蓝牙数据暂存标志是否等于第一设定值,是则执行步骤A2,否则执行步骤A3;
步骤A2:所述智能密钥设备将蓝牙数据暂存标志置为第二设定值,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
步骤A3:所述智能密钥设备判断蓝牙数据暂存标志是否等于第二设定值,是则执行步骤A4,否则执行步骤A5;
步骤A4:所述智能密钥设备将蓝牙数据暂存标志置为第三设定值,将接收到的蓝牙数据存储到蓝牙接收缓存区中,退出蓝牙中断;
步骤A5:所述智能密钥设备判断蓝牙数据暂存标志是否等于第三设定值,是则执行步骤A6,否则,退出蓝牙中断;
步骤A6:所述智能密钥设备将接收到的蓝牙数据存储到蓝牙接收缓存区中;
步骤A7:所述智能密钥设备判断所述蓝牙接收缓存区中的数据的总长度是否等于接收到的数据长度,是则执行步骤A8,否则退出蓝牙中断;
步骤A8:所述智能密钥设备将蓝牙数据接收完成标志置位,将蓝牙数据暂存标志置为第四设定值,退出蓝牙中断。
10.如权利要求6所述的方法,其特征在于,还包括:
当所述智能密钥设备检测到NFC中断时,进入NFC中断,执行以下操作:
步骤B:所述智能密钥设备将所述NFC连接标志置位,将接收到的NFC数据存储到NFC接收缓存区中,退出NFC中断;
所述步骤S5包括:所述智能密钥设备对所述NFC接收缓存区中的NFC数据进行签名,并将签名结果返回给所述终端设备,将所述NFC连接标志复位。
11.如权利要求10所述的方法,其特征在于,所述步骤B具体包括:
步骤B0:将所述NFC连接标志置位;
步骤B1:所述智能密钥设备判断NFC数据暂存标志是否等于第一设定值,是则执行步骤B2,否则执行步骤B3;
步骤B2:所述智能密钥设备将所述NFC数据暂存标志置为第二设定值,将接收到的NFC数据存储到所述NFC接收缓存区中,退出NFC中断;
步骤B3:所述智能密钥设备判断所述NFC数据暂存标志是否等于第二设定值,是则执行步骤B4,否则执行步骤B5;
步骤B4:所述智能密钥设备将所述NFC数据暂存标志置为第三设定值,将接收到的NFC数据存储到所述NFC接收缓存区中,退出NFC中断;
步骤B5:所述智能密钥设备判断所述NFC数据暂存标志是否等于第三设定值,是则执行步骤B6,否则退出NFC中断;
步骤B6:所述智能密钥设备将接收到的NFC数据存储到所述NFC接收缓存区中;
步骤B7:所述智能密钥设备判断所述NFC接收缓存区中的数据的总长度是否等于接收到的NFC数据长度,是则执行步骤A8,否则退出NFC中断;
步骤B8:所述智能密钥设备将NFC一组数据接收完成标志置位,将所述NFC数据暂存标志置为第四设定值,退出NFC中断。
12.如权利要求9所述的方法,其特征在于,
所述初始化还包括:将屏幕显示标志置为无效;
所述步骤A8还包括:将所述屏幕显示标志置为有效。
13.如权利要求11所述的方法,其特征在于,
所述初始化还包括:将屏幕显示标志置为无效;
所述步骤B8还包括:将所述屏幕显示标志置为有效。
14.如权利要求12或13所述的方法,其特征在于,
所述步骤S3、S4、S5之后还包括:
步骤T1:所述智能密钥设备判断所述屏幕显示标志是否有效,是则执行步骤T2,否则执行步骤T3;
步骤T2:所述智能密钥设备根据所述USB数据或者蓝牙数据或者NFC数据从字库获取相应的汉字进行显示;
步骤T3:当所述智能密钥设备检测到有按键被按下时,所述智能密钥设备判断按键的类型,如为确定键则执行步骤T4,如为取消键则执行步骤T5;
步骤T4:所述智能密钥设备将回传数据标志置为第一数值,将所述屏幕显示标志置为无效;
步骤T5:所述智能密钥设备将回传数据标志置为第二数值,将所述屏幕显示标志置为无效。
15.如权利要求11所述的方法,其特征在于,所述对所述NFC接收缓存区中的NFC数据进行签名,包括:
步骤D1:所述智能密钥设备将蓝牙断开引脚置为有效;
步骤D2:所述智能密钥设备根据国际标识码判断当前连接的终端设备是否与上次操作的终端设备相同,是则执行步骤D3,否则报错;
步骤D3:所述智能密钥设备判断本组数据是否接收完成,是则执行步骤D5,否则执行步骤D4;
步骤D4:所述智能密钥设备给所述终端设备返回数据已接收响应,执行步骤D6;
步骤D5:所述智能密钥设备判断NFC接收缓存区中的数据是否为完整的NFC数据,是则执行步骤D6,否则执行步骤D7;
步骤D6:所述智能密钥设备将NFC接收数据完成标志置位,执行步骤D7;
步骤D7:所述智能密钥设备判断NFC数据是否接收完成,是则执行步骤D8,否则报错;
步骤D8:所述智能密钥设备判断是否还有NFC数据未返回给所述终端设备,是则执行步骤D9,否则执行步骤D12;
步骤D9:所述智能密钥设备判断NFC接收缓存区中的数据是否为数据返回命令,是则执行步骤D10,否则报错;
步骤D10:所述智能密钥设备根据数据返回命令中的分组序号将NFC发送缓存区中的对应的分组数据加入报文头和报文尾,并将其返回给所述终端设备;
步骤D11:所述智能密钥设备检测所述NFC发送缓存区中的数据是否全部返回给所述终端设备,是则将所述数据未返回标志复位,否则报错;
步骤D12:所述智能密钥设备对所述NFC接收缓存区中的NFC数据进行签名;
步骤D13:所述智能密钥设备判断签名结果是否需要进行分组,是则执行步骤D15,否则执行步骤D14;
步骤D14:所述智能密钥设备在所述签名结果中加入报文头和报文尾,然后返回给终端设备;
步骤D15:所述智能密钥设备将签名结果分成多组数据,将所述数据未返回标志置位;
步骤D16:所述智能密钥设备分别在每组数据中加入报文头和报文尾然后返回给所述终端设备。
16.如权利要求1所述的方法,其特征在于,
所述智能密钥设备对通过所述USB通讯模块接收到的所述终端设备下发的USB数据进行签名,包括:所述智能密钥设备输出所述USB数据中的关键信息并等待用户确认,当接收到用户的确认信息时对所述USB数据进行签名;
所述智能密钥设备对通过蓝牙通讯模块接收到的所述终端设备下发的蓝牙数据进行签名,包括:所述智能密钥设备输出所述蓝牙数据中的关键信息并等待用户确认,当接收到用户的确认信息时对所述蓝牙数据进行签名;
所述智能密钥设备对通过所述NFC通讯模块接收到所述终端设备下发的NFC数据进行签名,包括为:所述智能密钥设备输出所述NFC数据中的关键信息并等待用户确认,当接收到用户的确认信息时对所述NFC数据进行签名。
17.如权利要求1所述的方法,其特征在于,所述步骤S53包括:
步骤S53-1:所述智能密钥设备接收所述终端设备通过NFC通讯模块下发的NFC数据;
步骤S53-2:所述智能密钥设备使用用户私钥对接收到的NFC数据进行签名;
步骤S53-3:所述智能密钥设备判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则执行步骤S53-5,否则执行步骤S53-4;
步骤S53-4:所述智能密钥设备清除所有接收到的信息,将NFC连接标志复位;
步骤S53-5:所述智能密钥设备将签名结果返回给所述终端设备,将NFC连接标志复位。
18.如权利要求1所述的方法,其特征在于,所述步骤S54包括:
步骤S54-1:所述智能密钥设备等待接收所述终端设备通过NFC通讯模块下发的NFC数据;
步骤S54-2:所述智能密钥设备判断是否接收到所述终端设备下发的NFC数据,是则执行步骤S54-3,否则报错;
步骤S54-3:所述智能密钥设备使用用户私钥对接收到的所述NFC数据进行签名;
步骤S54-4:所述智能密钥设备判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则执行步骤S54-6,否则执行步骤S54-5;
步骤S54-5:所述智能密钥设备清除所有接收到的信息,将NFC连接标志复位;
步骤S54-6:所述智能密钥设备将签名结果返回给所述终端设备,将NFC连接标志复位。
19.如权利要求1所述的方法,其特征在于,所述步骤S2与步骤S5之间,包括:
步骤L1:所述智能密钥设备等待接收所述终端设备下发的应用;
步骤L2:所述智能密钥设备判断在预设时间内是否接收到所述终端设备下发的应用,是则执行步骤L3,否则报错;
步骤L3:所述智能密钥设备给所述终端设备返回接收成功信息,执行步骤S5。
20.如权利要求1所述的方法,其特征在于,
所述初始化还包括:开启关机定时器;
在所述步骤S2之前,所述方法还包括:
步骤Y1:所述智能密钥设备判断工作电压是否低于预设值,是则提示低电压状态,延时第一预设时间后关机,否则执行步骤Y2;
步骤Y2:所述智能密钥设备检测所述关机定时器的计时是否大于预设时间值,是则关机,否则执行步骤Y3;
步骤Y3:所述智能密钥设备复位所述关机定时器,执行步骤S2;
所述步骤S3、S4、S5执行之后返回步骤Y2。
21.一种智能密钥设备,其特征在于,包括:
USB模块,与电源控制模块和主控模块连接,通过USB接口与外部终端设备连接,用于实现与所述终端设备的枚举操作和数据通信,接收所述终端设备发送的USB数据并将其反馈给所述主控模块,接收所述主控模块返回的数据并将其反馈给所述终端设备,还用于实现对电源管理模块中的电池进行充电;
NFC模块,与所述电源控制模块和所述主控模块连接,通过NFC方式与外部终端设备连接,用于接收所述终端设备发送的NFC数据并将其反馈给所述主控模块,接收所述主控模块返回的数据并将其反馈给所述终端设备,还用于从所述电源控制模块中取电或从非接场中取电;
蓝牙模块,与所述电源控制模块和所述主控模块连接,通过蓝牙方式与外部终端设备连接,用于与所述终端设备端进行配对,接收所述终端设备发送的蓝牙数据并将其反馈给所述主控模块,接收所述主控模块返回的数据并将其反馈给所述终端设备,还用于从所述电源控制模块中取电;
所述主控模块,与所述电源控制电路、所述USB模块、所述NFC模块、所述蓝牙模块连接,用于接收所述USB模块反馈的USB数据、所述NFC模块反馈的NFC数据、所述蓝牙模块反馈的NFC数据,并对接收到的数据进行签名并将签名结果返回;
所述电源控制电路,与所述USB模块、所述NFC模块、所述蓝牙模块、所述主控模块连接,用于控制所述USB模块、所述NFC模块、所述蓝牙模块、所述主控模块的供电,实现稳压或者电池的充放电。
22.如权利要求21所述的智能密钥设备,其特征在于,还包括:
确认键,用于输入确认信息;
取消键,用于输入取消信息;
所述主控模块还用于根据输入的确认信息或取消信息进行相应操作。
23.如权利要求21所述的智能密钥设备,其特征在于,还包括:
显示屏,用于显示关键信息。
24.一种智能密钥设备的工作装置,其特征在于,包括:
初始化模块,用于进行初始化;
打开模块,用于打开所述智能密钥设备的通讯模块;
USB通讯模块,用于接收终端设备发送的USB数据,并向所述终端设备返回第一签名子模块的签名结果;
蓝牙通讯模块,用于接收终端设备发送的蓝牙数据,并向所述终端设备返回第二签名子模块的签名结果;
NFC通讯模块,用于接收终端设备发送的NFC数据,并向所述终端设备返回第三签名子模块的签名结果;
第一判断模块,用于当检测到有通讯模块接收到数据时,判断接收到数据的通讯模块的类型,并触发关闭模块进行工作;
所述关闭模块包括第一关闭子模块、第二关闭子模块和第三关闭子模块;
所述第一关闭子模块,用于当所述第一判断模块判断接收到数据的通讯模块的类型为USB通讯模块时关闭所述NFC通讯模块和所述蓝牙通讯模块;
所述第二关闭子模块,用于当所述第一判断模块判断接收到数据的通讯模块的类型为蓝牙通讯模块时关闭所述NFC通讯模块和所述USB通讯模块;
所述第三关闭子模块,用于当所述第一判断模块判断接收到数据的通讯模块的类型为NFC通讯模块时关闭所述蓝牙通讯模块和USB通讯模块;
签名模块包括所述第一签名子模块、所述第二签名子模块和所述第三签名子模块;
所述第一签名子模块,用于在所述第一判断模块判断通讯模块的类型为USB通讯模块时对通过所述USB通讯模块接收到的所述USB数据进行签名;
所述第二签名子模块,用于在所述第一判断模块判断通讯模块的类型为蓝牙通讯模块时对通过所述蓝牙通讯模块接收到的所述蓝牙数据进行签名;
所述第三签名子模块,用于在所述第一判断模块判断通讯模块的类型为NFC通讯模块时对通过所述NFC通讯模块接收到的所述NFC数据进行签名;
所述第三签名子模块包括:
第九判断单元,用于判断所述NFC通讯的工作模式,如为主动模式则触发所述NFC模块向所述终端设备发送输入信息提示,当所述NFC模块接收到所述终端设备下发的NFC数据时触发签名单元工作,如为被动模式则触发所述签名单元工作;
所述签名单元,用于对通过所述NFC通讯模块接收到的所述终端设备下发的NFC数据进行签名。
25.如权利要求24所述的装置,其特征在于,
所述USB通讯模块具体用于接收终端设备下发的签名指令和签名完成指令,当接收到签名指令时将所述第一签名子模块的签名结果返回给所述终端设备,触发所述打开模块进行工作;
所述蓝牙通讯模块具体用于接收终端设备下发的签名指令和签名完成指令,当接收到签名指令时将所述第二签名子模块的签名结果返回给所述终端设备,触发所述打开模块进行工作;
所述NFC通讯模块具体用于接收终端设备下发的签名指令和签名完成指令,当接收到签名指令时将所述第三签名子模块的签名结果返回给所述终端设备,触发所述打开模块进行工作。
26.如权利要求24所述的装置,其特征在于,还包括按键模块,用于接收确认信息;
所述USB通讯模块具体用于在USB通讯模式下当所述按键模块接收到确认信息后将第一签名子模块的签名结果返回给所述终端设备,然后触发所述打开模块进行工作;
所述蓝牙通讯模块具体用于在蓝牙通讯模式下当所述按键模块接收到确认信息后将第二签名子模块的签名结果返回给所述终端设备,然后触发所述打开模块进行工作;
所述NFC通讯模块具体用于在NFC通讯模式下当所述按键模块接收到确认信息后将第三签名子模块的签名结果返回给所述终端设备,然后触发所述打开模块进行工作。
27.如权利要求24所述的装置,其特征在于,还包括第二判断模块,用于判断在预设时间内是否收到指令,是则根据收到的指令进行相应操作,否则在USB通讯模式下触发所述USB通讯模块将所述第一签名子模块的签名结果返回给所述终端设备或在蓝牙通讯模式下触发所述蓝牙通讯模块将所述第二签名子模块的签名结果返回给所述终端设备或在NFC通讯模式下触发所述NFC通讯模块将所述第三签名子模块的签名结果返回给所述终端设备,然后触发所述打开模块进行工作。
28.如权利要求24所述的装置,其特征在于,还包括第一检测模块,用于当检测设备下电后重新上电时触发所述打开模块进行工作;
所述第一签名子模块,具体用于在所述第一判断模块判断通讯模块的类型为USB通讯模块且所述USB通讯模块接收到签名指令时对通过所述USB通讯模块接收到的所述USB数据进行签名;
所述第二签名子模块,具体用于在所述第一判断模块判断通讯模块的类型为蓝牙通讯模块且所述蓝牙通讯模块接收到签名指令时对通过所述蓝牙通讯模块接收到的所述蓝牙数据进行签名;
所述第三签名子模块,具体用于在所述第一判断模块判断通讯模块的类型为NFC通讯模块且所述NFC通讯模块接收到签名指令时对通过所述NFC通讯模块接收到的所述NFC数据进行签名。
29.如权利要求24所述的装置,其特征在于,所述初始化模块,具体用于将USB连接标志、NFC连接标志和蓝牙连接标志复位。
30.如权利要求29所述的装置,其特征在于,还包括:
第二检测模块,用于检测USB中断;
USB中断模块,用于当所述第二检测模块检测到USB中断时,将USB连接标志置位,将接收到的USB数据存储到USB接收缓存区中;
所述第一签名子模块,具体用于对所述USB接收缓存区中的USB数据进行签名,将所述USB连接标志复位。
31.如权利要求29所述的装置,其特征在于,还包括:
第三检测模块,用于检测蓝牙中断;
蓝牙中断模块,用于当所述第三检测模块检测到蓝牙中断时,将蓝牙连接标志置位,将接收到的蓝牙数据存储到蓝牙接收缓存区中;
所述第二签名子模块,具体用于对所述蓝牙接收缓存区中的蓝牙数据进行签名,将所述蓝牙连接标志复位。
32.如权利要求31所述的装置,其特征在于,所述蓝牙中断模块,包括:
第一置位子模块,用于将所述蓝牙连接标志置位;
第一判断子模块,用于判断蓝牙数据暂存标志是否等于第一设定值,是则触发第一设定子模块工作,否则触发第二判断子模块工作;
所述第一设定子模块,用于将蓝牙数据暂存标志置为第二设定值,触发存储子模块工作;
所述第二判断子模块,用于判断蓝牙数据暂存标志是否等于第二设定值,是则触发第二设定子模块工作,否则触发第三判断子模块工作;
所述第二设定子模块,用于将蓝牙数据暂存标志置为第三设定值,触发存储子模块工作;
所述第三判断子模块,用于判断蓝牙数据暂存标志是否等于第三设定值,是则触发存储子模块工作;
所述触发存储子模块,用于将接收到的蓝牙数据存储到蓝牙接收缓存区中;
第四判断子模块,用于判断所述蓝牙接收缓存区中的数据的总长度是否等于接收到的数据长度,是则第三设定子模块工作;
所述第三设定子模块,用于将蓝牙数据接收完成标志置位,将蓝牙数据暂存标志置为第四设定值。
33.如权利要求29所述的装置,其特征在于,还包括:
第四检测模块,用于检测NFC中断;
NFC中断模块,用于当所述第四检测模块检测到NFC中断时,将NFC连接标志置位,将接收到的NFC数据存储到NFC接收缓存区中;
所述第三签名子模块,具体用于对所述NFC接收缓存区中的NFC数据进行签名,将所述NFC连接标志复位。
34.如权利要求33所述的装置,其特征在于,所述NFC中断模块包括:
第一置位子模块,用于将所述NFC连接标志置位;
第一判断子模块,用于判断NFC数据暂存标志是否等于第一设定值,是则触发第一设定子模块工作,否则触发第二判断子模块工作;
所述第一设定子模块,用于将NFC数据暂存标志置为第二设定值,触发存储子模块工作;
所述第二判断子模块,用于判断NFC数据暂存标志是否等于第二设定值,是则触发第二设定子模块工作,否则触发第三判断子模块工作;
所述第二设定子模块,用于将NFC数据暂存标志置为第三设定值,触发存储子模块工作;
所述第三判断子模块,用于判断NFC数据暂存标志是否等于第三设定值,是则触发存储子模块工作;
所述触发存储子模块,用于将接收到的NFC数据存储到NFC接收缓存区中;
第四判断子模块,用于判断所述NFC接收缓存区中的数据的总长度是否等于接收到的数据长度,是则第三设定子模块工作;
所述第三设定子模块,用于将NFC数据接收完成标志置位,将NFC数据暂存标志置为第四设定值。
35.如权利要求32或34所述的装置,其特征在于,所述初始化模块还用于将屏幕显示标志置为无效;
所述第三设定子模块还用于将所述屏幕显示标志置为有效。
36.如权利要求35所述的装置,其特征在于,还包括:
第四判断模块,用于判断所述屏幕显示标志是否有效,是则触发显示模块工作,否则触发第五判断模块工作;
所述显示模块,用于根据所述USB数据或者蓝牙数据或者NFC数据从字库获取相应的汉字进行显示,触发第五判断模块工作;
所述第五判断模块,用于当检测到有按键被按下时,所述智能密钥设备判断按键的类型,如为确定键则触发第一设置模块工作,如为取消键则触发第二设置模块工作;
所述第一设置模块,用于将回传数据标志置为第一数值,将所述屏幕显示标志置为无效;
所述第二设置模块,用于将回传数据标志置为第二数值,将所述屏幕显示标志置为无效。
37.如权利要求36所述的装置,其特征在于,所述第三签名子模块,包括:
第一设置单元,用于将蓝牙断开引脚置为有效;
第一判断单元,用于根据国际标识码判断当前连接的终端设备是否与上次操作的终端设备相同,是则触发第二判断单元工作,否则触发报错单元工作;
所述第二判断单元,用于判断本组数据是否接收完成,是则触发第三判断单元工作,否则触发所述NFC通讯模块给所述终端设备返回数据已接收响应,触发第二设置单元工作;
所述第三判断单元,用于判断NFC接收缓存区中的数据是否为完整的NFC数据,是则触发第二设置单元工作,否则触发第四判断单元工作;
所述第二设置单元,用于将NFC接收数据完成标志置位,触发第四判断单元工作;
所述第四判断单元,用于判断NFC数据是否接收完成,是则触发第五判断单元工作,否则触发报错单元工作;
所述第五判断单元,用于判断是否还有NFC数据未返回给所述终端设备,是则触发第六判断单元工作,否则触发签名单元工作;
所述第六判断单元,用于判断NFC接收缓存区中的数据是否为数据返回命令,是则触发第一添加单元工作,否则报错;
所述第一添加单元,用于根据数据返回命令中的分组序号将NFC发送缓存区中的对应的分组数据加入报文头和报文尾,触发NFC通讯模块将所述添加单元的结果返回给所述终端设备;
第七判断单元,用于检测所述NFC发送缓存区中的数据是否全部返回给所述终端设备,是则将所述数据未返回标志复位,否则报错;
所述签名单元,用于对所述NFC接收缓存区中的NFC数据进行签名;
第八判断单元,用于判断所述签名单元中的签名结果是否需要进行分组,是则触发分组单元工作,否则触发第二添加单元工作;
所述第二添加单元,用于在所述签名结果中加入报文头和报文尾,然后触发所述NFC通讯模块将所述第二添加单元的结果返回给所述终端设备;
所述分组单元,用于将签名结果分成多组数据,将所述数据未返回标志置位;
第三添加单元,用于分别在所述分组单元中的每组数据中加入报文头和报文尾,然后触发所述NFC通讯模块将所述第三添加单元的结果返回给所述终端设备;
所述报错单元,用于报错。
38.如权利要求24所述的装置,其特征在于,还包括:
输出模块,用于在USB通讯模式下输出所述USB数据中的关键信息并等待用户确认或在蓝牙通讯模式下输出所述蓝牙数据中的关键信息并等待用户确认或在NFC通讯模式下输出所述NFC数据中的关键信息并等待用户确认;
按键模块,用于接收用户的确认信息,当接收到所述用户的确认信息时在USB通讯模式下触发所述第一签名子模块进行工作或在蓝牙通讯模式下触发所述第二签名子模块进行工作或在NFC通讯模式下触发所述第三签名子模块进行工作。
39.如权利要求24所述的装置,其特征在于,所述签名单元包括:
签名子单元,用于使用用户私钥对所述NFC数据进行签名;
第一判断子单元,用于判断当前连接的终端设备与签名时连接的终端设备是否为同一设备,是则触发所述NFC通讯模块将所述签名子单元的签名结果返回给所述终端设备,触发复位子单元工作,否则触发清除子单元工作;
所述清除子单元,用于清除所有接收到的信息,触发复位子单元工作;
所述触发复位子单元,用于将NFC连接标志复位。
40.如权利要求39所述的装置,其特征在于,所述签名单元还包括:
第二判断子单元,用于判断是否接收到所述终端设备下发的NFC数据,是则触发所述签名子单元工作,否则报错。
41.如权利要求24所述的装置,其特征在于,所述NFC通讯模块还用于等待并接收所述终端设备下发的应用;
所述装置还包括:第六判断模块,用于判断在预设时间内是否接收到所述终端设备下发的应用,是则触发所述NFC通讯模块给所述终端设备返回接收成功信息,触发所述第三签名子模块进行工作,否则报错。
42.如权利要求24所述的装置,其特征在于,
所述初始化模块还用于开启关机定时器;所述装置还包括:
第四判断模块,用于判断所述智能密钥设备的工作电压是否低于预设值,是则提示低电压状态,延时第一预设时间后关机,否则触发第五判断模块工作;
所述第五判断模块,用于检测所述关机定时器的计时是否大于预设时间值,是则关机,否则触发复位模块工作;
所述复位模块,用于复位所述关机定时器,触发所述打开模块工作;
所述签名模块工作之后触发第五判断模块工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510541886.5A CN105099709B (zh) | 2015-08-28 | 2015-08-28 | 一种智能密钥设备及其工作方法和工作装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510541886.5A CN105099709B (zh) | 2015-08-28 | 2015-08-28 | 一种智能密钥设备及其工作方法和工作装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105099709A CN105099709A (zh) | 2015-11-25 |
CN105099709B true CN105099709B (zh) | 2018-03-30 |
Family
ID=54579341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510541886.5A Active CN105099709B (zh) | 2015-08-28 | 2015-08-28 | 一种智能密钥设备及其工作方法和工作装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105099709B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407001B (zh) * | 2015-11-27 | 2018-10-12 | 飞天诚信科技股份有限公司 | 一种快速识别通讯参数配置的方法、系统及装置 |
CN105790953B (zh) * | 2016-03-02 | 2019-05-10 | 飞天诚信科技股份有限公司 | 双接口认证设备及其工作方法 |
CN106789072A (zh) * | 2016-12-26 | 2017-05-31 | 北京握奇智能科技有限公司 | 一种具有按键确认和nfc刷卡确认的fido设备及其工作方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207964A (zh) * | 2013-03-15 | 2013-07-17 | 飞天诚信科技股份有限公司 | 一种多功能智能密钥设备及其工作方法 |
CN103246839A (zh) * | 2013-04-27 | 2013-08-14 | 飞天诚信科技股份有限公司 | 一种智能密钥设备的工作方法 |
CN103532697A (zh) * | 2013-10-22 | 2014-01-22 | 北京深思数盾科技有限公司 | 一种无线信息安全设备的实现方法及系统 |
CN104102863A (zh) * | 2014-07-24 | 2014-10-15 | 北京握奇智能科技有限公司 | 一种身份认证设备及该设备控制方法 |
-
2015
- 2015-08-28 CN CN201510541886.5A patent/CN105099709B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207964A (zh) * | 2013-03-15 | 2013-07-17 | 飞天诚信科技股份有限公司 | 一种多功能智能密钥设备及其工作方法 |
CN103246839A (zh) * | 2013-04-27 | 2013-08-14 | 飞天诚信科技股份有限公司 | 一种智能密钥设备的工作方法 |
CN103532697A (zh) * | 2013-10-22 | 2014-01-22 | 北京深思数盾科技有限公司 | 一种无线信息安全设备的实现方法及系统 |
CN104102863A (zh) * | 2014-07-24 | 2014-10-15 | 北京握奇智能科技有限公司 | 一种身份认证设备及该设备控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105099709A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099709B (zh) | 一种智能密钥设备及其工作方法和工作装置 | |
CN105516901B (zh) | 一种低功耗蓝牙设备及其工作方法 | |
US11216549B2 (en) | Security verification method and device | |
CN203192055U (zh) | 一种电子锁 | |
CN103246839B (zh) | 一种智能密钥设备的工作方法 | |
CN100563948C (zh) | 一种包括具有安全装备的便携式操作设备的机器人控制系统 | |
CN101159551B (zh) | 多功能信息安全设备及其使用方法 | |
CN103560886B (zh) | 电子签名设备认证方法 | |
CN103312517B (zh) | 一种双用途设备共用显示屏和按键的实现方法 | |
CN104674503A (zh) | 一种洗衣机控制系统及洗衣机控制方法 | |
CN100573563C (zh) | 一种非接触ic卡通用编码解码及读写装置和方法 | |
CN204833409U (zh) | 一种基于nfc和无线网络的电表箱智能门锁 | |
CN105070004A (zh) | 智能设备及其遥控系统和遥控配对方法 | |
CN102624742A (zh) | 一种增强移动设备和家庭智能终端之间通信安全的方法 | |
CN103414497A (zh) | 为电子设备之间通信借助转发的控制方法和相应的设备 | |
CN103457741B (zh) | 一种动态令牌的工作方法 | |
CN106789072A (zh) | 一种具有按键确认和nfc刷卡确认的fido设备及其工作方法 | |
CN105162770B (zh) | 一种智能家庭安全防护系统及其控制方法 | |
CN103376876B (zh) | 音频接口装置及其电源管理方法 | |
CN106788617A (zh) | 智能蓝牙信标插座 | |
CN203759722U (zh) | 一种射频读写器及射频识别系统 | |
CN206353311U (zh) | 应用于移动设备的切换电路、电子标签通信装置及手持机 | |
CN104820795B (zh) | 一种智能设备及其解锁方法 | |
CN103195301B (zh) | 电子锁控制装置 | |
CN107566352A (zh) | 一种生成用户识别码的方法、一种开锁方法及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B building room 205 Applicant after: Beijing Jianshi Chengxin Technologies Co., Ltd. Address before: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building 17 floor B building Applicant before: Beijing Jianshi Chengxin Technologies Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |