基于隐私保护的可追踪可撤销密文策略属性加密方案论文阅读

论文是2022年发表的A Traceable and Revocable Ciphertext-Policy Attribute-based Encryption Scheme Based on Privacy Protection

摘要

        本篇论文提出了一种具有用户撤销、白盒追踪、策略策略隐藏功能的CP-ABE方案。在该方案中密文被分为两个部分:第一个部分是和属性值加密的访问策略相关,第二个部分适合撤销信息相关(由用户相关的二叉树生成)

动机

        对于策略隐藏我们考虑如果有一个病人的病例需要拥有“神经病学”和“医生”两个属性的人才能查看,那么因为访问策略时所有人都可以访问的。对于恶意用户就可以通过策略猜测出病人是否患有神经病,这明显泄露了病人的隐私。因此,对于策略隐藏的实现还是很有必要的。策略隐藏分两类:部分隐藏和完全隐藏。部分隐藏将属性分为属性名称和属性值,提交密文的时候只将属性名称的访问策略结构随同加密数据一起上传,因此起到不会泄露属性信息。完全隐藏则不会携带任何属性相关。

        此外,因为在ABE用户的凭证其实就是属性私钥,只要拥有相同的属性,我们就区分不了用户。假设有两个相同属性的用户,如果有一个将自己的私钥给了别人,我们就不知道是谁。因此在ABE中实现追踪的效果也是很有必要性的。追踪的功能可以通过两种办法实现:白盒追踪和黑盒追踪。白盒追踪可以将解密私钥和用户身份绑定起来,然后实现对解密密钥的解析实现追踪。黑盒密钥读者还没有太多的了解,这里就不谈了。

        对于恶意泄露私钥的用户,我们需要将其撤销,使得该用户的私钥不再能够解密。撤销有两种形式:直接撤销和间接撤销。直接撤销需要可信机构管理一个撤销表,当有撤销发生时,撤销表需要更新,用户无需和可信机构交互。而间接撤销时,授权机构需要更新信息并与多用户进行沟通,如果用户数量较多,则成本就会更高。

        综上所述,需要一个即实现策略隐藏还能追踪撤销的CP-ABE方案。

预备知识

访问策略

        可以看到,访问策略不再包含数据的具体值,而是只包含属性名称。这代表着只要某个用户拥有这些属性名称就可以满足策略,但是解密的时候需要用到自己属性值和密文中属性值如果不一样还是解不密。

用户二叉树

        采用白盒可追溯性,通过给定格式良好的解密密钥绑定用户身份,可以追踪恶意用户。,用户的身份信息由系统中所有用户创建的二叉树的叶子节点值表示。然后叶节点值被加密并包含在解密密钥中。在解密密钥泄露的情况下,可以通过解密密钥泄露用户的身份。

        对于二叉树我们有几个操作:覆盖未撤销用户最小集合节点(以该节点为根,其叶子节点都是未撤销用户) 用cover(R)表示。例如如果用户1和用户4被撤销了,根据撤销表我们可以知道cover(R)=(2,8,9)。因为以2为根的树其叶子节点都是没有被撤销的,其余同理。叶节点路径用path(u),就是从根到叶节点从上到下的路径。还有一个就是对二者取交集,如果一个用户没有被撤销那么它的路径必定会有一个点是覆盖未撤销用户最小集合节点中的一个点。加密的时候就是使用这个点的值,解密的时候需要这个点的值和用户自身点的值,以及cover(R)path(u)的交集的点的值相结合求出解密部件

困难问题

