CN1708003B - 重新使用会话密钥安全通信的方法和设备 - Google Patents
重新使用会话密钥安全通信的方法和设备 Download PDFInfo
- Publication number
- CN1708003B CN1708003B CN200510075094XA CN200510075094A CN1708003B CN 1708003 B CN1708003 B CN 1708003B CN 200510075094X A CN200510075094X A CN 200510075094XA CN 200510075094 A CN200510075094 A CN 200510075094A CN 1708003 B CN1708003 B CN 1708003B
- Authority
- CN
- China
- Prior art keywords
- session key
- session
- authentication information
- server
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
提供了一种用于客户端和服务器之间的安全通信的方法和设备。在该方法中,为了实现客户端和服务器之间的通信,根据相应于会话密钥的会话认证信息来管理会话密钥,并且如果存在有效的会话密钥,则使用该会话密钥来加密或解密数据。如果不存在有效的会话密钥,则客户端产生新会话密钥,用于使得在一个客户端上执行的应用程序共享单一会话密钥的操作被执行,从而使用会话密钥执行安全通信。
Description
技术领域
本发明涉及一种用于在客户端和服务器之间使用会话密钥安全通信的方法和设备,更具体地讲,涉及这样一种用于重新使用会话密钥安全通信的方法和设备,通过该方法和设备,即使在会话结束以后产生的会话密钥没有被废弃,而根据会话认证信息被管理,并且在预定条件下共享该会话密钥的客户端和服务器之间的通信中被重新使用,从而降低了由于用于共享该会话密钥的程序导致的负载,并且通过该方法和设备,在客户端中产生的另外的应用程序被允许使用该会话密钥,从而便于该会话密钥的管理。
背景技术
随着作为信息通信的主要方式的万维网(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发送该加密的信息到客户端。
总结该详细的描述,本领域技术人员应该明白:在不实质上脱离本发明的原则的情况下,可以对优选实施例做出各种变形和修改。因此,公开的本发明的优选实施例仅仅被用于一般的和说明性的方面,并不限制本发明。
根据本发明的用于安全通信的方法和设备可以提供以下效果中的至少一个效果。
首先,即使已经共享会话密钥的客户端和服务器之间的连接被中断,当以后方法服务器时,客户端可以使用存储在其中的会话密钥,而不用执行另外的会话密钥共享程序,从而减小了由于会话密钥共享程序导致的负载。
其次,当与服务器通信时,由于在一个客户端上产生的多个应用程序使用同一会话密钥,所以服务器仅仅管理一个会话密钥,因此,可以降低由于会话密钥管理导致的负载。
Claims (38)
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所述的设备,其中,在被提供来自服务器的服务的客户端上执行的多个应用程序共享该会话密钥和会话认证信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040042275A KR100678934B1 (ko) | 2004-06-09 | 2004-06-09 | 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법및 장치 |
KR1020040042275 | 2004-06-09 | ||
KR10-2004-0042275 | 2004-06-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1708003A CN1708003A (zh) | 2005-12-14 |
CN1708003B true CN1708003B (zh) | 2010-11-24 |
Family
ID=35515407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510075094XA Expired - Fee Related CN1708003B (zh) | 2004-06-09 | 2005-06-09 | 重新使用会话密钥安全通信的方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060005026A1 (zh) |
KR (1) | KR100678934B1 (zh) |
CN (1) | CN1708003B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108679B2 (en) * | 2004-05-20 | 2012-01-31 | Qinetiq Limited | Firewall system |
KR101246818B1 (ko) * | 2006-02-20 | 2013-04-03 | 주식회사 엘지씨엔에스 | 금융 거래데이터의 암호화 방법 |
EP1890191A1 (en) | 2006-08-14 | 2008-02-20 | Carl Zeiss SMT AG | Catadioptric projection objective with pupil mirror |
US8649520B2 (en) * | 2006-09-06 | 2014-02-11 | R. Paul McGough | Method and system for establishing real-time trust in a public network |
CN101005361B (zh) * | 2007-01-22 | 2010-11-03 | 北京飞天诚信科技有限公司 | 一种服务器端软件保护方法及系统 |
KR101453956B1 (ko) * | 2008-01-14 | 2014-10-24 | 삼성전자주식회사 | 임베디드 브라우져 에이젼트를 기반으로 하는 디바이스 및 방법 |
US8229969B1 (en) * | 2008-03-04 | 2012-07-24 | Open Invention Network Llc | Maintaining web session data spanning multiple application servers in a session database |
US20090240942A1 (en) * | 2008-03-20 | 2009-09-24 | Canon Kabushiki Kaisha | Long term key establishment for embedded devices |
US8850544B1 (en) * | 2008-04-23 | 2014-09-30 | Ravi Ganesan | User centered privacy built on MashSSL |
EP2136231A1 (en) | 2008-06-17 | 2009-12-23 | Carl Zeiss SMT AG | High aperture catadioptric system |
CN101969438B (zh) * | 2010-10-25 | 2013-10-09 | 胡祥义 | 一种物联网的设备认证、数据完整和保密传输实现方法 |
US10728231B2 (en) * | 2012-07-09 | 2020-07-28 | Massachusetts Institute Of Technology | Data security using inter-zone gate circuits |
US10491458B2 (en) * | 2013-01-31 | 2019-11-26 | Dell Products L.P. | System and method for reporting peer-to-peer transfer events |
IL228523A0 (en) * | 2013-09-17 | 2014-03-31 | Nds Ltd | Processing private data in a cloud-based environment |
US9215064B2 (en) * | 2013-10-21 | 2015-12-15 | Adobe Systems Incorporated | Distributing keys for decrypting client data |
KR102457809B1 (ko) * | 2014-09-24 | 2022-10-24 | 삼성전자주식회사 | 데이터 통신 보안을 위한 방법, 장치 및 시스템 |
US9826064B2 (en) * | 2015-02-23 | 2017-11-21 | Lenovo (Singapore) Pte. Ltd. | Securing sensitive data between a client and server using claim numbers |
CN104702611B (zh) * | 2015-03-15 | 2018-05-25 | 西安电子科技大学 | 一种保护安全套接层会话密钥的设备及方法 |
SG10201509342WA (en) | 2015-11-12 | 2017-06-29 | Huawei Int Pte Ltd | Method and system for session key generation with diffie-hellman procedure |
CN105844120B (zh) * | 2016-05-05 | 2019-06-14 | 北京元心科技有限公司 | 一种集成加密算法的方法和系统 |
US10334319B2 (en) * | 2016-08-29 | 2019-06-25 | Charter Communications Operating, Llc | System and method of cloud-based manifest processing |
US11165565B2 (en) * | 2016-12-09 | 2021-11-02 | Microsoft Technology Licensing, Llc | Secure distribution private keys for use by untrusted code |
CN111385289A (zh) * | 2020-02-26 | 2020-07-07 | 平安科技(深圳)有限公司 | 客户端与服务端安全握手的方法、装置及存储介质 |
CN115280720A (zh) * | 2020-04-22 | 2022-11-01 | 维萨国际服务协会 | 在线秘密加密 |
CN113382001B (zh) * | 2021-06-09 | 2023-02-07 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种通信加密方法及相关装置 |
US20230153398A1 (en) * | 2021-11-18 | 2023-05-18 | DUDU Information Technologies, Inc. | Apparatus and method for maintaining security of video data |
CN115277053B (zh) * | 2022-06-08 | 2024-04-23 | 深圳蜂鸟创新科技服务有限公司 | 基于SaaS和Pass平台的数据处理方法及系统 |
CN116055215B (zh) * | 2023-03-02 | 2024-03-15 | 上海弘积信息科技有限公司 | 一种基于网络安全传输协议的通信方法、系统及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657390A (en) * | 1995-08-25 | 1997-08-12 | Netscape Communications Corporation | Secure socket layer application program apparatus and method |
CN1470972A (zh) * | 2002-06-28 | 2004-01-28 | 用于提供安全服务器密钥操作的系统和方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138120A (en) * | 1998-06-19 | 2000-10-24 | Oracle Corporation | System for sharing server sessions across multiple clients |
US8239445B1 (en) * | 2000-04-25 | 2012-08-07 | International Business Machines Corporation | URL-based sticky routing tokens using a server-side cookie jar |
US7278017B2 (en) * | 2000-06-07 | 2007-10-02 | Anoto Ab | Method and device for secure wireless transmission of information |
US7149803B2 (en) * | 2000-06-08 | 2006-12-12 | At&T Corp. | Method for content distribution in a network supporting a security protocol |
US7073181B2 (en) * | 2001-11-13 | 2006-07-04 | International Business Machines Corporation | System and method for sharing secure sockets layer sessions across multiple processes |
KR100412041B1 (ko) | 2002-01-04 | 2003-12-24 | 삼성전자주식회사 | 시큐러티 프로토콜의 기능을 수행하는 홈 게이트웨이 및그 방법 |
US7296074B2 (en) * | 2002-03-20 | 2007-11-13 | Scientific-Atlanta, Inc. | Media on demand session re-use |
US20090207790A1 (en) * | 2005-10-27 | 2009-08-20 | Qualcomm Incorporated | Method and apparatus for settingtuneawaystatus in an open state in wireless communication system |
-
2004
- 2004-06-09 KR KR1020040042275A patent/KR100678934B1/ko not_active IP Right Cessation
-
2005
- 2005-06-08 US US11/147,286 patent/US20060005026A1/en not_active Abandoned
- 2005-06-09 CN CN200510075094XA patent/CN1708003B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657390A (en) * | 1995-08-25 | 1997-08-12 | Netscape Communications Corporation | Secure socket layer application program apparatus and method |
CN1470972A (zh) * | 2002-06-28 | 2004-01-28 | 用于提供安全服务器密钥操作的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20050117086A (ko) | 2005-12-14 |
US20060005026A1 (en) | 2006-01-05 |
CN1708003A (zh) | 2005-12-14 |
KR100678934B1 (ko) | 2007-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1708003B (zh) | 重新使用会话密钥安全通信的方法和设备 | |
US9847882B2 (en) | Multiple factor authentication in an identity certificate service | |
US5748735A (en) | Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography | |
CN108574569B (zh) | 一种基于量子密钥的认证方法及认证装置 | |
KR100734162B1 (ko) | 공중/개인키 쌍들의 안전한 분배 방법 및 장치 | |
US5535276A (en) | Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography | |
US5737419A (en) | Computer system for securing communications using split private key asymmetric cryptography | |
US5784463A (en) | Token distribution, registration, and dynamic configuration of user entitlement for an application level security system and method | |
US20030081774A1 (en) | Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure | |
US20080031459A1 (en) | Systems and Methods for Identity-Based Secure Communications | |
CA2527718A1 (en) | System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient | |
JP2005505991A (ja) | 公衆サーバからコンテンツを要求した場合にクライアントのプライバシーを提供するための方法およびシステム | |
JP2005534049A5 (zh) | ||
CN101243438A (zh) | 分布式单一注册服务 | |
CN111756529B (zh) | 一种量子会话密钥分发方法及系统 | |
CN108809633B (zh) | 一种身份认证的方法、装置及系统 | |
US20060095770A1 (en) | Method of establishing a secure e-mail transmission link | |
KR100559958B1 (ko) | 이동통신 단말기간의 인증도구 중계 서비스 시스템 및 방법 | |
KR101541165B1 (ko) | 모바일 메시지 암호화 방법, 이 방법을 수행하는 프로그램을 기록한 컴퓨터 판독가능 기록매체 및 이 방법을 저장한 다운로드 서버 | |
JPH10242957A (ja) | ユーザ認証方法およびシステムおよびユーザ認証用記憶媒体 | |
JPH1032568A (ja) | 暗号化伝送方法 | |
JP2003198632A (ja) | 電子メールシステム、その処理方法及びそのプログラム | |
KR20060078768A (ko) | 사용자 개인키의 분산 등록을 이용한 키 복구 시스템 및그 방법 | |
KR19990038925A (ko) | 분산 환경에서 안전한 양방향 인증 방법 | |
CN106972928B (zh) | 一种堡垒机私钥管理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101124 Termination date: 20160609 |
|
CF01 | Termination of patent right due to non-payment of annual fee |