Presentation is loading. Please wait.

Presentation is loading. Please wait.

网络安全与电子商务 章学拯 zxz@chinaelab.com.

Similar presentations


Presentation on theme: "网络安全与电子商务 章学拯 zxz@chinaelab.com."— Presentation transcript:

1 网络安全与电子商务 章学拯

2 前导课程 电子商务概论 计算机网络 操作系统

3 课程目标 掌握密码学的基本概念 了解信息加密和数字签名原理 掌握信息加密和数字签名的操作 了解计算机网络中的身份认证技术和应用
熟悉互联网基本技术——TCP/IP和WWW技术及其安全问题 掌握保障网络安全基本工具的使用方法 了解网络攻击方式和防御措施

4 课程体系 信息安全基础知识 信息安全技术 TCP/IP与WWW网站安全 系统的攻击与防御
安全概念、安全特征、安全体系、安全策略、安全技术、安全现状和趋势 信息安全技术 密码学、对称密钥密码、非对称密钥密码、密钥管理、数字签名、PKI、身份认证、访问控制 TCP/IP与WWW网站安全 TCP/IP协议安全、Web网站安全 系统的攻击与防御 攻击方法和工具、系统安全策略、防火墙技术、检测和扫描、病毒防止

5 网络安全与电子商务 第1章 电子商务安全基础知识 第2章 信息加密技术与应用 第3章 数字签名技术与应用 第4章 数字证书与公钥基础设施
第5章 身份认证与访问控制 第6章 TCP/IP与WWW安全 第7章 防火墙的构造与选择 第8章 计算机病毒及其防治技术 第9章 系统入侵的鉴别与防御

6 第1章 电子商务安全基础知识 第1节 电子商务安全概述 第2节 电子商务的安全保障

7 第1节 电子商务安全概述 电子商务安全的概念 电子商务安全的特征 网络安全体系与黑客攻击

8 概念 电子商务是利用计算机网络所进行的商务活动。因此,电子商务的安全问题除了作为商务活动本身所存在的风险外,本课程主要介绍由于计算机网络的应用所带来的安全问题。 电子商务的关键是商务信息电子化。因此,电子商务的安全性问题的关键是计算机信息的安全性 信息的价值( = 使用信息所获得的收益 ─ 获取信息所用成本)决定了信息被窃取或篡改的可能性和频率,因此,信息具备了安全的保护特性。 对电子商务安全的要求 电子商务的安全环

9 对电子商务安全的要求 2004年10月7日,公安部公布的2004年全国信息网络安全状况调查结果显示,在被调查的7072家政府、金融证券、教育科研、电信、广电、能源交通、国防和商贸企业等部门和行业的重要信息网络、信息系统使用单位中,发生网络安全事件的比例为58%。其中,发生3次以上的占23%。计算机病毒、蠕虫和木马程序造成的安全事件占发生安全事件单位总数的79%,拒绝服务、端口扫描和篡改网页等网络攻击事件占43%,大规模垃圾邮件传播造成的安全事件占36%。54%的被调查单位网络安全事件造成的损失比较轻微,损失严重和非常严重的占10%。 从用户角度 他们关心的是涉及个人隐私或商业利益的信息存储在计算机中或在网络上传输是受到机密性、完整性和真实性的保护,避免其他人或对手利用窃听、冒充、篡改和抵赖的手段对用户的利益和隐私造成损害和侵犯。 从网络运行和管理者角度 他们希望对本地网络信息的访问、读写等操作受到保护和控制,避免出现病毒、非法存取、拒绝服务和网络资源的非法占用及非法控制等威胁。同时希望不要出现因网络或系统本身的缺陷而影响到网络或系统的正常使用。

10 信息安全的要求及发展 20世纪90年代以前——通信保密(COMSEC)时代 20世纪90年代——信息安全(INFOSEC)时代
预警 W 20世纪90年代以前——通信保密(COMSEC)时代 该时代采用的信息安全保障措施就是加密和基于计算机规则的访问控制。 20世纪90年代——信息安全(INFOSEC)时代 数字化信息除了有保密性的需要外,还有信息的完整性、信息和信息系统的可用性需求。因此,该时代提出了信息安全就是要保证信息的保密性、完整性和可用性。 90年代后期起——信息安全保障(IA)时代 该时代信息安全在原来的基础上增加了信息和系统的可控性、信息行为的不可否认性要求。并且需要对整个信息和信息系统的保护和防御,包括对信息的保护、检测、反应和恢复能力。由此形成了包括预警、保护、检测、反应和恢复五个环节的信息保障概念,即信息保障的WPDRR模型。 技术 恢复 R 保护 P 操作 响应 R 监测 D 1. 信息安全的发展及要求   20世纪年代以前,人们认为信息安全就是通信保密,采用的保障措施就是加密和基于计算机规则的访问控制,这个时期被称为通信保密(COMSEC)时代,其时代标志是1949年Shannon发表的《保密通信的信息理论》。到了20世纪90年代,人们的认识加深了,大家逐步意识到数字化信息除了有保密性的需要外,还有信息的完整性、信息和信息系统的可用性需求,因此明确提出了信息安全就是要保证信息的保密性、完整性和可用性,这就进入了信息安全时代。     信息安全经历了(INFOSEC),其时代标志是1977年美国国家标准局公布的国家数据加密标准(DES)和1983美国国防部公布的可信计算机系统评价准则(TCSEC)。90年代后期到现在,认识进一步加深,信息安全在原来的概念上增加了信息和系统的可控性、信息行为的不可否认性要求,同时,人们也开始认识到安全的概念已经不局限于信息的保护,人们需要的是对整个信息和信息系统的保护和防御,包括了对信息的保护、检测、反应和恢复能力。于是出现了信息安全保障的概念:为了保障信息安全,除了要进行信息的安全保护,还应该重视提高安全预警能力、系统的入侵检测能力,系统的事件反应能力和系统遭到入侵引起破坏的快速恢复能力。区别于传统的加密、身份认证、访问控制、防火墙、安全路由等技术,信息保障强调信息系统整个生命周期的防御和恢复,同时安全问题的出现和解决方案也超越了纯技术范畴。由此形成了包括预警、保护、检测、反应和恢复五个环节的信息保障概念,即信息保障的WPDRR模型,信息安全进入信息保障时代,见图一所示。美国国家安全局制定的《信息保障技术框架》(IATF)则是这个时代的一个典型标志。     信息保障的核心思想是深层防御战略(Defense in Depth)。所谓深层防御战略就是采用一个层次化的、多样性的安全措施来保障用户信息及信息系统的安全。 如图二所示:   在深层防御战略(Defense in Depth)中,人、技术和操作是三个主要核心因素,要保障信息及信息系统的安全,三者不可或缺;从技术上讲深层防御战略体现为在包括主机、网络、系统边界和支撑性基础设施等多个网络环节之中如何实现预警、保护、检测、反应和恢复(WPDRR)这五个安全内容。   深层防御战略的含义是多方面的,它试图全面覆盖一个层次化的、多样性的安全保障框架。深层防御战略的核心目标就是在攻击者成功地破坏了某个保护机制的情况下,其它保护机制依然能够提供附加的保护。

11 电子商务的安全环 安全的密码算法

12 网络安全 网络系统运行安全 网络传输信息安全 保护网络系统的安全运行,使网络系统能提供预期的有效服务;
网络系统安全包括组成网络系统的七层协议(或TCP/IP四层协议)的每一层的安全以及网络系统中所采用的各种设备和软件在内的综合性系统安全。 网络传输信息安全 对在网络中传输的数据信息进行有效保护,使其在保密性、完整性、可控性和不可抵赖性方面达到预定的目标要求。

13 关于电子商务安全的思考 电子商务活动中存在或可能存在的安全问题有哪些?试列举具体的问题。 这些具体的问题能否归纳为有限的几类?

14 电子商务安全的特征 保密性 完整性 不可否认性 认证性 确保信息不暴露给未授权的实体或进程
只有得到允许的人才能修改数据,并且能够判别出数据是否已被篡改 不可否认性 防止通信或交易双方对已进行业务的否认 认证性 信息发送者或系统登陆者身份的确认

15 电子商务安全的特征(续) 可用(访问)性 可控性 可审查性 合法性
得到授权的实体在需要时可访问数据,即攻击者不能占用所有的资源而阻碍授权者的工作 可控性 可以控制授权范围内的信息流向及行为方式 可审查性 对出现的网络安全问题提供调查的依据和手段 合法性 各方的业务行为存在可适用的法律和法规

16 自身缺陷 + 网络开放性 + 管理问题 电子商务安全问题的根源 电子商务安全 网络传输安全 网络运行安全(服务器或客户机被攻击等) 系统安全
信息被泄密、篡改或假冒 网络运行安全(服务器或客户机被攻击等) 网络的缺陷 管理的欠缺 黑客的攻击 系统安全 系统软件的漏洞和后门 系统故障、崩溃 电子商务安全

17 电子商务安全特征与防御体系结构 信息传输 系统安全 网络运行 安全防范技术 保密性 × 完整性 可控性 认证性 不可否认性 可用性
防止电磁泄漏、加密技术 完整性 单向加密、备份 可控性 防火墙、监测、权限、审计 认证性 数字签名、身份认证 不可否认性 数字签名 可用性 容错、容灾、防攻击

18 关于网络安全的思考 你家有几个门?这些门是否已安装了合适的锁?这些锁是否在必要的时候锁好了?
如何才能控制或不受限制的进入互联网上的一台服务器? 攻击互联网上计算机与攻击所在局域网中的其它计算机在操作程序上可能会有哪些差别? 获取他人账号和密码的方法有哪些? 通讯协议 网络端口 用户权限 数据库安全 通讯线路

19 网络系统运行安全体系结构

20 黑客攻击流程 拒绝服务攻击 (DoS) N 踩点 Foot Printing 扫描 Scann ing 资源探查 Enumeration
进入系统 Gaining Access 木马 Trojan Horse 提升权限 Escalating privilege Y 攻击的过程(进攻四部曲) 踩点扫描 被动的侦察(监听) 主动的侦察 获得系统或管理员权限 保持访问 在网络中隐身 清除脚印 踩点 什么是踩点? 踩点就是通过各种途径对所要攻击的目标进行多方面的了解 (包括任何可得到的蛛丝马迹,但要确保信息的准确)。 踩点的方法 域名及其注册机构的查询 公司性质的了解 对主页进行分析 邮件地址的搜集 目标IP地址范围查询 主动的侦察(扫描) 扫描的目的 扫描的目的就是利用各种工具在攻击目标的IP地址或地址段的主机上寻找漏洞。 扫描的原理 扫描是采取模拟攻击的形式对目标可能存在的已知安全漏洞逐项进行检查,目标可以是工作站、服务器、交换机、路由器、数据库应用等对象。根据扫描结果向扫描者或管理员提供周密可靠的分析报告。 被动的侦察(嗅探监听) 背景 网络嗅探监听原本是网络管理员使用一类管理工具,监视网络的状态、数据的流动、以及网络上传输的信息。但这类工具也常被黑客所使用,以此获得网络上传输的敏感信息。监听效果最好的地方是网关、路由器、防火墙之类信息聚集的设备处。 嗅探监听的原理 以太网协议的工作方式: 为将要发送的数据包发往所有的连在一起的主机,也就是广播,在报头中包含目标机的正确地址。因此只有与数据包中目标地址一致的那台主机才会接收数据包,其他的机器都会将包丢弃。但是,当主机工作在监听模式下时,无论接收到的数据包中目标地址是什么,主机都将其接收下来。 一个合法的网络接口应响应的数据帧: 帧的目标区域具有和本地网络接口相匹配的硬件地址; 帧的目标区域具有“广播地址”; 网络接口在接收到上面这两种数据包时,NC(Numerical Control, 数字计算机控制)通过CPU产生一个硬件中断,该中断使操作系统将帧中所包含的数据传送给系统进一步处理。监听软件就是能使本地NC处于混杂状态,这时NC具备“广播地址”所以对所有接收的帧都产生一个硬件中断。 注释: 一台计算机只能监听经过自己网络接口的数据包,不能监听不在同一网段的计算机传输的信息。 网络嗅探监听的检测 检测的难度 运行网络监听的主机只是被动的接收数据,并没有主动的行动,既不会与其他主机交换信息,也不能修改网上传输的信息包。这决定了网络监听检测是非常困难的。 解决办法 运行监听软件的主机系统因为负荷过重,因此对外界的响应缓慢。 对怀疑运行监听程序的主机,用正确的ip地址和错误的物理地址去ping,如果运行了监听程序该机会有响应。因为正常的机器不接受错误的物理地址,处于监听状态的主机会接受。 如何获得系统或管理员权限 获得系统及管理员权限的目的 连接到远程计算机,对他进行控制,达到自己的攻击目的。 获得系统及管理员权限的方法 通过系统漏洞获得系统权限。 通过管理漏洞获得管理员权限。 通过软件漏洞得到系统权限。 通过监听获得敏感信息进一步获得相应权限。 通过弱口令获得远程管理员的用户密码。 通过穷举法获得远程管理员的用户密码。 通过攻破与目标机有信任关系另一台机器进而得到目标机的控制权。 通过欺骗获得权限。 其他有效的方法。 长期保持对攻击目标的控制 后门 入侵者的最后一招便是在受侵害的系统上创造一些机会以便日后卷土重来,并希望能伪装成管理员----种植后门或木马。 后门的种类很多 网页后门 Telnet后门 账号后门 木马 系统后门 击键记录后门 攻击之后的工作(掩盖踪迹) 清除事件查看器日志 清除IIS、中端服务日志 隐藏文件 创建后门 Creating back doors 清除痕迹 Covering tracks 窃取资源 Pilfer若ing

21 第2节 电子商务的安全保障 物理层面 网络层面 系统层面 应用层面 安全管理 电子商务安全的层次 安全环境 安全策略 安全实施 威严的法律
先进的技术 严格的管理 安全策略 物理安全策略 网络安全控制策略 信息加密策略 网络安全管理策略 安全实施 安全攻击与服务 安全技术与产品 国家信息安全工作要点 物理层面 网络层面 系统层面 应用层面 安全管理 计算机场地 节点安全 操作系统 信息保密性 安全政策制度 防雷保安器 链路安全 数据库系统 信息完整性 管理的权限和级别划分 电磁泄漏 网络协议安全 B/S开发平台 身份确认 电磁兼容 广域网安全 中间件 资源的合理 配置和调度 电器安全 数据传输安全 路由安全 功能的实现

22 物理安全策略的目的 防止非法进入计算机控制室和各种偷窃、破坏活动的发生。
保护计算机系统、网络服务器、打印机等硬件实体和通信链路免受自然灾害、人为破坏和搭线攻击; 防止非法进入计算机控制室和各种偷窃、破坏活动的发生。 确保计算机系统有一个良好的电磁兼容和防止电磁泄漏(即TEMPEST技术)的工作环境; 采用各种电磁屏蔽措施,如对设备的金属屏蔽和各种接插件的屏蔽,同时对机房的下水管、暖气管和金属门窗进行屏蔽和隔离; 干扰的防护措施,即在计算机系统工作的同时,利用干扰装置产生一种与计算机系统辐射相关的伪噪声向空间辐射来掩盖计算机系统的工作频率和信息特征。

23 网络安全控制策略 网络安全防范和保护的主要任务是保证网络资源不被非法使用和非常访问。它也是维护网络系统安全、保护网络资源的重要手段。各种电子商务安全策略必须相互配合才能真正起到保护作用,但网络安全控制可以说是保证网络安全最重要的核心策略之一。网络安全控制策略包括: 入网访问控制 网络的权限控制 网络服务器安全控制 网络监测和锁定控制 网络端口和节点的安全控制 防火墙控制

24 信息加密策略 网络加密常用的方法有链路加密、端点加密和节点加密三种。 链路加密——保护网络节点之间的链路信息安全;
端到端加密——对从源端用户到目的端用户的数据传输提供保护; 节点加密——在节点处采用一个与节点机相连的密码装置,对明文进行加密,避免了链路加密节点处易受攻击的缺点 。 对称密码 信息的接收者和发送者使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的对称密码算法有:美国的DES、Triple DES、GDES、New DES; 欧洲的IDEA;日本的FEAL-N、LOKI-91、Skipjack、RC4、RC5以及以替代密码和置换密码为代表的古典密码等。在众多的对称密码算法中影响最大的是DES算法。 非对称密码 收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导出解密密钥。比较著名的不对称密码算法有:RSA、背包密码、McEliece密码、Diffe-Hellman、Rabin、Ong-Fiat-Shamir、零知识证明的算法、椭园曲线、EIGamal算法等等。最有影响的不对称密码算法是RSA。

25 网络安全管理策略 确定安全管理等级和安全管理范围; 制订有关网络操作使用规程和人员出入机房管理制度; 制定网络系统的维护制度和应急措施等。

26 安全攻击 安全攻击是一种针对电子商务系统的故意的威胁行为,它致力于避开安全服务并且侵犯系统的安全策略。安全攻击分为被动攻击(Passive attack)和主动攻击(Active attack)。 被动攻击 被动攻击具有偷听或者监控传输的性质。攻击者的目的就是获得正在传输的信息。被动攻击有释放消息内容和流量分析两种类型。 主动攻击 主动攻击与更改数据流或伪造假的数据流有关,主动攻击可以分为四类:伪装(Masquerade)、重放(Reply)、更改消息内容(Modification)和拒绝服务(Denial of service)。

27 被动攻击 释放消息内容 释放消息内容(Releaseof massage contents)是攻击者通过一定的方式读取发送者发送给接受者的信息的行为,但这种读取并不影响信息的正常传输。攻击者窃取的消息往往是带有机密性或者是非常敏感的信息。 流量分析 流量分析(Traffic analysis)是攻击者分析信息传输的模式,包括分析发收双方、交换信息的频率和信息的长度等数据来获取有用的信息。使用流量分析的攻击者往往是在无法释放消息内容的情况下不得已的做法。譬如:攻击者所得到的释放消息内容是经过加密的消息。

28 主动攻击(1) 伪装 伪装(Masquerade)是指一个实体假装成为另一个不同的实体向第三方发送消息。譬如:一个假冒工商银行的网站向网民发送网页内容,诱骗网民输入银行账户信息。 重放 重放(Reply)是指攻击者使用被动攻击捕获消息后,按照原来的顺序重新发送,从而产生未经授权进入系统的效果。它是一种针对身份鉴别服务的攻击,具体参见第5章。

29 主动攻击(2) 更改消息内容 更改消息内容(Modification)是指攻击者使用被动攻击捕获消息后,更改原始消息的一部分,或者延迟或重行排序消息后重新发送给接收方的行为。 拒绝服务 拒绝服务(Denial of service)是指攻击者阻止或禁止他人对系统的正常使用或管理,这种攻击通常具有明确的攻击目标。譬如:使用超载消息来降低网络的性能甚至造成网络瘫痪。另一种形式的拒绝服务攻击是删除系统文件或数据使得授权使用者无法得到相应的服务或获取数据。

30 安全服务与安全攻击之间的关系 攻击 服务 释放消 息内容 流量 分析 伪装 重放 更改 信息 拒绝 服务 对等实体鉴别 Y 数据源鉴别
流量 分析 伪装 重放 更改 信息 拒绝 服务 对等实体鉴别 Y 数据源鉴别 访问控制 信息机密性 流量机密性 数据完整性 抗抵赖 可用性

31 信息安全技术与产品 以上安全产品共同组成了一个完整的网络安全系统,每一个单独的组件只能完成其中部分功能,而不能完成全部功能。 安全操作系统
防火墙(软件或硬件) 安全扫描(扫描器、扫描软件) 网络监控(入侵检测) 安全审计(安全日志) 信息加密(加密软件) 身份认证(身份认证与数字签名软件/卡、认证令牌) 通信加密(移动通讯网加密技术、SSL产品) 灾难恢复(系统或文件备份和恢复软件) 防病毒(防病毒软件) 以上安全产品共同组成了一个完整的网络安全系统,每一个单独的组件只能完成其中部分功能,而不能完成全部功能。

32 国家信息安全保障工作要点 实行信息安全等级保护制度 基于密码技术网络信任体系建设 建设信息安全监控体系 重视信息安全应急处理工作
风险与成本、资源优化配置、安全风险评估 基于密码技术网络信任体系建设 密码管理体制、身份认证、授权管理、责任认定 建设信息安全监控体系 提高对网络攻击、病毒入侵、网络失窃密、有害信息的防范能力 重视信息安全应急处理工作 指挥、响应、协调、通报、支援、抗毁、灾备 推动信息安全技术研发与产业发展 关键技术、自主创新、强化可控、引导与市场、测评认证、采购、服务 信息安全法制与标准建设 信息安全法、打击网络犯罪、标准体系、规范网络行为 信息安全人材培养与增强安全意识 学科、培训、意识、技能、自律、守法 信息安全组织建设 信息安全协调小组、责任制、依法管理 国家信息化领导小组第三次会议《关于加强信息安全保障工作的意见》——中办发[2003] 27号文

33 第2章 信息加密技术与应用 第1节 基本知识 第2节 对称密钥密码体制 第3节 非对称密钥密码体制 第4节 使用Hash函数进行信息鉴别
第5节 混合型加密体制——PGP 复习和实验要求

34 第1节 基本知识 专业术语和基础知识 密码学的起源——古典加密体制 密码学的发展——现代加密体制 密码分析学

35 密码的基本概念 标准ASCII码(高位0) 扩展ASCII码 (高位1) 密码学(cryptology)由设计用来保护通信的数学技术组成。密码学以非常简单却具有革命性的数学思想为基础;将所有信息作为数字进行处理,并且这些数字能够进行数学计算。数学计算的目的是把信息弄乱,变成毫无意义,使截获该信息的人无法弄清楚原始含义。然而,信息的合法接收者知道如何撤销这些数学计算,从而恢复原始信息。 密码学作为数学的一个分支,包括密码编码学和密码分析学两部分。 密码的基本目标: 机密性、数据完整性、鉴别、抗否认 基本的密码工具: 加密算法、密钥、随机数生成器、单向函数(Hash函数)

36 关于密码工具的思考 现代加密算法有哪两大类?他们的各自特点和用途有哪些? 密钥在现代加密过程中的作用?密钥与加密的安全性的关系?
随机函数在现代加密技术中的作用? 什么是单向函数?单向函数的作用?

37 专业术语 信息发送者和接收者 假设发送者(sender)想发送信息给接收者(receiver),且想安全地发送信息:确认窃听者不能阅读其发送的信息。 信息和加密 未经加密的信息(message)称为明文(plaintext)。伪装信息以隐藏它的内容的过程称为加密(encryp -tion),被加密的信息称为密文(ciphertext),而把密文转变为明文的过程称为解密(decryption)。

38 专业术语 进行信息保密的科学和技术叫做密码编码学(cryptography),从事此行业的人员被称为密码编码者(cryptographer)。 破译密文的科学和技术叫做密码分析学(cryptanalysis),从事密码分析的人员被称为密码分析者(cryptanalyst)。

39 密码学的作用 除了提供保密功能外,密码学通常还具有其他作用:
完整性(integrity):信息的接收者应该能够验证在传送过程中信息没有被修改;入侵者不可能用假信息替代合法信息。 鉴别(authentication):信息的接收者应该能够确认信息的来源;入侵者不可能伪装成他人。 抗抵赖(nonrepudiation):发送者事后不能否认他发送的信息。

40 密码体制的五元组 P:明文的有限集(明文空间) C:密文的有限集(密文空间) K:密钥的有限集(密钥空间) E:加密算法的有限集
D:解密算法的有限集 任意k∈K,加密算法ek∈E和相应的解密算法 dk∈D,使得ek:P→C和dk:C→P分别为加密和解密函数,满足d(ek(x))=x,这里x∈P。

41 算法和密钥 密码算法(algorithm)也叫密码(cipher),是适用于加密和解密的数学函数。 密码的保密方法(算法分类)
受限制的(restricted)算法 密码的保密性基于保持算法的秘密 受限制的算法不可能进行质量控制或标准化。每个用户和组织必须有他们自己唯一的算法。 基于密钥的(key-based) 算法 密码的保密性基于对密钥的保密。

42 Kerckhoffs原则 1883年柯克霍夫斯(Kerchoffs)第一次明确提出了编码的原则:加密算法应建立在算法的公开不影响明文和密钥的安全的基础上。 这一原则已得到普遍承认,成为判定密码强度的衡量标准,实际上也成为古典密码和现代密码的分界线。

43 密码学发展的三个阶段 1949年之前密码学是一门艺术 1949~1975年密码学成为科学
1949年香农(Shannon)发表《保密通信的信息理论》: 所需的保密程度决定了用于加密和解密过程的相应的工作量 密钥的组或加密算法应该不受其复杂性的影响 处理的实现应尽可能简单 编码中的错误不应传播及影响后面的信息 加密后密文的尺寸不应大于明文的尺寸 计算机的出现使得基于复杂计算的密码成为可能。 1976年以后密码学的新方向——密钥密码学和公钥密码学共同发展

44 1949年之前的古典密码的特点 密码学不是科学,只是艺术。
密码算法和加密设备密码算法的基本手段(substitution & permutation) 针对的是字符。 简单的密码分析手段的出现。 1.3若干传统密码 棋盘密码 建立一张表,使每一个字符对应一数ξ,η,ξ是该字符所在行标号,η是列标号。这样将明文变成形式为一串数字密文。这种密码古代曾广泛利用。 1 A B C D E 2 F G H I J K 3 L M N O P 4 Q R S T U 5 V W X Y Z 1.3.2 凯撒密码 令26个字母分别对应于整数0~25,a=1,b=2……y=25,z=0。 凯撒加密变换实际上是 c≡ m + k mod 26 其中m是明文对应的数据,c是与明文对应的密文数据,k是加密用的参数,叫密钥。 比如: data security对应数据序列 4,1,20,1,19,5,3,21,18,9,20,25 k=5时,得密文序列 9,6,25,6,24,10,8,0,23,14,25,4 如果选取k1,k2两个参数,其中 k1 与 26 互素,令c≡k1m + k2 mod 26。这种变换称为仿射变换。 单表置换 以上介绍的几种密码本质都是一样的,都属于单表置换,即一个明文字母对应的密文字母是确定的。可以用频率分析对这种密码体制进行有效的攻击。 Vigenere密码 这是一种典型的多表密码,即一个明文字母可以表示为多个密文字母。方法如下: 设密钥k=k1k2…kn,明文M=m1m2…mn,加密变换Ek(M)=c1c2…cn。其中 ci≡( mi + ki) mod 26,i=1,2…n。 例如,M=data security,k=best。首先将M分解为长为4的序列 data secu rity 每一节利用密钥k=best加密得密文c=Ek(M)=EELT TIUN SMLR。 密钥k可以通过周期性地延长,周而复始,反复进行以至无穷。即令k=k1k2…… 其中ki+ln≡ki mod n。 另外一种比较著名的多表密码是Beaufort密码。 多表密码加密算法结果将使得对单表置换用的简单频率分析方法失效。 对Vigenere密码的分析 (1) 若随机选取英文字母构成序列,任一字母被选中的概率是1/26。设对密文统计得出字母出现频率为fa,fb,……fz,显然 引入 k值越大说明fa,fb,……fz起伏比较大,即fa,fb,……fz对平均值偏离程度越大。 (2)设对于c1c2……cn中,字母ξ (ξ= a,b,…z) 的数目为nξ,则由字母ξ构成的字母对数目为nξ(nξ-1)/2。所以相同字母构成的字母对数目为 两个位置上字母相同的概率为 IC被称为重合指数(index of coincidence)。 (3)设密钥k长度为m,各位由不同字母组成,则可将密文c分成m行,每行有n/m个元素,使得每行是单表置换,不同行用不同密钥加密。在长度n的密文中有相同文字对的数目为n(n-1)IC/2。 设n是m的倍数,可以推导出 利用这个公式可以估计密钥k的长度。确定m是破译Vigenere密码的关键一步。但这里得到只是参考数值。 通常,用Vigenere密码加密,明文中的相同字母在密文中不会对应相同的字母。但是,如果两个相同字母序列间距正好是密钥长度的倍数时,也可能产生相同的密文序列。寻找重复出现的字母序列,并求其长度的过程被称为Kasiski试验。 Vernam加密算法 M=m1m2……,mi=0或1,i=1,2,…… k=k1k2……,ki=0或1,i=1,2,…… 即明文和密钥都先转换成二进制数码,加密过程如下:Ek(M)=c1c2c3…… ci≡(mi + ki) mod 2 i=1,2,…… Vernam加密算法实际上是在(0,1)字母上运用Vigenere加密算法。这种方法的优点在于(mi + ki) mod 2运算非常容易实现。而且ci + ki≡mi mod 2,这里的加法都是不进位的二进制加法。 但是,Vernam密码只要找到一组和密码对应的明文便可破译。为克服这个缺点,就要将密钥取的非常长。但是这样又很难实现。 Playfair加密算法 Playfair密码的密钥是一个5×5矩阵。 F I V E S T A R B C D G H K L M N O P Q U W X Y Z 对于每一对明文m1,m2加密方法如下: (1)m1和m2在同一行时,则密文c1和c2分别是紧靠m1、m2右端的字母。其中第一列看作是最后一列的右方。 (2)若m1和m2在同一列时,则密文c1和c2分别是紧靠m1、m2下方的字母。其中第一行看作是最后一行的上方。 (3)若m1和m2不在同一行,也不在同一列时,则密文c1和c2是由m1和m2确定的矩形的其他两角的字母,并且c1和m1、c2和m2同行。 (4)若m1=m2,则插入空字符(比如Q)于重复字母之间。 (5)若明文字母为奇数时,将空字母Q加在明文的末端。 Hill加密算法 Hill加密算法的基本思想是将l个明文字母通过线性变换将它们转换为k个密文字母。脱密只要做一次逆变换就可以了。密钥就是变换矩阵本身。即 M=m1m2……ml Ek(M)=c1c2……cl 其中 c1=k11m1+k12m2+……+k1lml c2=k21m1+k22m2+……+k2lml …… cl=kl1m1+kl2m2+……+kllml

