CN111884816A - 一种具备元数据隐私保护和源追责能力的路由方法 - Google Patents

一种具备元数据隐私保护和源追责能力的路由方法 Download PDF

Info

Publication number
CN111884816A
CN111884816A CN202010792899.0A CN202010792899A CN111884816A CN 111884816 A CN111884816 A CN 111884816A CN 202010792899 A CN202010792899 A CN 202010792899A CN 111884816 A CN111884816 A CN 111884816A
Authority
CN
China
Prior art keywords
source
field
destination
border router
message
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
CN202010792899.0A
Other languages
English (en)
Other versions
CN111884816B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010792899.0A priority Critical patent/CN111884816B/zh
Publication of CN111884816A publication Critical patent/CN111884816A/zh
Application granted granted Critical
Publication of CN111884816B publication Critical patent/CN111884816B/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • 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]
    • H04L9/0833Key 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] involving conference or group key
    • 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/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于计算机网络安全技术领域,涉及一种在网络层同时提供匿名性和追责能力的高效路由协议,具体涉及一种具备元数据隐私保护和源追责能力的路由方法。本发明的技术方案是将群签名附在报文网络层来实现匿名性和可追责性的平衡。报文中的群签名可以提供广泛且高效的追责性,它可以被路径上的任何路由器,以无交互的方式验证报文的真实性,从而消除了验证报文时的通信开销。同时,群签名保护了发送方的隐私,使得签名者对于群外的实体在群内不可区分。此外,本发明为了进一步降低群签名的验证开销,设计了基于挑战的分离验证机制。相对于预计算和批验证,分离验证机制能够更大程度的降低指定路由器的验证负载,从而提升协议的效率。

Description

