专利名称:一种数据交换方法
技术领域:
本发明涉及一种数据交换方法。
背景技术:
随着现代计算机技术和互联网通讯技术的不断发展和普及,利用互联网进行数据交换已经非常普遍。由于互联网是一个基于TCP/IP协议的开放式互联网络,当各个终端在互联网中交换数据时,数据实际上是被暴露在网络传输路径上的。此时,黑客或非法用户会利用恶意软件拦截传输路径上的数据。目前比较成熟的数据加密传输技术(如安全套接字层协议等)能够对需要网络传输的数据提供较强的保护,即要求数据交换的双方需要进行密钥交换工作,并对数据进行加密和解密。一旦需要一方与多方进行数据交换时,即一个数据交换发起方对多个数据接收方(涉及到企业级数据交换),数据交换发起方需要为传输给各个数据接收方的数据全部进行加密,并与所有的数据接收方进行密钥交换。因此加重了数据交换发起方的工作负担,从而降低了数据交换发起方的工作效率。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据交换方法,以实现高效的企业级数据交换。本发明提供的一种数据交换方法,包括步骤A、数据发送端向服务器发出数据交换请求;B、所述服务器根据上述请求生成会话密钥,并将所述会话密钥加密形成数据发送端会话密钥密文后发送给所述数据发送端;C、所述数据发送端将所述数据发送端会话密钥密文导入到数据发送端的USBKEY 中,并对待交换数据进行数字签名和加密所述数据形成数据密文后,指定接收所述数据的数据接收端;D、所述数据发送端将被指定的数据接收端的公钥证书、所述数据密文和所述数据的数字签名打包形成数据包后发送给所述服务器;E、所述服务器从被指定的数据接收端的公钥证书中解析出所述数据接收端的公钥,使用所述数据接收端的公钥加密所述会话密钥形成数据接收端会话密钥密文并将该会话密钥密文加入所述数据包中后发送给所述数据接收端;F、所述数据接收端对所述数据包中的数据密文进行解密,获得所述数据。由上可以看出,通过服务器来为多个数据接收端进行数据接收前的数据加密,不但分担了数据发送端的繁重工作量,还提升了数据交换过程中的安全性。在上述方法中,所述步骤A包括所述数据发送端向服务器发送自己的公钥证书;步骤B所述会话密钥生成之前还包括所述服务器判断所述数据发送端的公钥证书是否由其所信任的证书颁发机构所颁发若是,则所述服务器将数据发送端的公钥证书存储在其证书存储区域中;否则,拒绝所述数据发送端的数据交换请求。由上可以看出,通过验证数据发送端的身份,可以建立一个可信赖的通信连接,由此保证数据交换的安全性。在上述方法中,步骤B中所述生成会话密钥包括由所述服务器的PCI加密卡根据SMl算法随机产生128bit会话密钥;所述将会话密钥加密形成数据发送端会话密钥密文包括所述PCI加密卡使用所述数据发送端公钥证书中的公钥加密所述会话密钥以形成数据发送端会话密钥密文。由上可以看出,采用PCI加密卡可以高速、可靠地加密用于对称加密的会话密钥。在上述方法中,步骤C中加密所述数据形成数据密文包括所述数据发送端利用数据发送端的USEBKEY内置的国密SMl算法加密待交换数据形成数据密文。由上可以看出,采用作为商用密码分组标准对称算法的国密SMl算法加密待交换数据,可以带来较高的安全保密强度。在上述方法中,所述步骤E还包括所述服务器将所述数据接收端会话密钥密文与所述数据接收端的公钥证书绑定
在一起。由上可以看出,上述步骤能够使数据接收端通过自身的公钥证书快速检索到与其对应的会话密钥密文。在上述方法中,步骤E中所述将会话密钥加密形成数据接收端会话密钥密文包括所述服务器的PCI加密卡使用所述数据接收端公钥证书中的公钥加密所述会话密钥以形成数据接收端会话密钥密文。由上可以看出,采用PCI加密卡可以高速、可靠地加密用于对称加密的会话密钥。在上述方法中,步骤F中的对所述数据包中的数据密文进行解密之前,还包括所述数据接收端以自身的公钥证书为索引,检索到与其公钥证书对应的数据接收端会话密钥密文,并将所述数据接收端会话密钥密文导入到数据接收端的USBKEY中。在上述方法中,所述数据密文的解密包括所述数据接收端通过数据接收端的USBKEY利用数据其私钥解密数据接收端会话密钥密文得到数据所述会话密钥;再利用所述会话密钥解密所述数据密文。由上可以看出,要想解密所述数据密文,至少需要数据接收端的私钥和所述会话密钥,由此可知,所述数据密文具有很高的加密强度。在上述方法中,所述步骤F之后还包括所述数据接收端验证所述数据的数字签名。由上可以看出,通过验证所述数据的数字签名可以防止数据发送端的抵赖行为。
图1为本发明提供的一种数据交换方法流程图。
具体实施例方式下面,结合附图详细介绍本发明提供的一种数据交换方法。在没有特别说明的情况下,下文所述的数据交换是在一个数据发送端与多个数据接收端之间进行的。如图1所示,本发明提供的一种数据交换方法包括以下步骤步骤1 数据发送端向服务器发出与数据接收端进行数据交换的请求。在本实施例中,如果数据发送端欲与数据接收端进行数据交换,则数据发送端需向服务器发出数据交换的请求,即向服务器发送自己的公钥证书寻求与所述服务器建立信任关系以便申请会话密钥。与以往由数据发送端直接与数据接收端进行数据交换不同,本实施例将采用服务器来分担一部分在以往数据交换过程中需要由数据发送端进行的工作,具体过程将在下文详述。步骤2 根据所述请求,所述服务器判断数据发送端的公钥证书是否由其所信任的证书颁发机构所颁发的若是,则服务器将数据发送端的公钥证书存储在其证书存储区域中,之后进入下一步;否则,拒绝所述数据发送端与所述数据接收端的数据交换请求。步骤3 服务器生成会话密钥。所述会话密钥是用来加密需要交换的数据。通常可由服务器的PCI加密卡根据 SMl算法随机产生128bit会话密钥,数据交换完成后会被销毁。步骤4 服务器将所述会话密钥加密形成会话密钥密文后发送给数据发送端。在本实施例中,服务器使用PCI加密卡加密所述会话密钥。即,所述PCI加密卡使用所述数据发送端公钥证书中包含的公钥(即所述数据发送端的公钥)来加密所述会话密钥,以保证所有与所述数据发送发随后进行的数据交换都是安全的。所述会话密钥的加密过程为公知技术,在此不再赘述。步骤5 所述数据发送端将所述会话密钥密文导入到数据发送端的USBKEY中。步骤6 所述数据发送端对待交换数据进行数字签名和加密后,指定接收待交换数据的数据接收端。在此步骤中,所述数据发送端利用其私钥对所述待交换数据进行数字签名,并利用USEBKEY内置对称算法加密待交换数据,形成数据密文。所述对称算法为国密SM1,是由国家密码管理局编制的一种商用密码分组标准对称算法。该算法是国家密码管理部门审批的SMl分组密码算法,分组长度和密钥长度都为U8bit,以IP核(Intellectual Property core)的形式存在于USEBKEY的芯片中。此后,所述数据发送端指定接收待交换数据的数据接收端,即从其证书存储区域中取出被指定的所有数据接收端的公钥证书。步骤7 所述数据发送端将被指定的数据接收端的公钥证书、数据密文和数据的数字签名打包形成数据包后发送给服务器。步骤8 所述服务器从被指定的数据接收端的公钥证书中解析出数据接收端的公钥,并使用所述数据接收端的公钥加密所述会话密钥。在此步骤中,所述服务器同样使用PCI加密卡加密所述会话密钥,形成所述数据接收方的会话密钥的密文,具体过程不再赘述。步骤9 所述服务器将所述数据接收端的会话密钥的密文加入所述数据包中后, 将所述数据包发送给所述数据接收端。在此步骤中,由于公钥证书具有唯一性,所述服务器将所述数据接收端的会话密钥的密文与所述数据接收端的公钥证书绑定在一起,以便于所述数据接收端能够通过其公钥证书检索到与其对应的会话密钥的密文。步骤10 所述数据接收端收到所述数据包后,将其中的会话密钥的密文导入到数据接收端的USBKEY中。对于多个数据接收端来说可以自身的公钥证书为索引,检索到与其公钥证书对应的相关会话密钥的密文。步骤11 所述数据接收端对所述数据密文进行解密,获得所述数据。在此步骤中,所述数据接收端使用数据接收端的USBKEY利用其私钥解密其会话密钥密文,再利用其已解密的会话密钥解密所述数据密文,从而获得数据内容。步骤12 所述数据接收端验证所述数据的数字签名。在此步骤中,所述数据接收端使用数据发送端的公钥验证来所述数据的数字签名,以防止数据发送端的抵赖行为。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数据交换方法,其特征在于,包括步骤A、数据发送端向服务器发出数据交换请求;B、所述服务器根据上述请求生成会话密钥,并将所述会话密钥加密形成数据发送端会话密钥密文后发送给所述数据发送端;C、所述数据发送端将所述数据发送端会话密钥密文存放到数据发送端的USBKEY中, 并对待交换数据进行数字签名和加密所述数据形成数据密文后,指定接收所述数据的数据接收端;D、所述数据发送端将被指定的数据接收端的公钥证书、所述数据密文和所述数据的数字签名打包形成数据包后发送给所述服务器;E、所述服务器从被指定的数据接收端的公钥证书中解析出所述数据接收端的公钥,使用所述数据接收端的公钥加密所述会话密钥形成数据接收端会话密钥密文并将该会话密钥密文加入所述数据包中后发送给所述数据接收端;F、所述数据接收端对所述数据包中的数据密文进行解密,获得所述数据。
2.根据权利要求1所述的方法,其特征在于,所述步骤A包括所述数据发送端向服务器发送自己的公钥证书;步骤B所述会话密钥生成之前还包括所述服务器判断所述数据发送端的公钥证书是否由其所信任的证书颁发机构所颁发 若是,则所述服务器将数据发送端的公钥证书存储在其证书存储区域中;否则,拒绝所述数据发送端的数据交换请求。
3.根据权利要求1所述的方法,其特征在于,步骤B中所述生成会话密钥包括 由所述服务器的PCI加密卡根据SMl算法随机产生128bit会话密钥; 所述将会话密钥加密形成数据发送端会话密钥密文包括所述PCI加密卡使用所述数据发送端公钥证书中的公钥加密所述会话密钥以形成数据发送端会话密钥密文。
4.根据权利要求1所述的方法,其特征在于,步骤C中加密所述数据形成数据密文包括所述数据发送端利用数据发送端的USEBKEY内置的国密SMl算法加密待交换数据形成数据密文。
5.根据权利要求1所述的方法,其特征在于,所述步骤E还包括所述服务器将所述数据接收端会话密钥密文与所述数据接收端的公钥证书绑定在一起。
6.根据权利要求5所述的方法,其特征在于,步骤E中所述将会话密钥加密形成数据接收端会话密钥密文包括所述服务器的PCI加密卡使用所述数据接收端公钥证书中的公钥加密所述会话密钥以形成数据接收端会话密钥密文。
7.根据权利要求1所述的方法,其特征在于,步骤F中的对所述数据包中的数据密文进行解密之前,还包括所述数据接收端以自身的公钥证书为索引,检索到与其公钥证书对应的数据接收端会话密钥密文,并将所述数据接收端会话密钥密文存放到数据接收端的USBKEY中。
8.根据权利要求7所述的方法,其特征在于,所述数据密文的解密包括所述数据接收端通过数据接收端的USBKEY利用其私钥解密数据接收端会话密钥密文得到数据所述会话密钥;再利用所述会话密钥解密所述数据密文。
9.根据权利要求7所述的方法,其特征在于,所述步骤F之后还包括 所述数据接收端验证所述数据的数字签名。
全文摘要
本发明提供的一种数据交换方法,包括步骤数据发送端向服务器发出数据交换请求;所述服务器根据上述请求生成会话密钥,并将所述会话密钥加密后发送给所述数据发送端;所述数据发送端将所述会话密钥的密文导入到数据发送端的USBKEY中,并对待交换数据进行数字签名和加密所述数据后,指定接收所述数据的数据接收端;所述数据发送端将数据接收端公钥证书、数据密文和数据的数字签名打包后发送给所述服务器;所述服务器从数据接收端公钥证书中解析出数据接收端公钥,使用所述公钥加密所述会话密钥并将该会话密钥密文加入所述数据包中后发送给所述数据接收端;所述数据接收端对所述数据包中的数据密文进行解密。从而实现高效的企业级数据交换。
文档编号H04L9/30GK102281303SQ201110256349
公开日2011年12月14日 申请日期2011年8月31日 优先权日2011年8月31日
发明者曾宇波, 李璐 申请人:北京海泰方圆科技有限公司