指纹签名设备及其制造方法和指纹签名处理方法

文档序号:7774289阅读:262来源:国知局
指纹签名设备及其制造方法和指纹签名处理方法
【专利摘要】本发明公开一种指纹签名设备及制造方法、以及指纹签名处理方法,该指纹签名设备的制造方法包括:提供指纹处理单元和密码处理单元;在所述密码处理单元或者所述指纹处理单元中植入第一种子密钥;和使植入有所述第一种子密钥的处理单元将所述第一种子密钥发送给未植入所述第一种子密钥的处理单元,然后在收到所发送的所述第一种子密钥的处理单元中保存所述第一种子密钥;或者,使植入有所述第一种子密钥的处理单元导出第二种子密钥并将所述第二种子密钥发送给未植入所述第一种子密钥的处理单元,然后在收到所发送的所述第二种子密钥的处理单元中保存所述第二种子密钥。
【专利说明】指纹签名设备及其制造方法和指纹签名处理方法
【技术领域】
[0001]本发明涉及一种指纹签名设备及制造方法、以及指纹签名处理方法,尤其涉及一种安全的指纹签名设备及制造方法、以及指纹签名处理方法。
【背景技术】
[0002]随着信息技术的发展,应运而生了相应的信息安全设备。针对业务终端(例如,个人电脑(下文简称“PC”)或者笔记本电脑)的操作,现已制造出各种安全设备,例如数字签名设备,用于保障信息处理的安全。以往,诸如数字签名设备之类的安全设备通常使用鉴别手段来保障信息处理的安全,例如使用口令鉴别。但是,口令易被猜测获取,所以安全性不强。后来,发展了生物识别方式,例如采用有指纹鉴别功能的例如诸如指纹Key之类的指纹签名设备,这使得攻击者无法轻易模拟用户输入指纹,而且无需用户记忆口令,从而弥补了口令在安全性方面不足的缺陷,使得保障信息处理的安全性和设备的易用性都得到极大提升。
[0003]图1示出了一种现有的指纹签名设备(以下以“指纹Key”为例进行描述)101实现方案的示意图。在图1中,指纹KeylOl与用户的业务终端102相连,实现数字签名功能。当需要对数据进行关键运算(例如,数字签名)时,业务终端102将数据传给指纹KeylOl,并提示用户在指纹KeylOl上输入指纹。指纹KeylOl采集提取到用户所输入指纹的指纹特征值后,将提取到的指纹特征值与保存在指纹KeylOl内的用户指纹特征值进行比对,若比对通过,则启用指纹KeylOl内的私钥对数据进行关键运算(例如,数字签名),最后将签名结果返回给业务终端102。若比对不通过(即,采集提取到的用户指纹特征值与保存的用户指纹特征值不匹配),则不进行关键运算(例如,数字签名)操作。
[0004]图1示出的现有的指纹KeylOl包括指纹传感器1011、指纹识别芯片(简称“指纹芯片”)1012、和密码算法芯片(简称“密码芯片”)1013。指纹传感器1011负责采集指纹,并将采集到的指纹数据传给指纹芯片1012。这里,密码芯片1013的主要功能可以有两个--第一,完成数据存储(例如,存储用户指纹特征值)和/或作为主控芯片进行整体逻辑控制;第二,完成相关关键运算(例如,启用私钥对数据进行数字签名)。指纹芯片1012的主要功能也可以有两个:第一,进行指纹特征值的提取运算,从而从采集到的指纹中提取出指纹特征值;第二,将所提取到的指纹特征值与用户指纹特征值进行比对。
[0005]由于指纹特征值的提取和比对所采用的指纹算法是一直在不断演进中的非标准化的算法,而且,不同的业务领域、不同的地方所使用的指纹算法各不相同,因此指纹芯片通常会是一款定制的芯片,或采用FPGA (Field — Programmable Gate Array,现场可编程门阵列)芯片,其中将指纹算法加载到这款定制的芯片或FPGA芯片中。而关键运算(例如,数字签名)所用的密码算法通常都是标准化的算法,世界各地都采用相同的密码算法,例如诸如RSA(以Ron Rivest、Adi Shamirh和Len Adleman三个人的名字命名的公钥算法)、DSA(Digital Signature Algorithm,数字签名算法)或 ECC(Elliptic Curves Cryptography,椭圆曲线密码算法)之类的公钥算法,或者诸如DES (Data Encryption Standard,数据加密标准)、3DES或AES (Advanced Encryption Standard,高级加密标准算法)之类的对称加密算法等,将这些密码算法在一个芯片内实现的技术也已经很成熟。当一个设备同时需要指纹算法和密码算法时,鉴于指纹算法和密码算法的上述特点,现有技术中通常会采用双芯片结构,即,同时包括指纹芯片和密码芯片的结构。如以上参照图1所述的那样,现有的指纹Key都需要采用双芯片结构。
[0006]在这种双芯片结构下,当需要指纹Key对处理信息进行关键运算(例如,数字签名)时,密码芯片1013会先通知指纹芯片1012进行指纹比对,然后指纹芯片1012接收由指纹传感器1011采集的指纹数据,提取指纹特征值,将所提取的指纹特征值与存储的用户指纹特征值进行比对,并将比对结果反馈给密码芯片1013。若比对结果为“通过”,则密码芯片1013进行关键运算(例如,数字签名);若为“不通过”,则密码芯片1013不进行关键运算(例如,数字签名)。
[0007]使用指纹Key进行关键运算(例如,数字签名)时,与指纹相关的操作主要涉及三个:原始指纹采集、新指纹采集和指纹比对。
[0008]原始指纹采集是指,指纹Key的用户在第一次使用指纹Key时,需要先向指纹Key输入自己的指纹数据,指纹Key提取并保存该指纹的指纹特征值。如图2所示,原始指纹采集的具体流程例如如下:
[0009]在步骤S201,密码芯片1013处理由用户首次使用指纹Key时通过例如PC发起的指令;
[0010]在步骤S202,密码芯片1013发出指纹采集指令给指纹芯片1012 ;
[0011]在步骤S203,指纹芯片1012启动指纹传感器1011来采集指纹数据;
[0012]在步骤S204,指纹芯片1012从所采集的指纹数据中提取用户指纹特征值;
[0013]在步骤S205,指纹芯片1012将提取的用户指纹特征值返回给密码芯片1013 ;和
[0014]在步骤S206,密码芯片1013将用户指纹特征值保存在自己的密码芯片安全存储区。
[0015]可选的是,在步骤S205中,指纹芯片1012也可将提取的用户指纹特征值保存在自己的指纹芯片存储区中,此时,指纹芯片1012可以将表示提取保存成功的信息例如“0K”返回给密码芯片1013。这种情况下,步骤S206可以省略。
[0016]新指纹采集是指,在原始指纹采集之后,用户使用指纹Key进行关键运算(例如,数字签名)时,向指纹Key输入自己的指纹数据,指纹Key提取该新指纹的新指纹特征值。如图3所示,新指纹采集的具体流程通常如下:
[0017]在步骤S301,在原始指纹采集之后,密码芯片1013处理用户通过例如PC发起的关键运算(例如,数字签名)指令;
[0018]在步骤S302,密码芯片1013发出新指纹采集指令给指纹芯片1012 ;
[0019]在步骤S303,指纹芯片1012启动指纹传感器1011来采集新指纹数据;和
[0020]在步骤S304,指纹芯片1012从所采集的新指纹数据中提取新指纹特征值。
[0021]指纹比对是指,用户使用指纹Key进行关键运算(例如,数字签名)时,在新指纹特征值提取之后,指纹Key完成新指纹特征值与已保存的用户指纹特征值之间的比较。如图4所示,指纹比对的具体流程通常如下:
[0022]在步骤S402,在密码芯片1013处理用户通过例如PC发起的关键运算(例如,数字签名)指令之后,并且在密码芯片1013发出新指纹采集指令给指纹芯片1012之前、同时或者之后,密码芯片1013发送指纹比对指令给指纹芯片1012,附带已保存的用户指纹特征值数据;
[0023]在步骤S404,在新指纹特征值提取之后,指纹芯片1012将提取的新指纹特征值与已保存的用户指纹特征值进行比对;和
[0024]在步骤S405,指纹芯片1012将比对的结果返回给密码芯片1013。
[0025]在指纹比对之后,如前所述,密码芯片1013根据返回的比对结果来决定进一步操作,若比对结果为“通过”,则密码芯片1013进行关键运算(例如,数字签名);若为“不通过”,则密码芯片1013不进行关键运算(例如,数字签名),即,若为“不通过”,则要么密码芯片1013再次发送指纹比对指令给指纹芯片1012进而重复指纹比对操作,要么密码芯片1013终止进行关键运算(例如,数字签名)。
[0026]然而,这个使用双芯片结构的指纹Key进行关键运算(例如,数字签名)的过程存在安全隐患。
[0027]具体而言,从安全的角度看,指纹key产生例如签名的前提条件是必须进行用户鉴别,即需要通过指纹采集和指纹比对来确认当前的操作是用户自己进行的,不是由攻击者发出的。但指纹key的双芯片结构使得攻击者有可能绕过指纹采集和比对环节,例如,攻击者在获得指纹Key的情况下,可以打开指纹Key,将指纹Key中的指纹芯片屏蔽掉,而把被攻击者操纵的另一电路与密码芯片搭接以进行通信,这样,攻击者就可以操纵该另一电路来向密码芯片发送“通过”和/或“不通过”消息,比如,如果两芯片通信协议中以“O”代表“不通过”,以“I”代表“通过”,那么攻击者只需操纵该另一电路向密码芯片发送“1”,即可诱使密码芯片产生例如签名,也就是说,攻击者实际模拟了指纹芯片来发出“通过”消息给密码芯片,导致直接在指纹芯片与密码芯片间进行中间人攻击,从而诱使指纹Key在未进行用户鉴别的情况下进行关键运算(例如,进行数字签名)从而实现有效攻击,使得用户受损。
[0028]因此,需要一种能够有效消除上述安全隐患的安全的指纹签名设备及其制造方法和指纹签名处理方法。

