1 / 3
文档名称:

MAC,PIN密钥体系.doc

格式:doc   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MAC,PIN密钥体系.doc

上传人:fy3986758 2016/3/5 文件大小:0 KB

下载得到文件列表

MAC,PIN密钥体系.doc

相关文档

文档介绍

文档介绍:我们知道, 金融行业有很多数据要在网络上传递, 包括从前置到主机, 从自助终端到前置等, 这些数据在网络上传来传去, 我们很容易就会想到安全性的问题, 如果这些数据被人窃取或拦截下来, 那我们怎么敢在银行存钱了。这个问题在计算机出现时就被前人考虑到了, 所以出现了很多各种各样的加解密技术。假设当初由我们自己来设计怎样解决数据被窃取的情况。我们有一段数据,是 ATM 取款的报文, 包括一个人的磁卡号、密码、取款金额, 现在需要将这些数据从一台 ATM 机器传到前置机处理, 这些数据是比较机密的, 如果被人窃取了, 就可以用该卡号和密码把帐户中的钱取走。首先, 我们可以想到用专用的银行内部网络, 外面的人无法获得网络的访问权。这个仔细想想显然不可行的, 因为一是不能保证外人一定没办法进入银行内部网络, 二是银行内部人员作案是没法防止的。接着, 我们很容易想到, 既然保证数据不被窃取的可能性很小, 那我们何不变换一下思路, 数据避免不了被窃取, 那我如果将数据处理下, 让你即使窃取到数据, 也是一些无用的乱码,这样不就解决问题了吗。这个想法比较接近现在的做法了,当前置机接收到了数据, 它肯定是对数据进行反处理, 即与 ATM 端完全步骤相反的数据处理, 即可得到明文的数据。我们再进一步想想,如果因为某种原因,报文中的取款金额被改变了,这样就会导致 AT M 出的钱和前置扣帐记录的钱不一致的情况, 看来我们必须加上一个验证机制, 当前置机收到 ATM 发送的一个报文时,能够确认报文中的数据在网络传输过程中没有被更改过。怎样实现?最简单的,象计算机串口通讯一样,对通讯数据每一位进行异或,得到 0 或1 ,把 0或1 放在在通讯数据后面,算是加上一个奇偶校验位,收到数据同样对数据每位进行异或, 得到 0或1, 再判断下收到数据最后一位与算出来的是否一致。这种方式太简单了, 对于上面提到的 ATM 到前置机的报文来说, 没什么用处, 不过我们可以将对数据每一位异或的算法改成一个比较复杂点的。因为 DES 算法已经出来了很多年了, 并且在金融行业也有广泛的应用, 所以我们可以用 DES 算法进行处理,来解决上面的问题呢。我们应该了解 DES 算法(此处指单 DES ) 的, 就是用一个 64bit 的 Key 对 64bit 的数据进行处理, 得到加密后的 64bit 数据。那我们用一个 Key 对上面的报文进行 DES 算法,得到加密后的 64bit 数据,放到报文的最后, 跟报文一起送到前置机,前置机收到报文后,同样用 Key 对数据(不包括最后的 64bit 加密数据) 进行 DES 加密, 得出 64bit 的数据, 用该数据与 ATM 发送过来的报文最后的 64bi t 数据比较,如果两个数据相同,说明报文没有中途被更改过。再进一步,因为 DES 只能够对 64bit 的数据进行加密,一个报文可不止 64bit ,哪我们怎么处理呢?只对报文开头的 64bit 加密?这个是显然不够的。我们可以这样, 先对报文的开始 64bit 加密, 接着对报文第二个 64bit 加密, 依次类推, 不过这有问题,因为每个 64bit 都会得到同样长度的加密后的数据,我不能把这些数据都放到报文的后面,那报文的长度不变成两倍长了。换个思路,我先对报文第一个 64bit 加密,