一种基于公开密钥体系的数据安全传输的方法及其装置的制作方法

文档序号:7931364阅读:218来源:国知局
专利名称:一种基于公开密钥体系的数据安全传输的方法及其装置的制作方法
技术领域
本发明涉及一种提高网络数据安全传输性能的方法及装置,尤其涉及一种基于公开密钥体系(Public Key Infrastructure,以下简称PKI)在单证书情况下提高数据传输效率并保证数据安全传输的方法及其装置。
背景技术
随着互联网的惊人成长以及信息技术的快速进步,新一代电子商务正在改变人们的生活方式,如网上购物、网上股票交易、电子贸易、电子银行、网上纳税、网上报关等等。由于互联网的开放性设计,存在着许多安全问题,严重影响了电子商务的普及和发展。其中最重要的,一是数据在传输过程中的安全性问题,即如何防止数据被截获、窃听、篡改等,二是用户身份的合法认证问题,即如何防止用户密码被盗用、伪装合法用户等。而在电子商务中,数据传输的安全性往往是首要的要求,而用户身份的合法认证一般可以通过其他方式予以保证,如采用用户名、密码等。
为了保证电子商务活动的安全性,人们采用了很多方法,其中应用最为普遍、最为成功的是PKI技术。PKI是一种新的安全技术,它由公开密钥密码技术、数字证书、数字证书认证机构CA(Certificate Authority)和关于公开密钥的安全策略等基本成分共同组成的。PKI是利用公钥技术实现电子商务安全的一种体系,是一种基础设施,网络通讯、网上交易是利用它来保证安全的。
在基于PKI的应用中,一般都要求参与电子商务活动各个实体,包括用户和服务商,都必须向认证机构CA中心申请数字证书,通过各自的证书来完成数据加解密、数字签名等功能,以实现数据传输的保密性、数据交换的完整性、发送信息的不可否认性及身份的确定性。
为了实现数据在客户端和服务端的安全传输,当用户向服务商发出交易请求以及服务商向用户返回服务应答的过程中,需要对数据数据进行一系列加解密处理,这种处理是通过各种加解密算法实现的,常见的加密算法有单钥密码算法和双钥密码算法。
单钥密码算法又称对称密码算法,是指加密密钥和解密密钥为同一密钥的密码算法。因此,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密钥(称为对称密钥)。在对称密钥密码算法中,加密运算与解密运算使用同样的密钥,因此,使用的加密算法比较简便高效。最典型的是DES算法。DES(Data Encryption Standard,数据加密标准)算法,它是一个分组加密算法,它以64bit位(8byte)为分组对数据加密,其中有8bit奇偶校验,有效密钥长度为56bit。64位一组的明文从算法的一端输入,64位的密文从另一端输出。DES是一个对称算法,加密和解密用的是同一算法。
双钥密码算法,又称公钥密码算法,是指加密密钥和解密密钥为两个不同密钥的密码算法。公钥密码算法不同于单钥密码算法,它使用了一对密钥一个用于加密信息,另一个则用于解密信息,通信双方无需事先交换密钥就可进行保密通信。其中加密密钥不同于解密密钥,加密密钥公之于众,谁都可以用;解密密钥只有解密人自己知道。这两个密钥之间存在着相互依存关系即用其中任一个密钥加密的信息只能用另一个密钥进行解密。若以公钥作为加密密钥,以用户专用密钥(私钥)作为解密密钥,则可实现多个用户加密的信息只能由一个用户解读;反之,以用户私钥作为加密密钥而以公钥作为解密密钥,则可实现由一个用户加密的信息而多个用户解读。前者可用于数字加密,后者可用于数字签名。
在通过网络传输信息时,公钥密码算法体现出了单密钥加密算法不可替代的优越性。对于参加电子交易的服务商来说,希望通过公开网络与成千上万的用户进行交易。若使用对称密码,则每个用户都需要由服务商直接分配一个密码,并且密码的传输必须通过一个单独的安全通道。相反,在公钥密码算法中,同一个服务商只需自己产生一对密钥,并且将公开钥对外公开。用户户只需用服务商的公开钥加密信息,就可以保证将信息安全地传送给商户。
公钥密码算法中的密钥依据性质划分,可分为公钥和私钥两种。用户产生一对密钥,将其中的一个向外界公开,称为公钥;另一个则自己保留,称为私钥。凡是获悉用户公钥的任何人若想向用户传送信息,只需用用户的公钥对信息加密,将信息密文传送给用户便可。因为公钥与私钥之间存在的依存关系,在用户安全保存私钥的前提下,只有用户本身才能解密该信息,任何未受用户授权的人包括信息的发送者都无法将此信息解密。
RSA公钥密码算法是一种公认十分安全的公钥密码算法。它的命名取自三个创始人Rivest、Shamir和Adelman。RSA公钥密码算法是目前网络上进行保密通信和数字签名的最有效的安全算法。RSA算法的安全性基于数论中大素数分解的困难性,所以,RSA需采用足够大的整数。因子分解越困难,密码就越难以破译,加密强度就越高。


