【信息安全技术及应用】公开密钥加密技术

一、公开密钥加密技术

1.2 公开密钥密码系统的原理

公开密钥密码体制:使用不同的加密密钥与解密密钥,是一种由已知加密密钥推导出解密密钥在计算上不可行的密码体制。

1、公开密钥密码体制的特点:
- (1)公开密钥算法基于数学函数而不是替代和置换。
- (2)密钥是非对称的,用到两个不同的密钥,对于保密通信、密钥分配和鉴别等领域都有深远影响。
- (3)成功解决了网络身份鉴别、数字签名等问题。
- (4)使密钥管理变得容易了。
- (5)加密和解密较常规密钥密码体制慢。

2、公开密钥密码系统一般性描述:
(1)在公开密钥密码体制中,每个用户都拥有两个不同的密钥:加密密钥和解密密钥。
(2)用户的加密密钥公开(公开密钥),可公开发布在密钥薄上,被所有用户访问;用户的解密密钥由自己保存并严格保密 (私有密钥)。
(3)发送端用接收端的加密密钥PK对明文M进行加密,生成密文C传输,加密变换记为:C = EPK (M)接收端用自己的解密密钥SK对密文C解密得到明文M,解密变换记为:M = DSK (C) 。
(4)公钥密码体制的加密变换和解密变换应满足:
a、解密变换是加密变换的逆变换: DSK ( EPK (M))=M 或 EPK ( DSK (C))=C
b、已知加密密钥, EPK (M)容易计算;已知解密密钥 DSK (C) 容易计算。
c、从已知的PK无法推导出 SK ,或者说从 PK 推导出 SK 在计算上是不可行的。
(5)加密密钥不能用来解密: DPK ( EPK (X))!=X。
(6)在计算机上可容易地产生成对的 PK SK
(7)从已知的 PK 和密文,要想推导出明文在计算上是不可行的。
(8)加密算法E和解密算法D都是公开的。

3、工作模式:保密、鉴别

保密工作模式
鉴别工作模式
保密加鉴别工作模式

1.3 RSA公钥加密算法

RSA公钥密码体制的基本原理:根据数论,寻求两个大素数比较简单,而将他们的乘积分解开则极为困难。

1、RSA算法密钥计算过程:
(1)用户秘密选取两个大素数 p 和 q,计算n=pq,n称为RSA算法的模数,公开。
(2)计算出n的欧拉函数 ϕ (n) = (p-1)×(q-1),保密。
(3)从(1, ϕ (n))中随机地选择一个与 ϕ (n)互素的数 e 作为加密密钥,公开。
(4)计算出满足ed=1modϕ(n)的 d 作为解密密钥,保密。
(5)RSA算法密钥:
加密密钥 PK = |e, n| 公开
解密密钥 SK = |d, n| 保密

2、加密算法:C = E(m) = me mod n

3、解密算法:m = D(c) = cd mod n

4、RSA算法,相同的明文映射出相同的密文。

1.4 密钥管理

1、可行的公开密钥分配方案:
(1) 为了克服自行公开宣布密钥的缺陷,可采用公开公钥目录的方案。
(2) 由可信的第三方负责维护和管理公开公钥目录。
(3) 目录管理者为每个参与者维护一个目录项,包括用户名、对应的公开密钥及密钥更新时间。
(4) 每个参与者在目录中登记一个公开密钥。登录必须面对面或通过某种经过鉴别的通信方式进行。
(5) 参与者的公开密钥使用目录管理者的私有密钥加密后放入相应的目录项。公开公钥。
(6) 参与者可以随时更新自己的密钥 。(方法同上)
(7) 管理机构定期发布目录或者对目录进行更新。
(8) 缺陷:目录管理者的私有密钥容易泄露。
(9) 适用范围:组织或社团内部。

2、公开密钥管理机构:
(1) 管理机构更加专业,并负有相关的法律责任。
(2) 管理机构通过更严密地控制公开密钥从目录中分配出去的过程(同时也是控制对目录的访问)使公开密钥分配更安全。
(3) 参与者通过请求来获得想要的公开密钥。
(4) 此外,通信双方还要通过一个鉴别过程,来确定对方是否是公开密钥的合法拥有者。

公开密钥的分配过程

3、公开密钥分配要点:
(1)公钥是外表,实质是私钥。私钥与所有者的绑定。
(2)面对面或可信渠道。
(3)权威第三方必须存在。国家的法律、组织的信誉。
(4)公开的公钥必须防止被篡改、被假冒。
(5)公钥分配时最好也要防假冒。
(6)在互联网环境中不宜采用集中式密钥管理

