第4章密码技术应用课件.ppt
《第4章密码技术应用课件.ppt》由会员分享,可在线阅读,更多相关《第4章密码技术应用课件.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 密码技术应用 第4章 密码技术应用 4.1 IPSec4.2 SSL4.3 S-HTTP4.4 SMIME4.5 SET4.6 PGP习题习题 第4章 密码技术应用 4.1 IPSec 1.1.IPSecIPSec概述概述传统的TCP/IP协议,IP数据包在传输过程中并没有过多的安全需求,人们很容易伪造IP地址,篡改数据包内容,重放以前的包并在传输途中截获并查看包内信息。因此不能保证自己收到的数据包来自正确的发送端,不能肯定数据是发送端的原始数据,也不能防止原始数据在传输过程中未被窃听,所以本质上说这种协议是不安全的。为了有效保护IP数据包的安全,IPSec应运而生,它随着Ipv6的制
2、定而产生,鉴于Ipv4应用的广泛性,IPSec也提供对Ipv4的支持,不过在Ipv6中它是必须支持的,而在Ipv4中是可选的。第4章 密码技术应用 图图4-1 IPSec结构框架结构框架 第4章 密码技术应用 2 2IPSecIPSec的结构的结构(1)AH为IP数据包提供3种服务,即无连接的数据完整性验证、数据源身份认证和防重放攻击。数据完整性验证通过哈希函数产生的校验来保证;数据源身份认证通过在计算验证码时加入一个共享密钥来实现;AH报头中的序列号可以防止重放攻击。第4章 密码技术应用(2)ESP除了为IP数据包提供AH已有的3种服务外,还提供另外两种服务,即数据包加密、数据流加密。加密是
3、ESP的基本功能,而数据源身份认证、数据完整性验证以及防重放攻击都是可选的。数据包加密是指对一个IP包进行加密,可以是对整个IP包,也可以只加密IP包的负荷部分,一般用于客户端计算机;数据源加密一般用于支持IPSec的路由器,源端路由器并不关心IP包的内容,对整个IP包进行加密后传输,目的端路由器将该包解密后把原始包继续转发。在实际进行IP通信中,可以根据实际安全需求同时使用这两种协议或选择其中的一种。AH和ESP都可以提供验证服务,不过,AH提供的验证服务要强于ESP。第4章 密码技术应用(3)IKE协议负责密钥管理,定义了通信实体间进行身份认证、协商加密算法以及生成共享的会话密钥的方法。I
4、KE将密钥协商的结果保留在安全联盟(SA)中,供AH和ESP以后通信时使用。最后,解释域(DOI)为使用IKE进行协商SA的协议统一分配标识符。共享一个DOI的协议从一个共同的命名空间中选择安全协议和变换、共享密码以及交互协议的标识等,DOI将IPSec的这些RFC文档联系到一起。第4章 密码技术应用 3 3IPSecIPSec的运行模式的运行模式IPSec有两种运行模式,即传输模式(Transport Mode)和隧道模式(Tunnel Mode)。这两种模式的主要区别是它们所保护的内容不同,传输模式保护的只是IP的有效负载,而隧道模式保护的是整个IP数据包。AH和ESP都支持这两种模式,共
5、存在四种形式,即AH传输模式、ESP传输模式、AH隧道模式、ESP隧道模式。这些传输模式如图4-2所示。第4章 密码技术应用 图4-2 IPSec传输模式(a)AH传输模式;(b)AH隧道模式;(c)ESP传输模式;(d)ESP隧道模式 第4章 密码技术应用 1)AH传输模式在该模式中,AH被插入到IP头部之后,在传输层协议(如TCP、UDP)或者其他IPSec协议之前。因为AH验证的区域覆盖整个IP包,包括IP包头部,所以源/目的IP地址是不能修改的,否则会被检测出来。如果数据包在传送过程中经过网络地址转换(NAT,Network Address Translation)网关,其源/目的IP
6、地址将发生改变,会造成到达目的地址后的完整性验证识别失败。因此,AH在传输模式下和NAT是冲突的,不能同时使用。或者说AH不能穿越NAT。第4章 密码技术应用 2)AH隧道模式在该模式中,AH插入到原始IP头部字段之前,再在AH之前增加一个新的IP头部。在隧道模式下,AH验证的区域也将覆盖整个IP包,所以也存在AH与NAT的冲突。第4章 密码技术应用 3)ESP传输模式在该模式中,ESP插入到IP头部之后,ESP头部包含SPI和序列号字段,ESP尾部包含填充、填充长度和下一个头字段。在接收端,SPI字段用于和源IP地址、IPSec协议一起组成一个三元组来惟一确定一个SA,并利用该SA进行验证、
7、解密,然后等待后续处理,所以SPI不能被加密。其次,序列号字段用于判断包是否重复,从而防止重发攻击。序列号不会泄漏明文中的任何机密,所以也没有必要进行加密。其尾部使用了ESP验证,因为SA需要ESP的验证服务,接收端会在任何后续处理(如检查重放、解密)之前进行验证。数据包只有经过验证该包没有经过任何修改,才会被确认为可信任的,才会进行候选处理。第4章 密码技术应用 4)ESP隧道模式在该模式中,ESP插入到IP头部之前,在ESP之前再插入新的IP头部。与传输模式一样,ESP头部含有SPI和序列号字段,ESP尾部包含填充、填充长度和下一个头字段。如果选用了验证,ESP的验证数据字段中包含了验证数
8、据。同样ESP头部和ESP验证数据字段不会被加密。内部的IP头部被加密和验证,而外部的IP头部既没有被加密也没有被验证,不被加密是因为路由器需要这些信息为其寻找路由,不被验证是为了能适应NAT等情形。第4章 密码技术应用 4.2 SSL 1 1SSLSSL概述概述SSL(Secure Socket Layer)是由Netscape公司开发的,用于提供Internet通信的安全协议,目前已经广泛用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于网络层协议(如TCP/IP)与各种应用层协议(如HTTP等)之间,如图4-3所示。在发送端,SSL层接收应用层的数据,然后将加了密的数据
9、发往TCP端口。在接收端,SSL从TCP端口读取数据,解密后将数据交给应用层。所以它为客户端与服务器之间提供安全通信,允许双方相互认证、通过加密提供消息保密。第4章 密码技术应用 图4-3 SSL在TCP/IP协议栈中的位置 第4章 密码技术应用 2 2SSLSSL的结构的结构SSL被设计成使用TCP来提供一种可靠的端到端的安全服务。SSL由多个协议组成,并采用两层体系结构,如图4-4所示。图4-4 SSL协议体系结构 第4章 密码技术应用 SSL中有两个重要的概念(SSL连接和SSL会话),具体定义如下:(1)SSL连接:连接是提供恰当类型服务的传输。SSL是一种点对点连接,每次连接与一个会
10、话相联系。(2)SSL会话:SSL会话是客户与服务器之间的关联,会话通过握手协议来创建。会话定义了一组被多个连接共享的加密安全参数集。会话可以用来避免为每个连接进行昂贵的新安全参数的协商。第4章 密码技术应用 3 3SSLSSL协议协议1)SSL记录协议SSL协议的底层是记录协议层,SSL记录协议在客户机和服务器之间传输应用数据和SSL控制数据,期间有可能需要进行分段或把多个高层协议数据组合成单个数据单元。图4-5描述了SSL记录协议操作的整个过程。第4章 密码技术应用 图4-5 SSL记录协议 第4章 密码技术应用(1)分段:其中每个分片报文最大不能超过16 KB。(2)压缩:该操作是可选的
11、。目前的版本还没有指定压缩算法,默认的缺省算法为空。压缩必须是无损的,而且增加的内容长度不会超过1024 B。(3)计算MAC码:这一步需要用到客户机与服务器共享的密钥。(4)加密:使用加密算法对压缩报文和MAC码进行加密。加密对内容长度的增加不可超过1024 B。(5)增加记录协议头部,该头部包含以下几个部分:第4章 密码技术应用*内容类型(8 bit):所封装分段的高层协议类型。*主版本(8 bit):使用SSL协议的主要版本号,对SSLv3值为3。*次版本(8 bit):使用SSL协议的次要版本号,对SSLv3值为0。*压缩长度(16 bit):分段的字节长度,不超过16 KB2 KB。
12、图4-6描述了SSL记录头部格式。第4章 密码技术应用 图4-6 SSL记录头部格式 第4章 密码技术应用 2)SSL修改密码规格协议SSL修改密码规格协议是SSL协议体系中最简单的一个,它由单个报文构成,该报文由值为1的单个字节组成。这个报文的惟一目的是使得未决状态被复制为当前状态,从而改变这个连接将要使用的密码规格。第4章 密码技术应用 3)SSL告警协议告警协议通过SSL记录协议把有关警告传送到各个实体。它由两个字节组成,分别表示告警级别和告警信息。其中告警级别有两个:第一是代表警告,表明是一个一般警告信息;第二是代表致命错误,它将终止当前链接,同一个会话的其他链接也许可以继续,但肯定不
13、会再生成新的连接。告警信息则相对较多,它用告警代码标识。例如,0代表close_notify,表示通知接收方发送方已经关闭本链接,不再发任何信息;10代表unexpected_message,表示接收到不合适的报文。第4章 密码技术应用 4)SSL握手协议握手协议是SSL中最复杂的部分。这个协议使得服务器与客户机能相互鉴别对方的身份、协商加密和MAC算法以及保护SSL记录中发送数据的加密密钥等。在传输任何应用数据前,都必须使用握手协议。握手协议由一系列在客户端与服务器之间交换的报文组成。所有这些报文具有三个字段:类型(指示10种报文中的一个)、长度(以字节为单位的报文长度)、内容(和这个报文有
14、关的参数)。SSL握手协议包含两个阶段:第一个阶段用于建立私密性通信信道;第二个阶段用于客户认证。第4章 密码技术应用 第一阶段是通信的初始化阶段,通信双方都发出HELLO消息。当双方都接收到HELLO消息时,就有足够的信息确定是否需要一个新的密钥。若不需要新的密钥,双方立即进入握手协议的第二阶段。否则,此时服务器方的SERVER-HELLO消息将包含足够的信息使客户方产生一个新的密钥。这些信息包括服务器所持有的证书、加密规约和连接标识。若密钥产生成功,客户方发出CLIENT-MASTER-KEY消息,否则发出错误消息。最终当密钥确定以后,服务器方向客户方发出SERVER-VERIFY消息。因
15、为只有拥有合适的公钥的服务器才能解开密钥。需要注意的一点是,每一通信方向上都需要一对密钥,所以一个连接需要四个密钥,分别为客户方的读密钥、客户方的写密钥、服务器方的读密钥、服务器方的写密钥。第4章 密码技术应用 第二阶段的主要任务是对客户进行认证,此时服务器已经被认证了。服务器方向客户发出认证请求消息:REQUEST-CERTIFICATE。当客户收到服务器方的认证请求消息时,发出自己的证书,并且监听对方回送的认证结果。而当服务器收到客户的认证时,若认证成功,则返回SERVER-FINISH消息,否则返回错误消息。到此为止,握手协议全部结束。第4章 密码技术应用 4 4Open SSLOpen
16、 SSL的安装与应用的安装与应用1)Open SSL简介Open SSL是基于SSLeay库的软件包,它是由Eric A.Young和Tim J.Hudson于1995年共同开发成功的。其Open SSL工具箱是经过Apache型认证认可的,也就是说,这是一个没有太多限制的开放源代码的软件包。到目前为止,用户已经可以从http:/www.openssl.org免费下载Open SSL 0.9.7g及其补丁程序。第4章 密码技术应用 Open SSL采用C语言作为开发语言,这使得Open SSL具有优秀的跨平台性能,这对于广大技术人员来说是一件非常美妙的事情,可以在不同的平台使用同样熟悉的东西。
17、Open SSL支持Linux、Windows、BSD、Mac、VMS等平台,这使得Open SSL具有广泛的适用性。Open SSL的算法已经非常完善,提供对SSL2.0、SSL3.0以及TLS1.0的支持。Open SSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。第4章 密码技术应用 2)Open SSL安装下载Open SSL免费软件经解压缩,安装方法可以参考INSTALL.*文件。Open SSL是支持跨平台的,它支持UNIX、DOS、Windows、OpenVMS 和MacOS各类操作系统,具体安装手册可以分别查阅INSTALL、INSTALL.
18、DJGPP、INSTALL.W32、INSTALL.VMS和INSTALL.MacOS文件。这里只讲述基于UNIX和Windows下的Open SSL安装工作。第4章 密码技术应用(1)在UNIX平台安装Open SSL。在安装Open SSL前必须具备以下工具:make,Perl 5,ANSI C编译器,类库和C头文件开发环境,可支持UNIX操作系统。安装过程比较简单,可以在控制台输入以下命令:$./config$make$make test$make install第4章 密码技术应用 前面的操作将在系统默认位置/usr/local/ssl下创建并安装Open SSL。如果想指定安装位置,
19、可以输入:$./config-prefix=/usr/local-openssldir=/usr/local/openssl更多有关./config(或./Configure)的配置可以查看相关帮助。第4章 密码技术应用(2)在Windows平台安装Open SSL。在安装Open SSL中,如果你的系统是基于Win32的,你需要安装Perl工具;如果系统是基于Cygwin的,你需要安装ActiveState Perl。另外,你必须具备一种C编译器(如Visual C+,Borland C或GNU C)。第4章 密码技术应用 下面给出安装过程:*使用Visual C+编译器。创建一个Open
20、SSL的FIPS-certified变量并添加到选项“fips”。*运行Configure:perl Configure VC-WIN32*组建Makefiles和可选的汇编语言文件;如果使用MASM,运行 msdo_masm;如果使用NASM,运行 msdo_nasm;如果不使用任何汇编语言文件,运行 msdo_ms。第4章 密码技术应用*最后运行 nmake-f msntdll.mak。如果所有操作都成功,你将获得一些DLL文件,它们可以在out32dll上运行。如果你想测试这些文件,可以输入 cd out32dll.mstest*使用Borland C+builder 5编译器。*配置B
21、orland Builder:perl Configure BC-32 第4章 密码技术应用*创建合适的makefile:msdo_nasm*运行:make-f msbcb.mak*使用GNU C(Cygwin)编译器。Cygwin提供了一种在NT 4.0,Windows 9x,Windows ME,Windows 2000,and Windows XP的bash shell和GNU工具环境。所以用Cygwin安装Open SSL与在GNU bash环境下(如Linux)接近。Cygwin执行一个Posix/Unix运行时系统(cygwin1.dll)。它也可以使用MinGW创建Win32类库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码 技术 应用 课件
限制150内