已阅读5页,还剩316页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PKI理论与技术 第7章安全协议与安全接口 Instructor HouMengbo侯孟波Email houmb Office InformationSecurityResearchOffice MainBuildingRoom535ofSDU SouthSection ComputerScience TechnologySchoolofShandongUniversity ShanDongUniversityComputerSchoolCopyrightDannyHou 2 第7章安全协议与安全接口Protocols SSL TLS WTLS SETIPSEC S MIME PGPSSH SPKI SSOAPIs MS CryptoAPI CDSAGSS API OpenSSL ShanDongUniversityComputerSchoolCopyrightDannyHou 3 内容目录 1 SSL TLSSecureSocketLayer TransportLayerSecurity 2 IPSECIPSecurity 3 SETSecureElectronicTransaction 4 S MIMESecure MultipurposeInternetMailExtensions 5 PGPPrettyGoodPrivacy 6 WTLS WirelessTransportLayerSecurity 7 SSHSecureSHell 8 SPKI SimplePublicKeyInfrastructure 9 SSOSingleSignOn 10 MS CryptoAPI 11 CDSA CommonDataSecurityArchitecture 12 GSS API GenericSecurityServicesAPI 13 OpenSSL 第一部分SSL TLS协议 RFC2246 3546 ShanDongUniversityComputerSchoolCopyrightDannyHou 5 第一部分SSL TLS协议 SSL SecureSocketLayer 是一种在两个端实体 EndEntity 之间提供安全通道的协议 它具有保护传输数据以及识别通信实体的功能 安全通道是透明的IETF制定的TLS TransportLayerSecurity 版本是对Nescape公司的SSL和Microsoft公司的PCT PrivateCommunicationTechnology 两个协议的综合和兼容 本文重点讨论SSL协议 ShanDongUniversityComputerSchoolCopyrightDannyHou 6 SSL TLS协议设计目标 SSLV2设计目标为满足WEB安全通信而设计提供客户和服务器之间传输数据的保密性服务器认证 客户端认证可选 SSLV3设计目标修正SSLV2中存在的多处安全问题设计一种安全磋商多种加密算法的机制 ShanDongUniversityComputerSchoolCopyrightDannyHou 7 SSL提供了什么 SSL提供了通道级别的安全 连接的两端知道所传输的数据是保密的 而且没有被篡改几乎总是要对服务器进行认证可选的客户端认证针对异常情况的安全通知错误警示关闭连接所有这些依赖于某些对系统的假定假定已经正确产生了密钥数据并且该密钥已被安全地保管 ShanDongUniversityComputerSchoolCopyrightDannyHou 8 SSL与TCP IP SSL连接非常类似于 保密的 的TCP连接位于TCP之上 应用层之下几乎只能在TCP上运行 而不能在UDP或IP上运行 因而它依赖于可靠的传输协议微软的STLP和无线应用论坛的WTLS均为意图在数据报传输层 如UDP 上正确工作的变种 ShanDongUniversityComputerSchoolCopyrightDannyHou 9 SSL变种谱系树 SSLV1 1994 未发布 SSLV2 1994 第一版 SSLV3 1995 TLS 1997 1999 PCT 1995 STLP 1996 WTLS 1998 ShanDongUniversityComputerSchoolCopyrightDannyHou 10 用于WEB的SSL 保护使用HTTP的WEB通信新的URLhttps 在浏览器中的表现NETSCAPE 工具条上会显示一把钥匙IE 右下角显示一把锁几乎所有的商业WEB服务器和浏览器都实现了内置的SSL协议 通过配置即可使用 ShanDongUniversityComputerSchoolCopyrightDannyHou 11 在SSL上构建一切 除了HTTP和NNTP SNEWS 外 还可以用于SMTP Telnet FTP等 也可用于保护专有协议 协议端口标准化协议实现OPENSSL C语言实现 pureTLS java实现 ApacheSSL 针对Apache服务器的实现 Mod ssl ShanDongUniversityComputerSchoolCopyrightDannyHou 12 两个主要的协议 SSL记录协议建立在可靠的传输协议 如TCP 之上它提供连接安全性 有两个特点保密性 使用了对称加密算法完整性 使用HMAC算法用来封装高层的协议SSL握手协议客户和服务器之间相互鉴别协商加密算法和密钥它提供连接安全性 有三个特点身份鉴别 至少对一方实现鉴别 也可以是双向鉴别协商得到的共享密钥是安全的 中间人不能够知道协商过程是可靠的 ShanDongUniversityComputerSchoolCopyrightDannyHou 13 SSL的两个重要概念 SSL连接 connection 一个连接是一个提供一种合适类型服务的传输 OSI分层的定义 SSL的连接是点对点的关系 连接是暂时的 每一个连接和一个会话关联 SSL会话 session 一个SSL会话是在客户与服务器之间的一个关联 会话由HandshakeProtocol创建 会话定义了一组可供多个连接共享的密码安全参数 会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价 ShanDongUniversityComputerSchoolCopyrightDannyHou 14 SSL基础 针对RSA服务器认证的SSL SSL灵活性 单向认证和双向认证认证 加密和认证加密算法 RSADSSDHFORTEZZA 连接分为两个节段 握手阶段完成对服务器认证并建立加密密钥数据传输阶段加密数据传输 ShanDongUniversityComputerSchoolCopyrightDannyHou 15 握手协议 握手阶段的目的客户和服务器协商保护数据的算法 及其具体参数 确立在协商好的算法上使用的加密密钥可选择对客户端进行认证clientserver 所支持的加密算法 随机数 选中的加密算法 随机数 服务器证书 加密后的pre master secret计算相关演化密钥计算相关演化密钥 握手消息的MAC值 握手消息的MAC值注 1 pre master secret可以由KDF keyderivationfunction 演化出master secret 最后再通过master secret演化出系列加密密钥 2 最后两步防止握手本身遭受篡改 如低强度密码算法替换等 3 客户端和服务器端随机数的传输 防止重放攻击 ShanDongUniversityComputerSchoolCopyrightDannyHou 16 握手消息 clientserver 握手 ClientHello 握手 ServerHelloCertificate ServerHelloDone ClientKeyExchange ChangeCipherSpec Finished ChangeCipherSpec Finished ShanDongUniversityComputerSchoolCopyrightDannyHou 17 SSL记录协议 实际的数据传输是使用SSL记录协议实现的数据流分割成一系列片段并加以传输 每个片断单独保护和传输为实现完整性保护 对片段进行MAC保护为实现机密性保护 对片段进行加密保护传输的是安全记录 ShanDongUniversityComputerSchoolCopyrightDannyHou 18 记录头 Head ContentType 8位 上层协议类型Majorversion Minnorversion 16位 主次版本CompressedLength 16位 加密后数据的长度 不超过214 2048字节 SSL几乎不用压缩 虽然支持 EncryptedDatafragment 密文数据 ShanDongUniversityComputerSchoolCopyrightDannyHou 19 记录负荷 Payload 支持4种协议消息 application data alert handshake change cipher spec Alert协议消息 报警等级 warning fatal 具体报警编码2字节change cipher spec协议消息 1字节 将挂起状态变成当前状态 指示在此之后的所有消息都将使用刚刚商定的密码进行加密 handshake协议消息 类型 1字节 长度 3字节 消息 类型共10种 ShanDongUniversityComputerSchoolCopyrightDannyHou 20 完整SSL会话握手协议 交换Hello消息 对于算法 交换随机值等协商一致交换必要的密码参数 以便双方得到统一的premastersecret交换证书和相应的密码信息 以便进行身份认证产生mastersecret把安全参数提供给SSL记录层检验双方是否已经获得同样的安全参数 ShanDongUniversityComputerSchoolCopyrightDannyHou 21 ShanDongUniversityComputerSchoolCopyrightDannyHou 22 第一阶段 建立起安全协商 客户发送一个client hello消息 包括以下参数 版本 随机数 32位时间戳 28字节随机序列 会话ID 客户支持的密码算法列表 CipherSuite 客户支持的压缩方法列表 然后 客户等待服务器的server hello消息服务器发送server hello消息 参数 客户建议的低版本以及服务器支持的最高版本 服务器产生的随机数 会话ID 服务器从客户建议的密码算法和压缩方法中确定一套本次连接使用的确定方法 ShanDongUniversityComputerSchoolCopyrightDannyHou 23 CipherSuite 指定了密钥交换的方法 SSL支持以下一些方法 RSA 要求服务器提供一个RSA证书DH Diffie Hellman 要求服务器的证书中包含了由CA签名的DH公开参数 客户或者在证书中提供DH公开参数 或者在密钥交换消息中提供此参数EDH EphemeralDiffie Hellman 产生临时的密钥 DH公开参数由发送者的私钥进行签名 接收者用对应的公钥进行验证匿名的DH 不加鉴别 会受到中间人攻击然后 指定以下信息加密算法和类型 流还是分组密码算法 HMAC MD5还是SHA 1是否可出口HashSizeKeyMaterialIVSize ShanDongUniversityComputerSchoolCopyrightDannyHou 24 第二阶段 服务器鉴别和密钥交换 服务器发送certificate消息 消息包含一个X 509证书 或者一条证书链除了匿名DH之外的密钥交换方法都需要服务器发送server key exchange消息可选的 有些情况下可以不需要 只有当certificate消息没有包含必需的数据的时候才发送此消息消息包含签名 被签名的内容包括两个随机数以及服务器参数服务器发送certificate request消息 可选 非匿名server可以向客户请求一个证书包含证书类型和CAs服务器发送server hello done 然后等待应答 ShanDongUniversityComputerSchoolCopyrightDannyHou 25 第三阶段 客户鉴别和密钥交换 客户收到server done消息后 它根据需要检查服务器提供的证书 并判断server hello的参数是否可以接受 如果都没有问题的话 发送一个或多个消息给服务器 如果服务器请求证书的话 则客户首先发送一个certificate消息 若客户没有证书 则发送一个no certificate警告 然后客户发送client key exchange消息 消息的内容取决于密钥交换的类型 如果是RSA 则含加密的PreMasterSecret 最后 客户发送一个certificate verify消息 可选 其中包含一个签名 对从第一条消息以来的所有握手消息的HMAC值 用master secret 进行签名 ShanDongUniversityComputerSchoolCopyrightDannyHou 26 第四阶段 结束 第四阶段建立起一个安全的连接客户发送一个change cipher spec消息 并且把协商得到的CipherSuite拷贝到当前连接的状态之中然后 客户用本次连接协商的算法 密钥参数发送一个finished消息 这条消息可以检查密钥交换和鉴别过程是否已经成功 其中包括一个校验值 对所有以来的消息进行校验 服务器同样发送change cipher spec消息和finished消息 握手过程完成 客户和服务器可以交换应用层数据 ShanDongUniversityComputerSchoolCopyrightDannyHou 27 密钥交换算法 SSL记录协议需要 CipherSuite mastersecret theclient serverrandomvalues在hello消息中 交换随机数以及各种算法两类密钥交换算法 RSA 客户产生一个48字节的pre master secret 然后通过服务器的公钥传递给服务器Diffie Hellman 双方协商得到的密钥被用作pre master secret对于各种密钥交换算法 从pre master secret计算得到Master secret 然后从内存中删除Master secret总是48字节长 而pre master secret长度不定 取决于密钥交换算法 ShanDongUniversityComputerSchoolCopyrightDannyHou 28 密钥导出 ShanDongUniversityComputerSchoolCopyrightDannyHou 29 Master secret的产生 SSL3 0Master secret MD5 pre master secret SHA 1 A pre master secret ClientHello random ServerHello random MD5 pre master secret SHA 1 BB pre master secret ClientHello random ServerHello random MD5 pre master secret SHA 1 CCC pre master secret ClientHello random ServerHello random TLS1 0master secret PRF pre master secret mastersecret ClientHello random ServerHello random 0 47 PRF secret label seed 为伪随机函数 ShanDongUniversityComputerSchoolCopyrightDannyHou 30 伪随机函数PRF secret label seed P hash secret seed HMAC hash secret A 1 seed HMAC hash secret A 2 seed HMAC hash secret A 3 seed 这里A 定义如下 A 0 seedA i HMAC hash secret A i 1 伪随机函数PRF secret label seed P MD5 S1 label seed XORP SHA 1 S2 label seed 这里 S1和S2为secret的各一半 如果secret为奇数个字节 则S1和S2共享一个字节 ShanDongUniversityComputerSchoolCopyrightDannyHou 31 最终需要的密钥导出 ShanDongUniversityComputerSchoolCopyrightDannyHou 32 密钥导出公式 Key block MD5 master secret SHA 1 A master secret server random client random MD5 master secret SHA 1 BB master secret server random client random MD5 master secret SHA 1 CCC master secret server random client random MD5 master secret SHA 1 DDDD master secret server random client random ShanDongUniversityComputerSchoolCopyrightDannyHou 33 MAC计算 使用共享的密钥MAC write secrethash MAC write seret pad 2 hash MAC write secret pad 1 seq num SSLCompressed type SSLCompressed length SSLCompressed fragment 其中 MAC write secret 共享的保密密钥hash 密码散列函数 MD5或SHA 1 pad 1 0 x36重复48次 MD5 或40次 SHA 1 pad 2 0 x5C重复48次 MD5 或40次 SHA 1 seq num 该消息的序列号SSLCompressed type 更高层协议用于处理本分段SSLCompressed length 压缩分段的长度SSLCompressed fragment 压缩的分段 无压缩时为明文段 注 非常类似HMAC ShanDongUniversityComputerSchoolCopyrightDannyHou 34 报警 Alert 协议 用来一方向另一方报告例外情况 两个级别 warning fatal如果是Fatal级别的报警 则应终止连接 报警种类 unexpected messagebad record macdecryption failedrecord overflowdecompression failurehandshake failureno certificatebad certificateunsupported certificatecertificate revokedcertificate expiredcertificate unknownillegal parameterunknown caaccess denieddecode errordecrypt errorexport restrictionprotocol versioninsufficient securityinternal erroruser cancelledno renegotiation ShanDongUniversityComputerSchoolCopyrightDannyHou 35 会话恢复 整个握手协议开销巨大 如果集成会话恢复机制 则可以在客户和服务器通信过一次的情况下 可以跳过握手阶段而直接进行数据传输 通过使用上一次握手中确立的pre master secret 则可以避免许多计算开销 恢复允许根据共同的master secret 来产生新的密钥 通过客户使用ClientHello中的Session id 申请会话恢复 服务器通过使用ServerHello中相同的Session id 来同意会话恢复 接下来就会跳过其余步骤而使用保存的master secret来产生新的所有的加密密钥 由于新的随机数不同 而使得新产生的加密密钥与以前不同 ShanDongUniversityComputerSchoolCopyrightDannyHou 36 客户端认证 实现服务器对客户端的认证服务器通过向客户端发送CertificateRequest消息 客户端通过Certificate和CertificateVerify消息予以应答CertificateVerify消息是一个使用与其传输的证书关联的私钥签名的消息 ShanDongUniversityComputerSchoolCopyrightDannyHou 37 临时RSA 因受出口限制 为配合客户端 服务器会产生一个临时的低强度密钥 并用高强度密钥签名 客户端将验证临时密钥上的服务器签名 并使用它来打包pre master Secret 服务器向客户端发送消息ServerKeyExchange ShanDongUniversityComputerSchoolCopyrightDannyHou 38 再握手 是在当前受保护的连接上进行的一次新的SSL握手 因而传输过程中的握手消息是经过加密的一旦新的握手完成 将使用新的会话状态来保护数据客户端可以简单的通过发送一条ClientHello消息来初始化一次新的握手服务器端可以通过HelloRequest消息来初始化一次新的握手 ShanDongUniversityComputerSchoolCopyrightDannyHou 39 SSL的安全性 保护master secret保护服务器的私钥使用良好的随机数证书链检查算法选择 强度 ShanDongUniversityComputerSchoolCopyrightDannyHou 40 SSL实现 OpenSSL 最新0 9 8 实现了SSLv2 SSLv3 TLSv1 0Openssl acommandlinetool ssl 3 theOpenSSLSSL TLSlibrary crypto 3 theOpenSSLCryptolibrary URL http www openssl orgSSLeayhttp www2 psy uq edu au ftp Crypto Internet号码分配当局已经为具备SSL功能的应用分配了固定的端口号例如带SSL的HTTP https 被分配以端口号443带SSL的SMTP ssmtp 被分配以端口号465带SSL的NNTP snntp 被分配以端口号563 第二部分IPSEC协议 IPSecurity ShanDongUniversityComputerSchoolCopyrightDannyHou 42 网络体系架构 ISO OSI参考模型TCP IP参考模型 ShanDongUniversityComputerSchoolCopyrightDannyHou 43 安全服务与层的关系 物理数据链路网络传输会话表示应用 ShanDongUniversityComputerSchoolCopyrightDannyHou 44 OSI到TCP IP的映射 ShanDongUniversityComputerSchoolCopyrightDannyHou 45 TCP IP协议栈 ShanDongUniversityComputerSchoolCopyrightDannyHou 46 Internet安全性途径 网络接口层 链路层 链路加密网络层 IPSec传输层 SSL TLSWTLS应用层 S MIME PGP PEM SET Kerberos SHTTP SSH ShanDongUniversityComputerSchoolCopyrightDannyHou 47 网络层安全 ShanDongUniversityComputerSchoolCopyrightDannyHou 48 传输层安全 ShanDongUniversityComputerSchoolCopyrightDannyHou 49 应用层安全 ShanDongUniversityComputerSchoolCopyrightDannyHou 50 IP协议 IP是TCP IP协议族中至关重要的组成部分 但它提供的是一种不可靠 无连接的的数据报传输服务 不可靠 unreliable 不能保证一个IP数据报成功地到达其目的地 错误处理办法 扔掉该数据报 向其发送着传送一个ICMP消息 无连接 connectionless IP并不维护关于连续发送的数据报的任何状态信息 每个数据报单独处理 在传送过程中可能出现错序 ShanDongUniversityComputerSchoolCopyrightDannyHou 51 用户数据经过协议栈的封装过程 ShanDongUniversityComputerSchoolCopyrightDannyHou 52 IPv4头 ShanDongUniversityComputerSchoolCopyrightDannyHou 53 IP首部说明 1 版本号目前取值4 IPV4 首部长度4个字节 字 为单位 取值范围5 15服务类型指定传输的优先级 传输速度 可靠性和吞吐量等报文总长度最大长度为65535字节报文标识唯一标识一个数据报 如果数据报分段 则每个分段的标识都一样标志最高位未使用 定义为0 其余两位为DF 不分段 和MF 更多分段 段偏移量以8个字节为单位 指出该分段的第一个数据字在原始数据报中的偏移位置 ShanDongUniversityComputerSchoolCopyrightDannyHou 54 IP首部说明 2 生存时间取值0 255秒 每经过一个路由节点减1 为0时被丢弃协议数据报的协议类型 1 ICMP 4 IP 6 TCP 17 UDP 首部校验和每通过一次网关都要重新计算该值 用于保证IP首部的完整性源 目的IP地址标明该数据报的源地址和目标地址选项长度可变 提供某些控制功能 IP首部的长度必须是4个字节的整数倍 否则必须填充 ShanDongUniversityComputerSchoolCopyrightDannyHou 55 IPv6分组 ShanDongUniversityComputerSchoolCopyrightDannyHou 56 IPv6基本头 ShanDongUniversityComputerSchoolCopyrightDannyHou 57 IPv4的缺陷 缺乏对通信双方身份真实性的鉴别能力缺乏对传输数据的完整性和机密性保护的机制由于IP地址可软件配置以及基于源IP地址的鉴别机制 IP层存在 业务流被监听和捕获 IP地址欺骗 信息泄露和数据项篡改等攻击 ShanDongUniversityComputerSchoolCopyrightDannyHou 58 IPSec 网络层安全性需求 身份鉴别 数据完整性和保密性好处 对于应用层透明弥补IPv4在协议设计时缺乏安全性考虑的不足 ShanDongUniversityComputerSchoolCopyrightDannyHou 59 IPSec的历史 1994年IETF专门成立IP安全协议工作组 来制定和推动一套称为IPsec的IP安全协议标准 1995年8月公布了一系列关于IPSec的建议标准1996年 IETF公布下一代IP的标准IPv6 把鉴别和加密作为必要的特征 IPSec成为其必要的组成部分1999年底 IETF安全工作组完成了IPSec的扩展 在IPSec协议中加上ISAKMP InternetSecurityAssociationandKeyManagementProtocol 协议 密钥分配协议IKE Oakley ISAKMP IKE Oakley支持自动建立加密 鉴别信道 以及密钥的自动安全分发和更新 幸运的是 IPv4也可以实现这些安全特性 ShanDongUniversityComputerSchoolCopyrightDannyHou 60 IPSec的应用 IPSec为在LAN WAN和Internet上的通讯提供安全性分支办公机构通过Internet互连 SecureVPN 通过Internet的远程访问 与合作伙伴建立extranet与intranet的互连 增强电子商务安全性IPSec的主要特征是可以支持IP层所有流量的加密和 或鉴别 因此可以增强所有分布式应用的安全性 ShanDongUniversityComputerSchoolCopyrightDannyHou 61 一个IP安全方案 ShanDongUniversityComputerSchoolCopyrightDannyHou 62 IPSec的应用方式 端到端 end end 主机到主机的安全通信端到路由 end router 主机到路由设备之间的安全通信路由到路由 router router 路由设备之间的安全通信 常用于在两个网络之间建立虚拟私有网 VPN ShanDongUniversityComputerSchoolCopyrightDannyHou 63 IPSec的好处 对应用和最终用户透明在防火墙或路由器中实现时 可以防止IP旁路 可以对所有跨越周界的流量实施强安全性 而公司内部或工作组不必招致与安全相关处理的负担 需要时IPSec可以提供个人安全性 弥补IPv4在协议设计时缺乏安全性考虑的不足 ShanDongUniversityComputerSchoolCopyrightDannyHou 64 IPSec提议标准 1998 11 RFC2401 1825 SecurityArchitecturefortheInternetProtocolRFC2402 1826 IPAuthenticationHeaderRFC2406 1827 IPEncapsulatingSecurityPayload ESP RFC2407 TheInternetIPSecurityDomainofInterpretationforISAKMPRFC2408 InternetSecurityAssociationandKeyManagementProtocol ISAKMP RFC2409 TheInternetKeyExchange IKE RFC2411 IPSecurityDocumentRoadmap ShanDongUniversityComputerSchoolCopyrightDannyHou 65 与IPSec相关的标准 ShanDongUniversityComputerSchoolCopyrightDannyHou 66 IPSec的内容 协议部分分为 AH AuthenticationHeaderESP EncapsulatingSecurityPayload密钥管理 KeyManagement SA SecurityAssociation ISAKMP定义了密钥管理框架IKE是目前正式确定用于IPSec的密钥交换协议 ShanDongUniversityComputerSchoolCopyrightDannyHou 67 IPSec安全体系结构 ShanDongUniversityComputerSchoolCopyrightDannyHou 68 IPSEC对IP的改造 IPSec在IPv6中是强制的 在IPv4中是可选的 这两种情况下都是采用在主IP报头后面接续扩展报头的方法实现的 AH AuthenticationHeader 是鉴别的扩展报头ESPheader EncapsulatingSecurityPayload 是实现加密和鉴别 可选 的扩展报头 ShanDongUniversityComputerSchoolCopyrightDannyHou 69 IPSec安全体系结构组成 1 体系结构 包括总体概念 安全需求 定义 以及定义IPSec技术的机制 ESP 使用ESP进行分组加密和可选的鉴别的分组格式和一般性问题AH 使用AH进行分组鉴别的格式和一般性问题 加密算法 描述将各种不同加密算法用于ESP的文档认证算法 描述将各种不同鉴别算法用于AH以及ESP鉴别选项的文档 密钥管理 描述密钥管理模式 DOI 包括一些参数 批准的加密和鉴别算法标识 以及运行参数等 ShanDongUniversityComputerSchoolCopyrightDannyHou 70 IPSec安全体系结构组成 2 策略 决定两个实体之间能否通信 以及如何进行通信 策略的核心由三部分组成 SA SAD SPD SA 安全关联 表示了策略实施的具体细节 包括源 目的地址 应用协议 Spi 安全策略索引 所用算法 密钥 长度 SAD为进入和外出包处理维持一个活动的SA列表 SPD决定了整个VPN的安全需求 策略部分是唯一尚未成为标准的组件 ShanDongUniversityComputerSchoolCopyrightDannyHou 71 IPSec提供的服务 IPSec在IP层提供安全服务 使得系统可以选择所需要的安全协议 确定该服务所用的算法 并提供安全服务所需任何加密密钥 ShanDongUniversityComputerSchoolCopyrightDannyHou 72 安全关联SA SA SecurityAssociation 是IP鉴别和保密机制中最关键的概念 一个安全关联就是发送与接收者之间的一个单向关系 是与给定的一个网络连接或一组网络连接相关联的安全信息参数集合 如果需要一个对等关系 即双向安全交换 则需要两个SA 每个SA通过三个参数来标识安全参数索引SPI SecurityParametersIndex 对方IP地址安全协议标识 AHorESPSA与IPSec系统中实现的两个数据库有关安全策略数据库 SPD 安全关联数据库 SAD ShanDongUniversityComputerSchoolCopyrightDannyHou 73 安全联合数据库SAD 安全联合数据库SAD定义了SA参数 序号计数器 32位值 用于生成AH或ESP头中的序号字段 计数器溢出位 标志位表明该序数计数器是否溢出 如果是 将生成一个审计事件 并禁止本SA的的分组继续传送 反重放窗口 确定一个入站的AH或ESP包是否是重放AH信息 鉴别算法 密钥 密钥生存期以及相关参数ESP信息 加密和鉴别算法 密钥 初始值 密钥生存期 以及相关参数SA的生存期 时间间隔或字节计数 到时间后 一个SA必须用一个新的SA替换或终止 并指示哪个操作发生的指示 IPSec协议模式 隧道 传输 通配符 路径MTU 不经分片可传送的分组最大长度和迟滞变量 ShanDongUniversityComputerSchoolCopyrightDannyHou 74 安全策略数据库SPD IPSec策略由安全策略数据库 SecurityPolicyDatabase SPD 加以维护 在每个条目中定义了要保护什么样的通信 怎样保护它以及和谁共享这种保护 SPD 对于通过的流量的策略三种选择 discard bypassIPSec applyIPSec例子 可在一个安全网关上制定IPSec策略 对在本地保护的子网与远程网关的子网间通信的所有数据 全部采用DES加密 并用HMAC MD5进行鉴别 对于需要加密的 发给另一个服务器的所有Web通信均用3DES加密 同时用HMAC SHA鉴别 ShanDongUniversityComputerSchoolCopyrightDannyHou 75 SA选择子 每一个SPD条目由一个IP集合和上层协议 称为SA选择子 selector 定义 这些选择子用于过滤输出流量 并将它们映射到某个特定SA 以下的选择子确定SPD条目 目的IP地址 可以是单地址或多地址源地址 单地址或多地址UserID 操作系统中的用户标识 数据敏感级别 传输层协议 IPSec协议 AH ESP AH ESP 源 目的端口IPV6报类IPV6报流标签IPV4服务类型 TOS ShanDongUniversityComputerSchoolCopyrightDannyHou 76 工作模式 Transport Tunnel AH和ESP协议均支持两种工作模式传输模式TransportMode隧道模式TunnelMode传输模式主要为上层协议提供保护 用于在两台主机之间进行的端到端通信 ESP加密和认证 可选 IP载荷 但不包含IP头AH认证IP载荷和IP报头的选中部分隧道模式对整个IP数据包提供保护 当IP包加AH或ESP域后 整个数据包加安全域被当作一个新的IP包的载荷 并拥有一个新的外部IP报头 原来或内部的整个包利用隧道在网间传输 当SA的一端或两端为安全网关时使用隧道模式 ESP加密和认证 可选 整个内部IP包AH认证整个内部IP包和外部IP报头中的选中部分 ShanDongUniversityComputerSchoolCopyrightDannyHou 77 模式和功能比较 ShanDongUniversityComputerSchoolCopyrightDannyHou 78 AH AuthenticationHeader 为IP包提供数据完整性和认证功能 防止地址欺骗和重放攻击利用MAC码实现鉴别 双方必须共享一个密钥鉴别算法由SA指定鉴别的范围 整个包两种鉴别模式 传输模式 不改变IP地址 插入一个AH隧道模式 生成一个新的IP头 把AH和原来的整个IP包放到新IP包的载荷数据中 ShanDongUniversityComputerSchoolCopyrightDannyHou 79 IPSecAuthenticationHeader NextHeader 下一个报头的类型PayloadLength AH的长度 32位字为单位 SPI 用来标识SASequenceNumber 用来避免重放攻击AuthenticationData 可变长度的域 包含针对这个包的ICV或者MAC ShanDongUniversityComputerSchoolCopyrightDannyHou 80 AH处理过程 1 AH定位在IP头之后 在上层协议数据之前鉴别算法计算ICV IntegrityCheckValue 或者MAC对于发出去的包 OutboundPacket 的处理 构造AH查找SA产生序列号计算ICV内容包括 IP头中部分域 AH自身 上层协议数据分片 ShanDongUniversityComputerSchoolCopyrightDannyHou 81 AH处理过程 2 对于接收到的包 InboundPacket 的处理分片装配查找SA依据 目标IP地址 AH协议 SPI检查序列号 可选 针对重放攻击 使用一个滑动窗口来检查序列号的重放ICV检查 ShanDongUniversityComputerSchoolCopyrightDannyHou 82 窗口与重放攻击检测 ShanDongUniversityComputerSchoolCopyrightDannyHou 83 ICV MAC计算 ICV计算应支持 HMAC MD5 96 HMACSHA 1 96 仅用96位 MAC计算根据IP报头中不变的部分和可以预测的部分 对可变部分或不可预测的部分填充0 便于计算AH头中不包含认证数据域 填充0整个上层协议数据源和目的地址都是受保护的 可防地址欺骗 ShanDongUniversityComputerSchoolCopyrightDannyHou 84 端到端的认证与端到中间节点的认证 ShanDongUniversityComputerSchoolCopyrightDannyHou 85 AH两种模式示意图IPv4 应用AH之前传输模式隧道模式 ShanDongUniversityComputerSchoolCopyrightDannyHou 86 AH两种模式示意图IPv6 ShanDongUniversityComputerSchoolCopyrightDannyHou 87 ESP EncapsulatingSecurityPayload 提供保密功能 包括报文内容的机密性和有限的通信量的机密性 也可以提供认证服务 可选 将需要保密的用户数据进行加密后再封装到一个新的IP包中 ESP只认证ESP头之后的信息加密算法和认证算法由SA指定两种模式 传输模式和隧道模式 ShanDongUniversityComputerSchoolCopyrightDannyHou 88 IPSecESP格式 ShanDongUniversityComputerSchoolCopyrightDannyHou 89 加密和认证算法 加密算法3DES RC5 IDEA 3IDEA CAST Blowfish认证算法ICV计算应支持 HMAC MD5 96 HMAC SHA 1 96 仅用96位 ShanDongUniversityComputerSchoolCopyrightDannyHou 90 传输方式的加密 ShanDongUniversityComputerSchoolCopyrightDannyHou 91 隧道方式的加密 ShanDongUniversityComputerSchoolCopyrightDannyHou 92 ESP的传输模式 ShanDongUniversityComputerSchoolCopyrightDannyHou 93 ESP隧道模式 ShanDongUniversityComputerSchoolCopyrightDannyHou 94 ESP处理过程 1 ESP头定位加密算法和认证算法由SA确定对于发出去的包 OutboundPacket 的处理查找SA加密封装必要的数据 放到payloaddata域中 不同的模式 封装数据的范围不同增加必要的padding数据加密操作产生序列号计算ICV 注意 针对加密后的数据进行计算分片 ShanDongUniversityComputerSchoolCopyrightDannyHou 95 ESP处理过程 2 对于接收到的包 InboundPacket 的处理分片装配查找SA依据 目标IP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 12443-2017 金属材料 扭矩控制疲劳试验方法》专题研究报告
- 银行综合柜员测试验证知识考核试卷含答案
- 种苗繁育员安全文化能力考核试卷含答案
- 重冶火法冶炼工岗前深度考核试卷含答案
- 超重型汽车列车挂车工安全应急能力考核试卷含答案
- 制冷空调设备装配工创新实践竞赛考核试卷含答案
- 《GB-T 39809-2021平板玻璃窑炉能耗测定方法》专题研究报告
- 公司射孔取心工岗位职业健康技术规程
- 公司木制玩具制作工岗位标准化技术规程
- 《GBT 35478-2017 紧固件 螺栓、螺钉和螺柱预涂聚酰胺锁紧层技术条件》专题研究报告
- 步兵引导打击课件
- 静疗专项测试题含答案
- 城市污水管网管道沉降监测方案
- 甲流院感知识培训课件
- 银行消防安全知识培训课件
- 车辆验收标准课件
- 《农村公路技术状况评定标准(JTG5211-2024)》
- 吸入剂使用课件
- 2025年河南省警务辅助人员招聘考试(公安基础知识)历年参考题库含答案详解(5卷)
- 《现代质量工程》课件-第五章 质量控制常用技术
- 3.2.《一元一次方程及其解法》去分母(教学课件)-沪教版(五四制)六年级数学上册
评论
0/150
提交评论