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

news2025/1/18 16:52:11

论文是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

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

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

相关文章

ros小问题之rosdep update time out问题

在另外一篇ROS 2边学边练系列的文章里有写碰到这种问题的解决方法(主要参考了其他博主的文章,只是针对ROS 2做了些修改调整),此处单拎出来方便查找。 在ROS 2中执行rosdep update时,报出如下错误: 其实原因…

296个地级市GDP相关数据集(2000-2023年)

01、数据简介 GDP,即国内生产总值(Gross Domestic Product),是指一个国家或地区所有常住单位在一定时期内生产活动的最终成果。 名义GDP,也称货币GDP,是指以生产物品和劳务的当年销售价格计算的全部最终产…

腾讯云4核8G服务器性能怎么样?大明白来说说

腾讯云4核8G服务器价格:轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线?支持30个并发数,可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…

WPF中通过自定义Panel实现控件拖动

背景 看到趋时软件的公众号文章(WPF自定义Panel:让拖拽变得更简单),发现可以不通过Drag的方法来实现ListBox控件的拖动,而是通过对控件的坐标相加减去实现控件的位移等判断,因此根据文章里面的代码,边理解边…

【随笔】Git 高级篇 -- 相对引用1(十二)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

腾讯云4核8G12M服务器和标准型S5服务器配置价格表

2024年腾讯云4核8G服务器租用优惠价格:轻量应用服务器4核8G12M带宽646元15个月,CVM云服务器S5实例优惠价格1437.24元买一年送3个月,腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图: 腾讯云4核8G服务器优惠价格 轻…

2024年干货分享!11个无版权免费可商用高清素材网站分享,含图片插画图标

在当今这个信息化的时代,图片已成为我们生活与工作中不可或缺的一部分。对于设计师、自媒体人,网站设计师,以及众多创作者而言,都迫切需要高品质的图片来提升作品的吸引力。 然而,寻觅无版权、免费且高清的图片资源实…

商品购买过程中,库存的抵扣过程是怎样的?如何防止超卖?

在商品购买的过程中,库存的抵扣过程,一般操作如下: 1、select根据商品id查询商品的库存。 2、根据下单的数量,计算库存是否足够,如果存库不足则抛出库存不足的异常,如果库存足够,则减去扣除的…

全栈的自我修养 ———— react中router入门+路由懒加载

router 下载router配置view创建目录配置index.js 下载router npm install react-router-dom配置view 如下将组件倒出 const Login () > {return <div>这是登陆</div> } export default Login创建目录 配置index.js React.lazy有路由懒加载的功能&#xff0…

全猎/暴漏攻击面搜索

推荐&#xff1a; FullHunt | Expose YourAttack Surface Discover, monitor, and secure your attack surface. FullHunt delivers the best platform in the market for attack surface security.https://fullhunt.io/

vue快速入门(五)v-show与v-if

注释很详细&#xff0c;直接上代码 上一篇 新增内容 v-if与v-show底层的区别v-if与v-show的效果 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice…

内部类(来自类和对象的补充)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…

一分钟了解MOS管基础知识

场效应管&#xff08;Field-Effect Transistor&#xff0c;简称FET&#xff09;是电子技术中广泛使用的一种半导体器件&#xff0c;具有高输入阻抗、噪声低和低功耗等优点。 简介 场效应管是一种电压控制器件&#xff0c;其工作原理是通过改变栅极&#xff08;Gate&#xff09;…

【Unity 实用工具篇】| Unity中 实现背景模糊效果,简单易用

前言【Unity 实用工具篇】| Unity 实现背景模糊效果,简单易用一、实现背景模糊效果1.1 介绍1.2 效果展示1.3 使用说明及下载二、插件资源简单介绍2.1 导入下载好的资源2.2 功能介绍2.2.1 捕获特效2.2.2 高级选项

在集群中使用deepspeed如果端口被占用可以使用deepspeed参数更改

在集群中使用deepspeed如果端口被占用可以使用deepspeed参数更改 这一次G老师不好使了 在集群中使用deepspeed默认的端口号29500被占用&#xff0c;显示更改居然不起作用 G老师给的方法也不好使 #!/bin/bash MASTER_ADDRlocalhost MASTER_PORT29501 # 选择一个未被占用的端…

Spoon Taking Problem(c++题解)

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

企微知识库优缺点解析:如何让其效益最大化

企业搭建企微知识库&#xff0c;作为企业内部知识的集中存储和共享平台&#xff0c;为企业带来了很多便利。但是&#xff0c;任何事物都有其两面性&#xff0c;企微知识库也不例外。今天我们就来详细探讨搭建企微知识库的优点和缺点&#xff0c;如何在使用企微知识库时使其发挥…

谷歌(Google)技术面试——在线评估问题(三)

谷歌&#xff08;Google&#xff09;面试过程的第一步&#xff0c;你可能会收到一个在线评估链接。 评估有效期为 7 天&#xff0c;包含两个编码问题&#xff0c;需要在一小时内完成。 以下是一些供你练习的在线评估问题。 在本章结尾处&#xff0c;还提供了有关 Google 面试不…

Python 爬虫基础——http请求和http响应

写本篇文章&#xff0c;我认为是能把自己所理解的内容分享出来&#xff0c;说不定就有和我一样有这样思维的共同者&#xff0c;希望本篇文章能帮助大家&#xff01;✨✨ 文章目录 一、 &#x1f308;python介绍和分析二、 &#x1f308;http请求三、 &#x1f308;http响应四、…

原型模式详解

原型模式简单的理解来说,就是复制品,用一个已经做好的成品作为原型,然后通过复制它得到新的产品。就好像细胞分裂一样。用Java来说,就是用对象创建对象,而不是通过类来创建对象。 原型模式的目的是从原型实例克隆出新的实例 ,对于那些有非常复杂的初始化过程的对象或者是…