数据安全与隐私笔记
第一章 大数据安全的概念
本书从五个特征来定义大数据,这五个特征可以总结为五个V,即 Volume、Velocity、 Variety、Veracity 和 Value(大规模、高速性、多样性、准确性和价值)
大数据安全的两重含义
大数据服务中的安全问题
大数据服务中的安全问题,主要包括以下几个方面的内容:
大数据服务系统架构与认证授权问题利用大数据服务的系统漏洞,攻击大数据服务系统利用大数据服务的算法缺陷或者训练数据管理的漏洞,注入攻击数据利用大数据服务的合法功能,发起攻击利用大数据服务系统的合法功能,获取隐私信息
大数据技术在安全领域的应用
一方面可以利用大数据技术解决安全问题。例如,利用流量特征,识别攻击流量;利用大数据技术,分析微博、微信等社交数据,预测突发事件的走向,及时制定并动态调整;利用大数据技术,引导网络舆情的走向,防止事态恶化。这些技术已经被深入研究并广泛使用。
另一方面,攻击者
基于大数据技术开发新的攻击技术。例如,利用 AI对验证码进行 破译;利用关联分析,获取隐私信息。这些案例在现实中已经发生。
隐私的含义
1890 年,布兰代斯与他的同学沃伦在《哈佛法律评论》上共同发表了关于隐私权的奠基之 作《隐私权》 (Right to Privacy) 。布兰代斯将”隐私权”定义为”不受别人干扰的权利“。他 认为,这项权利是个人自由的起点,只有通过界定这项”人类最广泛、文明人最珍视”的权利,个 人的”信仰、思想、情感和感受”才能得到保障。这种保障不仅仅意味着个人可以对抗他人对其 自由的侵扰,也意味着个人事有不受新闻媒体、政府权力干扰和侵犯的自由。美国最早意义上 的隐私权,也正是集中在以住宅为代表的物理空间之上的。隐私权意味着一个人可以在自己 的城堡中不受监督、不受干涉地发展自己的个性,决定自己的生活方式。
隐私与法律
先回顾一下关于隐私权的重大历史事件。
- 1965 年,美国中央数据银行计划。
- 1974 年,尼克松的水门事件。美国《隐私法案))CPrivacy Act of 1974)的诞生。
- 2002 年,美国在《2002 国土安全法》中重新提出中央数据银行计划,还赋予该计划一个更 响亮的名字:万维信息触角计划(Total Information Awareness) 。
- 2013 年,斯诺登事件导致美国的”棱镜计划”被曝光。
- 2018 年,欧洲联盟(简称欧盟)的《通用数据保护条例》于 2018 年 5 月 25 日开始实施。
- 2018 年,中国的《信息
安全技术个人信息安全规范》于 2018 年 5 月 1 日起正式实施。
欧盟《通用数据保护条例》
2018 年 5 月 25 日,《通用数据保护条例》(GDPR)在欧盟全面实施。
GDPR 是 20 年来数据隐私条例的最重要变化,它取代了欧盟的《个人资料隐私保护指令》 95/46/EC,并协调了全欧洲的有关数据隐私的法律,为所有欧盟民众保护和授权数据隐私,并重塑整个地区的数据隐私保护形式。
GDPR 要点概述
规定针对从欧盟公民处收集数据的企业:强制企业遵循Privacy by Design 原则。• 数据转移权:该规定声明,用户可要求自己的个人数据畅通无阻地直接 迁移至新的提供商,数据以机器可读的格式迁移。 • 当用户不再使用该公司产品时,它们将会丢失大量数据。• 被遗忘权:每个数据主体有权要求数据控制者删除个人数据• 算法公平性:数据主体有权要求对算法自动决策给出解释
我国的《信息安全技术个人倍息安全规范》
2018 年 1 月,由全国信息安全标准化技术委员会组织制定的国家标准《信息安全技术个 人信息安全规范))(以下简称《规范》获批发布全文。尽管这是一部推荐性的国家标准,不具有强制力,但仍引起学界与实务界的广泛关注。
第二章 基础知识
加解密过程示意图

引入秘钥的加解密过程示意图

密码设计思想
在密码设计中,最常用的两种技巧是代换和置换。代换是指系统地将一组字母换成其他字母或符号;置换是指将字母顺序重新排列。
流密码设计方案
密钥作为一个种子,用到一个伪随机发生器来获得一个长的随机字符串;然后,和明文消息做异或处理,如图所示。

这种类型的加密方案被称为流密码。这是因为加密的执行是通过首先生成一个伪随机比特流,然后将该比特流和明文做异或运算来实现的。
常用的分组密码算法
- DES 数据加密标准
- IDEA
- Blowfish
- AES
分组密码操作模式
- 电码本模式(ECB)
- 密码分组链接模式(CBC)
- 密文反馈模式(CFB)
- 输出反馈模式(OFB)
- 计数器模式(CTR)
消息的完整性
对传送的消息进行加密,能够保证消息的机密性。
公钥加密体制



IPSec
IPSec(Internet协议安全)是一个工业标准网络安全协议,为IP网络通信提供透明的安全服务,可使TCP/IP通信免遭窃听和篡改,可以有效抵御网络攻击,同时保持易用性。IPSec有两个基本目标:
保护IP数据包安全;
为抵御网络攻击提供防护措施。
IPSec基于一种端到端的安全模式。
IPSec提供了两种机制:认证和加密。
TLS/SSL
安全套接层(SSL)协议是Web浏览器和Web服务器之间安全交换信息的网络协议 。SSL提供了两个基本安全服务:认证与保密。SSL提供了Web浏览器与Web服务器之间的逻辑安全管道。
身份认证的概念和常用方法
概念
身份认证即身份识别与鉴定,确认实体为其声明的实体,用来鉴定用户身份的真伪。常用方法
可以用许多方法进行身份认证,传统上使用用户名和口令,但这种机制存在不少安全问 题。口令以明文形式传递以明文形式存放在服务器中,这是很危险的,不过现在的基于口令认 证技术都采用了加密或用口令派生出的数据保护口令的技术。认证令牌在基于口令认证技术 中增加了随机性,使口令更加安全,它要求用户拥有令牌,这种认证方式在需要高度安全的应 用中非常普及。基于证书的认证是一种现代认证机制,它归功于公钥基础设施(PKI,Public Key Infrastructure)技术,可以将智能卡与这个技术结合起来,智能卡在卡中进行加密运算,使 整个过程更安全可靠。生物认证方法目前也已经广泛应用,其主要将用户的图像、指纹、声音 等作为认证数据,免于用户记忆口令或者携带令牌的麻烦,使用方便,提升了用户体验。
单点登录原理
现有的密钥分发协议很多都源自 1978 年的 NeedharrγSchroeder 协议。 “Needham…Schroeder”协议有两种形式: N eedham-Schroeder 对称密钥协议和 Needham Schroeder 公钥协议。基于对称加密算法的 Needham-Schroeder 对称密钥协议是 Kerberos 协 议的基础,其自的是为在网络上通信的双方建立一个会话密钥,通常是为了保护双方进一步的 通信;而对基于公钥加密的Needham-Schroeder 公钥协议,其目的是为在网络上的两个通信方 之间提供相互身份验证,但其提出的形式是不安全的。
’
BLP模型



Biba模型


第三章 大数据服务架构及其安全
Web Services 技术体系由一系列开放的协议和规范组成
Web Services安全
由结构化信息标准促进组织(OASIS) 发起,计算机行业的领导者们已经联合开发了一套标准,称为 WS Security。这个标准对基本的 SOAP 通信做了改善,以便能够处理以下几个问题。
消息机密性
由于拦截HTTP消息的方式非常多,因此,在请求和响应的过程中,必须能够对所有信息加密。很幸运,现在的加密技术非常先进,我们能够对消息内容进行加密,以保证消息不被修改。
客户和服务身份
即必须能够核实SOAP请求来源的身份。
SOAP在安全方面是通过使用XML-Security和XML
-Signature两个规范组成WS-Security 来实现安全控制的,这已经得到了各个厂商的广泛支持
REST
基于SOAP和WSDL的Web Services架构属于复杂的、重量级的协议。随着Web2.0的兴起,表述性状态转移(REST)逐步成为一个流行的架构风格。REST是一种轻量级的SOA架构实现风格,可以完全通过HTTP协议实现,并且能够利用缓存Cache来提高响应速度,在效能、效率和易用性上都优于基于SOAP和WSDL的Web Services架构。
REST概念
REST是2000年由Roy Fielding 在他的博士论文中提出的,它是SOA概念的另一种技术实现。
在这种架构风格中,软件组件被封装成网络服务。
微服务
微服务这一概念出现于2012年。在现代化企业应用开发中,微服务架构是一个很重要的趋势。相对于大量分散的应用程序以及它们高昂的维护费用和基础设施开销,基于微服务的应用程序把各种功能打散,然后通过API连接。这一方法使应用的各个元素可以独立地更新和扩展。
传统的 SOA面向组织创建一个广泛的架构,以确保人们可以重用资源。高度的重用要求创建合适的编排,这可以把不同的孤岛系统联系到一起。微服务正是对传统 SOA的解读。 微服务架构可以与现代化移动优先的应用开发方法融洽地结合,可以轻松地与 DevOps流程融合。
许多流行的网站和服务都是使用微服务模型构建的,亚马逊就是一个著名的例子。在亚马逊,小型 DevOps 团队负责构建和维护运行在网站上的各种微服务,亚马逊的主页使用了 200 个甚至更多的微服务。微服务模型还意味着它可以提升服务性能。
身份认证
微服务集与外部世界的连通一般经由API网关模式实现,如图所示。利用API网关模式,需要进行声明的微服务能够在该网关内获得对应的API。当然,并不是所有微服务都需要立足于API网关实现声明。
要想通过API网关访问某项微服务,请求发起方必须首先获得有效的OAuth令牌。系统能够以自身角色访问微服务,也可以作为其他用户实现访问。对于后一种情况,假设用户登录至某Web应用,那么此后该Web应用即可以所登录用户的身份进行微服务访问。最终用 户对微服务的访问(通过API实现)应当在边界或者API网关处进行验证。
目前最为常见的API安全保护模式为OAuth2.0。
OAuth 2.0是一套作为访问代表的框架,它允许某方对另一方进行某种操作。客户端可利用此协议获取资源拥有方的许可,从而代表拥有方进行资源访问。
OAuth的参与实体至少有如下三个。
- RO (Resource Owner) :资源拥有者,对资源具有授权能力的人。
- RS (Resource Server) :资源服务器,它存储资源,
OAuth 协议的基本流程如下,如图 3-10 所示。
- 客户端请求RO的授权,请求中一般包含:要访问的资源、路径,操作类型,客户端的身 份等信息。
- RO批准授权,并将”授权证据”发送给客户端。至于 RO如何批准,这个是协议之外的 事情。典型的做法是,AS提供授权审批界面,让 RO显式批准。
- 客户端向 AS请求”访问令牌CAccess Token)”。此时,客户端需向 AS 提供 RO 的”授 权证据”,以及客户端自己身份的凭证。
- AS验证通过后,向客户端返回”访问令牌”。访问令牌也有多种类型,若为 bearer类 型,那么谁持有访问令牌,谁就能访问资源。
- 客户端携带”访问令牌”访问 RS上的资源。在令牌的有效期内,客户端可以多次携带 令牌去访问资源。
- RS验证令牌的
有效性,如是否伪造、是否越权、是否过期,验证通过后,才能提供服务。

