已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
金融行业密钥相关知识及原理介绍一、 密钥基础知识我们知道金融行业有很多数据要在网络上传递,包括从前置到主机,从自助终端到前置等,这些数据在网络上传来传去,我们很容易就会想到安全性的问题,如果这些数据被人窃取或拦截下来,那我们怎么敢在银行存钱了。这个问题在计算机出现时就被前人考虑到了,所以出现了很多各种各样的加解密技术。抛开这些不管,假设当初由我们自己来设计怎样解决数据被窃取的情况。假设我们有一段数据,是ATM取款的报文,包括一个人的磁卡号、密码、取款金额,现在需要将这些数据从一台ATM机器传到前置机处理,这些数据是比较机密的,如果被人窃取了,就可以用该卡号和密码把账户中的钱取走。首先,我们可以想到用专用的银行内部网络,外面的人无法获得网络的访问权。这个仔细想想显然不可行的,因为一是不能保证外人一定没办法进入银行内部网络,二是银行内部人员作案是没法防止的。接着,我们很容易想到,既然保证数据不被窃取的可能性很小,那我们何不变换一下思路,数据避免不了被窃取,那我如果将数据处理下,让你即使窃取到数据,也是一些无用的乱码。这个想法比较接近现在的做法了,当前置机接收到了数据,它肯定是对数据进行反处理,即与ATM端完全步骤相反的数据处理,即可得到明文的数据。我们再进一步想想,如果因为某种原因,报文中的取款金额被改变了,这样就会导致ATM出的钱和前置扣账记录的钱不一致的情况,看来我们必须加上一个验证机制,当前置机收到ATM发送的一个报文时,能够确认报文中的数据在网络传输过程中没有被更改过。怎样实现?最简单的,对通讯数据每一位进行异或,得到0或1,把0或1放在在通讯数据后面,算是加上一个奇偶校验位,收到数据同样对数据每位进行异或,得到0或1,再判断下收到数据最后一位与算出来的是否一致。这种方式太简单了,对于上面提到的ATM到前置机的报文来说,没什么用处,不过我们可以将对数据每一位异或的算法改成一个比较复杂点的。因为DES算法已经出来了很多年了,并且在金融行业也有广泛的应用,我们使用DES算法进行处理,来解决上面的问题。DES算法(此处指单DES)的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据在公共通信网中传输的安全性和可靠性。通过定期在通信网络的源端和目的端同时改用新的Key,能更进一步提高数据的保密性。(加密)加密密匙 (KEY)加密运算清晰数据加密数据解密密匙 (KEY)解密运算加密数据清晰数据(解密)相同图1 DES算法我们用一个Key对前面提到的报文进行DES算法,得到加密后的64位数据,放到报文的最后,跟报文一起送到前置机,前置机收到报文后,同样用Key对数据(不包括最后的64位加密数据)进行DES加密,得出64位的数据,用该数据与ATM发送过来的报文最后的64位数据比较,如果两个数据相同,说明报文没有中途被更改过。再进一步,因为DES只能够对64位的数据进行加密,一个报文可不止64位,哪我们怎么处理呢?只对报文开头的64位加密?这个是显然不够的。我们可以这样,先对报文的开始64位加密,接着对报文第二个64位加密,依次类推,不过这有问题,因为每个64位都会得到同样长度的加密后的数据,我不能把这些数据都放到报文的后面(报文的长度就变成两倍长了)。换个思路,我先对报文第一个64位加密,得到64位的加密后数据data1,接着再拿加密后的data1与报文第二个64位数据进行按位异或,得到同样长64位的数据data2,我再用Key对data2加密,得到加密后的数据data3,再拿data3与报文第三个64位数据进行按位异或,同样的处理依次类推。直到最后会得到一个64位的数据,将这个数据放到报文的最后发到前置机,这样报文的长度只增加了64位而已。这个算法就叫做MAC算法。好了,到目前为止我们已经知道了什么是MAC算法,为什么需要它,接着我们再看看经常被提起的另外一个名词。在上面说到MAC算法的时候,我们会注意到其中进行DES加密算法时提到了一个Key,这个用来参与MAC计算的Key就常被称为MacKey(MAK)。我们继续来处理ATM和前置机间网络数据传输的问题。前面提到的MAC算法对传送的报文进行了处理,保证了在网络传输过程中数据不会被有意或无意的篡改,但是,我们再进一步想想,如果仍然是上面提到的一个取款报文,如果想作案的话,我不改报文的内容,而只是截取报文的内容,因为内容里面有卡号和密码,都是明文的形式,很容易就看出来哪些内容是卡号、哪些内容是密码。有了卡号和密码,找个读卡器就能够很快的制出一张磁卡,然后拿这个磁卡可以随便取钱了,根本不需要修改报文,这样你就算前置机对报文的MAC校验通过了,也只是保证了报文没被改动过,对于防止作案没有实质上的帮助。那我们很容易想到,再加上一道加密,这次我把整个取款的报文都用DES加密,将明文全部转换成密文,然后送到前置机,这下好了吧。即使你把报文截取了也没用,你拿着这些密文也没有用,你也没有DES的密钥来解密它,只有前置机才知道密钥。这是个好主意,确实防止了卡号和密码等被人获知的危险。这也是现在普遍采取的做法,不过我们需要对这个做法进行一些改进。首先,我们要知道用DES对数据加解密是耗时间的,速度是比较慢的。我们来想想,整个取款报文有必要每个数据都DES加密吗?比如报文中的什么流水号、ATM号等信息,对它们加密没什么意义,进一步讲,取款金额加密也没意义,假设你取500块,但是你将报文改成了100块,导致主机只把你账户扣100块钱,你白赚了400块。这个听起来挺划算的,实际上是不可行的,因为这样造成了账务上的短款,银行当然会查账的,根据ATM记录的硬件出钞张数和主机扣款金额,肯定会把你查出来的,那这种掩耳盗铃的做法,下场显而易见。我们来考虑一个报文中到底什么信息是需要加密的,目前一般的做法是只对账号和密码进行加密(也有只对密码加密的),其他的内容不加密的。对账号和密码加密有个术语,叫PinBlock,即PIN块,就是对账号和密码进行DES加密处理后的一个密文数据块。既然使用了DES算法来加密账号和密码,则必然有个Key来加密,那么我们就把这个Key称为PinKey(PIK),就是专门来加密用户账户和密码的Key。至于怎样进行加密形成最后的密文PinBlock,有很多标准的,比如IBM3624、ANSI、ISO、DIEBOLD等标准,其实它们大同小异,就是在对报文中的密码进行一个预处理,再用PinKey来DES加密,主要的差别就是怎样预处理而已,比如有的是密码后面补F,补够16 位,就是类似这样的预处理。到这里我们应该理解PinKey和PinBlock了。通过PinKey和MacKey对报文进行了两重处理,基本上报文就是安全的了。原始交易报文关键字段参与MAC运算MAC值附加在交易报文尾部MAC运算PIN密文MAC值帐号金额日期流水号PIN机构标识图2 采用PIK和MAK安全处理后的信息如果我们对DES算法比较了解,就会知道,如果想对加密后的密文解密,必须要知道Key才行,所以说Key一定要保密。怎样来保密Key呢?我们前面提到的无论是算MAC还是算PIN块,都是直接拿明文的Key来计算的,那么这个Key很容易被窃取的,比如有人在机器上装了个黑客程序,只要检测到你在用Key加密数据,就把明文的Key获取了。这样看来,我们还要对PinKey和MacKey本身进行加密,不要让人知道了。怎样实现,同样是DES算法大显身手的地方。我再找个Key对PinKey和MacKey进行一次加密,这样你就看不到PinKey和MacKey的明文了,好,解决问题了。这时用来对PinKey和MacKey进行加密的Key就被我们称为MasterKey,即主密钥,用来加密其他密钥的密钥。不过,那MasterKey怎么办,它是明文啊。再找个Key来加密MasterKey,那最终无论处理多少道,最后的那个Key肯定是明文,这样看来,安全的问题还没有解决。既然此路不通,那我们需要换个思维角度,仔细想想怎样处理明文的MasterKey。黑客程序只能窃取软件上的东西,如果我把MasterKey放到硬件加密机里面,黑客是没能力跑到硬件加密机里面把MasterKey取出来的。这样只需要把加密级别最高的MasterKey放到硬件加密机里面,问题就解决了。这时存储在硬件加密机中受硬件设备保护的MasterKey(MK)就称为主密钥(根密钥),加解密PinKey和MacKey同时又受主密钥加密保护的密钥称为次主密钥(Member Master Key,MMK)。还有个名词经常被提到,就是3DES。为什么要提出3DES的概念呢?其实推出3DES是因为原来的单DES算法随着计算机硬件的速度提升,已经出现被破解的可能性(DES算法中只用到64位密钥中的其中56位,而第8、16、24、.64位8个位并未参与DES运算,而56位长的密钥通过组合变化,其穷举空间最大为256,这意味着如果一台超高速计算机的速度是每一秒钟检测一亿个密钥,则它穷举完全部密钥只需要23年的时间,随着运算速度的不断提升,穷举用时会更短),所以将算法基于DES进行了改进,即对一块数据用三个不同的密钥进行三次加密,使强度更高。但是对于我们理解金融行业的密钥及加密机制来说,用什么算法都一样,不同算法的差别只是在于对数据进行移位变换等处理的方法不同而已。二、 密钥体系结构不同的信息需要使用不同的密钥加密,密钥分层的好处是有利于密钥的更新和传送,同时保证了密钥的安全性。当其中一级密钥的安全出现问题时,并不会影响其他信息的安全性。下图以江南科友SJL06加密机为例,介绍硬件加密机的三层密钥结构:MKBMK、ZMK加密机主密钥次主密钥工作密钥MAKPIKTMK图3 密钥的层次结构第一层,加密机主密钥(Master Key - MK),是保存在硬件加密机内的由三个成分合成的一对最上层密钥,其作用是将所有存放在本地的其它密钥和加密数据进行加密,在硬件加密机以外的地方不会以明文形式存放,是三级密钥体系中最高级别的密钥。硬件加密机投入运行时,必须先产生和装载MK。由于DES算法依靠某一个密钥进行加密,同时所有密钥和数据都经由MK进行加密,所以MK必须通过一种安全的方法生成和维护。MK由三个成分(32位十六进制数)组成,需要银行三位主要的密钥管理人员参与产生,一般采用“背对背”形式依次录入,记录checkvalue,分开安全保存明文分量。MK以密文形式存储在加密机黑匣子中,且永远不以明文形式出现。一旦硬件加密机受到非授权的操作,主密钥会自动销毁。第二层,次主密钥(BMK、ZMK),又被称为密钥加密密钥或密钥交换密钥(Key-encrypting Key或Key Exchange Key)。它的作用是加密在通讯线路上需要传递的工作密钥,从而实现工作密钥的自动分配。它可以在共享网络中两个(或多个)通讯网点之间进行人工分配且保持双方的对称性。次主密钥由两个成分(32位十六进制数)组成,其产生是由两位密钥管理员用“背对背”的方式共同完成。对于SJL06 RACAL型加密机(雷卡),次主密钥为ZMK(Zone Master Key),需要密钥管理员记录ZMK密钥密文和checkvalue,并将ZMK密文(从第一位“X”后的所有32位16进制数)录入加密机外部的主机数据库中保存;对于SJL06 JK&IC型加密机(金卡),次主密钥为BMK(Bank Master Key),是以索引方式通过MK加密直接保存在硬件加密机中。第三层,通常称为工作密钥或数据加密密钥,包括信息完整性密钥(MAK)、PIN保护密钥(PIK)、终端密钥(TMK),它的作用是加密各种不同的数据,从而实现数据的保密,信息的认证,以及数字签名的功能。这些数据密钥在本地存放时,处于次主密钥的加密之下或直接保存在硬件加密机中。工作密钥需要经常性地定期更换,通常每天更换一次或在系统启动时更换新密钥。三、 硬件加密与软件加密的比较软件加密是不依靠硬件使用程序软件来实现的对数据的加密技术,而硬件加密是依靠硬件设备对传输的数据进行加密的技术。两者的相同点为:使用的加密算法相同,并且密钥体系也相同。两者的不同点为:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国空气炸锅产品迭代方向与厨房场景创新需求研究报告
- 北师版一年级下学期(新版)数学第6单元单元试卷(附答案)-01
- 北京版(新版)一年级下学期 数学第2单元加法和减法(一)单元试卷(附答案)-03
- 2026年蔬菜种植公司自然灾害应急预案管理制度
- 2026年蔬菜种植公司员工离职申请与交接管理制度
- 洞库怎么施工方案
- 开关线管施工方案
- 商品活动策划方案案例
- 2025年医学影像技术考试卷及答案
- 2025年福建事业单位考试模拟题库公共基础行测面试模拟题及答案
- 【社区工作者真题试卷】未来教育2025年社区工作者考试及答案
- 2025年杭州入团考试题库及答案
- 东方航空秋招笔试题及答案
- 2025年大学《文化遗产-国际文化遗产保护》考试备考试题及答案解析
- 《快乐的小河》新课标课件(第二课时)
- 法学生职业规划
- 2025年天津市公务员录用考试《行测》真题及答案
- 毽球知到智慧树章节测试课后答案2024年秋武汉职业技术学院
- 艾伦·麦席森·图灵课件
- XX化工有限责任公司维保方案
- 2022版新课标下如何实施素养导向的大单元教学解读PPT
评论
0/150
提交评论