第10章 网络安全(2)_应用层安全(数字签名)

3. 应用层安全——数字签名

3.1 数字签名

(1)数字签名细节

  ①A有一个密钥对(A的私钥SK和公钥PK)。发送文件前先使用哈希函数生成该文件的摘要再使用A的私钥加密摘要(这个过程称为签名,私钥持有者才能做这个操作)。

  ②然后将加密后的摘要、A的公钥和文件(不加密该文件)一起发送给B。

  ③B收到后,将加了密的摘要使用A的公钥进行解密同时B将收到的文件通过哈希函数生成一个摘要比较这两个摘要,如果一样,就认为A的签名有效,说明该文件来源可靠,也没被修改过。

(2)优点

  ①能确定消息是否由发送方签名并发出来的,因为别人假冒不了发送方的签名。

  ②能确定消息的完整性,因为数字签名的特点代表了文件的特征,文件如果发生改变,数字摘要的值也将发生变化,不同的文件将得到不同的数字摘要。

3.2 数字证书颁发

(1)数字证书颁发机构

  ①在互联网上,通信双方自己生成的密钥对,将公钥出示给对方来验证自己的签名,一方很难断定对方的身份是否真实、合法。

  ②于是互联网上使用的密钥对是由专门的机构发放,在计算机中这些密钥对是以数字证书的形式出现的,其包含了使用者个人的信息、发证机构。

  ③电子商务认证授权机构(Certificate Authority,CA),也称为电子商务认证中心是负责发放和管理数字证书的权威机构。电子商务交易的双方可以不信任对方,但他们都是信任CA这是个权威机构,所以也信任由其颁发的数字证书。CA承担公钥体系中公钥合法性检验的责任

(2)使用CA颁发的证书验证对方身份的合法性

  ①A向CA提交证书申请(注意,在这之前A须先信任CA证书颁发机构,见3.3节的操作!),CA核实A提交的信息,为A产生一个数字证书,该数字证书包含A的个人信息、A的私钥、A的公钥还有证书颁发者等信息。这个证书是用CA的私钥签名的(注意不是A的私钥!)。当然,A也可以从证书中单独导出A的公钥(经CA数字签名的)。

  ②A给B发送一个数字签名的文档,这时B首先核实A的身份,验证A出示的证书(A的公钥PKA)是否是CA颁发的。当然B计算机首先要有CA的公钥,然后,使用CA的公钥验证A证书是否来自CA的认证。

  ③验证通过后,再使用A的公钥验证由A签名的摘要。这样A和B虽然都是网络中的个人或企业,彼此可能互不信任,没办法知道对方的身份,只要A出示的证书是B信任的证书颁发机构颁发的B就可以使用该证书机构的公钥验证A出示的证书(公钥)是否来自该CA,从而验证了A的身份

3.3 实战:发送数字签名和数字加密的邮件

(1)安装证书颁发机构:(模拟互联网的CA机构)

  ①在Win2003CA虚拟机安装Windows组件,选中“应用程序服务器”和“证书服务”。由于用户需要通过访问证书颁发机构的网站申请证书,所以要同时安装“应用程服务器”,即IIS服务

  ②在“CA类型”对话框中选择“独立根CA”(独立CA需要核实申请者信息真实性才颁发,而企业CA是通过企业内网的Active Directory(活动目录)来验证申请者的身份)

  ③在出现的“CA识别信息”对话框中输入CA的公用名称(如5ieduCA)、证书有效期默认值。

  ④在“证书数据库设置”对话框中指定证书数据库路径和证书数据库日志路径。

  ⑤安装完成后,可以从“开始”→“所有程序”→“管理工具”中打开证书颁发机构管理工具。同时,在IIS的默认网站目录下会生成一个虚拟目录CertSrv,网络中的计算机通过访问默认网站的该目录申请数字证书。

