一种智能密钥设备及其验证方法与流程

文档序号:19814263发布日期:2020-01-31 18:52阅读:213来源:国知局
一种智能密钥设备及其验证方法与流程

本发明涉及信息安全技术领域,尤其涉及一种智能密钥设备及其验证方法。



背景技术:

智能密钥设备是一种带有处理器和存储器的小型硬件装置,它可通过计算机的数据通讯接口与计算机连接。智能密钥设备通过内置的单片机或智能卡芯片完成密钥的生成以及密钥的安全存储,其中可预置加密算法功能,且与密钥相关的运算完全在智能密钥设备内部运行,使得智能密钥设备具有抗攻击的特性,安全性极高。

现有技术中,智能密钥设备针对密码区设定了身份验证方式,例如设备接收到签名指令时,判断签名指令所需密钥是否需要pin码验证,根据pin码验证结果使用密钥完成签名。发明人在发明过程中发现现有的这种验证方式存在缺陷:用户在不同的应用场景下对所使用的密钥有不同的验证需求,然而现有的密钥区设定的身份验证方式太过于单一,不能满足用户在不同的应用场景下所需密钥的不同验证需求,导致产品不够个性化,用户体检差。



技术实现要素:

为了解决现有技术中存在的问题,本发明实施例提供了一种智能密钥设备及其验证方法,能够满足用户在不同的应用场景下对所使用密钥的不同pin码验证需求。

其中,本发明实施例提供的一种智能密钥设备验证方法包括:

步骤s1、智能密钥设备接收上位机下发的指令;

步骤s2、智能密钥设备判断指令类型,当指令类型为验证pin码指令时,执行步骤s3,当指令类型为涉及密钥的操作指令时,执行步骤s4,当指令类型为其他指令时,执行相应的操作,返回步骤s1;

步骤s3、智能密钥设备根据验证pin码指令进行验证pin码,验证通过则将各密钥区的pin状态标识位置位,验证失败则将各密钥区的pin状态标识位复位,将验证结果返回给上位机,执行步骤s1;

步骤s4、智能密钥设备根据涉及密钥的操作指令确定密钥区,获取密钥区对应的pin码验证标识,根据pin码验证标识确定密钥区对应的pin码验证方式;当pin码验证方式为第一方式时,执行步骤s5,当pin码验证方式为第二方式,执行步骤s6,当pin码验证方式为第三方式,执行步骤s7;

步骤s5、智能密钥设备获取密钥区中的操作密钥,根据操作密钥执行相应的操作得到操作结果,将操作结果返回上位机,执行步骤s1;

步骤s6、智能密钥设备获取密钥区对应的pin状态标识位,判断pin状态标识位的状态,若pin状态标识位的状态为置位时,智能密钥设备获取密钥区中的操作密钥,根据操作密钥执行相应的操作得到操作结果,将操作结果返回上位机,执行步骤s1,若pin状态标识位的状态为复位时,智能密钥设备向上位机返回错误,执行步骤s1;

步骤s7、智能密钥设备获取密钥区对应的pin状态标识位,判断pin状态标识位的状态,若pin状态标识位为置位时,智能密钥设备获取密钥区中的操作密钥,根据操作密钥执行相应的操作,将操作结果返回上位机,并将pin状态标识位复位,执行步骤s1,若pin状态标识位为复位时,智能密钥设备向上位机返回错误,执行步骤s1。

本发明实施例提供的一种智能密钥设备包括:

接收模块、判断模块、验证模块、发送模块、确定模块、获取模块和执行模块;

其中,接收模块,用于接收上位机下发的指令;

判断模块,用于判断接收模块接收的指令的指令类型;

验证模块,用于当判断模块判断指令的指令类型为验证pin码指令时,根据验证pin码指令进行验证pin码;还用于当验证模块验证pin码通过时,将各密钥区的pin状态标识位置位;还用于当验证模块验证pin码失败时,将各密钥区的pin状态标识位复位;

发送模块,用于将验证模块验证的结果返回上位机;