图1所示的是传统PKI在双证书状态下用户和服务商之间的交易数据安全处理示意图。客户端和服务端通常为计算机、服务器或者其他电子通信设备或者应用程序。客户端和服务端均安装有数字证书,并通过相应的应用程序实现对数据的加解密。在这种模式下,客户端和服务端之间传送的数据都通过数字证书进行了加密。图2描述了这种模式的详细处理过程当用户通过客户端向服务商发出交易请求后,客户端对数据做如下加密处理<1>根据DES算法生成DES密钥;<2>使用DES密钥加密数据;<3>使用服务商证书加密DES密钥;<4>通过网络发送加密的请求和已加密的DES密钥;当服务端收到用户的交易请求后,对数据进行如下解密处理<5>使用服务商私钥解密DES密钥;<6>根据明文DES密钥解密交易请求;通过解密处理后,服务端将解密后的请求数据交由服务商处理。然后,服务商向用户发送交易处理应答,由服务端对交易应答做如下加密处理<7>根据DES算法生成DES密钥;<8>使用该DES密钥加密应答数据;<9>使用用户的证书加密DES密钥;这样,服务端向客户端发送的是密文应答数据和密文DES密钥,客户端收到后需要做如下解密处理<10>使用用户密钥解密DES密钥;<11>使用解密后的DES密钥解密应答数据。
然后,客户端将交易应答返回给用户,这样用户与服务商之间就进行了一次安全、完整的交易轮回。
由以上的交易流程可以看出,在双证书状态下实现交易数据的安全传输具有以下缺点首先,它要求用户进行繁琐的证书申请、密钥保护等操作,而对于普通用户来说不可能具有足够的耐心和能力;对于服务商来说,客户量、交易额的增长依赖于数字证书的普及程度,鉴于普通用户的耐心和能力所限,用户申请证书的数量相对于使用网络的用户量非常小,服务商的客户量和交易额也就很难发展起来。
其次,在每一笔交易中,客户端和服务端都需要两次非对称算法的计算,导致交易的效率显著降低,特别是当服务商同时处理多个交易请求时,用户往往需要经过很长时间的等待,当一笔交易需要多次往返处理时,交易的时间就更长,这样不仅交易的效率比较低下,同时普通用户也会因为交易时间过长而产生厌烦情绪,甚至放弃,从而导致电子商务难以普及。
因此,如果完全按照上述传统的PKI的要求来实施,许多电子商务活动无法迅速展开。
目前,为减少用户的麻烦和提高交易效率,对传统的PKI进行了改进,普通用户不再申请证书,即单证书模式。在这种模式下,用户的交易请求使用服务商的数字证书进行加密,但服务商返回给用户的应答数据不进行加密,以明文方式返回,如图3所示。具体的操作流程如图4所示,不再详述。但是在这种情况下,由于服务商返回的数据是明文的,被非法获取和破坏的可能性极大地增加,存在很大的安全隐患。

