SecCourse-06安全基础(三).ppt

上传人:本田雅阁 文档编号:2127428 上传时间:2019-02-19 格式:PPT 页数:75 大小:1.83MB
返回 下载 相关 举报
SecCourse-06安全基础(三).ppt_第1页
第1页 / 共75页
SecCourse-06安全基础(三).ppt_第2页
第2页 / 共75页
SecCourse-06安全基础(三).ppt_第3页
第3页 / 共75页
亲,该文档总共75页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《SecCourse-06安全基础(三).ppt》由会员分享,可在线阅读,更多相关《SecCourse-06安全基础(三).ppt(75页珍藏版)》请在三一文库上搜索。

1、网络与信息安全 安全基础 (三),潘爱民,北京大学计算机研究所 http:/ 协议 密钥管理 PKI,IATF(信息保障技术框架)的范围,Local,Computing,Environment,Local,Computing,Environment,Enclave Boundaries,Networks & Infrastructures,Telecommunications Service,Providers (TSPs),Public Telephone,Network,Connections to Other Enclaves,Classified Enclave,Private Enc

2、lave,Public Enclave,Remote,Users,Remote,Users,Internet Service Provider,Remote,Connections,Via TSPs,Supporting Infrastructures:,1 Detect & Respond,2 Key Management Infrastructure/Public Key Infrastructure,Facility,Boundary Protection,(Guard, Firewall, etc.),Remote Access Protection,(Communications S

3、ervers, Encryption, etc.),Enclave Boundaries,Local,Computing,Environment,Remote,Users,Remote,Users,Remote,Users,PBX,IPSec,网络层安全性 需求:真实性(认证)、完整性和保密性 好处:对于应用层透明 可以针对链路,也可以针对最终用户 可以实现在防火墙或者路由器上 弥补IPv4在协议设计时缺乏安全性考虑的不足 IPSec是IETF定义的一组安全IP协议集 它在IP包这一级为IP通讯业务提供保护 IPv4中是一项可选支持的服务,在IPv6中是一项必须支持的服务 本课程只讨论IPv4

4、的情形,IPSec的内容,协议部分,分为 AH: Authentication Header ESP: Encapsulating Security Payload 密钥管理(Key Management) SA(Security Association) ISAKMP定义了密钥管理框架 IKE是目前正式确定用于IPSec的密钥交换协议,SA(Security Association),基本概念 是发送者和接收者两个IPSec系统之间的一个简单的单向逻辑连接,是与给定的一个网络连接或一组网络连接相关联的安全信息参数集合 因为SA是单个方向的,所以,对于一个双向通信,则需要两个SA SA与IPS

5、ec系统中实现的两个数据库有关 安全策略数据库(SPD) 安全关联数据库(SAD) 每个SA通过三个参数来标识 SPI(Security Parameters Index) 目标地址IP 安全协议标识,SPD & SAD,SPD 对于通过的流量的策略 三种选择:discard, bypass IPsec, apply Ipsec 管理界面 条目的粒度不必很细,因为作用在IP包上 SAD,通常用到以下一些域 Sequence Number Counter Sequence Counter Overflow Anti-Replay Window AH Authentication algorith

6、m, keys, etc ESP Encryption algorithm, keys, IV mode, IV, etc ESP authentication algorithm, keys, etc Lifetime of this Security Association IPsec protocol mode Path MTU,AH(Authentication Header),为IP包提供数据完整性和认证功能 利用MAC码实现认证,双方必须共享一个密钥 认证算法由SA指定 认证的范围:整个包 两种认证模式: 传输模式:不改变IP地址,插入一个AH 隧道模式:生成一个新的IP头,把AH

7、和原来的整个IP包放到新IP包的净荷数据中,AH两种模式示意图,IPSec Authentication Header,Next Header: 下一个头的类型 Payload Length:AH的长度(32位字为单位) SPI:用来标识SA Sequence Number:用来避免重放攻击 Authentication Data:可变长度的域,包含针对这个包的ICV或者MAC,AH处理过程,AH定位 在IP头之后,在上层协议数据之前 认证算法 计算ICV或者MAC 对于发出去的包(Outbound Packet )的处理,构造AH 查找SA 产生序列号 计算ICV(Integrity Che

8、ck Value) 内容包括:IP头中部分域、AH自身、上层协议数据 分片,AH处理过程(续),对于接收到的包(Inbound Packet )的处理 分片装配 查找SA 依据:目标IP地址、AH协议、SPI 检查序列号(可选,针对重放攻击) 使用一个滑动窗口来检查序列号的重放 ICV检查,ESP(Encapsulating Security Payload),提供保密功能,也可以提供认证服务 将需要保密的用户数据进行加密后再封装到一个新的IP包中,ESP只认证ESP头之后的信息 加密算法和认证算法由SA指定 也有两种模式:传输模式和隧道模式,ESP两种模式示意图,经认证的数据,经加密的数据,

