中国科技论文在线
http://www.paper.edu.cn
区块链系统下的多方密钥协商协议#
唐春明,高隆*
(广州大学数学与信息科学学院广州 510006)
摘要:密钥协商协议是在公开的信道上,两个或者多个参与方之间进行的共享密钥机制。传
统的密钥协商协议需要在可信中心的帮助下去进行身份认证,不然用户的诚信得不到保证。
本文主要是给出了利用安全安全单向函数在区块链系统下的多方密钥协商协议,可以不需要
可信第三方也能确保安全。
关键词:多方密钥协商协议;安全单向函数;区块链;可信第三方
中图分类号:O29
Multi-party key agreement protocol in block chaining
system
TANG Chunming, GAO Long
(School of mathematics and Information Science, Guangzhou University Guangzhou 510006)
Abstract:The key agreement protocol is a shared key mechanism between two or more participants in
a public channel. The traditional key agreement protocol needs authentication with the help of the
trusted center, otherwise the trustworthiness of the user can not be guaranteed,In this paper, a
multi-party key agreement protocol based on block chaining function is constructed, which can
guarantee the security of the third party without the trusted one-way function.It can sure the safe
which not have Trusted third party.
Keywords: Multi-parties key agreement protocol; Block chain; hash function; Trusted third party
5
10
15
20
25
0 引言
随着计算机和网络的发展,信息安全已经成为一个重要课题。在开放的网络中,用户用
密钥加密要交换的消息,是实现信息安全的重要方法。密钥协商是两个或者多个参与方在公
开的信道中,协商建立一个共享的秘密密钥。在 1976 年以前,人们在通讯领域的观念是如
30
果不事先进行秘密共享是无法进行安全保密的通信的,即要在通信前要先进行密钥共享。
1976 年第一个现代密钥交换协议 Diffie-Hellman 密钥交换协议[1]提出,打破了人们的传统观
念,使得用户可以在完全公开的信道上进行秘密共享。DH 协议的安全性是基于在有限域上
离散对数的难解性,该协议没有进行认证,容易受到中间人的攻击,为了弥补没有认证这一
漏洞,学者提出了认证密钥协商协议。
35
密钥协商协议根据认证方式可以划分为基于 PKI 认证方式和基于身份认证方式,可无
论基于什么的认证方式,协议都需要一个可信的第三方去对用户的身份进行认证,不然用户
的诚信得不到保证,直到最近,区块链技术的横空出世,使这种不依赖可信第三方就能够跟
自己不信任的用户进行密钥协商成为可能,本文依据文献[2]和文献[3]引入保证金或者奖惩机
基金项目:国家自然科学基金资助项目(11271003);广东省自然科学基金重大基础研究培育项目
(2015A030308016);广东省教育厅基础研究重大项目(2014KZDXM044);教育部高等学校博士学科点
专项科研基金联合资助课题(博导类联合)(20134410110003)的资助。
作者简介:唐春明(1972-)男教授博导密码学与信息安全. E-mail: 395033429@qq.com
- 1 -
中国科技论文在线
http://www.paper.edu.cn
制,即在协议开始前所有的用户需要缴纳一定的保证于系统,如果协议的任何一方出现问题,
40
或者中断协议,其钱款都将转给诚实的参与方。本文是根据区块链系统的交易模式进行多方
密钥协商,并且还进行了 MTI/CO[4]中的认证方式
1 预备知识
1.1 Diffie-Hellman 密钥协商方案(CDH)
公开域参数包括群
和阶为 q 的元素
,假设有 A,B 两个用户进行协商。
45
(1)用户 A 选取一个随机数
,然后计算
并将 发送给 B;
(2)用户 B 选取一个随机数
,然后计算
并将 发送给 A;
(3)用户 A 计算
;用户 B 计算
,很明显
为共享密钥。
这里的 CDH 通常的是计算 Diffie-Hellman 问题,这个困难问题是基于有限域上离散对
50
数的难解性,即
,求解 x 是困难的.同样的基于椭圆曲线上的 Diffie-Hellman 协议也
是基于有限域上离散对数的难解性,即
,P 是椭圆曲线上的基点,求解 n 是困难的。
1.2 MTI/CO 认证协议
由于 Diffie-Hellman 协议没有进行认证,故提出了很多种可认证密钥协商协议,这里介
绍一下本文用到的 MTI/CO 认证协议中的认证方式,其过程如下:
55
(1)参与者 A 和参与者 B 能够得到对方的公钥 和 ;
(2)参与者 A 选取一个随机数 x,计算
并发送给参与者 B;
(3)参与者 B 选取一个随机数 y,计算
并发送给参与者 A;
(4) 参 与 者 A 计 算 会 话 密 钥
, 参 与 者 B 计 算 会 话 密 钥
60
1.3 密钥协商协议的安全特性
,这样就得到了共享的会话密钥。
由于密钥协商协议是在公开的网络情况下各个参与者得到的共享密钥的解决方法,协议
的安全性至关重要,文献[5]给出了一般的协议需要满足的安全性:
已知密钥安全(Known-key security)由于共享密钥中含有每个参与者由随机数生成器
生成的短私钥,故每次协议生成的密钥都是唯一的,以前的密钥泄露,攻击者也不会知道现
65
在正在交换的密钥。
- 2 -
),(GGg10,naaaAgKAK10,nbbbBgKBKabgK)(bagK)(ababbagggK)()(ugxmnPbgagbxAgKayBgKxyxayaxaBggKK11xyybxbybAggKK11
中国科技论文在线
http://www.paper.edu.cn
完美前向保密性(Perfect forward secrecy)如果一个参与者或者多方参与者长期使用的
私钥长期泄露,也不会影响在此之前生成的共享密钥,这就是完美前向保密性。
密钥不可控制性(Key control property)由于共享密钥是用各方参与者共同协商产生,
无论是哪方都不能对协商的共享密钥预先控制其选定的值。
70
抵抗密钥泄露攻击(Resist key leakage attack)协议要能抵抗如下攻击:假设 A 用户的
私钥长期泄露,那么攻击者能够假扮 A 用户欺骗其他用户,但是不能扮演其他用户欺骗那
个用户 A。
密钥共享可知性(Key sharing)参与协议的任何一个用户都不可能在不知晓的情况下进
行共享密钥或者某几个用户在某个用户不知晓的情况下进行共享密钥。
75
1.4 区块链的特征以及以太坊区块链的交易流程
1.4.1 区块链的特征
结合区块链的定义,区块链应该具有以下这四个特征:去中心化(Decentralized)、去
信任(Trustless)、集体维护(Collectively maintain)、可靠数据库(Reliable Database)。
去中心化(Decentralized):整个系统中没有一个中心化的管理机构,所有参与节点之
80
间的地位都是平等的,且任意一个或者多个节点(不超过界限)出现问题都会不影响整个系
统的运作。信息传输不再需要一个中心点中转,而是系统中的每个节点根据共识协议进行点
对点、自由安全的传输信息。去中心化最主要一点是所有的交易记录在系统中所有的节点都
进行了备份。
去信任(Trustless):大家都知道,在日常的社会活动中,如果没有一个权威机构去证
85
明,那么基本上是不会存在可以信任的产品,但这种方式往往会增加交易的成本,并且会降
低效率,更严重的是容易滋生腐败,造成官僚机构,进行不公平的交易。由于区块链中的数
据只能增加不能删除,一旦生成并且不能修改并且每个节点都会备份,从而使得数据更加的
透明,所以在区块链系统中每个节点之间进行数据交换不需要彼此信任,在一定的时间内,
一些节点也无法联合起来去欺骗其他节点。
90
集体维护(Collectively Maintain):系统中没有一个管理机构,所以系统中的数据块是
由所有具有维护功能的节点来共同维护,这就是共识机制,并且这些维护的节点并不具有特
殊性,所有的节点都可以参与。
可靠数据库(Reliable Database):系统中的每个节点都能获得一份完整的数据拷贝,
系统的抗灾冗余性更加好了。系统规定除非是能够同时操控系统中超过 51%的节点去修改
95
数据,才能改变整个系统的数据,对单个节点上数据的修改是没有意义的,所以参与系统中
的节点越多并且节点的计算能力越强,系统的数据安全性就会越高。
- 3 -
中国科技论文在线
1.4.2 以太坊区块链的交易流程
http://www.paper.edu.cn
100
如上图:如果要产生一笔交易,首先用户注册以太坊客服端,公钥作为,用户自己存有
私钥,大家都知道,区块链会保存大家所有的交易信息,所以一般进入系统后,会先同步更
新所有的链,拥有完整的区块后开始交互,如果生成交易信息后,用户会有自己的私钥加密,
然后同步到整个网络中去,验证节点拿到加密信息后,通过公钥进行解密得到准确的交易信
息,验证无误,(非对称加密算法)系统会把交易信息使用 hash 函数提取特殊信息,写进
105
账本中,其中系统由共识机制去维护安全。在交易信息中,是得不到交易双方用户的信息的。
1.5 参数设定
假定 E 是定义在有限域
上的椭圆曲线;
表示满足方程的椭圆曲线上
的点的个数。P 为椭圆曲线 E 的一个阶为素数 n 的基点, 是由 P 生成的循环加法群。
表示椭圆曲线上的一个离散点 P 到 的安全单向函数,H 是 hash 函数,
110
表示注册区块链系统生成的公私玥, 表示用用户的公钥加密算法,
表示
用户的签名。
2 协议过程
假设有 n 个用户
参与协商,过程如下:
第一轮:每个用户 利用随机数生成器生成的随机数当作自己选择的私钥 并用自己
- 4 -
)(qGF))((#qGFE1G*:nZPf*nZiipksk,iPKE)(msigi},{21nUUUiUis
中国科技论文在线
http://www.paper.edu.cn
115
的 私 钥 生 成 自 己 的 签 名
并 且 计 算 自 己 的 公 钥 为
那 么 发 送 的 消 息 为
和
以及
并且发送给其他用户
这里
相当于用户把自己选择的公钥发送给了系统中的每个用户,没有授权的用户是看不到的,,
其中
跟交易记录一样要写入账本里面的;
第 二 轮 : 每 个 用 户 先 择 一 个 随 机 数 并 且 计 算
120
和
, 将
分 别 发 送
给用户
,这里除了交易记录要写进区块链账本里面,后面的
也要
写入账本当中;
第三轮:每个用户 接收到
后,分别计算自己的份额
,并且计算
,发送的消息
125
为
并分别发送给用户
;
第 四 轮 : 每 个 用 户
收 到
后 , 计 算 会 话 密 钥 :
3 安全性与效率分析
椭圆曲线的选择: 文献[6]给出了椭圆曲线密码体制的安全性分析,文献[1]给出了一种构
130
造安全椭圆曲线的有效方法。根据文献[7],选择一条安全的椭圆曲线,在安全椭圆曲线的基
础上,椭圆曲线上离散对数的难解性能够有效地保证密钥参数在通信过程中的安全保密性。
由于该协议的共享密钥是由每个参与者的由随机数生成的短私钥构成,故每次协议生成
的密钥都是唯一的,并且每次重新开始协议,用户的短暂私钥都会不一样,故满足满足已知
密钥安全性和完美前向安全性和密钥不可控性。
135
该协议采用签名认证,故满足抵抗密钥泄露攻击和抵抗不知晓密钥共享。
在这个方案中,除了利用了区块链的非对称加密算法,协议过程还利用了 MTI/CO 认证,
所以具有更加高的安全性。就算你能够破解了区块链中的非对称加密算法,得到当中所发送
的内容,那么由于无法知道用户一开始所随机选取的私钥,你同样也得不到会话密钥。
同时,这里的保证金的缴纳就相当于区块链技术中的共识机制,这里的安全由所有的参
140
与者去共同维护,如果那个参与者出现了问题,则系统会没收其在协议开始前缴纳的保证金
用以分给诚信用户。
- 5 -
)(msigiPsi)(PsEmiPKij))((iimHsig)(PsHi),1(ijnjUj)(PsHiiUirPsrMPsrZiiiiii21,)()),((),(''1iiiiPKiZHmHsigZEmi)()),((),(''''2iiiiPKiMHmHsigMEmi21,iiUU)(),(iiMHZHiUPsrMPsrZiiiiii2211,PrPrrfPssrPssrrfKiiiiiiiiiii211211)()(PsKfKjii)(')(),(sig)(''''j''''iiiPKikHmkEmj,),1(ijnjUjiUPsKfKijj)('PPrPrrffPrPrrffPrPrrffPssKfKnnjijiiij)))(())(())((()(214323211,,1
中国科技论文在线
http://www.paper.edu.cn
当然,在这里利用到区块链的最重要的地方还是区块链共享账本的不可篡改以及只能增
加不能删除。并且每个用户都会有个账本,就能够保留记录去防止参与者抵赖与合谋。比如
在协议的第一轮,每个用户是自己选择了自己的私钥 ,并且生成 发送给其余用户,如
145
果这个用户不诚信,并且没有区块链技术会把所有的信息保存在所有参与者的账本中,那么
则很有可能会进行抵赖。同样,当密钥协商出现问题则也有记录可查是在哪个阶段出现问题,
从而可以降低损失。
4 结论
本文是利用安全单向函数构造的,按照区块链系统的交易模式进行的密钥协商协议,本
150
方案可以不依赖第三方可信中心对用户的身份进行认证,保证用户的诚信,而是自己选择自
己的公私钥,可以防止中心作恶,不过这个方案更多的是只是利用了区块链存储只能增加不
能删除的特性,至于利用区块链构造更好的协议是下一步的工作。
[参考文献] (References)
155
160
165
[1] Diffie W,Hellman M. New directions in cryptography [J].IEEE transactions on information theory,1976,
IT-22(6):644-645.
[2] Andrychowicz, M., Dziembowski, S., Malinowski, D., Mazurek, L.: Secure multiparty computations on
bitcoin. In: 2014 IEEE Symposium on Security and Privacy, pp. 443-458. IEEE Computer Society Press, May
2014.
[3] Kiayias, A., Zhou, H.-S., Zikas, V.: Fair and robust multi-party computation using a global transaction ledger.
Cryptology ePrint Archive, Report 2015/574 (2015).
[4] TMatsymoto , Y Takashima , H Imai. On seeking smart public-key distribution system[J]. The Transations of
the IECE of Japan , 1986, 86 : 99-106.
[5] Simon Blake-Wilson, Don Johnson, AlfedMenezes. Key Agreement Protocols and their Security
Analysis[J].Proceedings of the 6th IMA International Conference on Cryptography and coding, 1997, 30-45.
[6] 刘培,藤玲莹,佘堃,等. 椭圆曲线密码体制的安全性分析[J].计算机工程与设计,2006,27(16):2943-2945.
[7] 吴开贵,吴中福.一种安全椭圆曲线的有效构造方法[J].计算机科学,2006,33(4):108-110.
- 6 -
isPsi