计算机网络基础---网络安全(笔记)

一、网络安全问题概述:
1、安全的计算机网络应该达到以下四个目标:
(1)保密性:只有发送方和接收方才能懂的信息内容。
(2)端点鉴别:能够鉴别发送方和接收方真实身份。
(3)信息的完整性:信息没有被篡改过。
(4)运行的安全性:确保计算机系统安全运行,如:访问权限控制非常重要。
2、数据加密模型:
如下图:用户A向用户B发送明文X,但通过加密算法E运算后,得出密文Y。接收端利用解密算法D和解***K,解析出明文X。
解密算法是加密算法的逆运算,解***和加***可以相同也可以不同,如果不同,也肯定有某种关联。计算机网络基础---网络安全(笔记)

二、两类密码*:
1、对称**密码*:即加***和解密迷药使用相同的密码*。如上图中就是对称加密。
2、公钥密码*:即使用不同的加***与解***。
(1)在“公钥密码*”中,“加***PK”(public key,即公钥)是公开的。而“解***SK”(secret key,即私钥或秘钥)是保密的。加密算法和解密算法也是公开的。
(2)公钥密码*加密和解密流程:
a.**对产生器产生出接受者B的一对**:加***PK和解***SK。发送者A所使用的加***PK就是B的公钥,它是公开的。而B所使用的解***就是B的私钥,是保密的。
b.发送者A使用B的公钥通过算法E对明文X进行加密,得出密文Y,发送给B。
c.B用自己的私钥通过解密算法D,恢复出明文X。计算机网络基础---网络安全(笔记)
3、任何加密算法的安全性取决于**的长度,以及攻破密文所需的计算量。

三、数字签名:
1、数字签名必须保证3点:
(1)接受者能核实发送者对报文的签名,即“报文鉴别”。
(2)接受者能确信接收的报文与发送者发送的报文完全一样,即“报文完整性”。
(3)发送者事后不能抵赖对报文的签名,即“不可否认”。
2、数字签名的实现:
A经过D运算得到密文,传输给B,B拿着A的公钥通过E运算解密得到明文。因为只有A有自己的私钥,所以,B相信这是A发送的;如果B对篡改过的报文解密得出不可读的报文,就知道被篡改过,这样可以保证“报文完整性”。同时为,A也不能抵赖层发送报文给B。计算机网络基础---网络安全(笔记)
3、通过以下模型可以实现“秘密通信”和“数字签名”。
A通过私钥D运算得到密文,并通过B的公钥对密文再次加密(这样只有B可以通过私钥解密)。B收到密文后,通过私钥解密,然后再通过A的公钥解密,得到明文。计算机网络基础---网络安全(笔记)
四、鉴别:
1、报文鉴别:
(1)密码散列函数:
a.散列函数的输入长度很长,但输出长度是固定的,并且较短。
b.散列函数的输入和输出并非一一对应,而是多对一。实际上是一种单向函数,即计算不可逆。
(2)实用的密码散列函数MD5和SHA-1。
(3)报文鉴别码:
a.A根据明文X计算出散列H(例如:使用MD5)。
b.对散列H通过**K(或A的私钥进行E运算)加密得到报文鉴别码MAC(Message Authentication Code)。
c.A把MAC拼接在明文X后面发送给B。
d.B收到后,因为散列函数计算结果长度是固定的,所以可以分离开明文X和加密后的散列。对散列进行解密(或A的公钥进行D运算)。
e.对明文X进行散列运算,对比是否等于解密出的散列,如果相等,证明没有问题。
f.如果是使用A的公钥系统,得到的报文不仅不可伪造,也是不可否认的。计算机网络基础---网络安全(笔记)
五、**分配
1、公钥分配:如果A用户要欺骗B,A可以向B发送一份伪造是C发送的报文,A用自己的私钥进行数字签名,并附上A的公钥,谎称这是来自C的。这时就需要“认证中心CA”(ceetification Authority)来将公钥与实体(人或计算机)进行绑定验证。每个实体都有CA发来的证书(certificate),里面有公钥及其拥有者的标志信息。此证书被CA进行了数字签名。任何用户都可以获取认证中心CA的公钥,用于验证某个公钥是否为某个实体所有(通过向CA查询)。