数据脱敏的风险量化评估介绍
1、背景介绍
当前社会信息化高速发展,网络信息共享加速互通,数据呈现出规模大、流传快、类型多以及价值密度低的特点。人们可以很容易地对各类数据实现采集、发布、存储与分析,然而一旦带有敏感信息的数据被攻击者获取将会造成个人隐私的严重泄漏;所以在发布数据前,必须通过适当的隐私保护手段来隐藏敏感信息,从而达到能够发布和分析同时又保障隐私信息安全性的目的。
然而,实际中大部分数据脱敏方法(如假名化、字符屏蔽)仍存在隐私风险,经过这些脱敏处理后的数据经过发布后可能遭受一系列的攻击,包括重标识攻击、背景知识攻击、链接攻击以及隐私推理攻击。 为了抵抗以上一些攻击,K-匿名、等价匿名是较为常用的匿名处理方法,对其进行合理应用能够在数据分析时减少安全隐患风险问题发生。其中K-匿名算法具有实用性,属于新型算法的一种,为了抵抗常见的链接攻击,比较科学的数据发布脱敏都会采用K-匿名的手段对数据进行处理,但该方法对敏感属性值的分布未做任何具体限制,因此就会存在背景知识攻击以及同质攻击。
为了得到风险小且信息损失量小的发布数据集,需在发布脱敏数据集之前应对其进行评估,若评估后的脱敏数据集质量达到用户对数据价值要求同时攻击者很难窃取敏感信息,那么就可以发布。本文讨论的风险评估算法也是基于匿名化处理数据的风险评估,也适用于其他脱敏算法。
2、K匿名相关知识简介
根据发布数据集的内容不同,数据集存在的风险也不同;如何去量化的评估数据集存在的风险,就应该先对数据的敏感级别进行一个合理的划分。行业已经有相关的规范,如《信息安全技术个人信息去标识化效果分级评估规范》中对数据敏感级别定义了如下的划分规则:
- 个人信息标识度分级

图1 示例数据(注:包括身份证和电话号码等个人数据均为假数据,仅为示例目的)
结构化数据以表的形式表示,每一行表示一条记录(record),每一列表示一个属性(attribute)。每一个记录与一个特定用户/个体关联。这些属性可以分为四类:
标识符(explicit identifiers attribute):可以直接确定一个个体。如:身份证号,姓名等单个属性值。
准标识符(Quasi-identifler attribute,QID):可以和外部表连接来识别个体的最小属性集。如Fig1中的 { 年龄,性别,邮编 }组合。
敏感属性(Sensitive attribute):用户不希望被人知道的数据。如:电话号码、所患疾病等。可以认为数据表中有价值的数据除了标识符和准标识符之外都是敏感数据。
非敏感属性(Non-sensitive attribute):可以直接公开,无任何危险的数据,如序号。
等价组(等价类):所有准标识符对应的值相同的数据划分到一个组。
基于以上的概念定义,基于K-匿名的脱敏处理就是要保证准标识符集的非唯一性,即等价组中最小的个数必须大于等于K。
- 安全隐患样例

图2链接攻击
图2右图是一张某医院收集的病人信息,其中已经抹去了姓名、身份证号等信息)。但是,直接发布这样简单处理的数据并不安全。因为数据接收者(recipient)可能知道其他个人信息,比如上面表一是一张投票信息表。那么recipient就可以通过比对Birthdate、Sex 和 Zipcode 的值得知 Andre 患有Flu。这种通过某些属性与外部表连接的攻击称为链接攻击。
K-匿名样例

图3 3-匿名化
K-匿名思想十分朴素。它首先做了如下假设:
准标识符假设:数据持有者可以识别出其所持有数据表中可能出现在外部数据中的属性,因此其可以准确的识别出准标识符集合。
K-匿名要求同一个准标识符至少要有k条记录。因此观察者无法通过准标识符进行记录连接。如图3(*号遮蔽只是一种方法)。
等价组
把拥有相同准标识符的所有记录称为一个等价类(equivalence class)。K-匿名即是要求同一等价类中的记录不少于K条。把等价类的大小组成的集合称为频率集(frequency fet)。如图4就是一个按K=3处理后的数据集,{1,2,3},{4,5,6},{7,8,9}分别为一个等价组。
等价组是一个多重集(multiset),即其中可以有相同的元素。频率集应该也是多重集。
K-匿名使得观察者无法以高于1/K的置信度通过准标识符来识别用户。