45 英国的TYPEX打字密码机,是德国3轮ENIGMA的改进型密码机。它在英国通信中使用广泛,且在破译密钥后帮助破解德国信号。
在线密码电传机Lorenz SZ 42,大约在1943年由Lorenz A.G制造。英国人称其为“tunny”,用于德国战略级陆军司令部。SZ 40/SZ 42加密因为德国人的加密错误而被英国人破解,此后英国人一直使用电子COLOSSUS机器解读德国信号。 20世纪早期密码机 转子机,由Arthur Scherbius于1919年发明,面板前有灯泡和插接板;4轮转子机在1944年装备德国海军,使得英国从1942年2月到12月都没能解读德国潜艇的信号。 Kryha密码机大约在1926年由Alexander vo Kryha发明。这是一个多表加密设备,密钥长度为442,周期固定。一个由数量不等的齿的轮子引导密文轮不规则运动。 哈格林(Hagelin)密码机C-36,由Aktiebolaget Cryptoeknid Stockholm于1936年制造密钥周期长度为3,900,255。 M-209是哈格林对C-36改进后的产品,由Smith-Corna负责为美国陆军生产。它的密码周期达到了101,105,950。

46 古典加密体制的两种基本运算 替代(Substitution ) 置换/移位法(Permutation/transposition)
明文的字母由其他字母或数字或符号所代替。 置换/移位法(Permutation/transposition) 通过执行对明文字母的某种置换/移位,取得一种类型完全不同的映射。 基本原理的密碼法,可以分成兩種:移位法(transposition)和替代法(substitution), 移位法就是將訊息裡面的文字,根據一定的規則改變順序,這種方法,在文字數量很大的時候, 便可以顯示出他的優勢,例如"Hello World"才不過10個字母便可以有 種排列的方式。 另外一種方法,就是替代法,還可以分成兩種,一種是單字替代,一種是字母替代,兩種的原理是一樣的, 就是利用文字相對順序的對應,來改變原來的文章,以英文為例,我們可以把英文字母往後移動三個位置,即: a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 氾例: Hello World How are you khoor zruog krz duh brx 這句話就變的難以辨認了,而且如果發信人收信人有協定好的話,那還可以把文字之間的空白刪除,反正翻譯回來的時候, 可以靠文句的意思,來推測斷句斷字的時機。 而單字替代,則是以每個單字,都去換成另外一個相對應的單字,這樣來改寫原文, 變成一個無法辨認其意義的加密文件。   移位法當然不只限於一種,光是英文字母不考慮大小寫,就可以有25種互異的方法,每種密碼法,都可視為一種加密法, 我們稱為演算法(algorithm),和一把鑰匙(KEY)的組合結果。鑰匙是用來指定加密程序的演算細節。以移位法為例, 演算法是只以密碼字母集裡的字母,取代明文字母集裡面的字母,鑰匙便是收發信人定義的密碼字母集。 整個密碼學發展的程序,辨識找尋新的演算法,和保護鑰匙避免被解密者發現的程序,鑰匙在密碼學中非常重要,因為即使演算法相同或太簡單, 沒有加密的鑰匙的話,我們仍然很難去破解加密的文件。以單純的英文字母,不單純的平移,而用一個字母一個字母互換的話,不考慮大小寫, 就有 種不同的鑰匙必須要去測試,才可以得到原來的明文。

47 替代技术之一:凯撒密码 ? 算法描述: 攻击手段: 改进: 问题: 将字母表中的每个字母用其后的第三个字母代替。
加密:C=E(P)=(P+3)mod 26 解密:P =D(C)=(P-3)mod 26 也可以将3 换为1-25间的任一个数K,即总共只有25个密钥。 攻击手段: 1. 算法简单,密钥K的数量仅为25个,强力攻击(穷举攻击) 2. 明文单词构造有规律,可以根据字母频率分析攻击。 改进: 1. 变换方法可以采用26字母的任意排列,使得可用密钥数量剧增。 2. 使用多字母组合。 ?加、解密操作是否强调顺序,在凯撒加密中可以使用,但现代加密技术一般都强调顺序,即加密后必须用统一密钥进行解密。 问题: 双方能否不需要共享密钥而达到加密的目的? P=D(E(P)) P=D2(E2(D1(E1(P))))=D2(D1(E2(E1(P)))) ?

48 替代技术之二:Hill 密码 m个连续的明文字母用m个密文字母代替,该代替由m个线性方程决定。这里假设m=3: 优点: 缺点:
算法描述: m个连续的明文字母用m个密文字母代替,该代替由m个线性方程决定。这里假设m=3: C1 = ( k11 P1 + k12 P2 + k13 P3 ) mod 26 C2 = ( k21 P1 + k22 P2 + k23 P3 ) mod 26 C3 = ( k31 P1 + k32 P2 + k33 P3 ) mod 26 即: C k11 k12 k P1 C2 = k21 k22 k P2 mod 26 或 C=KP mod 26 C k31 k32 k P3 优点: 完全隐藏了单字母的频率。 缺点: 如果得到m个明密对,则可以计算出K,从而破密。

49 替代技术之三:异或(XOR)加密 异或是一种二进制运算: 使用异或进行加、解密: 举例
 1^1=0、 0^0=0、 1^0=1、 0^1=1。 例如:1011^1001=0010。 使用异或进行加、解密: 加密:Ci= Pi⊕ki 解密:Pi = Ci⊕ki 举例 对单词:DOG(十进制= ;二进制= )进行加密: DOG: 明文 加密 异或(XOR)加密,如果密钥的长度与明文的长度一致,则达到最大强度,称为一次一密。 XOR 密钥 密文 解密 XOR 密钥 DOG: 明文

50 英语文本中字母的频率统计

51 置换技术之一 置换密码把明文(IWILLARRIVENYATAPRILFIRSTDAY)按行写入后,按列读出。密钥表明列的读出顺序。 7 6
5 2 1 3 4 key: Y A D T S R I F L P N E V W plaintext: ciphertext: IVPSLERTWIARIRTILNIDAYLARAFY

52 置换技术之二 多次置换,减少结构性排列,不易于重构。 key: plaintext: ciphertext:
PILASANRVWILITTYLRIAEIDFRRAY 4 3 1 2 5 6 7 I V P S L E R T W A N D Y F

53 转子机Rotor machine 通过多个转子,完成字母的多次转换。

54 对称密钥密码 特征 安全性要求 用于加密和解密的密钥是一样的或相互容易推出的。 加密算法和解密算法是公开的,协议是安全的。
明文 密文 还原的明文 特征 用于加密和解密的密钥是一样的或相互容易推出的。 安全性要求 加密算法和解密算法是公开的,协议是安全的。 加密算法足够强大,仅依靠密文不可能译出明文。 安全性依赖于密钥的安全性,而不是算法安全性。 密钥的安全性包括:密钥空间、随机性、保密性。 算法符号描述: EK(P)=C , DK(C)=P

55 对称密钥的问题 对称密钥能够解决以下那些问题? 对称密钥的主要缺陷有哪些? 保密性 完整性 认证性 不可抵赖性
对称密钥的主要缺陷有哪些? 双方就加密和解密用的密钥达成共识困难 密钥数量随参与者人数的增长呈指数级增长

56 非对称密钥密码 特征 安全性要求 用于加密和解密的密钥是不同的。因此,双方不需要事先专门约定用于加密和解密的密钥,并加以妥善保管。
算法 加密密钥 算法 解密密钥 明文 密文 还原的明文 特征 用于加密和解密的密钥是不同的。因此,双方不需要事先专门约定用于加密和解密的密钥,并加以妥善保管。 安全性要求 加密算法和解密算法是公开的,协议是安全的。 加密算法强大,仅依靠密文不可能译出明文。 安全性依赖于私钥的安全性,而不是公钥或算法的安全性。 密钥的安全性包括:密钥空间、保密性。 算法符号描述: EK1(P)=C , DK2(C)=P

57 密码分析 密码分析学是在不知道密钥的情况下,恢复出明文的科学。密码分析也可以发现密码体制的弱点。 常见的密码分析攻击:
唯(已知)密文攻击(ciphertext-only attack) 已知明文攻击(know-plaintext attack) 选择文本攻击 选择明文攻击(chosen-plaintext attack) 适应性选择明文攻击(adaptive-chosen-plaintext attack) 选择密文攻击(adaptive-chosen-ciphertext attack) 密码分析 密码编码学的主要目的是保持明文(或密钥,或明文和密钥)的秘密以防止偷听者(也叫 对手、攻击者、截取者、入侵者、敌手或干脆称为敌人)知晓。这里假设偷听者完全能够 接获收发者之间的通信。 密码分析学是在不知道密钥的情况下。恢复出明文的科学。成功的密码分析能恢复出信息 的明文或密钥。密码分析也可以发现密码体制的弱点,最终得到上述结果(密钥通过非密 码分析方式的丢失叫做泄露。) 对密码进行分析的尝试称为攻击。荷兰人A.Kerckhoffs最早在19世纪阐明密码分析的一个 基本假设,这个假设就是秘密必须全寓于密钥中[794]。Kerckhoffs假设密码分析者已有 密码算法及其实现的全部详细资料(当然,可以假设中央情报局(CIA)不会把密码算法告 诉摩萨德(Mossad)(译注 :以色列的情报组织),但Mossad也许会通过什么方法推出来)。 在实际的密码分析中并不总是有这些详细信息的??应该如此假设。如果其他人不能破译算法, 即便了解算法如何工作也是徒然,如果连算法的知识都没有,那就肯定不可能破译它。 常用的密码分析攻击有四类,当然,每一类都假设密码分析者知道所用的加密算法的全部 知识: (1) 唯密文攻击。密码分析者有一些信息的密文,这些信息都用同一加密算法加密。密码 分析者的任务是恢复尽可能多的明文,或者最好是能推算出加密信息的密钥来,以便可采 用相同的密钥解出其他被加密的信息。 已知:C1=EK(P1),C2=EK(P2),LL,CI=EK(Pi) 推导出:P1,P2,L,Pi;K或者找出一个算法从Ci+1= EK(Pi+1)推出Pi+1。 (2) 已知明文攻击。密码分析者不仅可得到一些信息的密文,而且也知道这些信息的明文 。分析者的任务就是用加密信息推出用来加密的密钥或导出一个算法,此算法可以对用同 一密钥加密的任何新的信息进行解密。 已知:P1,C1=Ek(P1),P2,C2=Ek(P2),L,Pi,Ci=Ek(Pi), 推导出:密钥k,或从Ci+1= Ek(Pi+1)推出Pi+1的算法。 (3)选择明文攻击。分析者不仅可得到一些信息的密文和相应的明文,而且他们也可选 择被加密的明文。这比已知明文攻击更有效。因为密码分析者能选择特定的明文块去加密 ,那些块可能产生更多关于密钥的信息,分析者的任务是推出用来加密信息的密钥或导出 一个算法,此算法可以 对用同一密钥加密的任何新的信息进行解密。 已知:P1,C1=Ek(P1),P2,C2=Ek(P2),L,Pi,Ci=Ek(Pi) 其中P1,P2,L,Pi是由密码分析者选择的。 推导出:密钥k,或从Ci+1= Ek(Pi+1)推出Pi+1的算法。 (4)自适应选择明文攻击。这是选择明文攻击的特殊情况。密码分析者不仅能选择被加 密的明文,而且也能基于以前加密的结果修正这个选择。在选择明文攻击中,密码分析者 还可以选择一大块被加了密的明文。而在自适应选择密文攻击中,他可选取较小的明文块 ,然后再基于第一块的 结果选择另一明文块,以此类推。 另外还有至少三类其它的密码分析攻击。 (5)选择密文攻击。密码分析者能选择不同的被加密的密文,并可得到对应的解密的明 文,例如密码分析者存取一个防窜改的自动解密盒,密码分析者的任务是推出密钥。 已知:C1,P1=Dk(C1),C2,P2=Dk(C2),L,Ci,Pi=Dk(Ci), 推导出: k。 这种攻击主要用于公开密钥体制,这将在19.3节中讨论。选择密文攻击有时也可有效地用 于对称算法(有时选择明文攻击和选择密文攻击一起称作选择文本攻击。) (6)选择密钥攻击。这种攻击并不表示密码分析者能够选择密钥,它只表示密码分析者 具有不同密钥之间的关系的有关知识。这种方法有点奇特和晦涩,不是很实际,将在12.4 节讨论。 (7)软磨硬泡(Rubber-hose)攻击。密码分析者威胁、勒索,或者折磨某人,直到他给出 密钥为止。行贿有时称为购买密钥攻击。这些是非常有效的攻击,并且经常是破译算法的 最好途径。 已知明文攻击和选择明文攻击比你想象的更常见。密码分析者得到加了密的明文信息或贿 赂某人去加密所选择的信息,这种事情时有所闻。如果你给某大使一则信息,也可能发现 该信息已加密了,并被送回他的国家去研究。此时你会去贿赂某人;密码分析者也许知道 ,许多信息有标准的开 头和结尾。加密的源码特别脆弱,这是因为有规律地出现关键字, 如出现:#define, struct,else,return等。加了密的可执行代码也有同样问题,如:调用函数、循环结构 等等。已知明文攻击(甚至选择明文攻击)在二战中已被成功地用来破译德国和日本的密 码。David Kahn的书中有此类攻击的历史例子[794,795,796]。 不要忘记Kerckhoffs的假设:如果你的新的密码系统的强度依赖于攻击者不知道算法的内 部机理,你注定会失败。如果你相信保持算法的内部秘密比让研究团体公开分析它更能改 进你的密码系统的安全性,那你就错了。如果你认为别人不能反汇编你的代码和逆向设计 你的算法,那你就太天 真了(1994年RC4算法就发生了这种情况-见17.1节)。最好的算法是那些已经公开的,并 经过世界上最好的密码分析家们多年的攻击,但还是不能破译的算法(国家安全局对外保 持他们的算法的秘密,但他们有世界上最好的密码分析家在内部工作,你却没有。另外, 他们互相讨论他们的算 法,通过执著的审查发现他们工作中的弱点)。 密码分析者不是总能知道算法的。例如在二战中美国人破译日本人的外交密码--紫密( PURPLE)[794]就是例子,而且美国人一直在做这种事。如果算法用于商业安全程序中, 那么拆开这个程序,把算法恢复出来只是时间和金钱问题;如果算法用于军队的通讯系统 中,购买(或窃取)这种 设备,进行逆向工程恢复算法也只是简单的时间和金钱的问题。 那些因为自己不能破译某个算法就草率地声称有一个不可破译的密码的人要么是天才,要 么是笨蛋,不幸的是后者居多。千万要提一味吹嘘算法的优点,但又拒绝公开的人,相信 他们的算法就像相信骗人的包医百病的灵丹妙药一样。 好的密码分析家总会坚持审查,以图把不好的算法从好的算法中剔除出去。 密码分析学密码分析学 密码分析学是研究 在不掌握密钥的情况下,利用密码体制的弱点来恢复明文的一门学科。对密码的攻击可以分为下面几种。 (1)唯密文攻击:密码分析者仅仅掌握若干密文。即已知ci=Ek(mi),i=1,2,…l,推出m1,m2,……,ml。 或从 cl+1=Ek(ml+1) 推出 ml+1。 (2)已知明文攻击:密码分析者不仅掌握若干密文,还知道对应的明文本身。密码分析者利用它来推出加密用的密钥或加密算法。即已知ci=Ek(mi)及mi,i=1,2,…l,推出k, 或从cl+1=Ek(ml+1)推出ml+1。 (3)选择明文攻击:密码分析者不仅获得若干密文及其相应的明文,而且掌握的明文还可以加以挑选。因为明文是经过选择的,所以提供了更多可供破译的信息,攻击力更强了。密码分析者利用来推出加密的密钥或加密算法,或由用同一加密算法及密钥的新密文推出对应的明文。 通常,好的加密算法是可以公开的,也不怕公开。公开并不会有利于攻击。 破译一个密码需要的计算时间和计算能力的总和,也就是破译算法的时间和空间复杂度,被称为工作因子。

58 唯密文攻击 密码分析者有一些信息的密文,这些信息都用同一加密算法加密。密码分析者的任务是恢复尽可能多的明文,或者最好是能推算出加密信息的密钥来,以便可采用相同的密钥解出其他被加密的信息。 已知:C1、C2‥‥‥Cn、E、Ci=EK(Pi) 推导出:P1、P2 ‥‥‥ Pn;甚至 K。 举例:字典破解、暴力破解

59 已知明文攻击 密码分析者不仅可以得到一些信息的密文,而且也知道这些信息的明文。分析者的任务就是用加密信息推出用来加密的密钥或导出一个算法,此算法可以对用同一密钥加密的任何新的信息进行解密。 已知:P1,C1=Ek(P1),P2,C2=Ek(P2), ‥‥‥ ,Pi,Ci=Ek(Pi), 推导出:密钥k。

60 选择明文攻击 密码分析者不但可以得到一些信息的明文,而且它们可以选择被加密的明文。
这比已知明文攻击更有效。因为密码分析者能选择特定的明文块去加密,那些块可能产生更多关于密钥的信息,分析者的任务是推出用来加密信息的密钥或导出一个算法,此算法可以对用同一密钥加密的任何新的信息进行解密。 已知:P1,C1=Ek(P1),P2,C2=Ek(P2)‥‥‥Pi,Ci=Ek(Pi) 其中P1,P2 ‥‥‥ Pi是由密码分析者选择的。 推导出:密钥k。 适应性选择明文攻击 密法分析者不但能够选择被加密的明文,而且也能基于以前加密的结果修正这个选择的,被称为适应性选择明文攻击。

61 选择密文攻击 密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文,这种攻击主要用于公开密钥体制。
已知:C1,P1=Dk(C1),C2,P2=Dk(C2) ‥‥‥ Ci,Pi=Dk(Ci)。 推导出: k。

62 破译算法的级别 全部破译(total break)找出密钥 全部推导(global deduction)找出替代算法
实例推导(instance deduction)找出明文 信息推导(information deduction)获得一些有关密钥或明文的信息。

63 安全性的衡量 无条件安全(Unconditionally secure) 计算安全(Computationally secure)
无论破译者有多少密文,他也无法解出对应的明文,即使他解出了,他也无法验证结果的正确性。 加密方案产生的密文不足以唯一决定对应的明文,如一次一密。 计算安全(Computationally secure) 破译密码成本超过信息价值 破译时间超过信息生命周期。 算法的安全性根据被破译的难易程度,不同的密码算法具有不同的安全等级。如果破译算法的代价大于加密数据的价值,那么你可能是安全的。如果破译算法所需的时间比加密数据保密的时间更长,那么你可能是安全的;如果用单密钥加密的数据量比破译算法需要的数据量少得多,那么你可能是安全的。 我说"可能"是因为在密码分析中总有新的突破。另一方面,大多数数据随着时间的推移,其价值会越来越小,而数据的价值总是比突破保护它的安全性的代价更小,这点是很重要的。 Lars Knudsen把破译算法分为不同的类别,安全性的递减顺序[858]为: 1. 全部破译。密码分析者找出密钥K,这样DK(C)=P。 2. 全盘推导。密码分析者找到一个代替算法A,在不知道密钥K的情况下,等价于DK(C)=P。 3. 实例(或局部)推导。密码分析者从截获的密文中找出明文。 4. 信息推导。密码分析者获得一些有关密钥或明文的信息。这些信息可能是密钥的几个比特、有关明文格式的信息等等。 如果不论密码分析者有多少密文,都没有足够的信息恢复出明文,那么这个算法就是无条件保密的,事实上,只有一次一密乱码本(参看1.5节),才是不可破的(给出无限多的资源仍然不可破)。所有其它的密码系统在唯密文攻击中都是可破的,只要简单地一个接一个地去试每种可能的密钥,并且检查所得明文是否有意义,这种方法叫做蛮力攻击(见7.1节)。 密码学更关心在计算上不可破译的密码系统。如果一个算法用(现在或将来)可得到的资源都不能破译,这个算法则被认为在计算上是安全的(有时叫做强的)。准确地说, "可用资源"就是公开数据的分析整理。 你可以用不同方式衡量攻击方法的复杂性(见11.1节): 1. 数据复杂性。用作攻击输入所需的数据量。 2. 处理复杂性。完成攻击所需要的时间,这个经常叫做工作因素。 3. 存储需求。进行攻击所需要的存储量。 作为一个法则,攻击的复杂性取这三个因数的最小化,有些攻击包括这三种复杂性的折中:存储需求越大,攻击可能越快。 复杂性用数量级来表示。如果算法的处理复杂性是2128,那么破译这个算法也需要2128次运算(这些运算可能是非常复杂和耗时的。)。假设你有足够的计算速度去完成每秒钟一百万次运算,并且用100万个并行处理器完成这个任务,那么仍需花费1019年以上才能找出密钥,那是宇宙年龄的10亿倍。 当攻击的复杂性是常数时(除非一些密码分析者发现更好的密码分析攻击),就只取决于计算能力了。在过去的半个世纪中,我们已看到计算能力的显著提高,并且没有理由认为这种趋势不会继续。许多密码分析攻击用并行处理机是非常理想的:这个任务可分成亿万 个子任务,且处理之间不需相互作用。一种算法在现有技术条件下不可破译就简单地宣称该算法是安全的,这未 免有些冒险。好的密码系统应设计成能抵御未来许多年后计算能力的发展。

64 攻击的复杂性分析 数据复杂性(data complexity)用作攻击输入所需要的数据
处理复杂性(processing complexity)完成攻击所需要的时间 存储需求(storage requirement)进行攻击所需要的数据量

65 密码分析基本方法 穷举法(Exhaustive Attack ),又称为强力法(Brute-force) 分析法
这是对截获的密文依次用各种可能的密钥破译。 对所有可能的明文加密直到与截获的密文一致瓦为止。 分析法 系统分析法(统计分析法):利用明文的统计规律 确定性分析法

66 第2节 对称密钥密码体制 对称密钥密码算法类型 分组密码工作模式 对称加密算法 对称加密应用-保密通信 对称密钥分配问题
从1977年美国颁布DES密码算法作为美国数据加密标准以来,对称密钥密码体制得到了广泛的应用。对称密钥密码体制从加密模式上可分为序列密码和分组密码两大类。   1.序列密码   序列密码一直是作为军事和外交场合使用的主要密码技术之一。它的主要原理是:通过有限状态机产生性能优良的伪随机序列,使用该序列加密信息流,得到密文序列。所以,序列密码算法的安全强度完全决定于它所产生的伪随机序列的好坏。产生好的序列密码的主要途径之一是利用移位寄存器产生伪随机序列。目前要求寄存器的阶数大于100阶,才能保证必要的安全。序列密码的优点是错误扩展小、速度快、利于同步、安全程度高。   2.分组密码   分组密码的工作方式是将明文分成固定长度的组,如64比特一组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。 序列密码体制 ----这种密码直接对当前的字符进行变换,也就是说,以一个字符为单位进行加密变换。在这种加密体制中,每一字符数据的加密与报文的其他部分无关。例如,直接对明文加上一串同等长度的乱码(也可看成是密钥),只要所用的乱码是随机数且不重复使用,就实现了“一次一密”的加密。从理论上讲,真正实现了“一次一密”的密码是可靠的密码,原则上是不可破译的。这类密码的明文和密文长度一般不变,传递迅速、快捷;其缺点是密码破译人员比较容易得到明密对照双码,便于其进行密码分析,同时乱码的产生和管理比较困难,难以真正做到“一次一密”。该类密码适用于通信领域。 分组密码体制 ----应用这类密码时,明文按固定长度分组,对各组数据用不同的密钥加密(或脱密)。这类密码按分组进行加密变换,一个字符数据不仅与密钥有关,而且还与其他字符数据有关,密码分析的穷尽量很大。例如传统的64位分组法,它的穷尽量为264-1,这是一个20位的十进制数,即使用每秒运算万亿次以上的巨型计算机进行攻击,平均穷尽时间也需要数年。当然这仅仅是理论数据,在攻击密码时还有其他约束条件,如文字、数据、环境、规律等信息,所以实际所需的攻击时间要短得多。 ----在使用分组密码时,对明文尾部不满一个整组的碎片通常采用填充随机数的办法将其扩充为一个整组,然后进行正常加密。由于尾组的扩充,使得密文的长度大于明文的长度。分组密码可用于计算机存储加密,但因为数据库加密后的数据长度不能改变,所以必须改进分组加密算法的使用方法。

67 对称密钥密码算法类型 序列(流)密码 分组(块)密码
将明文信息按字符逐位加密,主要原理是:通过有限状态机产生性能优良的与明文等长的伪随机序列,使用该序列加密明文,得到密文序列。 在这种加密算法中,每一字符数据的加密与其他字符数据无关。 其缺点是密码破译人员比较容易得到明密对照双码,便于其进行密码分析。 序列密码的典型算法有:RC4,SEAL,A5等,序列密码多用于流式数据的加密,特别是对实时性要求比较高的语音和视频流的加密传输。比如流密码A5已成为GSM移动电话标准中指定的密码标准。 分组(块)密码 将明文分成固定长度的组(如64比特一组)用密钥和算法对每一块加密,输出也是固定长度的密文。 在这种加密算法中,每一个字符数据的加密不仅与密钥有关,而且还可能与其他字符数据有关。此时,密码分析的量很大。 分组密码的典型算法有:DES, 3DES,IDEA,AES,SKIPJACK,Karn,RC2和RC5等,分组密码是目前在商业领域比较重要使用较多的密码,广泛用于信息的保密传输和加密存储,

