在实际应用中,对数据库中的信用卡号、身份证号等敏感数据进行加密非常必要,然而使用传统分组密码通常会扩展数据,使数据长度和类型发生变化,需要修改数据库结构或应用程序来适应这些变化,成本非常高。此类加密要求密文与明文具有相同的格式,是一类新的加密问题,称为“保留格式加密”,简称FPE。
由于保留格式加密技术保持密文与明文具有相同格式的特性,因此适合于格式敏感的数据加密领域,主要包括:
1、增强数据库应用系统的安全性
在数据库中加密数据一直是一个难题,因为加密数据库中的信息就意味着扩充数据并改变格式。然而,多数大型商用应用系统都是基于数据库的应用系统,如金融、社保、电子政务、电子商务等,如果数据库中存储的大量用户敏感信息(如银行卡号、社保卡号、用户名和密码等)被窃取,将造成致命的破坏。引入FPE 技术,将极大地提高数据库的安全性。无论新部署还是已有的数据库应用系统,都可以引入FPE 技术增强系统安全性,因为其具有以下优势:(1)不改动现有软件系统的代码;(2)不改动现有数据库结构。
2、数据遮蔽
数据遮蔽源于解决数据从生产环境向测试环境(或者开发环境)导入时可能产生的数据内容安全问题,它通过克隆原始数据进行掩码转换,输出一个与原数据格式、关联等一模一样的数据,用以进行功能测试、性能测试和模拟测试等。数据遮蔽内嵌丰富的数据修改规则,通过各种复杂算法,可以自动批量、快速地完成对敏感数据的修改,同时保证克隆出来的数据库的数据量完全等同于生产库的数据量;敏感数据(如身份证号、电话号码、信用卡号码等)又作了伪装,看起来是真实数据,实际上是已经进行了修改的假数据,从而消除了敏感数据的泄露隐患。如果充分且合理利用的话,数据遮蔽必成为保障数据安全的重要技术。
3、支付卡行业安全
支付卡行业数据安全标准,简称PCI DSS,是一套被广为接受的政策和程序,目的是为了保证信用卡、借记卡和现金卡交易的安全,保护持卡人的个人信息,防止被他人利用。PCI DSS 所规定和阐述的六大目标之一就是:持卡人信息无论存在哪里,都必须受到保护。应确保存放的社会保险号和身份证号等重要数据不被破解。当持卡人的数据通过公共网络进行传送时,这些数据必须经过有效的加密。数据加密技术在各种形式的信用卡交易中都是非常重要的。
金融交易过程很复杂、约束也很多,传统的分组密码加大了改变这些系统的复杂度,代价昂贵。而FPE 因为实现简单,保留敏感信息的格式,避免了从根本上去设计和审查整个系统的繁杂。
4、格式兼容的加密领域
除了对上述敏感信息的数据加密以外,保留格式加密技术还非常适合于遵循既有协议格式、格式兼容的数据加密的应用领域,这将是保留格式加密在未来的一个重要的应用领域。比如,2010 年讨论了FPE 在多媒体加密领域的应用,指出FPE 方法可以应用到JPEG 2000 的加密中。