9、(1) 传输模式,IPSec ESP格式,0 8 16 24 32,Security Parameters Index (SPI),Sequence Number,Payload Data (variable),Authentication Data (variable),Padding (0-255 bytes),Pad Length Next Header,保密范围,认证范围,ESP处理过程,ESP头定位 加密算法和认证算法由SA确定 对于发出去的包(Outbound Packet )的处理 查找SA 加密 封装必要的数据,放到payload data域中 不同的模式,封装数据的范围不同

10、增加必要的padding数据 加密操作 产生序列号 计算ICV,注意,针对加密后的数据进行计算 分片,ESP处理过程(续),对于接收到的包(Inbound Packet )的处理 分片装配 查找SA 依据:目标IP地址、ESP协议、SPI 检查序列号(可选,针对重放攻击) 使用一个滑动窗口来检查序列号的重放 ICV检查 解密 根据SA中指定的算法和密钥、参数,对于被加密部分的数据进行解密 去掉padding 重构原始的IP包,AH和ESP的典型组合,这里upper指上层协议数据 IP1指原来的IP头 IP2指封装之后的IP头,Transport Tunnel - - 1. IP1AHupper

11、 4. IP2AHIP1upper 2. IP1ESPupper 5. IP2ESPIP1upper 3. IP1AHESPupper,IPSec实现,实现形式 与IP协议栈紧密集成 要求访问IP协议栈的源代码 既适用于主机模式,也适用于安全网关 (BITS) Bump-in-the-stack 位于IP协议栈和网络驱动程序之间 通常适用于主机模式 BITW (Bump-in-the-wire) 如果是在单独的主机上,类似于BITS情形 如果一个BITW设备,通常是可IP寻址的,IPSec密钥管理,ISAKMP: Internet Security Association and Key Ma

12、nagement Protocol RFC 2408 是一个针对认证和密钥交换的框架 IKE: The Internet Key Exchange 基于ISAKMP框架 结合了Oakley和SKEME的部分密钥交换技术,ISAKMP,基本的需求 商定SA 确定身份,密钥交换 与协议、算法、厂商都无关 框架结构 针对身份认证和密钥交换的协商过程 定义了基本的消息结构 定义了各种消息类型和payload结构 提供了几种缺省的密钥交换模型,ISAKMP消息结构,ISAKMP头部结构,ISAKMP的payload结构,各种payload,两阶段协商 (Two phases of negotiation

13、),The first phase, 建立起ISAKMP SA 双方(例如ISAKMP Servers)商定如何保护以后的通讯 此SA将用于保护后面的protocol SA的协商过程 The second phase, 建立起针对其他安全协议的SA(比如,IPSec SA) 这个阶段可以建立多个SA 此SA将被相应的安全协议用于保护数据或者消息的交换,两阶段协商的好处,对于简单的情形,两阶段协商带来了更多的通讯开销 但是,它有以下一些好处 第一阶段的开销可以分摊到多个第二阶段中 所以,这允许多个SA建立在同样的ISAKMP SA基础上 第一阶段商定的安全服务可以为第二阶段提供安全特性 例如,第

14、一阶段的ISAKMP SA提供的加密功能可以为第二阶段提供身份认证特性,从而使得第二阶段的交换更为简单 两阶段分开,提供管理上的便利,回顾: Diffie-Hellman密钥交换,允许两个用户可以安全地交换一个秘密信息,用于后续的通讯过程 算法的安全性依赖于计算离散对数的难度 算法: 双方选择素数q以及q的一个原根r A选择Xq,计算XA=rXmod p, AB: XA B选择Yq,计算YB=rYmod p, BA: YB A计算: (YB)X(rY)XrXYmod p B计算: (XA)Y(rX)YrXYmod p 双方获得一个共享密钥(rXYmod p) 素数q以及q的原根r如何确定?,C

