OWASP A2 Cryptographic Failures(加密机制失效)
Cryptographic Failures 加密失效
根据 OWASP 的说法,加密失效之前的版本称为敏感资料泄露.
主要是信息传输过程中,由于加密失效或者是直接明文传输,因而导致敏感资料的泄露.
密码学发展到现在,在我们身边随处可见,小到我们手里的账户密码,大到军事信号加密.
我们常见的加密算法有主要有对称加密,非对称加密,还有不需要密钥的散列算法.
对称算法主要有:
- DES
- 3DES
- AES
- …
非对称算法有:
- RSA
- DSA
- ECC
- …
散列算法有:
- SHA-1
- 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 值是否相同,相同则为发的证书
这时候过程大致如下
- 第一步 客户端A给出 支持的SSL版本+一个随机数+自己支持的加密方式
- 第二步 服务端B接收到这些信息后确认加密方式+自己的安全证书+一个随机数发给A
- 第三步 客户端A确认数字证书有效性(验证方法上面已经说明),然后生成一个随机数,并将这个随机数用B的数字证书公钥加密后发送给A。
- 第四步 服务端B使用自己的私钥解密这个随机数
- 第五步 A和B通过第二步确定的加密方法将前三个随机数生成一个对话密钥 用来接下来的通信
过程是安全了,那么后果是什么呢?
很显然,传输效率低了,因为要进行传输数据的加解密.
所以我们要根据合适的情况进行合理加密算法选择,保证数据传输的安全性.
本人也不是搞密码学的,本文只是个人之见,如有不足之处还望包涵.
OWASP A2 Cryptographic Failures(加密机制失效)相关推荐
- linux 硬件加密 ssd,市面上多种流行的固态硬盘产品存在硬盘加密机制绕过漏洞...
*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担. 近期,荷兰奈梅亨拉德堡德大学研究人员发现,市面上多种流行的固态硬盘( SSD dr ...
- SQL优化之一则MySQL中的DELETE、UPDATE 子查询的锁机制失效案例
关注"数据和云",精彩不容错过 前言 开发与维护人员避免不了与 in/exists.not in/not exists 子查询打交道,接触过的人可能知道 in/exists.not ...
- Maven学习总结(52)——Maven 配置文件密码加密机制使用说明
前言 Apache Maven项目提供了便捷的密码加密机制,该机制的最近更新时间为2018-03-06.该机制目前只支持在命令行下的操作,如生成密码的密文.此外,用户还需要在${user.home}/ ...
- 腾讯网页登陆的加密机制
转自:http://www.cnblogs.com/DebugLZQ/archive/2011/12/31/2309100.html 问题的引入:前些天,几乎是再同时,CSDN等几大门户网站用户密码被 ...
- IIS网站——SSL安全加密机制
Windows网络操作系统内置的IIS是大家最常用的Web服务器.但在系统默认配置下,IIS使用的是"HTTP协议"以明文形式传输数据,没有采用任何加密手段,传输的重要数据很容易被 ...
- 对称加密算法AES联合设备IMEI码设计的加密机制
AES算法介绍 对称加密算法 AES,密码学中的高级加密标准(Advanced Encryption Standard,AES),又称高级加密标准Rijndael加密法,是美国联邦政府采用的一种区块加 ...
- 【联邦学习实战】基于同态加密和差分隐私混合加密机制的FedAvg
联邦学习实战--基于同态加密和差分隐私混合加密机制的FedAvg 前言 1. FedAvg 1.1 getData.py 1.2 Models.py 1.3 client.py 1.4 server. ...
- Edusoho修改注册的用户密码加密机制规则
一.简介 1.修改生成$salt的机制规则. 2.修改生成$password的机制规则. 二.edusoho的默认用户密码加密机制规则 1.系统默认生成$salt的方式: edusoho\src\Bi ...
- 松鼠聚合直播3.0加密key,聚合直播3.0采用了加密机制,直接打包无法播放都解决问题,有以下地方必须配对才可以正常通信
松鼠聚合直播3.0加密key,聚合直播3.0采用了加密机制,直接打包无法播放都解决问题,有以下地方必须配对才可以正常通信 1,前端 首先是前端songshu-jhlive-uniapp 前端部分 在 ...
最新文章
- Matlab编程与数据类型 -- 文本M文件
- 一文看懂百度云智峰会:发布两大中台、八大方案,落地细节精准到发丝
- 道路运输车辆卫星定位系统JT/T808服务实现和压测
- pd快充线无法连接计算机,华为快充连接扩展坞再接计算机,无法正常充电
- union和union all有什么区别_Django基础(29):select_related和prefetch_related的用法与区别...
- [C++11]对模板右尖括号的优化
- [初级]Java中的switch对整型、字符型、字符串的具体实现细节
- 移动办公计算机,最适合移动办公的三款掌上电脑点评
- 已知有几个数据存放在BUF为首址的字节存储区中,试统计其中正数的个数,并将结果存入ZNUM单元中。
- npm link run npm script
- Z-BlogPHP导航主题模版源码 绿色完美版
- ping 丢包 网络摄像头_利用Zabbix监控工具自动帮我们检测目标网络状况
- tsm如何备份oracle原理,技巧 | 使用TSM备份Oracle,怎么设置通道更好?
- Centos 6\7下yum安装R
- P1262 间谍网络 (tarjan缩点 水过去)
- 代码主题darcula_Pycharm最舒服的主题风格
- qpython 使用教程_python中spy++的使用超详细教程
- matlab实现文本内容批量替换
- [BZOJ1864][CODEVS2462]三色二叉树
- 按键精灵可以实现c语言吗,按键精灵的原理和编写方法(1)
热门文章
- 【鲁棒】对信息不完整的 DSGE 模型进行鲁棒预测(Matlab代码实现)
- 软件测试工程师对英语要求高吗,软件测试工程师面试英文自我介绍
- java 连续运算_java 另类方法实现计算机连续四则运算
- Linux下日志分析--Linux日志
- 基于短消息的远程家电红外遥控系统
- java生成电子发票_C#/Java 动态生成电子发票
- Python--使用jieba进行分词并计算词权重
- 5个Excel办公必备的技巧,职场小白务必牢记于心!
- 拼多多新店铺上架后多久能有起色?上架后怎么推广?
- Matlab中使用符号工具箱求解变上限函数积分及其向量化运算