Trias联合“北大软微-八分量协同创新实验室”定期举办技术沙龙。该实验室成立于去年9月份,以可信计算、区块链等作为主要研究方向,致力于推动智能互联新时代下的人机互信问题的解决。针对沙龙具体细节问题,我们将推出由实验室教授、博士生主笔撰写的系列文章。本期文章由北京大学的两位博士生李聪、冯新宇撰写。

关注信息安全圈的小伙伴,九月初可能看到了一则新闻,欧洲电信标准协会(ETSI)发布了两套新的基于属性的加密(Attribute-Based Encryption,ABE,下文的描述中均使用英文缩写)标准。新加密标准被认为可确保个人数据只会在用户密钥的属性匹配加密属性时才能解密。

看完这则新闻,你或许不禁会问,什么是ABE?什么又叫做用户密钥的属性匹配加密属性?下面就聊聊ABE中的几个基本问题。

属性,属性集合及策略

百度百科中对属性的解释是:“属性就是人类对于一个对象的抽象方面的刻画。由于事物属性的相同或相异,客观世界中就形成了许多不同的事物类。具有相同属性的事物就形成一类,具有不同属性的事物就分别地形成不同的类。

在ABE中,属性也有着相似的作用。举个例子,Jacky Li是A大学信息安全学院的教授,那么“A大学”,“信息安全学院”以及“教授”就是ABE中刻画Jacky Li这个人的多个属性,这些属性可以构成一个属性集合,我们可以把它记为集合SJacky L。

下面我们聊聊策略。一种简单的理解是策略实际即是由属性及它们间关系所组成的一个逻辑表达式,例如下式Policy1:

参与X课题 or(信息安全学院 and A大学and 教授)

这是一条简单的策略,其表达的含义是唯有X课题组的成员或是A大学信息安全学院的教授才能满足其要求。

最后,还必须说说属性集合与策略的匹配。

我们仍使用SJacky Li与Policy1进行说明。SJacky Li集合中没有“参与X课题”这一属性,故其无法满足策略的前半部分;而策略的后半部分,要求“信息安全学院”、“A大学”、“教授”这三个属性同时出现,而SJacky Li同时包含了这三个属性,所以属性集合匹配策略后半部分,由于策略前后两部分是or的关系,故属性集合SJacky Li能够满足策略Policy1,我们称之为属性集合与策略匹配成功。
倘若此时另一个用户Johnson,他的属性集合是SJohnson= {计算机学院,A大学,教授},显然SJohnson无法满足Policy1,此时属性集合与策略匹配失败。

什么是ABE?

清楚了ABE中的属性及策略的概念,我们开始解释什么是ABE。抛开严谨的定义,用一句话说明ABE加密算法其实就是看属性集合与策略是否相匹配的一个公钥加密“游戏”。

简单解释下这句话,首先ABE是一个公钥加密算法,既然是公钥加密算法,就有公钥和私钥的概念,每一名参与ABE系统的用户都有一个属于自己的私钥,而加密方在加密数据时使用的则是公钥,在ABE中我们弱化公钥这一概念,称之为公共参数(public parameter)。

其次,在传统公钥加密中,用户会使用其私钥尝试解密密文,ABE也不例外。

与传统方法不同的是,设计者将属性集合与策略嵌入到了用户私钥与密文中,这样一来,私钥与密文输入解密算法尝试解密的过程,实际也就是属性集合与策略相匹配的过程,倘若能够匹配成功,则算法顺利完成解密操作,用户可成功恢复出明文数据。倘若匹配失败,则用户无法恢复明文,解密失败。

KP-ABE与CP-ABE

在这里还有两个概念需要说明,即KP-ABE与CP-ABE。

KP-ABE,Key-Policy ABE,翻译过来即是密钥策略ABE,什么是密钥策略?上文中提到了ABE的解密过程中需要进行策略与属性集合匹配的操作,但实际我们并没有说清楚策略和属性集合分别在哪。Key-Policy指的是策略嵌入用户密钥中,属性集合嵌入于密文中,在解密的过程中,用户将嵌入策略的密钥与嵌入属性集合的密文输入解密算法,通过这种方式,实现策略与属性集合的匹配。

而CP-ABE(Ciphertext-Policy ABE,密文策略ABE)呢?自然是策略嵌入在密文中啊!它与KP-ABE在结构上是一种对偶关系,这也就是为什么往往学者们在提出一个新的CP-ABE方案时,会在同一篇论文中同时再提出一个KP-ABE方案。同样条件与假设下,两类算法的密文密钥结构设计比较好类比与迁移。

需要注意的一点是,这种相似性仅存在于结构上,CP-ABE与KP-ABE在应用场景方面有着极大的不同。

CP-ABE由于策略嵌入密文中,这就意味着,数据拥有者可以通过设定策略去决定拥有哪些属性的人能够访问这份密文,也就相当于对这份数据做了一个粒度可以细化到属性级别的加密访问控制。

CP-ABE的应用场景一般是公有云上的数据加密存储与细粒度共享,而KP-ABE的应用场景则更加偏向于付费视频网站、日志加密管理等等(由于篇幅的关系,具体场景会在后续文章中继续讨论)。

ABE的优势是什么?

我们以CP-ABE为例,举一个简单的例子说明ABE相较传统公钥加密算法的优势。