(2)申请和颁发电子邮件数字证书

  ①在WinXP1上申请电子邮件证书之前,首先要信任证书颁发机构,就是将CA的公钥添加到受信任的根证书颁分机构,这样就表示XP1信任了该证书颁发机构。方法是:下载一个CA证书:http//192.168.80.20/certsrv/,然后“下载一个CA证书、证书链或CRL”→“安装此CA证书链”。可以打开IE的“Internet选项”→“内容”→“证书”→“受信任的根证书颁分机构”选项卡下查看到“5ieduCA”,这意味着当前用户信任了该证书颁发机构,也就拥有了该机构的公钥

  ②信任该机构以后,可以去申请电子邮件证书。返回主页,点击“申请一个证书”→“高级证书申请”→“创建并向此CA提交一个申请”,在对话框中输入识别信息:姓名、电子邮件、公司、部门,中国就写cn。(注意填写的信息不要有中文)→证书类型中选择“电子邮件保护证书”,同时选中“标记密钥为可导出”(这样用户可以备份该证书!)→“提交”

  ③在Win2003CA上审核WinXP1刚刚申请的证书,选中“挂起的申请”,然后选择刚才的申请,最后再“颁发”。

  ④WinXP1,返回申请的数字证书首页,点击“查看挂起的证书申请的状态”→“电子邮件保护证书”→选中刚审核下来的证书,再“安装此证书”。然后打开“Internet选项”,再次查看证书,在“个人”选项卡下,可以看到刚才安装的证书内容(如证书目的、颁发者、颁发给、有效期以及该证书的CA私钥))

(3)配置Outlook Express账户绑定数字证书

  ①在Outlook中添加邮件账号:[email protected]以便用该邮箱收发邮件。主要注意两处设置:A.接收邮件服务器的帐户名为net5iedu。B发送邮件服务器由于默认不允许匿名中继,所以要勾选“我的服务器要求身份验证”。(具体可参考搜狐的邮箱设置帮助)

  ②Outlook账号绑定数字证书:选择pop3.sohu.com账号,在“安全”选项卡中,选中用于数字签名的证书。(注意,如果看不到申请的数字证书,要检查当时申请数字证书时填写的电子邮件地址和Outlook中配置的电子邮件地址是否一样。如果不同,要重新申请证书)

  ③在“加密首选项”也选项该证书。因为用户发送签名的邮件时会把用户公钥一起发给接收者,接收者就可以使用这个公钥发送加密邮件

(4)发送数字签名的邮件

  ①现在可以给[email protected]发送一封签名的邮件了,在Outlook中写好邮件后,选中工具栏中的“签名”,再点击“发送”。注意这时还不能选择“加密”,因为加密需要收件人的公钥,而现在还没有收件人的公钥。

  ②在WinXP2上配置[email protected]邮箱,并接收来自[email protected]的邮件时,发会现邮件前面带有一个签名的标记,同时查看该邮件时,会弹出“安全警告”。这是可以理解,因为WinXP2现在还没有添加对证书颁发机构的信任。可以参照前面的操作安装对证书颁发机构的信任。

  ③信任了证书颁发机构以后,就可以正常查看来自[email protected]的邮件了,只是这些邮件都会有带有数字签名的标记,同时还自动创建了一个联系人。

(5)发送加密的邮件

  ①经过上述发送一封数字签名的邮件后,由于邮件带有[email protected]的公钥,所以会在outlook界面的左侧“联系人”中出现“5iedu”,在右击出现的属性对话框中看到该数字证书。

  ②双击“5iedu”联系人,可以给该人发送一封加密的邮件注意发送加密邮件时都是利用对方给的公钥来加密的。由于此时SantaClaus拥有了对方的公钥,所以就可以给5iedu发送加密邮件了。注意两点:A.查看加密邮件要用相应的私钥才可以解密,但SantaClaus并没有对方的私匙。因此,当发送完邮件后,是无法查看己发送邮件中刚刚发送的邮件。注意,是连自己发送的邮件都无法查看。B.由于SantaClaus没有自己的邮件证书所以无法发送签名邮件

  ③在WinXP1的Outlook查看来自SantaClaus的邮件,会看到该邮件是被加密的。但由于5iedu拥有证书的私钥,所以可以查看该邮件。但由于5iedu并没有SantaClaus的公钥,所以不能给SantaClaus发送加密邮件。

时间: 2024-10-16 11:05:18

第10章 网络安全(2)_应用层安全(数字签名)的相关文章

第10章 网络安全(4)_网络层安全IPSec

5. 网络层安全IPSec 5.1 IPSec协议 (1)前面使用Outlook进行数字签名和数字加密是应用层实现的安全.安全套接字实现的安全是在应用层和传输层之间插入了一层来实现数据通信安全.而IPSec是网络层实现的安全.不需要应用程序的支持,只要配置通信双方的安全规则,传输层的数据传输单元就会被加密后封装到网络层,实现数据通信安全.IPSec工作在OSI模型的网络层. (2)IPSec主要的两个协议 ①鉴别首部(Authentication Header, AH)协议:提供源点鉴别和数据完

