CN110383754B - 基于椭圆曲线同源的密钥协商协议 - Google Patents

基于椭圆曲线同源的密钥协商协议 Download PDF

Info

Publication number
CN110383754B
CN110383754B CN201880014497.9A CN201880014497A CN110383754B CN 110383754 B CN110383754 B CN 110383754B CN 201880014497 A CN201880014497 A CN 201880014497A CN 110383754 B CN110383754 B CN 110383754B
Authority
CN
China
Prior art keywords
elliptic curve
point
network node
key
private
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
CN201880014497.9A
Other languages
English (en)
Other versions
CN110383754A (zh
Inventor
O·加西亚莫尔琼
S·巴塔查里亚
L·M·G·M·托尔胡伊泽恩
R·里特曼
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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 Koninklijke Philips NV filed Critical Koninklijke Philips NV
Publication of CN110383754A publication Critical patent/CN110383754A/zh
Application granted granted Critical
Publication of CN110383754B publication Critical patent/CN110383754B/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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
    • H04L9/3073Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/3257Cryptographic 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 blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

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

Abstract

提供了基于椭圆曲线同源的密钥协商协议,具体提供一种电子密钥预分配设备(110),用于为多个网络节点(210、211)配置本地密钥信息。密钥预分配设备包括将至少第一散列函数(147)和第二散列函数(148)应用于网络节点的数字标识符。第一和第二散列函数将数字标识符映射到第一椭圆曲线(131)和第二椭圆曲线(132)上的第一公共点(141;H1(ID))和第二公共点(142;H2(ID))。第一和第二秘密同源(135)被应用于第一和第二公共椭圆曲线点(141、142),以获得第一私有椭圆曲线点(151)和第二私有椭圆曲线点(152),其是网络节点(210)的私有秘钥材料(155)的一部分。

Description

基于椭圆曲线同源的密钥协商协议
技术领域
本发明涉及一种用于为多个网络节点配置本地密钥信息的电子密钥预分配设备、一种被布置用于与第二网络节点的密钥协商协议的第一电子网络节点、一种用于为多个网络节点配置本地密钥信息的密钥预分配的电子方法、一种用于在第一网络节点与第二网络节点之间建立共享密钥的电子方法、以及一种计算机可读介质。
背景技术
例如,在无线传感器网络中的密钥协商是重要的密码原语。一旦双方同意共同的共享密钥,它们就可以使用所述密钥来保护它们之间的通信,例如使用加密和认证。所谓的基于身份的密钥预分配方案提供了简化密钥协商的可能方式。基于身份的密钥预分配方案具有两个阶段:密钥预分配和密钥导出。与基于身份的密钥预分配方案的两个阶段相关联的是两种算法:分别是本地密钥材料生成算法和密钥建立算法。
使用基于身份的密钥预分配方案,两个网络节点可以就基于其身份的共享密钥达成一致。为每对网络节点确定密钥的常规方法将以二次方式增长。然而,基于身份的密钥预分配方案仅需要为每个节点分配一组本地密钥材料,并且因此线性地增长。
通过向可信第三方提供根密钥材料来建立基于身份的密钥预分配方案。可信第三方可以是设备的制造商,并且可以例如在其制造期间或在一些其他可信环境中供应设备。备选地,可信第三方可以是证书授权设备,例如,使用特定在线协议来供应设备的设备。
在密钥预分配期间,通过在根密钥材料和每个网络节点的标识符上应用本地密钥材料生成算法,为每个网络节点生成本地密钥材料并存储在网络节点上。在密钥导出阶段期间,两个网络节点可以通过在其本地密钥材料和另一个网络节点的标识符上应用密钥建立算法来导出共享密钥。例如,第一节点可以将密钥建立算法应用在第二网络节点的第二标识符及其自己的第一本地密钥材料上,而第二节点可以将密钥建立算法应用在第一网络节点的第一标识符及其第二本地密钥材料。密钥建立算法的结果是在两个网络节点之间共享的基于身份的密钥。
存在多个基于身份的密钥预分配方案。例如,Oscar Garcia-Morchon, DomingoGomez-Perez,Jaime Gutierrez,Ronald Rietman,Berry Schoenmakers 和LudoTolhuizen发表于Cryptology ePrint Archive,Report 2014/698的“HIMMO-Alightweight collusion-resistant key pre-distribution scheme”中描述了基于身份的密钥预分配方案。在同一申请人的提交给EPO的欧洲专利申请“Improved system forkey sharing”中描述了HIMMO的改进版本,该申请的代理人案卷号为2015PF001725,并且通过引用并入本文。与一些其他基于身份的密钥分配方案一样,HIMMO的缺点是未处理的密钥可能稍微偏离。这能够是可接受的,或者使用额外的密钥协调数据(也称为帮助者数据)来获得共享密钥。密钥协调数据通常由第一网络节点生成,如果第一网络节点发起密钥协商,则所述第一网络节点具有对两个身份的访问,例如第二网络节点。
在实施例中,根密钥材料包括双变量多项式,并且本地密钥材料包括单变量多项式。例如,在基于Blundo身份的密钥预分配方案中,根密钥材料由双变量多项式f(x,y)形成。本地密钥材料g和具有标识符ID1的第一节点是通过将双变量多项式折叠为单变量多项式g(y)=f(ID1,y)而形成的。具有本地密钥材料g的节点和第二节点的标识符ID2通过计算g(ID2)获得共享密钥。所有多项式计算可以以模数m为模进行。
最近已开始研究在椭圆曲线上定义的双线性映射是否能够用于创建基于身份的密钥再分配系统。然而,如果这样的方法允许其下层加密对象具有足够的多样性,并因此对加密分析进行充分硬化,则会引起关注。此外,期望加密协议抵抗量子计算机的新威胁。
发明内容
提供了一种电子密钥预分配设备,用于为多个网络节点配置本地密钥信息。密钥预分配设备包括:
-存储设备,其包括表示第一椭圆曲线的第一秘密同源和第二椭圆曲线的第二秘密同源的信息,同源被布置为接收在椭圆曲线上的点,并产生在椭圆曲线上的点作为输出,
-处理器电路,其被配置为:
-获得网络节点的数字标识符,
-将至少第一散列函数和第二散列函数应用于数字标识符,第一和第二散列函数将数字标识符映射到第一椭圆曲线和第二椭圆曲线上的第一公共点和第二公共点,第一椭圆曲线不同于第二椭圆曲线,第一和第二公共点是网络节点的公共密钥材料的一部分,
-将第一和第二秘密同源应用于第一和第二公共椭圆曲线点,从而获得第一私有椭圆曲线点和第二私有椭圆曲线点作为网络节点的私有密钥材料的一部分,以及
-通信接口,其被配置为为网络节点配置第一和第二私有椭圆曲线点。
此外,提供了一种电子网络节点,其被布置用于与第二网络节点的密钥协商协议。为了便于参考,网络节点将被识别为第一网络节点,这将其与第二网络节点区分,第二网络节点与第一网络节点通信。形容词“第一”和“第二”没有另外的含义。第一网络节点可以是发起网络节点,其发起与第二网络节点的协议,第二网络节点可以是响应网络节点;然而,也可能是相反的方式。
网络节点包括
-存储设备,其包括:
-第一网络节点的数字标识符和/或第一和第二公共椭圆曲线点,第一和第二公共椭圆曲线点位于第一和第二椭圆曲线上,以及
-第一私有椭圆曲线点和第二私有椭圆曲线点,其通过第一和第二秘密同源对应于第一公共椭圆曲线点和第二公共椭圆曲线点,第一公共椭圆曲线点和第二公共椭圆曲线点通过第一和第二散列函数对应于网络节点的数字标识符,第一第二私有椭圆曲线点由密钥预分配设备计算,
-所述处理器电路被配置为:
-获得第二网络节点的公共椭圆曲线点,所述公共椭圆曲线点位于第一和第二椭圆曲线中的第一个椭圆曲线上,
-从位于第一和第二椭圆曲线中的第二个椭圆曲线上的第一和第二私有椭圆曲线点选择私有椭圆曲线点,第一个椭圆曲线和第二个椭圆曲线是不同的,
-将双线性映射应用于第一网络节点的选定的私有点,以及第二网络节点的所获得的公共椭圆曲线点或已由第一节点应用公共同源的第二网络节点的公共椭圆曲线点,
-从双线性映射的结果中导出加密密钥。
将椭圆曲线上的同源包括到加密协议中是有利的,因为它们被假定具有增加的量子抗性。特别是,没有有效的已知量子算法来重建两个超奇异椭圆曲线之间的同源。此外,同源增加了算法中实现的选择,并且因此使得更难以攻击系统。在网络节点中实施的协议的优点是可以在仅交换少量简单消息的同时计算共享密钥。实际上,如果可以在没有消息的情况下获得另一节点的数字标识符,则根本不需要交换消息来获得共享密钥。然后可以使用导出密钥来导出用于对称加密的密钥等。椭圆曲线点还覆盖压缩点,例如,仅x坐标,或者具有额外的位以确定y坐标的符号的x坐标。
网络节点是电子设备。例如,其可以是移动电子设备,例如移动电话。网络节点可以是机顶盒、智能卡、计算机等。密钥预分配设备可以是计算机、服务器等。密钥预分配设备也可以是通信设备,例如电话,例如,其被布置为建立所谓的自组织无线通信网络,例如网状网络。本文描述的方法可以应用于广泛的实际应用中。这样的实际应用包括金融应用(例如,共享信用卡信息)、隐私增强应用(例如,消息传递应用,医学应用)等。
根据本发明的方法可以在计算机上实施为计算机实施的方法,或者在专用硬件中实施,或者在两者的组合中实施。根据本发明的方法的可执行代码可以存储在计算机程序产品上。计算机程序产品的范例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上的当所述程序产品在计算机上执行时用于执行根据本发明的方法的非瞬态程序代码。
在优选实施例中,计算机程序包括计算机程序代码,当计算机程序在计算机上运行时,该计算机程序代码适于执行根据本发明的方法的所有步骤。优选地,计算机程序实现在计算机可读介质上。
本发明的另一方面提供了一种使计算机程序可用于下载的方法。当计算机程序被上载到例如Apple的App Store、Google的Play Store或Microsoft 的Windows Store中时,以及当计算机程序可用于从这样的商店下载时,使用该方面。
附图说明
仅通过范例的方式,将参考附图描述本发明的另外的细节、方面和实施例。为简单和清楚起见,图中的元件被图示,并且不一定按比例绘制。在附图中,与已经描述的元件对应的元件可以具有相同的附图标记。在图中,
图1示意性地示出了密钥预分配系统的实施例的范例,
图2a-2c示意性地示出了密钥预分配设备的存储设备的实施例的范例,
图3a示意性地示出了密钥协商系统的实施例的范例,
图3b示意性地示出了密钥协商系统的实施例的范例,
图4示意性地示出了密钥协商方法的实施例的范例,
图5示意性地示出了密钥预分配方法的实施例的范例,
图6示意性地示出了密钥协商方法的实施例的范例,
图7a示意性地示出了具有可写部分的计算机可读介质,该可写部分包括根据实施例的计算机程序,
图7b示意性地示出了根据实施例的处理器系统的表示。
图1-3b中的附图标记列表:
100 密钥预分配系统
110 电子密钥预分配设备
120 通信接口
130 存储设备
131 第一椭圆曲线
132 第二椭圆曲线
135 同源信息
140 椭圆散列单元
141 第一公共点
142 第二公共点
145 公共密钥材料
147 第一散列函数
148 第二散列函数
150 同源单元
151 第一私有椭圆曲线点
152 第二私有椭圆曲线点
155 私有密钥材料
161、167、168 存储设备
162 第一同源
163 第二同源
164 秘密整数
165 第一秘密整数
166 第二秘密整数
200、201 密钥协商系统
210、211 网络节点
215、216 第一网络节点
220 通信接口,
230 存储设备
231 第一椭圆曲线
232 第二椭圆曲线
234 数字标识符
235 公共同源
241 第一公共椭圆曲线点
242 第二公共椭圆曲线点
251 第一私有椭圆曲线点
252 第二私有椭圆曲线点
260 共享密钥单元
270 同源单元
280 密钥确认单元
具体实施方式
尽管本发明容许许多不同形式的实施例,但是在附图中示出并且将在本文中详细描述一个或多个具体实施例,应理解本公开应被认为是本发明的原理的范例,并非旨在将本发明限制于示出和描述的特定实施例。
在下文中,为了理解,在操作中描述了实施例的元件。然而,将显而易见的是,相应元件被布置成执行描述为由它们执行的功能。
此外,本发明不限于实施例,并且本发明在于本文描述的或在互不相同的从属权利要求中记载的每个或每一个新颖特征或特征组合。
物联网(IoT)的增长和量子时代的出现已经导致对IoT网络的轻量级、快速(量子)安全协议的需求,即使在多个IoT设备受损害的情况下。下面描述的实施例分别提供基于公共和/或秘密同源的非交互式密钥分配 (NIKD)方案。将椭圆曲线上的同源包括到加密协议中是有利的,因为它们被认为是量子抗性的,特别是当与超奇异椭圆曲线一起使用时。特别是提供秘密同源的实施方案,甚至在使用量子计算机攻击时也增加了抗攻击性。此外,实施例是轻量且对任何数量的设备的共谋/损害经典安全的。两种方案的轻量级和快速性能使它们适用于IoT实用情况。
下面总结了一些数学背景。
对于当前的加密目的,椭圆曲线可以由规范方程y2=x3+ax+b给出,其中,a,b是来自具有大于3的特性的有限域的元素。具有特性二或三的有限域上的椭圆曲线可以通过类似但不同类型的等式来描述。曲线上的点可以通过满足椭圆曲线的定义公式的一对坐标(例如,x和y坐标)来识别。通常,曲线上的点以压缩格式表示。例如,曲线上的点可以仅通过其x坐标、确定伴随的y坐标的符号的单个位唯一地识别。实际上,通常会完全忽略y坐标。尽管这引入了点中的小的模糊性,但对于大多数应用来说,这是不相关的。出于本文档的目的,我们也将这些表示视为曲线上的点。
配对(也称为双线性形式):配对是从两个循环(加法)组G1和G2的直接乘积到组GT的映射,使得对于所有P∈G1,Q∈G2和所有正整数a、b,我们对于某些(P,Q)∈G1×G2具有e(aP,bQ)=[e(P,Q)]ab并且 e(P,Q)≠1。加密中一个重要的配对是所谓的Weil配对。在那种情况下,在包含第m个单位根的有限域K上选择曲线E(K)。Weil配对e采用点 P,Q∈E(K)(m)={T∈E(K)|mT=O}作为输入并且在K中产生第m个单位根,即e(P,Q)∈{x∈K|xm=1}。如果以压缩形式给出点P和Q,具有指示符号的位,则可以计算对应的y坐标并随后计算配对。备选地,至少对于如Weil配对和Tate配对的某些配对,能够计算值z,使得对于所有点P和Q,z=(e(P,Q))a(P,Q),其中,指数a(P,Q)等于1或-1。这在以下文献中进行了解释:S.Galbraith和X.Lin的“Computing pairings using x-coordinates only”(Designs,Codes andCryptography,第50卷,第3期,第305-324页,2009年3月)。在相同参考文献中,解释了仅根据x坐标的值,能够计算e(P,Q)的轨迹,即,值T(P,Q)=e(P,Q)+(e(P,Q))-1
同源:非正式地,同源是椭圆曲线之间的映射。同源可以定义为在第一椭圆曲线上定义的非常数函数,其采取第二椭圆曲线上的值,并保留点加法,即,其保留椭圆曲线结构。参见D.Shumow的论文“Isogenies of Elliptic Curves:A Computational Approach”。更正式地,让E1/K和E2/K为两个椭圆曲线,同源可以定义为椭圆曲线的有理映射φ:
Figure GDA0003922223130000081
坐标来自
Figure GDA0003922223130000082
其保留无穷远处的点,即φ(∞)=∞。因此,这种映射保留了组结构。参见A.Sankar的论文“Classical and Quantum Algorithms for Isogeny-based Cryptography”。
通常,同源被定义为两个不同曲线之间的映射,然而我们也将考虑曲线与其自身之间的同源。在后一种情况下,可以定义同源,例如,具有固定整数的椭圆曲线乘法,例如,将椭圆曲线点P映射到椭圆曲线点sP。请注意,该映射保留加法。不同曲线之间的同源具有比能够由单个整数定义的更丰富的结构。
表示同源
Figure GDA0003922223130000083
的标准方法是给出3个齐次多项式
Figure GDA0003922223130000084
对于域K,满足
Figure GDA0003922223130000085
如果 l指代
Figure GDA0003922223130000086
的程度,那么这些多项式中的一个通常将具有大约l的程度。参考
Figure GDA0003922223130000087
Denis Charles和Kristin Lauter的文章“Evaluating large degree isogenies and applications topairing based cryptography”。在该文章的第2节中,给出了有限域上的椭圆曲线之间的同源的备选表示,其长度是log l的多项式。该文章还提出了一种算法,该算法评价有限域上椭圆曲线之间的同源。
在本专利申请中,提出了网络节点和密钥预分配设备的各种实施例。这些实施例包括基于同源的NIKD方案。首先给出介绍,并且参考附图描述额外的实施例和细节。
网络中的节点向可信第三方(TTP)注册自己,以便接收(一个或多个) 秘密密钥材料和任选地(一个或多个)公共标识符(例如,公共标识符)。使用这些,任何两个节点都可以建立对它们来说唯一且仅由该对节点知道的秘密密钥,其然后可以由该对使用以安全地彼此通信。
实施例使用两个椭圆曲线E1,E2。TTP将网络节点的标识符(ID)散列到这两个椭圆曲线H1(ID)和H2(ID)上的点。后者是公共点,并且可以存储在网络节点上,或者可以由网络节点直接从标识符计算。TTP通过将它们相应的椭圆曲线上的公共点映射到两个不同的椭圆曲线上的两个私有点,将两个公共点映射到两个私有点。实施例可以分为两种主要类型。
在第一类型中,TTP维持秘密同源及其与上述两个曲线相关的所谓对偶同源。同源从第一椭圆曲线映射到第二椭圆曲线,而对偶同源从第二椭圆曲线映射到第一椭圆曲线。在节点注册期间,在为其计算两个公共点之后,由TTP使用这些来计算节点的两个唯一秘密密钥材料。在Weil配对中,两个节点之间的密钥建立可以使用对等节点的(公共)点之一和节点的两个自己的秘密密钥材料之一来完成,其分别是秘密同源和秘密对偶同源中节点自己的标识符的图像。请注意,Weil配对是双线性映射的范例。在Weil 配对的情况下,要求所有点都具有指定的次,比如m。请注意,在第一类型中,公共点及其对应的私有点位于不同的椭圆曲线上。
在第二类型中,TTP维持每个椭圆曲线的同源,但这些同源从椭圆曲线映射到自身。例如,TTP可以具有单个整数s并且对于每个曲线执行与整数s的点乘。TTP也可以有两个整数s1和s2,第一整数用于第一曲线上的点乘,并且第二整数用于第二曲线上的点乘。再次,在节点注册期间,在为其计算两个公共点之后,两个同源由TTP使用以计算节点的两个唯一秘密密钥材料。可以使用对等节点的(公共)点之一和节点的两个自己的秘密密钥材料之一来完成两个节点之间的密钥建立。最后,将双线性映射(例如,Weil配对)应用于这两个点。此处,两个椭圆曲线之间的公共同源用作系统参数。
在数学上,第一类型的实施例可以如下工作。第一和第二网络节点被称为发起者和响应者,这取决于谁发起了密钥协商协议。
·TTP有:
·域Fp上的两个普通椭圆曲线E1和E2,其具有判别式Δ<-4的同构内同态环,
·秘密密钥,其是由理想L指定的同源
Figure GDA00039222231300001011
E1→E2。
·公共配对e’:G1× G2->GT且e:G’1× G’2->GT,其中,G1和G2是E1上的点的子组,并且G′1、G′2分别是E1和E2的点的子组,
·
Figure GDA0003922223130000101
是对偶同源,也是秘密,即,对于所有P∈G1′,Q∈G2,其认为
Figure GDA0003922223130000102
此外,假设
Figure GDA0003922223130000103
将G2映射到G′2,并且
Figure GDA0003922223130000104
将G′1 映射到G1。
·在密钥材料提取期间,具有身份ID的每个实体获得G2中的点H1(ID) 和G′1中的点H2(ID),用作其两个公共标识符。其还从TTP中获得两个秘密密钥材料:
·秘密密钥材料
Figure GDA0003922223130000105
·秘密密钥材料
Figure GDA0003922223130000106
·在密钥生成期间,希望生成公共密钥的双方(I)发起者和(R)响应者进行以下操作:
·发起者计算:
Figure GDA0003922223130000107
·发起者使用K_IR加密消息并将其发送给R。
·响应者计算
Figure GDA0003922223130000108
并使用密钥K_RI进行解密。
第一类型的操作正确性通过指出以下来说明:由于同源
Figure GDA0003922223130000109
的伴随特性及其相对于Weil配对的对偶
Figure GDA00039222231300001010
 H1(I))=K_RI。