三、隐私的定义与度量
隐私,就是个人、机构等实体不愿意被外部世界知晓的信息。在具体应用中,隐私即为数据所有者不愿意被披露的敏感信息,包括敏感数据以及数据所表征的特性。我们常说的个人信息安全,就是保护用户的隐私安全。
个人敏感数据通常也称隐私数据,这些数据包括用户姓名、电话和身份证号码及银行卡号或其他一些私人信息。这些信息只要稍微被泄露出去,往往会紧密地关联到人们的日常生活,或多或少会造成一些损失,然而要是用户数据信息影响到用户的信用问题,则又会波及用户在财务或者法律方面的一些问题,造成严重损失。随着现代化大数据的应用越来越广泛,应用到该技术的相关工作单位也同样给予了大数据足够的重视度,为的就是能够实现双方利益的共赢,互惠互利。
数据安全与隐私相关技术受到的重视程度越来越高,因此聚焦“敏感数据”,创新实践“零信任”安全理念,围绕数据产生、传输、存储、使用、共享、销毁外加数据管理的全生命周期,并结合数据安全相关的法律法规《国家安全法》《网络安全法》以及即将出台的《数据安全法》《个人信息保护法》,构建由内到外主动式纵深防御体系尤为重要;其中每个周期中核心技术能力诉求如图5所示。

图5 数据生命周期
一般的,从隐私所有者的角度而言,隐私可以分为两类:
个体隐私(Individual Privacy)
任何可以确认特定个人或可以确认个人相关,但个人不愿意被暴露的信息,都叫做个人隐私,如个人身份证号码、就诊号。
共同隐私(Corporate Privacy)
共同隐私不仅包含个人的隐私,还包含所有个体共同表现出,但不愿意被暴露的信息。如公司员工的平均薪资、薪资分布等信息,再如两个人之间的关系信息。
隐私的度量与量化表示
数据隐私的保护效果是通过攻击者披露隐私的多寡来侧面反映的。现有的隐私度量都可以统一用“披露风险”(Disclosure Risk)来描述。
披露分险表示攻击者根据所发布的数据和其他背景知识(Background Knowledge),可能披露隐私的概率。通常,关于隐私数据的背景知识越多,披露风险就越大。
若s
表示敏感数据,事件Sk
表示“攻击者在背景知识K
的帮助下披露敏感数据s
”,则披露风险r(s,K)
表示为
r(s,K)=Pr(Sk)![]()
对数据集而言,若数据集所有者最终发布数据集D的所有敏感数据的披露风险都小于阈值a,aϵ[0,1]
,则称该数据集的披露风险为a
。
---------------------------------------------------------------------------------------------------------------------------------
感谢你的打赏