15、ookie exchange,背景: Diffie-Hellman密钥交换算法面临的问题 中间人攻击、重放攻击 Clogging attack Cookie exchange 要求每一方在初始消息中发送一个伪随机数,即cookie,而另一方对此做出相应的应答 Cookie的要求 Cookie的值必须依赖于特定的参与方,即与参与方的某种标识关联 除了产生cookie的这一方之外,其他人都无法产生出可被他接受的cookie值,所以,产生和验证cookie时都会用到本地的秘密信息 Cookie的产生和验证方法必须足够快速 一个例子:对IP源和目标地址、源和目标端口,以及一个本地秘密值做一个hash算

16、法的结果,ISAKMP的消息交换,ISAKMP定义了5种消息交换类型 Base Exchange 交换密钥,但是不提供身份保护 Identity Protection Exchange 交换密钥,也提供身份保护 Authentication Only Exchange 只有认证(对消息的认证) Aggressive Exchange 只有三条消息,类似于base exchange Informational Exchange 传输信息,用于SA管理,IKE中几个概念,PFS: Perfect Forward Secrecy 一旦一个密钥被泄漏,只会影响到被一个密钥保护的数据 Phase 同IS

17、AKMP中的phase Group Oakley定义的Diffie-Hellman密钥交换参数 Mode 来自Oakley中的定义 指一个密钥交换过程 四个mode Main Mode, Aggressive Mode用于phase 1 Quick Mode用于phase 2 New Group Mode用在phase 1之后,为将来的协商商定一个新的组,IKE中的组,IKE定义了四个组(Diffie Helman参数设定) 768-bit MODP group 参数:q = 2768 - 2 704 - 1 + 264 * 2638 pi + 149686 = 2 1024-bit MODP

18、 group 参数:q = 21024 - 2960 - 1 + 264 * 2894 pi + 129093 = 2 EC2N group on GP2155 EC2N group on GP2185,IKE中的密钥交换Main Mode,是ISAKMP的Identity Protection Exchange的一个实例 I - R: SA R - I: SA I - R: KE; NONCE R - I: KE; NONCE I - R: IDI; AUTH (加密传输) R - I: IDR; AUTH (加密传输) 前两条消息商定策略 接下来两条消息交换密钥资料 最后两条消息认证Dif

19、fie-Hellman Exchange 用于phase 1,IKE中的密钥交换Aggressive Mode,是ISAKMP的Aggressive Exchange的一个实例 I - R: SA; KE; NONCE; IDI R - I: SA; KE; NONCE; IDR; AUTH I - R: AUTH (加密传输) 前两条消息商定策略,交换Diffie-Hellman公开的值,以及必要的辅助资料,和个人标识 第二条消息也认证应答者 第三条消息认证发起者 用于phase 1,IKE Phase 1中的认证方案,IKE Phase 1 Authenticated With Signa

20、tures Phase 1 Authenticated With Public Key Encryption Phase 1 Authenticated With a Pre-Shared Key,IKE中的密钥交换Quick Mode,在ISAKMP中没有对应的交换类型 I - R: SA; NONCE; IDI, IDR, KE; HASH(1) R - I: SA; NONCE; IDI, IDR, KE; HASH(2) I - R: HASH(3) 以上消息都是加密传输 如果PFS不需要的话,则可以不传KE 只用于第二阶段,IKE中的密钥交换New Group Mode,在ISAKM

21、P中没有对应的交换类型 I - R: SA; HASH(1) R - I: SA; HASH(2) 以上消息都是加密传输 用于第一阶段之后,IPSec和IKE小结,IPSec在网络层上提供安全服务 定义了两个协议AH和ESP IKE提供了密钥交换功能 利用ISAKMP提供的框架、以及Oakley和SKEME的密钥交换协议的优点 通过SA把两部分连接起来 已经发展成为Internet标准 一些困难 IPSec太复杂 协议复杂性,导致很难达到真正的安全性 管理和配置复杂,使得安全性下降 实现上的兼容性 攻击:DOS,网络层之下的协议、之上的协议的弱点 还在进一步完善,IPSec实现,一些网络设备厂

22、商 比如CISCO等 各种操作系统 例如Linux、各种UNIX版本 IPv6实现 一些VPN软件包 ,Windows 2000和XP下的IPSec,文章 http:/ http:/ http:/ 实现特点 与IETF兼容 支持Kerberos、基于证书的认证、基于共享密钥的认证 一些不受IPSec保护的流量:广播包、组播包、RSVP包、IKE包、Kerberos包 与L2TP结合起来提供安全的VPN远程访问 不能与NAT协同工作 仍然面临一些攻击:DOS,其他层上协议的攻击 对比FreeBSD的实现:http:/www.freebsd.org/doc/en_US.ISO8859-1/book

