发明内容
针对以上现有技术中采用各自不同的交换和安全认证体系进行点对点的数据交换,存在的管理复杂、成本高、标准不统一等问题的缺点,本发明提供了一种安全交换系统,包括客户端、安全交换平台和业务处理平台,所述客户端之间、客户端与业务处理平台之间以及业务处理平台之间的数据交换均通过安全交换平台完成,所述安全交换平台包括:
传输单元,用于安全交换平台与客户端以及业务处理平台间的数据传输;
安全单元,用于数据交换过程中数据信息的安全认证以及所述安全交换平台整体安全性的管理;
业务服务单元,用于在通过数据信息的安全认证和系统安全性的管理后,对整个数据交换过程进行管理、调度和控制;
数据存储单元,用于在业务服务单元对整个数据交换过程进行管理、调度和控制后,存储和管理数据交换报文原文、安全认证信息和数据交换过程信息;
监控管理单元,用于对通过该系统的各类交换业务进行实时监控和管理。
其中,传输单元包括分发器、技术适配器和业务适配器;分发器用于接收外部数据,分析该数据所使用的技术协议以及报文格式并将其分发给技术适配器和业务适配器分别处理;技术适配器用于将外部数据的原有协议转化为安全交换平台的标准形式;业务适配器用于将外部数据的报文格式解析转换为安全交换平台规定的格式。
优选的,所述业务服务单元至少包括:
数据存证单元,用于将所有通过本系统进行交换的数据、数据签名以及交换过程信息完整保存至所述数据存储单元;
报文调度单元,用于数据报文的发送和接收;
标准转换单元,用于把接收的数据报文转换为安全交换平台规定的标准格式。
另一方面,本发明还提供一种网络数据的安全交换方法,包括如下步骤:
S1:数据发送方把要交换数据按第三方规定的报文格式组织成报文,发送给第三方;
S2:第三方接受到交换数据后对数据发送方进行身份以及权限认证;
S3:认证通过后,第三方对交换数据进行目的地解析;
S4:若目的地解析正确,第三方对交换数据的数据报文原文、安全认证信息和数据交换过程信息进行存储;
S5:第三方发送回执给数据发送方,并向目的地发送交换数据。
其中,在步骤S5中,向目的地发送交换数据的过程如下:
S51:第三方向目的地发送连接请求;
S52:目的地接受请求,建立连接,并向第三方发送身份认证请求;
S53:第三方对目的地进行身份认证;
S54:身份认证通过后,第三方将交换数据进行加签和格式转换处理后,发送至目的地;
S55:目的地接收交换数据后向第三方发送回执;
S56:第三方根据回执更新数据交换过程信息。
与现有技术相比,本发明具有以下优点:
相对于现有的较好的数据交换系统,本系统因为强化了安全传输和身份认证的功能,从而大大加强了传输数据的安全性。另外实现了存证取证功能,提供了对数据的不可否认性的验证和保护。本发明提出了基于网络的数据传输的数据报文标准,按照国家相关标准,从安全性、可扩展性等多方面综合考虑,规范统一了各应用程序间数据交换的数据格式,填补了此类标准的空白。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
各联网应用系统之间交换数据时,如果采用各自不同的交换和安全认证体系进行点对点的数据交换,存在着管理复杂、成本高、标准不统一等问题。因此,本发明的目的在于为政府与企业,企业与企业之间应用程序之间的数据交换提供一种统一的安全交换体系。该安全交换体系为各应用系统提供安全认证、标准转换、报文调度等中间的通用和基础服务,需要满足各系统的数据交换需求,以及提高各系统的整体安全性。
基于上述目的,本发明提供一种安全交换系统和安全交换方法,用于解决以下三方面的问题:一是数据报文的标准;二是数据的存证取证,实现对数据、人员和设备的鉴别以及对数据真实性、完整性、不可否认性的验证与保护;三是主动推送模式。为了表述方面,在以下的说明中也将安全交换系统简称为CAX。
图1为本发明一个安全交换系统实施例的拓扑结构示意图,如图1所示,该安全交换系统包括客户端1、安全交换平台2和业务处理平台3,客户端1之间、客户端1和业务处理平台3之间以及业务处理平台3之间的数据交换均通过安全交换平台完成,以保证数据交换的安全性。其中客户端也可以看成一个需要进行数据传输的业务系统。业务处理平台3中具有客户端所可能使用到的各类应用系统,如税务处理系统、车辆管理系统、政务信息检索系统、海关申报系统等,以满足客户端的数据访问处理需求。
其中的安全交换平台2属于第三方的安全数据传输平台,是基于标准的、具有良好扩展性的开放平台,报文标准符合国家制定的相关标准,使产品未来的整合和升级有完全保证。安全交换平台2的逻辑结构如图2所示,安全交换平台2包括传输单元21、安全单元22、业务服务单元23、数据存储单元24和监控管理单元25。
传输单元21是安全交换平台2同客户端1和业务处理平台3的各类应用系统进行数据传输的通道。实际应用中,业务处理平台3的各类应用系统大都是基于不同标准和技术开发的,因此针对不同的应用系统也需要进行相应的技术协议和业务数据适配,传输单元21主要负责提供各类技术协议适配器来支持同各类应用系统衔接,同时也将不同应用系统自身的资源以标准的技术协议的形式发布给其他应用系统使用。
传输单元主要由分发器、技术适配器和业务适配器组成,分发器负责对外部数据的接收,分析接收数据所使用的技术协议以及报文格式并将该数据分发给技术适配器和业务适配器分别处理;技术适配器负责把所分发的外部数据的原有协议转化为安全交换平台内部标准形式;业务适配器负责把分发的外部数据报文格式解析转换为安全交换平台规定的格式。
安全单元22是安全交换平台2的安全处理枢纽,负责整个交换过程中数据信息的安全认证,以及安全交换平台整体安全性的管理。其中数据信息的安全认证主要包括数据加验签、数据加解密以及实现安全交换平台2与来自于访问请求端(包括客户端和业务处理平台)的不同CA(Certificate Authority,数字证书)之间的相互认证,保证数据的完整性、保密性。
对安全交换平台的整体安全性管理,具体包括服务控制、安全控制、权限管理、用户管理和安全审计五个方面的安全管理,其中,
服务控制主要负责管理安全交换系统内部的业务服务,可以增加、更新或者删除业务服务。
安全控制负责管理整个安全交换系统的安全,包括应用系统认证,认证访问控制、IP绑定检查、加密访问控制。
权限管理负责分配用户和用户角色的需求权限。
用户管理负责设置用户和设置用户角色。
安全审计通过对系统日志和操作记录等系统运行信息的分析和审核,提供系统当前的运行状况,如服务器占有率、系统安全级别、关键操作的具体时间及人员等信息。
通过对安全交换平台的整体安全性管理,安全交换平台2提供身份鉴别与登录认证服务(支持单向和双向认证),实现对人员和设备的鉴别、验证与保护。用户可以根据安全等级的需要自主选择加密等级;并且在业务处理平台采用高速芯片及国产对称加密算法(SCB2),以适用电子政务在网上进行传输。
业务服务单元23是安全交换系统的核心枢纽,主要负责对整个交换过程进行管理、调度和控制,是保证交换过程安全,可靠高效运行的关键性环节。
业务服务单元23至少包括数据存证单元、报文调度单元和标准转换单元。数据存证单元主要负责保存数据交换过程中的数据原文、数据的签名信息以及交换时间等交换过程信息到数据存储单元24。报文调度单元负责发送和接收报文。标准转换单元负责把报文转换为安全交换平台2规定的统一的标准报文。此外,为了提高数据交换的准确性,业务服务单元23还可以包括逻辑检查单元,用于对转换标准后的报文进行业务逻辑校验,以防止数据的意外丢失,保证报文转换和传输过程中的完整性和准确性。
上述交换过程信息至少包含报文内容、过程参数、控制参数和返回状态。其中报文内容是指真正的业务数据。过程信息至少包括:接收方编号、发送时间、发送方编号、接收时间、报文编号、发送方IP地址,接收方IP地址、接收状态,还可以增加关于接收次数的信息。控制信息包括是否进行压缩、压缩算法、是否进行加密、加密算法、是否进行编码、编码算法。返回状态负责保存交换处理结果,包括返回代码、返回消息、原请求报文编号和状态参数等。借助数据存证单元,安全交换平台2克服了现有点对点的数据交换过程中存在的缺陷,提供了存证举证的功能,一旦发生报文交换过程中出现问题,容易寻找原因。
数据存储单元24主要用于建立各应用程序之间的共享数据环境和保证各类数据能够被有效地存储和管理,其核心目标是建立统一的交换信息存储库,能够将各类数据持久到系统中以便进行数据的分析、统计和安全审计。数据存储单元23主要存储数据报文、签名信息和交换过程信息。数据报文就是各应用系统发送给安全交换系统的数据。签名信息包括签名信息、签名日期和签名证书。交换过程信息包括发送方标识,接收方标识、发送报文时间、发送状态、接收报文时间、接收状态等信息。
监控管理单元25主要负责系统监控,提供对各类交换业务的实时监控和管理机制,使得系统管理人员能够及时准确地获取当前业务的各类执行状态,保证关键性业务的可靠运行。系统监控主要包括报文状态监控、具体服务监控、异常监控和消息队列监控。
另外,监控管理单元还可以设置服务配置、编码管理、数据存档功能,以提供各类配置机制来动态改变交换业务的运行策略和系统状态。
在本发明的另一优选实施例中,客户端的作用类似于网上邮局,发送方在终端配置好接收方的信息,选择发送文件,即可以根据配置自动接通网络经由安全交换平台将文件发送到指定的目标。接收文件也是类似的操作,接收方在终端选择接收就可以根据预先设定的系统配置将文件接收到本地。
客户端1内部主要由传输单元11、通讯前置单元12、交换服务单元13和交换配置单元14组成,其逻辑结构如图3所示。
传输单元11负责客户端1与安全交换平台2之间的连接和数据传输。
通讯前置单元12用于对客户端和安全交换平台间的交换数据进行技术层整合,此处的“整合”指不同的协议或者数据格式之间的转换,其核心目的就是利用适配器技术实现同不同应用程序的衔接。包括技术适配和业务适配,其中技术适配指的是在技术协议层面把要发送或者接收的数据信息在客户端和安全交换平台之间进行整合,业务适配指的是在业务数据格式层面把要发送或者接收的数据信息在客户端和安全交换平台规定的标准格式之间进行整合。
交换服务单元13主要包括系统配置、标准转换、逻辑检查、数据安全性处理等几部分。
其中,系统配置用于对客户端本身的系统信息如用户名、登录密码、适用协议、数字证书等信息。标准转换用于把客户端要发送的数据转换为第三方安全数据传输平台即安全交换平台2规定的标准报文格式,或者把客户端接收到的数据从安全交换平台2规定的标准报文格式转换为客户端本身配置的数据格式。逻辑检查用于对进行标准转换的报文进行业务逻辑校验,以保证数据信息在转换过程中的准确性及完整性。数据安全性处理用于把要交换的数据进行数字签名和数据加解密,以保证数据的安全性。
交换配置单元14用于对客户端传输数据的传输参数进行配置,如收件人具体信息、发送次数、发送格式、加密信息、保密级别、发送时间、是否要求回执、传输数据的重要性等参数信息。
在客户端进行如上所述的交换服务单元以及通讯前置单元的设置,虽然功能上与安全交换平台的某些设置类似,但能够在交换数据发送至第三方安全数据传输平台即安全交换平台之前对交换数据进行格式转换、逻辑检查、数据安全性处理以及技术层整合的处理,从而节省安全交换平台的工作量,提高第三方安全数据传输平台的工作效率。
用户在客户端借助于交换配置单元将传输参数进行预先配置,就可以不必访问安全交换平台而在客户端本地完成全部的数据交换工作,大大方便客户端的操作流程,降低网络占用率。
在本发明的一个优选实施方式中,通讯前置单元支持多种传输协议,客户端和安全交换平台进行交互之前,实现协议适配功能,包括EJB/JMS(企业JavaBean组件/java消息服务器)、WebService(Web服务)、Ftp(文件传输协议)、File,HTTP(超文本传输协议)、MQ(消息队列)、Socket(套接)等。
在安全交换平台中,结合传输单元和安全单元,业务服务单元在客户端之间、客户端与业务处理平台之间以及业务处理平台3的各应用系统之间构建了一个标准的数据交换环境。
本实施例中安全交换平台3中的数据交换过程主要分为数据发送、数据接收和主动推送。
其中的数据发送流程如下:
1)源应用系统(客户端或者业务处理平台)把要发送的数据按安全交换平台的报文标准格式组织成报文,并调用安全交换平台提供的发送接口(传输单元)向安全交换平台发送数据;
2)安全交换平台接收到数据后调用安全交换系统的安全单元对源应用系统的身份信息进行认证;若认证通过,则进入下一步;
3)安全交换系统的安全单元验证源应用系统的权限;若有权限,则进入下一步;
4)安全交换平台中的业务服务单元对报文格式进行检查(具体由其中的逻辑检查单元实现);若正常,则进入下一步;
5)安全交换平台进行目的地解析(具体由其中的逻辑检查单元实现);若正确,则进入下一步;
6)由数据存证单元把源应用系统进行数据交换的数据(数据原文、数字签名)及其相关信息(包括服务类型、接收方编号等)分别存储至数据存储单元;
7)安全交换平台通过其传输单元发送回执信息给源应用系统。
数据接收流程如下:
1)目的地应用系统(客户端或者业务处理平台)调用安全交换平台的数据接收接口(传输单元)向安全交换平台发送数据接收请求;
2)安全交换平台接收请求,由其安全单元对目的地应用系统身份进行认证;若认证通过,则进入下一步。
3)安全交换平台根据目的地应用系统的身份认证结果和权限,取待发送给该应用系统的数据;
4)安全交换平台的安全单元对待发送数据进行加签,并由标准转换单元将待发送数据转换为统一的标准报文格式,然后按此标准报文格式向目的地应用系统发送数据;
5)目的地应用系统接收数据后发送回执给安全交换平台,安全交换平台根据回执更新数据状态信息:若回执是已接收,则已发送数据标记已发送;若回执是接收错误,则进行自动重发;若没有收到回执,则数据状态保持不变。
主动推送模式的流程如图4所示:
1)安全交换平台在收到需要向指定应用系统(客户端或者业务处理系统)传送的数据之后,向目的地应用系统(即前述指定应用系统)发送连接请求;
2)目的地应用系统接受请求,建立连接;
3)向安全单元发送身份认证请求;
4)安全交换平台2中的安全单元响应目的地应用系统的身份认证请求,对目的地应用系统进行认证;
5)身份认证通过后;
6)从安全交换平台2的业务服务单元中取得相关数据;
7)将所取数据发送至安全单元进行加签处理;
8)安全单元22对发送的数据进行加签;
9)将加签结果发送至业务服务单元23;
10)在业务服务单元23中对发送的数据进行报文标准转换;
11)将标准报文发送至目的地应用系统;
12)目的地应用系统接收数据后向安全交换平台2发送已接收回执;
13)安全交换平台2接收目的地应用系统返回的已接收回执;业务服务单元对已发送数据进行标记,更改数据状态。
最后,数据存证单元记录整个数据交换过程的过程信息并保存至数据存储单元中。
在数据交换过程中,数据报文的格式是影响数据交换系统灵活性和复杂性的主要因素。本发明安全交换系统的报文标准遵循国家相关标准,灵活度高,复杂度低。本发明一个实施例的报文标准主要围绕着标识、交换过程、内容控制、业务内容、返回状态以及报文签名这六部分来制订,其总体结构如图5所示。
考虑到交换信息整体的完整性和不可否认性,因此报文签名采用W3C的标准XML-Signature Syntax and Processing进行加验签,加签方式为封外加签(enveloping),如图5所示Signature是整个报文的根节点,其下面分为四个节点,分别为:
SignedInfo:计算签名值所用的算法,主要负责提供签名所采用的算法;
SignatureValue:签名值,主要负责提供签名后的签名值;
KeyInfo:签名所用的证书信息,主要负责提供签名所采用的证书号、证书属性等信息;
Object:签名对象,主要负责提供被签名的报文,即整个技术报文。
在Object中,dataExchangePackage(数据交换包)是整个外部技术报文的根节点,技术报文又分为以下六个节点,分别为:
envelopInfo:信封内容,主要负责提供该次交易端到端的发起方和接受方的标识以及本次交易的全局编号。
信封内容的具体的结构如图6所示,包含以下五个节点:sourceID--整个交换发起方的标识;destinationID--整个交换接收方的标识;destinationAppID--交换接收方应用系统标识;businessType--交换报文的内容类型;globalBusinessID--从交易的角度来表示整个交换过程在不同平台中的唯一标识,由整个交易的发起方来提供,这个标识将存在于交易的整个生命周期。
transferInfo:交换环节内容,负责保存交换过程和环节的相关信息,包括了当前交换的发起方和接收方,交换过程标识,以及当前交换报文的标识,发送时间,重发标志等。
交换环节内容的具体结构如图7所示,包含以下六个节点:senderID--当前发送方标识;receiverID--当前接收方标识;isRetry--标识当前报文是否重发报文;sendTime--当前报文发送时间;messageID--当前报文唯一编号,标识当前发送环节报文的唯一性;sourceMessageID--数据交换发起方的报文唯一编号,用于标识一次完整的发送过程,该编号在整个发送过程中保持不变。
contentControl:交换内容控制,用于提供本次交易携带的业务数据的处理状态,包括加密、压缩以及编码三个方面。
交换内容控制的具体结构如图8所示,包含zip(压缩状态类型)、encrypt(加密状态类型)和code(编码状态类型)三个节点。其中,zip(压缩状态类型)包含两个元素,即本次交易业务数据是否进行了压缩以及采用的压缩算法。encrypt(加密状态类型)包含两个元素,即本次交易业务数据是否进行了加密以及采用的加密算法。code(编码状态类型)包含两个元素,即本次交易业务数据是否进行了编码以及采用的编码算法。
packageInfo:业务内容,负责保存本次交易的业务数据。业务内容部分是负责存放真正的业务数据,考虑到实际的情况会比较复杂,这一部分采用了分包的结构来设计,即业务内容体可以由零个或多个业务数据包构成,对于有些没有真正的返回数据的场景,例如交易失败,可以不填业务内容体。
业务内容的结构如图9所示,它由许多个subPackage(业务包单元)构成,每个业务包单元又包含:sequence--业务包编号和content—业务内容;此外,在每一个业务包单元中还可以包含paramList—状态参数,用于自定义多个当前业务报的相关处理参数,如文件名、校验码等。
returnState:返回状态,负责保存交易处理的返回结果以及状态信息,对于请求报文该部分为空。
返回状态适用于响应报文,负责保存交换处理结果,其结构图如图10所示。返回状态由返回代码(returnCode)、原请求报文编号(sourceMessageID)、返回消息(returnMessage)和状态参数(paramList)四部分构成,其中返回代码为状态编码,用于表示当前的系统状态;原请求报文编号用于借助此编号帮助发送方对应答报文进行报文匹配;返回消息用于表示返回的状态提示信息;状态参数用于根据不同场景自定义各类参数列表。
signatureInfo:签名体内容,该签名节点用于体内加签的情况,负责存放整个签名体。
签名体内容负责存放对指定业务报文内容的摘要和签名相关信息,目前技术报文对于签名的算法和标准没有进行强制约定,可以根据具体应用场景来选择相应的签名标准和算法。
签名部分的结构定义为any类型,因此该部分可以适应各类XML签名标准,对其结构和命名空间都没有强制要求。
本发明提供的安全交换系统是建立在互联网(或电子政务网)上的电子邮局系统,采用统一的数据报文格式以及安全认证和交换体系,有效解决了企业与政府、企业与企业之间的数据的安全传输和身份认证等相关问题。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。