在实施例中,G1=G2=E1[m],G’1=G’2=E2[m],并且e、e′是E1和E2 上的Weil配对。在备选实施例中,公共密钥材料和秘密密钥材料被压缩。散列函数H1和H2可以仅分别提供E1和E2中的点的x坐标。根据H1(ID) 和H2(ID),TTP可以计算y坐标y1(ID)、y2(ID),使得U1(D)=(H1 (ID),y1(ID))在E1上,并且U2(ID)=(H2(ID),y2(ID)在E2上。秘密密钥材料S1(ID)可以分别等于
Figure GDA0003922223130000111
Figure GDA0003922223130000112
的x坐标。在密钥生成期间,想要生成公共密钥的双方(I)发起者和(R)响应者进行以下操作:
·根据其自己的秘密密钥S2(I)和公共密钥H2(R),发起者计算满足
Figure GDA0003922223130000113
的值TIR,例如,如 Galbraith和Lin所解释的。
·发起者使用TIR作为密钥来加密消息M并将其发送给R。
·响应者R使用其自己的秘密密钥S1(R)和公共密钥H1(I)来计算满足TRI=e′(U2(R),H1(I))+e′(U2(R),H1(I))-1的值TRI并使用TRI作为密钥解密消息。
操作正确性遵循
Figure GDA0003922223130000114
的伴随性质。很清楚,对这些实施例的变化是可能的,例如,利用压缩的公共密钥和未压缩的秘密密钥,反之亦然,具有带额外的位的压缩密钥以确定符号等。
更一般地,可以有:E1的G1、G2子群,e’:G1 × G2->GT;和E2的 G1′、G2′子群,e:G1’× G2’->GT;并且
Figure GDA0003922223130000118
对于 Weil配对:可能需要将映射到E1、E2上的点,其中,阶数除以m,并且 GT由有限域中的第m个单位根组成。不必为E1中的所有点定义配对。
在数学上,第二类型的实施例可以如下工作
·TTP有秘密s。
·在密钥提取期间,具有身份ID的每个实体获得H1(ID)∈E1, H2(ID)∈E2,以及sH1(ID)∈E1,sH2(ID),其中,H1是对E1的散列函数,并且H2是对E2的散列函数。H1(ID)和H2(ID)用作实体的公共标识符,而 sH1(ID),sH2(ID)用作其秘密密钥材料。
·在操作期间,希望与(R)响应者通信(talk to)的实体(I)发起者计算
Figure GDA0003922223130000115
其中,e是E2上的配对。然后身份I将用K_IR 加密的消息M发送到R,
·R计算
Figure GDA0003922223130000116
通过指出:
Figure GDA0003922223130000117
H(I))=K_RI来说明第二类型的操作正确性。第二类型的实施例可以任选地具有压缩点并且仅通过使用x坐标来使用配对操作的轨迹的计算,并且使用轨迹作为密钥,或者作为密钥导出函数的输入。
对于使用第一类型的实施例,使用秘密同源:以下详述的针对该方案的可能攻击的分析是适用的,而不管所使用的椭圆曲线是普通的还是超奇异的。为了恢复TTP的主密钥,即秘密同源
Figure GDA0003922223130000121
E1→E2及其对偶
Figure GDA0003922223130000122
已经损害了多个节点(并且因此已经获得了对形式为
Figure GDA0003922223130000124
Figure GDA0003922223130000123
的其秘密密钥材料的访问,其中,ID是受损节点的标识符)的攻击者必须尝试使用这些同源的评价来重建上面提到的两个秘密同源,其精确地是受损节点的秘密密钥材料。从公共参数H1(I)、H2(I)、H1(R)和H2(R)恢复由响应者节点R的发起者节点I计算的秘密密钥K_IR被认为是一个难题。
对于超奇异椭圆曲线,该变型的安全性与超奇异同源Diffie-Hellman (SIDH)问题有关。SIDH的安全性仅基于以下假设:给定一对超奇异曲线E1和E2,发现同源φ,使得φ:E1→E2是经典和量子难题两者。这是经典阿贝尔隐变位问题的变型,然而超奇异曲线的公共内同环的类群不是阿贝尔,因此寻找秘密同源的唯一已知的有效量子算法在超奇异情况下不起作用。人们可以在具有特性p的域上使用椭圆曲线,针对其,p阶几何点的组作为超奇异是无价值的。
实际上,对攻击者而言解决离散对数问题的实例能够甚至不够,因为不清楚E2上是否存在点Q,使得对于任何发起者I,发起者节点I的秘密密钥材料
Figure GDA0003922223130000125
可以表示为Q的倍数。在发起者节点I的秘密密钥材料
Figure GDA0003922223130000126
不能表示为椭圆曲线上的点的情况下,那么类型1实施例具有增加的量子抵抗性。实际上,问题是,
Figure GDA0003922223130000127
是否可以写为E2上已知点的标量倍数。如果是这样,离散对数问题是相关的。E2(m)不需要单个生成器。
如果假设离散对数问题是困难的(即,假设不存在具有量子计算能力的攻击者),则假设攻击者未能恢复秘密密钥K_IR。
对于使用第二类型的实施例,使用公共同源:在该方案中,为了恢复针对响应者节点R的由发起者节点I计算的秘密密钥K_IR,攻击者必须求解离散对数问题以从具有身份I的发起者的公共密钥H(I)中获得s,并且sH (I)是具有身份I的发起者节点的秘密密钥。如果她成功,则攻击者还恢复TTP的主密钥,然后可以恢复属于任何利用TTP注册的节点的密钥。即使攻击者能够损害多个节点并获得对其秘密密钥材料sH(ID)的访问(其中, ID是受损节点的标识符),假设攻击者仍然无法恢复TTP的主秘密s,只要离散对数问题的单个实例仍然难以求解。
在没有量子计算机的情况下,如果假设不存在能够有效求解离散对数问题的攻击者,那么所提出的两种类型都是安全且操作上正确的。然而,如果这样的攻击者存在,则第二类型可能会受损害。但是在TTP的秘密(同源)不能恢复的意义上,根据第一类型的实施例也不会直接受到影响。
在使用第一类型的实施例中的节点侧的加密操作仅包括在椭圆曲线上的Weil配对的评估,其在操作上相对高效。这对通常是具有有限计算和存储能力的IoT设备的节点具有期望的含义。两个椭圆曲线之间的同源的计算和椭圆曲线点的同源的评估相对更强,但是在该变型中,这种同源仅在 TTP处计算。
图1示意性地示出了密钥预分配系统100的实施例的范例。系统100 包括电子密钥预分配设备110和多个网络节点。图1中示出的是网络节点 210和211。网络节点的数量通常要大得多,例如大于1000、10000等。密钥预分配设备110配置用于密钥协商协议的多个网络节点;特别地,密钥预分配设备110可以执行基于身份的密钥预分配方案的密钥预分配阶段,并且为网络节点210、211配置本地密钥材料,使得稍后的多个网络节点中的任何两个可以就它们之间的共享密钥安全地达成一致。本地密钥材料包括两个椭圆曲线上的至少两个私有点。这些私有点对于网络节点和/或任何可信设备(例如设备110)是私有的。本地密钥材料还可以包括非私有元素,例如,设备的标识符(ID)、公共椭圆曲线点、和任选的公共同源。主要关于节点210描述供应,但是可以类似地供应其他节点。
密钥预分配设备110包括通信接口120,其被配置为为网络节点配置私有椭圆曲线点。通信接口可以是与网络节点之间使用的相同类型(见下文),但也可以是不同类型。例如,通信接口120可以是有线接口,例如,在网络节点210、211的制造期间在测试和供应设备中完成的有线连接,等等。例如,通信接口120可以包括连接垫或连接端口。通信接口120还可以是数字有线网络连接,或无线网络连接,或混合等。例如,通信接口120可以包括天线。
密钥预分配设备110包括存储设备130。存储设备130包括第一椭圆曲线131和第二椭圆曲线132的表示。椭圆曲线131和132是不同的曲线,例如,它们可以由不同的公式定义。椭圆曲线可以由定义其的公式的系数定义,例如,以某种规范形式。一种这样的形式是Y2=X3+AX+B,其中A和B是定义椭圆曲线的整数。例如,存储设备130可以存储两个椭圆曲线的系数A和B。备选地,这两个数字可以在采用它们的算法中进行硬编码,例如曲线乘法或椭圆散列函数(参见下文)。
在实施例中,第一和第二椭圆曲线两者都在特征p的域Fq上定义。例如,可以采用q=p^k。在实施例中,p=2。可以与曲线131、132一起存储定义它们的域上的信息。请注意,两个曲线是在相同域中定义的。
在实施例中,椭圆曲线131和132是所谓的普通(非超奇异)曲线。例如,可以从“推荐的联邦政府使用的椭圆曲线”中获取椭圆曲线,推荐联邦政府使用椭圆曲线的集合。在实施例中,椭圆曲线131和132是所谓的超奇异曲线。超奇异曲线的范例包括:如果K是特性2的域,则由形式 y2+a3y=x3+a4x+a0的等式定义的每个曲线,其中,a3为非零;如果 K是特性3的域,则由形式y2=x3+a4x+a6的等式定义的每个曲线,其中,a4为非零。其他范例是已知的。
密钥分配设备110包括椭圆散列单元140。椭圆散列单元140被布置为获得网络节点210的数字标识符(ID)。可以例如通过通信接口120从网络节点210接收数字标识符。例如。网络节点210可以向密钥预分配设备110 发送标识符。标识符还可以由密钥预分配设备110分配,例如,由散列单元140分配。例如,标识符可以包括网络节点210的序列号、随机数、一次性随机数值等。例如,标识符可以包括网络节点的数字计算机地址,例如IP地址、MAC地址等。标识符可以包括网络节点210的公共名称或网络节点210的用户的名称。标识符可以包括有关用户角色或权限的信息。后面的选项对隐式认证很有用;例如,设备110可以分配或验证角色。
散列单元140被配置有两个散列函数:第一散列函数147和第二散列函数148。第一散列函数147,H1将网络节点210的数字标识符映射到第一椭圆曲线131上的第一公共点141,H1(ID)。第二散列函数148,H2将网络节点210的数字标识符映射到第二椭圆曲线132上的第二公共点142, H2(ID)。散列函数可以包括额外的信息以及ID,例如密钥预分配设备110 的标识,例如,盐,例如,网络节点210上的额外的信息,例如,创建本地密钥材料的时间的时间戳。
公共点141和142是网络节点210的公共密钥材料145的一部分。一般而言,存在公共密钥材料145的两种途径。公共密钥材料145可以存储在网络节点210上,例如,与私有密钥材料一起。在这种情况下,节点可以使用另一节点的公共点和它们自己的私有点来获得共享密钥。这避免了在节点处计算椭圆散列函数147和148的需要。实际上,在这种情况下,节点处甚至不需要网络节点的标识符;密钥预分配设备110可以仅为其取随机数。另一方面,网络节点还可以被配置为从该节点的标识符计算另一节点的公共点141和142。如果使用任何额外的信息,除了标识符之外,然后计算公共点141和142的节点应该知道该额外的信息。这些实施例可以提供隐式认证,但是确实需要额外的计算。可以组合两种途径,例如,一些节点自己计算散列,一些节点使用预先计算的公共点。在实施例中,公共信息包括标识符,以及任选地任何额外的信息,其可以是公共密钥材料的一部分,但不包括公共点141和142。在实施例中,公共信息包括公共点 141和142,而没有标识符。在实施例中,公共信息包括公共点141和142,以及标识符,以及任选地任何额外的信息。
散列函数147和148将诸如数字标识符的位串映射到椭圆曲线上的点。优选地,散列函数是加密冲突抵抗的,即,难以找到映射到相同椭圆曲线点的两个标识符,但是在实施例中统计冲突抵抗可能是足够的,即,两个随机标识符不太可能映射到相同的椭圆曲线点。椭圆散列可以由常规散列函数构造,例如来自SHA族的散列函数,例如SHA-256等。例如,可以对 ID进行散列并将其映射到椭圆曲线被定义的域中的值。接下来将该值替换为椭圆曲线的规范表示中的X值(例如,具有立方幂的坐标),并最终计算 Y的值。选择Y的哪个值(通常存在两个解)可以由标识符的散列的一些位来决定,或者由来自标识符的另一散列的位来决定,等等。可以通过向标识符添加曲线标识符来区分第一和第二曲线的散列,例如幻数,例如,曲线131为1,曲线132为2。两个公共点141和142位于第一和第二椭圆曲线中的不同曲线上。例如,点141可以位于曲线131上,而点142位于曲线132上。
密钥预分配设备110包括同源单元150。同源单元150获取由散列单元 140计算的公共点,并通过在它们上应用同源来根据它们计算私有椭圆曲线点。存储设备130还包括表示第一椭圆曲线131的第一秘密同源和第二椭圆曲线132的第二秘密同源的信息135。这些同源的知识将破坏整个系统。出于这个原因,其对不可信的任何人保密以保护系统。
同源单元150被配置为将第一秘密同源应用于第一公共椭圆曲线点 141从而获得第一私有椭圆曲线点151,并将第二秘密同源应用于第二公共椭圆曲线点142从而获得第二私有椭圆曲线点152。第一私有椭圆曲线点 151位于椭圆曲线131、132中的一个上,并且第二私有椭圆曲线点152位于椭圆曲线131、132中的另一个上。在一些实施例中,椭圆曲线点141和 151位于同一曲线上,在一些实施例中,椭圆曲线点141和151位于不同的椭圆曲线上。秘密同源将椭圆曲线上的点映射到椭圆曲线上的点。关于图 2a-2c示出了存储设备130和同源单元150的各种范例。
图2a示意性地示出了密钥预分配设备的存储设备161的实施例的范例。存储设备161可以在密钥预分配设备110中代替存储设备130使用。存储设备161可以用在如上所述的第一类型的实施例中。在存储设备161 中,同源信息135包括第一同源162和第二同源163。
第一同源162,
Figure GDA0003922223130000161
是从第一椭圆曲线131到第二椭圆曲线132的映射。第二同源163是第一同源162的对偶
Figure GDA0003922223130000162
并且从第二椭圆曲线132映射到第一椭圆曲线131。可以采用对偶同源作为独特的同源,使得组成
Figure GDA0003922223130000163
是第一椭圆曲线上与第一同源的程度的乘积。在实施例中,第一同源162的程度为至少280,至少2128或至少2256等。由于使用的椭圆曲线是公共的,大程度的同源避免了穷举搜索攻击。
在该实施例中,椭圆曲线点141和151位于不同的曲线上,点142和 152也是如此。同源单元150将第一同源162应用于点141并且将第二对偶同源163应用于点142。该实施例尤其可以使用
Figure GDA0003922223130000164
Denis Charles 和Kristin Lauter的“Evaluating largedegree isogenies and applications to pairing based cryptography”中公开的技术。
图2b示意性地示出了密钥预分配设备的存储设备167的实施例的范例。存储设备167可以在密钥预分配设备110中代替存储设备130使用。存储设备167可以用在根据第二类型的实施例中。存储设备167存储秘密整数164,s。第一同源可以定义为通过s的第一曲线131上的点乘。第二同源也可以被定义为也通过s的第二曲线132上的点乘。在该实施例中,椭圆曲线点141和151位于相同的曲线上,点142和152也是如此。该实施例可以使用常规点乘算法。
图2c示意性地示出了密钥预分配设备的存储设备168的实施例的范例。存储设备168可以在密钥预分配设备110中代替存储设备130使用。存储设备168可以用在根据第二类型的实施例中。存储设备168存储两个秘密整数165、166,s1、s2。第一同源可以被定义为通过s1的第一曲线131 上的点乘。第二同源可以被定义为通过s2的第二曲线132上的点乘。在该实施例中,椭圆曲线点141和151位于相同的曲线上,点142和152也是如此。该实施例可以使用常规点乘算法。
在实施例中,散列单元140被修改为还包括点乘。第一公共点141被计算为a1H1(ID)并且第二公共点被计算为a2H2(ID)。选择参数使得 a1s2=a2s1。在实施例中,整数a1和a2可以是公共的,尽管这可以通过使用公共点而不是网络节点中的散列函数来避免;节点接收另一方的公共点之一而不是其ID。
在实施例中,可以使用具有除公共数m的阶的所有点。在这种情况下,图2c的情况可以通过重新定义H1,H2并且设置s=s1/a1=s2/a2来减少,其中,/是模块化m除法。
返回图1。第一私有椭圆曲线点151和第二私有椭圆曲线点152是用于网络节点210的私有密钥材料155的一部分。密钥预分配设备110被配置为至少将私有密钥材料155写到网络节点210。此外,网络节点210的标识符或公共点141和142(例如,公共密钥材料145)被写到网络节点210。写入两者也是可能的。
图3a示意性地示出了密钥协商系统200的实施例的范例。密钥协商系统200包括已被配置用于由密钥预分配设备(例如密钥预分配设备110)进行密钥共享的多个节点。系统200中的多个节点可以通过受保护的通信彼此通信,其使用共享密钥进行保护,每个节点可以为任何其他节点计算所述共享密钥。密钥预分配设备110也可以是系统200的一部分,例如,以甚至在系统200为操作性之后也动态地添加新节点。这不是必要的;在实施例中,在为所有节点供应本地密钥材料之后丢弃密钥预分配设备110。
关于图3a,图示了第一类型的实施例。第一网络节点210被布置用于与多个网络节点的密钥协商协议。密钥协商协议是关于第二网络节点211 图示的。第二网络节点211的结构与第一网络节点210的结构极大地相同,除了它们具有发送器-接收器关系。
网络节点210包括存储设备230。存储设备230包括一些模块,第二节点211可以利用所述设备获得网络节点210的公共点。例如,存储设备230 可以存储第一网络节点的数字标识符234,ID1。数字标识符与用于计算节点210的私有密钥材料的标识符相同。代替于数字标识符,存储设备230 可以存储第一公共椭圆曲线点241和第二公共椭圆曲线点242。点可以对应于公共点141和142。使用标识符具有能够进行隐式认证的优点。使用公共点具有以下优点:在节点处避免了一些计算。第一和第二公共椭圆曲线点 241、242分别位于第一和第二椭圆曲线上。
存储设备230还存储第一私有椭圆曲线点251和第二私有椭圆曲线点 252。第一私有椭圆曲线点251和第二私有椭圆曲线点252通过第一和第二秘密同源对应于第一公共椭圆曲线点241和第二公共椭圆曲线点242。第一公共椭圆曲线点241和第二公共椭圆曲线点242继而通过第一和第二散列函数147、148对应于数字标识符234。
在该实施例中,第一同源可以是同源162,第二同源可以是同源163。点241和251不位于相同的曲线上,正如点242和252。
存储设备230可以存储第一椭圆曲线231和第二椭圆曲线232,公共数据和私有数据中的点位于第一椭圆曲线231和第二椭圆曲线232上。曲线可以例如通过曲线的等式的系数来表示。曲线也可以隐含地存在,例如,在算法中硬编码双线性映射等。
第一和第二网络节点210、211均包括通信接口220。第一网络节点210 的通信接口220被布置用于与第二网络节点211进行数字通信。通常,通信接口220被布置为与系统200中的许多其他节点进行通信。
通信接口可以被布置用于与密钥协商系统中的其他节点进行数字通信。其不是必需的,尽管可以始终到达系统中的所有节点。通信接口220 被布置用于数字通信。例如,通信接口可以被布置为通过计算机网络进行通信。例如,通信接口可以被布置用于无线通信,例如Wi-Fi、ZigBee、蓝牙等,和/或有线通信,例如以太网、USB等。节点210和211之间的通信也可以是有线连接和无线连接的组合。例如,系统200中的节点(包括节点210和211)可以包括电子存储设备,其包含通信标识符,所述通信标识符唯一地识别系统200内的节点。例如,通信标识符可以包括在节点210 与节点211之间交换的数字消息中,例如,以寻址该消息。例如,通信标识符可以是IP地址、MAC地址等。有利地,相同的通信标识符可以包括在数字标识符234中并用于计算本地密钥材料。
网络节点210包括共享密钥单元260。共享密钥单元260被配置为获得第二网络节点的公共椭圆曲线点(例如,点H2(ID2),其中,ID2是第二网络节点的ID),公共椭圆曲线点位于第一和第二椭圆曲线中的第一个椭圆曲线上。如所指出的,有不同的选择来做到这一点。例如,第二网络节点211 可以例如通过通信接口220将公共椭圆曲线点(H2(ID2))直接发送到第一网络节点210。另一方面,第二网络节点211可以代替地发送其标识符ID2。在该情况下,共享密钥单元260可以应用散列函数147和148中的一个,例如,第二散列函数148,以获得第二网络节点211的公共点。共享密钥单元260还从位于与接收的公共点(例如,
Figure GDA0003922223130000191
)相同的椭圆曲线上的第一和第二私有椭圆曲线点中选择私有椭圆曲线点。最后,共享密钥单元260在相同曲线上获得两个椭圆曲线点:例如,从第二节点211获得的一个公共点和从存储设备230中选择的一个私有点。例如,由共享密钥单元260使用的点可以是H2(ID2)和
Figure GDA0003922223130000192
对于这两点,由共享密钥单元260应用双线性映射e,例如
Figure GDA0003922223130000193
双线性映射可以是 Weil配对或Tate配对等。双线性映射的结果可以用作共享密钥。还可以例如使用密钥导出函数(KDF)进一步处理输出。在实施例中,双线性映射的所有输出位被输入到密钥导出函数(KDF),例如加密散列函数。KDF的范例在例如来自CMLA技术规范,版本:V1.43-20131218的CMLA_KDF,或“DRM规范”OMA-TS-DRM-DRM-V2_0_2-20080723-A,Open Mobile AllianceTM,版本2.0.2,第7.1.2节中定义的KDF函数等中给出。
第二网络节点211还具有共享密钥单元,其计算相应的计算
Figure GDA0003922223130000201
使用哪种计算可能很难硬连线到发起或响应的一方。例如,可以同意发起节点使用第二曲线上的用于响应节点的公共点,以及在第二个曲线上的私有点;而响应方采用第一曲线上用于发起节点的公共点,以及第一曲线上的秘密私有点。这也能够反之亦然。在这种类型的实施例中,一个节点计算第一曲线上的双线性映射e′,而另一个节点计算第二曲线上的双线性映射e。这很有用,因为给定两个曲线上的两个双线性映射和同源,获得了对偶同源。
任选地,网络节点210可以包括密钥确认单元280。密钥确认单元280 被布置用于根据加密密钥计算密钥确认数据,并将密钥确认数据发送给第二网络节点。密钥确认数据可以是一些认证令牌,例如,加密的时间戳,例如来自第二节点的加密的质询等。在其向第二网络节点证明第一网络节点必须具有有效的密钥材料(这继而意味着其向密钥预分配设备110注册) 的意义上,密钥确认数据给出隐式认证。备选地或者额外地,密钥确认单元280可以被布置为从第二节点接收加密密钥的密钥确认数据,并使用导出的共享密钥来验证密钥确认数据。这验证第二网络节点正确地计算了加密密钥,并且从而提供隐式认证。
由于节点之间的密钥建立的非交互性质和基于椭圆曲线上的密码配对的轻量级操作,关于图3a图示的密钥协商/分配方案适用于诸如物联网的应用。同源仅由TTP执行,TTP可能拥有更多资源,并且因此能够执行此类操作。每个节点的秘密密钥材料可以由TTP安全地提供给节点,例如,在节点自举期间。在评价攻击时考虑的安全模型默认情况下是基于共谋的安全模型,并考虑到能够损害域中的物联网节点并使用其受损密钥材料对网络其他部分(并且特别是对TTP)发起攻击的攻击者。
在节点210中实施的协议的优点是可以在不交换任何消息的情况下计算共享密钥,只要另一节点的数字标识符是已知的。然后,可以使用导出密钥导出用于对称加密的密钥。
图3b示意性地示出了密钥协商系统201的实施例的范例。系统201类似于系统200,除了其使用第二类型的密钥预分配。系统201包括多个网络节点;示出的是节点215和216。
作为网络节点210,节点215包括存储设备230。存储设备230包括公共密钥材料245、私有密钥材料255、第一椭圆曲线231、第二椭圆曲线232 和数字标识符234。如在节点210中,这中的一些是任选的,例如,仅需要数字标识符234和公共材料245中的一个。第一椭圆曲线231和第二椭圆曲线232不需要是显式的,而是可以是隐式的,例如,以用于点乘、双线性映射等的算法进行硬编码。
与节点210的差异在于,在节点215中,第一公共点241和第一私有点251位于相同的椭圆曲线上,并且第二公共点242和第二私有点252位于另一椭圆曲线上。此外,图3b的存储设备230包括公共同源235。公共同源235是从第一椭圆曲线到第二椭圆曲线的映射(或反之亦然)。优选地,公共同源235是低程度同源。有趣的是,由于同源是公共的,因此同源的程度对安全性增加很少,然而,较低程度允许在节点处更容易实施。在这种类型的实施例中,公共同源确保每个节点在相同曲线上执行双线性映射;在公共同源从第一曲线映射到第二曲线的情况下,第一和第二节点两者计算第二曲线上的双线性映射。
节点215包括同源单元270,其被配置为将由信息235定义的公共同源应用于第一曲线231上的点。具体地,同源单元270将被应用于第一曲线上的公共点,其是从第二节点接收的,或者根据其数字标识符为第二节点计算的,或者同源单元270将被应用于在第一曲线上的节点215自身的私有点251。第二类型的实施例中的同源单元270可以使用与第一类型的实施例中的同源单元150类似的设计,除了同源单元270不需要评价任何对偶同源。
共享密钥单元260被布置为获得第二网络节点的公共椭圆曲线点,公共椭圆曲线点可以位于第一和第二椭圆曲线中的任一个上。共享密钥单元 260可以计算第二网络节点的公共椭圆曲线点或接收其。共享密钥单元260 还从图3b的存储设备230中选择私有椭圆曲线点,其位于除节点216的公共点之外的另一椭圆曲线上。在这一点处,共享密钥单元260已获得两个椭圆曲线点,在两个曲线中的每个曲线上具有一个,其中一个对于节点215 是私有的,并且其中一个对于节点216是公共的。下一共享密钥单元260 将同源单元270应用于位于第一椭圆曲线上的点,这可以是公共点或私有点。结果是现在在第二椭圆曲线上获得两个点。最后,共享密钥单元260 评价第二椭圆曲线的双线性映射e及其上的两个点。
对于节点210,根据双线性映射的结果,可以例如使用KDF导出共享密钥。在点压缩的情况下,可以使用双线性映射的结果的轨迹来从中导出共享密钥。
可以根据谁是发起节点、哪个点要使用来配置节点。例如,发起者可以使用用于响应节点的第一公共点,而响应者使用发起者的第二公共点。
在各种实施例中,例如,关于密钥预分配设备110或网络节点210、215,可以从各种备选方案中选择通信接口。例如,通信接口可以是到局域网或广域网(例如因特网)的网络接口,到内部或外部数据存储设备的存储接口。通信接口可以是读卡器等。
存储设备130、230可以实施为电子存储器,比如闪存,或磁存储器,比如硬盘等。存储设备130、230可以包括一起构成存储设备的多个分立存储器。存储设备130、230也可以是临时存储器,比如RAM,但是在临时存储的情况下,存储设备包含在使用之前获得参数的一些模块,比如通过在任选的网络连接(未示出)上获得它们。
通常,设备110、210和215均包括微处理器(未单独示出),其执行存储在设备110、210和215处的适当软件;例如,该软件能够已被下载和 /或存储在对应的存储器中,例如,诸如RAM的易失性存储器或诸如闪存的非易失性存储器(未单独示出)。备选地,设备110、210和215可以全部或部分地以可编程逻辑实施,例如,作为现场可编程门阵列(FPGA)。设备110、210和215可以全部或部分地实施为所谓的专用集成电路(ASIC),即针对其特定用途定制的集成电路(IC)。例如,电路可以以CMOS实施,例如,使用诸如Verilog、VHDL等的硬件描述语言。
在实施例中,密钥预分配设备110包括通信接口电路、存储电路、椭圆散列单元电路、同源单元电路。在实施例中,网络节点210包括通信接口电路、存储电路、共享密钥单元电路和任选的密钥确认单元电路。网络节点215还可以包括同源单元电路。电路可以是处理器电路和存储电路,处理器电路执行在存储电路中电子表示的指令。
处理器电路可以以分布式方式实施,例如,作为多个子处理器电路。存储设备可以分布在多个分布式子存储设备上。部分或全部存储器可以是电子存储器、磁存储器等。例如,存储设备可以具有易失性和非易失性部分。存储设备的部分能够是只读的。
图4示意性地是图示密钥协商方法的实施例的范例的简化序列图。如图3a中,在网络节点210和211之间建立共享密钥。然而,类似的方法适用于图3b的节点215和216。图4中所示的消息序列400包括在节点之间交换的多个消息,示出了消息410、420和430。
在第一消息410中,节点210向节点211发送密钥协商请求。该请求包括节点210的数字标识符ID1。从节点211发送到节点210的第二消息420 包括节点211的数字标识符ID2
在这一点处,节点210计算节点211的第二公共点:H2(ID2),并选择他自己的第一私有点
Figure GDA0003922223130000231
节点210计算双线性映射
Figure GDA0003922223130000232
并从结果中导出共享密钥。
从节点210发送到211的消息430的全部或部分受到保护,例如,使用块密码或使用获得的共享密钥的消息认证码(MAC)来加密和/或认证。受保护部分的内容可以与密钥协商协议无关,例如,以服务节点210和211 的一些进一步的通信需要,例如,交换传感器值等。
在接收消息430之前或之后,节点211计算节点210的第一公共点: H1(ID1),并选择他自己的第二私有点
Figure GDA0003922223130000233
节点210计算双线性映射
Figure GDA0003922223130000234
并从结果中导出共享密钥。然后,可以由节点211 使用共享密钥来解密和/或验证消息430或其部分。
如果节点210和211已经知道另一节点的数字标识符,则可以取消消息410和420。消息430可以包括由节点210计算的密钥确认令牌。消息 420可以包括来自节点211的质询,例如,由节点210加密的一次性随机数。消息430可以包括对节点211的质询。从节点211到节点210的另一个消息可以包括由节点211计算的密钥确认令牌。
密钥协商协议的应用是在消息传递应用中。例如,在这种应用中,可以假设发送者已经具有接收者的标识符。例如,第一网络节点可以向第二网络节点发送消息,包括:第一网络节点的标识符,受保护消息。例如,第一网络节点的标识符可以是(移动)电话号码、电子邮件地址、计算机地址,例如IP地址等。第一节点能够预先计算共享密钥,因为其知道消息所针对的第二节点的标识符,例如电话号码。该消息可以通过标识符直接发送到第二节点标识符,例如,在电子邮件地址或计算机地址的情况下。消息还可以由媒介(例如,路由服务)发送,该媒介通过计算机网络将该消息发送到与标识符(例如电话号码)相关联的设备。在后一种情况下,节点可以在注册期间使用电话号码来获得本地密钥材料,并且包括用于路由消息的计算机地址。有趣的是,即使第二节点当前离线并且不能以交互方式参与密钥协商协议,第一节点也可以发送消息。第一节点的消息可以例如由路由设备保持在缓冲器中,直到第二设备在线。
图5示意性地示出了密钥预分配方法500的实施例的范例。用于密钥预分配的方法500为诸如节点210和211或节点215和216的多个网络节点配置本地密钥信息,密钥预分配方法500包括:
-存储510表示以下各项的信息135:针对第一椭圆曲线131;E1的第一秘密同源
Figure GDA0003922223130000241
s和针对第二椭圆曲线132;E2的第二秘密同源
Figure GDA0003922223130000242
s,同源被布置为接收在椭圆曲线上的点并产生在椭圆曲线上的点作为输出,
-获得520网络节点210的数字标识符ID,
-将至少第一散列函数147和第二散列函数148应用530于数字标识符,第一和第二散列函数将数字标识符映射到第一椭圆曲线131和第二椭圆曲线132上的第一公共点141;H1(ID)和第二公共点142;H2(ID),第一椭圆曲线不同于第二椭圆曲线,第一和第二公共点是网络节点210的公共密钥材料145的一部分,
-将第一和第二秘密同源135应用540于第一和第二公共椭圆曲线点 141、142,从而获得第一私有椭圆曲线点151和第二私有椭圆曲线点152,其是网络节点210的私有密钥材料155的一部分,以及
-通过通信接口为网络节点配置550私有椭圆曲线点。
图6示意性地示出了密钥协商方法600的实施例的范例。方法600在两个网络节点之间建立共享密钥,例如第一网络节点210和第二网络;或第一网络节点215和第二网络节点216。方法600包括:
-存储610以下项:
-第一网络节点的数字标识符234;ID和/或第一和第二公共椭圆曲线点,第一和第二公共椭圆曲线点位于第一和第二椭圆曲线上,以及
-第一私有椭圆曲线点251和第二私有椭圆曲线点252,其通过第一和第二秘密同源135对应于第一公共椭圆曲线点241和第二公共椭圆曲线点 242,第一公共椭圆曲线点241和第二公共椭圆曲线点242通过第一和第二散列函数147、148对应于网络节点210的数字标识符234,第一和第二私有椭圆曲线点由密钥预分配设备110计算,
-获得620第二网络节点的公共椭圆曲线点H2(IDR),公共椭圆曲线点位于第一和第二椭圆曲线中的第一个椭圆曲线上,
-从位于第一和第二椭圆曲线中的第二个椭圆曲线上的第一和第二私有椭圆曲线点选择630私有椭圆曲线点,第一个椭圆曲线和第二个椭圆曲线是不同的,
-将双线性映射e应用640于第一网络节点的选定的私有点,以及第二网络节点的所获得的公共椭圆曲线点或已由第一节点应用公共同源的第二网络节点的公共椭圆曲线点,
-根据双线性映射的结果导出650加密密钥。
执行方法500和600的许多不同方式是可能的,这对于本领域技术人员来说是显而易见的。例如,可以改变步骤的顺序或者可以并行执行一些步骤。此外,在步骤之间可以插入其他方法步骤。插入的步骤可以表示诸如本文描述的方法的改善,或者可以与该方法无关。此外,在下一步骤开始之前,给定步骤可能尚未完全完成。
可以使用软件来执行根据本发明的方法,该软件包括用于使处理器系统执行方法500或600的指令。软件可以仅包括由系统的特定子实体采取的那些步骤。软件可以存储在合适的存储介质中,例如硬盘、软盘、存储器、光盘等。软件可以作为信号沿着线、无线或使用数据网络(例如,因特网)发送。该软件可以可用于下载和/或在服务器上远程使用。可以使用比特流来执行根据本发明的方法,该比特流被布置为配置可编程逻辑,例如,现场可编程门阵列(FPGA),以执行该方法。
将意识到,本发明还扩展到计算机程序,特别是适于将本发明付诸实践的载体上或载体中的计算机程序。程序可以采取源代码、目标代码、代码中间源和诸如部分编译形式的目标代码的形式,或者适用于实现根据本发明的方法的任何其他形式。涉及计算机程序产品的实施例包括与阐述的方法中的至少一个的处理步骤中的每个相对应的计算机可执行指令。这些指令可以细分为子例程和/或存储在可以静态或动态链接的一个或多个文件中。涉及计算机程序产品的另一实施例包括与阐述的系统和/或产品中的至少一个的模块中的每个相对应的计算机可执行指令。
图7a示出了根据实施例的计算机可读介质1000,其具有包括计算机程序1020的可写部分1010,计算机程序1020包括用于使处理器系统执行密钥预分配或密钥协商的方法的指令。计算机程序1020可以作为物理标记或通过计算机可读介质1000的磁化在计算机可读介质1000上实现。然而,也可以想到任何其他合适的实施例。此外,将意识到,尽管计算机可读介质1000此处被示为光盘,但是计算机可读介质1000可以是任何合适的计算机可读介质,诸如硬盘、固态存储器、闪存等,其能够不可记录或可记录。计算机程序1020包括用于使处理器系统执行密钥预分配或密钥协商的所述方法的指令。
图7b以示意性表示示出了根据实施例的处理器系统1140。处理器系统包括一个或多个集成电路1110。一个或多个集成电路1110的架构在图7b 中示意性地示出。电路1110包括处理单元1120,例如CPU,以用于运行计算机程序部件来执行根据实施例的方法和/或实施其模块或单元。电路1110 包括用于存储编程代码、数据等的存储器1122。存储器1122的一部分可以是只读的。电路1110可以包括通信元件1126,例如天线、连接器或两者等。电路1110可以包括专用集成电路1124,以用于执行在方法中定义的部分或全部处理。处理器1120、存储器1122、专用IC 1124和通信元件1126可以经由互连1130(比如总线)彼此连接。处理器系统1140可以被布置用于分别使用天线和/或连接器进行接触和/或非接触式通信。
例如,在实施例中,密钥预分配设备或密钥协商设备(例如,网络节点)可以包括处理器电路和存储器电路,处理器被设置为执行存储在存储器电路中的软件。例如,处理器电路可以是Intel Core i7处理器、ARM Cortex-R8等。在实施例中,处理器电路可以是ARMCortex M0。存储器电路可以是ROM电路,或非易失性存储器,例如闪存。存储器电路可以是易失性存储器,例如SRAM存储器。在后一种情况下,设备可以包括被布置用于提供软件的非易失性软件接口,例如硬盘驱动器、网络接口等。
应当注意,上述实施例说明而不是限制本发明,并且本领域技术人员将能够设计许多备选实施例。
在权利要求中,括号内的任何附图标记不应被解释为对权利要求的限制。动词“包括”及其变形词的使用不排除权利要求中记载的元件或步骤之外的元件或步骤的存在。元件前面的词语“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括若干不同元件的硬件和借助于适当编程的计算机来实施。在列举了若干模块的设备权利要求中,这些模块中的若干个可以由同一个硬件项来实现。在互不相同的从属权利要求中记载了特定措施的仅有事实并不指示不能有利地使用这些措施的组合。
在权利要求中,括号中的参考涉及示范性实施例的附图中的附图标记或实施例的公式,从而增加了权利要求的可理解性。这些参考不应解释为对权利要求的限制。

