CN112020849A - 用于验证节点的方法 - Google Patents

用于验证节点的方法 Download PDF

Info

Publication number
CN112020849A
CN112020849A CN201980024252.9A CN201980024252A CN112020849A CN 112020849 A CN112020849 A CN 112020849A CN 201980024252 A CN201980024252 A CN 201980024252A CN 112020849 A CN112020849 A CN 112020849A
Authority
CN
China
Prior art keywords
node
endorsement
trust
value
nodes
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.)
Pending
Application number
CN201980024252.9A
Other languages
English (en)
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.)
Banco Bilbao Vizcaya Argentaria SA
Original Assignee
Banco Bilbao Vizcaya Argentaria SA
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 Banco Bilbao Vizcaya Argentaria SA filed Critical Banco Bilbao Vizcaya Argentaria SA
Publication of CN112020849A publication Critical patent/CN112020849A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • H04L67/1057Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers involving pre-assessment of levels of reputation of peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/67Risk-dependent, e.g. selecting a security level depending on risk profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Amplifiers (AREA)

Abstract

一种用于验证对等网络中的至少一个节点的数字签名的计算机实现的方法,其中,每个节点被配置成存储数据库和对等网络的一个节点针对另一节点的至少一个信任分数s,其中,每个数据库被配置成存储其他节点的至少一个信任背书,计算机实现的方法包括以下步骤:a)在多个节点中执行流言算法,在每个节点中获得其数据库的更新版本,b)在每个节点中针对其数据库的每个节点本地计算分配给网络的其他节点的信任分数s,c)在每个节点中基于对等网络的所述信任分数s的值来本地验证其数据库的至少一个节点的每个数字签名,d)如果节点的数据库的至少一个信任背书值t存在变化,则将变化的信任背书发送至每个相邻节点并执行步骤a),或者e)如果在对等网络中添加或删除新节点,则执行步骤a)。还描述了用于执行该方法的步骤的数据处理系统、计算机程序产品和计算机可读存储介质。

Description