第四章 可信计算环境
可信执行环境的基本概念
可信执行环境(TEE)由 GlobalPlatform(GP)提出,是移动设备(包含智能手机、平板计算机、机顶盒、智能电视等)主处理器上的一个安全区域,其可以保证加载到该环境内部的代码和数据的安全性、机密性以及完整性。 TEE提供一个隔离的执行环境,提供的安全特征包含:隔离执行、可信应用的完整性、可信数据的机密性、安全存储 等。此外,TEE通过创建一个可以在 TrustZone 的”安全世界”中独立运行的小型操作系统来实现,该操作系统以系统调用(由 TrustZone 内核直接处理)的方式直接提供少数的服务。
TEE的架构
TEE 是一个与 Rich OS并行运行的独立执行环境,为 Rich 环境提供安全服务。 TEE 独立于Rich OS 和其上的应用,来访问硬件和软件安全资源。
如图所示,TEE 为 TA 提供了安全执行环境;它同时提供保密性、完整性并对所属 TA 的资源和数据提供访问权限的控制。为保证 TEE有可倍的 root,在安全启动过程中, TEE 首先进行鉴权,然后从Rich OS 中隔离出来。在TEE 内部,TA之间是互相独立的,在未授权访问的情况下,一个TA不能执行其他TA的资源。 TA可以来自不同的应用提供商。
如图与图所示,TA通过 TEE 内部 API来获取安全资源和服务的访问权限,这里所述的安全资源和服务包括密钥注入和管理、加密算法、安全存储、安全时钟、可信用户界面 (UI) 、可信键击,等等。已公布的TEE客户端 API是一个底层的通信接口,接口的设计目的是使Rich OS 中的 CA 可以与TEE中的TA进行交互。 TEE客户端 API规范可以从 GP 网站进行下载。最后,为了完善整个生态系统,TEE功能性接口将给 CA 提供一系列”Rich OS 友好”的 API 接口,这些接口会以 Rich OS 应用开发者熟悉的编程模式提供,允许访问 TEE 的部分服务,如加密算法或安全存储。 TEE功能性接口的定义也列为 GP TEE交付成果的一 部分。
Rich OS、TEE与SE的比较
TEE 为设备安全提供了框架,在 Rich OS 和安全元素(SE)之间提供了一个安全层。当前,移动安全的解决方案还是主要依赖于 SE,SE方案要求提供一种大多数金融机构,包括银行和信用卡公司都支持的安全控制机制。然而,几个少数应用场景缺少迫切的安全需求,并且 由于 SE 的性能、交互及用户体验受限等问题,也并没有很好地应用起来。总体来说,安全级别和财产的重要性是需要权衡的,高安全性需要在速度、易用性和用户体验上进行折中。