23、s/handbook/ipsec.html,Windows 2000和XP下的IPSec管理工具,IPSec Security Policies snap-in for the MMC (secpol.msc),IPSecmon.exe,回顾:公钥技术,公钥技术 建立在非对称密码算法基础上 公钥和私钥对 服务:保密性和认证,回顾:数字签名,两种数字签名方案,密钥对的用法,用于加密的密钥对,用公钥加密,用私钥解密,PKI之动机,公钥技术 如何提供数字签名功能 如何实现不可否认服务 公钥和身份如何建立联系 为什么要相信这是某个人的公钥 公钥如何管理 方案:引入证书(certificate) 通过证

24、书把公钥和身份关联起来,密钥生命周期,PKI(Public Key Infrastructure),定义: 用公钥原理和技术实施和提供安全服务的具有普适性的安全基础设施 一个完整的PKI应该包括 认证机构(CA) 证书库 证书注销 密钥备份和恢复 自动密钥更新 密钥历史档案 交叉认证 支持不可否认 时间戳 客户端软件,PKI提供的基本服务,认证 采用数字签名技术,签名作用于相应的数据之上 被认证的数据 数据源认证服务 用户发送的远程请求 身份认证服务 远程设备生成的challenge信息 身份认证 完整性 PKI采用了两种技术 数字签名:既可以是实体认证,也可以是数据完整性 MAC(消息认证码

25、):如DES-CBC-MAC或者HMAC-MD5 保密性 用公钥分发随机密钥,然后用随机密钥对数据加密 不可否认 发送方的不可否认 数字签名 接受方的不可否认 收条 + 数字签名,PKI的应用考虑,在提供前面四项服务的同时,还必须考虑 性能 尽量少用公钥加解密操作,在实用中,往往结合对称密码技术,避免对大量数据作加解密操作 除非需要数据来源认证才使用签名技术,否则就使用MAC或者HMAC实现数据完整性检验 在线和离线模型 签名的验证可以在离线情况下完成 用公钥实现保密性也可以在离线情况下完成 离线模式的问题:无法获得最新的证书注销信息 证书中所支持算法的通用性 在提供实际的服务之前,必须协商到

26、一致的算法 个体命名 如何命名一个安全个体,取决于CA的命名登记管理工作,PKI基本组件,RA(Registration Authority) 把用户的身份和它的密钥绑定起来建立信任关系 CA(Certificate Authority) 发证 证书库/目录 保存证书,供公开访问,证书的注销机制,由于各种原因,证书需要被注销 比如,私钥泄漏、密钥更换、用户变化 PKI中注销的方法 CA维护一个CRL(Certificate Revocation List) 基于Web的CRL服务 检查CRL的URL应该内嵌在用户的证书中 可以提供安全途径(SSL)访问URL 返回注销状态信息 其他的用法由浏览

27、器决定,PKI中的证书,证书(certificate),有时候简称为cert PKI适用于异构环境中,所以证书的格式在所使用的范围内必须统一 证书是一个机构颁发给一个安全个体的证明,所以证书的权威性取决于该机构的权威性 一个证书中,最重要的信息是个体名字、个体的公钥、机构的签名、算法和用途 签名证书和加密证书分开 最常用的证书格式为X.509 v3,X.509证书格式,版本1、2、3 序列号 在CA内部唯一 签名算法标识符 指该证书中的签名算法 签发人名字 CA的名字 有效时间 起始和终止时间 个体名字,X.509证书格式(续),个体的公钥信息 算法 参数 密钥 签发人唯一标识符 个体唯一标识

