欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流
本文收录于软考中级:软件设计师系列专栏,本专栏服务于软考中级的软件设计师考试,包括不限于知识点讲解与真题讲解两大部分,并且提供
电子教材
与电子版真题
,关注私聊
即可
:传送门计算机系统基础知识
:传送门计算机体系结构
:传送门存储系统|输入输出与总线
:传送门计算机安全性 | 加密技术
*️⃣Hash(哈希)函数提供了这样一种计算过程: 输入一个长度不固定的字符串, 返回一串固定长度的字符串, 又称Hash值。
*️⃣单向Hash函数用于产生信息摘要
*️⃣Hash函数主要可以解决以下两个问题: 在某一特定的时间内, 无法查找经Hash操作后生成特定Hash值的原报文; 也无法查找两个经Hash操作后生成相同Hash值的不同报文。 这样, 在数字签名中就可以解决验证签名和用户身份验证、不可抵赖性的问题。
✳️信息摘要的特点: 1️⃣不管数据多长,都会产生固定长度的信息摘要;2️⃣任何不同的输入数据,都会产生不同的信息摘要;3️⃣单向性,即只能由数据生成信息摘要,不能由信息摘要还原数据。
✳️信息摘要算法: MD5(产生128位的输出)、 SHA(安全散列算法,产生160位的输出,安全性更高) 。
✅优点: 使用信息摘要可以保证传输数据的完整性,只需要双方比对生成的信息摘要是否相同即可判断数据有没有被篡改
❎缺点: 当发送方发送的数据和信息摘要都被篡改了,那么接收方拿到错误的数据生成的信息摘要也和篡改的信息摘要相同,接收方就无能为力了,这个问题,在接下来⬇️的数字签名技术会解决。
❌加密技术和信息摘要 只保证了数据传输过程的保密性和完整性,但却 无法保证发送者是否非法,即在传输过程中,数据被第三方截获,即使他不能解密获取真实数据,但是他可以伪造一段数据,也用加密算法加密后再发送给接收方,那么接收方无法判断发送方是否合法,其只会用发送方告诉他的方法来解密。⭕此时就要用到 数字签名技术来验证发送方是否合法。
✳️数字签名属于 非对称加密,主要功能有:不可否认、报文鉴别、报文的完整性
✳️原理: 若发送方需要发送数据,应该使用发送方的私钥进行数字签名,而其公钥是共享的,任何接收方都可以拿来解密,因此,接收方使用了发送方的公钥解密,就必然知道此数据是由发送方的私钥加密的,而发送的私钥只属于发送方,唯一标识了数据是由谁发送的,这就是数字签名的过程原理。
✳️数字证书又称为数字标识,由用户申请,证书签证机关CA对其核实签发的,对用户的公钥的认证。
❌上述的技术都是在原发送方是正确的的情况下所做的加密和认证技术,然而当发送方本身就是伪造的,即发送的公钥本身就是假的,那么后续的加密、数字签名都没有意义了,⭕因此对发送方的公钥进行验证是十分重要的
✳️现在的数字证书版本大多为X.509
✳️数字证书的原理: 每一个发送方都要先向CA申请数字证书,数字证书是经过CA数字签名了的,也即CA使用私钥加密,当发送方要发送数据时,接收方首先下载CA的公钥,去验证数字证书的真伪,如果是真的,就能保证发送方是真的,因为CA是官方权威的机构,其合法性毋庸置疑。
✳️数字证书的格式: 序列号、版本号、签名算法、发行者ID、发行者、主体ID、有效期、公钥。
PKI公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的网络环境。
✳️PKI公钥体系: 数字证书是将持有者的公钥和持有者信息绑定起来的机制,这样,可以防止公阴在共享的过程中被人修改(确保接收方没有被人假冒,非常重要),而数字证书是需要中请的,向CA中心申请,由CA颁发的数字证书才是正确的,CA中心颁发证书时会对其进行数字签名,保证此数字证书不是伪造的
PGP技术采用了数字证书技术
✳️PGP的技术和数字证书包含下述内容:
✳️PKI 主要包括四个部分: X.509 格式的证书; CA 操作协议; CA 管理协议; CA 政策制定。
✳️PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。
✳️一个PKI应用系统至少应具有以下部分:
✳️最安全的过程要验证两步:
- 平均无故障时间 M T T F = 1 失效率 MTTF=\frac{1}{失效率} MTTF=失效率1
- 平均故障修复时间 M T T R = 1 修复率 MTTR=\frac{1}{修复率 } MTTR=修复率1
- 平均故障间隔时间 M T B F = M T T F + M T T R MTBF=MTTF+MTTR MTBF=MTTF+MTTR
- 系统可用性 = 平均无故障时间 ( 平均无故障时间 + 平均故障修复时间 ) ∗ 100 =\frac{平均无故障时间}{(平均无故障时间+平均故障修复时间)}*100 =(平均无故障时间+平均故障修复时间)平均无故障时间∗100% = M T T F ( M T T F + M T T R ) ∗ 100 =\frac{MTTF}{(MTTF+MTTR)}*100 =(MTTF+MTTR)MTTF∗100%
✳️系统可靠性可以用平均故障间隔时间MTBF来衡量,公式为 M T B F ( 1 + M T B F ) \frac{MTBF}{(1+MTBF)} (1+MTBF)MTBF
✳️无论什么系统,都是由多个设备组成的,协同工作,而这多个设备的组合方式可以是串联、并联,也可以是混合模式,假设每个设备的可靠性为 R 1 , R 2 , . . . . . . , R n R_1,R_2,......,R_n R1,R2,......,Rn,则不同的系统的可靠性R的计算公式如下: