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

论文是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.rhkb.cn/news/297415.html

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

相关文章

Whisper对于中文语音识别与转写中文文本优化的实践(Python3.10)

原文:Whisper对于中文语音识别与转写中文文本优化的实践(Python3.10) - 知乎 阿里的FunAsr对Whisper中文领域的转写能力造成了一定的挑战,但实际上,Whisper的使用者完全可以针对中文的语音做一些优化的措施,换句话说,…

股票价格预测 | Python使用BP神经网络和LSTM神经网络预测股票价格

文章目录 效果一览文章概述代码设计BP神经网络LSTM神经网络效果一览 文章概述 BP神经网络使用

算法沉淀——动态规划篇(子数组系列问题(下))

算法沉淀——动态规划篇(子数组系列问题(下)) 前言一、等差数列划分二、最长湍流子数组三、单词拆分四、环绕字符串中唯一的子字符串 前言 几乎所有的动态规划问题大致可分为以下5个步骤,后续所有问题分析都将基于此 …

Jenkins首次安装选择推荐插件时出现”No such plugin cloudbees-folder”解决方案

安装Jenkins成功之后,首次启动Jenkins后台管理,进入到安装插件的步骤,选择"推荐安装",继续下一步的时候出现错误提示: 出现一个错误 安装过程中出现一个错误:No such plugin:cloudb…

Linux的开发工具(二):编译器gcc/g++与Linux项目自动化构建工具-Makefile

目录 Linux的编译器-gcc/g 问题一:gcc有时候为什么不能编译带有for循环的c语言源文件? 问题二:gcc中c源文件的后缀是什么? 问题三:gcc能编译c的源文件文件吗? 问题四:如何查看自己是否拥有…

jmeter链路压测

比如登录后返回token,业务打印上传的操作需要用到token 线程组中添加登录请求,并执行 1、添加登录并执行,查看结果 2、结果树中下拉选择正则表达式,将token参数和值复制粘贴到下方,将token值改为(.*?)&#xff0…

关于第十二届蓝桥杯时间显示题中包和模块的使用解释

题目信息: 解题代码: from datetime import datetime, timedelta # 定义起始时间,即 Unix 时间戳的零点(1970年1月1日) start datetime(year1970, month1, day1) # 定义时间间隔,这里以毫秒为单位 dela …

js类型转换

类型转换只有这四种,例如如果要对象转数字,那么就需要先把对象转成原始类型,再从原始类型转到数字。 空数组转原始类型是一个空字符串。空对象转原始类型是[object Object]。 let a {} console.log(a);// NaN //等价于 a->原始 然后原始…

适用于 Linux 的 Windows 子系统安装初体验

1、简述 Windows Subsystem for Linux (WSL) 是 Windows 的一项功能,允许您在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双重启动。 WSL 旨在为想要同时使用 Windows 和 Linux 的开发人员提供无缝且高效的体验。 使用 WSL 安装和运行各种 L…

InternLM2-lesson2作业

书生浦语大模型趣味 Demo 视频连接:https://www.bilibili.com/video/BV1AH4y1H78d/?vd_source902e3124d4683c41b103f1d1322401fa 目录 书生浦语大模型趣味 Demo一、基础作业二、进阶作业 一、基础作业 第一次执行: 第二次执行: 第一次执…

四核8g服务器价格多少钱?

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

Doris实践——同程数科实时数仓建设

目录 前言 一、早期架构演进 二、Doris和Clickhouse选型对比 三、新一代统一实时数据仓库 四、基于Doris的一站式数据平台 4.1 一键生成任务脚本提升任务开发效率 4.2 自动调度监控保障任务正常运行 4.3 安全便捷的可视化查询分析 4.4 完备智能的集群监控 五、收益与…

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

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

Excel、PowerQuery 和 ChatGPT 终极手册(下)

原文:Ultimate ChatGPT Handbook for Enterprises 译者:飞龙 协议:CC BY-NC-SA 4.0 使用 SUMIFS、SUMPRODUCT、AGGREGATE 和 MAX 函数查找数值数据 其中之一鲜为人知的事实是,当查找单个数值时,匹配和三角函数可能比查…

哈佛大学商业评论 -- 第二篇:增强现实是如何工作的?

AR将全面融入公司发展战略! AR将成为人类和机器之间的新接口! AR将成为人类的关键技术之一! 请将此文转发给您的老板! --- 本文作者:Michael E.Porter和James E.Heppelmann 虽然物理世界是三维的,但大…

视觉大模型--deter的深入理解

但对于transformer用于目标检测领域的开创性模型,该模型言简意赅,但是但从论文理解,有很多细节都不清楚,尤其是解码器的query和二分图匹配(Bipartite Matching)和匈牙利算法(Hungarian Algorithm)相关,本文将根据代码详…

Android自定义view;实现掌阅打开书籍动画效果

这里利用自定义view的方式来处理,初始化数据,camera通过setLocation调整相机的位置,但是Camera 的位置单位是英寸,英寸和像素的换算单位在 Skia 中被写成了72 像素,8 x 72 576,所以它的默认位置是 (0, 0, …

文件操作(详解)

该片博客有点长大家可以通过目录选择性阅读 这是个人主页 敲上瘾-CSDN博客 目录 1. 为什么使⽤⽂件? 2. 什么是⽂件? 2.1 程序⽂件 2.2 数据⽂件 2.3 ⽂件名 3. ⼆进制⽂件和⽂本⽂件? 4. ⽂件的打开和关闭 4.1 流和标准流 4.1.1 流…

Java 包装类初识泛型

登神长阶 第六阶 包装类&初识泛型 目录 😀一.包装类 😄1.基本数据类型以及其对应的包装类 😂2.装箱和拆箱 😇2.1.装箱(Boxing) 😉2.2.拆箱(Unboxing) &#x…

【项目技术介绍篇】若依项目代码文件结构介绍

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…