如何防止java 公钥加密交换被主动攻击

扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
计算可靠的DiffieHellman密钥交换协议自动证明
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口分步执行密钥和消息交换(CNG 示例)
此文章由人工翻译。 将光标移到文章的句子上,以查看原文。
分步执行密钥和消息交换(CNG 示例)
加密公钥/私钥解决方案易受中间人攻击。
这些攻击采用多种形式,包括侦听、替换、拒绝服务和仿冒。
下一代加密技术 (CNG) 安全通信示例演示了替换,即第三方 (Mallory) 将自身插入到两个通信终结点(Alice 和 Bob)之间。
版本 2:未签名密钥和未签名消息的交换:
下图演示了 Alice 和 Bob 在没有中间人攻击时发送消息的情况。
消息没有加密或进行数字签名。
选择版本 1 时,CNG 示例将演示此过程。
插图后提供了此过程的分步说明。
版本 1:基本消息交换
Alice 创建一条消息。
Alice 将该消息发送给 Bob。
Bob 收到 Alice 的消息。
Bob 创建一条消息。
Bob 将该消息发送给 Alice。
Alice 收到 Bob 的消息。
下图演示了无中间人攻击的密钥和消息交换。
选择版本 2 并关闭 Mallory 的截获时,CNG 示例将演示此过程。
插图后提供了此过程的分步说明。
版本 2:不带截获的未签名密钥和未签名消息
Alice 生成一个公钥/私钥对。
Alice 将其公钥发送给 Bob。
Bob 存储 Alice 的公钥。
Bob 生成一个公钥/私钥对。
Bob 将其公钥发送给 Alice。
Alice 存储 Bob 的公钥。
Alice 使用自己的私钥和 Bob 的公钥生成一个共享机密协议。
她使用该共享机密协议来派生密钥材料。
Bob 使用自己的私钥和 Alice 的公钥生成同样的共享机密协议。
他使用该共享机密协议派生与 Alice 同样的密钥材料。
Alice 创建一条消息并用密钥材料对它进行加密。
Alice 将该加密消息发送给 Bob。
Bob 接收并解密该消息。
Bob 创建一条消息并用密钥材料对它进行加密。
Bob 将该消息发送给 Alice。
Alice 接收并解密该消息。
下图演示了有中间人攻击的密钥和消息流。
选择版本 2 并启用 Mallory 的截获时,CNG 示例将演示此过程。
版本 2:带截获的未签名密钥和未签名消息
Alice 生成一个公钥/私钥对。
Alice 将其公钥发送给 Bob。
Mallory 截获并存储 Alice 的公钥。
Mallory 生成他自己的公钥/私钥对以用于 Alice。
Mallory 将他的公钥发送给 Alice,诱使她认为此公钥来自 Bob。
Alice 存储 Mallory 的公钥,以为这是 Bob 的。
直到完成了与 Alice 的密钥交换之后,Mallory 才建立与 Bob 的通道。
(请参见)。
他需要先向 Alice 发送他的替换密钥,然后才能关闭再重新打开 PublicChannel,然后与 Bob 连接。
将此与步骤 17-22 进行比较。在步骤 17-22 中,Alice 发送的消息直接传输给 Bob。
Mallory 生成另一个公钥/私钥对以用于 Bob。
Mallory 将其公钥发送给 Bob。
Bob 存储 Mallory 的公钥,以为这是 Alice 的。
Bob 生成一个公钥/私钥对。
Bob 将其公钥发送给 Alice。
Mallory 截获并存储 Bob 的公钥。
Alice 使用自己的私钥和她以为是 Bob 的公钥(实际是 Mallory/Alice 公钥)生成一个共享机密协议。
她使用该共享机密协议派生 Mallory/Alice 密钥材料。
Mallory 使用自己的私钥和 Alice 的公钥生成同样的共享机密协议。
然后使用该共享机密协议派生与 Alice 相同的密钥材料。
Mallory 使用自己的私钥和 Bob 的公钥生成一个共享机密协议。
他使用该共享机密协议派生 Mallory/Bob 密钥材料。
Bob 使用自己的私钥和他以为是 Alice 的公钥(实际是 Mallory/Bob 公钥)生成同样的共享机密协议。
然后他使用该共享机密协议派生与 Mallory 相同的密钥材料。
步骤 13 和步骤 16 之后,Alice 和 Bob 以为他们共享的是同一密钥材料。
实际上,他们不是彼此共享密钥材料,而是与 Mallory 共享密钥材料。
此时,Mallory 有两条打开的管道可用,能够参与双重对话。
Alice 生成一条消息,并使用她在步骤 13 中生成的 Mallory/Alice 密钥材料加密此消息。
她将一个潜在销售联系人的信息告诉给 Bob。
Alice 将该消息发送给 Bob。
Mallory 截获并解密该消息。
Mallory 根据 Alice 的消息生成一条假消息,但是他更改了联系人地址。
他使用共享的 Mallory/Bob 密钥材料加密这条假消息。
Mallory 将该消息发送给 Bob。
Bob 解密该消息,以为它来自 Alice。
Bob 生成一条消息,并使用他在步骤 16 中生成的 Mallory/Bob 密钥材料加密此消息。
他告诉 Alice 他期待与这个联系人见面。
Bob 将该消息发送给 Alice。
Mallory 截获、解密并丢弃了该消息。
Mallory 使用共享的 Mallory/Alice 密钥材料生成一条假消息。
他告诉 Alice 他认为这个销售联系人的地址不正确,但是他会继续尝试联系此联系人。
Mallory 将该消息发送给 Alice。
Alice 解密该消息,以为它来自 Bob。
她接受了他的说明,并继续处理其他客户。
下图演示了加密密钥和消息流、中间人攻击和使用数字签名来签署密钥和消息。
选择版本 3 并启用 Mallory 的截获时,CNG 示例将演示此方案。
版本 3:带截获的签名密钥和签名消息
除了演示使用数字签名来签署消息和加密密钥外,版本 3 与版本 2 完全相同。
在步骤 1-6 中,Alice 在不安全的 PublicChannel 上发送数字签名密钥,该密钥在此通道被 Mallory 截获,Mallory 用它来签署其替换密钥和消息。
结果,Alice、Bob 和 Mallory 使用同一数字签名密钥。
下图演示了加密密钥和消息流、中间人攻击和使用数字签名来签署密钥和消息。
此外,版本 4 软件还检测到无效签名。
选择版本 4 并启用 Mallory 的截获时,CNG 示例将演示此方案。
版本 4:带检测的签名密钥和签名消息
版本 4 和版本 3 存在以下不同:
版本 4 软件只给了 Alice 和 Bob。
版本 4 发送在版本 3 中使用的数字签名密钥,但将其视为假密钥。
版本 4 使 Alice 可以通过 Mallory 并不知道的一个专用通道给 Bob 发送另一个数字签名密钥。
(这是上图中的步骤 0。)Alice 和 Bob 使用该专用数字签名来签署各自的密钥和消息。
版本 4 在步骤 15、20、35 和 42 中检测到 Mallory 的无效签名,并显示安全警告。
Mallory 继续使用版本 3 的数字签名来签署其替换密钥和消息。
他不知道版本 4 的数字签名私钥。
他没有接收到安全警告。
他不知道 Alice 和 Bob 能够检测到他的无效密钥和消息签名。
下图演示了加密密钥和消息流、中间人攻击和使用数字签名来签署密钥和消息。
与版本 4 一样,检测到了无效签名。
选择版本 5 并启用 Mallory 的截获时,CNG 示例将演示此方案。
版本 5:带终止的签名密钥和签名消息
除了在 Alice 和 Bob 接收到带有无效数字签名的加密公钥时结束会话以外,版本 5 与版本 4 完全相同。
本文是否对您有所帮助?
需要更多代码示例
翻译需要改进
(1500 个剩余字符)
感谢您的反馈
Microsoft 正在进行一项网上调查,以了解您对 MSDN 网站的意见。 如果您选择参加,我们将会在您离开 MSDN 网站时向您显示该网上调查。是否要参加?
页面加载速度够快吗?
您喜欢网页的设计吗?
请告诉我们更多意见IPSec 密钥交换
IPSec 密钥交换
应用到: Windows Server 2008
在可以交换安全数据之前,必须在两台计算机之间建立协议。在此协议 [称为安全关联 (SA)] 中,双方就如何交换与保护信息达成一致。
密钥是一种用于读取、修改或验证安全数据的机密代码或数字。密钥与算法(一种数学处理)结合使用以保护数据。在 IPSec 中,有两个使用密钥的阶段或模式。主模式首先出现并生成共享的主密钥,双方可以使用此主密钥以安全的方式交换密钥信息。而在建立用于数据完整性或加密的一个或多个会话密钥过程中,则由快速模式使用主密钥来提供安全保护。
Windows 自动处理密钥生成,并实现以下密钥属性,最大限度地发挥保护作用:
“IP 安全策略”管理单元可用于创建 IPSec 策略,这类策略可应用于运行 Windows Vista 和更高版本 Windows 的计算机,但是此管理单元不使用新的安全算法以及运行这些更高版本 Windows 的计算机中所提供的其他新功能。若要为这些计算机创建 IPsec 策略,请使用 高级安全 Windows 防火墙 管理单元。高级安全 Windows 防火墙 管理单元创建的策略不能应用于较早版本的 Windows。
IPSec 使用称为动态重新加密的方法来控制通信过程中生成新密钥的频率。通信以块的形式发送;对每个数据块都使用不同的密钥进行保护。这样可防止已经获取部分通信和相应的会话密钥的攻击者获取其余部分的通信。此请求式安全协商和自动密钥管理服务是通过使用 RFC 2409 中定义的 Internet 密钥交换 (IKE) 提供的。
IPSec 允许您控制生成新密钥的频率。如果未配置值,则以默认时间间隔自动重新生成密钥。
密钥的长度每增加一位,可能的密钥数会加倍,这使确定密钥的难度也随之成倍增加。IPSec 提供多种允许使用短的或长的密钥长度的算法。
若要启用安全通信,两台计算机必须能够获取相同的共享密钥(快速模式或会话密钥),而不必通过网络发送密钥,也不会泄密。
Diffie-Hellman 算法 (DH) 是用于密钥交换的最古老而最安全的算法之一。双方公开交换密钥信息,并且在 Windows 中,还会额外使用哈希函数签名对此密钥信息提供保护。任何一方都不交换实际密钥;但是,在交换密钥材料之后,每一方都能够生成相同的共享密钥。
双方交换的 DH 密钥材料可以基于 768 位、1024 位或 2048 位密钥材料,即 DH 组。DH 组的强度与从 DH 交换计算出的密钥的强度相称。提供较强安全性的 DH 组与较长的密钥长度结合使用,增加了有关确定密钥的计算难度。
在“IKE 安全算法”对话框中,768 位对应“低 (1)”设置,而 1024 位对应“中 (2)”设置。
IPSec 使用 DH 算法为所有其他加密密钥提供密钥材料。DH 不提供身份验证。Microsoft Windows 在 DH 交换之后实现对 IPSec 身份验证的标识,可提供防止中间人攻击的保护。
下列功能增强了主密钥与会话密钥的基本素数(密钥材料)与强度。
密钥生存期决定生成新密钥的时间,而不决定生成新密钥的方式。密钥生存期也称为动态重新加密或密钥重新生成,它允许您在指定的时间间隔之后强制重新生成密钥。例如,如果通信需要 10000 秒,而您指定的密钥生存期为 1000 秒,则会生成 10 个密钥来完成通信。这样可确保即使攻击者能够解密部分通信,通信的其余部分也会受到保护。可以同时为主密钥与会话密钥指定密钥生存期。每当到达密钥生存期时,便会重新协商 SA。此外,将刷新或重新生成密钥。单个密钥处理的数据量不应超过 100 MB。
由于对快速模式会话密钥进行重复加密可能会泄露 Diffie-Hellman 共享机密,所以使用快速模式会话密钥刷新限制。
例如,使用计算机 A 的 Alice 向使用计算机 B 的 Bob 发送消息,几分钟之后又向 Bob 发送另一条消息。由于最近已经建立 SA,所以可能重复使用相同的会话密钥材料。若要限制发生这种情况的次数,请将会话密钥刷新限制设置为一个较小的数值。
如果已经启用主密钥完全向前保密 (PFS),则不使用快速模式会话密钥刷新限制。将会话密钥刷新限制设置为 1,与启用主密钥 PFS 的效果相同。如果同时指定了主模式主密钥生存期和快速模式会话密钥刷新限制,则随后的重新加密过程将依照最先达到的限制来进行。默认情况下,IPSec 策略不指定会话密钥刷新限制。
Diffie-Hellman (DH) 组用来确定 DH 交换的基本素数(密钥材料)的长度。从 DH 交换派生的任何密钥的强度都将部分取决于素数所基于的 DH 组的强度。
每个 DH 组都可定义要使用的密钥材料的长度。第 1 组保护密钥材料的 768 位;第 2 组保护 1024 位;第 3 组保护 2048 位。如果使用的组越大,则从 DH 交换确定产生的密钥越大,并且越难让攻击者确定。
IKE 基于在“IKE 安全算法”对话框中配置的设置来协商要使用的组,可确保没有导致在两个对等端之间出现错误匹配的 DH 组的任何协商失败。
如果启用会话密钥 PFS,则会在第一次快速模式 SA 协商中协商新的 DH 密钥。此新 DH 密钥会删除为主密钥执行 DH 交换时的会话密钥的依存关系。
如果发送方在使用会话密钥 PFS,就不需要响应方使用会话密钥 PFS。但是,如果发送方未使用会话密钥 PFS,而响应方使用会话密钥 PFS,则协商会失败。
主模式与快速模式 SA 协商使用的 DH 组相同。启用会话密钥 PFS 时,即使已将 DH 组设置为主模式 SA 协商的一部分,它也会在快速模式会话密钥建立过程中影响所有重新生成的密钥。
与密钥生存期不同,PFS 决定生成新密钥的方式,而不决定生成新密钥的时间。尤其是,PFS 确保泄露单一密钥仅允许访问其所保护的数据,而不一定允许访问整个通信。为此,PFS 确保用于保护传输的密钥在任何一种模式下都不能用于生成其他密钥。此外,如果所用的密钥是用特定密钥材料派生的,则此材料无法用于生成其他密钥。
主模式主密钥 PFS 需要重新进行身份验证,且资源消耗很大。启用这种 PFS 时,IKE 必须重新进行身份验证,从而在使用 Kerberos V5 身份验证协议进行身份验证时会增加域控制器的额外开销。每次发生的快速模式协商都需要进行一次新的主模式协商。
快速模式会话密钥 PFS 可在不重新进行身份验证的情况下进行使用,其资源消耗很小。会话密钥 PFS 会导致进行 DH 交换,以生成新的密钥材料。它仅需要四条消息,且无需进行身份验证。
PFS 不必在两个对等端上同时启用,因为它不是 SA 协商的一部分。如果响应方需要 PFS 且发送方的快速模式 SA 已到期,则它只需拒绝发送方的消息并要求进行新的协商。发送方让主模式 SA 过期,然后重新进行协商。可以为主密钥(主模式)和会话密钥(快速模式)分别设置 PFS。
在可以交换安全数据之前,必须先在两台计算机之间建立协议。在此协议 (SA) 中,双方就如何交换与保护信息达成一致。
为建立两台计算机之间的协议,Internet 工程任务组 (IETF) 已建立安全关联和密钥交换解决方案的 IKE 方法:
集中进行安全关联管理,减少连接时间。
生成和管理用于保护信息的共享机密密钥。
此过程不仅保护计算机之间的通信,还保护请求对公司网络进行安全访问的远程计算机。此外,每当安全网关执行最终目标计算机的协商时,都进行此过程。
SA 是协商密钥、安全协议与安全参数索引 (SPI) 的组合,它们一起定义用于保护从发送方到接收方通信的安全。SPI 是 SA 中的唯一标识值,用于区分接收端计算机上存在的多个安全关联。例如,如果一台计算机同时与多台计算机进行安全通信,就会存在多个关联。当计算机作为给多个客户端提供服务的文件服务器或远程访问服务器时,通常会出现这种情况。在这些情况下,接收计算机使用 SPI 来决定使用哪个 SA 处理传入的数据包。
为确保通信的成功与安全,IKE 执行两个阶段的操作。在每一阶段过程中,通过使用安全协商期间两台计算机达成的加密与身份验证算法可确保实现保密与身份验证。通过两个阶段所担负的任务,可快速完成密钥创建。
在第一阶段期间,两台计算机建立一种安全的经过身份验证的通道。这称为主模式 SA。IKE 在此交换期间自动提供所需的标识保护。
下列步骤描述了主模式协商。
策略协商。下列四个强制性参数作为主模式 SA 的部分进行协商:加密算法(DES 或 3DES)。哈希算法(MD5 或 SHA1)。身份验证方法(Kerberos?V5 身份验证协议、证书或预共享密钥身份验证)。要用于基本密钥材料 [768 位“低(第一组)”、1024 位“中(第二组)”或 2048 位“高(第三组)”] 的 Diffie-Hellman (DH) 组。如果使用证书或预共享密钥进行身份验证,则计算机标识会受到保护。但是,如果使用 Kerberos?V5 身份验证,则在身份验证期间对整个标识负载进行加密之前,计算机标识将处于未加密状态。
(公用值的)DH 交换。在任何时候都不会交换实际的密钥。仅在 DH 密钥确定算法需要信息以生成共享密钥时,才交换机密密钥。在此交换之后,每台计算机上的 IKE 服务会生成用于保护身份验证的主密钥。
身份验证。计算机试图对 DH 密钥交换进行身份验证。不对 DH 密钥交换进行身份验证,通信就很容易遭受中间人的攻击。没有成功的身份验证,通信就无法继续。主密钥与协商算法和方法配合使用对标识进行身份验证。整个标识负载(包括标识类型、端口和协议)都使用从第二步中的 DH 交换生成的密钥进行哈希计算和加密。无论使用何种身份验证方法,都保护标识负载以防止修改和破解。
发送方会为接收方提供一种潜在的安全关联提议。响应方不能修改提议。如果对提议进行修改,则发送方将拒绝响应方的消息。响应方将发送一个接受提议的回复,或者发送一个可选择的回复。
在此阶段中发送的消息有一个自动重试周期,该周期重复五次。如果在重试周期结束之前收到响应,则标准 SA 协商就会开始。如果 IPSec 策略允许,则不安全通信将会在简短的时间间隔之后开始。此行为称为回退清除。即使通信进行回退清除,也会以 5 分钟为时间间隔尝试安全通信协商。
对于可发生的交换次数没有限制。建立的 SA 数仅受系统资源限制。
在此阶段中,会以 IP 安全驱动程序的名义对 SA 进行协商。
下列步骤描述了快速模式协商。
进行策略协商。IPSec 计算机将交换以下保护数据传输的要求:IPSec 协议(AH 或 ESP)完整性和身份验证的哈希算法(MD5 或 SHA1)加密的算法(如果请求)(DES 或 3DES)
达成通用协议并建立两个 SA。一个 SA 用于入站通信,另一个用于出站通信。
刷新或交换会话密钥材料。IKE 刷新密钥材料并生成用于数据包完整性、身份验证与加密(如果已协商)的新共享密钥。如果需要重新加密,则会进行第二次 DH 交换(如主模式协商中所述),或者使用原始 DH 密钥进行刷新。
SA、密钥以及 SPI 已传递到 IP 安全驱动程序。安全设置与密钥材料(用于保护数据)的快速模式协商受主模式 SA 保护。第一阶段提供标识保护,而第二阶段(快速模式)则通过在发送数据之前刷新密钥材料来提供保护。如果需要重新加密(即启用主密钥 PFS),则 IKE 可容纳用于其他 DH 交换的密钥交换负载。否则,IKE 会刷新在主模式下完成的 DH 交换所产生的密钥材料。
快速模式会产生一对安全关联,其中的每个关联都带有自己的 SPI 和密钥。一个 SA 用于入站通信,另一个用于出站通信。
消息的重试算法与主模式协商中描述的过程类似。但是,如果在同一主模式 SA 的第二次协商或更多次的协商过程中,不论因任何原因导致此过程超时,都会尝试重新协商主模式 SA。如果在没有建立主模式 SA 的情况下收到此阶段的消息,则会拒绝此消息。
将单个主模式 SA 用于多个快速模式 SA 协商可提高处理的速度。只要主模式 SA 未过期,就不需要进行重新协商和重新身份验证。可以执行的快速模式 SA 协商的次数由 IPSec 策略设置决定。备注 从同一主模式 SA 进行过多的重新加密会使共享密钥易遭受已知的明文攻击。已知明文攻击是一种探测器攻击,攻击者试图基于已知的明文确定加密数据的加密密钥。
对主模式 SA 进行缓存,就可进行多个快速模式 SA 协商(除非已启用主密钥 PFS)。当用于主密钥或会话密钥的密钥生存期到期时,会重新协商 SA。此外,将刷新或重新生成密钥。
当主模式 SA 的默认超时时间到期,或者主密钥或会话密钥生存期到期时,将对响应方发送删除消息。IKE 删除消息告诉响应方使主模式 SA 到期。这样可防止从已到期的主模式 SA 创建其他新的快速模式 SA。IKE 不会使快速模式 SA 到期,因为只有 IPSec 驱动程序包含到达密钥生存期之前所经过的秒数或传送的字节数。
为主密钥与会话密钥设置差异很大的密钥生存期时,请小心操作。例如,将主模式主密钥的生存期设置为八小时,而将快速模式会话密钥的生存期设置为两小时,可能会使快速模式 SA 在主模式 SA 已经到期之后保持将近两小时的有效期。在主模式 SA 到期之前不久生成快速模式 SA 时,就会出现上述情况。
本文是否对您有所帮助?
需要更多代码示例
翻译需要改进
(1500 个剩余字符)
感谢您的反馈
页面加载速度够快吗?
您喜欢网页的设计吗?
请告诉我们更多意见CISP题库350题(答案)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
48页免费22页免费17页免费21页免费20页免费 19页免费11页2下载券21页免费21页1下载券19页2下载券
CISP题库350题(答案)|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢快速密钥交换协议的分析与改进
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
快速密钥交换协议的分析与改进
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 java 公钥加密 的文章

 

随机推荐