【发明内容】

[0029]本发明能够克服现有技术存在的上述一个或者多个缺点。
[0030]根据本发明的一个方面,一种指纹签名设备的制造方法包括:提供指纹处理单元和密码处理单元;在所述密码处理单元或者所述指纹处理单元中植入第一种子密钥;和使植入有所述第一种子密钥的处理单元将所述第一种子密钥发送给未植入所述第一种子密钥的处理单元、然后在收到所发送的所述第一种子密钥的处理单元中保存所述第一种子密钥,或者使植入有所述第一种子密钥的处理单元导出第二种子密钥并将所述第二种子密钥发送给未植入所述第一种子密钥的处理单元、然后在收到所发送的所述第二种子密钥的处理单元中保存所述第二种子密钥。
[0031]根据本发明的另一个方面,一种指纹签名设备的制造方法包括:提供指纹处理单元和密码处理单元;和在所述密码处理单元和所述指纹处理单元中分别植入并保存第一种子密钥。
[0032]另外,在以上两种制造方法中,可以使保存所述第一种子密钥或者所述第二种子密钥的处理单元发送种子密钥保存成功的消息
[0033]此外,在以上两种制造方法中,可以将所述密码处理单元构造为密码芯片,并且可以将所述指纹处理单元构造为指纹芯片。
[0034]再有,在以上两种制造方法中,可以将所述密码处理单元与所述指纹处理单元集成在单一芯片中。
[0035]还有,在前述的制造方法中,所述第一种子密钥可以是由所述植入有所述第一种子密钥的处理单元自身产生而植入的。
[0036]另外,在前述的制造方法中,所述第一种子密钥可以是随机数。此外,在前述的制造方法中,所述指纹签名设备可以是指纹Key。
[0037]根据本发明的又一个方面,一种由前述的制造方法制造的指纹签名设备包括:指纹传感器,所述指纹传感器用于采集用户指纹数据和后续指纹数据;所述指纹处理单元,所述指纹处理单元用于与所述指纹传感器进行通信,并且用于从所述用户指纹数据中提取用户指纹特征值,以及从所述后续指纹数据中提取后续指纹特征值;和所述密码处理单元,所述密码处理单元用于与所述指纹处理单元进行通信并且用于完成关键运算,其中所述用户指纹特征值存储在所述指纹处理单元中或者存储在所述密码处理单元中,并且其中所述指纹处理单元还用于将所述后续指纹特征值与所述用户指纹特征值进行比对。
[0038]另外,在以上的指纹签名设备中,所述密码处理单元可以构造为密码芯片,并且所述指纹处理单元可以构造为指纹芯片。此外,在以上的指纹签名设备中,所述密码处理单元可以与所述指纹处理单元集成在单一芯片中。再有,在以上的指纹签名设备中,所述第一种子密钥可以是由所述植入有所述第一种子密钥的处理单元自身产生而植入的。还有,在以上的指纹签名设备中,所述第一种子密钥可以是随机数。另外,以上的指纹签名设备可以是指纹Key,并且所述关键运算可以是执行数字签名。
[0039]根据本发明的再一个方面,一种使用前述指纹签名设备进行的指纹签名处理方法包括:在使用所述指纹签名设备执行用于指纹签名处理的指令时:所述密码处理单元和所述指纹处理单元二者中的数据发送方生成第一数据,并使用所述第一数据和所述数据发送方中的所述种子密钥计算出第一会话密钥;所述数据发送方用所述第一会话密钥和指令消息的内容计算出指令消息的第一消息鉴别码;所述数据发送方发送指令消息给所述密码处理单元和所述指纹处理单元二者中的数据接收方,所述指令消息包含所述指令消息的内容、所述第一数据、代表所述指令的类型的指令值和所述第一消息鉴别码;所述数据接收方用接收到的所述第一数据和所述数据接收方中的所述种子密钥计算出第二会话密钥;和所述数据接收方用所述第二会话密钥验证接收到的第一消息鉴别码是否正确,如果验证结果为“正确”,则所述数据接收方根据所述指令值执行所述指令指示的操作;如果验证结果为“不正确”,则所述数据接收方发送报错信息给所述数据发送方,并在所述数据接收方中结束所述指纹签名设备当前的操作。
[0040]另外,在以上的指纹签名处理方法中,所述指令可以是以下指令中的至少一种:原始指纹采集指令、新指纹采集指令、和指纹比对指令。此外,在以上的指纹签名处理方法中,所述第二会话密钥的计算机制与所述第一会话密钥的计算机制可以是相同的。再有,在以上的指纹签名处理方法中,所述指令消息还可以包含标识数据处理类型的识别码。
[0041]本发明通过在密码处理单元(例如,密码芯片)和指纹处理单元(例如,指纹芯片)间使用种子密钥,并用种子密钥保护密码处理单元与指纹处理单元之间的通信,能够有效消除现有技术的双芯片结构的指纹签名设备中存在的安全隐患。
[0042]另外,优选地,本发明可以利用目前市场上可用的双芯片结构,从而相对于单芯片结构来说,在成本低、产业成熟、生产快速、和利于指纹签名设备的推广使用方面更具优势。
[0043]对本领域的技术人员来说很显然的是,在上述内容的基础上可对它们做各种修改、变换或任意组合。
[0044]根据下面附图和详细描述,本发明的指纹签名设备的处理方法和处理系统以及相应的其他特征和优点对于本领域技术人员来说将变得显而易见。本申请意在使所有这些和其他方法、系统、特征和优点都包含在该描述中。应当理解,本文前面的一般性描述和下面的详细描述都是示例性的和解释性的,意在提供如对所要求保护的技术方案的进一步的理解,但没有任何东西应被视为是对所要求保护的技术方案的限制。
【专利附图】

