重新使用会话密钥安全通信的方法和设备转让专利

申请号 : CN200510075094.X

文献号 : CN1708003B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋宽雨李承禹金熙东崔栽荣

申请人 : 三星电子株式会社

摘要 :

提供了一种用于客户端和服务器之间的安全通信的方法和设备。在该方法中,为了实现客户端和服务器之间的通信,根据相应于会话密钥的会话认证信息来管理会话密钥,并且如果存在有效的会话密钥,则使用该会话密钥来加密或解密数据。如果不存在有效的会话密钥,则客户端产生新会话密钥,用于使得在一个客户端上执行的应用程序共享单一会话密钥的操作被执行,从而使用会话密钥执行安全通信。

权利要求 :

1.一种用于在客户端和服务器之间安全通信的方法,该方法包括:a)将证书发送到至少一个访问客户端;

b)接收由客户端产生的会话密钥;

c)产生相应于该会话密钥的会话认证信息;

d)将该会话认证信息发送到客户端;和

e)使用该会话密钥解密从客户端接收的加密的消息,并且使用该会话密钥来加密将被发送到客户端的消息,其中,在步骤e)中,当由于错误的会话密钥而产生错误时,将会话密钥重新共享请求发送到客户端并回到步骤b)。

2.如权利要求1所述的方法,其中,该会话认证信息包括客户端的认证信息和服务器的认证信息中的至少一个。

3.如权利要求1所述的方法,其中,该会话密钥由在客户端上执行的预定应用程序产生。

4.如权利要求3所述的方法,其中,在被提供来自服务器的服务的客户端上执行的多个应用程序共享该会话密钥和会话认证信息。

5.一种用于在客户端和服务器之间安全通信的方法,该方法包括:a)将证书发送到至少一个访问客户端;

b)接收会话密钥和会话认证信息,该会话密钥和会话认证信息由客户端使用包括在证书中的公共密钥来产生并加密;

c)解密该加密的会话密钥和会话认证信息;和

d)使用会话密钥解密从已经发送会话认证信息的客户端接收的加密的消息,并且使用会话密钥加密将被发送到已经发送会话认证信息的客户端的消息,其中,在步骤d)中,当由于错误的会话密钥而在解密中产生错误时,将会话密钥重新共享请求发送到客户端并回到步骤b)。

6.如权利要求5所述的方法,其中,该会话认证信息包括客户端的认证信息和服务器的认证信息中的至少一个。

7.如权利要求5所述的方法,其中,该会话密钥由在客户端上执行的预定应用程序产生。

8.如权利要求7所述的方法,其中,在被提供来自服务器的服务的客户端上执行的多个应用程序共享该会话密钥和会话认证信息。

9.一种用于在客户端和服务器之间安全通信的方法,该方法包括:a)访问至少一个服务器;

b)从服务器接收证书;

c)从该证书中提取服务器的公共密钥;

d)产生用于与服务器通信的会话密钥;

e)使用公共密钥加密会话密钥,并且将加密的会话密钥发送到服务器;

f)从服务器接收相应于会话密钥的会话认证信息;

g)使用会话密钥解密从已经产生会话认证信息的服务器接收的加密的消息,并且使用会话密钥加密将被发送到已经产生会话认证信息的服务器的消息,其中,当从服务器接收到会话密钥重新共享请求时,回到步骤d)。

10.如权利要求9所述的方法,其中,该会话认证信息包括客户端的认证信息和服务器的认证信息中的至少一个。

11.如权利要求9所述的方法,其中,该会话密钥由在客户端上执行的预定应用程序产生。

12.如权利要求11所述的方法,其中,在被提供来自服务器的服务的客户端上执行的多个应用程序共享该会话密钥和会话认证信息。

13.如权利要求9所述的方法,其中,当会话密钥有效时,步骤g)被执行。

14.如权利要求13所述的方法,其中,根据从会话密钥被最后使用开始流逝的时间和是否会话密钥已经被调制的确定结果中的至少一个来确定会话密钥是否有效。

15.如权利9所述的方法,其中,当会话密钥不存在时或当会话密钥无效时,步骤c)至步骤g)被执行。

16.一种用于在客户端和服务器之间安全通信的方法,该方法包括:a)访问至少一个服务器;

b)从服务器接收证书;

c)从该证书中提取服务器的公共密钥;

