信息安全第3章网络安全技术.ppt
《信息安全第3章网络安全技术.ppt》由会员分享,可在线阅读,更多相关《信息安全第3章网络安全技术.ppt(285页珍藏版)》请在三一文库上搜索。
1、第章 网络安全技术,3.1 密钥管理 3.2 身份认证 3.3 访问控制 3.4 公钥基础设施 3.5 授权管理基础设施 3.6 IP安全技术 3.7 传输层安全,3.1 密 钥 管 理 3.1.1 概论 密钥的管理是整个加密系统中最薄弱的环节,密钥的泄露将直接导致明文内容的泄露。例如曾经有一种计算机使用了DES算法来实现一个文件加密工具,它将密钥与密文保存在一起,用户可以选择用密文或明文形式保存文件,而且加密/解密过程是透明的,使用很方便。但是,对于了解密文格式的攻击者而言,他可以很容易地发现密文的密钥,从而发现明文。显然从密钥管理的途径窃取机密比用破译的方法花费的代价要小得多,所以对密钥的
2、管理和保护格外重要。,网络安全所依赖的基础之一就是对传送数据的加密。无论是链路加密还是端到端加密,其核心都是密钥技术的应用。密钥管理是数据加密技术中的重要内容,密钥管理的目的是确保密钥的安全性(包括真实性和有效性)。 密钥管理涉及密钥的生成、验证、传递、保管、使用及销毁等多个方面,涵盖了密钥的整个生存周期,另外还涉及密钥的行政管理制度和管理人员的素质。其中,密钥管理最主要的过程是密钥生成、保护和分发。,3.1.2 密钥的组织结构 从信息安全的角度看,密钥的生存期越短,破译者的可乘之机就越少。在实际使用中,尤其是在网络环境下,多采用层次化的密钥管理结构。用于数据加密的工作密钥平时不在加密设备中,
3、需要时动态产生,并由其上层的密钥加密密钥进行加密保护;密钥加密密钥可根据需要由其上一级的加密密钥进行保护,依此类推。层次的划分根据实际的使用环境确定,与环境的规模有关,规模越大,层次越多。最高层的密钥称为主密钥,它构成整个密钥管理系统的核心。在分层密钥管理系统中,通常低一层的密钥由高一层按照某种密钥协议生成,所以,掌握了主密钥,就有可能找出下层的各个密钥。,工作密钥常称为会话密钥,建立会话密钥的必要性在于:重复使用密钥容易导致泄露,所以应经常更换;如果使用相同的密钥,攻击者可将以前截获的信息插入当前的会话,而通信双方不一定能发现;密钥一旦被破解,则使用这一密钥加密的信息都会失密,若使用会话密钥
4、,则只有当前会话的信息失密;如果对方不可靠,则更换会话密钥可防止对方以后继续窃取信息。 多层密钥体制大大增强了密码系统的安全性。因为使用得最多的会话密钥经常更换,而高层密钥则用得较少,使得破译者可用的信息变得很少,增加了攻击的难度。,另外,多层密钥体制为自动化管理带来了方便,因为下层密钥可由计算机系统自动产生和维护,并通过网络自动分配和更换,减少了接触密钥的人数,也减轻了用户的负担。 在层次结构框架下,可以对密钥进行连通和分割定义。密钥的连通是指在用户之间共享密钥的范围;而密钥的分割是指对这个范围的限制(细化)。按空间分割密钥,可区分不同的用户群,例如: 不同密级的数据之间的密钥分割; 不同业
5、务部门、业务系统之间的密钥分割; 上下级机关之间的密钥分割; 应用系统和管理系统之间的密钥分割,等等。,按时间分割密钥可实现让各个用户在不同的时期使用不同的密钥,使用户的使用权具有时间限制。 分割的实现有两种方式: 静态分割:在给用户的加密设备注入密钥时就给定了用户的密码连通范围,即用户只能使用注入的密钥; 动态分割:密钥分配中心定期向规定范围内的用户加密传送一个用于控制分割范围的通播密钥(向指定用户广播的密钥),即收到什么,使用什么。,3.1.3 密钥管理的基本内容 密钥管理所涉及的工作内容如图3-1所示。用户经注册后获得在系统中合法使用密钥的权力,并经初始化后正式成为使用者。系统为用户生成
6、其所使用的密钥,若非初次使用,可以在以前的基础上进行密钥更新。用户可以自行保管自己的密钥或委托系统代为保管,如果是后者,则每次进入系统后需要从系统中将密钥恢复处理。用户获得密钥后需要安装在自己的环境中,以实现与相应应用的衔接。为保证安全性,用户还可以将密钥备份在系统中。如果使用非对称密钥,则用户的密钥需要首先在CA中进行注册,然后才可使用。如果密钥丢失(但未泄露),则用户可以重新恢复密钥;,如果密钥已泄露或不再需要,则要将其撤销。由于被密钥作用的数据可能仍然存在,因此被撤销的密钥不能立即丢弃,要保存在密钥档案库中,以备使用这些数据时需要。如果确信相关数据也结束生命周期,则对应的密钥可以销毁。,
7、图3-1 密钥管理的总体结构,3.2 身 份 认 证 3.2.1 认证的基本原理 1认证的概念 身份认证是在计算机网络中确认操作者身份的过程。在现实生活中,人们的身份主要是通过各种证件来确定的。计算机网络信息系统中,各种计算资源(如文件、数据库、应用系统)也需要认证机制的保护,确保这些资源被应该使用的人使用。在计算机网络世界中,一切信息包括用户的身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。,为了保护网络资源及落实安全政策,需要提供可追究责任的机制。这里涉及3个概念:认证、授权和审计。 认证(Authentication):对用
8、户身份或用户访问对象的资格的验证。认证能防止攻击者假冒合法用户获取访问权限。 授权(Authorization):授权是指当用户身份被确认合法后,赋予该用户进行文件和数据等操作的权限。这种权限包括读、写、执行及从属权等。 审计(Auditing):每一个人都应该为自己所做的操作负责,所以在做完事情之后都要留下记录,以便核查责任。 用户对资源的访问过程如图3-2所示。,图3-2 用户对资源的访问过程,身份认证分为单向认证和双向认证。如果通信的双方只需要一方被另一方认证身份,这样的认证过程就是单向认证。在双向认证过程中,通信双方需要相互认证对方的身份。,2身份认证的方法 在真实世界中,对用户的身份
9、认证基本方法可以分为三种: 根据你所知道的信息来证明你的身份(what you know,你知道什么); 根据你所拥有的东西来证明你的身份(what you have,你有什么); 直接根据独一无二的身体特征来证明你的身份(who you are,你是谁),比如指纹、面貌等。在网络世界中,身份认证的手段与真实世界中的一致,为了达到更高的身份认证安全性,某些场景中,会从上面三种方法中挑选其中的两种混合使用,即所谓的双因素认证。,表3-1 几种身份认证技术特点的比较,3.2.2 认证协议 1. 基于口令的认证 1) 静态口令认证技术 (1) 静态口令基本原理。静态口令是使用最早、最广泛的认证手段。
10、因其实现简单、使用方便,得到了广泛的应用。它的基本原理是:用户在注册阶段生成用户名和初始口令,系统在其数据库中保存用户的信息列表(用户名ID + 口令PW)。当用户登录认证时,将自己的用户名和口令上传给服务器,服务器通过查询用户信息数据库来验证用户上传的认证信息是否和数据库中保存的用户列表信息相匹配。如果匹配,则认为用户是合法用户;否则拒绝服务,并将认证结果回传给客户端。用户定期改变口令,以保证安全性。具体的认证过程见图3-3。,图3-3 静态口令认证过程,(2) 静态口令认证机制的安全性分析。口令泄露是口令认证系统面临的最大威胁。用户口令通常是一组字符串,长度不会太长。为了记忆方便常选择有规
11、律或有意义的字符串,如生日、人名、电话号码等。另外,口令明文传输和不加密存放使得静态口令认证系统的安全性很差。主要存在以下问题: 网络窃听。很多网络服务在询问和验证远程用户认证信息时,认证信息都是以明文形式进行传输的,如大量的通信协议(如Telnet、FTP、HTTP等)都使用明文传输。这意味着网络中的窃听者只需使用协议分析器就能查看到认证信息,从而分析出用户的口令。, 截取/重放。有的系统会将服务器中用户信息加密后存放,用户在传输认证信息时也先进行加密。这样虽然能防止窃听者直接获得口令,但使用截取/重放攻击,攻击者只要在新的登录请求中将截获的信息提交给服务器,就可以冒充登录。 字典攻击。某些
12、攻击者利用用户口令使用生日、人名等有意义的单词或数字的特点,使用字典的单词来尝试用户的口令,这就是所谓的字典攻击。因此,许多系统都建议用户在口令中加入特殊字符,以增加口令的安全性。, 穷举攻击。如果用户口令较短,攻击者就会使用字符串的全集作为字典,来对用户口令进行猜测。它是字典攻击的一种特殊形式。 伪造服务器攻击。最常见的是网络钓鱼,即攻击者通过伪造服务器来骗取用户认证信息,然后冒充用户进行正常登录。 口令泄露。攻击者通过窥探、社交工程、垃圾搜索、植入木马等手段,窃得用户口令;或用户自己不慎将口令告诉别人或将口令写在其他地方被别人看到,造成口令的泄露。,由于静态口令存在的缺陷,基于静态口令的身
13、份认证正逐渐退出历史舞台。近年来,许多专家提出了其他的身份认证方式,如:生物认证、智能卡认证、动态口令认证等。动态口令认证因其具有高安全性、可靠、简单、容易实现、成本低、投资规模小等特点,而得到广泛的应用。,2) 动态口令认证技术 1981年,美国科学家Lamport首次提出了利用散列函数产生一次性口令的思想。1991年贝尔通信研究中心(Bell Core)用DES加密算法首次研制出基于挑战/应答式动态口令身份认证系统S/KEY口令序列认证系统,后改用MD5算法作为散列函数产生动态口令。1997年著名的RSA Security公司成功研制出基于时间同步的动态口令认证系统RSA Secure I
14、D。从上世纪90年代开始,动态口令认证系统在网银、电子商务。政府等领域大量成功地应用,其中金融行业特别是银行业占有将近1/3的市场份额。,(1) 动态口令基本原理。动态口令也叫一次性口令。它的基本原理是:在用户登录过程中,基于用户口令加入不确定因子,对用户口令和不确定因子进行单向散列函数变换,所得的结果作为认证数据提交给认证服务器。认证服务器接收到用户的认证数据后,把用户的认证数据和自己用同样的散列算法计算出的数值进行比对,从而实现对用户身份的认证。散列函数在认证过程中起着至关重要的作用,它把可变输入长度串(预映射)转换成固定长度输出串(散列值)且单方向运行,即从预映射的值很容易计算散列值,但
15、要从散列值推出预映射值非常困难,使得攻击者通过网络窃听截取登录信息却无法反推出用户口令。在认证过程中,用户口令不在,网络上传输,不直接用于验证用户的身份,用户口令和不确定因子使用散列算法生成的数据才是直接用于用户身份认证的数据,且每次都采用不同的不确定因子来生成认证数据,从而每次提交的认证数据都不相同,提高了登录过程的安全性。 (2) 动态口令认证机制的分类。根据加入不确定因子的选择方式不同,常用动态口令认证机制有时间同步机制、事件同步机制和挑战/应答机制三种。, 时间同步机制。时间同步机制就是以时间作为不确定因子。它的原理是:每个用户都持有相应的时间同步令牌,令牌内置时钟、种子密钥和加密算法
16、。时间同步令牌根据当前时间和种子密钥每60秒动态生成一个动态口令。用户需要访问系统时,将令牌生成的动态口令传送到认证服务器,服务器通过其种子密钥副本和当前时间计算出所期望的验证值,对用户进行验证。它的优点是操作简单、易于管理,缺点是需要认证服务器和用户令牌的时钟严格保持同步,否则因网络延迟很容易造成正常认证失败,在分布式环境下很难管理。, 事件同步机制。事件同步机制又称为Lamport方式。事件同步机制是以事件(次数N作为变量。在初始化阶段选取口令PW、迭代数N及一个单向数列函数H0,计算Y = Hn(PW)(Hn()表示进行n次散列运算),把Y和N的值存放到服务器上。在登录阶段,用户端计算Y
17、 = Hn-1(PW)的值,将其提交给服务器,服务器端计算Z = H(Y),将Z值同服务器上保存的Y值进行比较。如果Z = Y,则验证成功。然后用Y 的值代替服务器上Y的值作为下次的验证值,同时将N的值递减1。这种认证方式的优点是容易实现,不需要特殊硬件,可以在批次运作环境下使用;缺点是安全性依赖于单向散列函数,不宜在分布式网络环境下使用,由于N是有限的,用户登录N次后必须重新初始化口令序列,且很难抵挡小数攻击。, 挑战/应答异步认证机制。该机制就是以挑战数作为变量。每个用户同样需要持有相应的挑战/应答令牌。令牌内置种子密钥和加密算法。用户在访问系统时,服务器随机生成一个挑战数并将其发送给用户
18、,用户将收到的挑战数用手工输入到挑战/应答令牌中,挑战/应答令牌利用内置的种子密钥和加密算法计算出相应的应答数,将应答数上传给服务器,服务器根据存储的种子密钥副本和加密算法计算出相应的验证数,和用户上传的应答数进行比较来实施认证。认证过程见图3-4。该方式的优点是没有同步的问题,可以保证很高的安全性,是目前最安全可靠的认证方式;缺点是需要特殊硬件支持,用户需多次手工输入数据,易造成较多的输入失误,操作过程繁琐,易被伪造服务器攻击,服务器端每次都要产生随机数,增加了系统开销。,图3-4 挑战/应答式动态口令认证过程,(3) 动态口令认证机制安全性分析。动态口令采用的是一次一密机制,它在原理上是不
19、可破的。下面针对常用的攻击手段对动态口令认证系统的安全性进行分析。 网络窃听:因为在网络上传输的登录口令是经过单向散列变换后的数据,用户口令并不在网上传输,所以网路即使被窃听,攻击者也无法从得到的信息推出用户口令。 截取/重放:因为加入了不确定因子,用户每次提交的认证数据都不相同,攻击者截取的认证数据在下次认证中没有任何意义。, 字典/穷举攻击:因为使用了双因子(用户口令和不确定因子)进行散列变换生成动态口令,使攻击者利用字典/穷举攻击变得困难,但如果用户口令太短,则也容易被攻击者攻破。 伪造服务器攻击:大多数模式只实现了服务器对用户的认证,并没有对服务器进行认证,尤其是基于事件的认证机制不能
20、抵御小数攻击。但现在有许多改进算法结合证书、密码技术很好地克服了这一缺点。 口令泄露:只能有效抵御。因为用户如果不妥善保管口令,口令还是易被攻击者通过窥探、垃圾搜索等手段获取的,但动态口令认证机制能抵御社交工程攻击。,动态口令技术能抵御大部分针对静态口令认证的网络攻击,提高了安全性,特别是能有效抵御网络窃听、截取/重放、社交工程等攻击,但不能有效抵御伪造服务器攻击和来自内部的攻击。现在有许多的改进方案,弥补了动态口令无法实现双向认证和无法克服来自内部攻击的缺点,并正在逐步取代传统的静态口令认证方式。随着认证市场的巨大需求,改进的先进的的动态口令认证机制将越来越应用广泛。,2. 基于对称密码的认
21、证协议 1) Needham-Schroeder认证协议 著名的Needham-Schroeder认证协议出现于1978年。首先需建立被称为鉴别服务器的可信权威机构(密钥分发中心KDC),该机构拥有每个用户的秘密密钥。若用户A欲与用户B通信,则用户A向鉴别服务器申请会话密钥。在会话密钥的分配过程中,双方身份得以鉴别。 (1) A KDC:A | B | Ra (2) KDC A:EKa Ra | B | Ks | EKb Ks |A (3) A B:EKb Ks | A (4) B A:EKs Rb (5) A B:EKs Rb-1,具体认证过程见图3-5,其中KDC是密钥分发中心,Ra、Rb
22、是一次性随机数,保密密钥Ka和Kb分别是A和KDC、B和KDC之间共享的密钥,Ks是由KDC分发的A与B的会话密钥,EX表示使用密钥X加密。 Needham-Schroeder认证协议使用了多次挑战/响应协议。 (1) A告诉KDC,A想与B通信,明文消息中包含一个大的随机数Ra。 (2) KDC发送一个使用A和KDC之间共享的密钥Ka加密的消息,消息包括由KDC分发的A与B的会话密钥Ks,A的随机数Ra,B的名字,一个只有B能看懂的许可证。A的随机数Ra保证了该消息是新的而不是攻击者重放的,B的名字保证了第一条明文消息中的B未被更改,许可证EKbKs | A使用B和KDC之间共享的密钥Kb加
23、密。,图3-5 Needham-Schroeder认证过程,(3) A将许可证EKbKs | A发给B。 (4) B解密许可证EKbKs | A,获得会话密钥Ks,然后产生随机数Rb,B向A发送消息EKsRb。 (5) A向B发送消息EKsRb-1,以证明是真正的A与B通信。 以上完成了双向认证,并同时实现了秘密通信。 假定攻击方已经掌握A和B之间通信的一个老的会话密钥(如经过蛮力攻击等),则入侵者I可以在第3步冒充A利用老的会话密钥欺骗B。除非B记住所有以前使用的与A通信的会话密钥,否则B无法判断这是一个重放攻击。,i3 I(A) B:EKb Ks | A i4 B I(A):EKs Rb
24、i5 I(A) B:EKs Rb-1 这里I(A)表示I假冒A。Needham和Schroeder于1987年发表了一个协议修正了这个漏洞。Denning-Sacco协议使用时间戳修正这个漏洞。这里介绍Gavin Lowe在1997年给出的基于Denning-Sacco协议的改进版本: (1) A KDC:A | B (2) KDC A:EKa B | Ks | T | EKb Ks | A | T,(3) A B:EKb Ks | A | T (4) B A:EKs Rb (5) A B:EKs Rb-1 其中T表示时间戳。T记录了KDC发送消息(2)时的时间,A、B根据时间戳验证消息的“新
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 网络 安全技术
链接地址:https://www.31doc.com/p-2781037.html