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

ABE算法先前使用在云计算场景中,和区块链存在交叉应用场景,具体问题体现在

  • 数据的异地存储、云服务器提供商的不可信、管理员能否对自身数据拥有足够的控制能力以及如何保证数据的安全有效共享都是亟需解决的问题。

研究背景:

  • 云计算越来越普及,人们可以把照片、文档上传到云上,但由于个人数据是敏感的,因此在云上的数据会有安全问题,以此阻碍了云计算的发展。例如,云计算提供商CSP出于商业目的会监视用户数据。另外,人们若想共享加密数据。则必须向其他用户发送密码,这是非常麻烦的。即使将用户分组来简化权限管理,任然涉及到细粒度访问控制。因此密码管理是一个大问题。

主要贡献:

  • 这篇论文的主要贡献如下,(1)本文设计了一种基于基于属性的加密(ABE)方法的LDSS-CP-ABE算法,以提供对密钥解密的高效访问控制。(其特点是将访问控制策略嵌入到密文中,也就是说访问控制策略树会被嵌入到秘钥的密文中;) (2)由于移动端的计算资源有限,文中提到使用代理服务器进行加密和解密操作,极大地减少了计算开销。 (3)引入属性的延迟重加密和描述字段,以减少处理用户撤销问题时的撤销开销。

云计算的解决办法

  • 设计基于属性的访问控制方案,通过属性描述用户的身份,允许加密数据的主体指定其解密客体,具有较高的效率和更好的安全性。系统采用当今热门的Hadoop开源架构,实现了云环境下的存储、上传、下载等功能,该架构环境更利于进行部署与系统的实现。
  • 系统结合HDFS(Hadoop Distributed File System)技术部署于Hadoop云平台上,设计与实现了密文分享系统,主要包括密钥发布中心、用户端和Hadoop云端服务器三大功能模块。
  • 密钥发布中心负责为用户产生上传和下载文件所需的密钥,并且为了保证私钥的机密性,引入USB-KEY安全物理存储介质;
  • 用户端主要完成加密上传文件和解密下载文件(与先前的直接上传文件相比,需要将文件先进行加密再进行上传操作,文件以密文的形式存储在网络里面,因此没有秘钥的用户是无法看到文件里面的内容),同时具备了更新系统参数、制定访问规则以及用户申请私钥等功能
  • Hadoop云端服务器提供了文件存储和文件树访问等功能。
  • 系统采用CPABE加密方案的机制,系统还具备了防窃取、抗共谋攻击和抗木马攻击等安全性,且该系统还具有灵活性强、效率高和细粒度的访问控制的特点。

2.系统设计

系统整体框架

 

系统设计:

  • 系统设计由6部分组成,(1)数据所有者(DO):DO将数据上传到移动云并与朋友共享。 DO确定访问控制策略。 (2)数据用户(DU):DU从移动云中检索数据。 (3)信任机构(TA):TA负责生成和分发属性密钥。 (4)加密服务提供商(ESP):ESP为DO提供数据加密操作。 (5)解密服务提供商(DSP):DSP为DU提供数据解密操作。 (6)云服务提供商(CSP):CSP存储DO的数据。 它忠实地执行DO请求的操作,同时可以查看DO存储在云中的数据。
  • 论文对场景的假设是CSP、DSP、ESP三个服务器均为半可信的,也就是说他们不会恶意破坏用户数据,但是他们可能会偷看用户数据。TA表示安全可信服务器。

 图一

流程

  • DO将数据发送到云。由于云不可信,因此必须在上传数据之前对数据进行加密。 DO以数据文件的访问控制树的形式定义访问控制策略,以指定DU在访问某个数据文件时应获取的属性。在LDSS中,数据文件使用对称加密机制加密,数据加密的对称密钥也使用基于属性的加密(ABE)加密。访问控制策略嵌入在对称密钥的密文中。只有获得满足访问控制策略的属性密钥的DU才能解密密文并检索对称密钥。由于加密和解密都是计算密集型的,因此对移动用户来说是一个沉重的负担。为了减轻客户端移动设备上的开销,使用加密服务提供商(ESP)和解密服务提供商(DSP)。加密服务提供商和解密服务提供商都是半信任的。论文修改了传统的CP-ABE算法并设计LDSS-CP-ABE算法,以确保在将计算任务外包给ESP和DSP时的数据隐私。

