CH 1 绪论

什么是大数据?

大数据具有 5V 特征

  • Volume (大规模):数据量达 TB、PB、ZB 级,超出传统数据库处理能力 。

  • Variety (多样性):涵盖结构化、半结构化(如 XML)和非结构化数据(图片、视频) 。

  • Velocity (高速性):产生和处理速度快,强调实时性

  • Veracity (真实性):质量参差不齐,存在噪声或异常数据 。

  • Value (价值):价值密度低,需通过关联分析等技术挖掘高价值信息 。

什么是大数据安全?

  • 独立的安全体系:大数据安全是针对大数据服务系统,从架构、认证、存储、算法设计等多个角度分析数据在全生命周期(采集、传输、存储、管理、使用)中的安全问题 。

  • 双刃剑效应:大数据技术既是增强安全防护的手段,也会被攻击者利用创造出新的攻击模式(大数据赋能的安全攻防) 。

  • 伴生性:它是大数据技术的伴生技术,是数字经济安全运转不可或缺的基础 。

隐私权概念的发展经历了哪些主要变化?

隐私权保护经历了 从住宅到人、再到信息 的重心转移 :

  • 起源阶段 (1890-1902):1890 年提出概念,1902 年因“面粉店与少妇”事件首次写入法律 。

  • 物理空间阶段:早期隐私权集中在以住宅为代表的物理空间,意味着个人在自己的“城堡”中不受干涉 。

  • 法律完善阶段 (1960s-1970s):欧美法律充分发展,1974 年美国颁布《隐私法》 。

  • 信息空间阶段:随着互联网和大数据兴起,隐私权演变为对个人信息的控制和保护 。

技术进步与隐私保护的关系

技术进步不断催生新的侵犯隐私手段,推动保护机制的演进 :

  • 通信技术:电话发明导致电话监听(如水门事件) 。

  • 影像技术:可携式照相机发明导致肖像权纠纷 。

  • 信息技术:计算机、互联网、云计算和 AI 使数据采集从封闭走向开放,导致数据所有权与控制权分离,隐私泄露规模化 。

斯诺登事件及其敌手分类

  • 是全球网安转折点的原因:斯诺登事件(棱镜计划)是全球网络安全的分水岭。它击碎了互联网神话,表明国家权力(NSA)与资本权力(互联网巨头)可以结合进行全球监控,推动网络安全上升为国家战略 。

  • 三类可能侵犯大众隐私的敌手

    1. 国家级敌手 (State-level adversary):出于公共安全或国际政治目的(如美国 NSA 的棱镜计划) 。

    2. 企业 (Corporate-level adversary):出于经济利益(如互联网巨头采集、滥用数据) 。

    3. 黑客及犯罪组织:通过黑色产业链进行勒索、电信诈骗或舆论攻击 。

GDPR 的要点

欧盟《通用数据保护条例》(GDPR) 是数据隐私领域的重要变革,要点包括 :

  • Privacy by Design:强制要求企业在设计阶段就遵循隐私原则 。

  • 数据转移权:用户可要求将个人数据以机器可读格式迁移至新服务商 。

  • 被遗忘权:数据主体有权要求删除其个人数据 。

  • 算法公平性:用户有权要求对算法自动决策(如贷款审批)给出解释 。

数据安全与隐私保护领域我国相关的法律法规

我国已搭建起数据合规的“三架马车”基础架构 :

  • 《网络安全法》

  • 《数据安全法》:确立了数据分类分级、安全审查等制度 。

  • 《个人信息保护法》:我国首部针对个人信息保护的专门性立法 。

  • 国家标准:如 GB/T 35273《信息安全技术 个人信息安全规范》 。

我国的数据资源跨境流通政策

  • 中间路线:我国没有走完全自由流通或完全本地化的极端,而是在满足一定 本地化要求及安全审核 的条件下支持跨境流通 。

  • 具体规定:通过《数据出境安全评估办法》(2022年颁布)规范数据出境活动 。

  • 管理建议:有专家建议设立“数据海关”,进行重要数据保护并打击数据走私 。

隐私和安全之间的关系

  • 共生关系:安全技术能够保证信息的机密性,而隐私保护通常需要这种机密性作为基础 。

  • 属性重叠:网络安全风险涉及 CIA(机密性、完整性、可用性),隐私风险则更多关注数据处理对个人的影响。两者的交集在于安全可以防止隐私因未授权访问而泄露 。

个人数据安全与个人隐私的关系(举例说明)

  • 相互影响:隐私泄露会危害个人数据安全。

  • 举例说明

    • 定向攻击:黑客获取了受害者的生日、工作、家庭等隐私信息后,可以进行成功率极高的定向口令猜测攻击 。

    • 短信劫持:攻击者已知用户的姓名和电话(隐私泄露),通过拦截短信验证码即可入侵其比特币钱包 。

