【网学网提醒】:本文主要为网学会员提供VPN学习,希望对需要VPN学习网友有所帮助,学习一下!
VPN加密基础
密码学算法分为对称和非对称
各有长处和缺点
对称的加密和解密---密钥都一样
密钥如何传输给对方---------BUG,容易被窃听
缺点:密钥的分发,存储,管理不支持数字签名
对称加密的特点
1.密钥既用于加密,也用于解密
2.加密速度快(相对于非对称)
3.密文是紧凑的---加密后的文件大小改变不大(相对于非对称)
4.密文传输不安全,容易受到攻击
5.对称加密系统中密钥的个数以参与者数的平方的速度增长,不能大范围使用
6.密钥管理复杂
7.不能使用数字签名,不具有不可否认性
非对称密码学的几个算法
Diffie-Hellman
RSA
ECC
公私钥系统----一个加密,一个解密
公钥加密,私钥解密叫加密
私钥加密,公钥解密叫签名
非对称加密的特点
1.一个密钥加密,一个密钥解密
2.不发送密钥给接收者,不担心密钥被截获
3.需要分发的密钥书面和参与者的数目是一样的
4.没有密钥分发
问题 5.不需要在各参与者之间建立关系,交换密钥
6.支持数字签名,具有不可否认性
7.加密速度相对慢(和对称比较)
8.密文相对长(和对称比较)
对称密钥适合加密较大数据,非对称适合加密较小数据
对称非对称
优点密文紧凑密钥分发和管理方便
速度快支持数字签名
缺点密钥分发和管理密文不紧凑
不支持数字签名速度慢
对称的优点+非对称的优点结合使用
明文---->使用随机对称密钥加密(得到密文版本)
将随机对称密钥作为数据,使用接收者公钥进行加密---->打包成钥匙包,和用户数据一起传出去
2次加密
接收者使用私钥对钥匙包解密,得到随机对称密钥,在用对称密钥解密用户数据
2次解密
散列函数的概念
散列函数接收一大块的数据,并将其压缩成最初数据的一个指纹或摘要。
散列函数的输出是一个比最初数据小的值,如果你修改了最初的数据,哪怕只修改一位,那么输出的散列值就不同。
无法反向执行散列算法来恢复出哪怕一点点的最初明文
算出的摘要不会告诉你关于最初明文的任何信息
创建和发现散列值为摸个特定值的明文,在计算上是不可行的。
MD5(128)SHA(160)
数字签名
明文
资料经过散列函数的HASH运算后,得到一个HASH值,私钥对该HASH值加密,得到加密的HASH摘要
该HASH摘要和加密的用户数据一起发给接收者
接收者解密用户数据,对明文的用户数据进行再次HASH运算,得到HASH值
然后把加密的HASH摘要进行公钥解密,得到对方运算的HASH值,对比,如果HASH值一样,表明用户
数据没修改,是可靠的
这还存在一个问题:如果公钥别别人偷换了怎么版?
(是黑客设置的公钥,用黑客自己的私钥加密,你拿了黑客的公钥(你以为是对方用户的公钥))
数字证书的概念
公钥放在数字证书里面---由中立机构颁发,信任第3方机构
解密的人从证书里取得公钥
加密算法介绍
对称算法
DES3DES(DES加密3次)AESRC(RC2/4/5/6
现在加密是对密钥加密,算法公开
1.应用层加密:SQL--到了应用层加密,下面6层是明文
2.会话层加密:SSH---在会话层开始加密
3.网络层加密:ipsec--3层开始加密
4.数据链路层加密:加密机器,硬件加密打孔机,磁带机
理想的算法
1.抵御密钥攻击
2.需要变长的密钥长度
3.雪崩效应---更改源文件,得到HASH值不同
4.不受进出口限制的---高级加密算法不允许出口(3DES产品不允许出口)
常见加密技术
1.块加密,流加密和消息认证
块加密:用户数据分成一块块的单位,每块进行加密
流加密:创建无限长的密钥,用密钥和明文的数据流(0101)的每一位做异或运算,得到一个数据,对端用这个密钥对得到的数据在再做次异或运算,就还原了原始的数据
密钥性的HASH:
预先共享的密钥和明文一起做HASH,证明是对方传输的
对称加密的特点
1.加密速度快
2.算法简单,容易硬件加速(针对非对称)
3.密钥管理难
非对称加密的算法
1.最著名的是公钥系统
2.通常的密钥长度为512--2048比特(比不上对称算法)路由器默认512ASA防火墙默认1024
3.RSA和椭圆曲线
非对称的特点
1.加密速度比对称算法慢
2.硬件计算量大
3.密钥管理方便
4.用于小型服务(签名,密钥交换)
块加密算法:ECBCBCAESIDEASAFER
流加密算法: