[ipsec][strongswan] strongswan源码分析--(一)SA整体分析
strongswan SA分析(一) Author: Cao Tong Date: 20181224 Version: v1.1 1 概念 下面主要介绍两个本文将要阐述的核心概念。他们是SA和SP。注意,这不是一篇不需要背景知识的文章。作者认为你适合阅读接下来内容的的前提是,你已经具备了一下三方面的知识: a. 什么是VPN。 b. 什么是IPsec,包括IKE,ESP,strongswan都是什么等。 c. 一般的linux使用方法和常见概念。 1.1 什么是SAD,SPD SAD是Security Association Database的缩写。 SPD是Security Policy Database的缩写。 SAD是用来存储SA的数据库。SPD是用来存储SP的数据库。 1.2 什么是SPI SPI是Security Parameter Index的缩写。是有一组数字(长度?)。被使用在SAD和SPD里作为索引的一部分。是由IKE协商的两侧客户端随机选择的UUID?。0-255是被保留的值,禁止在SPI中使用。 1.3 什么是SA SA是Security Association的缩写。SA是一组算法和算法参数(包括key)的集合,用来完成单个方向的数据流加密和验证任务。通过SPI加数据包的目的地址可以唯一查找到一个SA。 包含的属性: 加密算法 属性 key 验证算法 属性