计算机网络中的安全(1)
1、什么是网络安全
网络安全包含以下四个方面:
(1)机密性,即发送的数据在一定程度加密使截获者无法理解;
(2)报文完整性,发送的内容没有被恶意篡改或意外改动;
(3)端点鉴别,即发送数据的对方就是他所声称的身份,而不是别人伪造的;
(4)运行安全性,能够反制对机构网络的攻击。
2、密码学简介
密码学的组成部分2.1对称密钥密码机制
密码算法基本思想就是用一种东西替换另一种东西。
凯撒密码:每个字母用它后面第k个字母替代,缺点是很容易被破译。
改进方法:(1)单码替代密码,无规律地替代。
(2)多码替代密码,使用两个凯撒密码C1和C2,加密时以某种顺序循环如C1 C2 C2 C1 C2
计算机网络中的安全(1)根据入侵者破解密码难易程度可分为三种情况:
(1)唯密文攻击,只能截取到密文,对明文一无所知
(2)已知明文攻击,入侵者知道了其中一些(明文,密文)的匹配
(3)选择明文攻击,入侵者能够选择某一明文并得到该明文的密文。
对称加密技术主要分为流密码和块密码。
块密码:要加密的报文被分为K比特的块,每块被独立加密,比如K比特的明文块映射成K比特密文块。
计算机网络中的安全(1)当k =3时,有8!=40320种映射
当k =64维护一张具有2^64的输入值表很困难。一般用函数模拟排列表。
计算机网络中的安全(1)目前流行的块密码有DES 、3DES、AES。
密码块链接
对于长报文加密,经常出现的数据段(如HTTP/1.1)被加密成一样的密文,可能会被攻击者猜出其明文,为解决这个问题,在每段明文块中引入随机数,进行异或再转为密文。
这样又引入了新问题,传输的数据量几乎增大了一倍因为每个明文块要加一个随机数,解决方法是仅第一个数据块引入随机数,后面的明文块以前一个密文快作为随机数。称为密码块链接(CBC:Cipher Block Chaining)。
计算机网络中的安全(1)2.2 公开密钥加密
对称密钥的缺点是进行密文传输前双方要先进行通信商定好密钥。
公开密钥每个人有一个公钥和一个只有自己知道的私钥,发送方用公钥加密,接收方用自己私钥解密。
计算机网络中的安全(1)2.2.1 RSA算法简介
计算机网络中的安全(1) 计算机网络中的安全(1) 计算机网络中的安全(1)算法的推演有点晕,总的来说RSA基于这样的事实:给定了公钥n,想破解私钥的人没法快速把他分解成pq两个素数的乘积,如果已知p 和q,给定公开值e,很容易算出私钥d;如果存在因素分解一个数的快速算法那么RSA也是不安全的。
3、报文完整性和数字签名
数字签名是为了保证报文完整性没有被篡改,端点鉴别是为了保证Bob收到的报文确实是源自Alice。
3.1密码散列函数
密码散列函数H需要保证:找不到任意不同报文使得H(x)=H(y)
有MD5和SHA-1等散列算法
3.2 报文鉴别码
如果第三方攻击者(Trudy)伪造报文,用同样的散列算法生成散列伪装是Alice,那Bob将无法知道。
因此Alice和Bob需要共享一个鉴别密钥生成报文鉴别码(MAC:message authentication code)
计算机网络中的安全(1) 计算机网络中的安全(1)3.3 数字签名
数字签名是为了保证来自Bob的报文确实是Bob本人发的,必须是对于Bob是独特的密钥作用于报文上,
这跟MAC很像,但是是不同概念,MAC无法保证密钥是独特唯一的。
首先取得报文的散列,然后用私钥加密该报文,因此数字签名既保证完整性又验证了该报文的源,是一种技术含量更高的技术,而MAC不涉及公开密钥加密不涉及对称密钥加密。
计算机网络中的安全(1)3.4 公钥认证
数字签名的一个重要应用就是公钥认证,即证实一个公钥属于某个特定实体。通常由认证中心(CA:certification Authority )来完成。认证一个实体真实身份并颁发证书,证书里将其身份和公钥绑定在一起。
计算机网络中的安全(1)4、端点鉴别
端点鉴别就是一个实体向另一个实体证明其身份的过程。
ap1.0(authentication protocol)
只是说一句我是Alice
计算机网络中的安全(1)ap2.0
用IP地址证明自己,但是IP层的包头也可以伪造
计算机网络中的安全(1)ap3.0
加上了口令,但是如果被切听了,别人也可以说这样的口令
计算机网络中的安全(1)ap 3.1
将口令加密,但是窃听者也可以完全窃听加密的口令啊,不能解决鉴别问题,称为回放攻击(playback attack)。
ap4.0
使用不重数。
计算机网络中的安全(1)至此终于把密码学的一些东西总结完了!