免费智能真题库 > 历年试卷 > 网络工程师 > 2014年下半年 网络工程师 上午试卷 综合知识
  第42题      
  知识点:   PGP   数据加密   电子邮件   加密   认证   身份认证   数字签名   完整性
  关键词:   电子邮件   密钥   身份认证   数据加密   数据完整性   数字签名   加密   数据   完整性   邮件        章/节:   安全技术与协议       

 
PGP(Pretty Good Privacy)是一种电子邮件加密软件包,它提供数据加密数字签名两种服务,采用(42)进行身份认证,使用(43) (128位密钥)进行数据加密,使用(44)进行数据完整性验证。
 
 
  A.  RSA公钥证书
 
  B.  RSA私钥证书
 
  C.  Kerboros证书
 
  D.  DES私钥证书
 
 
 

 
  第44题    2015年下半年  
   45%
下列(44)不能提供应用层安全。
  第49题    2011年上半年  
   28%
HTTPS的安全机制工作在(48),而S-HTTP的安全机制工作在 (49)
  第48题    2011年上半年  
   51%
HTTPS的安全机制工作在(48),而S-HTTP的安全机制工作在 (49)
   知识点讲解    
   · PGP    · 数据加密    · 电子邮件    · 加密    · 认证    · 身份认证    · 数字签名    · 完整性
 
       PGP
        PGP(Pretty Good Privacy)是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。PGP并没有使用什么新的概念,它只是将现有的一些算法如MD5、RSA及IDEA等综合在一起。PGP提供数据加密和数字签名两种服务。下图所示为PGP的加密过程。
        
        PGP加密过程
        数字加密机制可以应用于本地存储文件,也可以应用于网络上传输的电子邮件。数字签名机制用于数据源身份认证和报文完整性验证。PGP使用RSA公钥证书进行身份认证,使用IDEA(128位密钥)进行数据加密,使用MD5进行数据完整性认证。
 
       数据加密
        VPN方案必须对通过公共互联网络传递的数据进行加密,确保网络其他未授权的用户无法读取该信息。
 
       电子邮件
        电子邮件(Electronic Mail,E-mail),是传统邮件的电子化,它最早出现在ARPANET中。电子邮件(E-mail)是Internet提供的最主要的应用之一,它已经成为世界上最快的邮局,成为倍受欢迎的通信方式。电子邮件通过Internet传送,可在几秒钟之内传到世界各地,不受时间、气候和地理的限制,而且可以附加传送计算机文件、图像、声音和视频等多种信息。与传统的信件相比,电子邮件具有速度快、价格低的优点。
        电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。它是一种“存储转发式”的服务,属异步通信方式,这正是电子邮件系统的核心。利用存储转发可进行非实时通信,信件发送者可随时随地发送邮件。接收者可随时打开计算机读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信件在信箱之间进行传递和交换,也可以与另一个邮件系统进行传递和交换,信箱实际上是由文件管理系统支持的一个实体。因为电子邮件是通过邮件服务器Mail Server来传递文件的。通常Mail Server是执行多任务操作系统Unix的计算机,它提供24小时的电子邮件服务,用户只需向Mail Server管理人员申请一个信箱账号,就可使用这项快速的邮件服务了。
        与普通信件一样,电子邮件也需要地址。这个地址就是在Internet电子信箱的地址。电子邮件地址就是用户在ISP所开设的邮件账号加上POP3服务器的域名。例如:liuhy@sdfi.edu.cn,在此地址中“liuhy”是用户名,也就是用户在ISP所提供的POP3服务器上所注册的电子邮件账号,“sdfi.edu.cn”是POP3服务器的域名。中间用“@”分隔,表示“at”的意思。用户发送电子邮件时,必须给出接收方的电子邮件地址。
        电子邮件的传输则是通过电子邮件简单传输协议SMTP(Simple Mail Transfer Protocol)这一系统软件来实现的。SMTP协议是TCP/IP的一部分,它用于描述邮件是如何在Internet上传输的。遍布全球的邮件服务器根据SMTP协议来发送和接收邮件,SMTP就像Internet上的通用语言一样,负责处理邮件服务器之间的消息传递。
        电子邮件的发送由简单邮件传输协议(SMTP)服务器来完成。它好比是邮局的邮筒,将信投入后,由邮局定时发送。接收邮件由邮局协议(POP3)服务器来完成,来信都存放于此,用户通过电子邮件软件来取信。
        当用户写好电子邮件后,可通过电子邮件软件(Outlook等)将它发送出去。电子邮件软件使用SMTP协议和TCP/IP协议将用户的邮件打包后,加上信件头送到用户所设置的Internet服务商(ISP)的SMTP服务器上。然后SMTP服务器根据用户所写的电子邮件地址,通过路由器按照当前网络传输的情况,寻找一条最不拥挤的路由,将邮件传输给下一个SMTP服务器。该服务器也如法炮制,将邮件一直传送到接收方用户的ISP所提供的POP3服务器中,并保存在以接收方用户开设的信箱中。接收方用户可以通过电子邮件软件打开自己在POP3服务器上的信箱,来接收电子邮件。
 
       加密
               保密与加密
               保密就是保证敏感信息不被非授权的人知道。加密是指通过将信息进行编码而使得侵入者不能够阅读或理解的方法,目的是保护数据和信息。解密是将加密的过程反过来,即将编码信息转化为原来的形式。古时候的人就已经发明了密码技术,而现今的密码技术已经从外交和军事领域走向了公开,并结合了数学、计算机科学、电子与通信等诸多学科而成为了一门交叉学科。现今的密码技术不仅具有保证信息机密性的信息加密功能,而且还具有数字签名、身份验证、秘密分存、系统安全等功能,来鉴别信息的来源以防止信息被篡改、伪造和假冒,保证信息的完整性和确定性。
               加密与解密机制
               加密的基本过程包括对原来的可读信息(称为明文或平文)进行翻译,译成的代码称为密码或密文,加密算法中使用的参数称为加密密钥。密文经解密算法作用后形成明文,解密算法也有一个密钥,这两个密钥可以相同也可以不相同。信息编码的和解码方法可以很简单也可以很复杂,需要一些加密算法和解密算法来完成。
               从破译者的角度来看,密码分析所面对的问题有三种主要的变型:①“只有密文”问题(仅有密文而无明文);②“已知明文”问题(已有了一批相匹配的明文与密文);③“选择明文”(能够加密自己所选的明文)。如果密码系统仅能经得起第一种类型的攻击,那么它还不能算是真正的安全,因为破译者完全可能从统计学的角度与一般的通信规律中猜测出一部分的明文,而得到一些相匹配的明文与密文,进而全部解密。因此,真正安全的密码机制应使破译者即使拥有了一些匹配的明文与密文也无法破译其他的密文。
               如果加密算法是可能公开的,那么真正的秘密就在于密钥了,密钥长度越长,密钥空间就越大,破译密钥所花的时间就越长,破译的可能性就越小。所以应该采用尽量长的密钥,并对密钥进行保密和实施密钥管理。
               国家明确规定严格禁止直接使用国外的密码算法和安全产品,原因主要有两点:①国外禁止出口密码算法和产品,目前所出口的密码算法都有破译手段,②国外的算法和产品中可能存在“后门”,要防止其在关键时刻危害我国安全。
               密码算法
               密码技术用来进行鉴别和保密,选择一个强壮的加密算法是至关重要的。密码算法一般分为传统密码算法(又称为对称密码算法)和公开密钥密码算法(又称为非对称密码算法)两类,对称密钥密码技术要求加密解密双方拥有相同的密钥。而非对称密钥密码技术是加密解密双方拥有不相同的密钥。
               对称密钥密码体制从加密模式上可分为序列密码和分组密码两大类(这两种体制之间还有许多中间类型)。
               序列密码是军事和外交场合中主要使用的一种密码技术。其主要原理是:通过有限状态机产生性能优良的伪随机序列,使用该序列将信息流逐比特加密从而得到密文序列。可以看出,序列密码算法的安全强度由它产生的伪随机序列的好坏而决定。分组密码的工作方式是将明文分成固定长度的组(如64比特一组),对每一组明文用同一个密钥和同一种算法来加密,输出的密文也是固定长度的。在序列密码体制中,密文不仅与最初给定的密码算法和密钥有关,同时也是被处理的数据段在明文中所处的位置的函数;而在分组密码体制中,经过加密所得到的密文仅与给定的密码算法和密钥有关,而与被处理的明数据段在整个明文中所处的位置无关。
               不同于传统的对称密钥密码体制,非对称密码算法要求密钥成对出现,一个为加密密钥(可以公开),另一个为解密密钥(用户要保护好),并且不可能从其中一个推导出另一个。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。另外,公钥加密也用来对专用密钥进行加密。
               公钥算法不需要联机密钥服务器,只在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。密钥分配协议简单,所以极大简化了密钥管理,但公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。
               密钥及密钥管理
               密钥是密码算法中的可变参数。有时候密码算法是公开的,而密钥是保密的,而密码分析者通常通过获得密钥来破译密码体制。也就是说,密码体制的安全性建立在对密钥的依赖上。所以,保守密钥秘密是非常重要的。
               密钥管理一般包括以下8个内容。
               (1)产生密钥:密钥由随机数生成器产生,并且应该有专门的密钥管理部门或授权人员负责密钥的产生和检验。
               (2)分发密钥:密钥的分发可以采取人工、自动或者人工与自动相结合的方式。加密设备应当使用经过认证的密钥分发技术。
               (3)输入和输出密钥:密钥的输入和输出应当经由合法的密钥管理设备进行。人工分发的密钥可以用明文形式输入和输出,并将密钥分段处理;电子形式分发的密钥应以加密的形式输入和输出。输入密钥时不应显示明文密钥。
               (4)更换密钥:密钥的更换可以由人工或自动方式按照密钥输入和密钥输出的要求来实现。
               (5)存储密钥:密钥在加密设备内采用明文形式存储,但是不能被任何外部设备访问。
               (6)保存和备份密钥:密钥应当尽量分段保存,可以分成两部分并且保存在不同的地方,例如一部分存储在保密设备中,另一部分存储在IC卡上。密钥的备份也应当注意安全并且要加密保存。
               (7)密钥的寿命:密钥不可以无限期使用,密钥使用得越久风险也就越大。密钥应当定期更换。
               (8)销毁密钥:加密设备应能对设备内的所有明文密钥和其他没受到保护的重要保护参数清零。
 
       认证
        认证又分为实体认证和消息认证两种。实体认证是识别通信对方的身份,防止假冒,可以使用数字签名的方法。消息认证是验证消息在传送或存储过程中有没有被篡改,通常使用报文摘要的方法。
               基于共享密钥的认证
               如果通信双方有一个共享的密钥,则可以确认对方的真实身份。这种算法依赖于一个双方都信赖的密钥分发中心(Key Distribution Center,KDC),如下图所示,其中的A和B分别代表发送者和接收者,KAKB分别表示A、B与KDC之间的共享密钥。
               
               基于共享密钥的认证协议
               认证过程如下:A向KDC发出消息{A,KA(B,KS)},说明自己要与B通信,并指定了与B会话的密钥KS。注意,这个消息中的一部分(B,KS)是用KA加密的,所以第三者不能了解消息的内容。KDC知道了A的意图后就构造了一个消息{KB(A,KS)}发给B。B用KB解密后就得到了A和KS,然后就可以与A用KS会话了。
               然而,主动攻击者对这种认证方式可能进行重放攻击。例如A代表雇主,B代表银行。第三者C为A工作,通过银行转账取得报酬。如果C为A工作了一次,得到了一次报酬,并偷听和复制了A和B之间就转账问题交换的报文,那么贪婪的C就可以按照原来的次序向银行重发报文2,冒充A与B之间的会话,以便得到第二次、第三次……报酬。在重放攻击中攻击者不需要知道会话密钥KS,只要能猜测密文的内容对自己有利或是无利就可以达到攻击的目的。
               基于公钥的认证
               这种认证协议如下图所示。A向B发出EB(A,RA),该报文用B的公钥加密。B返回EARARBKS),用A的公钥加密。这两个报文中分别有A和B指定的随机数RARB,因此能排除重放的可能性。通信双方都用对方的公钥加密,用各自的私钥解密,所以应答比较简单。其中的KS是B指定的会话键。这个协议的缺陷是假定双方都知道对方的公钥。
               
               基于公钥的认证协议
 
       身份认证
        身份认证的主要目标是检验身份,即确定合法用户的身份和权限,识别假冒他人身份的用户。认证系统可以与授权系统配合使用,在用户的身份通过认证后,根据其具有的授权来限制、其操作行为。常见的系统身份认证方式主要有入网访问控制和权限控制。
               入网访问控制
               入网访问控制为网络访问提供了第一层访问控制,限制未经授权的用户访问部分或整个信息系统。用户要访问信息系统,首先要获得授权,然后接受认证。对信息系统进行访问包含三个步骤:第一步,能够使用终端;第二步,进入系统;第三步,访问系统中的具体命令、交易、权限、程序和数据。目前,从市场上可以买到针对计算机、局域网、移动设备和拨号通信网的访问控制软件。访问控制规程要求为每个有效用户分配一个唯一的用户身份标识(UID),使用这个UID对要求访问信息系统用户的真实身份进行验证。可以使用数字证书、智能卡、硬件令牌、手机令牌、签名、语音、指纹及虹膜扫描等生物特征鉴别。
               其中,数字证书就是互联网通信中标志通信各方身份信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个权威机构——CA机构,又称证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。数字证书有两种形式,即文件证书和移动证书USBKEY。其中移动证书USBKEY是一种应用了智能芯片技术的数据加密和数字签名工具,其中存储了每个用户唯一、不可复制的数字证书,在安全性上更胜一筹,是现在电子政务和电子商务领域最流行的身份认证方式。其原理是通过USB接口与计算机相连,用户个人信息存放在存储芯片中,可由系统进行读/写,当需要对用户进行身份认证时,系统提请用户插入USBKEY并读出上面记录的信息,信息经加密处理送往认证服务器,在服务器端完成解密和认证工作,结果返回给用户所请求的应用服务。
               生物特征鉴别通过自动验证用户的生理特征或行为特征来识别身份。多数生物学测定系统的工作原理是将一个人的某些特征与预存的资料(在模板中)进行对比,然后根据对比结果进行评价。常见的测定方法如下。
               (1)脸部照片。计算机对脸部进行照相并将其与预存的照片进行对比。这种方法能够成功地完成对用户的识别,只是在识别双胞胎时不够准确。
               (2)指纹扫描。当用户登录时,可扫描用户的指纹并将其与预存的指纹进行对比,确定是否匹配。
               (3)手型识别。这种方法与指纹扫描非常类似,不同之处在于验证人员使用类似于电视的照相机对用户的手进行拍照,然后将手的某些特征(如手指长度和厚度等)与计算机中存储的信息进行对比。
               (4)虹膜扫描。这种技术是使用眼睛中有颜色的一部分来确定个人身份的方法,通过对眼睛进行拍照并对照片进行分析来确定用户身份,结果非常准确。
               (5)视网膜扫描。这种方法对视网膜上的血管进行扫描,将扫描结果与预存的照片进行对比。
               (6)语音扫描。这种方法通过对比用户的语音与计算机中预存的语音来验证用户身份。
               (7)签名。将签名与预存的有效签名进行对比。
               (8)击键动态。将用户键盘压力和速度与预存的信息进行对比。
               (9)还有脸部温度测定等方法。
               网络的权限控制
               网络权限控制是针对网络非法操作所提出的一种安全保护措施。用户和用户组被赋予一定的权限。网络控制用户和用户组可以访问哪些目录、子目录、文件和其他资源;可以指定用户对这些文件、目录、设备能够执行哪些操作;可以根据访问权限将用户分为特殊用户(系统管理员)和一般用户,系统管理员根据用户的实际需要为他们分配操作权限。网络应允许控制用户对目录、文件、设备的访问。用户在目录一级指定的权限对所有文件和子目录均有效,用户还可进一步指定目录下子目录和文件的权限。对目录和文件的访问权限一般有八种:系统管理员权限、读权限、写权限、创建权限、删除权限、修改权限、文件查找权限、存取控制权限。
 
       数字签名
        传统商务活动中,我们通过手写签名达到确认信息的目的。电子商务活动中,交易双方互不见面,可以通过数字签名确认信息。数字签名技术有效解决了电子商务交易活动中信息的完整性和不可抵赖性问题。
               数字摘要
                      数字摘要的基本概念
                      数字摘要是利用哈希函数对原文信息进行运算后生成的一段固定长度的信息串,该信息串被称为数字摘要。产生数字摘要的哈希算法具有单向性和唯一性的特点。所谓单向性,也称为不可逆性,是指利用哈希算法生成的数字摘要,无法再恢复出原文;唯一性是指相同信息生成的数字摘要一定相同,不同信息生成的数字摘要一定不同。这一特征类似于人类的指纹特征,因此数字摘要也被称为数字指纹。
                      数字摘要的使用过程
                      数字摘要具有指纹特征,因此可以通过对比两个信息的数字摘要是否相同来判断信息是否被篡改过,从而验证信息的完整性。
                      数字摘要的使用过程如下图所示。
                      
                      数字摘要的使用过程
                      (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签名机制采用非确定性的双钥体制,对同一消息的签名,根据签名算法中随机参数选择的不同而不同,是一种随机式数字签名。
 
       完整性
        完整性(Integrity)是指网络信息或系统未经授权不能进行更改的特性。例如,电子邮件在存储或传输过程中保持不被删除、修改、伪造、插入等。完整性也被称为网络信息系统CIA三性之一,其中I代表Integrity。完整性对于金融信息系统、工业控制系统非常重要,可谓“失之毫厘,差之千里”。
   题号导航      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 /
 
第42题    在手机中做本题