前端安全-加密

1 密码安全

1.1 泄露渠道
  • 数据库被盗
  • 服务器被入侵
  • 通讯被窃听
  • 内部人员泄露
  • 其他网站(撞库)
1.2 防御
  • 严禁明文存储
  • 单向变换
  • 变换复杂度要求
  • 密码复杂度要求
  • 加盐(防止拆解)
1.3 哈希算法

明文-密文 一一对应

  • 彩虹表记录明文密文一一对应表,容易破解
  • 两次md5加密也容易破解
  • 所以密码必须复杂

  • 加盐
  • 加盐可以使密码更加难破解 加盐+ 字符串 + 密码

雪崩效应 - 明文: 明文小幅度变化,密文加剧变化
密文: 明文无法反推
密文固定长度: md5 sha1 sha256

1.4 密码传输安全
  • https传输
  • 频次限制
  • 前端加密意义有限- 传输层加密不会泄露 但不代表不能登录
1.5 摘要加密的复杂度
  • md5反差

2 人机校验与验证码

2.1滑动验证码实现原理
  • 服务端随机生成抠图和带有抠图阴影的背影图,服务器随机抠图的位置坐标
  • 前端实现滑动交互,将抠图拼在抠图阴影之上,获取到用户滑动距离值
  • 前端将用户滑动距离值传入服务器,服务端校验误差是否在容许范围中

3 HTTP协议配置

https特点: 保密性、完成性 、 真实性
http + ssl = https

3.1 对称加密
  • 问题:密钥丢失
3.2 非对称加密
  • 产生一堆密钥,私钥和公钥
  • 公钥负责加密
  • 私钥负责解密
  • 私钥无法解开说明公钥无效 - 抵抗赖
  • 计算复杂对性能有影响
    ssh验证过程
    https验证过程: 非对称与对称加密算法
    非对称与对称加密: 因为非对称不适合大量数据加密

4 中间件helmet

  • 强制使用安全连接
  • 提供对于‘点击劫持’的保护
  • 防止浏览器响应类型
  • 防止收到跨脚本攻击

你可能感兴趣的:(前端工程,安全,前端,https)