ipsec原理介绍

ipsec原理介绍
ipsec原理介绍

Ipsec VPN调研总结

一、Ipsec原理

Ipsec vpn指采用IPSec协议来实现远程接入的一种VPN技术,IPSec全称为Internet Protocol Security,是由Internet Engineering Task Force (IETF) 定义的安全标准框架,用以提供公用和专用网络的端对端加密和验证服务。

Ipsec是一个协议集,包括AH协议、ESP协议、密钥管理协议(IKE协议)和用于网络验证及加密的一些算法。

1、IPSec支持的两种封装模式

传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。

隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。

2、数据包结构

◆传输模式:不改变原有的IP包头,通常用于主机与主机之间。

◆隧道模式:增加新的IP头,通常用于私网与私网之间通过公网进行通信。

3、场景应用图

4、网关到网关交互图

5、Ipsec体系结构:

6、ipsec中安全算法

●源认证

用于对对等体的身份确认,具体方法包含:PSK(pre-share key);PK3(public key infrustructure公钥基础设施)数字证书,RSA等,后两种为非对称加密算法。

●数据加密

对传输的数据进行加密,确保数据私密性,具体对称加密算法包含:des(data encrypt standard)共有2种密钥长度40bits,56bits,3des密钥长度为56bits的3倍;aes(advanced encrypted standard)AES 加密共有三种形式,分为AES 128(128-bit 长度加密),AES 192(192-bit 长度加密)以及AES 256(256-bit 长度加密)。

●完整性校验

对接收的数据进行检查,确保数据没有被篡改,主要使用hash算法(HMAC hashed message authentication code),包含MD5(message digest输出128bit校验结

果);SHA-1(secure hash algorithm 1)输出160bits校验结果。

●密钥交换算法

安全交换加密数据时使用的密钥,采用DH(Diffie-Hellman)算法,是一种确保共享KEY 安全穿越不安全网络的方法,它是OAKLEY的一个组成部分,分为group1(768

位),group2(1024位),group5(1536)等。

二、Ipsec工具编译及使用

针对Ipsec-tools、openswan、strongswan三个ipsec工具做编译和实例测试。

1、AR9344原厂SDK编译

ipsec-tools和openswan都编译不通、出错,出错原因分析是工具包与内核以相关依赖库都有版本匹配问题。

2、openwrt最新版本编译

代码配置菜单中没有ipsec-tools\openswan\strongswan三个VPN的配置选项,还未调查如何添加这三个工具包。

3、openwrt旧版本编译

Openwrt固件版本:BARRIER BREAKER (Bleeding Edge, r39028)

内核版本:linux-3.10.21

●编译结果

ipsec-tool 编译通过

openswan 编译出错(相关使用的结构体与内核版本不匹配)

strongswan 编译通过

●内核配置

无论使用哪种ipsec工具都需要内核模块ipsec的支持:

●Ipsec-tools工具配置

选上network->vpn->ipsec-tools配置选项。

●Strongswan 工具配置

network->vpn->strongwan相关配置,选上strongswan和strongswan-default两项,其它相关依赖选项会自动选上。

4、测试环境搭建

●网络拓扑结构图

●网络环境

将两台路由GW1和GW2的WAN口直连、LAN口分别直连A和B两台PC。

GW1添加对端子网路由:route add –net 192.168.0.0/24 gw 172.16.113.163

GW2添加对端子网路由:route add –net 192.168.1.0/24 gw 172.16.113.173

GW1和GW2打开路由转发功能:echo "1" > /proc/sys/net/ipv4/ip_forward

GW1和GW2关闭防火墙和NAT:iptables –F iptables –t nat -F

在此环境下A机可以ping通B机。

5、openwrt旧版本测试ipsec功能

●Ipsec-tools工具

(1)点对点测试:

使用传输模式, PC机(linux系统里安装ipsec-tools)与路由器直连测试,配置文件修改后分别在两端主动发起ping包请求。