公开密钥证书 (public key certificate):是某人的公开密钥,由可信赖的组织签发。

4、每个证书包含一个公开密钥及相关信息,由受信任的证书管理机构制作,并发给具有匹配私有密钥的参与者。
参与者通过传输自己的证书将其信息传送给其他人,收到该证书的人可以验证证书的真伪。

5、对公开密钥证书方案的要求:
(1)任何人都可以阅读证书以确定证书拥有者的名字和公开密钥。
(2)任何参与者都可验证证书是否来自证书管理机构。
(3)只有证书管理机构才能制作和更新证书。
(4)任何参与者都可以验证证书的时效性

6、简单的常规加密密钥分配方法:
(1)A产生公开/私有密钥对,并将公开密钥和A的标识传输给B。
(2)B产生一个常规加密密钥 KS 并用A的公开密钥加密后传给A。
(3)A将B传来的信息用私有密钥解密后得到 KS ,这样只有A和B知道 KS
(4)A弃用刚才的公开/私有密钥对,B弃用A的公开密钥。A和B使用 KS 进行安全通信,信息交换完成后,A和B都丢弃 KS
(5)优点:在通信前后都不存在密钥。

7、具有保密和鉴别功能的常规加密密钥分配方法:
(1)A和B互换公开密钥(证书方式)
(2)A选择一个常规加密密钥KS并将 EPKb [ ESKa [ KS ]]发送给B。该报文只有B能解密,只有A能生成。
(3)B解密后得到 KS

1.5 Diffie-Hellman密钥交换算法

1、Diffie-Hellman 算法的有效性依赖于计算离散对数的难度,其含义是:当已知大素数p和它的一个原根 α 后,对给定的 b,要计算 i ,被认为是很困难的,而给定 i 计算b 却相对容易。

2、Diffie-Hellman算法:
(1)假如用户A和用户B希望交换一个密钥。
(2)取素数q和整数 α α 是q的一个原根。公开
(3)A选择随机数 XA

二、散列函数与报文鉴别

2.1 报文鉴别概念

报文鉴别(Message Authentication):是防御网络主动攻击的重要技术。

1、报文鉴别的作用:
(1)信源鉴别:检验信息发送者的真伪。
(2)完整性鉴别:检验信息在存储和传输过程中是否被篡改、重放和延迟。
报文鉴别系统模型

2、报文鉴别码原理:
使用密钥和特定算法对明文产生短小的定长数据分组,即MAC,并附在报文中。在接收方,使用相同的密钥和算法对明文计算MAC,如果新的MAC与报文中的MAC匹配,那么:
(1) 接收者确信报文来自所期望的发送方。
(2) 接收者确信报文未被更改过。
(3) 如报文包含序号(TCP),那么接收者确信该序号的正确性。

3、MAC函数:MAC= CK (M),MAC函数类似于加密过程,主要区别是MAC函数无需可逆。由于该特性,鉴别函数比加密函数更不易破解。

4、报文鉴别码的基本用法:
(1) MAC直接与明文连接后传输(不加密)。
(2) MAC与明文连接后一起加密再传输。
(3) 将MAC与明文分别加密后,连接传输。

2.2 散列函数

1、散列函数将任意长度的报文作为输入,输出为定长的报文摘要,函数形式:h = H(M),其中M为变长报文,H(M)为定长的报文摘要MD。

2、当确信或已知报文值正确时,报文摘要MD在源点被加到该报文上。接收端通过计算该报文的MD来鉴别该报文。由于散列函数是公开的,所以需要对其进行保护。

3、使用散列函数的目的是为文件、报文或其它分组数据产生“指纹”,用于报文鉴别,散列函数H必须具有如下性质:
(1)H必须能够用于任何大小的数据块。
(2)H应当生成一个固定长度的输出。
(3)对任何给定的报文M,计算H(M)应当是容易的,应比加密容易的多,不论用硬件还是软件实现。
(4)单向性:对任何给定的m,找出x使得H(x)=m,在计算上是不可行的。即从一个散列值生成一个报文是不可行的。
(5)弱抗冲突性:对任何给定的数据块x,找出y!=x ,但H(y)= H(x),在计算上是不可行的。防止生成替代报文。
(6)强抗冲突性:寻找对任何的(x,y)对使得H(x)=H(y)在计算上不可行(抵御生日攻击)。输入任意长度,输出定长,当输入集合足够大时,一定会重复。