一种具备元数据隐私保护和源追责能力的路由方法
技术领域
本发明属于计算机网络安全技术领域,涉及一种在网络层同时提供匿名性和追责能力的高效路由协议,具体涉及一种具备元数据隐私保护和源追责能力的路由方法。
背景技术
大量的网络监控事件使得社会民众对于通信隐私保护的需求日益强烈。传统的端到端加密虽然可以保护数据隐私,但却无法保护主机的身份隐私,攻击者仍然能够通过网络攻击得知“谁在何处何时与谁通信”。因此,匿名通信应运而生,匿名通信主要是在保护数据隐私的同时,保护通信过程中的元数据,从而保护用户的身份隐私。自从第一个匿名网络(Chaum’s Mix-Nets)诞生以来,研究人员开发出大量匿名通信系统,其中最著名的匿名通信系统是第二代洋葱路由(The second generation onion routing,TOR),它拥有数以百万计的用户。
然而,提供给用户的强大的隐私保护能力往往会给网络服务提供商(InternetService Provider,ISP)带来问题。因为对用户身份隐私的保护会显著降低网络服务提供商的追责能力,使得攻击者可以匿名地利用地址伪造来发起反射攻击,从而耗尽网络资源。这使得网络攻击者可以轻松地进行网络攻击而避免被处罚。
因此,在网络层,一方面,用户希望通过网络匿名来将报文的源地址隐藏,保护自身的身份隐私;另一方面,ISP希望通过追溯源来进行网络追责,拥有对地址伪造攻击的验证能力。因此,如何有效地平衡网络中的追责能力和隐私保护能力一直是一个难题。
大多数的现有工作都只提供强大的匿名性或者追责性,而忽略另一个。例如,匿名网络(Tor,Loopix,Hornet等)只提供强大的匿名通信能力,而可追责网络协议(Passport,AIP等)只提供研究和追踪报文源的能力。这些协议都不能够解决上述难题。目前为止,只有APIP和APNA这两种协议能够兼顾两者。
APIP在现有的地址基础上增加了追责地址用于路由器进行挑战,并且利用追责代理来对报文负责。在源发出报文以后,它计算报文的摘要并发给代理,当路径上的路由器想要挑战报文的时候,它根据追责地址将报文的验证需求发给代理,如果得到代理的确认,则路由器确认报文的合法性。因此,APIP通过使路径上的节点具有挑战报文的能力,来使得源可以被追责。此外,APIP通过网络地址转换来保证源的隐私。但是,APIP存在以下问题,首先是过于弱化的隐私,APIP不能够保证数据隐私,且NAT的方法很容易被进行报文关联攻击。此外,APIP会造成较大的负载,每个报文的验证和摘要都需要与代理的大量交互,从而形成较大的延迟。
APNA采用了只能够被源域的ISP打开的临时标志符(Ephemeral Identifier,EphID),来平衡匿名和追责。EphID由各域的管理服务器发布,并作为标志符放在报文头部。对于任一报文,源域的EphID作为源标志符,目的域的EphID作为目的标志符。路由时,EphID分别用于它所属的域内路由。APNA通过给ISP解释EphID的能力来提供追责能力,同时通过隐藏身份信息的EphID来匿名化端节点的身份。但是APNA也存在一些问题:在源域内共享密钥会减少匿名集。一个主机的攻破会使得域内所有流量都被攻破。此外,源域外的实体不能够解释EphID,且没有追责能力。
发明内容
本发明要解决的技术问题是提供一种具备元数据隐私保护和源追责能力的路由方法,该方法不仅可以实现广范围且高效的可追责性,还可以拥有兼顾匿名性和数据隐私性的强隐私保护能力。
为了解决上述技术问题,本发明的技术方案是将群签名附在报文网络层来实现匿名性和可追责性的平衡。报文中的群签名可以提供广泛且高效的追责性,它可以被路径上的任何路由器,以无交互的方式验证报文的真实性,从而消除了验证报文时的通信开销。同时,群签名保护了发送方的隐私,使得签名者对于群外的实体在群内不可区分。此外,本发明为了进一步降低群签名的验证开销,设计了基于挑战的分离验证机制。相对于预计算和批验证,分离验证机制能够更大程度的降低指定路由器的验证负载,从而提升协议的效率。
本发明主要包括以下步骤:
第一步:系统初始化:系统初始化负责为群和路径上的节点生成关键的密钥。
1.1)群初始化
1.1.1)群管理员利用KeyGen(n)生成群管理私钥(group manager secret key,gmsk),群公钥(group public key,gpk),和n个群私钥(group secret key,gsk)(KeyGen方法见文献“Short Group Signatures(短群签名)”,Boneh,Boyen,Shacham et al.,Advances in Cryptology–CRYPTO 2004,41-55)。n是群内成员的数量。
1.1.2)源向群管理员建立TLS连接并发送密钥获取请求。其中,TLS建立过程参考RFC 8446。
1.1.3)群管理员选择n个群私钥中的一个发送给源,并将其命名为源的群私钥(gsks)。
1.2)路径节点初始化。路径节点包括源S,源边界路由器B1,目的边界路由器B2和目的D。路径节点的标志符分别是源标志符ns,源边界路由器标志符n1,目的边界路由器标志符n2和目的标志符nD
1.2.1)路径节点{S,B1,B2,D}各维护一把秘密密钥,分别是源秘密密钥ks,源边界路由器秘密密钥k1,目的边界路由器秘密密钥k2,目的秘密密钥kD。同时,每个路径节点分别维护一对非对称密钥(x,y),x为私钥,y为公钥,y=gx,其中g为椭圆曲线x25519的生成元。由此,路径节点{S,B1,B2,D}分别持有
Figure BDA0002621952230000031
Figure BDA0002621952230000032
1.2.2)源S通过带外信道(out-of-band channel),如网站等,获取{B1,B2,D}的公钥
Figure BDA0002621952230000033
和标志符{n1,n2,nD}。源S利用随机数ri对其私钥xs进行随机化,获得源随机私钥
Figure BDA0002621952230000034
1.2.3)源S根据DH密钥交换协议,利用源随机私钥
Figure BDA0002621952230000035
分别与源边界路由器B1的公钥y1,生成源S与源边界路由器B1的正向共享密钥
Figure BDA0002621952230000036
与反向共享密钥
Figure BDA0002621952230000037
与目的边界路由器B2的公钥y2,生成源S与目的边界路由器B2的正向共享密钥
Figure BDA0002621952230000038
与反向共享密钥
Figure BDA0002621952230000039
与目的D的公钥yD生成生成源S与目的D的共享密钥sD。DH密钥交换协议参照RFC 2631。
第二步:链路建立。源S通过链路建立生成“密钥-地址封装”。“密钥-地址封装”包括转发封装(Forwarding Capsulation,FC)和返回封装(Return Capsulation,RC)。链路建立利用建链报文(Setup Packet,SP)进行通信,每个建链报文SP均由建链头部(Hdrsp)字段,洋葱(Onion)字段,负载字段,群签名字段四部分构成。其中头部字段又包括类型(type)字段,持续时间(Expiration Time,exp)字段,保留(rev)字段,以及源地址字段和目的地址字段。每个建链报文均被填充至512字节来防范关联攻击。具体步骤如下:
2.1)源S按照以下步骤构造正向建链报文SP:
2.1.1)源S设置SP中Hdrsp字段的exp字段为建链超时时间expsp,设置type字段和rev字段为0,并将源标志符ns和源边界路由器标志符n1分别设置为源地址字段和目的地址字段。
2.1.2)源S利用路径上{B1,B2,D}的公钥
Figure BDA00026219522300000310
和标志符{n1,n2,nD},以及源S与源边界路由器B1的正向共享密钥
Figure BDA00026219522300000311
与反向共享密钥
Figure BDA00026219522300000312
源S与目的边界路由器B2的正向共享密钥
Figure BDA00026219522300000313
与反向共享密钥
Figure BDA00026219522300000314
以及源S与目的D的共享密钥sD,生成反向洋葱O和正向洋葱O
Figure BDA00026219522300000315
Figure BDA00026219522300000316
Figure BDA00026219522300000317
(FormOnion方法见文献“Aformal treatment of onion routing(一种洋葱路由的形式化处理)”,J.Camenisch,A.Lysyanskaya et al.,Advances in Cryptology–CRYPTO 2005,169-187:)。其中ε为随机选取的字符串。源S将正向洋葱O放入SP的Onion字段。
2.1.3)源S利用源S的秘密密钥ks、源S和目的D的共享密钥sD计算内层返回封装RCin:RCin←ENC(ks,IVs,expc||sD)。其中,IVs是源的随机偏移量,expc是密钥-地址封装有效期,ENC代表的加密算法是AES-GCM算法(AES-GCM算法见文献“The Galois/Counter Modeof Operation(GCM)(高斯计数器模式操作)”McGrew,D.和J.Viega,2005.05.31)。‘||’表示拼接操作。之后,源S将内层返回封装RCin写入SP的负载字段。
2.1.4)源S利用源的群私钥gsks,对二次变换正向洋葱
Figure BDA00026219522300000411
生成建链群签名σs
Figure BDA0002621952230000041
并将签名生成过程中产生的快速验证缓存
Figure BDA0002621952230000042
Figure BDA0002621952230000043
缓存在本地(Sign方法见文献“Short Group Signatures(短群签名)”Boneh,Boyen,Shacham et al.,Advances in Cryptology–CRYPTO2004,41-55)。
Figure BDA0002621952230000044
均为生成群签名时产生的中间量。同时,源S利用源S与源边界路由器B1的正向共享密钥
Figure BDA0002621952230000045
对σs进行伪随机置换(Pseudo-Random Permutation,PRP)生成一次置换建链群签名[σs]:
Figure BDA0002621952230000046
Figure BDA0002621952230000047
其中,π代表PRP操作,PRP算法可选择LIONNESS算法(LINENESS算法见文献“Two Practical and Provably Secure Block Ciphers:BEARSand LION.(两种使用且可证明安全的块密码:BEARS和LION)”,Ross和Eli et al.,FSE1996:Fast Software Encryption pp 113-120)。之后,源S将一次置换建链群签名[σs]写入SP的群签名字段。
2.1.5)源S将正向建链报文SP发出。
2.2)源边界路由器B1接收到正向建链报文SP后,按以下方式进行处理:
2.2.1)源边界路由器B1检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP。tcurr是源边界路由器B1接收到正向建链报文SP的时间。
2.2.2)源边界路由器B1取出SP内Onion字段的正向洋葱O,利用源边界路由器B1的私钥x1对其处理,得到源S与源边界路由器B1的正向共享密钥
Figure BDA0002621952230000048
其中
Figure BDA0002621952230000049
是一次变换正向洋葱,(ProcOnion方法见文献“A formal treatment of onion routing(一种洋葱路由的形式化处理)”,J.Camenisch,A.Lysyanskaya et al.,Advances in Cryptology–CRYPTO 2005,169-187:)。之后,源边界路由器B1
Figure BDA00026219522300000410
写入SP的Onion字段;将源边界路由器的标志符n1,目的边界路由器的标志符n2写入SP中Hdrsp字段的源地址字段和目的地址字段。
2.2.3)源边界路由器R1取出SP内负载字段的内层返回封装RCin,利用源边界路由器秘密密钥k1,密钥-地址封装的有效期expc,源标志符ns,和2.2.2)得到的源S与源边界路由器B1的正向共享密钥
Figure BDA0002621952230000051
计算返回封装RC:
Figure BDA0002621952230000052
Figure BDA0002621952230000053
其中IV1表示源边界路由器B1的随机偏移量。
2.2.4)源边界路由器B1取出SP内群签名字段的一次置换建链群签名[σs],利用2.2.2)得到的源S与源边界路由器B1的正向共享密钥
Figure BDA00026219522300000517
对[σs]进行逆向PRP得到建链群签名σs
Figure BDA0002621952230000054
π-1代表逆向PRP操作。源边界路由器B1将建链群签名σs写入SP的群签名字段。
2.2.5)源边界路由器B1将正向建链报文SP发出。
2.3)目的边界路由器B2接收到正向建链报文SP后,按以下方式进行处理:
2.3.1)目的边界路由器B2检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP
2.3.2)目的边界路由器B2取出SP中Onion字段的一次变换正向洋葱
Figure BDA0002621952230000055
利用目的边界路由器B2的私钥x2对其处理:
Figure BDA0002621952230000056
其中
Figure BDA0002621952230000057
是二次变换正向洋葱。之后,源边界路由器B1
Figure BDA0002621952230000058
写入SP的Onion字段;将目的边界路由器的标志符n2,目的标志符nD写入SP中Hdrsp字段的源地址字段和目的地址字段。
2.3.3)目的边界路由器B2取出SP中负载字段的返回封装RC,利用2.3.2)得到的源S与目的边界路由器B2的正向共享密钥
Figure BDA0002621952230000059
对RC进行PRP操作得到一次置换返回封装[RC][1]
Figure BDA00026219522300000510
2.3.4)目的边界路由器B2取出SP内群签名字段的建链群签名σs,利用群公钥gpk对2.3.2获得的二次变换正向洋葱
Figure BDA00026219522300000511
进行验证:
Figure BDA00026219522300000512
(Verify方法见文献“Short Group Signatures(短群签名)”Boneh,Boyen,Shacham et al.,Advances inCryptology–CRYPTO 2004,41-55)。验证过程会生成快速验证路由器缓存
Figure BDA00026219522300000513
若d=0,则丢弃报文,否则,将
Figure BDA00026219522300000514
缓存在本地。
2.3.4)目的边界路由器B2将正向建链报文SP发出。
2.4)目的D接收到正向建链报文SP后,按以下方式进行处理:
2.4.1)目的D检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP。目的D取出SP内Onion字段的二次变换正向洋葱
Figure BDA00026219522300000515
利用目的D的私钥xD进行处理:
Figure BDA00026219522300000516
2.4.2)目的D以如下方式构建反向建链报文SP
2.4.2.1)目的D设置SP中Hdrsp字段的exp字段为建链超时时间expsp,设置type字段和rev字段为0,并将目的标志符nD和目的边界路由器标志符n2分别设置为源地址字段和目的地址字段。目的D将反向洋葱O放入反向建链报文SP的Onion字段。
2.4.2.2)目的D利用目的秘密密钥kD,密钥地址封装有效期expc,与2.4.1)得到的源S与目的D的共享密钥sD,计算内层转发封装FCin:FCin←ENC(kD,IVD,expc||sD),并将其放入反向建链报文SP的负载字段。IVD表示目的D的随机偏移量。
2.4.2.3)目的D取出正向建链报文SP内负载字段的一次返回封装[RC][1],利用2.4.1)得到的源S与目的D的共享密钥sD对从[RC][1]进行PRP操作得到二次置换返回封装[RC][2]:[RC][2]=π(sD,[RC][1])。目的D将[RC][2]放入反向建链报文SP的负载字段。
2.4.2.4)目的D将反向建链报文SP发出。
2.5)目的边界路由器B2接受到SP后,以如下方式处理:
2.5.1)目的边界路由器B2检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP
2.5.2)目的边界路由器B2取出SP中Onion字段的反向洋葱O,并利用B2的私钥x2对其处理:
Figure BDA0002621952230000061
其中
Figure BDA0002621952230000062
是一次变换反向洋葱。之后,目的边界路由器B2
Figure BDA0002621952230000068
写入反向建链报文SP的Onion字段;将目的边界路由器的标识符n2,源边界路由器的标识符n1分别写入反向建链报文SP的源地址字段和目的地址字段。
2.5.3)目的边界路由器B2取出SP内负载字段的内层转发封装FCin,利用目的边界路由器秘密密钥k1,密钥-地址封装的有效期expc,目的标志符nD,和2.5.2)得到的目的D与目的边界路由器B2的反向共享密钥
Figure BDA0002621952230000063
计算转发封装FC:
Figure BDA0002621952230000064
Figure BDA0002621952230000065
其中IV2表示目的边界路由器B2的随机偏移量。之后,目的边界路由器B2将转发封装FC写入SP的负载字段。
2.5.5)目的边界路由器B2取出SP内负载字段的二次置换返回封装[RC][2],利用2.5.2)得到的源S与目的边界路由器B2的反向共享密钥
Figure BDA0002621952230000066
对[RC][2]进行PRP置换得到三次置换返回封装[RC][3]
Figure BDA0002621952230000067
之后,目的边界路由器B2将[RC][3]写入SP的负载字段。
2.5.6)目的边界路由器B2将反向建链报文SP发出。
2.6)源边界路由器B1接收到反向建链报文SP后,以如下方式处理:
2.6.1)源边界路由器B1检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP
2.6.2)源边界路由器B1取出SP中Onion字段的一次变换反向洋葱
Figure BDA0002621952230000071
并利用B1的私钥x1对其处理:
Figure BDA0002621952230000072
其中
Figure BDA0002621952230000073
是二次变换反向洋葱。之后,源边界路由器B1
Figure BDA0002621952230000074
写入反向建链报文SP的Onion字段;将源边界路由器标识符n1,源标识符nS分别写入SP的源地址字段和目的地址字段。
2.6.3)源边界路由器B1取出SP中负载字段的三次置换返回封装[RC][3]和转发封装FC,利用2.6.2)得到的源S与源边界路由器B1的反向共享密钥
Figure BDA0002621952230000075
对[RC][3]和FC进行PRP置换得到四次置换返回封装[RC][4]
Figure BDA0002621952230000076
和一次置换转发封装[FC][1]
Figure BDA0002621952230000077
源边界路由器B1将四次置换返回封装[RC][4]和一次置换转发封装[FC][1]写入SP的负载字段。
2.6.4)源边界路由器B1将反向建链报文SP发出。
2.7)源S接收到反向建链报文SP后,按以下方式进行处理:
2.7.1)源S检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP
2.7.2)源S取出SP中Onion字段的二次变换反向洋葱
Figure BDA00026219522300000719
并利用S的私钥xs对其处理:
Figure BDA0002621952230000078
2.7.3)源S取出SP中负载字段的四次置换返回封装[RC][4]和一次置换转发封装[FC][1],利用保存的共享密钥
Figure BDA0002621952230000079
和2.7.2)获得的源S与目的D的共享密钥sD对[RC][4]和[FC][1]进行PRP置换从而分别得到返回封装RC:
Figure BDA00026219522300000710
和转发封装FC:
Figure BDA00026219522300000711
Figure BDA00026219522300000712
第三步:数据通信。在数据通信阶段,利用数据报文DP进行通信。每个数据报文DP均由数据头部(Hdrdp)字段,载荷字段,负载字段,签名字段四部分构成。其中头部字段又包括类型(type)字段,持续时间(exp)字段和随机数(nonce)字段。第一个数据报文将第二步最后产生的RC写入负载字段发送给目的D以支持匿名回复。具体步骤如下:
3.1)源S按照以下步骤构造正向数据报文DP
3.1.1)源S利用源S与目的边界路由器B2的共享密钥
Figure BDA00026219522300000713
源S与目的D的共享密钥sD对消息m进行加密得到二次密文
Figure BDA00026219522300000714
和一次密文
Figure BDA00026219522300000715
Figure BDA00026219522300000716
其中IVm是消息m的偏移量,IVm′是消息m的置换偏移量:
Figure BDA00026219522300000717
之后,源S将二次密文
Figure BDA00026219522300000718
放入DP的负载字段。
3.1.2)源S设定DP中Hdrdp字段的exp字段为数据超时时间expdp;nonce字段为消息m的置换偏移量IVm′;目的地址字段和源地址字段为目的边界路由器标识符n2,源边界路由器标识符n1。此外,源S设定DP中载荷字段为2.7.3)得到的转发封装FC。
3.1.3)源S利用源的群私钥gsks,转发封装FC,二次密文
Figure BDA0002621952230000081
数据头部Hdrdp,生成数据群签名σ:
Figure BDA0002621952230000082
此外,源S利用2.1.4)缓存的快速验证缓存φs,转发封装FC,二次密文
Figure BDA0002621952230000083
数据头部Hdrdp,生成挑战c:
Figure BDA0002621952230000084
其中H(·)代表哈希函数。之后,源S将c||σ写入DP的签名字段。
3.1.4)源S将正向数据报文DP发出。
3.2)当目的边界路由器B2接收到DP,按照如下步骤处理:
3.2.1)目的边界路由器B2检查DP中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP
3.2.2)目的边界路由器B2取出DP的数据头部Hdrdp字段,载荷字段的转发封装FC,负载字段的二次密文
Figure BDA0002621952230000085
和签名字段的挑战c,并利用2.3.4)缓存的快速验证路由器缓存
Figure BDA0002621952230000086
对c进行验证:计算
Figure BDA0002621952230000087
是否成立。如果不成立,则验证失败,跳转到第四步。否则继续执行。
3.2.3)目的边界路由器B2取出DP中载荷字段的转发封装FC,利用B2的秘密密钥k2和随机偏移量IV2对FC进行解密:
Figure BDA0002621952230000088
其中DEC利用AES-GCM算法。若解密失败,则丢弃报文。之后,目的边界路由器B2设置DP中Hdrdp字段的目的地址字段为nD;设置DP中载荷字段为内部转发封装FCin
3.2.4)目的边界路由器B2取出DP中Hdrdp字段的nonce字段的消息m的置换偏移量IVm′,利用3.2.3)获得的目的D与目的边界路由器B2的反向共享密钥
Figure BDA0002621952230000089
对二次密文
Figure BDA00026219522300000810
进行解密得到一次密文
Figure BDA00026219522300000811
同时,更新DP中Hdrdp字段的nonce字段为消息m的偏移量IVm
Figure BDA00026219522300000812
之后,目的边界路由器B2将一次密文
Figure BDA00026219522300000813
写入
Figure BDA00026219522300000814
的负载字段。
3.2.5)目的边界路由器B2将正向数据报文DP发出。
3.3)当目的D接收到DP,按照如下步骤处理:
3.3.1)目的D检查DP中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP
3.3.2)目的D取出DP中载荷字段的内部转发封装FCin,利用目的D的秘密密钥kD和随机偏移量IVD对FCin解密:{expc,sD}←DEC(kD,IVD,FCin)。
3.3.3)目的D取出DP中nonce字段的消息m的随机偏移量IVm,和负载字段的一次密文
Figure BDA00026219522300000815
利用3.3.2)获得的源S与目的D的共享密钥sD
Figure BDA00026219522300000816
进行解密得到消息m:
Figure BDA0002621952230000091
3.3.4)如果目的D需要发送回复消息m,则构造反向数据报文DP,按照以下步骤处理:
3.3.4.1)目的D利用3.3.2)获得的源S与目的D的共享密钥sD加密回复消息m得到一次回复密文
Figure BDA0002621952230000092
其中
Figure BDA0002621952230000093
是m的随机偏移量。之后,目的D将一次回复密文
Figure BDA0002621952230000094
放入反向数据报文DP的负载字段。
3.3.4.2)目的D设置DP中Hdrdp字段的exp字段为数据超时时间expdp;nonce字段为
Figure BDA0002621952230000095
目的地址字段和源地址字段为源边界路由器标识符n1,目的边界路由器标识符n2
3.3.4.3)目的D设置DP的载荷字段为返回封装RC。之后,目的D将反向数据报文DP发出。
3.4)当源边界路由器B1接收到反向数据报文DP,按照如下步骤处理:
3.4.1)源边界路由器B1检查DP中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP
3.4.2)源边界路由器B1取出DP中载荷字段的返回封装RC,利用B1的秘密密钥k1和随机偏移量IV1对RC进行解密:
Figure BDA0002621952230000096
若解密失败,则丢弃报文。之后,源边界路由器B1设置DP中Hdrdp字段的目的地址字段为源标识符nS;设置DP中载荷字段为内部返回封装RCin
3.4.3)源边界路由器B1取出DP中Hdrdp字段的nonce字段的m的随机偏移量
Figure BDA0002621952230000097
计算m的置换随机偏移量
Figure BDA0002621952230000098
源边界路由器B1取出中负载字段的一次回复密文
Figure BDA0002621952230000099
利用3.4.2)获得的源S与源边界路由器B1的共享密钥
Figure BDA00026219522300000910
对一次回复密文
Figure BDA00026219522300000911
进行加密得到二次回复密文
Figure BDA00026219522300000912
Figure BDA00026219522300000913
之后,设置DP中Hdrdp字段的nonce字段为
Figure BDA00026219522300000914
设置DP中负载字段为二次回复密文
Figure BDA00026219522300000915
3.4.4)源边界路由器B1将反向数据报文DP发出。
3.5)当源S收到DP后,进行如下处理:
3.5.1)源S检查DP中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP
3.5.2)源S取出DP中载荷字段的内部返回封装RCin,利用源S的秘密密钥kS和随机偏移量IVs解密RCin:得到sD←DEC(ks,IVs,RCin)。
3.5.3)源S取出DP中Hdrdp字段的nonce字段的m的置换随机偏移量
Figure BDA00026219522300000916
和负载字段的二次回复密文
Figure BDA00026219522300000917
利用源S与源边界路由器B1的正向共享密钥
Figure BDA00026219522300000918
Figure BDA00026219522300000919
Figure BDA00026219522300000920
进行解密得到一次回复密文
Figure BDA00026219522300000921
和m的随机偏移量
Figure BDA0002621952230000101
再利用3.5.2)获得的源S和目的D的共享密钥sD对一次回复密文
Figure BDA0002621952230000102
解密得到回复消息m
Figure BDA0002621952230000103
Figure BDA0002621952230000104
第四步:恶意流处理。一旦转发路径上的某一路由器Rr验证群签名出错,遇到恶意流,执行以下操作:
4.1)Rr发送关闭请求(Shutoff Request,SR)给源边界路由器B1,SR中包含验证出错的群签名的所属报文P和Rr的数字签名Sigr:SR={P,Sigr},其中
Figure BDA0002621952230000105
RSASP1方法见RFC8017。
Figure BDA0002621952230000106
是Rr的私钥,
Figure BDA0002621952230000107
是Rr的公钥。
4.2)边界路由器B2接收到SR后,将其进一步转发给群管理员。
4.3)群管理员接收到SR后,利用
Figure BDA0002621952230000108
验证SR:
Figure BDA0002621952230000109
若是非法数字签名则丢弃。之后,打开报文P中的群签名σ来获取消息源的标志符ns←Open(gpk,gmsk,P,σ)。(Open方法见文献“Short Group Signatures(短群签名)”Boneh,Boyen,Shacham et al.,Advances in Cryptology–CRYPTO 2004,41-55)。
4.3.1)如果消息打开失败,或者ns为伪造,管理员则要求源边界路由器B1丢弃源地址为ns的报文。
采用本发明可以达到以下技术效果:
1.在网络层同时提供隐私保护和追责能力。该协议对用户的身份隐私和数据隐私均能提供较好的保护。同时,为服务提供商提供对恶意流的检测和追责能力,有效预防地址欺骗攻击。
2.本方案提供广泛且高效的追责性。相比于APIP,节省了验证时的通信开销;相比于APNA,提供了全网范围内的验证能力。
3.利用群签名的分离验证机制,支持对群签名的快速验证,相对于已有的批处理和预计算方案,本方案能够更大程度的提升验证效率。
4.本发明利用洋葱机制和密钥-地址封装对元数据隐私提供有效保护,避免了通信端地址,长度等元数据的泄漏。
5.本发明支持流快速关闭机制,在遇到恶意流后能够快速对流进行关闭。
附图说明
图1是本发明总的流程图。
图2是本发明针对的网络拓扑及群签名使用示意图。
图3是本发明中的报文结构。
图4是本发明链路建立阶段的报文转发流程图。
图5是本发明数据通信阶段的报文转发流程图。
图6是本发明与其他方案的时延对比图。
图7是本发明与其他方案的实际吞吐量对比图。
具体实施方式:
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,图1是本发明总的流程图,本发明步骤包括:
第一步:系统初始化。图2展示了本发明的网络拓扑。开启会话之前,群管理员首先生成群内关键密钥:群管理私钥,群公钥及群用户私钥,并将群用户私钥分发给群内合法用户。同时,每个路径上的节点进行初始化。
第二步:链路建立。链路建立阶段的报文转发流程图如图4所示。链路建立报文结构参考图3。
2.1)源S首先构造正向建链报文SP。源S首先构造SP的建链头部字段,并生成正向洋葱O放入SP的Onion字段。之后,源S生成内层返回封装并写入SP的负载字段。此外,生成建链群签名写入SP的群签名字段。最终发出正向建链报文SP
2.2)源边界路由器B1接收到正向建链报文SP后,依次对SP的建链头部字段,Onion字段,负载字段,和群签名字段处理后,发出正向建链报文。
2.3)目的边界路由器B2接收到正向建链报文SP后,依次对SP的建链头部字段,Onion字段,负载字段,和群签名字段处理后,发出正向建链报文。
2.4)目的D接收到正向建链报文SP后,依次对SP的建链头部字段,Onion字段进行处理。之后,目的D构造反向建链报文SP的建链头部字段,Onion字段,负载字段。最终发出反向建链报文SP
2.5)目的边界路由器B2接收到反向建链报文SP后,依次对SP的建链头部字段,Onion字段,负载字段进行处理后,发出反向建链报文。
2.6)源边界路由器B1接收到反向建链报文SP后,依次对SP的建链头部字段,Onion字段,负载字段进行处理后,发出反向建链报文。
2.7)源S接收到反向建链报文SP后,依次对SP的建链头部字段,Onion字段,负载字段进行处理,得到返回封装RC和转发封装FC。
第三步:数据通信。数据通信报文结构如图3所示,数据通信阶段的报文转发流程图如图5所示。具体步骤如下:
3.1)源端构造正向数据报文DP。源S首先对消息进行加密后放入DP的负载字段。其次,构造DP的数据头部字段和载荷字段。之后,源S生成群签名和挑战,并写入DP的签名字段。最后,源S将正向数据报文DP发出。
3.2)目的边界路由器B2接收到DP后,首先检查DP的数据头部字段,再对DP的群签名字段进行快速验证,若验证失败则跳转第四步,执行流关闭。之后B2处理载荷字段,并对负载字段进行处理。最后,发出正向数据报文DP
3.3)目的D接收到DP后,首先对DP的数据头部字段,载荷字段和负载字段进行处理。之后目的D构造反向数据报文DP的数据头部字段和载荷字段,加密回复消息后放入DP的负载字段。最后目的D将反向数据报文DP发出。
3.4)源边界路由器B1接收到反向数据报文DP后,首先检查数据头部字段,再对载荷字段进行处理,之后对负载字段的回复密文进行处理。最后源边界路由器B1发出反向数据报文DP
3.5)源S处理接收到反向数据报文DP后,首先检查数据头部字段,再对载荷字段进行处理,之后对负载字段的回复密文进行处理得到回复消息。
第四步:恶意流处理。当转发路径上的路由器验证群签名出错时,路由器向源边界路由器发送关闭请求。源边界路由器转发该请求至所在群的管理员。群管理员打开原始报文中的群签名。如果打开失败,或者主机标志确实为伪造,管理员向源边界路由器发送关闭指令,要求其丢弃拥有该主机标志的报文。
实验设置
实验目的是测试边界路由器的转发效率。本实验利用DPDK(Data PlaneDevelopment Kit)实现的软件路由器实现了上述协议的转发逻辑。软件路由器基于服务器实现,配备Intel Xeon E5-2600 CPU,32GB DDR4内存和两块Intel4*10Gb网卡。本实验利用Spirent测试仪来生成和分析报文,测试仪向输入端口发送报文,经过软件路由器处理,从输出端口发回测试仪分析。本实验主要测量了软件路由器的转发延迟和实际吞吐量。
转发延迟对比
图6(a)是本发明与其他协议的转发时延对比图(APGS代表本发明)。由图可以看出,本方案比HORNET延迟稍高约大概20us。但是,随着路径上的节点数增加,本方案延迟明显低于HORNET,因为本方案只在边界路由器进行密码操作。如图6(b)所示,当路径上有四个路由器处理报文,APGS与APNA的性能类似,大约能够节省70%的HORNET的转发延迟。
实际吞吐量对比
图7是各协议的实际吞吐量的对比图。其中竖轴代表了各方案与IP的吞吐率的比值。由图可以看出,随着报文大小的增长,每种协议的吞吐率均有较大程度的上升。总体来讲,由于需要群签名的验证,在仅有单个路由器处理的情况下,本方案的吞吐率比HORNET稍低。然而,当报文负载超过400字节,本方案依然能够达到60%-80%的IP实际吞吐量。