确定模块,用于当判断模块判断指令的指令类型为涉及密钥的操作指令时,根据操作指令确定密钥区,获取密钥区对应的pin码验证标识,根据pin码验证标识确定密钥区对应的pin码验证方式;

获取模块,用于当确定模块确定pin码验证方式为第一方式时,获取密钥区中的操作密钥,根据操作密钥执行相应的操作得到操作结果;

获取模块,还用于当确定模块确定pin码验证方式为第二方式时,获取密钥区对应的pin状态标识位;

获取模块,还用于当确定模块确定pin码验证方式为第三方式时,获取密钥区对应的pin状态标识位;

判断模块,还用于判断pin状态标识位是否置位或复位;

获取模块,还用于当判断模块判断为置位时,获取密钥区中的操作密钥,根据操作密钥执行相应的操作,得到操作结果;

获取模块,还用于将pin状态标识位复位;

发送模块,还用于将操作结果返回上位机;

发送模块,还用于当判断模块判断为复位时,向上位机返回错误;

执行模块,用于当判断模块判断指令的指令类型为其他指令时,执行相应的操作。

本发明实施例提供的技术方案的有益效果是:通过本发明提供的技术方案,用户在使用智能密钥设备验证过程中能够根据密钥区实现pin码的多种验证方式,满足了用户在不同的应用场景下对所使用密钥时不同pin码验证需求。

附图说明

图1是本发明实施例1提供的一种智能密钥设备验证方法流程图;

图2是本发明实施例2提供的一种智能密钥设备框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

本发明实施例提供了一种智能密钥设备验证方法,该方法包括:

步骤101、智能密钥设备接收上位机下发的指令;

本实施例中,智能密钥设备接收的指令符合apdu格式,具体为:clainsp1p2lcdatale;

具体的,在本实施例中,cla表示指令的应用类型,ins表示指令的执行类别,p1、p2表示指令的参数,lc表示指令的数据域(data)的长度,le表示上层应用希望智能密钥设备响应时回答的数据字节数。

步骤102、智能密钥设备判断指令类型,当指令类型为验证pin码指令时,执行步骤103;当指令类型为涉及密钥的操作指令时,执行步骤104,当指令类型为其他指令时,执行相应的操作,返回步骤101;

在本实施例中,智能密钥设备判断指令类型具体为:智能密钥设备解析接收到的指令,根据指令中的指定字节获取指令类型标识,根据指令类型标识确定指令类型;

具体地,智能密钥设备根据指令中的ins字节获取指令类型标识,根据指令类型标识确定指令类型;ins字节表示指令的执行类别;

例如,当ins字节为20时,指令类型为验证pin码指令,当ins字节为87时,指令类型为涉及密钥的操作指令;

验证pin码指令为:00200080083132333435363738;

其中,涉及密钥的操作指令具体包括:签名指令、加密指令、认证指令等,涉及密钥的操作指令为签名指令时,该操作指令为:1087079aff7c8201068200818201000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff003031300d0609608648016503040201050004203d4510354b4d288504edef18917e429f7c66235478

0087079a0b1f038b721cd586413d381f。

步骤103、智能密钥设备根据验证pin码指令进行验证pin码,验证通过则将各密钥区的pin状态标识位置位,验证失败则将各密钥区的pin状态标识位复位,向上位机返回验证结果,执行步骤101;

在本实施例中,智能密钥设备根据验证pin码指令进行验证pin码具体为:智能密钥设备根据验证pin码指令获取指令数据域中的pin码,将获取pin码与自身保存的pin码进行比对,若一致则验证pin码成功,否则验证pin码失败;

可选地,智能密钥设备验证通过则将各密钥区的pin状态标识位置位具体为:智能密钥设备查找各密钥区的pin状态标识,将pin状态标识对应的pin状态标识位修改为指定数值;例如,pin状态标识为:f_unlocked,pin状态标识位对应的数值为00时表示pin状态标识复位,pin状态标识位对应的数值为01时表示pin状态标识置位;

具体地,返回给所述上位机的验证结果包括:验证pin码成功数据或验证pin码失败数据。