PC主动发起ping包可以ping通,路由器主动发起ping包不通。

原因:路由端ipsec-tools发协商包时认定网络环境为nat-t,导致使用4500端口用nat-t的功能发送协商包给PC端的500端口、PC端收到无法协商导致不能进行数据传数,查看日志路由端始终一直多次发协商包、而PC端一直多次回应是否是协商包。

将/feeds/packages/net/ipsec-tools/Makefile中configure配置时默认添加了nat-t 功能,注释掉--enable-natt关闭即可,重新编译再测试。

测试结果:去掉nat-t功能后,PC与路由器双方均可主动ping通。

(2)网关到网关测试:

使用隧道模式。

A机配置文件:

(1)/etc/raccoon/psk.txt内容:

172.16.113.163 0x123456

(2)/etc/setkey.conf内容:

flush;

spdflush;

spdadd 192.168.0.0/24 192.168.1.0/24 any -P in ipsec esp/tunnel/172.16.113.163-172.16.113.173/require;

spdadd 192.168.1.0/24 192.168.0.0/24 any -P out ipsec esp/tunnel/172.16.113.173-172.16.113.163/require;

(3)/etc/racoon/racoon内容:

path include "/etc/racoon";

path pre_shared_key "/etc/racoon/psk.txt";

path certificate "/etc/cert";

padding {

maximum_length 20;

randomize off;

strict_check off;

exclusive_tail off;

}

timer {

counter 5;

interval 20 sec;

persend 1;

phase1 30 sec;

phase2 15 sec;

}

remote anonymous {

exchange_mode main;

proposal {

encryption_algorithm aes 128;

hash_algorithm sha1;

authentication_method pre_shared_key;

dh_group 2;

lifetime time 24 hour;

}

}

sainfo anonymous {

pfs_group 2;

lifetime time 3600 sec;

encryption_algorithm aes 128;

authentication_algorithm hmac_sha1;

compression_algorithm deflate;

}

B机配置文件:

(1)/etc/raccoon/psk.txt内容:

172.16.113.173 0x123456

(2)/etc/setkey.conf内容:

flush;

spdflush;

spdadd 192.168.1.0/24 192.168.0.0/24 any -P in ipsec esp/tunnel/172.16.113.173-172.16.113.163/require;

spdadd 192.168.0.0/24 192.168.1.0/24 any -P out ipsec esp/tunnel/172.16.113.163-172.16.113.173/require;

(3)/etc/racoon/racoon内容:

同A机。

启动ipsec-tools工具:

setkey -FP

setkey -F

killall racoon

setkey -f /etc/setkey.conf

racoon -d -f /etc/racoon/racoon.conf -l /tmp/ipsec-log.txt -v

可查看/tmp/ipsec-log.txt文件内容分析交互过程。

测试过程:

B主机ping A主机地址,ping不通,在GW1路由的WAN口上使用tcpdump抓数据包、收到esp包和解析出的icmp包;LAN口上抓数据包没有收到ICMP包。

结论:

Ipsec-tools解密数据包后没将数据包转发给子网,目前不清楚为什么不转发。

Strongswan工具

A机配置:

(1)/etc/ipsec.conf配置文件:

config setup

uniqueids=never

conn %default

authby=psk

type=tunnel

conn net-net

keyexchange=ikev1

left=172.16.113.173

leftsubnet=192.168.1.0/24

leftid=172.16.113.173

right=172.16.113.163

rightsubnet=192.168.0.0/24

rightid=172.16.113.163

auto=route

ike=aes-sha1-modp1024

ikelifetime=86400s

esp=aes-sha1-modp1024

lifetime=86400s

type=tunnel

(2)/etc/ipsec.secrets文件内容:

172.16.113.173 172.16.113.163 : PSK "123456"

(3)/etc/strongswan.conf文件

# strongswan.conf - strongSwan configuration file