方案构建 

        系统有四个实体:数据拥有者,权威机构,云和用户。

        方案主要由以下算法组成:

        设置阶段:权威机构运行算法并且输入安全参数和用户二叉树,输出公共参数和主私钥。

        加密阶段:输入公共参数、消息、访问策略和撤销列表。数据拥有者运行该算法,最后输出密文后将属性名称访问策略和密文一起上传给云。

        密钥生成阶段:输入用户身份和用户的属性集还有主私钥生成用户的解密私钥。

        解密阶段:输入密文和解密私钥,当且仅当用户解密私钥中的属性满足访问策略并且用户不是在撤销列表中才能解密成功。

        密钥正确性验:验证密钥是否是正确的。

        追踪:输入公钥和撤销列表以及私钥。首先,先检查密钥是否是正确的。之后对私钥中关于用户身份的部分进行解密查看用户身份进行追踪,之后将用户加入到撤销列表中进行撤销。

        撤销:输入密文、撤销列表以及每个用户都对应的值X,输出更新的密文。

具体算法分析

这里要注意的一个点是,权威机构为树中的每一个节点都选择了一个随机的值,实现值的节点的绑定。如果是叶子节点,那么该值实现了和用户身份的绑定。

可以看到C_{i,2}中包含了属性值,因此如果用户拥有的属性密钥中有相同的属性值那么就可以相互抵消。 

第一步算B,未撤销用户可以计算出来,如果一开始没有被撤销而后面被撤销了系统会更新T_j使得被撤销的用户利用之前掌握的信息计算不出来 B的结果。

对于更新算法这里提供了一个例子比较好理解。假设现在有四个用户,对于某个属性除用户一以外其余用户都拥有,他们可以解密相关的密文。后面,用户六被撤销了,我们可以看到由于之前用户六使用的T_2更新了导致了它不能计算B

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

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

相关文章

Servlet 的基本理解

Servlet 是JavaEE规范的一种,主要是为了扩展Java作为Web服务的功能,统一接口。由其他内部厂商如tomcat,jetty内部实现web的功能。如一个http请求到来:容器将请求封装为servlet中的HttpServletRequest对象,调用init()&a…

【PduR路由】IPduM模块详细介绍

目录 1.IpduM功能简介 2.IpduM模块依赖的其他模块 2.1RTE (BSW Scheduler) 2.2PDU Router 2.3COM 3.IpduM功能详解 3.1 功能概述 3.2 I-PDU多路复用I-PDU Multiplexing 3.2.1 Definitions and Layout 3.2.2通用功能描述 General 3.2.3模块初始化 Initialization 3.…

安装Docker(CentOS)

Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道。 官方网站上…

Kubernetes资源ConfigMap

一、ConfigMap的基本概念 1、什么是configMap ConfigMap资源主要为容器注入相关的程序配置信息,用来定制程序的运行方式,比如Redis监听端口、最大客户端连接数。 当定义好一个ConfiqMap资源后,如果Pod需要使用,可以通过通过环境变量、或存储卷的形式将其挂载并加载相关的…

FLink学习(三)-DataStream

一、DataStream 1&#xff0c;支持序列化的类型有 基本类型&#xff0c;即 String、Long、Integer、Boolean、Array复合类型&#xff1a;Tuples、POJOs 和 Scala case classes Tuples Flink 自带有 Tuple0 到 Tuple25 类型 Tuple2<String, Integer> person Tuple2.…

2024年03月CCF-GESP编程能力等级认证Scratch图形化编程四级真题解析

本文收录于专栏《Scratch等级认证CCF-GESP真题解析》,专栏总目录・点这里 一、单选题(共 10 题,每题 2 分,共 30 分) 第1题 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( )。 A、小程序 B、计时器 C、操作系统 D、神话人物 答案:C…

【React】基于JS 3D引擎库实现关系图(图graph)

主角&#xff1a;3D Force-Directed Graph 简介&#xff1a;一个使用ThreeJS/WebGL进行3D渲染的Graph图库 GitHub: https://github.com/vasturiano/3d-force-graph Ps: 较为复杂或节点巨大时&#xff0c;对GPU>CPU消耗较大&#xff0c;同量级节点对比下优于AntV G6和Echarts…

宁波ISO27001认证:信息安全管理的黄金标准

