免费智能真题库 > 历年试卷 > 网络工程师 > 2012年下半年 网络工程师 上午试卷 综合知识
  第42题      
  知识点:   数字签名   数字证书   数字签名   数字证书   消息   真实性
  关键词:   数字签名   数字证书   消息   真实性        章/节:   安全技术与协议   网络安全       

 
用户B收到用户A带数字签名消息M,为了验证M的真实性,首先需要从CA 获取用户A的数字证书,并利用(42)验证该证书的真伪,然后利用(43)验证M的真实性
 
 
  A.  CA的公钥
 
  B.  B的私钥
 
  C.  A的公钥
 
  D.  B的公钥
 
 
 

 
  第44题    2019年上半年  
   27%
用户A和B要进行安全通信,通信过程需确认双方身份和消息不可否认,A、B通信时可使用(43)来对用户的身份进行认证,使用(44)确..
  第40题    2018年上半年  
   34%
在安全通信中,A将所发送的信息使用(40)进行数字签名,B收到该消息后可利用(41)验证该消息的真实性。
  第43题    2016年下半年  
   35%
下面不属于数字签名作用的是(43)。
 
  第41题    2010年上半年  
   15%
杀毒软件报告发现病毒Macro.Melissa,由该病毒名称可以推断出病毒类型是(40), 这类病毒主要感染目标是(41)。
  第45题    2016年下半年  
   27%
DES加密算法的密钥长度为56位,三重DES的密钥长度为(45)位。
  第43题    2017年上半年  
   53%