d)产生会话密钥和相应于该用于与服务器通信的会话密钥的会话认证信息;

e)使用公共密钥加密会话密钥和会话认证信息,并且将加密的会话密钥和会话认证信息发送到服务器;和f)使用会话密钥将从已经被访问并且由会话认证信息认证的服务器接收的加密的消息解密,使用会话密钥将将被发送到已经被访问并且由会话认证信息认证的服务器的消息加密,其中,当从服务器接收到会话密钥重新共享请求时,回到步骤d)。

17.如权利要求16所述的方法,其中,会话认证信息包括客户端的认证信息和服务器的认证信息中的至少一个。

18.如权利要求16所述的方法,其中,该会话密钥由在客户端上执行的预定应用程序产生。

19.如权利要求18所述的方法,其中,在被提供来自服务器的服务的客户端上执行的多个应用程序共享该会话密钥和会话认证信息。

20.如权利要求16所述的方法,其中,当会话密钥有效时,步骤f)被执行。

21.如权利要求20所述的方法,其中,根据从会话密钥被最后使用开始流逝的时间和是否会话密钥已经被调制的确定结果中的至少一个来确定会话密钥是否有效。

22.如权利要求16所述的方法,其中,当会话密钥不存在时或当会话密钥无效时,步骤d)至步骤f)被执行。

23.一种用于安全通信的设备,包括:

会话认证信息产生模块,用于产生会话认证信息;

控制模块,用于管理加密和解密操作,当检测到由于错误的会话密钥而发生的解密错误时,产生会话密钥重新共享请求;和发送接收模块,用于将证书发送到访问客户端,从客户端接收会话密钥,将由会话认证信息产生模块产生的会话认证信息发送到客户端,和发送和接收使用会话密钥加密的消息,并发送产生的会话密钥重新共享请求。

24.如权利要求23所述的设备,其中,该会话认证信息包括客户端的认证信息和服务器的认证信息中的至少一个。

25.如权利要求23所述的方法,其中,该会话密钥由在客户端上执行的预定应用程序产生。

26.如权利要求25所述的方法,其中,在被提供来自服务器的服务的客户端上执行的多个应用程序共享该会话密钥和会话认证信息。

27.一种用于安全通信的设备,包括:

发送接收模块,用于将证书发送到访问客户端,从客户端接收会话密钥和会话认证信息,发送和接收使用会话密钥加密的消息,并发送会话密钥重新共享请求;

加密模块,用于使用由发送接收模块接收的会话密钥加密将被发送到客户端的消息,并且使用会话密钥解密由发送接收模块接收的加密的消息;和控制模块,用于管理加密和解密操作,当检测到由于错误的会话密钥而发生的解密错误时,产生会话密钥重新共享请求。

28.如权利要求27所述的设备,其中,该会话认证信息包括客户端的认证信息和服务器的认证信息中的至少一个。

29.如权利要求27所述的设备,其中,该会话密钥由在客户端上执行的预定应用程序产生。

30.如权利要求29所述的设备,其中,在被提供来自服务器的服务的客户端上执行的多个应用程序共享该会话密钥和会话认证信息。

31.一种用于安全通信的设备,包括:

会话密钥产生模块,用于产生第一会话密钥;

发送接收模块,用于从服务器接收证书,将由会话密钥产生模块产生的第一会话密钥发送到服务器,从服务器接收相应于该第一会话密钥的第一会话认证信息,和发送和接收使用第一会话密钥加密的消息;

控制模块,用于从由发送接收模块接收的证书中提取公共密钥;和加密模块,用于使用由控制模块提取的公共密钥来加密由会话密钥产生模块产生的第一会话密钥,并且使用第一会话密钥加密和解密第一消息,其中,当从服务器接收到第一会话密钥重新共享请求时,加密模块使用由会话密钥产生模块产生的第二会话密钥对从产生了第二会话认证信息的服务器接收的加密的消息解密,并且加密模块使用第二会话密钥对将被发送到产生了第二会话认证信息的服务器的第二消息加密。

32.如权利要求31所述的设备,其中,该会话认证信息包括客户端的认证信息和服务器的认证信息中的至少一个。

33.如权利要求31所述的设备,其中,该会话密钥由在客户端上执行的预定应用程序产生。

34.如权利要求31所述的设备,其中,在被提供来自服务器的服务的客户端上执行的多个应用程序共享该会话密钥和会话认证信息。

