发明内容
本申请的目的在于提出一种银企通讯系统、通讯方法以及电子终端,用于克服或者缓解现有技术中的上述问题之一或者所有。
第一方面,本申请实施例提供一种银企通讯系统,其包括:报文处理模块以及安全处理模块,所述报文处理模块与企业内部的资金管理系统通讯连接,所述安全处理模块与所述报文处理模块通讯连接,所述报文处理模块上设置有针对多家可选银行业务对接接口的报文组装逻辑,所述安全处理模块上设置有各家可选银行的安全处理逻辑;
当所述报文处理模块接收到来自于所述资金管理系统的原始报文时对所述原始报文解析确定出目标银行业务的报文组装逻辑,基于所述报文组装逻辑对所述原始报文进行报文转换得到目标报文;所述报文处理模块调用所述安全处理模块上所述目标银行业务的安全处理逻辑对所述目标报文进行安全处理。
可选地,本申请一实施例中,所述安全处理模块上所述目标银行业务的安全处理逻辑对所述目标报文进行安全处理时,基于所述原始报文所涉交易的安全级别,调用所述安全处理逻辑对所述目标报文进行安全处理。
可选地,本申请一实施例中,所述安全处理模块包括存储模块、签名模块、加密模块,所述存储模块用于存储所述目标银行颁发的证书,所述加密/解密模块至少利用加密密钥对所述目标报文中的待加密字段进行加密和解密处理,所述签名/验签模块至少用于利用所述证书对所述目标报文中的全部或者部分字段进行签名和验签处理。
可选地,本申请一实施例中,所述存储模块上存储有所述企业的密钥对,所述密钥对包括公钥,所述证书根据所述公钥及申请企业信息生成。
可选地,本申请一实施例中,所述安全处理模块进一步用于通过SSL通道将完成安全处理的所述目标报文传输到银行交易系统,所述安全处理至少包括签名处理。
可选地,本申请一实施例中,所述安全处理模块上配置所述目标银行的服务地址,所述报文处理模块调用所述目标银行的服务地址以将所述目标报文通过所述安全处理模块透传到所述银行交易系统。
可选地,本申请一实施例中,所述银企通讯系统还包括:备用安全处理模块,在所述报文处理模块调用所述安全处理模块失败后启用所述备用安全处理模块对所述交易密文数据进行安全处理;或者,根据银企通讯交易的量级,通过Nginx的负载均衡组件将安全处理模块与备用安全处理模块共同组成集群,通过集群实现负载均衡,用以应对高并发的银企交易场景。
第二方面,本申请实施例提供一种银企通讯方法,其包括:
当报文处理模块接收到来自于企业内部的资金管理系统的原始报文时对所述原始报文解析确定出目标银行业务的报文组装逻辑;
基于所述报文组装逻辑对所述原始报文进行报文转换得到目标报文;
所述报文处理模块调用所述安全处理模块上所述目标银行业务的安全处理逻辑对所述目标报文进行安全处理;
其中,所述报文处理模块与企业内部的所述资金管理系统通讯连接,所述安全处理模块与所述报文处理模块通讯连接,所述报文处理模块上设置有针对多家可选银行业务对接接口的所述报文组装逻辑,所述安全处理模块上设置有各家可选银行的所述安全处理逻辑。
第三方面,本申请实施例提供一种电子装置,其包括:处理器,所述处理器上配置有报文处理模块,所述报文处理模块与企业内部的资金管理系统通讯连接,所述报文处理模块与安全处理模块通讯连接,所述报文处理模块上设置有针对多家可选银行业务对接接口的报文组装逻辑,所述安全处理模块上设置有各家可选银行的安全处理逻辑;当所述报文处理模块接收到来自于所述资金管理系统的原始报文时对所述原始报文解析确定出目标银行业务的报文组装逻辑,基于所述报文组装逻辑对所述原始报文进行报文转换得到目标报文;所述报文处理模块调用所述安全处理模块上所述目标银行业务的安全处理逻辑对所述目标报文进行安全处理。
第四方面,本申请实施例提供一种电子装置,其包括:处理器,所述处理器上配置有安全处理模块,所述安全处理模块与报文处理模块通讯连接,所述报文处理模块与企业内部的资金管理系统通讯连接,所述报文处理模块上设置有针对多家可选银行业务对接接口的报文组装逻辑,所述安全处理模块上设置有各家可选银行的安全处理逻辑;当所述报文处理模块接收到来自于所述资金管理系统的原始报文时对所述原始报文解析确定出目标银行业务的报文组装逻辑,基于所述报文组装逻辑对所述原始报文进行报文转换得到目标报文;所述报文处理模块调用所述安全处理模块上所述目标银行业务的安全处理逻辑对所述目标报文进行安全处理。
本申请提供的技术方案,银企通讯系统,其包括:报文处理模块以及安全处理模块,所述报文处理模块与企业内部的资金管理系统通讯连接,所述安全处理模块与所述报文处理模块通讯连接,所述报文处理模块上设置有针对多家可选银行业务对接接口的报文组装逻辑,所述安全处理模块上设置有各家可选银行的安全处理逻辑;当所述报文处理模块接收到来自于所述资金管理系统的原始报文时对所述原始报文解析确定出目标银行业务的报文组装逻辑,基于所述报文组装逻辑对所述原始报文进行报文转换得到目标报文;所述报文处理模块调用所述安全处理模块上所述目标银行业务的安全处理逻辑对所述目标报文进行安全处理。从而基于一套软硬件资源实现了企业与多个银行的银企直联,降低了硬件成本,不存在硬件资源浪费,另外,降低了软件扩展和运维监控的难度,以及提高了运行的安全性和稳定性。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本申请实施例中银企通讯系统的应用场景示意图;如图1所示,在该应用场景中,银企通讯系统包括:报文处理模块以及安全处理模块,所述报文处理模块与企业内部的资金管理系统通讯连接,所述安全处理模块与所述报文处理模块通讯连接,所述报文处理模块上设置有针对多家可选银行业务对接接口的报文组装逻辑,所述安全处理模块上设置有各家可选银行的安全处理逻辑;当所述报文处理模块接收到来自于所述资金管理系统的原始报文时对所述原始报文解析确定出目标银行业务的报文组装逻辑,基于所述报文组装逻辑对所述原始报文进行报文转换得到目标报文;所述报文处理模块调用所述安全处理模块上所述目标银行业务的安全处理逻辑对所述目标报文进行安全处理。所述目标报文发送至银行交易系统。该银行交易系统又可以称之为银行对接平台或者系统。
可选地,本实施例中,所述安全处理模块基于HTTPS协议将所述目标报文发送至银行交易系统。
图2为本申请实施例中银企通讯系统的应用场景示意图;如图2所示,在该应用场景中,其中的报文处理模块以及安全处理模块分别设置在一电子装置上,从而当需要增加银行的银企直联解决方案时,灵活进行报文处理和安全处理的扩展即可。
图3为本申请实施例中银企通讯系统的应用场景示意图;如图3所示,在该应用场景中,其中的报文处理模块以及安全处理模块设置在同一电子装置上,特别适用于银企直联解决的方案比较有限,另外,可以基于同一套软硬件资源实现多个银企直联解决方案,从而降低了采购与运维成本开销。
可选地,在上述图1-图3所示实施例中,可选地,本申请一实施例中,所述安全处理模块进一步用于通过SSL通道将目标报文传输到银行交易系统。
进一步地,所述安全处理模块与所述银行交易系统通过互联网或者专线连接,基于该互联网或者专线建立SSL通道,从而将目标报文通过SSL通道直接将安全处理后的目标报文透传到所述银行交易系统,从而使得银行交易系统对目标报文按照各家银行的规范进行后续处理,即将目标报文的解析等处由各家银行内部的银行交易系统来处理,从而可以保证当需要针对增加的银行添加银企通讯方案时,只需要在报文组装模块增加新的报文组装逻辑,以及在安全处理模块上增加安全处理逻辑即可,从而无须额外增加新的硬件设计,从而相当于基于一套软硬件资源实现了企业与多个银行的银企直联,降低了硬件成本,不存在硬件资源浪费,另外,降低了软件扩展和监控运维的难度,以及提高了运行的安全性和稳定性。
图4为本申请实施例中银企通讯系统的应用场景示意图;如图4所示,在上述图1-图3的基础上,所述银企通讯系统还包括:备用安全处理模块,在所述报文处理模块调用所述安全处理模块失败后启用所述备用安全处理模块对所述交易密文数据进行安全处理;或者,根据银企通讯交易的量级,通过Nginx的负载均衡组件将安全处理模块与备用安全处理模块共同组成集群,通过集群实现负载均衡,用以应对高并发的银企交易场景。
或者,换言之,所述备用安全处理模块具有两种工作模式,一种工作模式使得所述备用安全处理模块在所述报文处理模块调用所述安全处理模块失败后启用以对所述交易密文数据进行安全处理;另外一种工作模式为:通过Nginx的负载均衡组件与安全处理模块共同组成集群,通过该集群实现负载均衡,即使得备用安全处理模块和安全处理模块一并对多个目标报文分别进行安全处理,从而应对高并发的银企交易场景。
此处,所述备用安全处理模块的工作模式可以根据应用场景的需求灵活配置,或者,在报文组装模块上设置安全处理模块进行工作模式切换的配置。
图5为上述图1-图4中安全处理模块的结构示意图;如图5所示,所述安全处理模块包括存储模块、签名/验签模块、加密/解密模块,所述存储模块用于存储所述企业的密钥对与所述目标银行颁发的证书,所述加密/解密模块至少利用加密密钥对所述目标报文中的待加密字段进行加密和解密处理,所述签名/验签模块至少用于利用所述证书对所述目标报文中的全部或者部分字段进行签名和验签处理。
为此,此处需要说明的是,在进行报文组装时,使用安全处理后的字段替换目标报文中对应的字段,从而形成要透传的目标报文。
可选地,本申请一实施例中,所述存储模块上存储有所述企业的密钥对,所述密钥对包括公钥,所述证书根据所述公钥及企业的信息生成,从而保证了密钥对的安全性。
可选地,在本申请一实施例中,在加密后进行签名处理,即签名处理针对的是加密后的目标报文;或者,在另一实施例中,在签名后进行加密处理,即加密处理针对的是签名后的目标报文。
可选地,在本申请一实施例中,所述安全处理模块包括存储模块、签名/验签模块,而不包括加密/解密模块。比如所述安全处理模块进一步用于通过SSL通道将完成安全处理的所述目标报文传输到银行交易系统,所述安全处理至少包括签名处理,从而更加适用于基于互联网的银企通讯,简化了开通专线对接的流程与成本。
可选地,所述安全处理模块的结构具体可以根据所述原始报文所涉交易的安全级别,级别越高,则安全处理模块包括优选包括所述存储模块、签名/验签模块、加密/解密模块。如果级别越低,则安全处理模块包括优选包括所述存储模块、签名/验签模块即可。即,所述安全处理模块上所述目标银行业务的安全处理逻辑对所述目标报文进行安全处理时,基于所述原始报文所涉交易的安全级别,调用所述安全处理逻辑对所述目标报文进行安全处理。
图6为上述图1-图4中报文处理模块的结构示意图;如图6所示,报文处理模块包括报文解析模块以及报文组装模块,所述报文解析模块用于对所述原始报文解析确定出目标银行业务的报文组装逻辑,报文组装模块基于所述报文组装逻辑对所述原始报文进行报文转换得到目标报文。
具体地,在一实施例中,所述原始报文具体可以为XML串形式的目标报文,从而降低原始报文的数据复杂性,并兼容银企通讯系统和银行交易系统,便于银企通讯系统和银行交易系统之间进行高效的数据交互。
具体地,所述原始报文包括交易请求公共部分,另一部分是交易请求明细部分。每一部分的节点命名有所不同,交易请求公共部分一般包括交易类型ID、归属银行ID、证书ID、交易日期、交易时间、指令序列号等。根据其中交易类型ID可以区分不同的交易接口。不同的交易接口对应不同的交易请求明细部分。例如交易类型ID=PAYMENT,指的是支付指令提交接口,交易类型ID=QHISD,指的是账户明细查询接口。以账户明细查询接口为例,在交易请求明细部分进行具体交易所需字段的输入,包括查询账号、起始日期、截止日期、发生额、币种等字段。
其中,由于交易请求公共部分包括了归属银行ID,因此通过对包括该交易请求公共部分的原始报文进行解析,从而可以确定出目标银行,进而确定出要使用报文处理模块上的那个银行对应的报文组装逻辑。进一步,从而在报文处理模块本地即可知道目标银行,在对目标报文进行安全处理时,直接由报文处理模块调用安全处理模块上与目标银行对应的安全处理逻辑进行安全处理,而无须安全处理模块再次进行报文解析以获得目标银行,由此,当需要增加新银行的银企通讯方案时,只需要在报文处理模块上配置与该新银行对应的报文组装逻辑,以及在安全处理模块上配置对应的安全处理逻辑即可,即实现了基于同一套软硬件资源,快速完成银企通讯方案的扩展。
进一步地,在本申请一以实施例中,所述安全处理模块上配置所述目标银行的服务地址,例如:https://directbank.dctnet.com.cn/。所述报文处理模块调用所述目标银行的服务地址以将所述目标报文通过所述安全处理模块透传到所述银行交易系统,从而便于报文处理模块直接调用所述目标银行的服务地址,无须安全处理模块进行安全处理外的其他任何处理,即可有效地实现将所述目标报文通过所述安全处理模块透传到所述银行交易系统。
类似地,所述银行系统给企业返回的报文与所述原始报文对应,其结构类似上述原始报文的结构。
进一步地,为了实现企业资金管理系统与银行交易系统之间进行多页交易查询,在原始报文中定义查询每页交易笔数、多页查询跳转页码、状态跟踪号,为此,在查询1页交易信息时,该状态跟踪号为空,查询第1页交易信息之后,将返回的定位串送到所述状态跟踪号中,从而实现了多页交易查询的连续查询,提高了查询的速度。
具体地,在一实施例中,可以在银行交易系统中配置目标报文的接收接口,该接收接口定义了银行交易系统接收目标报文的地址以及端口,为此,目标报文具体可以以post的方式提交到所述接收接口,为实现将目标报文以post方式提交,定义了post参数1-3,在post参数1中加载电子银行签约号,不同的银行,不同的企业,该电子银行签约号不同,且该电子银行签约号具有唯一性;在post参数2中加载加密后的目标报文,该在post参数3中加载目标报文的签名,从而提高了银企通讯系统与银行交易系统的之间的数据交互的安全性。其中,为了进一步提高安全性,对post参数2中的加密后的目标报文以及post参数2中的签名目标报文进行BASE64编码,把每三个8Bit的字节转换为四个6Bit的字节,从而降低内存占用,以及资源消耗;另外,还可以实现跨平台、跨语言的应用,进一步降低了成本,提高了银企通讯系统运行的安全性和稳定性。
可选地,本一实施例中,所述存储模块上存储有所述企业的密钥对,所述密钥对包括公钥,所述证书根据所述公钥及企业的信息由银行指定CA中心负责生成签名证书,从而提高了数据处理的安全性。
当然,对等地,所述存储模块上还有可以存储为银行指定CA颁发的加密证书,其中包含银行的公钥、在银行交易系统对所述目标报文进行响应后生成响应报文发送给安全处理模块后,调用验签模块使用所述公钥对所述响应报文进行验签处理。
在一具体实现中,可以将签名和验签的功能集中到一个模块上,为此,该模块可称之为签名/验签模块。
具体地,所述响应报文为字节流,该字节流中包括加密的交易应答数据以及签名,由于该响应报文直接关联于银行,因此,该字节流中的数据无须经过BASE64编码。
具体地,所述响应报文包括请求报文头节点以及请求报文体节点,请求报文头加载在请求报文头节点中,请求报文体加载在请求报文体节点中,对于所有的交易,请求报文头都是相同的,而交易报文体根据接口的定义不同而不同,接口比如为业务接口、接收接口等。而对于响应报文中自定义的特殊字符,使用特殊标记进行标识,避免报文解析时不符合xml规范而解析错误。请求报文体一般包括交易的金额等信息,而请求报文头一般包括报文长度的定义,服务接受时间、服务响应时间、服务响应码、账务交易流水号、电子银行合约号、发起方流水号。
为配合企业发起的多页交易查询请求,在响应报文的请求报文头中定义了多页查询的总页数、多页查询的总笔数、多页查询当前页数、多页查询当前笔数以及状态跟踪号,在查询1页交易信息时,该状态跟踪号为空,查询第1页交易信息之后,将返回的定位串送到所述状态跟踪号中。
进一步地,在一实施例中,为了便于下载多页查询的查询结果,银行交易系统还对查询结果进行编码得到查询文件,在该查询文件中所有的查询记录组成ASCII文本文件,在该ASCII文本文件中每一笔记录站一行,记录间用换行符分割;而同一条记录中设置该多个变长字符域分别形成记录域,而域之间通过|@|分割,从而提高了查询的速度和效率。
进一步地,为实现企业对所述查询结果的下载,配置了文件下载接口,该下载接口接收以http post方式提交的文件下载请求,在该下载请求中定义了多个post参数,分别对应电子银行合约号,文件名、数字签名以及具体的文件内容,该文件内容使用DESede、AES等加密算法加密过,从而准确地实现文件的下载,并提高了下载的速度。
进一步地,为了实现企业给银行交易系统上传文件,配置了文件上传接口,该上传接口接收以http post方式提交的文件上传请求,在该下载上传中定义了多个post参数,分别对应电子银行合约号,文件名、数字签名以及具体的文件内容,该文件内容使用DESede、AES等加密算法加密过,从而准确地实现文件的下载,并提高了下载的速度。
进一步地,如果上传或者下载的文件较大(比如大于设定文件数据量阈值),通过查看文件上传或者下载请求中的文件标识,判断该文件是否要通过SFTP协议传输,如果是,则通过SFTP协议实现文件的上传或者下载。
图7为本申请实施例提供一种银企通讯方法的流程示意图;如图7所示,其包括:
S701、当报文处理模块接收到来自于企业内部的资金管理系统的原始报文时对所述原始报文解析确定出目标银行业务的报文组装逻辑;
S702、基于所述报文组装逻辑对所述原始报文进行报文转换得到目标报文;
S703、所述报文处理模块调用所述安全处理模块上所述目标银行业务的安全处理逻辑对所述目标报文进行安全处理;
其中,所述报文处理模块与企业内部的所述资金管理系统通讯连接,所述安全处理模块与所述报文处理模块通讯连接,所述报文处理模块上设置有针对多家可选银行业务对接接口的所述报文组装逻辑,所述安全处理模块上设置有各家可选银行的所述安全处理逻辑。
为便于对本申请方案的理解,此处提供了更为直观和详细的描述。
银企通讯系统包括上述报文处理模块以及安全处理模块,报文处理模块上可对应到多家可选银行业务对接接口的报文组装逻辑;对应地,在安全处理模块上有可选银行的安全处理逻辑;由此可见,在报文处理逻辑和安全处理逻辑在业务逻辑实现了松耦合,使得报文处理模块和安全处理模块都依赖同一个“抽象”,即包括签名服务规范等的安全处理逻辑,即类似https://banksign.com.cn/这样的安全服务接口,该安全服务接口不依赖签名等安全处理逻辑的具体实现细节,具体实现细节实际上只依赖于抽象。由此可见,通过这种控制反转的设计进行基于接口而非具体实现细节的程序设计,降低了报文处理逻辑和安全处理逻辑之间的耦合性,同时提供了较好的扩展性,使得低层次的安全处理模块更加通用,适用性更广,且,高层次的报文处理模块不依赖于底层次的安全处理模块的具体实现细节,方便进行安全处理模块中更细粒度的安全处理逻辑的替换。为此,本申请中将安全处理逻辑抽象为包括加密、解密、加签和验签等服务接口,实现了安全处理逻辑具体实现细节的抽象,并将所需的证书单独集中存储,而将国内和国际的主流加密算法做成可选配置项,而证书与加密算法是更细粒度的逻辑单元,能够灵活的进行各种组合或替换。由此,就可以根据具体的银行需求,对报文组装逻辑和安全处理逻辑进行灵活组合,以满足银企通讯的需求;比如,如果新增加一家银行,只需要在报文处理模块上选择适用于该银行的报文组装逻辑,以及根据报文处理模块调用在安全处理模块上选择能适用该银行的安全处理逻辑即可。相比之下,在软件设计方面,通过银行前置机实现的传统银企直联模式中,各家银行都定制了自己的前置机软件,前置机软件中固化了只适用该银行的安全处理逻辑,包含加密、解密、加签、验签等算法逻辑,以及透传银行交易系统的逻辑。同时也要求报文处理逻辑强依赖于前置机内的安全处理逻辑,从而使得报文处理逻辑与安全处理逻辑形成了一对一的强依赖,报文处理模块与安全处理模块直接的调用来执行流程必须强依赖于安全处理模块的具体接口实现,直接在该前置机上难以扩展,由此导致如果新增加一家银行,就需要添置一台新的银行前置机服务器并单独部署该银行的前置机软件。
或者,换言之,本申请中,将常用的报文组装逻辑都设置在报文处理模块上,同时,将常用的安全处理逻辑都设置在安全处理模块上,在处理银企直联需求时,报文处理模块根据原始报文中的归属银行ID即可知道银企直联针对的目标银行,进而就可以在其本地启用该目标银行的报文组装逻辑对原始报文进行报文组装处理,同时,通过报文处理模块直接调用该目标银行在安全处理模块上安全处理逻辑对原始报文进行安全处理即可,安全处理逻辑包括:证书的下载、签名与验签等。
以下对本申请安全处理逻辑中涉及的签名、验签具体实现细节做示例性说明。
1.签名
从企业A透传目标报文到银行B:企业A用自己的私钥加签目标报文发给银行B(包括数字证书拷贝、密文,密文摘要)。
企业A用会话秘钥即对称秘钥对目标报文进行加密得到R,然后对密文R做摘要运算得到R-digest(即密文摘要)。
企业A用自己的私钥对R进行加密,即签名,得到(R,R-digest)(即签名后的目标报文),然后用银行B的公钥对(R,R-digest)加密得到encoded((R,R-digest))(签名/加密后的目标报文).
企业A用银行B的公钥对会话秘钥加密,与encoded((R,R-digest)).一起打包发送给银行B.
2.验签
银行B收到encoded((R,R-digest))。银行B先用银行B的私钥解密得到(R,R-digest)
银行B获取企业A的公钥,然后用企业A的公钥解密(R,R-digest),得到数据摘要,以证明A公钥和A私钥是一对。
银行B用银行B的公钥验证收到目标报文中的数字证书(银行CA签名过证书),确定确实是由CA签发,也就证明了企业A的公钥属于企业A。
或者,换言之,银行用自己的公钥来验证收到报文中的数字证书(银行CA签名过证书),如果验证证书签名的确是CA签发,就说明证书中的公钥属于列在证书中的企业。
证明证书中的公钥可信,进而用此公钥来解密(R,R-digest),得到R与R-digest,再用同样的摘要算法算一次R-digest,比较即可知道目标报文的原文是否被篡改。
如果摘要验证一致,则证明银行B完全可信;
最后用银行B的私钥对对称秘钥解密,得到企业A使用的对称秘钥,用对称秘钥解密得到目标报文。
图8为本申请实施例提供一种银企通讯方法具体应用场景示意图;如图8所示,涉及到报文处理模块、安全处理模块以及银行系统;详细的过程如下:
1.发起交易
包括:接收原始报文,比如该原始报文是要进行转账交易的报文;
2.提取签名字段;
本实施例中,报文处理模块具体提取该原始报文中需要签名的字段;提取原始报文中需要签名字段时,解析出目标银行业务的报文组装逻辑;
3.调用签名接口;
如前所述,本实施例中,安全处理上的安全处理只包括签名处理,为此,调用签名接口的目的是对步骤2中需要签名的字段进行签名;
4.执行签名;
安全处理模块上签名模块(作为安全机)执行签名。
5.返回签名结果
安全处理模块签名成功,并将签名后的字段返回给报文处理模块;
6.组装报文
报文处理模块使用签名后的字段,替换掉原始报文里的相应字段,从而完成报文的组装最终目标报文。
7.提交报文
报文处理模块将目标报文发送给安全处理模块进行透传;
8.建立SSL加密通道
安全处理模块接收收到要透传的目标报文后,首先发起报文透传请求以请求和银行系统建立SSL加密通道;
9.提交报文
SSL加密通道建立完成之后,通过SSL加密通道将所述目标报文透传到银行系统;
10.报文验证
银行系统接收到目标报文之后,进行交易验证,并生成响应报文后利用给银行系统配置的私钥对响应报文进行签名处理;
11.返回响应报文
安全处理模块将收到的响应报文直接发送给报文处理模块;
12.提取验签字段
报文处理模块提取响应报文中需要验签的字段;
13.调用验签接口
报文处理模块调用安全处理模块的验签功能,以对需要验签的字段进行验签;
14.执行验签功能
安全处理模块上的验签模块基于其上存储的给银行系统配置的公钥执行验签功能
15.返回验签结果
安全处理模块将验签结果发送到报文处理模块;
16.组装响应报文
报文处理模块根据验签结果,重新解析响应报文,包括解密,解密由解密模块来实施,该解密的功能可集成到上述加密模块上,为此称之为加密/解密模块;
17.获取交易结果
报文处理模块从解析结果中最终获得本次交易结果,本次交易结束。
参见下述表一,使用现有技术银行前置机与本申请银企通讯系统的方案成本对比。
表一
参见上述表一,以一家企业要与十家银行进行银企直联为例,如果要基于现有技术中的银行前置机来实现,就需要配置10台服务器,10台服务器生产环境的搭建费用预计100000元,测试环境的搭建费用预计50000元,共计150000元;而使用本申请的银企通讯系统的话,3套的话,服务器生产环境和测试环境的搭建费用共计约50000元,由此可见,在服务器成本上,本申请的方案,相对于现有技术降低了约67%。在开发测试成本方面,基于现有技术中的银行前置机来实现,开发测试成本共计400000元,而本申请的银企通讯系统3套的话,预计在200000元以内,在开发测试成本方面,相对于现有技术降低了约50%。
如果再算上运维成本,现有技术的银行前置机由于相互之间不通用,运维成本远远要高于本申请的银企通讯系统。
综上,本申请提供的银企通讯系统在实施成本上远远低于现有技术中基于银行前置机实现的银企解决方案。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、解析单元、信息选取单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收用户的网页浏览请求的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。