68 分组密码的一般设计原理 分组密码把明文组块加密成密文块 一般密钥长度是块长度的倍数 密文长度始终是块长度的倍数,明文长度不一定块长度的倍数
例如:8字节的明文块用64位密钥进行加密 密文长度始终是块长度的倍数,明文长度不一定块长度的倍数 当明文长度不是块长度的倍数时,需要对明文块中的最后一块进行填充

69 分组密码工作模式之一 电子密码本(ECB)模式 直接使用基本的分组密码模式,对明文块分别进行加密。
特点:速度快;在给定密钥的情况下,相同的明文总是产生相同的密文。因此,容易被分析破译;适合于较短的信息的传输。 密码分组链接(CBC)模式 在加密当前明文块(第一块除外)之前,先将上一明文块加密的结果与当前明文块进行异或运算,然后再加密,如此形成一个密文链。在对第一明文块进行加密时,需要一个初始向量(IV)。 特点:相同明文生成不同密文;安全性好于ECB;适合于传输长度大于64位的报文,还可以进行用户鉴别,是大多系统的标准如 SSL、IPSec。

70 分组密码工作模式之二 密码反馈(CFB)模式
在加密当前明文块(第一块除外)之前,先对上一明文块加密的结果进行加密生成密钥流,然后将密钥流与当前明文块进行异或运算,如此形成一个密文链。在生成第一个密钥流时,需要一个初始向量。与CBC不同的是:CFB是先加密后异或。 特点:不需要对明文结尾块进行填充;与CBC同样安全。 输出反馈(OFB)模式 用分组密码产生一个随机密钥流,将此密钥流和明文流进行异或,可得密文流。 特点:安全性不如CBC和CFB。

71 电子密码本ECB Pi K E Ci 解密:Pi=DK(Ci) 加密:Ci=EK(Pi) IWILLARRIVEATSUNDAY 明文
密文 “Df4#” “xF3^” “3w-6” “!re4” “weY3” Ci Df4#xF3^3w-6!re4weY3 加密:Ci=EK(Pi) 解密:Pi=DK(Ci)

72 密码分组链接CBC Pi E Ci IV未必需要保密,但一般以加密形式被交换,并经常更换。 加密:Ci=EK(Pi⊕Ci-1)
解密:Pi=DK(Ci)⊕Ci-1 IWILLARRIVEATSUNDAY 明文 “IWIL” 明文 “LARR” Pi 明文 “IVEA” 明文 “TSUN” 明文 “DAY” 初始向量 “Xw#9” E 加密 加密 加密 加密 加密 Ci 密文 “E8a#” 密文 “JK9s” 密文 “*4(j” 密文 密文 “8!qP” IV未必需要保密,但一般以加密形式被交换,并经常更换。

73 密码反馈CFB 加密:Ci=Pi EK(Ci-1) 解密:Pi=DK(Ci-1) Ci IWILLARRIVEATSUNDAY 明文
初始向量 “Xw#9” 密文 “E8a#” 密文 “JK9s” 密文 “*4(j” 密文 密文 “8!qP” 加密:Ci=Pi EK(Ci-1) 解密:Pi=DK(Ci-1) Ci

74 输出反馈OFB 加密:Ci=Pi⊕EK(Si-1) 解密:Pi=DK(Si-1)⊕Ci IWILLARRIVEATSUNDAY 明文
初始向量 “Xw#9” 密文 “E8a#” 密文 “JK9s” 密文 “*4(j” 密文 密文 “8!qP” 加密:Ci=Pi⊕EK(Si-1) 解密:Pi=DK(Si-1)⊕Ci

75 DES对称算法的产生之一 1973年5月15日,美国国家标准局(NBS)开始公开征集标准加密算法,并公布了它的设计要求:
算法必须提供高度的安全性 算法必须有详细的说明,并易于理解 算法的安全性取决于密钥,不依赖于算法 算法适用于所有用户 算法适用于不同应用场合 算法必须高效、经济 算法必须能被证实有效 算法必须是可出口的

76 DES对称算法的产生之二 1974年8月27日,美国国家标准局(NBS,现在为NIST——美国国家技术与标准所)开始第二次征集,IBM提交了算法LUCIFER,该算法由IBM的工程师W. Tuchman 和 C. Meyer在 年研制。 1975年3月17日, NBS公开了全部细节。 1976年,NBS指派了两个小组进行评价。 1976年11月23日,采纳为联邦标准,批准用于非军事场合的各种政府机构。 1977年1月15日,美国“数据加密标准” 发布,该标准以DES算法为代表,其密钥有效长度为56位。同年7月15日开始生效。 该标准规定每五年审查一次,计划十年后采用新标准。

77 DES 对称算法的特点 分组加密算法:明文和密文为64位分组长度。 对称算法:使用同一算法。 密钥长度:56位,64位中每个第8位为校验位。
通过56位密钥计算出16个48位子密钥 使用48位子密钥进行16轮加密。 每轮都使用了置换和替代操作。 置换操作是打乱块中各位的次序,使其变成新的位置。 替代操作是使用性的一组来替换初始排列输出的每组位。

78 DES 对称算法 DES 对称算法加密过程包括:①明文分块、②生成16个子密钥和③使用子密钥对每个明文块进行16轮加密运算和多次替代、置换综合运算三部分。 明文分块 将明文划分为固定长度为64位的多个明文块,最后一个明文块不足64位的进行填充。 生成16个子密钥 用户输入的64位总密钥中第8, 16, 24, 32, 40, 48, 56, 64位是校验位。所以总密钥的实际长度是56位。按以下步骤根据总密钥生成16个48位子密钥。 对输入的密钥进行置换操作,按表 1确定的置换位置将56位总密钥的数据位置重新排列,生成新的56位数据。

79 DES 对称算法 将将置换后的数据分成前后两部分,C[0][28], D[0][28];
对C[i-1][28]、D[i-1][28] (i=1-16)按表 2进行16次循环左移操作,得到C[i][28] D[i][28] (i=1-16); 串联计算出来的C[i][28] D[i][28](i=1-16)得到16个56位的子密钥; 然后将这16个子密钥分别按表 3再次进行置换,并各丢弃8位得16个48位子密钥K[i][48](i=1-16)。 子钥生产过程见图 1。

80 DES 对称算法 对明文块进行加密 对64位的明文块按表 4进行换位变换(置换变换)。
将变换后的64位数据块前后平分成两块L[0][32], R[0][32](每块32位数据)。 按以下步骤A、B、C、D对 R[i-1][32](i=1-16)进行变换得到32位数(分别见图 2右侧F运算的步骤A、B、C、D)。

81 DES对称算法的应用 美国国家安全局(NSA, National Security Agency)参与了美国国家标准局制定数据加密标准的过程。NBS接受了NSA的某些建议,对算法做了修改,并将密钥长度从LUCIFER方案中的128位压缩到56位 1979年,美国银行协会批准使用DES 1980年,DES成为美国标准化协会(ANSI)标准 1980年,美国国家标准化协会(ANSI)赞同DES作为私人使用的标准,称之为DEA(ANSI X.392)。 1983年,国际化标准组织ISO赞同DES作为国际标准,称之为DEA-1。 1984年2月,ISO成立的数据加密技术委员会(SC20)在DES基础上制定数据加密的国际标准工作。

82 其他对称算法 算法 所有者 类型 密钥长度 描述 DES Coppersmith、 Feistel、Tuch- mann、NSA 对称
56位 DES的密钥长度太短,不能对付暴力破解。DES是块状密码 DESede (Triple DES) Diffie、Hell- man、Tuckmann 112位或168位(2到3个56位密钥) 最多使用3个不同的DES密钥。3DES是块状密码 Advanced Encryption Standard(AES) NIST标准,使用Dae men和Rijmen的Bijndeal算法 128位、192位和256位(默认是128位) NISTT 2000年10月宣布使用AES替代DES Blowfish Bruce Schneier 32位到448位(8的倍数,默认是128位) 十分复杂,难以破译,使用时占用大量内存 CAST-128 C.Adams和S.Tavres 40位到128位(8的倍数,默认是128位) CAST-128是使用8字节块大小的块状密码。请参见RFC 2144

83 其他对称算法 算法 所有者 类型 密钥长度 描述 CAST-256 C.Adams、H. He ys、S.Tavar es和M.Wiener
128位到256位(32的倍数,默认是128位) CASF-256是使用16字节块大小的块状密码。请参见RFC2612 IDEA X.Lai和J.Massey 128位 即国际数据加密算法(International Data Encryption Algorithm)。比DES快而且更安全。IDEA是PGP所使用的块状密码 RC2 Ronald Rivest为RSA而开发 0到1024位(8的倍数,默认是128位) 代表Ron’s Code或Rivest’s Cipher2,请参见RFC2268。RC2是块状密码 RC4 8位到2048位(8的倍数,默认是128位) 代表Ron’s Code或Rivest’s Ci-pher4。RCA是流式密码,同时只对一位数据进行操作 RC5 0到65536位(8的倍数,默认是128位) 代表Ron’s Code或Rivest’a Cipher 5。请参见RFC 2040。RCS是块状密码 RC6 Rivest、Robshaw Sidney和Yin为RSA而开发 0到2040位(8的倍数,默认是128位) 代表Ron’s Code或Rivest’s Cipher6。RC6是块状密码

84 不同对称算法的应用特点 DES是应用最广泛的对称密码算法(由于计算能力的快速进展,DES已不再被认为是安全的); IDEA在欧洲应用较多;
RC系列密码算法的使用也较广(已随着SSL传遍全球); AES将是未来最主要,最常用的对称密码算法。

85 对称密钥密码算法进一步发展 1994年1月评估后,已决定1998年12月以后,DES将不再作为联邦加密标准。
NIST在97年承认56位的DES算法已不再有效。 EFF(电子领域基金会)在97、98、99年分别用96天、3天、不到24小时破解了DES算法。 99年NIST把Triple-DES作为国家标准 2000年10月2日NIST宣布高级标准加密算法(AES)成为替代DES的新的加密标准,其算法Rijndael成为DES的替代者。 对称算法依然以美国国家标准局(NBS)于77年1月公布的DES算法为代表,其密钥有效长度为56位。按服役20年的最初计划,目前已到期。因此现在美国又研制了Triple-DES、AES、IDEA等算法。国内也研制了类似的算法,并被中机和国密办批准使用。如BLK64, BLK128等。 非对称密钥算法以1978年美国MIT的Rlberst, Shamir和Ademan三人提出的RSA算法为代表。 其特点是采用非对称密钥,即加密和解密分别用不同的密钥。其中加密的密钥是公开的(Public Key),解密的密钥是私藏的(Private Key)。 目前的加密算法的发展趋势是信息加密采用对称算法,密钥保护、数字签名、身份认证采用非对称算法。并沿着高强度、专用化方向发展,出现了如128位以上密钥长度的算密钥保护、数字签名、身份认证采用非对称算法。并沿着高强度、专用化方向发展,出现了如128位以上密钥长度的算法和邮件专用算法等。

86 对称加密应用-保密通信 链路加密 节点加密 端到端加密
易受攻击的通信链路两端都装备一个加密设备。共享一条链路的每对节点应共享同一密钥,每段链路应使用不同的密钥。报文在分组交换节点设备都需要被解密和加密一次,使得报文可以路由。但是报文在每个分组交换节点设备处容易受到攻击。 节点加密 节点加密是在节点处采用一个与节点机相连的密码装置,密文在该装置中被解密并被重新加密,明文不通过节点机,避免了链路加密节点处易受攻击的缺点。 端到端加密 端系统完成数据的加密和解密,加密形式的数据被原封不动的从源端系统发送,穿过网络,到达目的端系统。源端系统和目的端系统共享一个密钥。 3.1 数据加密技术   数据加密技术主要分为数据传输加密和数据存储加密。数据传输加密技术主要是对传输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。   链路加密是传输数据仅在物理层前的数据链路层进行加密,不考虑信源和信宿,它用于保护通信节点间的数据,接收方是传送路径上的各台节点机,信息在每台节点机内都要被解密和再加密,依次进行,直至到达目的地。   与链路加密类似的节点加密方法,是在节点处采用一个与节点机相连的密码装置,密文在该装置中被解密并被重新加密,明文不通过节点机,避免了链路加密节点处易受攻击的缺点。   端到端加密是为数据从一端到另一端提供的加密方式。数据在发送端被加密,在接收端解密,中间节点处不以明文的形式出现。端到端加密是在应用层完成的。在端到端加密中,除报头外的的报文均以密文的形式贯穿于全部传输过程,只是在发送端和接收端才有加、解密设备,而在中间任何节点报文均不解密,因此,不需要有密码设备,同链路加密相比,可减少密码设备的数量。另一方面,信息是由报头和报文组成的,报文为要传送的信息,报头为路由选择信息,由于网络传输中要涉及到路由选择,在链路加密时,报文和报头两者均须加密。而在端到端加密时,由于通道上的每一个中间节点虽不对报文解密,但为将报文传送到目的地,必须检查路由选择信息,因此,只能加密报文,而不能对报头加密。这样就容易被某些通信分析发觉,而从中获取某些敏感信息。   链路加密对用户来说比较容易,使用的密钥较少,而端到端加密比较灵活,对用户可见。在对链路加密中各节点安全状况不放心的情况下也可使用端到端加密方式。

87 网络加密机制的配置 应用层加密 网络层加密 链路层加密 端对端加密 端对端加密 节点加密 链路加密 应用层 (5 — 7) 传输/网络层
(3 — 4) 网络层加密 链路/物理层 (1 — 2) 链路加密 节点加密 链路层加密

88 链路加密/端到端加密特征比较 链路加密 端到端加密 在发送主机上报文是暴露的 在发送主机上报文是加密的
链路加密 端到端加密 在发送主机上报文是暴露的 在发送主机上报文是加密的 在中间节点上报文是暴露的 在中间节点上报文是加密的 由发送主机应用 由发送进程应用 对用户是透明的 用户应用加密 主机维护加密设备 用户决定算法 所有用户用一个设施 用户选择加密方案 可以由硬件完成 软件实现 所有或没有报文被加密 每个报文由用户决定选择是否加密 节点之间都需要一个密钥 每个用户对需要一个密钥 提供主机鉴别 提供用户鉴别

89 A与B之间的密钥约定方法 密钥由A选定,通过物理的方式传递给B。 第三方选定密钥,然后物理的传递给A和B。
如果AB都有一个到第三方C的加密连接,C就可以用加密形式把密钥传递给AB。 最后一种方法得到普遍应用。即设立密钥分配中心(KDC)。 KDC A B

90 Diffie-Hellman密钥交换算法
问题 如果第三者Carol在Alice与Bob交换B与C过程中,截获这两个公共值。并使用自己的D=gd mod p代替B和C发送给Bob和Alice。 Alice就会以为K1=Db mod p=Bd mod p 是与Bob约定的密钥。 同样Bob会以为K2=Dc mod p=Cd mod p 是与Alice 约定的密钥。 这样,Carol就可以用K1解密Alice发送给Bob的密文,并用K2重新加密后再发送给Bob,反之亦然。 目的 Alice和Bob通过该算法约定对称密钥“K” 过程(要点: =(gb )c mod p=(gc)b mod p ) Alice选择一个很大的质数p(模数)和一个p的质因数g(生成器),并把他们发送给Bob。 Alice选择一个随机数b,并计算B=gb mod p,同时Bob也选择一个随机数c,并计算C=gc mod p。 Alice和Bob交换B和C。 Alice计算Ka=Cb mod p,同时Bob计算Kb=Bc mod p。 Kb=Bc mod p=(gb mod p)c mod p=(gb )c mod p=(gc)b mod p =(gc mod p)b mod p =(C)b mod p=Ka=K(对称密钥) 举例 Alice选择p=7和生成器g=3,并把他们发送给Bob。 Alice随机选择b=3,并计算B=gb mod p=33 mod 7=27 mod 7=6 ,同时Bob也随机选择c=5,并计算C=gc mod p=35 mod 7= 243 mod 7=5。 Alice和Bob交换6和5。 Alice计算K=Cb mod p=53 mod 7=125 mod 7=6 同时Bob计算K=Bc mod p=65 mod 7=7776 mod 7=6。

91 第3节 非对称密码体制 非对称密码体制的特点 非对称密码体制的原理 非对称加密算法 非对称密码体制的应用模型

92 非对称密码体制的产生和特点 非对称密码体制的特点 由Diffie 和Hellman 于1976年首次提出了用于对称密钥交换的公钥算法。
1977年Rivest, Shamir & Adleman 提出了著名的RSA公钥算法。 非对称密码体制的特点 有两个不同的密钥,分别用于加密功能和解密功能。 一个密钥称作私钥,秘密保存;另一个密钥称作公钥,不需要秘密保密 一对密钥中任何一个进行加密后,只有另外密钥才能解密。 已知公钥,要确定出私钥,在计算上是不可行的。 算法基于数学函数,而不是基于替代和置换。 可以简化密钥的管理,并且可以通过公开系统来分配密钥。 安全性大都基于数学难题:大整数因子分解/离散对数 公钥密码体制的应用除了提供机密性保障外,还提供信息完整性和数字签名的功能。

93 非对称密码体制的原理 如果把对称密码算法可以理解为双向函数的运算,那么,非对称密码算法则是利用了单向函数的特点。
求幂运算就是一个比较好的单向运算。32=9很容易计算,但91/2=?。再加上模数函数的话,如果136 mod 11=?可以较快的算出来,那么, 13x mod 11=9中的x就不是那么好算了。如果13x mod 11=9中的x还能穷举的话,那么, x mod =616920中的x你能算出来吗?在RSA算法中,“ ”是明文的话,x就是加密明文的私钥,“616920”就是密文。 因此,使用非对称加密,明文信息必须转化成足够大的数才能保证私钥的不可破译。 “D”、“O”、“G”分别对应的标准ASCII码是“68”、“79”、“71” 十进制数68=2∧2+2 ∧ 6转换成二进制数便是 。 明文信息 二进制字符串 10进制大数 DOG 446743

94 RSA加密算法 RSA系统的功能 支持公钥私钥对的生成、加密以及数字签名。 过程 举例
Alice选择大的质数p和q,并得到n=p*q。(由于p和q非常大,所以由n几乎无法复原p、q(大数分解和质数检测,陷门单向函数)) Alice选择一个与(p-1)*(q-1)互质的质数e(公共质数)。 Alice计算私有质数d=e-1 mod [(p-1)*(q-1)]。( e与(p-1)*(q-1)互质,根据Euler定理,d为与e互质并且不大于e的正整数的个数) Alice与Bob共享公钥数对(e, n)。(d, n)是Alice的私钥。 Bob使用公钥(e, n)加密明文M得到密文C,C=Me mod n,并把密文C发送给Alice。 Alice使用M=Cd mod n 把C解密成M。 举例 Alice选择大的质数p=5和q=11,并得到n=55。 Alice选择一个与(p-1)*(q-1)=40互质的质数3。 Alice计算私有质数d=3-1 mod 40=27。 Alice与Bob共享公钥数对(3, 55),(27, 55)是Alice的私钥。 Bob使用公钥(3, 55)加密明文M=25得到密文C=253 mod 55=15625 mod 55=5,并把密文“5”发送给Alice。 Alice使用M=Cd mod n=527 mod 55= mod 55=25,获得Bob的原始信息。

95 ElGamal加密算法 ElGamal算法既能用于数据加密也能用于数字签名的非对称加密算法 密钥对产生办法 密钥对产生办法
美国的DSS(Digital Signature Standard)中的DSA(Digital Signature Algorithm)算法是经ElGamal算法演变而来。 密钥对产生办法 首先选择一个素数p,两个随机正整数, g 和x,g, x < p, 计算 y = gx mod p,则其公钥为 y, g 和p;X是私钥;g和p可由一组用户共享。 密钥对产生办法 首先选择一个素数p,两个随机正整数, g 和x,g, x < p, 计算 y = gx mod p,则其公钥为 y, g 和p;x是私钥;g和p可由一组用户共享。 ElGamal加密过程 设被加密信息为M,首先选择一个随机数k,k<p-1,计算C1=gk mod p,C2=ykM mod p。 将(C1,C2 )作为M的密文发送给接收方。 接收方解密时计算:C2 × C1-x mod p= [ykM mod p] × [gk mod p] -x mod p= gx*k M× gk (-x) mod p=M。 美国的数字签名标准算法——DSA签名算法,是ElGamal公钥密码体制的一种变形。

96 不同非对称加密算法的特点 Diffie-Hellman是最容易的密钥交换算法; RSA是最易于实现的; Elgemal算法更适合于加密;
DSA对数字签名是极好的,并且DSA无专利费,可以随意获取;

97 非对称密码体制的应用模型 加密模型(数字信封) 鉴别模型(数字签名和时间戳)

98 加密模型——加密过程 明文 使用对称密钥加密报文 使用不对称密钥加密对称密钥 密文包和密钥包一起发送给对方 使用对称密钥加密报文
随机产生的对称密钥 对称加密 密文包 密钥包 不对称加密 使用对称密钥加密报文 使用不对称密钥加密对称密钥 密文包和密钥包一起发送给对方 接收方的公钥 使用对称密钥加密报文 使用不对称密钥加密对称密钥 密文包和密钥包一起发送给对方

99 加密模型——解密过程 明文 密文包 收到的对称密钥 密钥包 接收方的私钥
接收方先使用自己的私钥对对称密钥进行加密并获得对称密钥,然后用该对称密钥解密密文得到明文。 接收方的私钥

100 身份鉴别模型——数字签名 摘要函数 (Hash) 明文 用发送方私钥完成的签名 摘要信息 明文+签名 发送方的私钥
1、使用摘要函数对明文进行摘要的摘要,然后发送方使用自己的私钥对该摘要进行签名。最后,将明文和签名一起发送给对方。 明文+签名 发送方的私钥

101 身份鉴别模型——验证签名 比较 摘要函数 明文 (Hash) 明文+签名 用发送方的公钥验证签名 摘要信息 发送方公钥
1、使用摘要函数对明文进行摘要的摘要,然后发送方使用自己的私钥对该摘要进行签名。最后,将明文和签名一起发送给对方。 发送方公钥

102 时间认证模型(数字时间戳) 数字时间戳服务(DTS)是使用数字文件的形式证明有关操作或文件签发的具体时间,它网上安全服务项目之一,DTS由专门的机构提供。 时间戳 (time-stamp)是一个经加密后形成的凭证文档,它包括三个部分: ①需加时间戳的文件的摘要 (digest) ②DTS机构收到文件的日期和时间 ③DTS机构的数字签名。 书面文件的签署时间是由签署人自己写上的,而数字时间戳则不然,它是由认证单位DTS机构填加的,以DTS收到文件的时间为依据。

103 数字时间戳的产生过程 用户首先将需要加时间戳的文件用HASH编码加密形成摘要,并将该摘要发送到DTS机构;
1 摘要 1 摘要1 +时间 加了时间后的新摘要 加时间 Hash算法 Hash算法 文件 用DTS机构的私钥加密 数字 时间戳 数字 时间戳 DTS机构 发送方

104 第4节 使用Hash函数进行信息鉴别 信息鉴别与加密 Hash 函数的特征和功能 Hash函数基本用法 典型的Hash函数

105 信息鉴别与加密 保密性与真实性是两个不同的概念,信息加密提供的只是信息的保密性而非真实性。 某些信息只需要真实性,不需要保密性。
广播的信息难以使用加密(信息量大) 网络管理信息等只需要真实性 政府/权威部门的公告 信息真实性鉴别代价小,加密代价大(公钥算法代价更大)。 鉴别函数与保密函数的分离能提供功能上的灵活性

106 HASH 函数及其特征 概念 Hash函数是一种从明文到密文的不可逆函数,即只能加密不能还原。它是将任意长度的信息压缩到一固定长度的信息摘要(Message Digest)的函数h=H(M)。 Hash函数又称为:摘要函数、散列函数、数字指纹(Digital finger print)、压缩(Compression)函数、数据鉴别码(Data authentication code)等。 特征 计算的单向性:给定M和H,求h=H(M)容易,但反过来给定h和H,求M=H-1(h)在计算上是不可行的。 强碰撞自由:要寻找不同的信息M 和M′,满足 H(M′)=H(M)在计算上是不可行。 Hash函数不需要密钥,并且函数运算速度较快。 对Hash函数的密码分析比对称密钥密码更困难。

107 HASH 函数的作用 作用 Hash函数主要用在一些只需加密不需解密的场合:如验证数据的完整性、Web登陆口令的加密、防火墙中应用程序核对等。 将变长的信息压缩成定长的摘要,用于提高数字签名的有效性。 SHA——Secure Hash Algorithm

108 HASH函数基本用法之一 算法符号描述 服务功能 过程描述 A→B: Ek[M‖H(M)]
B:Dk [Ek[M‖H(M)]]=[M’‖H(M)];H(M’),判断:H(M’)是否等于H(M)。 服务功能 提供鉴别——使用信息摘要H(M)与H(M’)的比较完成信息完整性鉴别 提供加密——使用对称加密密钥K加密原始信息和信息摘要 过程描述 Hash M M C Ek[M,H(M)] M’ M’ E D H(M’) M K K H(M) H(M) 比较 Hash

109 HASH函数基本用法之二 算法符号描述: 服务功能 过程描述 M M M’ M’ M E D K K A:M‖Ek[H(M)] →B
B:Dk[Ek[H(M)]]= H(M);H(M’),判断:H(M’)是否等于H(M)? 服务功能 提供加密服务——对H(M)使用加密保护 提供鉴别服务——使用信息摘要H(M)与H(M’)的比较完成信息完整性鉴别 过程描述 Hash M M M’ EkH(M) M’ H(M’) 比较 EkH(M) M E H(M) D H(M) K K Hash

110 HASH函数基本用法之三 算法符号描述: 服务功能 过程描述 A:H(M) →B(预先发送或存储信息摘要)
B:判断:H(M’)是否等于H(M)? 服务功能 提供身份鉴别——使用信息摘要H(M)与H(M’)的比较,判断发送方是否掌握原始信息以鉴别其身份的真实性。 过程描述 Hash M H(M) H(M) 比较 M’ H(M’) H(M’) Hash

111 HASH函数基本用法之四 算法符号描述 A:[M‖EkSa[H(M)]] →B
B:DkPa[EkSa[H(M)]]=H(M);H(M’),判断:H(M’)是否等于H(M)? 服务功能 提供签名服务——A用自己的私钥KSa加密H(M)完成对M的数字签名,B用A的公钥KPa验证该数字签名 提供鉴别服务——通过信息摘要H(M)与H(M’)的比较,完成被签名信息的完整性鉴别 过程描述 Hash M M M’ EkH(M) M’ H(M’) 比较 EkH(M) M H(M) E D H(M) KSa KPa Hash

112 HASH函数基本用法之五 算法符号描述: A:EKPb[M‖EKSa[H(M)]] →B
B:DKSb [EKPb[M‖EKSa[H(M)]]]= [M’ ‖EKSa[H(M)]];DKPa[EKSa[H(M)]]=H(M);H(M’),判断:H(M’)是否等于H(M)? 服务功能 提供鉴别——比较H(M) 数字签名——A用自己的私钥加密H(M),B用A的公钥验证签名 提供加密——A用B的公钥对信息和签名一起加密 过程描述 C EkPb[M,EKSa[H (M)]] Hash M M M’ EkH(M) M’ E D H(M’) KPb KSb 比较 EkH(M) M E H(M) D H(M) KSa KPa Hash

