CN101243643A - 在未知通信方之间建立信任关系 - Google Patents

在未知通信方之间建立信任关系 Download PDF

Info

Publication number
CN101243643A
CN101243643A CNA2006800305200A CN200680030520A CN101243643A CN 101243643 A CN101243643 A CN 101243643A CN A2006800305200 A CNA2006800305200 A CN A2006800305200A CN 200680030520 A CN200680030520 A CN 200680030520A CN 101243643 A CN101243643 A CN 101243643A
Authority
CN
China
Prior art keywords
communication
party
instance
work
data set
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.)
Granted
Application number
CNA2006800305200A
Other languages
English (en)
Other versions
CN101243643B (zh
Inventor
L·塔卡拉
N·阿索康
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN101243643A publication Critical patent/CN101243643A/zh
Application granted granted Critical
Publication of CN101243643B publication Critical patent/CN101243643B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供了在通信系统中两个相互未知通信方之间建立信任关系而无需使用信任第三方。本发明是基于非交互式工作证明,该工作证明的用途限于建立信任关系以及密码签名将要在通信方之间传送的信息,其中通信方将这样的工作证明用于求解问题实例以及验证工作证明而当验证产生肯定结果时生成用于信任关系的会话对象。

Description

在未知通信方之间建立信任关系
技术领域
本发明涉及密码协议领域并且涉及在未知通信方之间建立信任关系。具体而言,本发明涉及用于在通信系统中两个相互未知的通信方之间建立信任关系而无需使用信任第三方的装置。该通信系统例如是因特网或者ad-hoc网络。
背景技术
近年来,通信技术在用户数目以及用户对电信服务的使用数量方面已经广泛地扩展。这也造成经由现有通信系统交换的信息和数据量的剧增。
由此,对于通信系统的用户,已经出现对他们接收的大量信息进行处理、特别是就非请求的或者非希望的信息的处理而言的显著问题。这样的兜售信息(兜售:使用任何电子通信媒介无区别地成批发送非请求的消息)可能轻而易举地超过目前为止希望的“实际”信息数量。这样的情形不仅至少使用户过滤出他们希望的“实际”信息变得令人厌烦和/或困难而且容易造成信息系统的容量、如例如个人邮箱的存储空间的超负荷。
当前,以上概括的问题在因特网中并且尤其在ad-hoc和/或传感器网络中非常普遍。然而,它并不限于这些种类的网络而是与其中存在未知(可能未注册)通信方的任何通信系统都尤为相关。从当今的理解来看,在没有负责例如中央网络和/或用户管理、安全功能等的中央方的通信系统中明显地就是这种情况。作为这样的系统的一个例子,可以提到比如在点对点(P2P)系统中的分布式系统环境。这一问题的现有实例包括:
-电子邮件,其中开放式电子邮件基础结构要求任何人都能够发送电子邮件给任何人而无需事先相互介绍;
-WWW(万维网)网站,其中由WWW网站本身管理的WWW网站用户具有持久身份;以及
-例如通过无线邻近网络由严重受资源制约的设备如例如移动设备所提供的网络服务。
对于这些场景或者设置中的许多场景或者设置,统一特征为用户的‘身份’可以随意生成(因为不受中央方控制)并且不受任何中央方管理。
当恶意方执行时,例如用户(或者用户设备)或者网络单元这样的一方错误地要求多个身份的这种情形在文献中称为“Sybil攻击”。“Sybil攻击”因此可以被视为一种恶意身份伪造并且因而破坏在身份与实体之间的假设映射,因为恶意方向其它方呈现多个(伪造)身份。
“Sybil攻击”已经在文献中被广泛地讨论并且在John R.Douceur的“The Sybil Attack”(Proceedings of the 1 st International Workshop onPeer-to-Peer Systems(IPTPS02),Cambridge,MA(USA),March 2002)中最早有所介绍。
Sybil攻击所引起的问题混之以如下危险:恶意方可以经由蠕虫、特洛伊和其它恶意软件获得对例如因特网上相当数量并且可能甚至巨量联网计算机的控制。也就是说,系统的绝大部分可能由恶意方控制,由此例如破坏系统中实际上旨在于抵抗安全危胁的冗余性。这样,已经存在的合法授权和身份可能受损并且被置于恶意方的控制之下。
这样的问题是因特网上当前存在的兜售(即非请求的海量电邮发送)问题的根本。
根据已知现有技术例如在Douceur的上述论文中提出的一种解决方案是将布置用以验证身份的信任第三方插入到系统中。然而,这样的信任第三方将对通信系统引起额外成本和工作量(例如与管理或者实施有关)。
用以克服或者至少缓解上述问题的另一方式用关键字“工作证明”来称呼。广而言之,工作证明系统是如下系统,该系统用来证明比如通信方这样的设备已经完成一些“工作”,通常意味着它已经花费一些处理时间和/或容量。这样,就例如防止兜售而言,任何想要发送电子邮件的计算机必须在接收方接受来自这一计算机的电子邮件之前产生这样的工作证明。该思想在于一方必须通过执行相当无用的工作来证明诚实或者“本性良好”,由此防止弊端或者不当行为。
在工作证明方面存在一些现有技术。
例如,Microsoft研究的“黑便士”项目在http://research.microsoft.com/research/sv/PennyBlack提交了与工作证明有关的论文。
工作证明的思想已经在C.Dwork和M.Naor的论文“Pricing viaProcessing or Combating Junk Mail”(Lecture Notes in ComputerScience,1993,pp.137-147(Proceedings of CRYPTO’92))中提出。其中也使用基于签名方案的工作证明。然而在这一论文中方案没有限制工作证明的适用性并且也暴露了它。因此,它们不适合于解决上述问题,即例如解决相互介绍新身份。
经由原本为了抵御会话对象损耗攻击而设计的客户端难题这一概念引入了交互式工作证明。这些已经在A.Juels和J.Brainard的论文“Client Puzzles:A Cryptographic Countermeasure AgainstConnection Depletion Attacks”(S.Kent,editor,Proceedings ofNDSS’99(Networks and Distributed Security Systems),pages 151-165,1999)中有所介绍。这些协议可以限制工作协议的适用性但是交互式的,因此在例如存储和转发网络中不适用。此外也没有提出或者甚至暗示这样的协议如何可以用于解决上述问题,即相互介绍新身份。
已经经由“面包布丁(bread pudding)协议”的概念引入使用工作证明完成“有用的”一些事情而不是只是浪费计算能力这一思想。这已经在M.Jakobsson和A.Juels的“Proofs of work and bread puddingprotocols”(Proceedings of the IFIP TC6 and TC11 Joint WorkingConference on Communications and Multimedia Security(CMS’99),Leuven,Belgium,September 1999)中有所介绍。
然而上述现有技术方式都没有提供一种适合于上述场景、特别是与Sybil攻击有联系的解决方案。因此,已知现有技术不适于以实际可接受的方式解决本发明所针对的基本问题。
因此,仍然需要一种针对上述问题和不足的、用于在没有信任第三方的情况下两个相互未知通信方的改进型相互介绍的方案。
发明内容
因此,本发明的目的在于消除现有技术固有的上述不足以及提供相应改进的方法、通信设备、系统和计算机程序产品。
根据本发明的第一方面,这一目的例如通过一种用于在通信系统中的两个相互未知通信方之间建立信任关系而无需使用信任第三方的方法来实现,该方法包括:
(i)在两个通信方的第一通信方执行以下步骤:
创建数据集,该数据集至少包括两个通信方的身份以及将要从第一通信方传送到第二通信方的信息;
基于与第一通信方的身份有关的所创建的数据集执行密码计算以推导问题实例;
求解所推导的问题实例;
生成用于求解问题实例的工作证明,其中工作证明的用途限于建立信任关系;以及
将数据和工作证明发送到第二通信方,以及
(ii)在第二通信方执行以下步骤:
验证用于求解问题实例的工作证明;以及
当验证步骤产生肯定结果时生成并且向第一通信方发送用于信任关系的会话对象。
根据本发明的第二方面,这一目的例如通过一种用于发起在通信系统中的两个相互未知通信方之间建立信任关系而无需使用信任第三方的方法来实现,该方法在两个通信方的第一通信方执行并且包括以下步骤:
创建数据集,该数据集至少包括两个通信方的身份以及将要从第一通信方传送到第二通信方的信息;
基于与第一通信方的身份有关的所创建的数据集执行密码计算以推导问题实例;
求解所推导的问题实例;
生成用于求解问题实例的工作证明,其中工作证明的用途限于建立信任关系;以及
将数据和工作证明发送到第二通信方。
根据本发明的第三方面,这一目的例如通过一种用于完成在通信系统中的两个相互未知通信方之间建立信任关系而无需使用信任第三方的方法来实现,该方法在两个通信方的第二通信方执行并且包括以下步骤:
验证随同数据一起从第一通信方接收的用于求解问题实例的工作证明,该数据至少包括两个通信方的身份以及将要从第一通信方传送到第二通信方的信息,其中工作证明的用途限于建立信任关系;以及
当验证步骤产生肯定结果时生成并且向第一通信方发送用于信任关系的会话对象。
根据更多有利发展,适用以下各项中的一项或者多项:
-工作证明是问题实例的解而数据集包含第一通信方的公共密钥;
-工作证明是以问题实例的解的知识证明为基础的数字签名,其中工作证明没有揭示问题实例的解,以及其中基于数据集的全部或者部分计算数字签名;
-执行密码计算的步骤包括以下步骤:对所创建的数据集的至少部分执行伪随机函数;
-执行密码计算的步骤还包括以下步骤:执行用于将伪随机函数的结果映射到问题实例的映射函数;
-该方法还包括以下步骤:当求解步骤失败时修改所创建的数据集的至少部分以及基于修改的数据集执行密码计算;
-验证工作证明的步骤包括以下步骤:基于在第一通信方的密码计算所基于的数据集执行密码计算;以及
验明所接收的工作证明对应于密码计算的执行;
-创建数据集的步骤还包括在数据集中创建时间戳;
-验证工作证明的步骤包括以下步骤:检验时间戳有效;
-会话对象包含密码密钥;
-该方法还包括以下步骤:在发送生成的会话对象之前对其进行加密;和/或
-基于在创建的数据集中包含的第一通信方的公共密钥进行加密会话对象的步骤。
根据本发明的第四方面,这一目的例如通过一种在通信系统中的通信设备来实现,该通信设备配置用以发起在作为第一通信方的该通信设备与第二通信方之间建立信任关系而无需使用信任第三方,其中两个通信方相互未知,该通信设备包括:
创建器,配置用以创建数据集,该数据集至少包括两个通信方的身份以及将要从第一通信方传送到第二通信方的信息;
执行器,配置用以基于与第一通信方的身份有关的所创建的数据集执行密码计算以推导问题实例;
求解器,配置用以求解所推导的问题实例;
生成器,配置用以生成用于求解问题实例的工作证明,其中工作证明的用途限于建立信任关系;以及
收发器,配置用以将数据和工作证明发送到第二通信方以及用以从第二通信方接收会话对象。
根据本发明的第五方面,这一目的例如通过一种在通信系统中的通信设备来实现,该通信设备配置用以发起在作为第一通信方的该通信设备与第二通信方之间建立信任关系而无需使用信任第三方,其中两个通信方相互未知,该通信设备包括:
用于创建数据集的装置,该数据集至少包括两个通信方的身份以及将要从第一通信方传送到第二通信方的信息;
用于基于与第一通信方的身份有关的所创建的数据集执行密码计算以推导问题实例的装置;
用于求解所推导的问题实例的装置;
用于生成用于求解问题实例的工作证明的装置,其中工作证明的用途限于建立信任关系;以及
用于将数据和工作证明发送到第二通信方以及用于从第二通信方接收会话对象的装置。
根据更多有利发展,适用以下各项中的一项或者多项:
-执行器还配置用以对创建器所创建的数据集的至少部分执行伪随机函数;
-执行器还配置用以执行用于将伪随机函数的结果映射到问题实例的映射函数;
-求解器还配置用以当求解器求解问题实例失败时使创建器修改创建的数据集的至少部分以及使执行器基于修改的数据集执行密码计算;
-生成器还配置用以生成工作证明作为问题实例的解而数据集包含第一通信方的公共密钥;
-生成器还配置用以生成工作证明作为以问题实例的解的知识证明为基础的数字签名,其中工作证明没有揭示问题实例的解,以及其中基于数据集的全部或者部分计算数字签名;和/或
-创建器还配置用以在数据集中创建时间戳。
根据本发明的第六方面,这一目的例如通过一种在通信系统中的通信设备来实现,该通信设备配置用以完成在第一通信方与作为第二通信方的该通信设备之间建立信任关系而无需使用信任第三方,其中两个通信方相互未知,该通信设备包括:
收发器,配置用以从第一通信方接收用于求解问题实例的工作证明以及数据,该数据至少包括两个通信方的身份以及将要从第一通信方传送到第二通信方的信息,其中工作证明的用途限于建立信任关系;
验证器,配置用以验证所接收的工作证明;以及
生成器,配置用以当验证器产生肯定结果时生成用于信任关系的会话对象,以及其中
收发器还配置用以将生成器所生成的会话对象发送到第一通信方。
根据本发明的第七方面,这一目的例如通过一种在通信系统中的通信设备来实现,该通信设备配置用以完成在第一通信方与作为第二通信方的该通信设备之间建立信任关系而无需使用信任第三方,其中两个通信方相互未知,该通信设备包括:
用于从第一通信方接收用于求解问题实例的工作证明以及数据的装置,该数据至少包括两个通信方的身份以及将要从第一通信方传送到第二通信方的信息,其中工作证明的用途限于建立信任关系;
用于验证所接收的工作证明的装置;
用于当验证器产生肯定结果时生成用于信任关系的会话对象的装置;以及
用于将生成器所生成的会话对象发送到第一通信方的装置。
根据更多有利发展,适用以下各项中的一项或者多项:
-验证器还配置用以:基于在第一通信方的密码计算所基于的数据集执行密码计算;以及验明所接收的工作证明对应于密码计算的执行;
-验证器还配置用以检验时间戳有效;
-生成器还配置用以生成包含密码密钥的会话对象;
-生成器还配置用以在发送会话对象之前加密生成的会话对象;和/或
-生成器还配置用以基于第一通信方的公共密钥加密会话对象。
根据本发明的第八方面,这一目的例如通过一种用于在通信系统中的两个相互未知通信方之间建立信任关系而无需使用信任第三方的系统来实现,该系统包括:
(i)作为第一通信方的根据本发明第四或者第五方面中任一方面的至少一个第一通信设备;以及
(ii)作为第二通信方的根据本发明第六或者第七方面中任一方面的至少一个第二通信设备。
根据本发明的第九方面,这一目的例如通过一种计算机程序产品来实现,该计算机程序产品实施于计算机可读介质上并且可加载到通信系统中的通信设备的数字处理装置的存储器中,该计算机程序产品包括软件代码部分,这些软件代码部分用于当所述产品在所述数字处理装置上运行时执行根据本发明第一或者第二方面中任一方面的步骤。
根据本发明的第十方面,这一目的例如通过一种计算机程序产品来实现,该计算机程序产品实施于计算机可读介质上并且可加载到通信系统中的通信设备的数字处理装置的存储器中,该计算机程序产品包括软件代码部分,这些软件代码部分用于当所述产品在所述数字处理装置上运行时执行根据本发明第一或者第三方面中任一方面的步骤。
根据本发明的实施例,针对工作证明有两种基本使用情况。在第一使用情况下使用知识证明协议,因此工作证明具有隐藏信息的性质。也就是说,工作证明并不揭示所生成的问题实例的解而仅揭示所求解的问题实例。在第二使用情况下没有使用知识证明协议,因此工作证明没有隐藏信息。也就是说,工作证明也揭示问题实例的解。然而,即使在这一情况下,仍然可以恰当地建立在通信方之间的信任关系,因为工作证明(尽管没有隐藏信息)由于它的由第一通信方所创建的数据集限定的有限适用性而不能用于另一用途。
本发明的一个优点在于提供了在没有信任第三方的情况下介绍两个相互未知通信方。
本发明实施例的一个优点在于它们为两个相互未知的通信方的介绍提供了非交互式和/或者隐藏信息的工作证明,即没有揭示这样的证明的工作证明。
本发明实施例的又一优点在于它们呈现了基于工作证明的签名方案的使用。
有利地,本发明的实施例提供一种如何经由已经耗费某一工作量的证明来引入身份和关联数据(可能包括公共密钥)的可行解决方案。换而言之,有利地提供了一种如何使用执行过一些工作的证明来密码签名任意信息的解决方案。
另外,利用所呈现的解决方案实现所有如下优点:
-没有揭示所求解的问题的证据,因此攻击者通过执行这样的工作证明不起作用;
-所呈现的协议为非交互式并且它可以与存储和转发网络一起使用;以及
-没有揭示证据(见上文)并且可以经由Fiat-Shamir试探将证据用来签名包括公共密钥的任意数据,因此获得前向保密。
最后,与本发明相关联的计算布置是(完全)可参数化的,所以并不繁重并且因此可行。
附图说明
在下文中将参照附图更具体地描述本发明,在附图中:
图1示出了根据本发明实施例的通用协议的流程图;
图2示出了根据本发明实施例的通用协议的另一示意表示图;以及
图3示出了根据本发明实施例的两个通信设备的框图。
具体实施方式
这里参照特定非限制性的例子来描述本发明。本领域技术人员将认识到本发明不限于这一例子并且可以更广泛地被加以应用。
具体而言,本发明主要涉及密码协议领域并且涉及在具有如例如因特网和任何ad-hoc或者传感器网络这样的相应架构的无论什么环境中的未知通信方之间建立信任关系。
这里给出的对实施例的描述涉及作为本发明基础的基本一般思想的具体实施,因此本发明不限于给出的任何具体例子。
一般意义上,本发明提出一种用于实施密码协议以便在没有信任第三方的情况下在两个相互未知通信方之间引入即建立信任关系的通用框架。
图1示出了根据本发明实施例的通用协议的流程图。所示协议中的通信方用证明器P(即证明侧)和验证器V(即验证侧)表示。根据图1的通用协议如下。
证明器通信方P通过创建数据集A(步骤S1)来发起与验证器通信方V建立信任关系。创建的数据集A例如包含用于P的标识符、用于V的标识符和SALTS_1(即“初始化矢量”,用作为例如密钥推导函数的输入的随机位串)。集合A也可以包含辅助数据如公共密钥或者公共密钥的密码散列、时间戳和/或将要发送给验证器V的消息。
在第二步骤即步骤S2中,验证器执行可以称为密码计算的计算。这些是基于创建的数据集A来执行的。在工作证明的上述概念的背景下,这些计算基本上是想要例如发送消息给另一方的一方将要完成的“工作”。
根据本实施例,图1的步骤S2的计算可以示例性地细分成步骤S21至S22。
在步骤S21中,验证器计算作为对创建的数据集A应用的伪随机函数h即s=h(A)的结果的位串。伪随机函数可以例如是某种密码散列函数(例如SHA1)。通过应用映射函数m以将任意位串映射到问题实例,证明器P在步骤S22中创建/推导它本身将要解决的计算问题x,即x=m(s)。问题实例应当在平均意义上(足够)难以求解(例如在问题的大小上要求超级多项式工作)。令x=m(s)成为对P所计算的“难”题实例的描述。
在步骤S3中,证明器P求解问题实例x从而找到解W。
当问题无解即在步骤S4中为否时,证明器P然后修改这些计算所基于的原本创建的数据集A的至少部分并且为此而回到步骤S1而且再次开始步骤S2的密码计算和步骤S3的求解。例如,可以改变集合A中的SALTS_1。
在步骤S4中为是即问题实例x具有解w的情况下,该协议继续前进到步骤S5,在步骤S5,证明器P生成用于求解问题实例以及因此也用于执行上述计算的工作证明。这一生成的工作证明在它对在涉及到的通信方之间建立信任关系的适用性方面受限制。
在步骤S6中,证明器P将工作证明p(w)以及输入集合M和A发送到第二通信方即验证器V。
为了验证从证明器P接收的工作证明p(w)(步骤S7),验证器V先执行相应的密码计算m(h(A)),由此重新计算问题实例x(步骤S71)。在下一步骤S72中,验证器V验明工作证明p(w)对应于从集合A推导的问题x的解w的知识。
在步骤S71和S72的验证没有产生肯定结果即在步骤S73中为否的情况下,验证器放弃执行协议,因此信任关系没有建立。在这一情况下,并不认为从P发送到V的消息是从信任通信方发送的。取决于(验证器V的)本地安全策略来判决对这些消息做什么以及在这一情况下如何继续。在步骤S73中为是即由于工作证明正确而接受证明器P的引入(在P与V之间的信任关系)的情况下,证明器V生成并且向证明器P发送通信所需的任何信息而无需刚才进行的引入协议。实质上,此信息在这里由所谓会话对象来代表。此信息或者会话对象也可以使用在集合A或者M中包含的信息来加密并且以加密形式发送到P。这些步骤分别在图1中表示为S8、S81和S82。
在步骤S3中的函数w=solve(x)必须比在步骤S72至S73中的验证函数足够更难以计算。当并非这一情况时,验证器V必须花费与P近似相同的工作量从而造成信任所增无几。
在步骤S62中会话对象的加密根据本发明实施例可以按照如下两种方式来进行:
i.)问题实例x代表可以用来加密信息的公共密钥,该信息然后也可以用x(在证明器和验证器均已知)再解密。然而这意味着在步骤S82中发送的信息可以由负责求解问题实例x(任何时间量)的任何对手节点解密。
ii.)可选地,在集合M中或者在集合A中的信息包含证明器P的公共密钥。在这一情况下,验证器V可以使用这一公共密钥来加密信息或者会话对象,由此将会话对象绑定到这一公共密钥。
在下文中描述本发明实施例的两种上述使用情况。
当在集合A中的信息使得它将工作证明的适用性限于证明器P时,p(w)于是可以是输出w的函数(例如w=p(w))。这要求集合M和A彼此相等。可以通过在集合A中包括与P的身份相对应的公共密钥来实现将工作证明的有用性绑定到证明器P。由此无需单独的知识证明协议。在这一情况下,通过工作证明来揭示所求解的问题实例的解(即所谓证据)。然而这由于工作证明的受限适用性而对提出的方法的性能没有带来任何问题。
在可选的使用情况下使用知识证明协议。在这一情况下,工作证明一如既往揭示所求解的问题实例但是并不揭示这一问题实例的对应解(即证据)。这是因为验证器V必须(总是)知道问题实例以便验证工作证明,但是在使用知识证明的情况下,验证器V无需知道其解。
知识证明p(w)也可以理解为基于使用从集合A推导的密钥对的M的签名,具体是利用集合A所限定的证明器P的公共密钥。将知识证明与签名器(即证明器P)所创建的伪随机挑战数据一起使用被称为Fiat-Shamir试探并且已经被普遍用来创建公共密钥签名方案。
所使用的知识证明协议是根据限定将Fiat-Shamir试探用于输入集M的本发明的一个实施例。这些输入M可以例如是在步骤S1中创建的数据集A中的任何成员的组合。然而,当知识证明协议的伪随机函数所产生的随机性与步骤S22的问题实例x或者步骤S22的位串相同时,具体密码协议在这里可能失效。因此,可以在集合M中包括不同的SALTS_2以避免这样的故障。
作为又一选项,验证器可以要求工作证明足够“最新”(就生命期而言)。然而,它验证集合M或者集合A包含时间戳并且检验时间戳有效,即时间戳的值不是在将来且它是在足够近期(例如在过去1分钟内)完成的而且以必要粒度完成的。
上文以相当具体和示例方式描述的方法或者协议也可以理解为实质上对应于如下更通用步骤:
-证明器P从标识在证明器P与验证器V之间的会话q的某一集合推导计算有难度的问题;
-求解这一问题;
-(可选地)使用Fiat-Shamir试探和知识证明来签名绑定在证明器P与验证器V之间的会话q的另一消息;以及
-验证器V以向证明器P发送的基于会话q的具体会话对象做出响应。
基本思想就其核心而言在于允许证明器P以如下方式使用工作证明向验证器V引入新会话或者身份(比如公共密钥),即使得当验证器V接受这一(或者类似)证明时在证明器P与验证器V之间的将来通信中无需重复它。
还注意到问题实例x由于证明器P本身可以求解它(见图1的步骤S23和S24)而显然可求解,但是其表示它已经求解问题,即已经完成一些“工作”。系统可以被参数化为使得这一“工作”构成足够工作量为依赖于两个未知方相互‘介绍’需要多少工作。证明器P或者对手节点所能执行的预先计算量依赖于在数据集A中需要包含什么元素。
图2示出了根据本发明实施例的通用协议的另一示意表示图。在图2中,通过从创建数据集A开始而在证明器P接收会话对象结束的箭头来指示这一实施例的方法或者协议的进度。与此相联系将注意到垂直地布置用水平实线分离的在不同参与通信方进行的处理。这也通过指向分别表示证明器和验证器的相应字母P和V的连谱号来指示。
另外,在图1和图3中的相似标号和标注分别指代了相似参数、操作和信息。因此,可以认为图2较图1的表示图而言是另一表示图,即逻辑意义上而不是时间进度上的表示图,但是图示了非常相似的方法或者协议。因而,省略对图2的具体描述,并且可参见对图1的描述。
概括而言并且更广义地说,本发明提供一种用于在通信系统中两个相互未知通信方之间建立信任关系而无需使用信任第三方的方法,该方法包括:
(i)在两个通信方的第一通信方执行以下步骤:
创建数据集,该数据集至少包括两个通信方的身份以及将要从第一通信方传送到第二通信方的信息;
基于与第一通信方的身份有关的所创建的数据集执行密码计算以推导问题实例;
求解所推导的问题实例;
生成用于求解问题实例的工作证明,其中工作证明的用途限于建立信任关系;以及
将数据和工作证明发送到第二通信方,以及
(ii)在第二通信方执行以下步骤:
验证用于求解问题实例的工作证明;以及
当验证步骤产生肯定结果时生成并且向第一通信方发送用于信任关系的会话对象。
如上文已经陈述的那样,针对工作证明有两种基本使用情况。在第一使用情况下使用知识证明协议,因此工作证明具有隐藏信息的性质。也就是说,工作证明并不揭示所生成的问题实例的解而仅揭示所求解的问题实例。在第二使用情况下没有使用知识证明协议,因此工作证明没有隐藏信息。也就是说,工作证明也揭示问题实例的解。然而,即使在这一情况下,仍然可以恰当地建立在通信方(即证明器和验证器)之间的信任关系,因为工作证明(尽管没有隐藏信息)由于它的由第一通信方(即证明器)所创建的数据集限定的有限适用性而不能用于另一用途。简言之,使用知识证明协议(而不揭示问题实例的解)或者证明器的公共密钥必须存在于数据集A中。
也就是说,提供了一种包括在第一和第二通信方执行的相应方法步骤即例如图1的步骤S1至S82的方法。
根据本发明的另一方面,提供了一种包括在第一通信方P执行的相应方法步骤即例如图1的步骤S1至S6的方法。
根据本发明的另一方面,提供了一种包括在第二通信方V执行的相应方法步骤即例如图1的步骤S7至S82的方法。
根据本发明的基本思想,生成的工作证明在对相互介绍两个通信方P和V的适用性上受限制。工作证明可以直接地是所述问题实例的解或者是根据与基于向验证器V介绍证明器P的数据集的Fiat-Shamir试探一起使用的该解的知识证明数字签名。
以下部分仅简短地描述根据本发明实施例的协议的实施作为用于实施本发明的第一具体例子。以下实施例是基于以离散算法的知识和公共密钥密码系统为基础的知识证明。通信方同样用P(证明器)和V(验证器)表示。
所用全局参数和操作定义如下:
-令q=2p+1为整数使得q、p均为素数;
-令g为循环乘法群的生成器模数q,从而使得|<g>|=p。群操作是乘法模数q。g应当是以q为模的二次剩余;
-令h(k,m)为基于安全散列算法1(SHA1)的HMAC函数(HMAC:用于消息认证的键控散列);
-令id_P和id_V为代表证明器P和验证器V的身份的位串;
-令‖表示串(包括位串)的级联运算符;以及
-令K_P为任何密码系统中P的公共密钥。
由此实施的协议如下:
1.P随机选择位串s_1。
2.令aux为代表例如引导会话所需要的或者将要从P发送到V的任何(辅助)信息。
a.当此信息(或者消息)被置于现有消息m之上时,于是aux必须包含该消息m的表示。
b.当要求工作证明为“最新”时位串aux应当包含时间戳。
也就是说,创建的数据集A={id_P,id_V,K_P s_1,aux)。
3.P计算x=h(s_1,id_P‖id_V‖aux)。
4.P以基数g求解x的离散对数从而获得w使得g^w=x mod q。当不存在这样的w时,于是回到步骤1并且选择另一s_1。
5.P随机选择位串s_2和s_3。
6.P计算r=h(s_2,id_P‖id_V‖K_P‖aux)。
7.P计算G=g^s_3 mod q。
8.P计算c=s_3+r w。
9.P发送G、s_1、s_2、c、id_P、id_V、K_P和aux到V。
10.V计算r=h(s_2,id_P‖id_V‖K_p‖aux)。
11.V计算x=h(s_1,id_‖id_V‖aux)。
12.V检验是否g^c=G x^r。如果是这样,则V接受知识证明。如果不是这样,则V放弃协议而不实现两方相互介绍。
13.当aux包含时间戳时,V于是检验时间戳有效,即具有正确粒度并且足够最新而不是在将来。
14.V创建会话对象,可能是包含密码密钥的会话对象,并且使用K_P来加密它而且将它发送回到P。
因而,由此实施的协议基于Schnorr标识,即离散对数的标准知识证明。
以下部分仅简短地描述根据本发明实施例的协议的实施作为用于实施本发明的第二具体例子。以下实施例基于使用密码散列函数的预图像的知识将集合A绑定到证明器P。也就是说,不需要知识证明协议而集合A和M彼此相等。
所用全局参数和操作定义如下:
-令h(k)为散列函数,例如SHA1函数;
-令msb(n,x)代表x的n个最高有效位;
-令id_P和id_V为代表证明器P和验证器V的身份的位串;
-令‖代表串(包括位串)的级联运算符;
-令K_P为任何密码系统中P的公共密钥;以及
-令n为在1与160之间的整数。
由此实施的协议如下:
1’.令aux为代表例如引导会话所需要的或者将要从P发送到V的任何(辅助)信息。
a.当此信息(或者消息)被置于现有消息m之上时,于是aux必须包含该消息m的表示。
b.当要求工作证明为“最新”时位串aux应当包含时间戳。
也就是说,创建的数据集{id_P,id_V,K_P,aux}。
2’.令x=id_P‖id_V‖K_P‖aux。
3’.计算w使得msb(n,x)=msb(n,h(w))。
4’.P发送A={id_P,id_V,K_P和aux}以及w到V。
5’.V计算如接收的A所限定的x′=id_P‖id_V‖K_P‖aux。
6’.V检验msb(n,x′)=msb(n,h(w))。
7’.当aux包含时间戳时,V于是检验该时间戳有效,即具有正确粒度并且足够最新而不是在将来。
8’.V创建会话对象,可能是包含密码密钥的会话对象,并且使用K_P来加密它而且将它发送回到P。
图3示出了根据本发明另一实施例的两个通信设备的框图。由此也示出了根据本发明的系统的实施例,虽然这样的系统也可以包括多于两个这样的通信设备。在图3中的箭头图示了在单独块之间的物理和/或逻辑连接以及操作流程。
根据本实施例,P表示的第一通信设备对应于图1和图2的证明器,而V表示的第二通信设备对应于图1和图2的验证器。
通信设备P想要发起在它本身与第二通信设备V之间建立信任关系即在V介绍其自身而无需使用信任第三方。根据本实施例的设备P包括创建器P1、执行器P2、求解器P3、生成器P4和收发器P5。
创建器P1被实施用以创建数据集A(见图1的步骤S1)以及将这一集合传递到执行器P2。执行器P2然后基于与证明器P的身份有关的这一数据集执行密码计算以推导问题实例。为此,执行器P2可以配置用以执行一个或者多个以下操作:
-对创建器所创建的数据集的至少部分执行伪随机函数(见图1的步骤S21);以及
-执行用于将伪随机函数的结果映射到问题实例的映射函数(见图1的步骤S22)。
根据本发明的更多实施例,执行器P2也可以包括用于执行一个或者多个上述操作的不同装置,例如用于映射操作的映射器。
执行器P2将推导的问题实例供应给配置用以求解这一问题实例的求解器P3(见图1的步骤S3)。在求解器P3计算的问题实例有解时,设备P的生成器P4生成用于求解问题实例的工作证明(见图1的步骤S5)。在推导的问题没有可用的解(即在图1的步骤S5中为否)的情况下,求解器P3配置用以例如使创建器P1修改所创建的数据集的至少部分以及基于修改的数据集重新开始相应操作。在图2中,这借助从求解器P3回到创建器P1的箭头来表示。
设备P的收发器P5然后将工作证明和关联信息(即数据)发送到第二通信设备V。
通信设备V必须完成由设备P发起的信任关系的建立并且因此充当第二通信方。根据本实施例的设备V包括收发器V1、验证器V2和生成器V3。
收发器V1先从第一设备P接收签名信息以及用于执行密码计算的工作证明并且将此数据传递到验证器V2。验证器V2验证从收发器V1接收的工作证明(见图1的步骤S7)。为此,验证器V2可以配置用以执行一个或者多个以下操作:
-基于在第一通信方的密码计算所基于的数据集执行密码计算;以及
-验明所接收的工作证明对应于密码计算的执行;以及
-检验时间戳有效。
根据本发明的更多实施例,验证器也可以包括用于执行一个或者多个上述操作的不同装置(可比较图1的步骤S71和S72),例如用于检验时间戳的检验器。
当验证器产生肯定结果时,生成器V3然后生成用于信任关系的所需信息比如会话对象。在这一情况下,生成器V3将生成的会话密钥传递到收发器V1以便将它发送到第一通信方P,由此设备P的收发器P4接收它。
生成器也可以配置用以执行如下操作或者包括用于执行如下操作的不同装置:
-生成包含密码密钥的会话对象;
-在发送会话对象之前加密所生成的会话对象;和/或
-基于第一通信方的公共密钥加密会话对象。
图3的两个通信设备P和V中的任一通信设备可以例如是网络单元或者终端设备,无论是移动或者非移动的。
图3中所示通信设备(以及因此其包括的系统)因此配置用于在如所附权利要求中限定的用于建立信任关系的方法中使用。
一般而言,注意到所述功能单元如根据本发明的签名器或者验证器可以分别通过用硬件和/或软件的任何已知装置来实施,该已知装置仅适于执行相应部分的所述功能。例如,设备V的验证器可以通过任何数据处理单元如微处理器来实施,该数据处理单元配置用以如所附权利要求相应限定的那样验证所接收的工作证明。所述部分也可以在单独功能块中或者通过单独设备来实现,或者一个或者多个所述部分可以在单个功能块中或者通过单个设备来实现。相应地,对图3的上述说明仅用于示例目的而并不以任何方式限制本发明的实施。
另外,有可能实施为软件代码部分并且在对等实体之一使用处理器来运行的方法步骤是独立于软件代码的并且可以使用任何已知或者将来开发的编程语言如例如C、C++和汇编程序来具体说明。可能在对等实体之一实施为硬件组件的方法步骤和/或设备或者装置是独立于硬件的,并且可以使用任何已知或者将来开发的硬件技术或者这些硬件技术的任何混合技术来实施,作为例子,这些硬件技术比如是MOS、CMOS、BiCMOS、ECL、TTL等,例如使用ASIC组件或者DSP组件。一般而言,任何方法步骤适合于实施为软件或者通过硬件来实施而不改变本发明的思想。设备和装置可以实施为单独设备,但是这并不排除它们以分布式方式遍布于系统来实施,只要保留了设备的功能。这样的以及类似的原理被认为是本领域技术人员已知的。
提出的协议和布置并非针对如下情况而设计:认证身份或者会话对象将用来保障机密性或者在面临活跃的中间人攻击时提供真实性,虽然提出的协议和布置适合于至少减缓这样的攻击。实际上,本发明的思想适用于引入两方使得可以在这两方之间建立会话。因此,本发明也适用于(至少)用作为用于在例如ad-hoc和叠加网络或者信誉系统中求解根本安全问题的系统中的组件。本发明可以例如应用于消息过滤系统(比如电子邮件或者即时消息发送)或者ad-hoc网络中的印记问题。更多应用例子是抵御兜售信息和用于浏览的访问控制以及引导用于授权方案的(低级)信任。此外,本发明适合于即使不能完全阻止也至少减缓并且因此至少一定程度地抵抗中间人攻击。
概括而言,本发明呈现一种如何创建如下协议的可能,该协议用于以如下方式使用工作证明相互介绍两个未知通信方使得工作证明不能重用或者用于其它用途并且更多通信可以基于这一(一次性)介绍而无需更多工作证明。也就是说,本发明提出如下能力:以如下方式绑定工作证明使得“无人”可以将它例如重用于另一目的,即它实质上在对比如向另一方引入公共密钥或者会话对象这样的限定用途的适用性上受限制。由此也允许“任何人”(例如尝试与另一通信方建立会话的通信方)可以通过将知识证明协议与Fiat-Shamir试探一起应用从而使用工作证明所限定的解对“任何物”(即某一数据集)签名。
换而言之,本发明提供了在通信系统中的两个相互未知通信方之间建立信任关系而无需使用信任第三方。本发明是基于非交互式工作证明,该工作证明的用途限于建立信任关系以及密码签名将要在通信方之间传送的信息,其中通信方将这样的工作证明用于求解问题实例以及验证工作证明而当验证产生肯定结果时生成用于信任关系的会话对象。
虽然上文根据附图参照例子描述了本发明,但是清楚的是本发明不限于此。事实上,对于本领域技术人员不言而喻可以用许多方式修改本发明而不脱离如在所附权利要求中公开的发明思想的范围。

