




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新一代个人网银分行特色业务介绍及开发规范交通银行个人网银项目组2006年09月修订记录2引言31技术架构介绍31.1.特色业务架构31.2.特色业务数据流和操作流程说明32.网络与安全42.1.总分行模式总体网络拓扑结构43.总行 HTTP Proxy功能说明63.1.功能列表64.开发规范64.1.界面风格64.2.普通交易请求74.3.文件下载84.4.文件上传84.5.数据签名84.6.启用手机动态密码104.7.密码控件124.8.开发模板14修订记录日期版本修订目的描述作者审核2005-9-201.0文档初建2006-12-131.1添加4.6启用手机动态密码添加4.7密码控件毛乃峰引言由于新一代网上银行模式与界面的改变,对分行的特色业务随之带来了相应的变化,证书版本的推行,登录方式的改变,都将影响到老网银的特色业务模式,主要改变为如下两点:n 界面风格的改变;n 密码传送的改变;老网银交易模式为由总行网银通过HTTP Proxy每次传送客户登录密码,密码加密处理;而新网银证书版的推出,客户用证书登录,总行无法传送交易密码,现改变为由分行提供界面给客户输入密码,传送至总行网银APP SERVER,由总行网银APP SERVER加密后,在传递给分行特色业务APP SERVER,解密后进行业务处理。详细处理方式请参照开发规范。以下为新一代网上银行特色业务介绍及开发规范。1 技术架构介绍1.1. 特色业务架构新一代网上银行分行特色业务架构沿用老的对私网上银行特色业务系统架构,是一个基于J2EE 的B/S系统,与总行网银的技术架构完全一致。架构设计的原则是,总行端进行请求转发,分行端实现业务逻辑以及界面展现。1.2. 特色业务数据流和操作流程说明分行特色业务功能通过 Web 页面直接访问,客户登录总行网上银行,在总行端建立起用户ID的SESSION信息后,点击“代理缴费”的菜单,总行应用服务器根据客户登录卡号,获取该卡的分行号,根据该分行号获取分行的特色业务APP SERVER的首页面地址(总行端维护),通过总行Http Proxy代理,将请求转发至分行特色业务应用服务器,再获取分行返回数据流,展现至客户端 ,这样类似一个特色业务登录的过程就完成了;之后 客户总行应用服务器分行应用服务器之间的数据交互同样通过Http Proxy代理来完成。数据流如下图所示:2. 网络与安全2.1. 总分行模式总体网络拓扑结构如下图所示:说 明:n DMZ区前为PIX防火墙,客户访问近来先穿透该防火墙;总行网上银行WEB SERVER架设在DMZ区,因为它的安全级别相对较低,WEB SERVER存储的是静态页面和图片。n F5为负载均衡设备,承载的功能为广域网的链路负载(网通、电信)及交易的流量负载,同时它具备防攻击的特性。n 从WEB SERVER过滤请求,对于安全级别交高的请求,WEB SERVER将请求转发至网银APP SERVER,同样,从DMZ区访问中心网段需要穿透一个防火墙。n 特色业务的访问是通过总行应用服务器直接访问分行的特色业务应用服务器,总分行间链路通过行内内部网,对于交易请求的关键字段,例如卡号和密码,总分行约定加密算法进行加密处理(见开发规范)。n 对于公网的交易数据请求,通过标准的单向的SSL和双向的SSL(证书)进行链路加密处理。n 上图中,若对于大集中上线行,直接通过分行ICS访问总行C-BANKING。3. 总行 HTTP Proxy功能说明3.1. 功能列表n 请求转发;访问到分行的特色业务APP SERVER。分行特色业务请求的URL作为HTTP Proxy 的一个参数,HTTP Proxy必须获取该请求参数,才进行转发。n HTTP Proxy转发登录总行网银后的部分SESSION信息,例如卡号及SEESION ID。n 对于特色业务请求FORM表单中的数据,HTTP Proxy进行完全转发。n 支持文件下载。n 支持文件上传。(文件大小限制)n 交易签名处理。对于证书用户,需要验签的交易,分行端按照总行提供的标准进行页面加签处理,提交到总行端Proxy后, 由总行端HTTP Proxy首先进行验签处理,处理成功后,总行端保存签名信息,同时获取签名原始数据,总行端解开签名原始数据,传递给分行端,最后由分行端进行业务处理。n 启用手机动态密码。对于需要加动态密码的交易,分行端按照总行提供的标准传送给总行sendPass标志,提交到总行端Proxy后, 由总行端HTTP Proxy首先进行判断处理,如果标志为1则生成动态密码,传递给分行端,同时将动态密码发送给手机用户,最后由分行端进行业务处理。4. 开发规范4.1. 界面风格由于新一代个人网上银行的界面风格进行了重新的设计,为了保持风格的一致性,要求分行的特色业务应用上的所有界面风格严格按照附件DEMO中提供的代理业务的界面模板,进行风格的重新改版。Jsp页面和html页面严格引用样式表,不要在页面自行中定义颜色、高度和宽度。4.2. 普通交易请求n dse_sessionId为所有交易请求的关键字段,表示客户登录的唯一标识,所有交易的请求中必需带上dse_sessionId。获取方式如下:n 对于具体交易的请求必须以FORM表单POST方式提交,分行端的请求地址的字段名为URL(必须大写),例:URL= /index.jsp,作为表单的HIDDEN变量进行传递;分行端请求的IP和端口不要写在URL串中,由总行应用服务器根据dse_sessionId获取提供。例:input ytpe=hidden name= sessionId value=/总行应用服务器根据以上请求组成新的URL串,例5/index.jsp。n 对于图片,Javascript脚本及样式表的获取,请不要直接从总行应用服务器获取,同样通过代理的方式获取;对于图片和脚本通过GET方式获取.总行提供所有界面图片,按钮以及一些基础脚本,获取方式如下:link rel=stylesheet type=text/css href=/personbank/HttpProxy ?URL= /css/style.css&dse_sessionId=script language=JavaScript src=/personbank/HttpProxy ? URL= /js/public.js&dse_sessionId=img src=/personbank/HttpProxy?URL= /images/logo.gif&dse_sessionId= width=184 height=52n 提交的FORM表单的action为/personbank/HttpProxy,为相对路径。例:n 每次交易的提交必须传递dse_sessionId,该ID为客户登录的唯一标识,总行端会根据该ID获取客户卡号等登录信息,再传递给分行应用服务器进行交易的处理,传递方式如下:input type=hidden name= dse_sessionId value=/n 总行对于特色业务的交易请求会传递操作卡号,字段名为cardNo,分行获取方式为n 由于新一代网上银行登录方式的改变,无法从总行应用服务器server端获取操作卡的密码信息,所以对于特色业务密码类交易,需要在分行应用端增加密码的输入域,客户输入完密码后,同其他的请求输入域提交给总行端,总行端对密码进行DES加密处理,密钥为dse_sessionId,总行会将加密后的密码及dse_sessionId再传递给分行应用服务器,分行根据总行提供的加密算法进行解密处理后,再进行业务处理.对于密码字段总分行约定为passWord,处理方式如下:n 对于分行端servlet请求,请务必带上路径servlet(小写),用于区分交易请求和静态请求,例:input ytpe=hidden name=dse_sessionId value=/n 客户端IP地址的获取,在分行特色业务应用中,最好记录每笔客户交易的IP地址,获取方式如下:4.3. 文件下载n 下载文件大小请不要超过10Mn 获取文件的请求方式如下所示a href=”/personbank/HttpProxy?URL=/file/download.pdf& dse_sessionId=”下载4.4. 文件上传n 上传文件大小请不要超过5Mn 上传文件请求方式如下所示4.5. 数据签名n 获取登录类别,用于区分证书用户、注册用户还是普通用户。n 获取登录证书DN。(DN和登录用户客户号绑定) n 获取加签标记若加签交易该值不为“1”,则分行端拒绝交易(防止客户端篡改)n 初始化签名控件 writeSignActivxObject(/personbank/)n 脚本加签处理示例脚本如下:var clickBoolean = true;/防止两次提交function beforeSubmit()var cardNo = ;var loginType = ;var mobPhone = document.form1.mobPhone.value;var dealBal = document.form1.dealBal.value;var remoteIp = ;var signData = cardNo= + cardNo + |dealBal= + dealBal + |mobPhone= + mobPhone + |remoteIp= + remoteIp;InfoSecNetSign1.NSServerMode = 0;InfoSecNetSign1.NSSetPlainText(signData);document.form2.signData.value= nfoSecNetSign1.NSAttachedSign();if (!form2.signData.value)alert(签名操作取消!);return;if(clickBoolean)/防止form两次提交,注意在触发交易事件中,用onClick事件触发交易,不要用href链接触发form2.submit();clickBoolean = false;n FORM提交规则加签交易FORM必须另提供四个字段isVerifySign,signKey,signTranCode,signData;分行端必须按照这四个字段名进行提交。isVerifySign:该字段表示该交易是否为加签交易。注意:该字段会传递回分行端,由于该字段在客户端form表单中显示,建议分行端校验该字段值是否为“1”,若加签交易该字段值不为“1”的话,则拒绝交易(防止客户端篡改)。signKey:该字段为签名数据关键字段,该笔交易的关键标识,最好是唯一标识,便于加签数据的查询(分行端自己生成),总行端会保存该关键字段signTranCode:该字段为分行特色业务交易码(便于加签数据的查询,分行端根据自己实际交易情况提供),总行端会保存该交易码signData:该字段为加签数据示例如下:input type=hidden name=dse_sessionId value=/4.6. 启用手机动态密码sendPass为所有需要加动态密码交易请求的关键字段,此字段表示此交易是否需要加动态密码。所有加动态密码的交易请求中必需带上sendPass。当sendPass值为1时,则总行将生成动态密码并向分行发送动态密码,并且同时将动态密码发给手机用户;当sendPass值为2时,则总行将重新发送动态密码给手机用户。1发送手机动态密码:n FORM提交规则对于需要传送动态密码的交易,FORM必须另提供sendPass字段。该字段表示该交易是否需要动态密码。注意:该字段会传递回分行端。由于该字段在客户端form表单中显示,为防止客户端篡改,分行端在校验动态密码前一定要校验该字段值是否为“1”或“2”。其中“2”为重发动态密码标志。若该字段值不为“1”或“2”的话,则拒绝交易。示例如下:input type=hidden name=dse_sessionId value=/n 对于分行需要加动态密码的页面,获取是否发送动态密码sendPass标记的方法为:若sendPass值不为“1”或“2”,则分行端拒绝交易(防止客户端篡改)。n 分行获得动态密码dynamicCode和密码序号dynamicCodeSeq当总行检测到分行提交的sendPass值为1或2时,总行将生成的动态密码存在dynamicCode字段中,密码序号存在dynamicCodeSeq字段中,传给分行。分行获得动态密码dynamicCode,密码序号dynamicCodeSeq的方法为:其中动态密码dynamicCode为6位由手机用户输入,分行进行校验。密码序号dynamicCodeSeq为2位,由分行在页面上显示给用户,以提示用户该输入的动态密码。2重新发送手机动态密码:为了避免手机用户由于某种原因没有接到短信,分行可以在页面设置重新发送动态密码功能。注意:分行应该控制用户在发送动态密码后,间隔一定时间之后,在允许用户重新发送动态密码。建议分行间隔60秒后,允许用户重新发送。重发只能发一次,由分行在页面上控制。此时分行需要上传的sendPass值为“2”。示例如下:input type=hidden name=dse_sessionId value=/4.7. 密码控件要使用本控件,需要调整IE的安全级别,或者对它进行代码签名,使其能运行ActiveX控件。控件定义的fieldName 属性,必须在提交的Form表单中有一个隐藏域与之对应,fieldName 属性值与隐藏域名要相同。n 控件引用及初始化引用总行端密码控件,引用方式如下: writeCommitActivxObject(/personbank/)n 控件加载 writePwdActivxObjectLenClass(safeInput1,safeInput1,/personbank/,newPassWord,6,6,20,120)参数说明:safeInput1:ID号safeInput1:控件名称/personbank/:路径newPassWord:fieldname(表单名称)6:密码最大长度6:密码最小长度20:输入框高度120: 输入框长度n 输入密码域合法性判断function beforeSubmit()if(document.safeInput1.allType()!=10000 | document.safeInput1.isValid()alert(请输入合法的密码);return; n 密码域提交document.safeImit(safeCommit1);n 安全控件的属性和方法如下:safeInut GUID= ECCBA953-80E5-11D3-9285-0080ADB811C5属性含义borderStyle界面风格,可以为Flat BottomLine Border 3dBorderRaised 3dBorderSunken 3dLow 3dHighmaxLength指定用户输入信息的最大长度,缺省:20000minLength指定用户输入信息的最小长度,缺省:0fieldName对应的隐藏域名称Length当前输入串的长度maskChar显示的字符,缺省为不使用掩码(显示键盘实际输入)方法原型功能commit(submit对象名称)将自己提交给指定的submit对象,必须在同一个页面bool isValid()长度是否合法clear()清空输入域trim (BSTR)剪除指定位置的空格,可接受left,right,bothBSTR allType()返回表示输入串类型的五位字符串,从左至右依次为:数字、小写字符、大写字符、空格、其他。如果某位置的值为1,表示存在该位置对应类型的输入。如10010表示输入串中有数字和空格。BSTR typeBetween (begin,end)返回表示指定位置范围内输入串类型的五位字符串,从左至右依次为:数字、小写字符、大写字符、空格、其他。如果某位置的值为1,表示存在该位置对应类型的输入。如10010表示输入串中有数字和空格。BSTR charTypeAt (position)返回表示指定位置输入串类型的五位字符串,从左至右依次为:数字、小写字符、大写字符、空格、其他。如果某位置的值为1,表示存在该位置对应类型的输入。如10010表示输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 责任课件内容大纲
- 2025版上海房地产买卖合同范本涵盖交易税费及支付方式说明
- 2025年房地产营销代理及品牌策划服务合同
- 2025第一部分:生物制药研发合同协议书
- 2025年智能家居产品广告创意合同示范文本
- 2025版跨境贸易借款合同带保证人及汇率风险对冲下载
- 2025年度建筑材料代购与绿色建筑认证服务合同
- 2025版外籍技术人员引进与管理合同书
- 2025年度专业摄影棚租赁服务合同
- 2025版文化娱乐融资咨询与专业居间服务协议
- 2025年有害生物防治员初级理论知识考核试题及答案
- 新版2026统编版小学道德与法治三年级上册 第4课《 科技力量大》第1课时 科技改变生活和科技改变观念 教案设计(教案)
- 学会交流与沟通课件
- 铁路监理培训考试试题及答案
- 2025全国企业员工全面质量管理知识竞赛题库附答案
- 供应链与贸易安全培训课件
- 严禁燃放烟花炮竹课件
- 宫颈息肉课件
- 人工智能多智能体课件
- 人事任命书红头文件模板
- 探讨恶性肿瘤患者化疗后口腔溃疡治疗及护理的有效措施
评论
0/150
提交评论