Claims (4)

1.一种具备元数据隐私保护和源追责能力的路由方法,其特征在于,该方法包括以下步骤:
第一步:系统初始化:
1.1)群初始化
1.1.1)群管理员利用KeyGen(n)生成群管理私钥,群公钥,和n个群私钥,n是群内成员的数量;
1.1.2)源向群管理员建立TLS连接并发送密钥获取请求;
1.1.3)群管理员选择n个群私钥中的一个发送给源,并将其命名为源的群私钥;
1.2)路径节点初始化:路径节点包括源S,源边界路由器B1,目的边界路由器B2和目的D;路径节点的标志符分别是源标志符ns,源边界路由器标志符n1,目的边界路由器标志符n2和目的标志符nD
1.2.1)路径节点{S,B1,B2,D}各维护一把秘密密钥,分别是源秘密密钥ks,源边界路由器秘密密钥k1,目的边界路由器秘密密钥k2,目的秘密密钥kD;同时,每个路径节点分别维护一对非对称密钥(x,y),x为私钥,y为公钥,y=gx,其中g为椭圆曲线x25519的生成元;由此,路径节点{S,B1,B2,D}分别持有
Figure FDA0002621952220000011
Figure FDA0002621952220000012
1.2.2)源S通过带外信道获取{B1,B2,D}的公钥
Figure FDA0002621952220000013
和标志符{n1,n2,nD};源S利用随机数ri对其私钥xs进行随机化,获得源随机私钥
Figure FDA0002621952220000014
Figure FDA0002621952220000015
Figure FDA0002621952220000016
1.2.3)源S根据DH密钥交换协议,利用源随机私钥
Figure FDA0002621952220000017
分别与源边界路由器B1的公钥y1,生成源S与源边界路由器B1的正向共享密钥
Figure FDA0002621952220000018
与反向共享密钥
Figure FDA0002621952220000019
与目的边界路由器B2的公钥y2,生成源S与目的边界路由器B2的正向共享密钥
Figure FDA00026219522200000110
与反向共享密钥
Figure FDA00026219522200000111
与目的D的公钥yD生成生成源S与目的D的共享密钥sD
第二步:链路建立:源S通过链路建立生成“密钥-地址封装”,“密钥-地址封装”包括转发封装和返回封装;链路建立利用建链报文进行通信,每个建链报文SP均由建链头部字段,洋葱字段,负载字段,群签名字段四部分构成;其中头部字段又包括类型字段,持续时间字段,保留字段,以及源地址字段和目的地址字段;每个建链报文均被填充至512字节来防范关联攻击;具体步骤如下:
2.1)源S按照以下步骤构造正向建链报文SP:
2.1.1)源S设置SP中Hdrsp字段的exp字段为建链超时时间expsp,设置type字段和rev字段为0,并将源标志符ns和源边界路由器标志符n1分别设置为源地址字段和目的地址字段;
2.1.2)源S利用路径上{B1,B2,D}的公钥
Figure FDA0002621952220000021
和标志符{n1,n2,nD},以及源S与源边界路由器B1的正向共享密钥
Figure FDA0002621952220000022
与反向共享密钥
Figure FDA0002621952220000023
源S与目的边界路由器B2的正向共享密钥
Figure FDA0002621952220000024
与反向共享密钥
Figure FDA0002621952220000025
以及源S与目的D的共享密钥sD,生成反向洋葱O和正向洋葱O
Figure FDA0002621952220000026
Figure FDA0002621952220000027
Figure FDA0002621952220000028
其中ε为随机选取的字符串;源S将正向洋葱O放入SP的Onion字段;
2.1.3)源S利用源S的秘密密钥ks、源S和目的D的共享密钥sD计算内层返回封装RCin:RCin←ENC(ks,IVs,expc||sD),其中,IVs是源的随机偏移量,expc是密钥-地址封装有效期,ENC代表的加密算法是AES-GCM算法,‘||’表示拼接操作;之后,源S将内层返回封装RCin写入SP的负载字段;
2.1.4)源S利用源的群私钥gsks,对二次变换正向洋葱
Figure FDA0002621952220000029
生成建链群签名σs
Figure FDA00026219522200000210
并将签名生成过程中产生的快速验证缓存
Figure FDA00026219522200000211
Figure FDA00026219522200000212
缓存在本地,T1,T2,T3,
Figure FDA00026219522200000213
均为生成群签名时产生的中间量;同时,源S利用源S与源边界路由器B1的正向共享密钥
Figure FDA00026219522200000214
对σs进行伪随机置换生成一次置换建链群签名[σs]:
Figure FDA00026219522200000215
其中,π代表PRP操作,之后,源S将一次置换建链群签名[σs]写入SP的群签名字段;
2.1.5)源S将正向建链报文SP发出;
2.2)源边界路由器B1接收到正向建链报文SP后,按以下方式进行处理:
2.2.1)源边界路由器B1检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP,tcurr是源边界路由器B1接收到正向建链报文SP的时间;
2.2.2)源边界路由器B1取出SP内Onion字段的正向洋葱O,利用源边界路由器B1的私钥x1对其处理,得到源S与源边界路由器B1的正向共享密钥
Figure FDA00026219522200000216
Figure FDA00026219522200000217
其中
Figure FDA00026219522200000218
是一次变换正向洋葱,之后,源边界路由器B1
Figure FDA00026219522200000219
写入SP的Onion字段;将源边界路由器的标志符n1,目的边界路由器的标志符n2写入SP中Hdrsp字段的源地址字段和目的地址字段;
2.2.3)源边界路由器R1取出SP内负载字段的内层返回封装RCin,利用源边界路由器秘密密钥k1,密钥-地址封装的有效期expc,源标志符ns,和2.2.2)得到的源S与源边界路由器B1的正向共享密钥
Figure FDA00026219522200000220
计算返回封装RC:
Figure FDA00026219522200000221
Figure FDA00026219522200000222
其中IV1表示源边界路由器B1的随机偏移量;
2.2.4)源边界路由器B1取出SP内群签名字段的一次置换建链群签名[σs],利用2.2.2)得到的源S与源边界路由器B1的正向共享密钥
Figure FDA0002621952220000031
对[σs]进行逆向PRP得到建链群签名σs
Figure FDA0002621952220000032
π-1代表逆向PRP操作;源边界路由器B1将建链群签名σs写入SP的群签名字段;
2.2.5)源边界路由器B1将正向建链报文SP发出;
2.3)目的边界路由器B2接收到正向建链报文SP后,按以下方式进行处理:
2.3.1)目的边界路由器B2检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP
2.3.2)目的边界路由器B2取出SP中Onion字段的一次变换正向洋葱
Figure FDA0002621952220000033
利用目的边界路由器B2的私钥x2对其处理:
Figure FDA0002621952220000034
其中
Figure FDA0002621952220000035
是二次变换正向洋葱;之后,源边界路由器B1
Figure FDA0002621952220000036
写入SP的Onion字段;将目的边界路由器的标志符n2,目的标志符nD写入SP中Hdrsp字段的源地址字段和目的地址字段;
2.3.3)目的边界路由器B2取出SP中负载字段的返回封装RC,利用2.3.2)得到的源S与目的边界路由器B2的正向共享密钥
Figure FDA0002621952220000037
对RC进行PRP操作得到一次置换返回封装[RC][1]
Figure FDA0002621952220000038
2.3.4)目的边界路由器B2取出SP内群签名字段的建链群签名σs,利用群公钥gpk对2.3.2获得的二次变换正向洋葱
Figure FDA0002621952220000039
进行验证:
Figure FDA00026219522200000310
验证过程会生成快速验证路由器缓存
Figure FDA00026219522200000311
若d=0,则丢弃报文,否则,将
Figure FDA00026219522200000312
缓存在本地;
2.3.4)目的边界路由器B2将正向建链报文SP发出;
2.4)目的D接收到正向建链报文SP后,按以下方式进行处理:
2.4.1)目的D检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP,目的D取出SP内Onion字段的二次变换正向洋葱
Figure FDA00026219522200000313
利用目的D的私钥xD进行处理:
Figure FDA00026219522200000314
2.4.2)目的D以如下方式构建反向建链报文SP
2.4.2.1)目的D设置SP中Hdrsp字段的exp字段为建链超时时间expsp,设置type字段和rev字段为0,并将目的标志符nD和目的边界路由器标志符n2分别设置为源地址字段和目的地址字段;目的D将反向洋葱O放入反向建链报文SP的Onion字段;
2.4.2.2)目的D利用目的秘密密钥kD,密钥地址封装有效期expc,与2.4.1)得到的源S与目的D的共享密钥sD,计算内层转发封装FCin:FCin←ENC(kD,IVD,expc||sD),并将其放入反向建链报文SP的负载字段,IVD表示目的D的随机偏移量;
2.4.2.3)目的D取出正向建链报文SP内负载字段的一次返回封装[RC][1],利用2.4.1)得到的源S与目的D的共享密钥sD对从[RC][1]进行PRP操作得到二次置换返回封装[RC][2]:[RC][2]=π(sD,[RC][1]);目的D将[RC][2]放入反向建链报文SP的负载字段;
2.4.2.4)目的D将反向建链报文SP发出;
2.5)目的边界路由器B2接受到SP后,以如下方式处理:
2.5.1)目的边界路由器B2检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP
2.5.2)目的边界路由器B2取出SP中Onion字段的反向洋葱O,并利用B2的私钥x2对其处理:
Figure FDA0002621952220000041
其中
Figure FDA0002621952220000042
是一次变换反向洋葱;之后,目的边界路由器B2
Figure FDA0002621952220000043
写入反向建链报文SP的Onion字段;将目的边界路由器的标识符n2,源边界路由器的标识符n1分别写入反向建链报文SP的源地址字段和目的地址字段;
2.5.3)目的边界路由器B2取出SP内负载字段的内层转发封装FCin,利用目的边界路由器秘密密钥k1,密钥-地址封装的有效期expc,目的标志符nD,和2.5.2)得到的目的D与目的边界路由器B2的反向共享密钥
Figure FDA0002621952220000044
计算转发封装FC:
Figure FDA0002621952220000045
Figure FDA0002621952220000046
其中IV2表示目的边界路由器B2的随机偏移量;之后,目的边界路由器B2将转发封装FC写入SP的负载字段;
2.5.5)目的边界路由器B2取出SP内负载字段的二次置换返回封装[RC][2],利用2.5.2)得到的源S与目的边界路由器B2的反向共享密钥
Figure FDA0002621952220000047
对[RC][2]进行PRP置换得到三次置换返回封装[RC][3]
Figure FDA0002621952220000048
之后,目的边界路由器B2将[RC][3]写入SP的负载字段;
2.5.6)目的边界路由器B2将反向建链报文SP发出;
2.6)源边界路由器B1接收到反向建链报文SP后,以如下方式处理:
2.6.1)源边界路由器B1检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP
2.6.2)源边界路由器B1取出SP中Onion字段的一次变换反向洋葱
Figure FDA0002621952220000049
并利用B1的私钥x1对其处理:
Figure FDA00026219522200000410
其中
Figure FDA00026219522200000411
是二次变换反向洋葱;之后,源边界路由器B1
Figure FDA00026219522200000412
写入反向建链报文SP的Onion字段;将源边界路由器标识符n1,源标识符nS分别写入SP的源地址字段和目的地址字段;
2.6.3)源边界路由器B1取出SP中负载字段的三次置换返回封装[RC][3]和转发封装FC,利用2.6.2)得到的源S与源边界路由器B1的反向共享密钥
Figure FDA0002621952220000051
对[RC][3]和FC进行PRP置换得到四次置换返回封装[RC][4]
Figure FDA0002621952220000052
和一次置换转发封装[FC][1]
Figure FDA0002621952220000053
源边界路由器B1将四次置换返回封装[RC][4]和一次置换转发封装[FC][1]写入SP的负载字段;
2.6.4)源边界路由器B1将反向建链报文SP发出;
2.7)源S接收到反向建链报文SP后,按以下方式进行处理:
2.7.1)源S检查SP中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP
2.7.2)源S取出SP中Onion字段的二次变换反向洋葱
Figure FDA0002621952220000054
并利用S的私钥xs对其处理:
Figure FDA0002621952220000055
2.7.3)源S取出SP中负载字段的四次置换返回封装[RC][4]和一次置换转发封装[FC][1],利用保存的共享密钥
Figure FDA0002621952220000056
和2.7.2)获得的源S与目的D的共享密钥sD对[RC][4]和[FC][1]进行PRP置换从而分别得到返回封装RC:
Figure FDA0002621952220000057
和转发封装FC:
Figure FDA0002621952220000058
Figure FDA0002621952220000059
第三步:数据通信:在数据通信阶段,利用数据报文DP进行通信;每个数据报文DP均由数据头部字段,载荷字段,负载字段,签名字段四部分构成;其中头部字段又包括类型字段,持续时间字段和随机数字段;第一个数据报文将第二步最后产生的RC写入负载字段发送给目的D以支持匿名回复;具体步骤如下:
3.1)源S按照以下步骤构造正向数据报文DP
3.1.1)源S利用源S与目的边界路由器B2的共享密钥
Figure FDA00026219522200000510
源S与目的D的共享密钥sD对消息m进行加密得到二次密文
Figure FDA00026219522200000511
和一次密文
Figure FDA00026219522200000512
Figure FDA00026219522200000513
Figure FDA00026219522200000514
其中IVm是消息m的偏移量,IVm′是消息m的置换偏移量:
Figure FDA00026219522200000515
之后,源S将二次密文
Figure FDA00026219522200000516
放入DP的负载字段;
3.1.2)源S设定DP中Hdrdp字段的exp字段为数据超时时间expdp;nonce字段为消息m的置换偏移量IVm′;目的地址字段和源地址字段为目的边界路由器标识符n2,源边界路由器标识符n1;此外,源S设定DP中载荷字段为2.7.3)得到的转发封装FC;
3.1.3)源S利用源的群私钥gsks,转发封装FC,二次密文
Figure FDA00026219522200000517
数据头部Hdrdp,生成数据群签名σ:
Figure FDA00026219522200000518
此外,源S利用2.1.4)缓存的快速验证缓存φs,转发封装FC,二次密文
Figure FDA00026219522200000519
数据头部Hdrdp,生成挑战c:
Figure FDA00026219522200000520
其中H(·)代表哈希函数;之后,源S将c||σ写入DP的签名字段;
3.1.4)源S将正向数据报文DP发出;
3.2)当目的边界路由器B2接收到DP,按照如下步骤处理:
3.2.1)目的边界路由器B2检查DP中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP
3.2.2)目的边界路由器B2取出DP的数据头部Hdrdp字段,载荷字段的转发封装FC,负载字段的二次密文
Figure FDA0002621952220000061
和签名字段的挑战c,并利用2.3.4)缓存的快速验证路由器缓存
Figure FDA0002621952220000062
对c进行验证:计算
Figure FDA0002621952220000063
是否成立;如果不成立,则验证失败,跳转到第四步;否则继续执行;
3.2.3)目的边界路由器B2取出DP中载荷字段的转发封装FC,利用B2的秘密密钥k2和随机偏移量IV2对FC进行解密:
Figure FDA0002621952220000064
若解密失败,则丢弃报文;之后,目的边界路由器B2设置DP中Hdrdp字段的目的地址字段为nD;设置DP中载荷字段为内部转发封装FCin
3.2.4)目的边界路由器B2取出DP中Hdrdp字段的nonce字段的消息m的置换偏移量IVm′,利用3.2.3)获得的目的D与目的边界路由器B2的反向共享密钥
Figure FDA0002621952220000065
对二次密文
Figure FDA0002621952220000066
进行解密得到一次密文
Figure FDA0002621952220000067
Figure FDA0002621952220000068
同时,更新DP中Hdrdp字段的nonce字段为消息m的偏移量IVm
Figure FDA0002621952220000069
之后,目的边界路由器B2将一次密文
Figure FDA00026219522200000610
写入DP的负载字段;
3.2.5)目的边界路由器B2将正向数据报文DP发出;
3.3)当目的D接收到DP,按照如下步骤处理:
3.3.1)目的D检查DP中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP
3.3.2)目的D取出DP中载荷字段的内部转发封装FCin,利用目的D的秘密密钥kD和随机偏移量IVD对FCin解密:{expc,sD}←DEC(kD,IVD,FCin);
3.3.3)目的D取出DP中nonce字段的消息m的随机偏移量IVm,和负载字段的一次密文
Figure FDA00026219522200000611
利用3.3.2)获得的源S与目的D的共享密钥sD
Figure FDA00026219522200000612
进行解密得到消息m:
Figure FDA00026219522200000613
3.3.4)如果目的D需要发送回复消息m,则构造反向数据报文DP,按照以下步骤处理:
3.3.4.1)目的D利用3.3.2)获得的源S与目的D的共享密钥sD加密回复消息m得到一次回复密文
Figure FDA00026219522200000614
Figure FDA00026219522200000615
其中
Figure FDA00026219522200000616
是m的随机偏移量;之后,目的D将一次回复密文
Figure FDA00026219522200000617
放入反向数据报文DP的负载字段;
3.3.4.2)目的D设置DP中Hdrdp字段的exp字段为数据超时时间expdp;nonce字段为
Figure FDA0002621952220000071
目的地址字段和源地址字段为源边界路由器标识符n1,目的边界路由器标识符n2
3.3.4.3)目的D设置DP的载荷字段为返回封装RC;之后,目的D将反向数据报文DP发出;
3.4)当源边界路由器B1接收到反向数据报文DP,按照如下步骤处理:
3.4.1)源边界路由器B1检查DP中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP
3.4.2)源边界路由器B1取出DP中载荷字段的返回封装RC,利用B1的秘密密钥k1和随机偏移量IV1对RC进行解密:
Figure FDA0002621952220000072
若解密失败,则丢弃报文;之后,源边界路由器B1设置DP中Hdrdp字段的目的地址字段为源标识符nS;设置DP中载荷字段为内部返回封装RCin
3.4.3)源边界路由器B1取出DP中Hdrdp字段的nonce字段的m的随机偏移量
Figure FDA0002621952220000073
计算m的置换随机偏移量
Figure FDA0002621952220000074
Figure FDA0002621952220000075
源边界路由器B1取出中负载字段的一次回复密文
Figure FDA0002621952220000076
利用3.4.2)获得的源S与源边界路由器B1的共享密钥
Figure FDA0002621952220000077
对一次回复密文
Figure FDA0002621952220000078
进行加密得到二次回复密文
Figure FDA0002621952220000079
Figure FDA00026219522200000710
Figure FDA00026219522200000711
之后,设置DP中Hdrdp字段的nonce字段为
Figure FDA00026219522200000712
设置DP中负载字段为二次回复密文
Figure FDA00026219522200000713
3.4.4)源边界路由器B1将反向数据报文DP发出;
3.5)当源S收到DP后,进行如下处理:
3.5.1)源S检查DP中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP
3.5.2)源S取出DP中载荷字段的内部返回封装RCin,利用源S的秘密密钥kS和随机偏移量IVs解密RCin:得到sD←DEC(ks,IVs,RCin);
3.5.3)源S取出DP中Hdrdp字段的nonce字段的m的置换随机偏移量
Figure FDA00026219522200000714
和负载字段的二次回复密文
Figure FDA00026219522200000715
利用源S与源边界路由器B1的正向共享密钥
Figure FDA00026219522200000716
Figure FDA00026219522200000717
Figure FDA00026219522200000718
进行解密得到一次回复密文
Figure FDA00026219522200000719
Figure FDA00026219522200000720
和m的随机偏移量
Figure FDA00026219522200000721
Figure FDA00026219522200000722
再利用3.5.2)获得的源S和目的D的共享密钥sD对一次回复密文
Figure FDA00026219522200000723
解密得到回复消息m
Figure FDA00026219522200000724
Figure FDA00026219522200000725
第四步:恶意流处理:一旦转发路径上的某一路由器Rr验证群签名出错,遇到恶意流,执行以下操作:
4.1)Rr发送关闭请求给源边界路由器B1,SR中包含验证出错的群签名的所属报文P和Rr的数字签名Sigr:SR={P,Sigr},其中
Figure FDA00026219522200000726
Figure FDA00026219522200000727
是Rr的私钥,
Figure FDA0002621952220000081
是Rr的公钥;
4.2)边界路由器B2接收到SR后,将其进一步转发给群管理员;
4.3)群管理员接收到SR后,利用
Figure FDA0002621952220000082
验证SR:
Figure FDA0002621952220000083
若是非法数字签名则丢弃;之后,打开报文P中的群签名σ来获取消息源的标志符ns←Open(gpk,gmsk,P,σ);
4.3.1)如果消息打开失败,或者ns为伪造,管理员则要求源边界路由器B1丢弃源地址为ns的报文。
2.一种根据权利要求1所述具备元数据隐私保护和源追责能力的路由方法,其特征在于:2.1.3)中,ENC代表的加密算法是AES-GCM算法。
3.一种根据权利要求1所述具备元数据隐私保护和源追责能力的路由方法,其特征在于:2.1.4)中,PRP算法为LIONNESS算法。
4.一种根据权利要求1所述具备元数据隐私保护和源追责能力的路由方法,其特征在于:3.2.3)中,DEC利用AES-GCM算法。
CN202010792899.0A 2020-08-07 2020-08-07 一种具备元数据隐私保护和源追责能力的路由方法 Active CN111884816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010792899.0A CN111884816B (zh) 2020-08-07 2020-08-07 一种具备元数据隐私保护和源追责能力的路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010792899.0A CN111884816B (zh) 2020-08-07 2020-08-07 一种具备元数据隐私保护和源追责能力的路由方法

