PGP协议

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅析PGP协议

PGP技术

PGP PRETTY GOOD PRIVACY技术是一种加密电子邮件的技术,加密之后,信息会变成无意义的混乱字符。安全性很高。也可以作为数字签名,确保真实性。

PGP可以做成插件,提供给很多应用程序使用,PGP本身就是一个软件。可以永久的擦除文件、文件夹和磁盘空间。

PGP 不是一种完全的非对称加密体系,它是个混合加密算法,它是由一个对称加密算法(IDEA)、一个非对称加密算法(RSA)、

一个单向散列算法(MD5)以及一个随机数产生器组成的,每种算法都是PGP 不可分割的组成部分,它集中了的几种加密算法的优点,使它们彼此得到互补。

对称、不对称的加密体系

有两种加密体系--对称的和不对称的,PGP是基于不对称的加密体系的。对称加密时仅有一个key,双方都用这个key加密和解密。对称加密的算法有:blowfish, Triple-DES, AES(Advanced Encryption Standard), CAST (CarlisleAdams and Stafford Tavares) , IDEA (International Data Encryption Algorithm)。 128bit的key 足够安全,少于等于56bit 的则是易破解的。非对称的加密体系有公钥和私钥,公钥是自由发布的,但是私钥则是接受者秘密保管的。信息是用接收者的公钥加密,但是只有接收者的私钥才能打开。非对称的加密算法有: RSA (Rivest, Shamir, and Adleman)和 DH (Diffie-Hellman),2048bit的key足够安全了。

RSA算法

RSA Algorithm—Factorization 因数分解

p, q—prime numbers (secret and normally > 100 digits);

n=pq, function Φ(n)=(p-1)(q-1) (that’s the number of

numbers that ≤ n and prime to n);

Let a big integer “e” (

that prime to Φ(n);

Equation ed=1mod Φ(n); figure out “decryption index”“d”;

X=Plaintext明码 while Y=Ciphertext密码;

Encryption process: Y=Xemod n

Decryption process: X=Ydmod n

Keys: (n, e)—public key, (n, d)—private key;

To get X, have to get “d” directly, otherwise…

RSA 算法是一种基于大数不易质因数分解假设的非对称算法。简单地说,就是找到两个很大的质数,一个称之为“公钥”对外公开,另一个称为“私钥”自己保存。这两把密钥组成一个密钥对,用公钥加密的密文可以用私钥解密,反过来也一样。但想由密钥对中的一个推算出另一个是相当困难甚至是不可能的。

AES算法

AES 算法是一种对称加密算法,其加密和解密使用同一把密钥。这个算法在2000 年最终被确定并形成标准。当采用128 位长度密钥加密数据时,即使用当前世界上最快的计算机运算,也需要约1023 年才能破解。对于更重要的数据,还可以采用192 位甚至256 位的密钥加密。

PGP协议格式

PGP 采用的是一系列混合的公钥加密,包含有对称和非对称的加密方法。邮件信息---->128bit key1,对称加密算法 --->加密了的邮件体---->采用2048bit的接收者的公钥key2,以加密key1---->经过加密了的邮件正文和key1,------>组装起来---->被接受者接收到。

PGP的key 生成

采用IDEA, RSA , SHA-1或 MD5 ,随机数生成器

PGP邮件加密

以下过程是使用了PGP协议的邮件发送过程。

演示Alice如何发邮件给Bob:

假定双方为Alice和Bob,双方都持有各自的自由公钥算法所界定的私密密钥SKA和SKB,同时相互持有对方的公钥PKA和PKB。

发送方Alice对邮件明文M利用MD5报文摘要算法计算获得固定长度的128bit信息摘要,然后利用其持有的RSA私密密钥SKA对信息摘要签名加密得到H.

将H 与明文M拼接成M1,注意此时M并没有加密,只对摘要数据加了密。

M1经过ZIP压缩后得到压缩文件M1.Z

对M1.Z进行IDEA加密运算,IDEA是一种分组对称加密算法,密钥Km长128bit,加密后得到M2。同时使用Bob的RSA公钥PKb对Km加密,得到K''m

M2 与K''m 拼接,再用base64编码,得到一个ASCII码文本。这个文本只含有52个字符、10个数字0~9,和“+ 、 =、/”三个符号。此时可发送到因特网上。

接收端bob的动作如下:

首先进行base64解码

然后用秘密密钥SKb解出IDEA算法的密钥Km,并用Km恢复出M1.Z

解压缩还原出M1

Bob接着分开明文M和加了密的摘要数据,然后用Alice的公钥PKa 解除摘要数据的加密,获得H

Bob同时要对明文M进行MD5摘要算法运算,运算的结果和H进行比较,如果相同,则证明

邮件报文在传递过程中未经改变,邮件确实是Alice发来的。

浅析IPSec协议

IPSec 协议是IETF 开发的一组用来保障TCP/IP 网络上数据安全传输的协议套件,目前存在多种不同的软件实现与硬件实现方案。IPSec,Linux 的2.6 版本目前已经内嵌了IPSec 的功能。

IPSec 在IP 层上对数据包进行安全处理,提供数据源验证、无连接数据完整性、数据机密性、抗重播和有限业务流机密性等安全服务。

IPSec 可连续或递归应用,在路由器、防火墙、主机和通信链路上配置,实现端到端安全、虚拟专用网络(VPN)、Road Warrior 和安全隧道技术.

由于IPSec在TCP/IP协议的核心层——IP层实现,因此可以有效地保护各种上层协议,并为各种安全服务提供一个统一的平台。IPSec也是被下一代Internet 所采用的网络安全协议。IPSec协议是现在VPN开发中使用的最广泛的一种协议,它有可能在将来成为IPVPN的标准。

IPSec的基本目的是把密码学的安全机制引入IP协议,通过使用现代密码学方法支持保密和认证服务,使用户能有选择地使用,并得到所期望的安全服务。由于IPSec是一个网络层协议,因此可以当作网络层的一部分来实现。IPSec 层需要IP 层的服务来构建IP 头。

IPSec使用AH或ESP协议完成数据包的封装,从而实现数据加密和数据完整性校验. 数据包的封装格式支持传输模式和隧道模式,传输模式只为高层协议提供安全服务,隧道模式可以保护整个IP数据包.

IPSec 协议实施和配置的物理位置有:终端主机之间,安全网关L 路由器之间,以及终端主机与安全网关、路由器之间。用户对安全保密的要求和实施的逻辑拓扑结构决定协议实现的模式。IPsec 的安全服务是由通讯双方建立的安全联盟(SA) 来提供的。SA 为通讯提供了安全协议、模式、算法和应用于单向IP 流的密钥等安全信息。SA 通过安全关联库(SAD) 来进行管理。每一个IPsec 节点包含有一个局部的安全策略库(SPD) 。IPsec 系统在处理输入/ 输出IP 流时必须参考该策略库,并根据从SPD 中提取的策略对IP 流进行不同的处理:拒绝、绕过、进行IPsec 保护。如果策略决定IP 流需要经过IPsec处理,则根据SPD 与SAD 的对应关系,找到相应的SA ,并对IP包进行指定的IPsec 处理。

安全联盟是构成 IPSec的基础。SA是两个通信实体经协商建立起来的一种协定。它们决定了用来保护数据包安全的IPSec 协议、转码方式、密钥以及密钥的有效存在时间等。IPSec的实施必须构建一个 SA数据库 ,由它来维护用来保障数据包安全的 SA记录。SAD与 SPD存在着密切的对应关系 ,一条 SP对

相关文档
最新文档