« Back
in 安全 VPN 思科 read.

VPN理论3

加密基础

公共密钥加密系统,建立在 单向函数 和 活门 的基础上。

单向函数是指一个函数很容易朝一个方向计算,但很难逆向回溯(比如,2x3=6,但是从6推回去会有很多种可能)。

活门是指一种可供回溯的小道

VPN3-1

 

单向散列函数

定义:散列函数采用一条长度可变的消息作为自己的输入,对其进行压缩,再产生一个长度固定的摘要。一致的输入会产生一致的输出。

特点:雪崩效应

作用:身份验证、完整性校验

具体函数:MD5(message digest 5,消息摘要5),SHA-1(secure hash algorithm,安全散列算法,SHA-1是SHA的修订版本),RIPEMD

 

异或(XOR)函数:

0101

0110

0011

 

身份验证和完整性

为了保守一个秘密,它的机密性是首先必须保证的。但假如不进行身份验证,也没有办法知道要同你分享秘密的人是不是他/她所声称的那个人;同时假如不能验证接收到的一条消息的完整性,也无法知道它是否确为实际发出的那条消息。

对每个数据的身份验证和完整性保证

1.密钥化的单向散列函数(HMAC)

2.数字签名(缺点是非常慢,先对数据进行hash,然后在使用私钥加密)
 

对数据交换前的身份验证:数字证书(获取公钥)+ 数字签名

 

数字签名的特点:

1. 难以伪造:只有私钥的持有人才能生成签名

2. 无法抵赖:由于极难伪造,所以对于一份经过签名的文档来说,签署人很难抵赖 这不是自己的手迹

3. 不可更改:一经签名,文档便不能修改

4. 不能转移:签名不能移走,并加入另一个不相干的文档

 

对数据流的密钥化散列:

VPN3-2

 

对数据流的数字签名:

VPN3-3

 

提前的身份验证:RSA签名

单纯的数字签名不能完成身份验证,必须和数字证书相结合。为什么,因为公钥有可能被攻击者替换掉。

VPN3-4

 

提前的身份验证:DSA签名

DSA(数字签名算法)和RSA类似,既可用来加密,也可用来签名。

数学基础:建立在"离散对数问题"的基础上

DSA实际并不对生成的签名进行加密处理,也不对签名的验证进行解密处理(尽管它实际上有一个公共密钥和一个私人密钥)。相反,私人密钥用来生成两个160位的值,该值代表签名,而签名的验证是一种数学上的求证(用公共密钥进行),证明那两个值只能由私人密钥生成。

DSA将SHA作为一种散列函数应用于签名。