CN1914882A - 基于密钥的加密 - Google Patents

基于密钥的加密 Download PDF

Info

Publication number
CN1914882A
CN1914882A CNA2005800036360A CN200580003636A CN1914882A CN 1914882 A CN1914882 A CN 1914882A CN A2005800036360 A CNA2005800036360 A CN A2005800036360A CN 200580003636 A CN200580003636 A CN 200580003636A CN 1914882 A CN1914882 A CN 1914882A
Authority
CN
China
Prior art keywords
communication link
idle
entity
data
judge
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.)
Granted
Application number
CNA2005800036360A
Other languages
English (en)
Other versions
CN100571269C (zh
Inventor
理查德·迈克尔·怀恩·哈兰
迈克尔·霍兰
乔纳桑·鲁姆塞伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1914882A publication Critical patent/CN1914882A/zh
Application granted granted Critical
Publication of CN100571269C publication Critical patent/CN100571269C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

说明了一种用于实现安全的数据通信的方法、设备、计算机程序和计算机程序产品。安全的数据通信是使用用于对通过通信链路在第一和第二实体之间流动的数据进行加密的秘密密钥进行的。首先判断通信链路已经空闲。一旦判断现在有数据要在先前空闲的通信链路上流过,就生成新的秘密密钥。然后,此新秘密密钥用于对通过通信链路在第一和第二实体之间发送的数据进行加密。

Description

基于密钥的加密
技术领域
本发明涉及加密,具体来说,涉及用于加密的密钥的重新协商。
背景技术
个人和企业都使用计算机来传输与接收各种数据。这样的数据的合理的比例很可能是敏感的,因此,确保数据保密是重要的。
取得数据保密的一种流行方式是通过使用加密算法。这样的算法通常是基于密钥的,被分类为对称的或者不对称的两种。
对称加密算法利用只有相关的数据发送者和接收者知道的秘密密钥。同一个秘密密钥被用来在发送端对数据进行加密,当由接收者接收到数据时,也被用来对数据进行解密。
另一方面,非对称加密算法使用公钥和秘密密钥两种。公钥可以为任何人所知,而秘密密钥只有数量有限的实体知道。一个密钥被用来对数据进行加密,而另一个密钥用于对数据进行解密。
安全套接字层(SSL)是用于在因特网上进行安全的数据传输的协议。SSL使用了不对称和对称加密技术两种技术。
在两个参与方(例如,Alice和Bob)之间的初始身份验证握手中使用一对不对称密钥。在下面的示例中,Alice希望对Bob进行身份验证(当然,Bob也可能希望对Alice进行身份验证-建议这样做)。Bob具有公共-秘密密钥对。Bob的公钥对于Alice是公开的。Alice向Bob传输消息,然后,Bob利用他的秘密密钥进行加密,并返回到Alice。Alice使用Bob早先透露给她的公钥对来自Bob的消息进行解密。如果解密过的消息匹配Alice最初发送给Bob的消息,那么,Alice可以认为Bob是他说的人。然而,SSL也使用数字签名防止第三方获取Alice的原始消息并假冒Alice。SSL也利用证书。证书被用来证明公钥确实来自Bob。
对Bob进行了身份验证之后,Alice就已经准备好与Bob交换数据。然而,在可以进行数据交换之前,Alice和Bob必须商定对称(秘密)密钥。首先利用此秘密密钥对要交换的数据进行加密。由于双方协商了秘密密钥,因此,Alice可以使用密钥对她的数据进行加密,而Bob可以解密从Alice接收到的数据进行解密。
应该理解,如果被未经授权的第三方发现秘密密钥,它可以被用来对数据进行解密并对哄骗消息进行加密/改变数据。
因此,优选情况下,应该重新协商Alice(客户端)和Bob(服务器)用来交换数据的秘密密钥。重新协商秘密密钥涉及在客户端和服务器上执行消耗CPU的握手。当每一次重新协商涉及完全的不对称身份验证,后面再协商对称秘密密钥时,特别消耗处理器。
注意,SSL的详细概述可以在http://developer.netscape.com/tech/security/ssl/howitworks.html中找到。
当前解决方案
当前秘密密钥重新协商实现方式一般使用了下列两种方法之一:
(i)定时的复位,在这种情况下,每隔x分钟由SSL客户端启动重新协商(例如,Web浏览器可以每隔2分钟启动密钥重新协商);或
(ii)在某一字节数量阈值流过之后启动。
然而,这些解决方案在消息发送环境中不能有效地发挥作用,因为在这样的环境中,通信链路通常在空闲和忙之间波动。在通信链路在不同的时刻特别空闲或特别忙的情况下(如消息发送环境中可能出现的情况),上文所提及的解决方案效率特别低。
当前解决方案所存在的问题
(i)定时的重新协商-空闲通信链路
当在比较长的时间段内没有数据(消息)在通信链路上发送时,完全身份验证和重新协商的次数可能会不必要地增大。换句话说,客户端可能不必要地经常对它希望与其进行通信的服务器进行身份验证,然后与该服务器重新协商秘密密钥。如此,性能会不必要地降低。
(ii)字节阈值实现方式-空闲通信链路
此解决方案延长了秘密密钥在空闲链路上有效的时间段,并给黑客提供了更多时间来攻击秘密密钥,并发送“哄骗”消息,而不被检测到。
(iii)定时的协商-忙的通信链路
忙的通信链路将传输大量的用同一个秘密密钥加密的数据。虽然黑客不太可能能够在一般用于定时重新协商的那种时间内破解密钥,然而,问题是,他将能够将加密的数据记录下来,然后在闲暇时对其进行分析。如果大量数据是用同一个秘密密钥加密的,这对他来说是比较容易的,如此,当通信链路忙时,使用此解决方案,大量数据的安全性可能被破坏。
(iv)字节阈值实现方式-忙的通信链路
在忙的通信链路上利用同一个秘密密钥加密的数据量将被最大限度地降低。如此,此解决方案最大限度地降低了利用单一秘密密钥加密的数据量。然而,此解决方案在链路空闲占主导地位的情况下不是很好(参见上文)。
如此,到目前为止,在那种在忙和空闲之间波动的环境中进行加密是成问题的。
发明内容
根据一个方面,提供了一种使用用于对通过通信链路在第一和第二实体之间流动的数据进行加密的秘密密钥实现安全的数据通信的方法,该方法包括:判断通信链路已经空闲;判断现在有数据要在先前空闲的通信链路上流过;并响应判断现在有数据要在先前空闲的通信链路上流过,开始生成新秘密密钥,所述新秘密密钥用于对通过通信链路在第一和第二实体之间发送的数据进行加密。
如此,只有当即将重新开始通过空闲通信链路进行传输时才会生成密钥。这与现有技术相反,在现有技术中,密钥生成可以以时间为基础。
优选情况下,也可以判断何时已经通过通信链路发送了预先配置的数据量。一旦已经通过链路发送了预先配置的数据量,优选情况下,就开始生成新秘密密钥。
这迎合了通信链路空闲不是占主导地位的情况。如此,甚至在忙的链路上,以足够频繁的间隔生成密钥。
在一个实施例中,在由于判断现在有数据需要流过链路而开始生成新秘密密钥之前,通信链路必须已经空闲了预先确定的时间量。
如此,较短的空闲时间段不会立即导致启动生成新秘密密钥的过程。
注意,可以使用简单超时系统,该系统说,如果链路已经空闲了至少x秒并且现在有数据流动,那么,应该生成新秘密密钥。
在优选实施例中,一旦判断通信链路已经空闲了预先确定的时间段,则通过心跳通知第二实体,第一实体仍存在。
如此,第二实体察觉到,第一实体仍活着,尽管第二实体当前没有数据需要流过通信链路。注意,第一实体可以向第二实体发送一个以上的心跳(即,如果链路足够空闲)。
优选情况下,第二实体确认从第一实体接收到心跳。
在一个实施例中,如果在预先确定的时间量内第一实体没有接收到关于接收到心跳的确认,那么,由第一实体终止与第二实体的通信。这是因为,要么第二实体已经发生故障,要么第三方正在消耗心跳/响应心跳。
在另一个实施例中,如果在预先确定的时间量内第一实体没有接收到关于接收到心跳的确认,那么,在允许第一实体向第二实体再次传输数据之前,开始生成新秘密密钥。当然,除非过程也包括身份验证(参见下文),第三方可能会冒充第二实体,如此参与到密钥生成过程中。
在优选实施例中,可以判断通信链路已经足够空闲,足以使第一实体向第二实体发送心跳。优选情况下,响应判断链路已经足够空闲足以使第一实体向第二实体发送心跳,开始生成新秘密密钥。
在优选实施例中,在开始生成新秘密密钥之前,开始至少对第二实体进行身份验证。
优选情况下,生成新秘密密钥是在第一和第二实体之间进行的协商过程的结果。
根据另一个方面,提供了一种使用用于对通过通信链路在第一和第二实体之间流动的数据进行加密的秘密密钥实现安全的数据通信的方法,该方法包括:判断通信链路已经空闲;并响应判断通信链路已经空闲,忽略用秘密密钥加密的数据。
优选情况下,只接受随后的用新生成的秘密密钥加密的数据。
优选情况下,通信链路必须空闲了至少预先确定的时间量。优选情况下,这是通过从第一实体接收到心跳指出的。
根据一个实施例,当判断通信链路已经空闲了至少预先确定的时间量并且没有从第一实体接收到心跳时,终止与第一实体的通信。
这是因为,假设要么第一实体已经发生故障,要么第三方正在消耗心跳。
在另一个实施例中,响应判断通信链路已经空闲了至少预先确定的时间量并且没有从第一实体接收到心跳,只接受随后的用新生成的秘密密钥加密的数据。
根据另一个方面,提供了一种使用用于对通过通信链路在第一和第二实体之间流动的数据进行加密的秘密密钥实现安全的数据通信的设备,该设备包括:用于判断通信链路已经空闲的装置;用于判断有数据要在先前空闲的通信链路上流过的装置;以及用于响应判断有数据要在先前空闲的通信链路上流过,开始生成新秘密密钥的装置,所述新秘密密钥用于对通过通信链路在第一和第二实体之间发送的数据进行加密。
根据另一个方面,提供了一种使用用于对通过通信链路在第一和第二实体之间流动的数据进行加密的秘密密钥实现安全的数据通信的设备,该设备包括:用于判断通信链路已经空闲的装置;用于响应判断通信链路已经空闲,忽略用秘密密钥加密的数据的装置。
优选情况下,当认为不能安全地信任数据的完整性时,忽略用秘密密钥加密的数据。如此,优选情况下,只将随后的用新生成的秘密密钥加密的数据接受为值得信任的。
应该理解,本发明可以以计算机软件来实现。
附图说明
现在将参考下面的附图,只作为示例,对本发明的优选实施例进行描述:
图1a显示了根据本发明的优选实施例的客户端-服务器组件图表;以及
图1b是根据本发明的优选实施例的由客户端执行过程的流程图。
具体实施方式
现在将参考图1a和1b描述本发明的优选实施例。两个图应该彼此结合起来看。
SSL客户端5希望向SSL服务器6传输数据。首先,SSL客户端使用连接启动器55通过通信链路90启动与服务器的连接。然后,客户端5使用验证器10对服务器6进行身份验证,该验证器10与服务器上的等效组件10′进行通信(步骤100)。
在对服务器6进行身份验证之后,客户端和服务器通过密钥协商器组件20、20′协商对称秘密密钥(步骤110)。此秘密密钥随后被用来对客户端沿通信链路90发送的消息进行加密和解密。
客户端上的数据检测器70检测客户端5是否具有任何数据需要流过通信链路90(步骤120)。如果现在有数据需要流过链路,那么在步骤130中检测链路是否先前足够空闲,导致客户端向服务器发送心跳(参见下文)。
假设情况不是这样的,那么,用当前秘密密钥对此数据进行加密,并发送(未显示)。通过字节测量器50判断(步骤150)是否已经发送了预先配置的字节数量。如果回答是否,那么,过程循环到步骤120,以查看是否有更多的数据需要发送。
如果已经发送了预先配置的字节数量(如字节测量器40所检测到的),那么,该使用组件10、10′、20、20′重新进行身份验证和重新协商密钥(步骤100、110)。此时,字节测量器40所保存的发送的字节数量值被复位为零。
可配置的字节阈值确保了利用同一个秘密密钥在忙的通信链路上发送的数据量是受限制的,因为由于满足字节阈值将定期重新协商秘密密钥。如此,利用同一个秘密密钥加密的数据量被最大限度地降低。
注意,设置适当的字节阈值是一把双刃剑:
阈值越低,执行重新身份验证并改变秘密密钥就越频繁-如此,消耗的处理能力就越多。然而,执行重新身份验证并改变秘密密钥越频繁,流过通信链路的数据就越安全;以及
阈值越高,性能就越好(由于重新身份验证和秘密密钥重新协商次数变少)。当然,流过通信链路的数据安全性就会比阈值较低的环境中的安全性低。
计时器30被数据检测器组件70用来判断通信链路90何时已经空闲了可配置的时间段。如果是这种情况,则它向SSL服务器6发出(通过心跳发出器50)特殊的“心跳”消息,以确认它仍存在(步骤160)。(然后,计时器被复位为零-注意,优选情况下,当启动重新身份验证时,计时器也被置0)。客户端等待来自服务器(心跳接收器75、心跳回复生成器80)的对心跳的响应-参见下文。
注意,优选情况下,可配置的时间段不要太短(例如,10秒),因为这可能会导致很多心跳(即,太多不必要的通信)。所选择的时间取决于环境-例如,5分钟的长度可能是适当的。
在SSL服务器接收到一个或多个“心跳”消息之后,它将作为“哄骗”拒绝任何包含用相同秘密密钥(数据拒绝器组件95)加密的应用程序数据的其他消息。在检测到哄骗数据时,应该采取适当的操作,如管理员记录此情况,关闭与客户端的连接。
为了使SSL客户端向SSL服务器(该服务器已经接收到表明通信链路已经先前空闲)发送新消息,在发送消息之前它必须首先重新协商新秘密密钥,以避免SSL服务器将它作为“哄骗”加以拒绝(步骤120、130、100和110)。如此,在空闲时间段之后,应该没有安全性暴露。
如上文所讨论的,在空闲时间段之后发送的哄骗数据优选情况下使服务器终止与客户端的连接。然后,客户端可以选择恢复其与服务器的连接,并在向服务器再发送数据之前必须重新进行身份验证和重新协商。
注意,由于心跳不包含任何有用的数据,因此,不必对它们进行加密。
如果当SSL服务器检测到(通过数据检测器组件70′和计时器组件30′)链路已经空闲了大于可配置的时间段的时间(即,与客户端5所使用的时间段相同)时SSL服务器没有接收到“心跳”,那么,SSL服务器通过连接终结器85关闭其连接。这防止了黑客消耗“心跳”消息以防止秘密密钥重新协商,从而延长了秘密密钥的生存期。
注意,没有必要检测哄骗心跳,因为它们不损害任何应用程序数据。
如果SSL服务器6存在并从客户端接收到了心跳,那么它响应特殊的“心跳”消息,并记住,连接已经空闲了比较长的时间,足以让心跳沿通信链路流过。SSL客户端可以发送任意数量的“心跳”消息,以确认它仍存在。
注意,当秘密密钥万一由字节阈值触发时,“心跳”消息对于在计算时所使用的总字节没有影响。
一旦客户端从服务器接收到回复,图1b的过程循环到步骤120。如果判断现在有数据需要流过链路,那么在步骤130中再次测试链路是否先前足够空闲,以便生成心跳。如果回答是肯定的,那么,应该重新协商秘密密钥。因此,在进行了重新身份验证和密钥协商之前,客户端不会向服务器发送任何数据。
这意味着,如果黑客由于通信链路空闲的时间比较长设法破解了秘密密钥,该密钥现在对它们来说无用。
如果没有接收到回复,那么,客户端使用连接终结器55关闭其连接(步骤180)。这是因为回复失败表明,要么服务器不再存在,要么,其他人正在消耗服务器的回复。
注意,在另一个实施例中,客户端可以在终止连接之前尝试与服务器联系更多的次数。这是因为,缺乏来自服务器的响应可能只是临时问题。为安全起见,可以启动重新身份验证/密钥协商。
注意,优选情况下,心跳之间的时间间隔(当在空闲链路上发送一个以上的心跳时)是恒定的。如果在每一个心跳消息之间使用了随机时间间隔,那么不可能预测何时心跳过期(相当有可能被黑客消耗)。
当然应该理解,优选情况下,选择第一次发送心跳之前的时间(心跳之间时间间隔)和字节流统计,以便同一个秘密密钥不会使用很长时间。注意,如果所选择的值足够高,以给黑客提供时间捕获和发现秘密密钥,仍可以实现“哄骗”消息。然而,一旦发生了心跳触发的秘密密钥重新协商,黑客就不能再欺骗服务器了。因此,优选情况下,数据发送端启动新密钥的协商。否则,如果服务器正在接收正确地加密的哄骗消息,从服务器的观点来看,不需要重新协商。
使用到现在为止所描述的解决方案有四个主要优点:
(i)方案确保了只有当在空闲通信链路上绝对必须时才重新进行身份验证和秘密密钥的重新协商,以取得最佳性能,同时能确保安全。
(ii)通过使用“心跳”消息,提供了检测“哄骗”消息的能力,尽管用正确的秘密密钥对其进行了加密-因为当恢复数据通信时重新协商秘密密钥;
(iii)方案确保了在忙的通信链路上定期改变秘密密钥,以限制黑客可以利用被破解的秘密密钥读取的应用程序数据的量;以及
(iv)特殊的“心跳”消息不包含应用程序数据,因此,对于黑客来说是无用的,尽管用来对数据进行加密和解密的秘密密钥可以通过蛮力来发现。
优选情况下,此协议确保了,在通信链路已经足够空闲以至于一个或多个心跳沿链路流过之后,当一定数量的字节沿通信链路流过时,始终执行身份验证和密钥协商。
发送“哄骗”消息的黑客,尽管他可能已经发现了当前得到同意的秘密密钥,但因为他不拥有用于启动(对客户端的)重新身份验证和密钥协商的不对称秘密密钥(他也没有用于重新进行身份验证的证书),而不能遵循得到同意的协议。此外,自从服务器看到来自客户端的心跳开始,旧的对称秘密密钥就失效。
此解决方案有效地防止了黑客在空闲通信链路发送“哄骗”消息,而不需要不必要地执行重新身份验证、密钥协商。此解决方案还处理了忙的通信链路。
注意,还可能配置SSL,以便SSL客户端不需要向SSL服务器呈现身份验证信息,就能成功地重新进行身份验证-在此情况下,只需客户端对服务器进行身份验证,而不必相反。然而,在安全的对等环境中,这是不可取的,因为这样会使第三方能冒充客户端,并如此与服务器进行通信。
注意,虽然将本发明描述为特别适用于消息发送环境,但是,不特别限制于这样的环境。本发明还适用于在空闲和忙时间段之间波动的任何环境。
此外,虽然是就SSL加密协议而言来描述本发明的,但是,不特别限制于这样的环境。然而,本发明还特别适用于身份验证和密钥协商非常消耗处理器的任何环境。TLS是另一个示例。
注意,在示范性实施例中,数据是从客户端流向服务器的。但是,可以不必就是这种情况-数据可以向相反的方向流动。优选情况下,正在发送数据的任何人都可以启动身份验证和密钥协商,也可以发送心跳。
在另一个实施例中,身份验证和密钥重新协商始终是由SSL客户端启动的。如此,如果SSL服务器具有数据需要发送,则服务器请求SSL客户端首先对其进行身份验证并重新协商。相反的情况也成立。
注意,虽然描述的优选实施例是在每一种情况下执行初始完全握手(不对称身份验证),然后协商秘密密钥,但是,可以不必就是这种情况。本发明特别适用于这种情况,因为身份验证后面接着进行密钥协商特别消耗处理器。然而,优选情况下,本发明也适用于使用会话缓存的环境(不是那么消耗处理器)。这是诸如SSL v3.0和TLS之类的协议中具有的特点。
在初始握手过程中可以执行会话缓存。客户端和服务器保存共同的会话ID、主秘密密钥和某些证书链。此信息通常被保存在高速缓存中可配置的时间段中。
如果请求了随后的握手(即,当客户端请求了新的秘密密钥时),并且此信息没有从高速缓存中过期,双方向彼此呈现它们的会话ID。如果会话ID匹配,那么,高速缓存的信息将被用来减少在握手过程中执行的处理-这通常被称为简化的握手,与完全握手相反。
注意,使用会话缓存所存在的弱点是,当对握手作出响应时,黑客只需要呈现原始会话ID(不交换证书,没有发生公钥操作)。会话ID包括在客户端“hello”流,因此,可以嗅探线路。
注意,数据不必只在一个方向流动-数据可以在两个方向流动。在此情况下,优选情况下,当需要秘密密钥重新协商时有数据要发送的任何人都启动秘密密钥重新协商。优选情况下,两端中的某一端被指定为负责发送心跳(即,在至少预先确定的时间量内在任何一个方向没有数据流动之后)。如此,心跳和响应被用来判断两端的存在。优选情况下,所使用的字节统计是在特定时间段内通过通信链路发送的所有数据的总和-即,包括两端所发送的数据。在一个实施例中,一端跟踪字节统计和链路的空闲状况,当满足两个阈值中的任何一种阈值时通知另一端。

Claims (38)

1.一种使用用于对通过通信链路在第一和第二实体之间流动的数据进行加密的秘密密钥实现安全的数据通信的方法,该方法包括:判断通信链路已经空闲;判断有数据要在先前空闲的通信链路上流过;并响应判断有数据要在先前空闲的通信链路上流过,开始生成新秘密密钥,所述新秘密密钥用于对通过通信链路在第一和第二实体之间发送的数据进行加密。
2.根据权利要求1所述的方法,包括:判断何时已经通过通信链路发送了预先配置的数据量;响应判断已经通过通信链路发送了预先配置的数据量,开始生成新秘密密钥。
3.根据权利要求1或2所述的方法,其中,判断通信链路已经空闲的步骤包括:判断通信链路已经空闲了至少预先确定的时间量。
4.根据权利要求3所述的方法,其中,响应判断有数据要在先前空闲的通信链路上流过,开始生成新秘密密钥的步骤包括:响应判断链路已经空闲了至少预先确定的时间量,开始生成新秘密密钥。
5.根据权利要求3所述的方法,包括:响应判断通信链路已经空闲了预先确定的时间段,通过第一实体仍存在的心跳通知第二实体。
6.根据权利要求5所述的方法,包括:从第二实体接收回复,该回复确认从第一实体接收到心跳。
7.根据权利要求5或6所述的方法,包括:响应在预先确定的时间段内没有接收到关于接收到心跳的确认,由第一实体终止与第二实体的通信。
8.根据权利要求5或6所述的方法,包括:响应在预先确定的时间段内没有接收到关于接收到心跳的确认,在允许数据由第一实体传输给第二实体之前开始生成新秘密密钥。
9.根据权利要求5到7中的任何一个权利要求所述的方法,其中,判断通信链路已经空闲的步骤包括:判断链路已经足够空闲,足以使第一实体向第二实体发送心跳。
10.根据权利要求9所述的方法,其中,响应判断有数据要在先前空闲的通信链路上流过,开始生成新秘密密钥的步骤包括:响应判断链路已经足够空闲,足以使第一实体向第二实体发送心跳,开始生成新秘密密钥。
11.根据任何一个前面的权利要求所述的方法,包括:在开始生成新秘密密钥之前,开始至少对第二实体进行身份验证。
12.根据任何一个前面的权利要求所述的方法,其中,生成新秘密密钥是在第一和第二实体之间进行的协商过程的结果。
13.一种使用用于对通过通信链路在第一和第二实体之间流动的数据进行加密的秘密密钥实现安全的数据通信的方法,该方法包括:判断通信链路已经空闲;并响应判断通信链路已经空闲,忽略用秘密密钥加密的数据。
14.根据权利要求13所述的方法,包括:只接受随后的用新生成的秘密密钥加密的数据。
15.根据权利要求13或14所述的方法,其中,判断通信链路已经空闲的步骤包括:判断通信链路已经空闲了至少预先确定的时间量。
16.根据权利要求15所述的方法,其中,判断通信链路已经空闲了至少预先确定的时间量的步骤包括:通过从第一实体接收到心跳判断通信链路已经空闲了至少预先确定的时间量。
17.根据权利要求15或16所述的方法,包括:响应判断通信链路已经空闲了至少预先确定的时间量,并且没有从第一实体接收到心跳,终止与第一实体的通信。
18.根据权利要求15或16所述的方法,包括:响应判断通信链路已经空闲了至少预先确定的时间量,并且没有从第一实体接收到心跳,只接受随后的用新生成的秘密密钥加密的数据。
19.一种使用用于对通过通信链路在第一和第二实体之间流动的数据进行加密的秘密密钥实现安全的数据通信的设备,该设备包括:用于判断通信链路已经空闲的装置;用于判断有数据要在先前空闲的通信链路上流过的装置;以及用于响应判断有数据要在先前空闲的通信链路上流过,开始生成新秘密密钥的装置,所述新秘密密钥用于对通过通信链路在第一和第二实体之间发送的数据进行加密。
20.根据权利要求19所述的设备,包括:用于判断何时已经通过通信链路发送了预先配置的数据量的装置;用于响应判断已经通过通信链路发送了预先配置的数据量,开始生成新秘密密钥的装置。
21.根据权利要求19或20所述的设备,其中,用于判断通信链路已经空闲的装置包括:用于判断通信链路已经空闲了至少预先确定的时间量的装置。
22.根据权利要求21所述的设备,其中,用于响应判断有数据要在先前空闲的通信链路上流过,开始生成新秘密密钥的装置包括:用于响应判断链路已经空闲了至少预先确定的时间量,开始生成新秘密密钥的装置。
23.根据权利要求21所述的设备包括:用于响应判断通信链路已经空闲了预先确定的时间段,通过第一实体仍存在的心跳通知第二实体的装置。
24.根据权利要求23所述的设备包括:用于从第二实体接收回复的装置,该回复确认从第一实体接收到心跳。
25.根据权利要求23或24所述的设备包括:用于响应在预先确定的时间段内没有接收到关于接收到心跳的确认,由第一实体终止与第二实体的通信的装置。
26.根据权利要求23或24所述的设备,包括:用于响应在预先确定的时间段内没有接收到关于接收到心跳的确认,在允许数据由第一实体传输给第二实体之前开始生成新秘密密钥的装置。
27.根据权利要求23到25中的任何一个权利要求所述的设备,其中,用于判断通信链路已经空闲的装置包括:用于判断链路已经足够空闲,足以使第一实体向第二实体发送心跳的装置。
28.根据权利要求27所述的设备,其中,用于响应判断有数据要在先前空闲的通信链路上流过,开始生成新秘密密钥的装置包括:用于响应判断链路已经足够空闲,足以使第一实体向第二实体发送心跳,开始生成新秘密密钥的装置。
29.根据权利要求19到29中的任何一个权利要求所述的设备,包括:用于在开始生成新秘密密钥之前,开始至少对第二实体进行身份验证的装置。
30.根据权利要求19到29中的任何一个权利要求所述的设备,其中,生成新秘密密钥是在第一和第二实体之间进行的协商过程的结果。
31.一种使用用于对通过通信链路在第一和第二实体之间流动的数据进行加密的秘密密钥实现安全的数据通信的设备,该设备包括:用于判断通信链路已经空闲的装置;以及用于响应判断通信链路已经空闲,忽略用秘密密钥加密的数据的装置。
32.根据权利要求31所述的设备包括:用于只接受随后的用新生成的秘密密钥加密的数据的装置。
33.根据权利要求31或32所述的设备,其中,用于判断通信链路已经空闲的装置包括:用于判断通信链路已经空闲了至少预先确定的时间量的装置。
34.根据权利要求33所述的设备,其中,用于判断通信链路已经空闲了至少预先确定的时间量的装置包括:用于通过从第一实体接收到心跳判断通信链路已经空闲了至少预先确定的时间量的装置。
35.根据权利要求33或34所述的设备包括:用于响应判断通信链路已经空闲了至少预先确定的时间量,并且没有从第一实体接收到心跳,终止与第一实体的通信的装置。
36.根据权利要求33或34所述的设备,包括:用于响应判断通信链路已经空闲了至少预先确定的时间量,并且没有从第一实体接收到心跳,只接受随后的用新生成的秘密密钥加密的数据的装置。
37.包括程序代码装置的计算机程序,当所述程序在计算机上运行时,可以执行权利要求1到18中的任何一个权利要求所述的方法。
38.包括存储在计算机可读取的存储介质上的程序代码的计算机程序产品,当所述程序代码在计算机上运行时,可以执行权利要求1到18中的任何一个权利要求所述的方法。
CNB2005800036360A 2004-03-09 2005-03-01 基于密钥的加密 Expired - Fee Related CN100571269C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0405245.2A GB0405245D0 (en) 2004-03-09 2004-03-09 Key-based encryption
GB0405245.2 2004-03-09

Publications (2)

Publication Number Publication Date
CN1914882A true CN1914882A (zh) 2007-02-14
CN100571269C CN100571269C (zh) 2009-12-16

Family

ID=32117297

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800036360A Expired - Fee Related CN100571269C (zh) 2004-03-09 2005-03-01 基于密钥的加密

Country Status (11)

Country Link
US (1) US7649998B2 (zh)
EP (1) EP1726144B1 (zh)
JP (1) JP4591897B2 (zh)
KR (1) KR101013268B1 (zh)
CN (1) CN100571269C (zh)
AT (1) ATE437517T1 (zh)
CA (1) CA2558353C (zh)
DE (1) DE602005015560D1 (zh)
GB (1) GB0405245D0 (zh)
IL (1) IL177796A (zh)
WO (1) WO2005086452A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4699099B2 (ja) * 2005-06-14 2011-06-08 富士通株式会社 通信制御装置および通信制御方法
JP4674144B2 (ja) * 2005-09-30 2011-04-20 株式会社日立製作所 暗号通信装置および暗号通信方法
US8965416B2 (en) 2006-05-25 2015-02-24 Celltrust Corporation Distribution of lottery tickets through mobile devices
US9848081B2 (en) 2006-05-25 2017-12-19 Celltrust Corporation Dissemination of real estate information through text messaging
US9572033B2 (en) 2006-05-25 2017-02-14 Celltrust Corporation Systems and methods for encrypted mobile voice communications
US8260274B2 (en) 2006-05-25 2012-09-04 Celltrust Corporation Extraction of information from e-mails and delivery to mobile phones, system and method
WO2007139909A2 (en) 2006-05-25 2007-12-06 Celltrust Corporation Secure mobile information management system and method
US8280359B2 (en) 2006-05-25 2012-10-02 Celltrust Corporation Methods of authorizing actions
US8225380B2 (en) * 2006-05-25 2012-07-17 Celltrust Corporation Methods to authenticate access and alarm as to proximity to location
US20070297609A1 (en) * 2006-06-23 2007-12-27 Research In Motion Limited Secure Wireless HeartBeat
US20080214111A1 (en) * 2007-03-02 2008-09-04 Celltrust Corporation Lost phone alarm system and method
US8433905B2 (en) * 2007-03-30 2013-04-30 Nec Corporation User authentication device for authentication between server and device based on bandwidth and effective period
US8131994B2 (en) 2007-06-01 2012-03-06 Cisco Technology, Inc. Dual cryptographic keying
CA2719794C (en) * 2008-03-28 2020-10-27 Celltrust Corporation Systems and methods for secure short messaging service and multimedia messaging service
US8331568B2 (en) * 2009-05-28 2012-12-11 Microsoft Corporation Efficient distribution of computation in key agreement
JP4886833B2 (ja) * 2009-10-27 2012-02-29 シャープ株式会社 複合機制御システム
US8190879B2 (en) * 2009-12-17 2012-05-29 Cisco Technology, Inc. Graceful conversion of a security to a non-security transparent proxy
US9088609B2 (en) * 2009-12-24 2015-07-21 International Business Machines Corporation Logical partition media access control impostor detector
US10015286B1 (en) 2010-06-23 2018-07-03 F5 Networks, Inc. System and method for proxying HTTP single sign on across network domains
US9537899B2 (en) 2012-02-29 2017-01-03 Microsoft Technology Licensing, Llc Dynamic selection of security protocol
US9106405B1 (en) * 2012-06-25 2015-08-11 Amazon Technologies, Inc. Multi-user secret decay
US10789594B2 (en) 2013-01-31 2020-09-29 Moshir Vantures, Limited, LLC Method and system to intelligently assess and mitigate security risks on a mobile device
JP6547756B2 (ja) * 2014-10-31 2019-07-24 富士通株式会社 セキュリティシステム及びコンピュータ機器間の通信方法
US9942203B2 (en) 2015-03-30 2018-04-10 International Business Machines Corporation Enhanced security when sending asynchronous messages
US10419211B1 (en) * 2015-11-30 2019-09-17 Cisco Technology, Inc. Hash-based key distribution
US11086704B2 (en) * 2017-04-28 2021-08-10 Honeywell International Inc. Inferred detection of data replication errors of source applications by enterprise applications

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5856552A (ja) * 1981-09-30 1983-04-04 Fujitsu Ltd 通信路での盗聴検出方式
JPH02164154A (ja) * 1988-12-19 1990-06-25 Oki Electric Ind Co Ltd 鍵送信方式
GB2241851A (en) * 1990-03-09 1991-09-11 Philips Electronic Associated Optimising transmitter power in a communications system
JPH053478A (ja) * 1991-06-25 1993-01-08 Nissan Motor Co Ltd 多重通信制御装置
JP3050665B2 (ja) * 1991-10-15 2000-06-12 古河電気工業株式会社 多重伝送方式
JP2786092B2 (ja) * 1993-10-18 1998-08-13 日本電気株式会社 移動通信端末認証方式
JPH09269727A (ja) * 1996-03-29 1997-10-14 Toshiba Corp 暗号化方法および暗号化装置
JPH11313077A (ja) * 1998-04-30 1999-11-09 Hitachi Ltd 通信用lsi及びatm装置
US6360269B1 (en) * 1998-11-02 2002-03-19 Nortel Networks Limited Protected keepalive message through the internet
US6928551B1 (en) * 1999-10-29 2005-08-09 Lockheed Martin Corporation Method and apparatus for selectively denying access to encoded data
US6795555B1 (en) * 1999-12-30 2004-09-21 Nortel Networks Limited Encryption key exchange protocol
US6976071B1 (en) * 2000-05-03 2005-12-13 Nortel Networks Limited Detecting if a secure link is alive
US7127742B2 (en) * 2001-01-24 2006-10-24 Microsoft Corporation Establishing a secure connection with a private corporate network over a public network
WO2003036857A1 (en) * 2001-10-24 2003-05-01 Nokia Corporation Ciphering as a part of the multicast cencept
JP2003348070A (ja) * 2002-05-29 2003-12-05 Hitachi Ltd 機密化通信方法およびそれに用いるノード装置
US7370194B2 (en) * 2002-06-10 2008-05-06 Microsoft Corporation Security gateway for online console-based gaming
US20040078601A1 (en) * 2002-08-02 2004-04-22 Chris Tengwall System and method for operating a wireless device network
US6956846B2 (en) * 2002-08-16 2005-10-18 Utstarcom Incorporated System and method for foreign agent control node redundancy in a mobile internet protocol network
US7181016B2 (en) * 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
US20050025315A1 (en) * 2003-07-31 2005-02-03 Kreitzer Stuart S. Method and apparatus for secure communications among portable communication devices

Also Published As

Publication number Publication date
US20070263874A1 (en) 2007-11-15
DE602005015560D1 (de) 2009-09-03
IL177796A (en) 2010-12-30
GB0405245D0 (en) 2004-04-21
ATE437517T1 (de) 2009-08-15
CA2558353C (en) 2011-08-02
JP2007528172A (ja) 2007-10-04
CA2558353A1 (en) 2005-09-15
KR101013268B1 (ko) 2011-02-09
EP1726144B1 (en) 2009-07-22
JP4591897B2 (ja) 2010-12-01
CN100571269C (zh) 2009-12-16
EP1726144A1 (en) 2006-11-29
IL177796A0 (en) 2006-12-31
KR20070003862A (ko) 2007-01-05
WO2005086452A1 (en) 2005-09-15
US7649998B2 (en) 2010-01-19

Similar Documents

Publication Publication Date Title
CN1914882A (zh) 基于密钥的加密
Aiello et al. Just fast keying: Key agreement in a hostile internet
KR100811419B1 (ko) 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법
CN113067828B (zh) 报文处理方法、装置、服务器、计算机设备及存储介质
US8037295B2 (en) Hardware-bonded credential manager method and system
JP4719749B2 (ja) セキュア認証チャネル
US8484361B1 (en) Tuning of SSL session caches based on SSL session IDS
US8370630B2 (en) Client device, mail system, program, and recording medium
WO2014101634A1 (zh) 一种防御攻击的方法和设备
WO2013087039A1 (zh) 一种安全传输数据方法,装置和系统
US20060200660A1 (en) Apparatus, method, and computer program product for secured communication channel
CA2633780A1 (en) System and method for providing certified proof of delivery receipts for electronic mail
CN109684129B (zh) 数据备份恢复方法、存储介质、加密机、客户端和服务器
Alomari et al. Efficiency of using the Diffie-Hellman key in cryptography for internet security
Chien et al. Efficient MQTT platform facilitating secure group communication
Salim et al. A secure and timestamp-based communication scheme for cloud environment
JP2007266674A (ja) ファイル転送方法
Abdalla et al. Strong password-based authentication in TLS using the three-party group DiffieHellman protocol
CN1767504A (zh) 电子邮件管理系统及方法
CN113243093A (zh) 用于使用区块链的消息传输和检索的系统和方法
CN1881870A (zh) 一种设备间安全通信的方法
TWI381286B (zh) External authentication method for external storage devices
Isa et al. A secure TFTP protocol with security proofs
US20190281089A1 (en) Time limited debugging of secure communication systems
CN111191259A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091216

Termination date: 20190301