本发明涉及信息安全领域,尤其涉及一种智能密钥设备及其工作方法。
背景技术:
随着互联网和电子商务的快速发展,网上银行(简称网银)在线交易金额不断扩大,网络信息安全问题日益凸显,消费者也越来越关注网上交易的安全问题。为了保证用户在网上交易时身份的真实性,目前有一些用于身份认证的智能密钥设备,然而在配合客户端、浏览器等进行身份认证的过程中,一个智能密钥设备只能支持一种应用,当用户需要的应用较多时,智能密钥设备的管理变得极不方便。
技术实现要素:
本发明实施例提供了一种智能密钥设备及其工作方法。
其中,一种智能密钥设备的工作方法包括:
步骤s1、智能密钥设备等待接收上层应用发送的指令;
步骤s2、智能密钥设备接收到上层应用发送的指令,对指令进行解析,得到解析结果;
步骤s3、智能密钥设备根据解析结果判断指令类型,当指令类型为选择应用指令则执行步骤s4,当指令类型为获取信息指令则执行步骤s5,当指令类型为执行指令则执行步骤s6;
步骤s4、智能密钥设备根据选择应用指令返回选择应用成功的信息给上层应用,执行步骤s1;
步骤s5、智能密钥设备根据获取信息指令返回支持应用信息给上层应用,执行步骤s1;
步骤s6、智能密钥设备根据解析结果中第一预设字节的值确定指令的应用类型,当应用类型为第一应用时,执行步骤s7,当应用类型为第二应用时,执行步骤s8;
步骤s7、智能密钥设备根据解析结果中的第二预设字节的值确定执行类别,按照应用类型中执行类别相应的预设规则执行相应的操作,生成第一响应数据并返回给上层应用,执行步骤s1;
步骤s8、智能密钥设备根据解析结果中数据域的第一字节的值确定执行类别,按照应用类型中执行类别相应的预设规则执行相应的操作,生成第二响应数据并返回给上层应用,执行步骤s1。
本发明提供的一种智能密钥设备,包括:
接收模块,用于接收上层应用发送的指令;
解析模块,用于对接收模块接收到的上层应用发送的指令进行解析,得到解析结果;
第一判断模块,用于根据解析模块解析得到的解析结果判断指令类型;
第一生成模块,用于当第一判断模块判断指令类型为选择应用指令时,生成选择应用成功的信息;
第一发送模块,用于发送第一生成模块生成的选择应用成功的信息给上层应用;
第二生成模块,用于当第一判断模块判断指令类型为获取信息指令时,生成支持应用信息;
第二发送模块,用于发送第二生成模块生成的支持应用信息给上层应用;
第一确定模块,用于当第一判断模块判断指令类型为执行指令时,根据解析模块解析得到的解析结果中第一预设字节的值确定指令的应用类型;
第二确定模块,用于当第一确定模块确定指令的应用类型为第一应用时,根据解析模块解析得到的解析结果中的第二预设字节的值确定执行类别;
第一执行模块,用于执行第二确定模块确定的按照应用类型中执行类别相应的操作;
第三生成模块,用于生成第一响应数据;
第三发送模块,用于发送第三生成模块生成的第一响应数据给上层应用;
第三确定模块,用于当第一确定模块确定指令的应用类型为第二应用时,根据解析模块解析得到的解析结果中数据域的第一字节的值确定执行类别;
第二执行模块,用于执行第三确定模块确定的按照应用类型中执行类别相应的操作;
第四生成模块,用于生成第二响应数据;
第四发送模块,用于发送第四生成模块生成的第二响应数据给上层应用。
本发明提供的技术方案的有益效果是:能够在同一个智能密钥设备上兼容多个应用,通过一个aid标识实现多个应用的执行操作,使得智能密钥设备的管理更方便,大大提升了用户的体验。
附图说明
图1是本发明实施例一提供的一种智能密钥设备的工作方法流程图;
图2是本发明实施例二提供的另一种智能密钥设备的工作方法流程图;
图3-1、图3-2是本发明实施例三提供的另一种智能密钥设备的工作方法流程图;
图4是本发明实施例四提供的一种智能密钥设备的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供了一种智能密钥设备的工作方法,如图1所示,该方法包括:
a1、智能密钥设备等待接收上层应用的指令;
a2、智能密钥设备接收到上层应用发送的指令,对指令进行解析,得到解析结果;
a3、智能密钥设备根据解析结果判断指令类型,当指令类型为选择应用指令则执行步骤a4,当指令类型为获取信息指令则执行步骤a5,当指令类型为执行指令则执行步骤a6;
在本实施中,接收到的上层应用发送的指令符合apdu格式,具体为:clainsp1p2lcdatale,具体的,在本实施例中,cla表示指令的应用类型,ins表示指令的执行类别,p1、p2表示指令的参数,lc表示指令的数据域(data)的长度,le表示上层应用希望智能密钥设备响应时回答的数据字节数。
具体地,智能密钥设备根据解析结果判断当前指令是选择应用指令或执行指令具体为:当解析结果中前两个字节为00a4则确定当前指令为选择应用指令,当解析结果中前两个字节不为00a4则确定当前指令为执行指令或获取信息指令;
具体地,智能密钥设备根据解析结果中ins的预设值判断当前指令是否为获取信息指令。例如,当解析结果中ins的预设值为04,则当前指令为获取信息指令。
具体地,选择应用指令为:00a4040009a00000039742544659;其中包括选择头:00a40400和应用编号:a00000039742544659。
a4、智能密钥设备根据选择应用指令返回选择应用成功的信息给上层应用,执行a1;
具体地,智能密钥设备获取选择应用指令中的aid标识(applicationidentifie,应用标识符),根据aid标识查找自身保存的应用标识列表中是否有匹配的aid标识,如果有相同aid标识则返回选择应用成功的信息给上层应用;
具体地,选择应用成功的信息包括:选择应用成功状态码和预设字符串,预设字符串具体为支持第一应用的数据;
例如,选择应用成功的状态码为:9000;预设字符串为:u2f_v2。
a5、智能密钥设备根据获取信息指令返回支持应用信息给上层应用,执行a1;
具体地,智能密钥设备根据获取信息指令向客户端返回支持应用信息,支持应用信息中包括可支持第二应用的信息;
优选地,智能密钥设备根据获取信息指令向客户端返回支持应用信息中包括可支持第一应用类型的信息,和/或设备唯一标识号,和/或设备按键认证标识,和/或指纹认证标识,和/或pin码设置信息。
a6、智能密钥设备根据解析结果中第一预设字节的值确定指令的应用类型,当应用类型为第一应用时,执行步骤a7,当应用类型为第二应用时,执行步骤a8;
在本实施例中,具体地,根据解析结果中的第一预设字节确定指令的应用类型具体为:当解析结果中第一预设字节的值为第一预设值则表示应用类型为第一应用,当第一预设字节的值为第二预设值则表示应用类型为第二应用;
例如,解析结果中第一预设字节为cla,第一预设值为0x00,第二预设值为0x80,。
a7、智能密钥设备根据解析结果中的第二预设字节的值确定执行类别,按照应用类型中执行类别相应的规则执行相应的操作,返回第一响应数据给上层应用,执行a1;
在本实施中,具体地,应用类型为第一应用,根据解析结果中第二预设字节的值确定执行类别,当解析结果中第二预设字节的值为第三预设值则表示执行类别为注册操作,当解析结果中第二预设字节的值为第四预设值则表示执行类别为认证操作,
例如,解析结果中第二预设字节为ins,第三预设值为01,第四预设值为02;
例如,智能密钥设备确定执行类别为注册操作,按照第一应用中的规则执行注册的操作,返回第一注册响应数据给上层应用,
具体地,第一注册响应数据为:05040bafc35aefe99bdfc93203f5f69d76045c786e86f60b988b9d663e0079d36de982532fe0d374426d2d78951a4af9fa15f563fe2d127759d62d25d2fb86b89a01603acf04bc4b724a6151952d1340ada7a6fdd6825459245a0f173a7df06f744013fa2d7959b74657ab4f32ac402072ebd7d598400622d56bebee669b3bd26829d3b275e3f1d4459af3eede236a4c6edbbbfaaebad0a42a5cfb9b4efeef43027fbc308201683082010da003020102020900d79549bd1a671739300a06082a8648ce3d04030230173115301306035504030c0c4654204649444f20303230303020170d3136303530313030303030305a180f32303530303530313030303030305a3021311f301d06035504030c164654204649444f2050323034373030313333413146363059301306072a8648ce3d020106082a8648ce3d03010703420004a31096623817e47fb565d054fb8370f702b20f269e3ddb729a52e731fd36157be2b28f6b09a5dbf437080394cbd121e023b96545ff0c5016686ad519b8c582dda3363034301d0603551d0e04160414418377e213db14abc6509db5e10c9598b42f92ea3013060b2b0601040182e51c020101040403020470300a06082a8648ce3d0403020349003046022100e209fefcbc800a06728f04224e5375d700ed7fed1277b059db9343bc18c1cd5d022100b37415e00e40423d5466fe14ed162895e8765846cba88961f7b9cebf03f0a8b530440220131c051ce5b02d127bb2249443c0801fce933cf8e687c98b20fa8ae4a82f35a102203e5542a1bd00aa7e0fe6fc3cf5de7afbf5e5a278c4626f18cd949402470f8d11。
a8、智能密钥设备根据解析结果中数据域的第一字节的值确定执行类别,按照应用类型中执行类别相应规则执行相应的操作,返回第二响应数据给上层应用,执行a1。
在本实施中,具体地,应用类型为第二应用,根据解析结果中数据域的第一字节的值确定执行类别,当解析结果中数据域的第一字节的值为第五预设值则表示执行类别为注册操作,当解析结果中数据域的第一字节的值为第六预设值则表示执行类别为认证操作,当解析结果中数据域的第一字节的值为第七预设值则表示执行类别为获取断言操作,当解析结果中数据域的第一字节的值为第八预设值则表示执行类别为重置操作,当解析结果中数据域的第一字节的值为第九预设值则表示执行类别为管理pin操作;
例如,解析结果中数据域为data,第五预设值为01,第六预设值为02,第七预设值为08,第八预设值为07,第九预设值为06。
例如,智能密钥设备确定执行类别为注册操作,按照第二应用中的规则执行注册的操作,返回第二注册响应数据给上层应用,
具体地,第二注册响应数据为:8010000000017801a6015820687134968222ec17202e42505f8ed2b16ae22f16bb05b88c25db9e602645f14102a2626964784d6162632e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e636f6d646e616d6569746573742e6374617003a36269645820fc66f021c67d064c1490a12b5a4d4d2f5167ca692a16ca12f1f3a4cda29a6fa9646e616d6578526c6f6e67406162632e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e636f6d6b646973706c61794e616d65674c6f6e672052700483a263616c672664747970656a7075626c69632d6b6579a263616c6739010064747970656a7075626c69632d6b6579a263616c67382464747970656a7075626c69632d6b657906a16b686d61632d736563726574f507a162726bf5。
实施例二
本发明实施例二提供了另一种智能密钥设备的工作方法,如图2所示,该方法包括:
b1、智能密钥设备等待接收上层应用的指令;
b2、智能密钥设备接收上层应用发送的指令,对指令进行解析,得到解析结果;
b3、智能密钥设备根据解析结果判断指令类型,当指令类型为选择应用指令时则执行步骤b4,当指令类型为获取信息指令则执行步骤b5,当指令类型为执行指令则执行步骤b6;
具体地,智能密钥设备根据解析结果判断指令类型,具体为:当解析结果中前两个字节为00a4则确定当前指令为选择应用指令,当解析结果中前两个字节不为00a4则确定当前指令为执行指令或获取信息指令;
具体地,智能密钥设备根据解析结果中ins的预设值判断当前指令是否为获取信息指令。例如,当解析结果中ins的预设值为04,则当前指令为获取信息指令。
具体地,选择应用指令为:00a4040009a00000039742544659;其中包括选择头:00a40400和应用编号:a00000039742544659;
获取信息指令为:80100000010400。
b4、智能密钥设备根据选择应用指令向上层应用返回选择应用成功的信息,返回步骤b1;
具体地,选择应用成功的信息包括:选择应用成功状态码和预设字符串,预设字符串具体为支持第一认证应用的数据;
例如,选择应用成功的状态码为:9000;预设字符串为:u2f_v2。
b5、智能密钥设备根据获取信息指令向上层应用返回支持应用信息,返回步骤b1;
具体地,智能密钥设备根据获取信息指令向客户端返回支持应用信息,返回的支持应用信息中包括可支持第二应用类型的信息;
优选地,智能密钥设备根据获取信息指令向客户端返回支持应用信息中包括可支持第一应用类型的信息,和或设备唯一标识号,和或以及设备按键认证标识,和或指纹认证标识,和或pin码设置信息。
b6、智能密钥设备根据解析结果判断指令的应用类型,当应用类型为第一应用时执行步骤b7,当应用类型为第二应用时执行步骤b10;
在本实施例中,具体地,根据解析结果判断指令的应用类型具体为:根据解析结果中的第一预设字节的值判断指令的应用类型,当解析结果中第一预设字节的值为第一预设值则表示应用类型为第一应用,执行步骤b7,当第一预设字节的值为第二预设值则表示应用类型为第二应用,执行步骤b10;
例如,解析结果中第一预设字节为cla,第一预设值为0x00,第二预设值为0x80。
b7、智能密钥设备根据解析结果判断指令的执行类别,当执行类别为注册则执行步骤b8,当执行类别为认证则执行步骤b9;
在本实施中,具体地,应用类型为第一应用,根据解析结果判断指令的执行类别具体为:根据解析结果中第二预设字节的值确定执行类别,当解析结果中第二预设字节的值为第三预设值则表示执行类别为注册操作,当解析结果中第二预设字节的值为第四预设值则表示执行类别为认证操作;
例如,解析结果中第二预设字节为ins,第三预设值为01,第四预设值为02。
b8、智能密钥设备按照第一应用预设的规则执行注册操作,返回第一注册响应数据,返回步骤b1;
b9、智能密钥设备按照第一应用预设的规则执行认证操作,返回第一认证响应数据,返回步骤b1;
b10、智能密钥设备根据解析结果判断指令的执行类别,当执行类别为注册则执行b11,当执行类别为认证则执行b12,当执行类别为获取断言则执行b13,当执行类别为重置则执行b14,当执行类别为管理pin则执行b15;
在本实施中,具体地,应用类型为第二应用,根据解析结果判断指令的执行类别具体为:根据解析结果中数据域的第一字节的值确定执行类别,当解析结果中数据域的第一字节的值为第五预设值则表示执行类别为注册操作,当解析结果中数据域的第一字节的值为第六预设值则表示执行类别为认证操作,当解析结果中数据域的第一字节的值为第七预设值则表示执行类别为获取断言操作,当解析结果中数据域的第一字节的值为第八预设值则表示执行类别为重置操作,当解析结果中数据域的第一字节的值为第九预设值则表示执行类别为管理pin操作;
例如,解析结果中数据域为data,第五预设值为01,第六预设值为02,第七预设值为08,第八预设值为07,第九预设值为06。
b11、智能密钥设备按照第二应用预设的规则执行注册操作,返回第二注册响应数据,返回步骤b1;
b12、智能密钥设备按照第二应用预设的规则执行认证操作,返回第二认证响应数据,返回步骤b1;
b13、智能密钥设备按照第二应用预设的规则执行获取断言操作,返回第二获取断言响应数据,返回步骤b1;
b14、智能密钥设备按照第二应用预设的规则执行重置操作,返回第二重置响应数据,返回步骤b1;
b15、智能密钥设备按照第二应用预设的规则执行管理pin操作,返回第二管理pin响应数据,返回步骤b1。
实施例三
本发明实施例三提供了一种智能密钥设备的工作方法,如图3-1和图3-2所示,该方法包括:
c1、客户端向智能密钥设备发送指令;
c2、智能密钥设备接收客户端发送的指令;对指令进行解析,得到解析结果;
c3、智能密钥设备根据解析结果判断指令类型是否为选择应用指令,是选择应用指令则执行步骤c4,否则执行步骤c7;
在本实施中,接收到的客户端发送的指令符合apdu格式,具体为:clainsp1p2lcdatale,具体的,在本实施例中,cla表示指令的应用类型,ins表示指令的执行类别,p1、p2表示指令的参数,lc表示指令的数据域(data)的长度,le表示客户端希望智能密钥设备响应时回答的数据字节数。
具体地,智能密钥设备根据解析结果判断当前指令是选择应用指令或执行指令具体为:当解析结果中前两个字节为00a4则确定当前指令为选择应用指令;
具体地,选择应用指令为:00a4040009a00000039742544659;其中包括选择头:00a40400和应用编号:a00000039742544659。
c4、智能密钥设备根据选择应用指令生成选择应用成功的信息;
具体地,智能密钥设备获取选择应用指令中的aid标识(applicationidentifie,应用标识符),根据aid标识查找自身保存的应用标识列表中是否有匹配的aid标识,如果有相同aid标识则生成选择应用成功的信息,
选择应用成功的信息包括:选择应用成功状态码和预设字符串,预设字符串具体为支持第一认证应用的数据;例如,选择应用成功的状态码为:9000;预设字符串为:u2f_v2。
c5、智能密钥设备向客户端发送选择应用成功的信息;
c6、客户端接收智能密钥设备发送的选择应用成功的信息,结束。
c7、智能密钥设备根据解析结果中的ins预设值判断当前指令是否为获取信息指令,是则执行c8,否则执行c11。
具体地,智能密钥设备根据解析结果中ins的预设值判断当前指令是否为获取信息指令具体为,当解析结果中ins的预设值为04,则当前指令为获取信息指令。例如,获取信息指令为:80100000010400。
c8、智能密钥设备根据获取信息指令生成支持应用信息;
具体地,智能密钥设备根据获取信息指令生成的支持应用信息,智能密钥设备返回的支持应用信息中包括可支持第二应用类型的信息;
优选地,智能密钥设备根据获取信息指令生成的支持应用信息中包括可支持第一应用类型的信息和设备唯一标识号,以及设备按键认证标识、指纹认证标识、pin码设置信息等。
c9、智能密钥设备向客户端发送支持应用信息;
c10、客户端接收智能密钥设备发送的支持应用信息,结束。
c11、智能密钥设备根据解析结果中第一预设字节的值确定指令的应用类型,当应用类型为第一应用时,执行步骤c12,当应用类型为第二应用时,执行步骤c15;
在本实施例中,具体地,根据解析结果中的第一预设字节的值确定指令的应用类型具体为:当解析结果中第一预设字节的值为第一预设值则表示应用类型为第一应用,当第一预设字节的值为第二预设值则表示应用类型为第二应用;
例如,解析结果中第一预设字节为cla,第一预设值为0x00,第二预设值为0x80。
c12、智能密钥设备根据解析结果中的第二预设字节的值确定执行类别,按照应用类型中执行类别相应的预设规则执行相应的操作,并生成第一响应数据;
在本实施中,具体地,应用类型为第一应用,根据解析结果中第二预设字节的值确定执行类别,当解析结果中第二预设字节的值为第三预设值则表示执行类别为注册操作,当解析结果中第二预设字节的值为第四预设值则表示执行类别为认证操作,执行完相应的操作生成第一响应数据;
例如,解析结果中第二预设字节为ins,第三预设值为01,第四预设值为02,
例如,智能密钥设备确定执行类别为注册操作,按照第一应用中的规则执行注册的操作,返回第一注册响应数据给上层应用,
具体地,第一注册响应数据为:05040bafc35aefe99bdfc93203f5f69d76045c786e86f60b988b9d663e0079d36de982532fe0d374426d2d78951a4af9fa15f563fe2d127759d62d25d2fb86b89a01603acf04bc4b724a6151952d1340ada7a6fdd6825459245a0f173a7df06f744013fa2d7959b74657ab4f32ac402072ebd7d598400622d56bebee669b3bd26829d3b275e3f1d4459af3eede236a4c6edbbbfaaebad0a42a5cfb9b4efeef43027fbc308201683082010da003020102020900d79549bd1a671739300a06082a8648ce3d04030230173115301306035504030c0c4654204649444f20303230303020170d3136303530313030303030305a180f32303530303530313030303030305a3021311f301d06035504030c164654204649444f2050323034373030313333413146363059301306072a8648ce3d020106082a8648ce3d03010703420004a31096623817e47fb565d054fb8370f702b20f269e3ddb729a52e731fd36157be2b28f6b09a5dbf437080394cbd121e023b96545ff0c5016686ad519b8c582dda3363034301d0603551d0e04160414418377e213db14abc6509db5e10c9598b42f92ea3013060b2b0601040182e51c020101040403020470300a06082a8648ce3d0403020349003046022100e209fefcbc800a06728f04224e5375d700ed7fed1277b059db9343bc18c1cd5d022100b37415e00e40423d5466fe14ed162895e8765846cba88961f7b9cebf03f0a8b530440220131c051ce5b02d127bb2249443c0801fce933cf8e687c98b20fa8ae4a82f35a102203e5542a1bd00aa7e0fe6fc3cf5de7afbf5e5a278c4626f18cd949402470f8d11;
c13、智能密钥设备向客户端发送第一响应数据;
c14、客户端接收智能密钥设备发送的第一响应数据,结束。
c15、智能密钥设备根据解析结果中数据域的第一字节的值确定执行类别,按照应用类型中执行类别相应的预设规则执行相应的操作,生成第二响应数据;
在本实施中,具体地,应用类型为第二应用,根据解析结果中数据域的第一字节的值确定执行类别,当解析结果中数据域的第一字节的值为第五预设值则表示执行类别为注册操作,当解析结果中数据域的第一字节的值为第六预设值则表示执行类别为认证操作,当解析结果中数据域的第一字节的值为第七预设值则表示执行类别为获取断言操作,当解析结果中数据域的第一字节的值为第八预设值则表示执行类别为重置操作,当解析结果中数据域的第一字节的值为第九预设值则表示执行类别为管理pin操作,执行完相应地操作并生成第二响应数据;
例如,解析结果中数据域为data,第五预设值为01,第六预设值为02,第七预设值为08,第八预设值为07,第九预设值为06;
例如,智能密钥设备确定执行类别为注册操作,按照第二应用中的规则执行注册的操作,返回第二注册响应数据给上层应用,
具体地,第二注册响应数据为:8010000000017801a6015820687134968222ec17202e42505f8ed2b16ae22f16bb05b88c25db9e602645f14102a2626964784d6162632e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e636f6d646e616d6569746573742e6374617003a36269645820fc66f021c67d064c1490a12b5a4d4d2f5167ca692a16ca12f1f3a4cda29a6fa9646e616d6578526c6f6e67406162632e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e3132333435363738392e636f6d6b646973706c61794e616d65674c6f6e672052700483a263616c672664747970656a7075626c69632d6b6579a263616c6739010064747970656a7075626c69632d6b6579a263616c67382464747970656a7075626c69632d6b657906a16b686d61632d736563726574f507a162726bf5;
c16、智能密钥设备向客户端发送第二响应数据;
c17、客户端接收智能密钥设备发送的第二响应数据,结束。
实施例四
本发明实施例四提供了一种智能密钥设备,如图4所示,该智能密钥设备包括:
接收模块401,用于等待接收上层应用发送的指令;
解析模块402,用于对接收模块401接收到的上层应用发送的指令进行解析,得到解析结果;
第一判断模块403,用于根据解析模块402解析得到的解析结果判断指令类型;
第一生成模块404,用于当第一判断模块403判断指令类型为选择应用指令时,生成选择应用成功的信息;
第一发送模块405,用于发送第一生成模块404生成的选择应用成功的信息给上层应用;
第二生成模块406,用于当第一判断模块403判断指令类型为获取信息指令时,生成支持应用信息;
第二发送模块407,用于发送第二生成模块406生成的支持应用信息给上层应用;
第一确定模块408,用于当第一判断模块403判断指令类型为执行指令时,根据解析模块402解析得到的解析结果中第一预设字节的值确定指令的应用类型;
第二确定模块409,用于当第一确定模块408确定指令的应用类型为第一应用时,根据解析模块402解析得到的解析结果中的第二预设字节的值确定执行类别;
第一执行模块410,用于执行第二确定模块409确定的按照应用类型中执行类别相应的操作;
第三生成模块411,用于生成第一响应数据;
第三发送模块412,用于发送第三生成模块411生成的第一响应数据给上层应用;
第三确定模块413,用于当第一确定模块408确定指令的应用类型为第二应用时,根据解析模块402解析得到的解析结果中数据域的第一字节的值确定执行类别;
第二执行模块414,用于执行第三确定模块413确定的按照应用类型中执行类别相应的操作;
第四生成模块415,用于生成第二响应数据;
第四发送模块416,用于发送第四生成模块415生成的第二响应数据给上层应用。
在本实施例中,选择应用成功的信息包括:选择应用成功状态码和预设字符串;其中,预设字符串为表示支持第一应用的数据。
在本实施例中,支持应用信息包括:支持第二应用的信息。
在本实施例中,支持应用信息还包括:支持第一应用的信息,和或设备唯一标识号,和或设备按键认证标识,和或指纹认证标识,和或pin码设置信息。
在本实施例中,第一确定模块408,具体用于当第一判断模块403判断指令类型为执行指令时,根据解析模块402解析得到的解析结果中第一预设字节的值确定指令的应用类型,当解析结果中第一预设字节的值为第一预设值则表示应用类型为第一应用,当第一预设字节的值为第二预设值则表示应用类型为第二应用。
在本实施例中,第二确定模块409,具体用于当第一确定模块408确定指令的应用类型为第一应用时,根据解析模块402解析得到的解析结果中的第二预设字节的值确定执行类别,当解析结果中第二预设字节的值为第三预设值则表示执行类别为注册操作,当解析结果中第二预设字节的值为第四预设值则表示执行类别为认证操作。
在本实施例中,第三确定模块413,用于当第一确定模块408确定指令的应用类型为第二应用时,根据解析模块402解析得到的解析结果中数据域的第一字节的值确定执行类别,当解析结果中数据域的第一字节的值为第五预设值则表示执行类别为注册操作,当解析结果中数据域的第一字节的值为第六预设值则表示执行类别为认证操作,当解析结果中数据域的第一字节的值为第七预设值则表示执行类别为获取断言操作,当解析结果中数据域的第一字节的值为第八预设值则表示执行类别为重置操作,当解析结果中数据域的第一字节的值为第九预设值则表示执行类别为管理pin操作。
本实施例提供的方案能够在同一个智能密钥设备上兼容多个应用,并且通过一个aid标识实现多个应用的执行操作,使得智能密钥设备的管理更方便,大大提升了用户的体验。
以上对本发明所提供的一种智能密钥设备及其工作方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。