个人隐私与国家安全之间的关系?为什么要保护个人隐私?

  • 关系

    • 公共安全 vs 个人隐私:如何在保障安全(如反恐)的同时保留个人隐私权是现代社会的重要课题 。

    • 泄露风险:个人数据的海量汇集可能反映国家层面的敏感信息,从而危及国家安全 。

  • 为什么要保护个人隐私?

    • 保护民主支柱:隐私权是言论自由、集会及结社自由的基础 。

    • 防止权力滥用:防止政府或企业利用数据对民众进行无缝监视和控制 。

    • 个人权利尊重:在大数据时代,加强对用户个人权利的尊重是时势所趋 。

CH2 基础知识:密码算法与工程实践

加密强度与密钥长度的关系

  • 如何选择密钥长度:安全强度的选择通常在 128比特256比特 之间进行。128比特是目前大多数标准算法和实现的可行标准,而 256比特 则被推荐用于确保长期安全性,因为它在可预见未来不太可能被攻破

  • 不同算法的等效强度:根据NIST建议,128比特的安全强度对应 AES-128、RSA-3072、ECC-256

  • 资源受限场景:在只需要短时间安全且资源受限(如付费电视,密钥每5-10秒刷新一次)的场景下,低于128比特(如48或64比特)也是合理的

混合加密技术 (KEM,DEM)

  • KEM (密钥封装机制):指利用非对称加密算法来加密对称密钥

  • DEM (数据封装机制):指利用对称密钥算法来加密实际的消息内容

  • 混合加密的意义:结合了非对称加密方便密钥分发的优点和对称加密处理大数据效率高的优点

核心概念

  • 核心概念

    • 攻击模型:描述攻击者能观察到的内容及能进行的查询操作

    • 安全目标:密码系统试图达到的保护性质(如IND、NM)

    • 安全概念 (GOAL-MODEL):将特定攻击模型与安全目标结合,如 IND-CPA

攻击模型 (黑/白/灰盒)

  • 3类攻击模型

    • 黑盒模型:只能观测算法的输入和输出

    • 灰盒模型:通过侧信道(功耗、时间、电磁等)获取内部信息

    • 白盒模型:攻击者拥有完全控制权,可观测和修改所有内部运行数据

  • 5种黑盒攻击模型(由弱到强):

    1. COA (唯密文攻击):仅有密文

    2. KPA (已知明文攻击):已知部分明文及其对应密文

    3. CPA (选择明文攻击):可查询任意明文的加密结果

    4. CCA (选择密文攻击):可执行加密和解密查询

    5. CCA2 (自适应选择密文攻击):在获得挑战密文后,仍可进行除挑战密文以外的解密查询

安全目标(不可区分性,不可塑性)

  • 2类安全目标

    • 不可区分性 (IND):攻击者无法从密文中获得关于明文的任何信息,密文应看起来像随机字符串

    • 不可塑性 (NM):攻击者无法在获得密文后,生成一个解密后与原明文有意义相关的不同密文

语义安全

语义安全:其概念等价于 IND-CPA。实现基本思路是 随机加密概率加密,即对同一明文加密两次需产生不同的密文,以防止攻击者通过重复的密文发现明文重复

4种常见的安全概念 (NM-CPA,NM-CCA,IND-CPA,IND-CCA)

4种安全概念关系:NM-CPA 蕴含 IND-CPA;IND-CCA 和 NM-CCA 是等同概念,且蕴含前两者

具体算法的语义安全性

第一个语义安全的算法

  • 第一个语义安全的算法Goldwasser-Micali (GM) 加密算法(1982/1984年提出)

ElGamal与ECC

  • ElGamal 与 ECC

    • ElGamal:是 语义安全 的,它是一种概率加密方案

    • ECC:是 语义安全 的,其加密过程中引入了随机数 kk,使得同一明文加密结果不同

RSA与使用编码函数提高RSA算法的安全性

  • RSA 算法

    • 原始(教科书版)RSA不是语义安全 的,因为它是确定性加密

    • 安全性提高:通过引入编码函数(填充函数)如 RSA-OAEP。它引入了随机性,使 RSA 能达到 IND-CCA2 安全性

AES与构造基于AES算法的语义安全加密方案

  • AES 算法

    • AES 本身:作为分组密码是确定性的,不是语义安全

    • 构造方案:基于 AES 构造语义安全方案需配合工作模式。例如 AES-CBC 需配合随机 IV,或使用 AES-CTR(计数器模式)配合唯一的 Nonce 来实现 IND-CPA

认证加密对安全性的提升的意义

  • 意义:传统模式(如 CBC、CTR)只提供机密性,不提供完整性,容易受到自适应选择密文攻击(CCA2) 31313131。认证加密将加密和认证结合,实现了 INT-CTXT (密文完整性),从而达到 IND-CCA2/NM-CCA 安全级别,防止密文被篡改或伪造

工程实践案例分析 (QQ浏览器案例)

