您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第四章网络安全协议修改
1第四章网络安全协议2第四章网络安全协议•SSL协议•SET协议•IPSec协议3因特网与TCP/IP安全-1TCP/IP协议栈•TCP/IP是一组通信协议的缩写•ISO/OSI模型及其与TCP/IP的关系4因特网与TCP/IP安全-IP协议•IP数据包中含有源地址和目的地址•不可靠协议,没有做任何事情来确认数据包是否按顺序或是未被破坏–而高层在接受服务时通常假设源地址是有效的–IP地址成为认证的基础•IP协议存在的安全问题不少5•IP欺骗•攻击者通过伪造一个可信任地址的数据包以使一台机器认证另一台机器的复杂技术•攻击是利用应用程序之间基于IP地址的认证机制,攻击者通过IP地址欺骗获得远程系统的非法授权访问。6•IP欺骗•过程描述:•1、X-B:SYN(序列号为M),IP=A•2、B-A:SYN(序列号为N),ACK(应答序号=M+1)–此时A没有同B发起连接,当A收到B的包后,会发送RST置位的包给B,从而断开连接–此时攻击者事先让A无法对来自B的任何数据包进行应答。•3、X-B:ACK(应答序号=N+1)IP=A–攻击者猜测B发送给A的序列号。若猜测成功则,X将获得主机B赋予A的权利。7•IP欺骗•辅助技术1:如何阻止A响应B的包-SYN淹没8•IP欺骗•辅助技术2:序列号预测•攻击者事先要进行连接试验:•(1)同目标主机进行连接•(2)目标主机应答•(3)记录应答包所含的序列号,继续步骤1测试•分析序列号产生的模式9•攻击检测•上述攻击过程中,攻击者必须依照一定的顺序来完成网络入侵,这往往是攻击的一种先兆。可安装一个网络嗅探器。•(1)最初,会检测到大量的TCPSYN从某个主机发往A的登录端口。•(2)大量的TCPSYN包将从主机X经过网络发往主机B,相应的有SYN+ACK包从主机B发往X,然后主机X用RST作应答10•其他措施•配置路由器和网关,使他们拒绝网络外部与本网内具有相同IP地址的连接请求•当包的源IP地址不在本地子网内时,路由器和网关不应该把本网主机的包发出去,以阻止内部用户去破坏他人网络11因特网与TCP/IP安全-TCP协议•TCP安全缺陷-TCP连接的可靠性–初始化连接:三次握手,确保双方做好传输准备,统一序列号。SYN,SEQ=x主机BACK,SEQ=x+1,ACK=y1确认确认主机A连接请求12•TCP安全缺陷-没有任何认证机制•TCP会话劫持•所谓会话,就是两台主机之间的一次通讯。–例如Telnet到某台主机,这就是一次Telnet会话;–浏览某个网站,这就是一次HTTP会话。13–会话劫持(SessionHijack),就是在一次正常的会话过程当中,攻击者作为第三方参与到其中,他可以在正常数据包中插入恶意数据,也可以在双方的会话当中进行监听,甚至可以是代替某一方主机接管会话。原因:TCP假定只要接受到的数据包含有正确的序列号就认为数据是可以接受的。一旦连接建立,服务器无法确定进入的数据包是否来自真实的机器。14•会话劫持防范•防范会话劫持是一个比较大的工程。•最根本的解决办法是采用加密通讯,使用SSH代替Telnet、使用SSL加强HTTP,或者干脆使用IPSec/VPN。•其次,监视网络流量,如发现网络中出现大量的ACK包,则有可能已被进行了会话劫持攻击。•完善认证措施,不仅仅在建立会话时进行认证15SSL协议—1概况•SSL协议(SecuritySocketLayer)是Netscape公司于1994年提出的基于web应用的安全协议。主要介绍SSLv3.•SSL主要采用公开密钥体制和x.509数字证书技术。1617SSL协议—1概况•协议的位置:–SSL介于TCP和应用层协议之间。•SSL可以用于任何面向连接的安全通信,但通常用于安全web应用的HTTP协议。SMTPIPSSLTCPHTTPFTP18SSL协议—1概况•SSL提供一个安全的“握手”来初始化一个TCP/IP连接–建立TCP“连接”–SSL握手,建立SSL会话–完成客户端和服务器之间关于安全等级、密码算法、通信密钥的协商,以及执行对连接端身份的认证工作。•SSL连接上所传送的应用层协议数据都会被加密,从而保证通信的机密性。19SSL协议—1概况•提供的安全保护(1)SSL服务器鉴别允许用户证实服务器的身份。具有SSL功能的浏览器维持一个表,上面有一些可信赖的认证中心CA(CertificateAuthority)和它们的公开密钥。(2)加密的SSL会话客户和服务器交互的所有数据都在发送方加密,在接收方解密。(3)SSL客户鉴别(可选)允许服务器证实客户的身份。(4)检测客户和服务器间的数据完整性(5)客户与服务器自动协商生成密钥,无需用户参与20SSL协议—2协议结构•协议栈SSL握手协议SSL记录协议SSL告警协议SSL修改密文协议21SSL协议—2协议结构•通信步骤(1)建立TCP“连接”;(2)SSL握手,建立SSL“会话”(Session);(3)通过“会话”传送加密数据包;(4)释放连接,“会话”过期。•TCP连接和SSL会话的关系•安全连接的特性22•连接和会话的关系–连接是传输层中的概念–SSL会话联系客户端和服务器,由SSL握手协议建立,制定一系列加密的安全参数。这些安全参数可被连接多次使用。–连接是短暂的,对应一个会话,而一个会话可被多次连接使用。•安全连接的特性–连接是私有的。握手协议商量一个会话密钥,然后用对称的加密算法对数据加密–连接的标识符用非对称算法加密–连接是可靠的。23SSL概况小结•1、基于的安全技术•2、协议的位置•3、通信步骤•4、提供的安全保护•5、协议栈•6、连接和会话24SSL协议—3记录层协议•功能•根据当前会话状态给出参数–压缩算法–对称加密算法–MAC算法–密钥长度–Hash长度–IV长度•连接状态给出的参数–Client和Server的随机数–加密密钥–MACsecrets–IVs–消息序列号•对当前的连接中要传送的高层数据实施压缩/解压缩、加/解密、计算/校验MAC等操作。SSL握手协议SSL记录协议SSL告警协议SSL修改密文协议25SSL协议—3记录层协议•封装的高层协议SSL握手协议SSL记录协议TCPIPSSL告警协议SSL修改密文协议应用数据协议HTTP、FTP、Telnet等26SSL协议—3记录层协议•SSL记录协议的发送过程(接收过程反之)应用数据分片压缩加MAC加密附另SSL记录报头27记录层协议小结•功能•提供的服务•发送过程28SSL协议—4修改密文规约协议•目的是为了表示密码策略的变化。–通知对方其后的记录将用刚刚协商的密码规范及相关的密钥来保护。•所有意外的更改密码规范消息都将产生一个“意外消息”(unexpectedmessage)警告29SSL协议—5告警协议•作用•包括若干个告警消息–当握手过程或数据加密等操作出错误或发生异常情况时,向对方发出警告或中止当前连接。•组成–第一个字节的值为warning(警告)或fatal(致命),表示消息的严重性等级。第二个字节是具体的告警消息。30SSL握手协议SSL记录协议TCPIPSSL告警协议SSL修改密文协议应用数据协议HTTP、FTP、Telnet等31SSL协议—5握手协议•作用•验证实体身份•协商密钥交换算法、压缩算法和加密算法、•完成密钥交换•生成密钥•客户端和服务器要建立一个连接,就必须进行握手过程。每次握手都存在一个会话和一个连接,连接一定是新的,但会话可能是新的,也可能是已存在的会话。32SSL协议—5握手协议•消息描述•握手协议由一系列在客户端和服务器端之间交换的消息组成•⑴HelloRequest(问候请求)•⑵ClientHello(客户端问候)消息•⑶ServerHello(服务器问候)消息•⑷ServerCertificate(服务器证明)消息•⑸ServerKeyExchange(服务器密钥交换)消息•⑹CertificateRequest(证明请求)消息•⑺ServerHelloDone(服务器问候结束)消息33•⑻ClientCertificate(客户端证明)消息•⑼ClientKeyExchange(客户端密钥交换)消息•⑽CertificateVerify(证明检查)消息•⑾Finished(结束)消息34SSL协议—5握手协议•建立一个新的握手过程Clienthello包括:客户端支持的SSL版本号产生的随机数会话ID密码算法列表压缩方法列表Clientserver35ClienthelloServerhello(serverCertificate)(Serverkeyexchange)(certificaterequest)ServerhellodoneClientserverServerhello:从客户列表中选出的SSL版本号产生的随机数会话ID从客户列表中选出密码算法选定的压缩算法ServerCertificate:由CA签发的X.509证书。包括服务器的信息和公钥客户可以使用这个公钥向服务器发送加密信息Serverkeyexchange:补充,为客户端进一步提供算法变量Certificaterequest:一般客户端是匿名的Serverhellodone完成通信,等待客户端应答36ClienthelloServerhello(ServerCertificate)(Serverkeyexchange)(certificaterequest)Serverhellodone(clientCertificate)Clientkeyexchange(certificateverify)ChangecipherspecfinishedClientCertificate:客户的X.509证书。Clientkeyexchange:随机数,用于会话密钥的建立Certificateverify:若用户提供了证书,将用私钥对信息签名Changecipherspec表示将使用选定的密码算法和参数处理将来的通信。但是客户端不需要将密钥告诉服务器,因为服务器可使用前面的随机数和算法计算出同样的密钥。Finished:使用会话密钥加密37ClienthelloServerhello(ServerCertificate)(Serverkeyexchange)(certificaterequest)Serverhellodone(ClientCertificate)Clientkeyexchange(certificateverify)ChangecipherspecfinishedChangecipherspecfinishedChangecipherspec:向客户端显示它也将使用与客户端相同的参数来加密将来所有的通信Finished:使用会话密钥加密38•恢复一个已存会话的握手过程Clienthello:会话ID是要恢复的会话的sessionid服务器发送一个含有相同sessionid的ServerHello消息idClienthelloServerhelloChangecipherspecServer_hello_doneChangecipherspecfinishedApplicationdata39SSL协议—5握手协议要注意的问题:由于公钥加密算法的速度非常慢。为了提高性能,双方可以缓存并重用在握手协议过程中交换的信息。该过程称为会话ID重用。如果在握手协议的过程中可以确定协议的客户端和服务器所共享的一个会话ID的话,就可以略过公钥和认证操作,同时可以在密钥生成的过程中重用先前生成的共享秘密。40SSL协议—6密码计算•主密码:从预主密码衍生出来的•预主密码:在RSA密码技术预主密码是由客户端生成,然后通过ClientKeyExchange消息发送给服务器的。•MAC写密钥和写密钥:对于一个连接,从主密码中生成的。用于每次连接的加密。41一个简化的例子•假定A有一个使用SSL的安全网页。•B上网时用鼠标点击到这个安全网页的链接(https).接着,
本文标题:第四章网络安全协议修改
链接地址:https://www.777doc.com/doc-1267833 .html