【附图说明】
[0045]以下,为更好地理解本发明,将结合附图详细描述本发明的各示例性的【具体实施方式】。
[0046]图1是一种以现有的指纹Key为例的签名设备实现方案的示意图。
[0047]图2是使用如图1所示的现有的指纹Key进行原始指纹采集的流程图。
[0048]图3是使用如图1所示的现有的指纹Key进行新指纹采集的流程图。
[0049]图4是使用如图1所示的现有的指纹Key进行指纹比对的流程图。
[0050]图5是根据本发明一个示例性【具体实施方式】的一种以指纹Key为例的指纹签名设备的制造方法中种子密钥预置实例的流程图。
[0051]图6是以图5所不实例所制造的双芯片结构指纹Key为例的指纹签名设备的不意性结构图。
[0052]图7是采用图6所示双芯片结构指纹Key进行签名操作过程中密码保护机制实施的示例性流程图。
【具体实施方式】
[0053]现在将参照本文的各实施方式进行详细描述,附图中图解了其实例。为了将其思想传达给本领域普通技术人员,提供此后引入的这些实施方式作为实例。因此,这些实施方式可以以不同的形式实施,从而并不限于这里所述的这些实施方式。而且,在任何可能的地方,在整个说明书和附图中将使用相同的附图标记表示相同或相似的部件。
[0054]另外,本申请中使用了序数词词语“第一”、“第二”等来描述多个元件(或构成部分),用于对这多个元件(或构成部分)中的一个元件(或构成部分)与另一元件(或构成部分)进行区分,但这些词语“第一”、“第二”并没有对这些元件(或构成部分)有任何“顺序”上的限制。因此,将下面讨论的那些元件或构成部分的序数词相互变换也没有超出本发明的构思和范围。再有,本文中的“数据发送方”和“数据接收方”分别是指进行通信的双方中发送数据的一方和接收数据的一方。例如,在密码处理单元和指纹处理单元进行通信时,在密码处理单元发送指令给指纹处理单元的阶段,“密码处理单元”为数据发送方,而“指纹处理单元”为数据接收方;反之,在指纹处理单元发送信息给密码处理单元的阶段,“密码处理单元”为数据接收方,而“指纹处理单元”为数据发送方。
[0055]如前所述,本发明通过在密码处理单元(例如,密码芯片)和指纹处理单元(例如,指纹芯片)间使用种子密钥,并用种子密钥保护密码处理单元与指纹处理单元之间的通信,能够有效消除现有技术的双芯片结构的指纹签名设备中存在的安全隐患。
[0056]可以通过多种方式实现本发明,例如,可以在指纹签名设备(例如指纹Key)的制造过程中,为密码处理单元和指纹处理单元分别预置一个种子密钥,种子密钥作为指纹签名设备的使用过程中产生会话密钥的基础。这里,这两个种子密钥可以相互导出。优选的是,这两个种子密钥可以相同,从而可以省去用于相互导出的计算过程。当然,种子密钥的使用还可以是本领域技术人员能够想到的其他可能的方式,本领域的技术人员在阅读和理解本发明后,可对其做各种修改和变换。图5示出了根据本发明一个示例性【具体实施方式】的一种以指纹Key为例的指纹签名设备的制造方法中种子密钥预置实例的流程图。
[0057]如图5所示,在指纹Key的制造过程中,按照如下流程进行种子密钥的预置:
[0058]首先,在步骤S501,在密码芯片5013中植入种子密钥。这里,种子密钥可以从外部设备产生后植入密码芯片中。由于指纹Key的生产环境是可信的,从而保证了每个指纹Key中的种子密钥只在该指纹Key中的密码芯片与指纹芯片间共享,而其他任何地方不会有种子密钥的备份,由此使得种子密钥的泄密可能性降低。可选的是,种子密钥也可以由密码芯片自身产生来植入,例如,通过密码芯片自身内部的密码运算来产生,这样,进一步避免了种子密钥从外部设备泄漏的可能性。另外,种子密钥可以是随机数,这进一步降低了有规律生成的种子密钥的泄密可能性。
[0059]接着,在步骤S502,密码芯片5013将所植入的种子密钥发送给指纹芯片5012。
[0060]然后,在步骤S503,指纹芯片5012保存接收到的种子密钥。
[0061]最后,在步骤S505,指纹芯片5012将种子密钥保存成功的消息发送给密码芯片5013。
[0062]由此,种子密钥预置完成,可执行后续的指纹Key的制造步骤。
[0063]这里需要说明的是,在图5中,仅详细示出了指纹Key的制造方法中种子密钥预置的具体流程步骤,这里省略了对该制造方法中的其他步骤的详细描述,因为这些其他步骤与现有技术的制造方法中的相应步骤相同而无需赘述。当然,本领域的技术人员在阅读和理解本发明后,可对本发明的指纹Key的制造方法做各种修改和变换。例如,在步骤S505,指纹芯片5012也可以发送显示信号给指纹Key上的指示灯的方式显示保存成功的信息,而不必发送保存成功的消息给密码芯片。
[0064]另外,优选的是,每个指纹Key的种子密钥与其他指纹Key的种子密钥可以是不同的,或者是不可互相导出的,也可以是相互之间无任何关联的,由此,可以进一步防止攻击者获取相同的种子密钥或者获取种子密钥关联方式所带来的危险,从而进一步提升指纹Key的安全性。当然,对于同一个指纹key来说,种子密钥也可以是先植入指纹芯片中,然后由指纹芯片发送给密码芯片并保存在密码芯片中,其他步骤与上述种子密钥预置的流程步骤相同,在此不再赘述。另外,对于同一个指纹key来说,也可把植入的初始种子密钥通过导出计算而转换成另一导出的种子密钥,并将导出的种子密钥发送给未植入初始种子密钥的芯片并保存在后者中,其他步骤与上述种子密钥预置的流程步骤相同,在此不再赘述。或者,对于同一个指纹key来说,种子密钥可以由外部可信的设备分别写入指纹芯片和密码芯片中。
[0065]图6是图5所示实例的以指纹Key为例的指纹签名设备的制造方法所制造的双芯片结构指纹Key的示意性结构图。
[0066]如图6所示,根据本发明的以指纹Key为例的指纹签名设备的制造方法所制造的双芯片结构指纹Key601包括指纹传感器6011、指纹芯片6012和密码芯片6013,其中在指纹芯片6012和密码芯片6013中已分别预置有例如相同的种子密钥6014。
[0067]图7是采用图6所示双芯片结构指纹Key进行签名操作过程中密码保护机制实施的示例性流程图。
[0068]如图7所示,在采用图6所示的双芯片结构指纹Key进行签名操作过程中,按照如下流程实现本发明的密码保护机制:[0069]首先,在步骤S701,在指纹Key执行到某指令的时候,例如,进行原始指纹采集、新指纹采集或者指纹比对的时候,密码芯片6013生成随机数,例如,以Nonce表示,并且使用Nonce和密码芯片6013中预置的种子密钥计算出第一会话密钥。
[0070]然后,在步骤S702,密码芯片6013用第一会话密钥和当前的指令消息的内容计算出指令消息的第一消息鉴别码(Message Authentication Code, MAC)。
[0071]之后,在步骤S703,密码芯片6013发送指令消息给指纹芯片6012,该指令消息包含指令消息的内容、Nonce、代表指令类型(例如,是指纹比对指令还是新指纹采集指令)的指令值和第一 MAC。可选的是,该指令消息可进一步包含标识数据处理类型的识别码(ID),以在密码芯片6013发送指令与指纹芯片返回响应之间进一步建立对应关系,从而进一步避免重放攻击(Replay Attacks)。这里的重放攻击是指,攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于认证(例如,身份认证)过程,破坏认证的正确性。
[0072]随后,在步骤S704,指纹芯片6012用接收到的Nonce和指纹芯片6012中预置的种子密钥计算出第二会话密钥,这里,第二会话密钥的计算机制与密码芯片6013对第一会话密钥的计算机制是相同的。
[0073]接着,在步骤S705,指纹芯片6012用第二会话密钥验证接收到的第一 MAC是否正确。如果验证结果为“正确”,则进入步骤S706 ;如果验证结果为“不正确”,则指纹芯片6012向密码芯片6013发送报错信息,在指纹芯片6012中结束指纹Key当前的操作。这里所说的“验证……是否正确”的方式,可以是利用与用第一会话密钥计算第一 MAC相同的计算方法,用第二会话密钥和当前的指令消息的内容计算第二 MAC,然后将第二 MAC与接收到的第一 MAC进行比对,来确定第一 MAC是否正确(即,确定第一 MAC与第二 MAC是否相同,或者说,确定二者是否完全一样),也可以是本领域普通技术人员在阅读本说明书后能够想到的其他方式。
[0074]在步骤S706,指纹芯片6012根据指令值执行相关操作,例如,指纹芯片6012启动指纹传感器6011来采集原始指纹数据或者新指纹数据,或者指纹芯片6012执行指纹比对。
[0075]接着,在步骤S707,指纹芯片6012用第二会话密钥和操作结果的内容计算出返回消息MAC。
[0076]随后,在步骤S708,指纹芯片6012把包含操作结果的内容和返回消息MAC的返回消息返回给密码芯片6013。如前所述,可选的是,返回消息还可进一步包含标识数据处理类型的ID,从而进一步避免重放攻击。另外,可选的是,返回消息还可进一步包含前述代表指令类型的指令值,以加强同一次指令操作的对应性。
[0077]之后,在步骤S709,密码芯片6013用第一会话密钥验证接收到的返回消息MAC是否正确,并且在上述返回消息中包含标识数据处理类型的ID的情况下检查所接收到的标识数据处理类型的ID是否为当前最新发给指纹芯片6012的ID (以下简称“最新的ID”)。这里所说的“验证……是否正确”的方式,可以是利用与用第一会话密钥计算第一 MAC相同的计算方法,用第一会话密钥和接收的操作结果的内容计算第三MAC,然后将第三MAC与接收到的返回消息MAC进行比对,来确定返回消息的MAC是否正确(即,确定返回消息MAC与第三MAC是否相同,或者说,确定二者是否完全一样),也可以是本领域普通技术人员在阅读本说明书后能够想到的其他方式。如果验证结果是所接收到的返回消息MAC不正确,或者在上述返回消息中包含标识数据处理类型的ID的情况下检查的ID不是最新的ID,则在密码芯片6013中结束指纹Key当前的操作。如果验证结果是所接收到的返回消息MAC正确,并且在上述返回消息中包含标识数据处理类型的ID的情况下检查的ID是最新的ID,则指纹Key执行正常的后续操作,例如,密码芯片1013进行关键运算(例如,数字签名)。
[0078]这里需要说明的是,在图7中,仅详细示出了双芯片结构指纹Key进行关键运算(例如,数字签名)操作过程中密码保护机制实施的具体流程步骤,而省略了对该关键运算(例如,数字签名)操作过程中的其他步骤(例如,密码芯片处理用户通过PC发起的关键运算(例如,数字签名)指令,密码芯片1013发出指纹采集指令或者指纹比对指令给指纹芯片,指纹传感器进行指纹采集,指纹芯片提取指纹特征值或者进行指纹比对,和密码芯片进行关键运算,等等)的详细描述,因为这些其他步骤与现有技术的关键运算(例如,数字签名)操作方法中的相应步骤相同而无需赘述。当然,本领域的技术人员在阅读和理解本发明后,可对本发明的指纹签名设备(例如指纹Key)的制造方法做各种修改和变换。
[0079]此外,密码芯 片和指纹芯片中用来计算会话密钥的对称密码算法既可以是预先固化在各芯片中的,也可以用软件实现来加载到各芯片中,后者可以通过软件的变化来提高对称密码算法的灵活性,并便于更新。
[0080]通过上述对在密码芯片和指纹芯片间的消息增加MAC验证机制,即,对密码芯片与指纹芯片之间的交互通信,通过种子密钥(例如,与随机数一起)计算出会话密钥,用该会话密钥对交互通信的消息进行MAC运算,密码芯片与指纹芯片二者中的接收方先验证MAC的正确性,只有验证通过才执行进一步操作。由于当前与下次交互通信时的会话密钥是不可预测的,所以当前与下次的MAC值是不可预测、无法模拟的,从而减小了攻击者模拟发送数据的芯片向接受数据的芯片发送虚假的“通过”消息的可能性。尤其是对执行与指纹相关的操作(例如,原始指纹采集、新指纹采集、和指纹比对)的交互通信来说,更大大减小了攻击者模拟指纹芯片向密码芯片发送“通过”消息的可能性。从而提高了设备处理的安全性,尤其是大大提高了双芯片结构指纹Key的安全性。当然,如果对同一次密码芯片与指纹芯片之间的交互通信,在每个步骤执行前后都采用会话密钥计算和验证MAC的方式,就能够防止攻击者模拟上述发送“通过”消息的可能性。
[0081]通过实施本发明,消除了现有的指纹签名设备,尤其是双芯片结构指纹Key的安全隐患,可制造出安全的指纹签名设备例如双芯片结构指纹Key。尤其是,更安全的指纹Key对于越来越被广泛接受和使用的网上客户端的各种操作安全提供了更可靠的保障。
[0082]另外,本说明书前面以双芯片结构的指纹Key为例对本发明做了详细的说明,但是,本领域技术人员在阅读本发明说明书及其附图后,可以理解的是,密码芯片可对应于单芯片中的密码处理单元,指纹芯片对应于单芯片中的指纹处理单元,也就是说,本发明也同样适用于将密码处理单元和指纹处理单元集成在单一芯片中的单芯片指纹签名设备,例如单芯片结构的指纹Key,这增加了攻击者屏蔽指纹处理单元和搭接密码处理单元的难度。相对于单芯片结构的方案,双芯片结构由于可以利用现有的指纹芯片和密码芯片,所以双芯片结构在成本低、产业成熟、生产快速、和利于指纹签名设备的推广使用方面更具优势。
[0083]前面结合本发明的典型实施方式和实例详细描述了本发明,但本领域的技术人员可以理解,这些典型实施方式和实例并不应作为对本发明的保护范围的限制,那些对本领域的技术人员来说很明显的修改、变换和替换都应落在本发明的保护范围内。
【权利要求】
1.一种指纹签名设备的制造方法,所述方法包括: 提供指纹处理单元和密码处理单元; 在所述密码处理单元或者所述指纹处理单元中植入第一种子密钥;和使植入有所述第一种子密钥的处理单元将所述第一种子密钥发送给未植入所述第一种子密钥的处理单元,然后在收到所发送的所述第一种子密钥的处理单元中保存所述第一种子密钥;或者,使植入有所述第一种子密钥的处理单元导出第二种子密钥并将所述第二种子密钥发送给未植入所述第一种子密钥的处理单元,然后在收到所发送的所述第二种子密钥的处理单元中保存所述第二种子密钥。
2.一种指纹签名设备的制造方法,所述方法包括: 提供指纹处理单元和密码处理单元;和 在所述密码处理单元和所述指纹处理单元中分别植入并保存第一种子密钥。
3.根据权利要求1或者2所述的制造方法,其中: 使保存所述第一种子密钥或者所述第二种子密钥的处理单元发送种子密钥保存成功的消息。
4.根据权利要求1或者2所述的制造方法,其中: 将所述密码处理单元构造为密码芯片,并且将所述指纹处理单元构造为指纹芯片。
5.根据权利要求1或者2所述的制造方法,其中: 将所述密码处理单元与所述·指纹处理单元集成在单一芯片中。
6.根据权利要求1至5任一所述的制造方法,其中: 所述第一种子密钥是由所述植入有所述第一种子密钥的处理单元自身产生而植入的。
7.根据权利要求1至6任一所述的制造方法,其中所述第一种子密钥是随机数。
8.根据权利要求1至7任一所述的制造方法,其中所述指纹签名设备是指纹Key。
9.一种由权利要求1或者2所述的方法制造的指纹签名设备,所述指纹签名设备包括: 指纹传感器,所述指纹传感器用于采集用户指纹数据和后续指纹数据; 所述指纹处理单元,所述指纹处理单元用于与所述指纹传感器进行通信,并且用于从所述用户指纹数据中提取用户指纹特征值,以及从所述后续指纹数据中提取后续指纹特征值;和 所述密码处理单元,所述密码处理单元用于与所述指纹处理单元进行通信,并且用于完成关键运算, 其中所述用户指纹特征值存储在所述指纹处理单元中或者存储在所述密码处理单元中,并且 其中所述指纹处理单元还用于将所述后续指纹特征值与所述用户指纹特征值进行比对。
10.根据权利要求9所述的指纹签名设备,其中所述密码处理单元构造为密码芯片,并且所述指纹处理单元构造为指纹芯片。
11.根据权利要求9所述的指纹签名设备,其中所述密码处理单元与所述指纹处理单元集成在单一芯片中。
12.根据权利要求9至11任一所述的指纹签名设备,其中:所述第一种子密钥是由所述植入有所述第一种子密钥的处理单元自身产生而植入的。
13.根据权利要求9至12任一所述的指纹签名设备,其中所述第一种子密钥是随机数。
14.根据权利要求9至13任一所述的指纹签名设备,其中所述指纹签名设备是指纹Key,并且所述关键运算是执行数字签名。
15.一种使用权利要求9-14任一所述的指纹签名设备进行的指纹签名处理方法,所述指纹签名处理方法包括: 在使用所述指纹签名设备执行用于指纹签名处理的指令时, 所述密码处理单元和所述指纹处理单元二者中的数据发送方生成第一数据,并使用所述第一数据和所述数据发送方中的所述种子密钥计算出第一会话密钥; 所述数据发送方用所述第一会话密钥和指令消息的内容计算出指令消息的第一消息鉴别码; 所述数据发送方发送指令消息给所述密码处理单元和所述指纹处理单元二者中的数据接收方,所述指令消息包含所述指令消息的内容、所述第一数据、代表所述指令的类型的指令值和所述第一消息鉴别码; 所述数据接收方用接收到的所述第一数据和所述数据接收方中的所述种子密钥计算出第二会话密钥;和 所述数据接收方用所述第二会话密钥验证接收到的第一消息鉴别码是否正确,如果验证结果为“正确”,则所述数据接收方根据所述指令值执行所述指令指示的操作;如果验证结果为“不正确”,则所述数据接收方发送报错信息给所述数据发送方,并在所述数据接收方中结束所述指纹签名设备当前的操作。
16.根据权利要求15述的指纹`签名处理方法,其中: 所述指令是以下指令中的至少一种:原始指纹采集指令、新指纹采集指令、和指纹比对指令。
17.根据权利要求15所述的指纹签名处理方法,其中: 所述第二会话密钥的计算机制与所述第一会话密钥的计算机制是相同的。
18.根据权利要求15所述的指纹签名处理方法,其中:所述指令消息还包含标识数据处理类型的识别码。
【文档编号】H04L9/32GK103595533SQ201310503414
【公开日】2014年2月19日 申请日期:2013年10月23日 优先权日:2013年10月23日
【发明者】刘洋 申请人:港蓉国信科技(北京)有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1