35.一种用于安全通信的设备,包括:

会话密钥产生模块,用于产生第一会话密钥;

会话认证信息产生模块,用于产生相应于第一会话密钥的第一会话认证信息;

发送接收模块,用于从服务器接收证书,并且将由会话密钥产生模块产生的第一会话密钥和由会话认证信息产生模块产生的第一会话认证信息发送到服务器;

控制模块,用于从由发送接收模块接收的证书中提取公共密钥;和加密模块,用于使用由控制模块提取的公共密钥将由会话密钥产生模块产生的第一会话密钥和由会话认证信息产生模块产生的第一会话认证信息加密,并且使用第一会话密钥加密和解密第一消息,其中,当从服务器接收到第一会话密钥重新共享请求时,加密模块使用由会话密钥产生模块产生的第二会话密钥对从产生了第二会话认证信息的服务器接收的加密的消息解密,并且加密模块使用第二会话密钥对将被发送到产生了第二会话认证信息的服务器的第二消息加密。

36.如权利要求35所述的设备,其中,该会话认证信息包括客户端的认证信息和服务器的认证信息中的至少一个。

37.如权利要求35所述的设备,其中,该会话密钥由在客户端上执行的预定应用程序产生。

38.如权利要求37所述的设备,其中,在被提供来自服务器的服务的客户端上执行的多个应用程序共享该会话密钥和会话认证信息。

说明书 :

技术领域

本发明涉及一种用于在客户端和服务器之间使用会话密钥安全通信的方法和设备,更具体地讲,涉及这样一种用于重新使用会话密钥安全通信的方法和设备,通过该方法和设备,即使在会话结束以后产生的会话密钥没有被废弃,而根据会话认证信息被管理,并且在预定条件下共享该会话密钥的客户端和服务器之间的通信中被重新使用,从而降低了由于用于共享该会话密钥的程序导致的负载,并且通过该方法和设备,在客户端中产生的另外的应用程序被允许使用该会话密钥,从而便于该会话密钥的管理。

背景技术

随着作为信息通信的主要方式的万维网(WWW)的使用以及WWW的商业扩展,保护敏感信息如在WWW上传递的购买、定购、或支付信息的必要性被逐日提高。然而,由于传输控制协议/互联网协议(TCP/IP)的协议特征,导致该协议网络在安全性方面很脆弱。因此,为了安全性,需要在通信双方的协定下加密在WWW(尤其,在电子商务网站上)上传递的敏感信息(如,信用卡编号和密码)。
代表性的加密方法是对称密钥加密术和公共密钥加密术。
对称密钥加密术被称作私密密钥加密术,在其中,用于加密数据的密钥与用于解密数据的密钥相同。数据加密标准(DES)最通常地用于对称密钥加密术。近来,增多了使用先进加密标准(AES)的应用。
公共密钥加密术被称作非对称加密,在其中,用于加密数据的密钥和用于解密数据的密钥不同。使用预定的算法来产生彼此依赖的一对密钥。用于加密的密钥被称作公共密钥,用于解密使用公共密钥加密的文本的密钥被称作私有密钥。私有密钥由用户保密,公共密钥被公开并且可以被广泛地分布。由公共密钥加密的文本仅仅可由该对的私有密钥解密。公共密钥密码系统的例子是Diffie-Hellman密码系统、RSA密码系统、EIGamal密码系统、和椭圆曲线密码系统。公共密钥加密术要比对称密钥加密术慢100到1000倍,并且因此用于密钥交换或数字签名,而不用于内容的加密。
在信息加密的实际应用中,组合对称密钥加密术和公共密钥加密术的混合加密系统被使用。在混合加密系统中,任何人可以加密消息,但仅仅具有私有密钥的人可以解密该消息。实际上,根据对称密钥加密术使用随机产生的会话密钥来加密将被发送的消息。
图1示出用于在遵照混合加密的传统安全套接层(SSL)中共享会话的程序。SSL协议使用鉴证、完整性的数字签名、私有的加密等等来在位于网络层(如,TCP/IP)和应用层之间的协议层上提供客户端和服务器之间的安全通信。SSL协议由Netscape建议,并且基本上被认为是关于web的安全方案的标准。
在传统SSL中,会话共享程序遵照混合加密。当用户使用web浏览器来访问web服务器时,该web服务器提供包括web服务器的公共密钥的证书。Web浏览器即客户端从证书获得web服务器的公共密钥,产生会话密钥(S10),使用web服务器的公共密钥加密该会话密钥(S20),并且将加密的会话密钥发送到web服务器。Web服务器使用其私有密钥来解密接收的消息以获得该会话密钥(S30),使用该会话密钥来加密消息(S40),并且将加密的消息发送到客户端。客户端使用会话密钥解密该来自web服务器的消息(S50)。当在客户端和web服务器之间的通信结束时,客户端发送会话完成请求到web服务器,并且客户端和web服务器废弃该会话密钥(S60)。为了防止可由信息泄漏导致的安全问题,当会话结束时,会话密钥被废弃,并且每当产生新会话时,新会话密钥被产生。
然而,在传统SSL协议中,当客户端访问服务器时必须总要被执行的会话密钥共享程序导致中央处理单元(CPU)的负载。结果,服务器的可用性被降低,并且服务器和客户端之间的传输率也被降低。由于会话密钥共享操作在数据安全性方面导致最大负载,所以传统SSL协议不能实际应用在网络环境,如在其中存在频繁访问和许多交易的家庭网络环境中。此外,由于在一个个人计算机(PC)上执行的每个web浏览器必须与服务器执行会话密钥共享操作,所以传统SSL协议不能够使用于在其中从服务器广播的消息需要被处理的网络环境。

