著录项信息
专利名称 | 一种基于公开密钥体系的数据安全传输的方法及其装置 |
申请号 | CN02143957.5 | 申请日期 | 2002-09-24 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-03-31 | 公开/公告号 | CN1486014 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L9/32 | IPC分类号 | H04L9/32;H04L9/08查看分类表>
|
申请人 | 黎明网络有限公司 | 申请人地址 | 广东省深圳市福田区深南中路统建楼一栋15-***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 黎明网络有限公司 | 当前权利人 | 黎明网络有限公司 |
发明人 | 龚智辉;戴钊 |
代理机构 | 隆天国际知识产权代理有限公司 | 代理人 | 陈红;徐金国 |
摘要
一种基于公开密钥体系的数据安全传输的方法及其装置,涉及一种增加网络数据传输性能和安全的方法,包括以下步骤:设置一发起请求交易的客户端及一提供交易处理的服务端;在客户端及服务端分别设置动态密钥表用于存储密钥,密钥密文及对应时间戳;客户端发起请求数据,根据时间戳在预定时间后随机产生对称密钥并经RSA算法加密后加入动态密钥表中;客户端与服务端在通讯时,同时传输经该对称密钥加密后的数据密文及对应密钥密文;接收到密钥密文后查找动态密钥表找到对应的对称密钥明文对接收的数据密文进行解密。本发明方法及其装置充分利用动态密钥表的查询功能,减少非对称算法的运算次数,提高加解密效率并保证数据的安全,用户无需申请数字证书。
1、一种基于公开密钥体系的数据安全传输方法,设置相互传输交易数据 的客户端和服务端,其中,服务端安装有服务商数字证书,其特征在于:交易 数据传输过程中,客户端和服务端对交易数据进行如下处理:
(1)客户端查找、判断、生成密钥并加密交易数据的步骤;
(2)服务端查找、判断、生成密钥并解密交易数据的步骤;
(3)服务端查找、获取密钥并加密交易数据的步骤;
(4)客户端查找、获得密钥并解密交易数据的步骤;
所述的客户端、服务端设置有密钥存储装置,存储并记录密钥,供客户端 和服务端查找和调用;
所述的密钥存储装置设置有动态密钥表,所述的动态密钥表是一种存储动 态产生的密钥的数据结构,包括对称密钥明文,用非对称加密算法加密后的密 钥密文,以及产生该密钥时的时间戳;
所述的步骤(1)中还包括如下步骤:
(1a)客户端查找动态密钥表,判断最新的密钥是否过期,如没有过期, 转到(1b),如过期或者无密钥记录,转到(1c);
(1b)客户端从动态密钥表中取出最新的密钥,利用该密钥加密交易数据;
(1c)客户端随机生成密钥,利用该密钥加密交易数据,客户端将所述密 钥的明文和密文插入到动态密钥表,客户端使用服务商证书加密所述密钥,并 将得到的密钥密文与交易数据密文一起发送到服务端;
所述的步骤(2)中还包括如下步骤:
(2a)服务端查找所述动态密钥表,如查到,执行步骤(2b),如没有查 到,执行步骤(2c);
(2b)服务端从动态密钥表中取出密钥明文,利用其解密交易数据;
(2c)服务端利用服务商证书解密密钥,获得密钥明文,利用其解密交易 数据,服务端将所述密钥的明文和密文插入到动态密钥表;
所述步骤(3)中,服务端查找所获得的密钥为服务端解密客户端业务数 据时所获得、并插入到所述动态密钥表中对应时间戳的密钥;
所述步骤(4)中,客户端查找所获得的密钥为客户端加密客户端业务数 据时所使用并插入到所述动态密钥表中对应时间戳的密钥。
2、根据权利要求1所述的数据安全传输方法,其特征在于:所述的时间 戳为预定的时间段。
3、根据权利要求1所述的数据安全传输方法,其特征在于:所述的时间 戳为一次交易或者交易阶段。
4、根据权利要求1所述的数据安全传输方法,其特征在于:所述的时间 戳为一次会话。
5、一种实现权利要求1所述的基于公开密钥体系的数据安全传输方法的 数据安全传输装置,设置有加、解密交易数据并相互传输交易数据的客户端和 服务端,其中,服务端安装有服务商数字证书,其特征在于:客户端和服务端 上分别设置有安全加解密装置,所述安全加解密装置为应用程序模块;
所述应用程序模块包括密钥生成模块、密钥存储模块和算法模块;
所述的密钥存储模块中设置有记录密钥的动态密钥表;所述的动态密钥表 是一种存储动态产生的密钥的数据结构,包括对称密钥明文,用非对称加密算 法加密后的密钥密文,以及产生该密钥时的时间戳;
交易数据流入时,算法模块向密钥生成模块发出密钥请求,密钥生成模块 查找密钥存储模块中的密钥记录,取回、生成密钥,并向算法模块发送密钥应 答;
当客户端加密交易请求数据时,算法模块向密钥生成模块发出密钥请求, 密钥生成模块查找密钥存储模块中动态密钥表中的密钥记录,如果密钥未过 期,则从密钥存储模块中取回已存储的对称密钥明文,向算法模块返回密钥应 答,算法模块利用该对称密钥对交易数据进行加密处理;
如果密钥过期或者没有密钥记录,则由密钥生成模块动态产生新的密钥, 并利用所述服务商的数字证书加密该密钥,形成密钥密文,将所述的密钥、密 钥密文以及对应的时间戳送交密钥存储模块存储插入到动态密钥表中,同时向 算法模块返回密钥应答,算法模块利用该密钥对交易数据进行加密处理;
当服务端解密接收到的交易数据时,算法模块向密钥生成模块发出密钥请 求,密钥生成模块查找密钥存储模块中动态密钥表中的密钥记录,如果密钥未 过期,则从密钥存储模块中取回已存储的对称密钥明文,向算法模块返回密钥 应答,算法模块利用该密钥对交易数据进行解密处理;
如果密钥过期或者没有密钥记录,则密钥生成模块使用服务商数字证书解 密该密钥,向算法模块返回密钥应答,并将该密钥明文及密钥密文以及对应的 时间戳送交密钥存储模块存储,算法模块利用该密钥对交易数据进行解密处 理;
服务端加密交易应答数据时,算法模块向密钥生成模块发送密钥请求,密 钥生成模块查找密钥存储模块中动态密钥表的密钥记录,从密钥存储模块中取 回对应时间戳的密钥,向算法模块返回密钥应答,算法模块利用该密钥对交易 数据进行加密处理;
客户端解密接收到交易应答数据时,算法模块向密钥生成模块发送密钥请 求,密钥生成模块查找密钥存储模块中动态密钥表的密钥记录,从密钥存储模 块中取回对应时间戳的密钥,向算法模块返回密钥应答,算法模块利用该密钥 对交易应答数据进行解密处理。
6、根据权利要求5所述的数据安全传输装置,其特征在于:所述的时间 戳为预定的时间段。
7、根据权利要求5所述的数据安全传输装置,其特征在于:所述的时间 戳为一次交易或交易阶段。
8、根据权利要求5所述的数据安全传输装置,其特征在于:所述的时间 戳为一次会话。
技术领域
本发明涉及一种提高网络数据安全传输性能的方法及装置,尤其涉及一种 基于公开密钥体系(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)服务端利用服务商证书解密密钥,获得密钥明文,利用其解密交易数 据,服务端将所述密钥的明文和密文插入到动态密钥表。;
所述步骤(3)中,服务端查找所获得的密钥为服务端解密客户端业务数 据时所获得、并插入到所述动态密钥表中对应时间戳的密钥。
所述步骤(4)中,客户端查找所获得的密钥为客户端加密客户端业务数 据时所使用并插入到所述动态密钥表中对应时间戳的密钥。
一种实现基于公开密钥体系的数据安全传输方法的装置,设置有加、解密 交易数据并相互传输交易数据的客户端和服务端,其中,服务端安装有服务商 数字证书,客户端和服务端上分别设置有安全加解密装置,所述安全加解密装 置为应用程序模块;
所述应用程序模块包括密钥生成模块、密钥存储模块和算法模块;
交易数据流入时,算法模块向密钥生成模块发出密钥请求,密钥生成模块 查找密钥存储模块中的密钥记录,取回、生成密钥,并向算法模块发送密钥应 答。
所述的密钥存储模块中设置有记录密钥的动态密钥表;所述的动态密钥表 是一种存储动态产生的密钥的数据结构,包括对称密钥明文,用非对称加密算 法加密后的密钥密文,以及产生该密钥时的时间戳。
所述的时间戳为预定的时间段、一次交易或交易阶段、一次会话。
当客户端加密交易请求数据时,算法模块向密钥生成模块发出密钥请求, 密钥生成模块查找密钥存储模块中动态密钥表中的密钥记录,如果密钥未过 期,则从密钥存储模块中取回已存储的对称密钥明文,向算法模块返回密钥应 答,算法模块利用该对称密钥对交易数据进行加密处理;
如果密钥过期或者没有密钥记录,则由密钥生成模块动态产生新的密钥, 并利用所述服务商的数字证书加密该密钥,形成密钥密文,将所述的密钥、密 钥密文以及对应的时间戳送交密钥存储模块存储插入到动态密钥表中,同时向 算法模块返回密钥应答,算法模块利用该密钥对交易数据进行加密处理。
当服务端解密接收到的交易数据时,算法模块向密钥生成模块发出密钥请 求,密钥生成模块查找密钥存储模块中动态密钥表中的密钥记录,如果密钥未 过期,则从密钥存储模块中取回已存储的对称密钥明文,向算法模块返回密钥 应答,算法模块利用该密钥对交易数据进行解密处理;
如果密钥过期或者没有密钥记录,则密钥生成模块使用服务商数字证书解 密该密钥,向算法模块返回密钥应答,并将该密钥明文及密钥密文以及对应的 时间戳送交密钥存储模块存储,算法模块利用该密钥对交易数据进行解密处 理。
服务端加密交易应答数据时,算法模块向密钥生成模块发送密钥请求,密 钥生成模块查找密钥存储模块中动态密钥表的密钥记录,从密钥存储模块中取 回对应时间戳的密钥,向算法模块返回密钥应答,算法模块利用该密钥对交易 数据进行加密处理。
客户端解密接收到交易应答数据时,算法模块向密钥生成模块发送密钥请 求,密钥生成模块查找密钥存储模块中动态密钥表的密钥记录,从密钥存储模 块中取回对应时间戳的密钥,向算法模块返回密钥应答,算法模块利用该密钥 对交易应答数据进行解密处理。
附图简要说明
以下结合附图,通过对本发明较佳实施例的详细描述,将使本发明的技术 方案及其有益效果显而易见。
附图中,
图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所示,包括对称密钥明文,用非对称加密算法加密后的密钥 密文,以及产生该密钥时的时间戳。客户端的算法处理模块每隔一段时间随机 产生对称密钥,并存储于动态密钥表中。服务端的动态密钥表结构与客户端的 相同,在接收到客户端的请求数据密文及密钥密文后,如果其动态密钥表中已 存储有该密钥,则可以直接取出对应的对称密钥明文;但是如果其动态密钥表 中无该密钥,则该服务端需要先使用其证书对所述密钥密文进行解密,得到密 钥明文,然后将该密钥存储于动态密钥表中,并利用该密钥明文对数据密文进 行解密。
如果客户端第一次发起交易请求时,算法模块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,登录时记录该会话 标识,退出时也会记录该会话标识的登出,会话过程中的各次交易不需重新登 录,而该会话标识不变。因此,根据某些应用会使用到会话,本发明方法的时 间戳可以设定为一次会话,根据不同会话标识来随机动态产生密钥,在某一会 话期间密钥保持不变,从而在该会话期间不再需要使用非对称算法进行对对称 密钥的加解密运算,从而提高本发明方法应用的效率。
在本发明的方法及其装置中,客户端也可以获得数字证书,但基于本发明 方法的数据加解密效率,在使用本发明方法的同时,可以利用客户端的数字证 书,平滑地增加数字签名等更加安全的功能。
应当理解的是,本发明的一种基于公开密钥体系的数据安全传输的方法及 其装置,对本领域普通技术人员来说,可以根据本发明的技术方案及其构思作 出各种可能的改变或替换,而只要这些改变或替换是显而易见的,都应属于本 发明后附权利要求的保护范围。
法律信息
- 2008-11-26
专利权的终止(未缴年费专利权终止)
专利权的终止(未缴年费专利权终止)授权公告日:2007.4.11
- 2007-04-11
- 2004-06-09
- 2004-03-31
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2001-11-28
|
2000-05-11
| | |
2
| | 暂无 |
1997-10-23
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2012-11-09 | 2012-11-09 | | |