网络的攻击与防范-理论与实践 第3篇 网络防御部分 第13章 密码及认证技术.ppt
《网络的攻击与防范-理论与实践 第3篇 网络防御部分 第13章 密码及认证技术.ppt》由会员分享,可在线阅读,更多相关《网络的攻击与防范-理论与实践 第3篇 网络防御部分 第13章 密码及认证技术.ppt(131页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第三篇第三篇 网络防护篇网络防护篇o第11章安全扫描技术的原理与应用o第12章操作系统安全防范o第13章密码及认证技术o第14章防火墙的技术原理与应用o第15章入侵检测技术的原理与应用o第16章蜜罐与蜜网技术o第17章数据备份与灾难恢复技术o第18章网络安全综合防范平台第第13章章 密码及认证技术密码及认证技术密码学是安全信息的核心和理论基础,利用不同的加密技术对信息进行变换,实现信息的隐藏,从而保护信息的安全。保密的目的是防止对手破译系统中的机密信息。在信息系统中,安全目标的实现除了保密技术外,另外一个重要方面就是认证技术。认证技术主要用于防止对手对系统进行的主动攻击,如伪装、窜扰等,这对
2、于开放环境中各种信息系统的安全性尤为重要。第第13章章 密码及认证技术密码及认证技术o13.1加密技术原理及典型算法o13.2Hash函数原理和典型算法o13.3数字签名o13.4身份认证技术o13.5PKI与PMI认证技术o13.6实验:电子邮件的加密和签名13.1加密技术原理及典型算法加密技术原理及典型算法根据密码算法所使用的加密密钥和解密密钥是否相同可将密码体制分为对称密码体制(也叫做单钥密码体制、私密密钥密码体制)和非对称密码体制(也叫双钥密码体制、公开密钥密码体制)。数字通信系统模型公开信道公开信道首先进首先进行采样行采样13.1加密技术原理及典型算法加密技术原理及典型算法o13.1
3、.1对称密钥密码o13.1.2公开密钥加密o13.1.3电子信封技术13.1.1对称密钥密码对称密钥密码在对称加密中同一密钥既用于加密明文,也用于解密密文.但由于它们共同的弱点需要共享密钥,因此一旦密钥落入攻击者的手中将是非常危险的。一旦未经授权的人得知了密钥,就会危及基于该密钥所涉及的信息的安全性.在对称密钥加密中,加密函数为,其输入为密钥K和明文M,输出为密文C,即:o使用解密函数和相应的密钥对密文进行解密,从而显示原始的明文信息,即:o其过程如下图所示对称密码学加密:加密:EK(M)=C解密:解密:DK(C)=M 等效于等效于 DK(EK(M)=M数学变换数学变换函数函数密钥密钥K明文明
4、文密文密文数学变换数学变换函数函数密钥密钥K明文明文密文密文对称密码学网络网络信息信息M M对称密码算法对称密码算法密钥密钥K K密文密文C C用户用户A A对称密码算法对称密码算法密文密文C C用户用户B B信息信息M M密钥密钥K K对称密码有一些很好的特性,如运行占用空间小,加、解密速度快,但它们在某些情况下也有明显示的缺陷,这些缺点如下:1.如何进行密钥交换2.密钥管理困难对称密码算法有两种基本类型:分组密码和序列密码.分组密码算法是在明文分组和密文分组上进行运算,现在常用的分组长度为64位.分组密码也有很多种不同的实现方法.13.1加密技术原理及典型算法加密技术原理及典型算法密码算法
5、可以分为分组密码算法和序列密码算法。分组密码算法为对相同的明文用相同的密钥加密永远得到相同的密文。序列密码算法则对明文和密文数据流按位或字节上进行运算.以下为对称加密的几种典型算法:13.1加密技术原理及典型算法加密技术原理及典型算法(1)DES算法数据加密算法(DataEncryptionAlgorithm,DEA)的数据加密标准(DataEncryptionStandard,DES)是由IBM在20世纪70年代发展起来的,并经过政府的加密标准筛选后,于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(AmericanNationalStandardInstitu
6、te,ANSI)承认.最初开发的DES是嵌入硬件中的,通常自动取款机(AutomatedTellerMachine,ATM)都使用DES.13.1加密技术原理及典型算法加密技术原理及典型算法13.1加密技术原理及典型算法加密技术原理及典型算法攻击DES的主要形式是穷举攻击,即重复尝试各种密钥直到有一个符合为止.DES的另外两种最重要的密码攻击是差分密码分析和线性密码分析。其中,线性攻击更有效。目前DES算法可以在很短的时间内被破译,基本上已经过时。(2)高级加密标准(AES)NIST(美国国家标准技术研究所)在1997年1月2日正式宣布了NIST计划,该计划公开征集和评估新的数据加密候选标准(
7、新的标准称之为AES)。13.1加密技术原理及典型算法加密技术原理及典型算法(2)高级加密标准(AES)新规则AES密码算法的基本要求是:必须(至少)支持128bits分组加密,支持128/192/256bits密钥(对于128bits密钥,约有3.41038个可能的密钥),比三重DES快、至少与三重DES一样安全。NIST的评判规则大体可分为三大部分:安全性、代价、算法实现特性。13.1加密技术原理及典型算法加密技术原理及典型算法2000年10月2日,NIST宣布获胜者为一个称之为Rijndael的算法,它的开发者是比利时密码专家VincentRimen和JoanDaemen。Rijndae
8、l的原形是Square密码算法。它的设计策略是宽轨迹策略(这种策略是针对差分/线性分析提出的)。Rijndael是一个迭代分组密码,其数据分组与密钥长度都是可变的。但为满足AES的要求,分组长度为128bits,密钥长度为128/192/256bits,相应的轮数为10/12/14。13.1加密技术原理及典型算法加密技术原理及典型算法公开密钥加密技术是密码学方面的一个巨大进步,它需要使用一对密钥分别来完成加密和解密操作。这两个密钥相互关联,却又截然不同,知道其中的一个密钥并不能推导或计算出另一个密钥(在运算上是不可能的)。因此,可以将一个密钥完全公开,而将另一个密钥由用户自己秘密保存。信息发送
9、者使用公开的密钥进行加密,而信息接受者则使用自己保存的私有密钥解密。公开密钥加密技术解决了密钥的管理和发布问题,每个用户都可以把自己的公开密钥进行公开,如发布到一个公钥数据库中。13.1.2公开密钥加密13.1.2公开密钥加密o在非对称密钥加密中,加密函数为,其输入为密钥K1和明文M,输出为密文C,即:o使用解密函数和相应的密钥K2对密文进行解密,从而显示原始的明文信息,即:o其过程如下图所示公钥密码学加密:加密:EK1(M)=C解密:解密:DK2(C)=M 等效于等效于 DK2(EK1(M)=M数学变换数学变换函数函数密钥密钥K1明文明文密文密文数学变换数学变换函数函数密钥密钥K2明文明文密
10、文密文公钥密码学网络网络信息信息M M非对码密钥算法非对码密钥算法B B公钥公钥密文密文C C用户用户B B用户用户A A非对称非对称密码算法密码算法密文密文C C信息信息M MB B私钥私钥A要发送机密消息给B,首先她从公钥数据库中查询到B的公开密钥,然后利用B的公开密钥和算法对数据进行加密操作,把得到的密文信息传送给B;B在收到密文以后,用自己保存的私钥对信息进行解密运算,得到原始数据。13.1.2公开密钥加密常用的公开密钥算法有RSA、ECC等。RSA公开密钥密码系统是由R.Rivest、A.Shamir和L.Adleman于1977年提出的。RSA的取名就是来自于这三位发明者的姓的第一
11、个字母。RSA公开密钥密码体制的安全性取决于从公开密钥(n,e)计算出秘密密钥(n,d)的困难程度,而后者则等同于从n找出它的两个质因数p和q。因此,寻求有效的因数分解的算法就是寻求一把锐利的矛,来击穿RSA公开密钥密码系统这个盾。13.1.2公开密钥加密椭圆曲线密码系统(EllipticCurveCryptosystem)实际上是将原有的加密算法通过某些运算移植到椭圆曲线上。该体制既可以实现密钥交换协议和公钥加密,也可以实现数字签名。13.1.1对称密钥密码对称密钥密码对称密码算法,加/解密速度快,但密钥分发问题严重;非对称密码算法,加/解密速度较慢,但密钥分发问题易于解决。为解决每次传送更
12、换密钥的问题,结合对称加密技术和非对称密钥加密技术的优点,产生了电子信封技术,用来传输数据。13.1.3电子信封技术电子信封技术的原理:用户A需要发送信息给用户B时,用户A首先生成一个对称密钥,用这个对称密钥加密要发送的信息,然后用用户B的公开密钥加密这个对称密钥,用户A将加密的信息连同用用户B的公钥加密后的对称密钥一起传送给用户B。用户B首先使用自己的私钥解密被加密的对称密钥,再用该对称密钥解密出信息。13.1.3电子信封技术图13-3 电子信封技术的原理13.2Hash函数原理和典型算法o13.2.1Hash函数概述o13.2.2Hash算法的分类13.2.1Hash函数概述Hash函数也
13、称为消息摘要(MessageDigest),其输入为一可变长度x,返回一固定长度串,该串被称为输入X的Hash值(消息摘要)。Hash函数一般满足以下几个基本需求:o(1)输入X可以为任意长度;o(2)输出数据长度固定;o(3)容易计算,给定任何X,容易计算出X的Hash值H(x);o(4)单向函数:即给出一个Hash值,很难反向计算出原始输入;(5)唯一性:即难以找到两个不同的输入会得到相同的Hash输出值(在计算上是不可行的)。Hash值的长度由算法的类型决定,与被Hash的消息大小无关,一般为128或者160位。即使两个消息的差别很小,如仅差别一两位,其Hash运算的结果也会截然不同,用
14、同一个算法对某一消息进行Hash运算只能获得惟一确定的Hash值。常用的单向Hash算法有MD5、SHAl等。13.2.1Hash函数概述(1)MD算法MD算法(MessageDigestAlgorithm,信息摘要算法)是由Rivest从20世纪80年代末起所开发的系列散列算法的合称,历称MD2、MD3、MD4和发展到现在的MD5。1991年,Rivest开发出技术上更为趋近成熟的MD5算法.它在MD4的基础上增加了”SafetyBelts”的概念.虽然MD5比MD4稍微慢一些,但却更为安全.对MD5算法简要的叙述可以为MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子
15、分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值.13.2.2Hash算法的分类(2)SHA算法SHA(SecureHashAlgorithm,安全散列算法)由美国国家标准和技术协会(NationalInstitureofStandardsandTechnology,NIST)开发,SHA1是NIST于1994年发布的SHA算法的修订版.该算法起初是针对DSA算法而设计的,但也可以用于RSA算法和其他的公钥签名算法.其设计原理与RonRivest提出的MD2、MD4,尤其是MD5散列函数的设计原理类似.目前的计算能力表明:SHA116
16、0位的散列值虽然执行较慢,但已经能够提供足够的中等期限的安全.目前正在研制的SHA1有更长的散列值,可用于提供更长期限的安全.和MD5比较,它的输出是160位,速度稍慢一些,但是安全性要好一些.13.2.1Hash函数概述(3)HMAC算法HMAC(HashedMessageAuthenticationCode,散列信息验证码)是利用对称密钥和现有的单向函数生成信息验证码的一种散列算法,可以提供数据的完整情和验证.首先,它对数据包使用带密钥的散列算法,产生一个接收方可以进行验证的数字签名.如果信息在传输的过程中被改变,那么散列值必然与原来的数字签名有所不同,于是接收方把这个IP数据包丢弃.HM
17、AC有不同的具体散列实现算法,它们产生不同长度的数字签名,分别对应不同级别的安全要求.13.2.1Hash函数概述13.3 数字签名数字签名数字签名是在公钥密码体制下很容易获得的一种服务,它的机制与手写签名类似:单个实体在数据上签名,而其他的实体能够读取这个签名并能验证其正确性。数字签名从根本上说是依赖于公私密钥对的概念,可以把数字签名看作是在数据上进行的私钥加密操作。如果Alice是淮一知道这个私钥的实体,很明显她就是惟一能签署该数据的实体,另一方面,任何实体(只要能够获得Alice相应的公钥)都能在数据签名上用公开密钥作一次解密操作,验证这个签名的结果是否有效。13.3数字签名o13.3.
18、1数字签名的实现方法o13.3.2数字签名的特性和功能o13.3.3常用数字签名体制要签名的数据大小是任意的,而一个私钥操作却有着固定大小的输入和输出,要解决这个问题,可以使用单向Hash函数。这时,数字签名就不是对原始数据进行签名,而只是对数据的Hash运算结果进行签名,数字签名的过程为(1)发送方产生文件的单向Hash值:(2)发送方用他的私钥对Hash值加密,凭此表示对文件签名;13.3.1数字签名的实现方法(3)发送方将文件和Hash签名送给接受方;(4)接受方用发送方发送的文件产生文件的单向Hash值,同时用发送方的公钥对签名的Hash值解密。如果签名的Hash值与自己产生的Hash
19、值匹配,签名就是有效的。13.3.1数字签名的实现方法图 13-4 数字签名与验证过程示意图数字签名除了具有普通手写签名的特点和功能外,还具有自己独特的特性和功能.(1)数字签名的特性o签名是可信的:任何人都可以方便地验证签名的有效性。o签名是不可伪造的:除了合法的签名者之外,任何其它人伪造其签名是困难的.这种困难性指实现时计算上是不可行的。13.3.2数字签名的特性和功能o签名是不可复制的:对一个消息的签名不能通过复制变为另一个消息的签名.如果一个消息的签名是从别处复制的,则任何人都可发现消息与签名的不一致性,从而可以拒绝签名的消息。o签名的消息是不可改变的:经签名的消息不能被篡改.一旦消息
20、的签名被篡改,则任何人都可以发现消息与签名之间的不一致性.o签名是不可抵赖的:签名者不能否认自己的签名。13.3.2数字签名的特性和功能(2)数字签名技术的功能数字签名可以解决否认、伪造、篡改及冒充等问题,具体要求为:o发送者事后不能否认发送的报文签名;o接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改;o网络中的某一用户不能冒充另一用户做为发送者或接收者。13.3.2数字签名的特性和功能用非对称加密算法实现的数字签名技术最常用的是DSS和RSA签名,下面分别做简单介绍.(1)RSA签名RSA是最流行的一种加密标准,许多产品的内核中都有R
21、SA的软件和类库,早在Web悄速发展之前,RSA数据安全公司就负责数字签别名拖放功能,用户只要把需要加密的数据拖到相应的图标上,就完成了电子形式的数字签别名.RSA与Microsoft、IBM、Sun和Digital都签订了许可协议,使在其生产线上加入了类似的签名特性.与DSS不同,RSA既可用来加密数据,也要以用于身份认证.和Hash签名相比,在公钥系统中,由于生成签名的密钥只存储于用户的计算机中,安全系数就大一些。13.3.3常用数字签名体制(2)DSS签名DigitalSignatureAlgorithm(DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(
22、DigitalSignatureStandard)数字签名标准。DSS是由美国国家标准化研究院和国家安全局共同开发的.由于它是由美国政府颁布布实施的,主要用于与美国政府做生意的公司,其他公司则较少使用,它只是一个签名系统,而且美国政府不提倡使用任何削弱政府窃听能力的加密软件,认为这才符合美国的国家利益。13.3.3常用数字签名体制13.4 身份认证技术身份认证技术身份认证理论是一门新兴的理论,是现代密码学发展的重要分支。在一个安全系统设计中,身份认证是第一道关卡,用户在访问所有系统之前,首先应该经过身份认证系统识别身份,然后由安全系统根据用户的身份和授权数据库决定用户是否能够访问某个资源。身份
23、认证理论是一门新兴的理论,是现代密码学发展的重要分支。在一个安全系统设计中,身份认证是第一道关卡,用户在访问所有系统之前,首先应该经过身份认证系统识别身份,然后由安全系统根据用户的身份和授权数据库决定用户是否能够访问某个资源。在真实世界中,验证一个人的身份主要通过三种方式判定,一是根据你所知道的信息来证明你的身份(whatyouknow),假设某些信息只有某个人知道,比如暗号等,通过询问这个信息就可以确认这个人的身份;二是根据你所拥有的东西来证明你的身份(whatyouhave),假设某一个东西只有某个人有,比如印章等,通过出示这个东西也可以确认个人的身份;三是直接根据你独一无二的身体特征来证
24、明你的身份(whoyouare),比如指纹、面貌等。13.4 身份认证技术身份认证技术在网络环境下根据被认证方赖以证明身份秘密的不同,身份认证可以基于如下一个或几个因子:o双方共享的数据,如口令;o被认证方拥有的外部物理实体,如智能安全存储介质;o被认证方所特有的生物特征,如指纹、语音、虹膜、面相等。在实际使用中,可以结合使用两种或三种身份认证因子。13.4 身份认证技术身份认证技术13.4 身份认证技术身份认证技术o13.4.1身份认证系统的分类o13.4.2基于口令的认证技术o13.4.3双因子身份认证技术o13.4.4生物特征认证技术可以按以下方式对身份认证系统进行分类:(1)条件安全认
25、证系统与无条件安全认证系统无条件安全性又称理论安全性,它与敌方的计算能力和拥有的资源无关,即敌方破译认证系统所作的任何努力都不会比随机选择碰运气更优。条件安全性又称实际安全性,即认证系统的安全性是根据破译该系统所需的计算量来评价的,如果破译一个系统在理论上是可行的,但依赖现有的计算工具和计算资源不可能完成所要求的计算量,称之为在计算上是安全的。13.4.1身份认证系统的分类(2)有保密功能的认证系统与无保密功能的认证系统前者能够同时提供认证和保密两种功能,一般采用多种加密技术,而且也涉及多种密钥,而后者则只是纯粹的认证系统,不提供数据加密传输功能。13.4.1身份认证系统的分类(3)有仲裁认证
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络的攻击与防范-理论与实践 第3篇 网络防御部分 第13章 密码及认证技术 网络 攻击 防范 理论 实践 防御 部分 13 密码 认证 技术
限制150内