IPsec&PF_KEY

来源:互联网 发布:mac qq发送文件失败 编辑:程序博客网 时间:2024/06/16 00:58

来源:http://zh.wikipedia.org/wiki/IPsec

 

IPsec缩写Internet Protocol Security ),以IP Packet(小包)为单位对信息进行暗号化的方式,来对传输途中的信息包进行加密或者防止遭到篡改的一种协议(Protocol)。是保护IP协议安全通信的标准,它主要对IP协议分组进行加密和认证。

IPsec作为一个协议族(即一系列相互关联的协议)由以下部分组成:

(1)保护分组流的协议;

(2)用来建立这些安全分组流的密钥交换协议。前者又分成两个部分:加密分组流的封装安全载荷(ESP)及较少使用的认证头(AH),认证头提供了对分组流的认证并保证其消息完整性,但不提供保密性。目前为止,IKE协议是唯一已经制定的密钥交换协议。

标准现状

IPv6是IETF为IP协议分组通信制定的新的因特网标准,IPsec是其中必选的内容,但在IPv4中的使用则是可选的。这样做的目的,是为了随着IPv6的进一步流行,IPsec可以得到更为广泛的使用。第一版IPsec协议在RFCs 2401-2409中定义。在2005年第二版标准文档发布,新的文档定义在RFC4301和RFC4309中

 

PF_KEY

以下来源:http://linux.chinaitlab.com/unix/18775.html

 

PF_KEY协议是IPSec的重要组成部分。密钥管理进程利用PF_KEY与内核的SADB进行通信,实现SA(Security Association,安全联盟)和SP(Security Policy,安全策略)的管理。本文将从PF_KEY协议构造和PF_KEY相关系统调用等方面描述OpenBSD内核中的PF_KEY实现。
  
  利用IPSec技术可在IP层实现对数据包进行保护,降低了互联网通信的风险。IPsec的安全服务是由通信双方建立的安全联盟(SA)来提供的。IPsec系统在处理输入/输出IP流时必须参考安全策略库(SPD),并根据从SPD中提取的策略对IP流进行不同的处理,例如拒绝、绕过和进行IPsec保护。SA和SPD的管理是利用PF_key API来实现用户进程和内核之间的通信,可以通过手工进行,也可以通过IKE来进行动态协商。
  
  PF_KEY是用户进程操作内核中的SADB(Security Associations Database)和SPD的编程接口。

原创粉丝点击