生成用于电子设备的公钥的方法以及电子设备的制作方法

文档序号:7938405阅读:205来源:国知局
专利名称:生成用于电子设备的公钥的方法以及电子设备的制作方法
技术领域
本发明涉及生成公钥的方法。
本发明还涉及一种电子设备,特别是安全令牌(token)。
本发明另外涉及一种鉴权方法。
本发明还涉及一种程序组件。
另外,本发明还涉及计算机可读介质。
背景技术
对于电子售票、运输或者数字访问控制系统等很多应用,使用 安全令牌来存储相关信息或安全信息。通常安全性部分取决于以下事 实,即安全令牌是可靠的,其中使用了特定的硬件单元并且其处理无 法由PC或其它电子设备模拟。特别是对运输应用来说,防止仿票的 实现方式取决于以下条件,即只有一种特定的安全令牌能够在非常严 格的物理环境下提供特定形式的序列号。
一般来说,通过现场可编程门阵列(FPGA)来复制安全令牌并 不困难,但是复制的成本通常会超出攻击所得的利益。
为了提高防止复制攻击的安全等级,鉴权的加密验证可以是一 个选项。由于缺乏现有的对称密钥基础设施和复杂的密钥管理, 一般 的解决方案是使用不对称原语(asymmetric primitives)的加密验 证。这类基于不对称原语的协议可以在一个数学群(mathematical gro叩)上实现,其中离散对数问题难以解决。在此数学群中选择基 元素或基点g,然后将其用在例如用于生成公钥或者用于对各个安全 令牌进行鉴权的算法中。

发明内容
本发明的目的是提供一种用来提供公钥和/或为鉴权算法提供基点的替代方法。
为了实现上述目的,提供了根据独立权利要求的生成公钥的方 法、电子设备(特别是安全令牌)、鉴权方法、程序组件、以及计算 机可读介质。
根据本发明的一个示例性实施例,提供了生成用于电子设备的 公钥的方法,其中该方法包括基于私钥以及与电子设备相关联的唯一 标识符来生成公钥。
根据一个示例性实施例,电子设备包括存储器,其中该存储器 适用于存储根据本发明的示例性实施例的公钥。特别地,该公钥可以 存储在存储器中。
根据一个示例性实施例,用于对电子设备进行鉴权的方法包括 生成根据本发明的示例性实施例的公钥、将该公钥存储在电子设备 中、把公钥和唯一标识符发送至另一电子设备、以及使用不对称验证 算法对电子设备进行鉴权。特别地,该电子设备是根据示例性实施例 的电子设备。
根据一个示例性实施例,提供了程序组件,该组件在通过处理 器执行时适用于控制或执行生成公钥的方法,其中该方法包括基于私 钥以及与电子设备相关联的唯一标识符来生成公钥。
根据一个示例性实施例,提供了一种计算机可读介质,其中存 储有计算机程序,该程序在通过处理器执行时适用于控制或执行生成 公钥的方法,其中该方法包括基于私钥以及与电子设备相关联的唯一 标识符来生成公钥。
本申请中的术语"公钥"特指公开的用于鉴权方法的密钥,在 此鉴权方法中其可被用来鉴定一个实物。例如,可以基于不对称验证 算法的基元素或基点来生成所述公钥。另外可以由可信任方发布对此
公钥的证书(certificate)。
本申请中的术语"私钥"或"密钥"特指不公开的、与要鉴定 的实物相关联的密钥。
本申请中的术语"唯一标识符"特指与要鉴定的实物相关联的 唯一号码,例如电子设备的标识号或序列号。通过基于密钥及唯一标识符生成公钥,可以相比公知的不对称 验证协议(如零知识验证)使用显著縮短(例如位数更少)的密钥, 同时几乎保持着与零知识验证协议的标准应用水平相当的安全等级。 按照概括的观点,可以说将被应用于验证协议或算法的全部计算中的 基点或基元素通过待验证实物(如电子设备)的唯一标识符(如序列 号)变为多种。
对这样通过使用多种基点生成的公钥的使用是可靠的,因为从 数学的观点来看,基本上仅能够通过在公钥的计算中发送密钥/私钥 或密码指数(secret exponent)的数位来改变算法。由于在生成公 钥时使用唯一标识符,使得每个电子设备使用不同的基点,于是攻击 者无法对整个系统进行整体攻击,即通过存储多个参考点以及使用例 如所谓的小步-大步(baby-step-giant-step)算法来对公共使用的 基点的离散对数假设进行破解。相反,攻击者需要对不同的电子设备 (如安全令牌)进行不同的攻击。因此,攻击多于一个令牌会比在标 准系统中明显困难。
另外,由于电子设备可以一直使用相同的多样化基点并因此使 用相比标准系统明显縮短的密钥和随机数,可以降低计算负荷,于是 能够提高使用根据一个示例性实施例的基于公钥生成的鉴权方法的 系统的性能。读取器一侧需要为每个电子设备(如安全令牌)计算新 的基点,但是计算负荷可以基本上与标准系统相同。特别地,根据一 个示例性实施例,可以在例如安全令牌的电子设备中容易地实施不对 称密钥,这是因为通过使用多样化的基点可以使用较小的密钥来获得 与标准不对称密钥算法相同的安全等级。
接下来对公钥生成方法的其它实施例进行说明。这些实施例还 可应用于所述电子设备、鉴权方法、程序组件、以及计算机可读介质。
根据另一个示例性实施例,该方法进一步包括使用初级基点来 生成用于公钥生成的二级基点。特别地,可以基于同电子设备相关联 的唯一标识符来计算或生成二级基点。所述唯一标识符可以是电子设 备的标识号或序列号,其中电子设备可以是例如具有智能卡或者USB 安全令牌形式的安全令牌。由于可以基于初级基点和唯一标识符生成二级基点,于是每个 电子设备可以生成各自不同的基点,这会在涉及使用这种公钥和/或 基点对鉴权算法进行整体攻击时提供增强的安全性。
根据该方法的另一个示例性实施例,初级基点为素域(prime field)或椭圆曲线上的基点。更一般地说,在难以解决离散对数问 题的情况下可以使用所有的数学群。使用这些群能够增强使用所生成 的公钥或基点的协议的安全性。
根据该方法的另一个示例性实施例,通过下式来计算公钥-
y = g、其中
y表示公钥,x表示私钥,g'表示二级基点,通过^ = ^计算得 到,其中ID表示序列识别号,g表示初级基点。
接下来对电子设备的其它示例性实施例进行说明。这些实施例 还可应用于产生公钥的方法、鉴权方法、程序组件、以及计算机可读 介质。
根据电子设备的另一示例性实施例,存储器还适用于存储其唯 一标识符以及用于公钥的证书。特别地,可以将所述唯一标识符和证 书存储在存储器中。在很多情况下所述电子设备可以是安全令牌。
在电子设备为安全令牌的情况下,可以使用现有的潜在序列号 基础设施。即,可以假设,针对每项处理,安全令牌都会将其序列号 传送至读取器以进行识别。这样,序列号的应用可以是使不对称验证 算法的已用基点多样化的有效方式。
接下来对鉴权方法的其它示例性实施例进行说明。这些实施例 还可应用于生成公钥的方法、电子设备、程序组件、以及计算机可读 介质。
根据鉴权方法的另一示例性实施例,不对称验证算法是零知识 验证算法。特别地,所述零知识验证算法是ElGamal型加密方案。
使用零知识验证算法(如ElGamal型加密方案)能够确保很高 的安全等级,因为这些算法属于最安全级别的不对称验证。
根据另一个示例性实施例,所述鉴权方法还包括基于所述唯一 标识符计算二级基点。概括地说,本发明示例方面的要点可以看成,通过使用现有的 用于安全令牌的序列号基础设施,对零知识验证算法的系统参数(如 基点、私钥和/或公钥)进行多样化处理。因此,概括地看来,关于 现有零知识验证算法(如标准ElGamal型算法)的一个机会,是通过 使用安全令牌的序列号来使所述ElGamal型算法多样化。更具体地 说,使用该序列号对所述协议或算法中用于全部计算的基点或基元素 g进行多样化处理。于是,可以对每个安全令牌使用新的基点。
上述示例性实施例的各个方面以及本发明的其它方面将参考下 文描述的实施例示例进行描述,并将通过这些实施例示例而变得明 显。


