童年原是一生最美妙的阶段,那时的孩子是一朵花,也是一颗果子,是一片懵懵懂懂的聪明,一种永远不息的活动,一股强烈的欲望。——巴尔扎克
现在位置:首页 > 资源宝库 > 技术教程 > 网络学习---网络安全、HTTPS

网络学习---网络安全、HTTPS

绿色资源网  技术教程  2021-9-29  284  0评论
    <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-1a85854398.css">

网络安全

网络通信中,面临的4种安全威胁

  • 截取:窃听通信内容
  • 中断:中断网络通信
  • 篡改:篡改通信内容
  • 伪造:伪造通信内容

在这里插入图片描述

网络层 - ARP欺骗

ARP欺骗可以造成的后果:

  • 可以让攻击者获取局域网上的数据包,甚至可以篡改数据包
  • 可让网络上特定电脑之间无法正常通信
  • 让送至特定IP地址的流量,被错误的送到攻击者所取代的地方

DoS攻击、DDoS攻击

Dos攻击可以分为2大类:

  • 带宽消耗型:UDP洪水攻击、ICMP洪水攻击
  • 资源消耗型:SYN洪水攻击、LAND攻击

DoS、DDoS防御

防御方式通常为:入侵检测、流量过滤、多重验证
堵塞网络带宽的流量将被过滤,而正常的流量可正常通过

传输层 - SYN洪水攻击

攻击者发送一系列的SYN请求到目标,然后让目标因收不到ACK(第3次握手)而进行等待、消耗资源

攻击方法:

  • 跳过发送最后的ACK信息
  • 修改源IP地址,让目标SYN-ACK送到伪造的IP地址,因此目标永不可能收到ACK

传输层 - LAND攻击

通过持续发送 相同源地址和目标地址 的欺骗数据包,使目标试图与自己建立连接,消耗系统资源直至崩溃

应用层 - DNS劫持

DNS劫持,又被称为 域名劫持
攻击者篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP,导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址

这就是常见的,你打开一个网站,莫名其妙的跳进了另一个网站

为了防止DNS劫持,可以考虑使用更靠谱的DNS服务器,比如114.114.114.114

HTTP劫持

对HTTP数据包进行拦截处理,比如插入JS代码
比如:在访问某些网站时,右下角莫名其妙的多了个广告弹窗


HTTP协议的安全问题

HTTP协议默认是采取明文传输,因此会有很大的安全隐患
常见的提高安全性的方法是:对通信内容进行加密后再进行传输

常见的加密方式有:

  • 不可逆
    单向散列函数:MD5、SHA等
  • 可逆
    对称加密:DES、3DES、AES等
    非对称加密:RSA等
  • 其他
    混合密码系统
    数字签名
    证书

常见的加解密英文单词:
encrypy: 加密
decrypt:解密
plaintext:明文
ciphertext:密文

单向散列函数(One-way hash function)

单向散列函数,可以根据消息内容计算出散列值

散列值的长度和消息的长度无关,无论消息是1bit、10M、100G,单向散列函数都会计算出固定长度的散列值

在这里插入图片描述

单向散列函数的特点

  • 根据任意长度的消息,计算出固定长度的散列值
  • 计算速度快,能快速计算出散列值
  • 具有单向性(不可逆)

单向散列函数 - 常见的几种单向散列函数

  • MD4、MD5
    产生128bit的散列值,MD(Message Digest),目前已经不安全
  • SHA - 1
    产生160bit的散列值,目前已经不安全
  • SHA - 2
  • SHA - 3
    全新标准

对称加密

在对称加密中,加密、解密时使用的是同一个秘钥

在这里插入图片描述
常见的对称加密算法有:
DES、3DES、AES

非对称加密

在非对称加密中,秘钥分为加密秘钥、解密秘钥 2种,它们并不是同一个秘钥

  • 加密秘钥:一般是公开的,因此该秘钥称为 公钥(public key)
  • 解密秘钥:由消息接受者自己保管,不能公开,因此也被称为私钥(private key)
  • 公钥和私钥是一一对应的,不能单独生成

在这里插入图片描述
常见的非对称加密算法有:
RSA

看样子是 非对称加密 安全性更高一些,那,直接使用非对称加密就可以了,没必要再使用对称加密了
其实不然
非对称加密 安全性高,但同时资源消耗比较大,加密解密速度慢

