DES为自动取款机安全保驾护航(Making
1979年第一台利用DES的自动取款机(automatic
| |
| |
户外自动取款机 |
这些系统的安全基于两个概念:所有权(ownership)和知识(knowledge),将塑料卡和磁条、个人识别码(personal
PIN码的计算类似于以下的方案:
使用唯一之账号的末5位数字产生11位验证码并加在其前面。所用的验证码往往与前11位账号数字相等,而有的银行喜欢用银行卡的发行日期的函数来作。如此得到的16位数用DES加密。加密密钥为16位,常称为“PIN密钥”(PIN-key)。很多银行将DES输出的前4位化为十进制,取每个数的个位后成为“自然PIN”(‘Natural
下面各行表明了一个PIN码计算的示例:
账号:
末5位:
验证码:
输入DES算法的数据:
输入DES算法的PIN密钥:
DES算法的输出:
前四位化为十进制(“自然PIN”):
偏移量:
客户PIN码:
尽管20世纪70年代时用DES算法对PIN码加密已经完全足够,不过那时的自动取款系统还不是非常安全。因为有时候工程师会忘记可以通过一些后门可以轻易地偷窃一些账户中的金额。
可以提一个某英国银行负面的例子,这所银行仅仅将账号加密成PIN码后就写在银行卡上。罪犯们发现使用一个已知PIN码的卡,将磁条上的账号改为随便一张他人丢弃之凭条上的账号,他们就能用他们自己的PIN取光其他账号上的钱。