113 典型的HASH 函数 典型的HASH函数 密码学领域重大发现:山东大学王小云教授成功破解MD5等Hash算法
MD2: 散列值长度为128bits. MD5: 散列值长度为128bits. SHA-1 : 散列值长度为160bits. RIPEMD-160: 散列值长度为160bits. SHA256: 散列值长度为256bits. 密码学领域重大发现:山东大学王小云教授成功破解MD5等Hash算法 被破解的算法有MD4、MD5、HAVAL-128、RIPEMD-128 H(a)= CRC32: B6A962DB MD5: A5C8CE6978E46813E453D0277E47EA53 SHA-1: CE5F28ACA6C1D3D0506F4124C446009BA65F16 RIPEMD160:EA13DFF4B14A2BE5C6C698C3B0C2475C70C5FA42 SHA256: 26FFD A36A7EA0F6E26056FC CB4894BCB100A34DC69D1DB SHA——Secure Hash Algorithm

114 三类算法的特点 对称密码算法 非对称密码算法 HASH函数 加/解密速度快,但密钥分发问题严重 加/解密速度较慢,但无密钥分发问题
计算速度快,结果长度统一

115 第5节 混合型加密体制——PGP PGP包括4种加密技术 对称加密——国际数据加密算法(CAST、IDEA、3DES)
用于加密文件 非对称加密——RSA和Diffie-Hellman/DSS 用于加密对称密钥和进行数字签名 单向(摘要)函数——MD5/RSA、SHA/DSS 用于文件的压缩和文件完整性检验 标准随机数发生器 用于生成密钥和密钥对

116 第2章 复习题 对称加密与非对称加密在加密方法、算法和功能等方面有何区别? 对称加密和非对称加密分别是如何保障其加密技术的安全性的?
HASH函数在电子商务中的应用有哪些?

117 第2章 实验要求 PGP操作 秘密信使操作 使用Hash函数工具 熟悉WINDOWS的文件加密系统(EFS) PGP软件安装。
生成或导入密钥对。 导出或备份密钥对和单独导出公钥。 双方相互发送加密文件,并对接受到的文件进行解密。 秘密信使操作 在秘密信使操作界面中生成自己的密钥对,导出自己的公钥,与他人交换公钥,并倒入他人的公钥。 使用接受方的公钥进行文件、文本和msn信息加密。解密收到的密文。 使用msn软件察看加密后的msn信息。 使用Hash函数工具 使用Hash函数工具(hash.exe)计算自己的学号的SHA-1, SHA256, IPEMD160, MD5等4个hash值。 用文本文件保存计算所得的hash值。文件名=学号,内容包括4行,依次是自己学号的SHA-1, SHA256, RIPEMD160, MD5值。 熟悉WINDOWS的文件加密系统(EFS)

118 第3章 数字签名技术与应用 第1节 数字签名的基本原理 第2节 数字签名及其应用 实验要求

119 签名的基本特点 传统签名的基本特点 数字签名是传统签名的数字化 能与被签的文件在物理上不可分割 签名者不能否认自己的签名 签名不能被伪造
容易被验证 数字签名是传统签名的数字化 能与所签文件“绑定”,必须能够认证签名时刻的内容 签名不能被伪造,能够验证作者及其签名的日期时间 容易被自动验证,能够由第三方验证,以解决争议

120 基于加密技术的数字签名 签名体制 签名 验证签名 M:明文空间(m∈M) S: 签名集合(s∈S) K:密钥空间(k∈K)
V:证实函数的值域(Verk(s,m)={真,伪}) 签名 对于任意的m,取k∈K,签名:s=Sigk(m)∈S 验证签名 真,当Sigk(m) 满足验证方程 Verk(s,m)= 伪,当Sigk(m) 不满足验证方程 关键:s无法推导出k;不存在m’,使得Sigk(m’)满足方程

121 结合Hash函数的数字签名方案 发送者 接收者 信息 信息 HASH函数 HASH函数 解密 如果二者 一样,则 签名验证 通过 实际摘要
附件 解密 如果二者 一样,则 签名验证 通过 实际摘要 摘要 加密 私钥 公钥 期望摘要 附件

122 加密与数字签名的综合应用

123 数字签名及其应用 普通数字签名算法 数字签名的应用种类 RSA EIGamal DSS/DSA 直接签名 仲裁签名 盲签名 代理签名
定向签名 团体签名

124 RSA签名 生成密钥对 Alice签名 Bob验证签名 结合Hash的RSA签名 Alice选择大的质数p和q,并得到n=p*q。
Alice选择一个与(p-1)*(q-1)互质的质数e(公共质数)。 Alice计算私有质数d=e-1 mod [(p-1)*(q-1)]。 Alice与Bob共享公钥数对(e,n)。(d,n)是Alice的私钥。 Alice签名 Alice使用(d,n)对m进行签名:s=Sig(m)=md mod n ,并将s,m发送给Bob。 Bob验证签名 Bob使用公钥(e,n)验证签名:m’=se mod n,如果m’=m,则签名为真,否则,不接受签名。 结合Hash的RSA签名 Alice:计算h=H(m),对h签名——s=Sig(h)=hd mod n ,并将s,m发送给Bob。 Bob:计算h=H(m);h’= se mod n,如果h’=h,则签名为真,否则,不接受签名。

125 ElGamal签名 生成密钥对 Alice签名 Bob验证签名
Alice首先选择一个素数p,两个随机正整数, g 和x,g, x < p, 计算 y = gx mod p,则其公钥为 y, g 和p;x是私钥;g和p可由一组用户共享。 Alice签名 设被签名信息为m, Alice首先选择一个随机数k,计算压缩值h=H(m),并计算r=gk mod p,s=(h-xr)k-1 mod (p-1)。将Sig(m,k)=(m,r,s)发送给Bob。 Bob验证签名 Bob计算h’=H(m),验证yrrs 是否等于gh’ mod p ∵ yrrs = gxrgks mod p = g(xr+ks) mod p , sk+xr =h mod (p-1) ∴ yrrs =gh mod p

126 美国数字签名标准(DSS-DSA) DSA签名算法是ElGamal公钥密码体制的一种变形。安全性完全依赖于计算离散对数的困难性。 算法描述:
p是从512到1024(64倍数)的素数; q是160位长且与p-1互素的因子; g=h(p-1)/q mod p (h是小于p-1且满足h(p-1)/q mod p 大于1的任意数) ; x是小于q的数,y=gx mod p;令算法使用一个单向散列函数H(m) P、q、g 公开,私有密钥为x,公开密钥为y 签名过程: 产生一个小于q的随机数k; 计算: r=(gk mod p) mod q ,s=(k-1(H(m)+xr)) mod q; (m,r,s)即为签名. 验证签名: w=s-1 mod q , u1=(H(m)×w) mod q , u2=(r×w) mod q v=(gu1 × yu2 mod p) mod q ,如果v=r 则签名验证有效。

127 直接数字签名 A:EKSa[M] →B B:EKPa[EKSa[M] ] A:EKPb[EKSa[M] ] →B
KSa、KPa 分别是A的私钥和公钥 A:EKSa[M] →B B:EKPa[EKSa[M] ] 只有A具有KSa,可以进行加密(签名) 任何第三方都可以用KPa验证签名 只提供签名功能 A:EKPb[EKSa[M] ] →B B:EKPa[EKSb[EKPb[EKSa[M] ] ]] 提供加密(KPb)和签名(KSa)功能

128 直接数字签名 A:M‖EKSa[H(M)] →B B:h= H(M);EKPa[EKSa[H(M)] ]=h’;h’=h?
H(M)受到Hash算法不可逆的保护 只有A能够生成EKSa[H(M)] 提供签名和鉴别功能 A:EKPb[M‖EKSa[H(M)] ] →B B:EKSb[EKPb[M‖EKSa[(M)] ] ] ; h= H(M); EKPa[EKSa[H(M)] ]= h’;h’=h? 提供加密(KPb)、签名(KSa)和鉴别(H(M))功能

129 直接数字签名的缺点 验证模式依赖于发送方的私钥
发送方要抵赖发送某一信息时,可能会声称其私有密钥丢失或被窃,从而他人伪造了他的签名。 需要采用与私有密钥安全性相关的行政管理控制手段来制止或至少是削弱这种情况,但威胁在某种程度上依然存在。 改进的方式,例如可以要求被签名的信息包含一个时间戳(日期与时间),并要求将已暴露的密钥报告给一个授权中心。 Alice的私有密钥确实在时间T被窃取,第三方能否伪造Alice的签名以及早于或等于时间T的时间戳?

130 仲裁签名 引入仲裁者 前提条件:所有的参与者必须极大地相信这一仲裁机制的工作。
所有从发送方A(Alice)到接收方B(Bob)的签名信息首先送到仲裁者C(Carol)。 C将信息及其签名进行一系列测试,以检查其来源和内容。 C将信息加上日期并与验证通过的指示一起发给B。 前提条件:所有的参与者必须极大地相信这一仲裁机制的工作。

131 仲裁签名-单密钥加密方式 A与C之间共享密钥Kac,B与C之间共享密钥Kbc; A:M‖EKac[IDA‖H(M)] →C
A:计算消息M的散列码H(M),用A的标识符IDA 和散列值构成签名,并将消息和经Kac加密后的签名发送给C; C:EKbc[IDA‖M‖EKac[IDA‖H(M)]‖T]→B C:解密签名,用H(M)验证消息M,然后将IDA,M,经Kac加密后的签名和时间戳T一起经Kbc加密发送给B; B:解密C发来的信息,并将消息M和经Kac加密后的签名保存起来。 B不能直接验证A的签名 问题:C可以看到A给B的所有信息

132 仲裁签名-单密钥加密方式 验证签名 B:EKbc[IDA‖M‖EKac[IDA‖H(M)]]→C C:用EKbc恢复IDA,M和签名EKac[IDA‖H(M)],然后用EKac 解密签名并验证散列码。 在这种模式下,B不能直接验证A的签名,B认为C的消息正确,只因为他来自于C。因此,双方必须高度相信C。并且相信C处理争议时是公正的。 A和B之间也可以约定一个对称密钥,并使用该密钥加密明文后,再进行以上的签名操作,这样C就无法看到明文的内容。 问题 C与A联手可以否认签名的信息 C与B联手可以伪造A的签名

133 仲裁签名-双密钥加密方式 A:IDA‖EKSa [IDA‖EKPb[EKSa [M]]]→C
A首先用自己的私有密钥KSa,然后用B的公开密钥KPb,生成经过签名的密文。最后将该信息以及A的标识符一起用自己的私钥EKSa 签名后与IDA一起发送给C。这时加密过的消息对C,以及B以外的其他人都是保密的。 C:EKSc[IDA‖EKPb[EKSa [M]]‖T] →B C检查A的签名是否有效,并确认消息。然后将包含IDA、经A加密并签名的消息和时间戳的消息用自己的私钥EKSc 签名后发送给B。

134 仲裁签名- 的特点 在通信之前,各方之间无需共享任何信息,从而避免了联手作弊;
即使A的私钥EKSa 泄露,只要C的私钥未泄露,不会有错误标定日期的消息被发送; A发送给B的消息的内容对C和任何除A、B以外的其他人是保密的。 引入仲裁签名只是为了通过仲裁者证明指定信息是由A在指定的时间发送给B的。并不代表指定信息是由仲裁者签发的。

135 盲签名 数字签名的一个基本特征是文件的签署者知道他们在签署什么,甚至该文件就是签署者自己生成的。但有时候我们想要别人签署一个他们从未看过其内容的文件。也有办法让签名者能大体知道他们要签什么,只不过不准确而已。或者不想让签署者知道签名文件的拥有者,这就提出了盲签名技术。 盲签名操作涉及三个当事人,分别是签名文件拥有者、签名者和签名验证者。盲签名包括盲消息签名、盲参数签名等。 盲消息签名的过程(参见教材第73页)。 只有当签名函数和乘法函数是可交换时,即Sigk(mh)= Sigk(m)*h,盲签名才能有效。 M 文件拥有者 签名者 验证签名者 M’ H 盲运算 Bob是一个公证员,Alice要他签一个文件,但又不想让他知道他在签什么。Bob不关心文件中说些什么,他只是证明他在某一时刻公证过这个文件。他愿意这样进行: (1)Alice取出文件并将它乘以一个随机值,这个随机值称为盲因子; (2)Alice送这份隐蔽好的文件给Bob; (3)Bob在这个隐蔽好的文件上签名; (4)Alice将其除以隐蔽因子,留下Bob签过的原始文件。 只有当签名函数和乘法函数是可交换时,这个协议才能有效。如果不是,有别的方法可代替乘法来修改文件。相关的算法出现在23.12节中。现在,假设运算是乘法,并且所有数学上的要求都满足。 Bob能进行欺骗吗?他能收集到他所签的文件的任何信息吗?如果盲因子是真正随机的并使隐蔽文件真正随机的,那么他不能。在步骤(2)中,Bob签的隐蔽好的文件一点也不象Alice开始用的文件。在步骤(3)中,带有Bob签名的隐蔽好的文件也一点不象步骤(4)末的已签了名的文件。即使Bob可染指这个文件,并且文件上带有他的签名,在完成这个协议之后,他也不能证明(向他自己或任何其他人)他在那个特殊的协议中签了这个文件。他知道他的签名是有效的。他也可以象其他人一样验证他的签名。但是,他没有办法把已签了名的文件和他在协议中收到的任何信息相关联。如果他用这个协议签了一百万份文件,他照样没有办法知道在哪种情况下他签了哪一份文件。 完全盲签名的性质是: ——Bob在文件上的签名是有效的。签名就是Bob签署这份文件的证据。如果把文件给Bob看,Bob确信他签署过这份文件。在2.6节中也讨论过的数字签名具有的所有其他性质。 ——Bob不能把签署文件的行为与签署了的文件相关联。即使他记下了他所作的每一个盲签名,他也不能确定他在什么时候签署了该文件。 Eve在中间观看了这个协议,他得到的信息甚至比Bob还少。 盲签名 用完全盲签名协议,Alice能让Bob签任何东西:“Bob欠Alice一百万美元”,“Bob欠Alice的头生子”,“Bob欠Alice一袋软糖。”可能的事远远不止于此。这个协议在许多场合都无用。 然而,有一个办法可以让Bob知道他在签什么,同时仍保持盲签名的有用性质。这个协议的核心是分割选择技术,考虑一个例子,每天很多人进入这个国家,而移民局要确信他们没有走私可卡因。官员们可以搜查每一个人,但他们换用了一种概率解决办法。他们检查入境人中的十分之一。十个人中有一个人的行李被检查,其余的九个畅通无阻。长期的走私犯会在大多数时间里逍遥法外,但他们有10%的机会被抓住。并且如果法院制度有效,则抓住一次的处罚将远远超出其它九次所得到的。 如果移民局想增大抓住走私犯的可能性,他们将不得不搜查更多的人。如果他们要减少这种可能性,他们只须搜查少量的人。通过操纵概率,他们可以控制协议抓住走私犯的成功程度。 盲签名协议以类似的方式发挥作用。Bob将得到一大堆不同的隐蔽好的文件,他打开即检查除一个文件以外的所有文件,然后对最后一个文件签名。 把隐蔽文件想象为装在信封里,隐蔽文件的过程就是把文件装进信封,去除隐蔽因子就是打开信封。当文件在信封里时,没人能读它。文件则是用一张复写纸签署在信封里:当签名人签署信封时,他的签名通过复写纸也签在了文件上。 这个剧情涉及到一组反间谍人员。他们的身份是秘密的,甚至反间谍机构也不知道他们是谁。这个机构的头子想给每个特工一份签名的文件,文件上写有:“这个签名文件的持有人(这里插入特工的化名)享有完全的外交豁免权。”所有的特工有他们自己的化名名单,故这个机构不能仅仅是分发签名文件。特工们不想把他们的化名送给所属机构,敌方或许已经破坏了这个机构的计算机。另一方面,机构也不想盲目地签特工送来的文件。聪明的特工可能会代之一条消息,象:“特工(名字)已经退休并获得一年一百万美元的养老金。签名:总统先生”。在这种情况下,盲签名可能是有用的。 假设所有特工都有十个可能的化名,这些化名都是他们自己选的,别人不知道。同时假设特工们并不关心他们将在哪个化名下得到外交豁免权。再假设这个机构的计算机是情报局大型情报计算机ALICE,我们的特定代理部门是波哥大行动局:BOB。 (1)BOB准备了n份文件,每一个使用不同的化名,并给予那个特工外交豁免权。 (2)BOB用不同的盲因子隐蔽每个文件。 (3)BOB把这n份隐蔽好的文件给ALICE。 (4)ALICE随机选择n-1份文件并向BOB索要每份文件的盲因子。 (5)BOB向ALICE发送适当的盲因子。 (6)ALICE打开(即去掉盲因子)n-1份文件,并确信它们是正确的而不是退休授权。 (7)ALICE在第十个文件上签名并把它送给BOB。 (8)BOB去掉盲因子并读出他的新化名:“The Crimson Streek”。签署的文件在那个名字下给予他外交豁免权。 这个协议能防止BOB欺骗。他要欺骗,他必须准确地预测ALICE不会检查哪一份文件。他这样做的机会是n分之一,不是很好。ALICE也知道这一点并且有把握签一份她不可能检查的文件。用这份文件,这个协议就和先前的盲签名协议一样,并保持了它所有的匿名性质。 有一种方法可以使BOB的欺骗机会更小,在步骤(4)中,ALICE随机选择n/2份文件提出质疑,并在步骤(5)中发送给她合适的盲因子。在步骤(7)中,ALICE使所有非质疑文件一块儿相乘并签署这分大文件。在步骤(8)中,BOB去掉所有的盲因子,ALICE的签名只有在它是n/2相同文件乘积的有效签名时才是可以接受的。要欺骗BOB就得能够准确地猜测ALICE将质疑哪一个子集;其机会要比猜测ALICE不会质疑哪一份文件的机会小得多。 BOB有另一种方法进行欺骗。他可产生两份不同的文件,一份ALICE愿意签署,一份ALICE不愿签署。然后他可以找两个不同的盲因子,把每份文件变成相同的隐蔽文件。这样,如果ALICE要检查文件,BOB就给她把文件变成良性文件的盲因子;如果ALICE不要求看文件,并签署文件,则他可以使用盲因子把文件变为恶意文件。虽然这在理论上是可行的,但涉及到特定算法,使BOB能找到这样一对盲因子的机会变得微乎其微。实际上,可以使它同BOB能自己在一份任意消息上产生签名的机会一样小。这个问题在23.12节中进一步讨论。 专利 CHAUM已取得了几种盲签名的专利(见表5.1)。 TABLE 5.1 消除 盲运算 M’ Sig M Sig M’ X 签名 运算 M’ Sig M Sig Y 验证 签名 M

136 其他盲签名 弱盲签名 签名者仅知道Sig(m’),不知道Sig(m)。如果他保留Sig(m’)及其他有关数据,待Sig(m) 公开后,可以分析出Sig(m)与Sig(m’)的关系,并对信息m的拥有者进行追踪。 强盲签名 签名者仅知道Sig(m’),不知道Sig(m),也无法分析Sig(m)与Sig(m’)的关系。因此,无法对信息m的拥有者进行追踪。电子商务中的数字货币系统和投票系统常用该技术。 盲参数签名 签名者知道所签信息m的具体内容,但签名收方可以改变原签名数据Sig(m) =(m, r’,s’ ),得到新的签名Sig(m) =(m,r,s),使得签名验证方程依然成立。 盲参数签名方案用于CA中心为交易双方颁发口令,交易者可以生成包括CA中心在内的所有其他人都无法知道的新的口令,而且验证方程不变。

137 代理签名 常规的商业程序会在签名者因故缺席的情况下,事先安排一个代理。代理在事先得到签名者授权的情况下代表签名者进行签名。这种由代理人完成签名的作法在计算机虚拟环境下也同样存在需求。Alice需要外出进行商业旅行,这些地方不能很好地访问计算机网络。她希望接受一些重要的电子邮件,并指示她的秘书Bob作相应的回信。Alice在不把她的私钥给Bob的情况下,让Bob行使她的消息签名的权利的做法叫做代理签名。 这种代理具有下面的特性: 可区别性。任何人都可区别代理签名和正常的签名。 不可伪造性。只有原始签名者和指定的代理签名者能够产生有效的代理签名。 代理签名者的不符合性。代理签名者必须创建一个能检测到是代理签名的有效代理签名。 可验证性。从代理签名中,验证者能够相信原始的签名者认同了这份签名消息。 可识别性。原始签名者能够从代理签名中识别代理签名者的身份。 不可抵赖性。代理签名者不能否认他创立的且被认可的代理签名。 在某些情况中,需要更强的可识别性形式,即任何人都能从代理签名中确定代理签名者的身份。

138 定向签名 通常情况下,接收到已经过数字签名的文件的任何人都可以验证该签名的真实性。为了保证只有指定的接收方可以验证签名的真实性,我们可以对已签名的文件进行加密,但此时必须使用加密技术。 定向签名是一种不需要进行加密处理,也不需要进行交互式验证的签名的定向传输技术。 ElGamal型定向签名 MR型定向签名

139 团体签名 一个公司有几台计算机,每台都连在局域网上。公司的每个部门有它自己的打印机(也连在局域网上),并且只有本部门的人员才被允许使用他们部门的打印机。因此,打印前,必须使打印机确信用户是在那个部门工作的。同时,公司想保密,不可以暴露用户的姓名。然而,如果有人在当天结束时发现打印机用得太频繁,主管者必须能够找出谁滥用了那台打印机,并给他一个帐单。 对这个问题的解决方法称为团体签名。它具有以下特性: 只有该团体内的成员能对消息签名; 签名的接收者能够证实消息是该团体的有效签名。 签名的接收者不能决定是该团体内哪一个成员签的名; 在出现争议时,签名能够被“打开”, 以揭示签名者的身份。 具有可信仲裁者的团体签名 本协议使用可信仲裁者: (1)Trent生成一大批公开密钥/私钥密钥对,并且给团体内每个成员一个不同的唯一私钥表。在任何表中密钥都是不同的(如果团体内有n个成员,每个成员得到m个密钥对,那么总共有n*m个密钥对)。 (2)Trent以随机顺序公开该团体所用的公开密钥主表。Trent保持一个哪些密钥属于谁的秘密记录。 (3)当团体内成员想对一个文件签名时,他从自己的密钥表中随机选取一个密钥。 (4)当有人想验证签名是否属于该团体时,只需查找对应公开钥主表并验证签名。 (5)当争议发生时,Trent知道哪个公钥对应于哪个成员。 这个协议的问题在于需要可信的一方。Trent知道每个人的私钥因而能够伪造签名。而且,m必须足够长以避免试图分析出每个成员用的哪些密钥。 Chaum在论文中列举了许多别的协议[330],其中有些协议Trent不能够伪造签名,而另一些协议甚至不需要Trent。另一个协议[348]不仅隐藏了签名者的身份,而且允许新成员加入团体内。在[1230]中还描述了另一个协议。

140 第3章 实验要求 PGP操作 PGP软件安装。 生成或导入密钥对。 导出或备份密钥对和单独导出公钥。
使用自己的私钥对准备发送的文件进行签名;使用发送方的公钥验证接收到的已经发送方签名的文件的签名的真实性。

141 第4章 数字证书与公钥基础设施 第1节 公钥基础设施(PKI)基本概念 第2节 数字证书 第3节 PKI中密钥和证书的管理
第5节 网站数字证书的申请和使用 实验要求 利用互联网查询国内CA认证机构业务状况; 利用相关网站提供的模拟操作,了解数字证书相关操作。

142 网上用户身份识别问题的思考 能否通过对方的公开密钥确认对方(包括设备、软件、系统进程等)的身份? 解决方案基本思路 引入数字证书
通过一个结构化的数据,将某一成员的识别符和其公钥值通过某一可信成员的数字签名有效的捆绑在一起。

143 数字证书应用中的问题和解决方案 问题 方案: 密钥对如何生成和管理?
如何安全获得对方的公开钥?也就是如何确保你得到的一个公开密钥就一定是对方的公开密钥? 公钥和身份如何建立联系? 如何保证加密算法的统一? 方案: 引入密钥管理中心(KMC)负责密钥对的生成、管理和分发。公钥分配不需要机密性,但需要完整性(不允许替代假冒),因此,可采用统一管理和发布的方法。 。 引入数字证书(certificate),通过证书把公钥和身份关联起来。 引入证书中心(Certificate Authority,CA),由该机构完成用户数字证书的管理和证书分发。 引入安全协议和证书标准,保证加密算法的统一,实现基于证书的安全服务。 基于以上解决问题的需要产生了公钥基础设施(PKI)。

144 公钥基础设施PKI PKI(Public Key Infrastructure)是一个用公钥概念与技术来实施和提供安全服务的具有普适性的安全基础设施。PKI公钥基础设施的主要任务是在开放环境中为开放性业务提供基于公开密钥技术的一系列安全服务,包括身份证书和密钥管理、机密性、完整性、身份认证和数字签名等。 PKI必须处理的问题 PKI的功能 PKI的基本组成部分 PKI的运行

145 PKI必须处理的问题 密钥的安全生成 初始身份的确认 证书的颁发、更新和终止 证书有效性检查 证书及相关信息的发布 密钥的安全归档和恢复
签名和时间戳的产生 信任关系的建立和管理

146 PKI的功能 功能 描述 实现 用户登记(注册) 搜集用户信息,验证审核用户身份 CA或RA的功能 签发证书(认证)
对用户的证书申请,签发证书 CA的功能 注销证书(撤销) 生成并发布黑名单CRL CA管理终端的功能 存储、恢复证书和黑名单(证书与撤销通知的分发与发布) 使用户证书和黑名单让授权用户可以方便得到 经由LDAP协议,采用安全备份的目录服务器管理证书和黑名单 基于政策的证书路径验证(交叉证书) 实现基于证书政策限制的证书链验证。 密钥生命周期管理 (密钥产生\更新\恢复) 密钥的更新、存档、恢复等 软件自动或手工实现

147 PKI的基本组成部分 策略管理机构 用户 证书仓库 认证机构 公钥证书 证书注销列表 注册机构 公钥证书 (Cert)
证书注销列表(CRL) 认证机构(CA) 注册机构(RA) 证书仓库(Repository) 策略管理机构(PMA) 用户(User) 策略管理机构 监督证书策略的产生和更新,管理PKI证书策略。 用户 署名用户(Subscriber)是作为署名证书的主体并依据策略使用证书和相应密钥的实体。 依赖方(Relying party)接收包括证书和签名信息的人或机构,利用证书提供的公钥验证其有效性,与持证人Subscriber建立保密通信,接收方处于依赖的地位。 最终用户(End User)持证人和依赖方的统称,也称末端实体(End-entity),可以是人,也可以是设备或程序,如路由器,或计算机中运行的进程,如防火墙。 证书仓库 一个电子信息发布点,存放证书和作废证书列表(CRL),CA在用证书和作废证书。 认证机构 一个授权产生,签名,发放公钥证书的实体。CA全面负责证书发行和管理(即,注册进程控制,身份标识和认证进程,证书制造进程,证书公布和作废及密钥的更换)。CA还全面负责CA服务和CA运行。 公钥证书 由可信实体(CA)签名的电子记录,记录将公钥和密钥(公私钥对)所有者的身份捆绑在一起。公钥证书是PKI的基本部件。 证书注销列表 作废证书列单,由同一个发证实体签名。当公钥的所有者丢失私钥,或者改换身份及其他重要信息时,需要将原有证书作废。 注册机构 一个可选PKI实体(与CA分开),不对数字证书或证书作废列单(CRL)签名,而负责记录和验证部分或所有有关信息(特别是主体的身份),这些信息用于CA发行证书和CLR以及证书管理中。RA在当地可设置分支机构LRA。