步骤104、智能密钥设备根据涉及密码的操作指令确定密钥区,获取密钥区对应的pin码验证标识,根据pin码验证标识确定密钥区对应的pin码验证方式;当pin码验证方式为第一方式时,执行步骤105,当pin码验证方式为第二方式时,执行步骤106,当pin码验证方式为第三方式时,执行步骤107;

在本实施例中,智能密钥设备根据涉及密码的操作指令确定密钥区具体为:智能密钥设备解析操作指令,根据指令中的指定字节获取密钥区标识,根据密钥区标识确定密钥区;

具体地,密钥区标识包括9a、9c、9d、9e;智能密钥设备根据指令中的p2字节获取密钥区标识;

优选地,pin码验证标识为pinpolicy;pin码验证方式包括第一方式01、第二方式02、第三方式03,分别以never、once、always来表示,当pin码验证标识pinpolicy为never时,pin码验证方式为第一方式,第一方式具体表示智能密钥设备在响应操作指令进行操作过程中,无需验证操作密钥对应的pin码;当pin码验证标识pinpolicy为once时,pin码验证方式为第二方式,第二方式具体表示智能密钥设备在第一次选应用成功到第二次选应用之间,响应操作指令进行操作过程中,只需验证一次操作密钥对应的pin码;当pin码验证标识pinpolicy为always时,pin码验证方式为第三方式,第三方式具体表示智能密钥设备在响应操作指令进行操作过程中,每次操作都需验证操作密钥对应的pin码;

pin状态标识为:f_unlocked;pin状态标识位对应的数值为00时表示pin状态标识复位,pin状态标识位对应的数值为01时表示pin状态标识置位。

步骤105、智能密钥设备获取密钥区中的操作密钥,根据操作密钥执行相应的操作,将操作结果返回上位机,执行步骤101;

具体地,当操作指令为签名操作时,智能密钥设备获取密钥区中的签名密钥,根据预设算法通过签名密钥对相应的数据进行签名,将签名结果返回上位机,执行步骤101。

步骤106、智能密钥设备获取密钥区对应的pin状态标识位,判断pin状态标识位的状态,若pin状态标识位为置位,执行步骤107,若pin状态标识位为复位时,执行步骤108;

步骤107、智能密钥设备获取密钥区中的操作密钥,根据操作密钥执行相应的操作,将操作结果返回上位机,执行步骤101;

步骤108、智能密钥设备向上位机返回错误,执行步骤101;

步骤109、智能密钥设备获取密钥区对应的pin状态标识位,判断pin状态标识位的状态,若pin状态标识位为置位,执行步骤110,若pin状态标识位为复位,执行步骤111;

步骤110、智能密钥设备获取密钥区中的操作密钥,根据操作密钥执行相应的操作,将操作结果返回上位机,并将该密钥区的pin状态标识位复位,执行步骤101;

步骤111、智能密钥设备向上位机返回错误,执行步骤101。

具体地,当操作指令为签名操作时,智能密钥设备获取密钥区中的签名密钥,根据预设算法通过签名密钥对相应的数据进行签名,将签名结果返回上位机,并将pin状态标识位置位对应的数值01修改为pin状态标识位复位对应的数值00,执行步骤101。

可选地,在本实施例步骤102中,其他指令具体还包括:生成密钥对指令;

当其他指令为生成密钥对指令时,执行相应的操作具体为:智能密钥设备根据生成密钥对生成密钥对指令确定密钥区,获取指令中的pin码验证标识,根据获取的pin码验证标识设置密钥区对应的pin码验证方式,生成密钥对存入密钥区,并向上位机返回响应数据,执行步骤101;

具体地,智能密钥设备根据生成密钥对生成密钥对指令确定密钥区具体为:智能密钥设备解析生成密钥对生成密钥对指令,根据指令中的指定字节获取密钥区标识,根据密钥区标识确定密钥区;

可选地,智能设备中分有4个密钥区域,4个密钥区域存储有不同的密钥对和证书,具有不同的密钥功能,一个密钥区可以对应多个不同操作;其中,密钥区标识包括9a、9c、9d、9e;具体地,9a为认证密钥区(pivauthenticationkey);9c为数字签名密钥区(pivdigitalsignaturekey);9d为密钥管理密钥区(pivkeymanagementkey);9e为卡认证密钥区(pivcardauthenticationkey);

