您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 网络银行安全支付系统设计
1网络银行安全支付系统设计一、系统设计目标网络银行是现代通信网络(尤其是Internet、Intranet等计算机互联网络)日益迅速发展的背景下,金融贸易实现电子化、自动化、网络化的必然趋势。网络银行的核心问题是如何提供实用可靠的安全服务。本项目是基于WEB的“网络银行安全支付系统”方案的设计与实现。在安全可靠快速的加密算法和安全机制基础上,重点通过安全协议的研究和设计,实现安全、可靠、实用、便捷的电子支付系统。用户将通过本系统提供的应用程序和安全环境,方便安全地进行网络购物和电子支付。本项目的研究成果可广泛应用于电子转帐、网络证券、电子支票等电子商务系统中,具有一定的应用前景和市场推广价值。二、系统功能设计用户通过相关部门审核并交纳一定的费用,在网络银行注册帐户或增加余额。用户将获得唯一的用户名(ID唯一)和相应的密码。商店也应通过相关部门审核在网络银行注册帐户。商店将获得唯一的用户名(ID唯一)和相应的密码。管理人员可方便地对用户帐户的相关数据进行维护。用户通过浏览器访问“网络商店”界面,可以浏览商品信息,并可将欲购物品放入购物篮,并输入用户ID和口令便可进行购物。网上信息均是经过高强度的非对称加密,保证用户的购物信息和支付信息的安全。用户购物成功后将得到银行的对所购物品的数字签名。“网络商店”有相关的服务管理程序,不仅可以对商店的商品进行方便维护,而且可以自动的分析用户的购物信息并和“网络银行”或用户进行回应。“网络商店”发给“网络银行”的信息不仅有商店无法破解和伪造的用户购物信息也含有只能被银行所识别的商店信息。“网络商店”还可自动得到经“网络银行”确认成功的购物信息,以便对用户进行送货。“网络银行”的服务器软件可以自动处理经商店发来的购物信息,并对用户的帐号中的相关数据进行更改,且向用户发送具有法律效应的相应购物的数字签名。向商店发送购物成功的信息,以便商店送货,并将相应金额划入所对应商店的帐户。三、功能模块设计本软件系统主要有“网络银行”、“网络商店”两管理部分和浏览器应用部分。具体分为1)用户/商店管理程序;2)“网络银行”服务器软件;3)“网络银行”主页;4)“网络商店”管理软件;5)“网络商店”服务器软件;6)“网络商店”主页。(一)用户/商店管理程序用户/商店管理程序建立于网络银行的用户/商店数据库基础之上,以客户软件的形式向管理人员提供用户商店的管理界面,主要功能包括:1、开户:帐号、口令、电子邮件地址、送货地址、帐户余额等;22、帐户管理:对用户帐户进行增减金额、查询与清算对各商店的应付金额;3、查询余额:可实时查找用户的资金余额,以及与商店的清算明细;4、报表输出:可以对指定时间区间用户或商店的资金变化情况;5、密钥的自动更新与维护;6、帐户的清算与撤销。(二)“网络银行”服务器软件网络银行的服务器软件除提供WEB服务外,还能自动对购物信息进行处理和回复。(三)“网络银行”主页网络银行主页应能以浏览器的形式向用户提供资金查询和用户相关个人信息更改功能。进行资金查询时必须提供个人ID和密码,且网上传输的信息以密文形式传输。在进行个人信息修改时,身份证号码、帐号、余额禁止修改但可显示,住址及密码可以修改,主要是提供密码修改功能,且网上传输的信息也必须以密文形式传输。(四)“网络商店”管理软件1、商品上网商品上网是将现有或新购且准备在网上进行销售的商品增加进商店的网络数据库中。商品上网功能中也可进行已上网商品的数量增加,也可进行已售完或过时商品的下网。2、价格调整可以单个或成批地调整商品的特价。3、商品类型可以增加或重新定义商品的类型。4、雇员管理由于商店有送货业务,所以商店必须能对雇员(送货员)进行管理,实现其增加、修改与删除功能。5、查询与报表为了能随时了解商店商品的销售和库存情况,查询与报表功能可以对指定时间段(或时间)、部分或全部商品的销售明细及库存情况进行查询和打印。6、商品派送能自动接收并提示经银行确认交易成功的购物,再由操作员选定雇员进行派送。(五)“网络商店”服务器软件网络商店的服务器软件除提供WEB服务外,还能自动对购物信息进行处理,对能满足条件的购物定单向网络银行进行转交,对于不能满足的购物自动对用户进行回绝。对于是否满足购物的判定方法可选如下三种中的一种:1、对于用户的一次购物申请中的所有商品及数量进行判断,若本商店不能满足任何一项商品则对整个购物进行回绝,只有在全部满足时才对网络银行进行提交;32、对于用户的一次购物申请中的所有商品及数量进行判断,若本商店不能满足某一项(或几项)商品则对不能满足的商品进行剔除后再提交给网络银行。3、对于用户的一次购物申请中的所有商品及数量进行判断,若本商店不能满足某一项(或几项)商品则将用户购物中不能满足商品的数量减少商店可提供量后再提交给网络银行。在本系统的设计时,采用第一种判定方法。(六)“网络商店”主页网络商店主页以能帮助用户方便地进行进行购物为原则。它可以按大小类分级显示商品、可以给用户提供新品展示、强力热销、精品推介等功能。也可以方便快捷地浏览具体商品的图文信息。在将所需商品选入购物蓝后,可方便调整所购货物的数量,在认为合适后便可向商店下定单。在下定单时,用户可以指定送货时间及回复用Email地址。所有网上传输信息均是加密传送。四、安全机制设计(一)加密设计1、RSA系统设计①随机取两个独立大素数p与q(保密)②计算n=p.q(公开)φ(n)=(p-1)(q-1)(公开)③随机选取整数e≤n,满足gcd(e,φ(n))=1(公开)④计算d,满足d≡e-1(modφ(n))(保密)利用RSA加密第一步需要将明文数字化,并对长度小于log2n位的数字作为明文块M。加密算法C=E(M)=Me(modn)解密算法M=D(C)=Cd(modn)以上RSA系统记为RSA(n,e),其中P=n,e为加密公钥;S=n,d为解密私钥。2、对RSA系统的基本要求由于对RSA攻击取决于对n的因子分解,因此为保证RSA的加密强度,n要取得足够大,但过大的n值会造成加密计算费时,难以在电子商务系统中取得实践应用。建议取p和q为100位以上十进制数,且为强素数,这样n为200位十进制数。要分解200位十进制数,即使用运算速度为107/s的高速计算机,也要耗时108年。在网络银行安全支付系统中,我们取p和q为512bit(相当于154位十进制数),可见加密强度足够高了。在保证RSA加密强度足够高的情况下,算法的速度成为能否在电子商务系统中成功应4用的关键。目前,我们已经做到了用512bit密钥加密1KB明文,平均在2s内完成,这主要依靠算法和代码优化来保证的。网络银行定期自动生成密钥对,当前有效的私钥保存于服务器的内存中,公钥在数据库中可被浏览器间接访问。在每次更新密钥时,自动将存放在计算机内存中密钥写到表中,并将更新时间表中也写到表中。密钥更新周期为24小时。对于网络用户在网站上输入的用户账号,密码和购物信息等一些私人信息,必须防止不适当的人员在浏览Internet或使用你本地网络时访问这些数据。系统中通过加入了数据加密的ActiveX控件,来确保数据传输的可靠性。(二)数据的完整性设计数据的完整性是指数据不因未授权的非法修改从而使得数据保持未受损的完整状态。数据的完整性同样包括数据存储的完整性和数据网络传输的完整性。这种数据的完整性通常由系统的访问控制机制来实现。系统中我们使用了消息文摘的方式来实现数据传输的完整性。即数据的发送方在发送数据的同时利用单向的哈希函数(Hash是将任意长的数字串M映射成一个较短的定长输出数字串H的函数)计算出所传输数据的消息文摘H(M),并将该消息文摘随数据一起加密发送。接收方在收到数据的同时也收到该数据的消息文摘,接收方使用相同的算法计算出接收到的数据的消息文摘,并将该消息文摘和接收到的消息文摘进行比较,如果二者相同,则可说明数据在传输过程中没有被修改,数据的完整性得到保证。具体实现过程为:设要传输的数据为M,经哈希函数算法计算后的数据的消息文摘为H(M),则实际传输的数据为M‖H(M),经加密后在网上传输到服务端,在服务端解密得到传输数据的M和H(M)部分。然后经过相同的哈希函数算法由M计算出H’(M),比较H(M)和H’(M),若相同则数据表明传输数据没有被篡改。(三)身份认证身份认证是所有管理信息系统中最基本的安全保护手段,其目的是确定某一用户的身份,以此确定用户的访问权限。在此我们仍采用用户名(username)和口令(password)的常规方式来鉴别用户的身份。由于网络传输的不安全性,用户身份鉴别的数据必须加密传输。虽然用于用户身份鉴别的数据的信息量较少,但其意义却非常重要,因此必须有较高的加密强度。在此我们采用数传输数据M‖消息文摘H(M)RSA加密RSA解密由传输数据M部分计算出H’(M)H(M)=H’(M)数据完整数据不完整否是5据信息和消息文摘结合,然后对其进行加密处理。另外考虑到服务端处理器的处理能力用户身份鉴别的服务端,把用户的用户名和口令事先使用哈希函数计算出其消息文摘,然后用户名、口令和消息文摘一起通过RSA加密处理程序计算出用户认证信息,保存在用户认证数据表中具体实现如图所示。(四)数据传输机制用户为了给银行发送信息,先从银行的服务器获得公钥,用该公钥将信息加密后发给银行(或间接经商店发给银行,用户的购物信息就是间接经商店发给银行的)。银行用自己的私钥便可解密用户加密过的信息。用户给商店发送的信息与用户发给银行的信息类似,但加密密钥要注意用商店的加密密钥,并且由于商店与银行密钥位数的不同应注意要用不同的加密程序。用户在购物时,①首先分别获取银行与商店的公钥,将需要给银行的信息(如:用户帐号、商店帐号、总金额、定货时间)和需要给商店的信息(商店帐号、商品编号和数量、收货时间、临时返回Email等)分别经相应加密后(商店不能破解用户给银行的加密信息)发给商店。②商店对用户发给自己的加密信息进行解密并进行初步判定,认为满足时将用户需要间接经商店发给银行的加密信息连同商店与该定单相关的专有信息(如:商店帐号、总金额、临时定单号)用银行的公钥加密后发给银行。若不满足,则用解密出的临时Email通知用户定购失败。③银行在收到商店发送来的购物信息进行解密及合法判断,在认为合法且用户资金满足订货金额时,用商店的公钥加密发给商店的交易成功的信息,且以明文形式和用银行私钥形成的数字签名作为凭证通知用户交易成功。若不满足时通知商店及用户。以上流程在传输信息时不会被非法者破解的。另外,由于有“订货时间”的限制,商店不能利用旧定单反复骗取用户购物;由于用户发给商店的信息包含商店帐号以及定单总金额的约束是非购物商店无法转移用户向正确商店的购物。用户银行:取得DB用户商店:DB(用户帐号+商店帐号+总金额+定货时间)+DS(商店帐号+{商品编号+数量}+收货时间+Email)商店用户:用户端Ausername、password和消息文摘RSA加密处理程序服务端username、password和消息文摘RSA加密处理程序服务端加密的认证信息RSA加密处理程序用户端Busername、password和消息文摘6在用户提交的信息被否决后,用email通知用户。商店银行:DB(用户帐号+商店帐号+总金额+定货时间)+DB(用户帐号+商店帐号+总金额+临时定单号)银行商店:DS(临时定单号+用户姓名+送货地址)银行用户:EB(用户帐号+商店帐号+总金额)+通知信息7五、数据结构设计网络银行安全支付系统主要分为三大部分,网络银行帐务数据管理和网络商店的商品信息管理,网络服务主页部分。(一)网络银行帐务数据信息管理包括用户和商店的帐号信息、用户和商店的资金流动信息、交易信息、RSA公钥信息和来自网络商店的交易请求信息管理。I.数据流图II.数据结构信息。1.用户帐号信息表[UserInfo]该表主要用于用户身份认证、存放用户资金余额及供交易使用的基本用户信息。Table1-1用户帐号信息表
本文标题:网络银行安全支付系统设计
链接地址:https://www.777doc.com/doc-5513167 .html