您现在的位置是:首页 > 行业 > 金融 >
DES技术为银行密码安全撑起“保护伞”
2009-09-08 18:19:00作者:汉口银行信息科技部?杨宇杰来源:
摘要DES的巧妙之处在于除了密钥输入顺序之外,其加密和解密的步骤完全相同,使得在制作DES芯片时,易于实现标准化和通用化。...
银行业正向着网络化方向发展,越来越多的银行之间借助计算机网络交换资金信息,因而保证网络传递资金信息的安全,防止非法窃取和修改,成为银行网络信息化建设过程中的主要目标。本文以DES加密技术为基数,利用加密的软件算法,及加密硬件,设计了一套用于银行的加密平台,并针对该应用方案提出密钥管理策略。
一、DES加密算法
DES是一种单钥密码算法,是一种典型的按分组方式工作的密码。其基本思想是将二进制序列的明文分成每组64bit一组,用长为64bit的密钥对其进行16轮代换和换位加密,最后形成密文。DES的巧妙之处在于除了密钥输入顺序之外,其加密和解密的步骤完全相同,使得在制作DES芯片时,易于实现标准化和通用化。
二、银行业运用背景
银行储蓄系统中储户取款已广泛使用密码支付,储户个人密码安全成为保护储户资金的一个重要问题。随着银行系统对安全性要求的提高,原先使用的明文密码小键盘存在安全隐患,客户个人密码如果以明文形式从终端传送到前台主机,在通信过程中容易被监听而泄露。为防止储户密码通信过程中被窃取,最简单的方法是采用POS、ATM等设备中广泛使用的DES加密键盘替换明文密码小键盘。
加密键盘基本工作过程很简单,客户在密码键盘输入个人密码后,并不马上发送到前台主机,而是将其作为输入数据,预留加密键盘工作密钥作为加密的密钥,按一定算法生成客户密码的密文,然后再上传前台主机。
从加密键盘工作过程看,加密算法、预留工作密钥是加密键盘的关键要素。对于银行来说,国际通用的加密算法标准是ANSI X 3.92 DES及ANSI X 9.8 PIN BLOCK银行卡密码标准,近年新生产的加密设备也支持三重DES的ANSI X 9.9及ANSI X 9.19标准。
三、密钥及其管理
用密码技术保护现代信息系统的安全性主要取决于对密钥的保护,而不是对算法本身的保护,即密码算法的安全性完全取决于密钥,密钥的保护和管理在数据系统中极为重要。工作密钥是事先下载到密码键盘中作为加密运算的密钥,因其在DES加密运算中作用关键,必须保证密钥在键盘中不能被外部读取,下载密钥过程必须是密文传输。为确保工作密钥安全,一般DES键盘均设置三级密钥管理体系,分为原始密钥、管理密钥及工作密钥。原始密钥、管理密钥及工作密钥的关系是加密键盘出厂时预先写入原始密钥,运输到银行后,银行根据原始密钥下载自己的管理密钥,替换掉原始密钥作为根密钥,根据应用需要,再下载各组加密钥。
原始密钥是密码键盘生产厂家与银行事先商定,产品出厂前烧录到键盘的根密码。管理密钥一旦下载到密码键盘,原始密钥将会被管理密钥取代。原始密钥可以通过指令恢复。恢复原始密钥的指令使用后,管理密钥及工作密钥将被破坏,密码键盘恢复到出厂状态。
管理密钥是密码键盘真实的根密钥。由银行根据原始密钥加密下载到密码键盘中,替换掉密码键盘原始密钥作为根密钥,为加密下载所属工作密钥。管理密钥第一次下载通过原始密钥加密下载,以后再次修改管理密钥必须通过前次管理密钥加密下载。
工作密钥是真正用于DES加密运算的密钥,工作密钥通过所属的管理密钥进行管理。每个管理密钥可以管理多组不同的工作密钥,工作密钥需要通过所属管理密钥进行下载。根据不同运用,可以定义用于键盘加密输入工作密钥及用于MAC校验运算MAC密钥。
四、加密平台方案设计
该方案通过在系统后台建立一套加密管理平台,对各组密码进行保存和管理,通过加密机、DES加密密码键盘等硬件设备,实现对客户密码的加密及解密。
1.管理密钥的初始化
加密键盘初始化过程是在系统中对密码键盘设备进行注册登记。首先需要在银行主机上建立密钥库,当有新的加密键盘需要安装时,先对加密键盘设备写入本行设备编号,然后根据键盘出厂原始密钥加密下载管理密钥到键盘中,同时更新银行主机密钥库,记录密码键盘设备编号及该键盘管理密钥,完成加密键盘的初始化。
DES加密键盘的初始化需要在安全环境中进行,密码键盘初始化程序通过串口将管理密钥注入密码键盘,然后才能正常使用。
2.加解密工作流程
在网点安装后,每次柜员登录时,同时需要对加密键盘进行签到。加密键盘签到过程是根据加密键盘设备编号,从银行主机密钥库中取出该密码键盘管理密钥,并产生新的工作密钥(PINK)及MAC密钥,然后加密下载到密码键盘中。下载成功后,更新主机密钥库中的工作密钥及MAC密钥,并与该柜员号进行关联,完成密码键盘签到。当需要客户输入密码时,直接使用当天该柜员工作密钥通过ANSI9.8算法加密客户个人密码。提交后台主机前,使用当天该柜员MAC密钥对交易数据包进行MAC运算,得到MAC校验码,再将MAC校验码与交易数据包合并,上送到后台主机。银行主机接收数据后,使用MAC密钥对交易数据MAC校验码进行验证。之后取出客户密码密文,使用工作密钥进行解密,得到客户密码进行相应处理。然后将处理结果返回前台。
柜员签退时,需要对加密键盘进行签退,加密键盘签退时更新银行主机密钥库,断开柜员与此编号键盘的联系,清除密钥库中使用的工作密钥及MAC密钥,保留管理密钥为下次密码键盘签到作准备。
3.涉及第三方的加密方案
此方案用于使用其他银行的账户在本行柜面或ATM等机具上办理业务,一般会连接人民银行、银联等第三方单位。因此第三方单位使用一个中转密钥用做转加密,此密钥由第三方单位共同管理,各输入一半。
客户在柜面输入密码后,通过本行的密钥加密,发往第三方单位以保证在传输过程中客户密码的安全性。密码加密串经转加密后,传给账户开户行,校验后,返回校验结果。加密方案的工作流程如图所示。
五、结束语
银行客户密码安全是个复杂的课题,新知识、新技术的应用层出不穷,确定一种新加密方法的安全性极为困难。DES的惟一密码学缺点是密钥长度相对比较短。在实际运用中,我们采用三重DES算法。用两个密钥对明文进行三次加密,假设两个密钥是K1和K2,其算法步骤如下:用密钥K1进行DEA加密;用K2对步骤1的结果进行DES解密;用步骤2的结果使用密钥K1进行DES加密。极大提高了密码的安全性,为银行业务的安全开展打开一把“保护伞”。(lynn)
(本文不涉密)
责任编辑:
上一篇:企业年金管理“动态三元安全论”
下一篇:虚拟化的化学反应