加密技术和认证技术
被考次数: 7次
被考频率: 中频率
答错率:    42%
知识难度:
考试要求: 掌握     
知识路径:  > 计算机系统基础知识  > 硬件基础知识  > 可靠性与系统性能评测基础知识


本知识点历年真题试卷分布
>> 试题列表    
 

 
       加密技术
       加密技术是最常用的安全保密手段,数据加密技术的关键在于加密/解密算法和密钥管理。数据加密的基本过程就是对原来为明文的文件或数据按某种加密算法进行处理,使其成为不可读的一段编码,通常称为“密文”。“密文”只能在输入相应的密钥之后才能显示出原来的内容,通过这样的途径使数据不被窃取。
       数据加密和数据解密是一对逆过程。数据加密是用加密算法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进行会话的密钥就可以了,而不需要知道成百上千个不同的密钥。
       认证技术
       认证技术主要解决网络通信过程中通信双方的身份认可。认证的过程涉及加密和密钥交换。通常,加密可使用对称加密、不对称加密及两种加密方法的混合方法。认证方一般有账户名/口令认证、使用摘要算法认证和基于PKI的认证。
       一个有效的PKI系统必须是安全的和透明的,用户在获得加密和数字签名服务时,不需要详细地了解PKI的内部运作机制。在一个典型、完整和有效的PKI系统中,除了具有证书的创建和发布,特别是证书的撤销功能外,一个可用的PKI产品还必须提供相应的密钥管理服务,包括密钥的备份、恢复和更新等。没有一个好的密钥管理系统,将极大地影响一个PKI系统的规模、可伸缩性和在协同网络中的运行成本。在一个企业中,PKI系统必须有能力为一个用户管理多对密钥和证书;能够提供安全策略编辑和管理工具,如密钥周期和密钥用途等。
       PKI是一种遵循既定标准的密钥管理平台,能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封和双重数字签名等。完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(Application Programming Interface,API)等基本构成部分。
       (1)认证机构。数字证书的申请及签发机关,CA必须具备权威性的特征。
       (2)数字证书库。用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥。
       (3)密钥备份及恢复系统。如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况,PKI提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。
       (4)证书作废系统。证书作废处理系统是PKI的一个必备组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。
       (5)应用接口。PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。
       PKI采用证书进行公钥管理,通过第三方的可信任机构(认证中心,即CA)把用户的公钥和用户的其他标识信息捆绑在一起,其中包括用户名和电子邮件地址等信息,以在Internet上验证用户的身份。PKI把公钥密码和对称密码结合起来,在Internet上实现密钥的自动管理,保证网上数据的安全传输。
       因此,从大的方面来说,所有提供公钥加密和数字签名服务的系统,都可归结为PKI系统的一部分,PKI的主要目的是通过自动管理密钥和证书,为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便地使用加密和数字签名技术,从而保证网上数据的机密性、完整性和有效性。数据的机密性是指数据在传输过程中不能被非授权者偷看;数据的完整性是指数据在传输过程中不能被非法篡改;数据的有效性是指数据不能被否认。
       PKI发展的一个重要方面就是标准化问题,它也是建立互操作性的基础。目前,PKI标准化主要有两个方面:一是RSA公司的公钥加密标准(Public Key Cryptography Standards,PKCS),它定义了许多基本PKI部件,包括数字签名和证书请求格式等;二是由Internet工程任务组(Internet Engineering Task Force,IETF)和PKI工作组(Public Key Infrastructure Working Group,PKIX)所定义的一组具有互操作性的公钥基础设施协议。在今后很长的一段时间内,PKCS和PKIX将会并存,大部分的PKI产品为保持兼容性,也将会对这两种标准进行支持。
          Hash函数与信息摘要(Message Digest)
          Hash(哈希)函数提供了这样一种计算过程:输入一个长度不固定的字符串,返回一串固定长度的字符串,又称Hash值。单向Hash函数用于产生信息摘要。Hash函数主要可以解决以下两个问题:在某一特定的时间内,无法查找经Hash操作后生成特定Hash值的原报文;也无法查找两个经Hash操作后生成相同Hash值的不同报文。这样,在数字签名中就可以解决验证签名和用户身份验证、不可抵赖性的问题。
          信息摘要简要地描述了一份较长的信息或文件,它可以被看作一份长文件的“数字指纹”。信息摘要用于创建数字签名,对于特定的文件而言,信息摘要是唯一的。信息摘要可以被公开,它不会透露相应文件的任何内容。MD2、MD4和MD5(MD表示信息摘要)是由Ron Rivest设计的专门用于加密处理的,并被广泛使用的Hash函数,它们产生一种128位的信息摘要,除彻底地搜寻外,没有更快的方法对其加以攻击,而其搜索时间一般需要1025年之久。
          数字签名
          数字签名主要经过以下几个过程:
          (1)信息发送者使用一个单向散列函数(Hash函数)对信息生成信息摘要。
          (2)信息发送者使用自己的私钥签名信息摘要。
          (3)信息发送者把信息本身和已签名的信息摘要一起发送出去。
          (4)信息接收者通过使用与信息发送者使用的同一个单向散列函数(Hash函数)对接收的信息本身生成新的信息摘要,再使用信息发送者的公钥对信息摘要进行验证,以确认信息发送者的身份和信息是否被修改过。
          数字加密主要经过以下几个过程:
          (1)当信息发送者需要发送信息时,首先生成一个对称密钥,用该对称密钥加密要发送的报文。
          (2)信息发送者用信息接收者的公钥加密上述对称密钥。
          (3)信息发送者将第(1)步和第(2)步的结果结合在一起传给信息接收者,称为数字信封。
          (4)信息接收者使用自己的私钥解密被加密的对称密钥,再用此对称密钥解密被发送方加密的密文,得到真正的原文。
          数字签名和数字加密的过程虽然都使用公开密钥体系,但实现的过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密,这是一个一对多的关系,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。数字加密则使用的是接收方的密钥对,这是多对一的关系,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。另外,数字签名只采用了非对称密钥加密算法,它能保证发送信息的完整性、身份认证和不可否认性;而数字加密采用了对称密钥加密算法和非对称密钥加密算法相结合的方法,它能保证发送信息的保密性。
          SSL协议
          SSL(Secure Sockets Layer,安全套接层)协议最初是由Netscape Communication公司设计开发的,主要用于提高应用程序之间数据的安全系数。SSL协议可以被概括为是一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TCP/IP应用程序。SSL协议主要提供如下三方面的服务:
          (1)用户和服务器的合法性认证。认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户端和服务器上。客户端和服务器都有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,安全套接层协议要求在握手交换数据时进行数字认证,以此来确保用户的合法性。
          (2)加密数据以隐藏被传送的数据。安全套接层协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户端与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手信息中采用了各种加密技术对其加密,以保证机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。
          (3)保护数据的完整性。安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户端与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。
          安全套接层协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护,其实现过程主要经过如下几个阶段:
          (1)接通阶段。客户端通过网络向服务器打招呼,服务器回应。
          (2)密码交换阶段。客户端与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellman和Fortezza-KEA密码算法。
          (3)会谈密码阶段。客户端与服务器间产生彼此交谈的会谈密码。
          (4)检验阶段。客户端检验服务器取得的密码。
          (5)客户认证阶段。服务器验证客户端的可信度。
          (6)结束阶段。客户端与服务器之间相互交换结束的信息。
          当上述动作完成之后,两者间的资料传送就会加密,另外一方收到资料后,再将编码资料还原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。
          发送时,信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包绑在一起传送过去。接收的过程与发送正好相反,先打开有对称密钥的加密包,再用对称密钥解密。
          在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,并将商品寄送客户。
          数字时间戳技术
          数字时间戳就是数字签名技术的一种变种应用。在电子商务交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容。数字时间戳服务(Digital Time Stamp Service,DTS)是网上电子商务安全服务项目之一,能提供电子文件的日期和时间信息的安全保护。
          时间戳是一个经加密后形成的凭证文档,包括如下三个部分:
          (1)需加时间戳的文件的摘要(digest)。
          (2)DTS收到文件的日期和时间。
          (3)DTS的数字签名。
          一般来说,时间戳产生的过程为:用户首先将需要加时间戳的文件用Hash编码加密形成摘要,然后将该摘要发送到DTS,DTS在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。
          书面签署文件的时间是由签署人自己写上的,而数字时间戳则是由认证单位DTS来加入的,以DTS收到文件的时间为依据。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有