发明内容

本发明的一方面在于提供一种用于在客户端和服务器之间重新使用会话密钥的安全通信的方法和设备,通过其,即使在客户端和服务器之间的会话结束以后,由客户端和服务器共享的会话密钥根据会话认证信息被管理和重新使用,从而降低了会话密钥共享程序的负载,并且通过其,在客户端中产生的另外的应用程序与服务器安全地通信而不需要另外的会话密钥共享程序,从而降低了会话密钥管理的负载。
通过参考下面描述、附图和所附权利要求,对本领域技术人员本发明的上述方面和其它方面、特点和优点将变得清楚。
根据本发明的一方面,提供了一种用于在客户端和服务器之间安全通信的方法,该方法包括:将证书发送到至少一个访问客户端;接收由客户端产生的会话密钥;产生相应于该会话密钥的会话认证信息;将该会话认证信息发送到客户端;和使用该会话密钥解密从客户端接收的加密的消息,并且使用该会话密钥来加密将被发送到客户端的消息。
根据本发明的另一方面,提供了一种用于在客户端和服务器之间安全通信的方法,该方法包括:将证书发送到至少一个访问客户端;接收会话密钥和会话认证信息,该会话密钥和会话认证信息由客户端使用包括在证书中的公共密钥来产生和加密;解密该加密的会话密钥和会话认证信息;和使用会话密钥解密从已经发送会话认证信息的客户端接收的加密的消息,并且使用会话密钥加密将被发送到已经发送会话认证信息的客户端的消息。
根据本发明的另一方面,提供了一种用于在客户端和服务器之间安全通信的方法,该方法包括:访问至少一个服务器;从服务器接收证书;从该证书中提取服务器的公共密钥;产生用于与服务器通信的会话密钥;使用公共密钥加密会话密钥,并且将加密的会话密钥发送到服务器;从服务器接收相应于会话密钥的会话认证信息;使用会话密钥解密从已经产生会话认证信息的服务器接收的加密的消息,并且使用会话密钥加密将被发送到已经产生会话认证信息的服务器的消息。
根据本发明的另一方面,提供了一种用于在客户端和服务器之间安全通信的方法,该方法包括:访问至少一个服务器;从服务器接收证书;从该证书中提取服务器的公共密钥;产生会话密钥和相应于该用于与服务器通信的会话密钥的会话认证信息;使用公共密钥加密会话密钥和会话认证信息,并且将加密的会话密钥和会话认证信息发送到服务器;和使用会话密钥将从已经被访问并且由会话认证信息认证的服务器接收的加密的消息解密,使用会话密钥将将被发送到已经被访问并且由会话认证信息认证的服务器的消息加密。
根据本发明的另一方面,提供了一种用于安全通信的设备,包括:会话认证信息产生模块,用于产生会话认证信息;和发送接收模块,用于将证书发送到访问客户端,从客户端接收会话密钥,将由会话认证信息产生模块产生的会话认证信息发送到客户端,和发送和接收使用会话密钥加密的消息。
根据本发明的另一方面,提供了一种用于安全通信的设备,包括:会话认证信息产生模块,用于产生会话认证信息;发送接收模块,用于将证书发送到访问客户端,从客户端接收会话密钥,将由会话认证信息产生模块产生的会话认证信息发送到客户端,并且发送和接收使用会话密钥加密的消息;和加密模块,用于使用由发送接收模块接收的会话密钥加密将被发送到客户端的消息,并且使用会话密钥解密由发送接收模块接收的加密的消息。
根据本发明的另一方面,提供了一种用于安全通信的设备,包括:会话密钥产生模块,用于产生会话密钥;发送接收模块,用于从服务器接收证书,将由会话密钥产生模块产生的会话密钥发送到服务器,从服务器接收相应于该会话密钥的会话认证信息,和发送和接收使用会话密钥加密的消息;控制模块,用于从由发送接收模块接收的证书中提取公共密钥;和加密模块,用于使用由控制模块提取的公共密钥来加密由会话密钥产生模块产生的会话密钥,并且使用会话密钥加密和解密消息。
根据本发明的另一方面,提供了一种用于安全通信的设备,包括:会话密钥产生模块,用于产生会话密钥;会话认证信息产生模块,用于产生相应于会话密钥的会话认证信息;发送接收模块,用于从服务器接收证书,并且将由会话密钥产生模块产生的会话密钥和由会话认证信息产生模块产生的会话认证信息发送到服务器;控制模块,用于从由发送接收模块接收的证书中提取公共密钥;和加密模块,用于使用由控制模块提取的公共密钥将由会话密钥产生模块产生的会话密钥和由会话认证信息产生模块产生的会话认证信息加密,并且使用会话密钥加密和解密消息。

