x
在线咨询
刷新
您当前的位置: 资讯中心 > 原创文章
FPE:一种文科生也能破解的加密技术!
发布时间:2024.12.04 浏览数量:153人

引言



格式保留加密(FPE加密)技术,允许数据在加密后保持原有的格式和长度,但在加密安全性方面作出了一定牺牲,早期被广泛应用于于那些需要格式不变的场景,如银行卡号、身份证号等敏感信息的加密。随着当前数据安全问题愈发突出、量子计算攻击的崛起,FPE加密技术的局限性和潜在的安全隐患正逐渐暴露。


作为一个在数据安全领域有着多年项目实战(端茶倒水)经验的白帽子小编,今天准备给大家科普(瞎掰)一下业内人士、客户偶尔会提到的一次词语:FPE(Format-Preserving Encryption,格式保留加密)技术。



3



看到这里文科生同学们请不要着急划走,不信你看下面这个图一定能看懂。


2


眼尖的朋友应该一眼就看出来了,FPE加密后密文和明文长得非常像,前后差异只是相当于化了个淡妆。但是同样是加密技术,你看AES(Advanced Encryption Standard的缩写,一种常见的对称加密算法)就不要一样了,加密之后直接“亲妈都不认识”。


什么是FPE加密?



那么作为今天我们讨论的主角,什么是FPE加密技术呢?

FPE加密技术的概念最早出现在20世纪90年代末,旨在在不改变数据格式的前提下对敏感信息进行加密:



屏幕截图 2024-12-02 121625



那么为什么会出现这么特殊的加密需求呢?


我们都知道在银行、政务、医疗、教育等领域的信息化系统中,对手机号码、身份证号、银行卡号等涉及公民个人隐私的敏感数据进行加密极其必要。不过使用传统加密技术通常会改变数据格式,也就是上面AES加密后“亲妈都不认识”的样子,使加密后的数据长度和数据类型发生变化,需要系统修改数据结构或重新设计应用程序来适应这种变化,成本非常高昂。格式保留加密(Format-Preserving  Encryption,FPE)就是用于处理此类数据脱敏需求而被发明的一种密码技术。

简单来说,以18位的纯数字银行卡卡号为例,最关键的诉求就是希望加密后还是18位的纯数字格式,让原来的数据库和应用程序可以透明地存储和传递加密后的密文。



FPE加密技术的发展史


1



密码学研究学者对于FPE 技术的探讨最早可以追溯到 1981 年,后来多位学者陆续提出了FFX算法,Prefix, Cycle-Walking和Generalized-Feistel等3种构造FPE模型的基本方法。Voltage Security(美国一家数据安全公司)在2006年开始推动了FPE技术商业化,同时NIST(美国国家标准与技术研究院)在2007年也积极关注FPE并提出标准化倡议,后来发布了FF3-1算法的草案、FF3标准算法。好景不长,2018年,NIST在其发布的《加密标准与指南》(2018)中明确指出,在高安全性要求的场景下,FPE可能无法提供足够的保护。随后的几年里,FPE加密技术渐渐淡出了人们的视野,业内专家学者也开始探索其他更加安全的数据库加密技术和方案。




FPE的早期应用场景与风险

“格式保留”的特性让FPE在许多需要兼容现有系统的应用中具有独特的优势,早期曾被国外一些企业和政府机构应用于以下部分领域:

(1)金融行业:保护敏感信息,如银行卡号、信用卡交易数据。

(2)医疗行业:保护患者的医疗记录和其他敏感数据。

(3)政府与公共部门:用于加密公民的身份证号、税号等敏感信息。

然而,尽管FPE在某些场景中表现出色,学术界和行业专家已经对其安全性提出了严重的担忧。1999年提出FFX算法(FPE的经典实现之一)的作者Shai Halevi 和 Mihir Bellare 就在其文章中明确指出,FPE的加密强度相较于传统的对称加密算法(如AES)较弱,尤其是在数据加密后,攻击者可能通过数据格式的保留进行分析,进而破解加密信息。



