一、SSL&TLS
1.SSL:Secure Sockets Layer ,加密套接字协议层
1)SSL是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密
Secure Socket Layer为Netscape网景公司1994年所研发,用以保障在Internet上数据传输之安全,利用数据加密技术,可确保数据在网络上之传输过程中不会被截取及窃听。
2)SSL协议可分为两层:记录协议、握手协议
SSL Record Protocol:建立在可靠的传输协议如TCP之上为高层协议提供数据封装、压缩、加密等基本功能
SSL Handshake Protocol:建立在SSL记录协议之上用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
3)SSL版本:1.0v 2.0v 3.0v
1.0版本未公布,2.0版本才发出就被暴出大量漏洞
主流版为3.0。广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输,但近期被爆出安全漏洞
2.TLS:Transport Layer Security,安全传输层协议
1999年,IETF在仿照SSL发布,为防止SSL一家独大,基本和SSL协议兼容
(1)版本:V1.0, V1.1, V1.2, V1.3
V1.3现在为草案支持椭圆曲线算法,现在主流是V1.2
(2)分层设计:
1)最底层:基础算法原语的实现,aes, rsa, md5
2)向上一层:各种算法的实现;
3)再向上一层:组合算法实现的半成品;
4)用各种组件拼装而成的各种成品密码学协议软件;
3.SSL和TLS实现网络安全性:http --> SSL/TLS --> https
传输层协议有TCP,UDP,SCTP,不同主机上的进程间通信通过socket(ip:port)
client ip:port <-- --> serverip:port
port:进程地址,进程向内核注册使用某端口(独占)
套接字一般处于监听模式:LISTEN(ip:port),占用端口,发起请求是启用服务
二、传输安全性实现:密钥算法协议
1.网络传输安全性
(1)安全的目标
保密性:confidentiality
完整性:integrity
可用性:availability
(2)攻击类型
威胁保密性的攻击:窃听、通信量分析;
威胁完整性的攻击:更改、伪装、重放、否认
威胁可用性的攻击:拒绝服务(DoS)
(3)解决方案
技术层面:加密和解密
服务层面:用于抵御攻击的服务,也即是为了上述安全目标而特地设计的安全服务
2.密钥算法
(1)对称加密:加密和解密使用同一个密钥;
1)特性:加密、解密使用同一个密钥;将原始数据分割成为固定大小的块,逐个进行加密;
2)缺陷:密钥过多;密钥分发困难;
3)种类:
DES:Data Encryption Standard,数据加密标准;算法的入口参数有三个:Key、Data、Mode。
Key为7个字节共56位,是DES算法的工作密钥;
Data为8个字节64位,是要被加密或被解密的数据;
Mode为DES的工作方式,有两种:加密或解密
3DES:三轮加密的DES
AES:Advanced Encryption Standard; (128bits, 192bits, 256bits, 384bits)
Blowfish、Twofish、IDEA、RC6、CAST5
(2)公钥加密:密钥分为公钥与私钥
1)公钥:从私钥中提取产生;可公开给所有人;pubkey
2)私钥:通过工具创建,使用者自己留存,必须保证其私密性;secret key;
3)特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;
4)用途:身份认证,数字签名:主要在于让接收方确认发送方的身份;
密钥交换:发送方用对方公钥加密一个对称密钥,并发送给对方;
数据(特征码)加密:其加密速度比对称加密慢三个数量级,所以不能做全数据加密
5)算法:RSA, DSA, ELGamal
DSS: Digital Signature Standard
DSA:Digital Signature Algorithm
(3)单向加密:即提出数据指纹;只能加密,不能解密
1)特性:定长输出、雪崩效应;
2)功能:完整性校验;
3)算法:md5:Message Digest 5, 128bits,消息摘要算法,版本号为五
sha1:Secure Hash Algorithm 1, 160bits ,安全的Hash算法
sha224, sha256, sha384, sha512
3.密钥交换协议:IKE(Internet Key Exchange)
(1)公钥加密
(2)DH(Deffie-Hellman)算法:密码本身无需在互联网上传输,但双方能得到一致的密码
扩展:ECDH(椭圆曲线DH)、ECDH(临时椭圆曲线DH)
实现方案简介:
1)A和B生成两个数字:p, g。p大素数和g,可以明文可以传输
2)A和B各自自定义一个数字x、y,进行阶乘取模操作,将其结果传递给对方
A私下生成x --> p^x%g ==> B
B私下生成y --> p^y%g ==> A
3)A和B进行解密操作
A: (p^y%g)^x=p^yx%g ; B: (p^x%g)^y=p^xy%g
4.PKI:Public Key Infrastructure公钥基础设施
(1)PKI组成
签证机构:CA
注册机构:RA
证书吊销列表:CRL
证书存取库:CB,公共存储证书位置
(2)X.509v3:定义了证书的结构以及认证协议标准
版本号、序列号、签名算法ID、发行者名称、有效期限、主体名称、主体公钥、发行者的惟一标识
主体的惟一标识、扩展、发行者的签名
本文出自 “许鼎的博客” 博客,请务必保留此出处http://xuding.blog.51cto.com/4890434/1732275
原文地址:http://xuding.blog.51cto.com/4890434/1732275