本站小编为你精心准备了电子银行身份认证数据加密参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
0引言
计算机技术、电子通信技术和信息技术等引入银行系统,使银行经历了由银行电子化、电子银行、网络银行,到虚拟银行的发展历程。考察它们的特性,不难发现,银行客户与机器的对话成了它们共同的特征,无论银行自动存提款机(ATM)柜还是网络银行和虚拟银行,客户与银行的业务往来已经不需要银行的工作人员与客户进行面对面的交易了。因此,电子银行可描述为通过电子传输的办法,向客户提供全方位、全天候、高品质又安全的银行服务;这正如巴塞尔银行监管委员会所认定的,电子银行是指通过电子渠道提供的零售以及小额银行产品和服务。这种产品和服务包括存款、贷款、账户管理、理财顾问、电子账单支付和其他如电子货币等电子支付产品和服务。电子银行为银行和客户的业务往来带来了极大便利,但同时也为银行带来了风险,如何确认客户的合法性,防止非法客户的侵扰和破坏成了一个重要的课题。尤其到了网络时代,由于互联网(Internet)的无限宽广性,对于银行信息访问的各个环节都无法控制,服务对象、信息路由和访问渠道(诸如拨号、无线上网及宽带技术等)都不能确定。因此,安全控制技术、客户身份确认技术、数据保护技术、稽核跟踪技术以及客户私密标准等显得越来越重要。银行为了规避风险,密码学等信息安全技术在防止非法客户的侵袭方面可起到很好的作用,在人机进行银行业务交易的运作过程中,首先对于客户的身份进行认证成了一道不可缺少的程序,在这个客户身份认证的过程中,最核心的技术就是采用安全性能好的加密算法对客户所提供的信息进行认证,以确定该客户的身份是否合法,这为是否进行下一步的业务交易提供了依据。现在已有很多种加密算法用来支持对客户身份认证这方面的技术应用[1],有采用传统的数据加密标准(DES)和高级数据加密标准(AES)方法的,也有用RSA算法的,以及采用随机序列加密和杂凑算法的,等等。这里研究采用杂凑算法中的MD5算法对客户进行身份认证,在给出具体实现过程的同时,就其相关性能进行了分析。
1客户身份认证的实现
身份认证是识别和证实主体的真实身份与其所声称的身份是否相符的过程,它是网络应用系统中的第一道防线,是安全的网络系统的门户。通过身份认证,可以了解谁试图访问资源,防止非法用户假冒合法用户窃取敏感数据,这对保护资源是必要的;同时,可对特定资源进行必要的访问控制和跟踪审计。身份认证的本质是被认证方有一些不为人知的特征信息(诸如秘密信息、个人持有的特殊硬件或个人特有的生物学信息等),除被认证方自己外,任何第三方(在有些需要认证权威的方案中,认证权威除外)不能伪造,被认证方能够使认证方相信他确实拥有那些秘密(无论是将那些信息出示给认证方或者采用零知识证明的方法),则他的身份就得到了确认。电子银行中的客户身份认证,是这种一般性身份认证的具体化,它可以做如下的描述:当客户提供某个账户要求与银行进行业务交易时,银行的电子端口要求客户提供他所拥有的不能被其他方伪造的特征信息,以用来验证该客户是否是账户的真实拥有者,这个特征信息是私密的,它是客户建立账户时与银行双方所共同约定的,客户向银行提供了这个特征信息,银行获得信息后把它用加密等方式进行信号处理,并把它储存在银行关于客户的数据库中保密起来,当客户要与银行进行业务交易时,客户需再次提供特征信息,银行的客户端对所提供的特征信息进行加解密等运算处理,同时根据客户的账户在服务器端查询原来的特征信息并调出,然后把这两个信息进行认证处理,就可判别该客户的身份是否真实,给出该客户是否继续进行交易的判断。客户的身份认证过程如图1所示。整个认证过程大致可归纳为如下几个主要步骤:①在初始态下,客户向客户端提供特征信息,客户端向服务器端发出该账户的特征信息的查询请求;②客户端对所获取客户提供的信息进行加密或加解密等处理,得到处理后的信息,同时等待服务器终端的响应;③服务器端根据客户端请求,调用数据库查询程序,获得该账户所存储之信息,并反馈给客户端;④客户端获得该账户的两组信息,进行认证判决;若它们是一定长比特的序列,则可采用模2加等运算,比照该两组信息比特是否完全相同;⑤由认证结果给出是否终止银行业务进程。
2MD5算法实现客户身份认证
由上面的分析可以得到,对客户特征信息的处理是认证过图1客户身份认证过程程的核心,也是银行系统不被非法侵扰的重要保护措施,选用具有足够安全性能的加解密算法具有绝对重要的现实意义。选用MD5杂凑算法能够满足银行系统的安全需要。采用信息摘要算法-5(MD5)算法进行客户身份认证的具体过程如下:①由客户提供的特征信息,获得了原始的消息序列,这个消息序列可能是文本或图片,它的信息比特的长度是不确定的;当启用MD5算法时,把所获取的特征信息先进行填充,使得填充后的消息的位数是模512下余448,也就是若设填充后的比特长度为x,则满足x≡488(mod512),填充是必须的,若消息本身比特长为448,此时仍需填充,且要填充512bit。填充的方式是固定的,即第一位填充为1,其余位都填充为0;②用上面的步骤留出64bit,用little-endian方式表示消息被填充前的长度,如果消息长度大于264,则用264取模;③对消息长度已是512的倍数的消息序列进行分组,分组后的消息序列存储在128bit长的缓冲区中,这些缓冲区既存储中间结果也存储最终的杂凑值,缓冲区中的寄存器以little-endian方式存储数据,并进行初始化赋值;这一步完成后,就以分组为单位对消息进行处理,每一分组中的数据都需经过压缩函数HMD5处理,压缩函数HMD5是该算法的核心,它需要经过4轮处理,消息的所有分组都被处理后,最后一个HMD5的输出就是最终的消息摘要,它的长度是128bit。通过以上MD5算法的实现过程分析,不难发现,客户提供的消息最终形成了128bit长的一个消息摘要,整个运算过程是确定的,只要客户提供的特征信息不变,则最后的摘要也不会改变。因此,当客户与银行之间建立账户时所提供的特征信息,银行服务器终端已经把该消息用MD5算法提取出了摘要,并把它存储在服务器端的数据库中;当客户在银行客户端提出业务交易时,客户端要求客户提供特征信息并再次采用MD5算法提取摘要,只要把该128bit的摘要与先前的128bit的摘要进行核实比较,如果它们完全一致,则不能伪造的特征信息表征该客户的身份是合法的;否则,说明该客户的身份非法,客户端就可结束与该客户的业务进程。
3MD5算法的性能分析
MD5算法的安全性、运算速度以及算法的简洁紧致性都表现出显著的特点来。对安全性来说,主要体现在以下3个方面的安全缺陷[2-3]:其一是对单轮MD5使用差分密码分析的方法,可以破译MD5加密;其二是对单个512bit长的消息有可能产生“碰撞”现象,其三是当找出一个消息分组和两个相关的链接变量,就有可能使得算法产生出相同的输出。克服这些安全缺陷的可取方法是采用多轮和多重的MD5算法,因此它的安全性还是有保障的;若要采用穷举法破译MD5算法,则它的运算量需要O(2128)次,显然用穷举法破译它也很困难。此外,已有可靠的哈希算法(SHA)作为它的改进算法,在算法安全性能上也有了较大的提高。MD5算法的运算量较大,尤其对于多轮或多重迭代运算来说,它的计算量就更大,所以它的速度相对较慢。但该加密算法不需要解密运算,具有简洁明快的描述,实现起来也比较简单紧凑,不需要大的程序和代换表,表现出紧致完美的特性。具体结果如表1所示。
4结语
电子银行中客户身份的认证技术,对于银行规避风险具有非常重要的作用。这里提出采用MD5算法或以此为基础的改进算法,以及复合算法为核心,构建一套安全程度较高的客户身份认证系统是完全可行的,MD5算法实现简单,无需解密过程,结构紧致简洁,有广阔的应用前景。