随着网上银行业务的迅速发展,对网上银行系统使用的数据传输加密方式的要求也越来越高。那么接下来我就给大家讲一讲网上银行系统数据文件加密的方法。

一、网上银行系统数据文件加密方式

目前银行系统的数据文件加密方式主要分为对称密钥加密方式(即私钥加密方式)跟非对称密钥加密方式(即公钥加密方式)两种。

对称密钥加密方式目前最具代表性的是前美国数据加密标准DES加密算法,它使用长度为56比特的密钥加密长度为64比特的明文,获得长度为64比特的密文。在使用过程中,可以将明文按64比特大小的块进行分组,然后将密钥和明文采用分组和置换的方式达到混乱与扩散效果,形成明文对应的密文。DES加密算法的主要优点是加、解密速度快,算法易实现,不容易被破解。缺点是密钥分发问题难以解决。目前DES加密算法在银行内部各应用系统之间应用广泛,主要通过硬件加密机实现密钥分发和管理。但是在网上银行系统中,由于交易发起方为网银客户,如何将密钥安全便捷地分发给网银客户是对称密钥加密方式面临的难题,因此其在网上银行系统中的应用也受到限制。

动态口令加密方式(又称一次一密加密方式),此加密方式利用散列函数产生一次性口令,该口令一次有效,破解难度较高。动态口令的产生因子一般都采用双运算因
子,其一为用户的私有密钥,它标识用户的身份,其二为变动因子,利用它的不断变化产生不断变动的动态口令。在网上银行系统使用时,可以用预先设定的用户私有密
钥和随机的变动因子产生多个动态口令,并采用有效的方式保存下来,制作成动态口令卡。网银客户开通网上银行业务时领取动态口令卡,使用时根据网银系统的提示输入动态口令卡中存储的用户私有密钥和变动因子(比如坐标等),并将其提交到网银系统。网银系统根据上送的用户私有密钥和变动因子重新计算生成口令,网银系统通过比较新生成的口令与系统中保存的口令来校验用户的合法性。目前工商银行、建设银行等的“刮刮卡”即是动态口令加密方式的典型应用。

非对称密钥加密方式目前在银行系统中应用最广泛的为RSA加密算法,它是第一个既能用于数据加密也能用于数字签名的算法。它的安全依赖于大素数的因式分解问题,印从一个密钥和密文推断出明文的难度等同于分解两个大素数的乘积。它使用不同的密钥进行加密和解密,两个密钥,分别称为“公钥”和“私钥”,采取配对使用。公钥对外发布,放到数字证书中或USBKey中,私钥由银行方保存,解密时使用。RSA加密算法的主要优点是密钥分发简单,算法安全强度高,不易被破解,缺点是加密速度慢,不能用于大数据量数据文件加密。由于RSA加密算法密钥分发简单,算法安全强度高,其在网上银行系统的应用非常广泛。目前各商业银行使用的数字证书或USBKey就是采用了此种数据文件加密方式。

二、网上银行系统数据文件加密方式的应用

非对称密钥加密方式具有密钥分发简单,算法安全强度高,不易被破解等诸多优点,非常适合网上银行系统的应用,是业内公认最安全的数据加密方式。但是由于其加
密速度慢,无法用于大数据量数据加密。因此,当前主流的做法是,网上银行系统与网银客户之间的数据加密方式采用非对称密钥加密方式,银行内部各应用系统之间数据加密方式采用对称密钥加密体系,因此就需要在网上银行系统做一下非对称密钥加密算法到对称密钥加密算法的转换。

下面就以基于RSA加密算法和DES加密算法的硬件加密机的应用为例,详细说明网上银行系统的密钥管理体系及验密交易流程。

1、网上银行系统密钥管理体系

网上银行系统密钥管理体系分为两部分,一部分是对RSA加密算法的密钥管理,另一部分是对DES加密算法的密钥管理。

RSA加密算法密钥管理体系分为公钥和私钥两部分,公钥用于加密数据文件,私钥用于解密数据。公私密钥对由加密机产生,其中私钥保存在加密机中,公钥作为参数输
出,保存到数字证书中或USBKey中。客户登陆网上银行系统时,用数字证书中或USBKey中的公钥加密各种不同的业务数据,实现对数据的加密网上银行系统用保存的私钥解密客户上送的业务数据,实现对数据文件的解密。

DES加密算法密钥管理体系分为三层,分别为加密机主密钥(Masterkey简称MK)、银行主密钥(BaseMasterkey简称BMK)、工作密钥(Workkey简称WK,包括信息完整性
密钥、密码保护密钥、及终端密钥等)。其中,加密机主密钥MK加密保护本地存储的银行主密钥BMK.银行主密钥BMK加密保护本地存储的工作密钥WK和传输过程中的
工作密钥WK,工作密钥WK用于加密各种不同的业务数据文件,从而实现数据文件的保密、信息的完整性验证。

2、网上银行系统验密交易流程

网上银行系统数据文件加密方式
如图1所示,网上银行客户登录网银时用数字证书中或USBKey中的公钥加密发起的业务数据,并将交易数据发送到网银系统服务器。网银系统收到交易请求后,首先调用加密机,用公钥所对应的加密机中保存的私钥解密交易请求数据,然后用与银行前置系统约定的对称密钥加密交易请求数据,并将交易请求发送给银行前置系统。银行前置系统收到交易请求后,首先用与网银系统约定的对称密钥解密交易请求数据,并用与银行核心系统约定的对称密钥加密交易请求数据,并将请求发送给银行核心系统。由核心业务系统完成交易数据的验证,从而实现网上银行系统交易的完整安全校验过程。

小知识之USB Key

USB Key是一种USB接口的硬件设备。它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法实现对用户身份的认证。由于用户私钥保存在密码锁中,理论上使用任何方式都无法读取,因此保证了用户认证的安全性。