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

参考文献为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'。然后根据撤销表,对没有撤销的用户进行广播密钥更新的信息,这样子未撤销的用户还能通过插值恢复秘密值而被撤销的用户就无法恢复出新的秘密值。

         

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

核心API-Activiti7从入门到专家(3)

背景 今天的说的api,activiti7真有,但真不是这个: 这个是为了云服务,封装的一些api,以后我们还会逐步探讨,今天我们讨论的,是其真正的api,以前是这样的: 是的&#xff0…

ChatGPT 登陆报错:“Oops, an error occurred!” 如何解决?

ChatGPT登录时报错:“Oops, an error occurred!” 说明:哎呀,出错了! 原因: 目前出现这个情况的小伙伴,并非账号被封,多是服务端的问题,比如高峰段,服务端响应不及时,负…

[Apple Vision Pro]开源项目 Beautiful Things App Template

1. 技术框架概述: - Beautiful Things App Template是一个为visionOS设计的免费开源软件(FOSS),用于展示3D模型画廊。 2. 定位: - 该模板作为Beautiful Things网站的延伸,旨在为Apple Vision Pro用户…

leetcode代码记录(打家劫舍 III

目录 1. 题目:2. 我的代码:小结: 1. 题目: 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xf…

【数据结构】——二叉树的递归实现,看完不再害怕递归

创作不易,感谢三连加支持?! 一 递归理解 递归无非就是相信它,只有你相信它,你才能写好递归!为什么?请往下看 在进入二叉树的实现之前,我们得先理解一遍递归,可能很多…

通用开发技能系列:Authentication、OAuth、JWT 认证策略

云原生学习路线导航页(持续更新中) 本文是 通用开发技能系列 文章,主要对编程通用技能 Authentication、OAuth、JWT 认证策略 进行学习 1.Basic Authentication认证 每个请求都需要将 用户名密码 进行base64编码后,放在请求头的A…

网络基础二——TCP可靠性实现机制补充

11.3.4确认应答机制 ​ 1.双方通信时要返回确认应答报文,保证对方发送的报文是有效的;尽管整个通信过程中无法保证数据全部可靠,但是可以保证单个方向发送的数据是可靠的; ​ 发送的报文要设置序号,如果是应答报文要…

腾讯云容器与Serverless的融合:探索《2023技术实践精选集》中的创新实践

腾讯云容器与Serverless的融合:探索《2023技术实践精选集》中的创新实践 文章目录 腾讯云容器与Serverless的融合:探索《2023技术实践精选集》中的创新实践引言《2023腾讯云容器和函数计算技术实践精选集》整体评价特色亮点分析Serverless与Kubernetes的…

基于springboot实现校园资料分享平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现校园资料分享平台演示 摘要 随着信息互联网购物的飞速发展,国内放开了自媒体的政策,一般企业都开始开发属于自己内容分发平台的网站。本文介绍了校园资料分享平台的开发全过程。通过分析企业对于校园资料分享平台的需求,创…

设计模式总结-面向对象设计原则

面向对象设计原则 面向对象设计原则简介单一职责原则单一职责原则定义单一职责原则分析单一职责原则实例 开闭原则开闭原则定义开闭原则分析开闭原则实例 里氏代换原则里氏代换原则定义里氏代换原则分析 依赖倒转原则依赖倒转原则定义依赖倒转原则分析依赖倒转原则实例 接口隔离…

React 入门

一、官网地址 英文官网: https://reactjs.org/中文官网: https://react.docschina.org/ 二、React 特点 声明式编码组件化编码React Native 编写原生应用高效(优秀的 Diffing 算法)高效的原因:1.使用虚拟DOM,不总是直接操作页面…

Navicat Premium 16 Mac/win---数据库设计、管理与维护轻松掌握数据库管理精髓

Navicat Premium是一款功能强大的数据库开发工具,支持多种数据库系统,如MySQL、Redis、MariaDB、Oracle等,并可与云数据库兼容,如Amazon RDS、Microsoft Azure等。它提供了直观易用的用户界面,使得开发者能够轻松上手并…

递归算法讲解2

前情提要 上一篇递归算法讲解在这里 递归算法讲解(结合内存图) 没看过的小伙伴可以进去瞅一眼,谢谢! 递归算法的重要性 递归算法是非常重要的,如果想要进大厂,以递归算法为基础的动态规划是必考的&…

基于单片机的无线红外报警系统

**单片机设计介绍,基于单片机的无线红外报警系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的无线红外报警系统是一种结合了单片机控制技术和无线红外传感技术的安防系统。该系统通过无线红外传感器实…

思通数科:利用开源AI能力引擎平台打造企业智能搜索系统

在信息爆炸的时代,如何高效地管理和检索海量数据已成为企业和个人面临的一大挑战。思通数科 StoneDT 多模态AI能力引擎平台,以其强大的自然语言处理(NLP)、OCR识别、图像识别和文本抽取技术,为用户带来了前所未有的智能…

UE4 C++获取Niagara变量值

UE4 获取Niagara变量值 Niagara有一堆Get方法,但是是基于数据的,单独的Set方法是有的,因此,我们这参考Set源码去Get 源代码如下: 我们的实现(当然要返回其他类型值,修改一下对应传参就行了…

一个简单的Demo展示fastapi+tortoise-orm+celery如何搭配

1. 创建并激活虚拟环境 python3 -m venv venv source venv/*/activate 2. 安装依赖包 pip install fastapi uvicorn[standard] tortoise-orm celery[redis] fastapi-cdn-host 3. 配置数据库连接参数 - config.py from typing import TypedDictclass TortoiseInitParam(Ty…

【C语言】翻译环境与运行环境

一、前言 在我们学习C语言的时候,第一个接触的程序就是:在屏幕上打印” hello word! “,可当时的我们却未去深入的理解与感悟,一个程序代码是如何运行的;而这一期的博客,则是带着我们,通过C代码…

【旅行商问题TSP】基于大邻域搜索算法LNS

课题名称:大规模邻域搜索算法LNS求解TSP问题 版本时间:2024-04-01 程序运行:直接运行LNS_TSP.m 文件即可 代码获取方式: QQ:491052175 VX:Matlab_Lover 模型介绍: 第一步:设定…

LeetCode-统计完全连通分量的数量

题目要求: 给你一个整数 n 。现有一个包含 n 个顶点的 无向 图,顶点按从 0 到 n - 1 编号。给你一个二维整数数组 edges 其中 edges[i] [ai, bi] 表示顶点 ai 和 bi 之间存在一条 无向 边。 返回图中 完全连通分量 的数量。 如果在子图中任意两个顶点…