非安全黑客脚本全本 密码安全与会话安全

11/28 08:11:11 来源网站:辅助卡盟网

既然对称加密不可取,我们来看看非对称加密。浏览器登录前经过gateway获取认证服务器的公钥,使用公钥进行加密,最终密文到认证服务器,再通过私钥解密拿到明文密码进行密码认证。这种方式gateway只能拿到公钥和密文,无法解密,就算打印到日志中,攻击人无法拿到明文密码了。

但这样就安全了吗?

如果攻击人拿gateway中的密文直接去调认证服务器中的登录api,认证服务器一样可以通过私钥进行解密,并登录成功。所以我们还需要加一些限制:保证密文有过期时间,并且是只能使用一次。

浏览器获取认证服务器公钥时,携带用户名到认证服务器,认证服务器生成随机数并与用户名关联,随机数只保存5分钟,随机数与公钥一起返回给浏览器。浏览器使用随机数加密码通过公钥一起加密调登录api,认证服务器通过私钥解密,获取到明文密码与随机数,验证随机数的有效性与合法性,都正常就进行正常登录,比较完随机数后立刻删除随机数,如不正常拒绝登录。

攻击人就算获取到了密码密文,公钥,随机数,也只能在5分钟之内赶在gateway正常请求登录之前,发起登录攻击,但这个难度太大。 还有就是认证服务器保证客户端是gateway或可信的服务发起的请求,认证服务器可以对客户端做白名单限制,方式有很多种,在这就不一一赘述了。

但现在就安全了吗?还真不一定。如果攻击人攻破了gateway,在浏览器请求认证服务器获取公钥时,gateway返回攻击人颁发的公钥,待用户输入完账号密码后,浏览器虽然进行了加密,数据到了gateway,攻击人再通过自己的私钥进行解密拿到明文密码,再通过明文密码在登录页进行正常的登录,同样可以登录成功。因此浏览器也需要做安全验证,验证公钥的合法性。

认证服务器可以采用CA机构颁发的公钥,认证服务器与浏览器都相信CA机构(做安全总得相信点东西,如果什么都不信任就没法做安全了,有永无止境的安全问题),通过CA机构的方式验证公钥的合法性来避免中间人篡改公钥的问题(讲得不是很清楚,比如CA机构是个啥,为什么CA机构可信?这里面可聊的话题太多,有兴趣可以查看《密码学与网络安全》等书籍或一起探讨研究)。

那密码安全了吗?还是远远不够。比如黑客知道了你密码的长度,可以不断地调登录或修改密码的接口来试错,总会试出来正确的密码,因此需要对任何会验证密码合法性的接口都需要加频率限制。如登录连续错了5次锁5分钟,再错5次锁半小时,防止黑客试出密码。但这种方式也有问题。如竞争对手公司不断地使用用户的账号和错误的密码去登录,导致用户的账号一直处于被锁状态,正常用户也没法使用,这就违背了安全中的可用性。那就需要加ip限制和验证码机制了。为了用户的体验性,可以做成第一次登录用户可以正常登录,错误之后,就需要使用验证码的方式登录,超过5次锁定账号,同一ip登录错误次数过多,将ip加入黑名单中。

无密码安全

密码有很多安全问题,复杂密码对于用户来说也挺麻烦的,那采用无密码技术。没有密码是不是就安全了呢?虽然现在可以采用指纹登录与刷脸登录,但新的安全问题也随之而来。密码是需要私密性的,但指纹可以从照片中获取,美国国防部某个官员因在拍照时露出了大拇指,随后就有了这个大拇指的清晰指纹图(拍照的时候不要剪刀手或点赞了,最好指纹对准自己吧,手动狗头)。

还有就是存在不确定性,刷脸登录时,如果灯光太暗或太亮,脸部受伤了,化妆了,那登录能保证成功吗?脸部相似的人,登录时能保证区分开来吗?如果不能就违背了账号唯一性,日后审计也是个问题。还有一个问题就是不可修改。当密码泄露了可以修改密码,但你的指纹已经作为登录凭据了,换个手指头就好了,当十个手指头都用过了,那是不是该用脚指头了?当然无密码肯定是比有密码使用上更方便快捷,随着技术的发展,这些问题也都会解决,只是也会有更多的安全问题。

    暂无相关资讯
非安全黑客脚本全本 密码安全与会话安全