28、符 扩展域 签名,X.509证书示意图,CA(Certificate Authority),职责 接受用户的请求 (由RA负责对用户的身份信息进行验证) 用自己的私钥签发证书 提供证书查询 接受证书注销请求 提供证书注销表 各个组件和功能示意图,密钥备份和恢复,进一步授权 (# 可定制),授权恢 复密钥,加密密钥的历史,新的签名密钥对 和证书,Password?,Help!,CA密钥更新,保证透明性,Sep 1998,Oct 1998,Nov 1998,Dec 1998,Jan 1999,Feb 1999,Mar 1999,Apr 1999,May 1999,Jun 1999,Jul 1999

29、,Aug 1999,CA密钥历史保证对于 最终用户和其他的PKI 是透明的,新的CA签名 密钥对,CA信任关系,当一个安全个体看到另一个安全个体出示的证书时,他是否信任此证书? 信任难以度量,总是与风险联系在一起 可信CA 如果一个个体假设CA能够建立并维持一个准确的“个体-公钥属性”之间的绑定,则他可以信任该CA,该CA为可信CA 信任模型 基于层次结构的信任模型 交叉认证 以用户为中心的信任模型,CA层次结构,对于一个运行CA的大型权威机构而言,签发证书的工作不能仅仅由一个CA来完成 它可以建立一个CA层次结构,CA层次结构的建立,根CA具有一个自签名的证书 根CA依次对它下面的CA进行签

30、名 层次结构中叶子节点上的CA用于对安全个体进行签名 对于个体而言,它需要信任根CA,中间的CA可以不必关心(透明的);同时它的证书是由底层的CA签发的 在CA的机构中,要维护这棵树 在每个节点CA上,需要保存两种cert (1) Forward Certificates: 其他CA发给它的certs (2) Reverse Certificates: 它发给其他CA的certs,层次结构CA中证书的验证,假设个体A看到B的一个证书 B的证书中含有签发该证书的CA的信息 沿着层次树往上找,可以构成一条证书链,直到根证书 验证过程: 沿相反的方向,从根证书开始,依次往下验证每一个证书中的签名。其

31、中,根证书是自签名的,用它自己的公钥进行验证 一直到验证B的证书中的签名 如果所有的签名验证都通过,则A可以确定所有的证书都是正确的,如果他信任根CA,则他可以相信B的证书和公钥 问题:证书链如何获得?,证书链的验证示例,交叉认证,两个不同的CA层次结构之间可以建立信任关系 单向交叉认证 一个CA可以承认另一个CA在一定名字空间范围内的所有被授权签发的证书 双向交叉认证 交叉认证可以分为 域内交叉认证(同一个层次结构内部) 域间交叉认证(不同的层次结构之间) 交叉认证的约束 名字约束 路径长度约束 策略约束,以用户为中心的信任模型,对于每一个用户而言,应该建立各种信任关系,这种信任关系可以被扩

32、展 例子:用户的浏览器配置,以用户为中心的信任模型示例:PGP,与PKI有关的标准情况,Certificates X.509 v.3 交叉认证 PKIX group in IETF(RFC 2459) 智能卡/硬件插件 PKCS #11 PKCS系列 目录服务LDAP,PKCS系列标准,PKCS #1 RSA Encryption Standard PKCS #3 Diffie-Hellman Key-Agreement Standard PKCS # 5 Password-Based Encryption Standard PKCS #6 Extended-Certificate Synta

33、x Standard PKCS #7 Cryptographic Message Syntax Standard PKCS #8 Private-Key Information Syntax Standard,PKCS系列标准(续),PKCS #9 Selected Attribute Types PKCS #10 Certification Request Syntax Standard PKCS #11 Cryptographic Token Interface Standard PKCS #12 Personal Information Exchange Standard PKCS #1

34、3 Elliptic Curve Cryptography Standard PKCS #15 Cryptographic Token Information Format Standard,客户通过Web申请一个证书,PKCS#10,CA处理证书请求,PKCS#7,PKI应用,基本的应用 文件保护 E-mail Web应用 其他 VPN SSL/TLS XML/e-business WAP ,PKI实现的选择,建立自己的PKI 购买一个PKI 从第三方购买PKI服务 等待一个政府PKI PKI和应用联合开发,相互协作,Windows 2000中的PKI,Windows 2000中的安全模块示

35、意图,Windows 2000中的证书存储区,Windows 2000中,获得密钥对和证书,参考资料,书 William Stallings, Cryptography and network security: principles and practice, Second Edition 冯登国,计算机通信网络安全,清华大学出版社,2001 David Chappell, Understanding Microsoft Windows 2000 Distributed Services, 中文版(清华大学出版社,潘爱民译), 2001 文章 RFC 2401, Security Architecture for the Internet Protocol RFC 2402, IP Authentication Header RFC 2406, IP Encapsulating Security Payload (ESP) RFC 2408, Internet Security Association and Key Management Protocol (ISAKMP) RFC 2409, The Internet Key Exchange(IKE) Web站点 RSA公司,http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1