下面参照实施例的示例对本发明进行详细说明,本发明不限于 这些实施例示例。
图l示意性表示了根据一个示例性实施例的鉴权方法的流程图。 图2示意性表示了一个安全令牌。
具体实施例方式
附图中的图示为示意性。在不同的附图中,相似或相同的元素 具有相同的参考标号。
下面参照图1的流程图对根据一个示例性实施例的基于零知识 验证协议的鉴权方法ioo进行详细说明。
在第一步骤101中,制造商定义了 (例如椭圆曲线上的)数学 群G的初级基点g。在第二步骤102中,为每个具有序列号ID的安 全令牌A选择了私钥x。然后根据g^g"和y-g、计算公钥y(103), 其中g'表示对每个安全令牌为唯一的二级基点,因为ID对每个安全 令牌为唯一。然后将序列号ID、公钥y和y的证书存储在安全令牌 中(104)。所述证书可以由例如该安全令牌的制造商或者鉴权系统 中任意其它可信任第三方发布。
在鉴权时,安全令牌A将其序列号ID、公钥y和证书发送至读取器B (105)。读取器B验证该证书(106),在证书有效的情况下, B计算g、g'。来作为后面协议的基点(107)。在证书无效的情况下, 鉴权方法终止(113)。另外,A选择数字r、计算gv并将结果发送 至读取器B (108) 。 B在接受到gv的结果之后随机地选择询问值c, 并将询问值c发送至安全令牌A (109)。然后A计算 = (r + c. /D. x) mod w ,
并将resp发送至B(llO),其中n是数学群G的阶数。下一步, B通过检验g',是否等于^.:r来验证所述响应resp (111)。在验证 结果为肯定的情况下,安全令牌A为可靠(112)。在验证结果为否 定的情况下,安全令牌A不可靠(113)。
根据一个示例实施例的算法可以应用于每个存在序列号基础设 施并且需要强加密鉴权验证的系统中。假设一个令牌读取器系统中每 个安全令牌都具有唯一的8字节序列号,则实际执行过程可以具有如 下步骤
安全令牌的制造商定义了基于椭圆曲线的加密系统,即制造商 公布了用于证书验证的椭圆曲线的参数、基点g及其公钥。为获得适 当的安全等级,可以选择160位的参数。 一般认为,使用160位的椭 圆曲线加密法甚至可以胜任合格数字签名。因此,由于未必需要如此 高的安全等级,可以选择甚至低于160位的值。在安全令牌和读取器 二者中,可以实现对椭圆曲线执行点乘的算法。
对于每个安全令牌,制造商可以生成唯一标识(UID)、密钥y,
可以计算或生成公钥y-g,并且可以发布y的证书,即制造商用其 自身的私钥来标记y。假设使用了 8字节的UID和160位的高安全等 级,则密钥可以具有96位,对应的可以具有160位。
无论实体何时需要验证安全令牌的本原(originality),该实 体都可以执行参照图l流程图所述的协议。如果安全令牌通过测试, 则其为原始的,如果测试失败则非原始的。所述协议是正确的,因为 一个能够对所有询问值c进行正确应答的攻击者"知道"私有指数。
图2示意性例示了一个安全令牌。此安全令牌可以是智能卡或 者USB安全令牌。特别地,图2示意性地示出了 USB安全令牌200。USB安全令牌200包括适用于插入到读取装置的USB端口的接口部分 201,并包括为作为安全令牌200的一部分的集成电路形成封装的主 体202。特别地,图2中示意性地示出了存储器203,其中可以存储 私钥、用于鉴权算法的基点、公钥、公钥的证书、序列号UID以及其 它数据。
最后应当注意,上述实施例是对本发明的例示而非限定,本领 域的技术人员能够在不偏离由权利要求所限定的发明范围的情况下 设计多种替代实施例。权利要求中置于括号内的参考标号不应理解为 对权利要求的限定。词语"包含"和"包括"等并不排除列出在作为
整体的权利要求或说明书中的元件或步骤之外的元件或步骤的存在。 对元件的单数引用并不排除对此元件的复数引用,反之亦然。在涉及
多种装置的产品权利要求中,这些装置中的一些可以由同一项软件或 硬件实现。在互不相同的从属权利要求中提及特定手段的情况并不表 示不可以使用这些手段的组合来获取优势。
权利要求
1.一种生成用于电子设备(200)的公钥的方法,该方法包括基于私钥以及与电子设备(200)相关联的唯一标识符来生成公钥(103)。
2. 根据权利要求1的方法,还包括使用初级基点来生成用于生成公钥的二级基点。
3. 根据权利要求1的方法,其中基于与电子设备(200)相关联的唯一标识符来生成所述二级基点。
4. 根据权利要求3的方法,其中所述初级基点是素域或椭圆曲线上的基点。
5. 根据权利要求1的方法,其中所述电子设备(200)的唯一标识符是序列识别号。
6. 根据权利要求5的方法,其中通过下式来计算公钥-y表示公钥,x表示私钥,g'表示二级基点并且通过g'-g'。计算得到,其中ID表示序列识别号,g表示初级基点
7. —种电子设备(200),包括存储器(203),其中所述存储器(203)适用于存储根据权利要求1的公钥。
8. 根据权利要求7的电子设备(200),其中存储器(203)还适用于存储其唯一标识符以及用于公钥的证书。
9. 根据权利要求7的电子设备(200),其中所述电子设备(200)是安全令牌。
10. —种对电子设备(200)进行鉴权(100)的方法,该方法包括生成根据权利要求l的公钥(103),在电子设备(200)上存储公钥(104),将公钥和唯一标识符发送至另一电子设备(105),以及使用不对称验证算法对电子设备进行鉴权。
11. 根据权利要求10的方法(100),其中所述不对称验证算法是零知识验证算法。
12. 根据权利要求11的方法,其中所述零知识验证算法是ElGamal型加密方案。
13. 根据权利要求10的方法,还包括基于唯一标识符计算二级基点。
14. 一种程序组件,其在由处理器执行时适用于控制或执行根据权利要求1的生成公钥的方法。
15. —种计算机可读介质,其中存储有计算机程序,所述计算机程序在由处理器执行时适用于控制或执行根据权利要求1的生成公钥的方法。
全文摘要
提供了一种生成用于电子设备的公钥的方法,其中所述方法包括基于私钥以及与电子设备(200)相关联的唯一标识符来生成公钥(103)。
文档编号H04L9/30GK101682508SQ200880019587
公开日2010年3月24日 申请日期2008年4月28日 优先权日2007年6月11日
发明者保罗·胡布梅尔, 海克·诺伊曼 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1