网络安全关系与密钥管理协议

互联网安全关系钥匙管理协议(英语: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