软考中级习题与解答——第九章_信息安全(1)
例题1
1、知识点总结
对称加密
核心特点:加密和解密使用相同的密钥。
主要优势:加解密速度快,效率高,适合加密大量数据。
主要劣势:密钥分发和管理困难。通信双方必须安全地共享同一把密钥。
常见算法:
DES :经典的对称加密算法,但由于密钥长度较短(56位),现在已不再安全。
3DES:DES的增强版,对数据执行三次DES加密,安全性比DES高,但效率较低。
IDEA :另一个著名的对称加密算法,曾用于PGP等安全协议。
其他常见算法:AES(最常用)、RC4、Blowfish等。
非对称加密
核心特点:使用一对密钥,即公钥 (Public Key) 和私钥 (Private Key)。公钥用于加密,私钥用于解密。
主要优势:解决了密钥分发问题。公钥可以公开,私钥自己保密。
主要劣势:加解密速度慢,效率远低于对称加密,不适合加密大量数据。通常用于密钥交换或数字签名。
常见算法:
RSA :最著名、最广泛使用的非对称加密算法。它的安全性基于大数分解的数学难题。
其他常见算法:ECC(椭圆曲线加密)、DSA(数字签名算法)等。
2、选项分析
A. DES:属于对称加密算法。
B. 3DES:属于对称加密算法(是DES的变种)。
C. RSA:属于非对称加密算法。这是正确答案。
D. IDEA:属于对称加密算法。
3、最终选项:C
例题2
1、知识点总结
对称加密
别名:私钥加密 或 共享密钥加密。
特点:加密和解密使用相同的密钥。
效率:加密效率高,速度快,适合加密大量数据。
非对称加密
别名:公钥加密。
特点:使用一对密钥,即公钥和私钥。公钥用于加密,私钥用于解密。
效率:加密效率较低,计算复杂,速度慢,不适合加密大量数据。
2、选项分析
A. 正确:对称加密确实被称为私钥加密,且效率高。
B. 错误:这是本题的答案。对称加密不能称为公钥加密。"公钥加密"特指非对称加密(如RSA)。此外,虽然它说“加密效率相对较高”对对称加密本身是对的,但把这个属性安在“公钥加密”这个错误的名字上,使得整个陈述完全错误。
C. 正确:这是对称加密最根本的定义。
D. 正确:这是现代安全通信的标准实践。通常利用非对称加密(高安全性)来安全地传输对称加密的密钥,然后使用对称加密(高效率)来加密实际传输的批量数据。例如,SSL/TLS协议就采用这种混合机制。
3、最终选项:B
例题3
1、知识点总结
数字信封是一种综合利用对称加密和非对称加密两者优点的安全技术。其核心目的是安全地传输对称密钥。
加密消息内容(效率)
发送方随机生成一个对称密钥(也称为会话密钥)。
发送方使用这个对称密钥,采用对称加密算法(如AES、3DES)对要发送的原始信息(明文)进行加密,得到密文。
这一步利用了对称加密速度快、效率高的优点,适合加密大量数据。
加密对称密钥(安全):
发送方需要安全地把第1步中生成的对称密钥告诉接收方。
发送方获取接收方的公钥(Public Key)。
发送方使用接收方的公钥,采用非对称加密算法(如RSA)对第1步生成的对称密钥进行加密。这个被加密后的对称密钥就构成了“数字信封”。
这一步利用了非对称加密无需预先共享密钥的优点,解决了密钥分发问题。只有拥有对应私钥的接收方才能打开这个信封。
2、选项分析
A. 使用发送方自身的公钥对生成的对称密钥加密:错误。如果这样做,那么只有拥有发送方私钥的发送者自己才能解密这个对称密钥,接收方无法解密。这完全违背了通信的目的。
B. 使用发送方自身的私钥对生成的对称密钥加密:错误。这通常用于创建数字签名(证明消息来源),而不是用于加密确保机密性。用私钥加密的内容可以用公钥解密,而公钥是公开的,任何人都能解密,无法保证密钥的机密性。
C. 使用接收方的公钥对生成的对称密钥加密:正确。这是数字信封技术的核心步骤。接收方的公钥是公开的,发送方可以轻松获取并用它来加密。加密后,只有拥有对应私钥的接收方才能解密出对称密钥,从而保证了密钥传输的安全。
D. 使用接收方的私钥对生成的对称密钥加密:错误且不可能。发送方根本不可能拥有接收方的私钥。私钥必须由接收方自己严格保密,绝不能泄露给任何人,包括发送方。
3、最终选项:C
例题4
1、知识点总结
数字签名是为了解决这类"抵赖"或"否认"问题而设计的技术。它的主要目的是提供不可否认性。
数字签名的工作原理
发送方签名:
发送方(乙)对电子订单(消息)用自己的私钥进行加密(更准确地说,是对消息的哈希值进行加密),生成一个独特的“签名”。
将原始订单和这个签名一起发送给接收方(甲)。
接收方验证:
接收方(甲)收到后,使用发送方(乙)的公钥来解密该签名。
同时,接收方自己用相同的哈希算法计算收到消息的哈希值。
将解密出来的哈希值与自己计算的哈希值进行比对。
如果两者一致,则证明:
- 消息完整性:消息在传输过程中未被篡改。
- 身份认证:消息确实来自于声称的发送者(因为只有乙的私钥能生成能用乙的公钥解开的签名)。
- 不可否认性:发送方乙事后无法否认他发送过此消息,因为只有他本人拥有生成这个签名的私钥。
2、选项分析
A. 数字签名:正确。这是唯一能直接提供不可否认性的技术。它创造了具有法律效力的电子证据,使得发送方无法否认其行为。
B. 防火墙:错误。防火墙是一种网络安全系统,用于控制网络之间的访问(允许或拒绝流量),主要功能是访问控制和边界防御。它无法防止内部用户发送消息后抵赖。
C. 防病毒:错误。防病毒软件用于检测、阻止和清除恶意软件(如病毒、木马)。它的核心功能是保护系统安全,与防止行为抵赖无关。
D. 身份认证:不完全正确/有歧义。这是一个干扰项。
身份认证(如密码、指纹、OTP)只能验证用户登录时的身份,确保是本人操作。
然而,它无法提供事后的证明。一旦认证通过,用户做了什么操作,传统身份认证技术无法防止用户对这些操作进行抵赖。
数字签名是身份认证的一种高级且具有法律约束力的形式,它不仅是认证身份,更是对特定操作(如一份文件、一个订单)的绑定和确认。
3、最终选项:A
例题5
1、知识点总结
这道题的核心是理解公钥基础设施 中数字证书(Digital Certificate) 的工作机制。
数字证书是什么?
数字证书相当于一个实体的网络身份证。它绑定了该实体(如一个网站)的身份信息(如域名)和其公钥。
证书中还包含了签发该证书的证书颁发机构(CA, Certificate Authority) 的信息、有效期等。
CA的作用 - 可信的第三方
CA是一个受信任的权威机构。
CA的核心职责是核实证书申请者的真实身份,然后用自己的私钥对申请者的证书信息(包含网站的公钥)进行数字签名,从而生成数字证书。
用户如何验证网站真伪?(验证流程)
当用户(客户端)访问该电子商务网站时,网站会将其数字证书发送给用户。
用户的浏览器(或操作系统)内置了受信任的根CA的公钥。
验证过程如下:
- 浏览器使用内置的CA的公钥,去解密证书中CA的签名。如果解密成功,则证明此证书确实是由该CA签发的(身份认证)。
- 解密签名后,会得到一个哈希值A。
浏览器再使用相同的哈希算法,对证书的明文信息(包括网站的公钥、身份信息等)进行计算,得到哈希值B。
浏览器比较哈希值A和哈希值B。如果两者一致,则证明证书内容在签发后未被篡改(完整性)。
只有以上所有步骤都通过,浏览器才认为该网站的身份是真实可信的,然后才会用证书中提供的网站的公钥来与之建立安全连接。
2、选项分析
A. CA的签名:正确。这是整个验证过程的基石。用户(浏览器)正是通过验证CA的签名来确信:“1)这个证书是由我信任的CA颁发的;2)证书里的内容(包括网站的公钥和身份信息)是完整且未被篡改的”。
B. EBA:无效/错误。此选项为乱码,无法构成有效选项。即使推测为“证书的公钥”,逻辑也不通,因为用户验证的是CA对证书的签名,而不是证书本身的公钥。
C. 网站的私钥:错误。网站的私钥是高度保密的,永远不能也不会发送给用户。私钥用于解密数据或创建签名,而验证真伪是一个公开的过程,只需要公钥。
D. 用户的公钥:错误。用户的公钥与验证网站的身份完全无关。用户的密钥对用于用户自己加密或签名,无法用来验证一个远程服务器的身份。
3、最终选项:A
例题6
1、知识点总结
信息摘要算法,也称为哈希函数或散列函数,其核心特点是:
输入:任意长度的数据。
输出:固定长度的字符串(即摘要或哈希值)。
特性:不可逆(无法从摘要还原原始数据)、抗碰撞(难以找到两个不同的输入产生相同的摘要)、雪崩效应(输入的微小改变会导致输出的巨大变化)。
SHA-1 (Secure Hash Algorithm 1)
输出摘要长度:160位 (bit)。
通常表示:160位相当于20个字节,在显示时通常转换为40个十六进制字符(因为每个十六进制字符代表4位)。
现状:由于已被发现理论上的碰撞漏洞,不再被视为安全,已被大多数场合弃用。
MD5 (Message-Digest Algorithm 5)
输出摘要长度:128位 (bit)。
通常表示:128位相当于16个字节,在显示时通常转换为32个十六进制字符。
现状:已严重破译,可以人工制造碰撞,绝对不应用于任何安全相关的场合。通常仅用于校验文件完整性(非安全性检查)。
更安全的现代算法
SHA-2家族:这是目前的主流标准,包括SHA-256(256位输出)、SHA-384(384位输出)、SHA-512(512位输出)等。
SHA-3:最新的SHA标准,与SHA-2设计不同,但同样安全
2、选项分析
A. 64和128:错误。没有主流哈希算法的输出是64位(这太短了,极不安全)。
B. 128和160:错误。这个选项把两个算法的位数说反了。它是MD5(128)和SHA-1(160)的组合,但顺序不对。
C. 160和128:正确。SHA-1产生160位摘要,MD5产生128位摘要。
D. 160和64:错误。MD5的输出是128位,不是64位。
3、最终选项:C
例题7
1、知识点总结
数字签名技术主要用于提供:
- 身份认证:验证消息确实来自声称的发送者
- 完整性:验证消息在传输过程中未被篡改
- 不可否认性:发送方事后无法否认发送过该消息
数字签名的工作原理:
发送方(A)签名过程:
A对要发送的消息生成一个哈希值(摘要)
A使用自己的私钥对这个哈希值进行加密,生成数字签名
A将原始消息和数字签名一起发送给B
接收方(B)验证过程:
B收到消息后,分离出原始消息和数字签名
B使用A的公钥对数字签名进行解密,得到哈希值A
B使用相同的哈希算法对收到的原始消息进行计算,得到哈希值B
B比较哈希值A和哈希值B:
如果两者一致,证明:
消息确实来自A(因为只有A的私钥能生成能用A的公钥解开的签名)
消息在传输过程中未被篡改
2、选项分析
A. A的公钥:正确。这是验证数字签名的关键。B必须使用A的公钥来解密签名,从而验证消息的真实性和完整性。
B. A的私钥:错误。A的私钥由A自己严格保密,绝不能透露给B或任何人。私钥只用于创建签名,不能用于验证。
C. B的公钥:错误。B的公钥与验证A的身份无关。B的公钥可能用于加密发送给B的消息,但不能用于验证A的签名。
D. B的私钥:错误。B的私钥由B自己保密,用于解密用B的公钥加密的消息,与验证A的签名无关。
3、最终选项:A
例题8
1、知识点总结
SET (Secure Electronic Transaction,安全电子交易)
专门用途:SET是专门为信用卡在线交易设计的协议,由Visa和MasterCard等信用卡组织联合开发。
核心功能:
保证信息的机密性:防止信用卡号等敏感信息被窃取。
保证支付信息的完整性:确保交易数据在传输过程中不被篡改。
身份认证:验证商户和持卡人的身份。
不可否认性:防止交易双方事后否认交易行为。
关键特性:采用了双重签名技术,使得商户只能看到订单信息,而银行只能看到支付信息,保护了持卡人的隐私。
现状:由于实施复杂、成本高昂,SET协议并未被广泛采用,但其设计理念对后来的支付安全产生了重要影响。
2、选项分析
A. PGP (Pretty Good Privacy):
用途:主要用于电子邮件加密和签名,保证邮件的机密性、完整性和发件人认证。
不适用:与信用卡支付流程无关。
B. SSL (Secure Sockets Layer) / D. TLS (Transport Layer Security):
用途:SSL及其后继者TLS是通用的传输层安全协议,用于在客户端和服务器之间建立加密链接,保护任何基于TCP的应用(如网页浏览HTTPS、电子邮件SMTPS等)。
与SET的关系:SSL/TLS提供了基础的通信安全,但不包含专门针对信用卡交易的业务规则和流程。SET是一个应用层协议,理论上可以运行在SSL/TLS之上,提供更专门化的支付安全。
不精确:虽然网上购物普遍使用SSL/TLS(HTTPS)来保护通信,但题目问的是“提供了实现安全措施的规则”,这更指向SET这种为特定支付场景定制规则的协议。
3、最终选项:C
例题9
1、知识点总结
SSL(Secure Sockets Layer,安全套接层)及其后继者TLS(Transport Layer Security,传输层安全协议)旨在为网络通信提供安全性和数据完整性。它们主要提供以下三种核心服务:
A. 用户和服务器的合法性认证(身份认证)
工作原理:通过数字证书机制。服务器向客户端证明自己的身份,客户端也可以选择向服务器证明自己的身份(双向认证,但通常只做服务器端认证)。
实现方式:使用非对称加密(如RSA)来验证证书的有效性,确保通信的另一方是可信的。
B. 加密数据以隐藏被传送的数据(机密性)
工作原理:在握手阶段协商出一个对称会话密钥,之后所有的通信数据都使用这个密钥进行加密。
实现方式:使用对称加密算法(如AES、DES)对传输的数据进行加密,防止数据在传输过程中被窃听。
C. 保护数据的完整性(完整性)
工作原理:为传输的数据生成消息认证码(MAC),接收方可以验证数据在传输过程中是否被篡改。
实现方式:使用哈希函数(如SHA、MD5)和MAC算法来确保数据的完整性。
2、选项分析
D. 保证数据传输路径的最优:不属于。这是SSL/TLS不提供的服务。
路径选择、路由优化、负载均衡等与网络传输效率和路径相关的功能,是由网络层(如IP协议)、传输层(如TCP协议)或专门的网络设备(如路由器、负载均衡器)负责的。
SSL/TLS工作在应用层和传输层之间,其核心目标是安全,而非性能或路径优化。
3、最终选项:D
例题10
1、知识点总结
Windows操作系统通过用户组来管理权限分配。不同的组被授予了对系统资源不同的访问级别。
权限等级排序(从高到低)
Administrators (最高权限,完全控制)
Power Users (遗留组,现代系统中权限有限,高于标准用户但远低于管理员)
Users (标准用户权限,受限)
Everyone (代表所有用户,通常继承最低权限)
2、选项分析
A. everyone(Everyone组):错误。这是一个特殊的标识符(Identity),而不是一个严格意义上的管理组。
含义:它代表“所有用户”,包括来宾、匿名用户以及任何访问计算机的用户。系统为其分配的权限通常是最低和最受限的。给Everyone组授予权限意味着允许任何人访问该资源,这在安全上是极其危险的,应谨慎使用。
B. administrators(管理员组):正确。这是Windows系统中权限最高的默认用户组。
权限:该组的成员对计算机拥有完全的控制权,可以执行任何操作,包括:
安装软件和硬件
修改所有系统设置
管理其他用户和组
访问系统上的所有文件
提升权限以运行任何进程
C. power users(高级用户组):错误。该组在旧版本Windows(如XP)中拥有比标准用户更高的权限,可以运行一些遗留应用程序以及安装不修改系统文件或注册表的软件。
现状:在现代Windows版本(如Windows 10/11)中,Power Users组的存在主要是为了向后兼容,其权限已被大幅削弱,远低于Administrators组。
D. users(标准用户组):错误。这是权限受限制的组。
权限:组成员可以运行应用程序和使用计算机,但不能修改系统级的设置、安装大多数软件或更改影响其他用户的设置。这是最常见的日常使用账户类型。