CN101641905B - 隐式证书验证 - Google Patents

隐式证书验证 Download PDF

Info

Publication number
CN101641905B
CN101641905B CN200780049588.8A CN200780049588A CN101641905B CN 101641905 B CN101641905 B CN 101641905B CN 200780049588 A CN200780049588 A CN 200780049588A CN 101641905 B CN101641905 B CN 101641905B
Authority
CN
China
Prior art keywords
key
correspondent node
certificate
signature
key information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200780049588.8A
Other languages
English (en)
Other versions
CN101641905A (zh
Inventor
马瑞内斯·斯特林克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
Original Assignee
Certicom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Certicom Corp filed Critical Certicom Corp
Publication of CN101641905A publication Critical patent/CN101641905A/zh
Application granted granted Critical
Publication of CN101641905B publication Critical patent/CN101641905B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种对要在通过密码系统互相通信的一对通信对端之间共享的密码密钥进行计算的方法,一个通信对端接收另一通信对端的公共密钥信息的证书,所述公共密钥信息要与所述一个通信对端的私有密钥信息相结合以生成所述密钥。所述方法包括下列步骤来计算所述密码密钥:通过将所述公共密钥信息和所述私有密钥信息相结合,并将与所述证书的验证相对应的分量包括在所述计算中,使得所述证书的验证失败导致在所述一个通信对端处的密码密钥不同于在所述另一通信对端处计算的密码密钥。

Description

隐式证书验证
技术领域
本发明涉及公共密钥密码。
背景技术
公共密钥密码用于允许在一对通信对端之间进行安全通信,并允许对源自通信对端之一的消息进行认证。在公共密钥密码系统中,每个通信对端使用私有密钥和通过数学函数与私有密钥相关联的公共密钥。该数学函数提出了“困难”的数学问题以确保不能通过相应的公共密钥来获得一方的私有密钥。这种问题包括RSA密码系统中所使用的对两个大素数的乘积进行因子分解的难度,以及在数字签名算法(DSA)中使用的在有限域上的离散对数问题的难解决性。离散对数系统得到广泛使用,并且这种系统的特定适配利用了在有限域上定义的椭圆曲线中的点。这种系统被称为椭圆曲线密码系统(ECC),以比其它系统更小的密钥大小提供了高级别的安全性。
在需要安全地交换消息时,在一般称为密钥协商协议的特定协议中使用公共密钥和私有密钥,以建立通信对端之间的共享密钥且不公开相应的私有密钥。然后,共享密钥可以用于对通信对端之间的消息进行加密和解密。
椭圆曲线公共密钥密钥协商协议典型地包括下列步骤:
·密钥贡献(Key Contribution)。每一方随机生成短期(短暂)公共密钥,根据作为随机整数的私有密钥以及种子点,提供表示短暂公共密钥的点并且将相应的短暂公共密钥传送至另一方(而不传送私有密钥)。另外,每一方可以传送其长期静态公共密钥。
·密钥建立。每一方基于其接收自另一方的静态和短暂密钥并基于其自身生成的短暂私有密钥来计算共享密钥。由于椭圆曲线的特性,两方将得到相同的共享密钥。
·密钥认证。每一方验证另一方的长期静态密钥的真实性,以证明能够计算出共同密钥的唯一方确实是其所感知的通信对端。
·密钥确认。每一方向另一方证明其拥有共同密钥,通常通过传送基于与任一方所传送的密钥贡献相对应的字符串的消息认证校验值。这向每一方确认了另一方的真实身份,并且证明该方成功计算出了共同密钥。该步骤可以作为密钥协商协议的一部分或随后通过共享密钥的使用来完成。
密钥认证步骤典型地独立于上述其它协议步骤来执行,并且通常涉及检查证书的有效性,所述证书通过相应公共密钥保证一方与其私有密钥之间绑定的真实性。独立的密钥认证步骤允许更多的灵活性(例如在证书的使用中),但是付出很大代价,这是由于密钥协商协议的在线计算代价是由密钥认证步骤的代价和密钥建立步骤期间的密钥计算代价之和所支配的。
证书本质上是通信对端的公共密钥的信任方的签名以及如发布方的名称以及证书持有者的名称之类的其它信息。在ECC系统中,尽管可以使用其它签名协议,但是通常使用ECDSA协议来执行并验证签名。例如,ECDSA签名生成过程对ECC的域参数、私有密钥d以及消息m进行运算,在证书环境中,消息m包括通信对端的公共密钥。输出是签名(r,s),其中签名分量r以及s是整数,并且如下进行处理。
1、选择随机整数k∈R[1,n-1],n是域参数之一。
2、计算kG=(x1,y1)并且将x1转换为整数
Figure GSB00000684034800021
,其中G是在椭圆曲线E上的点并且是域参数之一。
3、计算
Figure GSB00000684034800022
其中如果r=0,则返回步骤1。
4、计算e=H(m),其中H代表密码散列(hash)函数,其输出具有不超过n的比特长度(如果不满足该条件,则可以截断H的输出)。
5、计算s=k-1(e+αr)mod n,其中α是签名者的长期私有密钥。如果
s=0,则返回步骤1。
6、将(r,s)对作为消息m的ECDSA签名输出。
ECDSA签名验证过程对若干域参数、长期公共密钥Q(其中Q=αG)、消息m以及以上导出的签名(r,s)进行运算。ECDSA签名验证输出对签名的拒绝或接受,并且如下进行处理。
1、验证r和s是区间[1,n-1]中的整数。如果验证失败,则返回拒绝。
2、计算e=H(m)
3、计算w=s-1mod n
4、计算u1=ew mod n以及u2=rw mod n
5、计算R=u1G+u2Q=s-1(eG+rQ)(根据以上3和4)
6、如果R=∞,则拒绝该签名
7、将R的x坐标x1转换为整数
Figure GSB00000684034800031
计算
Figure GSB00000684034800032
8、如果v=r,则接受该签名,否则拒绝该签名
应当理解,可以使用如ECGDSA之类的其它签名生成和验证步骤,并且有时可以省略用于确认签名完整性的特定步骤。
因此,为了对通信对端的公共密钥(即包含通信对端的公共密钥以及其它消息的消息m)进行认证,需要验证证书上的签名。
认证之后,通常确认每一方的密钥确实相同。在两方A和B之间执行密钥协商协议期间,A方建立了密钥KA,而B方建立了密钥KB。密钥确认包括:A通过向B传送某个量f(KA),其中f是某个公知函数,来向B证明A知道KA,B将该量与其自己计算的值f(KB)进行比较并且仅当这些值相匹配的时候才接受(反之亦然)。该函数f使得如果f(KA)=f(KB),则有极大概率KA=±KB并且已经建立了共同密钥。
如上所述,密钥认证步骤向密钥协商协议添加了很多计算负荷。因此本发明的目的是消除或者减轻上述缺点。
发明内容
一般而言,申请人已经认识到,通过对共享密钥和证书验证的组合进行联合计算,可以在随后的密钥确认步骤中获得证书的隐式验证。
优选地,签名验证使用了齐次验证等式,即等于O的等式,使得对证书验证的失败将导致在共享密钥的计算值之间的不等性。
在一个方面,提供了一种对要在通过密码系统互相通信的一对通信对端之间共享的密码密钥进行计算的方法,一个通信对端接收另一通信对端的公共密钥信息的证书,所述公共密钥信息要与所述一个通信对端的私有密钥信息相结合以生成所述密码密钥,所述方法包括下列步骤来计算所述密码密钥:通过将所述公共密钥信息和所述私有密钥信息相结合,并将与所述证书的验证相对应的分量包括在所述计算中,使得所述证书的验证失败导致在所述一个通信对端处的密码密钥不同于在所述另一通信对端处计算的密码密钥。
在另一方面,提供了一种计算机可读介质、密码单元和系统,配置用于执行上述方法的步骤。
附图说明
现在参考附图来描述本发明的实施例,其中:
图1是数据通信系统的示意表示。
图2是第一密钥协商协议的示意表示。
图3是另一个密钥协商协议的示意表示。
具体实施方式
因此,参见图1,密码通信系统总体上由数字10来表示。系统10具有可以在通信信道16上互相通信的第一通信对端12和第二通信对端14。通信信道16可以安全或不安全的。每个通信对端分别具有密码模块18和20,用于进行密码运算,该密码运算对在所选域上定义的椭圆曲线E进行运算。密码模块18可以是硬件,计算机可读软件指令或二者的结合,并被配置为执行如下所述的密码运算。
通信对端12具有长期私有密钥“a”以及相应的长期公共密钥A=aG,其中G是在域参数中指定的曲线上的基点。
为了向通信对端12认证公共密钥A,从信任权威获得证书TA。该证书包括在公共密钥A上的信任权威的签名,可以使用信任权威的公共密钥Q来验证该签名。
类似地,通信对端14具有长期私有密钥b和相应的长期公共密钥B=bG以及其公共密钥的证书TB。可以由另一个信任方对证书TB签名或者使用与用于获得证书TA的公共密钥不同的另一个公共密钥来对证书TB签名。
典型地,每个通信对端12,14可以分别生成随机整数x、y,用作会话或者短暂私有密钥,该密钥将生成相应的短暂公共密钥xG、yG。然而,为了清晰起见,在将描述的第一实施例中,使用每个通信对端的长期密钥来建立共同密钥。
在图2所示的第一密钥协商协议中,利用使用ECDSA来签名的证书TA,TB来采用静态椭圆曲线Diffie Hellman(ECDH)密钥生成过程。
首先,通信对端12、14交换公共密钥A、B以及相应的证书TA、TB。共同密钥是K=abG,可以根据接收到的公共信息以及其自己具有的私有信息来计算该共同密钥。因此KA=aB并且KB=bA。
为了验证该密钥的真实性,通常验证证书TA和TB。然而,在本实施例中,联合执行密钥生成和认证以提高效率。如上所述,ECDSA在其验证中提供了:
R=s-1(eG+rQ)。
相应地,如果证书验证成功,则s-1(eG+rQ)-R=∑=O。通过取r为点R的x坐标值,可以根据签名分量r来恢复R的值。x坐标提供了两个可能的y值,并且为了解决不明确性,将正确值的指示包括在签名中,或者有预先商定的规则来选择这些值之一作为允许计算出R的正确值。
每个通信对端还具有来自证书TA、TB的签名(r,s)。为了计算密钥K,通信对端12通过将公共密钥和私有密钥信息相结合并包括与签名验证相对应的分量来计算密钥KA。因此:
KA=abG+λ1(sB -1(eBG+rBQB)-RB)
其中
λ1是随机值
rB、sB是证书TB的签名分量
eB是证书中消息m的散列,包括通信对端14的公共密钥B,并且
RB是根据rB恢复的值
可以认识到,如果证书认证了B的公共密钥,则签名验证分量sB -1(eBG+rB Q B )-R B )应当为零,因此该计算应当得到密钥KA=aB。
类似地,通信对端14计算KB=abG+λ2(sA -1(eAG+rAQA)-RA),其中rA、sA、RA的值与证书TA相关。再一次,如果证书认证成功,则应当得到密钥KB=bA。
在每个通信对端12、14已经计算出相应密钥KA、KB之后,通信对端12、14实现密钥确认步骤以交换作为共同密钥的函数的信息。如果接收到的信息与计算出的不匹配,则拒绝该密钥。
共同密钥不同的一个原因是从证书验证部分获得的值不为零,说明该证书未通过认证。通过在每个计算中插入随机值λ(λ对每个通信对端12、14通常是不同的)增强了认证过程的效力。
因此,通过联合计算共同密钥的值以及与O相对应的关系,如果证书认证成功,则计算量得以减少。
图3示出了另一实施例,其中将MQV密钥协商协议与使用ECDSA签名的证书的认证相结合。
在图3的实施例中,通信对端12和14分别具有长期私有密钥a、b,长期公共密钥A、B,短期私有密钥x、y以及短期公共密钥X、Y。在ECMQV中,共同密钥具有如下形式:
K=cX+dB
其中
c=x+ag(x)(mod n)以及
d=cg(Y)(mod n)
其中g是公知的表示函数,将椭圆曲线点映射至合适的整数。
假定每个通信对端具有另一通信对端的证书TA、TB,则每个通信对端将短期公共密钥X、Y分别发送至另一通信对端。
通信对端12计算s12=(x+ag(x))mod n。通信对端14计算s14=(y+bg(y))mod n。然后,共同密钥K可以计算为:
K=s12(Y+g(y)B)=s14(X+g(x)A)
为了认证该密钥,必须对通信对端的长期公共密钥的证书进行认证。相应地,如上所述,通信对端12将共同密钥K计算为:
KA=s12(Y+g(y)B)+λ∑
=(x+ag(x))(Y+g(y)B)+(λ1eBsB -1)G+(λ1rBsB -1)Q+λ1RB
并且,通信对端14将共同密钥K计算为:
KB=s14(X+g(x)A)+λ∑
=(y+bg(y))(X+g(x)A)+(λ2eAsA -1)G+(λ2rAsA -1)QA2RA
对于每个通信对端,λ是随机整数,并且∑是针对相应证书的签名验证关系s-1(eG+rQ)-R。
假定∑=O,则密钥相匹配,并且对证书了进行隐式认证。
所获得的效率可以归功于在点加倍运算上的节约以及使用多次点相乘策略的可能性。
从安全角度看,随机值λ应当从大小为
Figure GSB00000684034800071
的集合中选择,这是由于该集合与求解ECDLP问题的工作量相对应。从中选择λ的集合可以变化,安全性也随之发生变化。如果λ从大小为2t的集合中选取,其中t<(log2 n)/2,则密钥认证强度将降至t比特。由于这种λ的选择,计算aB+λR涉及wtH(a)次点加法(涉及B或B-R),其中wtH是值a的二进制表示的Hamming权重。在计算aB中涉及到的点加法次数与此相同。
可以使用非邻接形式(NAF)来计算量(λes-1)G+(λrs-1)Q,在Guideto Elliptic Curve Cryptography,Vanstone et al.,Springer,第98至101页中更完整描述了NAF,其内容以引用的方式并入本文。
以这种方式估计KA的工作量大约是m次点加法以及m次加倍,其中m是曲线的比特大小。
通过比较,估计KA=aB并验证ECDSA签名分别具有5m/6次加法和2m次加倍的工作量。
因此,可实现30%的改进。如上所述,如果使用在美国专利申请No.11/333,296中所示的“快速验证”技术,则可实现10%数量级的节约。
通过考虑具有以NAF表示而不是以二进制表示的整数的λ,可以获得进一步的改进。由于wtH(a)≈m/3,有|L|≈3m/3>√n(注意,L中的全部整数是NAF形式,因此是唯一的)。执行类似如上的分析,此处给出的方法产生大约5m/6次加法以及m次加倍。在这种情况中,此处给出的方法产生1.52m次加法,而不是使用上述二进制方法的1.70m次加法,从而与分离计算(快速验证和普通ECDSA验证)相比分别产生22%和47%的效率提高。注意,在这种情况中可以写为:aB-λR=(a-λ+-)B-λ+(R-B)-λ-(R+B);其中λ=λ+-,并且λ+和λ-定义了λ的分量,所述分量分别具有与a的对应分量相同或不同的符号。
可以将此推广至Guide to Elliptic Curve Cryptography,Vanstone etal.,Springer,第99页(w≥2)中描述的w-NAF表示。则|L|=qt,其中q:=2w-1+1并且t:=wtH(a)(全部整数是w-NAF形式,所以是唯一的)。如果假定wt(a)≈m/(w+1),则获得L=(2w-1+1)m/(w+1)≥2m/2≈√n。更详细的分析表明:aB+λR中的加法可以以与在aB中的相同代价来计算(使用相同方法),但是后者具有更大得多的预计算代价,约为2(w+1)(w-2)/2而不是2w-2。存储代价如下:1对3(w=2),2对8(w=3),4对24(w=4),8对64(w=5)。因此,如果存储代价是选择的度量,则比较是有些误导的:如果存储8个点并且仅使用w-NAF技术,则可以使用5-NAF计算aB或者使用3-NAF计算来计算aB+λR,这样的代价是0.166m次加法,相对而言使用本技术为0.25m次加法。因此,本技术可以被认为以aB+λR的估计中0.083m次额外加法为代价,节约ECDSA签名的估计中的m次加倍。
该方法基本上从ECDSA验证过程中移除了加倍运算,即ECDSA验证的增量代价变为仅m/2次加法,而不是(在扩缩之后)0.85m次加法(快速验证)与1.02m次加法(普通ECDSA验证),即提供了对ECDSA验证过程的70-104%的效率提高。可以通过对多次点相乘的全部能力的更充分利用并且通过使用加窗和w-NAF方法来获得进一步的提高。
根据图3的实施例涉及MQV和ECDSA:
KA′=cY+dB+λ∑=cY+dB-λR+((λes-1)G+(λrs-1)Q)
L : = { x | supp ( x ) ⋐ supp ( c ) ∪ supp ( d ) } , 其中整数x以二进制形式表示。如果c和d是JSF表示,则supp(c)∪supp(d)具有权重≈m/2(其中m:=log2n),所以|L|=√n。由于这种对λ的选择,计算KA+λR精确涉及wtH(c,d)次点加法。选择λ,使得相对于预计算的点Y、B、Y-B、Y+B,这里的非零分量具有与cY+dB中的相应系数相同的符号(这确保了所有λ确实是唯一的)。因此,可以完成所有计算,涉及8个点Y、B、Y+B、Y-B、R+Y、R+B、R+Y+B、R+Y-B(而不是需要12个点)。一旦如上所述的确定了λ,则可以使用联合NAF形式来计算量(λes-1)G+(λrs-1)Q。按照这种方式来估计KA′所涉及的工作量大约是m次点加法以及m次点加倍。显而易见地,通过利用多次点相乘的全部能力并且通过使用加窗和w-NAF方法可以获得改进。然而,主要的改进是这种结合计算提供了对加倍运算的大量节约的前景。
上述方法可以用于产生简单旁道攻击(side channel attack)抵御实现。细节如下。另
Figure GSB00000684034800091
其中认为所有整数都以二进制表示。由于wt(c)≈m/2,有|L|≈√n。现在,另λ=λ+-,其中λ+是L的随机元素,并且针对所有在supp(c)外的位置将λ-设置为1,否则设置为0。可以使用5个预计算的点Y、B、Y+B、B+R以及Y+B+R来执行cY+dB+λ+R的计算。一旦如上所述使用涉及R、Q和G的7个非零部分和确定了λ,则可以计算量λ-R+((λes-1)G+(λrs-1)Q)。通过预计算22=5×3+3+4个点,可以使用多次点相乘,使用正好m+22次点加法以及m次点加倍来计算KA′。λ-的选择保证了在针对点相乘的二进制方法中每个步骤都涉及加法。通过使λ-:=0,可以仅预计算19个点,但是不可能强制每个迭代轮一次加法,因此旁道攻击是可能的。可以通过选择另一个λ+直到获得这种条件来确保这一点,然而,其自身可能泄露旁道信息。上述方法具有与基于在KA计算期间添加伪点加法运算来防止简单旁道攻击的方法相同的代价,但是同样实现了ECDSA签名验证。因此,在该方法中实质上无代价地提供了ECDSA签名验证。
假定∑位于G生成的素数阶子群中。它应当具有足够大的阶数。如果∑对应于ECDSA验证等式,则可以通过检查hR≠O来容易地对该条件进行检查,其中h是曲线的余因子(co-factor)。
由于对加倍运算的节约以及对多次点相乘策略的利用,上述方法导致了性能改进。此外,该方法不限于在密钥协商协议的执行期间将密钥认证和密钥建立步骤相结合;该方法可以应用至必须计算一些密钥并且验证一些椭圆曲线等式的任意设置(事实上,密钥甚至不需要是秘密的)。这就是说,该方法在可以验证所计算的密钥是否正确的设置中最有用(由于这将产生关于齐次椭圆曲线等式∑=O是否成立的判断)。因此,该方法在确实证明知道所计算密钥的所有设置中可以有效地工作。
用于将验证与密钥计算相结合的方法可以在比上述设置中更一般的设置中工作。可以通过使用对每个验证具有不同λ的计算和验证等式的结合来获得多个ECDSA签名(证书链)的验证。类似地,任意椭圆曲线的验证以及多个椭圆曲线等式的批处理验证是可能的。
使用ANSI X9.63,NIST SP800-56a中的ECDH方案(包括ECIES,统一模型,STS,ECMQV,ElGamal加密)来进行密钥计算也是可能的。可以在例如具有ECDSA证书的PV签名中检查提供正确性的非秘密ECC点的计算。类似地,可以对提供正确性的多个ECC点的计算进行检查。
还可能对在其它代数结构(包括超椭圆曲线,基于身份的密码系统,等等)中的运算应用这种技术。
用于提供简单旁道抵御的λ的使用实质上是无代价的。
尽管以上按照特定示例实施例进行了描述,但是应当理解,在所附权利要求的范围内,实施例的变型是可能的。