H函数的内部结构
散列函数H的核心是4个循环压缩函数,4个循环有相似的结构,每个循环进行16步处理。图中的ABCD是4个32位的寄存器,有各自的初始值。每一轮计算完后都要写入ABCD寄存器,作为下一轮计算的输入,当计算完毕时,寄存器ABCD中的值就是所要得到的MD结果。
循环压缩内部结构
(1)函数M的结构:
每轮循环压缩的M函数不同:
循环压缩一:F(b, c, d) = (b∧c)∨(b∧d)
循环压缩二:G(b, c, d) = (b∧d)∨(c∧d)
循环压缩三:H(b, c, d) = b⊕c⊕d
循环压缩四:I (b, c, d) = c⊕(b∨d)
每轮循环压缩内部包含16步处理,每步处理用到的M函数都相同。
(2)X[k]的含义:可理解为数组,k取值0-15,类型为四字节无符号整数,用来存512位输入分组值。每轮循环中每步处理用到的X[k]各不相同。
循环压缩一:X[0] 到 X[15]顺序使用。
循环压缩二:(1+5k) mod 16
循环压缩三:(5+3k) mod 16
循环压缩四:7k mod 16
(3)T[n]的含义:可理解为数组,n取值1-64,类型为四字节无符号整数,用来存放常量:T[n] = 232 * |sin(n)|

4、目前对散列函数的攻击方法有两种:强行攻击和密码分析。
强行攻击:可用于对任何类型的散列函数进行攻击,而散列函数抗强行攻击仅依赖于算法产生的散列码的长度。
密码分析:这种攻击方法依赖于散列函数的结构和代数性质,它采用针对于散列函数的弱抗冲突性进行攻击。这类攻击方法有:中间相遇攻击、修正信息攻击和差分分析等.

2.3 报文鉴别码

1、需使用密钥的散列函数或改进算法通常称为报文鉴别码MAC。

2、一个基于DES的数据鉴别算法
基于DES的数据鉴别算法

3、HMAC算法:
如果密钥K的长度小于b比特,则在密钥K左边填充一些“0”生成长度为b比特的比特串,并将新生成的密钥记作 K+ 。(长度=b bit)
K+ 与ipad按比特异或产生一个b比特的分组 Si 。这里,ipad为HMAC算法中的一个比特模式串,ipad=将00110110重复b/8次。
将报文M附加到Si后面。算法记为 Si || M。
K+ 与opad按比特异或产生一个b比特的分组 S0 。这里,opad为HMAC算法中的一个比特模式串,opad=将01011010重复b/8次。
Si ||M作为散列函数的输入,其输出H( Si ||M)附加在 S0 后面,并将得到的比特串再次作为散列函数的输入计算其散列值,得到n比特的输出,就是要计算的MAC。

4、HMAC可表示为:
HMACK = H [( K+ opad) || H [( K+ ipad) || M ] ]

三、数字签名与身份鉴别

3.1 数字签名

数字签名是网络中进行安全交易的基础

1、数字签名是笔迹签名的模拟,须具有如下性质:
(1)必须能证实作者签名和签名的日期与时间。
(2)在签名时必须能对内容进行鉴别。
(3)签名必须能被第三方证实以便解决争端。

2、对数字签名的要求:
(1)签名必须使用对发送者来说是惟一的信息,以防伪造和抵赖。
(2)签名必须是依赖于要签名报文的比特模式。
(3)数字签名的产生相对简单,识别和证实相对简单。
(4)伪造一个数字签名在计算上是不可行的,无论是通过已有的数字签名来构造新报文,还是对给定的报文构造一个虚假的数字签名。
(5)数字签名的存储备份容易。

3.1.1 直接数字签名

数字签名通过使用发方的私钥对整个报文加密,或仅对报文的散列码加密来形成。

3.1.2 需仲裁的数字签名

直接数字签名存在的问题可通过仲裁来解决:
(1)每个由X发往Y的签名报文首先送给仲裁者A,A对该报文的签名进行校验。
(2)然后对报文注明日期,附上一个已经经过仲裁证实属实的说明后发给Y。A的存在解决了直接签名方案所面临的问题:X可能否认发送过该报文。
(3)方案中,仲裁起着敏感的和关键的作用,所有通信方必须充分信任仲裁机构。

3.1.3 基于常规密钥加密的数字签名

