“无保险库”或“可逆”令牌化——它真的只是用花哨的营销名称进行加密吗?

信息安全 加密
2021-08-16 12:54:56

有多个产品供应商声称他们的产品执行了他们所谓的无库令牌化或可逆令牌化,而不存储令牌和相关的令牌化数据。然而,他们也说标记化与加密不同,他们有一个专有算法来标记和去标记输入数据。

我的问题是 - 这真的只是花哨的加密(如果它保持源数据的形状,可能比典型的加密更不安全)?

我认为标记化背后的最初想法是生成一组伪随机数据,将伪随机数据分配给输入数据,并将两者之间的映射存储在一个加固的库中。如果您随后将令牌存储在安全性较低的系统中,并且数据被盗,那么攻击者几乎不可能对数据进行去令牌化,除非他们在保险库中也有映射的副本。

如果令牌是从源数据派生的,那是否更容易攻击(假设映射也没有被攻击者窃取),因为它实际上只是源数据的加密版本?

3个回答

加密和标记化之间的界限很模糊。

你的问题的答案是这取决于。有不同的方法可以完成无库标记化。这些不同种类的无保险库可以分为两个主要思想:查找表技术和格式保留加密 (FPE)。

使用 FPE 显然是核心加密,因此将其称为令牌化有点营销游戏,但是,将其称为令牌的理由与产生什么有关,而不是如何创建。FPE虽然是加密,但可以产生与传入的长度和格式相同的密文。这样,FPE就产生了美学意义上的“令牌”。但是,这些令牌是使用 AES 加密模式生成的,因此从安全角度来看,这些令牌必须被视为加密数据。

另一种 Vaultless 使用伪随机值并将它们映射到输入(即查找表)。这种方法如何被认为是无保险库的?那么为了消除对保险库(又名大数据库)的需求,您必须减少查找表中的条目数,以减小其大小。如果您能想出一种方法来减小表的大小(!!!同时还保持查找过程的可逆性),那么您可以证明将这个东西称为 vaultless 是合理的。大多数无保管库的查找表种类都使用小到可以存储在缓存或其他东西中的表。

没有定义上的区别。供应商严格坚持“不加密”的无库令牌化解决方案从定义上讲确实是加密。

然而,有一个实质性的技术差异,因为它们不像其他一些解决方案那样在分组密码之上使用格式保留加密模式,而是在随机数表之上构建格式保留原语。 这份会议提交摘要简要描述了它:

一种信用卡号码标记化的新方法

Bart Preneel,COSIC,Katholieke Universiteit Leuven,比利时
Ulf Mattsson,Protegrity,美国

加密技术用于确保敏感数据的机密性。它们通常被定义为位串上的映射;它们可以定义为分组密码(64 位或 128 位字符串上的密钥随机排列)或基于流密码(通常在位、字节或 32 位字级别上操作)的操作模式。为了满足严格的安全定义,加密方案需要随机化,这意味着密文大于明文。对于某些应用,例如在某些情况下保护信用卡号码,这两个约束都是不可取的:明文空间由数字而不是比特组成,并且从明文到密文的映射必须是一个排列,因此没有随机化的空间. 加密操作也称为标记化绝对可以基于诸如三重 DES 或 AES 之类的分组密码来定义安全标记化。在本次提交中,我们提出了一种全新的方法,其中通过使用定义在 n 位字符串(n 通常为 5 到 7)上的 S-box 从头开始​​设计高效的分组密码,可以将其解释为大密钥。我们将证明,如果使用单个密钥加密的明文数量有限,则使用这种方法可以获得非常高的安全级别。可以证明,在现实约束下,该方案的安全性等同于“理想”的通证化方案。

注意他们是怎么说的:

  • “加密操作也称为令牌化。” 作者意识到,从定义上讲,标记化是一种加密形式。
  • 他们将他们的系统标记为“从头开始设计的高效分组密码 [...]”。即,加密。
  • 他们的分组密码,而不是像传统密码那样处理二进制位串,是“通过使用定义在 n 位字符串(n 通常为 5 到 7)上的 S 盒从头开始设计的,可以解释为大密钥。” 即,他们不是使用 FPE 模式从传统的比特串分组密码(如 AES)构建格式保留密码,而是直接构建格式保留密码。

挑战在于,在无库标记化中,数据匿名性会丢失,我们可以基于一些查找来旋转/加密,但对于模拟真实数据的任何代码验证都不会发生。我总是更喜欢基于保险库的标记化并在传输和休息时加密数据。