charon {

# number of worker threads in charon

threads = 16

# send strongswan vendor ID?

# send_vendor_id = yes

plugins {

sql {

# loglevel to log into sql database

loglevel = -1

# URI to the database

# database = sqlite:///path/to/file.db

# database = mysql://user:password@localhost/database }

}

filelog {

/tmp/strongswan.log {

time_format = %b %e %T

append = no

default = 4

flush_line = yes

}

}

}

pluto {

}

libstrongswan {

# set to no, the DH exponent size is optimized

# dh_exponent_ansi_x9_42 = no

}

B机配置:

(1)/etc/ipsec.conf配置文件:

config setup

uniqueids=never

conn %default

authby=psk

type=tunnel

conn net-net

keyexchange=ikev1

left=172.16.113.163

leftsubnet=192.168.0.0/24

leftid=172.16.113.163

right=172.16.113.173

rightsubnet=192.168.1.0/24

rightid=172.16.113.173

auto=route

ike=aes-sha1-modp1024

ikelifetime=86400s

esp=aes-sha1-modp1024

lifetime=86400s

type=tunnel

(2)/etc/ipsec.secrets文件内容:

172.16.113.163 172.16.113.173 : PSK "123456"

(3)/etc/strongswan.conf文件

同A机。

启动StrongSwan:

GW1和GW2上分别启动/重启StrongSwan:ipsec start或sudo ipsec restart 开启net-net的连接:ipsec up net-net。

查看进程会看到以下两个进程:

B机PingA机地址,GW1路由使用tcpdump在WAN口监听转发的数据包:

可以看网关收到的ESP密文数据包及解密后转发给子网的ICMP数据包及回应对方网关的加密本子网ICMP后的ESP数据包。

三、IKEV1中DH秘钥交换的测试和分析

在IPSec VPN中,IKE用于协商IPSec SA。此过程要求IPSec首先进行相互验证并建立ISAKMP共享密钥,过程分两个阶段进行。

IKE-阶段1:

main mode(主模式):在对等体间进行三次双向交换(由6条消息组成),协商匹配对等体间的IKE SA值,为后续ISAKMP交换提供受保护的通道。(每个对等体的IKE SA都是双向的)

?第1次交换:协商用于保护IKE通信的哈希算法,确保每个对等体的IKE SA策略能够匹配一致;

?第2次交换:通过使用Diffie-Hellman在对等体间交换密钥生成材料后,各对等体可以生成一样的共享密钥;(真正的共享密钥不会通过DH交换)?第3次交换:验证对等体身份,其中身份信息是加密形式的对等体IP地址。

IKE-阶段2:

协商IPSec SA,建立IPSec隧道,主要进行以下工作:

●在阶段1的IKE SA保护下,进行IPSec SA的参数协商;

●建立IPSec SA;

●定期重新协商IPSec SA,以确保安全;

●进行额外的Diffie-Hellman交换(可选)。

阶段2只有一种工作模式:quick mode(快速模式)

在阶段1建立了安全隧道后,进入快速模式,协商共享的安全策略,派生出用于IPSec 安全算法的共享密钥材料,建立IPSec SA。每个对等体在协商后,至少会产生两个单向的IPSec SA(一个入站和一个出站)。

DH秘钥交换过程:

DH秘钥交换测试结果:

(1)Isakmp6个数据包(主模式)->Isakmp3个数据包(快速模式)->2个esp数据包->icmp 包。

(2)第3个Isakmp包数据中可看到发送到对方的自己的公钥:

(3)第4个Isakmp包数据中可以看到对方发过来的公钥:

(4)网关两端生成的shared Diffie Hellman secret、SKEYID、SKEYID_d、SKEYID_a、SKEYID_e、encryption key Ka一致。

A端日志:

B端日志:

(5)从测试日志中看到在第2阶段也进行了一次Diffie-Hellman交换。

四、修改DH秘钥交换的测试和分析

1、Strongswan源码版本:strongswan-5.1.1

2、Strongswan中DH协议的定义:

/strongswan-5.1.1/src/libstrongswan/crypto/diffie_hellman.c

/strongswan-5.1.1/src/libstrongswan/crypto/diffie_hellman.h

源文件中公开定义了各模式下的素数P整数群和g。

获取自己的公钥函数:

get_my_public_value(diffie_hellman_t *this, chunk_t *value)

设置对方的公钥函数:

set_other_public_value(diffie_hellman_t *this, chunk_t value)

3、对ikev1第1阶段进的DH交换的公钥数据行取反操作,即在发送前和接收后均做取反。发送自己的公钥前:

发送前获取自己的公钥填充到交换秘钥数据中,在

/strongswan-5.1.1/src/libcharon/encoding/payloads/ke_payload.c中,

key_exchange_data为获取到公钥值、可以将此数据进行加密。

ke_payload_t *ke_payload_create_from_diffie_hellman(payload_type_t type,

diffie_hellman_t *dh)

{

private_ke_payload_t *this = (private_ke_payload_t*)ke_payload_create(type);

dh->get_my_public_value(dh, &this->key_exchange_data);

this->dh_group_number = dh->get_dh_group(dh);

this->payload_length += this->key_exchange_data.len;

return &this->public;

}

因第2阶段也会使用DH,也会调到这个函数,所以如果只是第1阶段对DH进行加密,可以新建一个同样方法的函数、在其中添加取反操作。如下添加的红色数据为进行取反操作:

ke_payload_t *ke_payload_create_from_diffie_hellman_me(payload_type_t type,

diffie_hellman_t *dh)

{

private_ke_payload_t *this = (private_ke_payload_t*)ke_payload_create(type);

dh->get_my_public_value(dh, &this->key_exchange_data);

DBG4(DBG_IKE, "before date--------------key_exchange_data: %B",

&this->key_exchange_data);

char a[128]={0};

memcpy(a, this->key_exchange_data.ptr, 128);

int i=0;

for(i=0;i<128;i++)

a[i]=~a[i];

memcpy(this->key_exchange_data.ptr,a, 128);

DBG4(DBG_IKE, "after date-------------- key_exchange_data: %B",

&this->key_exchange_data);

this->dh_group_number = dh->get_dh_group(dh);

this->payload_length += this->key_exchange_data.len;

return &this->public;

}

收到对方的公钥后:

ikev1第1阶段收到对方公钥解析位置在

/strogswan-5.1.1/src/libcharon/sa/ikev1/phase1.c中的get_nonce_ke函数中:METHOD(phase1_t, get_nonce_ke, bool,

private_phase1_t *this, message_t *message)

{

nonce_payload_t *nonce_payload;

ke_payload_t *ke_payload;

ke_payload = (ke_payload_t*)message->get_payload(message, KEY_EXCHANGE_V1);

if (!ke_payload)

{

DBG1(DBG_IKE, "KE payload missing in message");

return FALSE;

}

this->dh_value = chunk_clone(ke_payload->get_key_exchange_data(ke_payload));

DBG4(DBG_IKE, " after--receive----------phase1.c--------------key_exchange_data: %B", &this->dh_value);

char a[128]={0};

memcpy(a, this->dh_value.ptr, 128);

int i=0;

for(i=0;i<128;i++)

a[i]=~a[i];

memcpy(this->dh_value.ptr,a, 128);

DBG4(DBG_IKE,

"after--receive----------phase1.c--------------key_exchange_data:%B",

&this->dh_value);

this->dh->set_other_public_value(this->dh, this->dh_value);

nonce_payload = (nonce_payload_t*)message->get_payload(message, NONCE_V1);

if (!nonce_payload)

{

DBG1(DBG_IKE, "NONCE payload missing in message");

return FALSE;

}

if (this->initiator)

{

this->nonce_r = nonce_payload->get_nonce(nonce_payload);

}

else

{

this->nonce_i = nonce_payload->get_nonce(nonce_payload);

}

return TRUE;

}

红色部分代码为我们添加的取反操作,在收到对方公钥并取反后调用了

set_other_public_value函数、将对方公钥配置到结构里。

五、其它加密算法源码分析

1、strongswan源码

(1)/src/libstrongswan/plugins下有各种加密算法的接口代码,可参照aes等添加我们自己的私有加密算法。

(2) configure配置文件中添加私有加密算法的配置,可参照aes。

(3)/feeds/packages/etc/strongswan/Makefile中添加私有加密算法的配置编译,可参照aes。

2、内核支持自己的私有加密算法

(1)在xfrm中只是定义这些算法的说明, 表示最大可以支持这些算法, 在使用时会探测这些算法是否在内核中存在从而确定可使用的算法。头文件中添加私有算法ID的宏定义:

/user_headers/include/linux/pfkeyv2.h

(2)向算法库添加私有算法:/net/xfrm/xfm_algo.c中的ealg_list数组中添加结构体。(3)添加算法模块:

IPSEC操作中用到的认证, 加密, 压缩等算法具体实现是在crypto目录下,私有加密算法代码添加到内核根目录crypto目录下,可参照aes算法的添加。

实现并注册一个struct crypto_alg结构体,将该算法注册到内核中的算法表里。modules.builtin添加私有算法的模块的编译。

/Crypto/Makefile添加私有算法代码文件的编译。

IPSec协议

IPSec协议 IPSec协议 1 IP Sec协议概述 2 IPSec VPN工作原理 4.2.1 隧道建立方式 2.2 数据保护方式 2.3 IPSEC 协议体系结构 3 IP Sec的优点 1 IP Sec协议概述 IPSec是一系列基于IP网络(包括Intranet、Extranet和Internet)的,由IETF 正式定制的开放性IP安全标准,是虚拟专网的基础,已经相当成熟可靠。 IPSec可以保证局域网、专用或公用的广域网及Internet上信息传输的安全。 ①保证Internet上各分支办公点的安全连接:公司可以借助Internet或公用的广域网搭建安全的虚拟专用网络。这使得公司可以不必耗巨资去建立自己的专用网络,而只需依托Internet即可以获得同样的效果。 ②保证Internet上远程访问的安全:在计算机上装有IPSec的终端用户可以通过拨入所在地的ISP的方式获得对公司网络的安全访问权。这一做法降低了流动办公雇员及远距离工作者的长途电话费用。 ③通过外部网或内部网建立与合作伙伴的联系:IPSec通过认证和钥匙交换机制确保企业与其它组织的信息往来的安全性与机密性。 ④提高了电子商务的安全性:尽管在电子商务的许多应用中已嵌入了一些安全协议,IPSec的使用仍可以使其安全级别在原有的基础上更进一步,因为所有由网络管理员指定的通信都是经过加密和认证的。 IPSec的主要特征在于它可以对所有IP级的通信进行加密和认证,正是这一点才使IPSec可以确保包括远程登录、客户/服务器、电子邮件、文件传输及Web 访问在内多种应用程序的安全。 IPSec在传输层之下,对于应用程序来说是透明的。当在路由器或防火墙上安装IPSec时,无需更改用户或服务器系统中的软件设置。即使在终端系统中执行IPSec,应用程序一类的上层软件也不会被影响。 IPSec对终端用户来说是透明的,因此不必对用户进行安全机制的培训。 如果需要的话,IPSec可以为个体用户提供安全保障,这样做就可以保护企业内部的敏感信息。 IPSec正向Internet靠拢。已经有一些机构部分或全部执行了IPSec。IAB的前任总裁Christian Huitema认为,关于如何保证Internet安全的讨论是他所见过的最激烈的讨论之一。讨论的话题之一就是安全是否在恰当的协议层上被使用。

ipsec原理介绍

Ipsec VPN调研总结 一、Ipsec原理 Ipsec vpn指采用IPSec协议来实现远程接入的一种VPN技术,IPSec全称为Internet Protocol Security,是由Internet Engineering Task Force (IETF) 定义的安全标准框架,用以提供公用和专用网络的端对端加密和验证服务。 Ipsec是一个协议集,包括AH协议、ESP协议、密钥管理协议(IKE协议)和用于网络验证及加密的一些算法。 1、IPSec支持的两种封装模式 传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。 隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。

2、数据包结构 ◆传输模式:不改变原有的IP包头,通常用于主机与主机之间。 ◆隧道模式:增加新的IP头,通常用于私网与私网之间通过公网进行通信。

3、场景应用图

4、网关到网关交互图

5、Ipsec体系结构: 6、ipsec中安全算法 ●源认证 用于对对等体的身份确认,具体方法包含:PSK(pre-share key);PK3(public key infrustructure公钥基础设施)数字证书,RSA等,后两种为非对称加密算法。 ●数据加密 对传输的数据进行加密,确保数据私密性,具体对称加密算法包含:des(data encrypt standard)共有2种密钥长度40bits,56bits,3des密钥长度为56bits的3倍;aes(advanced encrypted standard)AES 加密共有三种形式,分为AES 128(128-bit 长度加密),AES 192(192-bit 长度加密)以及AES 256(256-bit 长度加密)。 ●完整性校验 对接收的数据进行检查,确保数据没有被篡改,主要使用hash算法(HMAC hashed message authentication code),包含MD5(message digest输出128bit校验结 果);SHA-1(secure hash algorithm 1)输出160bits校验结果。 ●密钥交换算法

第九章 IPSec及IKE原理

第九章IPSec及IKE原理 9.1 IPSec概述 IPSec(IP Security)是IETF制定的为保证在Internet上传送数据的安全保密性能的三层隧道加密协议。IPSec在IP层对IP报文提供安全服务。IPSec协议本身定义了如何在IP数据包中增加字段来保证IP包的完整性、私有性和真实性,以及如何加密数据包。使用IPsec,数据就可以安全地在公网上传输。IPsec提供了两个主机之间、两个安全网关之间或主机和安全网关之间的保护。 IPSec包括报文验证头协议AH(协议号51)和报文安全封装协议ESP(协议号50)两个协议。AH可提供数据源验证和数据完整性校验功能;ESP除可提供数据验证和完整性校验功能外,还提供对IP报文的加密功能。 IPSec有隧道(tunnel)和传送(transport)两种工作方式。在隧道方式中,用户的整个IP 数据包被用来计算AH或ESP头,且被加密。AH或ESP头和加密用户数据被封装在一个新的IP数据包中;在传送方式中,只是传输层数据被用来计算AH或ESP头,AH或ESP头和被加密的传输层数据被放置在原IP包头后面。 9.2 IPSec的组成 IPSec包括AH(协议号51)和ESP(协议号50)两个协议: AH(Authentication Header)是报文验证头协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能,可选择的散列算法有MD5(Message Digest ),SHA1(Secure Hash Algorithm)等。AH插到标准IP包头后面,它保证数据包的完整性和真实性,防止黑客截断数据包或向网络中插入伪造的数据包。AH采用了hash算法来对数据包进行保护。AH没有对用户数据进行加密。 ESP(Encapsulating Security Payload)是报文安全封装协议,ESP将需要保护的用户数据进行加密后再封装到IP包中,证数据的完整性、真实性和私有性。可选择的加密算法有DES,3DES等。 9.3 IPSec的安全特点 数据机密性(Confidentiality):IPSec发送方在通过网络传输包前对包进行加密。 数据完整性(Data Integrity):IPSec接收方对发送方发送来的包进行认证,以确保数据在传输过程中没有被篡改。

ipsec协议的应用

竭诚为您提供优质文档/双击可除 ipsec协议的应用 篇一:ipsec协议 ipsec协议 ipsec协议 1ipsec协议概述 2ipsecVpn工作原理 4.2.1隧道建立方式 2.2数据保护方式 2.3ipsec协议体系结构 3ipsec的优点 1ipsec协议概述 ipsec是一系列基于ip网络(包括intranet、extranet 和internet)的,由ietF正式定制的开放性ip安全标准,是虚拟专网的基础,已经相当成熟可靠。ipsec可以保证局域网、专用或公用的广域网及internet上信息传输的安全。 ①保证internet上各分支办公点的安全连接:公司可以借助internet或公用的广域网搭建安全的虚拟专用网络。这使得公司可以不必耗巨资去建立自己的专用网络,而只需依

托internet即可以获得同样的效果。 ②保证internet上远程访问的安全:在计算机上装有ipsec的终端用户可以通过拨入所在地的isp的方式获得对公司网络的安全访问权。这一做法降低了流动办公雇员及远距离工作者的长途电话费用。 ③通过外部网或内部网建立与合作伙伴的联系:ipsec 通过认证和钥匙交换机制确保企业与其它组织的信息往来 的安全性与机密性。 ④提高了电子商务的安全性:尽管在电子商务的许多应用中已嵌入了一些安全协议,ipsec的使用仍可以使其安全级别在原有的基础上更进一步,因为所有由网络管理员指定的通信都是经过加密和认证的。 ipsec的主要特征在于它可以对所有ip级的通信进行加密和认证,正是这一点才使ipsec可以确保包括远程登录、客户/服务器、电子邮件、文件传输及web访问在内多种应用程序的安全。 ipsec在传输层之下,对于应用程序来说是透明的。当在路由器或防火墙上安装ipsec时,无需更改用户或服务器系统中的软件设置。即使在终端系统中执行ipsec,应用程序一类的上层软件也不会被影响。 ipsec对终端用户来说是透明的,因此不(ipsec协议的应用)必对用户进行安全机制的培训。如果需要的话,ipsec

ipsec工作原理

一、IPSec如何工作的 1,定义interesting traffic 如access-list 101 permit ip 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255 2,IKE Phase 1 IKE Phase 1的目的是鉴别IPsec对等体,在对等体之间设立安全通道,以使IKE能够进行信息交换。 IKE Phase 1执行以下的功能: 鉴别和保护IPSec对等体的身份 在对等体之间协商一个相匹配的IKE安全关联策略。 执行一个被认证过的Diffie-Hellman交换,其结果是具有匹配的共享密钥。 建立安全的通道,以协商IKE Phase 2中的参数 IKE Phase 1有两种模式: master mode aggressive mode 3,IKE Phase 2 IKE Phase 2的目的是协商IPSec安全关联(SA),以建立IPSec通道。IKE Phase 2执行以下功能: 协商受已有IKE SA 保护的IPSec SA参数 建立IPSec SA 周期性的重新协商IPSec SA 以确保安全性 4,IPSec 加密隧道 在IKE Phase 2结束之后,信息就通过IPSec隧道被交换 5,隧道终止 当被删除或生存期超时后,IPSec就终止了。当指定的秒数过去或指定的字节数通过隧道后,安全关联 将超时。当SA终结后,密钥会被丢弃。当一个数据流需要后续的IPSEC SA时,IKE就执行一个新的IKE Phase 2和IKE Phase 1协商,产生新的SA密钥,新的SA密钥可以在现有的SA超时之前被建立。 二IPSec安全关联(SA) IPSec 提供了许多选项用于网络加密和认证。每个IPSec连接能够提供加密、完整性、认证保护或三者 的全部。两个IPSEC必须精确确定要使用的算法(如DES或3DES用于加密,MD5或SHA用于完整性验证)。在 确定算法事,两个设备必须共享会话密钥。用于IPSEC 的安全关联是单向的。双向通信由两个安全关联 组成。

IPSec-VPN中隧道模式和传输模式区别

IPSec VPN基本原理 IPSec VPN是目前VPN技术中点击率非常高的一种技术,同时提供VPN和信息加密两项技术,这一期专栏就来介绍一下IPSec VPN的原理。 IPSec VPN应用场景 IPSec VPN的应用场景分为3种: 1. Site-to-Site(站点到站点或者网关到网关):如弯曲评论的3个机构分布在互联网的3个不同的地方,各使用一个商务领航网关相互建立VPN隧道,企业内网(若干PC)之间的数据通过这些网关建立的IPSec隧道实现安全互联。 2. End-to-End(端到端或者PC到PC):两个PC之间的通信由两个PC之间的IPSec 会话保护,而不是网关。 3. End-to-Site(端到站点或者PC到网关):两个PC之间的通信由网关和异地PC之间的IPSec进行保护。 VPN只是IPSec的一种应用方式,IPSec其实是IP Security的简称,它的目的是为IP 提供高安全性特性,VPN则是在实现这种安全特性的方式下产生的解决方案。IPSec是一个框架性架构,具体由两类协议组成: 1. AH协议(Authentication Header,使用较少):可以同时提供数据完整性确认、数据来源确认、防重放等安全特性;AH常用摘要算法(单向Hash函数)MD5和SHA1实现该特性。 2. ESP协议(Encapsulated Security Payload,使用较广):可以同时提供数据完整性确认、数据加密、防重放等安全特性;ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性。 为何AH使用较少呢?因为AH无法提供数据加密,所有数据在传输时以明文传输,而

H3C IPSec基本原理及配置指导

IPSec基本原理及配置指导 一、IPSec描述: 1、IPSec在RFC2401中描述了IP得安全体系结构IPSec,以便保证在IP网络数据传输的安全性。 2、IPSec在IP层对IP报文提供安全服务。 3、IPSec并非单一协议,而是由一系列的安全开放标准构成。 4、IPSec实现于OSI参考模型的网络层,因此,上层的协议都可以得到IPSec 的保护。 5、IPSec是一个可扩展的体系,不受任何一种算法的局限,可以引入多种开放的验证算法。 6、IPSec的缺点是难部署,协议体系复杂,不支持组播,只能对点对点的数据进行保护,不利于语音视频实时性高的应用。 二、IPSec体系结构 1、IPSec使用两种安全协议来提供通信安全服务: i.AH(验证头):AH提供完整性保护和数据源验证以及可选的抗重播 服务,但是不能提供机密性保护。 ii.ESP(封装安全载荷):ESP可以提供AH的所有功能,而且还可以提供加密功能。 2、AH和ESP可以单独使用,也可以一起使用,从而提供额外的安全性。 3、安全协议AH和ESP都具有两种工作模式: i.传输模式:用于保护端到端的安全性。 ii.隧道模式:用于保护点到点的安全性。

4、IPSec通过两种途径获得密钥: i.手工配置:管理员预先手工配置,这种方法不便于随时更改,安全 性较低,不易维护。 ii.通过IKE协商,通信双方可以通过IKE动态生成并交换密钥,获得更高的安全性。 5、IPSec SA(安全联盟) i.SA提供IPSec数据流安全服务的基础概念。 ii.SA是通信双方就如何保证通信安全达成的一个协定。具体确定了对IP报文进行处理。 iii.SA是单向的,入站数据流和出站数据流分别由入站SA和出站SA 处理。 iv.一个SA由(SPI,IP目的地址,安全参数索引)构成。 v.SA可以手工配置,也可以通过IKE自动协商生成。 vi.SA的生存时间有“以时间进行限制”和“以流量进行限制”。 vii.IPSec把类似“对哪些数据提供哪些服务”这样的信息储存在SPD (安全策略数据库)中,而SPD中的项指向SAD(安全联盟数据库), 如果,一个需要加密的出站数据包,系统会将他与SPD进行比较, 如果匹配一项,系统会使用该项对应的SA以及算法进行对数据包的 加密。否则,需要新建一个SA。 6、IKE i.无论是AH还是ESP,在对一个IP包进行操作之前,首先必须要建 立一个IPSec SA,IPSec SA可以手工建立,也可以通过IKE协商建

相关主题
相关文档
最新文档