不同角度对安全的定义
密码系统安全性应满足的条件
测量密码系统安全性的基本标准
除了一次性加密算法,理论上还没有绝对安全的密码系统。在实际应用中,只要能够证明所采用的密码系统是计算安全的,就有理由相信加密算法是安全的。[1]
安全地存储密码
OpenID的理念是用第三方来完成用户验证。
目前国外的网站如谷歌、雅虎等,国内的如腾讯等都已经提供OpenID服务。
如果我们开发一个网站并选择谷歌的OpenID服务,那么用户就可以用Gmail的账号和密码登录,接下来用户认证的事情将由谷歌完成。
优点:
- 没必要自己存储用户名和密码,也就没必要考虑存储密码的安全性问题,从而减少开发的成本。
- 用户不用在网站上注册新的用户名和密码。这样既免去了填写资料的麻烦,也减去了记住一对新的用户名和密码的负担。
常用的几种单向的哈希算法:
- MD5(已被破解,不建议在产品中使用)
- SHA系列(SHA1、SHA256、SHA384、SHA512等)
只使用哈希算法还是不够安全:
-
猜测密码,找有没有相同的哈希值(类似离线攻击)
-
彩虹表(事先计算好大量密码与对应的各种哈希算法的哈希值)
为了应对彩虹表,我们可以先往明文密码加盐,然后再对加盐之后的密码用哈希算法加密。
需要注意的是:我们要确保往每个密码里添加随机的唯一的盐,而不是让所有密码共享一样的盐。(否则可以针对这个盐生成彩虹表)
破解方法:
- 穷举法。由于哈希算法的快速高效,任何6位的纯数字密码即使加盐之后也能在数秒之内破解。随着计算能力的提高,黑客们低成本并且高效地破解高级别密码愈发存在可能。
- 通过历次密码泄露事件收集大量常用密码。这些常用的密码即使加盐也很容易破解。
为了应对暴力破解法,我们需要非常耗时的哈希算法。BCrypt算法应运而生。
BCrypt最大的特点是我们可以通过参数设置重复计算的次数。显然,重复计算的次数越多耗时越长。
PBKDF2同样也可以通过参数设定重复计算的次数从而延长计算时间。[3]
安全地传输密码
非对称加密的模式是:
- 乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的
- 甲方获取乙方的公钥,然后用它对信息加密
- 乙方得到加密后的信息,用私钥解密。
即使黑客拿到了公钥,没有私钥也是没有办法解密,不考虑彩虹表的情况,完全可以长期使用一对秘钥。[6]
GPG加密
GPG全称 GNU Privacy Guard,是非对称加密。
如果你想给谁发送加密信息,首先你要得到他的公钥,然后通过该公钥加密后传给他,对方利用自己的私钥就可解密并读取文件了。[4]
RSA算法
对称加密的模式是:
- 甲方选择某一种加密规则,对信息进行加密
- 乙方使用同一种规则,对信息进行解密[6]
对称加密两种常用算法:
- 分组密码:每次只对固定长度的比特块进行加密,比如DES;
- 流密码:将提供的大量比特作为输入并可连续运行,从而加密;[5]
客户端和服务端进行通信,采用对称加密,如果只使用一个秘钥,很容易破解;如果每次用不同的秘钥,海量秘钥的管理和传输成本又会比较高。[6]
基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护。
特点:
- 内容加密:采用混合加密技术,中间者无法直接查看明文内容。
- 验证身份:通过证书认证客户端访问的是自己的服务器。
- 保护数据完整性:防止传输的内容被中间人冒充或篡改。[7]
其它可能的攻击方式及相应的防范措施
这里只考虑从网站服务器上破解用户密码的方法。
通过代码在网站的用户验证环节试探用户的用户名和密码。
攻击之前需要获取网站的网站协议(http
,https
,ftp
,pop3
,…)、完整的登录url(一般不可见)、登录失败信息(Login failed
,请检查用户名、密码
,…)。
攻击流程:比如要攻击用户’Admin’的密码:使用程序循环模拟用户登录行为,从字典中依次选取密码,组装后向网站发送登录请求(request
),接收网站的反馈信息(response
)并加以分析,如果没有返回登录失败信息,说明攻击成功。
现有的软件工具:
- 获取网站基本信息:
BurpSuite
- 表单密码破解:
hydra
防范措施:
- 验证码、滑块拼图、限制失败登陆次数等。无法彻底杜绝。[2]
将获取的哈希密码保存到本地,利用自己的计算机对密码进行离线破解。
必须要先判断密码的加密方式。之后将字典中的密码进行依次加密、比对。[2]
现有的软件工具:
John the Ripper
hashcat
防范措施:
- 优化哈希密码的存储技术,采取特殊的加密方式等。
原文链接:https://www.cnblogs.com/wr786/p/12112042.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18453