用于验证节点的方法
技术领域
本发明属于电信网络中的节点的验证的领域,并且更具体地,属于分散的对等网络,即所谓的P2P网络中的节点的公共密钥的验证。
特别地,本发明涉及用于验证至少一个节点的数字签名的方法,每个节点标识网络的用户。该方法的特征在于允许建立例如来自网络的其他节点(用户)的公共密钥的可靠性的数值的一组分析步骤。由于节点被用户使用,因此本发明被配置成验证用户,即他/她的数字签名。
背景技术
在现有技术中,给定的用户标识符通常持有特定的密钥。这种密钥是公共密钥密码术,其允许在通信中通过私有密钥和公共密钥对进行认证。这可以肯定地成立,用私有密钥签名的消息确实是由相关联的公共密钥的所有者以简单和普遍可验证的方式签名的。在网络的环境中,这样的用户还持有一组有效的认证,例如数字签名,以及关于他们的可信度的声明。这被称为所有者信任(ownertrust)。
换句话说,所有者信任反映了当给定用户签名其他密钥时任何其他用户可以置入给定用户的特定密钥的确定度的水平。在没有任何指示其他方面的证据的情况下,用户被认为合法地附至其特定的密钥。并且因此,用户被认为是“有效的”或者可信的。
有效用户对于TLS/SSL通信的认证是关键性的。例如,当用户第一次登录新服务器时,系统询问你是否通过验证指纹来认为服务器的密钥是有效的。然而,除非用户已经通过安全的带外通道访问服务器的密钥指纹(这是耗时且低效的),否则没有办法验证向用户呈现的指纹确实是用户真正试图连接至的服务器的指纹。
现有技术中的一种已知方法是数字信誉(reputation)。与中央机构验证用户行为的传统系统相比,在数字信誉中用户是验证他们自己的行为的用户。
然而,尽管这种方法更有效,但是它仍然依赖于集中用户的所有背书(endorsement)的中央服务器。因此,中央服务器必须被终端用户信任,并且它带有集中式系统的固有的故障风险。
US 7213047 B2公开了一种使用移动代理来收集信誉信息以用于评估节点P2P网络中的信任的系统和方法。然而,它还依赖于中央元素(在这种情况下为移动代理),并且因此,用户必须盲目地认为继承TLS/SSL通信的问题的该元素有效。
另外,其他已知的方法基于区块链技术。然而,该技术需要工作证明以便验证存储在区块链中的项目的因果关系。此外,在区块链技术中,要求网络的节点在所有时间步都处于相同的状态。作为上述问题的结果,区块链技术具有极大的计算成本,从而导致了对集中式系统的已知问题的低效解决方案。
协议OpenPGP和GnuPGP提供了两个离散的验证级别。然而,该方法受到其中验证被计算的节点之间的跳跃数或距离的限制,结果,所述协议的准确性受到限制并且对于任何其他应用都是无效的。
US 2003/0028585 A1公开了用于使用EigenTrust算法来计算节点的信任度的方法。该算法将信任分数计算为邻居之间的信任分数的组合,从而得到组合矩阵的第一特征向量,这也可以视为求解不动点方程。然而,对于网络中的每个节点,信任分数的最终解是相同的,即,这种方法是非个人的。关于特定节点的信任度,所有节点之间具有相同的信任分数的不良结果是,如果该节点得到的信任分数太低,则该节点可能因被认为不可信而被从整个网络排除;除非它不同意,不然没有其他人或用户可以看到它,但是替代地将必须接受网络的裁决。因此,此方法对于验证特定节点中的数字签名无效。
其他验证管理方法是基于事件的。基于网络中节点的客观事件来计算验证。然而,所述事件可能下载失败或者是可能与所有者信任问题无关的恶意结果。
用于计算对等网络的节点的信任分数的其他方法见文章“Gossip-basedReputation Aggregation for Unstructured Peer-to-Peer Networks”和“GP2PReputation Management Using Distributed Identities and DecentralizedRecommendation Chains”。但是,这两种方法都计算全局信誉分数,即,每个节点都具有唯一的信任分数,而网络的其余部分将该节点作为整体来信任或不信任。
需要提供一种克服了现有技术中的上述问题的可以严格地验证P2P网络的节点的数字签名的方法。
发明内容
本发明通过根据权利要求1的用于验证对等电信网络中的至少一个节点的数字签名的计算机实现的方法,以及根据权利要求12至14的数据处理系统、计算机程序和计算机可读存储介质,为上述问题提供了解决方案。在从属权利要求中,限定了本发明的优选实施方式。
在第一发明方面,本发明提供了一种用于验证对等网络中的至少一个节点的数字签名的计算机实现的方法,其中,所述网络包括至少三个节点,例如节点i、节点j和节点w,
其中,每个节点被配置成存储数据库和至少一个信任分数s,例如,节点i针对另一节点j或w的信任分数sij或siw
其中,每个数据库被配置成存储节点针对另一节点的定义所述节点之间的直接背书连接的至少一个信任背书值t,例如,节点i针对另一节点j的定义节点i与节点j之间的直接背书连接的信任背书值tij
其中,信任背书值t大于或等于0并且小于或等于1,以及
该计算机实现的方法包括以下步骤:
a)在多个节点中执行流言(gossip)算法,在每个节点中接收至少一个背书消息,并且在每个节点中获得其数据库的更新版本,其中,每个节点中的更新的数据库包括对等网络的至少一个不同节点的信任背书值t’s;例如,节点i的更新的数据库至少包括节点j针对节点w的信任背书值tjw
b)在每个节点中针对其数据库的每个节点基于所述数据库中包含的数据本地计算分配给网络的其他节点的信任分数s;例如,节点i计算分配给节点j和节点w的信任分数sij和siw;以及
c)在每个节点中基于对等网络的所述信任分数(s)的值来本地验证接收到的每个数字签名,其中,由其数据库的至少一个节点发布每个数字签名,在每个节点中获得由网络的各节点发布的各数字签名的不同验证;例如,如果节点i针对节点j的信任分数sij满足特定条件,则由节点j发布并由节点i接收的数字签名将通过验证,以及
d)如果节点的数据库的至少一个信任背书值t存在变化或者存在至少一个新的信任背书值t,则将变化的信任背书值t或者新的信任背书值t发送至每个相邻节点并执行步骤a),或者
e)如果在对等网络中删除节点或添加新节点,则执行步骤a)。
本发明的方法定义了两种网络。第一类型的网络是其中实现对等网络的连接网络。连接网络可以是无线网络或有线网络或两者的组合,其中,可以实现任何已知的通信协议以及有线和无线技术,以便实现对等网络的节点之间的通信。优选地,网络的所有节点彼此连接。应该将直接与节点连接的节点理解为相邻节点。
节点可以是个人计算机、服务器、智能电话、平板电脑、应用或它们的组合,例如,在这样的设备中执行的应用。应该将包括当程序由计算机执行时使计算机执行节点的功能的指令的计算机程序理解为应用。众所周知,任何所述元素都可以用作对等网络中的客户端或服务器。对等网络的节点被配置成使用允许节点之间交换信息的任何通信协议。
此外,如在第一发明方面中所指示的,流言算法将位于每个节点中的数据库共享给它的邻居,因此,该算法在第一类型的网络即连接网络上运行。
因此,应该将在对等网络的节点上扩散连接的通知的共识协议理解为流言算法。因此,每个节点不断地监听连接网络中的邻居并且在新项目有效的情况下更新其数据库。
第二类型的网络是由背书连接定义的网络。该网络是由每个节点本地定义的背书网络。信任背书值t是基于一个节点与另一个节点的经验的值。优选地,每个背书连接是定向的,即,它基于特定节点与其他节点的经验,信任背书值不一定是对等的。
产生信任背书值t的经验基于所述节点之间共享的数据,例如通信的吞吐量。在此示例中,如果节点提供了节点之间的高通信吞吐量或者从一个节点向另一节点提供的良好服务,则与该服务签约的节点或客户端节点可以对提供该服务的节点或服务器节点进行背书。在其他示例中,经验可以是主观的,即与一个节点的用户的工作经历或对一个节点的用户的个人印象。
根据本发明,连接网络包括至少三个节点i、j和w,其中,背书连接的网络定义:
-定义对等网络的节点i针对另一节点j或w的信任分数sij或siw,并且
-定义对等网络的节点i针对另一节点j的信任背书值tij,信任背书值tij定义节点i与节点j之间的直接背书连接。
结果,信任背书t不是双向的,即tij可能不具有与tji的值相同的值(甚至不存在)。因此,尽管节点通过连接网络或对等网络物理地连接,但是根据节点i的背书连接,节点i的背书网络可能不同于节点j或节点w的背书网络。
因此,根据本发明的方法有利地允许验证没有直接连接至所考虑的节点的节点,即没有信任背书值的节点。换句话说,该方法提供了验证在开始时没有信任路径的节点(即未直接连接在背书网络中的节点)的方式。
检查公共密钥与该节点的身份相关联的过程应该理解为本地验证节点的数字签名。另一方面,验证数字签名被理解为利用节点的公共密钥检查所述消息或签名已经用所述节点的私有密钥进行了签名。
有利地,互连节点的对等网络可以管理信誉和信任度,而无需任何中央验证机构。本发明允许动态和鲁棒的估计,因此网络中的每个节点可以随时改变其背书,并且该变化将以基于流言的方式通过网络传播。
结果,每个节点将能够根据其计算出的信任分数来本地计算其对网络中任何其他节点的信任度。结果,每个节点可以获得对网络的其他节点的不同信任分数。因此,例如,节点i可以验证节点j,但是节点m可以不验证同一节点j。有利地,本发明允许获得比现有技术中已知的方法的验证更严格的验证。
本发明具有以下优点:
-传递性:最终的信任分数是传递性的,即,它们基于从源节点到其他节点的信任路径。
-信任分数的个性化和非一致性:信任分数被特定于网络中节点的直接背书连接。有利地,本发明的方法得到每个节点的特定信任分数,从而使得该方法适用于公共密钥验证问题。
-分散性和可靠性:无需任何中央服务器就可以维护验证管理。连接网络的节点进行自我调节,因此该方法提高了针对故障的鲁棒性。此外,该方法通过基于流言的共识来分散。应当将节点最终达到相同的稳定状态——即,在一定时间间隔后在每个节点的数据库中不执行更新——的对等网络的状态理解为共识。另外,该方法不需要任何工作证明(Proof of Work)或PoW,这提高了本发明的效率。
-信任分数的柔性:本发明的方法提供在0与1之间的真实分数。有利地,每个节点对它们可以信任某个公共密钥的程度实现定量估计。
在特定实施方式中,相对于步骤a)以并行方式执行步骤b)至步骤e)。该实施方式应被理解为:即使当前正在执行步骤a),也独立地执行步骤b)至e)。如上所述,本发明的方法提出了两个级别的网络,即代表以对等方式连接的节点的连接网络以及代表节点之间的背书关系的背书网络。在该实施方式中,该方法包括两个并行的处理:基于流言的背书共识,以及信任分数的本地计算。
因此,并行执行步骤a)和b)允许每个节点可以独立于节点的数据库的状态来本地计算每个节点的信任分数。
有利地,这些实施方式允许节点的有效性的计算独立于其他节点,因此,所述计算不影响其他节点。因此,在流言算法运行时,节点不必始终处于相同状态。因此,即使尚未在对等网络中实现共识,每个节点也被配置成随着数据库的增长而执行计算。
在特定实施方式中,每个节点包括至少一个公共和私有节点密钥对以及对等网络的其余节点的公共密钥,其中,公共和私有节点密钥对是与每个节点相关的公共密钥和私有密钥。每个背书消息包括至少一个信任背书值t,与每个信任背书值t相关联的索引值和背书签名。另外,背书签名用发送至少一个背书消息的节点的私有密钥或sk签名。优选地,所述背书签名是所述背书消息的签名。此外步骤a)的流言算法包括以下步骤:
a.1在每个节点中监听网络的其他节点并检测来自所述其他节点的至少一个背书消息;以及
a.2对于每个检测到的背书消息:
a.2.1用所述其他节点的公共密钥验证背书签名;
a.2.2数据库中是否已经存在背书消息的至少一个信任背书值t,以及背书消息的相关联索引是否高于数据库的索引,从而更新数据库中的信任背书值t,
a.3将与更新后的信任背书值t相关联的索引值增加1,并用节点的私有密钥对数据库的所述至少一个信任背书值t和增加的索引进行签名,从而获得背书消息;
a.4与每个相邻节点共享背书消息。
公共和私有节点密钥对应当被理解为在非对称密码术中使用的公共密钥和私有密钥。
在初始状态下,由于与网络的其他节点的定义直接背书连接的直接经验,每个节点的数据库优选地仅包括信任背书值。当执行流言算法时,利用连接网络的其他节点的信任背书来更新数据库。在某个时刻,每个节点的数据库包括
·由于与网络的其他节点的定义直接背书连接的直接经验而产生的信任背书值,以及
·从其他节点接收的背书数据。
如果该节点不具有与对等网络的其他节点的任何直接经验,则其数据库可能是空的,被理解为孤立节点。当执行流言算法时,其数据库将被更新,从而包括从其他节点接收的背书数据。然而,在所述孤立节点建立与任何其他节点的直接经验的情况下,信任背书值t将被包括在其数据库中,并且这种节点将也使用流言算法来发送其信任背书值t。
在特定实施方式中,在步骤a.2.2)与a.3)之间,步骤a)的流言算法还包括:至少一个信任背书值t是否是新的,从而将检测到的信任背书添加到数据库中。
在特定实施方式中,在方法的步骤d)中,发送的步骤还包括:
-将索引与变化的信任背书值t或新的信任背书值t相关联,
-用节点的私有密钥对数据库的变化的信任背书值t或新的信任背书值t和相关联的索引进行签名,从而获得背书信息;
-与每个相邻节点共享背书消息。
以上实施方式定义流言算法。贯穿整个文件,流言算法将被理解为每个节点的签名的信任背书值t's的扩散。因此,每个节点不断地监听其邻居,并且在有效的新信任背书的情况下更新其数据库,并且节点最终达到稳定状态,即,在一定时间间隔之后在每个节点的数据库中不执行更新。然而,对等网络在执行算法期间不必处于相同状态,而是替代地,对等网络的每个节点包括最终将导致所述稳定状态的数据库的动态状态或版本。有利地,由于流言算法的性质,不需要验证数据库的信任背书值的因果关系,并且不存在任何双重开销,这提高了本发明的方法的效率。
在特定实施方式中,在每个节点i中基于包含在其自己的数据库中的数据来本地计算分配给网络的其他节点的至少一个信任分数s的步骤包括:
-本地获得节点的至少一个直接背书连接和/或间接背书连接,其中,两个节点之间的间接背书连接由通过至少一个节点的多个直接背书连接的级联建立,
-如果存在直接背书连接,则将信任分数s设置为:
s=t。
在特定实施方式中,通过由所述节点运行广度优先搜索或深度优先搜索来执行本地获得节点的至少一个直接背书连接和/或间接背书连接的步骤。
在特定实施方式中,如果存在间接背书连接,其中,如果在执行了本地计算的步骤的节点与其他节点之间的背书连接不同于直接背书连接和间接背书连接,例如不存在任何背书连接,则在每个节点中本地计算至少一个信任分数s的步骤还包括:
-将所述两个节点之间的信任背书值t设置为默认信任背书值td,优选地td为0.4,以及
其中,如果在执行了本地计算的步骤的节点与其他节点之间的背书连接不同于直接背书连接,则在每个节点中本地计算至少一个信任分数s的步骤还包括将以下等式迭代一定迭代次数n_max,
Figure BDA0002712078380000081
其中,
其中,Φ(sik;n)是0与1之间的单调递增函数,其基于:
Figure BDA0002712078380000082
其中,当
Figure BDA0002712078380000083
趋向于无限大时,Φ(sik;n)的极限趋向于1,以及
Figure BDA0002712078380000084
为0时,函数Φ(sik;n)为0,
其中,β是整数,β优选地为1与6之间的数,
i是本地执行计算的节点,
j是与节点k具有直接背书连接的节点,
k是与节点i具有间接背书连接的节点,
sik;n是在迭代n中由节点i给节点k的信任分数,其中sik,0等于0.5,
V是对等网络的节点的集合,
如果从节点j到节点k没有直接背书连接,则ajk为0,
如果存在直接背书连接,则akj为1,
α是正实数,
∈为正数,优选地为十至负八。
在特定实施方式中,Φ(sik;n)由以下表达式计算:
Figure BDA0002712078380000091
其中η是整数。
在特定实施方式中,如果等式的迭代是第n次迭代,则设置sik=sij;n和/或对该等式进行迭代,直到满足以下条件,
Figure BDA0002712078380000092
其中δ是正实数,优选地是0.005,并且设置
sik=sij;n+1
在上述实施方式中,节点i的直接背书连接应当理解为从节点i到对等网络的其他节点的背书连接,据此节点i具有信任背书值tix,其中,x可以是对等网络的任何节点。因此,信任背书值是单向的,即节点i可以验证节点j,而不会由于节点i的验证而强制或要求节点j验证节点i。
例如,如果对等网络的节点是节点i、j、w、y或z,并且节点i在其数据库中包括tij和tiw,则确定在节点i与节点j和w之间分别存在直接背书连接。然而,由于在节点i的数据库中没有tiz,因此确定节点i与节点z之间没有直接的背书连接。
按照后一示例,另一方面,在节点w与节点z之间存在直接背书连接(节点w在其数据库中包括twz)或者节点j与节点z之间存在直接背书连接(节点j在其数据库中包括tjz)或者这两者的情况下,确定节点i具有与节点z的间接背书连接,因为背书连接是由通过至少一个节点的多个直接背书连接的级联来建立的。
在确定了来自节点w与节点z之间的部分的节点w与节点z之间的直接背书连接的情况下,多个直接背书连接是从节点i到节点w的直接背书连接和从节点w到节点z的直接背书连接。
在节点j与节点z之间的直接背书连接的情况下,多个直接背书连接是从节点i到节点j的直接背书连接和从节点j到节点z的直接背书连接。
在节点w与节点z之间以及节点j与节点z之间存在直接背书连接的情况下,存在以下直接背书连接:
-从节点i到节点w的直接背书连接和从节点w到节点z的直接背书连接,以及,
-从节点i到节点j的直接背书连接和从节点j到节点z的直接背书连接。
因此,节点i知道节点j、w、y和z的存在,因为上述节点由于在对等网络中使用的通信协议而在这种类型的网络中连接。然后,在获得节点i的至少一个直接背书连接和/或间接背书连接之后,定义节点i的背书网络。优选地,使用广度优先搜索或深度优先搜索。
另外,当设置了默认信任背书值时,创建新的默认直接背书连接。默认的直接背书连接类似于直接背书连接,但是它不是基于节点之间的经验。
此外,η的值允许为节点的外部验证设置最小数目,而不需要直接背书连接或间接背书连接来影响通过间接背书连接连接的节点的直接背书连接的验证。有利地,该实施方式提高了该方法的精度。
在该示例中,节点i的背书网络如下:
-节点i具有与节点j和节点w的直接背书连接。
-节点i具有与节点z的间接背书连接。
-在设置默认信任背书值之前,节点i不具有与节点y的背书连接,但是节点i知道节点y的存在(节点y被识别为与节点i隔离)。在设置了节点i与节点y之间的默认信任背书值tiy之后,节点i具有与节点y的默认直接背书连接。以同样的方式,如果节点y具有与节点z的直接背书连接,则由于与节点y的默认直接背书连接以及节点y与节点z之间的直接背书连接,节点i将具有与节点z的默认的间接背书连接。
在一个实施方式中,n_max是以下两者之间的值:
Figure BDA0002712078380000111
Figure BDA0002712078380000112
其中V是对等网络的所有节点的数量,并且Ni是节点i具有直接背书连接的节点的数量。在上述示例中,V是5并且Ni是2,因此n_max在以下两者之间:
Figure BDA0002712078380000113
Figure BDA0002712078380000114
在特定实施方式中,本地验证至少一个节点的步骤包括:设置阈值,并且将所述阈值与由每个节点分配给每个其他节点的所述至少一个信任分数s的值进行比较。
该实施方式允许为节点的用户定义其验证的级别。例如,如果节点使用其他节点进行低安全性操作例如观看视频,则该节点可以降低其他节点的阈值,并且另外,如果节点使用其他节点进行高安全性操作例如银行交易,则所述节点可以增加其他节点的阈值。有利地,该实施方式增加了该方法的通用性和灵活性。
在第二发明方面,本发明提供了数据处理系统,包括用于执行第一发明方面的任何实施方式的方法的步骤的装置。
在第三发明方面中,本发明提供了一种计算机程序产品,其包括指令,所述指令在由计算机执行程序时使计算机执行第一发明方面的任何实施方式的方法的步骤。
在第四发明方面中,一种计算机可读存储介质,其包括指令,所述指令在由计算机执行时使计算机执行第一发明方面的任何实施方式的方法的步骤。
除了这些相互排斥的特征和/或步骤的组合以外,本说明书(包括权利要求、说明书和附图)中描述的所有特征和/或所描述的方法中的所有步骤可以以任何组合的方式进行组合。
附图说明
参照附图,鉴于根据本发明的优选实施方式将变得明显的本发明的详细描述,将清楚地理解本发明的这些特征和优点以及其他特征和优点,本发明的优选实施方式仅作为示例给出而不限于此。
图1:该图示出了在本发明的方法中使用的对等网络的示例。
图2:该图示出了在本发明的方法中使用的对等网络的节点的数据库。
图3a至图3c:这些图示出了在流言算法的执行期间至少一个节点的数据库的演变。
图4a至图4c:这些图示出了根据图3a至图3c所示的演变流言算法的节点的背书网络的演变的示例。
图5a:该图示出了节点2的数据库的变化。
图5b:该图示出了由于图5a所示的变化引起的节点0的数据库的演变。
图5c:该图示出了由于图5a所示的变化引起的节点0的背书网络中的更新。
具体实施方式
如本领域技术人员将理解的,本发明各方面可以实施为系统、方法或计算机程序产品。
实现了对等网络的连接网络
如所指示的,本发明的方法定义了两个网络。第一类型的网络是其中实现对等网络的连接网络。下面将说明第二类型的网络,即背书网络。图1的示例示出了连接网络的示例。
图1示出了对等网络(100)的示例。该示例的对等网络(100)包括八个节点(110),即节点0至节点7,并且它们之间以客户端服务器结构连接。在这个示例中,任何所述节点(110)可以充当客户端或服务器。
在这部分中,使用图1的对等网络(100)说明了本发明的示例性计算机实现的方法。在该示例中,步骤b)至步骤e)相对于步骤a)以并行的方式执行。在其他兼容的示例中,步骤b)至步骤e)还可以由节点自行决定来执行。因此,不需要等待方法的步骤a)的结束。
在下文中,其中实现对等网络的连接网络应当被理解为物理网络。在图1所示的特定示例中,描绘了两个物理相关网络。
如图1所示,节点0至节点3和节点7物理上位于第一物理网络中,而节点4至节点6物理上位于第二物理网络中。第一物理网络和第二物理网络通过因特网(101)连接,特别是通过节点1和节点4连接。节点(110)之间的连接可以是无线的或有线的。在该示例中,通过因特网(101)的连接包括无线(102)连接和有线(103)连接。优选地,有线连接(103)通过广域网(WAN)执行。
根据该示例,节点0的相邻节点(110)是具有直接背书连接的节点(110),即节点1和节点2,而节点2的相邻节点(110)是节点0和节点3,对于对等网络(100)的其余节点(110),以此类推。
在流言算法的执行期间节点的数据库的演变。
图2示出了节点0(110)的数据库(200)的内容的示例。在这个示例中,节点0(110)包括数据库(200),该数据库具有节点0(110)的公共和私有节点密钥对(pk0,sk0)以及网络(100)的其余节点(110)的公共密钥(pk1,pk2,pk3,pk4,pk5,pk6,pk7)。公共和私有节点密钥对是与每个节点(110)相关的公共密钥或pk以及私有密钥或sk。
应当理解,数据库的演变是通过在节点上传播信任背书的变化来实现的。作为流言算法的结果,该变化以基于流言的方式通过网络传播。
此外,数据库(200)包括基于节点与所述其他节点(110)的经验的节点(110)的至少一个信任背书值t。此外,由于本发明的方法实现流言算法以覆盖没有所述经验的情况,因此数据库(200)还可以相应地包括信任背书(201)。
图2示出了在图1的网络中实现流言算法的第一步骤之后节点0的数据库(200)的状态,或者在特定时间步处的这种数据库的状态。
根据这个示例,节点0与节点1和节点2具有先前经验。为此,节点0已经为这些节点1和2中的每一个设置了信任背书值t。特别地,节点0对节点1的信任背书值或t01是0.9,节点0对节点2的信任背书值或t02是0.2。这意味着节点0设置了节点1的签名比节点2的签名更有效或更可信。换句话说,可以说,节点0对节点1的信任比对节点2的信任更多,或者与验证节点2的数字签名相比,节点0以更大的置信度验证节点1的数字签名。
此外,由于流言算法的第一步,节点0已经从节点1和节点2接收到两个背书消息(201)。来自节点1的背书消息(201)包括:
-指示其数据库的版本的索引(idx),在该示例中值为1。
-节点1对节点2的信任背书值,或t12,以及节点1对节点3的信任背书值,或t13。在该示例中,它们的值分别是0.6和0.1。
-利用节点1的私有密钥sk1生成的节点1的背书签名σ1。节点0可以使用节点1的公共密钥pk1,以检查σ1是否有效。
类似地,来自节点2的背书消息(201)包括:
-索引(idx),在该示例中值为1。
-节点2对节点0的信任背书值或t12等于0.1,以及
-利用节点2的私有密钥sk2生成的节点2的背书签名σ2
在该示例中,每个节点(110)包括公共和私有节点密钥对以及对等网络(100)的其余节点(110)的公共密钥。流言算法包括下述步骤:
a.1在每个节点(110)中监听网络(100)的其他节点(110)并检测来自所述其他节点(110)的至少一个背书消息(201);
a.2对于检测到的至少一个背书消息(201)中的每一个:
a.2.1用所述其他节点(110)的公共密钥验证背书签名σ;
a.2.2数据库(200)中是否已经存在背书消息(210)的至少一个信任背书值t,并且背书消息(210)的相关联索引(idx)是否高于数据库(200)的索引(idx),从而更新数据库(200)中的信任背书值t,
信任背书值t是否是新的,从而将检测到的信任背书(201)添加到数据库(200)中,
a.3将与更新后的信任背书值t相关联的索引(idx)值增加1,并用节点(i)的私有密钥对所述至少一个信任背书值t和数据库(200)的增加的索引(idx)进行签名,从而获得背书消息(201);
a.4与每个相邻节点(110)共享背书消息(201)。
另外,在该示例中,在发送的步骤d)中还包括:
-将索引(idx)与改变的或新的信任背书值t相关联,
-用节点(110)的私有密钥对数据库(200)中变化的或新的信任背书值t和相关联的索引(idx)进行签名,从而获得背书信息(201);
-与每个相邻节点(110)共享背书消息(201)。
在连接网络(100)中执行流言算法。图2a至图2c示出了包括在节点(110)中的数据库(200)的内容的演变的示例。在下文中,将更具体地说明所述附图。
方法流言算法的步骤a):初始状态(图3a)
图3a示出了在应用流言算法之前每个节点的数据库(200)的内容。在该示例中,每个节点(110)的数据库包括以下值:
-节点0:t01=0.9并且t02=0.1。
-节点1:t13=0.6并且t12=0.1。可以理解,信任背书值t不是相互的,即,尽管节点0具有节点1的信任背书值t01,但是不要求节点1具有节点0的对应信任背书值。另外,信任背书值不需要直接物理连接,如在节点1对节点2的信任背书值t12的情况下所示的。
-节点2:t20=0.9。可以理解,节点0针对节点2设置了低信任背书值t02,然而节点2针对节点0设置了高信任背书值t20,因此,对于每个节点,信任背书值t是本地独立值。
-节点3:t31=0.9并且t37=0.5。
-节点4:t46=0.8。
-节点5:t56=0.9。
-节点6:t65=0.7。
-节点7:无。
在这种意义上,低信任背书值被理解为更接近于0而不是1,而高信任背书值被理解为更接近于1而不是0。
流言算法:第一状态(图3b)
图3b示出了在应用流言算法的第一次迭代之后每个节点的数据库(200)的内容。该状态表示当每个节点从其直接相邻节点(110)接收到背书消息(201)时的每个数据库(200)的情况。为了简单起见,下面仅评论在节点0中执行的流言算法的步骤:
a.1节点0(110)监听网络的其他节点(110),并检测来自所述其他节点(110)的背书消息(201);
a.2节点0(110)检测到两个背书消息(201)。所述背书消息(201)包括:
-节点1的背书签名(σ1)、节点1的信任背书值t13和t12以及相应的索引(idx),以及
-节点2的背书签名(σ2)、节点2的信任背书值t20以及相应的索引(idx)。
a.2.1节点0用其数据库(200)的公共密钥pk来验证每个背书签名(σ12)。在使用所有公共密钥和非对称密码算法之后,节点0正确地验证了背书消息(201)分别属于节点1和节点2,因为它们分别用节点1和节点2的私有密钥或者pk1和pk2进行了签名。在背书签名σ无效的情况下,删除对应的信任背书。
a.2.2当两个背书消息(201)都对应于新节点(110)时,节点0将信任背书值t’s添加到数据库(200)中。
a.3将与更新后的信任背书值t’s相关联的索引(idx)值增加1,并用节点0的私有密钥对所述至少一个信任背书值t和数据库(200)的增加的索引(idx)进行签名,从而获得背书消息(201)。
初始索引(idx)值是一,因此在该示例中,在通过添加检测到的信任背书来更新数据库之后,索引(idx)具有值二。然后,节点0使用其私有密钥pk0创建背书消息(201)的背书签名σ0
a.4最后,节点0与每个相邻节点(110)——在这种情况下是节点1和节点2——共享背书消息(201)。
下面,示出了在该第一状态结束时存储在每个节点(110)的每个数据库中的信任背书值t,如图3b所示:
-节点0:t01=0.9,t02=0.1,t13=0.6,t12=0.1,并且t20=0.9。
-节点1:t13=0.6,t12=0.1,t01=0.9,t02=0.1,t46=0.8,t31=0.9并且t37=0.5。
-节点2:t20=0.9,t01=0.9,t02=0.1,t31=0.9并且t37=0.5。
-节点3:t31=0.9,t37=0.5,t13=0.6,t12=0.1并且t20=0.9。
-节点4:t46=0.8,t13=0.6,t12=0.1,t56=0.9并且t65=0.7。
-节点5:t56=0.9,t46=0.8并且t65=0.7。
-节点6:t65=0.7,t46=0.8并且t56=0.9。
-节点7:t31=0.9并且t37=0.5。
流言算法:数据库的稳定状态(图3c)
图3c示出了在应用了流言算法大量的迭代次数(从而获得节点(110)的数据库(200)的稳定状态,即共识(consensus)状态)之后节点0的数据库(200)的内容。图3c示出了迭代次数1000,因此索引值(idx)是1000。
应当注意,在整个说明书中,时间步和迭代将被理解为等效术语。
下面,示出了在稳定状态下存储在每个节点(110)的每个数据库中的信任背书值t:
-节点0:t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t31=0.9,t37=0.5,t46=0.8,t56=0.9以及t65=0.7。
-节点1:t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t31=0.9,t37=0.5,t46=0.8,t56=0.9以及t65=0.7。
-节点2:t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t31=0.9,t37=0.5,t46=0.8,t56=0.9以及t65=0.7。
-节点3:t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t31=0.9,t37=0.5,t46=0.8,t56=0.9以及t65=0.7。
-节点4:t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t31=0.9,t37=0.5,t46=0.8,t56=0.9以及t65=0.7。
-节点5:t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t31=0.9,t37=0.5,t46=0.8,t56=0.9以及t65=0.7。
-节点6:t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t31=0.9,t37=0.5,t46=0.8,t56=0.9以及t65=0.7。
-节点7:t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t31=0.9,t37=0.5,t46=0.8,t56=0.9以及t65=0.7。
因此,在稳定状态下,网络(100)的节点(101)的所有数据库包括相同的信任背书值t。
该方法的步骤b)和步骤c)
在这一部分中,描述了节点0在其数据库(200)的不同状态下,即在流言算法的执行的不同时间步处的本地计算和本地验证。对于节点(110)1至7,也同样地执行本地计算和本地验证。在该示例中,由节点0对其数据库(200)的每个节点(110)执行的本地验证基于计算出的节点0对其余节点的信任分数。为了提高清楚度,可以将其余节点(110)称为节点j,因此要计算的信任分数是s0j
特别地,设置阈值thrsh,并且将阈值thrsh与由每个节点分配给每个其他节点的所述至少一个信任分数s0j的值进行比较,如果s0j高于thrsh,则该节点被验证。在该示例中,thrsh是0.5。因此,节点0获得对等网络(100)的每个节点(110)即节点1至节点7的每个数字签名的不同验证。
在该示例中,如下执行本地计算:
-在节点0中进行广度优先搜索,从而获得节点0的至少一个直接背书连接和/或间接背书连接,其中,两个节点之间的间接背书连接由通过至少一个节点的多个直接背书连接的级联来建立,
-如果存在直接背书连接,则将信任分数s0j设置为:
s0j=t0j
-如果在执行了本地计算的步骤的节点i与其他节点例如节点y之间的背书连接不同于直接背书连接和间接背书连接:
则将所述两个节点之间的信任背书值设置为默认信任背书值td,优选为0.4,即:
t0y=td=0.4
-如果在执行了本地计算的步骤的节点和其他节点之间的背书连接不同于直接背书连接,则将以下等式迭代一定迭代次数n_max,
对于从0到n_max的n:
Figure BDA0002712078380000181
其中,
Φ(sik;n)由以下表达式计算:
Figure BDA0002712078380000182
其中β和η等于4,
i是计算被本地执行的节点(110),在该示例中,i对应于0。
j是与节点k具有直接背书连接的节点。
k是与节点i具有间接背书连接的节点(110)。
sik;n是在迭代n中由节点i给节点k的信任分数,其中sik,0等于0.5。
V是对等网络(100)的节点(110)的集合。
如果从节点j到节点k没有直接背书连接,则ajk为0。
如果存在直接背书连接,则akj为1。
∈优选地为10-8
α优选地为0.7。
-对该等式进行迭代,直到满足以下条件,
Figure BDA0002712078380000191
其中,δ为0.005,并且如果满足条件,则设置
sik=sij;n+1
并且
-如果等式的迭代是第n次迭代,则设置
sik=sij;n
在该示例中,n_max是以下两者之间的值:
Figure BDA0002712078380000192
Figure BDA0002712078380000193
其中,Ni是节点i的具有直接连接的节点的数量。
在初始状态下执行该方法的步骤b)和c)
在该部分中,在应用流言算法之前,在图3a所示的节点0的数据库(200)的初始状态下,在节点0中对其余节点1到7进行本地计算和验证。
在初始状态下,节点0的数据库(200)是t01=0.9并且t02=0.1。这定义了图4a中所示的节点0的背书网络。在该初始状态下节点0的背书网络包括到节点1和节点2的两个直接背书连接,因此节点0中的本地计算如下执行:
s01=t01=0.9
s02=t02=0.1
由于其余节点3至7没有任何背书连接,因此节点0将节点0与节点3到节点7之间的信任背书值设为默认信任背书值td
t03=td=0.4
t04=td=0.4
t05=td=0.4
t06=td=0.4
t07=td=0.4
在图4a中,可以用虚线箭头理解默认直接背书连接。然后,迭代上述等式直到n_max。n_max是以下之间的值:
Figure BDA0002712078380000204
Figure BDA0002712078380000205
因此,
Figure BDA0002712078380000206
Figure BDA0002712078380000207
因此,在该示例中,n_max是20。
在这种情况下,节点0与节点3之间没有任何直接背书连接或间接背书连接。因此,节点0对节点3的信任分数计算如下:
s03;0=0.5
Figure BDA0002712078380000201
关于
Figure BDA0002712078380000202
分子为:
Figure BDA0002712078380000203
并且分母为:
Figure BDA0002712078380000211
由于:
-t03为0.4,t33为1以及t13、t23和t43至t63为0,以及
-a03为1,并且其余值为0,
Φ(s03;0)为:
Figure BDA0002712078380000212
并且
Figure BDA0002712078380000213
计算如下:
Figure BDA0002712078380000214
因此
s03;1=0.7·0.5+0.3·0.43=0.48
在该实施方式中,sii等于1,因为节点将总是具有其自身的最高验证。在该实施方式中,由于数据库(200)是恒定的,因此值是相同的,并且因此,s03;20为0.48。
可以理解,即使不存在与节点的直接或间接连接,也考虑其他节点关于所述节点的验证。类似地,对于等于0.48的其余信任分数s04至s07也适用。
然后,节点0本地验证对等网络(100)的每个节点(110):
-节点1:s01>thrd,0.9大于0.5?因此,节点1的数字签名对于节点0是有效的。
-节点2:s02>thrd,0.1大于0.5?因此,节点2的数字签名对于节点0是无效的。
-节点3:s03>thrd,0.48大于0.5?因此,节点3的数字签名对于节点0是无效的。
类似地,对于其余信任分数s04至s07也适用。
在第一状态下执行方法的步骤b)和c)
在这一部分中,示出了节点0对节点1到节点7的数字签名的本地计算和验证。特别地,示出了流言算法的节点0的数据库(200)的第一状态下的本地计算和验证。在图3b中示出节点0的数据库的第一状态。当分析特定状态时,数据库(200)是恒定的,并且在迭代期间数据库(200)将不改变。
图4b示出了由图3b的节点0的数据库(200)的第一状态定义的背书网络。可以理解,由于存在信任背书值t01和t02,节点0具有与节点1和节点2的两个直接背书连接。
另外,存在通过至少一个节点的多个直接背书连接的级联。特别地,存在通过节点1的两个直接背书连接:
-从节点0到节点1,以及
-从节点1到节点3。
因此,节点0具有与节点3的间接背书连接。对于节点4到节点7,没有任何背书连接。因此,在第一阶段,节点0中的本地计算如下执行:
-节点0的数据库(200):节点0:t01=0.9,t02=0.1,t13=0.6,t12=0.1并且t20=0.9。
-节点1和节点2的直接背书连接:
s01=t01=0.9
s02=t02=0.1
-由于其余节点4至7没有任何背书连接,因此节点0将节点0与节点4到节点7之间的信任背书值设为默认信任背书值td
t04=td=0.4
t05=td=0.4
t06=td=0.4
t07=td=0.4
在图4b中,可以用虚线箭头理解默认直接背书连接。在这种情况下,在节点0与节点3之间存在间接背书连接。因此,如在前面部分中所评论的,然后,迭代以上等式直到n为20:
s03;0=0.5
Figure BDA0002712078380000231
由于:
-t13为0.6,t33为1,以及t13、t23和t43至t63为0,以及
-a13为1,并且其余值为0,
Φ(s03;0)为
Figure BDA0002712078380000232
并且
Figure BDA0002712078380000233
计算如下:
Figure BDA0002712078380000234
因此
s03;1=0.7·0.5+0.3*1.25=0.73
在该实施方式中,由于数据库(200)是恒定的,因此值是相同的,并且因此,s03;20是0.73。由于节点0相对于节点4至节点7的背书网络类似于图4a的背书网络,因此信任分数s04到s07如先前部分中所示等于0.48。
然后,节点0本地验证对等网络(100)的每个节点(110):
-节点1:s01>thrd,0.9大于0.5?因此,节点1的数字签名对于节点0是有效的。
-节点2:s02>thrd,0.1大于0.5?因此,节点2的数字签名对于节点0是无效的。
-节点3:s03>thrd,0.73大于0.5?因此,节点3的数字签名对于节点0是有效的。
类似地,对于其余信任分数s04至s07也适用。
在稳定状态下执行方法的步骤b)和c)
在该部分中,示出了在应用流言算法之后在节点0的数据库(200)的稳定状态下节点0对节点1到节点7的数字签名的本地计算和验证。在图3c中示出节点0的数据库的稳定状态。当分析特定状态时,数据库是恒定的,并且在迭代期间数据库将不改变。
图4c示出了由图3b的节点0的数据库的稳定状态定义的背书网络。可以理解,由于存在信任背书值t01和t02,节点0具有与节点1和节点2的两个直接背书连接。另外,可以理解,由于值t45和值t54,节点4与节点5之间存在双向线路。
另外,存在与节点3和节点7的两个间接背书连接:
-与节点3的间接背书连接:通过一个节点,即通过节点1的多个直接背书连接的级联:从节点0到节点1以及从节点1到节点3。
-与节点7的间接背书连接:通过两个节点,即通过节点1和节点3的多个直接背书连接的级联:从节点0到节点1、从节点1到节点3并且从节点3到节点7。
-节点0的数据库(200):t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t31=0.9,t37=0.5,t46=0.8,t56=0.9以及t65=0.7。
-节点1和节点2的直接背书连接:
s01=t01=0.9
s02=t02=0.1
-由于其余节点4至7没有任何背书连接,因此节点0将节点0与节点4到节点7之间的信任背书值设为默认信任背书值td
t04=td=0.4
t05=td=0.4
t06=td=0.4
t07=td=0.4
在图4c中,可以用虚线箭头理解默认直接背书连接。在这种情况下,节点0与节点3之间的间接背书连接与前面部分中所示的间接背书连接类似。因此,如上所述,然后,迭代以上等式直到n为20。
由于:
-t03为0.4,t13为0.6,t33为1,t13、t23和t43至t63为0,以及
-a03和a13为1,并且其余值为0,
因此,它与算法的第一状态类似,Φ(s03;0)和
Figure BDA0002712078380000251
的计算结果与以上步骤中的相同。因此Φ(s03;0)为0.416并且s03;0为0.73。
在该实施方式中,由于数据库(200)是恒定的,因此值是相同的,并且因此,s03;20是0.73。类似地,该方法应用于剩余的信任分数s04至s07。然后,如先前部分中所指示的,节点0本地验证对等网络(100)的每个节点(110)。
同时执行该方法的步骤a)至e)
如所指示的,步骤b)至e)可以相对于步骤a)以并行的方式执行。在其他兼容的示例中,步骤b)至步骤e)还可以由节点自行决定执行。因此,不需要等待方法的步骤a)的结束。在这部分中,示出了所述同时操作的示例。
在该示例中,使用图1的对等网络(100)和图3a的初始条件。因此,节点0的数据库(200)是t01=0.9、t02=0.1、t13=0.6、t12=0.1以及t20=0.9。
在流言算法的第一阶段,在图4b中示出节点的背书网络,并且节点0的信任分数s如以上在图4b的示例中所指示的那样被获得:s01=0.9、s02=0.1、s03;1=0.7、s04=0.5、s05=0.5、s06=0.5、s07=0.5。
对于节点0到节点3的间接背书连接,示出了第一次迭代的计算s03;0
同时,由于其与节点3的经验,节点2设置关于节点3的新的信任背书值,t23=0.7,并且节点4至节点6设置关于节点3的新的信任背书值,t43=t53=t63=0.1。图5a示出了节点2的数据库(200)的更新版本。执行该方法的步骤d),并且节点2将改变的信任背书值t发送至每个相邻节点(110),并且在多个节点(110)中执行流言算法,即,再次执行该方法的步骤a)。
在该示例中,节点2向它们的相邻节点0和节点3发送以下背书消息(201):
-t20=0.1σ2;索引=2,
-t23=0.7σ2;索引=2,
-t01=0.9σ2;索引=2,
-t02=0.1σ2;索引=2,
-t31=0.6σ2;索引=2,
-t37=0.1σ2;索引=2。
节点0检测来自节点2的新的信任背书(201),并执行流言算法的步骤a.2至a.4,以更新其数据库(200)。在流言算法期间,节点0丢弃信任的起源是节点0的信任背书值,即t01、t02。类似地,节点4发送指示来自节点4至节点6的新的信任背书值的类似背书消息(201)。因此,节点0的数据库(200)及其背书网络分别如图5b和图5c所示被更新。
然后,节点0具有与节点3的两个间接背书连接,一个间接背书连接通过节点1,而另一个间接背书连接通过节点2。因此,信任分数s03的本地计算的第二次迭代如下执行:
-节点0的数据库(200):节点0:t01=0.9,t02=0.1,t13=0.6,t12=0.1,t20=0.9,t23=0.7并且t43=t53=t63=0.1。
-节点1和节点2的直接背书连接:
s01;1=t01=0.9
s02;1=t02=0.1
-由于其余节点4至7没有任何背书连接,因此节点0将节点0与节点4到节点7之间的信任背书值设为默认信任背书值td
t04=td=0.4
t05=td=0.4
t06=td=0.4
t07=td=0.4
-在第一次迭代中计算的信任分数:
s03;1=s04;1=s05;1=s06;1=s07;1=0.48。
因此,如图5c中可以理解的,在节点0至节点3之间存在通过节点4至节点6的三个默认背书连接。由于在节点0与节点3之间存在不同于直接背书连接的背书连接,所以信任分数s03的本地计算的第二次迭代如下执行:
Figure BDA0002712078380000271
由于:
-t13为0.6,t23为0.7,t33为1,t43、t53、t63为0.1并且t03为0,
-a13,a23,a43,a53和a63为1并且其余值是0,
-s03;1=s04;1=s05;1=s06;1=s07;1=0.48,
Φ(s03;1)为
Figure BDA0002712078380000272
并且
Figure BDA0002712078380000273
计算如下:
分子为:
Figure BDA0002712078380000274
并且分母为:
Figure BDA0002712078380000275
Figure BDA0002712078380000281
因此
s03;2=0.7·0.48+0.3*0.52=0.49
可以理解,即使节点1关于节点4的验证值高,节点4至节点6关于节点3的低验证值在计算中也受到影响。
然后,检查以下条件:
Figure BDA0002712078380000282
Figure BDA0002712078380000283
Figure BDA0002712078380000284
由于不满足该条件,因此节点0将进行迭代,直到迭代次数20,从而考虑数据库(200)的任何其他变化并且本地验证对等网络(100)的每个节点(110)。
------------------------
在作为“实施方式1”的优选说明性实施方式中,一种用于验证对等网络(100)中的至少一个节点(110)的数字签名的计算机实现的方法,其中,所述网络(100)包括至少三个节点(110),例如节点i、节点j和节点w,
其中,每个节点(110)被配置成存储数据库(200)和至少一个信任分数s,例如,节点(110)i针对另一节点(110)j或w的信任分数sij或siw
其中,每个数据库(200)被配置成存储节点(110)针对另一节点(110)的定义所述节点(110)之间的直接背书连接的至少一个信任背书值t,例如,节点(110)i针对另一节点(110)j的定义所述节点(110)i与所述节点(110)j之间的直接背书连接的信任背书值tij
其中,信任背书值t大于或等于0并且小于或等于1,以及
该计算机实现的方法包括以下步骤:
a)在多个节点(110)中执行流言算法,在每个节点中接收至少一个背书消息(201),并且在每个节点(110)中获得其数据库(200)的更新版本,其中,每个节点(110)中的更新的数据库(200)包括对等网络(100)的至少一个不同节点(110)的信任背书值t’s;
b)在每个节点(110)中针对其数据库(200)的每个节点(110)基于包含在其数据库(200)中的数据来本地计算分配给网络(100)的其他节点(110)的信任分数s;以及
c)在每个节点(110)中基于对等网络(100)的所述信任分数(sij)的值来本地验证其数据库(200)的至少一个节点(110)的每个数字签名,在每个节点(110)中获得网络(100)的每个节点(110)的每个数字签名的不同验证,以及
d)如果节点(110)的数据库(200)的至少一个信任背书值t存在变化或者存在至少一个新的信任背书值t,则将变化的或者新的信任背书值t发送至每个相邻节点(110)并执行步骤a),或者
e)如果在对等网络(100)中添加或删除新节点(110),则执行步骤a)。
“实施方式2”.根据“实施方式1”的计算机实现的方法,其中,相对于步骤a)以并行方式执行步骤b)至步骤e)。
“实施方式3”.根据前述“实施方式”中的任一个的计算机实现的方法,其中,每个节点(110)包括至少一个公共和私有节点密钥对以及对等网络(100)的其余节点(110)的公共密钥,其中,所述公共和私有节点密钥对是与每个节点(110)相关的公共密钥和私有密钥,
其中,至少一个背书消息(201)包括至少一个信任背书值t、与每个信任背书值t相关联的索引值(idx)和背书签名(σ12);以及
其中,用发送至少一个背书消息(201)的节点的私有密钥来对所述背书签名(σ12)进行签名,以及
其中,步骤a)的流言算法包括以下步骤:
a.1在每个节点(110)中监听网络(100)的其他节点(110)并检测来自所述其他节点(110)的至少一个背书消息(201);以及
a.2对于每个检测到的背书消息(201):
a.2.1用所述其他节点(110)的公共密钥验证背书签名(σ12);
a.2.2数据库(200)中是否已经存在背书消息(210)的至少一个信任背书值t,以及背书消息(210)的相关联索引(idx)是否高于数据库(200)的索引(idx),从而更新数据库(200)中的信任背书值t,
a.3将与更新后的信任背书值t相关联的索引(idx)值增加1,并用节点(110)的私有密钥对数据库(200)的所述至少一个信任背书值t和增加的索引(idx)进行签名,从而获得背书消息(201);
a.4与每个相邻节点(110)共享背书消息(201)。
“实施方式4”.根据“实施方式3”的计算机实现的方法,其中,在步骤a.2.2与a.3之间,步骤a)的流言算法还包括:
至少一个信任背书值t是否是新的,从而将检测到的信任背书(201)添加到数据库(200)中。
“实施方式5”.根据“实施方式”3或4中的任一个的计算机实现的方法,其中,在发送的步骤d)中还包括:
-将索引(idx)与变化的或新的信任背书值t相关联,
-用节点(110)的私有密钥对数据库(200)中变化的或新的信任背书值t和相关联的索引(idx)进行签名,从而获得背书信息(201);
-与每个相邻节点(110)共享背书消息(201)。
“实施方式6”.根据前述“实施方式”中的任一个的计算机实现的方法,其中,在每个节点(110)中基于包含在其自己的数据库(200)中的数据来本地计算分配给网络(100)的其他节点(110)的至少一个信任分数s的所述步骤包括:
-本地获得节点(110)的至少一个直接背书连接和/或间接背书连接,其中,两个节点(110)之间的间接背书连接由通过至少一个节点(110)的多个直接背书连接的级联建立,
-如果存在直接背书连接,则将信任分数s设置为
s=t。
“实施方式7”.根据“实施方式6”的计算机实现的方法,其中,通过由所述节点(110)运行广度优先搜索或深度优先搜索来执行本地获得节点(110)的至少一个直接背书连接和/或间接背书连接的步骤。
“实施方式8”.根据“实施方式”6或7中的任一个的计算机实现的方法,其中,如果在执行了本地计算的步骤的节点(110)与其他节点(110)之间的背书连接不同于直接背书连接和间接背书连接,则在每个节点(110)中本地计算至少一个信任分数s的步骤还包括:
-将所述两个节点之间的信任背书值t设置为默认信任背书值td,优选地td为0.4,以及
其中,如果在执行了本地计算的步骤的节点与其他节点之间的背书连接不同于直接背书连接,则在每个节点(110)中本地计算至少一个信任分数s的步骤还包括将以下等式迭代一定迭代次数n_max,
对于从0到n_max的n:
Figure BDA0002712078380000311
其中,
其中,Φ(sik;n)是0与1之间的函数,是基于以下式的单调递增函数:
Figure BDA0002712078380000312
其中,当
Figure BDA0002712078380000313
趋向于无限大时,Φ(sik;n)的极限趋向于1,以及
Figure BDA0002712078380000314
为0时,函数Φ(sik;n)为0,
其中β是整数,β优选地为1与6之间的数,
i是本地执行计算的节点(110),
j是与节点k具有直接背书连接的节点,
k是与节点(110)i具有间接背书连接的节点(110),
sik;n是在迭代n中由节点(110)i给节点(110)k的信任分数,其中sik,0等于0.5,
V是对等网络(100)的节点(110)的集合,
如果从节点(110)j到节点(110)k没有直接背书连接,则ajk为0,
如果存在直接背书连接,则akj为1,
α是正实数,以及
∈为正数,优选地为十到负八。
“实施方式9”.根据前述“实施方式”的计算机实现的方法,其中,Φ(sik;n)根据以下表达式计算:
Figure BDA0002712078380000321
其中η是整数。
“实施方式10”.根据“实施方式”8或9中的任一个的计算机实现的方法,其中,
如果等式的迭代是第n次迭代,则设置
sik=sij;n
以及/或者
对该等式进行迭代,直到满足以下条件,
Figure BDA0002712078380000322
其中,δ是正实数,优选地为0.005,并且设置
sik=sij;n+1
“实施方式11”.根据前述“实施方式”中的任一个的计算机实现的方法,其中,本地验证至少一个节点(110)包括:设置阈值,并且将所述阈值与由每个节点(110)分配给每个其他节点(110)的所述至少一个信任分数s的值进行比较。
“实施方式12”.一种数据处理系统,包括用于执行“实施方式”1至11中的任一个的方法的步骤的装置。
“实施方式13”.一种计算机程序产品,其包括指令,所述指令在由计算机执行程序时使计算机执行“实施方式”1至11中的任一个的方法的步骤。
“实施方式14”.一种计算机可读存储介质,其包括指令,所述指令在由计算机执行时使计算机执行“实施方式”1至11中的任一个的方法的步骤。
权利要求书(按照条约第19条的修改)
1.一种用于验证对等网络(100)中的至少一个节点(110)的数字签名的计算机实现的方法,其中,所述网络(100)包括至少三个节点(110),例如节点i、节点j和节点w,
其中,每个节点(110)被配置成存储数据库(200)和至少一个信任分数s,例如,节点(110)i针对另一节点(110)j或w的信任分数sij或siw
其中,每个数据库(200)被配置成存储节点(110)针对另一节点(110)的定义所述节点(110)之间的直接背书连接的至少一个信任背书值t,例如,节点(110)i针对另一节点(110)j的定义所述节点(110)i与所述节点(110)j之间的直接背书连接的信任背书值tij
其中,所述信任背书值t大于或等于0并且小于或等于1,以及
所述计算机实现的方法包括以下步骤:
a)在多个节点(110)中执行流言算法,在每个节点中接收至少一个背书消息(201),并且在每个节点(110)中获得其数据库(200)的更新版本,其中,每个节点(110)中的更新的数据库(200)包括所述对等网络(100)的至少一个不同节点(110)的信任背书值t’s;例如,所述节点(100)i的更新的数据库(200)至少包括所述节点(100)j针对所述节点(110)w的信任背书值tjw
b)在每个节点(110)中针对其数据库(200)的每个节点(110)基于所述数据库(200)中包含的数据,本地计算分配给所述网络(100)的其他节点(110)的信任分数s;例如,所述节点(110)i计算分配给所述节点(100)j和所述节点(100)w的信任分数sij和siw;以及
c)在每个节点(110)中基于所述对等网络(100)的所述信任分数(s)的值来本地验证接收到的每个数字签名,其中,由所述节点的数据库(200)的至少一个节点(110)发布每个数字签名,在每个节点(110)中获得由所述网络(100)的各节点(110)发布的各数字签名的不同验证;例如,如果节点i针对节点j的信任分数sij满足特定条件,则由节点j发布并由节点i接收的数字签名将通过验证,以及
d)如果节点(110)的数据库(200)的至少一个信任背书值t存在变化或者存在至少一个新的信任背书值t,则将变化的信任背书值t或者所述新的信任背书值t发送至每个相邻节点(110)并执行步骤a),以及
e)如果在所述对等网络(100)中删除节点(110)或添加新节点(110),则执行步骤a)。
2.根据权利要求1所述的计算机实现的方法,其中,相对于步骤a)以并行方式执行步骤b)至步骤e)。
3.根据前述权利要求中的任一项所述的计算机实现的方法,其中,每个节点(110)包括至少一个公共和私有节点密钥对以及所述对等网络(100)的其余节点(110)的公共密钥,其中,所述公共和私有节点密钥对是与每个节点(110)相关的公共密钥和私有密钥,
其中,所述至少一个背书消息(201)包括至少一个信任背书值t、与每个信任背书值t相关联的索引值(idx)以及背书签名(σ12);以及
其中,用发送所述至少一个背书消息(201)的节点的私有密钥来对所述背书签名(σ12)进行签名,以及
其中,步骤a)的所述流言算法包括以下步骤:
a.1在每个节点(110)中监听所述网络(100)的其他节点(110)并检测来自所述其他节点(110)的至少一个背书消息(201);以及
a.2对于每个检测到的背书消息(201):
a.2.1用所述其他节点(110)的公共密钥验证所述背书签名(σ12);
a.2.2所述数据库(200)中是否已经存在所述背书消息(210)的至少一个信任背书值t,以及所述背书消息(210)的相关联索引(idx)是否高于所述数据库(200)的索引(idx),从而更新所述数据库(200)中的所述信任背书值t,
a.3将与所更新的信任背书值t相关联的索引(idx)值增加1,并用所述节点(110)的私有密钥对所述数据库(200)的所述至少一个信任背书值t和增加的索引(idx)进行签名,从而获得背书消息(201);
a.4与每个相邻节点(110)共享所述背书消息(201)。
4.根据权利要求3所述的计算机实现的方法,其中,在步骤a.2.2与步骤a.3之间,步骤a)的所述流言算法还包括:
所述至少一个信任背书值t是否是新的,从而将检测到的信任背书(201)添加到所述数据库(200)中。
5.根据权利要求3或4中的任一项所述的计算机实现的方法,其中,在发送的步骤d)中还包括:
-将索引(idx)与所述变化的信任背书值t或所述新的信任背书值t相关联,
-用所述节点(110)的私有密钥对所述数据库(200)的所述变化的信任背书值t或所述新的信任背书值t和相关联的索引(idx)进行签名,从而获得背书信息(201);
-与每个相邻节点(110)共享所述背书消息(201)。
6.根据前述权利要求中的任一项所述的计算机实现的方法,其中,在每个节点(110)中基于包含在其自己的数据库(200)中的数据来本地计算分配给所述网络(100)的其他节点(110)的至少一个信任分数s的所述步骤包括:
-本地获得节点(110)的至少一个直接背书连接和/或间接背书连接,其中,由通过至少一个节点(110)的多个直接背书连接的级联来建立两个节点(110)之间的间接背书连接,
-如果存在直接背书连接,则将所述信任分数s设置为
s=t。
7.根据权利要求6所述的计算机实现的方法,其中,通过由所述节点(110)运行广度优先搜索或深度优先搜索来执行本地获得节点(110)的至少一个直接背书连接和/或间接背书连接的步骤。
8.根据权利要求6或7中的任一项所述的计算机实现的方法,其中,如果在执行了本地计算的步骤的节点(110)与其他节点(110)之间的背书连接不同于直接背书连接和间接背书连接,则在每个节点(110)中本地计算至少一个信任分数s的步骤还包括:
-将所述两个节点之间的信任背书值t设置为默认信任背书值td,优选地td为0.4,以及
其中,如果在执行了本地计算的步骤的节点与其他节点之间的背书连接不同于直接背书连接,则在每个节点(110)中本地计算至少一个信任分数s的步骤还包括将以下等式迭代一定迭代次数n_max,
对于从0到n_max的n:
Figure FDA0002712078440000041
其中,
其中,Φ(sik;n)是0与1之间的函数,是基于以下的单调递增函数:
Figure FDA0002712078440000042
其中,当
Figure FDA0002712078440000043
趋向于无限大时,Φ(sik;n)的极限趋向于1,以及
Figure FDA0002712078440000044
为0时,函数Φ(sik;n)为0,
其中,β是整数,β优选地为1与6之间的数,
i是本地执行计算的节点(110),
j是与节点k具有直接背书连接的节点,
k是与节点(110)i具有间接背书连接的节点(110),
sik;n是在迭代n中由节点(110)i赋予节点(110)k的信任分数,其中sik,0等于0.5,
V是所述对等网络(100)的节点(110)的集合,
如果从节点(110)j到节点(110)k没有直接背书连接,则ajk为0,
如果存在直接背书连接,则akj为1,
α是正实数,以及
∈为正数,优选地为十到负八。
9.根据前一权利要求所述的计算机实现的方法,其中,根据以下表达式来计算Φ(sik;n):
Figure FDA0002712078440000045
其中,η是整数。
10.根据权利要求8或9中的任一项所述的计算机实现的方法,其中,
如果所述等式的迭代是第n次迭代,则设置
sik=sij;n
以及/或者
对所述等式进行迭代,直到满足以下条件,
Figure FDA0002712078440000051
其中,δ是正实数,优选地是0.005,并且设置
sik=sij;n+1
11.根据前述权利要求中的任一项所述的计算机实现的方法,其中,本地验证至少一个节点(110)包括:设置阈值,并且将所述阈值与由每个节点(110)分配给每个其他节点(110)的所述至少一个信任分数s的值进行比较。
12.一种数据处理系统,包括用于执行权利要求1至11中的任一项所述的方法的步骤的装置。
13.一种计算机程序产品,其包括指令,所述指令在由计算机执行程序时使所述计算机执行权利要求1至11中的任一项所述的方法的步骤。
14.一种计算机可读存储介质,其包括指令,所述指令在由计算机执行时使所述计算机执行权利要求1至11中的任一项所述的方法的步骤。

