基于密码和区块链技术的数据交易平台设计

2016-05-14 01:19
信息通信技术 2016年4期
关键词:公钥交易平台区块

上海凭安网络科技有限公司 上海 200335

背景

随着云计算、物联网的发展,越来越多的数据被记录,我们已经进入大数据时代。数据的共享和交易是大势所趋和市场的必然需求。

只有多维度的数据交叉,才能发挥数据的最大价值,但没有一家机构能获得全数据、全样本。各地纷纷建立起大数据交易中心,并配套优惠政策,然而,绝大多数企业并不愿意将自己的数据通过交易中心进行交易。

在商品经济时代,商品交易平台,无论是线下的大卖场模式(国美、苏宁),还是线上的商城模式(天猫、京东)都加速了商品的流通,对经济发展起到了巨大的推动作用。大数据交易中心目标同样是链接供需双方,加速数据流通,但数据企业并不买账。

数据企业不把数据拿出来共享交易的担心有两方面。

1)数据合规性。什么样的数据可以共享和交易?数据拿出来会不会被投诉或者处罚?谨慎的数据拥有者为了规避风险,不求有功,但求无过,索性就不拿出来。

2)数据安全和权益保障。数据在共享交易过程中,存在被第三方复制、留存、转卖等风险,数据资产权益无法得到保障,数据共享可能就是在为他人做嫁衣,因此,不敢把数据拿出来共享交易。

1 数据具有特殊性

通常的商品,不管是实物商品还是虚拟物品,都有一个明确的所有权约束,获得所有权,就能唯一拥有商品,享用商品带来的价值。商品交易和交换是商品所有权的转移过程,在所有权转移之前,任何一方观看、托管甚至试用都不会真正拥有商品,这些过程也不会对商品提供者造成实质性利益损害。

相对于普通商品,数据具有其特殊性。

1)无唯一性,没有明确的所有权约束。普通商品具有唯一性,同一时间只能有一个所有者,所有权与唯一性是相关联的。数据商品不具备唯一性,可以同时交易给多个对象,也就没有了传统所有权的概念。

2)看过即拥有。传统商品的所有权都有一个显式的、公认的证明,比如房产证、股票账户,交易的安全就是顺利保障所有权的转移。数据商品没有了传统所有权的概念,拥有数据商品也更为简单,成本更低,看过即拥有了数据商品,就能获得效用。

3)数据复制的完全无差异性。普通商品也存在复制和盗版,但复制品和盗版在效用上是与原商品有着巨大差别的,比如仿制的汽车不如原厂汽车质量好,复印的画不如原版画价值高等,而数据产品的复制具有完全无差异性,在效用上也没有差异。

2 传统数据交易模式无法保障交易方的安全和权益

2.1 托管交易模式

各个业务机构将自身数据托管到中心数据库,由中心数据与外部进行数据交易。如图1所示。

图1 托管交易模式

数据机构托管数据后,数据完全由数据中心所有,数据的后续应用都与机构无关,比如交易的数量、交易的对象等等,权益完全依赖中心的诚信度。

2.2 聚合交易模式

数据聚合中心通过API接口将数据业务机构链接起来,业务机构无需事先将数据上报给中心,数据由机构自己管理。当某个主体需要查询数据时,通过中心与数据机构实时交互,有数据的机构回应信息,由中心统一返回给查询机构。如图2所示。

①机构1发起“我要查小明”的请求,发送到数据聚合中心。

②数据聚合中心将请求发送给除机构1以外的所有机构。

③有数据的机构4和机构6回应,将数据发送给聚合中心。

④分发中心将机构4和机构6回应的数据汇总后发送给机构1。

图2 聚合交易模式

聚合的模式表面看起来数据都由数据机构各自控制,中心只是起到了链接和撮合交易的功能,但仔细分析数据流动机制,就会发现聚合模式的中心其实有能力、也有机会留存交易数据,也就拥有了数据,随着交易的不断进行,数据不断积累,聚合中心逐步变成了托管中心。

2.3 小结

数据作为特殊商品具有独特性,按照商品流通中介模式建立的数据中介平台构成了对数据交易双方权益的潜在威胁,变成了数据交易的一个障碍。

交易平台往往都是把自身作为权威、可信的第三方,表明自己不愿也没有动力去留存数据。但无法做和不愿做是两个概念,无法做是想做但做不到,不愿做是有能力做但没去做,一个不具威胁,一个具有潜在的威胁。

只有建立符合数据特性的信息平台,通过技术机制而不是仅凭承诺来保障数据的安全和权益,做到让数据交易双方真正放心,才能加速数据的顺畅流动。

3 基于密码和区块链技术的数据交易平台

