我们正在考虑使用Soundex算法来提高我们在应用程序中的搜索能力。我们的应用程序数据在DB中被加密。(EAS256) Soundex结果将存储在我们加密数据的旁边。事实上,Soundex的计算将在加密的同时进行。
我想知道Soundex输出是否会给我们的应用程序增加任何安全漏洞。这是否意味着利用Soundex值和密码数据,攻击者有机会计算原始值?
我很确定这是安全的,但我想再检查一遍。
发布于 2022-03-10 11:46:02
这听起来像是一个安全漏洞,将击败行级加密。
Soundex算法是一种用词的近似声音对词进行索引的算法。您可以将其视为有损压缩方法。作为一种有损变换,它是不可逆的,因为您可以直接提取原始输入。然而,它是非常可逆的,在某种意义上,你可以产生合理的输入。因为Soundex索引会披露大量关于明文的信息
因此,将加密文本存储在该文本的Soundex索引旁边,可能会破坏您的安全目标。
相反,如果实际文本和索引都具有相同的保护级别,例如,如果您的加密在磁盘或数据库级别上工作,则这样的Soundex索引不会成为问题。
退一步考虑实际的安全目标和威胁模型可能是个好主意。加密应该达到什么目的?您用哪些能力来防御哪些攻击者?在这种威胁模型中,行级加密甚至是必要的还是有用的?你真的需要一个未加密的索引吗?但是,有些问题是无法解决的--当涉及到E2EE和服务器端搜索等问题时,通常会存在安全上的便利权衡。
https://security.stackexchange.com/questions/260197
复制相似问题