相关知识

  • 双线性映射
  • shamir密钥共享方案
  • 访问控制树(x_i,y_i)
  • 参考链接

现实使用的进一步优化

问题

  • 在属性加密方案(ABE)中,由于群中的配对操作计算开销很大,所以一般来说在实际系统中会占据大量计算资源,而且会很慢甚至成为系统瓶颈

优化策略

  • 第一种是利用离线计算的方式,如果有一个移动设备上部署了ABE系统,那么在这个移动设备充电或者待机的时候(即离线时),系统在知道要加密的消息之前就自动完成Setup,生成密钥,加密这几个步骤,生成中间密文,当真正知道加密消息需要加密的时候,通过少量计算将中间密文转换成密文即可,这样在用户使用的感受上来看,ABE系统的加密效率是可以接受的。但是从总的计算开销上来看,该方案的计算开销有所增加,主要是增加了一个转换开销,以及在解密时至少多增加一个配对操作以及其他的求幂等。
  • 第二种是利用外包的方式将计算开销大的算法外包给代理,其中涉及到两个代理,允许加密者将加密策略的创建外包给代理(代理A),并根据给定的策略为用户加密消息,同时代理满足以下两个要求:(a)无法知道加密的消息(b)强制执行根据策略指定的属性来加密消息。通过允许代理根据用户的转换密钥属性验证策略,从而允许用户将策略验证外包给另一个半信任代理(代理 B),从而减少了解密工作负载。
  • 第三种是离线计算和外包融合的方案
  • 第一个方案主要减少开销的是在生成密钥以及加密时,第二个方案中主要减少的是加密以及解密的开销

参考链接

  • 面向云环境基于属性加密的密文分享系统——简介
  • 轻量级属性加密方案
  • 属性加密注解
  • 一种基于属性加密技术(ABE)的轻量级数据共享方案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面经:设计模式

什么是接口隔离原则(Interface Segregation Principle) 定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。概括的说就是:建立单一接口,不要建立臃肿庞大的接口。&…

区块链、密码和银行之间的衍生关系

银行场景中密码服务 设置密码 用户在注册的时候,如果使用弱密码,系统会检测出来。我的猜测是将弱密码的hash运算和用户输入的密码hash比对,如果一致,禁止用户注册。 1、不要设置简单密码,您设置的密码必须符合中信银…

面经:多线程 线程池

使用线程池 当进程被初始化后,主线程就被创建了。对于绝大多数的应用程序来说,通常仅要求有一个主线程,但也可以在进程内创建多个顺序执行流,这些顺序执行流就是线程,每一个线程都是独立的。 线程是进程的组成部分&am…

AIgorand区块链中VRF随机函数的应用

VRF(Verifiable Random Function) 可验证随机函数可以看作是一个随机预言机,即可以通过任意的一个输入,获得一个随机数输出:输出的结果(Output)是一个随机数,其数值会均匀分布在值域…

AIgorand的相关学习参考链接

相关具体的开发者与SDK链接如下: GoSDKJavaScript SDK 网页链接 测试网申请链接Github存储库链接开发者网址AIgorand官网Telegram电报群综合白皮书MediumNaver Blog领英Linkedin区块链浏览器INC公示钱包地址基金会公示钱包地址Telegram电报群官方 Github地址 相关…

操作系统 内核栈

视频哈工大李治军老师:https://www.bilibili.com/video/BV1d4411v7u7?p12 参考文档:https://blog.csdn.net/SakuraA6/article/details/108810916 学长在我大一推荐我看,p12和p13的内容真的有那么难吗,现在已经是我看的第三遍了还…

区块链技术指南 序章理解感悟