1、假定:发送方X和仲裁A共享密钥Kxa,A和接收方Y共享密钥Kay,X和Y之间共享密钥Kxy。X有报文M要传送给Y。
(1)X传送给A的信息:标识符IDx、用Kxy加密的报文、签名,签名由X的标识符和加密报文的散列值组成,并用密钥Kxa进行加密。即:IDx || EKxy[M] || EKxa [IDx || H(EKxy[M])]
(2)A验证签名并转发报文给Y:A对签名进行解密并验证散列值的有效性,这时,A只能面对加密报文;然后A将来自X的报文附加上时间戳,用Kay加密后发送给Y。即:EKay[ IDx||EKxy[M]||EKxa[IDx||H(EKxy[M])] || T ]
(3)Y检验报文并存储签名:Y用Kay和Kxy解密报文,时间戳通知Y该报文是新的而不是过时的。Y可以存储EKxy[M]||EKxa[IDx||H(EKxy[M])] || T 。
(4)争执仲裁:当发生争执时,Y出示存储的的报文密文和签名: EKxy[M]||EKxa[IDx||H(EKxy[M])] ,仲裁者使用Kxa对签名进行解密并验证散列码。

2、说明:在这个方案中,Y不能直接验证X的签名;签名是解决争端的惟一手段。Y认定报文来自X这一事实是因为它经过了A,双方必须高度信任A。

3、存在的问题:仲裁和发方结盟可否认一个签名报文,或者和收方结盟可伪造发方的签名。

3.1.4 基于公开密钥加密的数字签名

1、X发给A的信息:X对报文M进行两次加密,将得到一个签名的、机密的报文。再次使用SKx对这个签名报文连同X的标识符加密,并将加密结果连同IDx发送给A。IDx || ESKx [IDx || EPKy (ESKx [M])],内部经双重加密的报文对仲裁者 (除了Y之外的其他人)是安全的,

2、A验证报文:A通过验证确信X的私有/公开密钥仍然有效,如果这样,也就完成对报文的验证。然后A向Y发送一报文:ESKa [IDx || EPKy (ESKx [M]) || T ]。

3、这个方案和前面两个方案相比有许多优点。首先,通信前各方没有共享任何信息,可防止结盟欺骗的发生。X发给Y的报文内容对A和其他任何人都是保密的。

3.1.5 数字签名算法

数字签名的生成和验证过程

1、数字签名算法(DSA) :
与算法相关的数据:三个公开参数(p,q,g)、一对密钥(x,y)、一个密值k、报文散列码H(M)。
公开参数p:长度在512bit与1024bit之间的素数,长度是64的整数倍。
公开参数q:p-1的素因子,长度160bit。
公开参数g: g = h(p1)/q mod p其中,h为一任意整数,1

3.2 身份鉴别技术

1、身份鉴别:证实客户的真实身份与其声称的身份是否相符的过程,是网络安全的重要组成部分。

2、鉴别依据:即被鉴别对象的属性,用于鉴别的属 性对被鉴别对象来说应该是惟一的、以区别于其它实体的属性。

3、鉴别方式:单向鉴别和双向鉴别。
双向鉴别:通信各方相互证实对方的身份。
单向鉴别:有些网络应用仅需要一方证实另一方的身份。如:电子邮件、访问网络主机等。

4、鉴别技术:
基于口令的鉴别方法。(单向鉴别)
双因素鉴别。 (双向鉴别)
询问握手鉴别协议CHAP。(双向鉴别)
Kerberos鉴别协议。(双向鉴别,基于常规加密)
X.509数字证书(单、双向鉴别,基于公钥加密)

3.3 X.509数字证书

1、基于X.509证书的鉴别技术依赖于共同信赖的第三方来实现鉴别。称为CA(Certificate Authority)

2、CA负责鉴别用户的身份并向用户签发数字证书。

3、持有X.509证书的用户可以凭此证书访问那些信任颁发证书CA的服务器。

4、X.509证书的构成:
(1)由信息部分( I )和数字签名部分(S)构成。
(2)数字签名:证书权威机构Y对证书持有人C的证书信息 Ic 进行签名,签名通过用Y的私有密钥SKY 对Ic 的散列码加密实现。
即:S = ESKy [H( Ic )]
(3)用Y《C》来表示Y对C签发的证书。
即: Y《C》=Y{Ic} = Ic || ESKy [H( Ic )]

5、X.509证书是由可信的证书权威机构(CA)签发的一个关于实体与其公开密钥关联的数字声明。该证书具有权威性。证书的核心是公开密钥、公开密钥持有者(主体)和CA的签名,证书完成了公开密钥与公开密钥持有者的权威性绑定。

