密钥生成以及证明真实性的方法和设备的制作方法

文档序号:6553379阅读:261来源:国知局
专利名称:密钥生成以及证明真实性的方法和设备的制作方法
密钥生成以及证明真实性的方法和设备 本发明涉及生成用于安全系统的密钥,具体涉及从例如生物测定标识符或物理不可克隆功能(PUF,physicaluncloneableftmction)中生成密钥。人们对更可靠且便捷的安全系统的需求在持续增长,而且对使 用生物测定标识符有兴趣,比如指纹、虹膜图案、语音数据和步态 数据。因为生物测定标识符不会像计算机密码那样丢失或遗忘,生 物测定学有潜力为用户提供更高的安全性和更好的便捷性。生物测定标识系统的一些同等优势也可以通过使用物理不可克 隆功能(PUF)来实现。PUF是由物理系统实现的功能,该功能容易 测定但该物理系统很难被明确描述。该物理系统被设计成使用复杂 的方式与激励交互,激励被称作质询,并引起独特但不可预知的应 答。例如,构成光学PUF的物理结构包含一些随机分布的散射材 料。这样,响应于特定质询,例如对具有特定属性的入射激光,该 光学PUF产生独特的斑点模式应答。然后可以使用一个或多个质询-应答对来识别该PUF。物理标识符,比如生物测定或光学PUF,可以用于生成加密密 钥。具体说来,考虑用户需要通过私有信道与验证者进行通信的情 形,或者考虑验证者在产品使用前对所述产品的真实性进行验证的 情形。该用户与该验证者使用的协议通常包含两个阶段,登记 (enrolment)阶段和应用阶段。在登记阶段,验证者测定该用户的生物学测定项(或者,从用户 的PUF获得一些质询一应答对),从该测量结果生成代表值作为要 使用的密钥(或者作为证明真实性的质询一应答对),并且保存该代 表值以供在应用阶段使用。该验证者同样保存帮助该用户在应用阶 段生成相同代表值(及相同密钥)的参考信息。
在应用阶段,对该生物测定进行新的(加扰性的)测量(或者检测该PUF对特定质询的应答),用户使用该验证者的参考信息来从 该生物测定的加扰性测量结果(或应答)生成相同的代表值。为了从 加扰性测量结果中生成正确的密钥,该用户和该验证者通过公共(被 鉴别的)信道进行通信。用户所得的便捷在于他们无需记忆密码或保存额外密钥这一事 实。此外,因为生物测定结果和PUF是不可克隆的,该用户生成和 使用相同的密钥(因此允许该验证者对使用该用户的密钥加过密的数 据进行解密)意味着该验证者可以确认在应用阶段该期望用户(或最 初的PUF)存在。尽管这种类型的密钥生成(被称为"模糊密钥生成")提供了上述 优势,它还是有些缺点。首先,生物测定标识符可以被不经意的遗留在许多地方。例 如,指纹可以留在接触过的任何表面上,可以通过摄像头进行虹膜 扫描。这意味着攻击者可以轻松获得加扰版本的生物测定,其与终 端感应器测定的样本十分接近。该信息可以被该攻击者用于大致计 算从特定用户的生物测定生成的密钥,然后解密该终端与验证者之 间发送的通信。在光学PUF的例子中,记录斑点模式的摄像头与卡分离。此 外,摄像头包括该斑点模式的非加密数字形式。这意味着攻击者可 能攻击该摄像头来获得其记录的斑点模式,因此获得从该斑点模式 生成的密钥。最后,该攻击者可能在一段时间内拥有包含该PUF的 卡的完全访问权限,例如,他可以偷走用户的卡,然后送还该卡。在 此情形中,该攻击者可以测量该PUF的一些质询一应答对。因此需要提供密钥生成协议,其允许从物理标识符生成密钥并减 少与所述物理标识符测量相关的信息量的暴露。根据本发明的第一方面,提供了得到用于对第一和第二节点间 传输的数据进行加密或鉴别的密钥的方法,该方法包含从物理标 识符的测量结果确定代表值;生成随机数;以及结合所述代表值和
所述随机数以提供加密密钥。本发明提供使用从物理标识符得到的测量信息用于密钥生成的 方法,同时限制与所述物理标识符相关的暴露给监听使用所述加密 密钥加密通信的攻击者的信息数。当使用加密密钥时,与实际加密 密钥相关的少量信息被无意的泄露给攻击者。通过使用独立的、易 更新且不是从该加密密钥得到的值,可以进一步阻止攻击者得到与 该物理标识符相关的信息。尽管攻击者可能通过分析使用所述加密 密钥加密过的数据来获得与该加密密钥相关的信息,但该加密密钥 基于该物理标识符以及该随机数两信息的组合。因此攻击者再无法 简单的分离出从该物理标识符得到的信息。通过频繁更新该随机 数,安全可以进一步得到改进。优选的,从用户的物理标识符的测量结果确定代表值的所述步 骤包含获得所述用户的生物测定标识的测量结果。优选的,从物理标识符的测量结果确定代表值的步骤进一步包 含,使用密值提取码从所述测量结果中提取代表值。优选的,所述密钥在第一节点得到,而且,从物理标识符的测量 结果确定代表值的步骤进一步包含,响应于所述第二节点提供给所述 第一节点的密值提取码标识数据,从一组密值提取码中选择与所述密 值取码。优选的,所述密值提取码标识数据在验证阶段由所述第二节点 得到并存储。作为替代选择,从物理标识符的测量结果确定代表值的所述步 骤包含质询物理不可克隆功能并测量应答。优选的,从物理标识符的测量结果确定代表值的所述步骤进一 步包含,从所述测量应答以及由所述第二节点提供给所述第一节点的 帮助数据得到所述代表值。优选的,质询所述物理不可克隆功能的所述步骤包含,应用从一 组质询中选择的至少一个质询。根据本发明的第二方面,提供得到用于加密或鉴别第一节点和 第二节点间传输的数据的密钥的方法,所述第二节点具有从存储在 存储器中的物理标识符的测量结果确定的第二代表值,所述方法包 含为所述第一和第二节点生成公共随机数;在所述第一节点从 用户的物理标识符的测量结果确定第一代表值;结合所述第一代表 值和所述公共随机数以提供加密密钥;以及在所述第二节点结合 存储在所述第二节点的所述存储器中的所述第二代表值和所述公共 随机数,以提供加密密钥。优选的,为所述第一和第二节点生成所述随机数的所述步骤包 含在所述第一节点生成所述随机数;以及将所述生成的该随机数 从所述第一节点安全的传送至所述第二节点。优选的,将所述生成的随机数安全的从所述第一节点传送至所 述第二节点的步骤包含,在所述第一节点加密所述随机数,以及,在 所述第二节点解密所述己加密的随机数。优选的,所述第一节点在其存储器中存储有所述第二节点的公 开密钥,所述第二节点在其存储器中存储有相应的私有密钥,并且, 其中将所述生成的随机数安全地从所述第一节点传送至所述第二节 点的步骤包含,使用所述第二节点存储的公开密钥加密所述随机数, 以及,在所述第二节点中,使用所述第二节点的私有密钥解密所述已 加密的随机数。作为替代选择,为第一节点和第二节点生成公共随机数的步骤 包含使用会话密钥生成协议。优选的,从用户的物理标识符的测量结果确定第一代表值的步 骤包含获得该用户的生物测定标识的测量结果。优选的,从物理标识符的测量结果确定第一代表值的步骤进一 步包含,使用密值提取码从该测量结果中提取该第一代表值。优选的,从物理标识符的测量结果确定第一代表值的步骤进一 步包含,响应于第二节点提供给第一节点的密值提取码标识数据,从 一组密值提取码中选择与所述密值提取码。优选的,该密值提取码标识数据在验证阶段由第二节点得到并 存储。作为替代选择,从用户的物理标识符的测量结果确定第一代表
值的步骤包含,质询用户的物理不可克隆功能并测量应答。优选的,从物理标识符的测量结果确定第一代表值的步骤包含,从该测量的应答以及由第二节点提供给第一节点的帮助数据计算得到该第一代表值。优选的,质询该物理不可克隆功能的步骤包含,应用从一组质询中选择的至少一个质询。优选的,第一节点中的方法进一步包含传输用户标识给第二节点的步骤。根据本发明的第三方面,提供了节点,包含用于获得所述节点 的物理标识符的测量结果的装置;用于从所述测量结果确定代表值 的装置;用于获得随机数的装置;以及结合所述代表值和所述随机 数以提供加密密钥的装置。优选的,获得用户的物理标识符测量结果的装置包含获得生物 测定标识的测量结果的装置。优选的,该节点进一步包含存储一组密值提取码的存储器; 从所述验证节点接收密值提取码标识数据的装置;其中从所述测量 结果确定代表值的装置用于使用该存储器存储的一个密值提取码和 该生物测定标识符的测量结果来确定该代表值,其中该密值提取码 的选择根据从该验证节点接收的密值提取码标识数据作出。作为替代选择,获得用户的物理标识符的测量结果的装置包含 质询用户的物理不可克隆功能并测量应答。优选的,该节点进一步包含存储一组质询的存储器;和从所 述验证节点接收质询标识数据的装置;其中获得物理标识符的测量 结果的装置用于,使用保存在此存储器中的至少一个质询以质询该用 户的该物理不可克隆功能,其中对该质询或每个质询的选择根据从 验证节点接收的质询标识数据做出。优选的,该节点进一步包含从验证节点接收帮助数据的装 置;其中从该测量结果确定代表值的装置用于,使用该测量的应答和 从验证节点接收的帮助数据确定该代表值。优选的,该节点进一步包含将生成的随机数从该节点传输至 验证节点的装置。优选的,将生成的随机数从该节点传输至验证节点的装置进一 步用于在从该节点传输至验证节点前对该随机数进行加密。优选的,该节点进一步包含保存了该验证节点的公开密钥的 存储器;其中将生成的随机数从该节点传输至验证节点的装置进一 步用于使用保存的该验证节点的公开密钥加密该随机数。作为替代的选择,生成随机数的装置用于使用会话密钥生成协 议生成该随机数。根据本发明的第四方面,提供读卡器使用的智能卡,所述智能 卡包含物理不可克隆性功能;以及处理芯片;其中所述处理芯片 用于从所述读卡器接收所述物理不可克隆功能的测量结果;从所 述测量结果确定代表值;生成随机数;以及结合所述代表值和所述 随机数以提供加密密钥。优选的,该处理芯片使用从验证节点接收的帮助数据从该测量 结果确定代表值。根据本发明的第五方面,提供验证节点,包含保存多个代表值 的存储器,每个代表值与特定的用户相关;从用户节点接收用户标 识的装置;响应于所述接收到的用户标识从所述存储器获得代表值 的装置;合并获得的代表值与随机数提供加密密钥的处理装置。优选的,该存储器进一步包含与每个代表值相关的密值提取码 标识数据;获取装置进一步用于从该存储器获得该相关的密值提取 码数据;该验证节点进一步包含传输获得的密值提取码标识数据至 该用户节点的装置。作为替代选择,该存储器进一步包含与每个代表值相关的质询 标识数据,其中每个用户有多个质询和与之相关的代表值;获取装 置进一步用于从该存储器获得该相关的质询标识数据;该验证节点 进一步包含将获得的质询标识数据传输给该用户节点的装置。优选的,该存储器进一步包含与每个代表值相关的帮助数据; 获取装置进一步用于从该存储器获得该相关的帮助数据;其中传输 装置进一步将该获得的帮助数据传输至该用户节点。
优选的,该随机数通过获取装置从该用户节点接收。优选的,从该用户节点接收的该随机数已经加密;该接收装置 进一步解密已加密的该随机数。优选的,该存储器进一步包含该验证节点的私有密钥,从该用 户节点接收的该随机数己经使用该验证节点的公开密钥加密;该接 收装置使用该私有密钥解密已加密的随机数。作为替代选择,该处理装置用于使用会话密钥生成协议生成该 随机数。根据本发明的第六方面,提供在鉴别系统用到的证明真实性的 节点。节点可以通过基于测量结果代表值生成特定加密密钥且将它 传输至验证节点来证明其真实性。该验证节点接着验证该生成的加 密密钥与使用在该节点登记阶段记录的特定代表值和该随机数生成 的加密密钥是否一致。该节点包含获得该节点的物理标识符的测量结果的装置;从 该测量结果确定代表值的装置;结合该代表值与该随机数以提供加 密密钥的装置。获得该用户的物理标识符的测量结果的装置以及从该测量结果 确定代表值的装置与本发明的第三方面描述的等价实现一致。优选的,在根据本发明的第六方面的节点中,获得随机数的装置 优选被配置用于从所述配备的验证节点接收所述随机数。优选地,该随机数优选从该验证节点接收。该随机数被用于生成 在鉴别时使用的加密密钥。可以将该随机数以明文方式传输至该节 点,而不用单向为攻击者提供了明文文本,使之可以用于攻击该系 统。出于安全原因该随机数可以使用例如该节点的公开密钥加密。 通过加密形式,允许该节点解密所述随机数以便该节点将来使用。替代的,该随机数可以由该验证节点以未加密格式发送,这样 也就降低了该鉴别过程的安全性。在根据第六方面的节点配置有用于测量物理标识符的不可克隆 功能的情况下,该验证节点同样应该对所述物理不可克隆功能提供 质询。
优选的,该节点进一步包含用于传输标识的装置,当使用生物 测定项时,它可以是该用户的标识,或者在物理不可克隆功能的情 况下,这可能是与所述功能相关的唯一标识符。在具体实施例中,涉及根据本发明第六方面的节点的真实性证据 可以如下进行。配有物理不可克隆功能的节点被置于验证节点附 近,该验证节点使用无线通信信道发出请求要求该节点的唯一节点 标识。根据该节点提交的节点标识符,该验证节点从数据库中取得 与所述节点标识符相关的质询。此外该验证节点生成随机数,且将 该随机数以及所述质询传输至该节点,可选的,该数据先加密。在要证实真实性的节点上,接收该质询和随机数被,随之被解 密。可以使用各种传统加密方法,从对私有和公开密钥的使用到先 前节点间建立的会话密钥。在解密后,该节点质询该物理不可克隆 功能,测量其应答且从该测量结果确定代表值。然后在该节点上生 成加密密钥,例如通过使用代表值将该随机数加密,或者通过对该 随机数和该代表值进行哈希运算。这样该节点可以让验证节点确定 所述加密密钥的合法性,而攻击者无法获得该代表值信息。根据本发明第六方面的节点可以有益地用于证明计算机程序的 真实性。这种真实性验证可以作为授权所述程序在计算平台上安装 前的前提条件。尽管上述例子强调的是配有物理不可克隆功能的节 点的使用,还可以替换使用生物测定测量结果。这种实施例将使用 生物测定数据来证明用户的真实性,因此只允许授权用户生成使用 或安装计算机程序的密钥。本发明同样可以有益地用于证明物理物品,比如CD、 DVD、 文档(例如护照)、徽章、标签和令牌的真实性。根据所述验证结 果,如果该用户提交给该验证节点的生物测定项正确,则访问授权 被准许。根据本发明的第七方面,提供接收由节点生成的用于验证该节 点真实性的加密密钥的验证节点。该验证节点可以与根据本发明的 第六方面的节点一起形成证明真实性的系统。根据本发明第七方面 的验证节点包含从节点接收标识的装置;获得随机数的装置;获
得与所述标识相关的代表值的装置;从节点获得加密密钥的装置; 验证从该节点接收的该加密密钥是否能够通过使用接收的代表值和 该随机数同样生成的处理装置;以及根据所述验证结果鉴别该节 点。
为了最优安全性,该随机数应该在每次鉴别设备时重新选择, 此外选择新的质询从而在每次鉴别时产生新的应答,可以进一步增加 安全性。
优选的,验证节点会收到待鉴别的节点的标识。根据该标识,验 证节点会试图从数据库中取出质询一应答对。该数据库可以保存在 验证节点的存储器中,或者保存在包含为多个节点使用的质询一应 答数据的中央文件服务器中。实际上这些质询一应答对甚至可以由 所述节点提供,只要验证节点可以确定该质询一应答对本身的真实 性,例如通过验证从信任的第三方签署的签名。
优选的,该验证节点为所述节点选出质询一应答对。 优选的,该验证节点生成随机数,因此允许该验证者控制该随 机数的生成,因此可以利用无需昂贵的安全随机数生成器的低成本 节点。
优选的,该验证节点传输所述质询和随机数至该节点,在特定 的实施例中,该随机数会被加密,在另一些实施例中它可以未加 密。该节点随着生成发送给该验证节点的加密密钥。
优选的,该验证节点将接收在该节点生成的所述加密密钥。
优选的,所述处理装置会使用接收的代表值和该随机数来验证 生成该加密密钥的节点身份是否真实。
优选的,该验证节点的验证过程使用与生成该加密密钥的节点 同样的过程,这样,该验证节点会生成另一加密密钥,例如通过使 用验证节点上己有的该代表值加密该随机数。接着两节点生成的加 密密钥可以进行比较。
作为替代选择,该验证节点可以通过解密而不是加密来验证真 实性。这样做时,该验证节点可以使用在该验证节点上已有的该代 表值来解密收到的在该节点生成的加密密钥,然后将输出结果与验
证节点己有的该随机数进行比较。甚至可以设想更多的替代方案,比如通过使用加密哈希方程生 成加密密钥。例如通过对该节点和该验证节点两者都有的该随机数 和该代表值进行哈希运算,然后比较它们。验证过程确定该验证节点是否可以根据收到的代表值和该随机 数生成相同的加密密钥,因此确定该节点是否被鉴别的。该验证结 果可以用于授权一方。特别有益的验证节点是作为受信平台模块(TPM)的验证节点, 其验证计算平台上的计算机程序的TPM真实性。(Intel公司,2002 年6月20日,移动平台组,Sundeep Bajikar,白皮书"Trusted Platform Module (TPM) based Security on Notebook PC",("笔记本电脑上的基于 受 信 平 台 模 块 (TPM) 安 全 性").nittp:〃developer.intel.com/design/mobile/Dlatform/downloads/Trust ed Platform Module White Paper.udf))。优选的,该验证节点是受信平台模块(TPM)。该验证节点会从 该计算机程序获得加密格式的该代表值。通过使用该验证节点 (TPM)的比如设备密钥,该验证节点能够解密该代表值。得到的代 表值然后像前面描述的那样被用于对例如与所述计算机程序一起被 分发的令牌进行质询。这样,第七方面有效的将计算机程序的内容 绑定至从用户生物测定项或物理不可克隆功能测量得到的代表值。 由于后者更难(如果可能的话)拷贝、复制或伪造,这有效的提供了 有价值的内容保护机制。根据本发明的第八方面,提供包含上述节点和上述验证节点的 鉴别系统。根据本发明的第九方面,提供包含上述智能卡和上述验证节点 的鉴别系统。下面参考附图,通过例子对本发明进行详细说明,其中