---------------------------------------------------------------------------------------------------------------------------------
相关文章:
数据脱敏的风险量化评估介绍
1、背景介绍 当前社会信息化高速发展,网络信息共享加速互通,数据呈现出规模大、流传快、类型多以及价值密度低的特点。人们可以很容易地对各类数据实现采集、发布、存储与分析,然而一旦带有敏感信息的数据被攻击者获取将会造成个人隐私的严重…...
SpringCloudGateway网关实战(三)
SpringCloudGateway网关实战(三) 上一章节我们讲了gateway的内置过滤器Filter,本章节我们来讲讲全局过滤器。 自带全局过滤器 在实现自定义全局过滤器前, spring-cloud-starter-gateway依赖本身就自带一些全局过滤器࿰…...
08在MyBatis-Plus中配置多数据源
配置多数据源 模拟多库场景 适用于多种场景: 多库(操作的表分布在不同数据库当中),读写分离(有的数据库负责查询的功能,有的数据库负责增删该的功能),一主多从,混合模式等 第一步: 模拟多库,在mybatis_plus数据库中创建user表,在mybatis_plus_1数据库中创建product表 --创建…...
Centos8安装docker并配置Kali Linux图形化界面
鉴于目前网上没有完整的好用的docker安装kali桌面连接的教程,所以我想做一个。 准备工作 麻了,这服务器供应商提供的镜像是真的纯净,纯净到啥都没有。 问题一:Centos8源有问题 Error: Failed to download metadata for repo ap…...
游戏开发初等数学基础
凑数图() 立体图形面积体积 1. 立方体(Cube): 表面积公式: 6 a 2 6a^2 6a2 (其中 a a a 是边长)。体积公式: a 3 a^3 a3 (其中 a a a 是边长)。 2. 球体(Sphere): 表面积公…...
svg图片代码data:image/svg+xml转png图片方法
把代码保存为html格式的文件中,用浏览器访问,即可右键保存 从AI软件或其它网站得到svg图片代码后,把他复制到下面源码上 注意:src""图片地址中,一些参数的含义 d‘这里是图片代码数据’ viewBox是图片显示区域,宽,高等 fill%23000000’这里表示颜色 ,后面6位0表示黑色…...
解决问题:Replace `‘vue‘;⏎` with `“vue“;`
使用vscode写vue文件的问题: Replace vue;⏎ with "vue"; error Replace v-model:value"xxx"placeholder"inputsearch prettier/prettier 7:38 error Insert ⏎ potentially fixable with the --fix option 原因:格式问题&a…...
ThinkPHP 5.0通过composer升级到5.1,超级简单
事情是这样的,我实现一个验证码登录的功能,但是这个验证码的包提示tp5的版本可以是5.1.1、5.1.2、5.1.3。但我使用的是5.0,既然这样,那就升个级呗,百度了一下,结果发现大部分都是讲先备份application和修改…...
计算机竞赛 多目标跟踪算法 实时检测 - opencv 深度学习 机器视觉
文章目录 0 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习多目标跟踪 …...
一文了解大模型工作原理——以ChatGPT为例
文章目录 写在前面1.Tansformer架构模型2.ChatGPT原理3.提示学习与大模型能力的涌现3.1 提示学习3.2 上下文学习3.3 思维链 4.行业参考建议4.1 拥抱变化4.2 定位清晰4.3 合规可控4.4 经验沉淀 写在前面 2022年11月30日,ChatGPT模型问世后,立刻在全球范围…...
CPP-Templates-2nd--第十九章 萃取的实现 19.7---
目录 19.7 其它的萃取技术 19.7.1 If-Then-Else 19.7.2 探测不抛出异常的操作 19.7.3 萃取的便捷性(Traits Convenience) 别名模板和萃取(Alias Templates And Traits) 变量模板和萃取(Variable Templates and Traits&…...
python 采用selenium+cookies 获取登录后的网页
百度网页由于需要登陆手机短信验证。比较麻烦 这里我采用先人工登录百度账号,然后将百度账号的相关cookies保存下来 然后采用selenium动态登录网页 整体代码如下 from selenium import webdriverimport timeoptions webdriver.ChromeOptions()options.add_argu…...
【测试开发】答疑篇 · 什么是软件测试
【测试开发】答疑篇 文章目录 【测试开发】答疑篇1. 生活中的测试2. 什么是软件测试3. 为什么要有测试/没有测试行不行4. 软件测试和软件开发的区别5. 软件测试和软件调试之间的区别6. 软件测试的岗位7. 优秀测试人员具备的素质 【测试开发】答疑篇 软件不一定是桌面应用&#…...
深入解析顺序表:揭开数据结构的奥秘,掌握顺序表的精髓
💓 博客主页:江池俊的博客⏩ 收录专栏:数据结构探索👉专栏推荐:✅C语言初阶之路 ✅C语言进阶之路💻代码仓库:江池俊的代码仓库🔥编译环境:Visual Studio 2022Ἰ…...
数据风险量化评估方案
一、企业面临数据安全的痛点 1、企业缺少清晰的数据安全意识 各部门重视度不够,缺少主动数据安全管控意识。数据安全管控架构不清晰,职责划分不明确。对数据安全管控认识不全面、不深刻。工作人员对于所持有的数据缺乏概念,导致数据的价值无…...
EasyAVFilter代码示例之将视频点播文件转码成HLS(m3u8+ts)视频点播格式
以下是一套完整的视频点播功能开发源码,就简简单单几行代码,就可以完成原来ffmpeg很复杂的视频点播转码调用流程,而且还可以集成在自己的应用程序中调用,例如java、php、cgo、c、nodejs,不需要再单独一个ffmpeg的进程来…...
day-50 代码随想录算法训练营(19)动态规划 part 11
123.买卖股票的最佳时机||| 分析:只能买卖两次,就是说有五个状态: 没有买过第一次买入第一次卖出第二次买入第二次卖出 思路:二维数组,记录五个状态 1.dp存储:dp[i][1] 第一次买入 dp[i][2] 第一次卖…...
自定义权限指令与防止连点指令
1.权限指令 // 注册一个全局自定义权限指令 v-permission Vue.directive(permission, {inserted: function(el, binding, vnode) {const {value} binding; // 指令传的值// user:edit:phone,sysData:sampleconst permissions [user:edit:address, sysData:entrust, sysData:…...
UE5、CesiumForUnreal实现瓦片坐标信息图层效果
文章目录 1.实现目标2.实现过程2.1 原理简介2.2 cesium-native改造2.3 CesiumForUnreal改造2.4 运行测试3.参考资料1.实现目标 参考CesiumJs的TileCoordinatesImageryProvider,在CesiumForUnreal中也实现瓦片坐标信息图层的效果,便于后面在调试地形和影像瓦片的加载调度等过…...
PostgreSQL执行计划
1. EXPLAIN命令 1)PostgreSQL中EXPLAIN命令的语法格式: postgres# \h explain Command: EXPLAIN Description: show the execution plan of a statement Syntax: EXPLAIN [ ( option [, ...] ) ] statement EXPLAIN [ ANALYZE ] [ VERBOSE ] statementwhere option can be…...
如何快速使用Spyder:Python科学计算开发环境终极指南
如何快速使用Spyder:Python科学计算开发环境终极指南 【免费下载链接】spyder Official repository for Spyder - The Scientific Python Development Environment 项目地址: https://gitcode.com/gh_mirrors/sp/spyder Spyder是专为科学计算和数据分析设计的…...
ESP32玩转ST7735屏:除了显示中文,如何用urequests获取天气并展示?
ESP32联网天气站:用ST7735屏打造动态气象信息中心 当ESP32遇上ST7735屏幕,简单的文字显示已经不能满足开发者的探索欲望。今天,我们将突破静态显示的局限,打造一个能实时获取并展示天气信息的智能终端。这不仅仅是技术的堆砌&…...
pycatia:5大策略实现CATIA V5自动化设计效率提升300%
pycatia:5大策略实现CATIA V5自动化设计效率提升300% 【免费下载链接】pycatia python module for CATIA V5 automation 项目地址: https://gitcode.com/gh_mirrors/py/pycatia 在数字化制造浪潮中,传统CAD设计流程已成为制约企业创新速度的关键瓶…...
从ARM7到Cortex-M3:手把手教你移植旧代码时,如何处理模式和特权等级的差异
从ARM7到Cortex-M3:代码移植中的权限模型重构实战 当工程师将代码从ARM7平台迁移到Cortex-M3架构时,最常遇到的"拦路虎"莫过于权限模型的差异。我曾在一个工业控制项目迁移过程中,花了整整三天追踪一个诡异的硬件访问错误…...
DeepSeek V4:开源大模型的新突破,成本降低、能力提升但落地仍需“脚手架”
编辑部发布:DeepSeek V4引发AI行业热潮解读DeepSeek V4的技术报告,成为这几天AI行业最狂热的集体活动。V4在工程优化维度表现出色,它不走“Scaling Law的暴力美学”路线,而是定义了“模型训练的克制美学”。V4的工程优化成果显著V…...
ROS项目里OpenCV版本打架了?保姆级教程教你让OpenCV 3和4在Ubuntu 20.04上和平共处
ROS项目中OpenCV多版本共存实战指南 当ROS遇上OpenCV版本冲突 机器人操作系统(ROS)开发者们经常遇到一个令人头疼的问题:新项目需要OpenCV 4的最新特性,而老项目却固执地依赖OpenCV 3的某些接口。这种版本冲突在Ubuntu 20.04上尤为常见,因为R…...
LabVIEW调用Matlab脚本的两种方法,我为什么最终放弃了公式节点?
LabVIEW调用Matlab脚本的两种方法,我为什么最终放弃了公式节点? 作为一名长期在测试测量领域工作的工程师,我几乎每天都要和LabVIEW打交道。当项目需要复杂算法支持时,Matlab总是我的首选工具。但在实际工程中,如何优…...
Obsidian Style Settings:让每个用户都能轻松定制专属笔记界面的终极指南
Obsidian Style Settings:让每个用户都能轻松定制专属笔记界面的终极指南 【免费下载链接】obsidian-style-settings A dynamic user interface for adjusting theme, plugin, and snippet CSS variables within Obsidian 项目地址: https://gitcode.com/gh_mirro…...
如何用AI插件让Zotero文献管理效率提升300%?探索GPT智能分析新范式
如何用AI插件让Zotero文献管理效率提升300%?探索GPT智能分析新范式 【免费下载链接】zotero-gpt GPT Meet Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-gpt 传统文献管理工具在面对海量学术论文时,研究者常常陷入信息过载的困境…...
EasyAgents:多AI助手协同编程工具的设计原理与实战指南
1. 项目概述:在IDE中实现多AI助手协同编程 如果你和我一样,日常开发重度依赖像Claude Code、Cursor这类AI编程助手,那你肯定遇到过这样的场景:想同时让AI帮你处理多个关联任务,比如一边写后端API,一边写前端…...
