文章目录
一、SSL:secure sokets layer(安全套接字层)
1.套接字的概念
两个主机通信时,其实本质上也就是两个进程之间的通信,而进程通信当然需要标记,所以就用端口号与IP地址的组合称为套接字,这样就很容易理解了。
SSL的概念
SSL是在TCP/IP模型的应用层与传输层之间加上半层的SSL公共通用模块,调用这个模块http将会变成https。
图中的黄线,表示没有调用ssl模块时的情况,红线代表调用ssl模块的情况,经过ssl时服务器端会使用算法对数据进行加密,并进行身份认证,使客户端访问服务器时更加安全。

二、SSL保证的目标与防范的攻击
保密性confidentiality
目标: 对数据的保密性,使用算法对数据进行加密,保证数据传输时即时被其他黑客拦截到也不知道真实信息
典型攻击: 窃听,对通信量进行分析
完整性integrity
目标: 使用单向加密算法生成特征码,来保证数据的完整性
典型攻击: 更改(对数据进行更改)、伪装(通过IP伪装接收端)、重放(第三方截取数据后虽然不知道其内容是什么,但是会知道有什么作用,可以一直重复的发给接收方,接收方误以为是发送方端的数据,会一直接收)、否认(下订单却否认没下订单)
可用性availability
目标: 保证数据的可用性,保证数据到达接收放依然是可用的
典型攻击: 拒绝服务(DOS)利用TCP的漏洞,一直在与服务器发起TCP连接请求,但是连接后又会断开,这样就造成了服务器的资源浪费、分布式拒绝攻击(DDOS)第三方通过在网络上抓取肉机,一起对服务器发起DOS攻击,如果肉机数量过多,有可能会造成服务器的崩溃
三、解决方案
技术(加密或解密)、服务(用于抵御攻击的服务,也是为了上述安全目标设计的安全服务)
1.加密或解密
传统加密方法:替换加密方法、置换加密方法
现代加密方法:现代块加密方法(将数据进行分块通过算法进行逐个加密)
2.服务
认证机制:通过CA或者身份验证进行访问
访问控制机制:没有通过的不允许访问或者设置允许访问的条件
3.密钥算法和协议
对称加密、单向加密、认证协议
四、openssl介绍
1.简介
一款开源的加密软件,基于ssl/tls协议,实现密钥证书管理、对称加密、非对称加密等
ssl协议:Netscape(网景公司)在1994年颁发的。
tls协议:国际电子工程师协会在1999年发布的。
2.组成
libencrypt:加密解密库,用于实现加密和解密的库。
libssl:实现ssl安全通信机制的库。
openssl:多用途命令行工具。
五、密钥算法和协议
1.对称加密
概述
特性:会将原始数据分割成固定的块,来逐个使用相同的密钥进行加密,传输到对端后使用相同的密钥进行解密。
缺点:密钥过多,因为每次与用户传输都要生成一个只属于该用户的密钥来进行通信,密钥分发困难,因为密钥没有办法传输。
算法:
DES(数据加密标准):56位密钥,现在已经被破解了。
3DES:将原先的DES加密三次。
AES(先进加密标准):最新版的加密算法,192、256位密钥
等…

2.公钥加密技术
概述
将密钥分为公钥和私钥,首先发送方向接收方索要公钥,接收方生成私钥再从私钥中提取公钥后发送给发送方,发送方接收到公钥后使用该公钥加密要发送的数据发送给接收方,接收方再使用自己的私钥来进行解密。(使用公钥加密的数据必须使用与之对应的私钥来进行解密)
公钥:公钥通过在私钥中提取出来,可以公开给所有人,pubkey;
私钥:通过工具来创建,使用者自己留存,必须保证私钥的安全性,secret key;
用途
数字签名:发送方使用自己的私钥在证书上进行签名,这样其他人使用公钥解密时会验证发送方的身份。
密钥交换:发送方用对方的公钥加密一个对称密钥发送给对方,这样就可以保证密钥的传输安全性了。
算法
RSA(可以加密、解密也可以进行数字签名)、DSA(可以加密但是不能解密所以只能作为数字签名)
3.单向加密
概述
只能进行加密,但是不能解密,在原始数据中使用算法提取定长特征码。
特性
定长输出:用户会自定一个特征码长度然后进行特征码提取。
雪崩效应:因为是使用算法在数据内提取定长的特征码,所以其中特征码一旦丢失一位则不能通过验证。
功能
由于其定长输出和雪崩效应的特性,所以通常用于数据完整性验证。
算法
md5、sha、sha224、sha256等…
六、IKE密钥交换详解
1.基于公钥加密的对称加密传输
1)加密发送数据过程
第一步:Alice生成数据,并使用单向加密算法计算出这段数据的特征码
第二步:Alice使用自己的私钥加密这段特征码,并将结果附加在数据后面,生成数字签名
第三步:Alice生成一个临时的对称密钥并加密这整段数据和特征码
第四步:Alice获取Bob的公钥并使用Bob公钥加密这整段数据

2)解密过程
第一步:Bob获取到数据包后,首先使用自己的私钥解密Alice使用自己的公钥加密
第二步:使用对称密钥解密整段加密的内容
第三步:再使用Alice的公钥解密特征码,使Alice的身份得到验证(数字签名)
第四步:Bob使用相同的单向算法计算这一段数据,并对照Alice发送过来的特征码,如果一致则接收数据,如果不一致则表名该数据已经被人篡改过会丢弃数据(验证数据的完整性)

3)基于公钥加密的对称加密Bug(中间人攻击)
第一步:Eve中间人假说自己是Bob并将自己的公钥发送给Alice
第二步:接收Alice发送过来的数据包,查看并发送给Bob,并假说自己是Alice
第三步:这样Bob就以为是在跟Alice通信,而Alice也就以为自己在跟Bob通信

3.DH算法
第一步:Bob生成p、g Alice生成p、g
第二步:Bob生成x,并生成计算p^x%g发送给Alice
Alice生成y,并计算p^y%g发送给Bob
第三步:Bob将接受的数据再加y平方p^xy%g
Alice将接受的数据再加x平方p^xy%g
#至此双方密钥交换完成,最后算法式子都为相同的
七、中间人攻击的终结者PKI(公钥基础设施)
1.组成
签证机构CA:负责证书的签发
注册机构CR:证书注册的接待窗口
证书吊销列表CRL:证书吊销或私钥丢失后会添加一条证书失效条目到CRL列表中
证书存取库:签发的证书都在这里,每次颁发证书时都会添加一条条目到存取库中
2.证书的内容
x.509v3:定义了证书结构以及证书协议的认证标准
版本号:v1、v2还是v3
序列号:从01开始的序列号,代表第几个证书
签名算法ID:签名时使用的算法
发行者名称:CA的名称
有效期限:证书有效期
主体名称:个人的名字
主体公钥:
发行者的唯一标识:标识号,CA的标识号,颁发者的唯一标识
主体的唯一标识:标识号,主体的标识号,拥有者的唯一标识
发行者的签名:将上述的所有内容发行者通过单向加密计算出特征码然后用自己的私钥加密特征码生成发行者签名,用来做发行者的身份验证
3.证书的颁发步骤
Alice首先将自己的公钥发送给CA,CA使用特殊的技术做防伪标识并将认证的公钥再发送回Alice,完成证书认证。

4.使用证书通信步骤
第一步:CA首先将自己的数字签名发放出去,以证明自己CA的身份
第二步:双方商量算法、对称加密、公钥加密和密钥交换的算法,并查看对方的证书认证CA是否是自己信任的C


4022

被折叠的 条评论
为什么被折叠?



