CN103207964B - 一种多功能智能密钥设备及其工作方法 - Google Patents

一种多功能智能密钥设备及其工作方法 Download PDF

Info

Publication number
CN103207964B
CN103207964B CN201310049654.9A CN201310049654A CN103207964B CN 103207964 B CN103207964 B CN 103207964B CN 201310049654 A CN201310049654 A CN 201310049654A CN 103207964 B CN103207964 B CN 103207964B
Authority
CN
China
Prior art keywords
usb
cipher key
key equipment
intelligent cipher
described intelligent
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
CN201310049654.9A
Other languages
English (en)
Other versions
CN103207964A (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201310049654.9A priority Critical patent/CN103207964B/zh
Publication of CN103207964A publication Critical patent/CN103207964A/zh
Application granted granted Critical
Publication of CN103207964B publication Critical patent/CN103207964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种多功能智能密钥设备及其工作方法,属于信息安全领域,所述智能密钥设备包括蓝牙端口和USB端口,所述方法包括:智能密钥设备上电初始化,读取蓝牙模块的参数,判断工作电压是否低于预设值,如果是,则所述智能密钥设备关闭,否则等待接收指令,在此过程中,如果接收到插USB触发信号或USB连接信号或USB断开连接信号或拔USB触发信号或蓝牙连接信号或蓝牙断开连接信号或蓝牙接收指令信号或USB接收指令信号,则进入相应中断,执行相应操作,退出相应中断,继续判断工作电压,采用本发明所述方案能够使智能密钥设备同时具备蓝牙通信和USB通信的功能,方便了不同接口设备之间的通信。<!--1-->

Description

一种多功能智能密钥设备及其工作方法
技术领域
本发明涉及信息安全领域,尤其涉及一种多功能智能密钥设备及其工作方法。
背景技术
目前移动设备上的应用软件越来越多,尤其是医疗领域,一些手持检测设备的软件都是基于PDA(PersonalDigitalAssistant,个人掌上电脑)平台开发的,但是这些软件很容易遭到黑客破解,如果在移动设备上绑定一个智能密钥设备将很好地解决盗版问题。
由于移动设备的特殊性,不同厂家的移动设备的硬件接口都不太一样,但是几乎所有的移动设备都支持蓝牙通信,且蓝牙接口都是一致的,所以使用蓝牙技术可以解决接口不一致的问题。
发明内容
本发明的目的是为了克服现有技术的不足,提供了一种多功能智能密钥设备及其工作方法。
本发明采用的技术方案是:一种多功能智能密钥设备及其工作方法,包括:
步骤101:智能密钥设备上电初始化,打开中断;
步骤102:所述智能密钥设备读取蓝牙模块的参数,并判断是否能够成功读取蓝牙模块参数,如果是,则将蓝牙模块切换至连接状态,执行步骤103,否则执行步骤103;
步骤103:所述智能密钥设备判断工作电压是否低于预设值,如果是,则提示低电压状态,第一预设时间后关闭所述智能密钥设备,否则执行步骤104;
步骤104:所述智能密钥设备判断是否接收到中断信号,如果是,则进入中断,执行相应操作,待操作结束后退出中断,返回执行步骤103,否则直接返回执行步骤103;
当所述智能密钥设备收到插USB触发信号时,进入插USB中断,执行相应操作,退出插USB中断;
和/或当所述智能密钥设备收到USB连接信号时,进入USB连接中断,执行相应操作,退出USB连接中断;
和/或当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,执行相应操作,退出USB断开连接中断;
和/或当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,执行相应操作,退出拔USB中断;
和/或当所述智能密钥设备收到蓝牙连接信号时,进入蓝牙连接中断,执行相应操作,退出蓝牙连接中断;
和/或当所述智能密钥设备收到蓝牙断开连接信号时,进入蓝牙断开连接中断,执行相应操作,退出蓝牙断开连接中断;
和/或当所述智能密钥设备收到USB指令信号时,进入USB接收指令中断,执行步骤A至步骤B;
和/或当所述智能密钥设备收到蓝牙指令信号时,进入蓝牙接收指令中断,执行步骤A至步骤B:
步骤A:所述智能密钥设备判断执行接收到的指令是否需要认证身份,如果是,则执行步骤B,否则根据接收到的指令的类型,执行相应操作,并将执行结果返回给上位机,退出相应的接收指令中断;
步骤B:判断所述智能密钥设备是否能够获取到身份合法标识,如果是,则根据接收到的指令的类型,执行相应操作,将执行结果返回给上位机,退出相应的接收指令中断,否则向上位机返回获取身份合法标识失败的响应,退出相应的接收指令中断。
所述根据接收到的指令的类型,执行相应操作,并将执行结果返回给上位机,具体包括:
如果所述智能密钥设备接收到的是执行身份认证的指令,则所述智能密钥设备将指令中的认证信息和设备内部保存的认证信息进行比较,如果相同,表示认证合法,则将身份合法标识保存,并向上位机返回身份认证合法的相应,退出相应的接收指令中断,如果不相同,则表示认证不合法,则清除身份合法标识,并向上位机返回身份认证不合法的响应;
如果所述智能密钥设备接收到的是执行加密操作的指令,则运用加密算法,使用指定的密钥进行加密,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是执行解密操作的指令,则运用解密算法,使用指定的密钥进行解密,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是生成随机数的指令,则解析所述指令得到需要的随机数的长度,调用随机数函数得到随机数并保存,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是数据读写操作的指令,则解析所述指令,得到需要进行读写操作的区域,读取相应区域的数据或向相应的区域写入数据,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是其他操作指令,则执行相应的操作后,将执行结果返回给上位机。
所述智能密钥设备进行身份认证的方式是:
所述智能密钥设备判断所述执行身份认证的指令中包含的PIN码信息与所述智能密钥设备中保存的PIN码信息是否匹配;
和/或所述智能密钥设备判断所述执行身份认证的指令中包含的用户生物特征信息与所述智能密钥设备中保存的用户生物特征模板是否匹配。
当所述智能密钥设备收到插USB触发信号时,进入插USB中断,判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,退出插USB中断,否则所述智能密钥设备进入充电模式,退出插USB中断;
和/或当所述智能密钥设备收到USB连接信号时,进入USB连接中断,MCU被唤醒,打开USB通道使能,清除身份合法标识,退出USB连接中断;
和/或当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出USB断开连接中断;
和/或当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,判断所述智能密钥设备是否通过USB与上位机通信,如果是,则所述智能密钥设备退出充电模式,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出拔USB中断,否则所述智能密钥设备退出充电模式,关闭USB通道使能,退出拔USB中断;
和/或当所述智能密钥设备收到蓝牙连接信号时,进入蓝牙连接中断,判断休眠标识是否置位,如果是,则将休眠标识复位,打开蓝牙通道使能,清除身份合法标识,退出蓝牙连接中断,否则关闭蓝牙通道使能,退出蓝牙连接中断;
和/或当所述智能密钥设备收到蓝牙断开连接信号时,进入蓝牙断开连接中断,判断所述智能密钥设备是否通过USB与上位机通信,如果是,则退出蓝牙断开连接中断,否则将休眠标识置位,关闭蓝牙通道使能,清除身份合法标识,退出蓝牙断开连接中断。
当所述智能密钥设备收到插USB触发信号时,进入插USB中断,判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,退出插USB中断,否则所述智能密钥设备进入充电模式,退出插USB中断;
和/或当所述智能密钥设备收到USB连接信号时,进入USB连接中断,判断所述智能密钥设备是否通过蓝牙与上位机连接,如果是,则关闭USB通道使能,所述智能密钥设备进入充电模式,退出USB连接中断,否则打开USB通道使能,所述智能密钥设备进入充电模式,清除身份合法标识,退出USB连接中断;
和/或当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出USB断开连接中断;
和/或当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,判断所述智能密钥设备是否通过蓝牙与上位机通信,如果是,则所述智能密钥设备退出充电模式,退出拔USB中断,否则所述智能密钥设备退出充电模式,关闭USB通道使能,清除身份合法标识,退出拔USB中断;
和/或当所述智能密钥设备收到蓝牙连接信号时,进入蓝牙连接中断,判断休眠标识是否置位,如果是,则将休眠标识复位,MCU被唤醒,打开蓝牙通道使能,清除身份合法标识,退出蓝牙连接中断,否则关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出蓝牙连接中断;
和/或当所述智能密钥设备收到蓝牙断开连接信号时,进入蓝牙断开连接中断,关闭蓝牙通道使能,打开USB通道使能,清除身份合法标识,退出蓝牙断开连接中断。
所述步骤104之后还包括:
如果USB通道先接收到指令,则所述智能密钥设备进入USB接收指令中断,保存USB通道标识,关闭蓝牙通道使能,执行步骤A至步骤B,根据保存的USB通道标识,通过USB通道向上位机返回响应,退出USB接收指令中断;
如果蓝牙通道先接收到指令,则所述智能密钥设备进入蓝牙接收指令中断,保存蓝牙通道标识,关闭USB通道使能,执行步骤A至步骤B,根据保存的蓝牙通道标识,通过蓝牙通道向上位机返回响应,退出蓝牙接收指令中断。
所述步骤104之后还包括:
如果所述智能密钥设备接收到的是切换通道指令,则进入当前接收指令中断,比较所述切换通道指令中指定的通道标识与当前通道标识:如果两者相同,则向上位机返回响应,退出当前接收指令中断;如果两者不相同,当所述指定的通道标识为USB通道标识时,关闭蓝牙通道使能,将蓝牙通道标识复位,打开USB通道使能,退出当前接收指令中断,当所述指定的通道标识为蓝牙通道标识时,关闭USB通道标识,将USB通道标识复位,打开蓝牙通道使能,退出当前接收指令中断。
所述打开中断还包括打开定时器中断:
当所述智能密钥设备收到定时器触发时,进入定时器中断,计数清零,将休眠标识置位,退出定时器中断。
所述将休眠标识置位具体包括:增加分频数值,降低总线时钟的频率,MCU内核电压等级切换至电压范围1的状态,失能第一串行通道接口、第二串行通道接口外设,MCU休眠。
步骤201:智能密钥设备上电初始化,打开中断;
当所述智能密钥设备收到插USB触发信号时,进入插USB中断,保存插USB中断标识,退出插USB中断;
和/或当所述智能密钥设备收到USB连接信号时,进入USB连接中断,保存USB连接中断标识,退出USB连接中断;
和/或当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,保存USB断开连接中断标识,退出USB断开连接中断;
当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,保存拔USB中断标识,退出拔USB中断;
和/或当所述智能密钥设备收到蓝牙连接/断开连接信号时,进入蓝牙连接/断开连接中断,保存蓝牙连接/断开连接中断标识,退出蓝牙连接/断开连接中断;
和/或当所述智能密钥设备收到蓝牙/USB接收指令中断信号时,进入蓝牙/USB接收指令中断,保存蓝牙/USB接收指令中断标识,退出蓝牙/USB接收指令中断;
步骤202:所述智能密钥设备读取蓝牙模块的参数,并判断是否能够成功读取蓝牙模块参数,如果是,则将蓝牙模块切换至连接状态,执行步骤203,否则执行步骤203;
步骤203:所述智能密钥设备判断工作电压是否低于预设值,如果是,则提示低电压状态,第一预设时间后关闭所述智能密钥设备,否则执行步骤204;
步骤204:判断是否存在中断标识,如果是,则根据中断标识类型执行相应操作,否则重新执行步骤204;
其中,当所述智能密钥设备中存在蓝牙/USB接收指令中断标识时,根据蓝牙/USB接收指令中断标识类型执行步骤A至步骤B:
步骤A:所述智能密钥设备判断执行接收到的指令是否需要认证身份,如果是,则执行步骤B,否则根据接收到的指令的类型,执行相应操作,并将执行结果返回给上位机,返回执行步骤204;
步骤B:判断所述智能密钥设备是否能够获取到身份合法标识,如果是,则根据接收到的指令的类型,执行相应操作,将执行结果返回给上位机,返回执行步骤204,否则向上位机返回获取身份合法标识失败的响应,返回执行步骤204。
所述根据接收到的指令的类型,执行相应操作,将执行结果返回给上位机,具体包括:
如果所述智能密钥设备接收到的是执行身份认证的指令,则所述智能密钥设备将指令中的认证信息和设备内部保存的认证信息进行比较,如果相同,表示认证合法,则将身份合法标识保存,并向上位机返回身份认证合法的响应,退出相应的接收指令中断,如果不相同,则表示认证不合法,则清除身份合法标识,并向上位机返回身份认证不合法的响应;
如果所述智能密钥设备接收到的是执行加密操作的指令,则运用加密算法,使用指定的密钥进行加密,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是执行解密操作的指令,则运用解密算法,使用指定的密钥进行解密,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是生成随机数的指令,则解析所述指令得到需要的随机数的长度,调用随机数函数得到随机数并保存,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是数据读写操作的指令,则解析所述指令,得到需要进行读写操作的区域,读取相应区域的数据或向相应的区域写入数据,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是其他操作指令,则执行相应的操作后,将执行结果返回给上位机。
所述智能密钥设备进行身份认证的方式是:
所述智能密钥设备判断所述执行身份认证的指令中包含的PIN码信息与所述智能密钥设备中保存的PIN码信息是否匹配;
和/或所述智能密钥设备判断所述执行身份认证的指令中包含的用户生物特征信息与所述智能密钥设备中保存的用户生物特征信息是否匹配。
所述步骤204中,根据中断标识类型执行相应操作,具体包括:
如果所述智能密钥设备中存在插USB中断标识,则判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,重新执行步骤204,否则所述智能密钥设备进入充电模式,重新执行步骤204
如果所述智能密钥设备中存在USB连接中断标识,则MCU被唤醒,打开USB通道使能,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在USB断开连接中断标识,则关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在拔USB中断标识,则判断所述智能密钥设备是否通过USB与上位机通信,如果是,则所述智能密钥设备退出充电模式,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,重新执行步骤204,否则所述智能密钥设备退出充电模式,关闭USB通道使能,重新执行步骤204;
如果所述智能密钥设备中存在蓝牙连接中断标识,则判断所述智能密钥设备是否通过USB与上位机通信,如果是,则清除蓝牙连接中断标识,重新执行步骤204,否则打开蓝牙通道使能,清除蓝牙连接中断标识,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在蓝牙断开连接中断标识时,清除蓝牙断开连接中断标识,重新执行步骤204。
所述步骤204中,根据中断标识类型执行相应操作,还包括:
如果所述智能密钥设备中存在插USB中断标识,则判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,重新执行步骤204,否则所述智能密钥设备进入充电模式,重新执行步骤204;
如果所述智能密钥设备中存在USB连接中断标识,则判断所述智能密钥设备是否通过蓝牙与上位机连接,如果是,则关闭USB通道使能,所述智能密钥设备进入充电模式,重新执行步骤204,否则打开USB通道使能,所述智能密钥设备进入充电模式,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在USB断开连接中断标识,则关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在拔USB中断标识,则判断所述智能密钥设备是否通过蓝牙与上位机通信,如果是,则所述智能密钥设备退出充电模式,重新执行步骤204,否则所述智能密钥设备退出充电模式,关闭USB通道使能,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在蓝牙连接标识,则判断所述智能密钥设备是否通过USB与上位机通信,如果是,则关闭USB通道使能,打开蓝牙通道使能,清除蓝牙连接中断标识,清除身份合法标识,重新执行步骤204,否则打开蓝牙通道使能,清除蓝牙连接中断标识,重新执行步骤204;
如果所述智能密钥设备中存在蓝牙断开连接中断标识,则关闭蓝牙通道使能,打开USB通道使能,清除蓝牙断开连接中断标识,清除身份合法标识,重新执行步骤204。
当所述智能密钥设备中存在接收指令中断标识时:
如果USB通道先接收到指令,则所述智能密钥设备保存USB通道标识,关闭蓝牙通道使能,执行步骤A至步骤B,然后根据保存的USB通道标识,通过USB通道向上位机返回响应;
如果蓝牙通道先接收到指令,则所述智能密钥设备保存蓝牙通道标识,关闭USB通道使能,执行步骤A至步骤B,然后根据保存的蓝牙通道标识,通过蓝牙通道向上位机返回响应。
当所述智能密钥设备中存在接收指令中断标识时:
如果所述智能密钥设备接收到的是切换通道指令,则比较所述切换通道指令中指定的通道标识与当前通道标识:
如果两者相同,则向上位机返回响应,重新执行步骤204;
如果两者不相同,当所述指定的通道标识为USB通道标识时,关闭蓝牙通道使能,将蓝牙通道标识复位,打开USB通道使能,重新执行步骤204,当所述指定的通道标识为蓝牙通道标识时,关闭USB通道标识,将USB通道标识复位,打开蓝牙通道使能,重新执行步骤204。
所述打开中断还包括打开定时器中断;
当所述智能密钥设备收到定时器触发时,进入定时器中断,保存定时器中断标识,退出定时器中断;
所述根据中断标识类型执行相应操作,具体包括:
当所述智能密钥设备中存在定时器中断标识时,将计数清零。
USB接口模块:与USB获取模块相连,用于通过USB接口与上位机建立连接;
蓝牙接口模块:与蓝牙获取模块相连,用于通过蓝牙接口与上位机建立连接;
USB获取模块:与USB接口模块相连,用于获取休眠标识,用于获取中断标识;与接收模块相连,用于获取接收到的指令的类型,用于接收上位机提供的电能;
蓝牙获取模块:与蓝牙接口模块相连,用于获取设备内的蓝牙模块的参数,用于获取休眠标识,用于获取中断标识;
判断模块:与接收模块相连,用于判断休眠标识是否置位,用于判断休眠标识是否置位,用于判断接收到的指令的类型,用于判断是否存在中断标识,用于判断是否接收到中断触发信号,用于判断接收到的是否是身份认证指令,用于判断执行接收到的指令是否需要进行身份认证,用于判断是否能够获取到身份合法标识;
接收模块:与判断模块相连,用于通过USB通道或蓝牙通道接收上位机发送的指令,用于接收中断触发信号;
操作模块:与接收模块相连,用于根据接收到的指令进行相应的操作,用于所述休眠标识置位时,控制所述装置进入休眠状态,用于处理接收到的中断触发信号;
发送模块:与操作模块相连,用于根据接收到的指令执行相应操作后将对应生成的响应返回给上位机。
本发明取得的有益效果是:本智能密钥设备同时具备蓝牙通信和USB通信的功能,方便了不同接口设备之间的通信。
附图说明
图1-1是本发明实施例1提供的一种多功能智能密钥设备及其工作方法的流程图;
图1-2至图1-9是图1-1中步骤107的一种实现方式的细化图;
图1-10至图1-15是图1-1中步骤107的另外一种实现方式的细化图;
图2-1和图2-2是本发明实施例2提供的一种多功能智能密钥设备及其工作方法流程图;
图3是本发明实施例3提供的一种多功能智能密钥设备的装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供一种多功能智能密钥设备及其工作方法,如图1-1所示,包括:
步骤101:智能密钥设备上电初始化,
步骤102:打开中断;
所述打开中断包括:打开定时器中断和/或插USB中断和/或USB连接中断和/或USB断开连接中断和/或拔USB中断和/或蓝牙连接中断和/或蓝牙断开连接中断和/或蓝牙接收指令中断和/或USB接收指令中断;
步骤103:所述智能密钥设备读取蓝牙模块的参数,并判断是否能够成功读取蓝牙模块参数,如果是,则执行步骤104,否则执行步骤105;
具体的,智能密钥设备从蓝牙模块中读取蓝牙模块的参数,并根据蓝牙模块的参数的最后一个字节判断是否成功读取蓝牙模块的参数,如果蓝牙模块的参数的最后一个字节是0x01,则表示智能密钥设备成功读取蓝牙模块的参数,否则智能密钥设备读取蓝牙模块参数失败;
步骤104:将蓝牙模块切换至连接状态,执行步骤105;
在本实施例中,将蓝牙模块状态输出引脚闭合;
步骤105:所述智能密钥设备判断工作电压是否低于预设值,如果是,则提示低电压状态,第一预设时间后关闭所述智能密钥设备,否则执行步骤106;
在本实施例中,可以通过屏幕提示低电压状态,通过变换指示灯颜色提示低电压状态,也可以通过蜂鸣提示低电压状态;
所述第一预设时间可以是20s;
步骤106:所述智能密钥设备判断是否接收到中断触发信号,如果是,则执行步骤107,否则直接返回步骤105;
步骤107:所述智能密钥设备进入相应触发信号中断,执行相应操作,退出相应触发信号中断,返回执行步骤105;
其中,所述进入相应触发信号中断,执行相应操作,退出相应触发信号中断具体包括:
如图1-2所示,当所述智能密钥设备收到定时器触发时,进入定时器中断,计数清零,将休眠标识置位,退出定时器中断;
和/或,如图1-3所示,当所述智能密钥设备收到插USB触发信号时,进入插USB中断,判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,退出插USB中断,否则所述智能密钥设备进入充电模式,退出插USB中断;
和/或,如图1-4所示,当所述智能密钥设备收到USB连接信号时,进入USB连接中断,MCU被唤醒,打开USB通道使能,清除身份合法标识,退出USB连接中断;
和/或,如图1-5所示,当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出USB断开连接中断;
和/或,如图1-6所示,当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,判断所述智能密钥设备是否通过USB与上位机通信,如果是,则所述智能密钥设备退出充电模式,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出拔USB中断,否则所述智能密钥设备退出充电模式,关闭USB通道使能,退出拔USB中断;
和/或,如图1-7所示,当所述智能密钥设备收到蓝牙连接信号时,进入蓝牙连接中断,判断休眠标识是否置位,如果是,则将休眠标识复位,打开蓝牙通道使能,清除身份合法标识,退出蓝牙连接中断,否则关闭蓝牙通道使能,退出蓝牙连接中断;
和/或,如图1-8所示,当所述智能密钥设备收到蓝牙断开连接信号时,进入蓝牙断开连接中断,判断所述智能密钥设备是否通过USB与上位机通信,如果是,则退出蓝牙断开连接中断,否则将休眠标识置位,关闭蓝牙通道使能,清除身份合法标识,退出蓝牙断开连接中断;
和/或,如图1-9所示,当所述智能密钥设备收到蓝牙/USB指令信号时,进入蓝牙/USB接收指令中断,保存蓝牙/USB通道标识,执行步骤108至步骤120:
如果收到蓝牙指令信号时,将通道标识置位0,如果收到USB指令信号时,将通道标识置位1;
步骤108:所述智能密钥设备判断接收到的是否是执行身份认证的指令,是,则执行步骤109,否则执行步骤110;
步骤109:所述智能密钥设备判断所述执行身份认证的指令中包含的身份认证信息与设备中保存的身份认证信息是否匹配,如果是,则表示认证合法,将身份合法标识保存,并向上位机返回身份合法的响应,退出相应的接收指令中断,否则表示认证不合法,清除身份合法标识,并向上位机返回认证身份不合法的响应,退出相应的接收指令中断;
在本实施例中,判断身份认证是否合法,优选的是,判断接收到的执行身份认证的指令中包含的PIN码信息与所述智能密钥设备中保存的PIN码信息是否匹配,除此之外,也可以是判断所述执行身份认证的指令中包含的用户生物特征信息与所述智能密钥设备中保存的用户生物特征模板是否匹配;
步骤110:所述智能密钥设备判断执行接收到的指令是否需要认证身份,如果是,则执行步骤111,否则根据接收到的指令的类型,执行相应操作,并向上位机返回相应的响应,退出相应的接收指令中断;
部分指令是不需要认证身份的,例如,部分读数据操作指令;
步骤111:判断所述智能密钥设备是否能够获取到身份合法标识,如果是,则执行步骤112,否则向上位机返回获取身份合法标识失败的响应,退出相应的接收指令中断;
步骤112:智能密钥设备判断接收到的指令的类型;
如果接收的指令是生成随机数指令,则执行步骤113;
如果接收的指令是加解密指令,则执行步骤115;
如果接收的指令是数据读写操作指令,则执行步骤117;
如果接收的指令是其他操作指令,则执行步骤119;
本实施例中,接收到的指令是由指令字和数据域组成的,其中指令的指令字是指令的前四个字节,用于判断接收到的指令的类型,从第五个字节开始是指令的数据域,指令的数据域长度是可变的,指令要做的操作是由指令的数据域决定的;
如果接收的指令的指令字是00C60100,则表示接收的是生成随机数指令;
如果接收的指令的指令字是00840000,则表示接收的是加解密指令;如果指令字是00490100,则表示接收的是加密指令;如果指令字是00500100,则表示接收的是解密指令;
如果接收的指令的指令字是00C10100,则表示接收的是数据读写操作指令;
如果接收的指令的指令字是其他字节,则表示接收的是其他操作指令;
步骤113:智能密钥设备执行生成随机数指令,生成第一结果;
步骤113-1:从指令中解析得到需要生成的随机数的长度(最长不得超过16个字节);
步骤113-2:调用RAMDOM(获取随机数函数)得到随机数;
步骤113-3:将RAMDOM返回的随机数进行保存;
所述第一结果是生成的随机数或是执行操作失败的错误响应;
步骤114:判断智能密钥设备通道标识是否为1,如果是,则通过USB通道向上位机发送第一结果,退出相应的接收指令中断,否则通过蓝牙通道向上位机发送第一结果,退出蓝牙接收指令中断;
步骤115:智能密钥设备使用加解密算法执行加解密指令,生成第二结果;
优选地,在本实施例中,所述加解密算法是RSA算法,也可使用其他算法,如3DES,AES等;
如果指令的指令字是00490100,表示接收的是加密指令,执行完加密指令,生成相应的响应结果,响应结果是错误或加密后的密文;
如果指令的指令字是00500100,表示接收的是解密指令,执行完解密指令,生成相应的响应结果,响应结果是错误或解密后的明文;
智能密钥设备运用不同的加解密算法执行时,所用的步骤是不同的,如下面算法的实现过程:
1、运用RSA算法对数据进行加解密的过程包括:
A:产生RSA密钥对;
其中密钥的长度是以位来计算的,智能密钥设备只能够支持1024位和512位长度的密钥;
智能密钥设备可以通过调用系统函数rsa_gen_key(word_pubkey,word_keylen,word_prikey)来创建密钥对;
B:根据公钥文件ID或私钥文件ID选择指定的密钥对数据进行加解密;
根据程序传入的密钥ID,选择指定的密钥对相关的数据进行加解密操作,并将加密或者解密后的结果返回。
2、使用DES和3DES算法对数据进行加解密的过程包括:
A:建立内部数据文件;
B:在内部数据文件中写入DES或3DES密钥;
其中,DES和3DES密钥是根据密钥的长度来区别的:长度为8个字节的密钥为DES密钥,长度为16个字节的密钥是3DES密钥;
C:根据DES或者3DES密钥的ID选择指定的密钥对数据进行加解密;
其中,加密时,数据的长度必须是8的倍数,因为智能密钥设备不会自动填充,所以需要手动将数据填充成8的倍数;
所述第二结果是生成的加解密结果或是执行失败的错误响应;
步骤116:判断智能密钥设备通道标识是否为1,如果是,则通过USB通道向上位机发送第二结果,退出USB接收指令中断,否则通过蓝牙通道向上位机发送第二结果,退出蓝牙接收指令中断;
步骤117:智能密钥设备解析所述数据读写操作指令,得到需要进行读写操作的区域,读取相应区域的数据或向相应区域写入数据,生成第三结果;
所述第三结果是执行数据读写成功的结果或失败的响应;
步骤118:判断智能密钥设备通道标识是否为1,如果是,则通过USB通道向上位机发送第三结果,退出USB接收指令中断,否则通过蓝牙通道向上位机发送第三结果,退出蓝牙接收指令中断;
步骤119:智能密钥设备执行其他的操作指令,生成相应结果;
步骤120:判断智能密钥设备通道标识是否为1,如果是,则通过USB通道向上位机发送相应的结果,退出USB接收指令中断,否则通过蓝牙通道向上位机发送相应的结果,退出蓝牙接收指令中断;
步骤107中所述进入相应触发信号中断,执行相应操作,退出相应触发信号中断具体包括可以替换为:
当所述智能密钥设备收到定时器触发时,进入定时器中断,计数清零,将休眠标识置位,退出定时器中断;
如图1-10所示,当所述智能密钥设备收到插USB触发信号时,进入插USB中断,判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,退出插USB中断,否则所述智能密钥设备进入充电模式,退出插USB中断;
和/或,如图1-11所示,当所述智能密钥设备收到USB连接信号时,进入USB连接中断,判断所述智能密钥设备是否通过蓝牙与上位机连接,如果是,则关闭USB通道使能,所述智能密钥设备进入充电模式,退出USB连接中断,否则打开USB通道使能,所述智能密钥设备进入充电模式,清除身份合法标识,退出USB连接中断;
和/或,如图1-12所示,当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出USB断开连接中断;
和/或,如图1-13所示,当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,判断所述智能密钥设备是否通过蓝牙与上位机通信,如果是,则所述智能密钥设备退出充电模式,退出拔USB中断,否则所述智能密钥设备退出充电模式,关闭USB通道使能,清除身份合法标识,退出拔USB中断;
和/或,如图1-14所示,当所述智能密钥设备收到蓝牙连接信号时,进入蓝牙连接中断,判断休眠标识是否置位,如果是,则将休眠标识复位,MCU被唤醒,打开蓝牙通道使能,清除身份合法标识,退出蓝牙连接中断,否则关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出蓝牙连接中断;
和/或,如图1-15所示,当所述智能密钥设备收到蓝牙断开连接信号时,进入蓝牙断开连接中断,关闭蓝牙通道使能,打开USB通道使能,清除身份合法标识,退出蓝牙断开连接中断。
和/或当所述智能密钥设备收到蓝牙/USB接收指令信号时,进入蓝牙/USB接收指令中断,执行步骤A至步骤C:
步骤A:所述智能密钥设备判断接收到的是否是执行身份认证的指令,是则所述智能密钥设备将指令中的认证信息和设备内部保存的认证信息进行比较,如果相同,则表示认证合法,将身份合法标识保存,退出相应的接收指令中断,如果不相同,则表示认证不合法,清除身份合法标识,并向上位机返回身份认证不合法的响应,退出相应的接收指令中断,否则直接执行步骤B;
步骤B:所述智能密钥设备判断执行接收到的指令是否需要认证身份,如果是,则执行步骤C,否则根据接收到的指令的类型,执行相应操作,并将执行结果返回给上位机,退出相应的接收指令中断;
步骤C:判断所述智能密钥设备是否能够获取到身份合法标识,如果是,则根据接收到的指令的类型,执行相应操作,将执行结果返回给上位机,退出相应的接收指令中断,否则向上位机返回获取身份合法标识失败的响应,退出相应的接收指令中断。
所述步骤107还可以包括:
如果USB通道先接收到指令,则所述智能密钥设备进入USB接收指令中断,保存USB通道标识,关闭蓝牙通道使能,执行步骤A至步骤C,根据保存的USB通道标识,通过USB通道向上位机返回响应,退出USB接收指令中断;
如果蓝牙通道先接收到指令,则所述智能密钥设备进入蓝牙接收指令中断,保存蓝牙通道标识,关闭USB通道使能,执行步骤A至步骤C,根据保存的蓝牙通道标识,通过蓝牙通道向上位机返回响应,退出蓝牙接收指令中断;
所述步骤107还可以包括:
如果所述智能密钥设备接收到的是切换通道指令,则进入USB/蓝牙接收指令中断;比较所述切换通道指令中指定的通道标识与当前通道标识:如果两者相同,则向上位机返回响应,退出USB/蓝牙接收指令中断;如果两者不相同,当所述指定的通道标识为USB通道标识时,关闭蓝牙通道使能,将蓝牙通道标识复位,打开USB通道使能,退出USB/蓝牙接收指令中断,当所述指定的通道标识为蓝牙通道标识时,关闭USB通道标识,将USB通道标识复位,打开蓝牙通道使能,退出USB/蓝牙接收指令中断。
实施例2
本发明实施例2提供一种多功能智能密钥设备及其工作方法,如图2-1所述,包括:
步骤201:智能密钥设备上电初始化;
在本实施例中,智能密钥设备初始化时配置处理器时钟、定时器时钟、IO接口、串口、USB接口和蓝牙接口等;
步骤202:打开中断;
在本实施例中,智能密钥设备打开拔USB中断和/或插USB中断和/或USB连接中断和/或USB断开连接中断和/或蓝牙连接中断和/或蓝牙断开连接中断和/或定时器中断和/或USB接收指令中断和/或蓝牙接收指令中断;
当所述智能密钥设备收到插USB触发信号时,进入插USB中断,保存插USB中断标识,退出插USB中断;
和/或当所述智能密钥设备收到USB连接信号时,进入USB连接中断,保存USB连接中断标识,退出USB连接中断;
和/或当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,保存USB断开连接中断标识,退出USB断开连接中断;
当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,保存拔USB中断标识,退出拔USB中断
和/或当所述智能密钥设备收到蓝牙连接/断开连接信号时,进入蓝牙连接/断开连接中断,保存蓝牙连接/断开连接中断标识,退出蓝牙连接/断开连接中断;
和/或当所述智能密钥设备收到蓝牙/USB接收指令中断信号时,进入蓝牙/USB接收指令中断,保存蓝牙/USB接收指令中断标识,退出蓝牙/USB接收指令中断;
步骤203:智能密钥设备读取蓝牙模块的参数,并判断是否能够成功读取蓝牙模块参数,如果是,则执行步骤204,否则执行步骤205;
在本实施例中,蓝牙模块的参数包括:MAC内容,身份合法和设备名称;
具体的,智能密钥设备从蓝牙模块中读取蓝牙模块的参数,并根据蓝牙模块的参数的最后一个字节判断是否成功读取蓝牙模块的参数,如果蓝牙模块的参数的最后一个字节是0x01,则表示智能密钥设备成功读取蓝牙模块的参数,否则智能密钥设备读取蓝牙模块参数失败;
步骤204:将蓝牙模块切换至连接状态,执行步骤205;
在本实施例中,将蓝牙模块状态输出引脚闭合则表示切换至连接状态;
步骤205:所述智能密钥设备判断工作电压是否低于预设值,如果是,则提示低电压状态,第一预设时间后关闭智能密钥设备,否则执行步骤206;
步骤206:判断是否存在中断标识,如果是,则执行步骤207,否则重新执行步骤205;
步骤207:判断中断标识的类型;
如果所述智能密钥设备中存在插USB中断标识,则判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,重新执行步骤206,否则所述智能密钥设备进入充电模式,重新执行步骤206;
如果所述智能密钥设备中存在USB连接中断标识,则MCU被唤醒,打开USB通道使能,清除身份合法标识,重新执行步骤206;
如果所述智能密钥设备中存在USB断开连接中断标识,则关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,重新执行步骤206;
如果所述智能密钥设备中存在拔USB中断标识,则判断所述智能密钥设备是否通过USB与上位机通信,如果是,则所述智能密钥设备退出充电模式,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,重新执行步骤206,否则所述智能密钥设备退出充电模式,关闭USB通道使能,重新执行步骤206;
如果所述智能密钥设备中存在蓝牙连接中断标识,则判断所述智能密钥设备是否通过USB与上位机通信,如果是,则清除蓝牙连接中断标识,重新执行步骤206,否则打开蓝牙通道使能,清除蓝牙连接中断标识,清除身份合法标识,重新执行步骤206;
如果所述智能密钥设备中存在蓝牙断开连接中断标识,则清除蓝牙断开连接中断标识,重新执行步骤206;
如果所述智能密钥设备中存在定时器中断标识,则将定时器中的计数清零,重新执行步骤206;
如果所述智能密钥设备中存在蓝牙/USB接收指令中断标识,则保存蓝牙/USB通道标识后,执行步骤208至步骤220,如图2-2所示:
如果收到蓝牙接收指令信号,则将通道标识置为0,如果收到USB接收指令信号,则将通道标识置为1;
步骤208:所述智能密钥设备判断接收到的是否是执行身份认证的指令,是,则执行步骤209,否则执行步骤210;
步骤209:所述智能密钥设备判断指令中包含的认证信息和设备内部保存的认证信息是否匹配,如果是,则表示认证合法,将身份合法标识保存,并向上位机返回身份合法的响应,重新执行步骤206,如果不匹配,则表示认证不合法,清除身份合法标识,并向上位机返回身份认证不合法的响应,重新执行步骤206;
在本实施例中,判断身份认证是否合法,优选的是,判断接收到指令中包含的PIN码与设备内部保存的PIN码是否匹配,除此之外,也可以是判断接收到的指令中包含的用户生物特征与设备内部保存的用户生物特征模板是否匹配:
步骤210:所述智能密钥设备判断执行接收到的指令是否需要认证身份,如果是,则执行步骤211,否则根据接收到的指令的类型,执行相应操作,并向上位机返回相应的响应,重新执行步骤206;
部分指令是不需要认证身份的,例如,部分读数据操作指令;
步骤211:判断所述智能密钥设备是否能够获取到身份合法标识,如果是,则执行步骤212,否则向上位机返回获取身份合法标识失败的响应,重新执行步骤206;
步骤212:智能密钥设备判断接收到的指令的类型;
如果接收的指令是生成随机数指令,则执行步骤213;
如果接收的指令是加解密指令,则执行步骤215;
如果接收的指令是数据读写操作指令,则执行步骤217;
如果接收的指令是其他操作指令,则执行步骤219;
本实施例中,接收到的指令是由指令字和数据域组成的,其中指令的指令字是指令的前四个字节,用于判断接收到的指令的类型,从第五个字节开始是指令的数据域,指令的数据域长度是可变的,指令要做的操作是由指令的数据域决定的;
如果接收的指令的指令字是00C60100,则表示接收的是生成随机数指令;
如果接收的指令的指令字是00840000,则表示接收的是加解密指令;接收的加解密指令中包含加密过程与解密过程,如果指令字是00490100,则表示接收的是加密指令;如果指令字是00500100,则表示接收的是解密指令;
如果接收的指令的指令字是00C10100,则表示接收的是数据读写操作指令;
如果接收的指令的指令字是其他字节,则表示接收的是其他操作指令;
步骤213:智能密钥设备执行生成随机数指令,生成第一结果;
所述第一结果是生成的随机数或是执行操作失败的错误响应;
步骤214:判断智能密钥设备通道标识是否为1,如果是,则通过USB通道向上位机发送第一结果,执行步骤206,否则通过蓝牙通道向上位机发送第一结果,执行步骤206;
步骤215:智能密钥设备使用加解密算法执行加解密指令,生成第二结果;
所述第二结果是生成的加解密结果或是执行失败的错误响应;
步骤216:判断智能密钥设备通道标识是否为1,如果是,则通过USB通道向上位机发送第二结果,执行步骤206,否则通过蓝牙通道向上位机发送第二结果,执行步骤206;
步骤217:智能密钥设备解析所述数据读写操作指令,得到需要进行读写操作的区域,读取相应区域的数据或向相应区域写入数据,生成第三结果;
所述第三结果是执行数据读写成功的结果或失败的响应;
步骤218:判断智能密钥设备通道标识是否为1,如果是,则通过USB通道向上位机发送第三结果,执行步骤206,否则通过蓝牙通道向上位机发送第三结果,执行步骤206;
步骤219:智能密钥设备执行其他的操作指令,生成相应结果;
步骤220:判断智能密钥设备通道标识是否为1,如果是,则通过USB通道向上位机发送相应的结果,执行步骤206,否则通过蓝牙通道向上位机发送相应的结果,执行步骤206;
所述步骤207中判断中断标识的类型可以替换为:
如果所述智能密钥设备中存在插USB中断标识,则判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,重新执行步骤206;
如果所述智能密钥设备中存在USB连接中断标识,则判断所述智能密钥设备是否通过蓝牙与上位机连接,如果是,则关闭USB通道使能,所述智能密钥设备进入充电模式,重新执行步骤206,否则打开USB通道使能,所述智能密钥设备进入充电模式,清除身份合法标识,重新执行步骤206;
如果所述智能密钥设备中存在USB断开连接中断标识,则关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,重新执行步骤206;
如果所述智能密钥设备中存在拔USB中断标识,则判断所述智能密钥设备是否通过蓝牙与上位机通信,如果是,则所述智能密钥设备退出充电模式,重新执行步骤206,否则所述智能密钥设备退出充电模式,关闭USB通道使能,清除身份合法标识,重新执行步骤206;
如果所述智能密钥设备中存在蓝牙连接标识,则判断所述智能密钥设备是否通过USB与上位机通信,如果是,则关闭USB通道使能,打开蓝牙通道使能,清除蓝牙连接中断标识,清除身份合法标识,重新执行步骤206,否则打开蓝牙通道使能,清除蓝牙连接中断标识,重新执行步骤206;
如果所述智能密钥设备中存在蓝牙断开连接中断标识,则关闭蓝牙通道使能,打开USB通道使能,清除蓝牙断开连接中断标识,清除身份合法标识,重新执行步骤206;
如果所述智能密钥设备中存在USB/蓝牙接收指令中断标识,则执行步骤A至步骤C:
步骤A:所述智能密钥设备判断接收到的是否是执行身份认证的指令,是则所述智能密钥设备将指令中的认证信息和设备内部保存的认证信息进行比较,如果相同,则表示认证合法,将身份合法标识保存,返回执行步骤206,如果不相同,则表示认证不合法,清除身份合法标识,并向上位机返回身份认证不合法的响应,返回执行步骤206,否则执行步骤B;
步骤B:所述智能密钥设备判断执行接收到的指令是否需要认证身份,如果是,则执行步骤C,否则根据接收到的指令的类型,执行相应操作,并将执行结果返回给上位机,返回执行步骤206;
步骤C:判断所述智能密钥设备是否能够获取到身份合法标识,如果是,则根据接收到的指令的类型,执行相应操作,将执行结果返回给上位机,返回执行步骤206,否则向上位机返回获取身份合法标识失败的响应,返回执行步骤206。
当所述智能密钥设备中存在USB/蓝牙接收指令中断标识时,还可以执行以下操作:
如果USB通道先接收到指令,则所述智能密钥设备进入USB接收指令中断,保存USB通道标识,关闭蓝牙通道使能,执行步骤A至步骤C,根据保存的USB通道标识,通过USB通道向上位机返回响应,返回执行步骤206;
如果蓝牙通道先接收到指令,则所述智能密钥设备进入蓝牙接收指令中断,保存蓝牙通道标识,关闭USB通道使能,执行步骤A至步骤C,根据保存的蓝牙通道标识,通过蓝牙通道向上位机返回响应,返回执行步骤206;
所述步骤207之后还可以包括:
如果所述智能密钥设备接收到的是切换通道指令,则进入USB/蓝牙接收指令中断,比较所述切换通道指令中指定的通道标识与当前通道标识:如果两者相同,则向上位机返回响应,返回执行步骤206;如果两者不相同,当所述指定的通道标识为USB通道标识时,关闭蓝牙通道使能,将蓝牙通道标识复位,打开USB通道使能,返回执行步骤206,当所述指定的通道标识为蓝牙通道标识时,关闭USB通道标识,将USB通道标识复位,打开蓝牙通道使能,返回执行步骤206。
实施例3
本发明实施例3提供了一种多功能智能密钥设备的装置,如图3所示,包括:
所述装置包括USB接口模块301,蓝牙接口模块302,USB获取模块303,蓝牙获取模块304,判断模块305,接收模块306,操作模块307,发送模块308,上述各模块的功能如下:
USB接口模块301:与USB获取模块303相连,用于通过USB接口与上位机建立连接;
蓝牙接口模块302:与蓝牙获取模块304相连,用于通过蓝牙接口与上位机建立连接;
USB获取模块303:与USB接口模块301相连,用于获取休眠标识,用于获取中断标识;与接收模块306相连,用于获取接收到的指令的类型,用于接收上位机提供的电能;
蓝牙获取模块304:与蓝牙接口模块302相连,用于获取设备内的蓝牙模块的参数,用于获取休眠标识,用于获取中断标识;
判断模块305:与接收模块306相连,用于判断休眠标识是否置位,用于判断休眠标识是否置位,用于判断接收到的指令的类型,用于判断是否存在中断标识,用于判断是否接收到中断触发信号,用于判断接收到的是否是身份认证指令,用于判断执行接收到的指令是否需要进行身份认证,用于判断是否能够获取到身份合法标识;
接收模块306:与判断模块305相连,用于通过USB通道或蓝牙通道接收上位机发送的指令,用于接收中断触发信号;
操作模块307:与接收模块306相连,用于根据接收到的指令进行相应的操作,用于所述休眠标识置位时,控制所述装置进入休眠状态,用于处理接收到的中断触发信号;
发送模块308:与操作模块307相连,用于根据接收到的指令执行相应操作后将对应生成的响应返回给上位机。

Claims (18)

1.一种多功能智能密钥设备的工作方法,其特征在于,包括:
步骤101:智能密钥设备上电初始化,打开中断;
步骤102:所述智能密钥设备读取蓝牙模块的参数,并判断是否能够成功读取蓝牙模块参数,如果是,则将蓝牙模块切换至连接状态,执行步骤103,否则执行步骤103;
步骤103:所述智能密钥设备判断工作电压是否低于预设值,如果是,则提示低电压状态,第一预设时间后关闭所述智能密钥设备,否则执行步骤104;
步骤104:所述智能密钥设备判断是否接收到中断信号,如果是,则进入中断,执行相应操作,待操作结束后退出中断,返回执行步骤103,否则直接返回执行步骤103;
当所述智能密钥设备收到插USB触发信号时,进入插USB中断,执行相应操作,退出插USB中断;
和/或当所述智能密钥设备收到USB连接信号时,进入USB连接中断,执行相应操作,退出USB连接中断;
和/或当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,执行相应操作,退出USB断开连接中断;
和/或当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,执行相应操作,退出拔USB中断;
和/或当所述智能密钥设备收到蓝牙连接信号时,进入蓝牙连接中断,执行相应操作,退出蓝牙连接中断;
和/或当所述智能密钥设备收到蓝牙断开连接信号时,进入蓝牙断开连接中断,执行相应操作,退出蓝牙断开连接中断;
和/或当所述智能密钥设备收到USB指令信号时,进入USB接收指令中断,执行步骤A至步骤B;
和/或当所述智能密钥设备收到蓝牙指令信号时,进入蓝牙接收指令中断,执行步骤A至步骤B:
步骤A:所述智能密钥设备判断执行接收到的指令是否需要认证身份,如果是,则执行步骤B,否则根据接收到的指令的类型,执行相应操作,并将执行结果返回给上位机,退出相应的接收指令中断;
步骤B:判断所述智能密钥设备是否能够获取到身份合法标识,如果是,则根据接收到的指令的类型,执行相应操作,将执行结果返回给上位机,退出相应的接收指令中断,否则向上位机返回获取身份合法标识失败的响应,退出相应的接收指令中断。
2.根据权利要求1所述的方法,其特征在于,
所述根据接收到的指令的类型,执行相应操作,并将执行结果返回给上位机,具体包括:
如果所述智能密钥设备接收到的是执行身份认证的指令,则所述智能密钥设备将指令中的认证信息和设备内部保存的认证信息进行比较,如果相同,表示认证合法,则将身份合法标识保存,并向上位机返回身份认证合法的响应,退出相应的接收指令中断,如果不相同,则表示认证不合法,则清除身份合法标识,并向上位机返回身份认证不合法的响应;
如果所述智能密钥设备接收到的是执行加密操作的指令,则运用加密算法,使用指定的密钥进行加密,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是执行解密操作的指令,则运用解密算法,使用指定的密钥进行解密,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是生成随机数的指令,则解析所述生成随机数的指令得到需要的随机数的长度,调用随机数函数得到随机数并保存,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是数据读写操作的指令,则解析所述数据读写操作的指令,得到需要进行读写操作的区域,读取相应区域的数据或向相应的区域写入数据,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是其他操作指令,则执行相应的操作后,将执行结果返回给上位机。
3.根据权利要求2所述的方法,其特征在于,
所述智能密钥设备进行身份认证的方式是:
所述智能密钥设备判断所述执行身份认证的指令中包含的PIN码信息与所述智能密钥设备中保存的PIN码信息是否匹配;
和/或所述智能密钥设备判断所述执行身份认证的指令中包含的用户生物特征信息与所述智能密钥设备中保存的用户生物特征模板是否匹配。
4.根据权利要求1所述的方法,其特征在于,
当所述智能密钥设备收到插USB触发信号时,进入插USB中断,判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,退出插USB中断,否则所述智能密钥设备进入充电模式,退出插USB中断;
和/或当所述智能密钥设备收到USB连接信号时,进入USB连接中断,MCU被唤醒,打开USB通道使能,清除身份合法标识,退出USB连接中断;
和/或当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出USB断开连接中断;
和/或当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,判断所述智能密钥设备是否通过USB与上位机通信,如果是,则所述智能密钥设备退出充电模式,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出拔USB中断,否则所述智能密钥设备退出充电模式,关闭USB通道使能,退出拔USB中断;
和/或当所述智能密钥设备收到蓝牙连接信号时,进入蓝牙连接中断,判断休眠标识是否置位,如果是,则将休眠标识复位,打开蓝牙通道使能,清除身份合法标识,退出蓝牙连接中断,否则关闭蓝牙通道使能,退出蓝牙连接中断;
和/或当所述智能密钥设备收到蓝牙断开连接信号时,进入蓝牙断开连接中断,判断所述智能密钥设备是否通过USB与上位机通信,如果是,则退出蓝牙断开连接中断,否则将休眠标识置位,关闭蓝牙通道使能,清除身份合法标识,退出蓝牙断开连接中断。
5.根据权利要求1所述的方法,其特征在于,
当所述智能密钥设备收到插USB触发信号时,进入插USB中断,判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,退出插USB中断,否则所述智能密钥设备进入充电模式,退出插USB中断;
和/或当所述智能密钥设备收到USB连接信号时,进入USB连接中断,判断所述智能密钥设备是否通过蓝牙与上位机连接,如果是,则关闭USB通道使能,所述智能密钥设备进入充电模式,退出USB连接中断,否则打开USB通道使能,所述智能密钥设备进入充电模式,清除身份合法标识,退出USB连接中断;
和/或当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出USB断开连接中断;
和/或当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,判断所述智能密钥设备是否通过蓝牙与上位机通信,如果是,则所述智能密钥设备退出充电模式,退出拔USB中断,否则所述智能密钥设备退出充电模式,关闭USB通道使能,清除身份合法标识,退出拔USB中断;
和/或当所述智能密钥设备收到蓝牙连接信号时,进入蓝牙连接中断,判断休眠标识是否置位,如果是,则将休眠标识复位,MCU被唤醒,打开蓝牙通道使能,清除身份合法标识,退出蓝牙连接中断,否则关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,退出蓝牙连接中断;
和/或当所述智能密钥设备收到蓝牙断开连接信号时,进入蓝牙断开连接中断,关闭蓝牙通道使能,打开USB通道使能,清除身份合法标识,退出蓝牙断开连接中断。
6.根据权利要求1所述的方法,其特征在于,
所述步骤104之后还包括:
如果USB通道先接收到指令,则所述智能密钥设备进入USB接收指令中断,保存USB通道标识,关闭蓝牙通道使能,执行步骤A至步骤B,根据保存的USB通道标识,通过USB通道向上位机返回响应,退出USB接收指令中断;
如果蓝牙通道先接收到指令,则所述智能密钥设备进入蓝牙接收指令中断,保存蓝牙通道标识,关闭USB通道使能,执行步骤A至步骤B,根据保存的蓝牙通道标识,通过蓝牙通道向上位机返回响应,退出蓝牙接收指令中断。
7.根据权利要求1所述的方法,其特征在于,
所述步骤104之后还包括:
如果所述智能密钥设备接收到的是切换通道指令,则进入当前接收指令中断,比较所述切换通道指令中指定的通道标识与当前通道标识:如果两者相同,则向上位机返回响应,退出当前接收指令中断;如果两者不相同,当所述指定的通道标识为USB通道标识时,关闭蓝牙通道使能,将蓝牙通道标识复位,打开USB通道使能,退出当前接收指令中断,当所述指定的通道标识为蓝牙通道标识时,关闭USB通道标识,将USB通道标识复位,打开蓝牙通道使能,退出当前接收指令中断。
8.根据权利要求1所述的方法,其特征在于,
所述打开中断还包括打开定时器中断:
当所述智能密钥设备收到定时器触发时,进入定时器中断,计数清零,将休眠标识置位,退出定时器中断。
9.根据权利要求4所述的方法,其特征在于,
所述将休眠标识置位具体包括:增加分频数值,降低总线时钟的频率,MCU内核电压等级切换至电压范围1的状态,失能第一串行通道接口、第二串行通道接口外设,MCU休眠。
10.一种多功能智能密钥设备的工作方法,其特征在于,包括:
步骤201:智能密钥设备上电初始化,打开中断;
当所述智能密钥设备收到插USB触发信号时,进入插USB中断,保存插USB中断标识,退出插USB中断;
和/或当所述智能密钥设备收到USB连接信号时,进入USB连接中断,保存USB连接中断标识,退出USB连接中断;
和/或当所述智能密钥设备收到USB断开连接信号时,进入USB断开连接中断,保存USB断开连接中断标识,退出USB断开连接中断;
当所述智能密钥设备收到拔USB触发信号时,进入拔USB中断,保存拔USB中断标识,退出拔USB中断;
和/或当所述智能密钥设备收到蓝牙连接/断开连接信号时,进入蓝牙连接/断开连接中断,保存蓝牙连接/断开连接中断标识,退出蓝牙连接/断开连接中断;
和/或当所述智能密钥设备收到蓝牙/USB接收指令中断信号时,进入蓝牙/USB接收指令中断,保存蓝牙/USB接收指令中断标识,退出蓝牙/USB接收指令中断;
步骤202:所述智能密钥设备读取蓝牙模块的参数,并判断是否能够成功读取蓝牙模块参数,如果是,则将蓝牙模块切换至连接状态,执行步骤203,否则执行步骤203;
步骤203:所述智能密钥设备判断工作电压是否低于预设值,如果是,则提示低电压状态,第一预设时间后关闭所述智能密钥设备,否则执行步骤204;
步骤204:判断是否存在中断标识,如果是,则根据中断标识类型执行相应操作,否则重新执行步骤204;
其中,当所述智能密钥设备中存在蓝牙/USB接收指令中断标识时,根据蓝牙/USB接收指令中断标识类型执行步骤A至步骤B:
步骤A:所述智能密钥设备判断执行接收到的指令是否需要认证身份,如果是,则执行步骤B,否则根据接收到的指令的类型,执行相应操作,并将执行结果返回给上位机,返回执行步骤204;
步骤B:判断所述智能密钥设备是否能够获取到身份合法标识,如果是,则根据接收到的指令的类型,执行相应操作,将执行结果返回给上位机,返回执行步骤204,否则向上位机返回获取身份合法标识失败的响应,返回执行步骤204。
11.根据权利要求10所述的方法,其特征在于,
所述根据接收到的指令的类型,执行相应操作,将执行结果返回给上位机,具体包括:
如果所述智能密钥设备接收到的是执行身份认证的指令,则所述智能密钥设备将指令中的认证信息和设备内部保存的认证信息进行比较,如果相同,表示认证合法,则将身份合法标识保存,并向上位机返回身份认证合法的响应,退出相应的接收指令中断,如果不相同,则表示认证不合法,则清除身份合法标识,并向上位机返回身份认证不合法的响应;
如果所述智能密钥设备接收到的是执行加密操作的指令,则运用加密算法,使用指定的密钥进行加密,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是执行解密操作的指令,则运用解密算法,使用指定的密钥进行解密,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是生成随机数的指令,则解析所述生成随机数的指令得到需要的随机数的长度,调用随机数函数得到随机数并保存,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是数据读写操作的指令,则解析所述数据读写操作的指令,得到需要进行读写操作的区域,读取相应区域的数据或向相应的区域写入数据,然后将执行结果返回给上位机;
如果所述智能密钥设备接收到的是其他操作指令,则执行相应的操作后,将执行结果返回给上位机。
12.根据权利要求11所述的方法,其特征在于,
所述智能密钥设备进行身份认证的方式是:
所述智能密钥设备判断所述执行身份认证的指令中包含的PIN码信息与所述智能密钥设备中保存的PIN码信息是否匹配;
和/或所述智能密钥设备判断所述执行身份认证的指令中包含的用户生物特征信息与所述智能密钥设备中保存的用户生物特征信息是否匹配。
13.根据权利要求10所述的方法,其特征在于,
所述步骤204中,根据中断标识类型执行相应操作,具体包括:
如果所述智能密钥设备中存在插USB中断标识,则判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,重新执行步骤204,否则所述智能密钥设备进入充电模式,重新执行步骤204
如果所述智能密钥设备中存在USB连接中断标识,则MCU被唤醒,打开USB通道使能,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在USB断开连接中断标识,则关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在拔USB中断标识,则判断所述智能密钥设备是否通过USB与上位机通信,如果是,则所述智能密钥设备退出充电模式,关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,重新执行步骤204,否则所述智能密钥设备退出充电模式,关闭USB通道使能,重新执行步骤204;
如果所述智能密钥设备中存在蓝牙连接中断标识,则判断所述智能密钥设备是否通过USB与上位机通信,如果是,则清除蓝牙连接中断标识,重新执行步骤204,否则打开蓝牙通道使能,清除蓝牙连接中断标识,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在蓝牙断开连接中断标识时,清除蓝牙断开连接中断标识,重新执行步骤204。
14.根据权利要求10所述的方法,其特征在于,
所述步骤204中,根据中断标识类型执行相应操作,还包括:
如果所述智能密钥设备中存在插USB中断标识,则判断休眠标识是否置位,如果是,则将休眠标识复位,所述智能密钥设备进入充电模式,重新执行步骤204,否则所述智能密钥设备进入充电模式,重新执行步骤204;
如果所述智能密钥设备中存在USB连接中断标识,则判断所述智能密钥设备是否通过蓝牙与上位机连接,如果是,则关闭USB通道使能,所述智能密钥设备进入充电模式,重新执行步骤204,否则打开USB通道使能,所述智能密钥设备进入充电模式,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在USB断开连接中断标识,则关闭USB通道使能,打开蓝牙通道使能,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在拔USB中断标识,则判断所述智能密钥设备是否通过蓝牙与上位机通信,如果是,则所述智能密钥设备退出充电模式,重新执行步骤204,否则所述智能密钥设备退出充电模式,关闭USB通道使能,清除身份合法标识,重新执行步骤204;
如果所述智能密钥设备中存在蓝牙连接标识,则判断所述智能密钥设备是否通过USB与上位机通信,如果是,则关闭USB通道使能,打开蓝牙通道使能,清除蓝牙连接中断标识,清除身份合法标识,重新执行步骤204,否则打开蓝牙通道使能,清除蓝牙连接中断标识,重新执行步骤204;
如果所述智能密钥设备中存在蓝牙断开连接中断标识,则关闭蓝牙通道使能,打开USB通道使能,清除蓝牙断开连接中断标识,清除身份合法标识,重新执行步骤204。
15.根据权利要求10所述的方法,其特征在于,
当所述智能密钥设备中存在接收指令中断标识时:
如果USB通道先接收到指令,则所述智能密钥设备保存USB通道标识,关闭蓝牙通道使能,执行步骤A至步骤B,然后根据保存的USB通道标识,通过USB通道向上位机返回响应;
如果蓝牙通道先接收到指令,则所述智能密钥设备保存蓝牙通道标识,关闭USB通道使能,执行步骤A至步骤B,然后根据保存的蓝牙通道标识,通过蓝牙通道向上位机返回响应。
16.根据权利要求10所述的方法,其特征在于,
当所述智能密钥设备中存在接收指令中断标识时:
如果所述智能密钥设备接收到的是切换通道指令,则比较所述切换通道指令中指定的通道标识与当前通道标识:
如果两者相同,则向上位机返回响应,重新执行步骤204;
如果两者不相同,当所述指定的通道标识为USB通道标识时,关闭蓝牙通道使能,将蓝牙通道标识复位,打开USB通道使能,重新执行步骤204,当所述指定的通道标识为蓝牙通道标识时,关闭USB通道标识,将USB通道标识复位,打开蓝牙通道使能,重新执行步骤204。
17.根据权利要求10所述的方法,其特征在于,
所述打开中断还包括打开定时器中断;
当所述智能密钥设备收到定时器触发时,进入定时器中断,保存定时器中断标识,退出定时器中断;
所述根据中断标识类型执行相应操作,具体包括:
当所述智能密钥设备中存在定时器中断标识时,将计数清零。
18.一种多功能智能密钥设备,其特征在于,包括:
USB接口模块:与USB获取模块相连,用于通过USB接口与上位机建立连接;
蓝牙接口模块:与蓝牙获取模块相连,用于通过蓝牙接口与上位机建立连接;
USB获取模块:与USB接口模块相连,用于获取休眠标识,用于获取中断标识;与接收模块相连,用于获取接收到的指令的类型,用于接收上位机提供的电能;
蓝牙获取模块:与蓝牙接口模块相连,用于获取设备内的蓝牙模块的参数,用于获取休眠标识,用于获取中断标识;
判断模块:与接收模块相连,用于判断休眠标识是否置位,用于判断休眠标识是否置位,用于判断接收到的指令的类型,用于判断是否存在中断标识,用于判断是否接收到中断触发信号,用于判断接收到的是否是身份认证指令,用于判断执行接收到的指令是否需要进行身份认证,用于判断是否能够获取到身份合法标识;
接收模块:与判断模块相连,用于通过USB通道或蓝牙通道接收上位机发送的指令,用于接收中断触发信号;
操作模块:与接收模块相连,用于根据接收到的指令进行相应的操作,用于所述休眠标识置位时,控制MCU进入休眠状态,用于处理接收到的中断触发信号;
发送模块:与操作模块相连,用于根据接收到的指令执行相应操作后将对应生成的响应返回给上位机。
CN201310049654.9A 2013-03-15 2013-03-15 一种多功能智能密钥设备及其工作方法 Active CN103207964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310049654.9A CN103207964B (zh) 2013-03-15 2013-03-15 一种多功能智能密钥设备及其工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310049654.9A CN103207964B (zh) 2013-03-15 2013-03-15 一种多功能智能密钥设备及其工作方法

Publications (2)

Publication Number Publication Date
CN103207964A CN103207964A (zh) 2013-07-17
CN103207964B true CN103207964B (zh) 2016-05-25

Family

ID=48755181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310049654.9A Active CN103207964B (zh) 2013-03-15 2013-03-15 一种多功能智能密钥设备及其工作方法

Country Status (1)

Country Link
CN (1) CN103207964B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246839B (zh) * 2013-04-27 2015-10-28 飞天诚信科技股份有限公司 一种智能密钥设备的工作方法
CN103631747B (zh) 2013-11-20 2016-05-25 飞天诚信科技股份有限公司 一种通讯模式的识别方法
CN105141756B (zh) * 2015-07-29 2018-03-09 飞天诚信科技股份有限公司 一种处理异常的方法和装置
CN105099709B (zh) * 2015-08-28 2018-03-30 北京坚石诚信科技有限公司 一种智能密钥设备及其工作方法和工作装置
CN109165182B (zh) * 2018-08-07 2020-06-30 神州融安科技(北京)有限公司 通讯方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102778955A (zh) * 2011-05-10 2012-11-14 精元电脑股份有限公司 蓝牙数据传输系统及方法
CN102938034A (zh) * 2012-10-26 2013-02-20 飞天诚信科技股份有限公司 一种转换装置的工作方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612004B1 (ko) * 2000-04-06 2006-08-11 삼성전자주식회사 Bluetooth 무선 통신을 지원하는 통신장치에서의 수신 데이터 처리 방법
US7653350B2 (en) * 2003-07-24 2010-01-26 Sony Ericsson Mobile Communications Ab Wireless terminals and methods for communicating over cellular and enhanced mode bluetooth communication links

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102778955A (zh) * 2011-05-10 2012-11-14 精元电脑股份有限公司 蓝牙数据传输系统及方法
CN102938034A (zh) * 2012-10-26 2013-02-20 飞天诚信科技股份有限公司 一种转换装置的工作方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《嵌入式Linux下USB蓝牙设备驱动》;郑春芳等;《电子设计工程》;20100228;第18卷(第2期);第53-55页 *

Also Published As

Publication number Publication date
CN103207964A (zh) 2013-07-17

Similar Documents

Publication Publication Date Title
CN103207964B (zh) 一种多功能智能密钥设备及其工作方法
US9911010B2 (en) Secure field-programmable gate array (FPGA) architecture
CN103647648B (zh) 一种安全通讯的方法
US20220360441A1 (en) Data encryption and decryption method, device, storage medium and encrypted file
CN110149209A (zh) 物联网设备及其提高数据传输安全性的方法和装置
CN107994985B (zh) 一种密码卡及对数据处理的方法
CN102819702A (zh) 文件加密运行方法和文件加密运行系统
CN104581712A (zh) 一种移动终端加密通信的方法及系统
CN110190950A (zh) 一种安全签名的实现方法及装置
CN100594503C (zh) 虚拟机系统及其安全输入方法
CN103246839A (zh) 一种智能密钥设备的工作方法
CN103200562A (zh) 通信终端锁定方法及通信终端
WO2022247790A1 (zh) 一种数据管理方法、装置、设备和存储介质
CN109165531A (zh) 一种aes掩码方法、电子设备及存储介质
CN104298936A (zh) 一种基于cpld芯片的fpga加密及参数配置系统
CN105184119B (zh) 一种软件的安全保护方法
CN101420299B (zh) 提高智能密钥设备稳定性的方法和智能密钥设备
CN104346584A (zh) 一种fpga系统加密及参数配置方法
CN106850443A (zh) 一种基于tpm的sdn流表下发方法
CN104038828A (zh) 一种基于AES加密RSAhash签名内容保护优化方法
CN103702323A (zh) 一种无线信息安全设备系统及方法
CN109547303A (zh) 控制方法及相关设备
CN204066120U (zh) 一种基于cpld芯片的fpga加密及参数配置系统
CN108900307B (zh) Pgp密钥管理认证密码恢复算法的fpga实现方法
CN105763546A (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
C14 Grant of patent or utility model
GR01 Patent grant
OL01 Intention to license declared
OL01 Intention to license declared