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

2019-09-10 00:54陆英
计算机与网络 2019年3期
关键词:明文客户端加密

陆英

很多人认为只要使用了https,加密了http的所有字段,整個通信过程就是安全的。殊不知,现如今https通信并不是端到端,而往往是中间夹杂着代理,有客户端的代理,也有服务器端的代理。

而代理的存在使得本来较为严密、安全的https,“存在”安全隐患。

客户端代理

用户通常是不知道代理的存在,比如企业为了监控员工https流量,一定会在员工电脑上动手脚,这样企业的网管完全可以看到员工的https明文流量,其中也包含用户的明文密码。

服务器代理

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

以上2种情况,用户的明文密码都有泄漏的风险。但如果前端加密了用户密码,即使有代理的存在,依然无法获得用户的明文密码。

前端加密用户密码

1.不加盐的MD5加密密码

尽管中间代理无法获得明文密码,依然可以拿着截获的MD5密码实现登录,这是一个安全隐患。

2.加盐的一次性密码OTP

如果每次加密用户密码时,同时添加随机码Nonce,随机码只使用一次,那么每次产生的密码就是一次性的、动态变化的,即使被中间代理截获,也无法第二次登录用户账户。

没有中间代理的存在,目前很多https依然使用RSA算法来实现认证环节和密钥交换环节。一旦服务器的私钥泄露,历史上被截获的https加密流量,将会被轻松破解,其中包括用户的明文密码。

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

PFS要求

任何一个安全要素的破解,都不能破解全部数据。如果满足这个条件,则为满足PFS要求,否则为不满足。

综上所述,前端加密用户密码,是为了更好地保护安全和隐私,即使在https被完全破解的情况下,同样也可以。

猜你喜欢
明文客户端加密
保护数据按需创建多种加密磁盘
谷歌禁止加密货币应用程序
奇怪的处罚
虚拟专用网络访问保护机制研究
加密与解密
新闻客户端差异化发展策略
奇怪的处罚
奇怪的处罚
浅析IEEE 802.1x及其客户端软件