计算机网络收官篇,讲信息安全。
上午题在这块每年 2 分左右,考点就四个:对称加密与非对称加密的区分、加密通信和数字签名各用谁的钥匙、数字摘要的特性、数字证书的作用。看似零散,其实全部从"两把钥匙"推导得出来。
一、对称加密:一把钥匙开一把锁
最直觉的加密方式:加密和解密用同一把钥匙。
代表算法:DES(56 位密钥)、3DES、AES、IDEA、RC4;
优点:速度快,适合加密大量数据;
缺点:密钥分发是死穴——钥匙怎么安全地交到对方手里?而且 n 个人两两保密通信,每对要单独一把钥匙,共需n(n-1)/2把(10 个人就是 45 把),钥匙管理爆炸。
二、非对称加密:一对钥匙,各司其职
天才的设计:钥匙配成一对——公钥随便公开,私钥打死保密。性质是:
公钥加密的,只有对应私钥能解开;私钥加密的,只有对应公钥能解开。
代表算法:RSA、ECC(椭圆曲线)、ElGamal;
缺点:慢,比对称加密慢几个数量级,不适合直接加密大数据。
这一对钥匙衍生出两大用途,也是软考最 core 的考点:
用途一:保密通信——"公钥锁,私钥开"A 给 B 发秘密,用B 的公钥加密 → 只有B 的私钥能解开。公钥是公开的,谁都能拿到并给你写信,但能拆信的只有你。保证只有指定接收者能看。
用途二:数字签名——"私钥锁,公钥开"A 用自己的私钥对消息"签名" → 任何人用A 的公钥都能"验签"。能解开,说明一定是拿 A 的私钥签的——私钥只有 A 有,这就证明了身份,A 无法抵赖。
记忆总纲:保密,用"接收方"的钥匙;签名,用"发送方"的钥匙。加密通信公钥在前(公钥加密),签名私钥在前(私钥签名)。
三、数字摘要:数据的"指纹"
把任意长度的数据,通过哈希算法算成一个固定长度的摘要:
单向不可逆:能从原文算摘要,不能从摘要反推原文;
定长输出:MD5 出 128 位,SHA-1 出 160 位;
雪崩效应:原文改一个字节,摘要面目全非。
用途:防篡改——收到文件后自己算一遍摘要,和对方给的摘要比对,一致说明文件没被动过。
大坑警告:摘要算法不含密钥、人人会算。攻击者可以把文件和摘要一起换掉,接收方比对完全看不出来——所以摘要只能防篡改,不能防伪造。解决办法:把摘要用发送方私钥加密(摘要变成只有本人能签的东西),这就是数字签名 = 摘要 + 私钥加密,防篡改 + 防伪造 + 防抵赖,三合一。
四、组合拳:真实世界怎么干
单用非对称加密太慢,单用对称加密钥匙发不出去——所以实际系统(HTTPS 就是这思路)是混合双打:
① 用非对称加密,安全地传递"对称密钥"(钥匙本身很短,慢点无所谓) ② 用对称密钥加密真正的数据(速度快) ③ 用数字签名证明身份、防篡改 ④ 用数字证书证明"这把公钥确实是某某的"数字证书:由权威机构 CA 颁发,内容是"持有者信息 + 其公钥 + CA 的签名",解决的是公钥的身份绑定问题——防止有人拿假公钥冒充。可以理解为"公钥的户口本"。
五、10 道练习题
基础题(1~5)
1.下列加密算法中,属于对称加密的是( )。
A. AES B. RSA C. ECC D. DSA
2.下列加密算法中,属于非对称加密的是( )。
A. DES B. 3DES C. RSA D. AES
3.A 要给 B 发送保密消息,保证只有 B 能阅读,A 应使用的加密密钥是( )。
A. A 的公钥 B. A 的私钥 C. B 的私钥 D. B 的公钥
4.实现数字签名时,发送方应使用的密钥是( )。
A. 自己的私钥 B. 自己的公钥 C. 接收方的公钥 D. 接收方的私钥
5.下列算法中,属于数字摘要算法的是( )。
A. AES B. RSA C. MD5 D. DES
进阶题(6~10,带坑)
6.接收方验证数字签名时,应使用的密钥是( )。
A. 自己的私钥 B. 发送方的公钥 C. 自己的公钥 D. 发送方的私钥
7.关于数字摘要技术,下列说法错误的是( )。
A. 由原文可以唯一确定摘要 B. 原文的微小变化会导致摘要很大变化 C. 不同的原文很难得到相同的摘要 D. 由摘要可以反推出原文
8.某团体有 10 个成员,任意两人之间都要进行保密通信,若采用对称加密技术,则共需要( )把密钥。
A. 10 B. 20 C. 45 D. 100
9.在 HTTPS 等实际安全应用中,传输大量业务数据时通常采用( )。
A. 只用非对称加密直接加密全部数据 B. 用非对称加密传递对称密钥,再用对称加密传输数据 C. 只用对称加密,不涉及非对称加密 D. 用数字摘要算法加密数据
10.数字证书主要用于解决( )。
A. 大量数据的加密速度问题 B. 公钥与持有者身份的绑定问题(证明该公钥确实属于某人) C. 网络传输的稳定性问题 D. 替代对称加密算法的问题
六、答案与详解
1. A对称家族:DES、3DES、AES、IDEA、RC4。RSA、ECC 是非对称;DSA 是数字签名算法——都属于"公钥体系",不是对称。
2. C非对称的头牌就是RSA,记死它,其余用排除法。DES、3DES、AES 全是对称。
3. D保密的总纲:用接收方的钥匙。要保证"只有 B 能看",就用B 的公钥加密——能解开的只有 B 的私钥,而私钥只有 B 有。选 A 的是把自己当成了接收方。
4. A签名的总纲:用发送方的钥匙。私钥只有本人持有,签出来的东西才具有"身份凭证"的效力。选 C 的是把签名和保密通信搞混了——那是两个方向的用途。
5. C摘要家族:MD5、SHA 系列。AES/DES 是加密(可逆),RSA 是公钥加密——摘要的本质是不可逆的指纹,这是和加密的根本区别。
6. B私钥签、公钥验:接收方用发送方的公钥验签。能解开,就证明签名出自发送方的私钥 → 身份确认 + 无法抵赖。选 D 的想想:发送方的私钥如果给了接收方,那还叫什么"私"钥?
7. D选"错误的":摘要单向不可逆,由摘要反推原文正是它要避免的事。A、B(雪崩效应)、C(抗碰撞)都是摘要的正确特性。
8. C套公式 n(n-1)/2 = 10×9/2 =45 把。这正是对称加密的"密钥管理灾难",也是非对称加密被发明的动因之一。选 A(每人一把)或 D(两两各配两把)的都是没理解"每对一把"。
9. B混合双打:非对称慢,只用来传很短的对称密钥;真正的大数据走对称加密。选 A 的忽视了非对称加密的速度劣势(慢几个数量级);选 D 的根本性错误——摘要不可逆,拿它"加密"的东西永远解不开。
10. B数字证书 =公钥的户口本:CA 用签名担保"这把公钥确实是这个人的",防的是公钥被冒充。它不解决速度(A)、不替代对称加密(D),和数据传输稳定性(C)更是无关。
七、五句话带走
对称加密一把钥匙(DES/AES),快但难分发;非对称一对钥匙(RSA/ECC),慢但解决了分发;
保密用接收方的钥匙(公钥加密),签名用发送方的钥匙(私钥签名);
摘要是指纹:单向不可逆、定长、雪崩效应(MD5/SHA);
摘要只防篡改、不防伪造;数字签名 = 摘要 + 私钥加密,三防合一;
实战组合:非对称传对称密钥,对称传数据,证书给公钥上户口。
下一篇预告:网络模块彻底通关,转向一个"纯记忆但有规律"的送分模块——知识产权与标准化:著作权什么时候自动产生、软件著作权保护多少年、职务作品的版权归单位还是个人、专利和商标的期限。每年固定 2 分,规律一理,白捡。