Publications (2)

Publication Number Publication Date
CN111884816A true CN111884816A (zh) 2020-11-03
CN111884816B CN111884816B (zh) 2022-05-17

Family

ID=73211372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010792899.0A Active CN111884816B (zh) 2020-08-07 2020-08-07 一种具备元数据隐私保护和源追责能力的路由方法

Country Status (1)

Country Link
CN (1) CN111884816B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636913A (zh) * 2021-03-05 2021-04-09 广东睿江云计算股份有限公司 一种密钥共享的组网方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103117852A (zh) * 2013-01-29 2013-05-22 无锡南理工科技发展有限公司 一种基于零知识证明的匿名路由协议
CN104780050A (zh) * 2015-04-23 2015-07-15 北京航空航天大学 基于椭圆曲线的前向安全的成员可撤销无证书群签名方案
CN108551435A (zh) * 2018-03-12 2018-09-18 北京航空航天大学 一种具有匿名性的可验证加密群签名方法
CN108886466A (zh) * 2016-01-18 2018-11-23 牛津大学创新有限公司 改进安全协议
US20190334715A1 (en) * 2018-04-26 2019-10-31 Microsoft Technology Licensing, Llc Cryptlet proofing services
US20200067907A1 (en) * 2018-08-21 2020-02-27 HYPR Corp. Federated identity management with decentralized computing platforms

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103117852A (zh) * 2013-01-29 2013-05-22 无锡南理工科技发展有限公司 一种基于零知识证明的匿名路由协议
CN104780050A (zh) * 2015-04-23 2015-07-15 北京航空航天大学 基于椭圆曲线的前向安全的成员可撤销无证书群签名方案
CN108886466A (zh) * 2016-01-18 2018-11-23 牛津大学创新有限公司 改进安全协议
CN108551435A (zh) * 2018-03-12 2018-09-18 北京航空航天大学 一种具有匿名性的可验证加密群签名方法
US20190334715A1 (en) * 2018-04-26 2019-10-31 Microsoft Technology Licensing, Llc Cryptlet proofing services
US20200067907A1 (en) * 2018-08-21 2020-02-27 HYPR Corp. Federated identity management with decentralized computing platforms

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636913A (zh) * 2021-03-05 2021-04-09 广东睿江云计算股份有限公司 一种密钥共享的组网方法
CN112636913B (zh) * 2021-03-05 2021-06-22 广东睿江云计算股份有限公司 一种密钥共享的组网方法

