Wei, Jiuqi, et al. “Data Interoperating Architecture (DIA): Decoupling Data and Applications to Give Back Your Data Ownership.” 2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC). IEEE, 2023.

要解决的问题

身份管理:身份需要跨设平台,用户可以使用单个身份与多个应用交互。同时,避免使用中心化的第三方来分配身份。

数据标识与发现机制:应用需要数据简介检索数据,此外数据需要标识符系统实现全局可访问

数据所有权保护机制:数据所有权应该通过指定数据所有者来声明,并且可以公开验证该声明。需要一个授权机制来允许用户授予应用程序对其数据的访问权限。在应用程序能够访问数据之前,需要一个访问控制机制来基于授权策略验证应用程序的访问权限。

系统架构

image-20240304105716901

区块链平台

为区块链平台实现三个智能合约:身份管理、标识符管理、授权管理

身份管理

每个终端用户(end-user)和应用都需要被分配一个独特的身份,可以跨平台

引入unique-identity,即u-ID来表示身份,u-ID由两个部分组成:标识符IDidfID-idf和公私钥对(pk,sk)(pk,sk),即uID=(IDidf)(pk,sk)u-ID=(ID-idf)\cup(pk,sk),符号\cup表示关系绑定。

标识符管理

在数据注册(data registration)阶段,终端用户调用标识符管理智能合约,输入数据属性,区块链平台为数据分配标识符DataidfData-idf,并绑定数据属性与标识符,属性可作为标识符的不同条目,文中介绍了以下数据属性:

  • typeownertype_{owner}:声明数据拥有者,由终端用户的IDidfID-idf表示
  • typeaddrtype_{addr}:授权应用通过可访问地址从PDS处获得数据
  • typesigtype_{sig}:数据签名σData\sigma_{Data} ,由数据拥有者的私钥sksk签名
  • typepftype_{pf}:数据简介,由PFDataPF_{Data}描述,PFDataPF_{Data}由三部分组成:
    • 数据标签:用户定义的关键词,描述数据内容
    • 数据格式:数据特定结构、给定的例子
    • 数据描述:数据的文本描述
image-20240304110021952

授权管理

该智能合约在数据请求和数据授权处理阶段被调用。区块链账本记录授权记录

image-20240304113217722 image-20240304113836719

终端用户调用数据授权智能合约算法,修改授权记录的状态

image-20240304114041197

身份系统

区块链平台的身份管理智能合约负责注册uIDu-ID,身份系统负责提供公共身份查询服务。

在数据访问阶段,应用用sksk生成数字签名,向PDS证明自己的身份。在身份认证阶段,PDS从身份系统获取应用的公钥pkpk,来验证签名。因此,身份系统需要根据标识符IDidfID-idf查询到公钥pkpk,形式化描述为pk=IdentityQuery(IDidf)pk=IdentityQuery(ID-idf)

身份系统从区块链平台定期获取最新的身份数据。

标识符系统

数据标识符和授权记录由区块链平台创建。标识符系统提供数据发掘服务,便于应用检索用户数据;提供数据标识符和授权标识符解析服务。

数据发掘

除非终端用户直接向应用提供数据标识符,应用需要独立发掘用户数据。在数据发掘阶段,应用基于数据属性,尤其是终端用户的IDidfID-idf和数据简介PFDataPF_{Data}

标识符解析

应用获取数据标识符后,解析得到数据属性条目。

为了使PDS更有效地查询授权信息,需要将每个授权记录转换为带有绑定条目的授权标识符AuthidfAuth-idf,并存储在标识符系统中,四个值域字段可以被封装为类型条目typeauthtype_{auth}

在授权验证阶段,PDS同样生成授权标识符,向标识符解析程序输入标识符和条目,获取完整值域字段,以此判断。

系统流程

image-20240304155036811 image-20240304155106000