免费智能真题库 > 历年试卷 > 程序员 > 2020年下半年 程序员 上午试卷 综合知识
  第17题      
  知识点:   认证   认证技术   身份认证
  章/节:   网络与信息安全基础知识       

 
身份认证是证实需要认证的客户真实身份与其所声称的身份是否相符的验证过程。目前计算机及网络系统中常用的身份认证技术主要有用户名/密码方式、智能卡认证、动态口令、生物特征认证等。生物特征认证不包括( )。
 
 
  A.  指纹
 
  B.  面部识别
 
  C.  虹膜
 
  D.  击键特征
 
 
 

 
  第15题    2009年下半年  
   56%
能防范重放攻击的技术是(15)
  第15题    2009年上半年  
   25%
下面关于加密的说法中,错误的是(15)。
  第18题    2016年上半年  
   35%
数字签名通常采用(17)对消息摘要进行加密,接收方采用(18)来验证签名。
   知识点讲解    
   · 认证    · 认证技术    · 身份认证
 
       认证
        认证又分为实体认证和消息认证两种。实体认证是识别通信对方的身份,防止假冒,可以使用数字签名的方法。消息认证是验证消息在传送或存储过程中有没有被篡改,通常使用报文摘要的方法。
               基于共享密钥的认证
               如果通信双方有一个共享的密钥,则可以确认对方的真实身份。这种算法依赖于一个双方都信赖的密钥分发中心(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指定的会话键。这个协议的缺陷是假定双方都知道对方的公钥。
               
               基于公钥的认证协议
 
       认证技术
        在电子商务交易过程中,交易双方互不见面,如何保证信息发送方和信息接收方的真实性,如何保证交易双方对信息的认可,是必须要解决的重要问题。身份认证、数字摘要、数字签名、数字时间戳等技术是电子商务交易活动中常用的认证技术。
               身份认证
               身份认证技术在电子商务信息安全中处于非常重要的地位,是其他安全机制的基础。只有实现了有效的身份鉴别,才能保证访问控制、安全审计、入侵防范等安全机制的有效实施。
                      身份认证的概念
                      身份认证也称为身份识别或身份鉴别。在电子商务活动过程中,通过身份认证鉴别互联网上用户身份的真实性,保证访问的可控制性以及通信过程的不可抵赖性和信息的完整性。这些问题一方面要通过数字摘要、数字签名等技术来解决,另一方面还需要通过数字认证中心等权威机构负责仲裁和信誉保证。只有这样,电子商务活动才能顺利开展。
                      身份认证的方法
                      现实生活中,人们可以通过出示身份证、驾驶证、工作证等证件证明自己的真实身份。网络环境中,身份认证通常基于以下几种方式进行。
                      (1)口令方式。口令方式是最简单的一种身份认证方式。我们登录电子邮箱,输入用户名、密码等账户信息就是一种基于口令方式的身份认证。基于口令方式进行身份认证的基本原理是将用户输入的口令与系统所保存的口令信息进行比较,进而判断用户身份是否合法。口令方式简单易行,但安全性不高。随着计算机等技术的不断进步和发展,攻击者很容易通过口令猜测、穷举、字典攻击等方式窃取口令。此外,以明文方式传递的口令的安全性还建立在对系统管理员信任的基础上。
                      (2)标记方式。标记方式是通过验证用户持有的某种物理介质,如智能卡、IC卡、磁卡等,判断用户的真实身份。
                      (3)人体生物特征方式。人体生物特征方式是指利用人体生物学特征如指纹、声音、虹膜、DNA等判断用户的真实身份。这些人体生物特征具有因个体不同而不同的特性,因此基于人体生物特征的身份识别是一种很准确和严格的识别方式,但应用成本较高,更适用于保密性要求较高的场合。
                      实际应用过程中,以上三种方式往往会结合起来使用。根据结合使用方式的个数,身份认证方式又可分为单因素认证、双因素认证和多因素认证。单独使用一种方式进行的身份认证称为单因素认证,将两种方式结合使用进行的身份认证称为双因素认证,以次类推,将三种以上方式结合使用进行的身份认证称为多因素认证。以在ATM机上使用银行卡为例,当用户在ATM机上插入银行卡后,ATM机还会要求用户输入正确的密码后方可进入系统进行相关操作,这一身份认证过程同时使用了标记和口令方式进行身份认证,是一种双因素认证方式。
               数字签名
               传统商务活动中,我们通过手写签名达到确认信息的目的。电子商务活动中,交易双方互不见面,可以通过数字签名确认信息。数字签名技术有效解决了电子商务交易活动中信息的完整性和不可抵赖性问题。
                      数字摘要
                             数字摘要的基本概念
                             数字摘要是利用哈希函数对原文信息进行运算后生成的一段固定长度的信息串,该信息串被称为数字摘要。产生数字摘要的哈希算法具有单向性和唯一性的特点。所谓单向性,也称为不可逆性,是指利用哈希算法生成的数字摘要,无法再恢复出原文;唯一性是指相同信息生成的数字摘要一定相同,不同信息生成的数字摘要一定不同。这一特征类似于人类的指纹特征,因此数字摘要也被称为数字指纹。
                             数字摘要的使用过程
                             数字摘要具有指纹特征,因此可以通过对比两个信息的数字摘要是否相同来判断信息是否被篡改过,从而验证信息的完整性。
                             数字摘要的使用过程如下图所示。
                             
                             数字摘要的使用过程
                             (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签名机制采用非确定性的双钥体制,对同一消息的签名,根据签名算法中随机参数选择的不同而不同,是一种随机式数字签名。
               数字证书与认证机构
               传统商务活动中,我们通过出示身份证、营业执照等证件证明我们的合法身份。身份证由公安部门发放,营业执照由工商管理部门发放,他们是大家信任的第三方权威机构,由他们所发放的身份或资格证明受到大家的认可。电子商务活动中,不见面的双方证明自己的真实身份,通过数字证书及其发放机构认证中心实现。
                      数字证书
                             数字证书的基本概念
                             数字证书(Digital Certification)是标识网络用户身份的电子文档,该电子文档由权威的第三方认证机构CA负责发放。数字证书包含用户的基本数据信息及公钥信息、颁发证书的CA的相关信息,并由CA进行数字签名,保证其真实性。数字证书类似于现实生活中的身份证、营业执照、军官证等证件,起到了证明网络用户身份及其公钥合法性的作用。
                             数字证书的分类
                             数字证书在网络活动中的应用领域与范围越来越广,按照其功能与用途进行分类主要有个人证书、单位证书、服务器证书、代码签名证书、CA证书。
                             (1)个人证书。用于证实参与个人网上交易、网上支付、电子邮件等业务时的用户身份。此类证书包含个人用户的身份信息、个人用户的公钥以及证书机构签发的签名等。
                             (2)单位证书。用于证明参与网络活动的企业的身份,包括单位身份证书、单位E-mail证书、部门证书、职位证书等多种类型。
                             (3)服务器证书。用于证实网络交易中服务器(如银行服务器、商家服务器)的身份及公钥。
                             (4)代码签名证书。用于证明软件开发者的身份。使用代码签名证书,用户可以验证软件的来源是否是真实的开发者,同时也可以确认软件的完整性,保证软件在接收过程中没有被篡改。
                             (5)CA证书。用户也可能需要验证CA的真实性,CA证书就是用来证明CA真实身份的证书。
                             数字证书的内容
                             数字证书遵循国际流行的ITU-Trec.X.509标准。数字证书的内容可分为两部分:数字证书拥有者的信息和颁发数字证书的CA的信息。
                             数字证书拥有者的信息主要包括:
                             (1)数字证书的版本信息。
                             (2)数字证书的序列号。每个数字证书都有一个唯一的证书序列号,用以识别证书。当证书被撤销时,数字证书序列号会被放入证书撤销列表中。
                             (3)数字证书的有效期。包括有效起始日期和有效终止日期,超过该日期范围,数字证书无效。
                             (4)数字证书的主题。证书拥有者的名称。
                             (5)公钥信息。数字证书拥有者的公钥信息,包括公钥加密体制算法名称及公钥的字符串信息,该项只适用于RSA加密算法体制。
                             (6)缩略图。即该证书的数字摘要,用以验证证书的完整性。
                             (7)缩略图算法。生成该证书数字摘要的算法。
                             (8)其他扩展信息。
                             颁发数字证书的CA的信息主要包括:
                             (1)数字证书颁发者的信息。包括CA的名称等。
                             (2)数字证书颁发者的数字签名。CA对颁发的证书的签名。
                             (3)数字签名算法。数字证书颁发者CA使用的数字签名算法。
                             数字证书的工作原理
                             使用数字证书就像我们平常使用身份证一样,当发送方发送信息给接收方时,发送方将信息与自己的数字证书一同发送给接收方,接收方通过验证数字证书确认发送方的身份。具体过程如下:
                             (1)接收方首先验证证书的真实性。接收方用CA的公钥解开CA对数字证书的签名,如果没有错误,说明证书是经过有效认证的。
                             (2)接收方验证证书的完整性。接收方采用数字证书中提供的数字摘要算法对数字证书进行运算生成数字摘要,再与数字证书中的数字摘要进行对比,如果一致,说明证书没有被篡改,验证了其完整性。
                             经过以上验证,确认了数字证书的真实性和可靠性,从而认证了信息发送方的身份。
                             在数字证书的使用过程中,涉及数字证书的有效性问题。如果数字证书无效,也就无须验证。有效的数字证书需满足以下三个条件:
                             (1)数字证书没有过期。数字证书的内容中包含数字证书的有效起始日期和有效终止日期,超过该日期范围的数字证书就是无效的,如下图所示。
                             
                             数字证书有效期
                             (2)数字证书对应的密钥没有被修改或丢失。如果发生数字证书中的公钥被修改或数字证书公钥所对应的私钥丢失,其所对应的数字证书均应被视为无效。
                             (3)数字证书不在证书撤销列表中。数字证书认证机构会保存一张证书撤销列表,就像黑名单一样,将所有已撤销证书的信息列在该表中。如果证书信息(如序列号)已在证书撤销列表中,则该证书就是无效的,不能用于证明该证书拥有者的用户身份。
                      认证中心
                      认证中心是数字证书的颁发机构,是基于Internet平台建立的一个公正的、权威的、第三方独立组织机构,主要负责数字证书的发行、管理以及认证服务,其英文为Certification Authority,简称CA。
                      认证中心的核心职能是发放和管理数字证书,包括证书的颁发、证书的更新、证书的查询、证书的作废、证书的归档等。
                             证书的颁发
                             用户想获得数字证书时,首先要向认证中心提出申请,认证中心接收用户的申请,在核实情况后,批准或拒绝用户申请。批准用户申请签发数字证书遵循一定的原则:
                             (1)保证发出证书的序列号各不相同;
                             (2)两个不同实体所获得的证书主题内容相异;
                             (3)不同主题内容的证书包含的公开密钥相异。
                             证书的更新
                             认证中心可以定期更新所有用户的证书,或者根据用户的请求更新用户的证书。例如,用户证书有效期满以后,由认证中心负责进行证书的更新。
                             证书的查询
                             认证中心提供用户证书查询的管理,分为证书申请查询和用户证书查询。证书申请查询是指认证中心根据用户查询请求返回当前用户证书申请的处理过程;用户证书查询是指目录服务器根据用户的请求返回适当的证书。
                             证书的作废
                             用户私钥丢失、泄露等会造成用户证书需要申请作废,认证中心将根据用户的作废申请请求确定是否将该数字证书作废;或者证书已过有效期,认证中心自动将该证书作废。认证中心通过维护证书撤销列表(Certificate Renovation List,CRL)完成上述功能。
                             证书的归档
                             作废的证书并不能简单的丢弃,认证中心需要对其进行存档管理,以备需要验证以前某个交易过程中产生的数字签名时查询。
 
       身份认证
        身份认证的主要目标是检验身份,即确定合法用户的身份和权限,识别假冒他人身份的用户。认证系统可以与授权系统配合使用,在用户的身份通过认证后,根据其具有的授权来限制、其操作行为。常见的系统身份认证方式主要有入网访问控制和权限控制。
               入网访问控制
               入网访问控制为网络访问提供了第一层访问控制,限制未经授权的用户访问部分或整个信息系统。用户要访问信息系统,首先要获得授权,然后接受认证。对信息系统进行访问包含三个步骤:第一步,能够使用终端;第二步,进入系统;第三步,访问系统中的具体命令、交易、权限、程序和数据。目前,从市场上可以买到针对计算机、局域网、移动设备和拨号通信网的访问控制软件。访问控制规程要求为每个有效用户分配一个唯一的用户身份标识(UID),使用这个UID对要求访问信息系统用户的真实身份进行验证。可以使用数字证书、智能卡、硬件令牌、手机令牌、签名、语音、指纹及虹膜扫描等生物特征鉴别。
               其中,数字证书就是互联网通信中标志通信各方身份信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个权威机构——CA机构,又称证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。数字证书有两种形式,即文件证书和移动证书USBKEY。其中移动证书USBKEY是一种应用了智能芯片技术的数据加密和数字签名工具,其中存储了每个用户唯一、不可复制的数字证书,在安全性上更胜一筹,是现在电子政务和电子商务领域最流行的身份认证方式。其原理是通过USB接口与计算机相连,用户个人信息存放在存储芯片中,可由系统进行读/写,当需要对用户进行身份认证时,系统提请用户插入USBKEY并读出上面记录的信息,信息经加密处理送往认证服务器,在服务器端完成解密和认证工作,结果返回给用户所请求的应用服务。
               生物特征鉴别通过自动验证用户的生理特征或行为特征来识别身份。多数生物学测定系统的工作原理是将一个人的某些特征与预存的资料(在模板中)进行对比,然后根据对比结果进行评价。常见的测定方法如下。
               (1)脸部照片。计算机对脸部进行照相并将其与预存的照片进行对比。这种方法能够成功地完成对用户的识别,只是在识别双胞胎时不够准确。
               (2)指纹扫描。当用户登录时,可扫描用户的指纹并将其与预存的指纹进行对比,确定是否匹配。
               (3)手型识别。这种方法与指纹扫描非常类似,不同之处在于验证人员使用类似于电视的照相机对用户的手进行拍照,然后将手的某些特征(如手指长度和厚度等)与计算机中存储的信息进行对比。
               (4)虹膜扫描。这种技术是使用眼睛中有颜色的一部分来确定个人身份的方法,通过对眼睛进行拍照并对照片进行分析来确定用户身份,结果非常准确。
               (5)视网膜扫描。这种方法对视网膜上的血管进行扫描,将扫描结果与预存的照片进行对比。
               (6)语音扫描。这种方法通过对比用户的语音与计算机中预存的语音来验证用户身份。
               (7)签名。将签名与预存的有效签名进行对比。
               (8)击键动态。将用户键盘压力和速度与预存的信息进行对比。
               (9)还有脸部温度测定等方法。
               网络的权限控制
               网络权限控制是针对网络非法操作所提出的一种安全保护措施。用户和用户组被赋予一定的权限。网络控制用户和用户组可以访问哪些目录、子目录、文件和其他资源;可以指定用户对这些文件、目录、设备能够执行哪些操作;可以根据访问权限将用户分为特殊用户(系统管理员)和一般用户,系统管理员根据用户的实际需要为他们分配操作权限。网络应允许控制用户对目录、文件、设备的访问。用户在目录一级指定的权限对所有文件和子目录均有效,用户还可进一步指定目录下子目录和文件的权限。对目录和文件的访问权限一般有八种:系统管理员权限、读权限、写权限、创建权限、删除权限、修改权限、文件查找权限、存取控制权限。
   题号导航      2020年下半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第17题    在手机中做本题