3.1 设计目标

设计一种新型的数据交易平台,从技术上保证平台只能做链接功能,没有机会查看、复制、留存交易数据内容,保障数据的隐私和安全,让交易双方放心。

放心的平台,要做到以下两点。

1)对数据购买者放心。数据产品合法化,规范化,可预期;交易要保密,信息查询或者购买行为本身就是隐私,不能被广播、被无关机构获知,仅数据提供方知晓;交易要精准,一旦发起交易,必定成功;交易有保障,交易行为有记录,可查询,可申诉。

2)对数据提供者放心。数据由提供者存储和管理,谁的数据谁控制;交易过程中,数据仅能被购买者获得,其他任何第三方,包括平台,也无法获取数据;数据购买者无法在平台上将购买的数据再次交易;购买者的购买意图会准确传达,不会被平台过滤和转向;交易有保障,交易行为有记录、可查询、可申诉。

3.2 设计原则

3.2.1 正确使用密码技术

一个系统不是用了密码技术就代表了安全,更重要的是能否正确使用密码技术,密码技术的正确使用包括两个方面。

1)密码算法的正确使用。单独一种密码算法很难有效保证整个系统甚至某个应用功能的安全性,需要对多种算法进行有效组合,比如身份确认可以使用非对称加密,不可逆可以采用HASH算法,大数据量加密采用对称加密,不可抵赖和篡改使用数字签名,定向加密采用数字信封等等。即使使用密码,不合理的组合也会导致漏洞。

2)流程的正确使用。保证整个业务的安全完成必须在各个流程中正确使用加密技术,在数据共享流程中,至少要包括密文索引、密码查询、密文获取。

正确加密技术的使用目标是每一笔交易都能保证隐私,同时,不可抵赖,都可以追踪,第三方无法获取数据内容。

3.2.2 引入区块链技术

区块链是一种共享的分布式数据库技术[1],具备共识的四个特性:去中心化(Decentralized)、去信任(Trustless)、集体维护(Collectively maintain)、可靠数据库(Reliable Database)[2]。简单可以把区块链理解为是一种完整的、不可篡改的、多方参与和监督的记录方式。

区块链是比特币的底层技术支撑,以比特币为代表的数字货币,关键的创新是通过具有时间戳(Timestamp)的哈希链和工作量证明(Proof of Work)机制解决双重支付(Double Spending)和拜占庭将军问题(Byzantine Generals’Problem),即保证同一笔比特币不会同时出现在两个地址[3],并且在信道可靠的基础上,所有节点都可以让其它节点接收到自己的真实意图,并最终一致行动[4]。

这一技术方案最早见于化名为中本聪(Satoshi Nakamoto)的个人或团体在2008年发表的论文Bitcoin: A Peer-to-Peer Electronic Cash System[5],如图3所示。

区块链技术和思想的引入,可以让所有机构公平参与,中心平台的操作也变为透明和可监督,成为随时可监督、可抛弃、可替换的服务者,每个参与者也可自成中心,让原来的强中心变成弱中心。

3.2.3 开放与开源

无论多么完善、多么强大的机制和体系,都挡不住实现过程中的小“技巧”(漏洞或者后门)。表面上说的再好,最后的实现是黑盒,还是无法让参与者放心,为了让参与者彻底放心,系统需要协议开放和代码开源,而开放和开源也是区块链的特性所要求的[2]。

图3 A Peer-to-Peer Electronic Cash System

1)协议开放。系统对交互的协议和数据格式公开,参与者可以自行技术实现相关组件加入体系,确保自身数据的安全可控。

2)代码开源。系统为参与者写好了数据接入模块,源代码公开,让用户看的清清楚楚,也证明系统的清白。

敢于协议开放和代码开源,本身就是系统透明、安全以及公正的最好证明。

3.3 平台设计

3.3.1 整体架构

整个体系由三部分组成,如图4所示。

图4 平台架构

1)公共区(交易平台)。第三方机构建设运营,主要作用是搭建基础通讯架构,实现成员之间的连接和通讯隐藏;成员认证和接入管理;维护公共记录块链,实现对数据的索引记录、交易记录;制定数据规范和交易规则,维持交易秩序;协助交易方完成数据的追溯维权。

2)成员区。参与方数据区,主要保存公共区记录块链的备份,监督公共区的区块链记录的正确性;维护自己可共享的隐私数据,提供对外的查询服务;发起查询,获取外部数据。

3)节点设备。连接公共区和成员区,实现从公共区域中备份记录块链,完成自有数据的块链生成和提交,接收来自公共区域的消息,实现与对端的安全通讯(查询及被查询)。可以由成员根据开放协议自行开发实现,也可以由交易平台提供源代码。·

