1.前言
我国各家商业银行经过多年的努力,业务处理电子化系统已被广泛使用,并在全行范围内实现了电子化。但是,由于各商业银行之间的竞争,特别是在中国加入WTO后金融业的开放,金融、证券、保险的混业经营等的挑战,促使银行服务业向以客户为中心的理念发展。这种趋势,一方面体现在银行不断推出各种面向客户的新业务,如网上/手机银行,贷记卡,各种中间业务等等;另一方面体现在银行决策向科学化发展,如客户群分析,效益/成本分析,风险防范等。所有这些新需求,都需要有大集中式银行综合业务处理系统强有力的支持。为此,各家商业银行的业务应用已经实现或正在实现大集中式处理。数据大集中处理促使银行电子化成本下降,有利于新技术的使用和推广,有利于数据的分析和挖掘,有利于经营管理。而在商业银行的大集中式业务处理系统中,在自助设备(ATM、POS、多媒体终端等)与区域数据中心主机之间设置有综合前置系统,该系统承担连接银行各种设备和外系统(渠道服务:银联、电信、税务等)的设备及交易数据的转接,它是银行数据交换的枢纽,也是银行安全保障的核心部分。这样一来,银行应用数据的安全性就变得尤为重要,这也是各商业银行最为关心的问题。因为银行系统的安全关系到银行自身和客户的利益能否得到应有的安全保障,所以在提高金融电子化水平的同时,金融体系的安全程度也要随之加强。为此,提出本'商业银行综合前置数据的安全解决方案',请专家和领导提出宝贵意见。
1.1金融网络对数据安全的基本要求
● 数据的保密性
对一些敏感或重要的数据(如客户PIN)利用密码技术进行加密处理,在整个交易过程中PIN不能以明文方式出现,以防止它被未受权者获得。
● 数据完整性
在金融业务处理过程中必须防止数据被意外或人为的修改。常用的技术是对数据进行某种运行得出校验码(MAC),通过对校验码的验证来签别数据的完整性。
● 身份认证
任何用户在进入计算机网络或计算机系统之前,必须首先向网络或计算机给出能表明自己身份的鉴别标志,经鉴别核实后方被允许使用计算机。
● 发送方对发送数据的不可否认性
采用一个数字签名,可以有效的防止发送方被他人冒充,同时接收方可确认报文内容确无篡改,发送方对其所发信息也不可否认。
● 可审计性
审计对金融的安全管理十分重要,审计是发现犯罪和侦查取证的重要手段之一。
1.2使用硬件加密设备的必要性
目前所使用的加密方式有两种,即软件加密和硬件加密。使用软件加密成本低廉但是存在以下不足:
- 软件的运行要占用主机资源,并且软件的处理速度较慢。
- 软件运作时很多重要的资料(如用来做密码运算的密钥,或顾客的PIN)都会在某时间清晰的出现于计算机的记忆或磁盘上,而对计算机数据安全有一定研究的不法分子便有机会把这些资料读取、修改或删除,破坏系统的安全性。
- 软件不能提供一种有效的机制保护密钥的存储安全。而密钥一旦被人盗取,则客户密码PIN也就无安全可言。
- 而国际银行卡组织(VISA、万事达)以及我国的银联组织均作出了在金融系统中必须使用硬件加密设备的规定。并且根据我国有关法规,不能使用进口涉密产品。
本文的的目的就是介绍如何使用硬件加密设备来完善商业银行综合业务系统的数据安全问题。
2. 需求分析
2.1 现有系统状况
在一个分行辖内,本行的ATM、POS、多媒体查询终端等自助业务终端均联结到本行的综合业务前置机上,综合业务前置机连到区域中心的业务主机上。对于开通外卡收单的分行,综合业务前置机还需要与银联中心、外卡中心及外系统中心(渠道服务)连接。综合业务前置机使用软件加密模块来完成对数据的加密保护,部分终端设备没有提供硬件加密模块也是用软件来完成对数据的保护。
2.2 安全需求
综合业务前置机的软件加密模块必须使用硬件加密机代替,所有密码运算都在加密机内完成,客户PIN不能在加密机外出现。
ATM、POS等自助设备也需要相应的硬件设备来完成加密运算和密钥的保护工作。需要建立一套完善的密钥管理体系来规范密钥的产生、分发、使用、保存等的安全。
3. 密钥体系介绍
硬件加密机要有一套完善的密钥管理方案,这包括密钥的产生、分配、贮存、转换、分工和分层。北京弘远公司所代理的总参56所硬件加密机采用国际标准(ISO8732、ANSIX9.17),对密钥进行三层密钥管理模式,令成员行和交换中心处理密钥的工作更为安全和方便。
以分工来说,不同的信息需使用不同的密钥加密,例如交换中心与银行互联的区域PIN密钥(ZPK,又称PIK)便与生成信息认证的Zone Authentication Key (ZAK又称MAK)不同,这样的好处是当其中一密钥的安全出现问题时,并不会影响其他信息的安全性。而密钥的分层则有利于密钥的更新和传送,同时保证了密钥的安全性。
3.1 硬件加密机密钥结构
下图以SJL06加密机为例,介绍硬件加密机的三层密钥结构:
密钥的层次结构
第一层,MK为加密机主密钥, 有三个成分组成,它是采用双倍标准的DES密钥(长达112位),它是存放在HSM机内的,真正实现三重数据加密技术。它的作用是将所有在本地存放的其它密钥和加密数据进行加密。由于本地存放的其它密钥和加密数据,都是在MK加密之下。因此,MK是最重要的密钥。
第二层,BMK通常称为密钥加密密钥或密钥交换密钥(Key-encrypting key或Key Exchange Key)。它的作用是加密在通讯线路上需要传递的工作密钥。从而实现工作密钥的自动分配。在本地或共享网络中。不同的两个通讯网点使用不同的密钥加密密钥,从而实现密钥的分工管理,它在本地存放时,处于本地M的加密之下或直接保存在硬件加密机中。
第三层,通常称为工作密钥或数据加密密钥。包括PIK、MAK、TMK(包括TPK、TAK)等密钥,它的作用是加密各种不同的数据。从而实现数据的保密,信息的认证,以及数字签名的功能,这些数据密钥在本地存放时,处于BMK的加密之下或直接保存在硬件加密机中。
3.2 加密机密钥分类
下面介绍一下加密机中最主要的几种密钥:
- 1、加密机主密钥(MK)
加密机主密钥(Master Key - MK)是存入在HSM机内的由三个成分合成的一对最上层密钥。在HSM机器以外的地方不会以明文形式存放,它采用双倍标准DES密钥(长达112位)实现三重数据加密。
HSM投入运行时,必须先产生和装载MK。由于DES算法依靠某一个密钥进行加密,同时所有密钥和数据都经由MK进行加密,所以MK必须通过一种安全的方法生成和维护。
MK的产生需要银行三位主要的管理人员参与产生,在SJL06主机加密模块中采用MK(加密机主密钥)对BMK进行加密保护;
MK由三个成分(32位十六进制数)组成,由加密机使用单位通过行政手段分派专人管理和维护,一般由2~3人采用"背对背"形式进行输入;
MK以密文形式存储在加密机黑匣子中,且永远不以明文形式出现。
- 2、银行主密钥(BMK)
银行主密钥(BMK),是加密密钥用的密钥,适用于共享网络中,它可以在共享网络中两个(或多个)通讯网点之间以部分形式进行人工分配且保持双方的对称性,共享网络中任何两个通讯网点之间均共用不同的BMK。BMK用于加密底层需要传送的数据密钥,这样远地密钥就能自动进行交换(无须人工干预)。该密钥可以长期不更改,通常二年更新一次。本地存储时,BMK是通过MK进行加密的或以索引方式存储在加密机中。
- 3、区域PIN密钥(PIK)
区域PIN密钥PIK是一个数据加密密钥,适用于共享网络,它通过BMK加密在两个(或多个)通讯网点之间进行自动分配,PIK用于加密两个通讯网点之间需传输的PIN,这样就实现了PIN的保密。PIK需要经常性地定期更改,在本地存储时,它是通过BMK进行加密的。PIK需要经常性地定期更改,通常每天更换一次。
- 4、区域MAC密钥(MAK)
区域MAC密钥MAK是一个数据加密密钥,适用于共享网络,它通过BMK加密在两个(或多个)通讯网点之间进行自动分配。用于两个通讯网点之间传送信息时,生成和校验一个信息认证代码(Message Authentication Code),从而达到信息认证的目的。MAK需要经常性地定期更改,通常每天更换一次。
- 5、终端PIN密钥(TPK)
终端PIN密钥是一个数据加密用的密钥,适用于局域网络中,它是在局域网内通过TMK加密,由终端数据受理者自动分配到终端且保持通讯双方之间的对称性。TPK用于加密在局域网内终端和终端数据受理者之间传送的PIN。TPK在本地存储在加密机中通过索引的方式调用。TPK需要经常性地定期更换,通常每天更换一次。
- 6、终端认证密钥(TAK)
终端认证密钥是一个数据加密用的密钥,适用于局域网内。它在局域网内通过TMK加密由终端数据受理者自动分配到终端或通过BMK加密由终端数据受理者自动分配到交换中心。TAK用于局域网内终端与终端数据受理者之间传送信息时,生成和校验一个信息认证代码(Message Authentication Code),从而达到信息认证的目的。TAK需要经常性地更换,通常每天更换一次,TAK在本地存储在加密机中通过索引的方式调用。
- 7、PIN 校验密钥(PVK)
PIN 校验密钥是一个数据加密密钥,用于生成和校验PIN校验数据,同时校验一个PIN的可靠性。传送时PVK通过TMK或ZMK加密;存放本地时,它通过MK加密。
- 8、卡校验密钥(CVK)
卡校验密钥(CVK)类似于PIN校验密钥,仅仅是用卡的信息取代了PIN。
4. 解决方案
本方案采用SJL06T和SJL06S加密机为国有商业银行的综合前置系统的数据安全问题提供一基于应用层解决途径。
4.1 设备部署
ATM/CDM和自助终端的数据安全网络连接,如下:
综合业务前置机与数据加密机(SJL06)连接,将所有对交易的加密、解密工作在加密机内部完成。对综合业务前置机来说,送到加密机一个综合业务前置机和终端设备共有的密钥(TPK)加密的PIN加密机返回一个用前置机和中心共有的密钥(PIK)加密机的PIN,而PIN明文不可能出现在加密机以外。为了保证系统的可靠运行,每台前置机应连接两台加密机,它们之间互为热备份。
在业务终端,POS使用其本身的加密模块;ATM、多媒体终端等自助设备使用SJL06S加密机。SJL06S保护本地的密钥并完成客户PIN的加密等运算工作。其价格是客户可接受的,低廉的。
在数据中心主机和前置机,使用SJL06T加密机,将所有对交易的加密、解密工作在加密机内部完成。
4.2 密钥分配
密钥分配的目的首先是使主机之间分别共享相同的传输密钥(BMK),以便工作密钥的安全传输。然后便后可定时生成工作密钥进行加密下传,从而保证通讯的双方具有相同的工作密钥。下图以ATM、综合业务前置机和中心业务主机间密钥的分配为例:
密钥分配:BMK是通讯双方各有一个人出一个密钥成分在加密机上以背靠背的方式直接输入加密机,加密机内部将BMK生成。BMK明文不可能在加密机以外出现。工作密钥(如PIK)是由通讯一方在加密机内部随机产生,并用相应BMK加密输出加密机被传送到通讯的另一方。在通讯的双方,工作密钥也仅仅能在加密机内部解密使用,其明文不可能在加密机以外出现。
密钥分段有效原则:每个密钥仅在某一区域内存在并有效,不同区域间的密钥之间没有任何关系。这样可以保证不会因某个区域的密钥的泄露而影响其它区域间传输的数据的安全。
密钥更换原则:加密技术并非是永远不可破解,通过密钥的更换可以有效提高系统的安全性。
MK、BMK更换原则:
● 每年一次定时更换;
● 当掌管密钥成分的人离开本工作岗位;
● 在发现密钥已经泄密或正在受到攻击。
工作密钥更换原则:
● 每天至少更换一次;
● 系统启动时更换新密钥;
● 当交易笔数超过一定量(如1000笔)时;
● 交易多次MAC失效;
● 其它原因人工干预更换
4.3 业务数据安全传输
数据安全传输是要保证传输数据的保密性及完整性。用工作密钥对重要的传输数据进行加密,对所有传输数据(全部或部分)作MAC运算。上图是一交易处理流程例图,其说明如下:
ATM将PIN明文和BMK1加密下PIK1送入SJL06S加密机;
SJL06S将PIK1加密下的PIN返回ATM;
ATM调用SJL06S完成MAC的产生(发送BMK加密下的MAK和MAC数据到加密机,以下相同)后将交易报文发送综合业务前置机;
综合业务前置机首先调用SJL06T完成交易MAC校验,然后将ATM送到的PIN密文,BMK1加密下PIK1 和BMK2加密下PIK2以及PIK1加密下的PIN送入SJL06T加密机;
SJL06T加密机将客户PIN在加密机内部转换成用PIK2加密保护返回综合业务前置机,如果需要加密机还将完成PIN BLOCK的转换;
综合业务前置机调用SJL06T完成MAC的产生后,将新的交易报文发送区域中心业务主机;
区域中心主机首先调用本地加密机完成交易MAC校验,然后将综合业务前置机送到的PIN密文,BMK2加密下PIK2以及本地存放的PIN密文等信息本地加密机;
区域中心的加密机在其内部将业务终端上送的PIN和本地数据库中存放的PIN进行比较(也可能是其它校验方式)完成PIN的校验,并将校验结果返回区域中心主机。
业务的返回过程与此相似本文不在说明;
5. 软加密系统改造方案
目前在银行运行的系统中,数据加密采用仍采用软件包实现,各种密钥以函数参数的形式或数据文件的形式提供,安全上存在很大问题。
如何将现有软加密体系改造成硬加密体系呢?
以下几个方面需注意:
通常应用程序中的通信处理软件分析处理"8583"数据包,并按数据安全处理要求调用加密功能。参见下图。其组成主要是加密接口和加密软件包。
改造方案尽量不改动原软件加密接口,而仅将加密软件包更换成硬件加密机驱动程序。由供应商和银行技术人员共同完成驱动程序和应用程序接口API的改造工作。使整个改造工作不会影响牵扯到通信处理或业务系统,不会影响到已经上网正常运行的联网业务。真正做到软加密体系至硬加密体系的无缝切换。