Also Published As

Publication number Publication date
CN111884816B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
Chen et al. HORNET: High-speed onion routing at the network layer
Wustrow et al. {TapDance}:{End-to-Middle} Anticensorship without Flow Blocking
Lychev et al. How secure and quick is QUIC? Provable security and performance analyses
Ahsan Covert channel analysis and data hiding in TCP/IP
Degraaf et al. Improved port knocking with strong authentication
Petullo et al. MinimaLT: minimal-latency networking through better security
Sengupta et al. Privacy-preserving network path validation
Joarder et al. A Survey on the Security Issues of QUIC
Mosko et al. Mobile sessions in content-centric networks
Lee et al. Communication based on per-packet One-Time Addresses
Schwenk IP Security (IPSec)
CN111884816B (zh) 一种具备元数据隐私保护和源追责能力的路由方法
Ghali et al. (The futility of) data privacy in content-centric networking
He et al. Pavi: Bootstrapping accountability and privacy to ipv6 internet
Westermann et al. Cryptographic protocol analysis of an. on
Wang et al. T-IP: A self-trustworthy and secure Internet protocol
Walker Internet security
EP1845468B1 (en) Method, computer network system and gate for identifying and controlling unsolicited traffic
Bernardo et al. A pragmatic approach: Achieving acceptable security mechanisms for high speed data transfer protocol-UDT
Yoshinaka et al. Feasibility of Network-layer Anonymity Protocols at Terabit Speeds using a Programmable Switch
Zuo et al. A novel software-defined network packet security tunnel forwarding mechanism
Tennekoon et al. On the effectiveness of IP-routable entire-packet encryption service over public networks (november 2018)
Hong et al. SEAL: Secure and Efficient Authentication using Linkage for Blockchain Networks
Nguyen et al. Developing Secure Messaging Software using Post-Quantum Cryptography
Zhang et al. Privacy-Preserving Traceable Encrypted Traffic Inspection in Blockchain-based Industrial IoT

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