Claims (32)

1.一种用于在通信系统中的两个相互未知通信方之间建立信任关系而无需使用信任第三方的方法,所述方法包括:
(i)在所述两个通信方的第一通信方执行以下步骤:
创建数据集,所述数据集至少包括所述两个通信方的身份以及将要从所述第一通信方传送到第二通信方的信息;
基于与所述第一通信方的身份有关的所述创建的数据集执行密码计算以推导问题实例;
求解所述推导的问题实例;
生成用于求解所述问题实例的工作证明,其中所述工作证明的用途限于建立所述信任关系;以及
将所述数据和所述工作证明发送到所述第二通信方,以及
(ii)在所述第二通信方执行以下步骤:
验证用于求解所述问题实例的所述工作证明;以及
当所述验证步骤产生肯定结果时生成并且向所述第一通信方发送用于所述信任关系的会话对象。
2.一种用于发起在通信系统中的两个相互未知通信方之间建立信任关系而无需使用信任第三方的方法,所述方法在所述两个通信方的第一通信方执行并且包括以下步骤:
创建数据集,所述数据集至少包括所述两个通信方的身份以及将要从所述第一通信方传送到第二通信方的信息;
基于与所述第一通信方的身份有关的所述创建的数据集执行密码计算以推导问题实例;
求解所述推导的问题实例;
生成用于求解所述问题实例的工作证明,其中所述工作证明的用途限于建立所述信任关系;以及
将所述数据和所述工作证明发送到所述第二通信方。
3.一种用于完成在通信系统中的两个相互未知通信方之间建立信任关系而无需使用信任第三方的方法,所述方法在所述两个通信方的第二通信方执行并且包括以下步骤:
验证随同数据一起从第一通信方接收的用于求解问题实例的工作证明,所述数据至少包括所述两个通信方的身份以及将要从所述第一通信方传送到所述第二通信方的信息,其中所述工作证明的用途限于建立所述信任关系;以及
当所述验证步骤产生肯定结果时生成并且向所述第一通信方发送用于所述信任关系的会话对象。
4.根据权利要求1至3中任一权利要求所述的方法,其中所述工作证明是所述问题实例的解而所述数据集包含所述第一通信方的公共密钥。
5.根据权利要求1至3中任一权利要求所述的方法,其中所述工作证明是以所述问题实例的解的知识证明为基础的数字签名,其中所述工作证明没有揭示所述问题实例的解,以及其中基于所述数据集的全部或者部分计算所述数字签名。
6.根据权利要求1或者2所述的方法,其中所述执行密码计算的步骤包括以下步骤:
对所述创建的数据集的至少部分执行伪随机函数。
7.根据权利要求6所述的方法,其中所述执行密码计算的步骤还包括以下步骤:
执行用于将所述伪随机函数的结果映射到问题实例的映射函数。
8.根据权利要求1或者2所述的方法,还包括以下步骤:
当所述求解步骤失败时修改所述创建的数据集的至少部分以及基于所述修改的数据集执行所述密码计算。
9.根据权利要求1或者3所述的方法,其中所述验证所述工作证明的步骤包括以下步骤:
基于在所述第一通信方的所述密码计算所基于的所述数据集执行所述密码计算;以及
验明所接收的所述工作证明对应于所述密码计算的执行。
10.根据权利要求1或者2所述的方法,其中所述创建数据集的步骤还包括在所述数据集中创建时间戳。
11.根据权利要求1或者3所述的方法,其中所述验证所述工作证明的步骤包括以下步骤:检验时间戳有效。
12.根据权利要求1或者3所述的方法,其中所述会话对象包含密码密钥。
13.根据权利要求1或者3所述的方法,还包括以下步骤:在发送所述生成的会话对象之前对其进行加密。
14.根据权利要求13所述的方法,其中加密所述会话对象的步骤是基于在所述创建的数据集中包含的所述第一通信方的公共密钥而进行的。
15.一种在通信系统中的通信设备,配置用以发起在作为第一通信方的所述通信设备与第二通信方之间建立信任关系而无需使用信任第三方,其中所述两个通信方相互未知,所述通信设备包括:
创建器,配置用以创建数据集,所述数据集至少包括所述两个通信方的身份以及将要从所述第一通信方传送到所述第二通信方的信息;
执行器,配置用以基于与所述第一通信方的身份有关的所述创建的数据集执行密码计算以推导问题实例;
求解器,配置用以求解所述推导的问题实例;
生成器,配置用以生成用于求解所述问题实例的工作证明,其中所述工作证明的用途限于建立所述信任关系;以及
收发器,配置用以将所述数据和所述工作证明发送到所述第二通信方以及用以从所述第二通信方接收会话对象。
16.一种在通信系统中的通信设备,配置用以发起在作为第一通信方的所述通信设备与第二通信方之间建立信任关系而无需使用信任第三方,其中所述两个通信方相互未知,所述通信设备包括:
用于创建数据集的装置,所述数据集至少包括所述两个通信方的身份以及将要从所述第一通信方传送到所述第二通信方的信息;
用于基于与所述第一通信方的身份有关的所述创建的数据集执行密码计算以推导问题实例的装置;
用于求解所述推导的问题实例的装置;
用于生成用于求解所述问题实例的工作证明的装置,其中所述工作证明的用途限于建立所述信任关系;以及
用于将所述数据和所述工作证明发送到所述第二通信方以及用于从所述第二通信方接收会话对象的装置。
17.根据权利要求15所述的通信设备,其中所述执行器还配置用以对所述创建器所创建的数据集的至少部分执行伪随机函数。
18.根据权利要求17所述的通信设备,其中所述执行器还配置用以执行用于将所述伪随机函数的结果映射到问题实例的映射函数。
19.根据权利要求15所述的通信设备,其中所述求解器还配置用以:
当所述求解器求解所述问题实例失败时使所述创建器修改所述创建的数据集的至少部分以及使所述执行器基于所述修改的数据集执行所述密码计算。
20.根据权利要求15所述的通信设备,其中所述生成器还配置用以生成所述工作证明作为所述问题实例的解而所述数据集包含所述第一通信方的公共密钥。
21.根据权利要求15所述的通信设备,其中所述生成器还配置用以生成所述工作证明作为以所述问题实例的解的知识证明为基础的数字签名,其中所述工作证明没有揭示所述问题实例的解,以及其中基于所述数据集的全部或者部分计算所述数字签名。
22.根据权利要求15所述的通信设备,其中所述创建器还配置用以在所述数据集中创建时间戳。
23.一种在通信系统中的通信设备,配置用以完成在第一通信方与作为第二通信方的所述通信设备之间建立信任关系而无需使用信任第三方,其中所述两个通信方相互未知,所述通信设备包括:
收发器,配置用以从所述第一通信方接收用于求解问题实例的工作证明以及数据,所述数据至少包括所述两个通信方的身份以及将要从所述第一通信方传送到所述第二通信方的信息,其中所述工作证明的用途限于建立所述信任关系;
验证器,配置用以验证所接收的所述工作证明;以及
生成器,配置用以当所述验证器产生肯定结果时生成用于所述信任关系的会话对象,以及其中
所述收发器还配置用以将所述生成器所生成的所述会话对象发送到所述第一通信方。
24.一种在通信系统中的通信设备,配置用以完成在第一通信方与作为第二通信方的所述通信设备之间建立信任关系而无需使用信任第三方,其中所述两个通信方相互未知,所述通信设备包括:
用于从所述第一通信方接收用于求解问题实例的工作证明以及数据的装置,所述数据至少包括所述两个通信方的身份以及将要从所述第一通信方传送到所述第二通信方的信息,其中所述工作证明的用途限于建立所述信任关系;
用于验证所接收的所述工作证明的装置;
用于当所述验证器产生肯定结果时生成用于所述信任关系的会话对象的装置;以及
用于将所述生成器所生成的所述会话对象发送到所述第一通信方的装置。
25.根据权利要求23所述的通信设备,其中所述验证器还配置用以:
基于在所述第一通信方的所述密码计算所基于的数据集执行密码计算;以及
验明所接收的所述工作证明对应于所述密码计算的执行。
26.根据权利要求23所述的通信设备,其中所述验证器还配置用以检验时间戳有效。
27.根据权利要求23所述的通信设备,其中所述生成器还配置用以生成包含密码密钥的会话对象。
28.根据权利要求23所述的通信设备,其中所述生成器还配置用以在发送所述会话对象之前加密所述生成的会话对象。
29.根据权利要求28所述的通信设备,其中所述生成器还配置用以基于所述第一通信方的公共密钥加密所述会话对象。
30.一种用于在通信系统中的两个相互未知通信方之间建立信任关系而无需使用信任第三方的系统,所述系统包括:
(i)作为第一通信方的至少一个第一通信设备,包括:
创建器,配置用以创建数据集,所述数据集至少包括所述两个通信方的身份以及将要从所述第一通信方传送到所述第二通信方的信息;
执行器,配置用以基于与所述第一通信方的身份有关的所述创建的数据集执行密码计算以推导问题实例;
求解器,配置用以求解所述推导的问题实例;
第一生成器,配置用以生成用于求解所述问题实例的工作证明,其中所述工作证明的用途限于建立所述信任关系;以及
第一收发器,配置用以将所述数据和所述工作证明发送到所述第二通信方以及用以从所述第二通信方接收会话对象;以及
(ii)作为所述第二通信方的至少一个第二通信设备,包括:
第二收发器,配置用以从所述第一通信方接收用于求解所述问题实例的所述工作证明以及所述数据,该数据至少包括所述两个通信方的身份以及将要从所述第一通信方传送到所述第二通信方的信息,其中所述工作证明的用途限于建立所述信任关系;
验证器,配置用以验证所接收的所述工作证明;以及
第二生成器,配置用以当所述验证器产生肯定结果时生成用于所述信任关系的所述会话对象,以及其中
所述第二收发器还配置用以将所述第二生成器所生成的所述会话对象发送到所述第一通信方。
31.一种计算机程序产品,实施于计算机可读介质上并且可加载到通信系统中的通信设备的数字处理装置的存储器中,所述计算机程序产品包括软件代码部分,所述软件代码部分用于当所述产品在所述数字处理装置上运行时执行以下步骤:
创建数据集,所述数据集至少包括两个通信方的身份以及将要从第一通信方传送到第二通信方的信息;
基于与所述第一通信方的身份有关的所述创建的数据集执行密码计算以推导问题实例;
求解所述推导的问题实例;
生成用于求解所述问题实例的工作证明,其中所述工作证明的用途限于建立所述信任关系;以及
将所述数据和所述工作证明发送到所述第二通信方。
32.一种计算机程序产品,实施于计算机可读介质上并且可加载到通信系统中的通信设备的数字处理装置的存储器中,所述计算机程序产品包括软件代码部分,所述软件代码部分用于当所述产品在所述数字处理装置上运行时执行以下步骤:
验证随同数据一起从第一通信方接收的用于求解问题实例的工作证明,所述数据至少包括两个通信方的身份以及将要从所述第一通信方传送到第二通信方的信息,其中所述工作证明的用途限于建立所述信任关系;以及
当所述验证步骤产生肯定结果时生成并且向所述第一通信方发送用于所述信任关系的会话对象。
CN2006800305200A 2005-07-07 2006-05-11 在未知通信方之间建立信任关系 Expired - Fee Related CN101243643B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP05014787.5 2005-07-07
EP05014787 2005-07-07
US11/237,881 US8132005B2 (en) 2005-07-07 2005-09-29 Establishment of a trusted relationship between unknown communication parties
US11/237,881 2005-09-29
PCT/IB2006/051481 WO2007007214A1 (en) 2005-07-07 2006-05-11 Establishment of a trusted relationship between unknown communication parties

