浅析现代密码学和网络安全协议分析

一、对称加密算法

在这里插入图片描述

1.特点

加密密钥==解密密钥

2,加密方法

2.1流密码
(1)同步流密码
    指加密时每一次加密一位或一个字节的明文
    同步性 无错误传递性 主动攻击性
    音频/视频数据提供版权保护
(2)自同步流密码
    自同步流密码是一种有记忆变换的密码。每一个密钥与已产生的固定数量的密文位有关,*密钥由已生成的密文决定*
    自同步行 错误传递有限性 主动攻击性 明文扩散性

代表:RC4、SEAL

2.2 分组密码
指加密时将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定的长度的,*常用于网络加密*
DES
ESede、3DES、Triple DES
AES
TEA
PBE
2.2.1电子密码本模式
EBC:每次加密均产生独立的密文分组,每组的加密结果不会对其他分组产生影响

缺点:
不能隐藏明文的模式,如果明文重复,对应的密文也会重复
优点:    
易于理解,便于实现并行操作,没
有误差传递问题
用途:
适用于加密密钥,随机数等短数据,如DES

在这里插入图片描述

CBC:加密前需要先与前面的密文进行异或(XOR)操作后在加密

优点:
只要选择不同的初始向量(即不同的异或指)即使产生重复的信息也不会产生相同的密文,无法破解还原
缺点:
不利于并行计算,一旦出错,则会将
错误无限放大
用途:
计算机产生检测数据完整性的消息认证码MAC
CFB:密文反馈模式
OFB:输出反馈模式
CTR:计数器模式

二、非对称加密体系

1介绍

非对称加密分为两个密钥,一个公开,一个保密。公开的密钥称为++公钥++,保密的密钥称为++私钥++
在这里插入图片描述
甲方(发送方)用私钥加密数据向乙方发送数据,乙方(接收方)接收到数据后使用公钥
解密数据。
乙方(发送方)用公钥加密数据向甲方发送数据,甲方(接收方)接收到数据后使用私钥
解密数据。

非对称密码算法的安全性完全依赖于基于计算复杂度的难题,例如RSA源于整数因子分解问题

三、散列函数

1前言

在讲到对称密码体质的流密码实现方式时,曾经提到过对于信息完整性验证需要其他技术来支持,这种技术就是散列函数提供的信息认证技术

2 特点

散列函数,也叫做"哈希函数","信息摘要函数","单向函数或者凑杂函数"
作用:
用于验证数据的完整性的重要技术

消息认证流程
在这里插入图片描述

3 特性

(1)消息长度不受限制
(2)对于给定消息,其散列值很容易计算
(3)如果两个散列值不相同,则这两个散列值的原始输入消息也不同,这个特性使得散列函数具有"确定性"的结果
(4)散列函数运算"不可逆"
(5)抗弱碰撞性,防止被伪造
(6)任意两个不同的消息散列值"一定不同"

例子:
MD ——————> 信息摘要算法
SHA ——————>安全散列算法
MAC ——————>消息认证码算法

四、数字签名

1.介绍

散列函数保证数据内容的完整性,数字签名用来确保数据来源的可认证性发送行为的不可否认性

2.签名者和签名算法概念

签名者:
执行数字签名的实体成
签名算法:
签名过程中所使用的算法
验证算法:
验证签名真伪的算法

流程:

发送者通过网络将信息连同其数字签名一起发送给接受者,接受者在得到消息及其数字签名后,可以通过验证算法,来识别签名者和验证签名的真伪

其中:
RSA,是最常用的签名算法
DSA,算法是典型的数字签名算法,虽然其本身不具备数据加密和解密的功能

数字签名满足一下三个基本要求:

(1)签名者任何时候都无法否认自己曾经签发的数字签名
(2)信息接受者能够验证和确认收到的数字签名,但任何人无法伪造信息发送者的数字签名
(3)签名真伪发生争议是,可以通过仲裁机构进行仲裁

数字签名认证流程
在这里插入图片描述
例如:

假设甲方拥有私钥,并且甲方将公钥发布给乙方;当甲方作为消息的发送方时,甲方使用私钥对消息做签名处理,然后将消息加密后连同
数字签名发送给乙方。乙方使用已获得的公钥对接收到的加密消息做解密处理,然后使用公钥

安全系数要求比较高的企业会使用双向认证,即使用两套公私钥

五、网络安全协议解析

1.相应的概念

客户端和服务器的联接,实质上都是联接服务器的"IP地址"和"开放端口"
POST:
客户端提交数据给服务器
GET:
客户端获取服务器的数据
HTTPS协议:
https = http + ssl/tls
socket通信:
socket = tcp/udp = http/ftp

2.不同协议对应抓包工具

(http/https):
fidder/charels

(Socket,tcp):
wireshark/sniffer

(防止代理):
小米wifi+wpe

3.安卓手动抓包方式

adb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcap   //开始抓包
Ctrl+c                        //结束抓包
adb pull /sdcard/capture.pcap  
//导出文件

4.Http,Https

Http访问过程:

在这里插入图片描述
由于HTTP请求C/S之间没有任何的身份确认过程,是极不安全的

HTTPS访问过程

第一步:对传输的信息进行加密,服务器和客户端双方共享一个密钥,这也就是之前所研究的对称加密
在这里插入图片描述

第二步:更改繁琐的对称加密方式,改用公钥和私钥来实现传输,即非对称加密
在这里插入图片描述

第三步:非对称加密的缺陷在于黑客可以通过不安全传输过程中获取公钥,即 ④中服务器发送的私钥加密信息也有可能被黑客通过公钥解密,因此
可以采取对称加密非对称加密结合的方式进行安全传输
在这里插入图片描述
若采取上述的加密方式,存在两个个问题,
(1)客户端获取如何获取公钥,(2)客户端如何确认服务器的正确性

下面就来解决这两个问题

(1)目前普遍采用获取公钥的方式是,客户端通过申购服务器(已被第三方认证过的)的"SSL"或者"TSL"证书
(2)客户端获取到证书后,马上通过访问证书相关的信息,来进行确认

最后通过这些实现了HTTPS的安全传输

发布了5 篇原创文章 · 获赞 6 · 访问量 1334

猜你喜欢

转载自blog.csdn.net/weixin_43632667/article/details/104633300