網路安全關聯與金鑰管理協定

網際網路安全關聯鑰匙管理協定(英語:Internet Security Association and Key Management Protocol,縮寫為 ISAKM或 ISAKMP),網際網路協定之一,用於在網際網路上建立安全關聯與加密金鑰。這個協定在 RFC 2408 中定義,它提供了一個架構來進行授權與金鑰交換,主要被設計來作為金鑰交換之用。網際網路金鑰交換與Kerberized Internet Negotiation of Key等協定,提供了授權金鑰的資料,可以在ISAKMP中使用。ISAKMP只提供了一个身份鉴权和钥匙交换的框架,其被设计为不受约束的钥匙交换。如IKE(因特网钥匙交换协议)和KINK(Kerberized 因特网钥匙协议)等协议都使用了ISAKMP所提供的授权钥匙的方案。例如:因特网钥匙交换协议(IKE)使用了Oakley和SKEME协议的一部分,通过ISAKMP连接获取授权了的钥匙信息。其同样对于其他的安全关联,如AH和ESP。

概論

ISAKMP定义了一对通讯双方的鉴权过程,安全联合的创建和管理,钥匙的生成技术以及对攻击的缓解(如:拒绝服务攻击和重放攻击)。作为一个框架,ISAKMP最典型的应用就是IKE中的钥匙交换,虽然也有其他的实现方案,比如Kerberized因特网钥匙协议。一个开始的鉴权使用这个协议,之后会产生一个新的钥匙。 对于安全关联的建立、协商、修改和删除,ISAKMP定义了其过程和包的格式。安全关联包含了执行多样的网络安全服务所有需要的全部信息,如网络层的服务(比如包头的鉴权和负载的加密),传输和应用层的服务或者协商传输的自我保护。ISAKMP定义了交换钥匙产生和授权数据的包内容。这些包格式为传输钥匙和授权数据提供了一个恒定的框架,其不依赖于钥匙的生成方式、加密算法和授权算法。 ISAKMP与钥匙交换协议不同,其分离了安全关联的管理(包括钥匙管理)与钥匙交换的细节。可能有很多不同的钥匙交换协议,每一种都有不同的安全特性。但是,一个通用的框架是需要提出安全关联属性和协商、修改和删除的格式。ISAKMP就是这样一种通用的框架。

ISAKMP可以实施在任意的传输协议上。为了实现兼容性,收发双方实现默认UDP 500端口进行通信。

实现

OpenBSD 于1998年在他的 isakmpd 软件中首先实现了ISAKMP。 在微软Windows操作系统的IPsec服务组服务中包含这个功能。 KAME项目实现了ISAKMP的Linux和其他BSD的开源版本。 如今的思科路由器已经使用ISAKMP作为VPN的协商。

缺陷

美国国家安全局明鏡周刊透露,ISAKMP正在以一种未知的方式被利用,去解码IPSec传输,如互聯網密鑰交換協定(IKE)中。发现Logjam攻击的研究者表示,一旦破解了1024比特的Diffie-Hellman组,那么66%的VPN伺服器,18%的百万个HTTPS網站和26%的SSH服务器将可能被破解。并且研究者一直在申明,这种破解现象还将继续。

外部連結

  • RFC 2408Internet Security Association and Key Management Protocol
  • RFC 2407The Internet IP Security Domain of Interpretation for ISAKMP