区块链中的密码学,使用ABE结合区块链

ABE 密码学,以及与区块链结合的价值

背景

  • 区块链技术具备篡改难度高、使用成本低、分布式的优点,本应成为各行各业的重要助力。但是由于链上参与方担心自己的核心数据外泄,不愿将自己的核心数据上链,这个原因成为阻止区块链落地的主要难题。
  • 使用 ABE密码学,就可以使得区块链中数据所有权得到有效保护,链上数据归属权为参与者本人所有,外人无法访问。

ABE 密码学是什么

  • ABE 是基于属性的加密,即(Attribute-Based Encryption)。与 RSA、IBE (基于身份加密)等加密方式相比,其最大的不同点是实现了一对多的加解密。也就是说,ABE 不需要像其他加密方式那样,每次加密都必须知道接受者的身份信息,只要用户拥有的属性符合加密者所描述的策略时,用户就可以解密。

属性指的是什么

  • 属性可以理解为一个对象具有的某些特征。举个例子,Jacky Li 是 A 大学信息安全学院的教授,那么「A 大学」,「信息安全学院」以及「教授」就是 ABE 中刻画 Jacky Li 这个人的多个属性,多个不同的属性,可以构成不同的属性集合。在此基础上,策略实际即是由属性及它们间关系所组成的一个逻辑表达式
  • 倘若抛开严谨的定义,用一句话说明 ABE 公钥加密算法,其实就是看属性集合策略是否匹配密码要求的过程。
  • 在 ABE 中,需要弱化公钥这一概念,称之为公共参数(public parameter)。属性集合则被嵌入到私钥中,如果用户拥有的属性可以与密码要求的策略匹配成功,就可以成功解密。

具体的例子

  • 假设现有一条密文策略规定:参与 X 课题 or (信息安全学院 and A 大学 and 教授)
  • 这条策略表达的含义是,唯有 X 课题组的成员或 A 大学信息安全学院的教授才能满足要求进行解密。现在有三个用户,分别是 A 大学信息安全学院的 Alan 教授,A 大学经济管理学院的 Black 教授,B 大学参与 X 课题的 Charles 教授。
  • 三个用户中,Alan 的属性集合{计算机学院,A 大学,教授}满足要求,Charles 的属性{参与 X 课题}也满足要求,但是 Black 的属性不能满足要求。所以 Alan 和 Charles 解密成功,而 Black 解密失败。

两种不同的方案

  • 目前,实现 ABE 的方案主要有 CP-ABE (密文策略 ABE)和 KP-ABE (秘钥策略 ABE)。二者最大的分别在于策略和属性的匹配方式上。
  • CP-ABE,指的是策略嵌入在密文中,属性集合嵌入到**中,当且仅当属性能够满足策略时可以解密。
  • KP-ABE 是指,策略嵌入到**中,属性集合嵌入到密文中。
  • 虽然在结构上,二者具有明显的对偶关系,但在实际使用中,二者的应用场景却有着明显的不同。
  • CP-ABE 由于策略嵌入密文中,这就意味着,数据拥有者可以通过设定策略去决定拥有哪些属性的人能够访问这份密文,也就相当于对这份数据做了一个加密访问控制。CP-ABE 的应用场景一般是公有云上的数据加密存储与共享。
  • KP-ABE 的应用场景则更加偏向于付费视频网站、日志加密管理等等。

区块链中的密码学,使用ABE结合区块链

与区块链怎么结合   隐私

  • 区块链的一大特点在于数据共享,这本是区块链的一大优点。然而,在实际应用中,很多参与者的数据很涉及机密,数据所有者并不乐意把自己的数据公开出来。
  • 比如在金融领域。数据上链可以提高数据本身的安全性,也有利于监管机构从区块链中调取数据进行监管,这些我们都知道了。但是为什么金融领域的区块链应用迟迟推进不下去呢?一个亟待解决的重要问题是,金融公司本身不愿意将数据存在链上。因为这些数据都是相当敏感且重要的,一旦数据外泄,会带来不小的损失。
  • 通过 ABE,金融公司可以将自己的数据加密后传到区块链上。由于数据全程都是密文,链上其他人只能看到加密之后的乱码,没有使用价值,拿到了也没有用。与之相对,金融公司自身可以控制谁能对数据进行访问,只需要把数据访问的权限交给监管机构和与之有数据合作的伙伴即可。
  • 传统的加密方式是将数据加密后,将秘钥发送给各个需要访问数据的机构,这种方式效率虽然比较高,但是一旦秘钥外泄,无法断定是哪一个机构作为。相比起传统的加密,ABE 的好处很明显,因为每一个机构的属性不尽相同,其秘钥也不尽相同,一旦我把秘钥泄露给外界,很容易就被追查得到。
  • 参考链接