Claims (13)

1.一种对要在通过密码系统互相通信的一对通信对端之间共享的密码密钥进行计算的方法,一个通信对端接收另一通信对端的公共密钥信息的证书,所述公共密钥信息要与所述一个通信对端的私有密钥信息相结合以生成所述密码密钥,所述方法包括下列步骤来计算所述密码密钥:通过将所述公共密钥信息和所述私有密钥信息相结合,并将与所述证书的验证相对应的分量包括在所述计算中,使得所述证书的验证失败导致在所述一个通信对端处的密码密钥不同于在所述另一通信对端处计算的密码密钥。
2.根据权利要求1所述的方法,其中,所述验证利用在所述证书中包含的签名。
3.根据权利要求2所述的方法,其中,当所述证书验证成功时,所述分量等于零。
4.根据权利要求3所述的方法,其中,所述分量中包括随机元素,以掩蔽所述证书的验证。
5.根据权利要求4所述的方法,其中,选择所述随机元素以在所述签名的验证中提供反复迭代,从而禁止旁道攻击。
6.根据权利要求1所述的方法,其中,所述密码系统是椭圆曲线密码系统。
7.根据权利要求6所述的方法,其中,所述计算是使用多次点相乘来执行的。
8.根据权利要求6所述的方法,其中,所述证书包括由椭圆曲线签名协议进行的签名。
9.根据权利要求8所述的方法,其中,所述签名协议是ECDSA。
10.根据权利要求6所述的方法,其中,所述公共密钥信息是椭圆曲线点的表示,所述公共密钥信息和所述私有密钥信息的组合过程包括点相乘。
11.根据权利要求8所述的方法,其中,所述签名的验证要求多次点相乘。
12.根据权利要求11所述的方法,其中,所述计算是使用多次点相乘来执行的。
13.根据权利要求1所述的方法,包括以下步骤:确认由所述一个通信对端生成的密码密钥与所述另一通信对端的密码密钥相符。
CN200780049588.8A 2006-11-15 2007-11-15 隐式证书验证 Active CN101641905B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US86601306P 2006-11-15 2006-11-15
US60/866,013 2006-11-15
PCT/CA2007/002049 WO2008058388A1 (en) 2006-11-15 2007-11-15 Implicit certificate verification

