数据脱敏的风险量化评估介绍
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…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