序二 误区一: 区块链是一种颠覆性的新技术。区块链不是一个新的技术,而是一个新的技术的组合。其关键的技术,包括P2P动态组网、基于密码学的共享账本、共识机制(拜占庭将军问题,分布式场景下的一致性问题&#xff09…

面经:红黑树 B树 B+树 哈希表

1.对于插入,删除,查找 以及 输出有序序列 这几个操作,红黑树也可以完成,时间复杂度 与 用跳表实现是相同的。 但是,对于按照区间查找数据这个操作(比如 [20,300]),红黑树的效率没有跳表高&#…

回溯法和dfs的区别

值得注意,回溯法以深度优先搜索的方式搜索解空间,并且在搜索过程中用剪枝函数避免无效搜索。那为何 回溯算法 深度优先搜索 剪枝函数这一说法没有错? 因为树是特殊的图。简单来说,树是广义的图。再简单来说,树是图。…

C++学习笔记 简单部分

C 数据类型 使用变量来存储各种信息,变量保留的是它所存储的值的内存位置。这意味着,当创建一个变量时,就会在内存中保留一些空间。这段内存空间可以用于存储各种数据类型(比如字符型、宽字符型、整型、浮点型、双浮点型、布尔型…

Redis kqeue相关源码

mask 或delmask :添加或者删除的事件类型,AE_NONE表示没有任何事件;AE_READABLE表示可读事件;AE_WRITABLE表示可写事件; 如aeCreateFileEvent(loop,e->fd,AE_READABLE,redisAeReadEvent,e); static int aeApiAddEv…

C++学习笔记章节中 面向对象详解

C 类&对象 C类定义 本质上是一个数据类型的蓝图,定义了类的对象包含的信息,以及可以在这个类对象上执行哪些操作。类的定义是以class开头,后面接类的名称。类的主体是包含在一个花括号中,类的定义之后,必须跟着一…

Mac 破解软件打不开没有权限

Mac 破解软件打不开没有权限 sudo codesign -fs - /Applications/CleanMyMac\ X.app文件损坏 xxx sudo xattr -r -d /Applications/MarginNote\ 3.app sudo xattr -r -d com.apple.quarantine xxxx sudo codesign --force --deep --sign - /Applications/MarginNote\ 3\…

条件变量之虚假唤醒

当线程从等待已发出信号的条件变量中醒来,却发现它等待的条件不满足时,就会发生虚假唤醒。之所以称为虚假,是因为该线程似乎无缘无故地被唤醒了。但是虚假唤醒不会无缘无故发生:它们通常是因为在发出条件变量信号和等待线程最终运…

拷贝构造函数和拷贝赋节省代码最好用一个私有的函数

令 copy assignment操作符调用copy构造函数是不合理的,因为这就像试图构造一个已经存在的对象。这件事如此荒涔,乃至于根本没有相关语法。是有一些看似如你所愿的语法,但其实不是;也的确有些语法背后真正做了它,但它们…

解决Dr.com上不了网的问题

如果软件安装之后上不了网,会显示出错的信息,可以针对所显示的问题,去定向搜索。 如果是软件自身的问题,进入终端页面,可以使用一下这条命令 netsh winsock reset 然后需要重启电脑

terminate called after throwing an instance of ‘std::logic_error‘ what(): basic_string::_M_constr

terminate called after throwing an instance of ‘std::logic_error’ what(): basic_string::_M_construct null not valid 用0初始化字符串 编译不报错

密钥协商(密钥交换)机制的讲解

国标文件涉及密钥协商算法的函数 生成密钥协商参数并输出计算会话密钥产生协商数据并且计算会话密钥 密钥协商(交换)算法及其原理 密钥交换/协商目的 “密钥协商机制”是:(在身份认证的前提下)规避【偷窥】的风险。…

基于ECC算法的秘钥协商

基于ECC算法的衍生算法 ECDH(ECCDH)RSAECDHE(ECCDHE) ECDH密钥协商(ECCDH) 椭圆曲线密码学是属于非对称密码学的,其私钥的计算公式如下: 私钥是一个随机数d,取值范围在1……n-1,其中n是子群的阶公钥是点HdG&#xff…

C++11 多线程相关知识的学习

C多线程类Thread(C11) C11中std命名空间将Boost库中的Thread加入,Boost的多线程从准标准变为标准,这里将其用法整理复习,以demo的形式复习,还是喜欢看我自己写的东西,符合我的个人逻辑头文件为…