密码学历史(The History of Cryptography)(15)

来源:互联网 发布:知乎有趣的回答 编辑:程序博客网 时间:2024/05/13 08:21

DES为自动取款机安全保驾护航Making Cash Dispensers Safer with DES

1979年第一台利用DES自动取款机automatic teller machines问世,这种ATM机能有效防范欺诈。第一批运行的系统是1979IBM的系统,随后VISA系统作为IBM系统的增强版很快跟着出现。


 

密码学历史(The <wbr>History <wbr>of <wbr>Cryptography)(15)

密码学历史(The <wbr>History <wbr>of <wbr>Cryptography)(15)


 

户外自动取款机

 


这些系统的安全基于两个概念:所有权ownership知识knowledge),将塑料卡和磁条、个人识别码(personal identification numberPIN)。就像大部分现代的自动取款系统一样,为了防止滥用,1979年的系统将PIN码与账户号码按秘密的形式关联起来。


 

PIN码的计算类似于以下的方案:

 

使用唯一之账号的末5位数字产生11位验证码并加在其前面。所用的验证码往往与前11位账号数字相等,而有的银行喜欢用银行卡的发行日期的函数来作。如此得到的16位数用DES加密。加密密钥为16位,常称为“PIN密钥”(PIN-key)。很多银行将DES输出的前4位化为十进制,取每个数的个位后成为“自然PIN”(‘Natural PIN’ )并直接给客户。后来有些银行决定在这个4“自然PIN上再加另一个4位“偏移量”‘The Offset’ )算得最终的PIN码。用户就需要在ATM机中输入这个码。


 

下面各行表明了一个PIN码计算的示例:

账号4506602100091715

591715

验证码88070123456

输入DES算法的数据8807012345691715

输入DES算法的PIN密钥FEFEFEFEFEFEFEFE

DES算法的输出A2CE126C69AEC82D

前四位化为十进制“自然PIN0224 A=(1)0 2=2 C=1(2) E=(1)4

偏移量6565

客户PIN: 6789  

 

尽管20世纪70年代时用DES算法对PIN码加密已经完全足够,不过那时的自动取款系统还不是非常安全。因为有时候工程师会忘记可以通过一些后门可以轻易地偷窃一些账户中的金额。


 

可以提一个某英国银行负面的例子,这所银行仅仅将账号加密成PIN码后就写在银行卡上。罪犯们发现使用一个已知PIN码的卡,将磁条上的账号改为随便一张他人丢弃之凭条上的账号,他们就能用他们自己的PIN取光其他账号上的钱。


 

Additional Facts

原创粉丝点击