TCP/IP:安全,明文传输
A-->B
机密性:明文传输(ftp,http,smtp,telnet)
完整性:10 (100)
身份验证:
机密性:plaintext-->装换规则 -->
ciphertext 加密
cipgertext-->转换规则-->
plaintxet 解密
转换算法:保证数据机密性的核心是秘钥
对称加密:加密和解密是同一个秘钥,计算速度非常快,但安全性仅依赖于秘钥(算法是公开的),秘钥有效
管理无法实现
数据完整性:
单项加密:提取数据特征码,输入一样,输出必然一样,
雪崩效应:输入的微笑改变,将引起结果的巨大改变
定长输出:无论原始数据是多大,结果大小都是相同的
不可逆:无法根据特征码还原会原来的数据
A-->B:把数据和特征码一并传送给B,B用相同的算法计算数据的特征码,看是否和A传送过来的特征码
相同来验证数据完整性
协商生成密码:秘钥交换(Internet Key Exchage, IKE,需要互联网协议支撑)
Diffie-Hellman协议:(数据传输)
A: p:大素数 g:生成数
A p,g -->B
A:本机上找一个数x
B:本机上找一个数y
A:g^x%p -->B
B:g^y%p -->A
A:(g^y%p)^x=g^yx%p
B:(g^x%p)^y=g^xy%p
公钥加密算法,非对称加密算法(身份验证)
秘钥对:
公钥:p,都知道,加密
私钥:s,自己知道,解密
发送方用自己的私钥加密数据,可以实现身份验证
发送方用对方的公钥加密数据,可以保证数据的机密性
公钥加密算法很少用来加密数据,速度太慢
两者结合:用A的私钥加密数据特征码,B拿到之后用A的公钥解密,并和自己计算的数据特征码比较是否一样。
PKI:public Key Infrastructure
CA:Certificate Authority
x509,pkcs12
x509:
公钥及有效期限
证书的合法拥有者
证书该如何被使用
CA的信息
CA签名的校验码
PKI:TLS/SSL:x509
PKI:openGPG
使用数字证书时注意检查数字证书的安全性
TLS/SSL:
SSL:Secure Socket Layer(SSLv2,SSLv3)
http,smtp,ftp -->传输到下一层时调用SSL实现传输加密
TLS:Transport Layer Security
对称加密:
DES:Data
Encrption Standard,56bit
3DES:
AES:Advanced
AES192,AES256,AES512
Blowfish
openssl
gpg
单项加密:
MD4
MD5
SHA1
SHA192,SHA256,SHA384
CRC-32
(提供校验功能)
公钥加密:(加密和签名)
身份认证(数字签名)
数据加密
秘钥交换
RSA:加密、签名
DSA:签名
ElGamal(商业)