无奖问答题

为了方便大家理解“通过数据格式的保留进行分析,进而破解加密信息”下面小编出一个密文破译的题,看看有没有机灵的文科生同学能够一眼看出答案。



4



没错,要是你已经看出了答案,恭喜你!

你已经将当前场景中的FPE加密方法给破解了,

今日FPE密码破译成就已解锁

6





要是你还没有看出答案,

那就听小编瞎掰一下吧。



7




为什么FPE加密不再适用于保护高敏感数据




上面我们曾提到,NIST在其发布的《加密标准与指南》(2018)中明确指出,在高安全性要求的场景下,FPE可能无法提供足够的保护。尤其是在量子计算技术日益成熟的今天,FPE的加密数据可能很容易被破解。因此,业内专家建议,在处理极其敏感的数据时,应考虑使用传统的更强加密算法来替代FPE,如SM4、AES-256等。

下面我们看看一些常见的敏感数据在采用FPE加密技术时将面临哪些风险:


47180df7e61fd8fc80b5c57fa263c6f




FPE和当前主流的加密算法

差距在哪里?


我们仍然以最AES为例,来简单介绍一下FPE与其在加密性能与抗攻击能力方面的差异。



49f6b86119fbd693a053f16d0110c0c

e947ff978bb2420e54abe162109745c





FPE加密技术正确的打开方式

有哪些?



FPE加密技术因其需要在加密后保留密文格式而对安全性作出了一定妥协,这确实导致其在某些场景下显得不够安全。然而,正是由于FPE能够保持密文格式与原始数据一致的特性,它在实际应用中仍具有独特的价值,尤其适用于数据脱敏场景。在数据脱敏场景中,核心目标是对敏感数据进行保护,同时保留其外观格式以满足业务使用需求。





8eaa354fe75804b7691d4c1bcb04c1f




采用FPE相关的加密产品仍可以作为一种有效的工具,帮助企业实现数据脱敏的目标。在使用FPE进行数据脱敏的时候如果考虑较高的安全性,可以为FPE生成随机密钥,这样安全性会更好。



小结


正如我们一开始就提到的,FPE技术提出的初衷“避免调整数据结构或重新设计应用程序”,也就是加密工作的“透明性”,尽可能减少对现有系统的改造。但是,正是因为其允许数据在加密后保持原有的格式和长度,泄露了太多数据的“天机”,在加密安全性方面作出了较大的牺牲。因此,我们必须尽量避开使用FPE加密敏感数据。

刚才我们提到,我们需要使用SM4、AES-256等安全强度足够的加密算法加密数据,以保证密文可以抵抗各种攻击。


那么使用了SM4或者ASE就一定安全吗?

由于时间关系(今天小编着急下班),更多数据库加密相关技术的科普知识请听下回分解。




8




引用


[1] Amon O , Dunkelman O , Keller N ,et al.Three Third Generation Attacks on the Format Preserving Encryption Scheme FF3[C]//2021.DOI:10.1007/978-3-030-77886-6_5.

[2] NIST Special Publication 800-38A. (2001). Recommendation for Block Cipher Modes of Operation: Methods and Techniques. Available at: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38A.pdf

[3] Shai Halevi & Mihir Bellare. (2005). Format-Preserving Encryption. Available at: https://eprint.iacr.org/2005/093.pdf

[4] Grover’s Algorithm and Its Impact on Symmetric Key Cryptography. (1996). Lov K. Grover. Available at: https://arxiv.org/abs/quant-ph/9605043

[5] 大数据时代下的隐私保护.(2018) at: https://ics.pku.edu.cn/xwtz/xxyd/92041fb29e42431ca4a3d3bd679d7556.htm

[6]刘哲理,贾春福,李经纬.保留格式加密技术研究[J].软件学报, 2012, 23(1):19.DOI:10.3724/SP.J.1001.2012.04096.