148 PKI的运行 1、署名用户向认证机构(CA)提出数字证书申请; 2、CA验明署名用户身份,并签发数字证书; 3、CA将证书公布到证书库中;
证书机构 CA/RA 证书库 3 1 2 5 6 署名用户 依赖方 4 1、署名用户向认证机构(CA)提出数字证书申请; 2、CA验明署名用户身份,并签发数字证书; 3、CA将证书公布到证书库中; 4、署名用户对电子消息数字签名作为发送认证,确保消息完整性,不可否认性,并发送给依赖方; 5、依赖方接收消息,用署名用户的公钥验证数字签名,并到证书库查明署名用户证书的状态和有效性; 6、证书库返回证书检查结果。

149 数字证书的基本概念 通过一个可信的第三方机构,审核用户的身份信息和公开钥信息,然后进行数字签名,则其他用户就可以用该可信的第三方机构的公开钥进行签名验证。从而确保用户的身份信息和公钥信息的一一对应。 由用户身份信息、用户公钥信息以及可信第三方机构所作的签名构成一个用户的身份数字证书。 证书类型 证书格式 证书生成和颁发 证书验证

150 证书类型 用户证书(最终实体的身份证书) CA证书(用于发布CA签名密钥) 电子邮件证书 服务器端SSL证书 客户端SSL证书 代码签名证书
VPN证书 CA证书 WAP证书 …… CA证书(用于发布CA签名密钥) 自颁发证书 交叉证书 CA层次证书

151 CA层次结构 根CA 中间CA 根CA具有一个自签名的证书,并对下面的CA进行签名。
在每个节点CA上,需要保存两种cert。 Forward Certificates: 其他CA发给它的certs。 Reverse Certificates: 它发给其他CA的certs。

152 X.509证书格式 版本1、2、3 序列号 签名算法标识符 签发人名称 有效时间 主体名称 主体的公钥信息 签发人唯一标识符(v2)
在CA内部唯一 签名算法标识符 证书中的签名算法 签发人名称 CA的名字 有效时间 起始和终止时间 主体名称 主体的公钥信息 算法、参数、密钥 签发人唯一标识符(v2) 主体唯一标识符(v2) 扩展域(v3) 签名 X.509是国际标准格式,WINDOWS 2000使用该格式版本3,但它并非唯一的格式。例如, PGP使用自己独有的证书格式。

153 X.509证书结构——扩展域 密钥信息 政策信息 用户和CA属性 证书路径限制
用户和CA属性扩展为一个用户或CA鉴别信息提供了附加的机制。 证书路径限制 证书路径限制扩展为使CA控制和限制在交叉认证环境中扩展的第三方提供了一种机制。

154 CA中心生成并颁发数字证书 CA中心 用户证书 证书信息 生成密钥对 CA的 私钥 署名用户 依赖方 证书序列号 证书持有人 证书颁发人
证书有限期 · · · · · · · · · · 公 钥 消 息 证书序列号 证书持有人 证书颁发人 证书有限期 · · · · · · · · · · 生成密钥对 证书序列号 证书持有人 证书颁发人 证书有限期 · · · · · · · · · · 公 钥 消 息 Hash 公 钥 消 息 私 钥 消 息 摘要 签名算法 公 钥 消 息 CA的 私钥 数 字 签 名

155 证书验证 证书验证主要是完成证书有效性的检验,包括: 证书是否有良好的完整性,即签名验证是否正确。 证书是否有效
证书是否在有效期内。 证书是否已被撤销。 证书的使用方式是否符合证书策略和限制。 是否是可信CA的签名(包括CA证书路径处理)。

156 证书验证流程 用户证书 证书无效 证书有效 否 用户CA 的公钥 是 是 同一CA? 否 否 CA可信? 是 证书鉴别 机制 用上级CA证书
重复验证

157 PKI中密钥和证书的管理 密钥管理 证书生命周期管理

158 密钥生命周期 密钥产生 证书签发 Bob 证书检验 密钥更新 密钥使用 Bob 密钥过期

159 OK  密钥备份和恢复 Help!!! PKI Password??? RA 最终用户 授权恢 复密钥 进一步授权 (# 可定制)
新的签名密钥对 和证书 密钥的历史

160 CA密钥历史保证对于 最终用户和其他的PKI 是透明的
保证透明性 CA 最终用户 Apr 1999 May 1999 Jul 1999 Aug 1999 Mar 1999 Jun 1999 Jan 1999 Sep 1998 Feb 1999 Oct 1998 Dec 1998 Nov 1998 用于验证的CA公钥 用于签名的CA私钥 新的CA签名 密钥对 CA密钥历史保证对于 最终用户和其他的PKI 是透明的

161 密钥管理问题 创建密钥 分发密钥 替换密钥/更新密钥 取销密钥 归档密钥(托管) 强度 位置(CA/用户) 存储(软件/硬件) 传输方式
证书过期——证书生命周期的自然结束 证书撤销——宣布一个合法证书不再有效 归档密钥(托管) 密钥资料的安全第三方储存

162 证书生命周期管理的三个阶段 初始化阶段 颁发阶段 取消阶段 ① 署名用户注册。 ② 密钥对产生。 ③ 证书创建。 ④ 密钥/证书分发。
⑤ 密钥备份。 ① 证书检索——远程资料库的证书检索。 ② 证书验证——确定一个证书的有效性(包括证书路径的验证)。 ③ 密钥恢复——当不能正常访问密钥资料时,从CA或信任第三方处恢复。 ④ 密钥更新——当一个合法的密钥对将过期时,进行新的密钥对的自动产生 和相应证书的颁发。 ① 证书过期——证书生命周期的自然结束。 ② 证书撤销——宣布一个合法证书(及其相关私有密钥)不再有效。 ③ 密钥历史——维持一个有关密钥资料的记录(一般是关于终端实体 的),以便被过期的密钥资料所加密的数据能够被解密。 ④ 密钥档案——出于对密钥历史恢复、审计和解决争议的考虑所进行的密 钥资料的安全第三方储存。

163 署名用户的注册 署名 用户 RA CA 1.注册表格请求 4.注册建立请求 2.注册表格应答 3.注册表格提交 5.注册建立结果
署名 用户 RA CA 1.注册表格请求 4.注册建立请求 2.注册表格应答 3.注册表格提交 5.注册建立结果 6.注册结果 8.证书响应 7.证书请求

164 证书撤销 背景 在证书有效期内,由于某些原因,而致使该证书无效,CA必须以某种形式在证书自然过期之前撤销它,并通知安全域内所有实体获知这一情况而避免安全风险。 原因 证书撤销的原因很多,可能是实体身份变更、密钥受到安全威胁等。 撤销延迟 证书撤销信息的更新和发布频率非常重要。两次证书撤销信息发布之间的时间间隔称为撤销延迟。 撤销实现方法 周期性发布机制:如,CRLs。 在线查询机制:如,在线证书状态协议 OCSP。

165 CRLs证书撤销列表 CRLs是一种包含撤销的证书列表的签名的数据结构。其完整性由数字签名保证。其签名者一般是证书的签发者。 CRLs结构:
Revoked Certificates 该域列出了被注销的数字证书序列。列举按如下格式: SerialNumber:被注销的用户证书的序列号 Revoked Time:被注销的用户证书注销时的时间 CRL Entry Extensions: CRL s条目扩展 CRLEextension 该域列出了CRLs的扩展信息。类似证书中的扩展。例如: Authority Key Identifier:认证中心密钥标 Issuer Alternative Name:证书发放者替代名称 CRL Number:该CRLs在整个发布过程中的编号。 Issuing Distribution Point: CRLs的发布点。 Signature 该域列出了CRLs签发者对以上信息的数字签名信息。类似证书中的签名。 Next Update 该域指明了下一次签发CRLs的日期和时间。 Issuer Distinguished Name 该域指明了发放CRLs的发放者的X500名称,解释同数字证书。 Signature Algorithm Identifier 该域指明了CRLs的签名算法,解释同数字证书。 This Update 该域指明了本次签发CRLs的日期和时间。 Version 该域指明了CRLs的版本号。目前版本号必须为v2。 CRLs是一种包含撤销的证书列表的签名的数据结构。其完整性由数字签名保证。其签名者一般是证书的签发者。 CRLs结构: Version Signature Algorithm Identifier Issuer Distinguished Name This Update Next Update Revoked Certificates CRLEextension Signature

166 证书状态在线查询(OCSP) … … OCSP Backend OCSP CRLs Database 响应者 …… 请求 Others
版本 版本 每个证书 状态 证书列表

167 PKI相关标准 证书标准 —— X.509 CA中心交叉认证标准 —— PKIX 智能卡/硬件插件 PKCS #11
RFC(Request For Comments)2459 是 X.509v3 的一个配置文件,进一步阐明了 X.509v3 中定义的字段。 CA中心交叉认证标准 —— PKIX PKIX(Public Key Infrastructure on X.509,简称PKIX)系列标准由IETFPKIX工作小组制定,定义了X.509证书在INTERNET上的使用,证书的生成、发布和获取,各种产生和分发密钥的机制,以及怎样实现这些标准的轮廓结构等 。 PKIX 标准概述于 RFC 2560。 智能卡/硬件插件 PKCS #11 PKCS (Public-Key Cryptography Standards)系列 目录服务LDAP LDAP (Lightweight Directory Access Protocol)是一种轻量的目录存取协议,提供客户从各个角落连接到目录服务器中。 在 RFC 1777 及 RFC 1778 中对 LDAP 有较深入的描述。

168 PKCS系列标准 PKCS #1 PKCS #3 PKCS # 5 PKCS #6 PKCS #7 PKCS #8
RSA Encryption Standard PKCS #3 Diffie-Hellman Key-Agreement Standard PKCS # 5 Password-Based Encryption Standard PKCS #6 Extended-Certificate Syntax Standard PKCS #7 Cryptographic Message Syntax Standard PKCS #8 Private-Key Information Syntax Standard

169 PKCS系列标准(续) PKCS #9 PKCS #10 PKCS #11 PKCS #12 PKCS #13 PKCS #15
Selected Attribute Types PKCS #10 Certification Request Syntax Standard PKCS #11 Cryptographic Token Interface Standard PKCS #12 Personal Information Exchange Standard PKCS #13 Elliptic Curve Cryptography Standard PKCS #15 Cryptographic Token Information Format Standard

170 网站数字证书的申请和使用 1、申请人(网站)凭有关证明文件到CA中心申请数字证书;
4、网站取得证书后,将私钥导入服务器系统; 5、网站向初次来访的网民发送带有其公钥的数字证书; 6、网民的计算机自动将该证书导入浏览器; 7、浏览器访问CA中心网站检查证书及路径的有效性; 8、以后网民访问该网站时,首先会要求网站发送一条身份验证信息,即要求网站发送一条带有签名的信息,网民的浏览器会使用网站数字证书中的公钥验证网站的身份,以防止网站被假冒。同时网民发送的信息会自动使用网站的公钥进行加密。或随机产生对称密钥,并使用网站的公钥加密后发送给网站,双方以后使用该对称密钥加密信息。

171 第4章 实验1 5人一组,访问国内CA认证中心相关网站,多角度比较这些CA中心的业务情况,从而归纳国内CA认证业务的发展状况。
发展历史(成立时间、业务拓展) 业务规模(行业背景、市场范围、主要用户、用户数量、典型案例) 证书类型(已投入使用和未投入使用的各类证书、证书载体、传输方式) 客户服务内容(尤其是在线服务内容) 证书路径 业务流程 网站特色

172 国内CA认证机构相关网站 http://www.chinapkiforum.org.cn http://www.gxca.com.cn
中国PKI论坛 广西CA中心 重庆CA中心 海南CA中心 西部CA中心 广东CA中心 华北CA中心 安徽CA中心 山东CA中心 河北CA中心 福建CA中心 山西CA中心 湖北CA中心 武汉CA中心 吉林CA中心 深圳CA中心 上海CA中心 柳州CA中心 天津CA中心 商务部CA中心 北京CA中心 天威诚信安全身份认证服务中心 河南CA中心 江西CA中心 中国金融认证中心 浙江CA中心 颐信数字证书认证中心

173 第4章 实验2 通过

174 第5章 身份认证与访问控制 第1节 身份认证基础 第2节 身份认证协议 第3节 身份认证的实现 第4节 访问控制概念与原理
第5节 访问控制策略及机制

175 身份认证基础 定义 意义 物理基础 数学基础 协议基础 针对认证协议的攻击
身份认证是指证实客户的真实身份与其所声称的身份是否相符的过程。在计算机系统中这一过程是通过特定的协议和算法来实现的。 意义 身份认证是信息安全理论的重要组成部分。它以密码理论为基础,用于正确识别主体(用户、节点或终端等)的身份。同时身份认证也是访问控制和审计的前提,因此对网络环境下的信息安全尤其重要。 物理基础 数学基础 协议基础 针对认证协议的攻击

176 物理基础 身份认证的物理基础可以分为三种: 用户所知道的(something the user knows);
最常用的密码和口令。 用户拥有的(something the user possesses) 如:身份证、护照、密钥盘等; 用户的特征(something the user is or how he/she behaves)。 如:指纹 、红膜、DNA、声纹 ,还包括用户的下意识行为,比如签名。

177 数学基础 知识证明 零知识证明 示证者 P 试图向验证者V证明自己知道某信息。一种方法是P说出这一信息使得V相信,这样V也知道了这一信息。
零知识证明(Zero Knowledge Proof)需要满足: (1) P几乎不可能欺骗V:如果P知道证明 ,他可以使V以极大的概率相信他知道证明;如果P不知道证明,则他使得V相信他知道证明的概率几乎为零。 (2)V 几乎不可能知道证明的知识,特别是他不可能向别人重复证明过程。 (3)V无法从P那里得到任何有关证明的知识。

178 零知识证明举例 零知识证明最通俗的例子是图中的山洞问题。图中的山洞里C、D 两点之间有一扇上锁的门,P知道打开门的咒语,按照下面的协议P就可以向V证明他知道咒语但是不需要告诉V咒语的内容: V站在A点; P进入山洞,走到C点或D点; 当P消失后,V进入到B点; V指定P从左边或者右边出来; P按照要求出洞(如果需要通过门, 则使用咒语) P和V重复①-⑤步骤n次。 如果P知道咒语,他一定可以按照 V 的要求正确的走出山洞n次。如果P不知道咒语并想使V相信他知道咒语,就必须每次都事先猜对V会要求他从哪一边出来,猜对一次的概率是0.5,猜对n次的概率就是0.5n,当n足够大时,这个概率接近于零。因此山洞问题满足零知识证明的所有条件。

179 协议基础 双向认证协议(mutual authentication protocol) 单向认证协议
双向认证协议是最常用的协议 ,它使得通信双方互相认证对方的身份,适用于通信双方同时在线的情况。 单向认证协议 单向认证协议中只有一方向另一方证明自己的身份。单向认证协议(one-way authentication protoCol) 。 单向认证协议是通信的一方认证另一方的身份,比如服务器在提供客户申请的服务之前,先要认证客户是否是这项服务的合法用户,但是不需要向用户证明自己的身份。一方在向对方证明自己身份的同时,即可发送数据,另一方收到后,首先验证发送方的身份,如果身份有效,就可以接受数据。许多单向认证的应用(比如 )不需要双方同时在线。

180 协议基础 基于对称密钥的认证协议 基于公钥的认证协议
基于对称密钥的认证协议往往需要双方事先已经通过其他方式(比如电话、信函或传递等物理方法)拥有共同的密钥。 基于公钥的认证协议 基于公钥的认证协议的双方一般需要知道对方的公钥。公钥的获得相对于对称密钥要简便,比如通过CA 获得对方的数字证书,这是基于公钥的认证协议的优势。但是,公钥的缺点是加解密速度慢、代价大,所以认证协议的最后,双方要协商出一个对称密钥作为下一步通信的会话密钥。

181 会话密钥 会话密钥是只在一次对话中使用的、临时生成的对称密钥。
产生会话密钥还有安全性方面的考虑:一旦会话密钥泄漏,则只会泄漏本次通信的内容,而不会带来更大的损失,而且通信者发现会话密钥泄漏后,就可以用原有的密钥协商出新的会话密钥,重新开始新的会话。所以,无论是基于公钥的还是基于对称密钥的认证协议,都经常要产生对称会话密钥。

182 针对认证协议的攻击 在针对协议的攻击手法中 ,消息重放攻击(replay攻击)是一种很常用的主动攻击。消息重放攻击最典型的情况是:A与B 通信时,第三方 C 窃听获得了A过去发给B的报文M ,然后冒充A的身份将M发给B ,希望能够以A的身份与 B 建立通信,并从中获得有用信息。在最坏情况下,重放攻击可能导致被攻击者误认对方身份、暴露密钥和其他重要信息,至少也可以干扰系统的正常运行。

183 防止重放攻击的方式 时间戳方式 提问/应答方式

184 时间戳方式 时间戳(Time Stamp)方式的基本思想是:A接受一个新消息仅当该消息包含一个时间戳,并且该时间戳在A看来是足够接近A所知道的当前时间。这种方法要求不同参与者之间的时钟同步。时间戳方法不能用于面向连接的应用,最大的困难是时钟同步问题: 由于某一方的时钟机制故障可能导致临时失去同步,这将增大攻击成功的机会。 由于变化的和不可预见的网络延迟,不能期望分布式时钟保持精确的同步。因此,任何基于时间戳的过程必须采用时间窗的方式来处理:一方面,时间窗应足够大,以包容网络延迟;另一方面,时间窗应足够小,以最大限度地减小遭受攻击的机会。

185 提问/应答方式 提问/应答( Challenge/Response)方式不需要时钟同步。基本原理是:A期望从B获得一个新消息 ,首先发给B一个临时值(challenge), 并要求后续从 B 收到的消息(response)中包含正确的这个临时值或是由这个临时值进行某种事先约定的计算的正确结果。这个临时值往往是一个随机数,称为现时(nonce)。 提问 /应答方式的缺点是不适应非连接性的应用 ,因为它要求在传输开始之前先有握手,要求实时性较高。

186 身份认证协议 双向认证协议 单向认证协议 基于对称密码的双向认证协议 基于公钥密码的双向认证协议 基于对称密码的无第三方的单向认证协议
基于对称密码的有第三方的单向认证协议 基于公钥密码的单向身份认证协议

187 基于对称密码的双向认证协议 本协议的目的是认证A和B的身份后,安全地分发一个会话密钥Ks给A和B,使得 A、B互相认证对方的身份 并可以使用会话密钥进行信息传输。协议过程是: 1. 2. 3. 4. 5. KDC是密钥分发中心 ;密钥Ka和Kb分别是A和KDC、B和KDC之间共享的密钥 ;N1 和N2 是两个nonce ;f(N) 是对N进行一个运算,比如f(N)=N+1。 假定攻击方C已经掌握A和B之间通信的一个老的会话密钥,C可以在第(3)步冒充A,利用老的会话密钥欺骗B。 除非B记住所有以前使用的与A通信的会话密钥,否则B无法判断这是一个重放攻击。然后,如果C可以中途阻止第(4)步的握手信息则可以冒充A在第(5)步响应。 第(1)步,A向KDC申请要和B通信。A在第(2)步安全地得到了一个新的会话密钥。 第(3)步,只能由B解密并理解,B也获得会话密钥 。 第(4)步,B告诉A已知道正确的Ks了 ,从而证明了B的身份。 第(5)步表明B相信A也知道Ks,从而认证A的身份。 第(4)、(5)步的目的是为了防止某种类型的重放攻击,特别是如果敌方能够在第(3)步捕获该消息并重放之,这将在某种程度上干扰破坏B方的运行操作。 由于除了KDC之外只有A 知道Ka、只有B知道Kb,所以双方都可以向对方证明自己的身份。 但是,这个协议仍然有漏洞。假定攻击方C已经掌握A和B之间通信的一个老的会话密钥,C可以在第(3)步冒充A,利用老的会话密钥欺骗B。 除非B记住所有以前使用的与A通信的会话密钥,否则B无法判断这是一个重放攻击。然后,如果C可以中途阻止第(4)步的握手信息则可以冒充A在第(5)步响应。从这一点起C就可以向B发送伪造的消息,而B认为是在与A进行正常通信。 Denning结合了时间戳的方法,进行了改进: (1) (2) (3) (4) (5) 其中,T是时间戳; 是KDC时钟与本地时钟(A或B)之间差异的估计值; 是预期的网络延迟时间。 Denning 协议比Needham/Schroeder协议在安全性方面增强了一步,然而又提出新的问题,即必须依靠时钟同步。 可能发生针对时钟同步的攻击。如果发送者的时钟比接收者的时钟要快,攻击者就可以从发送者处窃听消息,并等待时间戳对接收者来说成为当前时重放给接收者,这种重放将会得到意想不到的后果。称为抑制重放攻击。

188 基于公钥密码的双向认证协议 以下KUa是A的公钥;KRa是A的私钥;KUauth是KDC的公钥;KRauth是KDC的私钥。 1. 2.
3. 4. 5. 6. 7. 第1步,A向 KDC 提出和B通信。第2步,A得到B的公钥。第3步,A向B提出通信要求,包含一个现时。第4步,B向 KDC询问A的公钥。第5步,B得到A的公钥和一段KD C签名的报文。第6步,B 将这段报文和现时 Nb发给A, A 在 KDC 签名的保文中找到Na ,知道这不是一个重放。第 7步,A使用刚得到的会话密钥回答B。 协议中 ,A和B都向KDC索取对方的公钥,如果对方能正确解密用其公钥加密的消息,就能够证明对方的身份。

189 基于对称密码的无第三方的单向认证协议 该协议要求 A和B 事先拥有共享密钥。
(A将自己的身份和一个nonce发给B,希望和B通信。) (B生成一个会话密钥Ks,连同对A的nonce的应答和一个新的 nonce 一起用两人的共享密钥加密后发给A 。) (A 计算出第2个nonce的应答,用Ks 加密,发给B,B 收到后如果能正确解密出应答,则相信A的身份) 这种方案的缺点是双方都必须等待对方的回答,不适用于双方不同时在线的情况。

190 基于对称密码的有第三方的单向认证协议 基于第三方的方案可以避免双方必须同时在线的问题。下述方案要求通信双方都事先与第三方有共享密钥。
A向KDC要求和B通信,同时发给KDC一个nonce 。 KDC发给A一个用A的密钥加密的消息,包括一个会话密钥、A发的nonce 、一段用B的密钥加密的消息 ;A解密得到。 A 将以B的密钥加密的那段消息和用加密的数据一起发给B;B 收到后首先解密得到A的身份标识和,然后就可以解密A发来的数据了。 以上方案中,A 向 B 认证自己身份的同时将数据一同发给B ,并不要求 B 当时在线。但是这种方案不能抵挡重放攻击,B收到第3条消息不能判定这是一个真实的消息还是一个重放。

191 基于公钥密码的单向身份认证协议 这种方案要求A、B互相知道对方的公钥。首先,A用B 的公钥加密一个会话密钥 ,然后A用会话密钥加密数据和用自己私钥签名的报文摘要,A将这些内容一起发送给B 。B 收到后,首先用自己私钥解密出会话密钥,然后解密报文和 A 的签名 ,最后计算出报文摘要验证A的签名,从而确定A的身份。

192 身份认证的实现 拨号认证协议 Kerberos认证协议 X.509认证协议

193 PPP(Point to Point Protocol)
拨号认证协议 在拨号环境中,要进行两部分的认证:首先是用户的调制解调器和网络访问服务器 (NAS)之间使用PPP认证协议认证 ,这类认证协议包括 PAP、CHAP等;然后NAS和认证服务器进行认证,这类协议包括TACACS+、RADIUS等。 PPP(Point to Point Protocol) TACACS协议是一种基于UDP的协议,最初由BBN开发,之后被 Cisco多次扩展 。TACACS+是TACACS 的最新版本,基于TCP 协议。 RADIUS(Remote Address Dial-In User Service)是基于UDP 的访问服务器认证和记账的客户机/服务器型协议。 网络安全(东北财大出版社)P.128 口令认证协议(Password Authentication Protocol,PAP ) 质询-握手协议(Challenge-Handshake Authentication Protocol,CHAP)

194 Kerberos认证协议 Greek Kerberos:希腊神话故事中一种三个头的狗,还有一个蛇形尾巴。是地狱之门的守卫。
Modern Kerberos: 意指有三个组成部分的网络之门的保卫者。“三头”包括: 鉴别(authentication) 簿记(accounting) 审计(audit) Kerberos是由美国麻省理工学院(MIT)最初提出的, 现在最常用的版本是第4版和第5版 ,第5版主要是修补了第4版中的一些安全漏洞。Kerberos是为TCP/IP网络设计的第三方鉴别协议。 Kerberos模型 Kerberos的认证过程

195 Kerberos模型 Kerberos模型中,实体包括客户机和服务器。客户机可以是用户,也可以是需要处理事物的独立的软件程序,例如下载文件、发送消息、访问数据库、访问打印机等。 Kerberos系统中有一个数据库保存所有的客户的秘密密钥。需要鉴别的网络服务以及希望使用这些服务的客户机,需要向Kerberos注册秘密密钥。 由于Kerberos系统知道每个客户的秘密密钥,所以它可以向一个实体证实另一个实体的身份;然后可以产生一个会话密钥供双方通信使用;当这次会话结束后,Kerberos会自动销毁会话密钥。

196 Kerberos模型 在Kerberos的认证过程中,需要使用两种凭证:票据(ticket)和鉴别码(authenticator)。
票据用于客户秘密的向服务器发送自己的身份标识,同时,服务器还可以通过票据中的信息证实使用票据的和发送票据的是同一个客户。鉴别码是另外一个凭证,与票据一同发送。 鉴别码用来证明票据的发送方就是票据的拥有者。 在Kerberos 系统中,有两种专门的服务器用于认证 :鉴别服务器(AS)和票据许可服务器(TGS)。鉴别服务只有一个,票据许可服务器可以有多个。由于协议中使用了时间戳,所以系统中有一套同步机制。

197 Kerberos认证过程 5、请求服务——C:Tc,s‖Ac →S
其中Ac = EKc,s [IDC‖Addr‖TS5]是与服务许可票据一起发送的鉴别符 C将自己的身份鉴别符Ac和含有与应用服务器通信的会话密钥的服务许可票据Tc,s一起发送给应用服务器(S)。应用服务器解密票据后得到会话密钥KC,S ,并用KC,S 解密鉴别符,以验证C的身份。 6、提供服务鉴别符——S:EKc,s [TS5+1] →C 最后,服务器S通过A的身份验证,然后用与C共享的会话密钥对接收到的第5个时戳进行运算(+1)返回给C。C解密后对增加的时戳进行验证,从而确认对方的身份,并开始用会话密钥进行安全通信。 4、票据+会话密钥——TGS:EKc,tgs [KC,S‖IDS‖TS4‖Tc,s] →C 其中Tc,s = EKs [KC,S‖IDC‖Addr‖IDS‖TS4‖LT4 ]。 票据许可服务器(TGS)将向C发送的消息用TGS和C会话密钥加密,发送的消息中包含了:C和应用服务器共享的会话密钥KC,S、应用服务器的身份标识IDS服务许可票据Tc,s 和票据的时戳。C通过解密获得和应用服务器通信的会话密钥KC,S。 3、请求服务许可票据——C:IDs‖Tc,tgs‖Ac →TGS 其中Ac = EKc,tgs [IDC‖Addr‖TS3]是与票据一起发送的鉴别符。 申请人C向TGS发出一个请求提供服务的服务器的身份、票据许可票据Tc,tgs 以及自己的身份鉴别符,希望TGS签发和应用服务器(AppServ)会话的票据(TC,S)。 1、请求票据许可票据——C: IDc‖IDtgs‖TS1 →AS 申请人C为了与TGS通信向认证服务器AS申请一个TGS Ticket(Ticket Granting Ticket,TGT)。为此,申请人向认证服务器发送自己和TGS的标识以及一个时戳。这里的ticket是指当用户通过认证后,认证服务器(AS)发给申请人的一个标志,它包括了一个新的会话密钥。 2、票据+会话密钥——AS:EKC[Kc,tgs‖IDtgs‖TS2‖LT2]‖Tc,tgs] →C 其中:票据许可票据Tc,tgs = EKtgs[Kc,tgs‖IDc‖Addr‖IDtgs‖TS2‖LT2] 认证服务器将C和T的会话密钥(Kc,tgs)、TGS的标识、第2个时戳、第2个有效期限和票据许可票据(Tc,tgs)用与C共享的对称密钥KC 加密后,发送给申请人。 Kerberos认证过程