Claims (14)

1.一种用于验证对等网络(100)中的至少一个节点(110)的数字签名的计算机实现的方法,其中,所述网络(100)包括至少三个节点(110),例如节点i、节点j和节点w,
其中,每个节点(110)被配置成存储数据库(200)和至少一个信任分数s,例如,节点(110)i针对另一节点(110)j或w的信任分数sij或siw
其中,每个数据库(200)被配置成存储节点(110)针对另一节点(110)的定义所述节点(110)之间的直接背书连接的至少一个信任背书值t,例如,节点(110)i针对另一节点(110)j的定义所述节点(110)i与所述节点(110)j之间的直接背书连接的信任背书值tij
其中,所述信任背书值t大于或等于0并且小于或等于1,以及
所述计算机实现的方法包括以下步骤:
a)在多个节点(110)中执行流言算法,在每个节点中接收至少一个背书消息(201),并且在每个节点(110)中获得其数据库(200)的更新版本,其中,每个节点(110)中的更新的数据库(200)包括所述对等网络(100)的至少一个不同节点(110)的信任背书值t’s;例如,所述节点(100)i的更新的数据库(200)至少包括所述节点(100)j针对所述节点(110)w的信任背书值tjw
b)在每个节点(110)中针对其数据库(200)的每个节点(110)基于所述数据库(200)中包含的数据,本地计算分配给所述网络(100)的其他节点(110)的信任分数s;例如,所述节点(110)i计算分配给所述节点(100)j和所述节点(100)w的信任分数sij和siw;以及
c)在每个节点(110)中基于所述对等网络(100)的所述信任分数(s)的值来本地验证接收到的每个数字签名,其中,由所述节点的数据库(200)的至少一个节点(110)发布每个数字签名,在每个节点(110)中获得由所述网络(100)的各节点(110)发布的各数字签名的不同验证;例如,如果节点i针对节点j的信任分数sij满足特定条件,则由节点j发布并由节点i接收的数字签名将通过验证,以及
d)如果节点(110)的数据库(200)的至少一个信任背书值t存在变化或者存在至少一个新的信任背书值t,则将变化的信任背书值t或者所述新的信任背书值t发送至每个相邻节点(110)并执行步骤a),或者
e)如果在所述对等网络(100)中删除节点(110)或添加新节点(110),则执行步骤a)。
2.根据权利要求1所述的计算机实现的方法,其中,相对于步骤a)以并行方式执行步骤b)至步骤e)。
3.根据前述权利要求中的任一项所述的计算机实现的方法,其中,每个节点(110)包括至少一个公共和私有节点密钥对以及所述对等网络(100)的其余节点(110)的公共密钥,其中,所述公共和私有节点密钥对是与每个节点(110)相关的公共密钥和私有密钥,
其中,所述至少一个背书消息(201)包括至少一个信任背书值t、与每个信任背书值t相关联的索引值(idx)以及背书签名(σ12);以及
其中,用发送所述至少一个背书消息(201)的节点的私有密钥来对所述背书签名(σ12)进行签名,以及
其中,步骤a)的所述流言算法包括以下步骤:
a.1在每个节点(110)中监听所述网络(100)的其他节点(110)并检测来自所述其他节点(110)的至少一个背书消息(201);以及
a.2对于每个检测到的背书消息(201):
a.2.1用所述其他节点(110)的公共密钥验证所述背书签名(σ12);
a.2.2所述数据库(200)中是否已经存在所述背书消息(210)的至少一个信任背书值t,以及所述背书消息(210)的相关联索引(idx)是否高于所述数据库(200)的索引(idx),从而更新所述数据库(200)中的所述信任背书值t,
a.3将与所更新的信任背书值t相关联的索引(idx)值增加1,并用所述节点(110)的私有密钥对所述数据库(200)的所述至少一个信任背书值t和增加的索引(idx)进行签名,从而获得背书消息(201);
a.4与每个相邻节点(110)共享所述背书消息(201)。
4.根据权利要求3所述的计算机实现的方法,其中,在步骤a.2.2与步骤a.3之间,步骤a)的所述流言算法还包括:
所述至少一个信任背书值t是否是新的,从而将检测到的信任背书(201)添加到所述数据库(200)中。
5.根据权利要求3或4中的任一项所述的计算机实现的方法,其中,在发送的步骤d)中还包括:
-将索引(idx)与所述变化的信任背书值t或所述新的信任背书值t相关联,
-用所述节点(110)的私有密钥对所述数据库(200)的所述变化的信任背书值t或所述新的信任背书值t和相关联的索引(idx)进行签名,从而获得背书信息(201);
-与每个相邻节点(110)共享所述背书消息(201)。
6.根据前述权利要求中的任一项所述的计算机实现的方法,其中,在每个节点(110)中基于包含在其自己的数据库(200)中的数据来本地计算分配给所述网络(100)的其他节点(110)的至少一个信任分数s的所述步骤包括:
-本地获得节点(110)的至少一个直接背书连接和/或间接背书连接,其中,由通过至少一个节点(110)的多个直接背书连接的级联来建立两个节点(110)之间的间接背书连接,
-如果存在直接背书连接,则将所述信任分数s设置为
s=t。
7.根据权利要求6所述的计算机实现的方法,其中,通过由所述节点(110)运行广度优先搜索或深度优先搜索来执行本地获得节点(110)的至少一个直接背书连接和/或间接背书连接的步骤。
8.根据权利要求6或7中的任一项所述的计算机实现的方法,其中,如果在执行了本地计算的步骤的节点(110)与其他节点(110)之间的背书连接不同于直接背书连接和间接背书连接,则在每个节点(110)中本地计算至少一个信任分数s的步骤还包括:
-将所述两个节点之间的信任背书值t设置为默认信任背书值td,优选地td为0.4,以及
其中,如果在执行了本地计算的步骤的节点与其他节点之间的背书连接不同于直接背书连接,则在每个节点(110)中本地计算至少一个信任分数s的步骤还包括将以下等式迭代一定迭代次数n_max,
对于从0到n_max的n:
Figure FDA0002712078370000041
其中,
其中,Φ(sik;n)是0与1之间的函数,是基于以下的单调递增函数:
Figure FDA0002712078370000042
其中,当
Figure FDA0002712078370000043
趋向于无限大时,Φ(sik;n)的极限趋向于1,以及
Figure FDA0002712078370000044
为0时,函数Φ(sik;n)为0,
其中,β是整数,β优选地为1与6之间的数,
i是本地执行计算的节点(110),
j是与节点k具有直接背书连接的节点,
k是与节点(110)i具有间接背书连接的节点(110),
sik;n是在迭代n中由节点(110)i赋予节点(110)k的信任分数,其中sik,0等于0.5,
V是所述对等网络(100)的节点(110)的集合,
如果从节点(110)j到节点(110)k没有直接背书连接,则ajk为0,
如果存在直接背书连接,则akj为1,
α是正实数,以及
∈为正数,优选地为十到负八。
9.根据前一权利要求所述的计算机实现的方法,其中,根据以下表达式来计算Φ(sik;n):
Figure FDA0002712078370000045
其中,η是整数。
10.根据权利要求8或9中的任一项所述的计算机实现的方法,其中,
如果所述等式的迭代是第n次迭代,则设置
sik=sij;n
以及/或者
对所述等式进行迭代,直到满足以下条件,
Figure FDA0002712078370000051
其中,δ是正实数,优选地是0.005,并且设置
sik=sij;n+1
11.根据前述权利要求中的任一项所述的计算机实现的方法,其中,本地验证至少一个节点(110)包括:设置阈值,并且将所述阈值与由每个节点(110)分配给每个其他节点(110)的所述至少一个信任分数s的值进行比较。
12.一种数据处理系统,包括用于执行权利要求1至11中的任一项所述的方法的步骤的装置。
13.一种计算机程序产品,其包括指令,所述指令在由计算机执行程序时使所述计算机执行权利要求1至11中的任一项所述的方法的步骤。
14.一种计算机可读存储介质,其包括指令,所述指令在由计算机执行时使所述计算机执行权利要求1至11中的任一项所述的方法的步骤。
CN201980024252.9A 2018-04-05 2019-04-04 用于验证节点的方法 Pending CN112020849A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18382231.1 2018-04-05
EP18382231.1A EP3550792A1 (en) 2018-04-05 2018-04-05 Method for validating a node
PCT/EP2019/058465 WO2019193081A1 (en) 2018-04-05 2019-04-04 Method for validating a node

