09密码学与网络安全第九讲.docx
- 文档编号:30671687
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:34
- 大小:1.95MB
09密码学与网络安全第九讲.docx
《09密码学与网络安全第九讲.docx》由会员分享,可在线阅读,更多相关《09密码学与网络安全第九讲.docx(34页珍藏版)》请在冰豆网上搜索。
09密码学与网络安全第九讲
密码学与网络安全
第九讲
IPSec和Web的安全
●讨论议题
•IP的安全性IPSec
•安全套接层/传输层安全SSL/TLS检查
●Internet安全性途径
•依赖于应用(程序)对安全保密的需求,以及用户自己的需要。
•必须的安全服务:
密钥管理、机密性、抗抵赖、完整性/身份验证、授权。
●应用层安全
应用层安全必须在终端主机上实施;
•优点:
1)以用户为背景执行,更容易访问用户凭据;
2)对用户想保护的数据具有完整的访问权;
3)应用可以自由扩展;
4)应用程序对数据有着充分的理解。
•缺点:
针对每个应用须设计一套安全机制。
●传输层安全
•优点:
不会强制要求每个应用都在安全方面作出相应改进;
•缺点:
1)由于要取得用户背景,通常假定只有一名用户使用系统,与应用级安全类似,只能在端系统实现;
2)应用程序仍需要修改,才能要求传输层提供安全服务。
●网络层安全
•优点:
1)密钥协商的开销被大大削减了;
2)需要改动的应用程序要少得多;
3)能很容易构建VPN。
•缺点:
很难解决“抗抵赖”之类的问题。
●数据链路层
•最大的好处在于速度
•不易扩展
•在ATM上得到广泛应用
网络层的安全
传输层的安全
应用层的安全
●IP协议
•IP是TCP/IP协议族中至关重要的组成部分,但它提供的是一种不可靠、无连接的数据报传输服务。
•不可靠(unreliable):
不能保证一个IP数据报成功地到达其目的地。
错误处理办法:
扔掉该数据报,向其发送着传送一个ICMP消息。
•无连接(connectionless):
IP并不维护关于连续发送的数据报的任何状态信息。
每个数据报单独处理,在传送过程中可能出现错序。
●IP首部说明
(1)
•版本号,目前取值4
•首部长度,4个字节为单位,取值范围5~15
•服务类型,指定传输的优先级、传输速度、可靠性和吞吐量等;
•报文总长度,最大长度为65535字节;
•报文标识,唯一标识一个数据报,如果数据报分段,则每个分段的标识都一样;
•标志,最高位未使用,定义为0,其余两位为DF(不分段)和MF(更多分段);
•段偏移量,以8个字节为单位,指出该分段的第一个数据字在原始数据报中的偏移位置;
•生存时间,取值0~255,以秒为单位,每经过一个路由节点减1,为0时被丢弃;
•协议,指明该数据报的协议类型,1为ICMP,4为IP,6为TCP,17为UDP等;
•首部校验和,每通过一次网关都要重新计算该值,用于保证IP首部的完整性;
•选项,长度可变,提供某些场合下需要的控制功能,IP首部的长度必须是4个字节的整数倍,如果选项长度不是4的整数倍,必须填充数据。
●IPv4的缺陷
•缺乏对通信双方身份真实性的鉴别能力;
•缺乏对传输数据的完整性和机密性保护的机制;
IP层存在业务流被监听和捕获、IP地址欺骗、信息泄露和数据项篡改等攻击;
●IPSec-网络层安全性
1)需求:
身份鉴别、数据完整性和保密性;
2)好处:
对于应用层透明;
3)弥补IPv4在协议设计时缺乏安全性考虑的不足。
●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也可以实现这些安全特性。
●IPSec的应用
•IPSec为在LAN、WAN和Internet上的通讯提供安全性:
1)分支办公机构通过Internet互连。
(SecureVPN);
2)通过Internet的远程访问;
3)与合作伙伴建立extranet与intranet的互连;
4)增强电子商务安全性
•IPSec的主要特征是可以支持IP层所有流量的加密和/或鉴别。
因此可以增强所有分布式应用的安全性。
●IPSec的应用方式
•端到端(end-end):
主机到主机的安全通信;
•端到路由(end-router):
主机到路由设备之间的安全通信;
•路由到路由(router-router);路由设备之间的安全通信,常用于在两个网络之间建立虚拟私有网(VPN)。
●IPSec的好处
1)对应用和最终用户透明。
2)在防火墙或路由器中实现时可以防止IP旁路,即对所有从外界进来的所有通信量必须使用IP,并且防火墙是从Internet进入组织内部的唯一入口。
3)可以对所有跨越周界的流量实施强安全性。
4)而公司内部或工作组不必招致与安全相关处理的负担。
5)需要时IPSec可以提供个人安全性。
6)弥补IPv4在协议设计时缺乏安全性考虑的不足
●IPSec的内容
1)协议部分,分为验证头AH:
AuthenticationHeader和安全载荷封装ESP:
EncapsulatingSecurityPayload
2)密钥管理(KeyManagement):
SA(SecurityAssociation)、ISAKMP(Internet安全关联和密钥管理协议)。
●说明
•IPSec在IPv6中是强制的,在IPv4中是可选的,这两种情况下都是采用在主IP报头后面接续扩展报头的方法实现的。
•AH(AuthenticationHeader)是鉴别的扩展报头ESPheader(EncapsulatingSecurityPayload)封装安全有效载荷是实现加密和鉴别(可选)的扩展报头。
●IPSec安全体系结构组成:
•体系结构:
包括总体概念、安全需求、定义、以及定义IPSec技术的机制;
•ESP:
是插入IP数据包内的一个协议头,具有为IP数据包提供机密性、数据完整性、数据源鉴别和重放攻击等。
•AH:
是插入IP数据包内的一个协议头,具有为IP数据包提供机密性、数据完整性、数据源鉴别和重放攻击等。
•加密算法:
描述将各种不同加密算法用于ESP的文档
•鉴别算法:
描述将各种不同鉴别算法用于AH以及ESP鉴别选项的文档;
•密钥管理:
描述密钥管理模式;
•DOI(解释域)包括一些参数,批准的加密和鉴别算法标识,以及运行参数等
●IPSec提供的服务
IPSec在IP层提供安全服务,使得系统可以选择所需要的安全协议,确定该服务所用的算法,并提供安全服务所需任何加密密钥。
●安全关联SA(SecurityAssociation)
•SA是IP鉴别和保密机制中最关键的概念。
•一个关联就是发送与接收者之间的一个单向关系,是与给定的一个网络连接或一组网络连接相关联的安全信息参数集合;
•如果需要一个对等关系,即双向安全交换,则需要两个SA。
•每个SA通过三个参数来标识
1)安全参数索引SPI(SecurityParametersIndex);
2)对方IP地址;
3)安全协议标识:
该参数表明是AH安全关联orESP安全关联;
•SA与IPSec系统中实现的两个数据库有关:
1)安全策略数据库(SPD)
2)安全关联数据库(SAD)
●SAD定义了SA参数
1)序号计数器:
一个32位值,用于生成AH或ESP头中的序号字段;
2)计数器溢出位:
一个标志位表明该序数计数器是否溢出,如果是,将生成一个审计事件,并禁止本SA的的分组继续传送;
3)反重放窗口:
用于确定一个入站的AH或ESP包是否是重放;
4)AH信息:
鉴别算法、密钥、密钥生存期以及相关参数;
5)ESP信息:
加密和鉴别算法、密钥、初始值、密钥生存期、以及相关参数;
6)SA的生存期:
一个时间间隔或字节计数,到时间后,一个SA必须用一个新的SA替换或终止,并指示哪个操作发生的指示;
7)IPSec协议模式:
隧道、运输、通配符;
8)路径MTU:
不经分片可传送的分组最大长度和老化变量。
●安全策略数据库SPD
1)IPSec策略由“安全策略数据库(SecurityPolicyDatabase,SPD)”加以维护.,在每个条目中定义了要保护什么样的通信、怎样保护它以及和谁共享这种保护;
2)SPD:
对于通过的流量的策略。
有三种选择:
discard,bypassIPSec,applyIPSec
例子:
可在一个安全网关上制定IPSec策略,对在本地保护的子网与远程网关的子网间通信的所有数据,全部采用DES加密,并用HMAC-MD5进行鉴别;对于需要加密的、发给另一个服务器的所有Web通信均用3DES加密,同时用HMAC-SHA鉴别。
•以下的选择器确定SPD条目:
1)目的IP地址:
可以是单地址或多地址;
2)源地址:
单地址或多地址;
3)UserID:
操作系统中的用户标识;
4)数据敏感级别:
用于为系统提供信息流的安全性;
5)传输层协议;可以从Ipv4协议域或者从Ipv6的下一个首部域中得到;
6)IPSec协议(AH,ESP,AH/ESP);
7)源/目的端口;
8)服务类型(TOS)。
●AH(AuthenticationHeader)
•为IP包提供数据完整性和鉴别功能;
•利用MAC码实现鉴别,双方必须共享一个密钥;
•鉴别算法由SA指定,鉴别的范围:
整个包。
•两种鉴别模式:
1)传输模式:
不改变IP地址,插入一个AH;
2)隧道模式:
生成一个新的IP头,把AH和原来的整个IP包放到新IP包的净荷数据中。
•NextHeader:
下一个报头的类型(例如:
TCP、UDP或者ESP)
•PayloadLength:
AH的长度(32位字为单位)
•SPI:
是一个固定长度的任意值,用来标识SA
•SequenceNumber:
用来避免重放攻击
•AuthenticationData:
可变长度的域,包含完整校验值ICV,即针对这个包的完整性检查值或者MAC
●AH处理过程
1)AH定位:
在IP头之后,在上层协议数据之前;
2)鉴别算法:
计算ICV或者MAC;
3)对于发出去的包(OutboundPacket)的处理,构造AH:
–查找SA
–产生序列号
–计算ICV(IntegrityCheckValue)
4)内容包括:
IP头中部分域、AH自身、上层协议数据
–分片
5)对于接收到的包(InboundPacket)的处理:
–分片装配
–查找SA
6)依据:
目标IP地址、AH协议、SPI
–检查序列号(可选,针对重放攻击)
7)使用一个滑动窗口来检查序列号的重放
–ICV检查
为了抵抗重诉攻击,IPSec数据包专门使用了一个序列号,以用一个滑动的接收窗口,一般窗口大小大于32位,窗口左端对应窗口的起始序号,右边界代表已经收到合法分组的最高序号。
当收到一个分组时,做如下工作:
(1)分组在窗口内并且是新的,就进行MAC检查;如果分组被鉴别对窗口相应的插槽标记;
(2)分组在窗口右边并且是新的,就进行MAC检查。
;如果分组被鉴别,窗口向前走,对窗口相应的插槽标记;
(3)分组在窗口左边或鉴别失败,丢弃。
–ICV/MAC计算
9)ICV计算应支持:
HMAC-MD5-96、HMACSHA-1-96,仅用96位。
10)MAC计算所有变化的字段填0后参与运算;
11)源和目的地址都是受保护的,可防地址欺骗。
●ESP(EncapsulatingSecurityPayload)功能
1)提供保密功能:
包括报文内容的机密性和有限的通信量的机密性,也可以提供鉴别服务(可选);
2)将需要保密的用户数据进行加密后再封装到一个新的IP包中,ESP只鉴别ESP头之后的信息;
3)加密算法和鉴别算法由SA指定;
4)也有两种模式:
传输模式和隧道模式。
●ESP格式
●
1)SPI:
用于唯一的一个标识所使用的SA,指定加密算法和密钥信息,是经过认证但未被加密的;
2)SN:
经过认证但未被加密,是为了在解密之前就可以判断该数据包是否是重放数据包;
3)载荷数据:
包含数据包所携带的实际加密内容;
4)填充:
填充到4字节的整数倍
5)填充长度:
表明填充了多少加密的载荷,接收方利用它恢复ESP数据;
6)下一个首部:
表明载荷数据域所携带数据类型;
7)认证数据
●加密和鉴别算法
•加密算法
–3DES、RC5、IDEA、3IDEA、CAST、Blowfish
•鉴别算法
–ICV计算应支持:
HMAC-MD5-96、HMAC-SHA-1-96,仅用96位。
传输方式的操作:
仅用于支持主机的实现
1)在源站,由ESP尾部加上上整个传输级的报文段组成的数据块被加密,明文被密文代替,形成用于传输的IP分组。
如果认证被选加认证;
2)分组被路由器传送到目的站,中间路由器要检查和处理IP首部加上任何明文的IP扩展首部,但不检查密文;
3)目的结点检查和处理IP首部加上任何明文的IP扩展首部。
然后在ESP首部SPI基础上,目的结点对分组的其他部分解密恢复传输层的报文段。
隧道模式ESP:
用于主机和安全网关。
ESP头插入到初始的IP头和新的外部IP头之间,内部IP带有最终的源地址和目的地址,新IP头可能包含不同的IP地址(例如防火墙或网关)
ESP保护的是全部内部IP数据包,包括内部IP头。
●ESP处理过程
•ESP头定位
•加密算法和鉴别算法由SA确定
•对于发出去的包(OutboundPacket)的处理
1)查找SA;
2)加密。
•封装必要的数据,放到payloaddata域中不同的模式,封装数据的范围不同;
•增加必要的padding数据
•加密操作
1)产生序列号;
2)计算ICV,注意,针对加密后的数据进行计算;
3)分片。
•对于接收到的包(InboundPacket)的处理:
1)分片装配;
2)查找SA。
•依据:
目标IP地址、ESP协议、SPI——检查序列号(可选,针对重放攻击)
•使用一个滑动窗口来检查序列号的重放:
1)ICV检查;
2)解密。
•根据SA中指定的算法和密钥、参数,对于被加密部分的数据进行解密;
•去掉padding
•重构原始的IP包
安全关联:
为了使通信双方的认证算法、加密算法保持一致而建立的相互间联系被称为安全关联SA。
SA是构成Ipsec的基础,是两个通信实体经协商建立起来的一种协定,它决定了用来保护数据报文安全的Ipsce协议、转码方式、密钥以及密钥的有效存在时间等。
SA数据颤上它来维护Ipsec协议用来保障数据包安全的SA记录。
SA由三个参数唯一标识:
1)SPI:
SPI位于AH或ESP头内,因此接收系统可以挑选出用于处理接收到的是IP数据包的SA;
2)DA:
目的地址;
3)安全协议标识符:
表明本关联是一个AH安全关联还是一个ESP安全关联。
●SA的组合(四种SA组合)
1)特定的通信量需要同时调用AH和ESP服务;
2)特定的通信量需要主机之间和防火墙之间的服务。
•传输邻接:
同一分组应用多种协议,不形成隧道;
•循环嵌套:
通过隧道实现多级安全协议的应用。
●
能鉴别与机密性的组合
1)传输邻接
使用两个捆绑的传输SA,内部是ESPSA(没有鉴别选项),外部是AHSA
2)传输隧道束
加密之前进行鉴别更可取:
内部的AH传输SA+外部的ESP隧道SA
●IPSec密钥管理
1)包括密钥的确定和分配。
2)两种方式:
–手工的
–自动的:
Internet密钥交换IKE(非IPSec专用)
3)作用:
在IPSec通信双方之间,建立起共享安全参数及验证过的密钥(建立“安全关联”),IKE代表IPSec对SA进行协商,并对SADB数据库进行填充。
●Windows2000和XP下的IPSec
•文章
–
–
–
Web的安全
•Web是一个运行于internet和TCP/IPintranet之上的基本的client/server应用。
•Web安全性涉及前面讨论的所有计算机与网络的安全性内容,同时还具有新的挑战。
–Web具有双向性,Webserver易于遭受来自Internet的攻击。
–实现Web浏览、配置管理、内容发布等功能的软件异常复杂,其中隐藏许多潜在的安全隐患。
–Web通常是一个公司或机构的发布版,常常和其它计算机联系在一起。
一旦Webserver被攻破,可能殃及其它。
–用户往往是偶然的和未经训练的,对安全风险没有意识,更没有足够的防范工具和知识。
●Web安全性威胁与对策
Web上威胁的比较
●SSL/TLS协议
•1994年Netscape开发了SSL(SecureSocketLayer)安全套接层协议,专门用于保护Web通讯;
•版本和历史:
–1.0,不成熟;
–2.0,基本上解决了Web通讯的安全问题。
•Microsoft公司发布了PCT(PrivateCommunicationTechnology),并在IE中支持;
–3.0,1996年发布,增加了一些算法,修改了一些缺陷;
–TLS1.0(TransportLayerSecurity传输层安全协议,也被称为SSL3.1),1997年IETF发布了Draft,同时,Microsoft宣布放弃PCT,与Netscape一起支持TLS1.0;
–1999年,发布RFC2246(TheTLSProtocolv1.0)。
●协议的目标
目标:
SSL被设计用来使用TCP提供一个可靠的端到端安全服务,为两个通讯个体之间提供保密性和完整性(身份鉴别)。
●协议的使用
https:
//与shttp:
//
●SSL体系结构
●
•协议分为两层:
底层-SSL记录协议;上层-SSL握手协议、SSL修改密文规约协议、SSL警告协议。
●两个主要的协议
一、SSL握手协议
1)客户和服务器之间相互鉴别;
2)协商加密算法和密钥;
3)它提供连接安全性,有三个特点:
身份鉴别,至少对一方实现鉴别,也可以是双向鉴别;协商得到的共享密钥是安全的,中间人不能够知道;协商过程是可靠的。
●SSL的两个重要概念
1、SSL连接(connection):
1)一个连接是一个提供一种合适类型服务的传输(OSI分层的定义)。
2)SSL的连接是点对点的关系。
3)连接是暂时的,每一个连接和一个会话关联。
2、SSL会话(session)
1)一个SSL会话是在客户与服务器之间的一个关联。
会话由HandshakeProtocol创建。
会话定义了一组可供多个连接共享的密码安全参数。
2)会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。
3、会话状态
1)有多个状态与每一个会话相关联;
2)一旦一个会话建立,就存在一个读或写的当前状态;
3)在握手协议中,创建了挂起的读写状态;
4)成功的握手协议,将挂起状态转变为当前状态。
5、连接状态
•Serverandclientrandom:
server和client为每一个连接所选择的字节序列。
•ServerwriteMACsecret:
一个密钥,用来对server送出的数据进行MAC操作。
•ClientwriteMACsecret:
一个密钥,用来对client送出的数据进行MAC操作。
•Serverwritekey:
用于server进行数据加密,client进行数据解密的对称保密密钥;
•Clientwitekey:
用于client进行数据加密,server进行数据解密的对称保密密钥;
•Initializationvectors:
当数据加密采用CBC方式时,每一个密钥保持一个IV。
该字段首先由SSLHandshakeProtocol,以后保留每次最后的密文数据块作为IV。
•Sequencenumber:
每一方为每一个连接的数据发送与接收维护单独的顺序号。
当一方发送或接收一个改变的cipherspecmessage时,序号置为0,最大264-1。
二、SSLRecordProtocol
•SSLRecordProtocol为SSL连接提供两种服务
–保密性。
HandshakeProtocol定义一个共享的保密密钥用于对SSL有效载荷加密。
–消息完整性。
HandshakeProtocol定义一个共享的保密密钥用于形成MAC。
SSLRecordProtocol
•操作过程示意图
●
SSL记录协议中的操作
•第一步,fragmentation:
上层消息的数据被分片成214(16384)字节大小的块,或者更小;
•第二步,compression(可选):
必须是无损压缩,如果数据增加的话,则增加部分的长度不超过1024字节
•第三步,MAC计算:
使用共享的密钥MAC_write_secret
•第四步,加密,可供选择的加密算法:
•采用CBC,算法由cipherspec指定
•数据长度不超过214+2048字节,包括
•IV,初始协商指定,以后,前后记录连接起来
•说明:
如果是流密码算法,则不需要padding
●SSL记录格式
•ContentType;——8位,上层协议类型;
•Majorversion;Minnorversion——16位,主次版本;
•压缩长度:
16位—加密后数据的长度,不超过214+2048字节
•EncryptedDatafragment;——密文数据
●SSL握手协议的流程
•交换Hello消息,对于算法、交换随机值等协商一致;
•交换必要的密码参数,以便双方得到统一的premastersecret;
•交换证书和相应的密码信息,以便进行身份认证;
•产生mastersecret;
•把安全参数提供给SSL记录层;
•检验双方是否已经获得同样的安全参数。
●SSL握手协议使用的消息
第一阶段:
建立起安全协商
•客户发送一个client_hello消息,包括以下参数:
版本、随机数(32位时间戳+28字节随机序列)、会话ID、客户支持的密码算法列表(CipherSuite)、客户支持的压缩方法列表;
•然后,客户等待服
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 09 密码学 网络安全 第九