服务粉丝

我们一直在努力
当前位置:首页 > 科技 >

为什么密码设置为“jK8v!ge4D”仍然不安全?

日期: 来源:36氪收集编辑:36氪

大小写、数字及特殊符号组合的密码,并没有你想象的那么安全……

神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。

编者按:如果你仔细留意的话,你会发现,在大多数平台上,当你创建账号时,平台或系统会对你的账号密码设置设定一系列要求。其中,最常见的就是,密码设置必须包括一个大小写字母、数字和特殊符号,并且密码不得少于8个字符。然而,这并不是安全的密码设置方式。这篇文章,原标题是Why jK8v!ge4D isn’t a good password,前端开发师Jacob Bergdahl在文章中分析了这种密码设置方式的不安全性,同时又跟大家分享了一种更安全的密码设置方式,希望对你有用。

    图片来源:Unsplash.com

    首先,请仔细看看下面两组密码。你认为破解哪组密码更简单呢?你认为哪组密码更方便记忆呢?

    • jK8v!ge4D(含大小写字母、数字和符号)

    • greenelephantswithtophats(戴着礼帽的绿色大象)

    对于这个两个问题,无论从破解容易度,还是记忆方便度来说,答案都是第二组密码。

    然而,在各种互联网的各种平台上,我们仍然在采用看起来像第一组密码的方式来设置密码。大家都想当然地认为,只要密码设置地过于复杂,不方便记忆,那这个密码就不容易破解。

    接下来,我们就详细来聊聊这个话题。

    在互联网标准方面,实际上存在许多奇幻的事情。其中,就包括验证。作为一名前端开发者,我的工作就包括去验证用户输入在那些所谓“输入框”中的内容。这些所谓的输入框,包括用户名、邮箱地址、家庭住址、电话号码等等。

    作为前端开发者,我们的工作职责就是要保证用户在使用我们的产品过程中,不会恶意输入或者错误输入不符合既定格式要求的文本内容。

    例如,邮政编码文本框通常就只允许填入空格和数字。如果我们知道用户来自哪个国家,我们还可以对这个文本框的格式做出更加明确的限制。电话号码文本框通常都包括一系列数字,一个加号符号(通常都在最前面),以及一个破折号,有的情况下可能还包括圆括号。

    邮箱地址的验证就相对麻烦。然而,常规的做法是,它必须包括“@”符号,然后后面还需要包括一个小数点。在某些网站,他们会要求用户在填写用户名的过程中,限制用户填入的名字字符长度,有的还会限制其只能选用某些特定的字符。

    验证之所以存在,主要是基于以下几个原因。

    • 首先,安全因素。验证可以防止用户在文本框中输入乱七八糟的信息,从而增加改变数据库或者引发其它恶意行为的可能性。

    • 其次,它可以确认某种特定的数据类型。如果某个文本框只能包含数字的话,数据库工程师就可以以此来建立一个仅含数字的数据库。这即意味着,如果出现了非数字字符的话,就可能会出现错误。

    • 然而,验证存在的最核心原因,实际上是帮助用户避免错误。

    图片来源:Pexels.com

    用密码设置规则来迫使你设置密码

    从某种程度上来讲,前端开发者应该为用户提供全方位的帮助,让用户设置并输入一个从传统意义上来讲非常安全的密码。它至少应该包含8位字符,其中还包括大小写字母、一个数字,如果还没有安全感的话,甚至还可以加入感叹号等特殊符号。

    基于此,“jK8v!ge4D”通常都会被视作是一个非常安全的密码典范。毫不夸张地说,在绝大多数的互联网平台上,平台都会要求你按照这种模式来设置密码,因此,你可能就会认为,这种组合的密码就是非常安全的密码。

    然而,这种组合的密码并不安全。它反而是非常愚笨的密码设置方式,是一个极容易被破解的密码。

    首先,这种密码设置方式,会增加用户记忆密码的复杂程度。他们很有可能无法记住自己设置的密码,从而“另辟蹊径”,在笔记本或者其它地方把这个密码记录并保存下来,而这种方式也很容易被他人“破解”。

    其次,由于大多数密码都采取这样的密码设置组合,就复杂性而言,已经是其心目中的复杂密码了。因此,为了避免不必要的麻烦,他们可能会在各种平台和设备上都采用相同的密码。

    当你在某个网站上创建账号时,后台的一些“神奇魔法”,会将你设置的密码转变成一串散列(散列也 经常被错误地视作为加密技术)。通过这么一个步骤,你设置的密码,可能在数据库中就会显示成这样:k5ka2p8bFuSmoVT1tzOyyuaREkkKBcCNqoDKzYiJL9RaE8yMnPgh2XzzF0NDrUhgrcLwg78xs1w5pJiypEdFX。

    即便数据库被黑客入侵,黑客拿到这些散列也无法提取有用的信息。如果密码设置非常大众化,并且相关算法也非常简单的话,那仍然有可能根据这个散列来破解原密码。不过,只要密码设置妥当、散列生成过程也正常的话,它大体上仍然是非常安全的。

    但问题在于,不是所有的平台或者设备都会为用户的密码生成散列。如果你把相同的密码用于多个平台和设备的话,也许你使用的某个平台其后台编码非常简单,而你的密码也是直接一字不差地以原密码文本形式存在于其数据库中。如果他们的数据库遭到攻击,那你可能会暴露所有平台和设备上相同的密码。这么说来就相当可怕了,而实际上,真实情况比我们想象的还要可怕。

    因此,我个人建议,对于不同的平台,还是要设置不同的密码。然而,值得注意的是,如今大多数用户在各个平台上都有大量的账户。如果设置不同的密码,怎么才能记住所有的密码呢?一些超级用户可能会使用密码工具,来帮助其生成并管理密码,但一般用户基本上都没有这么做。

    实际上,其实还有更好的密码设置方法。

    图片来源:Pexels.com

    破解密码需要多久?

    我们先看看“gtypohgt”这个密码。它由八个随意的字母符号组成,全部都是小写字母。对于这种密码,要破解它只需要几分钟的时间。

    如果把其中某几个字符换成数字,比如“g9ypo3gt”,那破解时间至少就需要一个小时了。如果再把其中的小写字母换成大写字母,比如“g9YPo3gT”,那可能需要几天才能破解成功。另外,如果你再往里面添加一个特殊字符,比如“g9Y!o3gT”,那可能破解这个密码都需要一个月的时间。

    “g9Y!o3gT”这个密码设置组合,就是我们通常所认为的安全密码。这样的密码设置,很难被他人猜到,也完全不属于常规设置密码。要破解这样的密码,的确需要一定的时间。但问题在于,这样的密码设置,会直接增加用户的记忆难度。

    然后,我们再看另一组密码“greenelephantswithtophats(戴着礼帽的绿色大象)”。这组密码包括24个小写字母,没有数字、随机字母和特殊字符。虽然你会认为这样的密码设置非常简单,但要想破解这样的密码,可能需要至少上百万年时间。

    所以,只要你在密码组合中增加一个字符,破解这个密码的难度实际上是在呈几何数增长。前述24个字符的密码,并不像一般的“666888”“elephant(大象)”等常用的密码,而且也很难让人猜测。

    这才是安全的密码

    因此,我建议,设置密码,最好就让这个密码变成一个故事。比如,在设置Facebook账号的密码时,你可以使用“afaceforabookbutapizzaforahorse(书有一张脸,但马有一个披萨)”。总之,最好通过视觉呈现的方式来设置你的密码。

    我们的记忆强项,反而就是在这些特殊内容的记忆方面。突然之间,你的密码就非常强大了,而且不仅记忆方便,而且还可以避免过于重复。此外,即便是跟你关系密切的人,恐怕也很难去猜测这些密码。

    日常谈话中,你肯定很少会提到乌龟吧?那你是否见到过紫色的乌龟呢?肯定没有吧。那么,不妨尝试下,在脑海中视觉呈现一只紫色的乌龟。然后你就可以这样设置一串密码:“ioncesawapurpleturtleiswear(我发誓我曾经见过一只紫色乌龟)”。要破解这样的密码,至少需要上百万年的时间,甚至连跟你睡在一张床上的伴侣都可能猜不到。

    图片来源:Jamie Street

    对于“walkingdowngrandpasroadwithlittlerufus (和鲁夫斯一起在爷爷家门前走过)”这个密码,破解可能需要上百万年时间。即便有人知道鲁夫斯是你的宠物狗,他们也很难猜到你会这样来设置密码。

    从视觉化效果方面来讲,以下这些密码都非常容易呈现出来。

    • flyingcarsthatcannotflyarenotflying:如果不会飞的汽车就不是飞车。

    • applesmaybegreatbutpearsarelikeheaven:苹果虽然好,但梨子却更好。

    • goatswithshoesenjoytrainsonrainydays:穿鞋的山羊喜欢在雨天搭火车。

    总之,其他人很难猜测这些密码。

    然而,可能有些网站会不允许用户这样设置密码。根据其设定的密码设置规则,这个密码中没有包含数字或大写字母、密码过长,或者处于其他非技术因素无法设置该密码。

    因此,你也可以通过一些小伎俩来“骗”这个系统。比如,在任何密码字符串的最后添加“A1!”。现在,你设置的密码既有大小写字母,也有数字和特殊字符了。只要密码设置没有对字符长度有要求的,那这个密码肯定就可以设置成功。

    即便你在所有的密码字符串后面都添加同样的“A1!”,但前面字符串的不同,仍然会保障该密码的安全性。无论是“ioncesawapurpleturtleiswear(我发誓我曾经见过一只紫色乌龟)”,还是“ioncesawapurpleturtleiswearA1!(我发誓我曾经见过一只紫色乌龟A1!)”,要想破解它们,都是不太可能的。因此,在密码字符串的最后加上“A1!”,除了稍微有点不方便之外,没有其它弊端。

    实际上,前端开发者之所以制定相关密码设置规则,其初衷也都是好的。毕竟,许多人并不重视密码安全问题,通常都会设置“123456789”“666888”“elephant(大象)”等极其容易破解的常见密码。

    对于网站运营方而言,他们肯定不想发生任何数据泄露相关的丑闻。因此,即便可能会造成一系列麻烦,但他们只好强迫让用户设置一个相对安全的密码。

    当你下次设置密码的生活,你可以尝试用本文中提到的技巧来设置你的密码。当然,结合此方法,你也可以用拼音的方式来设置密码。比如“wofashiwocengjingjianguoyizhizisewugui(我发誓我曾经见过一只紫色乌龟)”。

    总之,在密码设置过程中,既要方便你自己记忆,同时要让别人无法破解。

    当然,即便你对这样的密码设置技巧不感兴趣,那你最好千万不要设置“123456”“qwerty(顺着键盘按键随意输入几位字符)”等密码。这些密码,极度不安全,也非常容易被破解。

    所以,对于这样的用户而言,我们前端开发者只好强迫你设置“jK8v!ge4D”这样的密码。

    译者:俊一

    本文来自翻译, 如若转载请注明出处。

    相关阅读

    • 微信新功能上线!网友:太方便了

    • 继上月底淘宝悄然开放微信支付后,阿里和腾讯的互联互通还在继续。3月4日,有网友发现,阿里旗下业务钉钉最新版本也悄悄向微信开放,这意味着用户无需单独下载打开钉钉客户端,即可在
    • 微信新功能上线!网友:这个真可以

    • 继上月底淘宝悄然开放微信支付后,阿里和腾讯的互联互通还在继续。近日有网友发现,阿里旗下业务钉钉最新版本也悄悄向微信开放,这意味着用户无需单独下载打开钉钉客户端,即可在微
    • 这 10 个交互设计原则,你最好永远不要打破

    • 编者按:在工作和生活中,总有些不成文的规矩是不能触碰的,否则就要付出惨烈的代价。在用户界面设计的过程中,也有这么一些规矩。了解它们、以这些规则为指导设计界面,可以有效提升
    • 先看例子还是先解决问题?哪种学习策略更好?

    • 如何更好地学习?神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。编者按:关于学习的策略,长期以来存在着两条路线。一条是示
    • 随身WiFi套路有哪些?宝安区消委会教您避坑

    • 随着移动互联网的普及,随时随地畅享网络已经成为了我们生活中的一部分。为了满足这一需求,许多消费者选择使用随身无线 WiFi,记者了解到,目前市面上的随身无线 WiFi 收费模式主
    • 蔚来申请注册“巴适租电”商标

    • 科技边角料获悉蔚来汽车科技(安徽)有限公司日前申请注册多个“巴适租电”商标,国际分类包括运输工具、材料加工等,当前商标状态均为申请中。天眼查知识产权信息显示,去年7月,蔚来

    热门文章

    • 解码“新IT”的5个特征和3大价值

    • 党的二十大报告提出,要加快发展数字经济,促进数字经济和实体经济深度融合,打造具有国际竞争力的数字产业集群。在数字经济与实体经济深度融合的产业浪潮中,以智能设备、边缘计算
    • OPPO k1的低价高配真实么?网友:不看不知道

    • 近日OPPO一款新机OPPO k1,摒弃了高价低配,就连自家老大哥r17都要怼一下。更是放弃了请代言人,以往的OPPO手机还没出来,各路流量小生,花样美男的代言就先来了。还有线下销售人员的
    • 一招教你手机无限制成为一台新设备

    • 大家平时用手机去注册app,肯定会遇到检测设备异常,交易关闭,等问题 这个都是手机已经不止1-2次注册过此app,不断更换手机仅是一个暂时的方法,却不是长久之计,手机总归会用完
    • 从零开始如何开网店

    • 随着互联网的高速发展,人们的生活发生了翻天覆地的变化,生活节奏越来越快,网购已经成为家家户户生活中离不开的一种购物方式了。网购的发展使得越来越多的人想要涉足电商事业,那

    最新文章

    • 为什么密码设置为“jK8v!ge4D”仍然不安全?

    • 大小写、数字及特殊符号组合的密码,并没有你想象的那么安全……神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。编者按:如
    • 担保债务是否为夫妻共同债务?

    • 夫妻之间如果一方签下担保协议却欠钱不还另一方有义务进行偿还吗?担保债务是否为夫妻共同债务?一起来看看这个案例吧!(图源网络 侵删)案情简介甄俊(化名)与甄帅(化名)为父子关系,郝靓(
    • 绥满高速部分路段10日起临时交通管制

    • 记者从黑龙江省公安厅高速公路交通管理局获悉,因G10绥满高速(哈牡段)K424+900至K435+000实施门架标志安装施工工程,为确保施工期间的道路安全,根据《中华人民共和国道路交通安全