计算机网络基础---网络安全(笔记)
一、网络安全问题概述: 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查询)。