密码系统安全性应满足的条件
测量密码系统安全性的基本标准
除了一次性加密算法,理论上还没有绝对安全的密码系统。在实际应用中,只要能够证明所采用的密码系统是计算安全的,就有理由相信加密算法是安全的。[1]
OpenID的理念是用第三方来完成用户验证。
目前国外的网站如谷歌、雅虎等,国内的如腾讯等都已经提供OpenID服务。
如果我们开发一个网站并选择谷歌的OpenID服务,那么用户就可以用Gmail的账号和密码登录,接下来用户认证的事情将由谷歌完成。
优点:
常用的几种单向的哈希算法:
只使用哈希算法还是不够安全:
猜测密码,找有没有相同的哈希值(类似离线攻击)
彩虹表(事先计算好大量密码与对应的各种哈希算法的哈希值)
为了应对彩虹表,我们可以先往明文密码加盐,然后再对加盐之后的密码用哈希算法加密。
所谓的盐是一个随机的字符串,往明文密码里加盐就是把明文密码和一个随机的字符串拼接在一起。由于盐在密码校验的时候还要用到,因此通常盐和密码的哈希值是存储在一起的。
需要注意的是:我们要确保往每个密码里添加随机的唯一的盐,而不是让所有密码共享一样的盐。(否则可以针对这个盐生成彩虹表)
破解方法:
为了应对暴力破解法,我们需要非常耗时的哈希算法。BCrypt算法应运而生。
BCrypt最大的特点是我们可以通过参数设置重复计算的次数。显然,重复计算的次数越多耗时越长。
目前已有开源项目(http://bcrypt.sourceforge.net/)实现了BCrypt算法并被业界广泛采用。
PBKDF2同样也可以通过参数设定重复计算的次数从而延长计算时间。[3]
非对称加密的模式是:
即使黑客拿到了公钥,没有私钥也是没有办法解密,不考虑彩虹表的情况,完全可以长期使用一对秘钥。[6]
GPG加密
GPG全称 GNU Privacy Guard,是非对称加密。
如果你想给谁发送加密信息,首先你要得到他的公钥,然后通过该公钥加密后传给他,对方利用自己的私钥就可解密并读取文件了。[4]
RSA算法
RSA算法原理:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html
对称加密的模式是:
对称加密两种常用算法:
客户端和服务端进行通信,采用对称加密,如果只使用一个秘钥,很容易破解;如果每次用不同的秘钥,海量秘钥的管理和传输成本又会比较高。[6]
基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护。
特点:
这里只考虑从网站服务器上破解用户密码的方法。
通过代码在网站的用户验证环节试探用户的用户名和密码。
攻击之前需要获取网站的网站协议(http
,https
,ftp
,pop3
,…)、完整的登录url(一般不可见)、登录失败信息(Login failed
,请检查用户名、密码
,…)。
攻击流程:比如要攻击用户‘Admin‘的密码:使用程序循环模拟用户登录行为,从字典中依次选取密码,组装后向网站发送登录请求(request
),接收网站的反馈信息(response
)并加以分析,如果没有返回登录失败信息,说明攻击成功。
现有的软件工具:
BurpSuite
hydra
防范措施:
将获取的哈希密码保存到本地,利用自己的计算机对密码进行离线破解。
必须要先判断密码的加密方式。之后将字典中的密码进行依次加密、比对。[2]
现有的软件工具:
John the Ripper
hashcat
防范措施:
[1] 渔翁信息. 密码系统安全性的定义 [EB/OL]. https://www.fisec.cn/1244.html, 2019-02-12
[2] 平平说科技. 黑客技术入门:密码攻击的原理和方法 [EB/OL]. https://cloud.tencent.com/developer/news/313489, 2018-09-13
[3] 星朝. 如何安全地存储密码 [EB/OL]. https://www.cnblogs.com/jpfss/p/11024665.html, 2019-06-14
[4] 守株待兔. GPG 加密解密简明教程 [EB/OL]. http://blog.sina.com.cn/s/blog_71f3890901011ig0.html, 2012-04-19
[5] kph_Hajash. 网络信息传输的安全机制 [EB/OL]. https://blog.csdn.net/chuanglan/article/details/80627366, 2018-06-08
[6] 徐辛承. 如何加密传输和存储用户密码 [EB/OL]. https://zhuanlan.zhihu.com/p/36603247, 2018-05-09
[7] 会飞的狗~. HTTP和HTTPS协议,看一篇就够了 [EB/OL]. https://blog.csdn.net/xiaoming100001/article/details/81109617, 2019-08-03
原文:https://www.cnblogs.com/wr786/p/12112042.html