Publications (1)

Publication Number Publication Date
CN112020849A true CN112020849A (zh) 2020-12-01

Family

ID=62046838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980024252.9A Pending CN112020849A (zh) 2018-04-05 2019-04-04 用于验证节点的方法

Country Status (10)

Country Link
US (1) US20210036868A1 (zh)
EP (2) EP3550792A1 (zh)
CN (1) CN112020849A (zh)
AR (1) AR115332A1 (zh)
CO (1) CO2021011932A2 (zh)
ES (1) ES2937008T3 (zh)
MX (1) MX2020008784A (zh)
PE (1) PE20210145A1 (zh)
UY (1) UY38170A (zh)
WO (1) WO2019193081A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10785125B2 (en) * 2018-12-03 2020-09-22 At&T Intellectual Property I, L.P. Method and procedure for generating reputation scores for IoT devices based on distributed analysis
US11606426B1 (en) * 2019-10-23 2023-03-14 Architecture Technology Corporation Database access gateway through distributed network nodes
SG10202000215RA (en) * 2020-01-09 2020-07-29 Alipay Labs Singapore Pte Ltd Methods and devices for providing decentralized identity verification

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434919A (en) * 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
EP0869637A2 (en) * 1997-04-02 1998-10-07 Arcanvs Digital certification system
CN102037701A (zh) * 2008-04-30 2011-04-27 Nec欧洲有限公司 用于验证通信伙伴的标识的方法和系统
CN102571983A (zh) * 2012-02-23 2012-07-11 浙江工商大学 一种对等网络存储数据信任模型建立方法
WO2014051430A1 (en) * 2012-09-26 2014-04-03 Off The Grid B.V. Method and apparatus for transmitting, receiving and forwarding a gossip message using a gossip network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222187B2 (en) 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
US7213047B2 (en) 2002-10-31 2007-05-01 Sun Microsystems, Inc. Peer trust evaluation using mobile agents in peer-to-peer networks
US9503365B2 (en) * 2014-08-11 2016-11-22 Palo Alto Research Center Incorporated Reputation-based instruction processing over an information centric network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434919A (en) * 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
EP0869637A2 (en) * 1997-04-02 1998-10-07 Arcanvs Digital certification system
CN102037701A (zh) * 2008-04-30 2011-04-27 Nec欧洲有限公司 用于验证通信伙伴的标识的方法和系统
CN102571983A (zh) * 2012-02-23 2012-07-11 浙江工商大学 一种对等网络存储数据信任模型建立方法
WO2014051430A1 (en) * 2012-09-26 2014-04-03 Off The Grid B.V. Method and apparatus for transmitting, receiving and forwarding a gossip message using a gossip network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PRASHANT DEWAN AND PARTHA DASGUPTA: "《P2P Reputation Management Using Distributed Identities and Decentralized Recommendation Chains》", 《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING》 *
RUNFANG ZHOU AND KAI HWANG: "《Gossip-based Reputation Aggregation for Unstructured Peer-to-Peer Networks》", 《IEEE》 *

