# 密码安全
# 密码的作用
- 证明你是你
# 密码泄露渠道
- 数据库被偷
- 服务器被入侵
- 通讯被窃听
- 内部人员泄露数据
- 其他网站(撞库)
# 密码的存储
- 严禁明文存储(防泄漏)
- 单向变换(拿到密文无法获取到原始密码 防泄漏)
- 变换复杂度要求(防猜解)
- 密码复杂度要求(防猜解)
- 加盐,帮助用户加强复杂度(防猜解)
- 变换次数越多越安全
- 加密成本可以接受(生成密码时速度慢一点)
- 彩虹表失效(数量太大,无法建立通用性)
- 解密成本增大N倍
# 密码-哈希算法
哈希算法的定义和原理非常简单,基本上一句话就可以概括了。将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法
,而通过原始数据映射之后得到的二进制值串就是哈希值
- 明文,密文一一对应
- 雪崩效应:对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的密文也大不相同
- 密文,明文不能反推
- 密文长度固定
- 常见哈希算法:md5,sha1,sha256
# 密码的传输
- 使用https协议
- 登录频率限制(防止密码猜解)
- 前端加密意义有限
# 生物特征密码
- 指纹
- 声纹
- 虹膜
- 人脸识别
# 生物特征密码的问题
- 私密性,容易泄露
- 安全性,碰撞
- 唯一性,终身唯一,无法修改