[Blockchain-2] Decentralizing Privacy: Using Blockchain to Protect Personal Data

一、文章内容

1. 摘要&简介

Implement a protocol that turns a blockchain into an automated access-control manager that does not require trust in a third party.

  • (1)We combine blockchain and off blockchain storage to construct a personal data management platform focused on privacy.
  • (2)We illustrate through our platform and a discussion of future improvements to the technology, how blockchains could become a vital resource in trusted-computing.

2. 挑战(隐私问题)

  • Data Ownership(数据拥有者):确保用户私有信息的所有和支配
  • Data Transparency and Auditability(数据透明性和可审计性):被收集的数据和访问方式对用户是完全的透明的
  • Fine-grained Access Control(细粒度访问控制):在任何给定的时间,用户可以更改权限集并撤销对以前收集的数据的访问

3. 提出方法

系统图

fff

系统介绍

(1)系统实体

  • Users(用户):对下载数据和使用应用感兴趣
  • Services(服务):出于运维和商业相关的原因需要对个人数据进行处理的应用提供者
  • Nodes(节点):为得到奖励而维护区块链和分布式私有键值对数据存储的实体

(2)交易类型

  • T a c c e s s T_{access} Taccess:用于访问控制管理
  • T d a t a T_{data} Tdata:用于数据存储和检索

(3)交易流程

  • User安装应用并首次注册,生成 ( u s e r , s e r v i c e ) (user,service) (user,service)身份并与相应的 权 限 权限 通过 T a c c e s s T_{access} Taccess发送到区块链
  • User的智能手机将收集的数据(包括传感数据和位置信息等)用共享的 对 称 密 钥 对称密钥 加密后通过 T d a t a T_{data} Tdata发送到区块链,区块链将这些数据随后以 键 − 值 对 键-值对 的方式存储在off-blockchain,只保留一个指向此公共账单上数据的指针(此指针为数据的SHA-256哈希值)
  • 此时 u s e r user user s e r v i c e service service通过 T d a t a T_{data} Tdata交易使用指针(即“键”)访问数据。区块链会验证数字签名属于 u s e r user user s e r v i c e service service,如果是 s e r v i c e service service,需要同时检查其 权 限 权限
  • 最后, u s e r user user可以通过 T a c c e s s T_{access} Taccess交易和新的 权 限 权限 s e r v i c e service service重新授权或者撤销数据的访问

PS:off-blcokchain的键-值对存储是用分布式哈希表(DHT)来实现的

4. 网络协议

  • 对称加密机制3元组 ( G e n c , ε e n c , D e n c ) (G_{enc},\varepsilon_{enc},D_{enc} ) (Genc,εenc,Denc):生成器、加密、解密算法
  • 数字签名3元组 ( G s i g , S s i g , V s i g ) (G_{sig},S_{sig},V_{sig}) (Gsig,Ssig,Vsig):生成器、签名、验证算法
系统构建模块
(1)身份
  • 复合身份(Compound identities): C o m p o u n d u , s ( p u b l i c ) = ( p k s i g u , s , p k s i g s , u ) Compound_{u,s}^{(public)}=(pk_{sig}^{u,s},pk_{sig}^{s,u}) Compoundu,s(public)=(pksigu,s,pksigs,u)
  • 完整身份: C o m p o u n d u , s = ( p k s i g u , s , s k s i g u , s , p k s i g s , u , , s k s i g s , u , , s k e n c u , s ) Compound_{u,s}=(pk_{sig}^{u,s},sk_{sig}^{u,s},pk_{sig}^{s,u},,sk_{sig}^{s,u},,sk_{enc}^{u,s}) Compoundu,s=(pksigu,s,sksigu,s,pksigs,u,,sksigs,u,,skencu,s)
  • 复合身份生成协议:
    • user执行 G s i g ( ) G_{sig}() Gsig()生成相应的公/私钥对,执行 g e n c ( ) g_{enc}() genc()生成对称密钥
    • service执行 G s i g ( ) G_{sig}() Gsig()生成相应公/私钥对
    • 双方互换公钥,user多分享一个对称密钥给service,最终双方都拥有 ( p k s i g u , s , p k s i g s , u , s k e n c u , s ) (pk_{sig}^{u,s},pk_{sig}^{s,u},sk_{enc}^{u,s}) (pksigu,s,pksigs,u,skencu,s)
