CN110784321B - 一种新的基于公私钥密码机制的安全匿名通信方法 - Google Patents

一种新的基于公私钥密码机制的安全匿名通信方法 Download PDF

Info

Publication number
CN110784321B
CN110784321B CN201911077872.7A CN201911077872A CN110784321B CN 110784321 B CN110784321 B CN 110784321B CN 201911077872 A CN201911077872 A CN 201911077872A CN 110784321 B CN110784321 B CN 110784321B
Authority
CN
China
Prior art keywords
onion
anonymous
data packet
session
key
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
CN201911077872.7A
Other languages
English (en)
Other versions
CN110784321A (zh
Inventor
李凤银
刘中兴
崔璨
王伊蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Houquantum Cryptography Technology Co ltd
Original Assignee
Qufu Normal University
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 Qufu Normal University filed Critical Qufu Normal University
Priority to CN201911077872.7A priority Critical patent/CN110784321B/zh
Publication of CN110784321A publication Critical patent/CN110784321A/zh
Application granted granted Critical
Publication of CN110784321B publication Critical patent/CN110784321B/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种新的基于公私钥密码机制的安全匿名通信协议,旨在改变当前通信网络中用户的隐私信息频繁泄露的现状,保护用户的隐私安全。其技术要点是,基于洋葱路由技术和公私钥密码机制,设计出新的匿名通信数据包封装格式,构建安全的匿名通信链路,实现一个安全的匿名通信协议,该协议中,对会话数据和认证数据区别对待,减少了会话数据的加密层数,降低了计算量,有效地提高了匿名信息的转发效率。本发明具有通信的匿名性和匿名消息的机密性和完整性,可以实现快速并且安全的匿名消息传输。

Description

一种新的基于公私钥密码机制的安全匿名通信方法
技术领域
本发明属于信息安全技术领域,涉及使用Diffie–Hellman(DH)密钥交换算法、洋葱路由技术和公私钥密码机制作为通信协议的基础。
背景技术
如何在公共网络中保护用户的隐私,让用户在公开通信环境中实现快速、安全且隐秘的通信是信息安全领域亟待解密的关键问题之一。但是,由于网络设备需要了解用户的某些信息来完成路由和消息转发功能,所以用户身份不能被完全隐藏。因此,匿名通信是对不可信方隐藏重要信息,而对授权方或信任方披露适当的信息。
洋葱路由技术在匿名通信网络中起着至关重要的作用,不仅可以隐藏用户的网络位置,还可以抵御流量分析攻击。借助洋葱路由实现用户身份匿名、实现匿名消息转发是当前匿名通信网络中最常使用的方式。2016年Fiore等人提出的无证书洋葱路由协议极大地改善了中继路由器的计算负荷,获得了更高的数据传输速率,但其采用的数据包结构无法对抗中继路由节点的数据篡改攻击。因此,设计一个能对抗中继路由节点进行数据篡改攻击的稳定的数据包结构成为重中之重。而本发明则能够解决该问题。
发明内容
1.本发明的目的是提出一种新的基于公私钥密码机制的安全匿名通信协议,包含匿名通信链路建立和匿名消息传输两部分,其中匿名通信链路建立的具体过程如下:
第一步:用户IDA在密钥分发中心KGC(Key Generation Center)管理的公共列表中随机选择 L=3个洋葱路由节点,获取洋葱路由节点和目的节点的长期公钥。
第二步:用户分别生成与目的节点和三个中继洋葱路由节点通信时使用的临时公私钥对,基于这些临时私钥与洋葱路由的长期公钥,运行DH(Diffie-Hellman)密钥交换算法,分别生成与目的节点和三个中继洋葱路由节点建立链路时的共享临时会话密钥。
第三步:用户IDA本地生成链路建立请求REQ,确定一个会话截止时间EXP,然后用与目的节点共享的临时会话密钥加密REQ+EXP,再用目的接收者D的长期公钥加密自己的临时公钥,再加上会话截止时间EXP,下一跳路由RD一起构成最内层洋葱数据包。然后用与第三跳中继洋葱路由节点共享的临时会话密钥加密最内层洋葱数据包得到一层洋葱数据包,连带第三跳路由器长期公钥加密的IDA的临时会话公钥、会话截止时间、下一跳路由R3一起构成二层洋葱数据包。以此类推,再依次用与第二跳、第一跳中继路由器的共享临时会话密钥和长期公钥逐层加密洋葱数据包,得到三层洋葱数据包。
第四步:用户将三层洋葱发送给匿名链路的第一个节点R1,R1先利用自己的长期私钥解密这个洋葱数据包的公钥部分,得到IDA与自己交互用的临时公钥,基于该公钥和自己的长期私钥,利用DH算法还原出与IDA共享的临时会话密钥K1,使用该会话密钥解密第一层洋葱,得到会话到期时间,下一跳路由节点以及需要转发给R2的二层洋葱数据包。R1检查会话时间的有效性,如果没有超过截止时间,则将二层洋葱数据包转发给R2
第五步:路由节点R2接收到二层洋葱数据包以后,执行和R1一样的操作,将自己解密的一层洋葱数据包转发给中继路由器R3。
第六步:路由节点R3执行和R2相同的操作,将自己解密得到的最内层洋葱加密数据包转发给匿名链路的终点D。
第七步:目的接收者D接收到这个最内层的洋葱,利用长期私钥解密公钥部分得到IDA与自己交互用的临时会话公钥,然后利用该公钥和自己的长期私钥利用DH密钥算法还原出与用户IDA共享的临时会话密钥,进而解密出匿名链路建立请求REQ和会话到期时间。
第八步:如果D同意该匿名链路建立请求,则首先通过与KGC交互,基于公钥密码体制,产生一对D自己的会话用公私钥对。后面可基于该密钥对的私钥、用户IDA的临时会话公钥和DH密钥交换算法,生成匿名链路的源点IDA和终点D之间用于后续匿名消息传输阶段的会话密钥。
然后,用户D生成匿名链路建立的确认信息ACK,利用自己和源用户IDA共享的临时会话密钥加密确认信息以及自己的临时公钥得到最内层确认数据包,根据之前保留的路由信息,沿匿名链路的反方向,将最内层确认数据包反馈给匿名链路上的前一个路由节点R3
第九步:洋葱路由节点R3,R2,R1依次收到确认洋葱数据包时,以同样的方式为自己产生一对会话用公私钥对,并通过与源用户IDA共享的临时会话密钥逐层加密确认洋葱数据包返回给匿名链路上的前一个节点。
第十步:用户IDA收到洋葱路由节点R1发来的确认洋葱数据包时,该数据包已经分别经由目的节点D和三个洋葱路由节点加密了四层。
用户IDA使用其与三个路由节点和目的节点共享的临时会话密钥逐层解密洋葱数据包,依次得到各路由节点的会话用公钥,最终得到最内层链路终点D的链路建立确认信息和会话用公钥。这样,用户IDA可以利用自己与各路由节点及链路终点D共享的临时会话用私钥、各路由节点和D的临时会话用公钥和DH算法,还原出在匿名消息传输阶段与各路由节点和链路终点D的会话密钥。后续进行匿名消息传输时,用户IDA可以依次利用这些会话密钥逐层加密匿名消息,通过匿名链路进行匿名消息的传输。
2.匿名消息传输阶段的具体步骤为:
第一步:用户IDA准备要发送的匿名消息m,首先使用与目的节点D共享的会话密钥对消息 m进行一层加密,得到匿名消息的加密结果;然后,使用与各个洋葱路由节点和目的节点D 共享的会话密钥依次加密消息m的哈希值H(m)、匿名路径上的下一跳路由节点和会话到期时间,生成三层洋葱路由数据包;最后,用户将该三层洋葱路由数据包和匿名消息的加密结果合并在一起得到匿名消息传输数据包,沿着匿名通信链路进行匿名消息传输。
第二步:各个洋葱路由节点收到匿名消息数据包后,使用对应的与源用户共享的会话密钥解密本路由节点对应的洋葱路由层,获得内层洋葱路由数据包、下一跳路由节点和会话到期时间,检查会话到期时间没有问题后,转发内层洋葱路由数据包给下一跳路由节点。如此继续,直到洋葱路由数据包被三个路由节点解密三层,得到最内层H(m)的加密数据包,连同自己收到的匿名消息的加密结果一起发给目的地D;
第三步:目的节点D收到数据包后,利用和发送方用户共享的会话密钥分别解密匿名消息的加密结果和最内层H(m)的加密数据包,得到匿名通信消息m以及m的哈希值H(m)。通过计算m的哈希值H′(m),并与接收到的H(m)对比,如果二者一致,则接收该匿名消息;否则,丢弃该匿名消息。
第四步:反之,目的节点D可准备匿名消息m',按照匿名通信链路的反方向依次进行数据包的加密和消息转发。D先用与接收方用户共享的会话密钥分别加密匿名消息m'得到匿名消息加密结果、加密匿名消息m'的哈希值H(m′)和过期时间得到最内层洋葱路由数据包,将两者合并在一起得到匿名消息数据包反馈给匿名路径的上一跳路由节点。
第五步:匿名通信链路上的三个洋葱路由节点,依次利用自己和源用户共享的会话密钥对洋葱路由数据包进行逐层加密,和匿名消息的加密结果一起,沿着匿名路径的反方向转发给匿名链路上的前一跳路由节点。如此继续,直到该匿名消息的最内层洋葱数据包和加密结果到达接收方用户。
第六步:源用户IDA收到匿名消息的最内层洋葱数据包和加密结果之后,首先依次利用自己与三个洋葱路由节点和目的节点D共享的会话密钥依次解密三层洋葱数据包得到匿名消息m'的哈希值H(m′),然后利用与目的节点D共享的会话密钥解密匿名消息的加密结果得到匿名消息m',并计算其哈希值H′(m′),然后把该计算得到的哈希值与解密洋葱数据包得到的哈希值进行对比,验证匿名消息m'的合法性和有效性,进而决定是接收还拒绝该匿名消息。
该发明转发消息快速、高效,具有较高的安全性和较高的可靠性,本发明达到如下效果:在链路建立与匿名消息传输两个阶段,分别使用公钥密码机制和私钥密码机制实现公钥的传递和匿名消息的传输,保证了公钥传递的安全性和匿名消息的安全。而且,不同的会话使用不同的会话密钥,有效提高了匿名消息的数据安全性。另外,在匿名通信的消息转发过程中,采用了一种新的洋葱路由数据包格式,有效地减少了中继节点和目的节点对数据的加解密操作次数,减少了计算量,提高了消息转发效率和匿名通信效率。该发明适用于公开网络中用户之间的匿名通信。
附图说明
图1详细描述了整个洋葱系统的流程。源用户IDA发送三层洋葱数据包给路由节点,各个路由节点依次解密,最后得到最内层数据包发送给目的地节点D;目的地节点D返回消息时,消息经过各个洋葱节点依次加密,最后得到三层洋葱数据包交给源用户IDA,源用户一次解密三层洋葱得到消息内容。
图2详细描述了匿名消息传输过程中的数据包格式。
图3详细描述了匿名链路建立过程中各节点间的数据交换。
图4详细描述了匿名消息传输过程中各节点间的数据交换。
具体实施方式
1.链路建立过程描述如下:
第一步:当用户IDA想要和目的节点D建立匿名通信链路时,首先在KGC管理的公共列表中随机选择L=3个洋葱路由节点,同时获取洋葱路由节点的长期公钥QUOTE pki(i=1,2,3)pki(i=1,2,3)和目的节点D的长期公钥pkD
第二步:用户IDA首先分别生成与目的节点D和三个洋葱路由节点Ri(i=1,2,3)通信时使用的临时公私钥对(XD,YD)和(Xi,Yi)(i=1,2,3)。基于这些临时私钥和洋葱路由节点的长期公钥,用户IDA运行DH密钥交换算法,分别生成与目的节点D和三个路由节点Ri(i=1,2,3)的共享临时会话密钥KD和Ki(i=1,2,3)。
第三步:用户IDA本地生成链路建立请求REQ,确定一个会话截止时间EXP,然后用与目的节点D共享的临时会话密钥KD加密REQ+EXP,再用D的长期公钥pkD加密自己的临时公钥YD,再加上会话截止时间EXP,下一跳路由RD一起构成最内层洋葱数据包。然后用与第三跳中继洋葱路由节点共享的临时会话密钥K3加密最内层洋葱数据包得到一层洋葱数据包,连带第三跳路由器长期公钥pk3加密的IDA的临时会话公钥Y3、会话截止时间EXP、下一跳路由R3一起构成二层洋葱数据包。以此类推,再依次用与第二跳、第一跳中继路由器的共享临时会话密钥Ki(i=2,1)和长期公钥pki(i=2,1)逐层加密洋葱数据包,得到三层洋葱数据包。三层洋葱数据包结构所下示:
Figure GDA0003472756610000041
第四步:用户IDA将三层洋葱发送给匿名链路的第一个路由节点R1,R1先利用自己的长期私钥解密这个洋葱数据包的公钥部分
Figure GDA0003472756610000051
得到IDA与自己交互用的临时公钥Y1,基于该公钥和自己的长期私钥sk1,利用DH算法还原出与IDA共享的临时会话密钥K1
Figure GDA0003472756610000052
使用该会话密钥解密第一层洋葱,得到会话到期时间EXP,下一跳路由节点R2以及需要转发给R2的二层洋葱数据包:
Figure GDA0003472756610000053
R1将解密得到的二层洋葱加密数据包继续转发给路由节点R2
第五步:路由节点R2接收到二层加密的洋葱数据包以后,执行和路由节点R1一样的操作,解密得到一层洋葱数据包:
Figure GDA0003472756610000054
R2将解密得到的一层洋葱加密数据包继续转发给路由节点R3
第六步:路由节点R3执行和R2相同的操作,得到如下最内层洋葱加密数据包:
Figure GDA0003472756610000055
R3并转发给匿名链路的终点RD
第七步:目的接收者D接收到这个最内层洋葱,使用自己的私钥skD解密
Figure GDA0003472756610000056
得到用户IDA与自己交互用的临时会话公钥YD。然后利用临时公钥YD和自己的长期私钥skD产生与发送者共享的临时会话密钥KD,进而解密
Figure GDA0003472756610000057
得到匿名链路建立请求REQ和会话到期时间,开始分析链路建立请求REQ。
第八步:如果D同意链路建立请求,则首先通过与KGC交互,基于公钥密码体制,产生一对D自己的会话用公私钥对(X′D,Y′D)。后面可基于该密钥对的私钥X′D与IDA的临时公钥YD,应用DH密钥交换算法,生成匿名链路的源点IDA和终点D之间用于后续数据传输阶段的会话密钥K′D
Figure GDA0003472756610000058
然后D生成匿名链路建立的确认信息ACK,利用自己和源用户IDA共享的临时会话密钥KD加密确认信息以及自己的会话用临时公钥Y′D,得到最内层确认数据包,根据之前保留的路由信息,沿匿名链路的反方向,将最内层确认数据包反馈给匿名链路上的前一个路由节点R3
第九步:洋葱路由节点Ri(i=3,2,1)依次收到确认洋葱数据包时,以同样的方式为自己产生一对会话用公私钥对(X′i,Y′i)(i=3,2,1),并通过与源用户IDA共享的临时会话密钥Ki(i=3,2,1)逐层加密确认洋葱数据包返回给匿名链路上的前一个节点。
第十步:用户IDA收到洋葱路由节点R1发来的确认洋葱数据包时,该数据包已经分别经由目的节点D和三个洋葱路由节点加密了四层,数据包如下所示。
Figure GDA0003472756610000061
用户IDA收到该确认洋葱数据包后,分别使用其与各路由节点Ri(i=1,2,3)和目的地节点D的共享密钥Ki(i=1,2,3)和KD逐层解密洋葱数据包,依次得到各路由节点和目的地节点的会话用临时公钥Y′i(i=1,2,3)与Y′D,最终得到目的地D的确认消息ACK。
这样,用户IDA可以利用自己与各路由节点及链路终点D共享的临时会话用私钥Xi(i= 1,2,3)、各路由节点Ri(i=1,2,3)和D的临时会话用公钥Y′i(i=1,2,3)与Y′D,基于DH算法,还原出在匿名消息传输阶段与各路由节点和链路终点D的会话密钥K′i(i=1,2,3)和K′D
Figure GDA0003472756610000062
Figure GDA0003472756610000063
后续进行匿名消息传输时,用户IDA可以依次利用这些会话密钥逐层加密匿名消息,通过匿名链路进行匿名消息的传输。至此匿名链路建立过程结束。
2.匿名消息传输阶段的具体步骤为:
第一步:用户IDA准备要发送的匿名消息m,首先使用与目的节点D共享的会话密钥K′D对消息m进行一层加密,得到匿名消息的加密结果,即数据包的数据部分;然后,使用与各个洋葱路由节点和目的节点D共享的会话密钥K′i(i=1,2,3)和K′D。依次加密消息m的哈希值 H(m)、匿名路径上的下一跳路由节点R和会话到期时间EXP,形成用于匿名消息传输的洋葱路由数据包结构:
Figure GDA0003472756610000064
最后,用户将该三层洋葱路由数据包和匿名消息的加密结果合并在一起得到匿名消息传输数据包,沿着匿名通信链路进行匿名消息传输。
第二步:各个洋葱路由节点Ri(i=1,2,3)收到匿名消息数据包后,使用对应的与源用户共享的会话密钥{K′i(i=1,2,3)}解密本路由节点对应的洋葱路由层,获得内层洋葱路由数据包、下一跳路由节点和会话到期时间,检查会话到期时间没有问题后,转发内层洋葱路由数据包给下一跳路由节点。如此继续,直到洋葱路由数据包被三个路由节点解密三层,得到最内层H(m)的加密数据包,连同自己收到的匿名消息的加密结果一起发给目的地D;
第三步:目的节点D收到数据包后,利用和发送方用户IDA共享的会话密钥K′D分别解密匿名消息的加密结果和最内层H(m)的加密数据包,得到匿名通信消息m以及m的哈希值H(m)。通过计算m的哈希值QUOTE H′(m)H′(m),并与接收到的H(m)对比,如果二者一致,则接收该匿名消息m;否则,丢弃该匿名消息。
第四步:如果目的地D想和用户IDA进行匿名通信,匿名消息记为m′,按照匿名通信路径的反方向进行洋葱路由转发。目的地D先用K′D加密本匿名消息m′和过期时间EXP,反馈给匿名路径上的上一跳路由器,由上一跳路由器利用自己和源用户共享的会话密钥对数据包继续加密并沿着匿名路径继续反馈。直到匿名消息反馈给源用户IDA
第五步:反之,目的节点D可准备匿名消息m',按照匿名通信链路的反方向依次进行数据包的加密和消息转发。D先用与接收方用户共享的会话密钥K′D分别加密匿名消息m'得到匿名消息加密结果、加密匿名消息m'的哈希值QUOTE H(m′)H(m′)和过期时间EXP 得到最内层洋葱路由数据包,将两者合并在一起得到匿名消息数据包反馈给匿名路径的上一跳路由节点Ri(i=3,2,1)。
第六步:匿名通信链路上的三个洋葱路由节点Ri(i=3,2,1),依次利用自己和源发送用户IDA共享的会话密钥{K′i(i=3,2,1)}对洋葱路由数据包进行逐层加密,和匿名消息m'的加密结果一起,沿着匿名路径的反方向转发给匿名链路上的前一跳路由节点。如此继续,直到该匿名消息的三层洋葱数据包和加密结果到达接收方用户:
Figure GDA0003472756610000071
第七步:源用户IDA收到匿名消息的三层洋葱数据包和数据部分后,依次利用自己与三个洋葱路由节点和目的节点D共享的会话密钥{K′i(i=1,2,3)},K′D解密三层洋葱数据包得到匿名消息m'的哈希值QUOTE H(m′)H(m′),然后利用与目的节点D共享的会话密钥K′D解密数据包的数据部分,即匿名消息的加密结果,得到匿名消息m'。进而可以计算m'的哈希值 QUOTE H′(m′)H′(m′),然后把该计算得到的哈希值与解密洋葱数据包得到的哈希值进行对比,验证匿名消息m'的合法性和有效性,进而决定是接收还拒绝该匿名消息。
用户IDA和目的地D之间匿名消息传输过程结束。
匿名通信协议的效率分析
下表是本文的匿名通信协议的效率分析,从源用户与洋葱路由节点的角度分析建立一个长度为n的链路的代价。
本文的协议与其他协议的比较如下表所示。
Table 1效率分析表
Figure GDA0003472756610000072
在表中可以看出,本文的协议除了模数求幂外,基本与其他两个协议效率相同,因为在本文的协议中,可以预先计算每个带有ID的洋葱路由节点的值
Figure GDA0003472756610000081
sID是其公钥的部分。另外,因为KGC的密钥不会改变,预先计算的值也不需要重复计算。用户要为每个洋葱路由节点计算三次求幂,由于
Figure GDA0003472756610000082
中的μID会经常改变,所以不能进行预先计算。另一方面,每个洋葱路由节点执行三次求幂来获得会话密钥。
关键是本文的匿名通信协议不需要KGC频繁的改变系统密钥。用户只需要获取一次 KGC的密钥即可,在洋葱路由节点请求部分私钥时同样成立。从KGC来说,其在密钥产生阶段不需要重复的运行,有较低的计算负载。其次,本文的协议中还带有签名机制,与其他协议相比,不仅在加密过程中实现安全性,还能检测数据是否被修改,保证数据的完整性,协议具有较高的运行效率。

Claims (1)

1.一种新的基于公私钥密码机制的安全匿名通信方法,包含匿名通信链路建立和匿名消息传输两个阶段,具体过程如下:
第一步:用户IDA在密钥分发中心KGC(Key Generation Center)管理的公共列表中随机选择L=3个洋葱路由节点,获取洋葱路由节点和目的节点的长期公钥;
第二步:用户分别生成与目的节点和三个中继洋葱路由节点通信时使用的临时公私钥对,将这些临时私钥与洋葱路由的长期公钥利用DH(Diffie-Hellman)密钥交换算法分别生成共享临时会话密钥;
第三步:用户IDA本地生成链路建立请求REQ,确定一个会话截止时间EXP,然后用与目的节点共享的临时会话密钥加密REQ+EXP,再用目的接收者D的长期公钥加密自己的临时公钥,再加上会话截止时间EXP,下一跳路由RD一起构成最内层洋葱数据包;
然后用与第三跳中继洋葱路由节点共享的临时会话密钥加密最内层洋葱数据包得到一层洋葱数据包,连带第三跳路由器长期公钥加密的IDA的临时会话公钥、会话截止时间、下一跳路由R3一起构成二层洋葱数据包;
以此类推,再依次用与第二跳、第一跳中继路由器的共享临时会话密钥和长期公钥逐层加密洋葱数据包,得到三层洋葱数据包;
第四步:用户将三层洋葱发送给匿名链路的第一个节点R1,R1先利用自己的长期私钥解密这个洋葱数据包的公钥部分,得到IDA与自己交互用的临时公钥,基于该公钥和自己的长期私钥,利用DH算法还原出与IDA共享的临时会话密钥K1,使用该会话密钥解密第一层洋葱,得到会话到期时间,下一跳路由节点以及需要转发给R2的二层洋葱数据包;
R1检查会话时间的有效性,如果没有超过截止时间,则将二层洋葱数据包转发给R2
第五步:路由节点R2接收到二层洋葱数据包以后,执行和R1一样的操作,将自己解密的一层洋葱数据包转发给中继路由器R3;
第六步:路由节点R3执行和R2相同的操作,将自己解密得到的最内层洋葱加密数据包转发给匿名链路的终点D;
第七步:目的接收者D接收到这个最内层的洋葱,利用长期私钥解密公钥部分得到IDA与自己交互用的临时会话公钥,然后利用该公钥和自己的长期私钥利用DH密钥算法还原出与用户IDA共享的临时会话密钥,进而解密出匿名链路建立请求REQ和会话到期时间;
第八步:如果D同意该匿名链路建立请求,则首先通过与KGC交互,基于公钥密码体制,产生一对D自己的会话用公私钥对;
后面可基于该密钥对的私钥、用户IDA的临时会话公钥和DH密钥交换算法,生成匿名链路的源点IDA和终点D之间用于后续匿名消息传输阶段的会话密钥;
然后,用户D生成匿名链路建立的确认信息ACK,利用自己和源用户IDA共享的临时会话密钥加密确认信息以及自己的临时公钥得到最内层确认数据包,根据之前保留的路由信息,沿匿名链路的反方向,将最内层确认数据包反馈给匿名链路上的前一个路由节点R3
第九步:洋葱路由节点R3,R2,R1依次收到确认洋葱数据包时,以同样的方式为自己产生一对会话用公私钥对,并通过与源用户IDA共享的临时会话密钥逐层加密确认洋葱数据包返回给匿名链路上的前一个节点;
第十步:用户IDA收到洋葱路由节点R1发来的确认洋葱数据包时,该数据包已经分别经由目的节点D和三个洋葱路由节点加密了四层;
用户IDA使用其与三个路由节点和目的节点共享的临时会话密钥逐层解密洋葱数据包,依次得到各路由节点的会话用公钥,最终得到最内层链路终点D的链路建立确认信息和会话用公钥;
这样,用户IDA可以利用自己与各路由节点及链路终点D共享的临时会话用私钥、各路由节点和D的临时会话用公钥和DH算法,还原出在匿名消息传输阶段与各路由节点和链路终点D的会话密钥;
后续进行匿名消息传输时,用户IDA可以依次利用这些会话密钥逐层加密匿名消息,通过匿名链路进行匿名消息的传输;
第十一步:用户IDA准备要发送的匿名消息m,首先使用与目的节点D共享的会话密钥对消息m进行一层加密,得到匿名消息的加密结果;然后,使用与各个洋葱路由节点和目的节点D共享的会话密钥依次加密消息m的哈希值H(m)、匿名路径上的下一跳路由节点和会话到期时间,生成三层洋葱路由数据包;最后,用户将该三层洋葱路由数据包和匿名消息的加密结果合并在一起得到匿名消息传输数据包,沿着匿名通信链路进行匿名消息传输;
第十二步:各个洋葱路由节点收到匿名消息数据包后,使用对应的与源用户共享的会话密钥解密本路由节点对应的洋葱路由层,获得内层洋葱路由数据包、下一跳路由节点和会话到期时间,检查会话到期时间没有问题后,转发内层洋葱路由数据包给下一跳路由节点;
如此继续,直到洋葱路由数据包被三个路由节点解密三层,得到最内层H(m)的加密数据包,连同自己收到的匿名消息的加密结果一起发给目的地D;
第十三步:目的节点D收到数据包后,利用和发送方用户共享的会话密钥分别解密匿名消息的加密结果和最内层H(m)的加密数据包,得到匿名通信消息m以及m的哈希值H(m);
通过计算m的哈希值H′(m),并与接收到的H(m)对比,如果二者一致,则接收该匿名消息;否则,丢弃该匿名消息;
第十四步:反之,目的节点D可准备匿名消息m',按照匿名通信链路的反方向依次进行数据包的加密和消息转发;
D先用与接收方用户共享的会话密钥分别加密匿名消息m'得到匿名消息加密结果、加密匿名消息m'的哈希值H(m′)和过期时间得到最内层洋葱路由数据包,将两者合并在一起得到匿名消息数据包反馈给匿名路径的上一跳路由节点;
第十五步:匿名通信链路上的三个洋葱路由节点,依次利用自己和源用户共享的会话密钥对洋葱路由数据包进行逐层加密,和匿名消息的加密结果一起,沿着匿名路径的反方向转发给匿名链路上的前一跳路由节点;
如此继续,直到该匿名消息的最内层洋葱数据包和加密结果到达接收方用户;
第十六步:源用户IDA收到匿名消息的最内层洋葱数据包和加密结果之后,首先依次利用自己与三个洋葱路由节点和目的节点D共享的会话密钥依次解密三层洋葱数据包得到匿名消息m'的哈希值H(m′),然后利用与目的节点D共享的会话密钥解密匿名消息的加密结果得到匿名消息m',并计算的哈希值H′(m′),然后把该计算得到的哈希值与解密洋葱数据包得到的哈希值进行对比,验证匿名消息m'的合法性和有效性,进而决定是接收还拒绝该匿名消息。
CN201911077872.7A 2019-11-06 2019-11-06 一种新的基于公私钥密码机制的安全匿名通信方法 Active CN110784321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911077872.7A CN110784321B (zh) 2019-11-06 2019-11-06 一种新的基于公私钥密码机制的安全匿名通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911077872.7A CN110784321B (zh) 2019-11-06 2019-11-06 一种新的基于公私钥密码机制的安全匿名通信方法

Publications (2)

Publication Number Publication Date
CN110784321A CN110784321A (zh) 2020-02-11
CN110784321B true CN110784321B (zh) 2022-03-29

Family

ID=69389970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911077872.7A Active CN110784321B (zh) 2019-11-06 2019-11-06 一种新的基于公私钥密码机制的安全匿名通信方法

Country Status (1)

Country Link
CN (1) CN110784321B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111970243B (zh) * 2020-07-20 2022-06-03 北京邮电大学 匿名通信网络中多阶段路由的消息转发方法
CN112738072A (zh) * 2020-12-25 2021-04-30 江苏通付盾区块链科技有限公司 一种基于多重加密技术的点对点加密通讯方法以及系统
CN113572727B (zh) * 2021-06-08 2023-04-28 深圳市国电科技通信有限公司 一种基于p2p网络路由节点的数据安全隐蔽传输方法及系统
CN113973007B (zh) * 2021-09-24 2023-05-09 河南大学 基于广播加密和洋葱路由的时控性加密匿名查询方法和系统
CN114051236B (zh) * 2022-01-12 2022-04-12 华东交通大学 基于重路由机制的匿名通信方法、系统、介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234059B1 (en) * 2001-08-09 2007-06-19 Sandia Corporation Anonymous authenticated communications
CN102594569A (zh) * 2012-03-24 2012-07-18 成都大学 一种建立Tor匿名通道时所采用的无证书密钥协商方法
CN109413089A (zh) * 2018-11-20 2019-03-01 中国电子科技集团公司电子科学研究院 分布式网络匿名通信方法、装置及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986036B2 (en) * 2002-03-20 2006-01-10 Microsoft Corporation System and method for protecting privacy and anonymity of parties of network communications
US20160294794A1 (en) * 2015-04-04 2016-10-06 Aleksandar Mancic Security System For Data Communications Including Key Management And Privacy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234059B1 (en) * 2001-08-09 2007-06-19 Sandia Corporation Anonymous authenticated communications
CN102594569A (zh) * 2012-03-24 2012-07-18 成都大学 一种建立Tor匿名通道时所采用的无证书密钥协商方法
CN109413089A (zh) * 2018-11-20 2019-03-01 中国电子科技集团公司电子科学研究院 分布式网络匿名通信方法、装置及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"The TOR data communication system";R. A. Haraty;《Journal of communications and networks》;20140831;全文 *
"一种基于洋葱路由的可撤销匿名通信方法";段桂华;《计算机工程与应用》;20050501;全文 *

Also Published As

Publication number Publication date
CN110784321A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN110784321B (zh) 一种新的基于公私钥密码机制的安全匿名通信方法
Harkins et al. The internet key exchange (IKE)
Harkins et al. RFC2409: The Internet key exchange (IKE)
KR101019300B1 (ko) 애드 혹 무선 네트워크에서 인증 키 요소의 보안 처리를 위한 방법 및 시스템
CN110581763B (zh) 一种量子密钥服务区块链网络系统
KR101394730B1 (ko) Id 기반 인증 키 동의 프로토콜을 수행하기 위한 방법 및 장치
Chou Inside SSL: the secure sockets layer protocol
JP2003298568A (ja) 鍵供託を使用しない、認証された個別暗号システム
US9130744B1 (en) Sending an encrypted key pair and a secret shared by two devices to a trusted intermediary
KR102172181B1 (ko) 실시간 데이터 전송을 위한 블록 암호 장치 및 방법
CN112468490B (zh) 一种用于电网终端层设备接入的认证方法
CN108768632B (zh) 一种基于对称密钥池和中继通信的aka身份认证系统和方法
EP3944554A1 (en) Rollover of encryption keys in a packet-compatible network
CN114268439A (zh) 一种基于格的身份基认证密钥协商方法
JP2010539839A (ja) サーバ基盤移動インターネットプロトコルシステムにおけるセキュリティ方法
KR101704540B1 (ko) M2m 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법
Mosko et al. Mobile sessions in content-centric networks
JP4664692B2 (ja) 暗号化方法、復号方法、暗号化装置、復号装置、暗号装置、およびプログラム
Yao et al. Post Quantum KEM authentication in SPDM for secure session establishment
Fries et al. On the applicability of various multimedia internet keying (mikey) modes and extensions
Masmoudi et al. Building identity-based security associations for provider-provisioned virtual private networks
Soliman et al. An efficient application of a dynamic crypto system in mobile wireless security
CN113037485B (zh) 一种群组会话密钥建立方法及系统
JP2001094548A (ja) 暗号鍵交換方法および暗号鍵交換装置
Stulman et al. Manet secure key exchange using spraying diffie-hellman algorithm

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
TR01 Transfer of patent right

Effective date of registration: 20221129

Address after: 311100 Room 1005-32, 10th Floor, Building H, Haichuang Park, CEC Haikang Group Co., Ltd., No. 198, Aicheng Street, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou Houquantum Cryptography Technology Co.,Ltd.

Address before: 273165 Jingxuan West Road, Qufu City, Jining, Shandong Province, No. 57

Patentee before: QUFU NORMAL University

TR01 Transfer of patent right