为移动云数据实现基于可撤销属性组的加密:多代理辅助方法

2024-04-05 02:36

本文主要是介绍为移动云数据实现基于可撤销属性组的加密:多代理辅助方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考文献为2023年发表的Achieving Revocable Attribute Group-Based Encryption for Mobile Cloud Data: A Multi-Proxy Assisted Approach

动机

对于目前的代理辅助的可撤销基于属性加密来说,外包解密存一些缺点。当多个具有相同属性的用户请求外包转换时,代理服务器必须执行多次转换操作,这增加了代理服务器计算开销和用户请求时间。由于移动设备计算能力较小,所有才有了外包解密,将大部分计算开销让代理服务器计算,将小部分计算开销留给移动设备上的数据使用者。传统的代理服务器外包解密系统如下图所示,当数据使用者请求某一个云上的加密数据时,它需要先从云中下载密文,然后将密文和转换密钥一起发送给代理服务器解密后,代理服务器再将部分解密的密文发送给数据使用者,然后数据使用者在解密。我们可以看出,在基于属性的加密中,如果很多用户属性相同,并且他们都想要对应于该属性加密的密文,那么这个系统的通信开销就会很大,对于代理服务器来说计算开销也很大,因为每次都要对想用的密文进行一个部分解密。本篇论文的就是解决相同属性的用户解密时和代理服务器之间多次冗余的通信和计算开销。

知识补充

撤销机制

        撤销机制分为三类:直接撤销、间接撤销、服务器辅助撤销。在直接撤销中,数据使用者将撤销列表和密文一起发送,并且需要在撤销的时候更新;对于间接撤销需要为未撤销用户更新私钥以及更新密文。而服务器辅助撤销如上说所,将解密分为两个部分,对于被撤销的用户,服务器拒绝为其解密第一部分。对于直接撤销中,撤销列表和密文是如何嵌在一起的还是有点疑惑

群签名   

        论文底层使用了一个群签名的,可以参考上一篇博客内容群签名

结果

        代理服务器拥有属性集合,具有想用的属性集合的用户会被分配到该代理服务器中,这说明用户和代理服务对于一个密文具有想用的解密能力,实现细粒度访问控制(论文中说群签名实现细粒度访问控制,我对这一个说法有点不理解)。用户不在具有转换密钥,也不再直接云服务器交互,这些功能直接全部给了代理服务器从而减少了用户和云以及代理服务器的交互通信开销。当发生撤销时,无需更新密文和用户密钥,具体是通过让撤销用户恢复不出秘密值而解不了密。

方案构建

        系统中有五个实体存在:云服务、数据拥有者、中心权威机构、代理服务器、数据使用者。系统模型如下图:

方案有以下算法组成:

        初始化:

        转换密钥生成:对于每一个代理服务器(对于一个属性集合)分配一个转换密钥 

        用户密钥生成:对于一个代理服务器,在转换密钥生成阶段CA会为其分配一个z次的多项式。此时,CA会为群中的每一个用户都为其分配z对(x,y)用于帮助用户恢复秘密值k。

         加密:就是普通的ABE加密的方式

        申请访问:使用了上面提过的群签名方案,单纯就是应用没有任何的修改。这里用户作为证明者,证明自己拥有合法的私钥即SDH的知识。代理服务器在这里作为验证者,验证用户提交的知识签名是否有效。

        转换阶段:首先根据群签名的验证算法,验证收到的签名是否有效,如果有效则继续进行下一步。代理服务器查看自己的属性是否满足访问策略如果满足则进行下一步。 对于原始密文代理服务器会用转换密钥对其进行第一次解密,生成了一个含有k次的双线配对运算B。

        解密阶段:

         追踪阶段:也只是用了群签名的方案里面的特性。

         撤销阶段:首先CA更新秘密值k'=r'P(0),然后使用更新的k'去更新新的转换密钥,使用新的转换密钥就会是部分解密中带有新的秘密值k'。然后根据撤销表,对没有撤销的用户进行广播密钥更新的信息,这样子未撤销的用户还能通过插值恢复秘密值而被撤销的用户就无法恢复出新的秘密值。

         

这篇关于为移动云数据实现基于可撤销属性组的加密:多代理辅助方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/877444

相关文章

C++对象布局及多态实现探索之内存布局(整理的很多链接)

本文通过观察对象的内存布局,跟踪函数调用的汇编代码。分析了C++对象内存的布局情况,虚函数的执行方式,以及虚继承,等等 文章链接:http://dev.yesky.com/254/2191254.shtml      论C/C++函数间动态内存的传递 (2005-07-30)   当你涉及到C/C++的核心编程的时候,你会无止境地与内存管理打交道。 文章链接:http://dev.yesky

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时,我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗?希望大家帮帮我,非常感谢!” 在这个数字化飞速发展的时代,电脑早已成为我们日常生活和工作中不可或缺的一部分。然而,就像生活中的小插曲一样,有时我们可能会在不经意间犯下一些小错误,比如不小心删除了重要的文件。 当那份文件消失在眼前,仿佛被时间吞噬,我们不禁会心生焦虑。但别担心,就像每个问题

通过SSH隧道实现通过远程服务器上外网

搭建隧道 autossh -M 0 -f -D 1080 -C -N user1@remotehost##验证隧道是否生效,查看1080端口是否启动netstat -tuln | grep 1080## 测试ssh 隧道是否生效curl -x socks5h://127.0.0.1:1080 -I http://www.github.com 将autossh 设置为服务,隧道开机启动

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

android一键分享功能部分实现

为什么叫做部分实现呢,其实是我只实现一部分的分享。如新浪微博,那还有没去实现的是微信分享。还有一部分奇怪的问题:我QQ分享跟QQ空间的分享功能,我都没配置key那些都是原本集成就有的key也可以实现分享,谁清楚的麻烦详解下。 实现分享功能我们可以去www.mob.com这个网站集成。免费的,而且还有短信验证功能。等这分享研究完后就研究下短信验证功能。 开始实现步骤(新浪分享,以下是本人自己实现