Claims (13)

1.一种电子密钥预分配设备(110),用于为多个网络节点(210、211)配置本地密钥信息,所述密钥预分配设备包括:
-存储设备(130),其包括表示针对第一椭圆曲线(131)的第一秘密同源和针对第二椭圆曲线(132)的第二秘密同源的信息(135),同源被布置为接收椭圆曲线上的点并且产生椭圆曲线上的点作为输出,
-处理器电路,其被配置为:
-获得针对网络节点(210)的数字标识符,
-将至少第一散列函数(147)和第二散列函数(148)应用于所述数字标识符,所述第一散列函数和所述第二散列函数将所述数字标识符映射到第一椭圆曲线(131)和第二椭圆曲线(132)上的第一公共点(141)和第二公共点(142),所述第一椭圆曲线不同于所述第二椭圆曲线,所述第一公共点和所述第二公共点是针对所述网络节点(210)的公共密钥材料(145)的一部分,
-将所述第一秘密同源和所述第二秘密同源(135)应用于所述第一公共点(141)和所述第二公共点(142),从而获得第一私有椭圆曲线点(151)和第二私有椭圆曲线点(152),所述第一私有椭圆曲线点和所述第二私有椭圆曲线点是针对所述网络节点(210)的私有密钥材料(155)的一部分,以及
-通信接口(120),其被配置为为所述网络节点配置所述第一私有椭圆曲线点和所述第二私有椭圆曲线点。
2.根据权利要求1所述的密钥预分配设备,其中,所述第一公共点和所述第二公共点位于所述第一椭圆曲线和所述第二椭圆曲线中的不同的椭圆曲线上,并且其中,所述第一私有椭圆曲线点和所述第二私有椭圆曲线点位于所述第一椭圆曲线和所述第二椭圆曲线中的不同的椭圆曲线上。
3.根据权利要求1或2所述的密钥预分配设备,其中,
-第一同源(162)是从所述第一椭圆曲线(131)到所述第二椭圆曲线(132)的映射,并且其中,第二同源(163)是所述第一同源的对偶,所述第一公共点是所述第一椭圆曲线上的点,所述第一私有椭圆曲线点是所述第二椭圆曲线上的点,所述第二公共点是所述第二椭圆曲线上的点,所述第二私有椭圆曲线点是所述第一椭圆曲线上的点。
4.根据权利要求1或2所述的密钥预分配设备,其中,所述第一椭圆曲线和所述第二椭圆曲线由不同的公式定义。
5.根据权利要求1所述的密钥预分配设备,其中,
-所述第一秘密同源和所述第二秘密同源(164;165、166)从椭圆曲线映射到其自身,所述第一秘密同源和所述第二秘密同源包括所述椭圆曲线上的输入点与秘密整数的椭圆曲线标量乘法,所述信息(135)表示包括所述秘密整数的所述秘密同源。
6.一种第一电子网络节点(210;215),被布置用于与第二网络节点(211)的密钥协商协议,所述网络节点包括:
-存储设备,其包括:
-针对所述第一电子网络节点的数字标识符(234)和/或第一公共椭圆曲线点和第二公共椭圆曲线点,所述第一公共椭圆曲线点和所述第二公共椭圆曲线点位于第一椭圆曲线和第二椭圆曲线上,以及
-第一私有椭圆曲线点(251)和第二私有椭圆曲线点(252),所述第一私有椭圆曲线点和所述第二私有椭圆曲线点通过第一秘密同源和第二秘密同源(135)对应于所述第一公共椭圆曲线点(241)和所述第二公共椭圆曲线点(242),所述第一公共椭圆曲线点(241)和所述第二公共椭圆曲线点(242)通过第一散列函数(147)和第二散列函数(148)对应于所述网络节点(210)的所述数字标识符(234),所述第一私有椭圆曲线点和所述第二私有椭圆曲线点由密钥预分配设备(110)计算,
-处理器电路被配置为:
-获得针对所述第二网络节点的公共椭圆曲线点,所述公共椭圆曲线点位于所述第一椭圆曲线和所述第二椭圆曲线中的第一个椭圆曲线上,
-从位于所述第一椭圆曲线和所述第二椭圆曲线中的第二个椭圆曲线上的所述第一私有椭圆曲线点和所述第二私有椭圆曲线点选择私有椭圆曲线点,所述第一个椭圆曲线和所述第二个椭圆曲线是不同的,
-将双线性映射应用于所述第一电子网络节点的被选定的私有椭圆曲线点、以及所述第二网络节点的所获得的公共椭圆曲线点或所述第二网络节点的已经由所述第一电子网络节点应用公共同源的所述公共椭圆曲线点,
-根据所述双线性映射的结果来导出加密密钥。
7.根据权利要求6所述的第一电子网络节点,其中,
-所述处理器电路被配置为:
-为所述第二网络节点获得所述第一椭圆曲线上的公共椭圆曲线点或所述第二椭圆曲线上的公共椭圆曲线点,
-将双线性映射应用于:
针对所述第二网络节点的所述第一椭圆曲线上的公共椭圆曲线点和所述第一椭圆曲线上的所述第二私有椭圆曲线点,或者
针对所述第二网络节点的所述第二椭圆曲线上的公共椭圆曲线点和所述第二椭圆曲线上的所述第一私有椭圆曲线点。
8.根据权利要求6所述的第一电子网络节点,其中,所述第一公共椭圆曲线点和所述第一私有椭圆曲线点在所述第一椭圆曲线上,并且所述第二公共椭圆曲线点和所述第二私有椭圆曲线点在所述第二椭圆曲线上,所述处理器电路被配置为在应用所述双线性映射之前将公共同源应用于所述公共椭圆曲线点,所述公共同源从所述第一椭圆曲线映射到所述第二椭圆曲线或者从所述第二椭圆曲线映射到所述第一椭圆曲线。
9.根据权利要求6-8中的任一项所述的第一电子网络节点,其中,
-所述处理器电路配置为:
-根据所述加密密钥来计算密钥确认数据,以允许所述第二网络节点验证所述第一电子网络节点正确地计算了所述加密密钥,和/或
-从所述第二网络节点接收针对所述加密密钥的密钥确认数据,并且验证所述密钥确认数据以验证所述第二网络节点正确地计算了所述加密密钥。
10.根据权利要求6-8中的任一项所述的第一电子网络节点,其中,所述处理器电路被配置为利用所述加密密钥来加密数字消息并且将经加密的消息发送到所述第二网络节点,和/或利用从所述第二网络节点接收的所述加密密钥来解密经加密的消息。
11.一种用于密钥预分配的电子方法500,所述密钥预分配为多个网络节点(210、211)配置本地密钥信息,所述密钥预分配方法包括:
-存储(510)表示针对第一椭圆曲线(131)的第一秘密同源和针对第二椭圆曲线(132)的第二秘密同源的信息(135),同源被布置为接收椭圆曲线上的点,并且产生椭圆曲线上的点作为输出,
-获得(520)针对网络节点(210)的数字标识符,
-将至少第一散列函数(147)和第二散列函数(148)应用(530)于所述数字标识符,所述第一散列函数和所述第二散列函数将所述数字标识符映射到第一椭圆曲线(131)和第二椭圆曲线(132)上的第一公共点(141)和第二公共点(142),所述第一椭圆曲线与所述第二椭圆曲线不同,所述第一公共点和所述第二公共点是针对所述网络节点(210)的公共密钥材料(145)的一部分,
-将所述第一秘密同源和所述第二秘密同源(135)应用(540)于所述第一公共点(141)和所述第二公共点(142),从而获得第一私有椭圆曲线点(151)和第二私有椭圆曲线点(152),所述第一私有椭圆曲线点和所述第二私有椭圆曲线点是针对所述网络节点(210)的私有密钥材料(155)的一部分,以及
-通过通信接口为所述网络节点配置(550)所述私有椭圆曲线点。
12.一种用于在第一网络节点(210;215)与第二网络节点(211;216)之间建立共享密钥的电子方法(600),所述方法包括:
-存储(610)以下项:
-针对所述第一网络节点的数字标识符(234)和/或第一公共椭圆曲线点和第二公共椭圆曲线点,所述第一公共椭圆曲线点和所述第二公共椭圆曲线点位于第一椭圆曲线和第二椭圆曲线上,以及
-第一私有椭圆曲线点(251)和第二私有椭圆曲线点(252),所述第一私有椭圆曲线点和所述第二私有椭圆曲线点通过第一秘密同源和第二秘密同源(135)对应于所述第一公共椭圆曲线点(241)和所述第二公共椭圆曲线点(242),所述第一公共椭圆曲线点(241)和所述第二公共椭圆曲线点(242)通过第一散列函数(147)和第二散列函数(148)对应于所述网络节点(210)的所述数字标识符(234),所述第一私有椭圆曲线点和所述第二私有椭圆曲线点由密钥预分配设备(110)计算,
-获得(620)针对所述第二网络节点的公共椭圆曲线点,所述公共椭圆曲线点位于所述第一椭圆曲线和所述第二椭圆曲线中的第一个椭圆曲线上,
-从位于所述第一椭圆曲线和所述第二椭圆曲线中的第二个椭圆曲线上的所述第一私有椭圆曲线点和所述第二私有椭圆曲线点选择(630)私有椭圆曲线点,所述第一个椭圆曲线和所述第二个椭圆曲线是不同的,
-将双线性映射应用(640)于所述第一网络节点的被选定的私有椭圆曲线点、以及所述第二网络节点的所获得的公共椭圆曲线点或所述第二网络节点的已经由所述第一网络节点应用公共同源的所述公共椭圆曲线点,
-根据所述双线性映射的结果来导出(650)加密密钥。
13.一种存储瞬态或非瞬态数据(1020)的计算机可读介质(1000),所述瞬态或非瞬态数据表示指令,所述指令使处理器系统执行根据权利要求11或12所述的方法。
CN201880014497.9A 2017-02-28 2018-02-12 基于椭圆曲线同源的密钥协商协议 Active CN110383754B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17158508.6A EP3367608A1 (en) 2017-02-28 2017-02-28 Elliptic curve isogeny based key agreement protocol
EP17158508.6 2017-02-28
PCT/EP2018/053389 WO2018158065A1 (en) 2017-02-28 2018-02-12 Elliptic curve isogeny based key agreement protocol