以下加密算法中,适合对大量的明文消息进行加密传输的是( )。
   知识点讲解    
   · 数字签名    · 数字证书    · 数字签名    · 数字证书    · 消息    · 真实性
 
       数字签名
               基于密钥的数字签名
               基于密钥的数字签名系统中要有收、发双方共同信赖的仲裁人,如下图所示。其中,BB是AB共同信赖的仲裁人,KAKB分别是AB与BB之间的密钥,KBB是只有BB掌握的密钥,PA发给B的消息,t是时间戳。由BB解读A发的报文,然后产生一个签名的消息KBBA,t,P),并装配成发给B的报文;B可以解密该报文,阅读消息P,并保留证据。
               
               基于密钥的数字签名
               基于公钥的数字签名
               利用公钥加密算法的数字签名系统如下图所示。这样的签名方法是符合可靠性原则的,即:签字是可以被确认的;签字是无法被伪造的;签字是无法重复使用的;文件被签字以后是无法被窜改的;签字具有无可否认性。如果A方否认了,B可以拿出DAP),并用A的公钥EA解密得到P,从而证明PA发送的;如果B把消息窜改了,当A要求B出示原来的DAP)时,B拿不出来。
               
               基于公钥的数字签名
 
       数字证书
               数字证书的概念
               数字证书解决了公开密钥密码体制下密钥的发布和管理问题。用户可以公开其公钥,而保留其私钥。一般包含用户身份信息、用户公钥信息以及身份验证机构数字签名的数据。
               数字证书是一个经证书认证中心(CA)数字签名的包含公开密钥拥有者信息以及公开密钥的文件。认证中心(CA)作为权威的、可信赖的、公正的第三方机构,专门负责为各种认证需求提供数字证书服务。目前得以广泛使用的证书标准是X.509。下表所示为X.509数字证书中的各个数字域的含义。
               
               X.509数字证书中的各个数字域的含义
               证书的获取
               任何一个用户要得到CA的公钥,就能得到该CA为该用户签署的公钥。由于证书是不可伪造的,因此对于存放证书的目录无须施加特别的保护。
               由于一个公钥用户拥有的可信任管理中心数量有限,要与大量不同管理域的用户建立安全通信需要CA间建立信任关系。一个证书链是从一个自签名的根证书开始,前一个证书主体是后一个证书的发放者。也就是说,该主体对后一个证书进行签名。一般来说,对证书链的处理需要考虑每个证书相关的信任关系。
               证书的吊销
               用户的数字到了有效期的终止时间、用户私钥已被泄露、用户放弃使用原CA的服务、CA私钥泄露都需要吊销用户的数字证书。为此,CA维护有一个证书吊销列表(CRL),以供用户查询。
 
       数字签名
        传统商务活动中,我们通过手写签名达到确认信息的目的。电子商务活动中,交易双方互不见面,可以通过数字签名确认信息。数字签名技术有效解决了电子商务交易活动中信息的完整性和不可抵赖性问题。
               数字摘要
                      数字摘要的基本概念
                      数字摘要是利用哈希函数对原文信息进行运算后生成的一段固定长度的信息串,该信息串被称为数字摘要。产生数字摘要的哈希算法具有单向性和唯一性的特点。所谓单向性,也称为不可逆性,是指利用哈希算法生成的数字摘要,无法再恢复出原文;唯一性是指相同信息生成的数字摘要一定相同,不同信息生成的数字摘要一定不同。这一特征类似于人类的指纹特征,因此数字摘要也被称为数字指纹。
                      数字摘要的使用过程
                      数字摘要具有指纹特征,因此可以通过对比两个信息的数字摘要是否相同来判断信息是否被篡改过,从而验证信息的完整性。
                      数字摘要的使用过程如下图所示。
                      
                      数字摘要的使用过程
                      (1)发送方将原文用哈希(Hash)算法生成数字摘要1;
                      (2)发送方将原文同数字摘要1一起发送给接收方;
                      (3)接收方收到原文后用同样的哈希(Hash)算法对原文进行运算,生成新的数字摘要2;
                      (4)接收方将收到的数字摘要1与新生成的数字摘要2进行对比,若相同,说明原文在传输的过程中没有被篡改,否则说明原文信息发生了变化。
                      数字摘要算法
                      哈希(Hash)算法是实现数字摘要的核心技术。数字摘要所产生的信息串的长度和所采用的哈希算法有直接关系。目前广泛应用的哈希算法有MD5算法和SHA-1算法。
                      MD5算法的全称是“Message-Digest Alogrithm 5”,诞生于1991年,由国际著名密码学家、RSA算法的创始人Ron Rivest设计发明,经MD2、MD3和MD4发展而来。MD5算法生成的信息摘要的长度为128位。
                      SHA算法的全称是“Secure Hash Alogrithm”,诞生于1993年,由美国国家标准技术研究院(NIST)与美国国家安全局(NSA)设计。SHA(后来被称作SHA-0)于1995年被SHA-1替代,之后又出现了SHA-224、SHA-256、SHA-384和SHA-512等,这些被统称为SHA-2系列算法。SHA-1算法生成的信息摘要的长度为160位,而SHA-2系列算法生成的信息摘要的长度则有256位(SHA-256)、384位(SHA-384)、512位(SHA-512)等。与MD5算法相比,SHA算法具有更高的安全性。
                      MD5算法和SHA算法在实际中有着广泛的应用。与公钥技术结合,生成数字签名。目前几乎主要的信息安全协议中都使用了SHA-1或MD5算法,包括SSL、TLS、PGP、SSH、S/MIME和IPSec等。UNIX系统及不少论坛/社区系统的口令都通过MD5算法处理后保存,确保口令的安全性。
                      需要说明的是,2004年8月,在美国加州圣芭芭拉召开的国际密码学会议上,我国山东大学王小云教授宣布了她及她的研究小组对MD5、HAVAL-128、MD4和RIPEMD等四个著名密码算法的破译结果。2005年2月,王小云教授又破解了另一国际密码算法SHA-1。这为国际密码学研究提出了新的课题。
               数字签名
                      数字签名的基本概念
                      在ISO 7498-2标准中,数字签名被定义为:“附加在数据单元上的一些数据,或是对数据单元所做的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。实际上,简单地讲,数字签名就是在网络中传送信息报文时,附加一个特殊的唯一代表发送者个人身份的标记,以起到传统上手写签名或印章确认的作用。
                      数字签名建立在数字摘要的基础上,结合公钥加密技术实现。发送者应用自己的私钥对数字摘要进行加密,即生成数字签名。由于发送者的私钥仅为发送者本人所有,所以附加了数字签名的信息能够确认消息发送者的身份,也防止了发送者对本人所发送信息的抵赖行为。同时通过数字摘要技术,接收者可以验证信息是否发生了改变,从而确定信息的完整性。
                      数字签名的使用过程
                      数字签名的使用过程包括签名和验证两部分,如下图所示。
                      
                      数字签名的使用过程
                      (1)发送方将原文用哈希(Hash)算法生成数字摘要Z;
                      (2)发送方将数字摘要Z用自己的私钥加密;
                      (3)发送方将加密后的数字摘要Z(即数字签名)同原文一起发送给接收方;
                      (4)接收方用发送方的公钥解密数字签名,得到数字摘要Z;
                      (5)接收方对接收到的原文用同样的哈希(Hash)算法生成数字摘要Z′;
                      (6)比较Z和Z′,若二者相同,说明信息完整且发送者身份是真实的。
                      由以上过程可以看到,数字签名具有以下两个作用:
                      (1)确认信息的完整性。接收方将原文生成的数字摘要与用接收到的原文生成的新的数字摘要进行对比,相同则说明信息没有改变,不同则说明信息内容发生了变化。因此数字签名能够验证信息是否被修改,从而确定信息的完整性。
                      (2)确认信息发送者的身份,保证发送信息的不可抵赖性。发送者用自己的私钥对数字摘要进行加密,接收者如果能用对应的公钥进行解密,则说明信息一定是由该发送者发送的,从而确认了发送者的身份。此外,由于发送者的私钥是发送者本人拥有(除非丢失、泄露或被窃取),所以发送者不能否认自己曾经发送过的信息。
                      数字签名的种类
                      实现数字签名的基本方法有以下几种。
                      (1)RSA签名。RSA签名是基于RSA算法实现数字签名的方案,ISO/IEC 9796和ANSI X9.30-199X已将RSA作为建议数字签名的标准算法。
                      (2)ElGamal签名。ElGamal签名是专门为签名目的而设计。该机制由T.ElGamal于1985年提出,经修正后,被美国国家标准与技术学会(NIST)作为数字签名标准(Digital Signature Standard,DSS)。
                      RSA签名基于大整数素数分解的困难性,ElGamal签名基于求离散对数的困难性。在RSA签名机制中,明文与密文一一对应,对特定信息报文的数字签名不变化,是一种确定性数字签名。ElGamal签名机制采用非确定性的双钥体制,对同一消息的签名,根据签名算法中随机参数选择的不同而不同,是一种随机式数字签名。
 
       数字证书
        数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方数字证书的有效性,从而解决相互间的信任问题。
        数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密和解密。每个用户自己设定一个特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名,同时设定一个公共密钥(公钥),并由本人公开,为一组用户所共享,用于加密和验证。公开密钥技术解决了密钥发布的管理问题。一般情况下,证书中还包括密钥的有效时间、发证机构(证书授权中心)的名称及该证书的序列号等信息。数字证书的格式遵循ITUT X.509国际标准。
        用户的数字证书由某个可信的证书发放机构(Certification Authority,CA)建立,并由CA或用户将其放入公共目录中,以供其他用户访问。目录服务器本身并不负责为用户创建数字证书,其作用仅仅是为用户访问数字证书提供方便。
        在X.509标准中,数字证书的一般格式包含的数据域如下。
        (1)版本号:用于区分X.509的不同版本。
        (2)序列号:由同一发行者(CA)发放的每个证书的序列号是唯一的。
        (3)签名算法:签署证书所用的算法及参数。
        (4)发行者:指建立和签署证书的CA的X.509名字。
        (5)有效期:包括证书有效期的起始时间和终止时间。
        (6)主体名:指证书持有者的名称及有关信息。
        (7)公钥:有效的公钥以及其使用方法。
        (8)发行者ID:任选的名字唯一地标识证书的发行者。
        (9)主体ID:任选的名字唯一地标识证书的持有者。
        (10)扩展域:添加的扩充信息。
        (11)认证机构的签名:用CA私钥对证书的签名。
               证书的获取
               CA为用户产生的证书应具有以下特性:
               (1)只要得到CA的公钥,就能由此得到CA为用户签署的公钥。
               (2)除CA外,其他任何人员都不能以不被察觉的方式修改证书的内容。
               因为证书是不可伪造的,因此无须对存放证书的目录施加特别的保护。
               如果所有用户都由同一CA签署证书,则这一CA必须取得所有用户的信任。用户证书除了能放在公共目录中供他人访问外,还可以由用户直接把证书转发给其他用户。用户B得到A的证书后,可相信用A的公钥加密的消息不会被他人获悉,还可信任用A的私钥签署的消息不是伪造的。
               如果用户数量很多,仅一个CA负责为所有用户签署证书可能不现实。通常应有多个CA,每个CA为一部分用户发行和签署证书。
               设用户A已从证书发放机构X1处获取了证书,用户B已从X2处获取了证书。如果A不知X2的公钥,他虽然能读取B的证书,但却无法验证用户B证书中X2的签名,因此B的证书对A来说是没有用处的。然而,如果两个证书发放机构X1和X2彼此间已经安全地交换了公开密钥,则A可通过以下过程获取B的公开密钥:
               (1)A从目录中获取由X1签署的X2的证书X1《X2》,因为A知道X1的公开密钥,所以能验证X2的证书,并从中得到X2的公开密钥。
               (2)A再从目录中获取由X2签署的B的证书X2《B》,并由X2的公开密钥对此加以验证,然后从中得到B的公开密钥。
               在以上过程中,A是通过一个证书链来获取B的公开密钥的,证书链可表示为
               X1《X2》X2《B》
               类似地,B能通过相反的证书链获取A的公开密钥,表示为
               X2《X1》X1《A》
               以上证书链中只涉及两个证书。同样,有N个证书的证书链可表示为
               X1《X2X2《X3》…XN《B》
               此时,任意两个相邻的CAXi和CAXi+1已彼此间为对方建立了证书,对每一个CA来说,由其他CA为这一CA建立的所有证书都应存放于目录中,并使得用户知道所有证书相互之间的连接关系,从而可获取另一用户的公钥证书。X.509建议将所有的CA以层次结构组织起来,用户A可从目录中得到相应的证书以建立到B的以下证书链:
               X《W》W《V》V《U》U《Y》Y《Z》Z《B》
               并通过该证书链获取B的公开密钥。
               类似地,B可建立以下证书链以获取A的公开密钥:
               X《W》W《V》V《U》U《Y》Y《Z》Z《A》
               证书的吊销
               从证书的格式上可以看到,每个证书都有一个有效期,然而有些证书还未到截止日期就会被发放该证书的CA吊销,这可能是由于用户的私钥已被泄漏,或者该用户不再由该CA来认证,或者CA为该用户签署证书的私钥已经泄漏。为此,每个CA还必须维护一个证书吊销列表(Certificate Revocation List,CRL),其中存放所有未到期而被提前吊销的证书,包括该CA发放给用户和发放给其他CA的证书。CRL还必须由该CA签字,然后存放于目录中以供他人查询。
               CRL中的数据域包括发行者CA的名称、建立CRL的日期、计划公布下一CRL的日期以及每个被吊销的证书数据域。被吊销的证书数据域包括该证书的序列号和被吊销的日期。对一个CA来说,它发放的每个证书的序列号是唯一的,所以可用序列号来识别每个证书。
               因此,每个用户收到他人消息中的证书时都必须通过目录检查这一证书是否已经被吊销,为避免搜索目录引起的延迟以及因此而增加的费用,用户自己也可维护一个有效证书和被吊销证书的局部缓存区。
 
       消息
        消息是对象间通信的手段、一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,并不能指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。
 
       真实性
        真实性是指网络空间信息与实际物理空间、社会空间的客观事实保持一致性。例如,网络谣言信息不符合真实情况,违背了客观事实。
   题号导航      2012年下半年 网络工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第42题    在手机中做本题