发布时间:2020-03-25所属分类:计算机职称论文浏览:1次
摘 要: 摘要:针对互联网租车场景中个人隐私保护问题,提出一种基于区块链的个人隐私保护机制。首先,针对互联网租车中暴露的个人隐私问题提出一个基于区块链的个人隐私保护解决方案框架;然后,通过参与者简介、数据库设计以及性能分析给出模型的设计和定义,并从授
摘要:针对互联网租车场景中个人隐私保护问题,提出一种基于区块链的个人隐私保护机制。首先,针对互联网租车中暴露的个人隐私问题提出一个基于区块链的个人隐私保护解决方案框架;然后,通过参与者简介、数据库设计以及性能分析给出模型的设计和定义,并从授予权限、写入数据、读取数据和撤销权限等方面阐述该模型的框架和实现;最后,通过基于区块链的系统开发表明了该机制的可实现性。
关键词:个人隐私保护;区块链;互联网租车;数据交互审计平台
0引言
随着计算机和网络的普及,个人隐私保护逐渐成为人们关注和担心的问题。如果忽视个人隐私保护问题或者对其处理不当,可能会给人们带来经济名誉损失甚至阻碍网络创新等后果。个人隐私保护问题可以通过法律和技术两条途径进行解决,而当前出现的区块链技术正好可以成为个人隐私保护问题的有效解决方案。区块链是一个分布式的账本,记录了每个交易发送和验证的历史,同时也记录了交易中包含的额外信息…。区块链中所有的区块都按照时间先后顺序排列,由矿工不断地创造添加,并且每个节点都有一份区块链信息的备份。区块链技术由于具有去中心化、永久记录和便于审计等特点口j,刚好可用于满足隐私数据的完整性、可限制性以及可审计性等数据安全需求,因此可以作为个人隐私保护问题的有效解决方案。
国内外关于区块链技术的文献不多,其中关于区块链技术在个人隐私保护问题上应用的文献更是凤毛麟角。在区块链技术对于个人隐私保护问题的应用领域方面,Swan提到健康隐私问题的严重性,认为区块链技术可以提供一个保护个人健康隐私数据不受侵犯的机制,但是却没有给出区块链对于个人隐私保护问题的应用场景实现细节。在使用区块链技术解决实际问题并提供具体实现细节方面,Zyskind等提出了一种去中心化的个人信息管理系统,通过某种协议,可以在该系统中使用比特币来传递存储、询问和数据分析等指令,从而确保用户拥有和控制他们自己的信息;但是该文并没有提出具体的案例应用,也没有关于个人隐私理论问题的阐述。Kosba等认为当前的区块链交易环境缺乏交易的隐私保护,虚拟地址之间的金钱流动完全暴露在区块链环境中,因此提出了一个叫作Hawk的去中心化智能合约系统,通过避免在区块链上存储财务交易的明文形式来保障交易的隐私性;但是该方法只能保障交易信息的隐私性,缺乏更加广阔的实际生活领域应用空间。Lazarovich_o详细给出了如何使用区块链技术来保护个人隐私,提出了基于分布式存储的第三方数据库escrow以及基于区块链审计的隐形墨水系统,并以医疗信息个人隐私保护为例来阐明区块链技术在个人隐私问题上的应用;但是缺乏对个人隐私问题的探讨以及区块链应用细节的展示。综上所述,国内外学者对区块链在个人隐私保护问题上应用的研究还十分有限。因此,本文将通过代入具体应用场景,将区块链技术个人隐私保护机制的应用细节进行逐一阐述,为进一步研究个人隐私保护问题提供机制参考。
相关期刊推荐:《计算机应用》把介绍计算机应用技术作为重点,以推动经济发展和科技进步为宗旨,把促进计算机开发应用创新作为目标。多年来,杂志以中国计算机学会为依托,受到国内计算机各应用领域专家的关注。读者对象:计算机应用工程技术人员、大专院校师生、企事业单位管理干部、科研院所从事计算机开发应用人员、计算机公司职员等必备的工具,是启迪思维、开拓进取、更新知识、开发应用的良师益友。
刘雅辉等提出,个人隐私保护问题的技术层面解决方案需要考虑匿名、数据访问控制、审计、在线社会网络隐私保护、移动定位隐私保护以及数据库个人隐私保护等方面的问题和需求。广受社会关注的互联网租车场景刚好贴合上述需求,具有一定的普遍性和代表性,因此本文将其作为区块链技术个人隐私保护机制的应用场景。
1互联网租车及其个人隐私问题
1.1互联网租车场景及流程
互联网租车以“租车+代驾”为基本模式为乘客提供了一种新型的城市出行方式,我国的“滴滴出行”等互联网租车软件平台已经受到了民众的欢迎。但是随着互联网租车的逐渐盛行,个人隐私问题也暴露无遗,并引起了社会的广泛关注。
考虑这样一个场景:乘客想要通过互联网租车软件出行去公司上班。首先,乘客在互联网租车软件中输入目的地;然后由互联网租车软件自动获取乘客出发地,推荐一定范围内的司机,并将乘客出发地信息发送给司机;司机接收到后决定是否抢单,而抢单成功的司机有优先权完成本次交易。
1.2该流程暴露的问题
乘客每天都使用该软件,出行路线也比较固定。在此过程中,乘客遇到了一些个人隐私方面的问题:
问题1乘客无法保证互联网租车平台会对自己的个人信息进行保密,上传的行程路线信息可能会被互联网租车平台盗用于推销广告以及获取其他商业价值。
问题2平台及各个司机可以随意查看乘客行驶路线信息,使得乘客难以有效掌控自己的个人隐私信息。
问题3当乘客想要停止使用该互联网租车软件时,之前保存于该软件上的信息却无法清空。
问题4假如乘客已经成功要求该互联网租车软件删除自己的个人信息,若之后该软件受到黑客攻击,乘客发现泄漏名单中竟然有自己的名字,也没有任何证据对其进行诉讼。
1.3解决方案
为了解决上述四个隐私保护问题,本文使用基于区块链的第三方数据库和数据交互审计平台来进行个人隐私保护。
第三方数据库是指用户可以选择自己信任的数据库来实现个人隐私数据的托管。第三方数据库是一种开源的数据库,只要提供一个链接便可使用。由于其存放的是用户隐私数据的加密形式,因此看不见隐私数据具体内容。不同用户可选择不同的第三方数据库,通过这样的分布式存储可以增强数据安全性以及减少互联网租车软件服务器的数据存储量。
数据交互审计平台是一种建构在区块链之上并对所有数据操作行为进行审计的系统。数据交互审计平台使用区块链来记录互联网租车平台、司机以及其他团体对用户数据的每一次操作,包括读数据、写数据、更新数据以及许可管理。数据交互审计平台可保证所有相关数据操作都被记录在区块链中,从而加强了互联网租车软件平台等各方的操作合规性,同时能够让用户真正控制和掌握自己的数据。
本文解决机制框架如图1所示。首先,乘客、第三方数据库和数据交互审计平台之间进行初始密钥交换,并由乘客授予数据交互审计平台权限。为了租车,乘客将上传自己的行程路线隐私信息。通过第三方数据库及区块链审计方法,回避互联网租车软件平台,使得其无法获取用户的整个行程路线,问题1将得到解决。
其次,在互联网租车软件平台和司机读取乘客行程路线的过程中,两者通过数据交互审计平台获取用户数据,其所有操作都记录在区块链上;再加上第三方数据库无法看到用户数据明文形式,其分布式存储可保障用户数据安全。上述均增强了乘客对个人隐私信息的掌控感,问题2将得到解决。
然后,乘客可以读取访问者记录,不仅增强了对自身数据的掌控感,同时假如平台泄露隐私,乘客还可以有证据状告该平台的违规操作,问题4将得到解决。
最后,当用户不想继续使用该互联网租车软件平台时,可以撤销该平台所在数据交互审计平台的操作权限,从而保障自身隐私免受侵害,问题3得到解决。
2模型设计和定义
2.1参与者
模型中包括以下参与者:
1)乘客移动终端(本文用u表示)。乘客移动终端可以是下载了互联网租车平台APP的用户手机,代表了用户身份。
2)数据交互审计平台(本文用s表示)和第三方数据库server(本文用E表示)。
3)互联网租车软件平台(本文用A表示)。互联网租车软件平台即常见的打车软件。A需要获取乘客出发地点,以此来提供可匹配的最佳司机源(比如一定范围内的司机)。
4)互联网租车软件司机(本文用C表示)。互联网租车软件司机可以是下载了互联网租车平台(司机版)的司机移动终端。当A提供了若干个可匹配的最佳司机C后,会将乘客出发地发送给C。C申请查看乘客行程路线后决定是否抢单。
2.2数据库
2.2.1区块链数据库
对于区块链数据库的设计来说,首先要提到区块链交易的说明书定制。Herbert等在解决授权问题时提到了两种方法:一种是Masterbiteoin模型,另外一种是Bespoke模型。Herbert等想要解决的问题是如何通过区块链来完成对软件使用的授权,以及如何保障软件完整、防止软件盗版、实现软件更新。在Masterbitcoin模型中,软件厂商通过区块链,在特定的区块链钱包地址中向用户钱包地址转移1单位的Masterbitcoin,以此来代表厂商对用户授予软件的使用权。用户手中欲购买的软件将自动读取交易,若验证得到用户地址中的Masterbitcoin确实来自于厂商的特定地址,则自动启动安装;否则用户将无法安装软件。而Bespoke模型则使用了一种具有特殊说明书(specification)的区块链,将一些额外的域成分包含在说明书中。这些额外的域成分是为软件授权的灵活要求量身定制的,比如可以在说明书中加入token、license、softwareHash以及signature等域,来进一步实现软件的所有权转移和完整性检查等高级功能。另外,区块链说明书对于不同的加密货币是不同的,有时候可以根据自己的需要来构筑这种说明书,从而满足特定的应用需求。
Herbert方法对于本文的互联网租车案例也有一定的启发。本文可以通过实现不同个体在区块链上发送交易来达到对交易内容的审计,因此本文也需要使用一种特别定制说明书的区块链。也就是说,本文可以根据特定的目的来构造一种更为独特的区块链说明书。本文的交易说明书如图2所示。
图2中Hash(meta-data)是该交易所需要传达的某个消息meta.data的哈希值,目的是为了以一种较短字节的方式来存储较长的消息meta-data;token用来记录是谁查看或者操作了乘客u的信息;signature则用来记录发送者的签名,主要是为了验证发送者的身份,从而能够确定该交易的真实性;tx—id是特定的交易号,起到区块链当中的唯一标识作用。
在本文的定制交易中,发送者使用接收者的公钥对消息进行加密生成Hash,接收者使用自己的私钥进行解密;发送者使用自己的私钥进行签名生成signature,接收者使用发送者的公钥进行签名验证。
2.2.2第三方数据库
第三方数据库E需要有能力为每一个“用户一数据交互审计平台”组合建立和维护一张表thechainoftitle,以此来记录它曾验证过的所有区块链交易号tx—id以及其对应交易的详细信息(比如token和signature)。该表构造如图3所示。
图3中Hash(meta—data1)是某个消息meta-datal的哈希值,对E不可见。token存放乘客隐私信息的数据操作动作,对E可见,且E可根据token具体内容采取相应措施。signature是E需要使用相应发送者的公钥进行验证的部分。Encrypt(meta-data2)是用户个人隐私数据的加密形式,E无法看到其明文形式。
2.2.3数据交互审计平台数据库
数据交互审计平台数据库存放了各参与者(如U、E、A、s)进行数据交互时所需的一些必要信息,包括区块链地址(如U的区块链地址UAddress)、非区块链ID号码(如U的非区块链ID号码UID)等,其角色类图、角色属性、角色方法如图4和表1所示。
该数据库有如下几种角色方法。
1)send(X;Y)。向x发送内容Y。发送方式包括发送到区块链地址和非区块链地址两种。发送到区块链地址是指将相应交易发送到某角色所在区块链的钱包地址当中。由于区块链定制域中包含了meta-data等定制内容,通过该交易刚好能实现对所装载信息的审计。以参与者U为例,一般的发送形式为U.send(XAddress;Hash(meta-data,token,signature)。发送到非区块链地址是指将相应内容通过电子邮件等方式进行发送。以参与者U为例,一般的发送形式为U.send(X;Y)。其中接收者具有辨识内容Y并且由此触发相应动作的能力,而内容Y包括普通信息、授权指令等类型。
2)read(X)。读取区块链上的交易x。一般由E通过txid将区块链上相应的交易查找出来,比如根据一个tx—id“002”找到区块链上的相应交易并提取出来。读取所有交易(如读取al1.token),则是将对应参与者的所有交易依次遍历提取出来。
3)generate(X)。生成密钥x。本模型中,生成密钥主要包括生成非对称密钥和生成对称密钥两种类型。生成非对称密钥是指系统将用户鼠标或触屏的滑动路线数据作为输入,采用椭圆曲线密码体制(EllipticCurveCryptography,ECC)生成公钥和私钥。而生成对称密钥是指系统将用户鼠标或触屏的滑动路线数据作为输入,采用高级加密标准(AdvancedEncryptionStandard,AES)算法生成对称密钥作为双方共享密钥。
SCISSCIAHCI