文章目录
一.VPN概述
VPN的基本原理是在原有的公共网络之上,建立一个使用加密技术保护数据传输的私有网络。通过VPN,用户可以在不同的地点之间建立起安全的连接,实现远程访问企业内部网络资源、远程办公、跨地区办公等功能。
虚拟专用网通过加密技术保护数据传输的安全性,防止第三方非法获取用户的数据。同时,VPN还可以隐藏用户的真实IP地址,保护用户的隐私。VPN还可以绕过地理限制,使用户可以访问被封锁的网站或服务。
LAN to LAN --VPN
- Intranet --- 内联网 --- 企业内部虚拟专网
- Extranet --- 外联网 --- 拓展的企业内部虚拟专网
相较而言,外联网一般连接合作单位,而内联网一般连接分公司,所以,外联网的权限赋予会比较低,并且安全把控方面会比较严格。
VPN 技术实现层次
VPN常用其它技术
身份认证技术 --- 身份认证是VPN技术的前提。
- GRE VPN --- 本身不支持身份认证的。(GRE里面有个“关键字”机制。类似于 ospf的认证,商量一个口令,在GRE中该措施仅是用来区分通道的)
- L2TP VPN--- 因为他后面的乘客协议是PPP协议,所以,L2TP可以依赖PPP提供的认证,比如PAP,CHAP。 IPSEC VPN和SSL VPN --- 都支持身份认证
加解密技术 --- 以此来抵抗网络中的一些被动攻击
- 注意:加解密技术使用的实质是一个双向函数,即一个可逆的过程。和HASH算法 有本质的区别 加密技术也是安全通道的保障。
- GRE VPN和L2TP VPN不支持加解密技术。通常可以结合IPSEC技术来实现加解密。 IPSEC VPN和SSL VPN都是支持加解密技术的。
数据认证技术 --- 验货 --- 保证数据的完整性
- HASH --- 计算摘要值,之后,通过比对摘要值来保障完整性。
- GRE VPN --- 可以加入校验和。但是,GRE的这种功能是可选的,两边开启之后, 才会激活数据认证功能。
- L2TP VPN --- 不支持数据认证 IPSEC VPN,SSL VPN都是支持数据认证的
二.加解密技术(保密性)
对称加密算法
对称加密算法是一种使用相同的密钥进行加解密的算法,其加密和解密过程相互对称。在对称加密算法中,消息的发送方使用密钥将明文转化为密文,而消息的接收方则使用相同的密钥将密文转化回明文。
对称加密算法的主要特点包括:
- 加密和解密使用相同的密钥,因此速度较快。
- 密钥的管理较为困难,需要确保密钥的安全性。
- 对称加密算法通常具有较高的加密强度,可以提供较高的安全性。
对称加密算法缺点:
-
密钥管理困难:对称加密算法需要发送和接收双方共享密钥,而密钥的分发和管理是一个复杂的过程。如果密钥泄漏或被破解,那么加密的数据就会变得不安全。
-
不适用于大规模通信:对称加密算法适合用于两个通信方之间的加密,但当通信方数量增加时,密钥的数量也会呈指数级增长,导致密钥管理非常困难。
流加密算法
流密码算法将明文流和伪随机数发生器产生来生成伪随机密钥流进行异或运算,从而实现加密,对端收到后使用相同的密钥流进行解密从而获得明文流。
例如:明文流:1010101;初始向量:1100110 -->异或运算-->0110011(密文流)
分组加密算法
分组加密算法是一种将待加密的数据按照固定的块大小进行切割,然后对每个块进行独立的加密操作的加密算法。
分组加密算法的工作模式通常包括以下几个步骤:
-
分组加密算法使用固定大小的块进行加密,这样可以保证每个块都有相同的长度,方便进行加密和解密操作。
-
在第一组头部添加一个初始向量并按照每组加密完成后提取部分该组加密内容插入到下一组明文组中。
加密过程中,每个数据块只与密钥和前一个数据块相关联,与其他数据块无关。因此,即使攻击者获得了一组无效数据的密文,也无法直接从中获得任何有用的信息。
非对称加密算法
非对称加密算法是一种使用不同的密钥进行加密和解密的加密算法。它使用一对密钥,包括公钥和私钥,其中公钥用于加密数据,私钥用于解密数据。
总结:- 我们一般采用的做法是,在数据传输的时候,我们会选择使用对称加密算法进 行加密,为了保证效率。但是,对称加密算法最主要的问题是密钥传递可能存在安全风 分区 20240121防御保护寒假班 的第 4 页 险,所以,我们在传递密钥的时候,可以通过非对称加密算法进行加密,保证密钥传递 的安全性。实现二者的互补,达到安全传输的目的
三.身份认证及数据认证技术
哈希算法(完整性)
哈希运算是一种将任意长度的数据通过哈希函数转换成固定长度的输出的算法。它具有以下几个特点:
-
唯一性:对于任意给定的输入,哈希函数都能产生唯一的哈希值。不同的输入会产生不同的哈希值,相同的输入会产生相同的哈希值。
-
固定长度:无论输入数据的长度有多长,哈希函数总是会输出固定长度的哈希值。这样可以方便地将哈希值存储、传输和比较。
-
不可逆性:从哈希值推导出原始输入数据是困难的,几乎是不可能的。即使输入数据只有微小的改变,哈希值也会有较大的变化。因此,哈希运算可以用于验证数据的完整性,例如数字签名。
数字签名
数字签名工作流程概述如下:
-
创建文件:首先,文件的创建者会创建一个需要签名的文件。
-
加密文件:接下来,创建者会使用私钥对文件进行加密。私钥是一个只有创建者拥有的密钥,用于对文件进行加密。
-
创建摘要:创建者会使用散列函数对加密文件进行计算,生成一个唯一的数字摘要。数字摘要是一个固定长度的字符串,用于对文件进行唯一标识。
-
加密摘要:创建者会使用私钥对数字摘要进行加密,生成数字签名。数字签名是一个唯一的字符串,用于验证文件的完整性和身份信息。
-
分发文件和签名:创建者将加密的文件和数字签名一起发送给接收者。
-
解密文件:接收者使用公钥对数字签名进行解密,得到数字摘要。
-
解密摘要:接收者再使用公钥对加密文件进行解密,得到原始文件。
-
计算摘要:接收者使用相同的散列函数对解密后的文件进行计算,生成一个新的数字摘要。
-
验证签名:接收者将新的数字摘要与解密后的数字摘要进行比较,如果两者一致,则说明文件未被篡改。同时,接收者可以使用公钥验证数字签名的合法性和创建者的身份信息。
缺点:这整个过程只能表示Bob收到的数据,的确是他拥有公钥的这个人发送的数据, 但是,你拥有公钥有没有被别人恶意篡改或者替换,这种方法是无法识别出来的,所 以,这仅能实现一种数据源的检测,不能进行身份认证。 同时,可以完成完整性校验。
数字证书
通信双方需要完全信任这个第三方机构,之后,让CA为公钥作证。 因为双方都信任该CA机构,所以A,B都拥有这个CA机构的公钥信息。 CA机构会使用自己的私钥对A的公钥和一些其他信息一起进行加密,生成数字证 书。
- 1,原始信息HASH算法得到摘要值 ---- 为了做完整性校验。为了保证我们的摘要 值在传递的过程中,不会被篡改,所以,需要使用私钥进行加密。形成数字签名。
- 2,针对原始信息,数字签名,数字证书(是用户提前向CA机构申请,获取到的通 过CA机构私钥加密后的证书。里面主要包含了Alice的公钥。主要是做身份认证使 用)进行加密。使用的是对称加密算法。对称机密算法需要使用对应的密钥来进行 加密。
- 3,将对称加密算法的密钥通过Bob的公钥进行加密,形成密钥信封。(这里是通 过非对称加密算法的方式,来传输对称密钥的。也可以使用DH算法,使双方获得 对称密钥。)
- 4,将加密信息和密钥信封通过公网传递到对端Bob处。
- 5,Bob首先对密钥信封进行解密。因为这个密钥信封是通过Bob的公钥进行加密 的,所以,使用Bob自己的私钥就可以进行解密。解密后,将得到对称密钥。
- 6,使用对称密钥去解密加密信息。 ---- 原始数据,数字签名,数字证书
- 7,使用CA机构的公钥来解开数字证书。因为数字证书是由CA机构的私钥进行加 密的,并且,Bob本身也信任CA机构,所以,自身设备上是拥有CA机构的公钥 的。
- 8,解开数字证书后将得到Alice的公钥,根据Alice的公钥可以解开数字签名。因 为数字签名是由Alice自己的私钥来进行加密的,所以,如果可以顺利的使用ALICE 的公钥进行解密,则完成了身份认证和数据源鉴别工作。
- 9,Bob自身需要对原始信息进行HASH运算,并且,数字签名解开后,里面也包 含ALice发送时对原始信息进行HASH运算的摘要值,比对两次摘要值,则可完成 完整性校验。