1、安全技术及应用实训报告项目二:网络安全应用实训项目 I目 录任务 1 知识剖析 .21.1 信息的加密传输 .2任务 2 数字签名 .3任务 3 数据安全传输 .5任务 4 创建根 CA 服务器 .6任务 5 证书审核与签发 .7任务 6 证书验证过程 .9任务 7 通过数字证书建立 SSL 通道 10任务 8 USBKey 应用 121任务 1 知识剖析在事件分析中我们从网银认证发展视角、中软解决方案视角和安全行为视角对构建专业网银认证进行全面剖析。那么在构建专业网银认证中涉及了哪些信息安全领域的知识?这些知识的基本原理是什么?如何应用这些知识呢?下面我们以“安全行为视角”对构建专业网银认证
2、中涉及的知识点进行剖析。安全行为 相关知识点公开密钥技术 数字签名、数据安全传输数字签名 数字签名数据传输安全性 信息的加密传输、数据安全传输、数字签名数字证书与 SSL 通道 通过数字证书建立 SSL 通道、证书验证过程PKI(公钥基础设施) 创建根 CA 服务器、证书审核与签发、USBKey 应用1.1 信息的加密传输1.1.1 密码学概述。在密码学中,有一个五元组:明文、密文、密钥、加密算法、解密算法,对应的加密方案称为密码体制(或密码)。明文:是作为加密输入的原始信息,即消息的原始形式,通常用 m 或 p 表示。所有可能明文的有限集称为明文空间,通常用 M 或 P 来表示。密文:是明文
3、经加密变换后的结果,即消息被加密处理后的形式,通常用 c 表示。所有可能密文的有限集称为密文空间,通常用 C 来表示。密钥:是参与密码变换的参数,通常用 k 表示。一切可能的密钥构成的有限集称为密钥空间,通常用 K 表示。1.1.2 对称加密技术1. 对称密码概述2. 对称密码原理网络安全应用实训教程23. 常用加密算法(1) DES 加密算法(2) AES 加密算法AES 的候选算法主要依据以下三条原则进行评判: 安全性 代价 算法与实现特性 (3) 3DES 加密算法 1.1.3 非对称加密技术所谓非对称密钥加密是指每个实体都有自己的公钥和私钥两个密钥,用其中的一个密钥对明文进行加密,都只
4、能用另一个密钥才能解开,并且从其中的一个密钥推导出另一个密钥在计算上都是困难的。非对称密码算法解决了对称密码体制中密钥管理的难题,并提供了对信息发送人的身份进行验证的手段,是现代密码学最重要的发明。1.1.4 内容与目的分别使用 DES、AES 和 3DES 加密算法对文件进行加密解密,使学生掌握对称加密技术在信息安全传输中的应用过程,理解对称加密的工作原理。 1.1.5 实现步骤1. 获取并运行实验工具2. 使用 DES 对称加密算法,实现信息的安全加密3. 使用 AES 对称加密算法,实现信息的安全加密4. 使用 3DES 对称加密算法,实现信息的安全加密任务 2 数字签名2.1 公开密钥
5、技术2.1.1 公开密钥加密算法特点公开密钥加密技术的保密性比较好,安全性能高,它消除了最终用户交换密钥的需要。但缺点是加密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少量数据进行加密。公开密钥加密技术主要用于加密/解密、数字签名和密钥交换,常见的算法有:RSA、ECC(移动设备用)、DSA(数字签名用)。第三章 知识渗透32.1.2 公开密钥加密算法原理公开密钥加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只
6、能用其专用密钥解密由其公用密钥加密后的任何信息。公开密钥加密流程如下图所示:2.2 数字签名技术2.2.1 数字签名简介所谓数字签名,就是只有信息的发送者才能产生的,别人无法伪造的一段数字串,它同时也是对发送者发送的信息的真实性的一个证明。数字签名是在公钥加密系统的基础上建立起来的,数字签名的产生涉及的运算方式是为人们所知的散列函数功能,也称“哈希函数功能”(Hash Function)。签署一个文件或其他任何信息时,签名者首先须准确界定要签署内容的范围。然后,签名者软件中的哈希函数功能将计算出被签署信息唯一的哈希函数结果值(为实用目的)。最后使用签名者的私人密码将哈希函数结果值转化为数字签名
7、。得到的数字签名对于被签署的信息和用以创建数字签名的私人密码而言都是独一无二的。 2.2.2 数字签名的作用采用数字签名和加密技术相结合的方法,可以很好地解决信息传输过程中的完整性,身份认证以及防抵赖性等问题。(1) 完整性:因为它提供了一项用以确认电子文件完整性的技术和方法,所以可认定文件为未经更改的原件。(2) 可验证性:可以确认电子文件之来源。由于发件人以私钥产生的电子签章惟有与发件人的私钥对应的公钥方能解密,故可确认文件之来源。(3) 不可否认性:由于只有发文者拥有私钥,所以其无法否认该电子文件非由其所发送。2.2.3 数字签名过程 网络安全应用实训教程4(1) 发送方首先用哈希函数从
8、原文得到信息摘要。(2) 发送方用自己的私钥对信息摘要加密,这就形成了数字签名。(3) 发送方把数字签名附加在要发送的原文后面传给接收方。(4) 接收方同时对收到的原文用与发送方同样的哈希函数获得一信息摘要 A。(5) 接收方用发送方的公钥对数字签名解密,得到信息摘要 B。(如果无法解密,则说明该信息不是由发送方发送的;如果能够正常解密,则发送方对发送的消息就具有不可抵赖性。) (6) 接收方对摘要 A 和摘要 B 相互对比。如两者一致,则说明传送过程中信息没有被破坏或篡改过。2.3 网络环境应用再现需要同一网络区域内的两台主机配合完成,分别扮演数据发送方和数据接收方两种角色,下面以主机 A(
9、数据发送方)、B(数据接收方)为例说明实验过程。2.3.1 实现步骤1. 获取并运行实验工具2. 主机 A 对源文件生成数字摘要3. 主机 A 生成公私钥对 4. 主机 A 对摘要文件进行签名5. 主机 B 对主机 A 签名的文件进行验证6. 总结数字签名的过程任务 3 数据安全传输3.1 数据安全传输的要求数据安全传输主要有以下 4 个要求:1. 保密要求2. 认证要求 3. 数据完整性要求4. 不可否认要求3.2 网络环境应用再现需要同一网络区域内的两台主机配合完成,分别扮演数据发送方和数据接收方两种角色,下面以主机 A(数据发送方)、B(数据接收方)为例说明实验过程。第三章 知识渗透53
10、.3 实现步骤1. 获取并运行实验工具2. 生成公私密钥3. 交换公钥4. 产生会话密钥5. 使用会话密钥加密数据6. 使用对方的公钥对会话密钥进行加密7. 对传输的文件进行数字摘要8. 对摘要文件进行数字签名 9. 发送/接收相关数据10. 解密会话密钥 11. 解密密文 12. 对解密后的文件进行数字摘要 13. 验证数字签名,得到准数字摘要14. 进行摘要内容比较,判断数据传输过程是否安全15. 总结数据安全传输的实现过程 任务 4 创建根 CA 服务器4.1 认证中心(CA)证书认证中心 CA(Certification Authority)是 PKI 的核心部分,用于发放和管理数字证
11、书。创建证书的时候,CA 系统首先获取用户的请求信息,其中包括用户公钥(公钥一般可由用户端产生,如电子邮件程序或浏览器等)等。4.2 CA 根证书根证书是 CA 认证中心与用户建立信任关系的基础,用户的数字证书必须有一个受信任的根证书,用户的数字证书才是有效的。根证书是一份特殊的证书,它的签发者是它本身,下载根证书就表明您对该根证书以下所签发的证书都表示信任,而技术上则是建立起一个验证证书信息的链条,证书的验证追溯至根证书即为结束。所以说用户在使用自己的数字证书之前必须先下载根证书。 4.3 根 CA 服务器的创建过程1. 首先创建根 CA 目录2. 建立一个随机文件(.rnd)网络安全应用实
12、训教程63. 为 CA 创建 Datebase 文件(index.txt)4. 为 CA 创建序列文件(serial)5. 为 CA 创建吊销列表文件(crlnumber 4.4 内容与目的使用 OpenSSL 工具搭建 CA 认证中心,实现 CA 自签发证书功能。掌握 OpenSSL 简单命令的使用,理解自签发证书的过程。4.5 实现步骤1. 获取并运行实验工具2. 搭建根 CA 服务器(1) 首先创建根 CA 目录。(2) 建立一个随机文件(.rnd)。(3) 为 CA 创建 Datebase 文件(index.txt)。(4) 为 CA 创建序列文件(serial)。(5) 为 CA 创
13、建吊销列表文件。3. CA 自签发证书(1) 进入“C:CARoot” ,双击“openssl.bat” ,打开 OpenSSL 命令窗口。(2) 使用 OpenSSL 工具创建 CA 公私钥对。(3) 生成 CA 证书请求。 (4) 对 CA 证书请求进行自签名。4. IE 浏览器导入 CA 根证书 点击桌面 Internet Explorer 浏览器右键属性,选择“内容-证书” 。 点击“导入”命令,选择“下一步” ,选择“浏览”找到根证书文件C:CARootprivatecacert.crt。 点击“下一步” ,选择“根据证书类型,自动选择证书存储”区,点击“下一步” 。 点击“完成”命
14、令,此时会出现一个警告,点击“是” ,将显示导入成功对话框。 导入成功后,如下图所示:任务 5 证书审核与签发5.1 RA 概述RA(Registration Authority),数字证书注册审核机构。RA 系统是 CA 的证书发放、管理的延伸。它负责证书申请者的信息录入、审核以及证书发放等工作(安全审计)。同时,对发放的证书完成相应的管理功能(安全管理)。RA 系统是整个 CA 中心得以正常运营不可缺少的一部分。5.2 RA 系统结构及 RA 审核1. RA 系统结构2. RA 审核第三章 知识渗透75.3 CA 系统结构与功能1. CA 管理 2. CA 服务器3. CA 数据库5.4
15、CA 签发证书1. 申请证书流程2. 撤销证书流程5.5 内容与目的(1) 通过实验掌握开源工具 OpenSSL 的一些常用命令。(2) 通过实验掌握开源工具 OpenSSL 如何为用户生成公私钥对。(3) 通过实验掌握开源工具 OpenSSL 如何为用户产生证书请求文件。(4) 通过实验掌握开源工具 OpenSSL 如何为用户签发证书或撤销证书,并掌握签发证书或撤销证书的过程和步骤。5.6 实现步骤1. 获取并运行实验工具2. RA 审核过程(1) 为用户生成用户公私钥对。 (2) RA 创建用户证书请求。(3) RA 为用户提出撤销证书请求。3. CA 签发证书和撤销证书(1) CA 为用
16、户签发证书。 (2) CA 撤销证书 CRL。 撤销证书。 产生 CRL 吊销列表。 网络安全应用实训教程8 使用 CA 根证书验证 CRL。任务 6 证书验证过程6.1 数字证书数字证书又称为数字 ID。是一种权威的电子文档,形同网络环境中的一种身份证,用于证明某一主体的身份及其公开密钥的合法性。数字证书是由权威公正的第三方机构即 CA 中心签发的,格式遵循 ITU-T X.509 国际标准。6.2 证书吊销列表 CRL证书吊销列表(Certificate Revocation List)简称 CRL,它是一个由 CA 所签署的列表,指定了一套证书发布者认为无效的证书。CRL 中包含了被吊销
17、证书的序列号。证书具有一个指定的寿命,但 CA 可通过称为证书吊销的过程来缩短这一寿命。CA 发布一个证书吊销列表(CRL),列出被认为不能再使用的证书的序列号。CA 也可以在 CRL 中加入证书被吊销的理由,如:泄露密钥、泄露 CA、从属关系改变、被取代、业务终止等。它还可以加入被认为这种状态改变所适用的起始日期。6.3 数字证书的验证数字证书验证是检查一份给定的数字证书是否有效、可用的过程。验证引入了一种机制来确保证书的完整性和证书拥有者的可信赖性。证书验证包括确定如下主要内容:1. 证书签名验证:使用第三方 CA 根证书的公钥,验证证书的签名信,确认使用证书者是证书所有者本人。2. 证书
18、序列号验证:检查实体证书中的序列号是否在证书序列表中,验证证书的真伪。3. 证书是否过期:检查证书的有效期是否已过。 4. 证书是否被撤销:检查用户的证书是否已经作废,并发布在证书吊销列表(CRL,保存着被撤销证书的证书序列号和日期)中6.4 内容与目的通过手动的方式对证书的主要内容,包括证书的数字签名、证书序列号、证书 CRL和证书有效期进行验证,让学习者掌握证书验证的具体过程和方法。6.5 网络环境应用再现需要同一网络区域内的两台主机配合完成,分别扮演客户浏览器端和网银服务器端两种角色,下面以主机 A(客户浏览器端)、主机 B(网银服务器端)为例说明实验过程。第三章 知识渗透9三. 实验步
19、骤 1. 获取并运行实验工具2. 查看并记录证书详细信息3. 证书签名验证4. 证书序列号验证 5. 查看证书吊销列表,检查证书是否被撤销6. 验证证书是否在有效期内7. 总结数字证书的验证过程任务 7 通过数字证书建立 SSL 通道7.1 SSL 协议概述1. 秘密性:SSL 客户机和服务器之间传送的数据都经过了加密处理,网络中的非法窃听者所获取的信息都将是无意义的密文信息。2. 完整性:SSL 利用密码算法和散列(HASH)函数,通过对传输信息特征值的提取来保证信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器和客户机之间的信息受到破坏。3. 认证性:利用证书技术和可信的第三方认
20、证,可以让客户机和服务器相互识别对方的身份。为了验证证书持有者是其合法用户(而不是冒名用户), SSL 要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法性。7.2 SSL 协议的体系结构SSL 协议具有两层结构,其低层是 SSL 记录协议层(SSL Record Protocol Layer),简称记录层;其高层是 SSL 握手协议层(SSL Handshake Protocol Layer),简称握手层,如下图所示。握手层允许通信实体在应用 SSL 协议传送数据之前相互验证身份、协商加密算法、生成密钥等。记录层封装各种高层协议,具体实施压缩与解压缩、加解密、计算与验证 M
21、AC 等与安全有关的操作。7.3 SSL 协议建立连接的过程1. 不需要客户端验证的连接建立步骤如下: 客户端将其 SSL 版本号、加密设置参数、与 session 有关的数据以及其它一些必要信息发送到服务器。 服务器将其 SSL 版本号、加密设置参数、与 session 有关的数据以及其它一些必要信息发送给客户端,同时发给客户端的还有服务器的证书。网络安全应用实训教程10 客户端检查服务器证书,如果检查失败,提示不能建立 SSL 连接。如果成功,那么继续。 客户端为本次会话生成 pre-master secret,并将其用服务器公钥加密后发送给服务器。 服务器用自己的私钥解密收到的 pre-
22、master secret,并用它通过某些算法生成本次会话的 master secret。 客户端通知服务器此后发送的消息都使用这个会话密钥进行加密,并通知服务器客户端已经完成本次 SSL 握手。 服务器通知客户端此后发送的消息都使用这个会话密钥进行加密,并通知客户端服务器已经完成本次 SSL 握手。2. 单向认证:又称匿名 SSL 连接,这是 SSL 安全连接的最基本模式,它便于使用,主要的浏览器都支持这种方式,适合单向数据安全传输应用。在这种模式下客户端没有数字证书,只是服务器端具有证书,以不再认证用户访问的是自己要访问的站点。典型的应用就是用户进行网站注册所使用的“用户 ID+口令”的匿
23、名认证,过去网上银行的“大众版”也是这种认证方式。2. 双方认证:是对等的安全认证,这种模式通信双方都可以发起和接收 SSL 连接请求。通信双方可以利用安全应用程序(控键)或安全代理软件,前者一般适合于 B/S 结构,而后者适用于 C/S 结构,安全代理相当于一个加密/解密的网关,这种模式双方皆需安装证书,进行双向认证。网上银行的 B2B“专业版”的就是这种方式的典型应用。3. 电子商务中的应用。电子商务与网上银行交易不同,因为有商户参加,形成顾客-商家-银行,两次点对点的 SSL 连接。客户,商家,银行,都必须具有证书,两次点对点的双向认证。二. 网络环境应用再现需要同一网络区域内的两台主机
24、配合完成,分别扮演 Web 用户和 Web 服务器两种角色,下面以主机 A(Web 用户端)、B(Web 服务器端)为例说明实验过程。三. 实现步骤1. 体验 HTTP 通信的过程2. 使用证书对 IIS 服务器进行安全加固3. 体验 HTTPS 通信的过程4. 深入分析 SSL 安全通道建立与数据传输的过程(该步骤由主机 A 完成)第三章 知识渗透11任务 8 USBKey 应用8.1 USBKey 简介USBKey 采用双钥(公钥)加密的认证模式,是一种 USB 接口的硬件设备,外形和普通U 盘很像,像一面盾牌,保护网上银行资金安全。它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户
25、的私钥以及数字证书,利用 USBKey 内置的公钥算法实现对用户身份的认证。由于用户私钥保存在密码锁中,理论上使用任何方式都无法读取,因此保证了用户认证的安全性。8.2 USBKey 与其它方法对比1. 用户名/密码简单易行,保护非关键性的系统,由于密码是静态的数据,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获。是极不安全的身份认证方式。2. IC 卡是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据。IC 卡由专门的设备生产,是不可复制的硬件。IC 卡由合法用户随身携带,登录时必须将 IC 卡插入专用的读卡器读取其中的信息,以验证用户的身份。简单易行,但容易被留驻内存的木
26、马或网络监听等黑客技术窃取。3. 动态口令动态口令技术是一种让用户密码按照时间或使用次数不断变化、每个密码只能使用一次的技术。由于每次使用的密码必须由动态令牌或动态密码卡来产生,只有合法用户才持有该硬件或卡,而认证服务器端也依照同样的规则动态产生相同的密码,所以只要通过密码验证就可以认为该用户的身份是可靠的。用户每次使用的密码都不相同,即使黑客截获了一次密码,但在用户退出登录后,它也无法利用这个密码来仿冒合法用户的身份,因为密码已经过期。 动态口令技术采用一次一密的方法,有效保证了用户身份的安全性,是比较安全的认证手段。4. 生物特征利用人的指纹 、虹膜、掌纹、声纹等天然纹理作为认证识别手段,
27、不同的人具有不同的生物特征,因此几乎不可能被仿冒。因此是安全性最高,最可靠的身份认证方式,但各种相关识别技术还没有成熟,没有规模商品化,准确性和稳定性有待提高,特别是当生物特征缺失时,就可能没法利用。5. USBKey基于 USBKey 的身份认证方式是近几年发展起来的一种方便、安全、可靠的身份认证技术。它采用一次一密的强双因子认证模式,很好地解决了身份认证的安全可靠问题,并提供 USB 接口与现今的电脑通用。USBKey 是一种 USB 接口的小巧的硬件设备,形状与我们常见的 U 盘没有什么两样。但它的内部结构不简单,它内置了 CPU、存储器、芯片操作系统(COS),可以存储用户的密钥或数字
28、证书,利用 USBKey 内置的密码算法实现对用户身份的认证。USBKey 样式如下图所示:8.3 USBKey 的两种应用模式网络安全应用实训教程12USBKey 身份认证主要有如下两种应用模式:1. 基于冲击-响应认证模式2. 基于 PKI 的数字证书的认证模式8.4 USBKey 使用的重要性如今网络上的木马盗号违法行为盛行,可以说,只要上互联网,几乎每一台电脑都可能遭受到攻击,而传统使用的静态密码(用户名+密码)是被认为是极度危险的身份认证手段,所以对重要而敏感的网上身份认证安全不得不引起我们非常的重视。在目前多种身份认证技术中,USBKey 是被认为安全可靠的技术,在生物特征身份认证
29、技术没有实用之前,它可以说是最安全的身份认证手段,在网上银行、电子商务、电子税务、电子政务、网络游戏、虚拟专网、内网安全等等众多领域都可以大显身手。从目前 USBKey 网络身份认证的应用情况来看正在显现出越来越大的优越性,最大规模的应用是在国内各家商业银行的网上银行业务。这也是我们喜欢网上购物的网友们应高度注意的,若你的银行卡开有网上银行业务,最好选择 USBKey 身份认证方式。8.4 实现步骤1. 安装 USBKey 驱动2. 安装 USBKey 证书管理工具3. 向 USBKey 中导入证书文件4. 使用 USBKey 进行数字签名5. 证书管理与验证(1) 验证 USBKey 中证书被吊销时,是否可以进行数字签名。(2) 验证 USBKey 中证书被删除时,是否可以进行数字签名。