3.3.2 体系初始化

第三方搭建交易平台服务系统,对外公布交易平台的自签名证书(公钥)。交易平台公布运营规则,成员加入资格,共享数据格式标准。

如下为用户的信贷信息共享数据标准(逻辑组成示例)。

1)用户:C3765DF5C2AAC29642EC08F9CDC148B03E2727D7 [(身份证+姓名)HASH值]。

2)近两年贷款信息,如表1所示。

表1 近两年贷款信息统计(已结清)

3)近两年逾期信息,如表2所示。

表2 近两年逾期信息

4)正在进行的贷款,如表3所示。

表3 正在进行的贷款

3.3.3 成员加入及认证

1)成员申请加入,交易平台审核确认成员身份,允许成员加入后,成员向交易平台发送第三方CA发放的数字证书或者自产生的数字证书,作为成员的身份证书,交易平台将此数字证书与成员真实身份对应。

2)成员自己生成任意数量公私钥对池,将公钥池数据用身份证书的私钥进行签名,发送给交易平台,交易平台使用成员身份证书进行验证后,将公钥池中的公钥与成员关联,也作为成员的身份标识(此步骤可以在步骤1完成后,根据需要随时发起,可多次发起)。

使用多个公钥的目的是成员可以使用多个身份标识发布数据索引,让其他成员无法判断数据的来源。

如果使用实名交易,则无需多个公钥。

3.3.4 数据索引提交

1)成员选择可以对外共享或者交易的数据。

2)计算主体标识ID(如:身份证+姓名)的HASH值,提取主体信息描述,计算主体信息内容的HSAH值,并为此信息定价,形成基础数据索引信息。

3)从公钥池中选取此次共享数据采用的密钥对(同一主体记录应保持使用同一密钥),在信息中增加公钥信息,并使用对应的私钥对信息进行签名,形成记录申请包,发送给平台。申请包如图5所示。当数据有更新时,成员应重新提交数据索引及描述。

图5 Record申请包

3.3.5 共享数据索引区块链生成

交易平台收到记录申请包,提取相应的公钥,验证公钥是否在已经提交的公钥池中,确认此公钥为有效成员所拥有,然后使用公钥对记录签名进行验证,确认此信息为对应成员所发送。然后提取申请中的密文索引信息作为一个记录(Record)。平台将收到的所有成员发送的记录汇总,加入到当前区块(Block)中,并且与前期生成的块链接形成链条(Chain)。

Block的生成引入随机竞争分配机制,使得每个参与者节点都能公平获得生成Block的机会,从而保证每个节点的信息都能被记录在链条中,也保证了链条参与节点共同维护。使用随机竞争分配机制而不是比特币中的工作量证明挖矿机制,可以大大减少能源的损耗。2014年6月曾有工程师系统计算,在比特币全网计算能力为110 000 000 GH/S的情况下,整个网络的挖矿成本约为每年8亿美元,包括电力成本约7 071.2万美元和矿机投资约7.33亿美元[6]。如图6 所示。

交易平台定期(如每小时)将各个成员提交的新索引和更新索引汇总生成当天的块,加入链条中。链里的记录内容无法更改和删除,只能新增记录。

每个成员都可以对索引链进行下载和检索,确认自己提供的索引是否在索引链中,形成对交易平台的监督。

3.3.6 信息查询

当成员需要查询平台中是否存在某个主体信息时,首先是检索平台中是否存在对应的索引。查询成员获取到主体的身份信息(如身份证+姓名),对身份信息进行HASH处理,得到身份信息密文,如C3765DF5C2AAC 29642EC08F9CDC148B03E2727D7,使用密文进行检索,检索可以通过两种方式。

1)将密文索引值发送到交易平台,由返回查询结果。

2)从交易平台中下载索引的区块链文件,自行解析其中的密文索引,检索是否存在需要查询的主体索引。

图6 共享数据索引区块链

无论交易平台服务检索,还是本地自行检索,仅仅是查询平台中是否有机构提供此主体的信息,并不返回真正的数据内容。如果存在,则可以得到此索引对应的完整索引记录,包括密文索引ID、描述、服务地址、价格,提供机构的密钥及签名等信息。

3.3.7 信息获取

获知平台中有机构提供查询主体的信息后,可以进行信息获取,步骤如下。

1)查询方访问记录中提供的服务地址。

2)查询方选取此次请求使用的公私钥对(签名私钥对应的公钥应在块链中出现过),构造请求并发送。请求包如图7所示。

3)数据提供方收到请求,提取公钥信息并验证签名,确保请求方是体系中的合法成员。