Also Published As

Publication number Publication date
EP3550792A1 (en) 2019-10-09
EP3777074A1 (en) 2021-02-17
US20210036868A1 (en) 2021-02-04
UY38170A (es) 2019-10-31
ES2937008T3 (es) 2023-03-23
AR115332A1 (es) 2020-12-23
WO2019193081A1 (en) 2019-10-10
PE20210145A1 (es) 2021-01-22
CO2021011932A2 (es) 2021-09-30
EP3777074B1 (en) 2022-11-09
MX2020008784A (es) 2020-10-01

Similar Documents

Publication Publication Date Title
US10411905B2 (en) Public key infrastructure using blockchains
Kaur et al. Blockchain-based lightweight authentication mechanism for vehicular fog infrastructure
CN109104284B (zh) 一种基于环签名的区块链匿名传输方法
CN113328997B (zh) 联盟链跨链系统及方法
EP3014803A1 (en) A method and apparatus for anonymous and trustworthy authentication in pervasive social networking
CN112152778B (zh) 一种节点管理方法、装置、及电子设备
Jia et al. Redactable blockchain from decentralized chameleon hash functions
CN112020849A (zh) 用于验证节点的方法
CN112865962B (zh) 一种基于区块链的分布式标识认证方法和装置、电子设备
CN110945831A (zh) 抗Sybil攻击身份的生成
Faizullah et al. Permissioned blockchain-based security for SDN in IoT cloud networks
CN110851859B (zh) 一种具有(n,t)门限的分布式权威节点区块链系统的认证方法
Wazid et al. AISCM-FH: AI-enabled secure communication mechanism in fog computing-based healthcare
Ra et al. VAIM: verifiable anonymous identity management for human-centric security and privacy in the internet of things
Khan et al. Resource efficient authentication and session key establishment procedure for low-resource IoT devices
Sengupta et al. Distritrust: Distributed and low-latency access validation in zero-trust architecture
CN112039837B (zh) 一种基于区块链和秘密共享的电子证据保全方法
CN110784318B (zh) 群密钥更新方法、装置、电子设备、存储介质及通信系统
Zhao et al. Evaluating the performance impact of PKI on BGP security
Tang et al. Reputation audit in multi-cloud storage through integrity verification and data dynamics
Subramanian et al. Decentralized device authentication model using the trust score and blockchain technology for dynamic networks
CN115834085A (zh) 一种生成签名的方法和装置、安全认证方法和装置
Zhang et al. Secure outsourcing algorithms of modular exponentiations in edge computing
Kurbatov et al. Global Digital Identity and Public Key Infrastructure
CN107172016B (zh) 安全信任处理方法及装置

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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20231117