白 健,董贵山,安红章,廖思捷
(中国电子科技网络信息安全有限公司,四川 成都 610041)
2016年起,国务院相继下发了《政务信息资源共享管理暂行办法》[1](国发〔2016〕51号)《政务信息系统整合共享实施方案》[2](国办发〔2017〕39号)等重要文件,强力推动政务信息系统整合共享工作。
2017年,党的十九大报告[3]明确:“全面深化改革总目标是完善和发展中国特色社会主义制度、推进国家治理体系和治理能力现代化”,并要求2020年到2035年基本实现。这个目标对政务信息化提出了更高要求。其中,落实政务信息系统整合共享工作,实现高效执政、智慧治理、惠民服务是工作重点。同年,国办发〔2017〕39号文[2]明确要求:“2018年6月底前,实现国务院各部门整合后的政务信息系统接入国家数据共享交换平台,各地区结合实际统筹推进本地区政务信息系统整合共享工作,初步实现国务院部门和地方政府信息系统互联互通”。
2018年,国务院发布《关于加快推进全国一体化在线政务服务平台建设的指导意见》[4],意见要求:“进一步加强政务信息系统整合共享,落实数据提供方责任,国务院有关部门按照‘谁主管,谁提供,谁负责’的原则,保障数据供给,提高数据质量。强化数据使用方责任,加强共享数据使用全过程管理,确保数据安全”。
2019年,习总书记在中共中央政治局第十八次集体学习[5]时强调:“要探索利用区块链数据共享模式,实现政务数据跨部门、跨区域共同维护和利用,促进业务协同办理,深化‘最多跑一次’改革,为人民群众带来更好的政务服务体验”。
2020年,中共中央国务院发布《关于构建更加完善的要素市场化配置体制机制的意见》[6],数据作为一种新型生产要素写入文件中,与土地、劳动力、资本、技术等传统要素并列为要素之一。意见明确,加快培育数据要素市场,推进政府数据开放共享、提升社会数据资源价值、加强数据资源整合和安全保护。
由此可见,加快政府数据开放共享,深化大数据在各行业创新应用,通过建设数据强国,提升政府治理能力,推动经济转型升级,已经达成共识[7-9]。大数据作为一种虚拟资产迈过技术成熟度曲线的低谷,已经成为真正意义上的产业。
但数据资产的可复制性使得数据的共享保护及确权溯源难度极大[10-11],政府机构虽然建设了数据共享基础设施,但由于各个提供商担心数据无法确权,导致利益分配与己无关;数据共享管控不严,导致数据被越权使用;数据确责溯源不准确,导致数据被滥用但需要数据提供方承担责任。上述问题均阻碍着全国数据共享业务的有效推进。
本文主要针对数据资产管理过程中确权确责问题,通过数据指纹技术对数据进行有效标识,通过区块链共识验证技术对数据资产的发布确权、共享管控、使用溯源进行多方共识验证,通过数据共享评价机制为数据建立良好的反馈机制,最终形成不可篡改的数据确权、共享、使用等全生命周期的流转记录,为建立安全、可信、繁荣的数据共享生态奠定基础。
数据共享已经成为行业热点,目前主流的数据共享交换系统主要存在如下问题。
(1)数据权属缺少公开确认。数据发布由资源方自主提交,系统对数据缺少唯一性鉴别与时序公证登记,可能会存在数据重复登记、权属不清等问题,可能会导致权责纠纷。
(2)数据安全责任边界不清。共享平台在实现数据流转的同时也在传递着安全责任,无差异的数据、单向责任传递、简单的审计则必然导致安全责任“连坐”,既不利于数据泄露溯源,又挫伤共享者的积极性。
(3)数据管控责任过于集中。数据访问授权、共享交换、日志审计等均在信息共享平台完成,这就要求资源提供者、需求者要充分信赖平台,平台自然也就要承担主要管控责任,而这在实际应用中往往会存在问题。
(4)缺少公开公正评价机制。资源需求者没有公开公正途径评价数据质量,集中式的评价管理机制缺少公信力,从而也就难以为平台对数据提供者实施有效的监督管理提供支撑。
此外,学术界对数据共享也进行了深入的研究,世界经济论坛组织提出以用户为中心的数据处理模型及其实现的关键原则[12],包括透明性、可信性、可控性、增值性。Franklin等人在2005年的SIGMOD会议上首次提出了数据空间的概念[13-15],通过将用户需求、数据及其服务抽象形成一个虚拟空间,从而进行有效的管理。MIT的Pentland等人也提出了针对个人隐私保护的“安全问答”的一种新的数据空间管理编程范式[16]。此外,基于区块链的数据共享技术研究也是目前学术界的研究热点,主要关注区块链数据管理[17-18]、数据隐私保护[19-21]等。
数据资产共享管控及确权溯源服务系统通过数据指纹和区块链技术实现数据资产共享的分布式可信共识验证可信管控,并形成不可篡改的数据资产流转使用记录,为数据资产的确权溯源服务提供有效支撑。
(1)总体架构
数据资产共享管控及确权溯源服务系统共对外提供数据资产发布确权、数据资产流转共享管控、数据资产可信溯源查询呈现三个服务,可对接的数据交换形式包括三种:数据库、文件、接口,通过安全套件实现数据指纹的提取以及后端安全服务的调用,总体架构如图1所示。
图1 数据资产共享管控及确权溯源服务系统架构
(2)技术架构
数据资产共享管控及确权溯源服务系统的技术架构主要包括服务系统和安全sdk套件两个部分,服务系统主要包括区块链服务系统、数据关联分析及查询、数据资产评价统计、系统参数配置、国密算法模块等。
区块链服务系统主要分为三层:不可篡改账本、共识算法和智能合约协议。不可篡改账本主要指全局统一、由各节点负责存储的数据资产操作记录;共识算法主要实现多个不同节点对数据资产操作的多方共识验证;智能合约协议主要是根据数据资产的操作需要对数据资产的业务进行实现,并部署在不同的分布式节点,为数据资产操作行为的正确性提供验证依据。
(3)核心业务模型
①数据资产发布确权
资源提供方发布数据资产时,安全SDK套件提取该资产的数据指纹,连同发布时间、发布者等信息一同记入区块链服务系统,生成不可篡改记录。数据资产发布后,任何时间均可通过该资产的数据指纹查询到首次发布记录,以此实现确权,具体模型如图2所示。
图2 数据资产发布确权
②数据共享分布式共识管控
在数据共享过程中,发布数据、制定共享策略、读取数据等请求发送到区块链服务系统后,分布在区块链网络中的各个节点将按照共识算法开展多方验证:对于数据发布,各节点对记录的方式与位置进行共识验证,达成共识后记录数据指纹;对于共享策略,各节点按策略格式、合规性等进行验证,达成共识后确认;对于读取数据的请求,各节点按共享策略验证读取条件,达成共识后授权,具体模型如图3所示。
图3 数据共享分布式共识验证
③数据资产流转溯源
依托全局数据确权以及共享交换的不可篡改记录,可确保共享数据在整个生命周期拥有较为完善的流转使用存证,继而获得整个数据使用过程中的使用者、使用对象、使用数据方式、使用数据的时间、使用数据范围等信息,实现数据资产流转的溯源,具体模型如图4所示。
图4 数据资产流转溯源
④数据资产安全可信评价
数据使用方可对共享数据的质量进行评价,评价录入区块链后形成不可篡改记录,达到安全可信效果。
基于区块链的数据共享解决方案通过公钥对机构用户的身份进行标识,通过数据指纹对数据进行标识,最终通过区块链共识网络实现用户的安全接入、发布验证、数据确权、读取控制、数据评价、共享确责,并通过区块链浏览器对网络节点及共享数据的态势进行程序,整个区块链数据均是通过哈希进行串联,确保数据的不可篡改,同时可以通过数据指纹对数据共享记录进行关联查询,通过签名确保查询结果的不可抵赖,通过交易编号确保数据的不可抵赖,具体模型如图5所示。
图5 数据资产安全可信评价
基于区块链的数据共享协议主要包括8个部分:用户注册智能合约协议、用户公钥更新智能合约协议、用户停用智能合约协议、数据发布智能合约协议、数据共享智能合约协议、数据发布更新智能合约协议、数据共享更新智能合约协议、数据接收读取智能合约协议、数据评价智能合约协议。
(1)用户注册智能合约协议
图6 用户注册智能合约协议
协议流程如图6所示,详细描述如下:
①用户生成加密密钥对(esk,epk)和签名密钥对(ssk,spk)。
②用户发送{enrollRequire、ID、epk、spk、email、orgnization、position、RF1、RF2、Sign(*)}给区块链,请求身份注册。
③区块链验证用户签名VerifySign(*),绑定用户公钥,为用户生成区块链证书,并记链。
④颁发证书。
字段说明:
①ID:用户身份;
②(esk,epk):加密密钥对;
③(ssk,spk):签名密钥对;
④EnrollRequire:身份注册请求标识;
⑤email、orgnization、position:用户身份属性,电子邮件、单位、职位;
⑥RF(RF1,RF2):Redundant field,冗余字段,用户其他属性信息。
(2)用户公钥更新智能合约协议
图7 用户公钥更新智能合约协议
协议流程如图7所示,详细描述如下:
①用户发送{updatepkRequire、new_epk、new_spk、Sign(*)}给区块链,请求更新公钥。
②区块链验证签名VerifySign(*),绑定更新公钥{new_epk、new_spk},生成新的区块链证书,并记链。
③颁发证书。
字段说明:
①updatepkRequire:公钥更新请求标识;
②new_epk:更新的加密公钥;
③new_spk:更新的签名公钥;
④Sign(*):原始签名私钥签名。
(3)用户停用智能合约协议
图8 用户停用智能合约协议
协议流程如图8所示,详细描述如下:
①用户发送{disableRequire、Sign(*)}给区块链,请求停用智能合约协议。
②区块链验证用户签名VerifySign(*),查找用户证书,将用户证书状态标记为“disabled”,并记链。
③区块链返回记链结果{0,1}给用户。
字段说明:
①disableRequire:停用请求标识;
②disable:已停用。
(4)数据发布智能合约协议
图9 数据发布智能合约协议
协议流程如图9所示,详细描述如下:
①用户生成data的dFingerprint_data。
②用户发送{putRequire、dFingerprint_data、dDomain、dSensitivity、RF1、RF2、Sign(*)}给区块链,请求数据发布。
③区块链验证用户签名VerifySign(*),查验数据指纹dFingerprint_data,并记链。
④区块链返回记链结果{0,1}给用户。字段说明:
①dFingerprint_data:数据指纹;
②putRequire:数据发布请求标识;
③dDomain:数据所属领域;
④dSensitivity:数据敏感度;
⑤RF:冗余字段,数据其他属性;
⑥Sign(*):用户签名。
(5)数据共享智能合约协议
图10 数据共享智能合约协议
协议流程如图10所示,详细描述如下:
①用 户 发 送{shareRequire、shareObjects{}、dFingerprint_data、Sign(*)}给区块链,请求数据共享。
②区块链验证用户签名VerifySign(*)和数据指纹dFingerprint_data,并记链。
③区块链返回记链结果{0,1}给用户。
字段说明:
①shareRequire:数据共享请求标识;
②shareObjects{}:数据共享对象集;
③dFingerprint_data:data的数据指纹。
(6)数据发布更新智能合约协议
图11 数据发布更新智能合约协议
协议流程如图11所示,详细描述如下:
①用户发送{updateRequire、dFingerprint_updateData、Sign(*)}给区块链,请求更新发布数据。
②区块链验证用户签名VerifySign(*)和数据指纹dFingerprint_updataData,并记链。
③区块链返回记链结果{0,1}给用户。
字段说明:
①updateRequire:数据发布更新请求标识;
②dFingerprint_updateData:更新的数据updateData的数据指纹;
③{0,1}:记链结果。
(7)数据共享更新智能合约协议
图12 数据共享更新智能合约协议
协议流程如图12所示,详细描述如下:
①用户发送{updateShareRequire、dFingerprint_data、shareObjects{}、Sign(*)}给区块链,请求更新数据共享。
②区块链验证用户签名VerifySign(*),查验dFingerprint_data,并记链。
③区块链返回记链结果{0,1}给用户。
字段说明:
①updateShareRequire:数据共享更新请求标识;
②dFingerprint_data:数据data的数据指纹;
③{0,1}:记链结果。
(8)数据接收读取智能合约协议
图13 数据接收读取智能合约协议
协议流程如图13所示,详细描述如下:
①数据读取者发送{getDataRequire、RID、CID、dFingerprint_data、Sign_R_ssk(*)}给区块链,请求数据读取;
②区块链验证签名VerifySign(*),查验RID是否为合法的数据共享对象,记链读取请求;
③返回记链结果chainResult= {getDataRequire、RID、CID、dFingerprint_data}。
④读取者发送{chainResult、RID、epk}给数据贡献者,请求数据读取。
⑤贡献者区块链请求查询chainResult。
⑥区块链返回记链值{0,1}给贡献者。
⑦贡献者计算C=Enc_R_epk(data),发送C给读取者。
⑧贡献者发送{getDataRequire、dFingerprint_data、RID、Sign_C_ssk(*)}给区块链,请求记链。
⑨区块链验证VerifySign(*),并记链。
⑩区块链返回记链结果{0,1}。
字段说明:
①RID:读取者身份;
②getDataRequire:数据获取请求标识;
③dFingerprint_data:数据data的数据指纹;
④Sign_R_ssk(*):读取者签名;
⑤epk:读取者的加密公钥;
⑥enc_*_*:加密;
⑦dec_*_*:解密;
⑧Sign_C_ssk(*):贡献者签名;
⑨chainResult:记链结果。
(9)数据评价智能合约协议
图14 数据评价智能合约协议
协议流程如图14所示,详细描述如下:
①读取者生成dEval_data(限制256字节)。
②读取者发送{dFingerprint_data、dEval_data、Sign_R_ssk(*)}给区块链。
③区块链验证签名VerifySign(*),并记链。
④区块链返回记链结果{0,1}给读取者。
⑤数据贡献者发送{getdEvalRequire、dFingerprint_data、Sign(*)},请求获取数据评价。
⑥区块链返回dEval_data给贡献者。
字段说明:
①dEval_data:data的数据评价;
②dFingerprint_data:data的数据指纹;
③Sign_R_ssk(*):读取者的签名;
④getdEvalRequire:获取数据评价请求标识;
⑤Sign_C_ssk(*):贡献者的签名。
(1)测试环境
基于区块链的数据共享方案测试环境如表1所示,三台服务器分别部署共识排序节点,共识决策验证节点,协同构成整个区块链平台系统。
表1 数据资产发布确权
(2)测试数据
在上述测试环境上安装数据共享智能合约,通过接口调用实现用户注册、停用,公钥更新,数据发布、共享、更新和接收读取、评价功能。上述接口功能测试通过后,选取关键接口,采用Jmeter测试工具,以Http封装后分别以50并发和100并发调用,性能测试结果如表2所示,符合预期数据。
表2 关键接口性能测试结果
(1)全局唯一虚拟资产登记
使用数据指纹、数据标签等技术对虚拟资产形成唯一的身份标识,实现数据资源的实例化,然后与资源拥有者身份一起记入区块链分布式总账,实现对资源的权益公开确认。
(2)数据责任交接清晰明确
基于区块链分布式总账对数据提交、授权、申请、共享、确认等过程进行公证记录,为数据溯源提供高可靠数据支撑,结合数据实例化进一步提升溯源效能。
(3)数据管控责任多方分担
多方共同参与记账,账本不可更改,资源提供者参与了交易的记录与确认,既降低了对平台的信任依赖,同时也分担了平台的数据管控责任。
(4)公开公正可靠数据评价
资源需求者可对资源提供者数据服务进行评价,并记录至区块链,由于评价记录不可更改,结合数据的可溯源特性,能够为共享平台生态治理提供帮助。
(1)加强数据共享系统与区块链系统的融合设计
目前数据共享交换系统已经在政务系统及相关行业内部进行了部署应用,而区块链系统的建设和发展刚刚起步,这种情况极容易导致数据共享系统与区块链系统“两张皮”现象,区块链系统仅仅用于交互行为存证,而并未与数据发布、共享、溯源、评价等过程进行一个强关联,最终无法真正发挥区块链的实际价值,因此需要加强数据共享系统与区块链系统的融合设计,真正实现全局对于数据共享过程的共管共识。
(2)加强区块链数据标识关键技术研究
区块链通过分布式共识构建虚拟网络空间公平公正的管理系统,但分布式共识系统需要多点验证存储,因此数据不能全部由区块链系统进行存储,而需要通过数据标识技术,为数据颁发“身份证”,通过数据标识实现数据在网络空间进行发布流转管理,而目前数据标识技术还不是十分完善,需要加强技术攻关研究,真正实现通过标识识别数据。
(3)加强基于区块链的数据共享计算关键技术研究
目前主流的数据共享系统以数据共享交换服务平台为主,但数据的可复制性给数据共享交换带来了极大的安全风险,而数据共享计算通过“数据不动,算法跑路”的方式较好的解决了用户的后顾之忧,如何基于区块链分布式共识实现多个数据提供方数据的安全可信共享计算是一个研究热点,通过加强该关键技术的研究,有助于构建数据共享基础设施,真正促进数据价值流动。
(4)加强基于区块链的数据共享服务基础设施建设
构建全局统一的数据共享服务基础设施既有助于数据价值的充分流动,同时对于防止数据的泄露也可以进行全局统一的监测,对于保护数据权属也具有非常重要的意义。因此,结合区块链分布式共识构建大家共建、共管、共治的数据共享服务基础实施具有重大意义。
基于区块链的数据共享有助于全局唯一虚拟资产登记、清晰明确数据责任交接、数据管控责任多方分担、公开公正可靠数据评价,可以让数据提供方放心、数据监管方省心、数据使用方小心,同时,通过构建全国数据共享区块链服务基础设施,促进数据共享,实现数据价值传递,构建共赢的数据服务生态具有重要意义。本方案目前还有众多需要完善之处,后续将会持续进行关键技术突破和系统研发,为基于区块链的数据共享提供有效支撑。