图1展示了根据本发明的方法步骤的流程图;图2展示了使用生物测定标识符的系统中根据本发明的优选方法的流程图;图3展示了使用物理不可克隆功能的系统中根据本发明的优选方法的流程图;图4是用于执行图2中方法的系统的概要框图; 图5是用于执行图3中方法的系统的概要框图; 图6展示了根据本发明的通过验证节点鉴别节点的优选方法的流程图;以及图7展示了根据本发明的通过验证节点鉴别节点的系统的概要 框图。在所有的附图中,相同的参考标号代表相似的部件,或者执行 相似功能的部件。本发明将通过参考一个系统进行说明,其中使用由J. P. Linnartz 和P. TuylsAVBPA 2003中的"New Shielding Functions to Enhance Privacy and Prevent Misuse of Biometric Templates"("增强私密性禾口防 止滥用生物测定模板的新防御功能"中描述的方法,从用户的物理标 识符得到代表值。根据该方法,验证者在登记阶段从物理标识符的 测量结果得出"帮助数据",然后在应用阶段将该帮助数据发送至用户 终端。该帮助数据允许该终端从该物理标识符的加扰测量结果中确 定与该验证者相同的密钥。但是,本领域的技术人员应该理解,本发明可以应用于使用其它 密钥生成方法的系统。还要理解本发明可应用于生成对称或非对称密钥的系统。尽管下面将主要结合得到用于加密数据的密钥的方法描述本发 明,要理解,本发明还与得到用于鉴别数据的密钥的方法相关。这样,虽然此后该得到的密钥被称为"加密密钥",要理解,该加 密密钥同样适合作为鉴别密钥使用。图1示出了根据本发明得到用于加密或鉴别第一和第二节点间 传送的数据的密钥的方法。在步骤101,从用户的物理标识符测量结果确定代表值。 其中该物理标识符是生物测定标识符,例如指纹或虹膜,该步 骤包含获得该生物标识符的测量结果,例如通过扫描指纹或虹膜, 使用从一组代码选出的密值提取码从该测量结果中提取代表值。密值提取码(在BiOAW 2004 P. Tuyls和J. Goseling的"Capacity and Examples of Template Protecting Biometric Authentication System"("模板保护生物测定鉴别系统的容量和例子")中进行描述)允许从 生物测定标识符中得到代表值,具体而言,允许从相同的生物测定标 识符稍微不同的测量结果中得出相同的代表值。存在各种不同的密 值提取码,每个从特定的生物测定标识符提取不同的代表值。或者,在物理标识符是物理不可克隆功能的情况下,该步骤包含质询该物理不可克隆功能并测定其应答。从该测定的应答得出(使 用用于该质询或多个质询的密值提取码)代表值,该代表值对于该物 理不可克隆功能以及使用的特定质询或多个质询是唯一的。为了使第一节点从该生物测定标识符的测量结果,或物理不可克 隆功能的应答得到和登记阶段第二节点得到并保存的代表值相同的 代表值,第二节点给第一节点提供帮助数据。在使用密值提取码 时,该帮助数据允许第一节点选择合适的密值提取码。应该理解,从物理标识符测量结果确定代表值的步骤,由验证者 (它可能是与第一节点通信的第二节点,或者是设计成提供得出的 代表值以及帮助数据给第二节点的独立实体)在登记阶段以及由第一 节点在应用阶段执行。为了克服加扰性生物测定标识符(比如在玻璃上的指纹)被获得 或由攻击者临时获得物理不可克隆功能相关的问题,本发明通过在 应用阶段生成随机数以及将该生成的随机数与该代表值组合来加强 该密钥获得协议。在步骤103中,生成随机数被。优选的,第一节点生成该随机 数且将其提供给第二节点。或者,第二节点可以生成该随机数并将 其提供给第一结点。其中该物理标识是智能卡包含的物理不可克隆功能,该智能卡 可以包含能够生成随机数的芯片。或者,第一节点中读取智能卡的
读卡器可以生成随机数。
第一节点每次发起与第二节点的新通信会话时生成新的随机数 (即每次应用阶段开始时),或者周期性生成新的随机数,以在长时 间通信会话时进一步加强安全性。
如上所述,生成的随机数必须提供给另一节点。这必须安全进 行,否则攻击可以获得该随机数,然后确定该通信会话使用的密 钥。
优选的,使用公开密钥加密协议将该随机数提供给另一节点。 即,为生成该随机数的节点提供另一节点的公开密钥,其用于加密 要传输给另一节点的随机数。为另一节点提供相应的私有密钥,其 用于解密该已加密的随机数。
尽管优选使用公开密钥加密协议,应该理解,可以使用许多其它 协议来安全地将该随机数提供给另一节点。
作为在一节点上生成随机数然后将其安全传输给另一节点的替 代选择,第一和第二节点可以运行会话密钥生成协议来确定随机会
话密钥。例如,可以使用Diffie-Hdlmann会话密钥生成协议,其中 第一和第二节点共享公开密钥。第一节点随机选择x,然后发送gx
至第二节点。第二节点随机选择y,发送gy至第一节点。两节点计算
公共随机数gxy=(gx)y=(gy)x。
为了阻止"中间人"攻击,优选的,该会话密钥生成协议以鉴别 方式执行。例如,可以使用公开密钥加密协议在会话密钥生成协议 时鉴别两节点间的传输。
在步骤105中,通过结合在步骤101确定的代表值和生成的随机 数得到加密密钥。
步骤105由第一节点在应用阶段对所确定的代表值执行,也由 第二节点在登记阶段对由第二节点(或独立的验证者)确定的代表值 执行。
如果第一节点得到的代表值与第二节点得到的代表值一致,则 由第一节点和第二节点得到的加密密钥将相同,允许一个节点使用 该密钥加密通信,然后由另一节点接收、解密和阅读。
图2示出了使用生物测定标识符的系统中根据本发明的方法的 优选实现。在该优选实现中,假定第一节点中的传感器能够防篡改 (即不可能监听该传感器内部的事件或读数),该传感器能够检测到 人为构造的生物测定项。
第一节点的该传感器和第二节点间的通信线路可能会遭受监 听。因此,在该优选实现中,使用公开密钥加密协议,其中第一节点 拥有第二节点的公开密钥pA:,第二节点拥有相应的私有密钥A。第 一节点包含随机数生成器以生成随机数(以字节形式)。
该方法自步骤201开始,其中用户标识,比如用户名由用户输 入至第一节点。
在步骤203中,用户将其生物测定标识符提供给第一节点的传 感器,该传感器测定该生物测定标识符。
在步骤205中,用户标识从第一节点传输至第二节点,优选地 使用公开密钥加密协议。
在步骤207中,访问第二节点中的数据库,获得与收到的用户 标识相关的代表值和帮助数据。
在步骤209中,将获得的帮助数据传输给第一节点。
在步骤211中,第一节点使用收到的帮助数据从生物测定标识 符测量结果中提取代表值。
在步骤213中,第一节点生成随机字节串。
在步骤215中,第一节点使用公开密钥加密协议将该随机字节 串传输至第二节点。
在步骤217中,第一节点结合该随机字节串和确定的代表值以 得到加密密钥。
在步骤219中,第二节点结合步骤215中从第一节点接收的随机 字节串以及在步骤207中获得的该代表值,得出另一加密密钥。
如果第一节点在步骤211中从该生物测定标识符测量结果确定 的代表值,与保存在第二节点数据库中的代表值相同,则两节点都 能够使用另一节点的加密密钥解密和阅读已加密的数据。
如果两代表值不同,则各节点得出的加密或鉴别密钥将不同,
因此防止两节点解密和阅读使用另一节点的加密密钥加密的数据。
只要提供随机字节串给第二节点的加密系统不允许攻击者得到
与该随机字节串有关的任何信息(即加密的随机字节串不泄露关于随
机字节串自身的任何信息),获得生物测定标识符的加扰测量结果 (其可能与在登记阶段作出的生物测定标识符测量结果很相似)的攻
击者就没有任何关于在应用阶段使用的加密密钥的信息。
因为得到加扰版本的该生物测定标识符的攻击者不知道该随机 字节串时(即他无法监听该传感器的内部事件),并且他无法由在步
骤215中从第一节点传输至第二节点的已加密的该字节串得出此信 息,所以攻击者只能猜测该随机字节串。
攻击者也许拥有加扰版本的生物测定标识符和由第二节点传输 至第一节点的帮助数据。即便假定加扰版本的生物测定标识符与用 来得到保存的代表值的版本足够接近,因此从该加扰版本的生物测 定标识符和该帮助数据能够得出相同的代表值,正确猜测出加密密 钥的概率(假定代表值是随机的)被限定
在最高为<formula>formula see original document page 22</formula>当间》i/l时,该概率变得很小,其中S是代表
值,I是随机字节位串。
图3示出了在使用智能卡中的光学物理不可克隆功能的系统中 根据本发明的方法的优选实现。在该优选实现中,假定记录对该物 理不可克隆功能质询的应答的读卡器(第一节点)中的摄像头可被监 听。
该读卡器与第二节点间的通信线路同样可被监听。因此要使用 加密协议,在该优选实现中使用的是公开密钥加密协议。因此该智 能卡中的芯片保存有第二节点的公开密钥pA:,第二节点拥有相应的 私有密钥A。该芯片还包含生成随机数(以字节形式)的随机数生成 器。
该方法从步骤301开始,其中智能卡被插入至读卡器。在步骤 303中,保存在该智能卡中的用户标识,比如用户名被传输至第二节点。
在步骤305中,使用收到的用户标识访问第二节点中的数据 库,获得与特定质询和该用户相关的代表值和帮助数据。
在步骤307中,该帮助数据和与该帮助数据相关的质询被发送 至该读卡器和该智能卡。
在步骤309和311中,该读卡器根据收到的质询对该物理不可克 隆功能进行质询,然后测定应答。该应答被传递给该智能卡中的芯 片。
在步骤313中,在智能卡中的芯片使用测量的应答和该帮助数 据计算代表值。
在步骤315中,该芯片使用随机数生成器生成随机字节串。 在步骤317中,该智能卡通过该读卡器使用公开密钥加密协议 将该随机字节串传输至第二节点。
在步骤319中,该智能卡中的芯片结合该随机字节串和确定的
代表值得到加密密钥。
在步骤321中,第二节点结合该随机字节串和收到的代表值得
到另一个加密密钥。
为了验证该智能卡是正确的,第二节点通过读卡器发送随机消 息给该智能卡。该智能卡使用得到的加密密钥加密该随机消息,并 将之发送至第二节点。第二节点使用在那得出的加密密钥解密该已 加密的消息,然后检査解密的消息是否与发送给读卡器和智能卡的 消息相同。如果相同,则该智能卡被鉴别,处理可以继续,但如果 不同,则处理结束。
要注意,监听该读卡器或该读卡器和该智能卡之间信道的攻击者 会获得该质询、帮助数据以及应答,其能够计算该代表值但无法得 到该加密密钥。
在根据本发明的修改方法中,随机字节串能够在方法一开始通 过芯片生成。
应该注意,攻击者不可能制造能够与原始物理不可克隆功能提供 相同质询一应答对的假智能卡,因为该物理不可克隆功能根据定义是不可克隆的。
图4示出了执行图2中方法的系统。系统401包含第一节点403 和第二节点405。
第一节点401包含获得物理标识符测量结果的装置,形式是传 感器407,比如摄像头或指纹读取器,随机数生成器409,存储器 411以及通信模块413,每个都与处理器415相连。
第二节点405包含存储器417和从第一节点403接收用户标识和 随机数的装置,形式是与处理器421相连的通信模块419。
传感器407获得用户的生物测定标识符Y的测量结果,然后将 该测量结果传递给处理器415。处理器415使用测量结果和通过通信 模块413从第二节点405收到的帮助数据来确定代表值。
随机数生成器409生成随机数,处理器415结合随机数和代表值 得出加密密钥。
处理器415同样使用通信模块413将随机数传输给第二节点405。
在优选实施例中,存储器411保存有数个密值提取码,处理器 415使用从第二节点405接收的帮助数据指示的密值提取码来确定代 表值。
在另一实施例中,存储器411保存有第二节点405的公开密钥, 该公开密钥用于在将随机数传输至第二节点405之前加密该随机 数。
在第二节点405中,处理器421用于取得保存在存储器417中与 特定用户相关的代表值,结合取得的值和通过通信模块419从第一 节点403收到的随机数以提供加密密钥。
在优选实施例中,存储器417也包含在公开密钥加密协议使用 的第二节点405的私有密钥。
图5展示了执行图3方法的系统。该系统501包含第一节点503 以及第二节点505。第一节点503包含插入至读卡器509的智能卡 507。智能卡507包含光学物理不可克隆功能511以及处理器芯片 513。读卡器509包含连接至处理器519的传感器515和通信模块
517。
第二节点505包含连接至处理器525的存储器521和通信模块
523。
传感器515从光学物理不可克隆功能511获得对第二节点505设 备设定的质询的应答。传感器515通过通信模块517将测量的应答传 送至处理器芯片513。处理器芯片513使用该测量的应答和通过通信 模块517从第二节点505收到的帮助数据来确定代表值。
处理器芯片513也包含生成随机数的随机数生成器527,处理器 芯片513结合随机数与代表值得到加密密钥。
处理器芯片513同样用于通过通信模块517将随机数传输至第二 节点505。
在优选的实施例中,处理器芯片513保存有第二节点505的公开 密钥,该公开密钥用于在将随机数传输至第二节点505之前加密该 随机数。
在第二节点505中,处理器525用于取得保存在存储器512中与 特定用户相关的代表值,且结合取得的值和通过通信模块523从读 卡器509收到的随机数以提供加密密钥。
在优选实施例中,存储器521也包含公开密钥加密协议使用的 第二节点505的私有密钥。
图6展示了提供验证节点鉴别具有相关标识的节点的优选方 法。该鉴别方法基于节点和验证节点均能生成相同的加密密钥这一 事实。验证节点可以质询节点以生成特定加密密钥,具有相关标识 的节点能够生成此加密密钥。验证节点能够验证节点生成的加密密 钥是否正确。验证节点能够以类似的方式计算加密密钥,或可以使 用收到的代表值和在验证节点上的可用随机数分析从所述节点收到 的加密密钥。
当节点被放至验证节点的附近时,在步骤601中,验证节点将使 用无线通信信道获得所述节点的标识。
在步骤602中,验证节点使用收到的标识获得代表值、质询和 与所述标识的该节点相关的帮助数据。虽然该帮助数据能够与质询
战数据一起保存,该帮助数据还能够保存在该节点本地。当该帮助 数据被保存在该节点时需要在该节点上有存储器,但是,验证节点 无需取得所述帮助数据。在步骤603中,验证节点进一步生成随机数。 在步骤604中,验证节点将质询、帮助数据和所述随机数传输 至该节点。在步骤309中,对该物理不可克隆功能进行质询,对该质询的应 答在步骤311中测量。接着在步骤313,使用该帮助数据和应答生成 代表值。在该节点得到代表值后,将其与随机数结合形成加密密钥,在 步骤605中将加密密钥发送至验证节点。在步骤606中验证节点接收所述加密密钥,且在步骤607中验证 由该节点生成的加密密钥与期望的加密密钥是否对应。通过该验证 过程,在步骤608中验证节点确立该节点是否真实的。可选的,在 步骤609中该验证节点还可以根据该验证鉴别一方。在本发明的一个方法中,该节点将用测量的代表值加密随机数 来生成加密密钥。接着验证节点将用收到的代表值加密随机数,比 较两个加密结果,根据此比较结果验证节点能够鉴别该节点。在根据本发明的第二方法中,节点使用测量的代表值加密随机 数,但验证节点将使用收到的代表值解密收到的由节点生成的加密 密钥,以获得由节点加密的随机数。在验证节点,解密的结果可以与 该机数进行比较,根据该比较结果验证节点可以鉴别该节点。在另一个方法中,该点将通过至少对测量代表值和随机数应用 加密哈希算法来生成加密密钥。得到的加密密钥被发送至验证节 点。接着验证节点将使用随机数和收到的代表值形成类似的杂凑 性。接着两个哈希值进行比较,根据比较结果验证节点可以鉴别该 节点。图7展示了用于鉴别节点的系统。该系统包含作为受信任平台 模块(即TPM)的验证节点720。该系统用于证实分布在数据载体 730上的计算机程序的真实性。与所述数据载体相关的是节点710,它用于证实所述计算机程序的真实性,该节点可以是嵌入该计算机程序手册中的标签,或者位于运送该数据载体的宝石箱(jewel case) o该系统包含节点710和验证节点720,以及数据载体730。该特 定鉴别系统的运行基于节点710和验证节点720都能生成相同加密密 钥这一事实。该验证节点可以质询节点710以生成加密密钥,该加 密密钥只有实际节点710通过使用所述物理不可克隆功能才能生 成。接着验证节点能够验证由节点710生成的加密密钥是否正确。节点710包含物理不可克隆功能711以及连接至处理器714的传 感器713和通信模块712。验证节点720包含都与处理器722相连的 数据载体读取器723、通信模块721以及随机数生成器。通信模块712和721被配置成通过无线信道通信。该无线通信信 道可以基于RF,或者IR接收机和发射机。也可以考虑使用有线通信 信道的替代实现。如前面所示,验证节点720是用于鉴别节点710的TPM。为此, 数据载体730包含物理不可克隆功能711的代表值。该代表值可以在 所述节点710的登记阶段建立。代表值可以加密形式存储在所述数 据载体上。验证节点720能够通过数据载体读取器723从该数据载体 获得加密的该代表值。加密的该代表值随之被解密,例如使用验证 节点720 (TPM)的设备密钥,结果得到该代表值。此外,该数据载 体还可以包含与所述物理不可克隆功能相关的质询以及帮助数据。当节点710置于验证节点720附近时,验证节点710将请求节点 710的标识。接着节点710将所述标识提供给该验证节点。根据此标 识,验证节点随之能够从数据载体730取得代表值、质询和帮助数 据。一旦获得质询,验证节点720对节点710进行质询。此外,该验 证节点为节点710提供随机数。接着节点710的处理器714可以使用 该公开密钥解密所述随机数。然后该物理不可克隆功能711被质询,其应答被传感器713测 定。传感器713测量的应答传递至处理器714。处理器714使用测量
的应答以及通过通信模块712从验证节点720收到的帮助数据来确定 代表值。处理器714进一步通过结合基于测量的物理标识符的代表值以 及从验证节点720收到的随机数来生成加密密钥。所述加密密钥随 之可以传输至验证节点720。当该加密密钥除了用于鉴别之外还用于数据加密时,该加密密 钥应该以安全的方式传输。当该加密密钥只是用于鉴别节点710且 每次设备都使用新的随机数进行鉴别时,则不再需要加密密钥将该 加密密钥传输至验证节点720。还可以在每次鉴别节点时通过选择新 的质询(结果是新的代表值)来进一步增强安全性。验证节点720接着使用收到的代表值和随机数来验证节点710是 否的确生成被请求的加密密钥。虽然图7中的系统使用物理不可克隆功能,基于生物测定项的 系统可以使用类似的方法。这种实施例允许计算机程序与从用户的 生物测定测量结果得到的代表值相关,从而使所述用户安装或使用所 述计算机程序。此外,本发明允许将计算机程序在包含用于鉴别所述 计算机程序的代表值的载体上分发。可选的,该计算机程序可以使 用从所述生物测定项得到的(其他)密钥加密。虽然图7中示出的数据载体730是碟片形式,本发明不局限于使 用此种数据载体分发计算机程序。代表值还可以使用其它介质进行 分发,比如闪存或者嵌入至可以从比如因特网或文件服务器处下载 的计算机程序。要理解词语"包含"不排除其它部件或步骤,"一个"不排除多个 数量,单个处理器或其它单元可以完成在权利要求中描述的多种装 置的功能。此外,权利要求中的参考标号不应理解为限制权利要求 的范围。
权利要求
1、 得到用于对第一和第二节点间传输的数据进行加密或鉴别的 密钥的方法,该方法包含—从物理标识符的测量结果确定代表值; 一生成随机数;以及一结合所述代表值和所述随机数以提供加密密钥。
2、 根据权利要求1的方法,其中所述物理标识符是用户的物理 标识符。
3、 根据权利要求2的方法,其中从物理标识符的测量结果确定 代表值的所述步骤包含获得所述用户的生物测定标识符的测量结 果。
4、 根据权利要求3的方法,其中从物理标识符的测量结果确定 代表值的所述步骤进一步包含使用密值提取码从所述测量结果中提 取所述代表值。
5、 根据权利要求4的方法,其中所述密钥在所述第一节点得 到,而且,从物理标识符的测量结果确定所述代表值的步骤进一步包 含,响应于所述第二节点提供给所述第一节点的密值提取码标识数 据,从一组密值提取码中选择所述密值提取码。
6、 根据权利要求5的方法,其中所述密值提取码标识数据在验 证阶段在所述第二节点得到并存储。
7、 根据权利要求1的方法,其中从物理标识符的测量结果确定 代表值的所述步骤包含质询物理不可克隆功能并测量应答。
8、 根据权利要求7的方法,其中从物理标识符的测量结果确定 代表值的所述步骤进一步包含,从所述测量应答以及由所述第二节点 提供给所述第一节点的帮助数据得到所述代表值。
9、 根据权利要求7或8的方法,其中质询所述物理不可克隆功 能的所述步骤包含,应用从一组质询中选择的至少一个质询。
10、 得到用于加密或鉴别第一节点和第二节点间传输的数据的 密钥的方法,所述第二节点具有从存储在存储器中的物理标识符的 测量结果确定的第二代表值,所述方法包含一为所述第一和第二节点生成公共随机数;一在所述第一节点一从用户的物理标识符的测量结果确定第一代表值; 一结合所述第一代表值和所述公共随机数以提供加密密钥;以及一在所述第二节点一结合存储在所述第二节点的所述存储器中的所述第二代 表值和所述公共随机数,以提供加密密钥。
11、 根据权利要求10的方法,其中所述物理标识符是用户的物 理标识符。
12、 根据权利要求10的方法,其中为所述第一和第二节点生成 所述公共随机数的所述步骤包含一在所述第一节点生成所述随机数;以及—将所述生成的该随机数从所述第一节点安全地传送至所述第 二节点。
13、 根据权利要求12的方法,将所述生成的随机数安全地从所 述第一节点传送至所述第二节点的所述步骤包含在所述第一节点加 密所述随机数,以及,在所述第二节点解密所述己加密的随机数。
14、 根据权利要求13的方法,其中所述第一节点在其存储器中 存储有所述第二节点的公开密钥,所述第二节点在所述第二节点的 所述存储器中存储有相应的私有密钥,并且,其中将所述生成的随机数安全地从所述第一节点传送至所述第二节点的所述步骤包含使用 所述第二节点的所述存储的公开密钥加密所述随机数,以及,在所述 第二节点中,使用所述第二节点的所述存储的私有密钥解密所述已 加密的随机数。
15、 根据权利要求10的方法,其中为所述第一和第二节点生成 公共随机数的所述步骤包含使用会话密钥生成协议。
16、 节点,包含一用于获得所述节点的物理标识符的测量结果的装置; 一用于从所述测量结果确定代表值的装置; 一用于获得随机数的装置;.以及一用于结合所述代表值和所述随机数以提供加密密钥的装置。
17、 根据权利要求16的节点, 理标识符。
18、 根据权利要求16的节点, 包含用于生成所述随机数的装置。
19、 根据权利要求16的节点, 装置。
20、 根据权利要求16的节点, 一物理不可克隆功能;以及其中所述物理标识符是用户的物 其中用于获得所述随机数的装置 所述节点进一步包含传输标识的 所述节点进一步包含 一从验证节点接收质询的装置。
21、 根据权利要求16的节点,其中用于获得所述随机数的装置 被配置用于从验证节点接收所述随机数。
22、 根据权利要求21的节点,其中用于从所述验证节点接收随 机数的装置被配置用于从所述验证节点接收和解密已加密的随机 数。
23、 使用根据权利要求16的节点以提供对计算机程序真实性的 验证。
24、 读卡器使用的智能卡,所述智能卡包含-一物理不可克隆性功能;以及一处理器芯片; 一其中所述处理器芯片用于-从所述读卡器接收所述物理不可克隆功能的测量结果;—从所述测量结果确定代表值;一生成随机数;以及一结合所述代表值和所述随机数以提供加密密钥。
25、 验证节点,包含 一从节点接收标识和加密密钥的装置; 一获得随机数的装置;一取得与所述标识相关的代表值的装置;以及 一验证从所述节点接收的所述加密密钥是否也可以通过使用所 述取得的代表值和所述随机数而生成的处理装置。
26、 根据权利要求25的验证节点,其中所述处理装置被配置用 于结合所述取得的代表值和一随机数以提供加密密钥。
27、 根据权利要求25的验证节点,其中用于取得与所述标识相 关的代表值的所述装置包含包含多个代表值的存储器,其中每个代表值与特定用户相关联;响应于所述接收到的用户标识从所述存储器取得代表值的装置。
28、 根据权利要求25的验证节点,其中所述处理装置进一步被 配置用于根据所述验证结果鉴别所述节点。
29、 根据权利要求28的验证节点,所述验证节点进一步包含 获得与所述标识相关的质询的装置;以及 将所述质询传输至所述节点的装置。
30、 根据权利要求25的验证节点,所述验证节点进一步包含根 据所述验证结果授权一方的装置。
31、 根据权利要求25的验证节点,所述验证节点进一步包含 一生成随机数的装置;以及一将所述随机数传输至所述节点的装置。
32、 根据权利要求31的验证节点,用于传输所述随机数的所述 装置进一步被配置用于在传输前加密所述随机数。
33、 根据权利要求25的验证节点,其中所述验证节点是可信平 台模块。
34、 根据权利要求25的验证节点,其中用于取得与所述标识相 关的代表值的所述装置被配置自通过计算机程序取得所述代表值。
35、 根据权利要求34的验证节点,其中所述计算机程序通过数 据载体分发。
36、 根据权利要求25的验证节点,其中用于取得所述代表值的 所述装置用于从已加密数据中提取所述代表值。
37、 鉴别系统,包含根据权利要求16的节点和根据权利要求25 的验证节点。
38、 鉴别系统,包含根据权利要求24的智能卡和根据权利要求 25的验证节点。
39、 计算机程序产品,包含存储在计算机可读介质上的程序代码 模块,该介质包含根据权利要求16的节点的代表值,用于鉴别所述 计算机程序产品。
全文摘要
提供得到用于对第一和第二节点间传输的数据进行加密或鉴别的密钥的方法,该方法包括,从用户的物理标识符测量结果确定代表值;生成随机数;以及结合该代表值和该随机数以提供加密密钥。本发明进一步提供节点、验证节点以及提供验证节点对节点进行鉴别的系统。所述系统应用根据本发明的加密密钥生成。本发明进一步提供计算机程序产品,其包含在鉴别该计算机程序产品时使用的节点的代表值。
文档编号G06K9/62GK101124767SQ200580044128
公开日2008年2月13日 申请日期2005年12月20日 优先权日2004年12月22日
发明者B·斯科里奇, G·J·斯赫雷恩, J·格色灵, P·T·迪尔斯 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1