在工程实践中使用密码算法设计安全技术方案时需要注意的问题:

  1. 安全参数选择:避免使用过短的密钥(如该案例中曾使用的 128比特 RSA,极易被破解)

  2. 算法版本选择:严禁使用“教科书版”公钥算法,必须加入 padding(如 OAEP)以防止可塑性攻击

  3. 工作模式选择:避免使用 ECB 模式,因为它无法隐藏明文的统计特征(如图像加密后仍能看出轮廓),无法实现语义安全

  4. 随机性管理:IV 或 Nonce 必须是不可预测且唯一的,重用 IV(如在 CTR 模式下)会导致灾难性的机密性泄露

CH3 数据传输安全

TLS 协议基本原理

  • 协议架构:TLS协议分为两层:握手协议记录协议 。握手协议负责身份认证、密码组件协商及安全信道建立;记录协议负责在已建立的信道中加密传输秘密信息 。

  • 报文结构:典型的TLS记录由标头(类型、版本、长度)和数据(Fragment)组成 。

  • 协议流程 (以TLS 1.2为例)

    1. ClientHello:客户端发送随机数、支持的密码套件等 。

    2. ServerHello:服务器返回选定的加密套件和服务器随机数 。

    3. Certificate:服务器发送公钥证书 。

    4. ServerKeyExchange:服务器发送DH参数(若适用) 。

    5. ServerHelloDone:握手阶段一结束 。

    6. ClientKeyExchange:客户端发送加密的预主密钥或DH参数 。

    7. ChangeCipherSpec & Finished:双方通知后续使用协商好的密钥加密数据并验证完整性 。

TLS 握手协议的安全性分析与改进

前向安全性

  • 前向安全性 (Forward Secrecy):指长期使用的主密钥(服务器私钥)泄漏,不会导致过去已记录的会话密钥被破解 。TLS通过使用DHE/ECDHE密钥交换算法实现,公私钥对随会话临时生成 。

中间人攻击

  • 中间人攻击:单纯的DH交换容易受到中间人拦截并替换参数 。改进方案是要求服务器对DH参数进行数字签名,客户端通过证书验证签名的真实性 。

重放攻击

  • 重放攻击:攻击者通过嗅探并再次发送相同的握手报文冒充客户端 。TLS通过在握手中引入Client RandomServer Random(随机数)参与密钥派生,确保每次连接的唯一性 。

实际部署中的安全性问题分析

HSTS

  • HSTS (HTTP Strict Transport Security):强制浏览器使用HTTPS访问,禁止回退到不安全的HTTP 。

证书安全

  • 证书安全:存在CA误签发证书、CA被攻破或使用弱加密算法(如MD5/SHA1)等风险 。

CDN

  • CDN:引入第三方CDN后,原本的两方协议变为三方,存在私钥移交的风险。Cloudflare的Keyless SSL方案允许私钥保留在原服务器,仅在握手时进行远程操作 。

HSTS Preload List 方案的作用

该方案是为了解决 “首次访问”风险 。虽然HSTS能防止后续降级,但在用户第一次通过HTTP请求网站时,仍可能在HSTS策略下发前被劫持。Preload List是一份内置于浏览器的域名列表,即使是初次访问,浏览器也会直接发起HTTPS请求 。

TLS1.3 如何对抗降级攻击 / 流量分析攻击

  • 对抗降级攻击:服务器在ServerHello的32字节随机数中嵌入特定模式(如针对1.2的请求返回特定前缀)。若客户端发现收到的随机值模式与自己请求的版本不符,即可识别人为修改 。

  • 对抗流量分析攻击:引入零填充 (Zero Padding)。由于密文长度通常暴露明文大致大小,零填充通过在明文后补零来混淆消息的真实长度 。

TLS1.3 对性能做了哪些提高和改进

  • 性能提升

    • 1-RTT握手:将密钥交换和算法协商合并,标准握手从2-RTT降为1-RTT 。

    • 0-RTT会话恢复:利用预共享密钥(PSK)在重新连接时直接发送加密数据 。

    • 瘦身套件:删除了性能差且不安全的算法,仅支持AES/ChaCha20、GCM/CCM等现代AEAD加密方式 。

QUIC 协议特点 (HTTP/3)

  • 低延迟:初次连接1-RTT,恢复连接0-RTT 。

  • 基于UDP:在用户态实现,部署更新快,不依赖系统内核 。

  • 多路复用:解决了TCP的线头阻塞(HOL Blocking)问题 。

  • 全加密:默认集成加密特性,比传统TCP+TLS更安全快捷 。

浏览器鉴别网站证书的真伪及攻击者欺骗手段

  • 鉴别方式:浏览器通过证书信任链递归校验,直至找到内置于操作系统或浏览器中的受信任根证书(Root CA) 。

  • 常用欺骗手段

    • CA错误签发:CA被欺骗、入侵或贿赂后签发非法证书(如DigiNotar事件) 。

    • 算法破解:攻击弱哈希/密钥算法伪造证书 。

    • 监控需求:企业网关或中间设备强制安装根证书以进行内容审查(中间人劫持) 。

ACME 协议工作原理