198 X.509认证协议 X.509协议(也称ISO鉴别框架)是基于公钥证书和CA的认证协议。X.509 协议最早于1988年发布,最新版本是1995年的第三版。X.509 定义的证书结构和认证协议已经得到了广泛的应用,比如S/MIME、IPsec和SET。X.509基于公开密钥和数字签名 。虽然这个协议并没有指定公钥加密算法 ,但是推荐使用RSA。 在X.509 中规定了几个可选的认证过程 。所有过程都假设双方互相知道对方的公钥。一方可以通过访问CA 提供的目录获得对方的证书,也可以由对方将证书放在初始报文里。 X.509的单向认证过程 X.509的双向认证过程 X.509的三向认证过程

199 X.509的单向认证过程 单向认证只需要一次通信。用户A向用户B发送一条消息,证明自己的身份。消息内容如下:
其中时间戳tA包含起始时间和终止时间,用来防止报文的延迟传送;rA是一个现时,在一个有效期内是唯一的,B需要保存rA直到有效期结束; B是B的身份信息;sgnData是签名数据;最后是用B的公钥加密的会话密钥。整个报文还要由A签名,以保证完整性和抗抵赖性。 这种方式只认证了A的身份。由于使用了时间戳,需要时钟同步。 如果用于纯粹的认证,报文可以只用于向B提交证书。

200 X.509的双向认证过程 双向认证在单向认证的基础上增加了一次通信 ,过程如下:
1. 2. 第二条消息与第一条相似,但是增加了现时的回应,要由B签名。这种方式允许双方相互认证,但是两条消息中有冗余信息。双向认证也需要时间同步。

201 X.509的三向认证过程 三向认证又在最后增加了一个A向B的回答。过程如下:
1. 2. 3. 最后一条报文包含现时的签名备份,这样就无需检查时间戳,因为每一端都可以通过检查返回的现时来探测重放攻击。所以三向认证不需要时钟同步,在没有同步条件时,必须采用这种方法。

202 访问控制的概念 概念 访问控制的两个重要过程:
访问控制是为了限制访问主体对被访问的客体的访问权限,从而使计算机系统在合法范围内使用,它是针对越权使用资源的防御措施。 访问控制的两个重要过程: 1、通过“鉴别(authentication)”来检验主体的合法身份 2、通过“授权(authorization)”来限制用户对资源的访问权限

203 相关概念 主体(Subject) 客体(Object) 授权(Authorization) 未授权的访问
或称为发起者(Initiator),是一个在系统访问过程中采取主动的实体,也就是可以访问资源(客体)的实体,通常是计算机系统的用户或代表用户的IP地址、程序进程和作业等。 客体(Object) 客体是指所有可供访问的软硬件资源,它也是在计算机网络系统运行中需要保护的资源,又称作目标(target)。 授权(Authorization) 规定可对该资源执行的动作(例如读、写、执行或拒绝访问)。 未授权的访问 非法用户进入系统或合法用户对系统资源进行未经授权的使用、泄露、修改、销毁信息以及颁发指令等。

204 访问控制的作用 访问控制对机密性、完整性、可用性起直接的作用。 对于可用性,访问控制通过对以下信息的有效控制来实现:
(1)谁可以颁发影响网络可用性的网络管理指令 (2)谁能够滥用资源以达到占用资源的目的 (3)谁能够获得可以用于拒绝服务攻击的信息

205 访问控制的范围和方法 网内控制 网间控制 使用控制矩阵的方法,用户访问资源的权限由矩阵值决定。
在用户和资源数量较少的情况下,使用网内控制方法; 使用基于源、目的地址的过滤管理,如防火墙技术; 使用网络签证技术,包括出网签证和入网签证。

206 访问控制模型基本组成 发起者 Initiator Submit Access Request 访问控制实施功能 AEF Present
提交访问请求 Submit Access Request 访问控制实施功能 AEF 提出访问请求 Present Access Request 目标 Target 请求决策 Decision Request 决策 Decision 访问控制决策功能 ADF

207 访问控制与其他安全服务的关系模型 安全管理员 目标 目标 目标 目标 用户 目标 身份鉴别 访问控制 审 计 引用 监控器 访问控制决策单元
授权数据库 目标 目标 目标 引用 监控器 目标 用户 目标 身份鉴别 访问控制 审 计

208 访问控制策略与机制 访问控制策略(Access Control Policy)
访问控制策略是关于在保证系统安全及文件所有者权益前提下,如何在系统中存取文件或访问信息的描述,它是由一套严密的规则所组成的。尽管如此,访问控制策略只是根据需要确定的一系列概念性的条文,具体实现还需要通过访问控制机制来完成。 访问控制机制(Access Control Mechanisms) 访问控制机制是在系统中具体实施访问控制策略的所有功能的集合,这些功能可以通过系统的硬件或软件来实现。因此,访问控制机制是访问控制策略的软硬件低层实现。 访问控制机制与策略独立,可允许安全机制的重用。 安全策略之间没有更好的说法,只是一种可以比一种提供更多的保护。应根据应用环境灵活使用。

209 访问控制机制 自主访问控制(Discretionary access control,DAC)
基于个人身份的访问控制IBAC(Identity Based Access Control) , 基于用户角色的访问控制RBAC(Role Based Access Control) 强制访问控制(Mandatory access control,MAC) 基于规则的访问控制(Rule Based Access Control) 格式 说明 user 表示一个特定的用户。例如:jsmith。 @domain 表示指定域中的任何用户。 指定 和 sesta.com 中的任何其他用户。 使用此格式可以为用户授予或拒绝对整个域的访问权限。 @ 表示所有用户。

210 自主访问控制 自主访问控制机制允许资源的属主来制定针对该对象的保护策略。通常自主访问控制通过授权列表(或访问控制列表)来限定哪些主体针对哪些客体可以执行什么操作。如此将可以非常灵活地对策略进行调整。由于其易用性与可扩展性,自主访问控制机制经常被用于商业系统。 自主访问控制的实现机制。 每个主体拥有一个用户名并属于一个组或具有一个角色; 每个主体通过访问许可获得对指定客体一定的访问模式的权限;访问许可与访问模式描述了主体对客体所具有的控制权与访问权; 每个主体对不同的客体拥有的访问权限可以构成一个访问控制列表; 每次访问发生时都会基于访问控制列表检查用户标志以实现对其访问权限的控制。 自主访问控制的缺点 信息在移动过程中其访问权限关系会被改变。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。 由于自主访问控制允许客体的属主用户可以自主更改文件的存取控制表,造成操作系统无法判断某个操作是否合法。从而为“特洛伊木马”等类似病毒通过共享客体从一个进程传到另一个进程提供了可能。

211 访问许可(Access Permission)
等级型的(Hierarchical) 有主型的(Owner) 每个客体有一个属主(通常是客体的生成者)。属主是唯一有权修改客体访问控制表的主体,属主对其客体具有全部控制权。 自由型的(Laissez-faire) 最高领导(系统操作员) 部门领导 科组领导 成员

212 访问模式(Access Mode) 系统支持的最基本的保护客体:文件,对文件的访问模式设置如下: (1)读-拷贝(Read-copy)
(2)写-删除(write-delete) (3)运行(Execute) (4)无效(Null)

213 访问控制列表 访问控制矩阵( Access Control Matrix) 访问控制表ACLs(Access Control Lists)
访问能力表(Capabilities)

214 访问控制矩阵 任何访问控制策略最终均可被模型化为访问控制矩阵形式。该矩阵的行对应于用户,列对应于目标,每个矩阵元素规定了相应的用户对应于相应的目标被准予的访问模式。 目标x R、W、Own 目标y 目标z 用户a 用户b 用户c 用户d R R、W 目标 用户

215 访问控制表(ACL) 访问控制表是每个客体附加一个它可以访问的主体的明细表。也是从访问控制矩阵按列看到的内容。 Obj1 userA Own
userB userC Obj1 userA Own R W O userB R O userC R W O

216 访问能力表(CL) 每个主体都附加一个该主体可访问的客体的明细表。也是从访问控制矩阵按行看到的内容。 Obj1 Own R W O Obj2
UserA

217 强制访问控制 强制访问控制是由系统独立于用户行为强制执行的访问控制。它强调对每一主、客体进行密级划分,并采用敏感标识来标识主、客体的密级。根据该访问机制,用户不能改变他们的安全级别或客体的安全属性。 强制访问控制可以控制信息流的流向,防止高密级的信息流流向低密级,进而防止“特洛伊木马”。

218 强制访问控制的实体属性及其应用 实体(主体、客体)的属性/密级 强制访问控制的授权原则 绝密/高密 (Top Secret)
秘密 (Confidential) 内部/受限 (Restricted) 公开 (Unclassified) 强制访问控制的授权原则 只有当主体的密级高于客体的密级时,访问才是允许的; 任何一个主体不能读密级高于其密级的客体,即不能“向上读” 任何主体不能写密级低于其密级的客体,即不能“向下写”

219 第6章 TCP/IP与WWW安全 第1节 TCP/IP基础知识 第2节 TCP/IP的安全威胁及其解决方案 第3节 Web基本结构
物理层的安全风险分析 网络层的安全 传输层的安全 应用层的安全 第3节 Web基本结构 第4节 Web的安全保障 实验要求

220 TCP/IP网络的四层结构模型 OSI参考模型与TCP/IP模型对比 应用层:FTP 等 传输层:TCP、UDP 网络层:IP
网络接口物理层:链路 ◆应用层:应用程序间沟通的一层,如简单电子邮件传输协议(SMTP).文件传输协议{(FTP)这个如果让我们得到最高FTP权限,就可以直接改对方的主页面了,很重要的入侵途径}.网络远程访问协议{(Telnet)如果登陆上它,那么你可以当自己的CMD一样用命令控制使用那台机子了,哈哈}等等......; ◆传输层:此层提供了节点间的数据传送服务,如传输控制协议(TCP).用户数据报协议{(UDP)我们经常用的OICQ就是用这个UDP协议拉,所以大家要记住啊,不然别人问起你的QQ是用什么协议进行通信的,你居然不知道,还说玩了多久QQ或者有个多少位好号码的QQ呢}等等......,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送到达并接收; ◆网络层:负责提供基本的数据封包传送功能,让每一块数据包都能到达目的主机(但不会检查确认是否被正确的接收),如网际协议(IP) ; ◆网络接口层:对实际的网络媒体管理,定义如何使用实际网络(如Ethernet、Serial Line等......)来传送数据。

