|
|
51CTO旗下网站
|
|
移动端

暗码办理:你的暗码安全吗?

咱们评论一下公司在暗码办理战略方面做出的一些常见过错。让鄙人面的评论中,咱们将说到“在线进犯”和“离线进犯”。在线进犯是对运用程序登录页面的进犯,进犯者企图猜想用户的暗码;离线进犯是进犯者获取暗码数据库副本,并测验核算存储在其间的用户暗码的进犯。

作者:可圈可点来历:今天头条|2019-06-14 15:10

互联网年代,暗码与咱们的日子休戚相关。怎么进步暗码安全系数成为用户个人以及公司的重视要点。

尽管现在身份验证技能现已愈加老练,可是暗码仍然是维护咱们最灵敏信息的首要途径。暗码是防护潜在入侵者企图仿照另一个用户的第一道防地,但这样的防护往往比较弱。用户一般想创立易于回忆的暗码,运用出生日期或纪念日,乃至写下来。开发人员则想尽或许少地投入暗码办理战略中。究竟,研制新功用比暗码办理和存储更令人兴奋、更风趣。

许多暗码自身安全性十分弱,很简略猜得到,进犯者就会有隙可乘。最糟糕的是,咱们信赖的暗码存储体系和其它要害信息的体系也面临着许多安全应战。bwin会重复测验暗码数据库进行偷盗,进犯者同伙常常会损坏那些维护数据的办法。

咱们评论一下公司在暗码办理战略方面做出的一些常见过错。让鄙人面的评论中,咱们将说到“在线进犯”和“离线进犯”。在线进犯是对运用程序登录页面的进犯,进犯者企图猜想用户的暗码;离线进犯是进犯者获取暗码数据库副本,并测验核算存储在其间的用户暗码的进犯。

暗码办理:你的暗码安全吗?

您已约束用户能够运用的字符数量或品种

推理

安全人员重复告知开发人员验证一切输入以避免各种进犯(例如,注入进犯)。因而,依据某些规矩来拟定验证暗码的规矩必定是一个好主意,对吧?

进犯:

约束暗码中字符数量或品种的问题是减少了或许的暗码总数。这使得在线和离线进犯更简略。假如我知道只答应在暗码中运用特别字符!和@,那也便是我知道用户暗码都没有包括#,$,%,<和>等字符。此外,假如我知道只答应长度为8到12个字符的暗码,我也就知道一切用户都没有运用13个字符或更长的暗码。假如我想猜想用户的暗码,这些规矩能够让我的作业变得更轻松。

可是SQL注入、跨站点脚本,指令注入和其它办法的注入进犯呢?假如遵从暗码存储最佳做法,您将在收到暗码后当即核算暗码的哈希值。然后,您将只处理哈希暗码,不用忧虑注入进犯。

防护:

答运用户挑选包括恣意字符的暗码。指定最小暗码长度为8个字符,但在可行的情况下答应恣意长度的暗码(例如,将它们约束为256个字符)。

您在运用暗码组合规矩

推理:

大多数用户挑选简略猜到的暗码。咱们能够经过让用户挑选包括几种不同类型字符的暗码,以强制用户挑选难以猜想的暗码。

进犯:

安全专业人员从前以为,让用户挑选包括各种字符类型的暗码会增强暗码的安全性。不幸的是,研讨标明这一般没有协助。 “Password1!”和“P @ ssw0rd”或许遵从了许多暗码组合规矩,但这些暗码并不比“password”更强。暗码组合规矩只会让用户难以记住暗码;它们不会让进犯者的作业变得愈加困难。

防护:

脱节暗码组成规矩。在运用程序中添加暗码杂乱性检查功用,告知用户他们的暗码挑选是否显着强度偏弱。可是,不要强制用户在其暗码中添加数字、特别字符等。稍后,咱们将评论怎么使运用程序更安全,以避免安全性弱的用户暗码。

暗码办理:你的暗码安全吗?

您没有安全地存储暗码

推理:

哈希函数是单向函数。因而,存储哈希暗码应该能够避免进犯者核算出它们。

进犯:

与前面评论过的两个问题不同,这个问题一般只与离线进犯有关。许多企业和安排的暗码数据库都被盗了。当把握了被盗暗码库和强壮的核算才能,进犯者一般能够核算出许多用户的暗码。

