NuLink介绍(三)
NuLink 提供的核心产品是去中心化的隐私保护技术,它是区块链和密码学 技术的有机结合。涉及的密码学原语包括代理重加密、全同态加密、零知识证明 等。本节将介绍这些加密原语和 NuLink 使用的方案,并解释这些原语如何在 NuLink 系统中工作。
6. 加密原语(Crypto Primitives)
6.1 零知识证明
零知识证明由 S Goldwasser 等人在 1989 年首次提出,是指证明者让验证者相信某个结论是正确的,而不向验证者提供任何有用信息。它有以下三个特性:
-
完整性:如果证明者和验证者双方都是诚实的,并且遵循证明过程的每一步, 那么证明一定会成功,验证者一定会接受证明者。
-
稳健性:没有人可以伪造新的证明并成功使其通过验证。
-
零知识:在验证过程之后,验证者验证证明者具有知识,但没有获得关于该知识的任何信息。从证明者的角度来看,验证者没有侵犯隐私。
注:按照参与者是否需要互动,零知识证明可以分为交互式零知识证明和非交互 式零知识证明(Non-Interactive Zero Knowledge,NIZK)。非交互式零知识证明适 用于去中心化的场景。常用的非交互式零知识证明方案有 ZK-SNARK,ZK- STARK Bulletproofs,PLONK,Supersonic,Malin 等。每种方案都有自己的优势, 我们可以根据所涉及的不同场景来选择合适的方案。
6.2 代理重加密
代理重加密是公钥加密(Public-Key Encryption,PKE)的一种类型,它允许 代理实体将数据从一个公钥转换或重新加密到另一个公钥,而不需要访问基础明 文或私钥。代理重加密的操作过程如下:
- 发布者 Alice 用自己的公钥将数据 m 加密成 cA,然后 Alice 将密文 cA发送给代理人并为其生成一个重新加密的密钥,该密钥由 Alice 自己计算。
- 接下来,代理人使用重新加密的密钥将密码文本 cA 转换为可由 Bob 用 其私钥解密的密码文本 cB,并将其发送给 Bob。代理人只提供计算转换服务, 不能获得明文。
- Bob 解密了 Alice 想要安全分享的明文 m。
- 代理重加密在 NuLink 的私人数据共享中发挥了作用。具体来说,NuLink 使 用 NuCypher 的 Umbral 代理重加密方案。Umbral 是一个遵循密钥封装机制(Key Encapsulation Mechanism,KEM,一种同时使用公钥加密方案和私钥加密方案对 消息进行加密的技术)的阈值代理重加密方案。它的灵感来自 ECIES KEM 和 BBS98 代理重加密方案。通过 Umbral,Alice-在 NuCypher 密钥管理系统(KMS) 中数据所有者的通用名称-可以通过一组有 N 个半信任的代理机构执行的重加密 机制,来将任何属于她密文的解密权利委托给 Bob。当这些代理机构至少有 t 个 (在 N 个中)参与执行重加密时,Bob 能够合并这些独立的重加密机制并使用他 的私钥解密原始信息。
- 使用 Umbral,NuLink 不仅可以轻松实现单用户对单用户的私有数据共享— (我们再次强调 Umbral 是一个阈值方案),NuLink 还可以实现单用户对多用户 的私有数据共享。
6.3 基于身份的加密和基于属性的加密
基于身份的加密(Identity-Based Encryption,IBE)和基于属性的加密都属于 控制访问权限的公钥加密方案。前者可以指定接收者的身份信息,而后者可以指 定接收者的属性。NuLink 使用这两种技术来实现更多功能的数据共享。
使用(普通)公钥加密方式来传输数据有一定的缺陷和风险。例如,公钥通 常是一系列无意义的随机数字。如果在加密过程中错误地使用公钥,密文就不能 被正确的接收者解密。同时,它很可能将信息透露给错误的用户,甚至是恶意的 用户。事实上,在现实生活中,就有这样的攻击方法:恶意用户欺骗发件人,替 换接收者的公钥。
基于身份的加密通过将用户的身份信息直接绑定到公钥上解决了这个问题。 它类似于一个理想的电子邮件系统。如果你知道某人的身份,你可以给他们发送 一封只有他们能读的信。你可以验证他们的签名。
在此基础上,基于属性的加密技术做了更进一步的功能扩展。如果我们把属性定义为事物或信息的特征,策略就是这些特征之间的关系(译者注:属性之间 的关系,比如,Alice 的账户余额和信用额度是她的属性,那么“额度是否大于 余额的 5 倍”可以是一个策略)。那么 IBE 使用最简单的策略和属性匹配,也就 是验证身份属性。在 ABE 中,属性和策略的选择更加多样化。ABE 一般分为两 类。密钥策略(KP-ABE)将策略嵌入到密钥中,将属性嵌入到密文中。密文策 略(CP-ABE)将策略嵌入密文,将属性嵌入钥匙。因为这两种方案在结构上有 双重关系,所以在方案设计中经常进行类比转移,但它们在具体应用场景上有很 大不同。
NuLink 选择了 CP-ABE,因为策略是嵌入在密文中的。这意味着,数据所有 者可以通过设置策略来决定哪些属性可以访问密文,这相当于为该数据做了一个 加密的访问控制,这样其颗粒度可以细化到属性级别。
6.4 全同态加密
全同态加密是指在没有私钥的情况下计算密码文本的能力。也就是说,对于任何有效的 f(data)和明文 m,有一个特殊的属性 f(Enc(m)) = Enc(f(m))。
全同态加密被称为密码学的圣杯。由 Rivest 在 1978 年提出。30 多年后,在 2009 年,Craig Gentry 构建了第一个全同态加密方案。
目前,安全高效的全同态加密方案是建立在 LWE 问题和 Ring-LWE 问题的点阵上。它们是抗量子攻击的,即使在后量子时代也能提供足够的安全性。目前,全同态加密受到效率的限制,这主要取决于密文的操作模式。FHEW 和 TFHE 密码系统更适合处理布尔逻辑运算,而同态加密(BGV)、全同态加密 和近似计算同态加密(CKKS)则更适合于批量处理和计算仿射变换。对于非线 性任意函数,最新的 PBS 技术在效率方面有良好的表现。因此,NuLink 将建立 不同的全同态加密算法来提高效率。
全同态加密具有广泛的理论和实践应用,特别是在去中心化的隐私保护产品 中。
系统中算力不够强的节点可以将其数据以密文的形式存储在存储层。当需要 进行数据计算时,用户向计算节点发起计算授权。计算节点进行相应的密文操作, 得到加密的结果,用户下载结果并解密,就可以得到最后的明文结果。在整个计 算过程中,只有数据的所有者才有能力解密,所以用户的数据隐私可以得到保证。
我们需要强调的是,这可以作为多方安全计算的一个组成部分,而不仅仅是 完成两方的代理计算。关于加密技术,后面还会有更深入的讲解。 NuLink