满足便携文档格式的公平多方合同签署协议
2018-05-08张永强刘佳南田海博
张永强, 刘佳南, 田海博
(1. 数安时代科技股份有限公司, 广东 广州 510000;2. 中山大学 数据科学与计算机学院, 广东 广州 510006)
满足便携文档格式的公平多方合同签署协议
张永强1, 刘佳南2, 田海博2
(1. 数安时代科技股份有限公司, 广东 广州 510000;2. 中山大学 数据科学与计算机学院, 广东 广州 510006)
当前,便携文档格式中的多个数字签名与公平多方合同签署协议所交换的多个数字签名存在签署内容不一致的问题.文中尝试解决这一实际问题,构造以便携文档格式文件为载体的公平多方合同签署协议.采用了分布式的哈希计算方法,使得多个参与方可以在隐藏各自秘密的情况下,完成对一个共同消息的哈希;并采用传统的可验证加密签名技术,保障公平性,减少交互次数.最终获得了每次合同签署只需要与可信第三方交互一次的公平多方合同签署协议,并给出了该协议实际的性能参数.根据文中的结果,可以在实际应用中以便携文档格式文件为载体,多个参与方公平地签署一份文档,并通过普通的便携文档格式阅读器完成验证.
多方合同签署协议;便携文档格式;实际应用;公平性;数字签名
文献管理的国家标准《长期保存的电子文档文件格式》,明确了文献管理中需要长期保存的电子文档文件格式包括便携文档格式(Portable Document Format,PDF)1.4和1.7.通过文献[1-2]可知,PDF文档中所附加的数字签名在签署时需要包含当前的所有文档内容.以3个签名人在一份PDF文档中依次附加数字签名为例: 第2个签名人在第1个签名人签署文档之后可以修改文档,并对修改的内容和包括第1个签名人的数字签名在内的内容进行签署.类似地,第3个签名人的数字签名包括前两位签名人的数字签名.所以,PDF文档的多个数字签名所签署的内容各不相同.
公平性是许多领域中协议设计的一个基本要求[3-4].公平的合同签署协议(Fair Contract Signing Protocol, FCSP)是从19世纪80年代开始设计的协议.该协议与公平认证的邮件协议都归入公平交换协议这一门类中.按照对可信第三方(Trusted Third Party, TTP)的依赖程度,分3个子类对一些主要的协议进行简短的综述:
(1) 无TTP的协议.文献[5]基于Rabin加密体制给出了交换Rivest-Shamir-Adleman(RSA)加密体制秘密因子的协议.合同签署的参与人首先在合同中声明“知道RSA加密体制秘密因子的才算有效合同”,之后公平地交换RSA加密体制秘密因子,以达到公平合同签署的目的.文献[6-7]也给出了一些类似的无TTP的FCSP.
(2) 基于在线TTP的协议.文献[8]的FCSP需要第三方来保证每一次交换的公平性.文献[9]给出了一个基于所谓脆弱承诺方案的无滥用FCSP,要求准备签署合同的双方把合同交给第三方备案,需要在线TTP的支持.文献[10]给出了一个基于时间服务器的FCSP,其中的时间服务器扮演了在线TTP的角色.
(3) 可脱线TTP的协议.此类协议被称为最优的FCSP.文献[11]给出了一个FCSP,该协议中一份合同包括合同文本和一系列的随机数及其数字签名.签署合同的双方交换这些数字签名.如果交换过程中一方过早终止,则要求第三方给予仲裁.文献[12]中给出了基于可验证加密思想的FCSP,实现上使用了“分割-选择”协议.文献[13]给出了一个把普通签名和不可否认签名及其非交互证明作为最终数字签名的公平交换协议.文献[14]使用多方签名的技术构造FCSP.
上述分类中的协议大多是两方的交换协议,人们考虑到公平多方合同签署的需求,也提出了一些多方的协议.例如,文献[15]给出了一个使用可验证加密签名(Verifiable Encrypted Signature, VES)的多方公平交换协议,文献[16]给出了一个同步网络中广播信道下公平多方合同签署协议(Fair Multi-party Contract Signing Protocol, FMCSP),文献[17]给出了一个异步网络通信模式下的FMCSP,文献[18]给出了一个适用于各种拓扑结构的FMCSP,文献[19]把环签名和普通签名结合起来提供FMCSP.
总之,公平合同签署协议已经存在了比较多的技术路线和比较成熟的解决方案.不管是双方的协议还是多方的协议,都有一些理论上很漂亮的结果.然而,上述列举的所有协议都要求交换的数字签名是关于同一份PDF文档的,即每个数字签名所签署的PDF文档的内容完全相同.这就使得当前的理论结果与基于PDF文档公平签署合同的实际应用之间存在了差距.
文中采用分布式计算哈希函数的方法和传统的可验证加密签名体制,给出实际中可使用的FMCSP,并给出了协议的性能参数.
1 基础知识
1.1 VES
VES体制由文献[20]在2003年提出.一个VES体制包含3个参与实体,设为签名方、验证方和TTP,包含7个算法如下:
(1) (pk,sk)←KeyGen(n): 签名方输入安全参数n,输出验证公钥pk和私钥sk.
(2) (pkT,skT)←TTPKeyGen(nT): TTP输入安全参数nT,输出TTP公钥pkT和私钥skT.
(3)δ←Sign(sk,m): 签名方输入消息m和私钥sk,输出签名δ.
(4) {T,F}←Ver(pk,m,δ): 验证方输入消息m、签名方的公钥pk和数字签名δ,输出真假值.
(5)δVES←VESSign(sk,m,pkT): 签名方输入消息m、私钥sk和TTP公钥pkT,输出VES值δVES.
(6) {T,F}←VESVer(pk,pkT,m,δVES): 验证方输入消息m、签名方的公钥pk、TTP公钥pkT和VES 值δVES,输出真假值.
(7)δ←Adj(skT,δVES): TTP输入私钥skT和VES值δVES,输出普通签名δ.
在诸多的VES体制中,文献[21]中的体制可以把一个VES值恢复为普通的RSA数字签名,使得一个符合规范的PDF阅读器能够不借助额外的插件完成验证,具有独特的意义.当然,该体制的代价在于,注册时TTP需要为每一个签名方保留一个秘密值.
1.2 基于PDF的FMCSP模型
FMCSP通常假设k个参与人P1,…,Pk和一个可信第三方TTP.参与人可能是拜占庭式的,这样不诚实的参与人最多可以有k-1 个.所有参与人和TTP有公钥证书.
假设合同文本中按照P1,…,Pk的顺序包含所有参与人的身份信息,参与人也按照这样的顺序依次签名.参与人之间的通信由攻击者控制.攻击者可以任意修改、中断、延迟参与人之间的通信,但是只能延迟参与人和TTP的通信,延迟有上限,假设为TDMAX.
文中定义基于PDF的FMCSP安全目标如下:
(1) 如果参与人Pi(2≤i≤k)获得了包含签名人Pj(1≤j
(2) 所有参与人都可以在有限时间内结束协议的运行.
(3) 协议结束后,要么所有参与人都得到了包含所有参与人顺序签名的一份PDF文档,要么所有参与人都没有得到这样的文档.
2 基于PDF的FMCSP
2.1 分布式计算哈希函数
这里的哈希函数是迭代哈希函数,符合消息摘要(Message Digest,MD)的基本结构,例如安全哈希算法(Secure Hash Algorithm,SHA)系列.迭代哈希函数的一个特点是当压缩函数碰撞稳固时,该迭代哈希函数可证明的碰撞稳固.在工程实践中,单机计算哈希函数时,通常可以分为3个步骤:初始化步骤Hi、系列的更新步骤Hu和最后的结束步骤Hf.这3个步骤共用一个状态量Hctx.在Hi阶段,Hctx为具体SHA算法规定的初始值.随着每次Hu更新,Hctx包含了当前的状态值St和小于一个哈希函数分组长度的剩余输入内容.在Hf阶段,对Hctx中的剩余输入内容填充,达到哈希函数分组长度后进行最后一次压缩函数的计算,输出哈希值.
该协议具有以下性质:
2.2 FMCSP
考虑k个参与人中的3个P1、Pi和Pk,分别代表第1个签署PDF文档的参与人、中间签署PDF文档的任意参与人和最后一个签署PDF文档的参与人.所有参与人的公私钥用(pkPj,skPj)表示 (1≤j≤k),TTP的公私钥表示为(pkT,skT).PDF文档中合同的原始文本用mo表示,每个参与人自己修改的部分用mPj表示,按照PDF规范每次签名前所增加的描述信息表示为mdj.假设mPj可以为空,那么参与人Pj所签署的内容为
mo‖mP1‖δP1‖md1‖…‖mPj‖mdj.
(3)Pk与Pi的计算过程相同,惟一的不同在于Pk需要执行Hi,执行Hu更新mo,得到状态量Hctxmo,并发送消息签名对(m1,δm1,…,mk,δmk)与Hctxmo给TTP.发送Hctxmo的目的是向TTP隐藏合同文本,同时允许TTP完成验证.
(5)P1发送δP1给P2.Pi验证δP1,…,δPi-1,验证通过后发送δP1,…,δPi给Pi+1;否则,要求仲裁.Pk验证δP1,…,δPk-1,验证通过后,合成最终合同,并返回最终合同给Pk-1;否则,要求仲裁.Pi验证来自Pi+1最终合同,验证通过后转发给Pi-1;否则,要求仲裁.P1验证最终合同,验证出错要求仲裁.
上述协议中的参与人任何时刻都可以要求仲裁,仲裁协议如下: 参与人Pj向TTP提交合同文本Hctxmo的状态量,请求仲裁; TTP检查数据库中的条目,如果确实存在Hctxmo,就从该记录的各个VES签名中恢复普通签名,联系所有参与人(无论该参与人是否已经退出协议),向所有参与人发送普通签名; 否则,TTP不进行任何操作.
特别地,TTP可以设定一个合同签订的最长期限,例如1个月,并在数据库中保存该合同对应的通信脚本.当超过期限时,自动删除脚本,避免数据库无限增长.所有参与人也可以设定一个超时上限TOMAX,确保协议可以退出.
另外,当允许广播信道时,每个参与实体只需要广播1次消息,等待TTP的信号,然后各自再广播1次自己的真实签名值,就可以合成最终的合同文本,效率可以进一步的提升.
最后,该协议可以达到设定的安全目标:
(1) 所有参与人在TTP确认之后才会发出真实签名,而TTP确认意味着TTP可以恢复所有的签名,因此任意参与人如果在发出签名后收不到PDF文档,可以向TTP要求仲裁,获得包含后续签名人的签名,满足目标(1).
(2) 如果参与人在到达TOMAX之前,收到后续签名人返回的PDF文档,退出协议; 参与人在到达超时上限TOMAX之后,也可以退出协议,如果TTP一直没有确认,那么协议就确实终止了,如果TTP确认了,而参与人已经退出,TTP的指示信号会使得参与人重新加入协议执行过程; 如果TTP确认了,参与人在TOMAX- 2TDMAX时限内没有收到签名,参与人要求仲裁,从TTP处获得所有签名,然后退出协议,满足目标(2).
(3) 协议结束后,要么TTP从未确认,任何人都没得到含所有签名人的PDF文档; 要么TTP已经确认,所有人都完成了协议,获得了全部签名;要么TTP已经确认,有一方要求了仲裁,TTP联系所有人,确保所有人获得了全部签名,满足目标(3).
3 仿真结果
图1 两方公平合同签署时各方完成分布式签名所需时间
在Java运行环境1.8下,使用Bouncy Castle的bcprov-exe-jdk15-1.46库文件和iText软件的itextpdf-5.1.3库文件进行了仿真.具体的哈希函数采用了SHA-1版本,使用了Security Innovation公司的NTRU源代码库中提供的Java版本的SHA-1,重新编写了获取和设置状态的函数,其中状态获取函数保存了 64 B 的缓存区内容,20 B 的SHA状态量,4 B 的已处理数据的长度,4 B 的缓存区偏移量,计 92 B.具体的PDF签名过程与协议规范相同.
在单机上模拟了两方的公平合同签署过程中分布式签名步骤,甲乙双方完成分布式签名所需时间如图1所示.由甲方使用PdfTexify生成了仅包含若干字符的1个PDF文档大小约 16 KB.甲方首先签署文档,在Intel公司的i5-5200U 双核CPU,4 GB 内存的平台上,生成带有 1 024 B RSA数字签名的PDF文档所需时间平均约 231 ms,大小约 140 KB.之后甲方计算该文档的状态量,约需 24 ms,大小为 92 B.乙方在甲方状态量之上签署第2个数字签名,所需时间约 207 ms,所形成的带有两个数字签名的PDF文档大小约 267 KB.
4 结 束 语
文中给出了基于PDF文件和在线TTP的公平多方合同签署协议,并对分布式签名进行了仿真.
参考文献:
[1] ADOBE. Digital Signatures in a PDF[R/OL].[2016-12-20]. http://www.adobe.com/devnet-docs/acrobatetk/tools/DigSig/AcrobatDigitalSignaturesinPDF.pdf.
[2] ISO. Document Management-portable Document Format-part 1: Pdf 1.7: BS ISO 32000-1-2008[S/OL].[2016-12-20]. http://www.doc88.com/p-8176141686190.html.
[3] 陈俊杰, 周晖, 张小美. 一种公平性的智能电视系统资源分配算法[J]. 西安电子科技大学学报, 2016, 43(5): 139-146.
CHEN Junjie, ZHOU Hui, ZHANG Xiaomei. Fair Resource Allocation Algorithm for the Smart TV System[J]. Journal of Xidian University, 2016, 43(5): 139-146.
[4] 潘志鹏, 吴斌, 叶甜香. 多速率WLAN网络的时间公平调度算法[J]. 西安电子科技大学学报, 2016, 43(4): 128-134.
PAN Zhipeng, WU Bin, YE Tianxiang. Airtime Fairness Scheduling Algorithm for Multi-rate WLANs[J]. Journal of Xidian University, 2016, 43(4):128-134.
[5] BLUM M. How to Exchange (Secret) Keys[C]//Proceedings of the Annual ACM Symposium on Theory of Computing. New York: ACM, 1983: 440-447.
[6] EVEN S, ISRAEL T H. A Protocol for Signing Contracts[J]. ACM SIGACT News, 1983, 15(1): 34-39.
[7] GOLDREICH O. A Simple Protocol for Signing Contracts[C]//Advances in Cryptology. New York: Springer, 1984: 34-39.
[8] FRANKLIN M K, REITER M K. Fair Exchange with a Semi-trusted Third Party[C]//Proceedings of the ACM Conference on Computer and Communications Security. New York: ACM, 1997: 1-5.
[9] AL-SAGGAF A A, GHOUTI L. Efficient Abuse-free Fair Contract-signing Protocol Based on an Ordinary Crisp Commitment Scheme[J]. IET Information Security, 2015, 9(1): 50-58.
[10] WAN Z, DENG R H, LEE D. Electronic Contract Signing without Using Trusted Third Party[C]//Lecture Notes in Computer Science: 9408. Heidelberg: Springer Verlag, 2015: 386-394.
[11] BEN-OR M, GOLDREICH O, MICALI S, et al. Fair Protocol for Signing Contracts[J]. IEEE Transactions on Information Theory, 1990, 36(1): 40-46.
[12] ASOKAN N, SHOUP V, WAIDNER M. Optimistic Fair Exchange of Digital Signatures[J]. IEEE Journal on Selected Areas in Communications, 2000, 18(4): 593-610.
[13] HUANG X, MU Y, SUSILO W, et al. Preserving Transparency and Accountability in Optimistic Fair Exchange of Digital Signatures[J]. IEEE Transactions on Information Forensics and Security, 2011, 6(2): 498-512.
[14] WANG G. An Abuse-free Fair Contract-signing Protocol Based on the RSA Signature[J]. IEEE Transactions on Information Forensics and Security, 2010, 5(1): 158-168.
[15] BAO F, DENG R, NGUYEN K Q, et al. Multi-party Fair Exchange with an Off-line Trusted Neutral Party[C]//Proceedings of the 10th International Workshop on Database and Expert Systems Applications. Piscataway: IEEE, 1999: 858-862.
[16] BAUM-WAIDNER B, SCHUNTER M, WAIDNER M. Optimistic Synchronous Multi-party Contract Signing[C]//International Colloquium on Automata, Languages and Programming. Heidelberg: Springer Verlag, 1998: 898-911.
[17] BAUM-WAIDNER B, WAIDNER M. Optimistic Asynchronous Multi-party Contract Signing: RZ3078[R]. New York: IBM Research Division, 1998.
[18] KILINÇ H, KÜPÇÜ A. Optimally Efficient Multi-party Fair Exchange and Fair Secure Multi-party Computation[C]//Lecture Notes in Computer Science: 9048. Heidelberg: Springer Verlag, 2015: 330-349.
[19] HUANG Q, YANG G, WONG D S, et al. Efficient Optimistic Fair Exchange Secure in the Multi-user Setting and Chosen-key Model without Random Oracles[C]//Lecture Notes in Computer Science: 4964. Heidelberg: Springer Verlag, 2008: 106-120.
[20] BONEH D, GENTRY C, LYNN B, et al. Aggregate and Verifiably Encrypted Signatures from Bilinear Maps[C]//Lecture Notes in Computer Science: 2656. Heidelberg: Springer Verlag, 2003: 416-432.
[21] ATENIESE G. Verifiable Encryption of Digital Signatures and Applications[J]. ACM Transactions on Information and System Security, 2004, 7(1): 1-20.
Fairmulti-partycontractsigningprotocolsatisfyingtheportabledocumentformat
ZHANGYongqiang1,LIUJia’nan2,TIANHaibo2
(1. Global Digital Cybersecurity Authority Co., Ltd., Guangzhou 510000, China; 2.School of Data and Computer Science, Sun Yat-sen Univ., Guangzhou 510006, China)
Currently, there is an inconsistent problem about the content to be signed by multiple signatures that are exchanged in a fair multi-party contract signing protocol (FMCSP) and by those following the portable document format(PDF). This paper tries to solve the practical problem by constructing an FMCSP based on PDF files. It proposes a distributed method to compute hash values so that multiple parties could compute a hash value of a common message while they hide their secrets in the message respectively. It adopts the traditional verifiable encrypted signature technology to guarantee the fairness and reduce the interaction rounds. Finally, it obtains an FMCSP where only one interaction is needed to sign a contract, and gives practical performance parameters. According to the work, one could use a PDF file to fairly sign a document among multiple parties in practical applications, and the final signed PDF file could be verified by a common PDF reader.
multi-party contract signing protocol; portable document format; practical applications; fairness; digital signatures
2017-01-22
时间:2017-06-29
广东省自然科学基金资助项目(2015A030313133)
张永强(1977-),男,高级工程师,博士,E-mail: zhangyq@gdca.com.cn.
田海博(1979-),男,副教授,博士,E-mail:tianhb@mail.sysu.edu.cn.
http://kns.cnki.net/kcms/detail/61.1076.TN.20170629.1735.042.html
10.3969/j.issn.1001-2400.2018.01.021
TP311
A
1001-2400(2018)01-0117-06
(编辑: 齐淑娟)