0

我绝不是安全期望,并且希望在以下情况下获得一些帮助/指示。需要明确的是,这个问题更多的是关于加密而不是银行详细信息。

我需要以安全的方式存储英国直接借记详细信息,以便可以将其发送给支付提供商进行标记化。目前,我正在使用RijndaelManaged和 256 位密钥,并为每条信息(帐户名、帐号和排序代码)提供唯一的 IV。密钥不与此信息一起存储。

我的问题是以排序代码为例,我们知道英国的银行排序代码只是由数字组成,并且只有 6 位数字长。因此,它们中存在的集合非常少,因此字典可以轻松包含每一个。

如果存储此信息的数据库遭到破坏和转储,那么解密信息将多么容易,因为 IV 与每个加密的排序代码一起存储,RijndaelManaged 算法是众所周知的,只有 999,999 个排序代码需要检查?

此外,如果攻击者唯一的“未知”是私钥,比如说,他已经知道特定的排序代码,那么可以确定私钥吗?我不相信它可以不做很多计算,但我不确定......

我在想用随机字符填充排序代码会使解密这些信息变得更加困难,但是这个填充也需要存储在某个地方。

4

1 回答 1

1

在不知道密钥的情况下无法解密数据。字典攻击也是不可能的,因为字典将完全依赖于密钥。但是,值得记住的是,如果攻击者获得了密钥,他就可以解密整个数据库。

不需要用随机数据填充明文,因为初始化向量的作用基本相同。

但是,存储和处理卡数据有许多重要的要求和规定。不正确遵守它们可能会使您面临各种法律威胁或其他昂贵的制裁。与其冒险,许多人选择将所有复杂的东西留给支付处理器。

于 2013-06-27T12:55:49.830 回答