(2)区块链存储
  • L L L代表区块链内存空间,哈希表 L : { 0 , 1 } 256 → { 0 , 1 } N L:\{0,1\}^{256} \rightarrow\{0,1\}^N L:{0,1}256{0,1}N
  • 交易的输出地址用于编码256比特的内存地址指针以及其他附属元数据
  • 当作查询 L [ k ] L[k] L[k]时返回最近的交易
(3)访问策略
  • 用户u授予服务s的权限表示为 P O L I C Y u , s POLICY_{u,s} POLICYu,s
  • P O L I C Y u , s = { l o c a t i o n , c o n t a c t s } POLICY_{u,s} = \{location, contacts\} POLICYu,s={location,contacts}表示具有位置和联系人的访问权限
(4)附属函数
  • P a r s e ( x ) Parse(x) Parse(x)用于反序列化发送到交易的信息,包含参数 C h e c k P o l i c y ( p k s i g k , x p ) CheckPolicy(pk_{sig}^k,x_p) CheckPolicy(pksigk,xp)
  • C h e c k P o l i c y ( p k s i g k , x p ) CheckPolicy(pk_{sig}^k,x_p) CheckPolicy(pksigk,xp)协议如下:
    • 输入当前签名公钥 p k s i g k pk_{sig}^k pksigk和要检查的权限 x p x_p xp
    • 区块链检查签名公钥,若签名公钥属于用户即 p k s i g k = p k s i g u , s pk_{sig}^k=pk_{sig}^{u,s} pksigk=pksigu,s,则直接返回1(表示拥有权限);若签名公钥属于服务方即 p k s i g k = p k s i g s , u pk_{sig}^k=pk_{sig}^{s,u} pksigk=pksigs,u则需进一步验证当前权限是否与用户授予的权限吻合,若 x p ∈ P O L I C Y u , s x_p \in POLICY_{u,s} xpPOLICYu,s则返回1,否则返回0
区块链协议
(1)访问控制协议
  • T a c c e s s T_{access} Taccess交易只能由用户发起,因此需要对用户的身份进行审计,采取一定的访问控制策略
  • 具体协议如下图:
    • 输入用户签名公钥 p k s i g k pk_{sig}^k pksigk和消息 m m m
    • 对消息进行解析得到用户和服务分别的公钥以及用户对服务的权限
    • 然后区块链检查用户签名公钥是否和解析出的用户签名公钥相同,即判断 p k s i g k = p k s i g u , s pk_{sig}^k=pk_{sig}^{u,s} pksigk=pksigu,s是否成立
    • 若成立将当前用户签名公钥的哈希值作为L的地址,并在当前地址存储信息m,最后返回1(表示访问成功)
(2)存储或加载协议
  • 输入用户/服务签名公钥 p k s i g k pk_{sig}^k pksigk和消息 m m m
  • 对当前信息进行解析,得到 c , x p , r w c,x_p,rw c,xp,rw分别代表 “存储数据”、“访问权限”、“读写权限”
  • 判断当前用户/服务是否具有访问权限,是则进入下一步
  • 如果读写权限为写,表示存储操作 ,如果权限为写,表示加载操作

二、文章术语

  • K-匿名
  • l-diversity
  • t-closeness
  • Fully Homomorphic Encryption(全同态加密)
  • Distributed Hashtable- DHT(分布式哈希表)
  • ECDSA (Elliptic Curve Discrete Signature Scheme椭圆曲线离散签名机制)
  • Shamir’s Secret Sharing (虾米尔密钥分享)
  • Multiparty Computation(MPC 安全多方计算)

三、生词

1. 写作助手

  • In the sequel 结果,后来
  • To illustrate, consider the following example
  • albeit 尽管;虽然;即使
  • In light of this 鉴于此
  • state-of-the-art systems 先进的系统

2. 生僻词

  • well-rounded adj. 良好的;健康的;适宜的 adv. 很好地;充分地;满意地
  • surveillance n.监督;监视
  • opt-out 撤退;退出;辞职
  • entrust 委托;托管
  • storage and retrieval 存取
  • harness vt. 利用;驾驭
  • subvert 颠覆;暗中破坏;使背叛;搅乱
  • mitigate 减轻;缓和
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值