《S安全协议课件》由会员分享,可在线阅读,更多相关《S安全协议课件(76页珍藏版)》请在金锄头文库上搜索。
1、网络与信息安全安全基础 (三)1PPT学习交流内容IPSec协议密钥管理PKI2PPT学习交流IATF(信息保障技术框架)的范围LocalComputingEnvironmentLocalComputingEnvironmentEnclave BoundariesViaTSPsNetworks & InfrastructuresTelecommunications ServiceProviders (TSPs)Public TelephoneNetworkPrivate NetworksClassified NetworksPublic Network(Internet)Connections
2、 to Other EnclavesClassified EnclavePrivate EnclavePublic EnclaveRemoteUsersRemoteUsersViaTSPsInternet Service ProviderRemoteConnectionsVia TSPsSupporting Infrastructures:1 Detect & Respond2 Key Management Infrastructure/Public Key InfrastructureFacilityBoundary Protection (Guard, Firewall, etc.)Rem
3、ote Access Protection(Communications Servers, Encryption, etc.)Enclave BoundariesLocalComputingEnvironmentRemoteUsersRemoteUsersRemoteUsersPBX3PPT学习交流IPSec网络层安全性需求:真实性(认证)、完整性和保密性好处:对于应用层透明可以针对链路,也可以针对最终用户可以实现在防火墙或者路由器上弥补IPv4在协议设计时缺乏安全性考虑的不足IPSec是IETF定义的一组安全IP协议集它在IP包这一级为IP通讯业务提供保护IPv4中是一项可选支持的服务,在I
4、Pv6中是一项必须支持的服务本课程只讨论IPv4的情形4PPT学习交流IPSec的内容协议部分,分为AH: Authentication HeaderESP: Encapsulating Security Payload密钥管理(Key Management)SA(Security Association)ISAKMP定义了密钥管理框架IKE是目前正式确定用于IPSec的密钥交换协议5PPT学习交流SA(Security Association)基本概念是发送者和接收者两个IPSec系统之间的一个简单的单向逻辑连接,是与给定的一个网络连接或一组网络连接相关联的安全信息参数集合因为SA是单个方向
5、的,所以,对于一个双向通信,则需要两个SASA与IPSec系统中实现的两个数据库有关安全策略数据库(SPD)安全关联数据库(SAD)每个SA通过三个参数来标识SPI(Security Parameters Index)目标地址IP安全协议标识6PPT学习交流SPD & SADSPD对于通过的流量的策略三种选择:discard, bypass IPsec, apply Ipsec管理界面条目的粒度不必很细,因为作用在IP包上SAD,通常用到以下一些域Sequence Number CounterSequence Counter OverflowAnti-Replay WindowAH Authe
6、ntication algorithm, keys, etcESP Encryption algorithm, keys, IV mode, IV, etcESP authentication algorithm, keys, etcLifetime of this Security AssociationIPsec protocol modePath MTU7PPT学习交流AH(Authentication Header)为IP包提供数据完整性和认证功能利用MAC码实现认证,双方必须共享一个密钥认证算法由SA指定认证的范围:整个包两种认证模式:传输模式:不改变IP地址,插入一个AH隧道模式:
7、生成一个新的IP头,把AH和原来的整个IP包放到新IP包的净荷数据中8PPT学习交流AH两种模式示意图传输模式隧道模式9PPT学习交流IPSec Authentication HeaderNext Header: 下一个头的类型Payload Length:AH的长度(32位字为单位)SPI:用来标识SASequence Number:用来避免重放攻击Authentication Data:可变长度的域,包含针对这个包的ICV或者MAC10PPT学习交流AH处理过程AH定位在IP头之后,在上层协议数据之前认证算法计算ICV或者MAC对于发出去的包(OutboundPacket )的处理,构造A
8、H查找SA产生序列号计算ICV(IntegrityCheckValue)内容包括:IP头中部分域、AH自身、上层协议数据分片11PPT学习交流AH处理过程(续)对于接收到的包(InboundPacket )的处理分片装配查找SA依据:目标IP地址、AH协议、SPI检查序列号(可选,针对重放攻击)使用一个滑动窗口来检查序列号的重放ICV检查12PPT学习交流ESP(Encapsulating Security Payload)提供保密功能,也可以提供认证服务将需要保密的用户数据进行加密后再封装到一个新的IP包中,ESP只认证ESP头之后的信息加密算法和认证算法由SA指定也有两种模式:传输模式和隧
9、道模式13PPT学习交流ESP两种模式示意图Orig IP HdrESPhdrTCPDataESP trlrESP authESPhdrESP authESP trlrDataTCPOrig IPhdrNew IP Hdr经认证的数据经加密的数据(2) 隧道模式经认证的数据经加密的数据(1) 传输模式14PPT学习交流IPSec ESP格式0 8 16 24 32Security Parameters Index (SPI)Sequence NumberPayload Data (variable)Authentication Data (variable)Padding (0-255 byt
10、es) Pad Length Next Header保密范围认证范围15PPT学习交流ESP处理过程ESP头定位加密算法和认证算法由SA确定对于发出去的包(OutboundPacket )的处理查找SA加密封装必要的数据,放到payload data域中不同的模式,封装数据的范围不同增加必要的padding数据加密操作产生序列号计算ICV,注意,针对加密后的数据进行计算分片16PPT学习交流ESP处理过程(续)对于接收到的包(InboundPacket )的处理分片装配查找SA依据:目标IP地址、ESP协议、SPI检查序列号(可选,针对重放攻击)使用一个滑动窗口来检查序列号的重放ICV检查解密
11、根据SA中指定的算法和密钥、参数,对于被加密部分的数据进行解密去掉padding重构原始的IP包17PPT学习交流AH和ESP的典型组合这里upper指上层协议数据IP1指原来的IP头IP2指封装之后的IP头 Transport Tunnel - - 1. IP1AHupper 4. IP2AHIP1upper 2. IP1ESPupper 5. IP2ESPIP1upper 3. IP1AHESPupper18PPT学习交流IPSec实现实现形式与IP协议栈紧密集成要求访问IP协议栈的源代码既适用于主机模式,也适用于安全网关(BITS) Bump-in-the-stack位于IP协议栈和网络
12、驱动程序之间通常适用于主机模式BITW (Bump-in-the-wire)如果是在单独的主机上,类似于BITS情形如果一个BITW设备,通常是可IP寻址的19PPT学习交流IPSec密钥管理ISAKMP: Internet Security Association and Key Management ProtocolRFC 2408是一个针对认证和密钥交换的框架IKE: The Internet Key Exchange基于ISAKMP框架结合了Oakley和SKEME的部分密钥交换技术20PPT学习交流ISAKMP基本的需求商定SA确定身份,密钥交换与协议、算法、厂商都无关框架结构针对身
13、份认证和密钥交换的协商过程定义了基本的消息结构定义了各种消息类型和payload结构提供了几种缺省的密钥交换模型21PPT学习交流ISAKMP消息结构ISAKMP头部结构uISAKMP的的payload结构结构22PPT学习交流各种payloadTypeParametersSecurity Association(SA)DOI, SituationProposal(P)Proposal #, Protocol-ID, Transform(T)Transform #, SA AttributesKey Exchange(KE)Key Exchange DataIdentification(ID)
14、ID type, ID dateCertificate(CERT)Cert Encoding, Certificate dataCertificate Request(CR)#Cert types,Cert auths, Hash(HASH)Hash DataSignature(SIG)Signature DataNonce(NONCE)Nonce DataNotification(N)DOI, Protocol-ID, Delete(D)DOI, Protocol-ID, 23PPT学习交流两阶段协商(Two phases of negotiation)The first phase, 建立
15、起ISAKMP SA双方(例如ISAKMP Servers)商定如何保护以后的通讯此SA将用于保护后面的protocol SA的协商过程The second phase, 建立起针对其他安全协议的SA(比如,IPSec SA)这个阶段可以建立多个SA此SA将被相应的安全协议用于保护数据或者消息的交换24PPT学习交流两阶段协商的好处对于简单的情形,两阶段协商带来了更多的通讯开销但是,它有以下一些好处第一阶段的开销可以分摊到多个第二阶段中所以,这允许多个SA建立在同样的ISAKMP SA基础上第一阶段商定的安全服务可以为第二阶段提供安全特性例如,第一阶段的ISAKMP SA提供的加密功能可以为第
16、二阶段提供身份认证特性,从而使得第二阶段的交换更为简单两阶段分开,提供管理上的便利25PPT学习交流回顾: Diffie-Hellman密钥交换允许两个用户可以安全地交换一个秘密信息,用于后续的通讯过程算法的安全性依赖于计算离散对数的难度算法:双方选择素数q以及q的一个原根rA选择Xq,计算XA=rXmod p, AB: XAB选择Y R: SAR - I: SAI - R: KE; NONCER - I: KE; NONCEI - R: IDI; AUTH (加密传输) R - I: IDR; AUTH (加密传输)前两条消息商定策略接下来两条消息交换密钥资料最后两条消息认证Diffie-H
17、ellman Exchange用于phase 131PPT学习交流IKE中的密钥交换Aggressive Mode是ISAKMP的Aggressive Exchange的一个实例I - R: SA; KE; NONCE; IDIR - I: SA; KE; NONCE; IDR; AUTHI - R: AUTH (加密传输)前两条消息商定策略,交换Diffie-Hellman公开的值,以及必要的辅助资料,和个人标识第二条消息也认证应答者第三条消息认证发起者用于phase 132PPT学习交流IKE Phase 1中的认证方案IKE Phase 1 Authenticated With Sign
18、aturesPhase 1 Authenticated With Public Key EncryptionPhase 1 Authenticated With a Pre-Shared Key33PPT学习交流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只用于第二阶段34PPT学习交流IKE中的密钥交换New Group Mod
19、e在ISAKMP中没有对应的交换类型I - R: SA; HASH(1)R - I: SA; HASH(2)以上消息都是加密传输用于第一阶段之后35PPT学习交流IPSec和IKE小结IPSec在网络层上提供安全服务定义了两个协议AH和ESPIKE提供了密钥交换功能利用ISAKMP提供的框架、以及Oakley和SKEME的密钥交换协议的优点通过SA把两部分连接起来已经发展成为Internet标准一些困难IPSec太复杂协议复杂性,导致很难达到真正的安全性管理和配置复杂,使得安全性下降实现上的兼容性攻击:DOS,网络层之下的协议、之上的协议的弱点还在进一步完善36PPT学习交流IPSec实现一些
20、网络设备厂商比如CISCO等各种操作系统例如Linux、各种UNIX版本IPv6实现一些VPN软件包37PPT学习交流Windows 2000和XP下的IPSec文章实现特点与IETF兼容支持Kerberos、基于证书的认证、基于共享密钥的认证一些不受IPSec保护的流量:广播包、组播包、RSVP包、IKE包、Kerberos包与L2TP结合起来提供安全的VPN远程访问不能与NAT协同工作仍然面临一些攻击:DOS,其他层上协议的攻击对比FreeBSD的实现:38PPT学习交流Windows 2000和XP下的IPSec管理工具IPSec Security Policies snap-in fo
21、r the MMC (secpol.msc)uIPSecmon.exe39PPT学习交流回顾:公钥技术公钥技术建立在非对称密码算法基础上公钥和私钥对服务:保密性和认证40PPT学习交流回顾:数字签名两种数字签名方案41PPT学习交流密钥对的用法用于加密的密钥对用公钥加密用公钥加密用私钥解密用私钥解密用私钥签名用私钥签名用公钥验证用公钥验证u用于签名的密钥对用于签名的密钥对42PPT学习交流PKI之动机公钥技术如何提供数字签名功能如何实现不可否认服务公钥和身份如何建立联系为什么要相信这是某个人的公钥公钥如何管理方案:引入证书(certificate)通过证书把公钥和身份关联起来43PPT学习交流
22、密钥生命周期密钥产生密钥产生证书签发证书签发Bob密钥使用密钥使用Bob证书检验证书检验密钥过期密钥过期密钥更新密钥更新44PPT学习交流PKI(Public Key Infrastructure)定义:用公钥原理和技术实施和提供安全服务的具有普适性的安全基础设施一个完整的PKI应该包括认证机构(CA)证书库证书注销密钥备份和恢复自动密钥更新密钥历史档案交叉认证支持不可否认时间戳客户端软件45PPT学习交流PKI提供的基本服务认证采用数字签名技术,签名作用于相应的数据之上被认证的数据 数据源认证服务用户发送的远程请求 身份认证服务远程设备生成的challenge信息 身份认证完整性PKI采用了
23、两种技术数字签名:既可以是实体认证,也可以是数据完整性MAC(消息认证码):如DES-CBC-MAC或者HMAC-MD5保密性用公钥分发随机密钥,然后用随机密钥对数据加密不可否认发送方的不可否认 数字签名接受方的不可否认 收条 + 数字签名46PPT学习交流PKI的应用考虑在提供前面四项服务的同时,还必须考虑性能尽量少用公钥加解密操作,在实用中,往往结合对称密码技术,避免对大量数据作加解密操作除非需要数据来源认证才使用签名技术,否则就使用MAC或者HMAC实现数据完整性检验在线和离线模型签名的验证可以在离线情况下完成用公钥实现保密性也可以在离线情况下完成离线模式的问题:无法获得最新的证书注销信
24、息证书中所支持算法的通用性在提供实际的服务之前,必须协商到一致的算法个体命名如何命名一个安全个体,取决于CA的命名登记管理工作47PPT学习交流PKI基本组件RA(Registration Authority)把用户的身份和它的密钥绑定起来建立信任关系CA(Certificate Authority)发证证书库/目录保存证书,供公开访问48PPT学习交流证书的注销机制由于各种原因,证书需要被注销比如,私钥泄漏、密钥更换、用户变化PKI中注销的方法CA维护一个CRL(Certificate Revocation List)基于Web的CRL服务检查CRL的URL应该内嵌在用户的证书中可以提供安全
25、途径(SSL)访问URL返回注销状态信息其他的用法由浏览器决定49PPT学习交流PKI中的证书证书(certificate),有时候简称为certPKI适用于异构环境中,所以证书的格式在所使用的范围内必须统一证书是一个机构颁发给一个安全个体的证明,所以证书的权威性取决于该机构的权威性一个证书中,最重要的信息是个体名字、个体的公钥、机构的签名、算法和用途签名证书和加密证书分开最常用的证书格式为X.509 v350PPT学习交流X.509证书格式版本1、2、3序列号在CA内部唯一签名算法标识符指该证书中的签名算法签发人名字CA的名字有效时间起始和终止时间个体名字51PPT学习交流X.509证书格式
26、(续)个体的公钥信息算法参数密钥签发人唯一标识符个体唯一标识符扩展域签名52PPT学习交流X.509证书示意图53PPT学习交流CA(Certificate Authority)职责接受用户的请求(由RA负责对用户的身份信息进行验证)用自己的私钥签发证书提供证书查询接受证书注销请求提供证书注销表各个组件和功能示意图健壮的数据库系统无缝的目录接口CA硬件管理和运 行平台 安全的审计密钥PKI54PPT学习交流密钥备份和恢复 进一步授权(# 可定制)授权恢复密钥RA最终用户最终用户PKI加密密钥的历史新的签名密钥对和证书Password?Help!55PPT学习交流CA密钥更新保证透明性用于验证的
27、CA公钥用于签名的CA私钥 CA最终用户Sep 1998Oct 1998Nov 1998Dec 1998Jan 1999Feb 1999Mar 1999Apr 1999May 1999Jun 1999Jul1999Aug 1999CA密钥历史保证对于最终用户和其他的PKI是透明的新的CA签名密钥对56PPT学习交流CA信任关系当一个安全个体看到另一个安全个体出示的证书时,他是否信任此证书?信任难以度量,总是与风险联系在一起可信CA如果一个个体假设CA能够建立并维持一个准确的“个体-公钥属性”之间的绑定,则他可以信任该CA,该CA为可信CA信任模型基于层次结构的信任模型交叉认证以用户为中心的信任
28、模型57PPT学习交流CA层次结构对于一个运行CA的大型权威机构而言,签发证书的工作不能仅仅由一个CA来完成它可以建立一个CA层次结构根CA中间CA58PPT学习交流CA层次结构的建立根CA具有一个自签名的证书根CA依次对它下面的CA进行签名层次结构中叶子节点上的CA用于对安全个体进行签名对于个体而言,它需要信任根CA,中间的CA可以不必关心(透明的);同时它的证书是由底层的CA签发的在CA的机构中,要维护这棵树在每个节点CA上,需要保存两种cert(1) Forward Certificates: 其他CA发给它的certs(2) Reverse Certificates: 它发给其他CA的
29、certs59PPT学习交流层次结构CA中证书的验证假设个体A看到B的一个证书B的证书中含有签发该证书的CA的信息沿着层次树往上找,可以构成一条证书链,直到根证书验证过程:沿相反的方向,从根证书开始,依次往下验证每一个证书中的签名。其中,根证书是自签名的,用它自己的公钥进行验证一直到验证B的证书中的签名如果所有的签名验证都通过,则A可以确定所有的证书都是正确的,如果他信任根CA,则他可以相信B的证书和公钥问题:证书链如何获得?60PPT学习交流证书链的验证示例61PPT学习交流交叉认证两个不同的CA层次结构之间可以建立信任关系单向交叉认证一个CA可以承认另一个CA在一定名字空间范围内的所有被授
30、权签发的证书双向交叉认证交叉认证可以分为域内交叉认证(同一个层次结构内部)域间交叉认证(不同的层次结构之间)交叉认证的约束名字约束路径长度约束策略约束62PPT学习交流以用户为中心的信任模型对于每一个用户而言,应该建立各种信任关系,这种信任关系可以被扩展例子:用户的浏览器配置63PPT学习交流以用户为中心的信任模型示例:PGP64PPT学习交流与PKI有关的标准情况Certificates X.509 v.3交叉认证 PKIX group in IETF(RFC 2459)智能卡/硬件插件 PKCS #11PKCS系列目录服务LDAP65PPT学习交流PKCS系列标准PKCS #1RSA En
31、cryption StandardPKCS #3Diffie-Hellman Key-Agreement StandardPKCS # 5Password-Based Encryption StandardPKCS #6Extended-Certificate Syntax StandardPKCS #7Cryptographic Message Syntax StandardPKCS #8Private-Key Information Syntax Standard66PPT学习交流PKCS系列标准(续)PKCS #9Selected Attribute TypesPKCS #10Certi
32、fication Request Syntax StandardPKCS #11Cryptographic Token Interface StandardPKCS #12Personal Information Exchange StandardPKCS #13Elliptic Curve Cryptography StandardPKCS #15Cryptographic Token Information Format Standard67PPT学习交流客户通过Web申请一个证书PKCS#1068PPT学习交流CA处理证书请求PKCS#769PPT学习交流PKI应用基本的应用文件保护E-
33、mailWeb应用其他VPNSSL/TLSXML/e-businessWAP70PPT学习交流PKI实现的选择建立自己的PKI购买一个PKI从第三方购买PKI服务等待一个政府PKIPKI和应用联合开发,相互协作71PPT学习交流Windows 2000中的PKIWindows 2000中的安全模块示意图72PPT学习交流Windows 2000中的证书存储区73PPT学习交流Windows 2000中,获得密钥对和证书74PPT学习交流参考资料书William Stallings, Cryptography and network security: principles and practi
34、ce, Second Edition冯登国,计算机通信网络安全,清华大学出版社,2001David Chappell, Understanding Microsoft Windows 2000 Distributed Services, 中文版(清华大学出版社,潘爱民译), 2001文章RFC 2401, SecurityArchitecturefortheInternetProtocolRFC 2402, IPAuthenticationHeaderRFC 2406, IPEncapsulatingSecurityPayload(ESP)RFC2408,InternetSecurityAssociationandKeyManagementProtocol(ISAKMP)RFC2409,TheInternetKeyExchange(IKE)Web站点RSA公司,http:/75PPT学习交流76PPT学习交流