OWASP A2 Cryptographic Failures(加密机制失效)

Cryptographic Failures 加密失效

根据 OWASP 的说法,加密失效之前的版本称为敏感资料泄露.

主要是信息传输过程中,由于加密失效或者是直接明文传输,因而导致敏感资料的泄露.

密码学发展到现在,在我们身边随处可见,小到我们手里的账户密码,大到军事信号加密.

我们常见的加密算法有主要有对称加密,非对称加密,还有不需要密钥的散列算法.

对称算法主要有:

  1. DES
  2. 3DES
  3. AES

非对称算法有:

  1. RSA
  2. DSA
  3. ECC

散列算法有:

  1. SHA-1
  2. MD5

在互联网中常见的明文传输有 HTTP , SMTP , FTP 等协议,在绝对内网里面,如果人员可靠的话,并没有太大的影响;如果说是在外网的话,是很难保证传输的数据不会被修改.

HTTP 在 web 中是很常见的传输,但是它是一种明文传输,所以很难保证其安全性,所以在传输的路径上,增加了一层 SSL 加密,就变成现
在主流的 HTTPS 传输.

HTTP + SSL = HTTPS

既然要讲加密就讲讲这个 SSL 吧

SSL 是个非常典型的非对称加密技术

你想想,如果 SSL 是个对称加密技术,那么这个密钥如何保证传输的过程是安全的?

要我说,最安全的办法就是你把你的密钥放到 U 盘里,然后跑到你要传输数据人的家里,确认电脑安全性,然后再把密钥交给他.

虽然安全了,但是费力的很.

有没有简单的办法呢?

我相信大家应该学过乘法吧

c=a * b

c=d * e

如果说我给的公钥是 c ,内容为 a ,私钥为 b .

这个公钥是大家都知道的,如果黑客知道了公钥和加密内容

那么它很难推算出原文的内容和私钥的内容

这个可能是 d * e=c , 也可能是 x * y=c.

我们这么想一下 HTTPS 的过程

计算机A : 向服务器B发送请求,请求公钥

服务器B : 向计算机A发送了公钥XXXX.

计算机A : 利用公钥进行了加密,发送了加密数据YYYY.

服务器B : 利用私钥解密了加密内容,是 震山真帅.

上面就是很典型的非对称加密的流程,看起来似乎很安全

但是我们我们思路打开,我们加个黑客 C 从中间监听又会发送什么呢?

计算机A : 向服务器B发送请求,请求公钥

黑客C : 截获计算机A请求,发送伪公钥,同时向服务器B发送请求公钥.

服务器B : 向黑客C发送了公钥XXXX.

计算机A : 利用伪公钥进行了加密,向黑客C发送了加密数据YYYY.

黑客C : 利用伪私钥解密服务器A的东西是 震山真帅 ,觉得信息没用,就利用服务器B的公钥进行了加密发送给服务器B.

服务器B : 利用私钥解密了加密内容,是 震山真帅.于是返回了请求:我也这么觉得

黑客C : 利用公钥进行了解密,发现是 : 我也这么觉得 气的吐血身亡

我们在这里可以发现这个过程并非是安全的.你传输的数据仍然是有可能是被看见的

所以数字证书出现了,由 ca 机构发给客户端和服务端,除非你自己安装证书,中间将不会有第三人插足.

其中数字证书包括以下内容

  • 签发证书的机构
  • 加密算法
  • Hash 算法
  • 公钥
  • 证书到期时间

那么有小伙伴可能会问,那能保证证书在下发的过程中保持安全吗?

所以又出现了数字签名这个概念,由发证机构向服务器B 发送数字证书

这个证书会经过私钥进行解密获取 hash1

公钥解密数字证书获取的 hash2

对比 hash 值是否相同,相同则为发的证书

这时候过程大致如下

  1. 第一步 客户端A给出 支持的SSL版本+一个随机数+自己支持的加密方式
  2. 第二步 服务端B接收到这些信息后确认加密方式+自己的安全证书+一个随机数发给A
  3. 第三步 客户端A确认数字证书有效性(验证方法上面已经说明),然后生成一个随机数,并将这个随机数用B的数字证书公钥加密后发送给A。
  4. 第四步 服务端B使用自己的私钥解密这个随机数
  5. 第五步 A和B通过第二步确定的加密方法将前三个随机数生成一个对话密钥 用来接下来的通信

过程是安全了,那么后果是什么呢?

很显然,传输效率低了,因为要进行传输数据的加解密.

所以我们要根据合适的情况进行合理加密算法选择,保证数据传输的安全性.

本人也不是搞密码学的,本文只是个人之见,如有不足之处还望包涵.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值