Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

大数据时代下的隐私保护(三)

$
0
0

大数据时代下的隐私保护(三)

【作者:季石磊,程越强,韦韬】

1. 引言

在大数据时代,数据带来了巨大价值的同时,也带来了用户隐私保护方面的难题,如何在大数据开发应用的过程中保护用户隐私和防止敏感信息泄露成为新的挑战。

我们的大数据隐私保护系列文章的第一篇[1]和第二篇[2]主要讲解了k-anonymity(k-匿名化),l-diversity(l-多样化),t-closeness和ε-differential privacy(差分隐私)等四种隐私保护技术的原理和行业应用案例。在用户隐私保护的实践中,数据脱敏是一种常见的技术手段。本文将介绍FPE(Format Preserving Encryption,格式保留加密)技术[3]和基于FPE的数据脱敏的实践应用,重点介绍美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)推荐的FF1算法,该算法可以达到128bit AES的安全强度。 值得注意的是即便采用FPE数据脱敏方案后数据依然可能处于我们前面两篇文章[1][2]描述的隐私泄露危险之下,特别是大数据高维关联带来的隐私泄露,因此不能简单的把数据脱敏等价成隐私保护。 2.数据脱敏

数据脱敏,是指对数据中包含的秘密或隐私信息(如个人身份识别信息、商业机密数据等)进行数据变形处理,使得恶意攻击者无法从经过脱敏处理的数据中直接获取敏感信息,从而实现对机密及隐私的防护。在金融、医疗、电信、电力等诸多行业,数据脱敏都有着非常广泛的应用。用户隐私或敏感数据泄露会对企业、用户或客户的利益和权益造成严重损害,也有可能引发严重的社会问题。

一般而言在大数据分析过程中,如果数据涉及用户隐私或商业机密的,在不违反系统规则条件下,需要对原始数据进行脱敏处理后才能提供开发测试使用,如身份证号、手机号、银行卡号、客户号等敏感数据都需要进行脱敏保护。

关于数据脱敏的算法有很多种,常见的处理方法有如下几种:

表1:常见的数据脱敏算法


大数据时代下的隐私保护(三)
在实际业务中应用数据脱敏技术,除了数据脱敏算法以外,还需要关注数据脱敏方式。根据数据脱敏方式不同,可分为静态数据脱敏(SDM,Static Data Masking)和动态数据脱敏(DDM,Dynamic Data Masking)[4],两者主要区别是:

静态数据脱敏(SDM) ,是数据存储时脱敏,存储的是脱敏数据。一般用在非生产环境,如开发、测试、外包和数据分析等环境。

动态数据脱敏(DDM) ,在数据使用时脱敏,存储的是明文数据。一般用在生产环境,动态脱敏可以实现不同用户拥有不同的脱敏策略。

3.脱敏实施

为了更好地保护用户隐私,需要实施细粒度的访问控制策略和最小范围的授权策略,如对数据库启用基于列(或字段)的权限控制策略。但对于用户隐私保护而言仅仅实施了细粒度权限控制是不够的,还需要配合相关的数据脱敏策略,才能更好地保护用户隐私。例如员工申请了手机号码这个字段的明文数据访问权限,就可以在授权范围内查询所有用户的手机号码,我们无法对其后续行为进行有效约束,这样就可能导致敏感信息泄露。如果启用了数据脱敏策略,员工看到的是脱敏后的数据,很难还原出原始数据。

从实践经验来看,能实施数据脱敏的场景建议一定要启用数据脱敏。数据脱敏对于企业隐私数据保护来说非常重要,但是数据脱敏有可能影响其已有业务流程和员工使用习惯,因此如何有效推动企业实施数据脱敏呢?我们可以从数据流程和数据访问制度等方面加以引导。为了更加有效地管理数据资产,可以对资产敏感程度和访问密级进行划分,例如可以把数据密级划分为5个等级,分别是L1(公开)、L2(保密)、L3(机密)、L4(绝密)和L5(私密)。对于手机号码、身份证号等敏感数据属于为L5级别,如果用户申请L5级别的明文数据需要经过一个复杂的审批流程,申请周期长,审批难度非常大。如果员工申请脱敏数据,可以将数据密级适当降低,这样审批流程可以简化,申请周期会缩短,申请成功率也会提升。对于员工而言如果脱敏是可以满足业务需求,就会优先申请脱敏数据,这样也可以促使数据脱敏技术大范围地推广应用。

表2:数据脱敏降级示例


大数据时代下的隐私保护(三)
4.格式保留加密 格式保留加密(FPE,Format Preserving Encryption,也被称之为保形加密)[3]是一类特殊对称加密算法,它可以保证加密后的密文格式与加密前的明文格式完全相同,例如通过FPE算法对由16位数字组成的银行卡号进行加密后仍为16位数字。格式保留加密常用于数据脱敏项目中,由于其可以保持加密后的数据格式不变,从而具有无需更改数据库范式以及对上层应用透明的优势。如下图所示:

表3:FPE和AES对比


大数据时代下的隐私保护(三)

FPE算法可以保证加密前后数据格式保持不变,除此之外还包括以下特点:

数据长度不变。加密前长度是N,加密后长度仍然是N

数据类型不变,加密前是数字类型,加密后仍然是数字类型。

加密过程可逆,加密后的数据可以通过密钥解密还原原始数据。

学术界关于格式保留加密的研究已经持续多年,2002年,Black 和Rogaway[5]提出了3种FPE构建方法:Prefix, Cycle-Walking和Generalized-Feistel。这3种方法成为构造FPE模型的基本方法。Generalized-Feistel方法[5]的适用性更为广泛,其核心思路是基于Feistel网络[6]来构建符合整数集大小的分组密码,并结合Cycle-Walking方法使最终密文输出在合理范围内。Feistel网络可以通过定义分组大小、密钥长度、轮次数、子密钥生成、轮函数等来构造一个分组密码,其主要流程如下图所示:
大数据时代下的隐私保护(三)

图1:Feistel网络

其加密算法逻辑如下:

令F为轮函数;令K1,K2,……,Kn 分别为第1,2,……,n 轮的子密钥。那么Feistel加密过程如下:

(1)将明文信息均分为两块:(L0,R0);

(2)在每一轮中,进行如下运算(i为当前轮数):

L i+1 = Ri;

R i+1 = Li"


Viewing all articles
Browse latest Browse all 12749

Trending Articles