ACME(Automated Certificate Management Environment)旨在实现证书颁发的自动化 :

  1. 注册与订单:客户端向CA注册公钥并提出证书申请 。

  2. 挑战验证:CA发送挑战(Challenge),如要求客户端在服务器特定路径(.well-known/acme-challenge/)放置指定令牌文件以证明域名所有权 。

  3. 签发:验证通过后,CA自动签发并下发证书 。

证书透明化 (CT) 与公钥钉扎 (Pinning)

  • 证书透明化 (CT):要求CA将签发的每一张证书记录到公开的日志服务器(Logs)中。审计员和网站所有者可以监控日志,发现并应对非法的假证书 。

  • 公钥钉扎 (HPKP):通过HTTP响应头告知浏览器仅信任特定的公钥指纹。未来访问时,即使攻击者拥有合法CA签发的伪造证书,若其公钥不匹配,浏览器也会断开连接 。

数据传输安全协议设计重点与常用技巧

  • 重点:确保通信的机密性、完整性和身份真实性(认证) 。

  • 常用技巧

    • 密钥派生函数 (KDF):如HKDF,将非均匀的DH共享秘密转换为均匀随机的对称密钥 。

    • HMAC:利用哈希函数结合密钥实现消息认证码,增强完整性校验 。

    • 分级密钥管理:区分预主密钥、主密钥和会话密钥,遵循责任分离原则 。

    • 双向随机数:防止重放攻击,增强密钥材料的随机性 。

CH4 数据访问控制:身份认证与身份管理

身份认证方法的分类

  • 从用户视角分类(身份认证的三/四个维度)

    • 知道什么 (Something you know):例如用户名和口令
    • 拥有什么 (Something you have):例如银行卡、USB Key、一次性口令(OTP)硬件或软件、手机SIM卡
    • 你是谁 (Who you are):基于生物特征,如指纹、虹膜、语音、人脸等
    • 你认识谁 (Somebody you know):第四因子,指用户的社交网络关系
  • 从技术视角分类

    • 对称秘密认证体系:客户端与服务端拥有相同秘密,如口令、短信验证码、动态令牌等

    • 公私钥对(非对称)认证体系:如FIDO协议、智能卡、USB Key、数字证书等

四种基本身份认证方法及其安全威胁

  • 口令 (Password)
    • 威胁:低熵导致易被离线破解或在线猜测;存储不当导致拖库;口令重用导致撞库攻击;此外还面临钓鱼、中间人攻击及重置口令攻击
  • 安全令牌 (OTP)
    • 威胁:6位数字PIN码可能被暴力破解;种子密钥数据库若被入侵(如2011年RSA公司事件)将导致大规模失效;短信验证码面临拦截、GSM劫持及终端恶意软件监控 9999。
  • 生物信息 (Biometrics)
    • 威胁:生物特征唯一且不可更改,一旦泄露终身受威胁;面临假指纹欺骗及人脸重演(Face2Face)等攻击
  • 公钥(证书)
    • 威胁:证书与私钥设备遗失或被盗;CA中心被入侵导致仿冒证书;且通常因包含个人信息而放弃了匿名性

口令安全性评估与量化分析

  • 量化分析方法:使用密钥熵 (Key Entropy) 来衡量口令强度。

  • 计算公式Key Entropy=log2(Phrases)=log10(Phrases)log10(2)Key~Entropy = \log_2(Phrases) = \frac{\log_{10}(Phrases)}{\log_{10}(2)}

  • 示例

    • 8位纯数字口令:熵约为 26.6 bits
    • 8位大小写字母+数字口令:熵约为 47.6 bits
    • 若要达到128位安全强度,口令长度至少需要21位

口令安全存储与加密算法

  • 进化历程:从明文存储到哈希算法,再到哈希加盐 (Hashing and Salting) 以抵抗字典攻击

  • 主流加密算法(KDF)

    • PBKDF2:将加盐哈希进行多次重复计算

    • BCRYPT:支持调节“工作因子 (work factor)”以增加计算成本

    • SCRYPT:不仅耗时且占用大量内存,增加并行计算难度

    • Argon2:新一代记忆硬函数 (MHF),PHC竞赛冠军,能有效抵御硬件加速破解

FIDO 协议工作原理

  • 核心理念:将本地身份识别(如生物识别)与在线身份认证相结合

  • UAF (通用身份认证框架)

    1. 注册:用户在设备本地通过认证器识别身份,生成公私钥对,并将公钥传给服务端

    2. 认证:服务端发送挑战,客户端认证器识别用户后,用私钥对挑战签名,服务端用对应公钥验证签名

  • U2F (通用第二因子):在口令基础上增加硬件令牌作为第二因子,通过非对称加密保护账户

Kerberos 协议工作原理

基于对称密码体制及 Needham-Schroeder 协议,引入KDC (密钥分发中心)

  • 核心角色:认证服务器 (AS) 和票据授权服务器 (TGS)

  • 流程

    1. 用户向AS请求,获得TGT (票据许可票据)

    2. 用户持TGT向TGS请求,获得针对特定服务的ST (服务许可票据)

    3. 用户持ST向应用服务器发起请求,完成双向认证