&#x1f603;宁波ISO27001认证&#xff1a;&#x1f916;信息安全管理的&#x1f4a1;黄金标准 随着信息技术&#x1f4bb;的迅猛发展&#xff0c;信息安全&#x1f50f;问题日益凸显&#xff0c;成为企业&#x1f3ec;稳定运营和持续发展的&#x1f4ca;关键因素。在这样&am…

C语言:文件操作(二)

目录 前言 4、文件的顺序读写 4.1fputc 4.2 fgetc 4.3 fputs 4.4 fgets 4.5 fprintf 4.6 fscanf 4.7 fread和fwrite 结&#xff08;二&#xff09; 前言 接者“C语言&#xff1a;文件操作&#xff08;一&#xff09;”往下讲。 本篇文章将介绍C语言的文件操作&#xf…

【算法每日一练]-数论(保姆级教程 篇1 埃氏筛,欧拉筛)

目录 保证给你讲透讲懂 第一种&#xff1a;埃氏筛法 第二种&#xff1a;欧拉筛法 题目&#xff1a;质数率 题目&#xff1a;不喜欢的数 思路&#xff1a; 问题&#xff1a;1~n 中筛选出所有素数&#xff08;质数&#xff09; 有两种经典的时间复杂度较低的筛法&#xff0…

靶向载药脂质体纳米药物载体应用领域

【中文名称】 载药脂质体 【纯 度】 95%以上 【保 存】 4℃保存 【溶 剂】 PBS或者水 【无菌处理】 是 【规 格】 50mg&#xff0c;10mg/ml 【品 牌】 碳水科技&#xff08;Tanshtech&#xff09; 载药脂质体是一种利用脂质双层囊泡包裹药物分子以实现有效…

计算机网络:数据链路层 - 可靠传输协议

计算机网络&#xff1a;数据链路层 - 可靠传输协议 可靠传输概念停止-等待协议 SW回退N帧协议 GBN选择重传协议 SR 可靠传输概念 如下所示&#xff0c;帧在传输过程中受到干扰&#xff0c;产生了误码。接收方的数据链路层&#xff0c;通过真伪中的真检验序列 FCS 字段的值&…

【Linux】-进程知识铺垫①计算机硬件的组织:冯诺依曼体系结构详细解读②关于操作系统对软硬件及用户的意义

目录 ​编辑 1.关于计算机的体系结构 1.1 冯诺依曼体系结构的诞生 2.冯诺依曼体系结构 2.1 cpu:运算器&#xff1a;更多的是让cpu具有特殊的数据计算功能&#xff1a; 2.2 控制器 2.3输入设备 2.4输出设备 3.计算机各个硬件设备之间的关系 4.内存与计算机效率 5.关于为什么总说…

Spoon Taking Problem(c++题解)

题目描述 &#xfffd;N 人が円卓に座っており&#xff0c;各人は反時計回りに順に 1, …, &#xfffd;1, …, N と番号付けられています&#xff0e;各人はそれぞれ左右どちらか一方の利き手を持っています&#xff0e; 円卓上には 1, …, &#xfffd;1, …, N と番号付け…

【Linux】详解动态库链接和加载对可执行程序底层的理解

一、动静态库链接的几种情况 如果我们同时提供动态库和静态库&#xff0c;gcc默认使用的是动态库。如果我们非要使用静态库&#xff0c;要加-static选项。如果我们只提供静态库&#xff0c;那可执行程序没办法&#xff0c;只能对该库进行静态链接&#xff0c;但程序不一定整体…

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

参考文献为2023年发表的Achieving Revocable Attribute Group-Based Encryption for Mobile Cloud Data: A Multi-Proxy Assisted Approach 动机 对于目前的代理辅助的可撤销基于属性加密来说&#xff0c;外包解密存一些缺点。当多个具有相同属性的用户请求外包转换时&#x…

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

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

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

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

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

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

leetcode代码记录(打家劫舍 III

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