Publications (2)

Publication Number Publication Date
CN101641905A CN101641905A (zh) 2010-02-03
CN101641905B true CN101641905B (zh) 2012-09-05

Family

ID=39401282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780049588.8A Active CN101641905B (zh) 2006-11-15 2007-11-15 隐式证书验证

Country Status (7)

Country Link
US (2) US8069346B2 (zh)
EP (1) EP2082524B1 (zh)
JP (2) JP5174828B2 (zh)
CN (1) CN101641905B (zh)
CA (1) CA2669145C (zh)
SG (1) SG174833A1 (zh)
WO (1) WO2008058388A1 (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5068176B2 (ja) 2005-01-18 2012-11-07 サーティコム コーポレーション デジタル署名と公開鍵の促進された検証
CN101641905B (zh) * 2006-11-15 2012-09-05 塞尔蒂卡姆公司 隐式证书验证
WO2009090519A1 (en) * 2008-01-15 2009-07-23 Nxp B.V. Efficient reconstruction of a public key from an implicit certificate
US8327146B2 (en) * 2008-03-31 2012-12-04 General Motors Llc Wireless communication using compact certificates
US8582775B2 (en) * 2009-02-12 2013-11-12 General Motors Llc Method of securing and authenticating data using micro-certificates
CN102111759A (zh) * 2009-12-28 2011-06-29 中国移动通信集团公司 一种认证方法、系统和装置
WO2011120125A1 (en) * 2010-03-31 2011-10-06 Irdeto Canada Corporation System and method for protecting cryptographic assets from a white-box attack
US8644500B2 (en) * 2010-08-20 2014-02-04 Apple Inc. Apparatus and method for block cipher process for insecure environments
CN103444128B (zh) * 2011-03-18 2017-04-05 塞尔蒂卡姆公司 密钥pv签名
US8675869B2 (en) * 2011-03-23 2014-03-18 Blackberry Limited Incorporating data into an ECDSA signature component
US9003181B2 (en) * 2011-03-23 2015-04-07 Certicom Corp. Incorporating data into cryptographic components of an ECQV certificate
US10298684B2 (en) 2011-04-01 2019-05-21 International Business Machines Corporation Adaptive replication of dispersed data to improve data access performance
US11418580B2 (en) 2011-04-01 2022-08-16 Pure Storage, Inc. Selective generation of secure signatures in a distributed storage network
US8874990B2 (en) * 2011-04-01 2014-10-28 Cleversafe, Inc. Pre-fetching data segments stored in a dispersed storage network
WO2012151653A1 (en) * 2011-05-06 2012-11-15 Certicom Corp. Validating a batch of implicit certificates
CA2838675C (en) 2011-06-10 2017-10-10 Certicom (U.S.) Limited Implicitly certified digital signatures
CA2838322C (en) * 2011-06-10 2016-10-11 Certicom (U.S.) Limited Secure implicit certificate chaining
US8745376B2 (en) * 2011-10-14 2014-06-03 Certicom Corp. Verifying implicit certificates and digital signatures
US9503259B2 (en) * 2012-02-09 2016-11-22 Irdeto B.V. System and method for generating and protecting cryptographic keys
US9571274B2 (en) * 2013-06-27 2017-02-14 Infosec Global Inc. Key agreement protocol
US9100175B2 (en) 2013-11-19 2015-08-04 M2M And Iot Technologies, Llc Embedded universal integrated circuit card supporting two-factor authentication
US9350550B2 (en) * 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
US10498530B2 (en) 2013-09-27 2019-12-03 Network-1 Technologies, Inc. Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys
US10700856B2 (en) 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
EP2905718A1 (en) * 2014-02-05 2015-08-12 Thomson Licensing Device and method certificate generation
US9705683B2 (en) * 2014-04-04 2017-07-11 Etas Embedded Systems Canada Inc. Verifiable implicit certificates
FR3027753B1 (fr) * 2014-10-28 2021-07-09 Morpho Procede d'authentification d'un utilisateur detenant un certificat biometrique
US9853977B1 (en) 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
WO2016187690A1 (en) * 2015-05-26 2016-12-01 Infosec Global Inc. Key agreement protocol
AU2017222469A1 (en) 2016-02-23 2018-08-30 nChain Holdings Limited System and method for controlling asset-related actions via a blockchain
EP3420518B1 (en) 2016-02-23 2023-08-23 nChain Licensing AG Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain
US11126976B2 (en) 2016-02-23 2021-09-21 nChain Holdings Limited Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
MX2018010059A (es) 2016-02-23 2019-01-21 Nchain Holdings Ltd Metodo implementado por cadena de bloques para el control y distribucion de contenido digital.
JP6877448B2 (ja) 2016-02-23 2021-05-26 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム
CA3015569C (en) 2016-02-23 2024-04-02 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
SG10202007906RA (en) 2016-02-23 2020-09-29 Nchain Holdings Ltd Blockchain-based exchange with tokenisation
CN109314636B (zh) 2016-02-23 2022-01-11 区块链控股有限公司 用于从区块链中安全提取数据的密码方法和系统
EP3259725B1 (en) 2016-02-23 2020-06-10 Nchain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
EP4274154A3 (en) 2016-02-23 2023-12-20 nChain Licensing AG Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
KR101999188B1 (ko) 2016-02-23 2019-07-11 엔체인 홀딩스 리미티드 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안
BR112018016245A2 (pt) 2016-02-23 2018-12-18 Nchain Holdings Ltd método, dispositivo e sistema para determinação de um segredo comum para o intercâmbio seguro de informações e chaves criptoógráficas, sistema para comunicação e programa de computador
CN109074580B (zh) 2016-02-23 2022-09-30 区块链控股有限公司 在区块链上安全转移实体的方法和系统
EP3257002B1 (en) 2016-02-23 2020-03-11 Nchain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
SG10202011641RA (en) 2016-02-23 2021-01-28 Nchain Holdings Ltd Tokenisation method and system for implementing exchanges on a blockchain
FR3048319B1 (fr) * 2016-02-25 2018-03-09 Commissariat A L'energie Atomique Et Aux Energies Alternatives Methode de gestion de certificats implicites au moyen d'une infrastructure a cles publiques distribuee
CN108574571B (zh) * 2017-03-08 2021-12-03 华为技术有限公司 私钥生成方法、设备以及系统
US10798086B2 (en) 2017-05-08 2020-10-06 Amazon Technologies, Inc. Implicit certificates using ring learning with errors
CN110999203B (zh) * 2017-05-08 2021-09-07 亚马逊技术有限公司 用于生成共享密钥的方法和系统
US10511591B2 (en) * 2017-05-08 2019-12-17 Amazon Technologies, Inc. Generation of shared secrets using pairwise implicit certificates
US10516543B2 (en) 2017-05-08 2019-12-24 Amazon Technologies, Inc. Communication protocol using implicit certificates
CN108306734B (zh) * 2017-12-28 2021-01-01 飞天诚信科技股份有限公司 一种通信链路保护方法及装置
US10797868B2 (en) * 2018-05-31 2020-10-06 Irdeto B.V. Shared secret establishment
EP3811204A4 (en) * 2018-06-25 2022-06-08 Tusimple, Inc. SECURITY ARCHITECTURE FOR A REAL-TIME REMOTE VEHICLE MONITORING SYSTEM
US11263630B2 (en) 2018-10-12 2022-03-01 Blackberry Limited Method and system for single purpose public keys for public ledgers
US20210073359A1 (en) * 2019-09-10 2021-03-11 Michael Boodaei Secure one-time password (otp) authentication
WO2022088094A1 (zh) * 2020-10-30 2022-05-05 华为技术有限公司 一种安全通信方法及装置
CN114007220B (zh) * 2021-10-20 2023-12-08 武汉大学 短期阶段会话密钥生成方法、认证密钥协商方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889865A (en) * 1995-05-17 1999-03-30 Certicom Corp. Key agreement and transport protocol with implicit signatures
US6122736A (en) * 1995-04-21 2000-09-19 Certicom Corp. Key agreement and transport protocol with implicit signatures
US6792530B1 (en) * 1998-03-23 2004-09-14 Certicom Corp. Implicit certificate scheme

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0146437B1 (ko) * 1995-05-26 1998-09-15 조백제 인증교환 방법, 복원형 전자서명 방법, 부가형 전자서명 방법, 키교환 방법, 복원형 다중전자서명 방법, 부가형 다중전자서명 방법 및 블라인드 전자서명 방법
AU9426598A (en) 1997-10-14 1999-05-03 Certicom Corp. Key validation scheme
US6243467B1 (en) * 1998-07-23 2001-06-05 The United States Of America As Represented By The National Security Agency Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
IL128183A0 (en) * 1999-01-21 1999-11-30 L P K Information Integrity Lt Systems and methods for certifying public keys in digital signatures and key-agreements
AU2001267198A1 (en) * 2000-06-09 2001-12-17 Certicom Corp. A method for the application of implicit signature schemes
SE517116C2 (sv) * 2000-08-11 2002-04-16 Ericsson Telefon Ab L M Metod och anordning för säkra kommunikationstjänster
US7142670B2 (en) * 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
US7702105B1 (en) * 2004-04-23 2010-04-20 Oracle America, Inc. Accelerating elliptic curve point multiplication through batched inversions
JP5068176B2 (ja) * 2005-01-18 2012-11-07 サーティコム コーポレーション デジタル署名と公開鍵の促進された検証
CN101641905B (zh) * 2006-11-15 2012-09-05 塞尔蒂卡姆公司 隐式证书验证

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122736A (en) * 1995-04-21 2000-09-19 Certicom Corp. Key agreement and transport protocol with implicit signatures
US5889865A (en) * 1995-05-17 1999-03-30 Certicom Corp. Key agreement and transport protocol with implicit signatures
US6792530B1 (en) * 1998-03-23 2004-09-14 Certicom Corp. Implicit certificate scheme

Also Published As

Publication number Publication date
US20120047363A1 (en) 2012-02-23
US20100023771A1 (en) 2010-01-28
EP2082524B1 (en) 2013-08-07
JP2013034251A (ja) 2013-02-14
US8380984B2 (en) 2013-02-19
EP2082524A4 (en) 2010-08-18
EP2082524A1 (en) 2009-07-29
SG174833A1 (en) 2011-10-28
CN101641905A (zh) 2010-02-03
JP5174828B2 (ja) 2013-04-03
CA2669145A1 (en) 2008-05-22
CA2669145C (en) 2013-11-05
JP2010509876A (ja) 2010-03-25
WO2008058388A1 (en) 2008-05-22
US8069346B2 (en) 2011-11-29

Similar Documents

Publication Publication Date Title
CN101641905B (zh) 隐式证书验证
US8639931B2 (en) Acceleration of key agreement protocols
US9571274B2 (en) Key agreement protocol
EP2276196B1 (en) Method for the Application of Implicit Signature Schemes
US9800418B2 (en) Signature protocol
KR20070033289A (ko) 변용성있는 가명 인증 시스템 및 방법
GB2321834A (en) Cryptographic signature verification using two private keys.
US20160352689A1 (en) Key agreement protocol
US6499104B1 (en) Digital signature method
WO2016187690A1 (en) Key agreement protocol
WO2016187689A1 (en) Signature protocol
Mangipudi et al. Authentication and Key Agreement Protocols Preserving Anonymity.
US9054861B2 (en) Enhanced key agreement and transport protocol
EP2315391A2 (en) Key agreement and transport protocol with implicit signatures
CA2892318C (en) Signature protocol
Devi et al. An efficient and secure digital multi-signature protocol based on ECC
Chakraborty et al. Preventing Unknown Key-Share Attack using Cryptographic Bilinear Maps
CA2892787A1 (en) Key agreement protocol
Awasthi et al. A Scheme for Obtaining a Warrant Message from the Digital Proxy Signatures

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191028

Address after: Voight, Ontario, Canada

Patentee after: BlackBerry Ltd.

Address before: Rika Univ.

Patentee before: CERTICOM Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240605

Address after: Illinois

Patentee after: Ot patent trusteeship Co.,Ltd.

Country or region after: U.S.A.

Address before: Voight, Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240702

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Illinois

Patentee before: Ot patent trusteeship Co.,Ltd.

Country or region before: U.S.A.