Publications (2)

Publication Number Publication Date
CN110383754A CN110383754A (zh) 2019-10-25
CN110383754B true CN110383754B (zh) 2023-04-04

Family

ID=58192207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880014497.9A Active CN110383754B (zh) 2017-02-28 2018-02-12 基于椭圆曲线同源的密钥协商协议

Country Status (6)

Country Link
US (2) US11728988B2 (zh)
EP (2) EP3367608A1 (zh)
JP (1) JP7221872B2 (zh)
CN (1) CN110383754B (zh)
RU (1) RU2728519C1 (zh)
WO (1) WO2018158065A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11005656B2 (en) * 2018-12-07 2021-05-11 Arris Enterprises Llc Embedding information in elliptic curve base point
US11032074B2 (en) * 2019-02-11 2021-06-08 Pqsecure Technologies, Llc Cryptosystem and method using isogeny-based computations to reduce a memory footprint
US11438152B2 (en) 2020-01-31 2022-09-06 Visa International Service Association Distributed symmetric encryption
CN115336224A (zh) * 2020-04-28 2022-11-11 维萨国际服务协会 自适应抗攻击分布式对称加密
US11431487B2 (en) 2020-04-28 2022-08-30 Visa International Service Association Adaptive attack resistant distributed symmetric encryption
CN111935163B (zh) * 2020-08-14 2022-08-09 支付宝(杭州)信息技术有限公司 保护隐私的数据联合处理方法及装置
WO2022146437A1 (en) * 2020-12-30 2022-07-07 Pqsecure Technologies, Llc High-performance systems to validate isogeny-based cryptography keys
US11683171B2 (en) * 2021-06-03 2023-06-20 International Business Machines Corporation Acceleration of elliptic curve-based isogeny cryptosystems
WO2023287427A1 (en) * 2021-07-16 2023-01-19 Pqsecure Technologies, Llc A method and system for computing large-degree isogenies with an odd degree
US20240184573A1 (en) * 2021-08-13 2024-06-06 Pqsecure Technologies, Llc A fast multiple core method and system for chaining isogeny computations
CN113992325B (zh) * 2021-10-09 2023-07-11 深圳前海微众银行股份有限公司 一种隐私数据共享方法及装置
EP4195581A1 (en) * 2021-12-08 2023-06-14 Nagravision Sàrl Improvements in and relating to cryptography
CN117834138B (zh) * 2024-03-04 2024-05-24 北卡科技有限公司 一种适用于即时通信的密钥协商方法、系统、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1969501A (zh) * 2004-04-30 2007-05-23 捷讯研究有限公司 安全地产生共享密钥的系统和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4225764B2 (ja) 2001-10-25 2009-02-18 パナソニック株式会社 楕円曲線変換装置、楕円曲線変換方法、楕円曲線利用装置及び楕円曲線生成装置
US7499544B2 (en) * 2003-11-03 2009-03-03 Microsoft Corporation Use of isogenies for design of cryptosystems
US7639799B2 (en) * 2004-12-14 2009-12-29 Microsoft Corporation Cryptographically processing data based on a Cassels-Tate pairing
US7594261B2 (en) 2005-02-08 2009-09-22 Microsoft Corporation Cryptographic applications of the Cartier pairing
US7623655B2 (en) 2005-03-14 2009-11-24 Microsoft Corporation Computing modular polynomials modulo large primes
US7617397B2 (en) * 2005-04-29 2009-11-10 Microsoft Corporation Systems and methods for generation and validation of isogeny-based signatures
US8250367B2 (en) 2008-09-30 2012-08-21 Microsoft Corporation Cryptographic applications of efficiently evaluating large degree isogenies
WO2017103226A1 (en) 2015-12-17 2017-06-22 Koninklijke Philips N.V. Improved system for key sharing
US10637656B2 (en) * 2017-11-28 2020-04-28 Blackberry Limited Method and system for key agreement utilizing semigroups
US10116443B1 (en) * 2018-02-02 2018-10-30 ISARA Corporation Pairing verification in supersingular isogeny-based cryptographic protocols

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1969501A (zh) * 2004-04-30 2007-05-23 捷讯研究有限公司 安全地产生共享密钥的系统和方法