OAuth 协议工作原理

  • 定义:开放授权协议,允许第三方应用在不获知用户密码的情况下获取授权信息

  • 四种角色:资源拥有者 (RO)、客户端 (Client)、授权服务器 (AS)、资源服务器 (RS)

  • 授权码模式 (最安全)

    1. 客户端引导用户到AS进行授权。

    2. 用户授权后,AS返回授权码 (Authorization Code) 给客户端。

    3. 客户端使用授权码向AS换取访问令牌 (Access Token)

    4. 客户端凭令牌访问RS获取受保护资源

OpenID Connect 协议工作原理

  • 定义:建立在 OAuth 2.0 之上的身份层

  • 核心区别:在授权请求中添加 openid 参数,IdP 最终除了返回访问令牌外,还会返回一个 ID Token(采用 JWT 格式

  • ID Token:携带了发布者、用户身份标识、签发时间及签名等信息,专用于身份鉴别

  • 工作原理:用户访问网站时,服务器通过 Set-Cookie 设置属性;后续浏览器在匹配规则下(域名、路径、协议等)将 Cookie 放入 HTTP 请求头中发送给服务器

  • 安全属性

    • HttpOnly:防止 JavaScript 访问,防御 XSS 攻击窃取 Cookie

    • Secure:仅限 HTTPS 传输,降低中间人截获风险

    • SameSite:控制跨站请求时是否发送 Cookie,缓解 CSRF 攻击

  • 作用:在连接中断(如IP变更)时保持用户会话连续,使用户无需反复登录

  • 地位:作为安全的关键节点,一旦被窃取,攻击者即可完全控制用户账户

  • 实例:如百度使用 BDUSS 键作为核心认证 Cookie,只要该键有效即可随意访问相关服务

  • 被动攻击:对手在公共 WiFi 等未加密网络中监听流量,提取 HTTP 请求中以明文发送的 Cookie,随后将其附加到自己的请求中冒充受害者

  • 主动攻击:路径上(on-path)的攻击者拦截请求并注入内容,迫使浏览器向易受攻击的网站发送请求并公开其 Cookie

  • 工具:常用工具包括 arpspoofmitmproxyBurp Suite

CH5 大数据存储与计算的安全隐私

虚拟化技术:虚拟机与容器的核心概念与技术

  • 虚拟机 (VM):通过虚拟化软件层在操作系统与硬件之间实现物理资源的抽象,允许具有不同操作系统的多个虚拟机相互隔离地在同一台物理机上并发运行 。

  • 容器 (Container) 的三个核心概念

    • 镜像 (Images):文件的层次结构,包含运行容器所需的元数据,构建于联合文件系统之上 。

    • 容器 (Container):从镜像创建的运行实例,是相互隔离、保证安全的平台,可视为简易版的Linux环境 。

    • 仓库 (Repositories):集中存放镜像文件的场所,如公开的Docker Hub 。

  • 容器的三个核心技术

    • 隔离机制 (Namespaces):将容器的进程、网络、消息、文件系统等隔离开,为每个容器创建独立的命名空间 。

    • 资源配额 (Cgroups):实现对资源的配额控制和度量 。

    • 虚拟文件系统:如Docker使用的AUFS,通过层级结构管理只读镜像和可写容器层 。

三类容器安全问题

  • 容器逃逸:安全人员最关注的问题,指攻击者从容器内部获得宿主机的权限 。

  • 镜像安全:研发人员关注点,涉及镜像是否被篡改或包含恶意代码(如挂马事件) 。

  • 集群入侵:运维人员最关注的问题,涉及对整个容器集群管理系统的攻击 。

容器逃逸的原因与缓解措施

  • 两类原因

    • 软件漏洞:包括内核漏洞(由于Docker共享宿主机内核)和Docker软件设计漏洞(如runc漏洞CVE-2019-5736) 。

    • 错误配置:如部署高权限容器、不当挂载关键点(如挂载 /var/run/docker.sock 或宿主机的 procfs) 。

  • 缓解措施

    • 与主机系统隔离:尝试构建真正的“沙箱容器”,使容器尽可能从主机操作系统中隔离出来 。

    • 构建更强的信任边界:采用混合架构,在虚拟机的强边界和容器的高效率间取得平衡,如 gVisor(用户空间内核)、Nabla(Unikernel应用)以及基于虚拟机的方案如 FirecrackerKata

跨虚拟机的攻击与云计算环境下的安全挑战

  • 跨虚拟机攻击

    • 微架构侧信道攻击:攻击者通过跨虚拟机的缓存侧信道信息采集(如L1/LLC缓存观测),可实现对数字签名私钥(如4096位ElGamal)的窃取 。

    • 硬件漏洞攻击:如 Meltdown(熔断,用户态攻击内核态)和 Spectre(幽灵,突破应用沙盒限制获取其他应用信息) 。

  • 云计算环境下的安全挑战

    • 威胁模型:包括入侵云服务商的黑客、云内部攻击者以及恶意用户 。

    • 核心需求:如何在不可信的环境下完成安全计算 。

    • 机密计算 (Confidential Computing):通过硬件级别的 可信执行环境 (TEE)(如Intel SGX, ARM TrustZone/CCA)对使用中的数据进行保护,实现与操作系统、Hypervisor及其他特权进程的隔离 。

大数据存储的数据完整性机制:POR

  • POR (Proofs of Retrievability):一种验证机制,旨在识别外包文件损坏并恢复数据 。

  • 核心原理

    • 检测:在文件中预植入不可区分的“岗哨位(Sentinel)”校验块,通过对比本地存储的校验数据发现损坏 。

    • 恢复:利用纠错编码技术(如 RS纠错码)对文件进行容错预处理以恢复损坏数据 。

  • 服务架构:通常由用户、云服务器和 第三方审计者 (TPA) 组成,由TPA代表用户完成完整性认证和审计任务 。

大数据存储的数据隐私保护机制(加密数据去重技术)

  • 加密数据去重技术:解决去重(节省空间)与加密(保护隐私)之间的矛盾 。

  • 核心技术

    • 收敛加密 (Convergent Encryption, CE):使用数据内容的哈希值作为密钥进行对称加密,确保同样的数据块产生同样的密文,从而支持去重 。

    • 消息锁定加密 (Message-Locked Encryption, MLE):CE的理论框架,密钥衍生自消息本身,允许进行相等性检查(Equality Checking) 。

大数据存储的数据安全防护机制:PoW

  • PoW (Proofs of Ownership, 拥有权证明):解决攻击者仅凭文件哈希值即可在云端“秒传”获取文件的安全问题 。

  • 核心原理

    • 在服务器与客户端之间执行 挑战/响应协议

    • 通常利用 Merkle哈希树 方法进行文件拥有权证明 。

    • s-PoW:通过随机选择比特位作为证明证据,以提供更高效的常量级计算开销验证 。

CH6 保护隐私的可信计算

同态加密的概念:为什么需要同态加密技术?

  • 概念:同态加密(Homomorphic Encryption, HE)允许对加密后的数据进行特定运算,生成的密文在解密后得到的结果与对明文进行相同运算的结果一致。即:f(E(m))=E(f(m))f(E(m)) = E(f(m))
  • 需求背景:传统加密在处理数据前必须先解密,这在不可信的云计算环境中会增加数据泄露风险。同态加密使云端服务器无需解密即可处理敏感数据,从根本上解决隐私保护与数据处理之间的矛盾。

乘法同态加密算法

  • RSA算法:1978年提出的RSA算法原型具有乘法同态性质。
  • 原理:若密文 c1=m1e(modn)c_1 = m_1^e \pmod nc2=m2e(modn)c_2 = m_2^e \pmod n,则两个密文相乘的结果 c1c2=(m1m2)e(modn)c_1 c_2 = (m_1 m_2)^e \pmod n 对应于明文乘积的加密。
  • 其他算法:El-Gamal 算法也具有乘法同态性质。

加法同态加密算法:Paillier 算法

  • 简介:由 Pascal Paillier 于1999年提出,主要基于“合数剩余类问题”的困难性。
  • 核心特性
    • 加法同态:两个密文的乘积等于两数之和的密文,即 E(m1)E(m2)(modn2)=E(m1+m2)E(m_1) \cdot E(m_2) \pmod{n^2} = E(m_1 + m_2)
    • 标量乘法(密文幂运算):密文的变量幂等于明文与该变量乘积的密文,即 E(m)k(modn2)=E(km)E(m)^k \pmod{n^2} = E(k \cdot m)
  • 性能:密文长度通常是明文的两倍

全同态加密算法的基本概念

  • 定义:指在不知道密钥的情况下,能对密文进行任意计算的同态加密方案。
  • 发展:2009年由 Craig Gentry 提出首个方案,被誉为“密码学的圣杯”。
  • 构成:通常由加法同态与乘法同态复合而成,因为任何函数理论上都可以由加法和乘法电路表示 14。它包含四个部分:密钥生成、加密、解密和核心的密文计算算法(Evaluate)

CryptDB 的洋葱加密模式

CryptDB 是由 MIT 开发的实用性密文数据库方案,其核心设计思想是“洋葱加密模型” :

  • 洋葱层次:将数据嵌套进多个加密层,每一层支持不同的 SQL 操作
    • Onion Eq:支持等值比较(RND \rightarrow DET)
    • Onion Ord:支持范围/大小查询(RND \rightarrow OPE)
    • Onion Add:支持加法运算(RND \rightarrow HOM/Paillier)
    • Onion Search:支持关键字检索(Onion Search)
  • 剥洋葱过程:数据初始处于安全性最高的随机加密(RND)层。当 SQL 操作需要特定性质(如比较大小)时,代理服务器会根据需要将该列数据解密至对应层次(如 OPE),从而实现“按需解密”

安全多方计算的概念

  • 安全多方计算(MPC/SMC):研究在无可信第三方的情况下,多个参与者如何安全地共同计算一个约定函数的问题。
  • 核心要求
    • 正确性:计算结果必须准确。
    • 隐私性:除了计算结果外,各方无法得知其他人的私有输入

安全多方计算的模型

  • 参与者模型
    • 半诚实参与者:完全按照协议步骤执行,但会试图推导他人的隐私信息。
    • 恶意参与者:可能不按协议执行,通过改变输入或伪造结果进行攻击。
  • 对手模型:包括半诚实模型恶意模型以及介于两者之间的隐蔽攻击模型(作弊有一定概率被发现)
  • 合谋维度:根据合谋数量分为诚实大多数(合谋方 <n/2< n/2)和非诚实大多数

百万富翁问题

  • 背景:1982年由姚期智提出,是 MPC 的起源问题:两个百万富翁在不暴露具体财产的前提下,比较谁更富有
  • 1982年经典方案
    1. Bob 利用 Alice 的公钥加密一个随机数并进行盲化处理后发给 Alice
    2. Alice 针对所有可能的财富值计算对应的解密结果,并根据自己的财富值 aa 在序列中做“标记”(aa 之前的数和之后的数使用不同的标记方式)
    3. Bob 检查自己财富值 bb 对应位置的标记,从而得知大小关系

混淆电路(GC)的工作原理

  • 角色分工
    • 生成方(Garbler):将计算逻辑编译为布尔电路,通过为每条导线的 0/1 状态生成随机标签,加密并打乱真值表顺序(混淆),生成混淆电路
    • 求值方(Evaluator):获得电路和对应输入标签后,逐个解密门电路以获取最终结果
  • 本质:混淆电路可以看作是“加密的查找表”

OT 的工作原理

  • 不经意传输(OT):发送方拥有两个信息 (X0,X1)(X_0, X_1),接收方选择 bb 并获得 XbX_b

  • 特点:发送方不知道接收方选了哪个,接收方也不知道另一个信息的值

  • 工作原理(基于离散对数)

    1. 发送方产生公钥

    2. 接收方根据选择位计算一个反馈公钥,通过特定数学构造(如 B=AgbB=Ag^b)保证发送方无法同时解出两个密钥

    3. 发送方用生成的两个密钥加密信息;接收方由于数学限制只能生成对应自己选择位的那个密钥进行解密

秘密分享的工作原理

  • 概念:将秘密 ss 分配给 nn 个参与者,每个持有一个分片(share)。只有满足一定条件的参与者子集才能恢复秘密。

  • Shamir 门限机制:基于多项式插值原理。构造一个 t1t-1 次多项式 f(x)f(x) 使得 f(0)=sf(0)=s,将 nn 个点 (xi,f(xi))(x_i, f(x_i)) 分发给参与者。只有凑齐 tt 个点才能重构多项式并找回 ss

  • 运算特性:加法可以通过各自分片直接相加实现;乘法通常需要借助 Beaver 三元组等技术进行交互计算

应用中的问题:性能与安全性

  • 性能问题

    • 计算负荷大:密文运算(如全同态)的计算时间比明文慢数万亿倍,密文体积也比明文大得多

    • 优化思路:简化电路规模、采用硬件加速(GPU/FPGA)、设计专用型 MPC 协议(其效率远高于通用框架)

  • 安全性问题(恶意参与者)

    • 模型局限:许多高效方案仅在半诚实模型下安全,无法抵抗恶意作弊

    • 解决方案:引入零知识证明承诺协议Cut-and-choose(切分选择) 技术,迫使参与方遵循协议。但这些安全加固手段会带来巨大的额外开销

CH7 数据匿名化与差分隐私

隐私的定义

  • 基本概念:隐私是个人、机构等实体不愿意被外部世界知晓的敏感信息 。
  • 应用定义:在具体应用中,隐私指数据所有者不愿意披露的敏感数据及其表征的特性。
  • 敏感数据:指并非所有人都能获得的非公开数据,如薪资、患病记录、公司财务信息等。
  • 相对性:隐私的界定受文化、个体主观认定及主体(外界范围)的影响。例如,工资对家人不是隐私,对外界则是。

隐私的度量

  • 披露风险 (Disclosure Risk):通过攻击者披露隐私的多寡来侧面反映保护效果。
  • 量化表示:披露风险 r(S,K)r(S,K) 表示攻击者在背景知识 KK 的帮助下揭露敏感数据 ss 的概率,即 r(S,K)=Pr(Sk)r(S,K) = Pr(S_k)
  • 完美隐私 (Perfect Privacy):当数据集的披露风险为 0 时,称为实现了完美隐私(但在现实中很难真正存在)。

什么是泛化?什么是抑制?

  • 抑制 (Suppression):指对标识符或某些属性采取“不发布”处理,以降低其查询能力。
  • 泛化 (Generalization):改变而不是删除标识符值,通过将准标识符(QID)属性用更概括、抽象的值替代具体值(如将出生日期归纳为年份),在增强隐私的同时保持数据实用性。

常见的隐私保护模型

  • K 匿名 (K-Anonymity):要求表中任意一条记录的准标识符(QID)值,在表中至少有 k1k-1 个其他记录也具有相同的值。
  • L 多样化 (L-Diversity):在 K 匿名的基础上,要求每个 QID 组内至少包含 ll 个“具有代表性”的敏感属性值,以阻止属性链接攻击。
  • T 相近 (T-Closeness):要求 QID 群组中敏感值的分布接近于整个数据表的整体分布,解决组内敏感值分布不均导致的隐私泄露问题。

K 匿名与记录链接攻击

  • 记录链接攻击 (Record Linkage Attack):攻击者通过将匿名数据集中的准标识符(如生日、性别、邮编)与公开的外部数据(如选民名单)进行匹配,从而锁定特定个体的记录。
  • 防御:K 匿名通过泛化和抑制技术,使得攻击者无法从发布的匿名数据中准确识别出目标个体的唯一记录。

L 多样化与属性链接攻击

  • 属性链接攻击 (Attribute Linkage Attack):即便满足 K 匿名,如果一个群组内的敏感值缺乏多样性(例如全患同一种病),攻击者仍能推断出该群组个体的敏感属性。
  • 防御:L 多样化通过确保每个 QID 组内敏感属性值的多样性来抵御此类攻击。

数据匿名化方法的局限性

  • 局限性:匿名化技术陷入了“新模型不断提出又不断被攻破”的循环。
  • 原因:其模型对攻击者的背景知识做了过多假定,但在现实中,攻击者往往能获取超出预期的背景信息进行反匿名化。

差分隐私的基本思想

  • 核心逻辑:在数据提供者发布查询结果前,利用随机算法对中间件注入适量的随机噪声,得到“带噪结果”返回给用户。
  • 公式化理解:中间件(查询结果)+ 随机噪声 = 带噪中间件(发布值)。

差分隐私的定义

  • 数学定义:对于任意一对相邻数据库 D1D_1D2D_2,以及任意可能的输出 SS,算法 AA 满足:Pr[A(D1)=S]exp(ϵ)Pr[A(D2)=S]Pr[A(D_1)=S] \le \exp(\epsilon) \cdot Pr[A(D_2)=S]
  • 隐私预算 (ϵ\epsilon)ϵ\epsilon 越小,保护强度越高,输出结果越难以区分数据来源。

差分隐私基本概念

  • 距离 (Distance):通常定义为两个数据集之间不相同的数据行数(对称差)。若通过添加或删除一行生成新集,距离为 1 。

  • 相邻数据集 (Neighboring Dataset):差别最多仅为一个记录的两个数据库 。

  • 敏感度 (Sensitivity):函数 ff 在相邻数据集上的输出最大变化量,反映了单个记录对查询结果的影响程度 。

常见的查询函数及其敏感度

  • 计数查询 (COUNT):敏感度通常等于 1 。

  • 求和查询 (SUM):若存在上下界,敏感度为上下界之差;若无界,则敏感度无穷大 。

  • 均值查询 (AVG):通常拆分为“求和问询 / 计数问询”分别应用差分隐私 。

拉普拉斯机制

  • 适用场景:主要针对数值型的查询回复 。

  • 实现方法:在真实结果上增加服从拉普拉斯分布的噪声,噪声量由敏感度 Δf\Delta f 和隐私参数 ϵ\epsilon 决定:F(x)=f(x)+Lap(Δf/ϵ)F(x) = f(x) + Lap(\Delta f / \epsilon)

指数机制

  • 适用场景:适用于查询结果为非数值型(离散值域)的场合,且需要返回准确的备选回复 。

  • 实现方法:通过定义评分函数来评价备选回复的质量,以指数级概率返回分数接近最高(即近似最佳)的结果 。

本地化差分隐私 (LDP) 方法

  • 基本原理:假定数据收集者不可信,数据在离开客户端之前就已由用户自行添加噪声进行扰动 。

  • 主要技术

    • 随机响应 (Randomized Response):通过掷硬币决定如实回答还是随机回答(是/否),从而掩盖真实信息 。

    • 一元编码 (Unary Encoding):将应答值编码为比特向量(独热编码),再按特定概率反转比特位,Google 的 RAPPOR 系统即基于此 。

差分隐私在机器学习中的应用

  • 背景:传统模型易遭受逆向攻击或成员推理攻击,泄露训练数据隐私 。

  • 三种扰动方式

    1. 输出扰动:在训练好的模型参数上直接加噪。

    2. 目标函数扰动:在优化的目标函数中加入噪声项。

    3. 梯度扰动:在每轮迭代更新时对梯度加噪。这是目前应用最广泛的方式,且有助于跳出局部最优。

  • 应用效果:可以有效屏蔽成员推理、属性推理及记忆攻击 。