免费智能真题库 > 历年试卷 > 软件设计师 > 2013年上半年 软件设计师 上午试卷 综合知识
  第7题      
  知识点:   加密技术和认证技术   报文摘要   报文摘要算法   摘要
  关键词:   报文摘要算法   报文   算法        章/节:   网络与信息安全知识       

 
利用报文摘要算法生成报文主要的目的是 (7)。
 
 
  A.  验证通信对方的身份,防止假冒
 
  B.  对传输数据进行加密,防止数据被窃听
 
  C.  防止发送方否认发送过数据
 
  D.  防止发送的报文被篡改
 
 
 

 
  第7题    2020年下半年  
   19%
以下关于认证和加密的叙述中,错误的是( )。
  第9题    2021年上半年  
   45%
下列算法中属于非对称加密算法的是( )。
  第9题    2012年上半年  
   31%
IIS6.0支持的身份验证安全机制有4种验证方法,其中安全级别最高的验证方法是(9)。
   知识点讲解    
   · 加密技术和认证技术    · 报文摘要    · 报文摘要算法    · 摘要
 
       加密技术和认证技术
               加密技术
               1)加密技术概述
               加密技术是最常用的安全保密手段,数据加密技术的关键在于加密/解密算法和密钥管理。加密技术包括两个元素,即算法和密钥。数据加密的基本过程就是对原来为明文的文件或数据按某种加密算法进行处理,使其成为不可读的一段代码,通常称为"密文"。"密文"只能在输入相应的密钥之后才能显示出原来的内容,通过这样的途径达到保护数据不被窃取。
               数据加密和解密是一对逆过程。数据加密是用加密算法E和加密密钥K1,将明文P变换成密文C,记为
               C=EK1(P)
               数据解密是数据加密的逆过程,是用解密算法D和解密密钥K2将密文C变换成明文P,记为
               P=DK2(C)
               数据加密技术可分成3类,即对称加密、非对称加密和不可逆加密。
               (1)对称加密技术。对称加密的体制模型如下图所示。
               
               对称加密的体制模型
               常用的对称加密算法有以下几个。
               .数据加密标准(Digital Encryption Standard,DES)算法。
               .三重DES(3DES或称TDES)。
               .RC-5(Rivest Cipher 5)。
               .国际数据加密算法(International Data Encryption Algorithm,IDEA)。
               (2)非对称加密技术。与对称加密算法不同,非对称加密算法需要两个密钥,即公开密钥(即公钥)和私有密钥(即私钥)。这里的"公钥"是指可以对外公布的,"私钥"只能由持有人知道。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,则只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。
               非对称加密有两个不同的体制,如下图所示。
               
               非对称加密的体制模型
               非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其他方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
               非对称加密算法的保密性能好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长、速度慢,不适合对文件加密,而只适用于对少量数据进行加密。
               2)密钥管理
               密钥管理主要是指密钥对的安全管理,包括密钥产生、密钥备份和恢复、密钥更新以及多密钥管理。
               认证技术
               1)认证技术概述
               认证技术主要解决网络通信过程中通信双方的身份认证。认证的过程涉及加密和密钥交换。通常,加密可使用对称加密、不对称加密及两种加密方法的混合方法。认证一般有账户名/口令认证、使用摘要算法认证、基于PKI(Public Key Infrastructure,公开密钥体系)的认证等几种方法。一个有效的PKI系统必须是安全的和透明的,用户在获得加密和数字签名服务时,不需要详细了解PKI的内部运行机制。
               PKI是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及必需的密钥和证书管理体系。简单地说,PKI是通过使用公开密钥技术和数字证书来确保系统信息安全并负责验证数字证书持有者身份的一种体系。PKI技术是安全信息技术的核心,也是电子商务的关键和基础技术。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等基本构成部分。
               2)哈希函数与信息摘要
               Hash(哈希)函数(又称散列函数)提供了这样一种计算过程:输入一个长度不固定的字符串,返回一串定长度的字符串(又称Hash值)。单向Hash函数用于产生信息摘要。
               信息摘要简要地描述了一份较长的信息或文件,它可以被看作一份长文件的"数字指纹"。信息摘要用于创建数字签名。
               3)数字签名
               数字签名是通过一个单向散列函数对要传送的报文进行处理得到的,用以认证报文来源并核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题,应用范围十分广泛,如加密信件、商务信函、订货购买系统、远程金融交易、自动模式处理等。
               数字签名和数字加密的过程虽然都使用公开密钥体系,但实现的过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密,这是一个一对多的关系,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。数字加密则使用的是接收方的密钥对,这是多对一的关系,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。另外,数字签名只采用了非对称密钥加密算法,它能保证发送信息的完整性、身份认证和不可否认性,而数字加密则采用了对称密钥加密算法和非对称密钥加密算法相结合的方法,它能保证发送信息的保密性。
               4)SSL协议
               SSL(Secure Sockets Layer)是网景(Netscape)公司提出的基于Web应用的安全协议,又叫安全套接层协议。
               SSL协议主要提供三方面的服务:用户和服务器的合法性认证;加密数据以隐藏被传送的数据;保护数据的完整性,目的是在两个通信应用程序之间提供私密性和可靠性。对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性。
               5)数字时间戳技术
               数字时间戳技术是数字签名技术的一种变种。数字时间戳服务(Digital Time-stamp Service,DTS)是网上电子商务提供的安全服务项目之一,能提供电子文件的日期和时间信息的安全保护。
               时间戳(Time-stamp)是一个经加密后形成的凭证文档,它包括以下3个部分。
               .需加时间戳的文件的摘要。
               .DTS收到文件的日期和时间。
               .DTS的数字签名。
               一般来说,时间戳产生的过程为:用户首先将需要时间戳的文件用Hash编码加密形成摘要,然后将该摘要发送到DTS,DTS在加入收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。
 
       报文摘要
        用于差错控制的报文检验是根据冗余位检查报文是否受到信道干扰的影响,与之类似的报文摘要方案是计算密码校验和,即固定长度的认证码,附加在消息后面发送,根据认证码检查报文是否被篡改。设M是可变长的报文,K是发送者和接收者共享的密钥,令MD=CKM),这就是算出的报文摘要(Message Digest),如下图所示。由于报文摘要是原报文唯一的压缩表示,代表了原来报文的特征,所以也叫做数字指纹(Digital Fingerprint)。
        
        报文摘要方案
        散列(Hash)算法将任意长度的二进制串映射为固定长度的二进制串,这个长度较小的二进制串称为散列值。散列值是一段数据唯一的、紧凑的表示形式。如果对一段明文只更改其中的一个字母,随后的散列变换都将产生不同的散列值。因为要找到散列值相同的两个不同的输入在计算上是很困难的,所以数据的散列值可以检验数据的完整性。
        通常的实现方案是对任意长的明文M进行单向散列变换,计算固定长度的位串作为报文摘要。对Hash函数h=HM)的要求如下:
        (1)可用于任意大小的数据块。
        (2)能产生固定大小的输出。
        (3)软/硬件容易实现。
        (4)对于任意m,找出x,满足Hx)=m,是不可计算的。
        (5)对于任意x,找出yx,使得Hx)=Hy),是不可计算的。
        (6)找出(xy),使得Hx)=Hy),是不可计算的。
        前3项要求显而易见是实际应用和实现的需要。第4项要求就是所谓的单向性,这个条件使得攻击者不能由偷听到的m得到原来的x。第5项要求是为了防止伪造攻击,使得攻击者不能用自己制造的假消息y冒充原来的消息x。第6项要求是为了对付生日攻击的。
        报文摘要可以用于加速数字签名算法,在下图中,BB发给B的报文中报文P实际上出现了两次,一次是明文,一次是密文,这显然增加了传送的数据量。如果改成下图所示的报文,KBB(A,t,P)减少为MDP),则传送过程可以大大加快。
        
        报文摘要的例子
 
       报文摘要算法
        MD5是MIT的Ron Rivest(RFC 1321)提出的。算法以任意长的报文作为输入,算法的输出是产生一个128位的报文摘要。输出的摘录用4个字d0d1、d2、d3表示,在计算开始时分别初始化为常数,然后一直参与算法,其值不断被改编,直到作为最后结果输出。
        最初值:d0=01234567H,d1=89abcdefH,d2=fedcba98H,d3=76543210H。
        输入报文首先被填充,使其成为16的倍数,然后被分成512bit的等长块,逐块处理。每块处理分4遍扫描,在每遍扫描时对d0d1、d2、d3使用不同的扰乱函数。扰乱函数将报文的分组和相应di进行函数运算,这样每遍扫描将每个d0d1、d2、d3报文内容进行了更新。在处理前将当前摘录备份,在处理后将这个备份加到新产生的信息摘录上,并将其作为下一块处理时的摘录当前值。最后一块信息处理之后的信息摘录d0d1d2、d3当前值,即为最终的信息摘录值。
        扰乱函数计算使用了取整、二进制求补、二进制与运算、二进制或运算、半加运算、二进制加运算和循环左移运算等。
 
       摘要
        摘要说明所设计的系统的名称、目标和功能。
   题号导航      2013年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第7题    在手机中做本题