Also Published As

Publication number Publication date
JP2020509695A (ja) 2020-03-26
EP3367608A1 (en) 2018-08-29
WO2018158065A1 (en) 2018-09-07
EP3590224A1 (en) 2020-01-08
US11728988B2 (en) 2023-08-15
RU2728519C1 (ru) 2020-07-30
JP7221872B2 (ja) 2023-02-14
US20230336346A1 (en) 2023-10-19
EP3590224B1 (en) 2020-07-01
US20200014534A1 (en) 2020-01-09
CN110383754A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN110383754B (zh) 基于椭圆曲线同源的密钥协商协议
CN110870250B (zh) 密钥协商设备和方法
CN111492616B (zh) 用于基于晶格的密码学的可配置设备
CN111492615B (zh) 具有可更新共享矩阵的加密设备
CN111049650B (zh) 一种基于sm2算法的协同解密方法及装置、系统、介质
CN111162906B (zh) 一种基于茫然传输算法的协同秘密分享方法及装置、系统、介质
JP6328333B2 (ja) 公開鍵暗号化システム
CN111130804B (zh) 一种基于sm2算法的协同签名方法及装置、系统、介质
US9705683B2 (en) Verifiable implicit certificates
JP6067932B2 (ja) 鍵共有デバイス及び方法
EP3987711B1 (en) Authenticated lattice-based key agreement or key encapsulation
EP3231126A1 (en) Public-key encryption system
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
Sarkar et al. Role of cryptography in network security
Limkar et al. A mechanism to ensure identity-based anonymity and authentication for IoT infrastructure using cryptography
Ogundoyin et al. EDAS: Efficient data aggregation scheme for Internet of Things
Terada et al. Password-based authenticated key exchange from standard isogeny assumptions
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
Ding et al. Ciphertext retrieval via attribute-based FHE in cloud computing
RU2787692C2 (ru) Протоколы инкапсуляции ключей
RU2787692C9 (ru) Протоколы инкапсуляции ключей
Singh A Note on Symmetric Key Cryptosystems
CN114844643A (zh) 一种基于双线性映射获取适配器签名的方法和电子设备
Kanickam et al. AN IMPROVED DATA PROTECTION TECHNIQUE TO SECURE A PUBLIC CLOUD ENVIRONMENT

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant