2.密码编码学与应用加密技术详解_第1页
2.密码编码学与应用加密技术详解_第2页
2.密码编码学与应用加密技术详解_第3页
2.密码编码学与应用加密技术详解_第4页
2.密码编码学与应用加密技术详解_第5页
已阅读5页,还剩121页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络安全综合管理高级工程师培训讲师:白滨belite@126.com密码编码学与应用加密技术8/16/20242第一部分:密码编码学8/16/20243密码学基本概念密码学:研究通信安全保密的学科。它包括两个分支: 密码编码学和密码分析学。密码编码学:主要研究对信息进行变换,以保护信息在 信道的传递过程中不被敌手窃取、解读和 利用的方法的科学。密码分析学:主要研究如何分析和破译密码方法的科学。8/16/20244密码学基本术语8/16/20245密码系统的模型8/16/20246加密:提供只允许特定用户访问和阅读信息,任何非授权用户对信息都不可理解的服务[通过数据加密实现]。密码学的作用抗否认性:提供阻止用户否认先前的言论或行为的服务。[通过对称加密或非对称加密,以及数字签名等,并借助可信的注册机构或证书机构的辅助,提供这种服务]数据完整性:提供确保数据在存储和传输过程中不被未授权修改(窜改、删除、插入和重放等)的服务。[通过数据加密、数据散列或数字签名来实现]鉴别:提供与数据和身份识别有关的服务。[通过数据加密、数据散列或数字签名来实现]8/16/20247密码系统的定义8/16/20248密码系统的定义8/16/20249密码体制分类8/16/202410

单钥密码技术又称对称密码技术,即同用一个密钥去加密和解密数据。明文abc加密器密文#@&解密器明文abc相同

单钥体制8/16/202411单钥体制8/16/202412单钥体制8/16/202413公钥体制

公钥密码技术又称非对称密码技术,或双钥密码技术,即加密和解密数据使用不同的密钥。明文abc加密器密文#@&解密器明文abc不同

8/16/202414公钥体制8/16/202415公钥体制8/16/202416无条件安全与计算安全8/16/202417密码系统的实际安全性一个密码系统的实际安全性取决于两方面的因素:1.所使用的密码算法的保密强度2.密码算法以外的不安全因素(如密钥管理)一个密码系统必须同时完善技术和制度的要求,才能保证整个系统的安全。8/16/202418典型对称加密算法8/16/202419DES数据加密标准8/16/202420DES数据加密算法描述8/16/202421IDEA数据加密标准8/16/202422其他常规密码8/16/202423常规加密和公开密钥加密8/16/202424典型公钥加密算法8/16/202425公钥密码体制基本概念8/16/202426公钥体系8/16/202427公钥体制8/16/202428公钥密码体制的基本概念8/16/202429公钥密码体制的基本概念8/16/202430RSA公钥算法8/16/202431RSA公钥算法8/16/2024321.建立密钥取p=13,q=17,则n=13*17=221,

(n)=12*16=192,随机选取加密密钥e=71,根据欧几里德算法求解加密密钥d,d=e-1mod

(n)=71-1mod192=119将e与n公开,而保密p、q和d(1)假设转化后的明文消息分组为5,用户A用公开的加密密钥e将明文加密成密文分组c:c=memodn=571mod221=112并将c发送给用户B(2)用户B在接收到A发送的密文c之后,使用自己保存的秘密密钥d执行下述变换:

m’=cdmodn=112119mod221=5=m这样,用户B得到了A发送来的明文分组m2.用户A和B使用建立的RSA密码体制进行通信RSA体制加密解密实例8/16/202433公钥体制8/16/202434公开密钥管理8/16/202435公开密钥证书8/16/202436认证与认证系统8/16/202437认证函数8/16/202438散列函数8/16/202439散列函数特点一8/16/202440散列函数特点二将消息按散列算法计算可以得到一个固定位数的消息摘要值。在数学上保证:只要改动消息的任何一位,重新计算出的消息摘要就会与原先值不符。这样就保证了消息的不可更改。8/16/202441

MD5散列函数实验8/16/202442使用散列码提供报文鉴别的方式8/16/202443使用散列码提供报文鉴别的方式8/16/202444使用散列码提供报文鉴别的方式8/16/202445使用散列码提供报文鉴别的方式8/16/202446MD5算法8/16/202447MD5产生报文摘要的过程8/16/202448SHA-1算法8/16/2024498/16/202450MD4、MD5、SHA算法比较8/16/202451数字签名8/16/2024528/16/202453两类数字签名函数8/16/202454RSA签名方案8/16/2024558/16/202456DSS数字签名标准8/16/2024578/16/202458其他签名技术8/16/2024598/16/202460第二部分:应用加密技术8/16/202461链路层——PPTP、L2TP网络层——IP安全性(IPSec)传输层——SSL/TLS应用层——PGP、S/MIME、SSH、SET基于网络信息流的安全方法:8/16/202462NetworkLevel

IPSec的好处在于对最终用户和应用程序来说是透明的,并且提供了通用的解决方法。进而,IPSec包括了过滤功能,只有选择过的通信量才需要承担的处理负担。NetworkLevel8/16/202463TransportLevelSSL(TLS)作为基本协议族的一个部分提供,对应用程序透明,或是将SSL嵌入专门软件中。TransportLevel8/16/202464ApplicationLevel为特定应用程序的专门需要定制服务,SETApplicationLevel8/16/202465第一节:VPN技术8/16/202466

VPN技术的起源——IP的安全性IP包本身并不继承任何安全特性不安全的表现伪造出IP包的地址修改其内容重播以前的包以传输途中拦截并查看包的内容解决方案VPN8/16/202467虚拟专用网络VPN

VPN是指依靠ISP和其它NSP在公用网络上建立专用的数据通信网络的技术。

IETF草案理解基于IP的VPN定义:使用IP机制仿真出一个私有的广域网,是通过私有的隧道技术在公共数据网络上仿真出一条点到点的专线技术。8/16/202468基于IP的VPN到目前为止,基于IP的VPN业务获得了极大的增长空间

客观因素:包括互联网带宽和服务质量(QOS)问题主观因素之一是用户总害怕自己内部的数据在Internet上传输不安全

VPN对推动整个电子商务、电子贸易将起到不可低估的作用8/16/202469VPN安全性VPN采用四种技术来保证安全隧道技术(Tuneling)加密技术密钥管理技术身份认证技术8/16/202470VPN关键技术---隧道技术隧道技术类似于点对点连接技术,隧道技术在公用网建立一条数据通道(隧道),让数据包通过这条隧道传输。实现以下功能将数据流量强制到特定的目的地 隐藏私有的网络地址在IP网上传输非IP协议数据包提供数据安全支持协助完成用户基于AAA(authentication鉴定,authorization授权,accounting计费)的管理。8/16/202471PPTP协议由Microsoft和Ascend在PPP协议基础上开发,用于Clien—LAN型隧道VPN的实现(VPDN)对用户的PPP帧封装成IP报文进行隧道传送需要用户配置,增加难度和安全隐患不具备数据源身份认证,仅依靠PPP的身份认证机制8/16/202472L2TP协议由PPTP和Cisco的L2F协议相结合的产物,支持Client—LAN及LAN—LAN的VPN连接L2TP仅仅定义了控制包的加密传输方式,对传输中的数据并不加密

不适用于企业Extranet的VPN连接方式8/16/202473L2TPVPN拓扑图8/16/202474L2TPVPN原理图8/16/202475IPSec协议IETF制定VPN安全协议标准—IPSec和IKMP密钥管理协议IPSec提供以下安全服务数据源鉴别数据完整性防止数据重传数据加密不可否认8/16/202476IPSec重要组成部分AH(AuthenticationHeader,验证包头)ESP(EncapsulatingSecurityPayload封装安全载荷)SA(安全关连)

IKE(Internet密钥交换)8/16/202477IPSec文档结构体系结构ESP协议AH协议DOI密钥管理加密算法鉴别算法8/16/202478SA(SecurityAssociation)所有的SA都是单向的,由一特定的SPI(SecurityParameterIndex)、DA(DestinationAddress)和安全标识符的组合唯一确定的SA包括:AH实现中所用的鉴别算法和算法模式AH实现中鉴别算法所使用的密钥ESP实现中所用的加密算法和模式ESP实现中加密算法所使用的密钥加密算法的初始向量域;密钥生存周期或时间SA的生存周期、SA的源地址8/16/2024798/16/202480AH(AuthenticationHeader)AH用来在没有IP报文加密机制下提供多个主机或网关间通信的数据完整性保护和鉴别功能鉴别信息来自对整个IP报文包括报头和其它报头以及用户数据中的所有信息计算而来鉴别数据的第一步是为发送端分配SA8/16/202481AHAH传输模式8/16/202482AH隧道模式8/16/202483ESPESP报头用来对在多个主机或网关之间通信的IP报文提供完整性保护、鉴别和加密ESP可用于只对传输层PDU加密或对整个IP报文进行加密ESP存在两种工作模式:隧道模式和传输模式8/16/202484ESP的传输模式8/16/202485ESP的隧道模式8/16/202486传输模式VPN用于主机-主机的VPN8/16/202487隧道模式VPN用于主机-网关和网关-网关的VPN8/16/202488隧道模式下的LAN-LANVPN8/16/202489隧道模式下主机-网关VPN8/16/202490第二节TransportLevel安全性8/16/202491Web安全与TLS

1.超文本传输协议(HTTP)潜在的风险以明文形式进行数据的传输恶意ActiveX控件及JAVAapplets的破坏利用ASP、CGI、PHP等漏洞进行攻击2.HTTPHTTPS,WEB安全传输演示实验8/16/202492协议本身的安全性支持身份认证BasicAuthenticationDigestAccessAuthentication保密性TLS(TransportLayerSecurity)8/16/202493SSL/TLS协议(1)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.01999年,发布RFC2246(TheTLSProtocolv1.0)8/16/202494SSL/TLS协议(2)协议的设计目标为两个通讯个体之间提供保密性和完整性(身份认证)互操作性、可扩展性、相对效率协议分为两层底层:TLS记录协议上层:TLS握手协议、TLS密码变化协议、TLS警告协议8/16/202495SSL体系结构SSL由记录协议子层(RecordProtocol)和握手协议子层(HandshakeProtocol)组成记录协议子层定义了传输的格式握手协议子层用于实现双向身份认证和协商密码算法以及会话密钥IPTCPSSL记录协议SSL握手协议SSL修改密文协议SSL告警协议HTTP协议8/16/202496SSL会话与连接SSL会话(session)一个SSL会话是在客户与服务器之间的一个关联。会话由HandshakeProtocol创建。会话定义了一组可供多个连接共享的加密安全参数会话用以避免为每一个连接提供新的安全参数所需昂贵的谈判代价一对对等实体之间可以有多个会话SSL连接(connection)一个连接是提供一种合适类型服务的传输(OSI分层的定义)SSL的连接是点对点的关系连接是暂时的,每一个连接和一个会话关联8/16/202497TLS记录协议操作过程Zxvhtyu57678597sdfsdfs……应用层数据Zxvhtyu57678597sdfsdfs…分段操作8735k压缩操作8735kMAC计算消息摘要………加密操作SSLhdr………添加SSL头8/16/202498SSL/TLS握手的步骤Client_helloServer_helloCertificateServer_key_exchangeCertificate_requestServer_hello_doneCertificateClient_key_exchangeCertificate_verifyChange_cipher_specFinishedChange_cipher_specFinished建立安全能力,包括协议版本、会话ID、密码组、压缩方法和初始随机数字服务器可以发送证书、密钥交换和请求证书。服务器信号以hello消息结束客户机可以发送证书;客户机发送密钥交换;客户机可以发送证书验证更改密码组完成握手协议

