首页 安全防御正文

Web前端密码加密是否有意义?

正文

许多读者认为,只要使用它https,加密了http所有字段,整个通信过程都是安全的。众所周知,现在https通信不是端到端的(End to End), *** 往往夹杂在中间,包括客户 *** 和服务器 *** 。

*** 的存在使原本更加严格和安全https,存在安全隐患。

客户端 ***

通常用户不知道 *** 的存在,比如企业监控员工https流量肯定会在员工的电脑上下手脚,这样企业的 *** 管理就能完全看到员工https明文流量,包括用户的明文密码。

服务器 ***

通常有服务器的数字证书私钥,可以与客户端建立https加密通信自然可以看到用户https明文流量,包括用户的明文密码。

在上述两种情况下,用户的明文密码有泄露的风险。

用户密码一旦在前端加密,即使有 *** ,也无法获得用户的明文密码。

前端加密用户密码

                   
  • 不加盐的MD5加密密码

虽然中间 *** 无法获得明文密码,但仍可以截获MD5实现密码登录仍然是一个安全隐患。

                   
  • 一次性加盐密码OTP

每次加密用户密码时,同时添加随机码Nonce,如果只使用一次随机码,则每次生成的密码是一次性的、动态的。

即使被中间 *** 截获,也不能第二次登录用户账户。

即使没有中间 *** 的存在,目前很多https依然使用RSA算法实现认证环节和密钥交换(Key Exchange)链接。一旦服务器的私钥泄露,历史上就被截获了https用户的明文密码将很容易破解加密流量。

这就是为何TLS 1.3会完全抛弃RSA算法是密钥分发算法的原因,因为它不满意PFS要求。

PFS要求

PFS,Perfect Forward Secrecy,破解任何安全因素都不能破解所有数据。如果满足此条件,则为满足此条件PFS要求,否则不满足。

综上所述,前端加密用户密码是为了更好地保护安全和隐私,即使在https也可以完全破解!

   
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。