6、由CA产生的用户证书特点:任何拥有CA公开密钥的用户都可以对该CA签发的证书进行验证,从而获得一个可信用户的公开密钥。除CA外,任何一方都不可能不被察觉地修改证书。

7、证书的格式

8、如果证书中出现了颁发者惟一标识符或主体惟一标识符,那么版本号值必然为1(版本2)。如果出现扩展字段,那么版本号值必然为2(版本3)。

9、证书序列号(CertificateSerialNumber):证书序列号是由CA给定的每一个证书中具有惟一性的整数值。

10、颁发者名字(Issuer):创建和签发该证书的权威机构CA的X.500名字。

11、有效期(Validity):由两个日期组成,证书的有效起始时间和结束时间。

12、主体名(Subject):为该证书持有者的名字。主体名本身不能惟一地确定一个证书,因为一个主体可以有多个证书。

13、主体的公开密钥信息(SubjectPublicKeyInfo):由公开密钥算法标识和公开密钥位串组成。

14、颁发者惟一标识符(IssuerUniqueID):该字段是版本2增加的可选字段。颁发者惟一标识符由二进制位串构成。用来惟一地标识CA,解决颁发者名字可能被不同的实体重用的问题。

15、主体惟一标识符(SubjectUniqueID):是版本2增加的可选字段。主体惟一标识符由二进制位串构成。用来惟一地标识证书的持有者,解决主体名字可能被不同的实体重用的问题。

16、扩展(Extentions):扩展字段仅在第3版中出现,证书扩展包含一个或多个扩展字段。扩展字段提供了将用户及其密钥与其附加属性关联起来的方法。这些附加属性可以是密钥用途、证书策略、主体别名、基本约束、名字约束和策略约束等等。X.509还允许机构定义自己专用的扩展。

17、签名算法标识:与第3个字段的内容相同。

18、签名值:签名值是CA利用它的私有密钥对证书信息的散列码加密的结果。

19、X.509证书链:
A使用证书链获得B的公开密钥。这个链用X.509的符号可表示如下:CA1《CA2》CA2《B》 ,用同样的方式,B可获得A的公开密钥:CA2《CA1》CA1《A》

20、一个有N个CA的链可以表示为: CA1《CA2》CA2《CA3》… CAN《B》

21、证书链的形成依赖于证书权威机构CA之间的信任关系。通过信任的传递,使得处于不同CA管理下的两个端用户实体可以获得对方的可信公开密钥。

22、证书撤消列表(CRL)
每个证书都包含一个有效期。典型的做法是在老证书即将过期之前颁发一个新的证书。此外,有时基于以下原因要在证书过期前撤消它:
(1)用户的私有密钥已泄漏。
(2)用户不再由这个CA颁发证书。
(3)CA证书已泄露(签发证书的私钥泄露)。
每个CA须保持一个所有已撤消但还没过期的证书表,这些证书可能由这个CA或其他CA颁发。

23、当用户收到证书时,必须确定证书是否已被取消。用户每次收到一个证书时可以检查目录。

四、公钥基础设施PKI

1、PKI(Public Key Infrastructure):公钥基础设施是在公钥密码体制的理论和技术基础上发展起来的一种综合安全平台。

2、PKI能够为所有网络应用透明地提供加密和数字签名等服务所必需的密钥和证书管理,从而保证网上传递信息的安全、真实、完整和不可抵赖。

3、PKI的构成:
(1)认证中心(CA):负责签发、管理和作废证书等。
(2)注册中心(RA):建立证书持有者和证书间的关联。
(3)证书库/目录:保存证书,供公开访问。
(4)密钥备份及恢复
(5)证书作废处理
(6)PKI应用接口