4)数据提供方从己方数据库中提取主体的表现信息(符合交易平台共享数据标准),将数据使用请求方公钥进行加密,然后使用自己的私钥进行签名,生成响应包,发送给查询方。响应包如图8所示。

5)查询方收到响应包后,首先使用提供者公钥验证响应包签名,确认响应包为提供者所发送,然后使用自己的私钥解密记录信息,获得记录原始信息,将记录原始信息进行HASH后与块链中的记录HASH相比较,验证是否为在块链中声明的记录信息。

3.3.8 交易链的生成

交易平台将每天平台产生的交易记录汇总后形成交易块,并与以前的交易记录形成链式结构,如图9所示。

每个成员都可以对交易链进行下载和检索,确认自己的交易是否在交易链中,即形成对交易平台的监督,也为后续的交易追溯和申诉提供证据。

3.3.9 信息投诉

当查询方获得的数据具备以下情况时,可以对信息记录进行投诉。

1)获得的信息与描述不符。

2)获得的信息经证实为虚假信息。

图7 查询请求包

图8 记录响应包

3)获得的信息具有重复(出现一个机构购买其他机构数据后,重新整理上传作为自己的数据)。

投诉流程是向交易平台提交投诉请求,投诉请求中包含记录响应包内容、投诉原因、投诉方签名。投诉请求包如图10所示。

交易平台收到投诉请求,提取记录原文进行HASH,与块链记录中的记录HASH对比,如果一致,则认为投诉有效。

第三方可以对投诉进行核实,或者被多家投诉,则将该记录在块链中计入无效状态,并对数据提供者进行一定惩罚措施。

3.3.10 信息监督

信息监督的主要目标有两个,即:1)监督数据提供者提供数据的规范性和质量;2)监督有无恶意复制信息者,保护数据拥有者权益,打击盗版。

信息监督的方式有两种,即:1)用户评价和投诉。数据购买者获得数据后,数据核实有误或者怀疑数据的准确性,可以提请平台一同对信息进行核查;2)平台主动监督。主动监督方式是通过抽查,平台作为普通购买者购买一定量数据,对购买的数据进行规范性校验,并对其中数据的真实性进行核实。

3.3.11 应用流程

如图11所示, 机构向交易平台密文公布共享数据的索引。密文为单向散列算法,只根据密文无法推导出原文,谁也不知道机构公布了什么,信息没有泄露风险。

图9 交易链

图10 投诉请求包

①机构1将要查询的用户ID使用同样加密算法加密后,在加密索引中查询。加密索引通过图块链实现,任何人都可以下载查询,因此,查询动作和查询信息都不会泄露给其他机构。

②机构1向可以提供数据的机构4和机构6发送数据获取请求。请求只发送给能够提供数据的机构。

③机构4和机构6收到请求后返回数据,数据使用机构1的公钥加密后传输给机构1。收到请求的机构必须应答,因为已经在索引中进行了声明,无法抵赖。

④机构1分别收到机构4和机构6发来的加密数据,使用自己的私钥解密数据。使用查询机构的公钥加密,只有查询机构能够解开,其他任何第三方无法解密。

图11 应用流程

4 总结

新型的数据交易平台,通过加密技术、区块链技术和开放开源的结合,从机制上保证了平台自身无法查看、复制和留存数据,数据提供方可以放心地将自己的数据通过平台进行交易,是一种更为安全和高级的数据流动方式,交易平台完成了对自身的一次革命,实现了自身的去中心化。

参考文献

[1]高盛报告.Blockchain: Putting Theory into Practice[R]

[2]什么是区块链[EB/OL].(2015-10-19)[2016-08-10].http://chainb.com/?P=Cont&id=6

[3]Andreas M Antonopoulos.Mastering Bitcoin: Unlocking Digital Cryptocurrencies[M]. CA: O'Reilly Media, Inc

[4]拜占庭将军问题深入探讨[EB/OL].(2015-10-16)[2016-08-10].http://www.8btc.com/baizhantingjiangjun

[5]S Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System[EB/OL].[2016-08-10].https://bitcoin.org/bitcoin.pdf

[6]Under the Microscope: Economic and Environmental Costs of Bitcoin Mining[EB/OL].(2014-06-21)[2016-04-10].http://www.coindesk.com/microscope-economicenvironmental-costs-bitcoin-mining

猜你喜欢
公钥交易平台区块
公共资源交易平台构建及体制机制创新
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
一种基于混沌的公钥加密方案
神奇的公钥密码
区块链+媒体业的N种可能
读懂区块链
环太湖艺术品交易平台上线
P2X7 receptor antagonism in amyotrophic lateral sclerosis
网络交易平台商标侵权中避风港规则的适用及其限制