书 书 书
第44卷 第1期
2021年1月 计 算 机 学 报
CHINESEJOURNALOFCOMPUTERS Vol.4J4Nan.2o0.211
收稿日期:20190904;在线发布日期:20200206.本课题得到国家科技重点专项“核高基”(2017ZX01028101)、国家自然科学基金
(91430214,6732018)资助.刘明达,博士研究生,主要研究方向为信息安全、区块链.Email:happyliumd@163.com.陈左宁,博士,教授, 中国工程院院士,中国计算机学会(CCF)会士,主要研究领域为软件理论、操作系统、信息安全.拾以娟,博士,副研究员,主要研究方向为 信息安全、区块链.汤凌韬,博士研究生,主要研究方向为网络安全.曹 丹,博士,工程师,主要研究方向为网络安全、密码学.
区块链在数据安全领域的研究进展
刘明达
1) 陈左宁1) 2) 拾以娟
1) 汤凌韬
1) 曹 丹
1)
(江南计算技术研究所 江苏无锡 214083)
2)(中国工程院 北京 100088)
摘 要 大数据时代,数据已成为驱动社会发展的重要的资产.但是数据在其全生命周期均面临不同种类、不同层 次的安全威胁,极大降低了用户进行数据共享的意愿.区块链具有去中心化、去信任化和防篡改的安全特性,为降 低信息系统单点化的风险提供了重要的解决思路,能够应用于数据安全领域.该文从数据安全的核心特性入手,介 绍区块链在增强数据机密性、数据完整性和数据可用性三个方向的最新研究成果,对各研究方向存在的缺陷进行 分析,进而对未来发展方向进行了展望.该文认为,区块链技术的合理应用能够增强分布式环境下的数据安全,有 着广阔的前景.
关键词 区块链;数据安全;数据共享;机密性;完整性;可用性
中图法分类号TP309 犇犗犐号10.11897/SP.J.1016.2021.00001
犚 犲 狊 犲 犪 狉 犮 犺 犘 狉 狅 犵 狉 犲 狊 狊 狅 犳 犅 犾 狅 犮 犽 犮 犺 犪 犻 狀 犻 狀 犇 犪 狋 犪 犛 犲 犮 狌 狉 犻 狋 狔
LIUMingDa1) CHENZuoNing2) SHIYiJuan1) TANGLingTao1) CAODan1)
1)(犑犻犪狀犵狀犪狀犐狀狊狋犻狋狌狋犲狅犳犆狅犿狆狌狋犻狀犵犜犲犮犺狀狅犾狅犵狔,犠狌狓犻,犑犻犪狀犵狊狌 214083)
2)(犆犺犻狀犲狊犲犃犮犪犱犲犿狔狅犳犈狀犵犻狀犲犲狉犻狀犵,犅犲犻犼犻狀犵 100088)
犃犫狊狋狉犪犮狋 Intheeraofbigdata,datahasbecomeanimportantassetdrivingsocialdevelopment. However,datafacesdifferenttypesanddifferentlevelsofsecuritythreatsthroughoutitslife cycle,whichgreatlyreducesusers’willingnesstosharedata.Blockchainhasseveralsecurity featuressuchasdecentralization,immutable,andtamperresistance.Itprovidesanimportant solutionforreducingtheriskofasinglepointofinformationsystemsandcanbeappliedtothe fieldofdatasecurity.Thisarticlestartswiththecorecharacteristicsofdatasecurity,and introducesthelatestresearchresultsofblockchaininthreedirections:confidentiality,integrity, andavailability.Atfirst,thispaperanalyzestheshortcomingsofeachresearchdirection.In termsofdataconfidentiality,theblockchaincaneffectivelysupplementdataconfidentiality protectionin5areas.(1)Blockchaincanbeappliedtoenhancethesecurityofdataencryption, establishadecentralizedtrustedthirdpartyforcryptographicprotocols,andprovideareliable incentivemechanism.Forexample,itcanbeappliedtosearchableencryption,proxyreencryption, andsecuremultipartycomputing.(2)Blockchainisappliedtoidentityauthentication,whichcan realizedecentralizedPKItechnologyandidentitymanagement,solvethesinglepointproblemin identityauthentication,theproblemofcertificatetransparency,andtheproblemofmalfeasance bycertificationcenters.Anditcanestablishasafeandtrusteddigitalidentityauthentication system.(3)Blockchaincanapplyaccesscontrol.Ontheonehand,itcansolvetheproblemof singlepointofaccesscontrol,providingamorerobustaccesscontrolsystemforcommonscenarios
《 计
算 机
学 报
》
andIoTscenarios,andachievingthemanagementofaccesspoliciesandtransactionsofaccess rights.Ontheotherhand,itcanimprovethecredibilityofattributebasedencryptionauthorization institutions,whichimprovesthesecurityofABE.(4)Thecombinationofblockchainandtrusted executiontechnologycanestablishtrustedremotestatemanagementwhichenhancestheavailability ofTEE.(5)Theapplicationofblockchaintotheconstructionofcovertchannelscansolveproblems suchascommunicationtampering,singlechannelsandpoorprivacy.Intermsofdataintegrity, blockchainhasthreeapplications.(1)Blockchaincanachievedataconfirmationandtraceability, establishingacredibleflowtrajectoryfordata.(2)Blockchaincanbeusedtobuildamorecredible logauditsystemandimprovethesecurityofinformationsystems.(3)Blockchaincanbecombined withvariousindustryapplicationstoachievemorereliabledataintegrityprotection.Intermsof dataavailability,blockchainhastwokindsofapplications.(1)Theblockchainitselfisasolution toconsistencyinthebyzantineenvironment,whichcanachievebyzantineconsensusinalarge scalenetworkenvironment.(2)Amoresecureandreliabledistributeddatabasesystembasedon theblockchain.Ontheonehand,theblockchainitselfcanbeusedtoimplementabyzantine faulttolerantdistributedstoragesystem.Ontheotherhand,blockchaincansupplementthe shortcomingsofexistingdistributedstorage.Finally,thisarticleanalyzestheresearchof blockchaininthefieldofdatasecurity,summarizesthecurrentresearchchallenges.Atlast, focusingonblockchainefficiency,datasecurity,privacyprotection,infrastructuresecurity, blockchainisomorphization,andpracticality,thispaperlooksforwardtofutureresearch.We believesthatthecorrectapplicationofblockchaintechnologycanenhancedatasecurityina distributedenvironmentwithbroadprospects.
犓犲狔狑狅狉犱狊 blockchain;datasecurity;datasharing;confidentiality;integrity;availability
1 引 言
我们身处数字化时代,这意味着数据正在与我 们的世界紧密融合,数据正在改变人类的认知水平 和生活方式,人类文明进入大数据的新时代.数据已 成为一种与矿产石油同样的经济资产[1],并且其总 量正在飞速增长.数据主权也将成为大国博弈的重 要争夺对象.
但是,信息孤岛问题也是客观存在的,各行各业 普遍面临“人人有数据,人人缺数据”的局面.数据共 享是数据增值的必要手段.数据在改变人类生活方 式的同时,其安全问题同样给人带来了严重的困扰. 仅2018年就发生了多起严重的数据泄露事件
①
.其 中,Aadhaar印度国家身份认证系统泄露了11亿印 度公民的敏感信息,喜达屋酒店泄露了5亿消费者 信息,Facebook泄露了8700万用户信息.我国境内 同样有大规模的数据泄露事件②
,如华住旗下酒店 泄露2.4亿条记录,AcFun泄露900万用户密码数 据,前程无忧泄露195万条个人求职简历.上述事件泄露的属于个人隐私数据,而涉及国家政府的数据 泄露则会带来更大的危害.如2017年12月,美国陆 军及NSA情报平台约100G文件暴露在AWSS3 存储服务器上,包括高度敏感、机密性的国家安全数 据
③
.因此,数据安全问题必须受到足够的重视.数据安全的研究主要集中在三个方面,机密性、 完整性和可用性.主要研究内容和研究进展在本文 第2节简单介绍.但是当前的数据安全解决方案在 安全假设、协议设计和方案实施等层面存在不同程 度的中心化局限.如密码协议的可信第三方假设、访 问控制的中心化判决机构、数据的集中式存储等.中 心化一方面会造成单点故障,导致安全服务不可用; 另一方面安全中心如果被控制,将会从根本上破坏 信息系统的安全性.
区块链脱胎于比特币技术
④
,本质上是一个拜 占庭环境下的副本状态机协议[23].区块链突破了传 统中心式系统架构的缺陷,具有去中心化、去信任、2 计 算 机 学 报 2021年
① ②
③ ④
https://www.freebuf.com/news/193172.html https://bbs.360.cn/thread1565913211.html https://www.aqniu.com/industry/30413.html https://bitcoin.org/en/
《 计
算 机
学 报
》
匿名、防篡改的安全特性,能够在大规模网络环境下 实现分布式的高效共识,建立安全可信的数据存储 系统,并通过智能合约机制实现大规模可信的分布 式计算能力.区块链与数据安全的结合能够降低中 心化风险,具有广阔的学术和应用价值.区块链和数 据安全的结合分为两个层面:(1)区块链本身的数 据安全问题[4];(2)区块链技术应用于数据安全领 域.本文仅针对第二个问题展开研究和评述.
刘敖迪等人[5]分析了区块链在信息安全领域的 研究进展,包括认证技术、访问控制技术和数据保护 技术.但是区块链技术的研究与发展日新月异,区块 链在数据安全领域的应用早已超越这三个方面,并 且这三个方向也产生了很多新的研究成果.从数据 安全的基本要求出发,区块链在数据安全领域的研 究同样可以总结为机密性、完整性和可用性三个核 心方向.区块链与数据安全技术的结合能够实现更 强的数据安全保护.此外,在数据安全共享方面,区 块链凭借其去中心化、去信任化和不可篡改的安全 特性,能够实现更加安全有效的数据共享平台,保护 分布式环境下的数据共享安全.
本文将研究区块链在数据安全领域的研究进 展,梳理区块链和现有数据安全保护技术结合产生 的新理论、新技术和新方法.本文第2节介绍数据安 全的研究现状和区块链技术;第3节介绍区块链在 增强数据机密性方向的研究成果;第4节介绍区块 链在增强数据完整性方向的研究成果;第5节介绍 区块链在增强数据可用性方向的研究成果;第6节 进行总结与研究展望.
2 研究背景
(1)数据安全研究现状
数据安全是云计算大数据应用背景下的关键 问题,也是难点所在.数据安全和数据全生命周期 紧密关联,在采集生产、存储流转以及使用过程均 面临一系列的安全问题.数据安全通常认为是数 据生命周期中的机密性、完整性和可用性
①
.针对 数据安全问题,相关研究者已经展开了大量的研究 工作.数据机密性缺失会直接导致数据泄露,而在分 布式环境下,数据共享会带来更深层次的隐私挖掘. 数据机密性保护的研究主要围绕五个方面展开:数 据加密技术、访问控制、身份认证、可信计算和隐 蔽通信.其中,数据加密技术的研究主要集中在可搜
索加密、属性密码、安全多方计算、代理重加密、同态 密码等.
数据完整性的需求存在于数据采集传输、数据 存储和数据使用的多个阶段,其目的在于识别损坏 数据的行为.在数据采集和传输阶段通常采用数据 封装和签名技术保证数据完整性;在数据传输阶 段采用丢包恢复技术;在数据使用时采用可验证 计算的手段,保证数据输入和输出的完整性.此 外,可信计算技术也可以为数据完整性提供不同 程度保护.
数据可用性是一个系统性的问题,确保数据可 用性是一项困难的工作.尤其是在大数据环境下,数 据作为重要的信息资产,其可用性对于数据挖掘、机 器学习等计算模型的结果都有着重要的影响.李建中 等人[6]将数据可用性定义为一致性、精确性、完整 性、时效性和实体同一性.分布式的数据存储也是解 决数据可用性的重要手段.在实际环境中,数据可用 性主要面临的威胁来自于DDoS(DistributedDenial ofServiceattack)攻击,它能使应用系统无法提供
正常的数据服务.
大数据时代,数据只有共享才能够产生更大的 价值,安全问题又成为了数据共享的壁垒.我们认 为,不能因为数据安全存在风险就“因噎废食”而不 进行数据共享.共享场景下的数据安全解决方案和 具体的应用场景紧密关联,通常是上述数据安全方 案的融合.
(2)区块链简介
区块链应用于数据安全领域时,可以将区块链 抽象为一个理论模型犉blockchain.犉blockchain是一个基于 区块链技术实现的去中心或弱中心的可信数据库 系统,能够实现不可篡改、不可删除的数据存储, 并且能够通过智能合约实现复杂的应用逻辑,实 现大规模可信的分布式计算能力.Goyal等人[7]指 出,区块链可以作为密码学中可信假设的替代方 案,比如公共字符串或者公共随机数,以取代中心 化的可信机构.
区块链产生的过程可以简单概括为:发起交易、 传播交易、验证交易和添加区块.用户首先发起一笔 交易,交易根据业务实际逻辑可以是转账、数据记录 或者其他信息;然后区块链节点将交易广播到P2P 网络中;各共识节点验证交易的合法性并检查用户 状态,得到验证结论;最后新的区块会添加到区块链
1期 刘明达等:区块链在数据安全领域的研究进展 3
①
http://www.raincent.com/content10118771.html《 计
算 机
学 报
》
上,不可篡改或删除.无论是以Bitcoin、Hyperledger Fabric
①
为代表的传统链式结构,还是以IOTA②
为代表的基于有向无环图的链,都可以套用这个模型. 在实际的区块链实践中,这些过程又是可以拆分和 优化的,如HyperledgerFabric通过将排序和验证 分离,提高了系统的灵活性,能够满足多种应用场景 的需求.
针对区块链技术本身的原理,相关研究者已经 进行了大量的工作,取得了丰硕的研究成果,主要包 括区块链共识机制、匿名性和可扩展性等.共识机制 是区块链技术的核心,决定了安全性、可扩展性和去 中心化程度,是区块链技术研究的核心,已取得了丰 富的研究成果.宋焘谊[8]、刘懿中[9]、郑敏[10]等人均 已进行了深入研究分析,本文不再展开.匿名性是研 究如何解决区块链隐私泄露问题,对区块链交易涉 及的隐私进行保护,祝烈煌[4]、付烁[11]等人已经进 行了深入的研究探索.可扩展性是区块链实用化的 关键技术,其主要的瓶颈有:交易吞吐量不足、共识 延迟高、链间难以互通等.研究者为了解决扩展性问 题,对链下支付网络、分片技术、扩容技术和跨链技 术等展开了深入的研究,潘晨[12]、李芳[13]、喻辉[14] 等人已进行了详细的分析.总之,区块链技术的研 究和区块链应用的研究是互相促进的,安全、可 靠、高效、可扩展的区块链系统是区块链应用于数 据安全领域的基础.
3 区块链增强数据机密性
区块链增强数据机密性的研究偏重于学术层 面,能够对数据机密性保护方法存在的缺陷进行有 效的补充.本节从数据加密、身份认证、访问控制、可 信执行环境和隐蔽信道5个方面进行介绍,如表1 所示.
表1 区块链在数据机密性研究中的应用 应用方向 研究内容 解决的问题 数据加密区块链应用于可搜
索加密、代理重加 密、安全多方计算
为密码协议建立可信第三方, 为密码协议提供可靠的激励 机制
身份认证 去中心化的PKI技
术和身份管理 解决认证单点化,证书透明度 和认证中心渎职的问题 访问控制
去中心化的访问控
制模型 解决访问控制单点化问题,实 现动态灵活的访问控制 区块链增强属性加
密机制 提高属性密码授权机构的可 信度
可信执行 区块链增强可信执行TEE的安全性 实现可信的远程状态管理,提 高TEE的可用性
隐蔽信道 区块链作为隐蔽信道的信息载体 解决隐蔽通信易被干扰篡改, 信道单一,隐私性差等问题
31 数据加密
目前,区块链和密码技术的结合已成为重要的 研究方向[15],其中大量的研究聚焦在如何将新型密 码技术应用于区块链平台,以满足区块链的各种特 殊安全需求.而本文关注如何使用区块链技术弥补 现有密码技术的不足,研究方向主要包括可搜索加 密、代理重加密、安全多方计算,如表2所示.区块链 应用于数据加密主要有两种方式:一是用区块链实 现去中心化的服务,以建立分布式的可信第三方,以 对抗单点化风险.密码协议中往往有可信第三方或 半可信第三方的假设,区块链实现分布式的可信第 三方能够为密码协议的安全假设提供可行的解决方 案.二是提供可靠的激励机制,从而降低攻击者作恶 的动机,提高作恶的难度.敌手的恶意行为通常需要 付出一定的代价,区块链为惩罚恶意行为提供了一 种经济学上的机制.
表2 区块链在数据加密中的应用 区块链功能 应用方向 核心思想 分布式可信
第三方
可搜索加密 代替中心服务器执行搜索[18] 代理重加密 代替中心服务器执行重加密[19] 安全多方计算 提供可信证据公告板,见证加密协
议的公平性[34]
可靠的激励 机制
可搜索加密 激励各参与方正确执行,惩罚作恶 行为[18]
代理重加密 激励重加密节点正确执行,惩罚作 恶行为
③
安全多方计算保证计算参与者的计算参与度,激 励各方完成计算任务,惩罚作恶行 为[2432]
(1)可搜索加密
现有的可搜索加密模型通常会假设一个诚实但 好奇的远程服务器,能够按照既定的规则运行密码 协议[17].为了解决这一问题,需要针对恶意服务器 进行特殊的安全设计.但是,目前的方案主要集中在 作弊行为的检测上,并没有提出有效的应对措施,这 也限制了这些方案的实际应用.
Hu等人指出该问题的主要原因是中心化的服 务器能力过强且缺乏有效的监督机制,进而探索通 过引入区块链技术解决该问题[18].该研究提出使用 智能合约替换中央服务器,构建了一个分布式的隐 私保护的搜索方案schemeΠ,如图1所示.该方案 在以太坊上实现,用户需持有Token才能完成各项 数据操作,包括搜索、增加和删除.数据所有者可以
4 计 算 机 学 报 2021年
① ②
③
https://www.hyperledger.org/projects/fabric https://www.iotachina.com/whatisiota https://www.nucypher.com
《 计
算 机
学 报
》
图1 schemeΠ[18]系统架构
获得正确的搜索结果,而不需要担心服务器的恶意 行为.另外,该方案从实际应用的角度出发,采用了 数字货币奖励的机制,保证各参与方的经济权益.
(2)代理重加密
区块链和代理重加密的结合目前研究相对较 少,核心思想是使用区块链的分布式特性管理代理 重加密的密钥,以规避可信第三方的单点风险. NuCypherKMS
①
项使用区块链技术,实现分布式 的重加密密钥分片存储.并且区块链的抵押机制和 激励机制能够保证重加密节点按照正确的方式运 行.另外,Agyekum等人[19]提出一种基于区块链和 代理重加密的数据共享方案,利用区块链网络作为 代理服务器并对数据执行加密操作,能够在确保数 据机密性的同时防止合谋攻击.(3)安全多方计算
安全多方计算(SecureMultipartyComputation, SMC)能够实现互不信任的多方进行协同计算,并保
证隐私不会泄露.区块链和SMC的结合主要集中在 理性安全多方计算[20](RationalSecureMultiParty Computation,RSMPC)这一研究领域,RSMPC利
用博弈论的方法解决安全多方计算的问题.在 RSMPC中,参与者属于理性参与者,参与计算的目 标是追求利益的最大化.参与者参与多方安全计算 的目的是获得计算结果,或得到经济补偿.在理想的 情况下,如果敌手违反了协议,需要有公平的机制对 诚实用户给予补偿.但是前期工作[2123]的主要问题 在于,他们依托电子货币系统或者完全可信的中央 银行系统实现公平机制,而这在早期的研究实践中 是很难实现的.
区块链作为一种可信电子货币的实现方式,能 够为RSMPC提供经济激励,解决参与者的动机问 题.Andrychowicz等人提出将比特币系统用于两方 安全计算,保证一方随意终止协议,另一方能够获得 补偿[24].随后他们进一步构造了安全多方彩票协
议[25],用区块链技术解决了无法强制补偿的缺陷, 实现了诚信客户的公平性.另外,Kiayias等人[26]提 出使用全局交易账本(GlobalTransactionLedger) 实现公平且健壮的多方安全计算协议,全局账本的 具体实现方法是区块链技术.Kiayias等人的贡献有 三个方面:(1)提出了一种新型的带有补偿的安全 多方计算形式化模型;(2)对协议进行了安全性的 证明;(3)首次提出了一种常数轮健壮的多方计算 协议.
Kumaresan、Bentov等人在该方向进行了一系 列的研究工作[2732].文献[27]指出,在多方安全计算 中,敌手可能在得到计算结果后就终止安全协议,这 将损害合法用户的利益.这个问题的解决方案包括 逐步释放机制(gradualreleasemechanism)、乐观 模型(optimisticmodels)和部分公平的安全计算
(partiallyfairsecurecomputation).但是这三种方 案存在两个核心缺陷,一是诚实方为了运行安全协 议需要花费昂贵的代价,二是必须保证可信第三方 不会与敌手串谋.为了解决这一问题,他们设计了基 于Bitcoin的公平安全计算协议,而不依赖于可信中 央银行.另外,该研究设计了用于公平抽奖的安全计 算协议,而不需依赖于可信的博彩网站.在形式化方 面,该研究定义了三种密码学原语,包括索赔和退款 函数犉CR(Claimorrefundfunctionality)、带惩罚的 安全计算犉犳(Securecomputationwithpenalties)和 带惩罚的安全彩票犉lot(Securelotterywithpenalties), 只需要运行常数次犉CR即可完成计算任务.文献[28] 研究了如何使用Bitcoin刺激参与者完成正确的计 算,包括可验证云计算,带有限制泄露的安全计算, 公平安全计算和非交互式悬赏.文献[29]研究如何 基于Bitcoin实现去中心化的扑克游戏,其本质是具 有奖惩功能的安全多方计算和无可信中心的安全智 能合约.文献[30]是在文献[27]和文献[29]的基础 上进行的改进,提出两种针对带惩罚安全计算模型 的优化方案,一方面通过调整优化算法中的交易数 量,将算法复杂度由平方阶降为线性阶;另一方面通 过对多阶段的计算过程进行改进,实现了交易数量 的线性增长.文献[31]通过惩罚来分摊安全计算的 成本,对文献[27]的犉CR函数进行性能优化,降低了 链上的交互开销.文献[32]在智能合约之上实现了 新的多方计算协议,和基于Bitcoin的方案相比,通 信的复杂度由平方阶降低到常数阶.
1期 刘明达等:区块链在数据安全领域的研究进展 5
①
https://www.nucypher.com《 计
算 机
学 报
》
另外,Choudhuri等人[33]指出,公平的真正含义 是各方都得到输出或者各方都得不到输出,因此从 激励机制的角度出发结合区块链和多方安全计算并 不能实现真正意义的公平.他们指出,公共公告板
(PublicBulletinBoards)能够产生不可伪造的证 据,并证明证据已经发布.这种特性可以用于见证加 密协议的公平性,进而构造了一种安全多方计算协 议.区块链是公共公告板的一种实现方法.
综上所述,区块链技术以其分布式的特性,可以 作为密码学中可信第三方的实现方案.区块链技术 的防篡改特性能够为密码协议提供可信赖的激励机 制,提高敌手在博弈中的作恶难度,降低作恶动机. 因此,区块链能够为数据加密提供了更强大的安全 保障.
32 身份认证
区块链和身份认证的结合主要包括两个方面:
(1)基于区块链构建去中心化的公钥基础设施
(PublicKeyInfrastructure,PKI),并基于分布式 PKI为各类应用系统提供身份认证支撑;(2)基于 区块链实现去中心化的身份管理,实现类电子身份 证系统.如表3所示.
表3 区块链在身份认证中的应用 应用方向 研究内容 核心思想 去中心化的
PKI系统
基于区块链实
现的PKI体系 基于区块链交易实现证书 全生命周期管理[3644] 改造现有的PKI
系统 公开的证书审计和透明的 证书撤销[4547]
去中心化的
身份管理 实现类电子身份
证的管理 区块进行身份管理,实现多 方跨域的身份认证[4953]
3.2.1 去中心化的PKI技术
数字证书是重要的身份认证技术,而目前集中 式的PKI系统存在三大安全问题:单点失效问题, 证书颁发机构(CertificateAuthority,CA)易受攻击 问题,以及中心渎职问题[34].中心化的PKI应用于 分布式环境中时,不可信的CA会带来严重的安全 风险[35]:CA故障会导致所有用户的证书不可用;中 心化的CA攻击目标明显,黑客可以使用CA签发 虚假证书实现中间人攻击;用户无法验证证书的合 法性,只能单方面信任CA机构,证书透明化问题严 重;用户无法察觉CA渎职的现象.区块链技术能够 基于共识机制建立分布式的信任验证,能够规避对 集中式CA的过度依赖,为去中心化的PKI系统构 建提供了可行的思路.
区块链应用于PKI系统目前有两种研究思路. 一是基于区块链实现去中心化的PKI体系,使用区
块链交易承载证书签发、证书验证、证书更新、证书 撤销等功能,具有不可篡改的特性.二是使用区块链 技术对现有基于CA的PKI体系进行改造,实现公 开的证书审计和透明的证书撤销.
(1)基于区块链实现PKI体系
基于区块链的PKI目前已成为重要的研究方 向.MIT的Conner等人首次提出基于区块链技术 实现分布式的PKI系统Certcoin[3637],其核心是利 用区块链技术实现分布式的公共账本,将用户身份和 证书公钥关联,构建去中心化的PKI系统.由于任何 用户都可以查看证书的签发过程,因此Certcoin解 决了传统PKI体系面临的CA单点化问题和证书 不透明的问题.对基于区块链实现PKI体系的一般 化方法进行总结,主要流程包括:
①身份注册.用户生成身份信息,并向全网发 布.其他节点收到后对信息进行验证.如果验证节点 获得记账权,则将注册信息打包到新区块的提议中, 进而被全网验证通过,完成注册.
②公钥更新.用户发布公钥更新信息,声明新 公钥和对旧公钥的所有权.更新请求经过全网验证 共识后写入区块链系统,新公钥生效.
③公钥查询.用户通过遍历区块链账本获取所 查询的公钥状态.
④公钥废除.用户发布公钥废除信息,声明对 该公钥的所有权.废除请求经过全网验证共识后写 入区块链系统.
⑤身份认证过程.所有对身份证据的确认都通 过查询区块链系统完成,如果身份处于合法可用状 态,则身份认证顺利完成.
相关研究者围绕基于区块链PKI系统的基础 模型,展开了一系列的优化研究工作.Ali等人[39]在 去中心化的域名系统Namecoin[40]之上,提出了构 建分布式PKI系统的方法Blockstack,实现了公钥 和用户可读身份的绑定,并实现了交叉链之间的迁 移.Leiding等人[38]分析了基于CA或PGP信任网 络(WebofTrust,WoT)[41]的PKI体系存在的问 题,提出了Authcoin协议,实现了公钥验证时更加 灵活的质询和回复.相比于基于CA的PKI,该协议 具有更好的透明度和容错性;相比于PGP信任网 络,Authcoin更容易抵御女巫攻击(SybilAttack). Bui等人[42]针对证书撤销问题,提出将撤销证书的
哈希值存入区块链以供查询,然而证书撤销对实时 性要求较高,该方法无法处理大量的证书.同样针对 当前PKI体系存在的中心化和证书不透明的问题,
6 计 算 机 学 报 2021年
《 计
算 机
学 报
》
AlBassam等人[43]基于信任网络和智能合约提出 了SCPKI,更方便地进行证书合法性检测和细粒度 属性验证,实现用户身份和属性之间的信任传递. Hari等人[44]提出一种在区块链分布式PKI基础 上,实现BGP路由传播和DNS中可信节点的认证 方法.
(2)改造现有的PKI系统
与上述去中心化的PKI系统不同,一些学者对 现有的以CA为中心的PKI系统进行改造,利用区 块链实现公开的证书审计和透明的证书撤销.该研 究方向从现实安全需求出发,对现有PKI体系中的 CA系统进行分布式改造,用区块链系统记录CA 发证、验证和撤销的过程,从而消除CA系统的作恶 行为.
Matsumoto等人[45]从提升TLS协议安全性的 角度出发,针对未授权证书被签发用以实现中间人 攻击的问题,提出了一个审理未授权证书的自动化 平台IKP,利用智能合约和共识机制,在保证原有功 能的同时实现去中心化,同时采用数字货币激励用 户对非法证书的举报.Chen等人[46]针对现实生活 中CA故障的问题,提出一种无需CA中心的基于 区块链的公开可审计认证体系Certchain,利用一种 可靠性排名共识和数据结构CertOper实现证书的 正确性和可追溯性;利用DCBF(DualCounting BloomFilter)实现撤销证书的高效确认,并通过设
计的三层检验机制将假正率降为0.Certchain的证 书可追溯性由区块链的链式结构保证,如图2所示. Wang等人[47]针对CA易被入侵从而签发虚假证书 的现状,利用区块链提高证书及其撤销的透明度,提 出的架构与采用X.509标准的PKI体系兼容,将基 于SSL/TLS协议的网页服务器的证书及其撤销情 况记录为一笔交易,公布于区块链.
图2 Certchain[46]证书追溯
此外,由于区块链是一个公开的账本,存在隐私 泄露的风险.相关研究者在基于区块链的PKI系统 研究基础上,对去中心化的匿名证书系统展开了
研究[42,48].
3.2.2 去中心化的身份管理
身份管理(IdentityManagement,IdM)是信息 安全的关键技术,涉及身份创建、身份描述、身份管 理等诸多方面.由于数据泄露事件层出不穷,身份欺 骗事件日益增加,集中式的IdM面临严重的安全挑 战,用户容易丧失其数字身份的控制权和所有权.该 研究方向和去中心化PKI技术的区别在于,身份管 理中数字身份的发布者必须是权威部门.因此,在实 现基于数字身份的信任服务时,实体包括身份发布 方、用户和身份验证方,在区块链网络中具有不同的 身份和任务.其中,用户需要向发布方提供身份证明 材料,如身份证、驾驶证等,并得到电子身份凭据;身 份发布方需要验证用户提供的证明材料,一方面向 用户颁发电子身份,另一方面要写入区块链系统,使 之生效;身份验证方从用户得到身份证明,并向区块 链网络查询确认.
从基础框架入手,研究者对基于区块链的去中 心化身份管理系统展开了研究工作.Dunphy等 人[49]指出,区块链技术具有去中心化、防篡改、用户 可控的安全特性,并从身份管理系统的特点出发,对 三个典型的基于区块链的身份管理系统(uPort
①
、 Sovrin②
、ShoCard③
)进行深入研究.分析结果表明, 基于区块链的身份管理是有意义的,但是这三种方 案均不能完美解决身份管理问题,主要原因有两个:(1)未能解决可用性的问题,用户无法妥善管理私 钥;(2)通用数据保护条例(GeneralDataProtection Regulation,GDPR)对个人数据的监管十分严格,区
块链的公开特性和隐私保护相悖,这为区块链应用 的设计带来了挑战.Stokkink等人[50]探索了基于区 块链的数字身份部署方法,通过设计对身份的全套 声明链条(claimchain)实现数字身份自主化管理. Lee等人[51]针对移动场景提出了ID即服务的概念
(IDaas),为电信公司、移动用户和应用商建立互相 认证机制,提供身份和管理服务,而这个过程无需共 享任何安全凭证.董贵山等人[52]提炼了基于区块链 的身份管理模型,描述了基于区块链的信任服务关 系.作者认为区块链技术能够建立全网统一的信任 模型、规避信用中介的单点风险以及降低系统维护 的成本,下一步要研究区块链如何满足细粒度身份 权限管理的需求.Takemiya等人[53]提出了一个面
1期 刘明达等:区块链在数据安全领域的研究进展 7
① ②
③
https://www.uport.me/ https://sovrin.org/ https://shocard.com/