智能密钥设备根据指令中的指定字节p2获取密钥区标识,根据密钥区标识确定密钥区;

具体地,获取指令中的pin码验证标识,根据获取的pin码验证标识设置密钥区对应的pin码验证方式,具体为:智能密钥设备解析生成密钥对生成密钥对指令,根据指令中的数据域获取pin验证方式设置标签,根据pin验证方式设置标签获取pin码验证方式标识,智能密钥设备获取密钥区对应的pin码验证方式标签,将获取pin码验证方式标识赋值给pin码验证方式标签;

例如,pin验证方式设置标签为ba;pin码验证方式标识为01、02、03;

可选地,当智能密钥设备获取的pin验证标识为其他标识时,可以设置相应的标识,还可以向上位机返回错误;

可选地,智能密钥设备生成密钥对存入密钥区具体包括:智能密钥设备根据生成密钥对生成密钥对指令生成密钥对并保存在密钥区;

可选地,智能密钥设备生成密钥对存入密钥区具体还包括:智能密钥设备根据生成密钥对生成密钥对指令获取指令数据域中包含的密钥对并保存在密钥区;

可选地,在本实施例步骤102中,其他指令具体包括:选应用指令;

当其他指令为选应用指令时,执行相应的操作具体为:智能密钥设备根据选应用指令中的应用标识选择相应的应用,向上位机返回选应用响应数据,执行步骤101。

具体地,当ins字节为04时,指令类型为选应用指令,其中,选应用指令为:00a4040009a00000030800001000;其中包括选择头:00a40400和应用编号:09a00000030800001000;

具体地,智能密钥设备根据选应用指令中的应用标识选择相应的应用具体为:智能密钥设备获取选应用指令数据域中的aid标识(applicationidentifie,应用标识符),根据aid标识查找自身保存的应用标识列表中是否有匹配的aid标识,如果有相同aid标识则选择相应的应用;

具体地,向上位机返回的选应用响应数据包括选应用成功响应数据或选应用失败响应数据;

其中,选应用成功的信息包括:选应用成功状态码;选应用失败的信息包括:选应用失败状态码;

例如,选应用成功的状态码为:9000,选应用失败的状态码为:0000。

可选地,智能密钥设备根据选应用指令中的应用标识选择相应的应用之后还包括:智能密钥设备将各密钥区的pin状态标识位复位。

可选地,在本实施例步骤102中,其他指令具体包括:双向认证请求指令;

当指令类型为双向认证请求指令时,执行相应的操作具体为:智能密钥设备解析双向认证请求指令,获取双向认证请求数据,根据请求数据生成挑战值并保存,根据挑战值生成认证请求响应数据发送给所述上位机,执行步骤101;

具体地,智能密钥设备生成挑战值具体为:

例如,生成的挑战值为:3c9b0ea8731313e6;

可选地,在本实施例步骤102中,其他指令具体包括:双向认证响应指令;

当指令类型为双向认证响应指令时,智能密钥设备解析双向认证响应指令,获取双向认证响应数据,获取预存密钥,根据预设算法通过预存密钥对双向认证响应数据进行解密得到第一明文,将第一明文与保存的挑战值进行比对得到比对结果,将比对结果发送给所述上位机,执行步骤101。

具体地,预存密钥具体是智能密钥设备与上位机协商一致提前保存的通信密钥;其中,预设算法具体为加密算法,例如:加密算法desecb;

具体地,智能密钥设备获取的双向认证响应数据具体为:bd50f30c85b48906。

实施例二

本发明实施例提供了一种智能密钥设备,该设备100包括:

接收模块10、判断模块11、验证模块12、发送模块13、确定模块14、获取模块15和执行模块16;

接收模块10,用于接收上位机下发的指令;

判断模块11,用于判断接收模块10接收的指令的指令类型;

验证模块12,用于当判断模块11判断指令的指令类型为验证pin码指令时,根据验证pin码指令进行验证pin码;还用于当验证模块12验证pin码通过时,将各密钥区的pin状态标识位置位;还用于当验证模块12验证pin码失败时,将各密钥区的pin状态标识位复位;