221 TCP/IP层次结构图 主要应用服务所使用的端口 服务类型 默认端口 使用的传输协议 FTP 21 TCP Telnet 23 SMTP
25 DNS 53 TCP/UDP TFTP 69 UDP HTTP 80 POP3 110 SNMP 161 OICQ 8000 RPC攻击netbios端口等 135、139、445、593 135、137、138、445 端口列表 2)TCP/IP协议中的功能 ◆IP协议 网际协议IP是TCP/IP的心脏.核心,也是网络层中最为重要的协议。 IP层接收由更低层(网络接口层,例如LAN(以太网)设备驱动程序)发来的数据包,并把该数据包发送到更高层--TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏过的。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP Source Routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统,然后可以进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被利用到非法的入侵。 ◆TCP协议 如果IP数据包中有已经封好了的TCP数据包,那么IP将把它们传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重新传输。TCP将它的信息送到更高层的应用程序中,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层.设备驱动程序和物理介质.最后到接收方。 面向连接的服务(例如Telnet、FTP、Rlogin、Xwindows和SMTP)需要高度的可靠性,所以它们使用了TCP.DNS(全称是Domain Name System为了方便为我们在文字和IP之间担当了翻译而免除了强记号码的痛苦,当您连上一个网址在URL打上 这样不就更容易记住吗,要打一连4组的IP数字会记晕啊)在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。 ◆UDP协议 UDP与TCP位于同一层,但不提供任何顺序或重新排序功能,因此,UDP不被应用于那些使用虚电路的面向连接服务,UDP主要用于那些面向查询——应答的服务,例如NFS。欺骗UDP包比欺骗TCP包更容易更简单,因为UDP没有建立初始化连接(也就是称为握手,因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。所以QQ就是这样经常有偷QQ.破QQ.QQ补丁这些软件程式的出现。 协议 优点 缺点 TCP 传送稳定资料传送成功率高。 速度比较慢。 UDP 传输量大迅速。 不稳定容易遗失资料 ◆ICMP(Internet Control Message Protocol)协议 ICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的“Redirect”信息通知主机通向其他系统的更准确路径,而“Unreachable”信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接“体面的”终止。Ping(可以P出对方域名的IP)是最常用的基于ICMP服务。tracert 和 traceroute 也是属於 ICMP的。不知道什么时候 有人告诉我,ICMP用来制作攻击程式了,哈哈,想不到一种这么好的协议都用来做攻击软件的使用,IGMP就在很早都给菜鸟们用来丢数据包从而使得对方机子因网络数据堵塞,机子处理不过来,死机或者掉线,这个可是98的一个安全隐患啊,2K或者有宽带的都很难炸的到掉线了。世界真是瞬间万变啊 ^ō^ RPC——Remote Procedure Call(RPC)是Windows操作系统使用的一种远程过程调用协议,RPC协议提供一种进程间的交互通信机制,它允许本地机器上的程序进程无缝的在远程系统中运行代码。现在网上利用RPC协议进行攻击的频率非常的高,而且WINDOWS的默认设置是终止该连接将重启操作系统。 TCP——传输控制协议(Transmission Control Protocol)。通过使用序列号和确认信息,TCP协议能够向发送方提供到达接收方的数据包的传送信息。当传送过程中出现数据包丢失情况时,TCP协议可以重新发送丢失的数据包直到数据成功到达接收方或者出现网络超时。因此,它是一种面向连接的,可靠的传输层协议。 ARP——地址解析协议(Address Resolution Protocol)。此协议将网络地址映射到硬件地址。 RARP——反向地址解析协议(Reverse Address Resolution Protocol)。此协议将硬件地址映射到网络地址。 IP——网际协议(Internet Protocol )是用于将多个包交换网络连接起来的,它在源地址和目的地址之前传送数据包。它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。IP的责任就是把数据从源传送到目的地。它不负责保证传送可靠性,流控制,包顺序和其它对于主机到主机协议来说很普通的服务。 ICMP——网间报文控制协议(Internet Control Message Protocol),它被用来传送IP的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的“Redirect”信息通知主机通向其他系统的更准确路径,而“Unreachable”信息则指出路径有问题。Ping是最常用的基于ICMP服务。tracert 也是基于 ICMP的服务。 UDP——用户数据报协议(User Datagram Protocol)。 UDP与TCP位于同一层,但它不进行初始化连接,也不提供任何顺序或重新排序功能,因此, UDP的安全性不如TCP。 UDP主要用于那些面向查询——应答的服务,例如NFS。QQ就是基于UDP的服务。

222 用户数据经过协议栈的封装过程

223 IP数据包格式 0 15 16 31 4位版本(VER) 4位首部长度(IHL) 8位服务类型(TOS) 16位总长度(字节数) (TL)
4位版本(VER) 4位首部长度(IHL) 8位服务类型(TOS) 16位总长度(字节数) (TL) 16位标识(ID) 3位标志(FL) 13位偏移位(分割定位,FO) 8位生存时间(TTL) 8位协议(PROT) 16位首部校验和(HC) 32位源IP地址 32位目的IP地址 选项(如果有) 数据 20字节 报头字段名 位数 说 明 版本 首部长度 服务类型 封包总长 识别码 标志 偏移位 生存时间 协议 首部校验和 4 8 16 3 13 表示的是IP规格版本 封包首部长度(至少20byte) 是IP封包在传送过程中要求的服务类型( IP顺序、延迟、通讯量、可靠性等) 以byte做单位表示封包的长度,包括标头和数据的总和 每个IP封包都有的唯一识别码,是封包进行重组的依据 标识该封包是否可分割、是否是最后一个封包等 当封包进行切割时,为各片段做好的定位记录 赋予TTL值之后,如果物件在到达TTL值时还没被处理就会被遗弃 该封包所使用的网络协议类型 主要用来校验封包首部,以确保封包被正确无误的接收到 1、Version。版本(VER)。表示的是IP规格版本目前的IP规格多为版本4(version 4)所以这里的数值通常为 0x4 (注意封包使用的数字通常都是十六进位的)。 2、Internet Header Length 。标头长度(IHL)。我们从IP封包规格中看到前面的6列为header如果Options和Padding没有设定的话也就只有5列的长度所以这里的长度为“5”我们知道每列有32bit也就是4byte那麽5列就是20byte了20这个数值换成16进位就成了0x14所以当封包标头长度为最短的时候这里数值最终会被换算为 0x14 。 3、Type of Service。服务类型(TOS)。这里指的是IP封包在传送过程中要求的服务类型其中一共由8个bit组成其中每个bit的组合分别代表不同的意思 Routine 设定IP顺序预设为0否则数值越高越优先 Delay 延迟要求0是正常值1为低要求 Throughput 通讯量要求0为正常值1为高要求 Reliability 可靠性要求0为正常值1为高要求 Not Used 未使用 4、Total Length。封包总长(TL)。通常以byte做单位来表示该封包的总长度此数值包括标头和数据的总和。 5、识别码(ID)。每一个IP封包都有一个16bit的唯一识别码。我们从OSI的网路层级知识里面知道当程式产生的数据要通过网路传送时都会被拆散成封包形式发送当封包要进行重组的时候这个ID就是依据了。 6、Flag。标记(FL)。这是当封包在传输过程中进行最佳组合时使用的3个bit的识别记号。请参考下表 当此值为0的时候表示目前未被使用。 当此值为0的时候表示封包可以被分割如果为1则不能被分割。 当上一个值为0时此值为0就示该封包是最後一个封包如果为1则表示其後还有被分割的封包。 7、Fragment Offset。分割定位(FO)。当封包被切开之後由於网路情况或其它因素影响其抵达顺序并不会和当初切割顺序一至的。所以当封包进行切割的时候会为各片段做好定位记录所以在重组的时候就能够依号入座了。 8、Time To Live。延续时间(TTL)。这个TTL我们在许多网路设定上都会碰到当一个物件被赋予TTL值(以秒为单位)之後就会进行计时如果物件在到达TTL值的时候还没被处理的话就会被遗弃。 不过并不是所有的 TTL 都以时间为单位。例如 ICMP 协定的 TTL则以封包路由过程中的跳站数目(Hop Count)做单位。TTL 值每经过一个跳站(或被一个 router 处理)之後就会被减低一个数值 。这样当封包在传递过程中由於某些原因而未能抵达目的地的时候就可以避免其一直充斥在网路上面。 9、Protocol。协定(PROT)。这里指的是该封包所使用的网路协定类型例如ICMPDNS等。要注意的是这里使用的协定是网路层的协定这和上层的程式协定(如FTPPOP等)是不同的。您可以从Linux的/etc/protocol这个档案中找到这些协定和其代号此档案也存放於NT的\winnt\system32\drivers\etc目录里面。其内容如下 ip 0 IP # internet protocol, pseudo protocol number icmp 1 ICMP # internet control message protocol igmp 2 IGMP # Internet Group Management ggp 3 GGP # gateway-gateway protocol ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP‘) st 5 ST # ST datagram mode tcp 6 TCP # transmission control protocol egp 8 EGP # exterior gateway protocol pup 12 PUP # PARC universal packet protocol udp 17 UDP # user datagram protocol hmp 20 HMP # host monitoring protocol xns-idp 22 XNS-IDP # Xerox NS IDP rdp 27 RDP # “reliable datagram” protocol iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 xtp 36 XTP # Xpress Tranfer Protocol ddp 37 DDP # Datagram Delivery Protocol idpr-cmtp 39 IDPR-CMTP # IDPR Control Message Transport rspf 73 RSPF #Radio Shortest Path First. vmtp 81 VMTP # Versatile Message Transport ospf 89 OSPFIGP # Open Shortest Path First IGP ipip 94 IPIP # Yet Another IP encapsulation encap 98 ENCAP # Yet Another IP encapsulation 10、Header Checksum。标头检验值(HC)。这个数值主要用来检错用的用以确保封包被正确无误的接收到。当封包开始进行传送後接收端主机会利用这个检验值会来检验馀下的封包如果一切看来无误就会发出确认信息表示接收正常。 11、Source IP Address。来源地址(SA)。相信这个不用多解释了就是发送端的IP地址是也。 12、Destination IP Address。目的地址(DA)。也就是接收端的IP地址啦。 13、Options & Padding。这两个选项甚少使用只有某些特殊的封包需要特定的控制才会利用到。这里也不作细表啦。 利用TTL值简单判定系统类型   一、关于PING的介绍 PING命令来检查要到达的目标IP地址并记录结果。 ping 命令显示目标是否响应以及接收答复所需的时间。   如果在传递到目标过程中有错误,ping 命令将显示错误消息。 ICMP ECHO(Type 8) 和ECHO Reply (Type 0)   我们使用一个ICMP ECHO数据包来探测主机地址 HOST B 是否存活(当然在主机没有被配置为过滤ICMP形式)   通过简单的发送一个ICMP ECHO(Type 8)数据包到目标主机   如果ICMP ECHO Reply(ICMP type 0)数据包 HOST A 可以接受到,说明主机是存活状态。   如果没有就可以初步判断主机没有在线或者使用了某些过滤设备过滤了ICMP的REPLY。 | | | | | | | ICMP Echo Request | | | | | HOST | > | HOST | | | | | | | | | | A | | B | | | | | < | | | | | | ICMP Echo Reply | | | | | | |   这种机制就是我们通常所用的ping命令来检测目标主机是否可以ping到。   典型的例子 C:\>ping Pinging with 32 bytes of data: Reply from : bytes=32 time<10ms TTL=128 Reply from : bytes=32 time<10ms TTL=128 Reply from : bytes=32 time<10ms TTL=128 Reply from : bytes=32 time<10ms TTL=128 Ping statistics for : Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms   二、注意TTL TTL:生存时间   指定数据报被路由器丢弃之前允许通过的网段数量。   TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。   使用PING时涉及到的 ICMP 报文类型 一个为ICMP请求回显(ICMP Echo Request) 一个为ICMP回显应答(ICMP Echo Reply)   三、TTL 字段值可以帮助我们识别操作系统类型。 UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255 Compaq Tru ICMP 回显应答的 TTL 字段值为 64 微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128 微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32 当然,返回的TTL值是相同的   但有些情况下有所特殊 LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64 FreeBSD 4.1, 4.0, 3.4; Sun Solaris 2.5.1, 2.6, 2.7, 2.8; OpenBSD 2.6, 2.7, NetBSD HP UX ICMP 回显应答的 TTL 字段值为 255 Windows 95/98/98SE Windows ME ICMP 回显应答的 TTL 字段值为 32 Windows NT4 WRKS Windows NT4 Server Windows 2000 ICMP 回显应答的 TTL 字段值为 128   这样,我们就可以通过这种方法来辨别   操作系统 TTL LINUX 64 WIN2K/NT 128 WINDOWS 系列 32 UNIX 系列 255   经过测试的操作系统如下: LINUX Kernel 2.2.x, Kernel 2.4t1-6; FreeBSD 4.1,4.0,3.4; OpenBSD 2.7,2.6; NetBSD ; Sun Solaris 2.5.1,2.6,2.7,2.8; HP-UX 10.20, 11.0; AIX 4.1, 3.2; Compaq Tru64 5.0; Irix 6.5.3,6.5.8; BSDI BSD/OS 4.0,3.1; Ultrix ; OpenVMS 7.1-2; Windows 95/98/98SE/ME; Windows NT 4 Workstation SP3, SP4, SP6a; Windows NT 4 Server SP4; Windows 2000 Professional, Server, Advanced Server.   附:   ICMP报文的类型包括如下: ECHO (Request (Type 8), Reply (Type 0))--回显应答, Time Stamp (Request (Type 13), Reply (Type 14))--时间戳请求和应答, Information (Request (Type 15), Reply (Type16))--信息请求和应答, Address Mask (Request (Type 17), Reply (Type 18))--地址掩码请求和应答等 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 附:转到20cn之前,再加点吧,都是copy别人的,侵犯版权的话一定要和MM说哦 首先要提一下TTL到底是什么东西, 有的初学者可能不知道TTL是什么, 大虾们对不住了. TTL(生存时间) TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。 Windows 95/98中TTL的缺省值为32。有人建议当到达一个节点比较困难时,把此值设为128。ping和tracerouter都使用TTL值以尝试到达给定的主机或跟踪到那个主机的路由。traceroute把包的TTL值设得较小,使它在到达目的的路上被各个路由器连续的丢弃。发出包到受到返回的ICMP报文之间的时间用来计算从一个路由器到另一个路由器的时间。 使用多路复用的IP协议,TTL值表示一个包被转发的范围。有以下转换:0, 限制在同一主机 1, 限制在同一子网 32, 限制在同一节点 64, 限制在同一区域(region)128,限制在同一大陆(continent)255, 一般ping出来的TTL值不完全都是以上文章所提的数字, 对这个还有很多争议,有一种说法就是: TTL=244 的时候就是说你发一 个数据到你PING 的地址只间要通过11个路游器。如果TTL=126的话就是中间要通过2个路游器 如果接近255的话就是UNIX系统 如果接近128的话就是WINDOWS系统

224 UDP数据包格式 16位源端口号 16位目的端口号 16位UDP长度 16位UDP检验和 UDP数据(如果有) 8字节

225 TCP数据包格式 0 15 16 31 报头字段名 位数 说 明 源端口号 目的端口号 序号(SEQ) 确认号(ACK) 数据偏移
报头字段名 位数 说 明 源端口号 目的端口号 序号(SEQ) 确认号(ACK) 数据偏移 控制字段(CTL) URG ACK PSH RST SYN FIN 窗口 校验和 紧急指针 选项 填充 16 32 4 1 可变 本地通信端口,支持TCP的多路复用机制 远地通信端口,支持TCP的多路复用机制 数据段第一个数据字节的序号(除含有SYN的段外); SYN段的SYN序号(建立本次连接的初始序号) 表示本地希望接收的下一个数据字节的序号 指出该段中数据的超始位置(以32位为单位) 紧急指针字段有效标志,即该段中携带紧急数据 确认号字段有效标志 PUSH操作的标志 要求异常终止通信连接的标志 建立同步连接的标志 本地数据发送已结束,终止连接的标志 本地接收窗口尺寸,即本地接收缓冲区大小 包括TCP报头和数据在内的校验和 从段序号开始的正向位移,指向紧急数据的最后一个字节 提供任选的服务 保证TCP报头以32位为边界对齐 16位源端口号 16位目的端口号 32位序号 32位确认序号 4位首部长度 保留(6位) URG ACK PSH RST SYN FIN 16位窗口大小 16位校验和 16位紧急指针 选项(如果有) 数据 20字节 *ACK:确认标志   确认编号(Acknowledgement Number)栏有效。大多数情况下该标志位是置位的。TCP报头内的确认编号栏内包含的确认编号(w+1,Figure-1)为下一个预期的序列编号,同时提示远端系统已经成功接收所有数据。 *RST:复位标志   复位标志有效。用于复位相应的TCP连接。 *URG:紧急标志   紧急(The urgent pointer) 标志有效。紧急标志置位, *PSH:推标志   该标志置位时,接收端不将该数据进行队列处理,而是尽可能快将数据转由应用处理。在处理 telnet 或 rlogin 等交互模式的连接时,该标志总是置位的。 *FIN:结束标志   带有该标志置位的数据包用来结束一个TCP回话,但对应端口仍处于开放状态,准备接收后续数据。

226 TCP连接的建立和终止(释放)时序图

227 常用的网络工具(命令) Netstat Ipconfig Ping Tracert …… 显示网络连接、路由表和网络接口信息
校验与远程计算机或本地计算机的连接。 Tracert 验证通往远程主机路径。 ……

228 物理层的安全风险分析 网络的物理层安全风险主要指网络周边环境和物理特性引起的网络设备和线路的阻断,进而造成网络系统的阻断,它是整个网络系统安全的前提,这些风险包括: 设备被盗,被毁坏; 链路老化或被有意或者无意的破坏;; 因电磁辐射造成信息泄露; 地震、火灾、水灾等自然灾害。

229 网络层介绍 网络层主要用于寻址和路由。它并不提供任何错误纠正和流控制的方法。因此,网络层使用较高效的服务来传送数据报文。 安全缺陷
网络层一般对属于不同进程和相应条例的包不作区别。对所有去往同一地址的包,它将按照同样的加密密钥和访问控制策略来处理。这可能导致提供不了所需的功能,也会导致安全性能下降。

230 Internet 控制信息协议(ICMP)
当用户ping一台主机想看它是否运行时,用户端就正在产生了一条ICMP 信息。远程主机将用它自己的ICMP 信息对ping 请求作出回应。这种过程在多数网络中不成问题。然而,ICMP 信息能够被用于攻击远程网络或主机

231 IP 欺骗 黑客经常利用一种叫做IP 欺骗的技术,把源IP 地址替换成一个错误的IP 地址。接收主机不能判断源IP 地址是不正确的。
使用IP 欺骗的一种很有名的攻击是Smurf攻击,Smurf 攻击属于一种拒绝服务攻击。 一个Smurf 攻击向大量的远程主机发送一系列的ping 请求命令。黑客把源IP 地址换成想要攻击目标主机的IP 地址。所有的远程计算机都响应这些ping 请求,然后对目标地址进行回复而不是回复给攻击者的IP 地址用。目标IP 地址将被大量的ICMP 包淹没而不能有效的工作 防御方法 为了防止黑客利用你的网络攻击他人,关闭外部路由器或防火墙的广播地址特性。为防止被攻击,在防火墙上设置规则,丢弃掉ICMP包。 Smurf:时冒富

232 碎片攻击 IP首部有两个字节表示整个IP数据包的长度,所以IP数据包最长只能为65535字节。如果有意发送总长度超过65535的IP碎片,一些老的系统内核在处理的时候就会出现问题,导致崩溃或者拒绝服务。 ping of death就是利用ICMP协议的一种碎片攻击。攻击者发送一个长度超过65535 的Echo Request数据包,目标主机在重组分片的时候会造成事先分配的65535字节缓冲区溢出,系统通常会崩溃或挂起。

233 网络层的安全解决方案 网络层的安全防护 网络分段 网络安全扫描技术 VLAN的实现 入侵检测技术 防火墙服务 VPN技术
网络层安全是由IP层协议保证网络的安全,主要包括网络边界控制和管理,加强对外部攻击和内部信息泄露的防范,网络层的安全机制主要如下: 基于五元组的访问控制列表(ACL); NAT(网络地址转换器,Network Address Translate)功能; 逆向检测(RPD),防止IP地址欺骗; 动态路由协议(RIP——选路信息协议 、OSPF——Open Shortest Path First 、BGP——边界网关协议 )防欺骗; 应用层加密的支持,为关键应用提供应用加密或隧道(IPSec); 应用更为安全的IP协议——IPv6; 设置专门保护。譬如,在服务器端拒绝所有的ICMP包 ;在Windows 2000系统中,自定义IP安全策略,设置“碎片检查”等。 五元组指源IP地址、目的IP地址、协议号、源端口、目的端口。 网络地址转换器(NAT Network Address Translate) 当受保护网连到Internet上时,受保护网用户若要访问Internet,必须使用一个合法的IP地址。但由于合法Internet IP地址有限,而且受保护网络往往有自己的一套IP地址规划(非正式IP地址)。网络地址转换器就是在防火墙上装一个合法IP地址集。当内部某一用户要访问Internet时,防火墙动态地从地址集中选一个未分配的地址分配给该用户,该用户即可使用这个合法地址进行通信。同时,对于内部的某些服务器如Web服务器,网络地址转换器允许为其分配一个固定的合法地址。外部网络的用户就可通过防火墙来访问内部的服务器。这种技术既缓解了少量的IP地址和大量的主机之间的矛盾,又对外隐藏了内部主机的IP地址,提高了安全性。 应用代理服务器(Application Gateway Proxy) 在网络应用层提供授权检查及代理服务。当外部某台主机试图访问受保护网络时,必须先在防火墙上经过身份认证。通过身份认证后,防火墙运行一个专门为该网络设计的程序,把外部主机与内部主机连接。在这个过程中,防火墙可以限制用户访问的主机、访问时间及访问的方式。同样,受保护网络内部用户访问外部网时也需先登录到防火墙上,通过验证后,才可访问。 应用网关代理的优点是既可以隐藏内部IP地址,也可以给单个用户授权,即使攻击者盗用了一个合法的IP地址,也通不过严格的身份认证。因此应用网关比报文过滤具有更高的安全性。但是这种认证使得应用网关不透明,用户每次连接都要受到认证,这给用户带来许多不便。这种代理技术需要为每个应用写专门的程序。 网络层的安全防护 网络分段 网络安全扫描技术 入侵检测技术 VPN技术 加密技术 、数字 签名和认证技术 防火墙服务 VLAN的实现

234 传输层介绍 传输层控制主机间传输的数据流。传输层存在两个协议,传输控制协议(TCP)和用户数据报协议(UDP) TCP是一个面向连接的协议
通过三次握手完成连接; UDP是一个非面向连接的协议

235 传输层的安全威胁 传输层信息安全 传输层服务器安全
UDP协议没有像TCP协议那样检验数据的完整性机制,并且UDP协议本身对于顺序错误或丢失的包,是不做纠错或重传的。 TCP尽管有数据完整性的检验机制和纠错、重传机制,但本身没有数据保密机制。 传输层服务器安全 TCP协议的弱点: TCP连接对资源的消耗。 攻击方通过故意不完成建立连接所需要的三次握手过程,造成被攻击方的资源耗尽。 针对TCP协议弱点进行的SYN Flood(同步洪流)是当前最流行的DoS(拒绝服务攻击)与DdoS(分布式拒绝服务攻击)的方式之一。

236 传输层安全解决方案 针对传输信息的安全保障一般应用SSL协议对所传输的数据实施加密等安全措施。并将SSL结合到相关的应用服务中,形成带SSL的 HTTP( https,端口号为443),带SSL的SMTP(ssmtp,465),带SSL的NNTP(snews,563)。 对于拒绝服务攻击,一方面要在服务器端打Syn-flood的补丁,另一方面需要在该网段的路由器上做些配置的调整。这些调整包括限制Syn半开数据包的流量和个数,在路由器的前端做必要的TCP拦截,并在路由器上设定相当严格的定时常数,利用路由器的TCP拦截技术使得只有完成TCP三次握手过程的数据包进入该网段,这样可以有效地保护本网段内的服务器不受此类攻击 。

237 应用层介绍 简单邮件传输协议(SMTP) 文件传输协议(FTP) 超文本传输协议(HTTP) 远程连接服务标准协议(Telnet)
简单网络管理协议(SNMP) 域名系统(DNS) SMTP FTP Telnet HTTP DNS SNMP

238 应用层的安全性 FTP的安全性问题 TELNET的安全性问题 匿名FTP服务器的安全问题 使用帐号登陆的FTP服务器的安全问题
利用写权限致使操作系统瘫痪,或将垃圾信息填满日志文件,致使日志文件没有空间记录黑客的非法操作。 使用帐号登陆的FTP服务器的安全问题 帐号和密码明文传输带来的安全隐患。 TELNET的安全性问题 帐号和密码明文传输; 只有帐号和密码认证,没有强力认证过程; 没有数据完整性鉴别; 传输的数据没有加密保护。

239 应用层的安全性 SMTP的安全性问题 HTTP的安全性问题 病毒邮件的广泛传播; 发送邮件程序的安全漏洞; 邮件地址未能得到必要的保护;
浏览器端 下载有破坏性的ActiveX控件或JAVA applets。 服务器端 JAVA、CGI等应用程序漏洞所带来的安全问题

240 应用层的安全防护 实施强大的基于用户的身份认证 实施数据加密,访问控制的理想位置 加强数据的备份和恢复措施
对资源的有效性进行控制,资源包括各种数据和服务

241 Web基本结构 Web是一个运行于Internet和TCP/IP之上的基本的client/server应用。它采用的是Browser-Server,B/S结构 Web的客户端为Web浏览器,服务端为Web Server Web Server通常是多层(或三层)结构中的第一层 在Web应用中,Web Server的后台常常与数据库向连接 Web的基本要素 服务器:规定了服务器的传输设定、信息传输格式及服务器的基本开放结构 客户机: 统称Web浏览器,用于向服务器发送资源索取请求,并将接收到的信息进行解码和显示 通信协议: Web浏览器与服务器之间遵照HTTP协议进行通信

242 Web服务器 Web服务器,又称为HTTP服务器,它管理Internet上的大量的信息,并处理客户端用户请求。
早期:UNIX系统上的CERN和NCSA 今天:Apache (Free software, 53~55%) WINDOWS NT 环境下: IIS( Internet Information Server) 主要产品: Apache Microsoft Internet Information Server IBM WebSphere 其它:Cern Server\MOS Web Server\ Express HTTP Server\NCSA HTTPd\ Netscape Enterprise Server\ thttpd 等

243 Web浏览器 Web浏览器是与Web服务器打交道,从服务器上下载或获取文件,并阅读Web服务器上的信息的客户端软件。绝大部分的Web浏览器都运用了图形用户界面。 主要产品: Netscape Navigator(NN) Netscape Communicator(NC) Microsoft Internet Explorer(IE) 其它:Opera\ Mosaic\Lynx\Mozilla

244 HTTP协议 HTTP协议是分布式Web应用的核心技术协议,在TCP/IP协议中属于应用层。它定义了Web浏览器向Web服务器发送索取Web页面请求的格式,以及Web页面在Internet上的传输方式。 HTTP工作过程 (1)Web服务器在80端口等候Web浏览器的请求; (2)Web浏览器通过三次握手与服务器建立起TCP/IP连接,然后Web浏览器向Web服务器发送索取页面的请求; (3)服务器以相应的文件为内容响应Web浏览器的请求。

245 Web的安全性 Web安全性涉及前面讨论的所有计算机与网络的安全性内容,同时还遭遇新的挑战。
Web具有双向性,因此web服务器易于遭受来自Internet的攻击。(传统出版系统为单向,包括电子出版系统图文电视、语音应答、传真应答系统) 实现Web浏览、配置管理、内容发布等功能的软件异常复杂。其中隐藏许多潜在的安全隐患。短短的Web发展历史已经说明了这一点。 Web通常是一个公司或机构的发布板,常常和其它计算机联系在一起。一旦Web server被攻破,可能殃及其它。 用户往往是偶然的和未经训练的,对安全方面的风险没有意识,更没有足够的防范工具和知识。

246 Web的安全保障 Web服务器的安全需求 Web浏览器的安全需求 Web传输过程的安全需求

247 Web服务器的安全需求 维护公布信息的真实完整 维持Web服务的安全可用 保护Web访问者的隐私 保证Web服务器不被入侵者作为“跳板”使用
用户IP地址、电子邮件地址、所用计算机名称、单位名称、计算机简单说明、所访问页面内容、访问时间、传输数据量,甚至个人的信用卡号码等信息,都不得向外透露,更不能出卖此信息非法牟利。 保证Web服务器不被入侵者作为“跳板”使用 这同样是Web服务器最基本的要求。Web服务器不能被作为“跳板”来进一步侵入内部网络;同样要保证Web服务器不被用作“跳板”来进一步危害其他外界的网络。

248 针对Web Server的常见攻击 信息泄漏 拒绝服务 系统崩溃 跳板
攻击者非法访问、获取目标机器(Web服务器或者浏览器)上的敏感信息;或者中途截取Web服务器和浏览器之间传输的敏感信息;或者由于配置、软件等的原因无意泄漏的敏感信息。 拒绝服务 该威胁不容易抵御。攻击者的最终目的并不在于入侵计算机,而是在短时间内向目标发送大量的正常的请求包并使得目标机器维持相应的连接,或者发送需要目标机器解析的大量无用的数据包。这些攻击行为导致目标机器资源耗尽或是应接不暇,根本无法响应正常的服务。 系统崩溃 通过Web篡改信息、毁坏信息,甚至篡改、删除关键文件和格式化磁盘,使得Web服务器或者浏览器崩溃。 跳板 这种危险使得非法破坏者常常逍遥法外。攻击者非法入侵目标机器,并以此为基地,进一步攻击其他目标,从而使得这些第一层的目标机器成为“替罪羊”,遭受困扰甚至法律处分。

249 针对Web Server的常见攻击 脚本代码或者CGI程序的漏洞 输入验证攻击 缓冲区溢出
通常网站需要用户提供用户名和口令来进行身份验证。攻击者可以利用攻击程序,通过在线口令测试来获得用户口令,也可以进行连续的新用户注册来使得服务器中数据库快速爆满。这两种方式同时都可能导致服务器的崩溃。 缓冲区溢出 通过输入超过服务器输入缓冲区大小的数据量,使得服务器瘫痪。与此同时,如果攻击程序设计得巧妙的话,可以将具有攻击破坏性的程序代码置入服务器内部的程序区,并得以在服务器端运行。

250 Web服务器安全保障 制定安全策略 制定安全管理规则,并加以落实 确定安全的Web服务器的组织方案,并进行认真配置

251 制定安全策略 定义安全资源,进行重要性等级划分 进行安全风险评估 制定安全策略的基本原则 建立安全培训制度 具有意外事件处理措施
将资源进行安全等级的划分,把重要资源与一般资源分开存储,并赋予不同的访问权限。 进行安全风险评估 无论是网络的安全保密技术,还是站点的安全技术。为了得到一个相对安全保密的系统效果,必须付出足够的代价,在代价、威胁与风险之间作出综合平衡。权衡考虑各类安全资源的价值和对它们实施保护所需要的费用。不能只考虑看得见的资源实体,应该综合考虑资源带来的效益、资源发生不安全情况的机率和资源的安全保护被突然破坏时将可能带来的损失等等。 制定安全策略的基本原则 明确各类资源的基本安全要求以及为了达到这种安全要求应该实施的事项。 建立安全培训制度 包括人员的教育与培训、健全机构、岗位设置和规章制度。培养员工主动学习安全知识的意识和能力。一个网站的安全政策必须被每一个工作人员所理解,这样才可能让每一个员工自觉遵守、维护它。 具有意外事件处理措施 安全保密措施一定要考虑到出现不安全情况时的应急手段、隔离措施、快速恢复措施,以限制事态的进一步扩大。

252 安全管理 安全管理规则 安全管理规则是由个人或组织针对为了达到特定的安全水平而制定的一整套要求有关部门人员必须遵守的规则和违规罚则。对于Web服务提供者来说,安全管理的一个重要的组成是用户权限的设定和管理职责的确定。 安全管理操作 更新Web服务器内容尽量采用安全方式,比如,尽可能的避免网络更新,而是采用本地方式更新。 按照HTTP协议的规定,经常审查有关日志记录。 进行必要的数据备份。 定期对Web服务器进行安全检查。 使用必要的辅助工具,简化主机的安全管理:启用系统的日志(系统帐户日志和Web服务器日志)记录功能。监视并记录访问企图是主机安全的一个重要机制,以利于提高主机的一致性以及其数据保密性。 定期对Web服务器进行安全检查

253 Web服务器的安全配置 选择合适的Web服务器设备和相关软件 仔细配置Web服务器 Web服务器的访问控制方法 响应时间 吞吐率 容错性
合理配置主机系统(系统在缺省的情况下自动启用的服务类型的确定,是否清除了已知的安全隐患。) Web服务器的访问控制方法 通过IP地址、子网域名来控制访问。 通过用户名/口令限制控制访问。 通过公用密钥加密(数字证书)的方法来控制访问。

254 Web客户端的安全性 进行Cookie的设置,保护用户的隐私 进行PKI的设置,确定哪些是可信任的CA
对Java Applet,ActiveX control等的可执行代码的限制。 如果你的机器是多个人合用的,那么 Web页面的缓存区域,将会留下用户最近访问过的页面 历史记录 口令自动保存和提示 ……

255 Web 传输的安全保障 Web传输的安全保障内容取决于应用(程序)对安全保密的需求,以及用户自己的需要。 必须的安全服务: 密钥管理
内容机密性 防抵赖 完整性/身份验证 授权

256 Web 传输的安全保障 网络层——IP 安全性(IPSec) 传输层—— SSL / TLS 应用层——SHTTP、SET

257 第6章 实验要求 使用“组策略”中的“IP安全策略”关闭无用端口。
使用“IPCONFIG”命令查看计算机网卡的地址(MAC);熟悉“Netstat”、“Ipconfig”、“Ping”、“Tracert”等命令的使用。 使用Sniffer工具捕获并分析IP数据包。 捕获指定计算机发出的数据包并分析该数据包的IP和TCP包头 捕获指定计算机发出的ICMP数据包(可以通过Ping命令发出) 使用Sniffer 或Iris工具捕获应用层数据包。 捕获指定应用协议类型的数据包并分析,譬如,FTP或BBS帐号和密码等。 使用smurf工具进行拒绝服务攻击,并使用Sniffer工具查看攻击状况。

258 第7章 防火墙技术 第1节 防火墙概述 第2节 防火墙的体系结构 第3节 个人防火墙 实验要求

259 第1节 防火墙概述 什么是防火墙 防火墙的作用 防火墙相关概念 防火墙的种类 防火墙基本的安全保护规则

260 什么是防火墙 防火墙是指设置在不同网络(如可信任的企业内部网和不可信人的公共网)或网络安全域之间实施安全防范的系统。
在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,它有效地监控了内部网和Internet之间的任何活动,保证了内部网络的安全。 INTERNET

261 防火墙的作用 防火墙是网络安全的屏障 防火墙可以强化网络安全策略 对网络存取和访问进行监控审计 防止内部信息的外泄
通过利用防火墙对内部网络的划分,可实现内部网中重点网段的隔离,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响; 作为堵塞点和控制点,防火墙能极大地提高内部网络的安全性,同时起到了对服务器和内部计算机的保护作用。 防火墙可以强化网络安全策略 防火墙不仅可以执行站点的安全策略,只容许“认可的”和符合规则的请求通过。而且通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。 对网络存取和访问进行监控审计 如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并做出日志记录,同时也能提供网络使用情况的统计数据。而且系统可以使用该统计数据进行网络需求和网络威胁的分析。 防止内部信息的外泄 防火墙可以防止攻击者利用专门的服务命令,譬如,Finger,Ping来获取内部用户信息和网络相关信息等。

262 防火墙相关概念 主机 堡垒主机 双宿主主机 路由 路由器 与网络系统相连的计算机系统。
是指一个计算机系统,它对外部网络(互联网络)暴露,同时又是内部网络用户的主要连接点,所以非常容易被侵入,因此这个系统需要严加保护。 双宿主主机 具有至少两个网络接口的通用计算机系统。通常把它当作堡垒主机。 路由 为转发的包分组选择正确的接口和下一个路径片段的过程。 路由器 数据包是通过互联网络中的路由器,从源网络到达目的网络的。路由器接收到数据包就知道该包要去往何处,然后路由器查询自身的路由表,若有去往目的的路由,则按照一定的原则选择下一个目标地址,并将数据包按该地址发送到下一个路由器或直接发往下一个网段,否则,将该包丢掉。

263 规则号 协议 传输协议 源IP 源端口 目的IP 目的端口 动作 l 入站HTTP TCP 任意 80 允许 2 443 3 出站HTTP 4 防火墙相关概念 包过滤 计算机设备对进出网络的数据流进行有选择的控制与操作。用户可以设定一系列的规则,指定允许哪些类型的数据包可以流人或流出内部网络(例如只允许来自某些指定的IP地址的数据包或者内部网络的数据包可以流向某些指定的端口)。包过滤操作可以在路由器上进行,也可以在网桥,甚至在一个单独的主机上进行。 代理服务器 代表内部网络用户与外部网络服务器进行信息交换的程序。它将内部用户的请求送达外部服务器,同时将外部服务器的响应再回送给用户。 简单过滤逻辑规则集

264 防火墙种类 包过滤型 应用代理型 复合型 NAT技术

265 包过滤型防火墙 包过滤(Packet Filtering)技术是在网络层和传输层对数据包进行控制,控制的依据是系统内设置的, 被称为访问控制表(Access Control Table)的过滤逻辑。通过检查每个数据包的源地址、目的地址、所用的端口号、 协议状态等因素,或它们的组合来确定是否允许该数据包通过。 包过滤通常安装在路由器上,并且大多数商用路由器都提供了包过滤的功能。 INTERNET 过滤路由器

266 包过滤型防火墙的特点 包过滤防火墙不用改动客户机和主机上的应用程序即可达到安全控制的目的。
因为包过滤防火墙工作在IP和TCP层,所以处理包的速度要比代理服务型防火墙快。 因为只涉及到TCP层,所以与代理服务型防火墙相比,它提供的安全级别很低。 不支持用户认证,包中只有来自哪台机器的信息却不包含来自哪个用户的信息。 不提供日志功能。 由于包过滤系统处于网络的IP层和TCP层,而不是应用层,因此,包过滤安全策略存在以下限制: 只能规定是否可以进行某项应用操作。譬如:不让任何工作站从外部网用Telnet登录、允许任何工作站使用SMTP往内部网发电子邮件。 无法对应用层的具体操作进行任何过滤。以FTP为例,FTP文件传输协议应用中包含读取、写入、删除等许多具体的操作,包过滤无法允许用户使用FTP,同时还限制用户只可读取文件不可写入文件。 包过滤系统不能识别数据包中的用户信息,因此,它无法允许某个用户使用Telnet登录而不允许其他用户进行这种操作。 包过滤防火墙的缺点 非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行攻击; 数据包的源地址、目的地址以及IP的端口号都在数据包的头部,很有可能被窃听或假冒。

267 应用代理型 代理服务(Proxy Service)型防火墙系统一般安装并运行在双宿主机上。双宿主机是一个被取消路由功能的主机,与双宿主机相连的外部网络与内部网络之间在网络层是被断开的。 代理服务器本质上是一个应用层的网关,一个为特定网络应用而连接两个网络的网关。因此,它通常由两部分构成,服务器端程序和客户端程序。客户端程序与中间节点(Proxy Server)连接,中间节点再与要访问的外部服务器实际连接。 INTERNET 代理服务器

268 应用代理型 应用代理型防火墙的特点 内部网与外部网之间不存在直接的连接; 提供日志(Log)及审计(Audit)服务; 代理服务运行在应用层,能够实施对用户身份和具体操作权限的控制。 应用代理型防火墙的优点是既可以隐藏内部IP地址,也可以给单个用户授权,即使攻击者盗用了一个合法的IP地址,他也通不过严格的身份认证。因此应用网关比报文过滤具有更高的安全性。但是这种认证使得应用网关不透明,用户每次连接都要受到“盘问”,这给用户带来许多不便。 外部服务器 代理服务器 感觉的连接 实际的连接 内部用户

269 复合型防火墙 由于对更高安全性的要求,常把基于包过滤的方法与基于应用代理的方法结合起来,形成复合型(Hybrid)防火墙产品。

270 NAT技术 网络地址转换器(Network Address Translation,NAT )就是在防火墙上装一个合法IP地址集。当内部某一用户要访问Internet时,防火墙动态地从地址集中选一个未分配的地址分配给该用户,该用户即可使用这个合法地址进行通信。 NAT的作用 该技术能透明地对所有内部地址作转换,使外部网络无法了解内部网络的内部结构。 NAT的另一个显而易见的用途是解决IP地址匮乏问题。

271 防火防基本的安全保护规则 一切未被允许的就是禁止的。 一切未被禁止的就是允许的。
基于该准则,防火墙应封锁所有信息流,然后对希望提供的服务逐项开放。这是一种非常实用的方法,可能造成一种十分安全的环境,因为只有经过仔细挑选的服务才被允许使用。安全性高于用户使用的方便性,其弊端是限制了用户所能使用的服务范围。 一切未被禁止的就是允许的。 基于该准则,防火墙应转发所有信息流,然后逐项屏蔽可能有害的服务。这种方法构成了一种更为灵活的应用环境,可为用户提供更多的服务。其弊端是,在日益增多的网络服务面前。网管人员疲于奔命,特别是受保护的网络范围增大时,很难提供可靠的安全防护。

272 第2节 防火墙的体系结构 双宿主主机结构 主机过滤结构 以上两种基本结构的多种组合

273 双宿主/双端口主机结构 双宿主主机至少具有两个网络接口,它可以充当与这台主机连接的网络之间的路由器,但作为防火墙它被取消了这种功能,即从外部来的IP数据包不能被无条件的传递给内部网络。 双宿主主机 INTERNET

274 主机过滤结构 主机过滤结构需要一台过滤路由器和一台位于内部网络的堡垒主机,任何来自于外部网络的,通过过滤路由器的数据包只能发送给堡垒主机,在堡垒主机上设置安全规则,只有符合安全规则的数据包才被允许在内外网络间传输。 此时,在过滤路由器中可以设置成指定的服务类型数据包可以由内部用户直接与外部服务器进行连接;也可以设置成不允许内部用户与外部服务器有任何的直接连接,即强迫内部使用用户堡垒主机作为代理服务器。 INTERNET 过滤路由器 堡垒主机

275 个人防火墙 个人防火墙是一种运行在个人电脑上的软件 个人防火墙则可以看作是用来保护个人电脑中的信息不受来自Internet的威胁的一种工具
个人防火墙产品 瑞星个人防火墙 ZoneAlarm个人防火墙

276 瑞星的测试版个人防火墙-使用界面

277 修改默认规则

278 修改规则属性

279 第7章 实验要求 使用天网个人防火墙和ZoneAlarm个人防火墙对局域网内的ping命令、计算机直接访问等操作进行限制。
熟悉以上两种个人防火墙的设置和功能。 归纳限制外部(包括INTERNET和信任区域)ping 本机的规则设置方法(文件名:firewall+学号)。

280 第8章 计算机病毒及其防治技术 第1节 计算机病毒概述 第2节 计算机病毒机制 第3节 计算机病毒的防范 第4节 计算机病毒的发展趋势

281 计算机病毒概述 计算机病毒是指那些具有自我复制能力的计算机程序,它能够通过某种途径潜伏在计算机存储介质(或程序)里,当达到某种条件时即被激活的,具有对计算机资源进行破坏作用的一组程序或指令集合。 病毒的产生背景 计算机病毒是计算机犯罪的一种新的衍化形式 计算机软硬件产品的脆弱性是根本的技术原因 微机的普及应用是计算机病毒产生的必要环境

282 计算机病毒的特征 计算机病毒是一个程序,一段可执行代码; 计算机病毒有独特的复制能力; 计算机病毒可以很快地蔓延,又常常难以根除;
它们能把自身附着在各种类型的文件上; 当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。 能“触发“自动 执行的程序 能“传染“其他 程序的程序 能“破坏“其他 程序或文件的程序 能“潜伏“在其他 程序的程序

283 计算机病毒发展简史 1949年,冯.诺依曼提出计算机程序能够在内存中自我复制; 十年之后,贝尔实验室三个程序员设想电子游戏“磁芯大仗”;
70年代,《震荡波骑士》、《P-1的青春》等计算机争斗和病毒的科幻小说提供了制作病毒的思想基础; 1983年11月3日,弗雷德.科恩博士研制了在运行中可以自我复制的破坏性程序,并正式命名为计算机病毒; 1986年初,针对IBMPC机的Pakistan病毒,即Brain在巴基斯坦被编写完成; 1987年10月,世界上第一例计算机病毒(Brian)在美国被发现; 1988年3月2日,一种苹果机病毒发作; 1988年11月3日,美国6千台计算机被病毒感染,造成Internet不能正常运行; 电脑病毒的祖先-磁蕊大战 磁蕊大战的玩法如下:两方各写一套程式, 输入同一部电脑中, 这两套程式在电脑? 记忆系统内互相追杀,有时它们会放 下一些关卡,有时会停下来修理(重新写)被对方破坏的几行指令 ;当它被困时,也可以把自己复制一次,逃离险境,因为它们都 在电脑的记忆磁蕊中游走,因此得到了磁蕊大战之名. 这个游戏的特点,在於双方的程式进入电脑之後,玩游戏的人只能看著萤幕上显示的战况,而不能做任何更改,一直到某一 方的程式被另一方的程式完全 [吃掉] 为止.磁蕊大战是个笼统的名称,事实上还可细分成好几种,麦耀莱所写的程式叫[达尔 文]这包含了 [物竞天择,适者生存] 的意思 . 它的游戏规则跟以上所描述的最接近,双方以组合语言 (Assembly Language) 各写一套程式,叫有机体(organism),这两个机体在电脑里争斗不休,直到一方把另一方杀掉而取代之,便算分出胜负. 在比赛 时 Morris 经常匠心独具,击败对手. 另外有个叫爬行者程式(Creeper)的,每一次把它读出时,它便自己复制一个副本.此外,它也会从一部电脑 [爬]到另一部 有连线的电脑.很快地电脑中原有资料便被这些爬行者挤掉了.爬行者的微一生存目地是繁殖. 为了对付[爬行者],有人便写出了[收割者](Reaper).它的唯一生存目的便是找到爬行者,把它们毁灭掉.当所有爬行者都 被收割掉之後,收割者便执行程式中最後一项指令:毁灭自己,从电脑中消失. [侏儒](Dwarf)并没有达尔文等程式聪明.却可是个极端危险人物.它在记忆系统中迈进,每到第五个[地址] (address)便 把那里所储存的东西变为零,这会使的原本的程式停摆. 最奇特的就是一个叫[印普](Imp)的战争程式了,它只有一行指令,那就是 MOV 01 。MOV是[MOVE]的代表,即移动的意思. 它把身处的地址中所载的[0]写(移)到下一个地址中,当印普展开行动之後,电脑中原有的每一行指令都被改为[MOV 01].换句 话说, 萤光幕上留下一大堆[MOV 01]. [双子星](Germini)也是个有趣的家伙.它的作用只有一个:把自己复制,送到下一百个 地址後,便抛弃掉[正本]. 从双子星衍生出一系列的程式.[牺牲者](Juggeraut)把自己复制後送到下十个地址之後;而[大雪人](Bigfoot)则把正本 和复制品之间的地址定为某一个大质数.想抓到大雪人可是非常困难的.此外, 还有全录(Xerox)柏路阿图研究中心的约翰.索 殊(John F.Shoch)所写的[蠕虫](Worm),它的目的是要控制侵入的电脑.

284 计算机病毒发展简史 1989年,全世界计算机病毒攻击十分猖獗,我国也未幸免,其中影响最大的是“米开朗基罗”病毒;
1991年,在海湾战争中,美军第一次将计算机病毒用于实战; 1992年,出现针对杀毒软件的“幽灵”病毒; 1994年5月,计算机病毒破坏南非大选活动; 1996年,出现针对微软公司Office的“宏病毒” ,1997年公认为计算机反病毒界的“宏病毒年”; 1998年,首例破坏计算机硬件的CIH病毒出现; 1999年3月26日,出现一种通过因特网进行传播的美丽杀手病毒; 1999年4月26日,CIH病毒在我国大规模爆发; 2000年以后,邮件病毒、蠕虫病毒、震荡波、冲击波等计算机病毒大量传播。 电脑病毒的祖先-磁蕊大战 磁蕊大战的玩法如下:两方各写一套程式, 输入同一部电脑中, 这两套程式在电脑? 记忆系统内互相追杀,有时它们会放 下一些关卡,有时会停下来修理(重新写)被对方破坏的几行指令 ;当它被困时,也可以把自己复制一次,逃离险境,因为它们都 在电脑的记忆磁蕊中游走,因此得到了磁蕊大战之名. 这个游戏的特点,在於双方的程式进入电脑之後,玩游戏的人只能看著萤幕上显示的战况,而不能做任何更改,一直到某一 方的程式被另一方的程式完全 [吃掉] 为止.磁蕊大战是个笼统的名称,事实上还可细分成好几种,麦耀莱所写的程式叫[达尔 文]这包含了 [物竞天择,适者生存] 的意思 . 它的游戏规则跟以上所描述的最接近,双方以组合语言 (Assembly Language) 各写一套程式,叫有机体(organism),这两个机体在电脑里争斗不休,直到一方把另一方杀掉而取代之,便算分出胜负. 在比赛 时 Morris 经常匠心独具,击败对手. 另外有个叫爬行者程式(Creeper)的,每一次把它读出时,它便自己复制一个副本.此外,它也会从一部电脑 [爬]到另一部 有连线的电脑.很快地电脑中原有资料便被这些爬行者挤掉了.爬行者的微一生存目地是繁殖. 为了对付[爬行者],有人便写出了[收割者](Reaper).它的唯一生存目的便是找到爬行者,把它们毁灭掉.当所有爬行者都 被收割掉之後,收割者便执行程式中最後一项指令:毁灭自己,从电脑中消失. [侏儒](Dwarf)并没有达尔文等程式聪明.却可是个极端危险人物.它在记忆系统中迈进,每到第五个[地址] (address)便 把那里所储存的东西变为零,这会使的原本的程式停摆. 最奇特的就是一个叫[印普](Imp)的战争程式了,它只有一行指令,那就是 MOV 01 。MOV是[MOVE]的代表,即移动的意思. 它把身处的地址中所载的[0]写(移)到下一个地址中,当印普展开行动之後,电脑中原有的每一行指令都被改为[MOV 01].换句 话说, 萤光幕上留下一大堆[MOV 01]. [双子星](Germini)也是个有趣的家伙.它的作用只有一个:把自己复制,送到下一百个 地址後,便抛弃掉[正本]. 从双子星衍生出一系列的程式.[牺牲者](Juggeraut)把自己复制後送到下十个地址之後;而[大雪人](Bigfoot)则把正本 和复制品之间的地址定为某一个大质数.想抓到大雪人可是非常困难的.此外, 还有全录(Xerox)柏路阿图研究中心的约翰.索 殊(John F.Shoch)所写的[蠕虫](Worm),它的目的是要控制侵入的电脑.

285 计算机病毒机制 计算机病毒的引导机制 计算机病毒的传染机制 计算机病毒的破坏机制 计算机病毒的触发机制

286 计算机病毒的引导机制 计算机病毒的寄生对象 计算机病毒的寄生方式
计算机病毒程序为了进行自身的主动传播,必须使自身寄生在可以获取执行权的寄生对象上。 寄生在磁盘引导扇区; 寄生在可执行(.EXE或.COM)或一般文件中。 计算机病毒的寄生方式 采用替代法 替代法是指病毒程序用自己的部分或全部指令代码,替代磁盘引导扇区或文件中的全部或部分内容。 采用链接法 链接法则是指病毒程序将自身代码作为正常程序的一部分与原有正常程序链接在一起,病毒链接的位置可能在正常程序的首部、尾部或中间。 寄生在磁盘引导扇区的病毒一般采取替代法,而寄生在可执行文件中的病毒一般采用链接法。 有的病毒在加载之前进行动态反跟踪和病毒体解密。 对于寄生在磁盘引导扇区的病毒来说,病毒引导程序占有了原系统引导程序的位置,并把原系统引导程序搬移到一个特定的地方。这样系统一启动,病毒引导模块就会自动地装人内存并获得执行权,然后该引导程序负责将病毒程序的传染模块和发作模块装人内存的适当位置,并采取常驻内存技术以保证这两个模块不会被覆盖,接着对该两个模块设定某种激活方式,使之在适当的时候获得执行权。处理完这些工作后,病毒引导模块将系统引导模块装人内存,使系统在带毒状态下运行。 对于寄生在可执行文件中的病毒来说,病毒程序一般通过修改原有可执行文件,使该文件一执行首先转入病毒程序引导模块,该引导模块也完成把病毒程序的其他两个模块驻留内存及初始化的工作,然后把执行权交给执行文件,使系统及执行文件在带毒的状态下运行。

287 计算机病毒的传染机制 传染是指计算机病毒由一个载体传播到另一个载体,由一个系统进入另一个系统的过程。它是一种能让病毒繁殖的代码,也是病毒之所以成为病毒的原因。病毒的传染方式可分为被动传染和主动传染。 被动传染 在进行拷贝磁盘或文件时,把病毒由一个载体复制到另一个载体上,或者是通过网络上的信息传递,把病毒程序从一方传递到另一方。 主动传染 在病毒处于激活的 状态下,只要传染条件满足,病毒程序能主动地把病毒自身传染给另一个载体或另一个系统。

288 计算机病毒的破坏机制 破坏机制在设计原则、工作原理上与被动传染机制基本相同。病毒破坏模块在判断设定条件满足的情况下,执行对系统或文档的破坏活动。 破坏方式 显示一串提示信息 例如,在用感染了“大麻 病毒”的系统盘进行启动时,屏幕上会出现“Your PC is now Stoned!”。 干扰系统或用户的正常工作 例如“小球”病毒在发作时,屏幕上会出现一个上下来回滚动的小球。 造成系统死机或删除磁盘文件 例如,“震荡波”、“冲击波”会造成系统死机。 “黑色星期五”病毒在激活状态下,只要判断当天既是13号又是星期五,则病毒程序的破坏模块即把当前感染该病毒的程序从磁盘上删除。 病毒破坏目标和攻击部位主要是 系统数据区、文件、内存、系统运行、运行速度、磁盘、屏幕显示、键盘、喇叭、打 印机、CMOS、主板等。

289 计算机病毒的触发机制 可触发性是病毒的攻击性和潜伏性之间的调整杠杆,可以控制 病毒感染和破坏的频度,兼顾杀伤力和潜伏性。
过于苛刻的触发条件,可能使病毒有好的潜伏性,但不易传播,只具低杀伤力。而过于宽松的触发条件将导致病毒 频繁感染与破坏,容易暴露,导致用户做反病毒处理,也不能有大的杀伤力。 目前病毒采用的触发条件主要有以下几种 日期触发 时间触发 键盘触发 感染触发 启动触发 访问磁盘次数触发 调用中断功能触发 CPU型号/主板型号触发

290 计算机病毒的防范 计算机病毒防范是指通过建立合理的计算机病毒防范体系和制度,及时发现计算机病毒侵入,并采取有效的手段阻止计算机病毒的传播和破坏,恢复受影响的计算机系统和数据。 计算机病毒的表现现象 特定病毒的判断和防范 计算机病毒的检测

291 计算机病毒发作前的表现现象 系统文件的时间、日期、大小发生变化; 运行Word,打开Word文档后,该文件另存时只能以模板方式保存;
磁盘空间迅速减少; 网络驱动器卷或共享目录无法调用; 基本内存发生变化。 平时运行正常的计算机突然经常性无缘无故地死机; 运行速度明显变慢; 以前能正常运行的软件经常发生内存不足的错误; 打印和通讯发生异常; 无意中要求对软盘进行写操作; 以前能正常运行的应用程序经常发生死机或者非法错误;

292 计算机病毒发作时的表现现象 提示一些不相干的话; 发出一段音乐; 产生特定的图象; 硬盘灯不断闪烁; 进行游戏算法;
Windows桌面图标发生变化; 计算机突然死机或重启; 自动发送电子邮件; 鼠标自己在动。

293 计算机病毒发作后的表现现象 硬盘无法启动,数据丢失; 系统文件丢失或被破坏; 文件目录发生混乱; 部分文档丢失或被破坏 ;
部分文档自动加密码; 修改Autoexec.bat文件,增加Format C:; 使部分可软件升级主板的BIOS程序混乱,主板被破坏。

294 判别宏病毒的方法 在使用的Word等Office软件中从“工具”栏处打开“宏”菜单,选中Normal.dot模板,若发现有AutoOpen、AutoNew、AutoClose等自动宏以及FileSave、FileSaveAs、FileExit等文件操作宏或一些怪名字的宏,如AAAZAO、PayLoad等,就极可能是感染了宏病毒了,因为Normal模板中是不包含这些宏的; 在使用的Word等Office软件“工具”菜单中看不到“宏”这个字,或看到“宏”但光标移到“宏”,鼠标点击无反应,这种情况肯定有宏病毒; 打开一个文档,不进行任何操作,退出Word等Office软件,如提示存盘,这极可能是Word中的Normal.dot模板中带宏病毒; 打开以DOC为后缀的文档文件在另存菜单中只能以模板方式存盘,也可能带有Word宏病毒; 在运行Word等Office软件过程中经常出现内存不足,打印不正常,也可能有宏病毒; 在运行Word等Office软件时,打开文档出现是否启动“宏”的提示,说明该文档带有宏,如果原始文档不应有宏的,说明该文档已感染了宏病毒。

295 预防宏病毒 在Word中打开“选项”中的“宏病毒防护” 和“提示保存Normal模板” 等
在Excel中选择“工具”菜单中的“选项”命令,在“常规”中选中“宏病毒防护功能”。 在PowerPoint中选择“工具”菜单中的“选项”命令,在“常规”中选中“宏病毒防护” 其他防范文件型计算机病毒所做的工作

296 预防电子邮件病毒的方法 不要轻易执行附件中的EXE和COM等可执行程序; 不要轻易打开附件中的文档文件;
对于文件扩展名很怪的附件,或者是带有脚本文件如*.VBS、*.SHS等的附件,千万不要直接打开; 如果是使用Outlook或 Outlook Express等电子邮件管理软件,应当进行一些必要的安全方面的设置; 对于自己往外传送的附件,也一定要仔细检查,确定无毒后,才可发送。

297 计算机病毒检测方法 比较法 加总比对法 搜索法 分析法 其它 人工智能陷阱技术和宏病毒陷阱技术 扫描法 软件仿真扫描法 先知扫描法

298 比较法 是用原始备份与被检测的引导扇区或被检测的文件进行比较。比较时可以靠打印的代码清单(比如DEBUG的D命令输出格式)进行比较,或用程序来进行比较(如DOS的DISKCOMP、FC或PCTOOLS等其它软件)。这种比较法不需要专用的查计算机病毒程序,只要用常规DOS软件和PCTOOLS等工具软件就可以进行。 比较法的特点 优点是简单、方便,不需专用软件; 缺点是无法确认计算机病毒的种类名称。

299 加总比对法 根据每个程序的档案名称、大小、时间、日期及内容,加总为一个检查码,再将检查码附于程序的后面,或是将所有检查码放在同一个数据库中,再利用此加总对比系统,追踪并记录每个程序的检查码是否遭更改,以判断是否感染了计算机病毒。 加总比对法的特点 可侦测到各式的计算机病毒; 但最大的缺点就是误判断高,且无法确认是哪种计算机病毒感染的。

300 搜索法 搜索法是用每一种计算机病毒体含有的特定字符串对被检测的对象进行扫描以确定病毒。 搜索法的特点 可用于制作通用的病毒扫描软件;
可确定被搜索到的病毒的种类,但必须事先掌握病毒的特征。

301 分析法 分析法包括静态分析和动态分析两种 静态分析是指利用反汇编工具将计算机病毒代码打印成反汇编指令程序清单后进行分析 。
动态分析则是指利用DEBUG等调试工具在内存带毒的情况下,对计算机病毒做动态跟踪,观察计算机病毒的具体工作过程,以进一步在静态分析的基础上理解计算机病毒工作的原理。

302 计算机病毒发展趋势 传统病毒特征 现代病毒 计算机病毒潜伏在计算机存储介质或者程序中传播; 对计算机资源具有破坏作用的程序或者指令集;
当达到一定条件时被激活。 现代病毒 病毒传播方式不再以存储介质为主要的传播载体,网络成为计算机病毒传播的主要载体; 传统病毒日益减少,网络蠕虫成为最主要和破坏力最大的病毒类型; 恶意网页; 是木马?(否,因为它不具有远程控制功能) 是病毒?(否,因为它没有自我复制功能)道 病毒与木马技术相互结合,出现带有明显病毒特征的木马或者木马特征的病毒; 已由病毒技术综合应用; 传播方式多样化; 跨操作系统的病毒; 手机病毒、信息家电病毒的出现。

303 第9章 网络攻击与防御 第1节 网络攻击 第2节 入侵检测与防御 实验要求

304 网络攻击 攻击者分类 攻击者喜欢攻击的目标 攻击者常用的攻击方法 攻击者的攻击策略

305 攻击者分类 寻欢作乐攻击者 间谍和恶意破坏分子 内部攻击者

306 寻欢作乐的攻击者的攻击行为 寻找接入的方式,非法闯入系统; 进入系统后,到处浏览和挖掘,寻找可利用的资源;
长期潜伏隐藏在系统中,资源一直被非法占用,对合法用户进行干扰和侵略; 在不满的情况下可能进行报复。

307 间谍和恶意破坏分子 攻击者知道你在做什么,并且很大程度上知道你是怎么做的;
攻击者已经研究了你的公司、你的系统,包括你的员工,甚至可能已经检查了你的废纸篓来寻找线索; 间谍和恶意破坏分子很象窃车贼,他们心中有特定的目标,为了证实目标的价值和最大程度地降低风险,他们会进行侦察; 他们拥有很多可以帮助其快速进入和撤离的技术,而且有应付可能发生的情况的手段,以便安全逃离; 间谍和恶意破坏分子具有强烈的动机,因为可以得到期望的高额回报或实现个人和组织价值; 由于通过Internet 可获得的价值越来越大,这类活动也可能越来越普遍。因为基于金钱而成为间谍的动机将会增加。

308 内部攻击者 这是所有攻击者中最危险的。 国内外从事信息安全的专业人士,通过调查逐步认识到,媒体炒得火热的外部入侵事件, 充其量占到所有安全事件的20%-30%,而70%-80%的安全事件来自于内部。如果一个成功的攻击者需要技术、动机和机会的话,这类攻击者肯定具有这些特性, 而且是你培训他们有了攻击的技术。 他们的不满意味着你已经为他们准备了成功攻击你公司的动机, 而你还蒙在鼓里。 由于他们仍旧是你信任的对象,因此攻击的机会很好。

309 攻击者喜欢攻击的目标 路由器 信息数据库 Web服务器 FTP服务器 其它一些与协议相关的服务

310 攻击者常用的攻击方法 电子欺骗方式 前门攻击和后门攻击 拒绝服务攻击 DoS DDoS 木马攻击

311 电子欺骗攻击 电话欺骗 E-mail 欺骗 Web欺骗
攻击者经常利用人们缺乏安全意识,通过电话询问密码,从而轻而易举得获得进入系统的“合法钥匙”。 欺骗 电子邮件“欺骗”是在电子邮件中改变你的名字使之看起来是从某地或某人(譬如,冒充系统管理员或者其他授权用户)的实际行为。 欺骗用户填写自己的密码或相关档案并提交给指定的服务器。 欺骗用户登陆欺骗者的网站,以增加其网站的点击率。 将电脑用户吸引至与某些知名公司类似的网站上,结合Web欺骗,使用户泄露个人财务数据。 Web欺骗 在用户和信任站点之间建立一个伪装界面,骗取用户通过伪装界面访问信任站点,从而达到截获机密的目的。

312 前门攻击 黑客伪装成一个合法的用户进入系统,因为他通过一定的方式已经获得了合法用户进入系统所需要的所有信息,他能够很简单地从系统的“前门”正当地进入。 黑客获取合法用户登陆系统的密码的方法 暴力攻击 暴力攻击是黑客猜解合法用户密码可能使用的字符,并对其所有的组合进行尝试,从而破解用户密码的攻击技术。 字典攻击 字典攻击是黑客通过猜解合法用户密码使用的可能范围,并列出该范围内所有可能的密码清单逐个进行尝试攻击技术。 管理员密码规律

313 后门攻击 后门攻击是指入侵者躲过访问控制和日志,使自己可以重复进入被入侵系统的技术。 后门攻击种类
调试后门、管理后门、恶意后门、Login后门、Telnet后门、rhosts +后门、服务后门、文件系统后门、内核后门、Boot后门、TCP Shell后门等。

314 什么是拒绝服务攻击(DoS) 拒绝服务攻击(DoS,Denial of Service)的攻击者一般是通过程序占用被攻击的主机上的资源,或者是在短时间内向被攻击主机发送大量数据包,影响其它正常数据交换,甚至造成主机系统过载或系统瘫痪,进而拒绝服务请求者的服务访问,从而达到攻击目的的攻击行为。

315 拒绝服务攻击的基本过程 攻击者向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息;
由于地址是虚假的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终没有被释放。当服务器等待一定的时间后,连接会因超时而被切断; 攻击者会再度传送新的一批请求,在这种反复发送虚假地址请求的情况下,服务器资源最终会被耗尽,从而无法提供正常的服务,甚至造成系统停机。

316 拒绝服务攻击举例 蠕虫病毒 SYN-flood攻击 Smurf攻击 常见的蠕虫病毒或与其同类的病毒都可以对服务器进行拒绝服务攻击的进攻。
利用了TCP建立连接时三方握手的弱点。 Smurf攻击 利用Ping程序中使用的ICMP协议。

317 SYN-flood攻击示意图

318 Smurf攻击示意图

319 什么是分布式拒绝服务 分布式拒绝服务(Distributed Denial of Service)
DDoS是利用更多的傀儡机来发起进攻,因此是一种分布、协作的大规模攻击方式。 一个比较完善的DDoS攻击体系分成四大部分: 攻击者所在机 控制机(用来控制傀儡机) 傀儡机 受害者

320 DDoS攻击示意图

321 特洛伊木马的传说 传说希腊人围攻特洛伊城,久久不能得手。后来想出了一个木马计,让士兵藏匿于巨大的木马中。大部队假装撤退而将木马摈弃于特洛伊城,让敌人将其作为战利品拖入城内。木马内的士兵则乘夜晚敌人庆祝胜利、放松警惕的时候从木马中爬出来,与城外的部队里应外合而攻下了特洛伊城

322 木马攻击攻击原理 木马程序由客户端和服务器端两部分组成; 攻击者将木马的服务器端程序植入被攻击的计算机系统;
通过如邮件传输、文件下载等方法把木马执行文件植入被攻击者的计算机系统。 一般的木马执行文件非常小,大都是几K到几十K,因此若把木马捆绑到其它正常文件上,用户是很难发现的。 木马也可以通过Script、ActiveX及Asp、CGI交互脚本的方式植入。 利用该木马程序获取被攻击计算机的重要信息; 利用该木马程序激活攻击者所需要的指令或打开攻击者所需要的端口。

323 举例:冰河软件 冰河是一个国产木马程序,具有简单的中文使用界面。 只有少数流行的反病毒、防火墙软件才能查出冰河的存在。

324 攻击者的攻击策略 情报搜集 系统的安全漏洞检测 实施攻击 扫尾工作 拒绝服务攻击 (DoS) N 踩点 Foot Printing 扫描
Scann ing 资源探查 Enumeration 进入系统 Gaining Access 木马 Trojan Horse 提升权限 Escalating privilege Y 创建后门 Creating back doors 清除痕迹 Covering tracks 窃取资源 Pilfer若ing

325 搜集情报 利用专用工具或网络服务命令探测攻击所需的网络地址、端口、域名、主机、用户等信息 使用嗅探器、扫描器等工具;
使用ping、traceroute、nbtstat、finger等命令工具; 使用WHOIS协议、DNS服务器及NetBIOS等服务协议; 判断目标主机所使用的操作系统。

326 检测漏洞 在搜集了攻击目标的有关情报后,攻击者会进一步查找该系统的安全漏洞或安全弱点。

327 实施攻击 进一步发现被攻破系统在网络中的信任关系 在目标系统中安装探测器软件 在被攻破系统上获得了特权用户权限

328 扫尾工作 清除日志,毁掉入侵痕迹 在被攻破的系统上建立后门
使用DOS命令del删除安装在C盘NT的日志 del C:\winnt\system32\logfiles\*.* del C:\winnt\ssytem32\config\*.evt del C:\winnt\system32\dtclog\*.* del C:\winnt\system32\*.log del C:\winnt\system32\*.txt del C:\winnt\*.txt del C:\winnt\*.log

329 入侵过程举例 利用流光或 SSS 等工具扫描IP地址为192.168.0.136 的一台服务器 ,从而入侵该机器。
从扫描报告中得知管理员的用户名为administrator,密码为空 利用DOS的空连接命令登录被攻击服务器 映射被攻击的服务器磁盘 建立与被攻击服务器相关磁盘卷的映射关系后,在自己的机器上可以看到服务器C盘的映射到H盘。

330 入侵检测系统基本概念 入侵检测系统(IDS,Intrusion Detection System)是一类专门面向网络入侵检测的网络安全监测系统,它是网络信息系统安全的第二道防线,是安全基础设施的补充,它从计算机网络系统中的若干关键点收集信息,并分析这些信息,检测网络中是否有违反安全策略的行为和遭到袭击的迹象。

331 入侵检测系统基本概念 入侵检测是实时网络违规操作的自动识别和响应系统。
它位于有敏感数据需要保护的网络上或网络上任何有风险存在的地方(如网络系统中涉密重要部门、Internet互连出口处),通过实时截获网络数据流,能够识别、记录入侵和破坏性代码流,寻找网络违规模式和未授权的网络访问尝试。 当发现网络违规模式和未授权的网络访问时,入侵检测系统能够根据系统安全策略做出反应,包括实时报警、事件登录,自动阻断通信连接或执行用户自定义的安全策略等。 入侵检测系统与防火墙的结合使用,可以形成主动性的安全防御措施。

332 利用入侵检测保护网络应用 企业网络 外部攻击 外部攻击 Internet Intranet 警告! 记录进攻, 发送消息, 终止连接
DMZ File Transfer HTTP 生产部 警告! 记录进攻, 发送消息, 终止连接 Internet 中继 工程部 路由 重新配置 路由或防火墙 以便隐藏IP地址 外部攻击 商务伙伴 外部攻击 市场部 终止连接 Intranet 人事部 企业网络

333 入侵检测系统的基本功能 监视、分析用户和系统的行为 识别攻击行为 对异常行为进行统计 进行审计跟踪、识别违反安全法规的行为
监视、审计、评估系统

334 入侵检测产品 Axent Intruder Alert(http://www.axent.com/)
Cisco NetRanger( ISS RealSecure( Computer Associates’ eTrust Intrusion Detection(formerly SessionWall 3) Computer Misuse Detection System( Network Flight Recorder( Network Associates’ CyberCop Monitor(

335 第9章 实验要求 实验一 安装并使用屏幕捕捉软件(Camtasia Rercorder)
实验二 使用扫描软件(SupperScan)扫描计算机IP地址和端口 实验三 安装并使用Etrust进行入侵检测


Download ppt "网络安全与电子商务 章学拯 zxz@chinaelab.com."

Similar presentations


Ads by Google