附图说明

通过结合附图对本发明的示例性实施例进行详细描述,本发明以上和其他特点和优点将会变得更加清楚,其中:
图1示出用于在传统安全套接层(SSL)中共享会话的程序;
图2是根据本发明示例性实施例的系统的图;
图3是根据本发明示例性实施例的客户端的图;
图4是根据本发明示例性实施例的服务器的图;
图5是根据本发明示例性实施例的用于安全通信的方法的流程图;
图6A是在本发明示例性实施例中的客户端的操作的流程图;
图6B是在本发明的另一个示例性实施例中的客户端的操作的流程图;
图7A是在本发明的示例性实施例中的服务器的操作的流程图;
图7B是在本发明的另一个示例性实施例中的服务器的操作的流程图;
图8示出根据本发明的由服务器根据用于安全通信的方法产生的会话认证信息的例子;
图9示出在一个客户端上执行的多个应用程序共享单一会话密钥的状态;
图10是由客户端执行以使得在客户端上执行的多个应用程序共享单一会话密钥的操作的流程图;和
图11是由服务器执行以使得在一个客户端上执行的多个应用程序共享单一会话密钥的操作的流程图。

具体实施方式

将参考附图来更加全面地描述本发明,其中,示出了本发明的示例性实施例。
以下通过参考示例性实施例和附图来详细描述本发明,本发明的优点和特点以及实现其的方法可以被更加容易地理解。然而,本发明可以以许多不同形式来实现,并且不应该解释为对于此阐述的实施例的限制。相反,这些实施例被提供,从而本公开将彻底和完全,并且将全面地将本发明的构思传达给本领域技术人员,并且本发明将仅仅由所附的权利要求限定。在整个说明书中,相同的标记指定同一部件。
图2是根据本发明示例性实施例的系统的图。
本发明可以被使用在系统环境,如在其中存在频繁访问和许多交易的网络环境或在其中由服务器广播的消息需要被处理的网络环境。这种系统环境的例子可以是家庭网络环境,在其中可以通过经由客户端访问服务器来遥控家中的家用电气、电子系统和制冷和制热系统。参考图2,本发明可以被使用在客户端-服务器系统,在其中执行多个应用程序(web浏览器#1到#n)的客户端与通过网络提供服务到客户端的服务器相连接。然而,对本领域技术人员很显然,本发明可以用于在网络环境下的源接口(source)和接收器(sink)之间的加密的通信,在该网络环境中,除了客户端-服务器系统以外,还存在频繁访问和许多交易。
图3是根据本发明实施例的客户端300的图。
客户端300包括:会话密钥验证模块310、会话密钥产生模块320、控制模块370、存储模块330、加密模块340、发送接收模块350、和会话密钥存储器360。
会话密钥验证模块310验证是否存储在会话密钥存储器360中的会话密钥是可重新使用的。以后将参考图6来详细描述用于验证是否会话密钥是可重新使用并有效的程序。当会话密钥验证模块310的验证的结果为不存在可重新使用并有效的会话密钥时,会话密钥产生模块320产生新会话密钥。加密模块340使用服务器的公共密钥来加密由会话密钥产生模块320产生的会话密钥,并且使用该会话密钥来加密或解密将被发送到服务器或将被从服务器接收的消息。发送接收模块350将由加密模块340使用服务器的公共密钥加密的会话密钥和由加密模块340使用该会话密钥加密的消息发送到服务器,并且从服务器接收会话认证信息和使用该会话密钥加密的消息。存储模块330将由会话密钥产生模块320产生的会话密钥和通过发送接收模块350接收的会话认证信息存储在会话密钥存储器360中。
在本发明的另一个实施例中,客户端可以产生相应于会话密钥的会话认证信息。以后将参考图6B来描述其。
图4是根据本发明实施例的服务器400的图。
该服务器400包括:会话认证信息产生模块405、控制模块410、发送接收模块440、加密模块430、存储模块420、和会话密钥存储器450。控制模块410产生用于请求客户端重新共享会话密钥的消息,并且管理其它模块的操作。
会话认证信息产生模块405产生相应于会话密钥的会话认证信息。该会话认证信息是用于管理会话密钥的会话密钥的标识符,并且具有图8示出的格式。由于会话认证信息用于认证客户端和服务器之间的会话,所以它基础地包括用于认证客户端的信息和用于认证服务器的信息,并且可以选择地包括服务的子端口信息。
例如,当存在一个客户端和多个服务器时,会话认证信息可以包括仅仅用于认证服务器的信息。当存在多个客户端和一个服务器时,可以仅仅通过用于认证客户端的信息来认证会话。当存在多个客户端和服务器时,会话认证信息需要包括用于认证客户端的信息和用于认证服务器的信息二者以认证会话。用于认证客户端和服务器的信息可以包括任何信息,通过该任何信息可以认证客户端和服务器。
在使用本发明的实施例的客户端-服务器系统环境下,如图8所示,会话认证信息可包括:服务器标识符810,作为用于认证服务器的信息;客户端的互联网协议(IP)地址820或客户端的媒体访问控制(MAC)地址,作为用于认证客户端的信息;和由服务器提供的服务的子端口830。以后将参考图7来描述请求客户端重新共享会话密钥。
发送接收模块440从客户端接收会话密钥和使用该会话密钥加密的数据,并且将由会话认证信息产生模块405产生的会话认证信息和由控制模块410产生的会话密钥重新共享请求消息发送到客户端。加密模块430使用通过发送接收模块440提供的会话密钥来解密接收的消息,并且加密将被发送到客户端的消息。存储模块420将通过发送接收模块440提供的会话密钥和由会话认证信息产生模块405产生的会话认证信息存储在会话密钥存储器450中。
图5是根据本发明实施例的用于安全通信的方法的流程图。
在操作S510,在客户端产生的应用程序如web浏览器从会话密钥存储器360读取会话密钥和如包含会话标识符(ID)的数据的会话认证信息,然后会话密钥验证模块310确定是否可重新使用并有效的会话密钥存在。当确定不存在可重新使用并有效的会话密钥时,在操作S515,会话密钥产生模块320产生新会话密钥,在操作S520,加密模块340使用服务器的公共密钥来加密该会话密钥,并且将该加密的会话密钥提供到发送接收模块350。发送接收模块350将该加密的会话密钥发送到服务器。
在操作S525中,服务器如web服务器在加密模块430中使用其私有密钥将该通过发送接收模块440接收的加密的会话密钥解密,在操作S530,在会话认证信息产生模块405中产生用于管理会话密钥的会话认证信息,在操作S535,使用其唯一密钥来将会话密钥和会话认证信息加密,并且通过存储模块420将它们存储在会话密钥存储器450中。在操作S540,服务器在加密模块430中使用其私有密钥来将包括会话密钥和会话认证信息的消息加密,并且通过发送接收模块440将该加密的消息发送到客户端。
然后,在操作S545,客户端在加密模块340中使用服务器的公共密钥将通过发送接收模块350接收的加密的消息解密,在操作S550,使用其唯一密钥将包括在解密的消息中的会话密钥和会话认证信息加密,并且通过存储模块330将它们存储在会话密钥存储器360中。通过以上操作,客户端和服务器共享会话密钥。
当客户端具有将被发送到服务器的消息时,在操作S555,客户端使用会话密钥来加密该消息,并且将该加密的消息发送到服务器。然后,在操作S560,服务器使用会话密钥将接收的消息解密。在操作S565,当在该解密期间产生错误时,服务器执行错误处理。将参考图7来详细描述该错误处理。
图6A是在本发明实施例中的客户端的操作的流程图。
在操作S610到S630中,客户端验证是否可重新使用并有效会话密钥存在。详细地讲,在操作S610,客户端从注册处获得当会话密钥被最后使用时的时间。当在步骤S615中确定从最后使用的时间开始24小时没有流逝时,在操作S620,客户端通过存储模块330从会话密钥存储器360读取会话密钥和会话认证信息。当在操作S625中确定会话密钥和会话认证信息存在于会话密钥存储器360中时,在操作S630,客户端确定是否会话密钥和会话认证信息已经被调制。当确定会话密钥和会话认证信息没有被调制时,在操作S640在通信期间客户端使用会话密钥来加密或解密消息。
如上所述,确定是否客户端重新使用存储的会话密钥的因素之一是从会话密钥的最后使用开始的时间量。通过考虑系统的安全需要、系统的执行环境、支持的网络环境等的试验可以确定从会话密钥的最后使用开始的时间量。因此,在操作S615中用作流逝的时间量的24小时只是例子。此外,关于当会话被使用时的时间的信息可以被包括在会话认证信息中。
可以通过验证当会话密钥和会话认证信息使用当它们被存储时使用的加密密钥来被解密时是否产生错误来实现操作S630。
当预定的时间段如24小时从会话密钥的最后使用的时间开始已经流逝时(S615),或当在会话密钥存储器360中没有存在会话密钥和会话认证信息时(S625),或当存储在会话密钥存储器360中的会话密钥和会话认证信息已经被调制时(S630),在操作S645,客户端的会话密钥产生模块320产生新会话密钥。在操作S650,客户端的加密模块340使用服务器的公共密钥来加密该新会话密钥,并且将其提供到发送接收模块350,并且发送接收模块350将该加密的新会话密钥发送到服务器。
当在操作S655中从服务器接收到会话密钥重新共享请求时,操作S645和S650被重复。然而,当没有从服务器接收到会话密钥重新共享请求时,在操作S660,发送接收模块350从服务器接收包括已经使用服务器的私有密钥被加密的会话密钥和会话认证信息的消息。在操作S665中,加密模块340使用服务器的私有密钥将接收的消息解密,并且存储模块330将解密的消息即会话密钥和会话认证信息存储在会话密钥存储器360中。
图6B是在本发明的另一个实施例中的客户端的操作的流程图。
在图6B中示出的操作S1210到S1240与在图6A中示出的操作S610到S640相同,但在图6B示出的实施例中,客户端产生会话认证信息。在图6B中,在操作S1245中,客户端产生新会话密钥和会话认证信息。在操作S1250中,客户端使用服务器的私有密钥来将新会话密钥和会话认证信息加密,并且将该加密的新会话密钥和会话认证信息发送到服务器。当在操作S1255中从服务器接收到会话密钥重新共享请求时,操作S1245和S1250被重复。然而,当没有从服务器接收到会话密钥重新共享请求时,在操作S1240,客户端使用用于通信的会话密钥将消息加密或解密。
图7A是在本发明的实施例中的服务器的操作的流程图。
在操作S710中,发送接收模块440从客户端接收已经使用服务器的私有密钥加密的会话密钥。在操作S720,加密模块430使用服务器的私有密钥将接收的会话密钥解密。在操作S730,会话认证信息产生模块405产生用于会话密钥的管理的会话认证信息。在操作S740,加密模块430使用服务器的唯一密钥将会话密钥和会话认证信息加密,并且存储模块420将该加密的会话密钥和会话认证信息存储在会话密钥存储器450中。在操作S750,会话密钥和会话认证信息使用服务器的私有密钥被加密,然后被发送到客户端。以后,在操作S760,服务器使用会话密钥来将从客户端接收的消息解密。当在操作S770中确定在消息的解密期间由于错误的会话密钥导致产生错误时,在操作S780,服务器将会话密钥重新共享请求发送到客户端,并且重复操作S710到S760以与客户端共享会话密钥。然而,当由于非错误会话密钥的原因导致产生错误时,相应于该原因的错误处理,如发送消息重发请求到客户端将被执行。
图7B是在本发明的另一个实施例中的服务器的操作的流程图。
在这个实施例中,由客户端产生会话认证信息。在操作S1310中,服务器的发送接收模块440从客户端接收已经使用服务器的公共密钥加密的会话密钥和会话认证信息。在操作S1320,加密模块430使用服务器的私有密钥来解密接收的会话密钥和会话认证信息。在操作S1330,加密模块430使用服务器的唯一密钥来加密解密的会话密钥和会话认证信息,并且存储模块420将加密的会话密钥和会话认证信息存储在会话密钥存储器450中。在操作S1340中,服务器使用会话密钥解密从客户端接收的消息。当在操作S1350中确定在该消息的解密期间由于会话密钥导致产生错误时,在操作S1360,服务器发送会话密钥重新共享请求到客户端,并且重复操作S1310到S1340。
图9示出在一个客户端上执行的多个应用程序共享单一会话密钥的状态。
在一个客户端如个人计算机(PC)910上产生的多个web浏览器#1到#n920被提供来自一个服务器如web服务器940的服务。这里,如果web浏览器#1与web服务器940执行会话密钥共享程序,结果,如果有效会话密钥被存储在会话密钥存储器930中,则当其它web浏览器#2到#n与web服务器940通信时,可以使用存储在会话密钥存储器930中的会话密钥,而不需要另外的会话密钥共享程序。
图10是由客户端执行以使得在客户端上执行的多个应用程序共享单一会话密钥的操作的流程图。
在操作S1010,在客户端上执行的多个应用程序从服务器接收会话密钥共享请求。在操作S1020,仅仅在该多个接收会话密钥重新共享请求的应用程序中的一个应用程序与服务器执行会话密钥共享程序,其它应用程序处于待机模式。该执行会话共享程序的应用程序可以是首先接收会话密钥共享请求的应用程序,或者可以在这些应用程序中通过仲裁被选择。
使用各种方法选择的应用程序与服务器执行会话密钥共享程序。在操作S1030,可以通过执行图6A中示出的操作S645到S665来实现会话密钥共享程序。在会话密钥共享程序被完成以后,当已经处于待机模式的应用程序具有将被发送到服务器的消息时,这些应用程序根据图6A中示出的方法来与服务器执行通信。
图11是由服务器执行以使得在一个客户端上执行的多个应用程序共享单一会话密钥的操作的流程图。
在操作S1110,服务器发送会话密钥重新共享请求到在客户端上执行的多个应用程序。该会话密钥重新共享请求可以是广播或组播。服务器与该多个应用程序中的一个应用程序执行会话密钥共享程序。在操作S1120,服务器的发送接收模块440接收由该一个应用程序产生的会话密钥。在操作S1130,服务器的加密模块430使用服务器的私有密钥来解密会话密钥。在操作S1140,服务器的会话认证信息产生模块405产生会话认证信息。在操作S1150,加密模块430使用服务器的唯一密钥将会话密钥和会话认证信息加密,然后,存储模块420将加密的会话密钥和会话认证信息存储在会话密钥存储器450中。在操作S1160,加密模块430使用服务器的私有密钥将会话密钥和会话认证信息加密,并且发送接收模块440发送该加密的信息到客户端。
总结该详细的描述,本领域技术人员应该明白:在不实质上脱离本发明的原则的情况下,可以对优选实施例做出各种变形和修改。因此,公开的本发明的优选实施例仅仅被用于一般的和说明性的方面,并不限制本发明。
根据本发明的用于安全通信的方法和设备可以提供以下效果中的至少一个效果。
首先,即使已经共享会话密钥的客户端和服务器之间的连接被中断,当以后方法服务器时,客户端可以使用存储在其中的会话密钥,而不用执行另外的会话密钥共享程序,从而减小了由于会话密钥共享程序导致的负载。
其次,当与服务器通信时,由于在一个客户端上产生的多个应用程序使用同一会话密钥,所以服务器仅仅管理一个会话密钥,因此,可以降低由于会话密钥管理导致的负载。