发明内容
有鉴于此,本发明的目的在于提供一种提高智能密钥设备易用性的方法,该方法能够在保证安全性的前提下提高智能密钥设备的易用性。
本发明的另一目的在于提供一种智能密钥设备,该设备能够在保证安全性的前提下提高设备的易用性。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种提高智能密钥设备易用性的方法,该方法包括:
A、设置免签名确认的有效期;
B、在完成第一次签名确认后进行第一次用户签名;
C、在进行第N次用户签名前,判断免签名确认是否在其有效期内,如果是,确定并非第一次用户签名,则进行第N次用户签名,否则清除免签名确认并结束第N次用户签名;
所述N为大于1的整数;
其中,步骤C所述确定并非第一次用户签名包括:判断是否存储有第一次签名确认标识,如果是则确定为第一次用户签名,否则确定并非第一次用户签名。
较佳地,所述步骤C之后进一步包括:
D、缩短免签名确认的有效期,利用缩短后的免签名确认的有效期对步骤A所述的免签名确认的有效期进行更新。
上述方法中,所述步骤A包括:设置免签名确认的有效期并生成免签名确认标识;存储免签名确认的有效期和免签名确认标识;
步骤B所述完成第一次签名确认包括:判断第一次签名确认是否正确,如果是,生成第一次签名确认标识并存储,否则结束第一次用户签名;
步骤C所述清除免签名确认为清除存储的免签名确认标识。
上述方法中,步骤A所述免签名确认的有效期为免签名确认可用时间,步骤C所述判断免签名确认是否在其有效期内为判断免签名确认的时刻是否在由第一次签名确认的时刻和免签名确认可用时间计算获得的免签名确认的期限内。
上述方法中,步骤A所述免签名确认的有效期为免签名确认可用次数,步骤C所述判断免签名确认是否在其有效期内为判断免签名确认可用次数是否大于0,步骤D所述缩短免签名确认的有效期为免签名确认可用次数减1;
或者步骤A所述免签名确认的有效期为免签名确认可用时间和时间周期,步骤C所述判断免签名确认是否在其有效期内为判断免签名确认可用时间是否大于0,步骤D所述缩短免签名确认的有效期为免签名确认可用时间缩短1个时间周期;
或者步骤A所述免签名确认的有效期为免签名确认可用次数、免签名确认可用时间和时间周期,步骤C所述判断免签名确认是否在其有效期内为判断免签名确认可用次数是否大于0和免签名确认可用时间是否大于0,步骤D所述缩短免签名确认的有效期为免签名确认可用次数减1和免签名确认可用时间缩短1个时间周期
或者步骤A所述免签名确认的有效期为免签名确认可用次数和免签名确认可用时间,步骤C所述判断免签名确认是否在其有效期内为判断免签名确认可用次数是否大于0且免签名确认的时刻是否在免签名确认的期限内,步骤D所述缩短免签名确认的有效期为免签名确认可用次数减1;所述免签名确认的期限为第一次签名确认的时刻加上免签名确认可用时间获得的免签名确认有效的最终时刻。
较佳地,所述步骤B之后进一步包括:当智能密钥设备掉电时,智能密钥设备清除存储的第一次用户确认标识及免签名确认标识,并结束第N次用户签名。
一种智能密钥设备,该设备包括:
中央处理器CPU,根据设置的免签名确认的有效期生成免签名确认标识,输出免签名确认标识及免签名确认的有效期至存储器存储;验证第一次签名确认正确,生成第一次签名确认标识并输出至存储器存储,利用从存储器存储的私钥进行第一次用户签名;在进行第N次用户签名前,判断免签名确认是否在其有效期内,如果是则进行第N次用户签名,缩短免签名确认的有效期,否则清除存储器存储的免签名确认标识和第一次签名确认标识,结束第N次用户签名;
存储器,存储私钥、数字证书、与该设备对应的PIN码、CPU输出的免签名确认标识、免签名确认的有效期及第一次签名确认标识,且在掉电后清除免签名确认标识和第一次签名确认标识;
所述N为大于1的正整数。
上述设备中,所述存储器包括:
第一存储器,存储私钥、数字证书、签名确认数据及免签名确认的有效期;
第二存储器,存储CPU输出的免签名确认标识和第一次签名确认标识,且在掉电后清除免签名确认标识和第一次签名确认标识。
上述设备中,所述CPU包括:
验证模块,根据设置的免签名确认的有效期生成免签名确认标识并输出至第二存储器存储,将设置的免签名确认的有效期输出至有效期模块及第一存储器;根据第一存储器存储的签名确认数据验证第一次签名确认正确后,生成第一次签名确认标识并输出至第二存储器存储;输出第一次用户签名指令至签名模块及有效期模块;输出有效期查询指令至有效期模块,在获得有效期模块输出的免签名确认有效的指令后,验证第二存储器中是否已存储有第一次签名确认标识,如果是输出第N次用户签名指令至签名模块,否则清除第二存储器存储的免签名确认的有效期、免签名确认标识和第一次签名确认标识;
有效期模块,存储验证模块输出的免签名确认的有效期,并根据验证模块输出的第一次用户签名指令的时刻及免签名确认的有效期计算获得免签名确认的期限;根据验证模块的有效期查询指令判断免签名确认是否在其有效期内,如果是则缩短免签名确认的有效期,利用缩短后的免签名确认的有效期对存储的验证模块输出的免签名确认的有效期进行更新,输出免签名确认有效的指令至验证模块,否则输出免签名确认无效的指令至验证模块;或者根据验证模块的有效期查询指令判断免签名确认的时刻是否在免签名确认的期限内,如果是则输出免签名确认有效的指令至验证模块,否则输出免签名确认无效的指令至验证模块;
签名模块,根据验证模块的第一次用户签名指令对用户输入的第一次签名结果进行算法计算获得第一签名数据,利用第一存储器存储的私钥对第一次签名数据加密后输出;或者根据验证模块的第N次用户签名指令对用户输入的第N次签名结果进行算法计算获得第N次签名数据,利用第一存储器存储的私钥对第N次签名数据加密后输出。
上述设备中,所述有效期模块包括:
有效期存储单元,存储验证模块输出的免签名确认的有效期,利用第一判读单元输出的免签名确认的有效期更新存储的验证模块输出的免签名确认的有效期,或者存储根据验证模块输出的第一次用户签名指令的时刻和免签名确认的有效期计算获得的免签名确认的期限;
第一判断单元,获得验证模块输出的有效期查询指令后,从有效期存储单元读取免签名确认的有效期,判断免签名确认的有效期是否大于0,如果是,则缩短免签名确认的有效期并输出至有效期存储单元,输出免签名确认有效的指令至验证模块,否则,输出免签名无效的指令至验证模块;或者在获得验证模块输出的有效期查询指令后,从有效期存储单元读取免签名确认的期限,判断验证模块输出有效期查询指令的时刻是否在免签名确认的期限内,如果是,输出免签名确认有效的指令至验证模块,否则输出免签名无效的指令至验证模块。
上述设备中,所述验证模块包括:
控制单元,判断输入的数据为免签名确认的有效期后,输出免签名确认的有效期至有效期存储单元及第一存储器,输出免签名确认指令至标识产生单元;
所述控制单元接收到外部输入的用户签名指令,判断第二存储器中未保存第一次签名确认标识,则确定为第一次用户签名,根据第一存储器存储的签名确认数据判断外部输入的第一次签名确认是否正确,如果是,则输出第一次签名确认指令至标识产生单元,否则结束用户签名并清除第二存储器存储的免签名确认标识和第一次签名确认标识;控制单元输出第一次用户签名指令至签名模块及有效期存储单元,输出有效期查询指令至第一判断单元,否则结束用户签名并清除第二存储器存储的免签名确认标识和第一次签名确认标识;
所述控制单元接收到外部输入的用户签名指令,判断第二存储器中保存有第一次签名确认标识,则确定为第N次用户签名,在接收到第一判断单元输出的免签名确认有效的指令后,输出第N次用户签名指令至签名模块,输出有效期查询指令至第一判断单元,否则结束用户签名并清除第二存储器存储的免签名确认标识和第一次签名确认标识;
标识产生单元,根据获得的免签名确认指令产生免签名确认标识,并输出至第二存储器;根据获得的第一次签名确认指令产生第一次签名确认标识,并输出至第二存储器。
由上述的技术方案可见,本发明提供了一种提高智能密钥设备易用性的方法及智能密钥设备。当智能密钥设备插入用户端后需要完成多次签名操作时,本发明的方法及装置预先设置了免签名确认的有效期,只需在第一次用户签名通过验证第一次签名确认和PIN码的正确性确定智能密钥设备使用者的身份合法性,第N次用户签名只需验证了PIN码的正确性就可进行第N次用户签名,省略了用户第N次签名确认的操作,且在智能密钥设备掉电后自动清除免签名确认的有效期,在不降低智能密钥设备安全性的前提下提高了智能密钥设备的易用性。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明提供了一种提高智能密钥设备易用性的方法,该方法包括:A、设置免签名确认的有效期;B、在完成第一次签名确认后进行第一次用户签名;C、判断免签名确认是否在其有效期内,如果是,确定并非第一次用户签名,则进行第N次用户签名,否则清除免签名确认并结束第N次用户签名;所述N为大于1的整数。
本发明提供了一种智能密钥设备,该设备包括:中央处理器CPU,根据设置的免签名确认的有效期,生成免签名确认标识并输出至存储器存储;验证第一次签名确认正确,生成第一次签名确认标识并输出至存储器存储,利用从存储器存储的私钥进行第一次用户签名;判断免签名确认是否在其有效期内,如果是则进行第N次用户签名,缩短免签名确认的有效期,否则清除存储器存储的免签名确认标识和第一次签名确认标识,结束第N次用户签名;存储器,存储私钥、数字证书、免签名确认标识、免签名确认的有效期和第一次签名确认标识,且在掉电后清除免签名确认标识、免签名确认的有效期和第一次签名确认标识;所述N为大于1的正整数。
图1为本发明提高智能密钥设备易用性的方法流程图。现结合图1,对本发明提高智能密钥设备易用性的方法进行说明,具体如下:
步骤101:设置免签名确认;
首先设置免签名的有效期,生成免签名确认标识,免签名的有效期存储于USB Key的CPU及存储器中,免签名确认标识存储于存储器中。免签名确认的有效期为免签名确认可用次数和/或免签名确认可用时间。在设置免签名确认可用时间段时,需要设置可用时间段及一次签名对应的时间周期。
在本步骤可进一步设置缓存PIN码,将存储器存储的与该USB Key对应的PIN码缓存于CPU中;设置了缓存PIN码后,无需用户输入PIN码进行验证,将CPU中缓存的与该USB Key对应的PIN码与USB Key中存储的与该USB Key对应的PIN码进行验证,提高了USB Key的易用性。
在设置免签名确认的有效期之前,需要对设置免签名确认的有效期的用户身份进行认证;具体地,在本步骤之前进一步包括获得用户输入的管理员PIN码,且在验证了管理员PIN码正确后执行本步骤。
步骤102:判断第一次签名确认是否正确,如果是执行步骤103,否则执行步骤109;
当用户将USB Key插入客户端后,可能在将USB Key拔出客户端之前,利用该USB Key进行多次网上交易;在利用USB Key进行首次网上交易时,用户需要进行第一次签名确认操作,以证明USB Key使用者的合法性。
判断用户进行的第一次签名确认是否正确,如果正确则证明该用户为合法用户,执行步骤103;否则,该用户为非法用户,执行步骤109。
可采用现有的用户签名确认方法对用户进行的第一次签名确认的正确性进行判断,比如:通过USB Key上设置的用户签名确认按钮判断用户进行的第一次签名是否正确,或者通过USB Key上的声音、指纹等生物特征验证器验证用户进行的第一次签名确认是否正确。对于用户签名确认的方法属于现有技术的内容,在此不再赘述。
步骤103:判断是否设置了缓存PIN码,如果是执行步骤105,否则执行步骤104;
判断是否设置了缓存PIN码也就是判断USB Key中是否保存有缓存PIN码标识,如果存在则设置了缓存PIN码,执行步骤105;否则执行步骤104。
步骤104:判断输入的PIN码是否正确,如果是执行步骤105,否则执行步骤109;
对用户输入的PIN码进行验证,如果用户输入的PIN码与USB Key的存储器中保存的PIN码相同,则执行步骤105,否则执行步骤109。
步骤105:进行签名;
进行签名为USB Key利用算法对用户输入的签名结果进行计算和加密获得加密的签名数据;具体地,USB Key利用其内部保存的算法对用户输入的签名结果进行计算获得签名数据,利用保存的私钥对签名数据加密后输出,以便需要调用USB Key存储的数字证书的服务器对USB Key的使用者进行身份认证。
本步骤用户的签名操作可采用现有的签名操作,本步骤USB Key对用户的签名进行处理的方法可采用现有的签名处理方法,对于具体的操作及处理方法在此不再赘述。
步骤106:判断免签名确认是否有效,如果是执行步骤107,否则执行步骤108;
判断免签名确认是否有效包括三种方法,可根据设置的免签名确认的有效期采用相应的判断方法。
若设置的免签名确认的有效期为免签名确认可用次数,则判断免签名确认可用次数是否大于0,若小于等于0则免签名确认无效,执行步骤108;若大于0则免签名确认有效,执行步骤107。
若设置的免签名确认的有效期为免签名确认可用时间,则判断设置的免签名确认可用时间是否大于0,如果大于0则免签名确认有效,执行步骤107;若小于等于0则免签名确认无效,执行步骤108。
若设置的免签名确认的有效期包括免签名确认可用次数和免签名确认可用时间,则判断免签名确认可用次数是否大于0且免签名确认可用时间是否大于0时,如果是则免签名确认有效,执行步骤107,否则免签名确认无效,执行步骤108。
步骤107:缩短免签名确认的有效期,之后执行步骤103;
可根据设置来缩短免签名确认的有效期,并将缩短后的到的免签名确认的有效期作为新的免签名确认的有效期进行保存。
本发明的实施例中,设置免签名确认的有效期包括三种方法,针对本发明实施例中设置的三种免签名确认的有效期,采用如下的缩短免签名确认的有效期的方法:
当设置的免签名确认的有效期为免签名确认可用次数时,缩短免签名确认的有效期为将免签名确认可用次数减1;当设置的免签名确认的有效期为免签名确认可用时间时,缩短免签名确认的有效期为将免签名确认可用时间减去一个时间周期;当设置的免签名确认的有效期为免签名确认可用次数和免签名确认可用时间时,缩短免签名确认的有效期包括:将免签名确认可用次数减1,且将免签名确认可用时间减去一个时间周期。
USB Key缩短免签名确认的有效期的方法可以为:
当设置的免签名确认的有效期为免签名确认可用次数时,将设置的免签名确认可用次数作为USB Key中CPU的计数初值。当判断免签名确认有效后,也就是USB Key的CPU确认免签名确认可用次数大于0后,将其计数初值减1,并将计数初值减1后获得的次数作为新的计数初值进行保存。
当设置的免签名确认的有效期为免签名确认可用时间时,将设置的免签名确认可用时间和时间周期作为USB Key的CPU的时间初值。当判断免签名确认有效后,也就是USB Key的CPU确认免签名确认可用时间大于0后,CPU将其时间初值减去一个时间周期,并将时间初值减去一个时间周期后获得的剩余时间作为新的时间初值进行保存。
当设置的免签名确认的有效期为免签名确认可用次数和免签名确认可用时间时,将设置的免签名确认可用次数作为USB Key中CPU的计数初值和时间初值。当判断免签名确认有效后,也就是USB Key的CPU确认免签名确认可用次数大于0且免签名确认可用时间大于0后,CPU将其计数初值减1且将其时间初值减去一个时间周期,并将计数初值减1后获得的次数作为新的计数初值进行保存,且将时间初值减去一个时间周期后获得的剩余时间作为新的时间初值进行保存。
步骤108:清除免签名确认;
清除在步骤106设置的免签名确认,也就是清除在设置免签名确认时在USB Key中保存的免签名确认标识、免签名确认的有效期及第一次签名确认标识。
步骤109:结束。
步骤102之后进一步包括:当USB Key掉电时,清除保存的免签名确认标识、免签名确认的有效期及第一次签名确认标识,并结束用户签名。
本发明的上述实施例中,当将USB Key插入用户端且需要利用USB Key进行多次签名操作时,可按照步骤101至步骤108的方法进行用户签名,这就保证USB Key不会在合法用户不知情的状况下被黑客或木马病毒调用,同时省略了部分用户签名确认操作,提高了易用性;而在步骤102之后,一旦USB Key掉电时,清除保存的免签名确认标识、免签名确认的有效期及第一次签名确认标识,这就使得下次再将USB Key插入用户端时需要重新采用步骤101至108的方法进行用户签名,实现了不降低安全性的前提下提高了易用性。
以上仅为本发明的较佳实施例,本发明的步骤101设置免签名确认时还可仅将免签名确认可用时间设置为免签名确认的有效期,则步骤106判断免签名确认是否有效为判断免签名确认的时刻是否在由第一次签名确认的时刻和免签名确认可用时间计算获得的免签名确认的有效期内,如果是则省略步骤107直接执行步骤103,否则执行步骤108;该方法的其它步骤与本发明的上述较佳实施例的相应步骤相同,在此不再赘述。本发明的实施例中,也可在步骤101设置免签名确认时将免签名确认可用时间和免签名确认可用次数作为免签名确认的有效期,这样,步骤106所述判断免签名确认是否有效为判断免签名确认的时刻是否在由第一次签名确认的时刻和免签名确认可用时间计算获得的免签名确认的期限内,且免签名确认可用次数是否大于0,如果免签名确认的时刻在计算获得的免签名确认的期限内且免签名确认可用次数大于0,则免签名确认有效,执行步骤107,否则免签名确认无效,执行步骤108;在步骤107中,缩短免签名确认的有效期为将免签名确认可用次数减1;该实施例的其它步骤与本发明上述较佳实施例的相应步骤相同,在此不再赘述。
免签名确认的期限为将第一次签名确认的时刻和免签名确认可用时间相加获得的免签名确认有效的最终时刻,且每次用户签名的时刻都根据时间向前推进,因此,采用免签名确认的期限进行免签名确认的有效期判断时,可根据用户签名的时刻进行实时判断免签名确认是否有效,无需增加缩短免签名确认的有效期的步骤,具有较高的易用性。
图2为本发明提高智能密钥设备易用性实施例一的方法流程图。本发明的实施例一的USB Key设备为iToken身份认证设备,该iToken身份认证设备内部具有CPU、第一存储器、第二存储器,外部装设有签名确认按钮。其中,第一存储器为只读存储器,存储有私钥和数字证书;第二存储器为随机存取存储器,可存储使用过程中产生的标识;签名确认按钮可输出签名确认信号至CPU。现对iToken身份认证设备的使用方法进行说明,具体如下:
步骤201:开始;
首先将iToken身份认证设备插入用户端,对iToken身份认证设备的免签名确认的有效期进行设置,也就是对iToken身份认证设备的免签名确认可用次数和免签名确认可用时间进行设置。
iToken身份认证设备的第一存储器预先存储了管理员PIN码和与该设备对应的PIN码。
步骤202:判断管理员PIN码是否正确,如果是执行步骤203,否则执行步骤211;
判断iToken身份认证设备使用者输入的管理员PIN码与iToken身份认证设备中存储的管理员PIN码是否相同,如果相同则iToken身份认证设备的使用者具有管理员权限,执行步骤203,否则执行步骤211。
步骤203:设置免签名确认可用次数和免签名确认可用时间;
在验证了iToken身份认证设备的使用者具有管理员权限后,对iToken身份认证设备的免签名确认的有效期进行设置,生成免签名确认标识,将免签名确认标识及免签名确认的有效期存储于第二存储器。具体地,设置免签名确认可用次数和免签名确认可用时间,在设置免签名确认可用时间时进一步设置执行签名操作的时间周期;将设置的免签名确认可用次数作为iToken身份认证设备的CPU的计数初值,将设置的免签名确认可用时间作为iToken身份认证设备的CPU的时间初值,并将设置的时间周期作为CPU的检查周期;比如:设置的免签名可用次数为10,设置的免签名确认可用时间为600秒,检查周期为60秒。
若iToken身份认证设备的具有管理员权限的使用者希望省略验证PIN码,可在本步骤进一步设置缓存PIN码,生成缓存PIN码标识。缓存PIN码标识存储于iToken身份认证设备的第二存储器中,一旦iToken身份认证设备掉电,第二存储器中的缓存PIN码标识被清除。
由于第二存储器为随机存取存储器,因此,一旦iToken身份认证设备掉电,第二存储器存储的免签名确认标识被清除。
步骤204:判断第一次签名确认是否正确,如果是执行步骤205,否则执行步骤211;
当iToken身份认证设备的使用者使用iToken身份认证设备进行电子支付等网上交易时,首先需要对iToken身份认证设备的使用者的身份进行验证。
判断iToken身份认证设备的使用进行的第一次签名确认是否正确,如果是执行步骤205,否则执行步骤211。本实施例中,当iToken身份认证设备的CPU获得外部签名确认按钮输入的信号时,生成第一次签名确认标识并存储于第二存储器中,执行步骤205,否则执行步骤211。
由于第二存储器为随机存取存储器,因此一旦iToken身份认证设备掉电,第二存储器中存储的第一次签名确认标识被清除。
步骤205:判断是否设置了缓存PIN码,如果是执行步骤207,否则执行步骤206;
iToken身份认证设备的CPU中判断其是否缓存了与该USB Key对应的PIN码,如果存在则设置了缓存PIN码,执行步骤207,否则执行步骤206。
步骤206:判断输入的PIN码是否正确,如果是执行步骤207,否则执行步骤211;
iToken身份认证设备比较外部输入的PIN码保存于第一存储器中的PIN码是否相同,如果相同执行步骤207,否则执行步骤211。
步骤207:进行签名;
iToken身份认证设备中的CPU利用算法对用户输入的签名结果进行计算获得签名数据,利用保存的私钥对签名数据加密后输出至相应的服务器,以便对用户身份进行验证。
本步骤用户的签名操作可采用现有的签名操作,本步骤iToken身份认证设备对用户的签名进行处理的方法可采用现有的签名处理方法,对于具体的操作及处理方法在此不再赘述。
步骤208:判断免签名确认可用次数和免签名确认可用时间是否都大于0,如果是执行步骤209,否则执行步骤210;
iToken身份认证设备的CPU判断计数初值是否大于0且时间初值是否大于0,若同时满足上述两个条件,执行步骤209,否则执行步骤210。
步骤209:减小免签名确认可用次数和缩短免签名确认可用时间,之后执行步骤205;
iToken身份认证设备的CPU的计数初值减1,且控制定时单元的时间初值缩短一个时间周期,将计数初值减1后获得的次数作为新的计数初值保存于CPU中,且将时间初值缩短一个时间周期后获得的时间作为新的时间初值保存于CPU;比如:设置的免签名确认可用时间为600秒,时间周期为60秒,则CPU的时间初值缩短60秒,并将缩短后的时间作为新的时间初值。
CPU控制定时单元的时间初值缩短一个时间周期的方法可采用现有的定时器的工作方法,在此不再赘述。
步骤210:清除免签名确认;
iToken身份认证设备清除免签名确认为iToken身份认证设备的CPU清除存储于第二存储器的免签名确认标识、免签名确认的有效期及第一次签名确认标识。
步骤211:结束。
本发明的上述实施例一中,也可在步骤203中设置免签名确认时将免签名确认可用时间和免签名确认可用次数作为免签名确认的有效期,不再设置与免签名确认可用时间对应的检查周期,这样,步骤208为判断免签名确认可用次数是否大于0,且免签名确认的时刻是否在由第一次签名确认的时刻和免签名确认可用时间计算获得的免签名确认的期限内,如果免签名确认的时刻在计算获得的免签名确认的期限内且免签名确认可用次数大于0,则免签名确认有效,执行步骤209,否则免签名确认无效,执行步骤210;步骤209为减小免签名确认可用次数,也就是将免签名确认可用次数减1;该方法的其它步骤与本发明实施例一的相应步骤相同,在此不再赘述。
免签名确认的期限为将第一次签名确认的时刻和免签名确认可用时间相加获得的免签名确认有效的最终时刻,且每次用户签名的时刻都根据时间向前推进,因此,采用免签名确认的期限进行免签名确认的有效期判断时,可根据用户签名的时刻进行实时判断免签名确认是否有效,无需增加缩短免签名确认的有效期的步骤,具有较高的易用性。
图3为本发明智能密钥设备的结构示意图。现结合图3,对智能密钥设备的结构进行说明,具体如下:
本发明的智能密钥设备包括中央处理器CPU31和存储器32。
中央处理器CPU31,根据设置的免签名确认的有效期生成免签名确认标识,输出免签名确认标识及免签名确认的有效期至存储器32存储;验证第一次签名确认正确,生成第一次签名确认标识并输出至存储器32存储,验证PIN码正确后利用从存储器32存储的私钥进行第一次用户签名;判断免签名确认是否在其有效期内,如果是则缩短免签名确认的有效期,且在验证PIN码后进行第N次用户签名,否则清除存储器32存储的免签名确认的有效期、免签名确认标识和第一次签名确认标识,结束第N次用户签名。所述N为大于1的正整数。
存储器32,存储私钥、数字证书、与该设备对应的PIN码、CPU31输出的免签名确认标识、免签名确认的有效期及第一次签名确认标识,且在掉电后清除免签名确认标识及第一次签名确认标识。
本发明的免签名确认的有效期为免签名确认可用次数,或者免签名确认的有效期为免签名确认可用时间,或者免签名确认的有效期为免签名确认可用次数和免签名确认可用时间;在设置免签名确认可用时间的同时,设置一个的时间周期,以对免签名确认可用时间进行更新,也可不设置时间周期,根据第一次签名确认的时刻和免签名确认可用时间计算获得一免签名确认的期限,根据免签名确认的时刻是否在计算获得的免签名确认的期限内来判断免签名确认是否有效。下述表述中,不再对免签名确认的有效期的具体内容进行区分。
本发明的智能密钥设备还可包括签名确认按钮或签名生物特征验证器,签名确认按钮或签名生物特征验证器将用户进行的签名确认输出至CPU31,签名确认按钮或签名生物特征验证器可采用现有技术的结构,在此不再赘述。
存储器32包括第一存储器321和第二存储器322。
第一存储器321为只读存储器,存储私钥、数字证书、该设备对应的PIN码、用户的签名确认数据及免签名确认的有效期;用户的签名确认数据为表示用户同意此次签名的数据。在智能密钥设备掉电后,第一存储器321中存储的内容不会被清除。
第二存储器322为随机存取存储器,存储CPU331输出的免签名确认标识和第一次签名确认标识;第二存储器322中的内容可被清除,且在智能密钥设备掉电后,第二存储器322中的内容自动被清除。
CPU31包括验证模块311、有效期模块312和签名模块313。
验证模块311,根据设置的免签名确认的有效期生成免签名确认标识并输出至第二存储器322存储,将设置的免签名确认的有效期输出至有效期模块312及第二存储器322;根据第一存储器321存储的签名确认数据验证第一次签名确认正确后,生成第一次签名确认标识并输出至第二存储器322存储;验证获得的PIN码与第一存储器321存储的PIN码正确后,输出第一次用户签名指令至签名模块313及有效期模块312;输出有效期指令查询指令至有效期模块312,在获得有效期模块312输出的免签名确认有效的指令后,验证第二存储器322中是否已存储有第一次签名确认标识,如果是则验证获得的PIN码与第一存储器321存储的PIN码是否相同,如果是输出第N次用户签名指令至签名模块313,否则清除第二存储器322存储的免签名确认标识、免签名确认的有效期和第一次签名确认标识。
有效期模块312,存储验证模块311输出的免签名确认的有效期,并根据验证模块311输出的第一次用户签名指令的时刻及免签名确认的有效期计算获得免签名确认的期限;根据验证模块311的有效期查询指令判断免签名确认是否在其有效期内,如果是则缩短免签名确认的有效期,利用缩短后的免签名确认的有效期对存储的验证模块311输出的免签名确认的有效期进行更新,输出免签名确认有效的指令至验证模块311,否则输出免签名确认无效的指令至验证模块311;或者根据验证模块311的有效期查询指令判断免签名确认的时刻是否在免签名确认的期限内,如果是则输出免签名确认有效的指令至验证模块311,否则输出免签名确认无效的指令至验证模块311。用于计算免签名确认的期限的免签名确认的有效期为免签名确认可用时间,不包含时间周期或检测周期。
验证模块311在接收到免签名确认有效的指令后,将外部输入的用户的第一次签名结果随第一次用户签名指令输出至签名模块313,或者将外部输入的用户的第N次签名结果随第N次用户签名指令输出至签名模块313。
签名模块313,根据验证模块311的第一次用户签名指令对用户输入的第一次签名结果进行算法计算获得第一签名数据,利用第一存储器321存储的私钥对第一次签名数据加密后输出;或者根据验证模块311的第N次用户签名指令对用户输入的第N次签名结果进行算法计算获得第N次签名数据,利用第一存储器321存储的私钥对第N次签名数据加密后输出。
有效期模块312包括有效期存储单元3121和第一判断单元3122。
有效期存储单元3121存储验证模块311输出的免签名确认的有效期,利用第一判读单元3122输出的免签名确认的有效期更新存储的验证模块311输出的免签名确认的有效期;具体地,有效期存储单元3121存储验证模块311输出的免签名确认的有效期,在接收到第一判断单元3122输出的免签名确认的有效期后,利用接收到的第一判断单元3122输出的免签名确认的有效期对已存储的免签名确认的有效期进行更新,删除验证模块311输出的免签名确认的有效期,存储第一判读单元3122输出的免签名确认的有效期;或者存储根据验证模块311输出的第一次用户签名指令的时刻和免签名确认的有效期计算获得的免签名确认的期限;用于计算免签名确认的期限的免签名确认的有效期为免签名确认可用次数;免签名确认的期限为第一次用户签名指令的时刻与免签名确认可用时间相加获得的免签名确认有效的最终时刻。
第一判断单元3122,获得验证模块311输出的有效期查询指令后,从有效期存储单元3121读取免签名确认的有效期,判断免签名确认的有效期是否大于0,如果是,则缩短免签名确认的有效期并输出至有效期存储单元3121,输出免签名确认有效的指令至验证模块311,否则,输出免签名无效的指令至验证模块311。当免签名确认的有效期为免签名确认可用次数时,第一判断单元3122缩短免签名确认的有效期为将免签名确认可用次数减1;当免签名确认的有效期为免签名确认可用时间时,第一判断单元3122缩短免签名确认的有效期为将免签名确认可用时间减去一个时间周期;当免签名确认的有效期为免签名确认可用次数和免签名确认可用时间时,第一判断单元3122缩短免签名确认的有效期为将将免签名确认可用次数减1,且将免签名确认可用时间减去一个时间周期。或者第一判断单元3122在获得验证模块311输出的有效期查询指令后,从有效期存储单元3121读取免签名确认的期限,判断验证模块输出有效期查询指令的时刻是否在免签名确认的期限内,如果是,输出免签名确认有效的指令至验证模块311,否则输出免签名无效的指令至验证模块311,此时第一判断单元3122无需缩短免签名确认的有效期。
验证模块311包括控制单元3111和标识产生单元3112。
控制单元3111,判断输入的数据为免签名确认的有效期后,输出免签名确认的有效期至有效期存储单元3121及第一存储器321,输出免签名确认指令至标识产生单元3112。
控制单元3111接收到外部输入的用户签名指令,判断第二存储器322中未保存第一次签名确认标识,则确定为第一次用户签名,根据第一存储器存储321的签名确认数据判断外部输入的第一次签名确认是否正确,如果是,则输出第一次签名确认指令至标识产生单元3112,否则结束用户签名并清除第二存储器322存储的免签名确认标识和第一次签名确认标识。控制单元3111在确定第一次签名确认正确的情况下,根据第一存储器321存储的该设备对应的PIN码验证获得的PIN码是否正确,如果是,则输出第一次用户签名指令至签名模块313及有效期存储单元3121,输出有效期查询指令至第一判断单元3122,否则结束用户签名并清除第二存储器322存储的免签名确认标识和第一次签名确认标识。
控制单元3111接收到外部输入的用户签名指令,判断第二存储器322中保存有第一次签名确认标识,则确定为第N次用户签名,在接收到第一判断单元3122输出的免签名确认有效的指令后,根据第一存储器321存储的该设备对应的PIN码验证获得的PIN码是否正确,如果是,则输出第N次用户签名指令至签名模块313,输出有效期查询指令至第一判断单元3122,否则结束用户签名并清除第二存储器322存储的免签名确认标识和第一次签名确认标识。
控制单元3111输出第一次用户签名指令时,将获得的外部输入的第一次用户签名数据输出至签名模块313;控制单元3111输出第N次用户签名指令时,将获得的外部输入的第N次用户签名数据输出至签名模块313。
标识产生单元3112根据获得的免签名确认指令产生免签名确认标识,并输出至第二存储器322;根据获得的第一次签名确认指令产生第一次签名确认标识,并输出至第二存储器322。
为了进一步提高智能密钥设备的易用性,验证模块311还包括缓存PIN码单元3113;缓存PIN码单元3113接收到外部输入的缓存PIN码指令,从第一存储器321中获取该设备对应的PIN码,输出获取的PIN码至控制单元3111。
以上为本发明的较佳实施例,在利用智能密钥设备进行用户签名确认操作时,可省略PIN码验证操作,对于图1所示的实施例,也就是省略步骤103和步骤104,在步骤102判断第一次签名确认正确后,执行步骤105进行签名,当执行步骤109缩短免签名确认的有效期后,执行步骤105进行签名;对于图2所示的实施例,也就是省略步骤205和步骤206,在步骤204判断第一次签名确认正确后,执行步骤207进行签名,当执行步骤209减小免签名确认可用次数和缩短免签名确认可用时间后,执行步骤207进行签名;对于装置的实施例来说,也可省略PIN码验证操作,相应地可不对PIN码进行存储。
本发明的上述实施例中,当智能密钥设备插入用户端且需要完成多次签名操作时,本发明的方法及装置预先设置了免签名确认的有效期,只需在第一次用户签名通过验证第一次签名确认和PIN码的正确性确定智能密钥设备使用者的身份合法性,后续的第N次用户签名只需验证了PIN码的正确性就可进行第N次用户签名,省略了用户第N次签名确认的操作,提高了智能密钥设备的易用性;而一旦智能密钥设备掉电,其存储的免签名确认的有效期、免签名确认标识和第一次签名确认标识被清除,在提高易用性的同时未降低智能密钥设备的安全性。为了进一步提高智能密钥设备的易用性,预先设置缓存PIN码,这样在每次签名操作时都无需验证PIN码的正确性,提高了智能密钥设备的易用性。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。