a7bee34dab3a83e3ade3a69b75e38290.ppt
- Количество слайдов: 78
第 9讲 第 4章 密码技术与应用—— 安全协议、解决策略、PGP使用
教学目的: 1、了解常见的网络层、传输层、应用层安全 协议 2、掌握PGP软件的原理和使用
教学重点: 1、了解常见的网络层、传输层、应用层安全 协议 2、掌握PGP软件的原理和使用
复习: 1、非对称密码算法基本原理 非对称加密算法的基 本原理是:每个用户都有 一对预先选定的密钥:一 个是可以公开的,以Kl表示, 另一个则是秘密的,以K 2 表示,公开的密钥K 1可以 像电话号码一样进行注册 公布,因此不对称加密系 统又称作公钥系统 。其有 两种表现形式,一种是公 钥加密然后用私钥解密, 一种是私钥加密然后公钥 解密。 它们二者需要满足条件: ü K 2是K 1的逆,即K 2[E(X)]=K 1。 ü K 2和K 1都容易计算。 ü 由K 1出发去求解K 2十分困难。
RSA 算法 RSA的名字来源于它们的创建者。1978年由麻省理 学院的Ronald. L Rivest、以色列魏茨曼科学中心的Adi Shamir和南加洲大学的Lenoard M. Adleman发表了著名的 论文“A Method for Obtaining Digital Signature and Public. Key Cryptosystems(获得数字签名和公开密钥密码系统的一 种方法)”,并提出的一种用数论构造的、也是迄今为止理 论上最为成熟完善的公钥密码技术——RSA,该技术已得到 广泛的应用。在RSA算法中,它使用广为公开的公钥加密通 信,密文只能被持有与之相配的私钥的人才能解开。 1.RSA的基本原理: RSA是基于大整数难分解的公钥 密码技术。 RSA是基于这样一个十分简单的数论事实而设计的:将 两个大的素数相乘十分容易,但想分解它们是十分困难的, 因此将乘积公开作为加密密钥。
基于大整数分解的公钥密码体制的安全性主要依赖 于大整数(大合数)的难分解问题。大整数的分解问题可 以被表述:已知整数n,n是两个素数的积,即n=p. q 。求 解p、q的值。 大整数分解是计算上困难的问题,目前还不存在一般 性的有效解决算法。 2.算法描述 (1)密钥的产生 ① 选两个保密的大素数p和q; ② 计算n=p*q,φ(n)=(p-1)(q-1),其中φ(n)是n的欧拉函数 值; ③ 选一整数e,满足 1<e<φ(n),且gcd(φ(n),e)=1,即φ(n) 与e互质; ④ 再取另一个数d,满足d*e=1 mod φ(n),(表示d*e除以φ(n)的 余数为 1,或者说d是e在模φ(n)下的乘法逆元,因e与φ(n)互质,由 模运算可知,它的乘法逆元一定存在); ⑤ 以PK={e,n}为公钥,SK={d,n}为私钥。
(2)加密: 加密时首先将明文m比特串分组,使得每个分组对 应的十进制数小于n,即分组的长度小于log 2 n。然后对 每组明文分组,作加密运算: (3)解密: 对密文分组的解密运算为: 3.RSA的安全性是基于分解大整数的困难性假定,之所以 假定是因为至今还未能证明分解大真整数就是np问题,也许 有尚未发现的多项式时间分解算法。 估计在未来一段比较长的时期,密钥长度介于1024比特 至 2048比特之间的RSA是安全的。
示例:RSA实现对数据的加密和解密 算法根据设置自动产生大素数p和q,并根据p 和q的值产生模(n)、公钥(e, n)和密钥(d, n) ® 该对话框提供的功能是对未加密的文件进行加 密,并可以对已经加密的文件进行解密。 ®
® 在上图中点击按钮“产生RSA密钥对”,在出 现的对话框中首先产生素数p和素数q,如果产 生 100位长度的p和q,大约分别需要10秒左右, 产生的素数如图所示
® 利用素数p和q产生密钥对,产生的结果 如图所示
® 必须将生成的模n、公密e和私密d导出,并保 存成文件,加密和解密的过程中要用到这三个 文件。其中模n和私密d用来加密,模n和公密e 用来解密。将三个文件分别保存,如图所示。
® 在主界面选择一个文件,并导入“模n. txt” 文件到RSA模n文本框,导入“私密. txt”文件 或者“公密. txt”,加密如果用“私密. txt”, 那么解密的过程就用“公密. txt”。反之依然, 加密过程如图所示。
® 加密完成以后,自动产生一个加密文件, 如图所示。
® 解密过程要在输入文件对话框中输入已经加密 的文件,按钮“加密”自动变成“解密”。选 择“模n. txt”和密钥,解密过程如图所示。
® 解密成功以后,查看原文件和解密后的 文件,如图所示。
2、散列算法 ® 用来产生一些数据片段(例如消息或会话项) 的散列值的算法。好的散列算法具有在输入 数据中的更改可以更改结果散列值中每个比 特的特性;典型的散列算法包括 MD 2、MD 4、 MD 5 和 SHA-1。 ® 散列算法也被称为散列函数。散列算法的算 法就是争取一个萝卜一个坑的原则
® ® ® ® 散列(Hash)函数提供了这一服务,它对不同长度的输入消 息,产生固定长度的输出。这个固定长度的输出称为原输入 消息的“散列”或“消息摘要”(Message digest)。 一个安全的哈希函数H必须具有以下属性: l)H能够应用到大小不一的数据上。 2)H能够生成大小固定的输出。 3)对干任意给定的x,H(x)的计算相对简单。 4)对于任意给定的代码h,要发现满足H(x)=h的x在 计算上是不可厅的。 5) 对于任意给定的块x,要发现满足H(y)=H(x)而 y=x在计算上是不可行的。 6)要发现满足H(X)=H(y)的(X,y)对在计算上 是不可行的
3、密钥分配与管理技术 ® 密钥分配技术一般需要解决两个方面的问题: 为减轻负担,提高效率,引入自动密钥分配 机制;为提高安全性,尽可能减少系统中驻 留的密钥量。 ® 密钥管理主要涉及“密钥的产生、存储、分发、删除 ”等,密钥管理不好,密钥同样可能被无意识地泄露, 并不是有了密钥就高枕无忧,任何保密也只是相对 的,是有时效的。
密钥的管理分配策略 ® ® ® ® 密钥的分配技术解决的是在网络环境中需要进行安全通信的 端实体之间建立共享的对称密钥问题。密钥的分发主要有人 密钥分发、基于中心的密钥分发、基于认证证书的分发。 1. 人 密钥分发是采用人 形式通过存储介质来交换传输 密钥,实现起来比较难于扩展,一般不提倡在网络系统使用。 不过,对于小规模网络来说也可以少量采取。 2. 基于中心的密钥分发(Kerberos认证协议) 基于中心的密钥分发主要是利用可信任的第三方进行密 钥的分发,主要是采取密钥分配中心方式KDC(Key Distribution Center)方式。比较典型的就是Kerberos。 3. 基于X. 509证书的PKI 4. Diffie-Hellman算法
1.密钥分配的基本方法 对于通信双方A和B,密钥分配可以有以下几种方法: ① 密钥由A选定,然后通过物理方法安全地传递给B。 ② 密钥由可信赖的第三方C选取并通过物理方法安全地发送给A 和B。 ③ 如果A和B事先已有一密钥,那么其中一方选取新密钥后,用 已有的密钥加密新密钥发送给另一方。 ④ 如果A和B都有一个到可信赖的第三方C的保密信道,那么C就 可以为A和B选取密钥后安全地发送给A和B。 ⑤ 如果A和B都在可信赖的第三方C发布自己的公开密钥,那么 他们用彼此的公开密钥进行保密通信。
2.对称密码技术的密钥分配方案 (1)集中式密钥分配方案 下图就是具有密钥分配中心的密钥分配方案。图中假定A和B 分别与KDC有一个共享的密钥Ka和Kb,A希望与B建立一个逻辑 连接,并且需要一次性会话密钥来保护经过这个连接传输的数据, 具体过程如下: ①A→KDC: IDA∥IDB∥N 1。 A 向KDC发出会话密钥请求。请求 的消息由两个数据项组成:一是 A和B的身份IDA和IDB,二是本次 业务的唯一标识符N 1,每次请求 所用的N 1都应不同,常用一个时 具有密钥分配中心的密钥分配方案 间戳、一个计数器或一个随机数 作为这个标识符。为防止攻击者 对N 1的猜测,用随机数作为这个 标识符最合适。
②KDC→A: EKa[Ks∥IDA∥IDB∥N 1∥EKb[Ks∥IDA]]。 KDC 对A的请求发出应答。应答是由加密Ka加密的信息,因此只 有A才能成功地对这一信息解密,并A相信信息的确是由 KDC发出的。 ③ A→B:EKb[ Ks∥IDA]。A收到KDC响应的信息后,同时将会 话密钥Ks存储起来,同时将经过KDC与B的共享密钥加密过的信 息传送给B。B收到后,得到会话密钥Ks,并从IDA可知对方是A, 而且还丛EKb知道Ks确实来自KDC。由于A转发的是加密后密文, 所以转发过程不会被窃听。 ④ B→A:EKs[ N 2]。B用会话密钥加密另一个随机数N 2,并将 加密结果发送给A,并告诉A,B当前是可以通信的。 ⑤ A→B:EKs[f(N 2)]。A响应B发送的信息N 2,并对N 2进行 某种函数变换(如f函数),同时用会话密钥Ks进行加密,发送 给B。 实际上在第③步已经完成了密钥的分配,第④、⑤两 步结合第③步执行的是认证功能,使B能够确认所收到的 信息不是一个重放。
(2)分布式密钥分配方案是指网络通信中各个通信方具有相同 的地位,它们之间的密钥分配取决于它们之间的协商,不手 受何其他方的限制。这种密钥分配方案要求有n个通信方的网 络需要保存[n(n-1)/2]个主密钥,对于较大型的网络,这种方 案是不适用的,但是在一个小型网络或一个大型网络的局部 范围内,这中方案还是有用的。 如果采用分布式密钥分配方案,通信双方A和B建立会话密钥的 过程包括以下过程(见下页图所示): 分布式密钥分配方案 ① A→B:IDA∥N 1。A向B发出一个要求会话密钥的请求,内容 包括A的标识符IDA和一个一次性随机数N 1,告知A希望与B通信, 并请B产生一个会话密钥用于安全通信。
② B→A:EMKm[Ks∥IDA∥IDB∥f(N 1)∥N 2]。B使用与A 共享的主密钥MKm对应答的信息进行加密并发送给A。应答 的信息包括B产生的会话密钥Ks,A的标识符IDA、B的标识 符IDB、f(N 1)和一个一次性随机数N 2。 ③ A→B:EKs[f(N 2)]。A使用B产生的会话密钥Ks对f(N 2) 进行加密,并发送给B。 3.非对称密码技术的密钥分配方案主要包括两方面的内容: 非对称密码技术所用的公钥的分配和利用非对称密码技术来 分配对称密码技术中使用的密钥。 (1)公钥的分配
获取公钥的途径有多种,包括公开发布、公用目录、 公钥机构和公钥证书。 ① 公开发布:是指用户将自己的公钥发送给另外另外一个参与 者,或者把公钥广播给相关人群。这种方法有一个非常大的缺点: 任何人都可以伪造一个公钥冒充他人。 ② 公用目录:是由一个可信任的系统或组织建立和管理维护公用 目录,该公用目录维持一个公开动态目录。公用目录为每个参与者 维护一个目录项{标识符,公钥},每个目录项的信息必须进行安全 认证。任何人都可以从这里获得需要保密通信的公钥。与公开发布 公钥相比,这种方法的安全性高一些。但也有一个致命的弱点,如 果攻击者成功地得到目录管理机构的私钥,就可以伪造公钥,并发 送给给其他人达到欺骗的目的。 ③ 公钥机构:为更严格控制公钥从目录分配出去的公钥更加安全, 为此需要引入一个公钥管理机构来为各个用户建立、维护和控制动 态的公用目录。与单纯的公用目录相比,该方法的安全性更高。但 这种方式也有它的缺点:由于每个用户要想和其他人通信都需求助 于公钥管理机构,因而管理机构可能会成为系统的瓶颈,而且由管 理机构维护的公用目录也容易被攻击者攻击。
④ 公钥证书:是在不与公钥管理机构通信,又能证明其他通 信方的公钥的可信度,实际上完全解决了公开发布及公用目 录的安全问题。采用公钥证书是为了解决公开密钥管理机构 的瓶颈问题。 公钥证书即数字证书是由授权中心CA(Certificate Authority) 颁发的。证书的形式为CA=ESKCA[T,IDA,PKA],其中IDA是用 户A的身份标识符,PKA是A的公钥,T是当前时间戳,SKCA是 CA的私钥。 用户还可以把自己的 公钥证书的发放(产生)过程如下图所示 公钥通过公钥证书发给 另一用户,接收方使用 CA的 公 钥 PKCA对 证 书 加以验证, DPKCA[ESKCA[T,IDA,PKA]] =[T,IDA,PKA]。
(2)利用非对称密码技术进行对称密码技术密钥 的分配(常用的有以下两种): ① 简单分配:下图就是用非对称密码技术建立会话密钥的过程。 但这一分配方案容易遭到主动攻击,假如攻击者已经接入A和B 双方的通信信道,可以轻易地截获A、B双方的通信。 用非对称密码技术建立会话密钥 ② 具有保密和认证功能的密钥 分配:针对简单分配密钥的缺 点,人们又设计了具有保密和 认证功能的非对称密码技术的 密钥分配,如下图所示。密钥 分配过程既具有保密性,又具 具有保密和认证功能的密钥分配 有认证性,因此既可以防止被 动攻击,也可以防止主动攻击。
教学过程 1 一、安全协议 2 二、PGP加密软件
一、安全协议 世界中的应用时,常常遇到以下安全需求: 机密性、完整性、认证性、匿名性、公平性 等,密码学解决的各种难题围绕这些安全需求。 ® 密码协议(cryptographic protocol)使用密码 学完成某项特定的任务并满足安全需求的协 议,又称安全协议(security protocol)。 ® 在密码协议中,经常使用对称密码、公开密 钥密码、单向函数、伪随机数生成器等。 ®
1、IP层 ® “Internet 协议安全性 (IPSec)”是一种开放标 准的框架结构,通过使用加密的安全服务以 确保在 Internet 协议 (IP) 网络上进行保密而 安全的通讯。Microsoft® Windows® 2000、Windows XP 和 Windows Server 2003 家族实施 IPSec 是基于“Internet 程任务组 (IETF)”IPSec 作组开发的标准。
® IPSec 是通过端对端的安全性来提供主动的保 护以防止专用网络与 Internet 的攻击。在通信 中,只有发送方和接收方才是唯一必须了解 IPSec 保护的计算机。在 Windows 家族中, IPSec 提供了一种能力,以保护 作组、局域 网计算机、域客户端和服务器、分支机构( 物理上为远程机构)、Extranet 以及漫游客户 端之间的通信。
® ® ® IPSec 基于端对端的安全模式,在源 IP 和目标 IP 地 址之间建立信任和安全性。考虑认为 IP 地址本身没 有必要具有标识,但 IP 地址后面的系统必须有一个 通过身份验证程序验证过的标识。只有发送和接收 的计算机需要知道通讯是安全的。每台计算机都假 定进行通讯的媒体不安全,因此在各自的终端上实 施安全设置。除非两台计算机之间正在进行防火墙 类型的数据包筛选或网络地址转换,否则仅从源向 目标路由数据的计算机不要求支持 IPSec。 该模式允许为下列企业方案成功部署 IPSec: 局域网 (LAN):客户端/服务器和对等网络 广域网 (WAN):路由器到路由器和网关到网关 远程访问:拨号客户机和从专用网络访问 Internet
通常,两端都需要 IPSec 配置(称为 IPSec 策略)来设置选 项与安全设置,以允许两个系统对如何保护它们之间的通讯 达成协议。Microsoft® Windows® 2000、Windows XP 和 Windows Server 2003 家族实施 IPSec 是基于“Internet 程 任务组 (IETF)”IPSec 作组开发的业界标准。IPSec 相关服 务部分是由 Microsoft 与 Cisco Systems, Inc. 共同开发的。 ® IPSec 协议不是一个单独的协议,它给出了应用于IP层上网 络数据安全的一整套体系结构,包括网络认证协议 Authentication Header(AH)、封装安全载荷协议 Encapsulating Security Payload(ESP)、密钥管理协议 Internet Key Exchange (IKE)和用于网络认证及加密的一些 算法等。IPSec 规定了如何在对等层之间选择安全协议、确 定安全算法和密钥交换,向上提供了访问控制、数据源认证、 数据加密等网络安全服务。 ®
IPSec作用 1)、保护 IP 数据包的内容。 ® 2)、通过数据包筛选及受信任通讯的实施来防御网 络攻击。 ® 这两个目标都是通过使用基于加密的保护服务、安 全协议与动态密钥管理来实现的。这个基础为专用 网络计算机、域、站点、远程站点、Extranet 和拨 号用户之间的通信提供了既有力又灵活的保护。它 甚至可以用来阻碍特定通讯类型的接收和发送。 3 )、其中已接收和发送最为重要。 ®
IPSec安全特性 不可否认性: “不可否认性”可以证实消息发送方是唯一可 能的发送者,发送者不能否认发送过消息。“不可否认性”是 采用公钥技术的一个特征,当使用公钥技术时,发送方用私 钥产生一个数字签名随消息一起发送,接收方用发送者的公 钥来验证数字签名。由于在理论上只有发送者才唯一拥有私 钥,也只有发送者才可能产生该数字签名,所以只要数字签 名通过验证,发送者就不能否认曾发送过该消息。但“不可 否认性”不是基于认证的共享密钥技术的特征,因为在基于 认证的共享密钥技术中,发送方和接收方掌握相同的密钥。 ® 反重播性:“反重播”确保每个IP包的唯一性,保证信息万一 被截取复制后,不能再被重新利用、重新传输回目的地址。 该特性可以防止攻击者截取破译信息后,再用相同的信息包 冒取非法访问权(即使这种冒取行为发生在数月之后)。 ®
数据完整性:防止传输过程中数据被篡改,确保发 出数据和接收数据的一致性。IPSec利用Hash函数为 每个数据包产生一个加密检查和,接收方在打开包 前先计算检查和,若包遭篡改导致检查和不相符, 数据包即被丢弃。 ® 数据可靠性(加密):在传输前,对数据进行加密, 可以保证在传输过程中,即使数据包遭截取,信息 也无法被读。该特性在IPSec中为可选项,与IPSec 策略的具体设置相关。 ® 认证:数据源发送信任状,由接收方验证信任状的 合法性,只有通过认证的系统才可以建立通信连接。 ®
2、传输层 ® 传输层(Transport Layer)是OSI中最重要, 最关键 的一层, 是唯一负责总体的数据传输和数据控制的一 层. 传输层提供端到端的交换数据的机制,检查分组 编号与次序。传输层对其上三层如会话层等,提供 可靠的传输服务, 对网络层提供可靠的目的地站点信 息. 主要功能 为端到端连接提供传输服务. 这种传输 服务分为可靠和不可靠的, 其中Tcp是典型的可靠传 输, 而Udp则是不可靠传输. 为端到端连接提供流量控 制, 差错控制, 服务质量(Quality of Service, Qo. S)等管理 服务. 具有传输层功能的协议: TCP 、UDP、 SPX、 Net. BIOS、 Net. BEUI
SSH协议 ® SSH 为 (Secure Shell 安全外壳),由 IETF 的网络 作小组(Network Working Group) 所制定;SSH 为建立在应用层和传输层基础 上的安全协议。SSH 是目前较可靠,专为远 程登录会话和其他网络服务提供安全性的协 议。利用 SSH 协议可以有效防止远程管理过 程中的信息泄露问题。
SSH的安全验证 作原理: ® 从客户端来看,SSH提供两种级别的安全验证。 ® ® 第一种级别(基于口令的安全验证)只 要你知道自己帐号和口令,就可以登录到远 程主机。所有传输的数据都会被加密, 但是 不能保证你正在连接的服务器就是你想连接 的服务器。可能会有别的服务器在冒充真正 的服务器, 也就是受到“中间人”这种方式的 攻击。
® 第二种级别(基于密匙的安全验证)需要依靠密 匙,也就是你必须为自己创建一对密匙,并把公用 密匙放在需要访问的服务器上。 如果你要连接到 SSH服务器上,客户端软件就会向服务器发出请求, 请求用你的密匙进行安全验证。服务器收到请求之 后, 先在你在该服务器的家目录下寻找你的公用密 匙,然后把它和你发送过来的公用密匙进行比较。 如果两个密匙一致, 服务器就用公用密匙加密“质 询”(challenge)并把它发送给客户端软件。 客户端 软件收到“质询”之后就可以用你的私人密匙解密再 把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。 但是,与第一种级别相比,第二种级别不需 要在网络上传送口令。 ® 第二种级别不仅加密所有传送的数据, 而且“中间人”这种攻击方式也是不可能的( 因为他没有你的私人密匙)。 但是整个登录 的过程可能需要10秒。 ®
SSL数字证书 SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL 安全通道。 ® (Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对 用户和服务器的认证;对传送的数据进行加密和隐藏;确保 数据在传送中不被改变,即数据的完整性,现已成为该领域 中全球化的标准。由于SSL技术已建立到所有主要的浏览器 和WEB服务器程序中,因此,仅需安装服务器证书就可以激 活该功能了)。即通过它可以激活SSL协议,实现数据信息 在客户端和服务器之间的加密传输,可以防止数据信息的泄 露。保证了双方传递信息的安全性,而且用户可以通过服务 器证书验证他所访问的网站是否是真实可靠。 ®
3、应用层安全协议 1. 电子邮件安全协议(PEM、S/MIME、PGP) ® 2.远程登陆的安全协议(SSH) ® 3.Web安全协议(S-HTTP) ®
电子邮件安全协议(PEM、S/MIME、PGP) ® 电子邮件的威胁 邮件炸弹 邮件欺骗 邮件服务器控制权 ® 电子邮件安全协议 PEM (Privacy Enhanced Email,RFC 1421 through 1424) S/MIME PGP(Pretty Good Privacy)
电子邮件的安全需求 ® 机密性:只有接收者才能阅读 报文的加密:关键是密钥的分发 收发双方如何共享密钥? ® 认证:发送者的身份认证 利用公钥体制,用 接收者的公钥加密 发送者生成一个密钥,采用对称密码 报文。 算法加密报文,即S{M} 但对于长报文及多 再用接收方的公钥加密密钥S,并与 个接收者时该怎么 加密的报文同时发送。 办? 假设接收者有A、B、C三人,就分别 生成三个加密密钥KA{S},KB{S}, KC{S}。 基于公钥技术,用发送者的私钥对报文的摘要进行加密,即 数字签名 基于共享密钥:事先发送者与接收者共享一个密钥,采用消 息认证码(MAC)对报文进行认证 ® 完整性:报文未被修改 报文的完整性与身份认证的方法类似,通常可在一起进行 ® 抗否认性:发信者的不可抵赖性,可供第三方鉴别 基于公钥技术,采用发送者的私钥签名
PEM(Privacy Enhanced Mail) PEM协议是 80年代末 90年代初发展起来的, 它的功能主要包括加密、源认证和完整性, RFC 1421 -1424 ® 与此同时,出台了传输多种媒体格式的 EMAIL标准:MIME(Multipurpose Internet Mail Extensions, RFC 2045), 而S/MIME(RFC 2633)采用了PEM的许多设 计原理在MIME的基础上进行了扩展 ®
PEM 的构成 ® PEM将邮件报文分成几部分,有的需要加密,有的则需要 认证,这些需要特殊处理的报文通过语句标记。 例如在需要加密的报文段前插入 BEGIN PRIVACY-ENHANCED MESSAGE 在需要加密的报文后插入 END PRIVACY-ENHANCED MESSAGE 报文加密采用DES算法 ® 认证采用MD-5 ® 密钥的分发 ® 基于公钥技术,用接收者的公钥加密会话密钥,并在RFC 1422中定 义了证书体系。 基于对称密码时,采用事先共享的密钥加密会话密钥。
PGP(Pretty Good Privacy) Email安全加密系统 ® PGP提供的安全业务: ® 加密:发信人产生一次性会话密钥,以IDEA、3 -DES或 CAST-128算法加密报文,采用RSA或D-H算法用收信人的 公钥加密会话密钥,并和消息一起送出。 认证:用SHA对报文杂凑,并以发信人的私钥签字,签名算 法采用RSA或DSS 。 压缩:ZIP,用于消息的传送或存储。在压缩前签字,压缩 后加密。 兼容性:采用Radix-64可将加密的报文转换成ASCII字符 数据分段:PGP具有分段和组装功能
机密性和认证 ® 机密性: 发送端产生随机的128位数字作为会话密钥 对称算法加密报文 接收端公钥加密会话密钥 ® 认证 采用SHA-1产生 160位HASH值 用发送者的私钥对HASH值签名 ® 报文只需要认证服务或加密服务,当同时需要认证和加密服 务时 采用先签名,后加密顺序(与IPSEC ESP中的先加密,后MAC相反) ® 通常将明文与签名一起保存比较方便 ® 验证时,不需要涉及会话密钥
HASH A的私钥 A的公钥 压缩 解密 加密 对称密码加密
压缩 ® PGP 的压缩过程在报文的签名和加密之间, 即先对报文签名,然后压缩,再是加密 签名后再压缩是为了保存未压缩的报文和签名 压缩后加密是为了提高密码的安全性,因为压缩 后的报文具有更少的冗余,所以密码分析会更困 难,另外加密的报文也更短 ® 压缩算法采用ZIP
E-mail 的兼容性 在多数的邮件系统中是以ASCII字符形式传输,加密后的任 意 8比特报文可能不符合ASCII字符特点。 ® 采用基 64转换方式 (see appendix 5 B). ® 基 64转换方式 的采用将原报文扩展了33%. ®
分段和重组 通常邮件的最大报文的长度限制在 50, 000 octets. ® 超过标准长度的报文必须分段. ® PGP 自动对过长的报文分段. ® 接收端再将其重组. ®
Sumary of PGP Services
加密密钥和密钥环 PGP使用四种类型的密钥:一次性会话对称密钥, 公钥,私钥,基于过度阶段的传统密钥 ® 需求 ® 需要一种生成不可预测的会话密钥 需要某种手段来标识具体的密钥(一个用户可拥有多个 公钥/私钥对,以便随时更换) 每个PGP实体需要维护一个保存其公钥/私钥对的文件 和一个保存通信对方公钥的文件
密钥标识符(Key ID) ® 一个用户有多个公钥/私钥对时,接收者如何 知道发送者是用了哪个公钥来加密会话密钥 将公钥与消息一起传送 将一个标识符与一个公钥关联,对一个用户来说 做到一一对应 ® 定义Key. ID 包括 64个有效位,(KUa mod 264)
密钥环(Key Rings) ® Key. ID在PGP中标识所使用的发送者和接收者 的密钥号 两个key. ID包含在任何PGP消息中提供保密与认证 功能 需要一种系统化的方法存储和组织这些key以保证 使用 ® PGP在每一个节点上提供一对数据结构 存储该节点拥有的公钥/私钥对私钥环 存储本节点知道的其他用户的公钥环
加了密的私钥 密钥对产生时间 如用户邮件 地址
Format of PGP Message
S/MIME Secure/Multipurpose Internet Mail Extension (安全/多用途Internet邮件扩展, RFC 2630、2632、2633) ® S/MIME 将会成为商业和机构使用的 业标准. ® PGP 为个人e-mail 提供安全 ®
Simple Mail Transfer Protocol (SMTP, RFC 822) ® SMTP (简单邮件传输协议)存在的问题: SMTP不能传输可执行文件和其他二进制码 (jpeg image) SMTP只能传输 7 -位ASCII字符的文字 STMP服务器拒绝接收超长邮件 ASCII 到 EBCDIC 转换问题 截取换行超过76字符的行,等等 ® MIME是对RFC 822框架的扩展,致力于解决STMP存在 的问题
MIME的头标 ® MIME的头标定义了5个新的字段 版本(MIME-Version): 1. 0(按照 RFC 2045, RFC 2046定义的规格) 内容类型(Content-Type): 这个字段用于详细描述 主体的数据 内容传输编码(Content-Transfer-Encoding): 内容 采用的编码方案 (如radix-64) 内容ID(Content-ID): 该字段主要用于多个上下文 时,对MIME实体的标识. 内容描述(Content Description): 对内容的文本描 述 (e. g. , mpeg)
S/MIME 功能 在功能上,S/MIME与PGP相似,通过使用签名、加密或签名/ 加密的组合来保证MIME通信的安全,但强化了证书的规范 ® S/MIME的安全功能: ® 封装的数据: 加密的内容和加密的会话密钥 签名的数据: 报文摘要+发送者的私钥签名,然后使用基 64变换编 码内容和签名 透明签名: 签名但不加密. 只对签名进行基 64变换,这样具有MIME支 持而没有S/MIME权能的接收者也能读取 签名和封装的数据: 各种不同嵌套顺序将数据加密、签名,如签名 加密的数据或加密签名的数据 ® S/MIME使用X. 509证书,它的密钥管理方案介于严格的X. 509 证书层次结构和PGP信任网
Algorithms Used ® 报文摘要: SHA-1 and MD 5 ® 数字签名: DSS ® 对称密码算法: Triple-DES, RC 2/40 (exportable) ® 公钥密码算法: RSA with key sizes of 512 and 1024 bits, and Diffie-Hellman (for session keys).
Item PEM or S/MIME Supports encryption? Yes Supports authentication Yes Supports non-repudiation? Yes Supports compression? Yes No Supports mailing lists? PGP vs PEM、 S/MIME PGP No Yes Uses base 64 coding? Yes IDEA DES Key length for data encryption (bits) 128 56 Current algorithm for key management RSA/D-H Key length for key management (bits)? 384/512/102 4 Variable User name space User defined X. 400 X. 509 conformant? No Yes Can eavesdropper read messages? No No Can eavesdropper read signatures? No Yes Internet Standard? Yes Current data encryption algorithm
远程登录安全协议 SSH: Secure SHell SSH主要由芬兰赫尔辛基大学的Tatu Ylonen 开发的,它提供一条安全的远程登录通道, 可以代替telnet, rlogin等。由于受版权和 加密算法的限制,很多人都使用它的免费替 代产品Open. SSH。 ® SSH协议有版本 1(SSHv 1)和版本 2(SSHv 2) ,这两版本互不兼容,目前SSH协议只有草 案(2002,9),由IETF的SECSH 作组规范, 还没有形成RFC。 ®
SSH的体系 ® SSH传输层(Transport Layer)协议 提供服务器主机认证,提供数据加密,提供数据完整 性支持 ® SSH认证(Authentication)协议 为服务器提供用户的身份认证 Secure FTP ® SSH连接(Connection)协议 ® Connection Protocol SFTP Authentication Protocol SSH Transport Layer Protocol 将加密的信息隧道复用成若干个逻辑通道,提供给高 层的应用协议使用。
SSH采用的认证、加密算法 ® Supported authentication methods X 509 Certificates Public keys Passwords ® Supported encryption algorithms 3 DES Blowfish Arcfour Cast ® Supported hash algorithms SHA 1 MD 5
Web安全协议(S-HTTP) 安全的超文本传输协议(Secure Hypertext Transfer Protocol) 最初由企业集成技术公司(Enterprise Integration Technology Corporation, EIT)提出,S-HTTP通过把加密增 强功能集成到HTTP通信流中,在应用层实现对WWW的安 全支持,S-HTTP 1. 0于1994年 6月发表,1999年 8月升至 1. 4版 本(RFC 2660)。 ® S-HTTP协议在协商和选择密钥管理机制、安全策略和加密算 法方面,具有较强的灵活性。 ® 例如,S-HTTP不要求使用客户端证书,但如果客户端有证书也可以 用来认证,如果客户端没有证书,则要求使用其他的安全技术。 ® S-HTTP能兼容HTTP,即支持S-HTTP的客户(服务器)能 与不支持S-HTTP协议的服务器(客户)通信,当然,这时 的通信没有安全特性。
S-HTTP采用的认证、加密算法 ® 单向哈希函数 MD 2,MD 5,SHA-1 ® 加密算法 DES-CBC,3 DES-CBC,DESX-CBC,IDEA-CFB,RC 2 -CBC,RC 4,CDMF-CBC ® 数字签名算法 RSA,DSS
S-HTTP的安全操作 如果使用数字签名,则消息后面要附加适当的证书, 或者接收方能通过其他途径获取证书。 ® 如果使用消息认证,那么,会用一个共享密钥采用 单向哈希函数对整个文档计算MAC值。 ® 为了支持数据加密,S-HTTP定义了两种密钥分发机 制。第一是使用公钥机制进行带内密钥交换,即用 接收方的公钥加密会话密钥。第二是使用预先共享 密钥。 ®
密码技术的应用实例 密码技术可以有效 地保护信息安全,其中重 要一点就是能有效的实施 数据保护,可以保护数据 文件、磁盘等信息。目前, 1 市面上有大量的加密软件 可以实现对磁盘、文件夹、 文件、数据库、电子邮件 以及对U盘等存储介质的 2 加密与解密。能有效地防 止数据泄密和篡改。对于 信息安全领域来说,密码 技术对网络通信有着更实 际的意义。 加密技术在网络 通信中的应用 PGP加密应用
加密技术在网络通信中的应用 对于网络通信来说,可采用以下措施进行加密传输。 (1)链路加密(在节点内部以明文形式出现)。(节点加密) (2)端-端加密。 链路加密对用户来说比较容易,使用的密钥较少,而端-端加密比较灵 活,用户可见。对链路加密中各节点安全状况不放心的用户也可使 用端-端加密方式。 加密技术的网络通信方面的应用是多方面的,但最为广泛的还是在电子 商务和VPN上的应用,下面就分别简述。 (1)在电子商务方面的应用 (2)加密技术在VPN中的应用
PGP加密应用 PGP(Pretty Good Privacy)加密软件是一个强有力的数据加密程 序。PGP作为廉价、稳定、简便易学的加密软件,为加密技术的大众 化创造了良好条件,很快成为普通网络用户自我保护的有力 具。 PGP软件采用了混合加密算法,主要有三个主要功能: • 使用IDEA加密算法对文件进行加密,加密文件只能由知道密钥的人 解密阅读。 • 使用公钥加密RSA对电子邮件进行加密,加密的电子邮件只有收件 人才能解密阅读。 • 使用公钥加密技术对文件或邮件进行数字签名,使用起草人的公开 密钥鉴别真伪。 1. PGP软件的安装 2. 密钥管理 3. PGP加密、解密
小结 1、了解常见的网络层、传输层、应用层安全 协议 2、掌握PGP软件的原理和使用 作业:P 118. 思考题 11
a7bee34dab3a83e3ade3a69b75e38290.ppt