有多个产品供应商声称,他们的产品不需要存储令牌和相关的令牌化数据,就可以执行他们所称的无拱形令牌化或可逆令牌化。然而,他们也说令牌化与加密不一样,并且他们有一个专有的算法来标记和去标记输入数据。
我的问题是--这是不是真的只是一种花哨的加密(如果它保持了源数据的形状,可能比典型加密更不安全)?
我认为标记化背后的最初想法是,生成一组伪随机数据,将伪随机数据分配给输入数据,并将两者之间的映射存储在一个强化的保险库中。如果您随后将令牌存储在您不太安全的系统中,并且数据被窃取,攻击者将几乎不可能对数据进行去标记,除非它们在保险库中也有映射的副本。
如果令牌是从源数据派生出来的,那么这难道不让攻击变得容易(假设映射也不会被攻击者窃取),因为它实际上只是源数据的加密版本?
发布于 2018-09-20 16:44:11
加密和令牌之间的界限是模糊的。
你的问题的答案是它取决于。实现无拱形标记有不同的方法。这些不同类型的无金库可以分为两种主要思想:查找表技术和保持格式的加密(FPE)。
使用FPE显然是最核心的加密,所以称它为令牌化有点像营销游戏,然而,称它为令牌的理由与所产生的东西有关,而不是它是如何创建的。FPE虽然是加密的,但可以生成与传入的内容相同的长度和格式的密文。通过这种方式,FPE产生了审美意义上的“符号”。但是,这些令牌是使用AES加密模式生成的,因此从安全性的角度来看,这些令牌必须被视为加密的数据。
另一类Vaultless使用伪随机值并将它们映射到输入(即查找表)。这种方法怎么被认为是没有保险库的呢?为了消除对保险库(又称大型数据库)的需求,您必须减少查找表中条目的数量,以减小其大小。如果你能想出一个方法来降低桌子的大小(!在保持查找过程的可逆性的同时),您可以证明这件事是没有风险的。大多数无库查找表使用的表都足够小,可以存储在缓存或其他地方。
发布于 2018-09-20 21:23:52
没有定义上的区别。确切地说,供应商极力坚持“不加密”的无金库令牌化解决方案实际上就是加密。
然而,它们在技术上有很大的不同,它们不像其他解决方案那样在分组密码的基础上使用保留格式的加密模式,而是使用建立在随机数表之上的格式保持原语。本会议提交摘要对此作了简要描述:
采用一种新的信用卡号码( Bart Preneel,COSIC,Katholieke Universiteit Leuven,比利时 Ulf Mattsson )加密技术来确保敏感数据的机密性。它们通常被定义为位字符串上的映射;它们可以定义为块密码的操作模式( 64或128位字符串上的键控随机排列)或基于流密码(通常在位、字节或32位字的级别上操作)。为了满足严格的安全定义,加密方案需要随机化,这意味着密文比明文大。对于某些应用程序,例如在某些情况下保护信用卡号码,这两种限制都是不可取的:明文空间由数字而不是位组成,从明文到密文的映射必须是置换,因此没有随机化的空间。加密操作也称为令牌化。基于块密码(如三重DES或AES )定义安全令牌是绝对可能的。在这份报告中,我们提出了一种全新的方法,通过使用定义在n位字符串(n通常为5到7)上的S框,从零开始设计一个高效的分组密码,它可以被解释为大键。我们将显示,如果使用一个密钥加密的明文数量有限,则使用该方法可以获得非常高的安全级别。证明了在实际约束条件下,该方案的安全性等于理想的令牌化方案。
注意他们是怎么说的:
发布于 2020-08-27 17:00:21
挑战在于,在无金库的标记化中,数据匿名性丢失了,我们可以基于某些查找来旋转/加密,但是对于任何验证模拟真实数据的代码,它都不会发生。我总是喜欢基于保险库的令牌化和加密数据在传输和休息。
https://security.stackexchange.com/questions/187379
复制相似问题