第10章 网络安全(1)_对称加密和非对称加密

1 网络安全概述 1.1 计算机网络面临的安全威协 (1)截获:攻击者从网络上窃听他人的通信内容,通常把这类攻击称为"截获".在被动攻击中,攻击者只是观察和分析某一个协议数据单元(PDU)而不干扰信息流. (2)篡改:攻击者篡改网络上传递的报文.这里包括彻底中断传递的报文,甚至把完全伪造的报文传送给接收方,这种攻击也有时也称为"更改报文流".如DNS劫持(域名劫持),安装黑客软件Cain可以进行验证. (3)恶意程序:是一种特殊的主动攻击形式.如计算机病毒.蠕虫.木

第10章 网络安全(3)_SSL安全套接字层

4. 安全套接字层 4.1 安全套接字层(SSL)和传输层安全(TLS) (1)SSL/TLS提供的安全服务 ①SSL服务器鉴别,允许用户证实服务器的身份.支持SSL的客户端通过验证来自服务器的证书,来鉴别服务器的真实身份,并获取服务器的公钥. ②SSL客户鉴别,允许服务器证实客户身份.这个信息对服务器很重要的.例如,当银行把有关财务的保密信息发送给客户时,就必须检验接收者的身份. ③加密的SSL会话,客户和服务器交互的所有数据都在发送方加密,在接收方解密.第三方无法窃听.同时SSL具有校验机制

<<Python基础教程>>学习笔记 | 第10章 | 充电时刻

第10章 | 充电时刻 本章主要介绍模块及其工作机制 ------ 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 一个简单的模块 #hello.py print ("Hello,World!") >>> import hello Traceback (most recent call last): File "<pyshell#56>", line 1, i

JavaScript高级程序设计(第三版)学习笔记8、9、10章

第8章,BOM BOM的核心对象是window,具有双重角色,既是js访问浏览器的一个接口,又是ECMAScript规定的Global对象.因此,在全局作用域中声明的函数.变量都会变成window对象的属性和方法. 例: var age = 20; function sayAge(){ alert(this.age); } alert(window.age); //20 window.sayAge(); //20 定义全局变量与在window对象上直接定义属性区别:全局变量不能通过delete操

[摘录]第10章 培养胜过对手的力量

第五部分 谈判高手 优势秘籍力量.控制和影响,是每个人与别人交往时都会追求这些东西.不是吗?在进行谈判时,那些最有影响力火灾是最有力量的一方往往会在谈判时迫使对手做出更多的让步.如果你甘心让对手来操纵或影响你的话,显然你就很可能得不到自己想要的结果.另一方面,如果你直到哪些因素,能影响你的对手,并知道如何使用一些具体的方法来形成这种影响力,你就可以将形势控制在自己手中.权力本身也可以成为一种非常富有建设性的力量,当我们谈论权力时,我并不是指独裁者们用来祸害平民们的那种权力,我所说的权力实际上是一

10-11-基数排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第10章  内部排序 - 基数排序 ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? Status.h.Scanf.c        相关测试数据下载  链接? 数据

读《构建之法》第8、9、10章有感

第8章  需求分析 软件需求 用户的需求五花八门,作为一个软件团队要准确而全面地获取这些需求主要有以下四个步骤: 获取和引导需求.这一步骤也被叫做“需求捕捉”.软件团队需要为用户着想,设身处地,为用户引导出需求. 分析和定义需求.从各个方面获取的需求进行规整,定义需求的内涵从各个角度将需求量化. 验证需求.软件团队要跟利益相关者沟通,通过分析报告.技术原型.用户调查或演示等形式向他们验证软件团队对于这些需求的认知. 在软件产品的生命周期中管理需求. 竞争性需求分析的框架:1.N(需求) 2.A(

敏捷软件开发:原则、模式与实践——第10章 LSP:Liskov替换原则

第10章 LSP:Liskov替换原则    Liskov替换原则:子类型(subtype)必须能够替换掉它们的基类型(base type). 10.1 违反LSP的情形 10.1.1 简单例子 对LSP的违反导致了OCP的违反: struct Point { double x, y;} public enum ShapeType { square, circle }; public class Shape { private ShapeType type; public Shape(Shape