在大数据时代,数据带来巨大价值的同时,也带来了用户隐私保护方面的难题。数据脱敏技术是保护用户隐私和防止敏感信息泄露的重要手段,而格式保留加密技术(FPE)则是数据脱敏常用的方法。下面我们就来了解一下格式保留加密技术在数据脱敏中的应用。

数据脱敏技术简介

数据脱敏是指对数据中包含的秘密或隐私信息进行数据变形处理,使得恶意攻击者无法从经过脱敏处理的数据中直接获取敏感信息,从而实现对机密及隐私的防护。在金融、医疗、电信、电力等诸多行业,数据脱敏都有着非常广泛的应用。

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

格式保留加密

格式保留加密技术在数据脱敏中的应用

格式保留加密是一类特殊对称加密算法,加密后的密文格式与加密前的明文格式完全相同。格式保留加密常用于数据脱敏项目中,由于其可以保持加密后的数据格式不变,从而具有无需更改数据库范式以及对上层应用透明的优势。除此之外,格式保留加密还具有以下特点:

  • 数据长度不变,加密前长度是N,加密后长度仍然是N。
  • 数据类型不变,加密前是数字类型,加密后仍然是数字类型。
  • 加密过程可逆,加密后的数据可以通过密钥解密还原原始数据。

格式保留加密技术在数据脱敏中的过程

在了解格式保留加密技术在数据脱敏中的过程前,我们需要先了解该算法的一些基本概念和定义:

  • Alphabet:有限字母的字典表,并规定了输出密文的范围。
  • Key:加密密钥,其加密密钥和解密密钥都是相同的。
  • Tweak:相当于第二密钥,可以和Key相互配合完成加密操作。

格式保留加密

操作过程

设计Alphabet字典表

例如手机号、银行卡号等字段可以采用数字字母字典表('0'-'9'),对于英文姓名等采用英文字母字典表(小写字母'a'-'z'、大写字母'A'-'Z'),对于Mac地址、IMEI等可以采用十六进制数字字母字典表('0'-'9'和'A'-'E')。

设计Tweak取值

Tweak是为了解决因局部加密而导致的结果冲突问题,通常情况下将数据的不可变部分作为Tweak。例如对手机号码FPE而言,可以将手机号码的前3位和后4位联合起来当做Tweak,将把中间4位通过FPE加密。

设计Key

对于FPE而言Key的长度必须是16byte、24byte 和32byte三种中的一种。另外Key是一个秘密需要妥善保存。在不需要解密的情况下Key可以随机选择,这样可以获取更高的安全性。

加密解密

通过FPE算法对数据进行加密和解密操作,得到脱敏加密后的数据。

格式保留加密

注意事项

基于FPE的数据脱敏方案是隐私保护的重要手段之一,然而仅仅依靠数据脱敏并不能解决所有隐私保护问题,即便采用FPE数据脱敏方案后数据依然可能存在隐私泄露风险。脱敏后隐私数据可能被再次复原出来,因此不能简单的将数据脱敏等价成隐私保护。

在使用FPE进行数据脱敏的时候,如果不考虑解密,可以为FPE生成随机密钥,这样安全性会更好。但如果需要解密操作,就需要额外设计一套FPE密钥存储管理机制,以防止密钥被窃取。

免责声明:素材源于网络,如有侵权,请联系删稿。