一个数据拥有者需要将一份明文文件,加密发送给N个不同的用户,倘若使用传统公钥加密算法,数据拥有者需要首先保存这N个用户的公钥(不考虑公钥证书的情况下),利用这N个不同公钥,使用该份明文文件,加密N次,形成N份不同的密文,分别发送给这个N个用户。
若使用ABE来完成这项任务则会轻松很多。此时,数据拥有者只需要制定一条仅有这N个用户才能满足的访问策略,接着输入公共参数PP、该条策略以及明文文件至ABE加密算法,进行加密一次,形成唯一一份密文。得到密文后,数据拥有者将该份密文分别发送给这N个不同用户。
从加密计算开销与存储开销的角度来看,ABE在该场景下(数据加密共享场景)相较于传统公钥加密算法,有着肉眼可见的性能优势,此处便不再赘述。

基于属性的加密(ABE)相关推荐

  1. KP-ABE基于属性的加密加解密算法及Access Tree构建

    注:本文加解密算法构建完全参考经典ABE paper: Attribute-Based Encryption for Fine-Grained Access Control of Encrypted ...

  2. 基于属性加密的ABE算法的应用场景思考展望

    ABE算法先前使用在云计算场景中,和区块链存在交叉应用场景,具体问题体现在 数据的异地存储.云服务器提供商的不可信.管理员能否对自身数据拥有足够的控制能力以及如何保证数据的安全有效共享都是亟需解决的问 ...

  3. 属性加密技术及基于属性的ABE算法的访问控制技术介绍

    属性加密技术 基于身份的加密体制简介 基于身份的加密体制可以看作一种特殊的公钥加密,它有如下特点:系统中用户的公钥可以由任意的字符串组成.这些字符串可以是用户在现实中的身份信息,如:身份证号码.用户姓 ...

  4. 一种基于属性加密技术(ABE)的轻量级数据共享方案

    A Lightweight Secure Data Sharing Scheme for Mobile Cloud Computing IEEE TRANSACTIONS ON CLOUD COMPU ...

  5. 基于属性加密方案的发展

    1.公钥加密体制: 与对称密码体制相比,公钥密码体制加密密钥(公钥)和解密密钥(私钥)是不一样的,加密密钥是可以公开的,并且不会危及密码算法的安全性.其过程可以简单的表示如下图所示: 如上图所示,其步 ...

  6. 基于属性加密方案(CP-ABE,KP-ABE)

    欢迎关注公众号:区块链之美 致力于区块链技术研究,传播区块链技术和解决方案.区块链应用落地.区块链行业动态等. 1.背景 区块链典型的一个应用场景是资源共享,而在实际应用中,很多参与者的数据很涉及机密 ...

  7. 面向云环境基于属性加密的密文分享系统——简介

    1.Abstract 随着互联网技术的发展,人们需要处理和存储的信息数据量也越来越大.云计算的来临,在满足人们对海量数据存储空间以及计算资源需求的同时,云存储本身带来的安全问题也不容忽视.数据的异地存 ...

  8. 科学计算机撤销,云计算环境下基于属性的撤销方案-计算机科学.PDF

    云计算环境下基于属性的撤销方案-计算机科学.PDF 第 卷 第 期 计 算 机 科 学 45 8 Vol.45No.8 年 月 2018 8 COMPUTER SCIENCE Au.2018 g 云计 ...

  9. 基于属性的访问控制(ABAC)定义与思考 ——企业ABAC的实施问题

    本文整理了<Guide to Attribute Based Access Control (ABAC) Definition and Considerations>一文核心思想和观点的第 ...

最新文章

  1. html地图自动适合窗口,【整理】用html和javascript实现类似百度地图的画布
  2. 7 centos 设置jvmgc_centos7配置java环境变量
  3. CG CTF WEB SQL Injection
  4. Linux关机和重启命令总结
  5. c++ opencv 通过网络连接工业相机_摄像头和机器人视觉开发中的「相机标定」,你了解多少?...
  6. 手机摄像头的组成结构和工作原理
  7. 服装免费收银系统哪个好-云上铺会员管理软件
  8. 自动网络设计(NAS)Randomly Wired Neural Networks 何凯明团队
  9. 一文搞懂天使轮、A轮、B轮、C轮、D轮融资
  10. Beautifully crafted open source icons
  11. android 图片大小判断,android中如何使用一张图片适配不同尺寸的APP引导页
  12. STM32实现自定义HID复合设备
  13. Python中字符串转义字符的用法----退格符\b
  14. 广义表,广义表的定义和计算
  15. 基于GMapping的栅格地图的构建
  16. http keep-live
  17. 黑夜给了我黑色的眼睛,我却用它研究CV【36kr报道】
  18. 2020-8-18js练习
  19. Android AES加密解密
  20. 脱发的各种类型里,想判断自己是否属于雄激素性脱发、处于哪个阶段,怎么办?

热门文章

  1. ERP实施手记 生不如死的二次开发
  2. html+显示在线时间,在html页面实时显示系统时间
  3. Spring Boot 中关于 %2e 的 坑,希望你不要遇到
  4. 数字城市的建设有哪些意义?如何构建数字城市?
  5. VBS.LoveLetter.CI病毒源代码
  6. 仿 twitter头像上传组件(vue2)
  7. 十年架构师耗尽心血带你如何进行微服务的单元、集成和系统测试?
  8. android studio 出现: Design editor is unavailable until a successful build 解决方法
  9. EVE-NG VLAN实验
  10. 飞凌FCU1103让工业生产更智能-工业物联网网关解决方案