Publications (2)

Publication Number Publication Date
CN101243643A true CN101243643A (zh) 2008-08-13
CN101243643B CN101243643B (zh) 2011-02-09

Family

ID=37619574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800305200A Expired - Fee Related CN101243643B (zh) 2005-07-07 2006-05-11 在未知通信方之间建立信任关系

Country Status (7)

Country Link
US (1) US8132005B2 (zh)
EP (1) EP1900141B1 (zh)
JP (1) JP2008545353A (zh)
KR (1) KR100956482B1 (zh)
CN (1) CN101243643B (zh)
TW (1) TW200704097A (zh)
WO (1) WO2007007214A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022139A (zh) * 2015-03-12 2016-10-12 国际商业机器公司 用于保护数据操作的方法和系统
CN108885675A (zh) * 2016-01-15 2018-11-23 布洛克钱恩阿西克斯有限责任公司 包括电路编码变换函数的加密asic
US10607031B2 (en) 2018-04-25 2020-03-31 Blockchain Asics Llc Cryptographic ASIC with autonomous onboard permanent storage

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321955B2 (en) * 2003-08-26 2012-11-27 Wu-Chang Feng Systems and methods for protecting against denial of service attacks
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
CN101572614B (zh) 2009-06-12 2013-12-04 阿里巴巴集团控股有限公司 一种社会化网络中处理认证请求消息的方法及装置
US9524345B1 (en) 2009-08-31 2016-12-20 Richard VanderDrift Enhancing content using linked context
US8799754B2 (en) * 2009-12-07 2014-08-05 At&T Intellectual Property I, L.P. Verification of data stream computations using third-party-supplied annotations
US9639707B1 (en) 2010-01-14 2017-05-02 Richard W. VanderDrift Secure data storage and communication for network computing
TWI459749B (zh) * 2010-12-27 2014-11-01 Ind Tech Res Inst 數位資訊編碼方法、解碼方法、資訊傳播裝置及資訊管理裝置
US8880880B2 (en) * 2011-07-29 2014-11-04 Qualcomm Incorporated Facilitating access control in peer-to-peer overlay networks
US9495668B1 (en) * 2013-05-10 2016-11-15 EMC IP Holding Company LLC Computing solutions to a problem involving inversion of a one-way function
JP6283180B2 (ja) * 2013-08-08 2018-02-21 株式会社ニューフレアテクノロジー 荷電粒子ビーム描画装置及び荷電粒子ビーム描画方法
DE102014205331A1 (de) * 2014-03-21 2015-09-24 Siemens Aktiengesellschaft Sender zum Senden einer Nachricht und Empfänger zum Empfangen einer Nachricht
US9663226B2 (en) 2015-03-27 2017-05-30 Amazon Technologies, Inc. Influencing acceptance of messages in unmanned vehicles
US9930027B2 (en) 2015-03-27 2018-03-27 Amazon Technologies, Inc. Authenticated messages between unmanned vehicles
US9912655B2 (en) 2015-03-27 2018-03-06 Amazon Technologies, Inc. Unmanned vehicle message exchange
US9714088B2 (en) * 2015-03-27 2017-07-25 Amazon Technologies, Inc. Unmanned vehicle rollback
EP3278287A4 (en) 2015-03-31 2018-08-22 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US10015017B2 (en) * 2015-04-09 2018-07-03 Qualcomm Incorporated Proof of work based user identification system
DE102015211566B4 (de) * 2015-06-23 2017-03-16 Siemens Aktiengesellschaft Verfahren, Komponente und Computerprogrammprodukt zum Bestimmen eines abgeleiteten Schlüssels
US10097356B2 (en) 2015-07-02 2018-10-09 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20230125560A1 (en) * 2015-12-20 2023-04-27 Peter Lablans Cryptographic Computer Machines with Novel Switching Devices
GB2560587A (en) 2017-03-17 2018-09-19 Univ Oxford Innovation Ltd Secure data exchange
US10372943B1 (en) 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
US20190332814A1 (en) * 2018-04-27 2019-10-31 Nxp B.V. High-throughput privacy-friendly hardware assisted machine learning on edge nodes
US10715471B2 (en) * 2018-08-22 2020-07-14 Synchronoss Technologies, Inc. System and method for proof-of-work based on hash mining for reducing spam attacks
US11374771B2 (en) * 2019-03-08 2022-06-28 Ares Technologies, Inc. Methods and systems for implementing mixed protocol certificates
WO2020216858A1 (en) * 2019-04-24 2020-10-29 Sony Corporation Blockchain-based crowdsourcing
US11558195B2 (en) 2020-02-06 2023-01-17 Ford Global Technologies, Llc Proof-of-work vehicle message authentication
US11272363B2 (en) 2020-03-25 2022-03-08 Nxp B.V. Authentication method in a communication system
US11949795B2 (en) 2021-08-27 2024-04-02 Bank Of America Corporation System for tracking resources using non-fungible tokens
US11882219B2 (en) 2021-09-02 2024-01-23 Bank Of America Corporation System for dynamically tracking resources using non-fungible tokens
US11902443B2 (en) 2021-09-08 2024-02-13 Bank Of America Corporation System for linking and partitioning non-fungible tokens
US11811931B2 (en) 2021-09-15 2023-11-07 Bank Of America Corporation System for real-time assessment of authenticity of a resource using non-fungible tokens
US11902444B2 (en) 2021-10-18 2024-02-13 Bank Of America Corporation System for virtualization of non-fungible tokens
US11893587B2 (en) 2021-12-10 2024-02-06 Bank Of America Corporation System for enhanced authentication using non-fungible tokens (NFTs)
US11966915B2 (en) 2022-02-03 2024-04-23 Bank Of America Corporation System for tracking and tagging communication using electronic non-fungible resources within a distributed network
US11860862B2 (en) 2022-02-09 2024-01-02 Bank Of America Corporation System for identification and recordation of base components of a resource within a virtual medium

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2109277T3 (es) * 1990-08-29 1998-01-16 Hughes Aircraft Co Protocolo de autenticacion de usuarios distribuido.
US5315658B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5299263A (en) * 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5815665A (en) * 1996-04-03 1998-09-29 Microsoft Corporation System and method for providing trusted brokering services over a distributed network
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6088450A (en) * 1996-04-17 2000-07-11 Intel Corporation Authentication system based on periodic challenge/response protocol
US6073237A (en) * 1997-11-06 2000-06-06 Cybercash, Inc. Tamper resistant method and apparatus
GB9802152D0 (en) * 1998-01-30 1998-04-01 Certicom Corp Secure one way authentication communication system
US7197639B1 (en) * 1999-02-05 2007-03-27 Rsa Security Inc. Cryptographic countermeasures against connection depletion attacks
US6822639B1 (en) * 1999-05-25 2004-11-23 Silverbrook Research Pty Ltd System for data transfer
US6886102B1 (en) * 1999-07-14 2005-04-26 Symantec Corporation System and method for protecting a computer network against denial of service attacks
US7356696B1 (en) * 2000-08-01 2008-04-08 Lucent Technologies Inc. Proofs of work and bread pudding protocols
CN1714356B (zh) * 2001-01-17 2010-04-07 康坦夹德控股股份有限公司 使用标准演示引擎作数字权限管理的系统及方法
US20020157004A1 (en) * 2001-02-15 2002-10-24 Smith Ned M. Method of enforcing authorization in shared processes using electronic contracts
FR2826811B1 (fr) * 2001-06-27 2003-11-07 France Telecom Procede d'authentification cryptographique
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
GB2401293B (en) * 2002-01-17 2004-12-22 Toshiba Res Europ Ltd Data transmission links
US6944663B2 (en) * 2002-03-06 2005-09-13 Sun Microsystems, Inc. Method and apparatus for using client puzzles to protect against denial-of-service attacks
US8046832B2 (en) * 2002-06-26 2011-10-25 Microsoft Corporation Spam detector with challenges
US7069438B2 (en) * 2002-08-19 2006-06-27 Sowl Associates, Inc. Establishing authenticated network connections
US7149801B2 (en) * 2002-11-08 2006-12-12 Microsoft Corporation Memory bound functions for spam deterrence and the like
US7305705B2 (en) * 2003-06-30 2007-12-04 Microsoft Corporation Reducing network configuration complexity with transparent virtual private networks
US20050080858A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation System and method for searching a peer-to-peer network
KR20050050257A (ko) * 2003-11-25 2005-05-31 엘지엔시스(주) 데이터 통신 암호화 방법
US7600255B1 (en) * 2004-04-14 2009-10-06 Cisco Technology, Inc. Preventing network denial of service attacks using an accumulated proof-of-work approach

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022139A (zh) * 2015-03-12 2016-10-12 国际商业机器公司 用于保护数据操作的方法和系统
US10565588B2 (en) 2015-03-12 2020-02-18 International Business Machines Corporation Cryptographic methods implementing proofs of work in systems of interconnected nodes
CN108885675A (zh) * 2016-01-15 2018-11-23 布洛克钱恩阿西克斯有限责任公司 包括电路编码变换函数的加密asic
CN108885675B (zh) * 2016-01-15 2020-03-03 布洛克钱恩阿西克斯有限责任公司 包括电路编码变换函数的加密asic
US10936758B2 (en) 2016-01-15 2021-03-02 Blockchain ASICs Inc. Cryptographic ASIC including circuitry-encoded transformation function
US10607031B2 (en) 2018-04-25 2020-03-31 Blockchain Asics Llc Cryptographic ASIC with autonomous onboard permanent storage
US10607030B2 (en) 2018-04-25 2020-03-31 Blockchain Asics Llc Cryptographic ASIC with onboard permanent context storage and exchange
US10796024B2 (en) 2018-04-25 2020-10-06 Blockchain ASICs Inc. Cryptographic ASIC for derivative key hierarchy
US11042669B2 (en) 2018-04-25 2021-06-22 Blockchain ASICs Inc. Cryptographic ASIC with unique internal identifier
US11093655B2 (en) 2018-04-25 2021-08-17 Blockchain ASICs Inc. Cryptographic ASIC with onboard permanent context storage and exchange
US11093654B2 (en) 2018-04-25 2021-08-17 Blockchain ASICs Inc. Cryptographic ASIC with self-verifying unique internal identifier

