同一个密码的危害

知识储备

  1. 密码泄露原因:
  • 本地泄露
    1.1 恶意木马 / 恶意植入 / 键盘监听
    建议:
    不在公共或者潜在安全的设备上进行密码操作
    不安装未知来源的盗版软件
    1.2 伪造
    有人开发一款和官方软件一模一样的 App,或者抢先占用 alipay:// 这个协议的 URL_Scheme
    建议:
    从可信的源下载安装软件
  • 传输过程泄露
    在一个不可靠的网络环境下,黑客可以使用 Wireshark 这样的工具包拦截请求包,直接可以看到密码

建议:
不适用不可信的 WiFi 网络,特别是公共场合陌生、免费的 WiFi
非加密传输
http/https 协议,后者传输过程是加密的,如果有人拦截了数据请求包,也无法获知传输的是什么内容
建议:
尽量使用 SSl 加密
保持浏览器在最新版本
检查网络证书是否可信

  • 服务端泄露
    建议:
    密码位数不宜过短过简单
    密码采用数字 + 大小写 + 特殊符号组成
    设置有自己规律的密码

攻击方法

  1. 木马、键盘记录、钓鱼、(拖库、洗库、撞库)
  2. 恶意木马 / 恶意植入 / 键盘监听 / 伪造 / 不可信的 WiFi 网络 / 网络证书不可信 / 密码位数过短过简单 /

防御以及缓解措施

  1. 用 haveibeenpwned.com/ 查看密码是否泄露 (未泄露绿色、泄露红色)
  2. 利用 1Password、LastPass、Bitwarden 之类的密码管理器来保存密码。密码管理器可以注册时自动创建高强度无规律的密码,将其安全的存储在加密的保管库中,并在需要时自动填写密码。
  3. 用户密码加密:对称加密算法(3DES、AES)
    明文密码 ----- 对称加密 ------- 密文密码
    密文密码 ----- 对称解密 ------- 明文密码
  4. 使用 MD、SHA1 等单项 HASH 算法保护密码
    优点:使用这些算法后,没有办法通过算法还原出原始密码,实现简单,很多互联网公司喜欢用这种方式保存用户密码
    缺点:彩虹表技术可以进行查表破解,目前这种方式已经很不安全
    明文密码 ------HASH------- 密文密码
    密文密码不能解密密文密码
  5. 特殊的单项 HASH 算法(加了 “固定盐” 的 HASH 算法)
    缺点:泄露了盐之后,用彩虹表技术也可以破解,只是增加了破解时间
  6. PBKDF2 算法:HASH 算法上增加 “随机盐”,并且进行多次 HASH 算法
    优点:“随机盐” 使彩虹表的建表难度大幅度增加,多次 HASH 也同样使得建表和破解的难度大幅度增加,该算法是美国国家标准与技术研究院推荐使用的算法
  7. 使用一些高级算法保护密码可以有效低于彩虹表的攻击,即使数据泄露,最关键的 “用户密码” 仍然可以得到保护,切断撞库扫库的根源
  8. 根据不同的 App 类型设置密码等级

学习

  • 资源
    https://imbajin.com/about/ (jin 学长)
    https://www.hyominn00.top/ (何茜悦学姐)
    奇项东:多看博客,写博客不是目的,是为了加深你对知识的理解
    尹俊:掘金
    赵谦诚学长:多看博客,学会用安全的角度看待问题,不要抄袭,文章末尾,列出参考文献,像做笔记一样,详细的写清楚攻击方法、防御方法,用自己的语言表达
    https://www.zhihu.com/question/31818607
    李虹骏:阮一峰
    陈淅:CSDN 、
  • 笔记
    名字:可以这样标题前半部分是关键字,后半部分指明意图 (Mac OS Laravel 安装)
    内容:贴解决方案和代码
  1. 试着去表达一些技术上的细节,也要学会省去一些细节
  2. 按照自己学习的角度去想怎么样可以一步步写下来
  3. 加入个人情感,博客与文档不一样
访问量 访客