红色勾除的步骤是可选的8/16/202499TLS握手协议的流程交换Hello消息,对于算法、交换随机值等协商一致交换必要的密码参数,以便双方得到统一的premastersecret交换证书和相应的密码信息,以便进行身份认证产生mastersecret把安全参数提供给TLS记录层检验双方是否已经获得同样的安全参数8/16/2024100SSL实现OpenSSL,最新0.9.6c,实现了SSL(2,3),TLS(1.0)Openssl——acommandlinetool.SSL(3)——theOpenSSLSSL/TLSlibrary.crypto(3)——theOpenSSLCryptolibrary.URL:http://SSLeay.au/~ftp/Crypto/MicrosoftWin2kSSLimplementation8/16/2024101Linux下的SSL实现SSL/TLS以apache插件工作Apache下实现SSL的组件mod_ssl-http://mod_perl-http:///dist/OpenSSL-http://RSArefMod_ssl是和apache版本对应的8/16/2024102Apache+ssl实现过程编译RSAref编译openssl编译mod_perl编译mod_ssl编译apache本身将mod_perl加入apache编译选项:#perl

Makefile.PLAPACHE_PREFIX=/usr/local/apache\

APACHE_SRC=../apache_1.3.11/src\

USE_APACI=1将mod_ssl加入apache编译选项:#./configure--with-apache=../apache_1.3.11\

--prefix=/usr/local/apache\--with-ssl=../openssl-0.9.4\

--with-rsa=../rsaref/temp\

--activate-module=src/modules/perl/libperl.a8/16/2024103第三节ApplicationLevel安全性8/16/2024104Kerberos认证机制

Kerberos系统——美国麻省理工学院设计为分布式计算环境提供一种对用户双方进行验证的认证方法8/16/2024105

Kerberos协议提供在客户机和服务器两者之间的网络连接打开前交互身份验证的机制。

Kerberos协议依靠身份验证技术,用来向所访问网络资源验证客户端,以及向客户端验证网络资源。使用Kerberos协议,客户机和服务器都会向Kerberos身份验证服务器注册。

Windows2000使用Internet标准KerberosV5协议作为验证用户身份的主要方法。Kerberos身份认证协议8/16/2024106当用户登录到基于Windows2000的域时,Windows2000会找到ActiveDirectory服务器和Kerberos身份验证服务,并将客户端凭据发送给Kerberos服务。客户端是由用来取得密钥的密码来验证身份,这个密钥可由服务器验证,或使用私钥加密的信息来验证身份,此私钥的公开部分是在ActiveDirectory中注册的。在检查客户端身份验证信息后,Kerberos服务,称为“密钥发行服务”(KDC),为用户签发授予票据的票据(TGT),当客户端要求后续Kerberos票据以登录到网络资源时,这个票据就会用来标识客户端。用户唯一要做的就是输入自己的密码来登录。Kerberos身份验证过程8/16/2024107Kerberos验证过程TGSASServer用户信息发送包含Client和TGS名字的请求检查用户信息,如正确就生成服务申请凭证和client与tgs的会话密钥,并用由用户口令导出的密钥加密服务申请凭证与会话密钥Client用户输入口令以解密得到服务申请凭证和与TGS的会话密钥发送包含服务器名字和服务申请凭证的请求鉴定用户身份,如有效生成服务许可凭证和client与server的会话密钥Kerberos服务器服务许可凭证与会话密钥包含服务许可凭证的请求验证通过,准许访问8/16/2024108X.509认证服务8/16/2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论