TrustZone
基于OMTP的方案,ARM公司于2006年提出了一种硬件虚拟化TrustZone及其相关硬件实现方案。
TrustZone 技术是 ARM 公司提出的一种硬件级的安全运行解决方案。 TrustZone 在概念上将 SoC 的硬件和软件资源划分为安全(Secure World)和非安全(Normal World)两个世界,所有需要保密的操作在安全世界执行(如指纹识别、密码处理、数据加解密、安全认证等), 其余操作在非安全世界执行(如用户操作系统、各种应用程序等),安全世界和非安全世界通过 监控模式进行转换,如图所示。

如图,所有切换操作等通过监控器来执行。

SGX
针对可信计算,类似于ARM的TrustZone,Intel也针对x86平台提出了自己的安全架构 SGX: Intel Software Guard Extensions (Intel SGX)。
SGX技术是Intel于2013年在ISCA(International Symposium on Computer Architecture)会议的Workshop HASP中提出的,但当时只是提出了这一概念和原理。
2015年,Intel发布了第一代支持SGX技术的CPU一一Skylake。

SGX的原理
SGX的保护是针对应用程序的地址空间的。SGX利用处理器提供的指令,在内存中划分出一部分区域(叫作EPC,Enclave Page Cache),并将应用程序地址空间中的Enclave映射到这部分内存区域中。这部分内存区域是加密的,通过CPU中的内存控制单元进行加密和地址转化。
SGX内存保护原理: 当处理器访问Enclave中的数据时,CPU自动切换到一个新的CPU 模式,叫作Enclave模式。Enclave模式会强制对每一个内存访问进行额外的硬件检查。由数据放在EPC中,为了防止已知的内存攻击(如内存嗅探),EPC中的内存内容会被内存加密引擎(MEE,Memory Encryption Engine)加密。EPC中的内存内容只有当进入CPU时,才会解密;返回EPC内存中会被加密。
第五章 大数据处理与存储及其安全隐私
云计算的定义与特征
云计算有三种主要的服务模式
软件即服务平台即服务基础设施即服务
部署方式
公有云私有云行业云混合云
谷歌的MapReduce
开源系统:Hadoop
同态加密
- 为什么需要同态加密?
- 同态加密技术
1977年RSA算法可以实现乘法的同态。1999年Pascal Paillier论文实现了加法同态。
私有信息检索
大数据时代,用户的私有信息变得十分重要。这些私有信息不仅包括用户的密码、身份 ID(如身份证号、护照号等人医疗数据、信用卡信息等敏感信怠,还包括用户的兴趣爱好、社交信息、互联网账号、一般的财务数据,等等。在大数据时代,这些信息经过多源数据关联分析,从很多看似无关的信息中,往往能够挖掘出很多用户的敏感数据,导致用户的隐私信息无法得到保障。
一个恶意的数据库拥有者可能会跟踪用户的查询并据此推断用户所感兴趣的信息。 私有信息检索(PIR,Private Information Retrieval)是为了保障个人隐私在公共网络平台上的私密性而采用的一种阻止数据库知晓用户查询信息的策略。
私有信息检索是指用户在不泄露自己的查询信息给数据库的情况下,完成对数据库的查询操作。该概念由Chor等人于1995年首次提出,目的是保护用户的查询隐私,因此服务器不能知道用户查询记录的身份信息和查询内容。
PIR的应用非常广泛,以下是几个典型的应用场景。①患有某种疾病的人想通过一个专家系统查询其疾病的治疗方法,如果以该疾病名作为查询条件,专家系统服务器将会猜测到该病人可能患有这样的疾病,从而导致用户的隐私被泄露。②在股票交易市场中,某重要用户想查询某只股票的信息,但又不希望将自己感兴趣的股票被服务器获得,以免该信息被公之于众从而影响股票价格。③定位服务。
安全多方计算
- 什么是安全多方计算(SMC,Secure Multi-Party Computation)?
- 安全多方计算模型有两种:半诚实模型和恶意模型。
平均工资问题
ACM 协会想了解计算机领域大学教授的平均收入,但是参与调查的人不希望泄露自己 的工资数据,并且也无法完全信任任何第三方。那么,如何设计计算协议才能够在不泄露个人 数据的前提下算出大家的平均工资呢?
我们可以简化一下这个问题,以四个人的情况为例,说明设计方法。
假设四个参与者是Alice、Bob、Carol 和 Dave,算法设计如下。 ~~
① Alice 生成一个随机数,将其与自己的工资相加,用 Bob 的公钥加密发送给 Bob。
② Bob 用自己的私钥解密,加进自己的工资,然后用 Carol 的公钥加密发送给 CaroL 178 ……·第 5 章 大数据处理与存储及其安全隐私
③ Carol 用自己的私钥解密,加进自己的工资,然后用 Dave 的公钥加密发送给 Daveo
④ Dave 用自己的私钥解密,加进自己的工资,然后用 Alice 的公钥加密发送给 Aliceo
⑤ Alice 用自己的私钥解密,减去原来的随机数得到工资总和。
⑥ Alice 将工资总和除以人数得到平均工资,宣布结果。
该算法是基于所有的参与者是诚实的这一假设。如果不诚实则平均工资错误;并且 Alice 作为”名义上”的集成者,可以谎报结果。
大数据存储及其安全隐患
- GFS
- BigTable

数据完整性机制
在这个架构中一共有三个角色:用户、云服务器和第三方审计者(TPA, Third Party Auditor)。
数据可恢复性证明(POR, Proofs of Retrievability)的概念。
隐私保护机制
数据加密去重技术及其理论
消息锁定式加密(MLE, Message-Locked Encryption) 的框架。
拥有权证明
第六章 大数据共享及其安全隐私
隐私的概念
定义
隐私就是个人、机构等实体不愿意被外部世界知晓的信息。隐私的分类
- 个人隐私
- 共同隐私
隐私的度量与量化表示
完美隐私
数据匿名化技术

为了保护本表中的人员隐私,医院数据库管理员将在发布此数据之前采取以下步骤对数据进行处理。
识别身份信息
姓名、出生日期、性别和邮政编码
抑制(Suppression)
泛化(Generalization)
聚合(Aggregation)
最后,为了更好地理解
什么是”发布-遗忘”模型,可以考虑一种不遵循”发布一遗忘”的常用 技术。
K匿名隐私保护模型
$l$-多样性隐私保护模型
T相近隐私保护模型
差分隐私技术
- 工作原理
第七章 大数据算法及其安全
搜索引擎算法的基本原理
对大数据算法的攻击
- 通过伪造共同访问对推荐系统进行攻击
- 搜索引擎优化
- 诱导分类器产生错误分类
- 诱导视觉分类算法
第八章 大数据服务的认证与访问控制
身份认证技术
- 身份认证技术基础
- 多因子认证
- 把身份认证视为一个分类器
访问控制技术
访问控制的基本概念
访问控制的常用方法
传统的访问控制模式有如下三类。
自主访问控制强制访问控制基于角色的访问控制
云环境下的细粒度访问控制技术
函数加密(FE,Functional Encryption)
第九章 大数据采集及其安全隐私
匿名通信的基本框架
匿名通信的基本框架可以从三个方面加以阐述:匿名属性(Anonymity Property)、对手能力(Adversary Capability) 和网络类型(Network Type) 。
现阶段匿名通信的技术方案主要分为三类:基于Mix算法的匿名通信系统、基于洋葱路由(Onion Routing)算法的匿名通信系统和基于泛洪算法的匿名通信系统。
什么是HTTPS?
端到端的加密
SSL加密是用来从普通黑客处保护数据的,并不能从互联网公司手中保护数据。因为 SSL 加密标准仅仅保护用户的设备和互联网公司服务器之间的数据传输。由于这些互联网公司拥有用户的这些加密数据的非加密版本,它们可以无障碍访问用户的所谓加密数据。
如果用户愿意使用端到端加密通信,那么上述问题便可以得到解决。
信息发送者在本地将信息加密,信息接收者在收到加密信息后本地解密。谷歌、微软等信 息传输媒介仅仅能够访问加密信息,这样它们便无法为相关机构提供你的信息拷贝。
例如,最古老的是电子邮件加密软件 PGP,它诞生于 1991 年。还有加密即时通信软件, 可以提供加密互联网电话服务。
第一章 一个简单的通信游戏


第二章 防守与攻击
加密和解密算法统称为密码算法(密码系统或密码体制),加密和解密过程均由密钥控制。在对称(或共享密钥)密码体制中,加密和解密采用同一密钥;而在 非对称(或公钥)密码体制中,加密和解密采用两个不同的密钥:加密密钥和(相匹配的)解密密钥,加密密钥可以公开(因此也称为公开密钥)而不会泄露解密密钥(因此公钥密码体制中解密密钥也称为私钥)。
易受攻击的环境(Dolev-Yao威胁模型)
在这样脆弱的环境中预料到如此强大的对手,Dolev和Yao提出了一个威胁模型,这一模型被广泛地采纳为密码协议的标准威胁模型。在这个模型中,Malice有如下特征:
- 他能获得经过网络的任何消息
- 他是网络的一个合法使用者,因而能够发起与任何其他用户的对话
- 他有机会成为任何主体发出信息的接收者
- 他能够冒充任何特别的主体给任意主体发消息
Malice不能做的事情:
- Malice 不能猜到从足够大空间中选出的随机数
- 没有正确的密钥(或私钥),Malice不能由给定的密文恢复出明文;对于完善加密算法,Malice也不能从给定的明文构造出正确的密文
- Malice不能求出私有部分,比如,与给定的公钥相匹配的私钥
- Malice虽然能控制我们的计算和通信环境的大量公共部分,但一般他不能控制计算机环境中的许多私有区域,如访问离线主体的存储器
“从Alice到Bob”协议

“来自Trent的会话密钥”协议

一个攻击

消息认证

询问-应答协议


Needham-Schroeder公钥认证协议

对Needham-Schroeder公钥认证协议的攻击
Lowe发现了对Needham-Schroeder公钥认证协议的一种攻击
Lowe观察到,这个协议可以看做是两个逻辑分离协议的交织。第1、2、4、5步关系到如何获得公钥,而第3、6、7步关系到Alice和Bob的认证。因此,可以假定每个主体在开始时都有其他主体的公钥的认证副本。我们的注意力只限于下面的步骤3、6、7

第八章 加密——非对称技术

Diffie-Hellman密钥交换协议


中间人攻击






RSA密码体制(教科书式)





教科书式RSA加密的不安全性






