资源描述
Slide Title,Body Text,Second Level,Third Level,Fourth Level,Fifth Level,网络与信息安全安全,基础 (三),潘爱民,北京大学计算机研究所, Boundaries,Via,TSPs,Networks & Infrastructures,Telecommunications Service,Providers (TSPs),Public Telephone,Network,Private Networks,Classified Networks,Public Network,(,Internet),Connections to Other Enclaves,Classified Enclave,Private Enclave,Public Enclave,Remote,Users,Remote,Users,Via,TSPs,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 Servers, Encryption, etc.),Enclave Boundaries,Local,Computing,Environment,Remote,Users,Remote,Users,Remote,Users,PBX,IPSec,网络层安全性,需求:真实性(认证,)、,完整性和保密性,好处:对于应用层透明可以针对链路,也可以针对最终用户可以实现在防火墙或者路由器上,弥补,IPv4,在协议设计时缺乏安全性考虑的不足,IPSec,是,IETF,定义的一组安全,IP,协议集,它在,IP,包这一级为,IP,通讯业务提供保护,IPv4,中是一项可选支持的服务,在,IPv6,中是一项必须支持的服务,本课程只讨论,IPv4,的情形,IPSec的内容,协议部分,分为,AH: Authentication Header,ESP: Encapsulating Security Payload,密钥管理(,Key Management),SA(Security Association),ISAKMP,定义了密钥管理框架,IKE,是目前正式确定用于,IPSec,的密钥交换协议,SA(Security Association),基本概念,是发送者和接收者两个,IPSec,系统之间的一个简单的单向逻辑连接,是与给定的一个网络连接或一组网络连接相关联的安全信息参数集合,因为,SA,是单个方向的,所以,对于一个双向通信,则需要两个,SA,SA,与,IPSec,系统中实现的两个数据库有关,安全策略数据库(,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 algorithm, 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,和原来的整个,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 Check Value,),内容包括:,IP,头中部分域、,AH,自身、上层协议数据,分片,AH,处理过程(续),对于接收到的包(,In,bound Packet,)的处理,分片装配,查找,SA,依据:目标,IP,地址、,AH,协议、,SPI,检查序列号(可选,针对重放攻击),使用一个滑动窗口来检查序列号的重放,ICV,检查,ESP(Encapsulating Security Payload),提供保密功能,也可以提供认证服务,将需要保密的用户数据进行加密后再封装到一个新的IP包中,ESP只认证ESP头之后的信息,加密算法和认证算法由SA指定,也有两种模式:传输模式和隧道模式,ESP两种模式示意图,Orig IP Hdr,ESP,hdr,TCP,Data,ESP trlr,ESP auth,ESP,hdr,ESP auth,ESP trlr,Data,TCP,Orig IP,hdr,New IP Hdr,经认证的数据,经加密的数据,(2) 隧道模式,经认证的数据,经加密的数据,(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,域中不同的模式,封装数据的范围不同,增加必要的,padding,数据,加密操作,产生序列号,计算,ICV,,注意,针对加密后的数据进行计算,分片,ESP处理过程(续),对于接收到的包(,Inbound Packet,)的处理,分片装配,查找,SA,依据:目标,IP,地址、,ESP,协议、,SPI,检查序列号(可选,针对重放攻击),使用一个滑动窗口来检查序列号的重放,ICV,检查,解密,根据,SA,中指定的算法和密钥、参数,对于被加密部分的数据进行解密,去掉,padding,重构原始的,IP,包,AH和ESP的典型组合,这里,upper,指上层协议数据,IP1,指原来的,IP,头,IP2,指封装之后的,IP,头,Transport Tunnel,- -,1. IP1AHupper 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 Management Protocol,RFC 2408,是一个针对认证和密钥交换的框架,IKE: The Internet Key Exchange,基于,ISAKMP,框架,结合了,Oakley,和,SKEME,的部分密钥交换技术,ISAKMP,基本的需求,商定,SA,确定身份,密钥交换,与协议、算法、厂商都无关,框架结构,针对身份认证和密钥交换的协商过程,定义了基本的消息结构,定义了各种消息类型和,payload,结构,提供了几种缺省的密钥交换模型,ISAKMP消息结构,ISAKMP头部结构,ISAKMP,的,payload,结构,各种payload,Type,Parameters,Security Association(SA),DOI, Situation,Proposal(P),Proposal #, Protocol-ID, ,Transform(T),Transform #, SA Attributes,Key Exchange(KE),Key Exchange Data,Identification(ID),ID type, ID date,Certificate(CERT),Cert Encoding, Certificate data,Certificate Request(CR),#Cert types,Cert auths, ,Hash(HASH),Hash Data,Signature(SIG),Signature Data,Nonce(NONCE),Nonce Data,Notification(N),DOI, Protocol-ID, ,Delete(D),DOI, Protocol-ID, ,两阶段协商(,Two phases of negotiation),The first phase,建立起,ISAKMP SA,双方(例如,ISAKMP Servers),商定如何保护以后的通讯,此,SA,将用于保护后面的,protocol SA,的协商过程,The second phase,建立起针对其他安全协议的,SA(,比如,,IPSec SA),这个阶段可以建立多个,SA,此,SA,将被相应的安全协议用于保护数据或者消息的交换,两阶段协商的好处,对于简单的情形,两阶段协商带来了更多的通讯开销,但是,它有以下一些好处,第一阶段的开销可以分摊到多个第二阶段中所以,这允许多个,SA,建立在同样的,ISAKMP SA,基础上,第一阶段商定的安全服务可以为第二阶段提供安全特性,例如,第一阶段的,ISAKMP SA,提供的加密功能可以为第二阶段提供身份认证特性,从而使得第二阶段的交换更为简单,两阶段分开,提供管理上的便利,回顾:,Diffie-Hellman,密钥交换,允许两个用户可以安全地交换一个秘密信息,用于后续的通讯过程,算法的安全性依赖于计算离散对数的难度,算法:,双方选择素数,q,以及,q,的一个原根,r,A,选择,Xq,计算,XA=r,X,mod p,A,B: XA,B,选择,Y R: SAR - I: SAI - R: KE; NONCER - I: KE; NONCEI - R: ID,I,; AUTH,(,加密传输),R - I: ID,R,; AUTH,(,加密传输),前两条消息商定策略,接下来两条消息交换密钥资料,最后两条消息认证,Diffie-Hellman Exchange,用于,phase 1,IKE,中的密钥交换,Aggressive Mode,是,ISAKMP,的,Aggressive Exchange,的一个实例,I - R: SA; KE; NONCE; ID,I,R - I: SA; KE; NONCE; ID,R,; AUTHI - R: AUTH (,加密传输),前两条消息商定策略,交换,Diffie-Hellman,公开的值,以及必要的辅助资料,和个人标识,第二条消息也认证应答者,第三条消息认证发起者,用于,phase 1,IKE Phase 1中的认证方案,IKE Phase 1 Authenticated With Signatures,Phase 1 Authenticated With Public Key Encryption,Phase 1 Authenticated With a Pre-Shared Key,IKE,中的密钥交换,Quick Mode,在,ISAKMP,中没有对应的交换类型,I - R: SA; NONCE; ID,I, ID,R, KE; HASH(1),R - I: SA; NONCE; ID,I, ID,R, KE; HASH(2)I - R: HASH(3),以上消息都是加密传输,如果,PFS,不需要的话,则可以不传,KE,只用于第二阶段,IKE,中的密钥交换,New Group Mode,在,ISAKMP,中没有对应的交换类型,I - R: SA; HASH(1),R - I: SA; HASH(2),以上消息都是加密传输,用于第一阶段之后,IPSec,和,IKE,小结,IPSec,在网络层上提供安全服务,定义了两个协议,AH,和,ESP,IKE,提供了密钥交换功能,利用,ISAKMP,提供的框架、以及,Oakley,和,SKEME,的密钥交换协议的优点,通过,SA,把两部分连接起来,已经发展成为,Internet,标准,一些困难,IPSec,太复杂,协议复杂性,导致很难达到真正的安全性,管理和配置复杂,使得安全性下降,实现上的兼容性,攻击:,DOS,,网络层之下的协议、之上的协议的弱点,还在进一步完善,IPSec实现,一些网络设备厂商,比如,CISCO,等,各种操作系统,例如,Linux、,各种,UNIX,版本,IPv6,实现,一些,VPN,软件包,Windows 2000,和,XP,下的,IPSec,文章, 2000,和,XP,下的,IPSec,管理工具,IPSec Security Policies snap-in for the MMC (secpol.msc),IPSecmon,.exe,回顾:公钥技术,公钥技术,建立在非对称密码算法基础上,公钥和私钥对,服务:保密性和认证,回顾:,数字签名,两种数字签名方案,密钥对的用法,用于加密的密钥对,用公钥加密,用私钥解密,用私钥签名,用公钥验证,用于签名的密钥对,PKI之动机,公钥技术,如何提供数字签名功能,如何实现不可否认服务,公钥和身份如何建立联系,为什么要相信这是某个人的公钥,公钥如何管理,方案:引入证书(,certificate),通过证书把公钥和身份关联起来,密钥生命周期,密钥产生,证书签发,Bob,密钥使用,Bob,证书检验,密钥过期,密钥更新,PKI(Public Key Infrastructure),定义:,用公钥原理和技术实施和提供安全服务的具有普适性的安全基础设施,一个完整的,PKI,应该包括,认证机构(,CA),证书库,证书注销,密钥备份和恢复,自动密钥更新,密钥历史档案,交叉认证,支持不可否认,时间戳,客户端软件,PKI,提供的基本服务,认证,采用数字签名技术,签名作用于相应的数据之上,被认证的数据 数据源认证服务,用户发送的远程请求 身份认证服务,远程设备生成的,challenge,信息 身份认证,完整性,PKI,采用了两种技术,数字签名:既可以是实体认证,也可以是数据完整性,MAC(,消息认证码):如,DES-CBC-MAC,或者,HMAC-MD5,保密性,用公钥分发随机密钥,然后用随机密钥对数据加密,不可否认,发送方的不可否认 数字签名,接受方的不可否认 收条 + 数字签名,PKI,的应用考虑,在提供前面四项服务的同时,还必须考虑,性能,尽量少用公钥加解密操作,在实用中,往往结合对称密码技术,避免对大量数据作加解密操作,除非需要数据来源认证才使用签名技术,否则就使用,MAC,或者,HMAC,实现数据完整性检验,在线和离线模型,签名的验证可以在离线情况下完成,用公钥实现保密性也可以在离线情况下完成,离线模式的问题:无法获得最新的证书注销信息,证书中所支持算法的通用性,在提供实际的服务之前,必须协商到一致的算法,个体命名,如何命名一个安全个体,取决于,CA,的命名登记管理工作,PKI基本组件,RA(Registration Authority),把用户的身份和它的密钥绑定起来建立信任关系,CA(Certificate Authority),发证,证书库/目录,保存证书,供公开访问,证书的注销机制,由于各种原因,证书需要被注销,比如,私钥泄漏、密钥更换、用户变化,PKI,中注销的方法,CA,维护一个,CRL(Certificate Revocation List),基于,Web,的,CRL,服务,检查,CRL,的,URL,应该内嵌在用户的证书中,可以提供安全途径(,SSL),访问,URL,返回注销状态信息,其他的用法由浏览器决定,PKI中的证书,证书(certificate),有时候简称为cert,PKI适用于异构环境中,所以证书的格式在所使用的范围内必须统一,证书是一个机构颁发给一个安全个体的证明,所以证书的权威性取决于该机构的权威性,一个证书中,最重要的信息是个体名字、个体的公钥、机构的签名、算法和用途,签名证书和加密证书分开,最常用的证书格式为X.509 v3,X.509证书格式,版本1、2、3,序列号,在,CA,内部唯一,签名算法标识符,指该证书中的签名算法,签发人名字,CA,的名字,有效时间,起始和终止时间,个体名字,X.509证书格式(续),个体的公钥信息,算法,参数,密钥,签发人唯一标识符,个体唯一标识符,扩展域,签名,X.509证书示意图,CA(Certificate Authority),职责,接受用户的请求,(由,RA,负责对用户的身份信息进行验证),用自己的私钥签发证书,提供证书查询,接受证书注销请求,提供证书注销表,各个组件和功能示意图,健壮的数据库系统,无缝的目录接口,CA,硬件,管理和运 行平台,安全的审计,密钥,PKI,密钥备份和恢复,进一步授权(# 可定制),授权恢复密钥,RA,最终用户,PKI,加密密钥的历史,新的签名密钥对和证书,Password?,Help!,CA密钥更新,保证透明性,用于验证的,CA,公钥,用于签名的,CA,私钥,CA,最终用户,Sep1998,Oct1998,Nov1998,Dec1998,Jan1999,Feb1999,Mar1999,Apr1999,May1999,Jun1999,Jul1999,Aug1999,CA,密钥历史保证对于最终用户和其他的,PKI,是透明的,新的,CA,签名密钥对,CA信任关系,当一个安全个体看到另一个安全个体出示的证书时,他是否信任此证书?,信任难以度量,总是与风险联系在一起,可信,CA,如果一个个体假设,CA,能够建立并维持一个准确的“个体-公钥属性”之间的绑定,则他可以信任该,CA,,该,CA,为,可信,CA,信任模型,基于层次结构的信任模型,交叉认证,以用户为中心的信任模型,CA层次结构,对于一个运行,CA,的大型权威机构而言,签发证书的工作不能仅仅由一个,CA,来完成,它可以建立一个,CA,层次结构,根,CA,中间,CA,CA层次结构的建立,根,CA,具有一个自签名的证书,根,CA,依次对它下面的,CA,进行签名,层次结构中叶子节点上的,CA,用于对安全个体进行签名,对于个体而言,它需要信任根,CA,,中间的,CA,可以不必关心(透明的);同时它的证书是由底层的,CA,签发的,在,CA,的机构中,要维护这棵树,在每个节点,CA,上,需要保存两种,cert(1) Forward Certificates:,其他,CA,发给它的,certs(2) Reverse Certificates:,它发给其他,CA,的,certs,层次结构,CA,中证书的验证,假设个体,A,看到,B,的一个证书,B,的证书中含有签发该证书的,CA,的信息,沿着层次树往上找,可以构成一条证书链,直到根证书,验证过程:,沿相反的方向,从根证书开始,依次往下验证每一个证书中的签名。其中,根证书是自签名的,用它自己的公钥进行验证,一直到验证,B,的证书中的签名,如果所有的签名验证都通过,则,A,可以确定所有的证书都是正确的,如果他信任根,CA,,则他可以相信,B,的证书和公钥,问题:证书链如何获得?,证书链的验证示例,交叉认证,两个不同的,CA,层次结构之间可以建立信任关系,单向交叉认证,一个,CA,可以承认另一个,CA,在一定名字空间范围内的所有被授权签发的证书,双向交叉认证,交叉认证可以分为,域内交叉认证(同一个层次结构内部),域间交叉认证(不同的层次结构之间),交叉认证的约束,名字约束,路径长度约束,策略约束,以用户为中心的信任模型,对于每一个用户而言,应该建立各种信任关系,这种信任关系可以被扩展,例子:用户的浏览器配置,以用户为中心的信任模型示例:,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 Syntax 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 #13,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中的安全模块示意图,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,公司,,
展开阅读全文