Also Published As

Publication number Publication date
US8132005B2 (en) 2012-03-06
JP2008545353A (ja) 2008-12-11
CN101243643B (zh) 2011-02-09
WO2007007214A1 (en) 2007-01-18
KR20080025202A (ko) 2008-03-19
US20070011453A1 (en) 2007-01-11
EP1900141A1 (en) 2008-03-19
TW200704097A (en) 2007-01-16
KR100956482B1 (ko) 2010-05-07
EP1900141B1 (en) 2013-11-20

Similar Documents

Publication Publication Date Title
CN101243643B (zh) 在未知通信方之间建立信任关系
Au et al. Malicious KGC attacks in certificateless cryptography
Rackoff et al. Non-interactive zero-knowledge proof of knowledge and chosen ciphertext attack
Liu et al. Self-generated-certificate public key cryptography and certificateless signature/encryption scheme in the standard model
Perrig Efficient collaborative key management protocols for secure autonomous group communication
Clark et al. A survey of authentication protocol literature: Version 1.0
US9106410B2 (en) Identity based authenticated key agreement protocol
CN1937496A (zh) 可延展伪名证书系统和方法
WO2004100496A2 (en) Ends - messaging protocol that recovers and has backward security
GB2490407A (en) Joint encryption using base groups, bilinear maps and consistency components
US20020087865A1 (en) Threshold cryptography scheme for message authentication systems
CN102340483B (zh) 民主群签名的生成、验证、追踪方法和民主群签名系统
Waters et al. Receiver anonymity via incomparable public keys
Hwang et al. Timed-release encryption with pre-open capability and its application to certified e-mail system
CN114095181B (zh) 一种基于国密算法的门限环签名方法及系统
CN115396115B (zh) 区块链数据隐私保护方法、装置、设备及可读存储介质
CA2819211A1 (en) Data encryption
Ki et al. Constructing Strong Identity‐Based Designated Verifier Signatures with Self‐Unverifiability
Jarecki et al. Authentication for paranoids: Multi-party secret handshakes
Yang et al. Efficient certificateless encryption withstanding attacks from malicious KGC without using random oracles
Zhang et al. Privacy‐friendly weighted‐reputation aggregation protocols against malicious adversaries in cloud services
Jarecki Practical covert authentication
Boyd A framework for design of key establishment protocols
Yap et al. On the security of a lightweight authentication and encryption scheme for mobile ad hoc network
Xu et al. New construction of affiliation‐hiding authenticated group key agreement

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160121

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110209

Termination date: 20180511

CF01 Termination of patent right due to non-payment of annual fee