混合密码系统

  • 对称加密的缺点:不能很好的解决秘钥配送问题
  • 非对称加密的缺点:加密解密速度比较慢
  • 混合密码系统:是将 对称加密 和 非对称加密 的优势相结合的方法
    解决了非对称加密速度慢的问题
    并通过非对称加密解决了对称加密的秘钥配送问题

网络上的密码通信所用的SSL/TLS就是运用了混合密码系统

HTTPS中的S就是指的SSL

混合密码 - 加密

  • 会话秘钥(session key)
    为本次通信随机生成的临时秘钥
    作为对称加密的秘钥,用于加密消息,提高速度

数字签名

在数字签名技术中,有以下2种行为

  • 生成签名
    由消息发送者完成,通过”签名秘钥“生成
  • 验证签名
    由消息的接收者完成,通过”验证秘钥“验证

数字签名不是为了保密,而是为了确认这个消息是不是消息发送者自己发送的,并且没有被改变
签名,就相当于你自己签名

如何能保证这个签名是消息发送者自己签的?

用消息发送者的私钥进行签名

数字签名 - 过程

在这里插入图片描述

数字签名 - 过程改进

由于消息体量比较大,加密速度慢,可以将消息变为散列值(消息与散列值一一对应),然后将散列值进行加密

在这里插入图片描述
数字签名的作用不是为了保证机密性,仅仅是为了能够识别内容有没有被篡改

加密:
公钥负责加密,私钥负责解密
签名:
公钥负责验签,私钥负责签名

公钥的合法性

如果遭遇了中间人攻击,那么,公钥就可能是伪造的
如果公钥被传输,就有可能被中间人攻击
数字签名也不行,数字签名也有公钥的传输,在这一步,就有可能已经被攻击了

在这里插入图片描述
那么

如果验证公钥的合法性呢?

证书

证书是为了解决公钥合法性问题
数字签名是为了解决消息内容有没有被篡改的问题


证书(Certificate)

密码学中的证书,全称叫公钥证书(Public-key Certificate, PKC)
里面有:姓名、邮箱等个人信息,以及此人的公钥
并由 认证机构(Certificate Authority, AC) 施加数字签名

CA就是能够认定”公钥确实属于此人“,并能够生成数字签名的个人或组织
CA一般是:
有国际性组织、政府设立的组织
有通过提供认证服务来盈利的企业
个人也可以成立认证机构

证书 - 使用

在这里插入图片描述


HTTPS

HTTPS(HyperText Transfer Protocol Secure),超文本传输安全协议
常称为HTTP over TLS、HTTP over SSL、HTTP Secure

SSL/TLS

HTTPS是在HTTP的基础上,使用SSL/TLS来加密报文,对窃听和中间人攻击提供合理的防护
在这里插入图片描述
SSL/TLS也可以用在其他协议上,比如:
FTP->FTPS(文件传输协议)
SMTP->SMTPS(邮件协议)

TLS(Transport Layer Security)

TLS:传输层安全性协议

TLS的前身是SSL(Secure Sockets Layer),译为:安全套接层

SSL发展为TLS

SSL/TLS工作在:应用层与传输层之间
在这里插入图片描述

OpenSSL

OpenSSL是SSL/TLS协议的开源实现,支持Windows、Mac、Linux等平台
Linux、Mac一般自带OpenSSL

可以利用OpenSSL生成公钥、私钥
生成私钥:openssl genrsa -out 私钥名字.key
生成公钥:openssl rsa -in 私钥名字.key -pubout -out 公钥名字.pem

可以使用OpenSSL构建一套属于自己的CA,自己给自己颁发证书,称为”自签名证书“

HTTPS的成本:
证书的费用、加密解密计算、降低了访问速度
有些企业的做法是:包含敏感数据的请求才使用HTTPS,其他保持使用HTTP

HTTPS的通信过程

总的可以分为3大阶段:

  • TCP的3次握手
  • TLS的连接
  • HTTP请求和响应

在这里插入图片描述
重点讲一下第2步,TLS的连接

TLS 1.2的连接

看一下阿里企业邮箱

评论一下 分享本文 联系站长
绿色资源网
看完文章就评论一下!
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论