NANO: Cryptographic Enforcement of Readability and Editability Governance in Blockchain Databases | IEEE Journals & Magazine | IEEE Xplore
NANO 区块链数据库中可读性和可编辑性治理的加密实施方案
于2023年11月发表在CCF A类期刊 IEEE TDSC上
一.引言
最近,越来越多的区块链数据库(例如 BigchainDB、ChainifyDB 和 Postchain)在学术界和工业界涌现出来。与传统的集中式数据库不同,区块链数据库可以通过共识提供去中心化的环境,从而将数据所有权从中心化的权威转移到用户手中。此外,区块链数据库可以通过加密技术确保数据库中数据的完整性。因此,区块链数据库已经成为新兴的数据库范式,并存储了越来越多的个人和组织数据。
区块链数据库确保所有用户都可以以明文形式读取数据,但没有人可以编辑数据。然而,随着像 CCPA 和 GDPR 等新的数据法规的出现,加上数据的重要性不断增加,人们开始要求部署用于管理数据所有权的偏好设置(即可读性和可编辑性)。一些可编辑的区块链已经被提出,通过结合变色龙哈希和基于线性秘密共享矩阵的属性基加密技术,实现了对数据编辑的精细治理。
然而,现有的可编辑的基于区块链的数据库没有考虑到可读性治理,其中数据以明文形式存储,并且对所有用户可见,可能导致严重的数据泄露和滥用。
实现可读性治理的一种简单方式是引入额外的可读性策略来控制哪些用户可以读取数据。
然而,在实际应用此扩展面临着两个挑战。
1:策略隐私保护。在许多策略敏感的应用程序中(例如智能医疗和交通),这些访问策略包含大量的私人信息(例如健康状况和地理位置),应该受到保护。
2:高效的用户撤销。当用户丢失其密钥或滥用其编辑权限恶意编辑数据,有必要及时撤销这些被窃取的密钥。如果直接更新密钥和密文造成不可接受的区块链开销。
本文解决了上述两个挑战,并提出了一个以数据所有者为中心的许可区块链数据库(即 NANO),提供隐私保护和可撤销的向下兼容数据所有权治理。
即具有可编辑性权限的用户也被赋予可读性权限
NANO 在数据所有权治理中同时保护策略隐私。数据所有者可以指定精细的可读性和可编辑性策略,并隐藏。
NANO 实现了具有线性开销的高效用户撤销机制,在废除被撤销用户的密钥的同时保留其他用户的密钥。
表1展示了本方案与现有的相关方案在可读性和可编辑性治理,用户撤销,策略隐私,安全性方面的比较
二.预备知识
下面简要介绍基于牛顿插值公式的秘密共享和变色龙哈希的定义,这是NANO的组成部分。
基于牛顿插值公式的秘密共享可以生成一个秘密,并将其转换为多项式参数,以隐藏这个秘密。牛顿插值公式可以支持严格的向下兼容权限。
因此NANO选择其来分发变色龙哈希的陷门和数据的解密密钥。
包括秘密生成阶段:假设存在(n+1)个点(x0, y0), · · · ,(xn, yn)。插值点表示为xi,插值表示为 yi。给定一个插值多项式 f(x),对于所有的 i = 0, 1, 2, · · · , n,yi 可以表示为 yi = f(xi)。
下面计算牛顿基 ni(x)。当 i = 0 时,n0(x) = 1;否则,ni(x) = (x-x0) *(x-x1)*(x-xi-1)。
结合牛顿基ni(x),得到牛顿插值多项式 Qn(x)= ;参数 Ki 表示第 i 阶差商。秘密 s = Qn(0)
下面看一下差商的计算过程:
x的零阶差商就是f(x) K0就是x0的零阶差商 即f(x0)。
K1表示x0,x1的一阶差商,一阶差商可以由两个零阶差商计算得到,即:
二阶差商也是如此,将x1 x2一阶差商和x0 x1的一阶差商放到分子上相减,末项减首项做分母
以此类推 Ki表示x0到xi的i 阶差商。
随后,令 x = 0,计算牛顿参数 {ni(0)}i=0到n 以及参数 {Ki}i=0到n,并将其公布出去。
秘密重建阶段。由于牛顿插值多项式由i阶差商和第i个牛顿参数相乘 再对i=0到n求和,所以利用发布出去的差商和牛顿参数,就重建秘密 s=Qn(0)
然后是变色龙哈希,拥有变色龙哈希陷门的用户可以高效地计算出变色龙哈希碰撞;
对于没有陷门的其他用户,通过确保他们几乎无法找到有效的变色龙哈希碰撞来保持安全。其包括五个算法
首先是公共参数生成:给定安全参数 λ,算法输出公共参数 P P。假定 P P 被作为所有其他算法的隐式输入。
密钥生成:得到私钥 sk 和公钥 pk。
哈希生成:将公钥 pk 和消息 m 作为输入,算法输出一个变色龙哈希值 h 和一个随