发送模块13,用于将验证模块12验证的结果返回上位机;

确定模块14,用于当判断模块11判断指令的指令类型为涉及密钥的操作指令时,根据操作指令确定密钥区,获取密钥区对应的pin码验证标识,根据pin码验证标识确定密钥区对应的pin码验证方式;

获取模块15,用于当确定模块14确定pin码验证方式为第一方式时,获取密钥区中的操作密钥,根据操作密钥执行相应的操作得到操作结果;

获取模块15,还用于当确定模块14确定pin码验证方式为第二方式时,获取密钥区对应的pin状态标识位;

获取模块15,还用于当确定模块14确定pin码验证方式为第三方式时,获取密钥区对应的pin状态标识位;

判断模块11,还用于判断pin状态标识位是否置位或复位;

获取模块15,还用于当判断模块11判断为置位时,获取密钥区中的操作密钥,根据操作密钥执行相应的操作,得到操作结果;

获取模块15,还用于将pin状态标识位复位;

发送模块13,还用于将操作结果返回上位机;

发送模块13,还用于当判断模块11判断为复位时,向上位机返回错误;

执行模块16,用于当判断模块11判断指令的指令类型为其他指令时,执行相应的操作。

可选地,当判断模块11用于判断指令类型时,判断模块11具体用于:解析接收到的指令,根据指令中的指定字节获取指令类型标识,根据指令类型标识确定指令类型。

可选地,当确定模块14用于根据操作指令确定密钥区时,确定模块14具体用于:解析操作指令,根据指令中的指定字节获取密钥区标识,根据密钥区标识确定密钥区。

可选地,其他指令具体包括:生成密钥对指令;

其中,执行模块16包括:确定单元、获取单元、第一设置单元、生成单元和第一发送单元;

确定单元,用于根据生成密钥对指令确定密钥区;

获取单元,用于获取指令中的pin码验证标识;

第一设置单元,用于根据获取的pin码验证标识设置密钥区对应的pin码验证方式;

生成单元,用于生成密钥对存入密钥区;

第一发送单元,用于向上位机返回响应数据。

优选的,确定单元具体用于:解析生成密钥对指令,根据指令中的指定字节获取密钥区标识,根据密钥区标识确定密钥区。

优选的,获取单元具体用于:解析生成密钥对指令,根据指令中的数据域获取pin验证方式设置标签,根据pin验证方式设置标签获取pin码验证方式标识,获取密钥区对应的pin码验证方式标签;

第一设置单元具体用于:将获取的pin码验证方式标识赋值给pin码验证方式标签。

可选地,其他指令具体包括:选应用指令;

其中,执行模块16包括:选应用单元和第二发送单元;

选应用单元,用于根据选应用指令中的应用标识选择相应的应用;

第二发送单元,用于向上位机返回响应数据。

可选地,执行模块16还包括:第二设置单元;

第二设置单元,用于将各密钥区的pin状态标识位复位。

可选地,其他指令具体包括:双向认证请求指令;

其中,执行模块16具体用于:解析双向认证请求指令,获取双向认证请求数据,根据请求数据生成挑战值并保存,根据挑战值生成认证请求响应数据发送给上位机。

可选地,其他指令具体包括:双向认证响应指令;

其中,执行模块16具体用于:解析双向认证响应指令,获取双向认证响应数据,获取预存密钥,根据预设算法通过预存密钥对双向认证响应数据进行解密得到第一明文,将第一明文与保存的挑战值进行比对得到比对结果,将比对结果发送给上位机。

可选地,涉及密钥的操作指令具体包括:签名指令、和\或认证指令、和\或加密指令、和\或解密指令。

本发明实施例提供的技术方案的有益效果是:通过本发明提供的技术方案,用户在使用智能密钥设备验证过程中能够根据密钥区实现pin码的多种验证方式,满足了用户在不同的应用场景下对所使用密钥时不同pin码验证需求。

以上对本发明所提供的一种智能密钥设备及其验证方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1