存储暗码的常用办法是运用哈希函数,对暗码进行哈希处理。假如最终用户挑选彻底随机的20+字符暗码,这种办法将是完美的。例如暗码设成:/K`x}x4%(_.C5S^7gMw)。不幸的是,人们很难记住这些暗码。假如简略地对暗码进行哈希处理,则运用彩虹表进犯就很简略猜到用户挑选的典型暗码。

阻挠彩虹表进犯一般需求在对每个暗码进行散列之前添加随机“盐”。“盐”能够与暗码一同存储在铲除中。不幸的是,加盐的哈希并没有多大协助。 GPU十分拿手快速核算加盐哈希值。能够拜访许多加盐哈希和GPU的进犯者将能够运用暴力和字典进犯等进犯合理且快速地猜想到暗码。

有太多不安全的暗码存储机制,值得专门写篇文章去评论。不过,咱们先来看看您应该怎么存储暗码。

防护:

有两种首要机制能够避免进犯者:一种是使哈希核算愈加贵重,另一种是向哈希添加一些不行估测的东西。

为了使哈希核算愈加贵重,请运用自适应哈希函数或单向密钥派生函数,而不是暗码哈希函数来进行暗码存储。哈希函数的一个特性是它们能够被核算出来;这个特点导致它们不适合用于暗码存储。进犯者能够简略地猜想暗码并快速散列以检查生成的哈希值是否与暗码数据库中的任何内容匹配。

另一方面,自适应哈希函数和单向密钥导出函数具有可装备的参数,这些参数可用于使哈希核算愈加资源密布。假如运用妥当,它们能够有助于充沛减缓离线进犯,以确保您有时间对正在遭到进犯的暗码数据库做出反响。

这种办法的问题在于,每次要对用户进行身份验证时,都有必要自己核算这些哈希值。这会给服务器带来额外负担,并或许使运用程序更简略遭到DoS(拒绝服务)进犯。

或许,您能够添加一些不行猜想的暗码哈希值。例如,假如要生成一个长随机密钥,将其添加到暗码哈希值以及仅有的随机盐,并且保险地维护密钥,那么被盗暗码数据库对进犯者来说将毫无用处。进犯者需求盗取暗码数据库以及能够运用离线进犯核算出用户暗码的密钥。当然,这也产生了一个需求处理的十分重要的密钥办理问题。

您彻底依托暗码

推理

暗码有必要是验证用户身份的好办法。其他人都在运用它们!

进犯:

即运用户履行上述一切操作,以使在线和离线进犯愈加困难,也无法阻挠其它运用程序/网站履行不恰当的操作。用户常常在许多站点上重复运用相同的暗码。进犯者常常会在某渠道测验从其它渠道盗取暗码。

此外,用户成为网络垂钓进犯的受害者,由于一些用户不管暗码要求怎么都会挑选安全性弱的暗码,等等。

防护:

要求用户运用多要素身份验证登录。请记住多要素身份验证的意义:运用至少两种不同要素进行身份验证(典型要素是您知道的工作、具有的物品、以及生物辨认等等)。运用两种不同的暗码(例如,暗码+安全问题的答案)不是多要素身份验证。一起运用暗码和动态口令归于多要素验证的一种。此外,请记住,某些多要素身份验证机制比其它多要素身份验证机制更安全(例如,设备比根据SMS的一次性暗码更安全)。不管怎么,运用某种办法的多要素身份验证总是比仅依托暗码更安全。

假如有必要仅运用暗码进行身份验证,用户则还有必要采纳某品种型的设备身份验证。这或许触及设备/浏览器指纹辨认,检测用户是否从不寻常的IP地址登录,或相似的办法。

暗码办理:你的暗码安全吗?

定论

如您所见,处理用户暗码时需求考虑许多事项。咱们还没有谈到暗码轮换战略、帐户确认、帐户康复、速率约束,避免反向暴力进犯等等。

有一个很重要的问题需求考虑:您是否能够将用户身份验证转给其他人?假如你是一家金融机构,答案或许是否定的;假如您要把最新的猫咪宠物视频给他人看,在此之前需求验证,那这种情况下答案应该是能够的;假如您正在开发面向企业职工内部运用的运用程序,请考虑根据SAML的身份验证或LDAP集成;假如您正在开发面向大众的运用程序,请考虑运用交际登录(即运用Google,Facebook等登录)。许多交际网站现已投入许多精力来维护其身份验证机制,并为用户供给各种身份验证选项。您不需求全盘重来。

在不用要的情况下施行用户身份验证会给企业和用户都带来费事,乃至有潜在危险。创立安全的用户验证机制困难且耗时。可您是真的想要处理被盗用的暗码数据库,仍是进犯者在身份验证机制中发现缝隙?并且用户有更重要的工作要做,而不是记住另一个暗码!

作者:新思科技软件质量与安悉数分办理参谋Olli Jarva

【修改引荐】

  1. 当心bwin | 暗码分类和进犯类型,维护好自己的隐私
  2. 谷歌发现G Suite缝隙:部分暗码明文存储长达十四年
  3. 信息走漏年代,怎么让自己的暗码更安全?
  4. 八种无暗码身份验证办法
  5. 暗码设置需避开哪些雷区?
【责任修改:未丽燕 TEL:(010)68476606】

点赞 0
咱们都在看
猜你喜爱

订阅专栏+更多

这便是5G

这便是5G

5G那些事儿
共15章 | armmay

111人订阅学习

16招轻松把握PPT技巧

16招轻松把握PPT技巧

GET职场加薪技能
共16章 | 晒书包

371人订阅学习

20个局域网建造改造事例

20个局域网建造改造事例

网络建立技巧
共20章 | 捷哥CCIE

755人订阅学习

读 书 +更多

Scrum灵敏项目办理

本书详细描述怎么在杂乱技能项目中运用Scrum,并结合实在的Scrum事例及专家洞识,在简明及高度归纳的理论之上更侧重于实践,并不断着重Scru...

订阅51CTO邮刊

点击这儿检查样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微