发明内容
为了解决上述问题,本发明采用了动态密钥技术,提供了一种基于公共密钥体系在单证书状态下实现数据安全传输的系统及其方法,在用户不需要申请证书的情况下,仍然可以对服务商的应答数据进行加密,实现了单证书状态下的数据安全传输。同时,由于本发明只需要进行两次非对称算法进行加解密,使得交易的效率显著提高。
本发明的技术方案如下一种基于公开密钥体系的数据安全传输方法,设置相互传输交易数据的客户端和服务端,其中,服务端安装有服务商数字证书,其中交易数据传输过程中,客户端和服务端对交易数据进行如下处理(1)客户端查找、判断、生成密钥并加密交易数据的步骤;(2)服务端查找、判断、生成密钥并解密交易数据的步骤;(3)服务端查找、获取密钥并加密交易数据的步骤;(4)客户端查找、获得密钥并解密交易数据的步骤。
所述的数据安全传输方法,其中所述的客户端、服务端设置有密钥存储装置,存储并记录密钥,供客户端和服务端查找和调用;所述的密钥存储装置设置有动态密钥表,所述的动态密钥表是一种存储动态产生的密钥的数据结构,包括对称密钥明文,用非对称加密算法加密后的密钥密文,以及产生该密钥时的时间戳。
所述的数据安全传输方法,其中所述的时间戳为预定的时间段。
所述的数据安全传输方法,其中所述的时间戳为一次交易或者交易阶段。
所述的数据安全传输方法,其中所述的时间戳为一次会话。
所述的数据安全传输方法,其中所述的步骤(1)中还包括如下步骤(1a)客户端查找动态密钥表,判断最新的密钥是否过期,如没有过期,转到(1b),如过期或者无密钥记录,转到(1c);(1b)客户端从动态密钥表中取出最新的密钥,利用该密钥加密交易数据;(1c)客户端随机生成密钥,利用该密钥加密交易数据。
所述的数据安全传输方法,其中所述的步骤(2)中还包括如下步骤(2a)服务端查找所述动态密钥表,如查到,执行步骤(2b),如没有查到,执行步骤(2c);(2b)服务端从动态密钥表中取出密钥明文,利用其解密交易数据;(2c)服务端利用服务商证书解密密钥,获得密钥明文,利用其解密交易数据;
所述的数据安全传输方法,其中所述的步骤(1c)中还包括客户端将所述密钥的明文和密文插入到其动态密钥表的步骤。
所述的数据安全传输方法,其中所述的步骤(2c)中还包括服务端将所述密钥的明文和密文插入到其动态密钥表的步骤。
所述的数据安全传输方法,其中所述步骤(3)中,服务端查找所获得的密钥为服务端解密客户端业务数据时所获得、并插入到所述动态密钥表中对应时间戳的密钥。
所述的数据安全传输方法,其中所述步骤(4)中,客户端查找所获得的密钥为客户端加密客户端业务数据时所使用并插入到所述动态密钥表中对应时间戳的密钥。
一种实现权利要求1所述的基于公开密钥体系的数据安全传输装置,设置有加、解密交易数据并相互传输交易数据的客户端和服务端,其中,服务端安装有服务商数字证书,其中客户端和服务端上分别设置有安全加解密装置,所述安全加解密装置为应用程序;所述应用程序包括密钥生成模块、密钥存储模块和算法模块;交易数据流入时,算法模块向密钥生成模块发出密钥请求,密钥生成模块查找密钥存储模块中的密钥记录,取回、生成密钥,并向算法模块发送密钥应答。
所述的数据安全传输装置,其中所述的密钥存储模块中设置有记录密钥的动态密钥表;所述的动态密钥表是一种存储动态产生的密钥的数据结构,包括对称密钥明文,用非对称加密算法加密后的密钥密文,以及产生该密钥时的时间戳。
所述的数据安全传输装置,其中所述的时间戳为预定的时间段。
所述的数据安全传输装置,其中所述的时间戳为一次交易或交易阶段。
所述的数据安全传输装置,其中所述的时间戳为一次会话。
所述的数据安全传输装置,其中当客户端加密交易请求数据时,算法模块向密钥生成模块发出密钥请求,密钥生成模块查找密钥存储模块中动态密钥表中的密钥记录,如果密钥未过期,则从密钥存储模块中取回已存储的对称密钥明文,向算法模块返回密钥应答,算法模块利用该对称密钥对交易数据进行加密处理;
如果密钥过期或者没有密钥记录,则由密钥生成模块动态产生新的密钥,并利用所述服务商的数字证书加密该密钥,形成密钥密文,将所述的密钥、密钥密文以及对应的时间戳送交密钥存储模块存储插入到动态密钥表中,同时向算法模块返回密钥应答,算法模块利用该密钥对交易数据进行加密处理。
所述的数据安全传输装置,其中当服务端解密接收到的交易数据时,算法模块向密钥生成模块发出密钥请求,密钥生成模块查找密钥存储模块中动态密钥表中的密钥记录,如果密钥未过期,则从密钥存储模块中取回已存储的对称密钥明文,向算法模块返回密钥应答,算法模块利用该密钥对交易数据进行解密处理;如果密钥过期或者没有密钥记录,则密钥生成模块使用服务商数字证书解密该密钥,向算法模块返回密钥应答,并将该密钥明文及密钥密文以及对应的时间戳送交密钥存储模块存储,算法模块利用该密钥对交易数据进行解密处理。
所述的数据安全传输装置,其中服务端加密交易应答数据时,算法模块向密钥生成模块发送密钥请求,密钥生成模块查找密钥存储模块中动态密钥表的密钥记录,从密钥存储模块中取回对应时间戳的密钥,向算法模块返回密钥应答,算法模块利用该密钥对交易数据进行加密处理。
所述的数据安全传输装置,其中客户端解密接收到交易应答数据时,算法模块向密钥生成模块发送密钥请求,密钥生成模块查找密钥存储模块中动态密钥表的密钥记录,从密钥存储模块中取回对应时间戳的密钥,向算法模块返回密钥应答,算法模块利用该密钥对交易应答数据进行解密处理。
附图简要说明以下结合附图,通过对本发明较佳实施例的详细描述,将使本发明的技术方案及其有益效果显而易见。
附图中,图1为现有技术双证书条件下的数据处理示意图;图2为现有技术双证书条件下的数据处理流程图;图3为现有技术单证书条件下的单向加密方法示意图;图4为现有技术单证书条件下的单向加密方法流程图;
图5为本发明基于公开密钥体系的数据安全传输方法示意图;图6为本发明基于公开密钥体系的数据安全传输装置的结构示意图;图7为本发明基于公开密钥体系的数据安全传输的方法及其装置的数据安全传输处理流程图;图8为本发明基于公开密钥体系的数据安全传输装置的动态密钥表的结构示意图。
具体实施例方式
下文,将结合附图详细描述本发明。
如图5所示,在本发明中,客户端不需要安装数字证书,而服务端需要安装数字证书。由于客户端和服务端的地位对等,本发明方法的客户端和服务端可以对调,总之以发起请求端为客户端,以相对的接收数据后、处理数据并返回处理数据的被动端为服务端,只需服务端获得CA的数字证书即可。
为了实现本发明,在客户端和服务端都需要安装安全加解密装置100,该安全加解密装置为应用程序,客户端和服务端只需要安装此同一应用程序。
由于该方案与具体业务无关,该应用程序最终可以封装一些统一的应用程序接口(API),以库(Library,静态库或者动态库)的方式提供给客户端和服务端调用,这些API包括数据加密、数据解密、数字签名、签名校验等等。
如图6所示,该应用程序从逻辑上可以划分为密钥生成模块101、密钥存储模块102和算法模块103。交易数据流入时,算法模块103向密钥生成模块101发出密钥请求,密钥生成模块101查找密钥存储模块102中的密钥记录,取回、生成或者记录密钥,并向算法模块103发送密钥应答。
所述密钥存储模块102中设置有动态密钥表112,结构如图8所示的,是一种存储动态产生的密钥的数据结构,存储项包括对称密钥明文KEYn,用非对称加密算法加密所述对称密钥明文KEYn后的密钥密文KEY_ENCn,以及产生该密钥时的时间戳TIMESTAMPn。
所述密钥生成模块101、所述密钥存储模块102的动态密钥表112、算法模块103三个部分的功能分别为密钥生成模块101本发明中又叫做动态密钥生成模块,根据超时时间或者会话动态地产生对称加密密钥;密钥存储模块102其中的动态密钥表102,通过动态密钥表这种数据结构存储动态密钥的明文以及密文,并且提供查找动态密钥的接口;算法模块103本发明中的算法模块103中为标准算法,提供标准的RSA/DES等加解密算法,完成数据的加解密、签名及签名校验等功能。
动态密钥表112负责记录产生的动态密钥,并对其进行管理,由于客户端每隔一段时间随机产生密钥,并存储于动态密钥表中,因此,客户端的动态密钥表为主动的,而服务端并不产生动态密钥,其动态密钥表只记录来自客户端交易数据对应的动态密钥信息,因此服务端的动态密钥表为被动的。
动态密钥表是一种数据结构,用于存储动态产生的密钥(包括加密的和未加密的),见图8所示,包括对称密钥明文,用非对称加密算法加密后的密钥密文,以及产生该密钥时的时间戳。客户端的算法处理模块每隔一段时间(即时间戳)随机产生对称密钥,并存储于动态密钥表中。服务端的动态密钥表结构与客户端的相同,在接收到客户端的请求数据密文及密钥密文后,如果其动态密钥表中已存储有该密钥,则可以直接取出对应的对称密钥明文;但是如果其动态密钥表中无该密钥,则该服务端需要先使用其证书对所述密钥密文进行解密,得到密钥明文,然后将该密钥存储于动态密钥表中,并利用该密钥明文对数据密文进行解密。由于本发明的技术是基于PKI密钥体系的,因此,客户端动态生产的密钥密文都是使用的是服务端的公开密钥(Public Key)对对称密钥明文加密生成的,这样服务端在自己的动态密钥表中无记录时,只需使用自己的私钥(Private Key)即数字证书即可解密得到对称密钥明文。
如果客户端第一次发起交易请求时,算法模块103向密钥生成模块101发出密钥请求,所述密钥生成模块101根据超时时间或者会话情况动态产生对称加密密钥,向所述算法模块103返回密钥应答,同时将产生的动态密钥送交密钥存储模块102,所述密钥存储模块102将该动态密钥记录在其动态密钥表112中。服务端收到客户端传来的数据后,如果是第一次接收该选定密钥的交易请求,则该服务端的动态密钥表中无对应记录,此时服务端只能利用自己的数字证书进行对密钥密文进行解密,并将该密钥明文、密文及时间戳记入自己的动态密钥表中。
如果客户端在同一时间戳记录的预定时间内发起第二次交易请求,当算法模块103向密钥生成模块101发出密钥请求时,密钥生成模块101根据预定的时间判断该动态密钥是否超时,如果没有超时,则密钥生成模块101只需要从密钥存储模块102中取回该动态密钥并返回给所述算法模块103即可;如果超时,则所述密钥生成模块101需要重新动态生成新的动态密钥,返回所述算法模块103,并送交密钥存储模块102存储。服务端接收到交易请求后,由于在服务端的动态密钥表的动态密钥表中已有该密钥的记录,所以服务端将不需进行效率低的非对称算法解密密钥密文,而直接从服务端的动态密钥表中查找到该密钥密文对应的密钥明文即可对交易请求数据解密,大大提高了解密的处理效率。
同样,服务端在返回应答数据时,要使用对交易请求数据解密所使用的密钥进行对应答数据的加密,并将应答数据密文连同密钥密文一起返回客户端。客户端在接收到应答数据时,首先根据密钥密文从自己的动态密钥表中查找到对应对称密钥明文(因是客户端发起请求,因此该密钥一定在客户端的动态密钥表中有记录),然后就可以使用该密钥明文对应答数据密文进行解密。由此可见,交易应答过程完全省却了对对称密钥的非对称加解密过程,对应答数据的加解密过程仅为对称算法的加解密运算,由对称算法和非对称算法的运算效率可知,上述效率的提高将在成千万倍以上。
下面将以一个完整的交易流程来说明本发明的方法的技术方案,具体如图4所示的(1)客户端发起请求①交易请求客户端发起请求数据REQUEST;②得到DES密钥检查动态密钥表中最新的对称密钥是否已经过期,若未过期(根据时间戳判断),则取出该密钥KEY;若已经过期,则重新随机生成一个随机对称密钥KEY,将其使用非对称算法(服务商证书,即服务端公钥)加密后得到密钥密文KEY_ENC,然后将该密钥密文KEY_ENC插入到动态密钥表中;③使用DES密钥加密数据使用该对称密钥KEY加密业务请求数据REQUEST,得到业务请求数据密文REQUST_ENC;④将加密后的业务请求数据密文REQUEST_ENC及密钥密文KEY_ENC一起发送给服务端。
(2)服务端处理请求①得到明文的DES密钥根据收到的加密后的密钥密文KEY_ENC在动态密钥表中查找该密钥的明文KEY,若能查找到,则从表中取出该密钥的明文KEY;若没能查到,则使用服务商证书(即其私钥)将密钥密文解密后插入到自己的动态密钥表中;②对数据密文进行解密使用明文的对称密钥KEY对业务请求数据密文REQUEST_ENC进行解密,得到明文的请求数据REQEUST;③对业务请求数据REQUEST进行处理。
(3)服务端返回应答①加密应答使用解密该业务请求数据REQUEST的对称密钥KEY来加密应答数据REPLY,得到应答数据密文REPLY_ENC;②将应答数据密文REPLY_ENC及对应的密钥密文KEY_ENC发送给客户端。
(4)客户端处理应答①查找明文DES密钥根据密钥密文KEY_ENC在自己的动态密钥表中查找对应对称密钥KEY,由于该密钥KEY是由客户端产生的,服务端并不主动的产生对称密钥,因此该对称密钥KEY一定存在于客户端的动态密钥表中,取出该密钥KEY;②解密应答使用该对称密钥KEY将应答数据密文REPLY_ENC解密,得到REPLY,至此完成一个完整的交易流程。
上述流程过程中,由于应用程序已进行了封装,在客户端或服务端都是由算法模块,密钥生成模块及密钥存储模块之间进行的,但为叙述简便,仅说明了其基本原理。
当进行下一个交易流程时,如果在时间戳所预定的时间段内,则客户端从自己的动态密钥表中找到的仍是上次交易的动态密钥,与服务端的通讯加解密将迅速而安全地进行;一旦超出时间戳的预定时间段,客户端将随机产生新的对称密钥,并使用服务端的公共密钥(Public Key)进行加密,并将密钥明文、密文和时间戳加入到客户端的动态密钥表中;服务端接收到首次的交易请求数据密文及其密钥密文时,首先查找自己的动态密钥表,查找不到则表明为首次,使用自己的私钥对密钥密文解密,并将该密钥明文、密文及时间戳记入服务端的动态密钥表中。此后,该客户端与服务端的交易将非常流畅地进行。
本发明的基于公开密钥体系的数据安全传输的方法及其装置中,对时间戳预定时间的选择将进一步提高本发明方法及其装置的效果,因为在该预定时间内的任何由客户端发起的请求将使用相同的对称密钥,因而在此段时间内客户端与服务端进行的任何交易将只需经两次非对称算法的运算(对密钥),而其他处理全部是对称算法的运算(对数据)和数据查找(对密钥),由此极大地提高了交易数据加解密运算效率,尤其是频繁交易如网上证券的效率。
本发明方法及其装置中时间戳可以但不限于有三种选择方式一是预定时间长度,该时间长度可以根据不同的业务要求进行调整,时间过长,容易泄密;时间过短相当于交易每次提起都进行随机产生新密钥,进行非对称算法的加解密运算,几乎恢复成传统的双证书运算效率。因此,一般选择3~10分钟,选择5分钟则相对比较好,一般来说,交易请求发出后,应答在5分钟内一般会返回,因此选择5分钟为预定时间长度;5分钟后的客户端请求的密钥即随机改变,即使被非法破解,影响也是局部的和暂时的。但时间长短的选择要因不同的业务需要而定。
二是设定时间戳为一次交易,即在客户端发起交易时,可以在每笔交易开始时随机产生一个新的对称密钥来加密数据(一般来说,5分钟内可以有多次交易完成),并用非对称算法加密该对称密钥,然后加入客户端的动态密钥表中,依流程进行交易过程,直至完成该次交易,该种方式与传统的使用PKI的单证书方式较近似,效率提高不大,但安全性很高。
三是设定时间戳为一次会话(Session)。会话是指客户端登录到服务端系统后,可能进行多次交易或查询,直至最后断开或退出系统的这样整个一个过程。由于一个会话过程一般都有一个会话标识SessionID,登录时记录该会话标识,退出时也会记录该会话标识的登出,会话过程中的各次交易不需重新登录,而该会话标识不变。因此,根据某些应用会使用到会话,本发明方法的时间戳可以设定为一次会话,根据不同会话标识来随机动态产生密钥,在某一会话期间密钥保持不变,从而在该会话期间不再需要使用非对称算法进行对对称密钥的加解密运算,从而提高本发明方法应用的效率。
在本发明的方法及其装置中,客户端也可以获得数字证书,但基于本发明方法的数据加解密效率,在使用本发明方法的同时,可以利用客户端的数字证书,平滑地增加数字签名等更加安全的功能。
应当理解的是,本发明的一种基于公开密钥体系的数据安全传输的方法及其装置,对本领域普通技术人员来说,可以根据本发明的技术方案及其构思作出各种可能的改变或替换,而只要这些改变或替换是显而易见的,都应属于本发明后附权利要求的保护范围。
权利要求
1.一种基于公开密钥体系的数据安全传输方法,设置相互传输交易数据的客户端和服务端,其中,服务端安装有服务商数字证书,其特征在于交易数据传输过程中,客户端和服务端对交易数据进行如下处理(1)客户端查找、判断、生成密钥并加密交易数据的步骤;(2)服务端查找、判断、生成密钥并解密交易数据的步骤;(3)服务端查找、获取密钥并加密交易数据的步骤;(4)客户端查找、获得密钥并解密交易数据的步骤。
2.根据权利要求1所述的数据安全传输方法,其特征在于所述的客户端、服务端设置有密钥存储装置,存储并记录密钥,供客户端和服务端查找和调用;所述的密钥存储装置设置有动态密钥表,所述的动态密钥表是一种存储动态产生的密钥的数据结构,包括对称密钥明文,用非对称加密算法加密后的密钥密文,以及产生该密钥时的时间戳。
3.根据权利要求2所述的数据安全传输方法,其特征在于所述的时间戳为预定的时间段。
4.根据权利要求2所述的数据安全传输方法,其特征在于所述的时间戳为一次交易或者交易阶段。
5.根据权利要求2所述的数据安全传输方法,其特征在于所述的时间戳为一次会话。
6.根据权利要求1或2所述的数据安全传输方法,其特征在于所述的步骤(1)中还包括如下步骤(1a)客户端查找动态密钥表,判断最新的密钥是否过期,如没有过期,转到(1b),如过期或者无密钥记录,转到(1c);(1b)客户端从动态密钥表中取出最新的密钥,利用该密钥加密交易数据;(1c)客户端随机生成密钥,利用该密钥加密交易数据。
7.根据权利要求1或2所述的数据安全传输方法,其特征在于所述的步骤(2)中还包括如下步骤(2a)服务端查找所述动态密钥表,如查到,执行步骤(2b),如没有查到,执行步骤(2c);(2b)服务端从动态密钥表中取出密钥明文,利用其解密交易数据;(2c)服务端利用服务商证书解密密钥,获得密钥明文,利用其解密交易数据;
8.根据权利要求6所述的数据安全传输方法,其特征在于所述的步骤(1c)中还包括客户端将所述密钥的明文和密文插入到其动态密钥表的步骤。
9.根据权利要求7所述的数据安全传输方法,其特征在于所述的步骤(2c)中还包括服务端将所述密钥的明文和密文插入到其动态密钥表的步骤。
10.根据权利要求1或2所述的数据安全传输方法,其特征在于所述步骤(3)中,服务端查找所获得的密钥为服务端解密客户端业务数据时所获得、并插入到所述动态密钥表中对应时间戳的密钥。
11.根据权利要求1或2所述的数据安全传输方法,其特征在于所述步骤(4)中,客户端查找所获得的密钥为客户端加密客户端业务数据时所使用并插入到所述动态密钥表中对应时间戳的密钥。
12.一种实现权利要求1所述的基于公开密钥体系的数据安全传输装置,设置有加、解密交易数据并相互传输交易数据的客户端和服务端,其中,服务端安装有服务商数字证书,其特征在于客户端和服务端上分别设置有安全加解密装置,所述安全加解密装置为应用程序;所述应用程序包括密钥生成模块、密钥存储模块和算法模块;交易数据流入时,算法模块向密钥生成模块发出密钥请求,密钥生成模块查找密钥存储模块中的密钥记录,取回、生成密钥,并向算法模块发送密钥应答。
13.根据权利要求12所述的数据安全传输装置,其特征在于所述的密钥存储模块中设置有记录密钥的动态密钥表;所述的动态密钥表是一种存储动态产生的密钥的数据结构,包括对称密钥明文,用非对称加密算法加密后的密钥密文,以及产生该密钥时的时间戳。
14.根据权利要求13所述的数据安全传输装置,其特征在于所述的时间戳为预定的时间段。
15.根据权利要求13所述的数据安全传输装置,其特征在于所述的时间戳为一次交易或交易阶段。
16.根据权利要求13所述的数据安全传输装置,其特征在于所述的时间戳为一次会话。
17.根据权利要求12或13所述的数据安全传输装置,其特征在于当客户端加密交易请求数据时,算法模块向密钥生成模块发出密钥请求,密钥生成模块查找密钥存储模块中动态密钥表中的密钥记录,如果密钥未过期,则从密钥存储模块中取回已存储的对称密钥明文,向算法模块返回密钥应答,算法模块利用该对称密钥对交易数据进行加密处理;如果密钥过期或者没有密钥记录,则由密钥生成模块动态产生新的密钥,并利用所述服务商的数字证书加密该密钥,形成密钥密文,将所述的密钥、密钥密文以及对应的时间戳送交密钥存储模块存储插入到动态密钥表中,同时向算法模块返回密钥应答,算法模块利用该密钥对交易数据进行加密处理。
18.根据权利要求12或13所述的数据安全传输装置,其特征在于当服务端解密接收到的交易数据时,算法模块向密钥生成模块发出密钥请求,密钥生成模块查找密钥存储模块中动态密钥表中的密钥记录,如果密钥未过期,则从密钥存储模块中取回已存储的对称密钥明文,向算法模块返回密钥应答,算法模块利用该密钥对交易数据进行解密处理;如果密钥过期或者没有密钥记录,则密钥生成模块使用服务商数字证书解密该密钥,向算法模块返回密钥应答,并将该密钥明文及密钥密文以及对应的时间戳送交密钥存储模块存储,算法模块利用该密钥对交易数据进行解密处理。
19.根据权利要求12或13所述的数据安全传输装置,其特征在于服务端加密交易应答数据时,算法模块向密钥生成模块发送密钥请求,密钥生成模块查找密钥存储模块中动态密钥表的密钥记录,从密钥存储模块中取回对应时间戳的密钥,向算法模块返回密钥应答,算法模块利用该密钥对交易数据进行加密处理。
20.根据权利要求12或13所述的数据安全传输装置,其特征在于客户端解密接收到交易应答数据时,算法模块向密钥生成模块发送密钥请求,密钥生成模块查找密钥存储模块中动态密钥表的密钥记录,从密钥存储模块中取回对应时间戳的密钥,向算法模块返回密钥应答,算法模块利用该密钥对交易应答数据进行解密处理。
全文摘要
一种基于公开密钥体系的数据安全传输的方法及其装置,涉及一种增加网络数据传输性能和安全的方法,包括以下步骤设置一发起请求交易的客户端及一提供交易处理的服务端;在客户端及服务端分别设置动态密钥表用于存储密钥,密钥密文及对应时间戳;客户端发起请求数据,根据时间戳在预定时间后随机产生对称密钥并经RSA算法加密后加入动态密钥表中;客户端与服务端在通讯时,同时传输经该对称密钥加密后的数据密文及对应密钥密文;接收到密钥密文后查找动态密钥表找到对应的对称密钥明文对接收的数据密文进行解密。本发明方法及其装置充分利用动态密钥表的查询功能,减少非对称算法的运算次数,提高加解密效率并保证数据的安全,用户无需申请数字证书。
文档编号H04L9/32GK1486014SQ0214395
公开日2004年3月31日 申请日期2002年9月24日 优先权日2002年9月24日
发明者龚智辉, 戴钊 申请人:黎明网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1