4、处理证书作废分三种情况:
作废一个或多个主体的证书;
作废由某一对密钥签发的所有证书;
作废由某CA签发的所有证书。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《网络安全技术》复习课之习题部分 一、选择题 1. 以下( )不属于防火墙的功能。 A. 控制对特殊站点的访问 B. 过滤掉不安全的服务和非法用户 C. 防止雷电侵害 D. 监视Internet安全和预警 2. 常用的公开密钥(非对称密钥)加密算法有( )。 A. DES B. SED C. RSA D. RAS 3. 以下关于一个安全计算机网络系统功能的描述中,错误的是 ( )。 A. 身份识别 B. 保护数据完整性 C. 密钥管理 D. 自由访问 4. 以下关于计算机环境安全技术描述中,错误的是 ( )。 A. 计算机机房应有安全的供电系统和防火、防盗措拖 B. 不允许在计算机机房内吸烟及使用易燃易爆物质 C. 计算机机房应有保证机房安全的安全监控技术 D. 现在的计算机性能比较优良,因此计算机机房不需关心温度、湿度及灰尘问题 5. 黑客攻击的基本步骤有以下5步: j实施入侵 k上传程序,下载数据 l利用一些方法来保持访问 m搜集信息 n隐藏踪迹 请选出顺序正确的步骤( )。 A. nlkjm  B. mjkln  C. jklmn  D. kljmn 6. 下面有关网络病毒的传播方式中,哪一种是错误的( )。 A. 邮件附件 B. Web服务器 C. 软盘 D. 文件共享 7. ARP命令中参数-s的作用是( )。 A. 显示ARP命令帮助 B. 删除一个绑定 C. 绑定一个MAC地址和IP地址 D. 进行ARP攻击 8. 系统内置netstat命令中参数-a的作用是 ( )。 A. 表示按协议显示各种连接的统计信息,包括端口号 B. 表示显示活动的TCP连接并包括每个连接的进程ID C. 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口 D. 表示显示以太网发送和接收的字节数、数据包数等 9. 下面不属于入侵检测系统分类的是( )。 A. 基于主机型入侵检测系统 B. 基于网络型入侵检测系统 C. 基于代理型入侵检测系统 D. 基于病毒型入侵检测系统 10. 下列关于防火墙安全技术的描述中,错误的是( )。 A. 数据包过滤技术 B. 代理技术 C. 状态检查技术 D. 审计技术 11. 各种通信网和TCP/IP之间的接口是TCP/IP分层结构中的( )。 A. 数据链路层 B. 网络层 C. 传输层 D. 应用层 12. 下面不属于木马特征的是( )。 A. 自动更换文件名,难于被发现 B. 程序执行时不占太多系统资源 C. 不需要服务端用户的允许就能获得系统的使用权 D. 造成缓冲区的溢出,破坏程序的堆栈 13. 下面不属于端口扫描技术的是( )。 A. TCP connect()扫描 B. TCP FIN扫描 C. IP包分段扫描 D. Land扫描 14. 负责产生、分配并管理PKI结构下所有用户的证书的机构是( )。 A. LDAP目录服务器 B. 业务受理点 C. 注册机构RA D. 认证中心CA 15. 防火墙按自身的体系结构分为( )。 A. 软件防火墙和硬件防火墙   B. 包过滤型防火墙和双宿网关   C. 百兆防火墙和千兆防火墙   D. 主机防火墙和网络防火墙 16. 下面关于代理技术的叙述正确的是( )。 A. 能提供部分与传输有关的状态 B. 能完全提供与应用相关的状态和部分传输方面的信息 C. 能处理和管理信息 D. ABC都正确 17. 下面关于ESP传输模式的叙述不正确的是( )。 A. 并没有暴露子网内部拓扑 B. 主机到主机安全 C. IPSec的处理负荷被主机分担 D. 两端的主机需使用公网IP 18. 下面关于网络入侵检测的叙述不正确的是( )。 A. 占用资源少 B. 攻击者不易转移证据 C. 容易处理加密的会话过程 D. 检测速度快 19. 下面不属于入侵检测系统分类的是( )。 A. 基于主机型入侵检测系统 B. 基于网络型入侵检测系统 C. 基于代理型入侵检测系统 D. 基于病毒型入侵检测系统 20. 下面关于病毒的叙述正确的是( )。 A. 病毒可以是一个程序 B. 病毒可以是一段可执行代码 C. 病毒能够自我复制 D. ABC都正确 21. 最有效的保护E-mail的方法是使用加密签字,如( ),来验证E- mail信息。通过验证E- mail信息,可以保证信息确实来自发信人,并保证在传输过程没有被修改。 A. Diffie-Hellman B. Pretty Good Privacy(PGP) C. Key Distribution Center(KDC) D. IDEA 22. 黑客要想控制某些用户,需要把木马程序安装到用户的机器中,实际上安装的是() A. 木马的控制端程序 B. 木马的服务器端程序 C. 不用安装 D. 控制端、服务端程序都必需
1、PGP概述 PGP(Pretty Good Privacy)的创始人是美国的Phil Zimmermann(菲利普•齐默曼),他在1991年把 RSA 公钥体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计。因此 PGP 成为几乎最流行的公匙加密软件包。PGP有不同的实现,如GnuPG和Gpg4win,其中GnuPG(Gnu Private Guard,简写为GPG)的核心算法是PGP,GnuPG本身是为Linux等开源操作系统设计的;而Gpg4win是windows下GnuGPG及图形前端的合集安装包,其核心为GnuPG,包括:(1)Kleopatra和GPA:GPG的密钥管理器,用于生成、导入和导出GPG密钥(包括公钥和私钥);(2)GpgOL:Outlook 的GPG支持插件;(3)GpgEX:资源管理器的GPG支持插件;(4)Claws Mail:内置GPG支持的邮件客户端。 PGP是一个基于RSA公钥加密体系的加密软件,是开源且免费的,后经互联网志愿者发展完善并广泛应用,具有如下特点:(1)选择最可用的加密算法作为系统的构造模块,所用算法已被广泛检验过,相当安全;并将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,并且基于一个使用方便的小命令集;(2)是一个开源项目,程序、文档在Internet上公开;(3)可以免费得到运行于多种平台上的PGP版本,具有广泛的可用性;(4)不由任一政府或标准化组织所控制,使得PGP得到了广泛信任;(5)与商业公司(Network Associates)合作,提供一个全面兼容的、低价位的商业版本PGP。2010年6月被赛门铁克公司收购。由于这些特点,使得PGP得到了广泛的应用。 PGP常用的版本是PGP Desktop Professional,它可以用来加密文件,可以用来对邮件保密以防止非授权者阅读,还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。同时,通过使用公钥密码算法,可以提供一种事先并不需要任何保密的渠道用来传递密匙的安全通讯方式。PGP功能强大,而且具有很快的速度,PGP提供的主要功能如表1.7.1所示。 表1.7.1 PGP的功能概述 功能 使用的算法 描述 消息加密 IDEA、CAST、3DES、TwoFish、ElGamal、RSA 发信人产生一次性会话密钥加密,用IDEA或CAST-128或3DES算法对消息进行加密;采用ElGamal或RSA算法用接收方的公钥加密会话密钥 数字签名 DSS/SHA-1、RSA/MD5 采用SHA-1或MD5消息摘要算法计算消息的摘要值(散列码),用发送者的私钥按DSS或RSA算法加密消息摘要 压缩 PKZIP 消息在传送和存储时可使用PKZIP压缩 E-mail兼容性 Radix-64 对E-mail应用提供透明性,采用基数64编码将加密后的消息(二进制流)转换为ASCII字符串 数据分段 - 为了适应最大消息长度限制,PGP执行分段和重新组装 2、PGP的密钥管理 PGP是一种混合密码系统,应用了多个密码算法,包括对称密码算法、非对称密码算法、消息摘要算法、数字签名等经典的密码学算法。为用户生成密钥对之后,可以进行邮件的加密、签名、解密和认证。在PGP中使用的加密算法和用途如表1.7.2所示。 表1.7.2 PGP中采用的各种密码算法及用途 密钥名 加密算法 用途 会话密钥 IDEA、AES 对传送消息的加解密,随机生成,一次性使用 公钥 RSA、Diffie-Hellman 对会话密钥加密,收信人和发信人共用 私钥 DSS/SHA、RSA/SHA 对消息的杂凑值加密以形成签名,发信人专用 口令 IDEA 对私钥加密以存储于发送端 从上表可以看出,PGP使用了四种类型的密钥:一次性会话传统密钥、公钥、私钥和基于口令短语的传统密钥/通行字短语。 会话密钥按ANSI X9.17标准,采用IDEA算法,以密文反馈模式(CFB)生成。当PGP用RSA算法为用户生成一个新的公钥/私钥对时,PGP会要求用户提供一个口令短语,对该短语使用MD5/SHA-1消息摘要算法生成一个散列码后,销毁该短语,从而把用户输入的口令短语转化为IDEA/CAST-128密钥,再使用这个密钥加密私钥,然后销毁这个散列码,并将加密后的私钥存储到私钥环中。当用户要访问私钥环中的私钥时,必须提供口令短语。PGP将取出加密后的私钥,生成散列码,解密私钥。 一个用户可能拥有多个公钥/私钥对,正确识别加密会话密钥和签名所用的特定公钥/私钥对的一个最简单的解决方案是将公钥和消息一起传送。但这种方式浪费了不必要的空间。PGP采用的解决方案是给每个公钥分配一个密钥标识(KeyID),并以极大的概率与用户标识(UserID)一一对应,即UserID和KeyID标识一个密钥。密钥标识至少为64位,因而密钥标识重复的可能性非常小。 PGP提供一种系统化的密钥管理方案来存储和组织这些密钥以保证有效使用这些密钥,它为每个节点(用户机器)提供一对数据结构,一个用于存放本节点自身的公钥/私钥对(即私钥环),另一个用于存放本节点知道的其他用户的公钥(即公钥环)。私钥环信息:时间戳、KeyID、公钥、私钥、UserID,其中UserID通常是用户的邮件地址。也可以是一个名字,可以重名;公钥环信息:时间戳、KeyID、公钥、对所有者信任度、用户ID、密钥合法度、签名、对签名者信任度,其中UserID为公钥的拥有者。多个UserID可以对应一个公钥。公钥环可以用UserID或KeyID索引。 如何保证用户公钥环上的公钥确实是指定实体的合法公钥,这是一个至关重要的问题。PGP提供几种可选的方案以减少用户公钥环中包含错误公钥的可能性:(1)物理上得到对方的公钥。这种方式最可靠,但有一定局限性;(2)通过电话验证公钥;(3)从双方都信任的第三方(个体或CA)处获得对方的公钥。 此外,PGP支持密钥管理服务器,用户可以将公钥发布在集中的密钥服务器上,供他人访问。 3、PGP的消息处理过程 PGP消息分成原始消息、签名部分和会话密钥部分三个部分。 PGP发送方处理消息的过程为:(1)签名:利用UserID作为索引,从私钥环中得到私钥;PGP提示输入口令短语,恢复私钥;构造签名部分;(2)加密:PGP产生一个会话密钥,并加密消息;PGP用接收者UserID从公钥环中获取其公钥;构造消息的会话密钥部分。 PGP接收方处理消息的过程为:(1)解密消息:PGP用消息的会话密钥部分中的KeyID作为索引,从私钥环中获取私钥;PGP提示输入口令短语,恢复私钥;PGP恢复会话密钥,并解密消息;(2)验证消息:PGP用消息的签名部分中的KeyID作为索引,从公钥环中获取发送者的公钥;PGP恢复被传输过来的消息摘要;PGP对于接收到的消息计算摘要,并与上一步的结果作比较。 4、PGP的信任模型 由于PGP重在广泛地在正式或非正式环境下的应用,所以它没有建立严格的公钥管理模式。尽管PGP没有包含任何建立认证权威机构或建立信任体系的规范,但它提供了一个利用信任关系的方法,将信任关系与公钥联系起来。PGP定义了与基于X.509真实的公钥基础设施(PKI)不同的证书模型,即所谓“信任网(Web of Trust)”模型。传统PKI模型依赖于CA层次体系验证证书和其中的密钥。而PGP模型则允许多重地、独立地而非特殊可信个体签署的“名字/密钥”关联来证明证书的有效性,其理论是认为“只要有足够的签名,<名字/密钥>关联就是可信的,因为不会所有的签名者都是‘坏’的”。PGP的信任网就像人际关系网一样,通过下述方式让使用公钥的人相信公钥是其所声称的持有者:(1)直接来自所信任人的公钥;(2)由所信赖的人为某个自己并不认识的人签署的公钥。因此,在PGP中得到一个公钥后,检验其签名,如果签名人自己认识并信赖他,就认为此公钥可用或合法。这样,通过所认识并信赖的人,就可以和总多不认识的人实现PGP的安全E-mail通信。 具体而言,在PGP中是通过在公钥环中的下述3个字段来实现Web of Trust信任模型的:(1)密钥合法性字段(key legitimacy field):指示用户公钥合法性的可信等级。信任级别越高,则用户标识UserID与密钥间的绑定关系就越强。这个字段是由PGP计算的;(2)签名信任字段(signature trust field):每一个公钥项都有一个或者多个签名,这是公钥环主人收集到的、能够认证该公钥项的签名。每一个签名与一个signature trust field关联,指示PGP用户信任签名者对此公钥证明的程度。key legitimacy field 是由多个signeture trust field 导出的;(3)所有者信任字段(owner trust field):指示此公钥对其他公钥证书进行签名的信任程度。这个信任程度是由用户给出的。 PGP使用以个人为中心的信任模型,采取一种“社会信任链”的方式进行公钥分发。在这种方式下,用户可以自行决定对周围的联系人是否信任,并可以决定信任度的高低。用户只接收信任的朋友传送来的公钥,并且这些公钥都带有签名。这种方式反映了社会交往的本质,比较适合一般场合下的安全通信。 本实验通过实际操作,了解PGP/GPG4Win软件的常用功能,利用PGP/GPG4Win软件实现密钥管理、对文件和电子邮件的签名与加密等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值