免费智能真题库 > 历年试卷 > 软件评测师 > 2014年下半年 软件评测师 上午试卷 综合知识
  第68题      
  知识点:   加密   通信加密   加密技术
  关键词:   公钥加密   公钥   加密        章/节:   测试技术的分类       

 
以下关于公钥加密技术的叙述中,不正确的是 (68).
 
 
  A.  公钥加密的数据可以用私钥解密
 
  B.  私钥加密的数据可以用公钥解密
 
  C.  公钥和私钥相互关联
 
  D.  公钥加密采用与对称加密类似的位模式操作完成对数据的加解密操作
 
 
 

 
  第9题    2013年下半年  
   62%
下列算法中,不属于公开密钥加密算法的是(9)。
  第67题    2018年下半年  
   24%
用户口令测试应考虑的测试点包括( )。
①口令时效 ②口令长度
③口令复杂度 ④口令锁定
  第18题    2020年下半年  
   41%
访问控制是对信息系统资源进行保护的重要措施,适当的访问控制能够阻止未经授权的用户有意或者无意地获取资源。计算机系统中,访..
   知识点讲解    
   · 加密    · 通信加密    · 加密技术
 
       加密
        如果应用程序使用加密来提供安全性,检查加密的内容以及加密的使用方法。下表显示了与加密有关的常见漏洞。
        
        常见的加密漏洞
        测试中需要考虑下列问题,帮助验证应用程序处理敏感数据的方法。
        . 为何使用特定的算法。
        加密只有在正确使用时才能提供真正的安全保障。不同作业使用不同的算法。算法的程度也非常重要。考虑下列问题,评价所使用的加密算法。
        ①是否开发自己的加密技术。
        不应开发自己的加密技术。众所周知,加密算法和例程的开发非常难,而且很难成功。自定义实施的安全保护一般很弱,基本上不如久经考验的系统平台服务提供的安全措施。
        ②是否使用合适的密钥大小来应用正确的算法。
        检查应用程序使用的算法及使用该算法的目的。较大的密钥可提供较高的安全性,但会影响性能。对于在数据存储中长时间保存的永久数据,较强的加密非常重要。
        . 如何确保加密密钥的安全性。
        加密数据的安全与密钥的安全同等重要。要破解加密数据,攻击者必须能检索出密钥和密码文本。因此,需要检查设计,确保加密密钥和加密数据的安全。考虑下列评价问题。
        ①如何确保加密密钥的安全。
        如果使用DPAPI,将由系统平台为用户管理密钥。其他情况下,则由应用程序负责密钥管理。检查应用程序确保加密密钥安全的方法。一种较好的方法是,使用DPAPI加密其他加密形式所需的加密密钥。然后,安全地保存加密密钥,例如,将其放在配置了受限ACL的注册表项目下。
        ②回收密钥的频率如何。
        不能滥用密钥。同一密钥使用的时间越长,被发现的可能性就越高。设计是否考虑了怎样回收密钥、回收的频率,以及如何将它们分发并安置在服务器中。
 
       通信加密
        通信加密是保证数据在传输过程中数据的保密性和一致性的测试,软件产品在技术上通常使用链路加密、数据加密的方式进行,目前使用的加密技术包括VPN技术、对称加密算法、非对称加密算法、HASH算法等。
        VPN技术通常使用Kebores加密算法结合IPSec加密协议,实现通信链路的加密,加密强度较高,多用于广域网中的数据安全传输,但是操作较复杂。
        对称加密算法和非对称加密算法主要包括RSA、DSA(非对称)、DES(对称),使用上述算法的主要目的在于解决数据的保密性传输。
        HASH算法的目的在于保护数据内容的一致性,防止数据在传输过程中被篡改。
        通信加密测试的目的主要是,保证软件产品确实在开发过程中,按照设计要求使用了上述方法进行了通信的加密,通常使用验证和侦听技术完成。另外还需要注意的是,如果开发过程中使用上述标准对加密函数进行加密,加密强度是受密钥的复杂度等因素影响的,无须对本身算法加密强度进行论证,如果使用自定义的加密函数,测试人员应当使用破解技术对算法本身的加密强度进行论证,或将自定义加密算法提交特定机构进行测试和认证。
 
       加密技术
        加密技术是最常用的安全保密手段,数据加密技术的关键在于加密/解密算法和密钥管理。数据加密的基本过程就是对原来为明文的文件或数据按某种加密算法进行处理,使其成为不可读的一段编码,通常称为“密文”。“密文”只能在输入相应的密钥之后才能显示出原来的内容,通过这样的途径使数据不被窃取。
        数据加密和数据解密是一对逆过程。数据加密是用加密算法E和加密密钥K1将明文P变换成密文C,记为:
        
        数据解密是数据加密的逆过程,用解密算法D和解密密钥K2将密文C变换成明文P,记为:
        
        在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络信息的通信安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。相应地,对数据加密的技术分为两类,即对称加密(私有密钥加密)和非对称加密(公开密钥加密)。
               对称加密技术
               对称加密采用了对称密码编码技术,其特点是文件加密和解密使用相同的密钥,这种方法在密码学中叫作对称加密算法。
               常用的对称加密算法有如下几种:
               (1)数据加密标准(Data Encryption Standard,DES)算法。DES主要采用替换和移位的方法加密。它用56位密钥对64位二进制数据块进行加密,每次加密可对64位的输入数据进行16轮编码,经一系列替换和移位后,输入的64位原始数据转换成完全不同的64位输出数据。DES算法运算速度快,密钥生产容易,适合于在当前大多数计算机上用软件方法实现,同时也适合于在专用芯片上实现。
               (2)三重DES(3DES,或称TDEA)。在DES的基础上采用三重DES,即用两个56位的密钥K1K2,发送方用K1加密,K2解密,再使用K1加密。接收方则使用K1解密,K2加密,再使用K1解密,其效果相当于将密钥长度加倍。
               (3)RC-5(Rivest Cipher 5)。RC-5是由Ron Rivest(公钥算法的创始人之一)在1994年开发出来的。RC-5是在RCF2040中定义的,RSA数据安全公司的很多产品都使用了RC-5。
               (4)国际数据加密算法(International Data Encryption Algorithm,IDEA)。IDEA是在DES算法的基础上发展起来的,类似于三重DES。IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。类似于DES,IDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。
               (5)高级加密标准(Advanced Encryption Standard,AES)算法。AES算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES使用几种不同的方法来执行排列和置换运算。
               AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。
               非对称加密技术
               与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。非对称加密有两个不同的体制,如下图所示。
               
               非对称加密体制模型
               非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其他方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
               非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长、速度慢,不适合于对文件加密,而只适用于对少量数据进行加密。
               RSA(Rivest,Shamir and Adleman)算法是一种公钥加密算法,它按照下面的要求选择公钥和密钥:
               (1)选择两个大素数pq(大于10100)。
               (2)令n=p×qz=(p-l)×(q-1)。
               (3)选择dz互质。
               (4)选择e,使e×d=1(modz)。
               加密时对明文P进行以下计算得到密文C:
               C=Pe(modn
               这样公钥为(en)。解密时计算:
               P=Cd(modn
               即私钥为(dn)。
               例如,设p=3,q=11,n=33,z=20,d=7,e=3,C=P3(mod 33),P=C7(mod 33),则有:
               C=23(mod 33)=8(mod 33)=8
               P=87(mod 33)=2097152(mod 33)=2
               RSA算法的安全性是基于大素数分解的困难性。攻击者可以分解已知的n,得到pq,然后可得到z,最后用Euclid算法,由ez得到d。但是要分解200位的数,需要40亿年;分解500位的数,则需要1025年。
               密钥管理
               密钥是有生命周期的,它包括密钥和证书的有效时间,以及已撤销密钥和证书的维护时间等。密钥既然要求保密,这就涉及密钥的管理问题,任何保密也只是相对的,是有时效的。密钥管理主要是指密钥对的安全管理,包括密钥产生、密钥备份、密钥恢复和密钥更新等。
               (1)密钥产生。密钥对的产生是证书申请过程中重要的一步,其中产生的私钥由用户保留,公钥和其他信息则交于CA(Certificate Authority)中心进行签名,从而产生证书。根据证书类型和应用的不同,密钥对的产生也有不同的形式和方法。对普通证书和测试证书,一般由浏览器或固定的终端应用来产生,这样产生的密钥强度较小,不适合应用于比较重要的安全网络交易。而对于比较重要的证书,如商家证书和服务器证书等,密钥对一般由专用应用程序或CA中心直接产生,这样产生的密钥强度大,适合于重要的应用场合。
               另外,根据密钥的应用不同,也可能会有不同的产生方式。例如,签名密钥可能在客户端或RA(Register Authority)中心产生,而加密密钥则需要在CA中心直接产生。
               (2)密钥备份和恢复。在一个PKI(Public Key Infrastructure,公开密钥体系)系统中,维护密钥对的备份至关重要,如果没有这种措施,当密钥丢失后,将意味着加密数据的完全丢失,对于一些重要数据,这将是灾难性的。所以,密钥的备份和恢复也是PKI密钥管理中的重要一环。换句话说,即使密钥丢失,使用PKI的企业和组织必须仍能够得到确认,受密钥加密保护的重要信息也必须能够恢复。当然,不能让一个独立的个人完全控制最重要的主密钥,否则可能引起严重后果。
               企业级的PKI产品至少应该支持用于加密的安全密钥的存储、备份和恢复。密钥一般用口令进行保护,而口令丢失则是管理员最常见的安全疏漏之一。所以,PKI产品应该能够备份密钥,即使口令丢失,它也能够让用户在一定条件下恢复该密钥,并设置新的口令。
               (3)密钥更新。如果用户可以一次又一次地使用同样密钥与别人交换信息,那么密钥也同其他任何密码一样存在着一定的安全性问题,虽然说用户的私钥是不对外公开的,但是也很难保证私钥长期的保密性,很难保证不被泄露。如果某人偶然地知道了用户的密钥,那么用户曾经和另一个人交换的每一条消息都不再是保密的了。另外,使用一个特定密钥加密的信息越多,提供给窃听者的材料也就越多,从某种意义上来讲也就越不安全了。
               每一个由CA颁发的证书都会有有效期,密钥对生命周期的长短由签发证书的CA中心来确定,各CA系统的证书有效期限有所不同,一般为2~3年。当用户的私钥被泄露或证书的有效期快到时,用户应该更新私钥。这时用户可以废除证书,产生新的密钥对,申请新的证书。
               (4)多密钥的管理。假设在某机构中有100个人,如果他们任意两人之间可以进行秘密对话,那么总共需要多少密钥呢?每个人需要知道多少密钥呢?也许很容易得出答案,如果任何两个人之间要不同的密钥,则总共需要4950个密钥,而且每个人应记住99个密钥。如果机构的人数是1000、10 000或更多,这种办法显然就过于愚蠢了,管理密钥将是一件非常困难的事情。为此需要研究并开发用于创建和分发密钥的加密安全的方法。
               Kerberos提供了一种解决这个问题的较好方案,它是由MIT发明的,使保密密钥的管理和分发变得十分容易,但这种方法本身还存在一定的缺点。为能在因特网上提供一个实用的解决方案,Kerberos建立了一个安全的、可信任的密钥分发中心(Key Distribution Center,KDC),每个用户只要知道一个和KDC进行会话的密钥就可以了,而不需要知道成百上千个不同的密钥。
   题号导航      2014年下半年 软件评测师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第68题    在手机中做本题