利用预计算减小生成ECDSA签名的延迟的方法技术

技术编号:11854478 阅读:131 留言:0更新日期:2015-08-11 00:06
为减小椭圆曲线数字签名生成时的延迟,数字签名的一部分在接收信息哈希之前由未修改的ECDSA运算引擎进行预计算。在信息哈希接收到之后,不利用该ECDSA运算引擎而完成数字签名的运算。应用包括在智能交通系统中为安全信息生成数字签名。

【技术实现步骤摘要】

本专利技术涉及一种在生成椭圆曲线数字签名算法(EOTSA)的签名过程中减小延迟的方法,特别地,涉及一种利用预计算来减小所述延迟的方法。
技术介绍
智能交通系统(ITS)是一种将信息技术与通信技术应用在道路运输领域的系统,其包括基础架构、交通工具和用户,以及交通管理和移动管理。ITS 的一个特色是车辆发起广播(Vehicle-Originating Broadcast, VOB)。发起车辆将与其运动信息、安全相关属性等频繁地进行广播,以确保这些信息可由其他车辆得到,从而每个接收车辆可以差别出该发送车辆的行为中的潜在危险状况。典型地,这将与基本安全信息的传输有关系,其中基本安全信息应当包括以下与获得信息签名有关的安全需求:认证性、完整性、授权性和权利级别、来源的不可否认性、以及防重放。由作为参考引用在本申请中的ETSI TS 102 687 v 1.1.1、以及美国运输部/欧盟委员会的文件HTGl-1 “ITS安全标准现状”版本2012-11-12所披露的ITS安全标准中,整体地指定了基本安全信息之间的最短间隔为40ms。任何符合标准的VOB系统都应当能够每40ms发送一个基本安全信息。然而,如以上所述的,每个基本安全信息都需要一个信息签名,以满足安全方面的需求,这意味着,基本安全信息需要进行签名。由于最短信息间隔是40ms,因此对于生成一个完整的数字签名来说,全部可用的时间预算即是40ms。然而,从应用的角度来看,为生成数字签名而延迟达到40ms是不可接受的,对于基本安全信息来说尤其如此。一般而言,签名生成的延迟应当低于约10ms。应当注意到,签名生成的过程(对信息进行签名)需要在安全环境下进行,例如由安全元件提供,或者更准确而言,由安全元件的软件加密库和密码协处理器来提供,其中在安全环境下可以不需要进行签名核验的过程。由例如是密码协处理器的加密库所代表的安全环境,其所拥有的硬件通常比次安全环境的硬件弱一些。
技术实现思路
一种利用预计算来减小生成椭圆曲线数字签名的延迟的方法,其特征在于,包括:在接收信息哈希之前,利用ECDSA运算引擎预计算不完整的椭圆曲线数字签名;以及在接收信息哈希之后,通过利用所述不完整的椭圆曲线数字签名作为输入,不使用ECDSA运算引擎而完成椭圆曲线数字签名的运算。本专利技术还提供一种使用上述利用预计算来减小生成椭圆曲线数字签名的延迟的方法的智能交通系统。【附图说明】图1a所示的是现有技术中计算E⑶SA签名的步骤。图1b所示的是图1a中计算签名的时间预算。图2a所示的是现有技术中在输入信息哈希之前预计算ECDSA签名的一部分。图2b所示的是图2a中的运算的时间预算。图3a_b所示的是本专利技术的一种实施方式。图3c所示的是图3a_b中的运算的时间预算。图4a_b所示的是本专利技术一种实施方式。图4c所示的是图4a_b中的运算的时间预算。图5所示的是本专利技术的一种实施方式。【具体实施方式】在ITS中,为基本安全信息所选定的签名方案是椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA)。ECDSA 需要指定定义在有限域Fq上的椭圆曲线E,以及指定将要作为具有高素数阶η的椭圆曲线子群的生成器的椭圆曲线基点G e E(Fq)。其中η为整数,为G的数阶,这意味着n*G = O(其中O是识别元素,*表示椭圆曲线点乘以标量)。图1a所示的是典型的E⑶SA签名生成函数的步骤,其用于生成是数字信息签名的对(r,s)。步骤101,输入信息m(例如安全信息)的哈希(密码散列函数)e。密码散列函数HASH可以是NSA的安全哈希算法-2 (Secure Hash Algorithm-2, SHA-2)或者其他适合的密码哈希函数。步骤102,选择O到η中的随机整数k。步骤103,计算曲线点(x,y)=k*G。步骤104,计算r = X mod n,其中mod为模数运算。步骤105,计算s = (e+d*r)mod n,其中d是私钥整数。最后,步骤106,返回数字信息签名(r,s)。图1b所示的是E⑶SA签名生成函数的时间预算150。当信息m被接收之后,在tO时,信息哈希e输入到ECDSA签名生成函数,其需要i微秒来计算信息签名,并剩下(j_i)微秒的“富余”时间。在此,j是基本安全信息之间的最短间隔,或者例如在其他需要ECDSA签名生成的应用中的数据包。典型地减小E⑶SA签名生成函数的延迟的方法是预计算E⑶SA签名生成函数中不依赖于信息的密码哈希函数HASH(m)的量,例如r和k'图2a所示的是在E⑶SA签名生成函数实施中,利用信息可用之前的时间,在信息哈希e被输入之前来预计算r和k—1。步骤201,选择O到η中的随机整数k。步骤202,计算曲线点(x,y) = k*G。步骤203,计算r=X mod n,其中mod为模运算。步骤204,计算t = kT1。在步骤205时,接收信息m,计算HASH(m)并作为e输入。步骤206,计算s = t* (e+d*r)mod n,其中d是私钥整数。最后,步骤207,返回数字信息签名(r,s)。图2b所示的是E⑶SA签名生成函数的时间预算250。在t = O时,签名生成函数开始步骤201、202、203和204的预计算,其需要α毫秒来进行计算。当e变为可用时,步骤205输入e = HASH(m)。这一步骤可能在预计算结束之后的某个时间进行。步骤206完成ECDSA数字签名。步骤207,在h毫秒之后,输出完成的数字信息签名,剩下(j-h)毫秒的“富余”时间。在此,j是基本安全信息之间的最短间隔,或者例如在其他需要低延迟m的应用中的数据包。图2a与图2b中所示的方法中,存在一个问题,即将E⑶SA签名计算分割成两个运算,需要对原有的生成ECDSA签名的运算引擎进行修改。ECDSA运算引擎通常包括模加法、模乘法、模逆运算功能以及其他在椭圆曲线加密算法中使用的功能。在ECDSA运算引擎与运行用户软件的安全微控制器之间的接口,通常限制为运算在安全微控制器上的用户软件可以访问的ECDSA运算引擎的那部分基础功能。ECDSA运算引擎的实施方式通常包括密码协处理器,密码协处理器可选地由运行在微处理器上的加密库控制,微处理器电连接到密码协处理器。可选地,E⑶SA运算引擎还可以包括运行在密码协处理器上的固件,以控制该协处理器。然而,任何对于已经通过了安全评估的E⑶SA运算引擎的修改都可能需要将整个E⑶SA运算引擎进行重新认证,这个过程通常耗时较长,花费较大。甚至于,为了实现所需的修改,有必要对于硬件进行重新设计。根据本专利技术,可以在不需要对现有的生成ECDSA签名的E⑶SA运算引擎进行修改的情况下,实现利用预计算来降低E⑶SA签名生成的延迟的优势。根据本专利技术的一种实施方式,如图3a所示,预计算涉及生成完整E⑶SA签名s',但使用一个虚设哈希e'作为运算的输入。S1的计算是在未修改的ECDSA运算引擎中进行的。步骤301,向E⑶SA签名生成器中输入虚设哈希^,EOTSA签名生成器是E⑶SA运算引擎的一部分。步骤302,选择O到η中的随机整数k。步骤303,计算曲线点(x,y)=k*G。步骤304,计算r = X mod 本文档来自技高网
...

【技术保护点】
一种利用预计算来减小生成椭圆曲线数字签名的延迟的方法,其特征在于,包括:在接收信息哈希之前,利用ECDSA运算引擎预计算不完整的椭圆曲线数字签名;以及在接收信息哈希之后,通过利用所述不完整的椭圆曲线数字签名作为输入,不使用ECDSA运算引擎而完成椭圆曲线数字签名的运算。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:彼得·玛利亚·弗朗西斯科·罗姆伯茨蒂莫图斯·亚瑟·范雷蒙德
申请(专利权)人:恩智浦有限公司
类型:发明
国别省市:荷兰;NL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1