当前位置:首页>看资讯 >门窗常识>输入密码以解密存储设备(密码存储硬件)

输入密码以解密存储设备(密码存储硬件)

2023-05-01 来源:防盗门责任编辑:门窗之家 浏览数:6 门窗网

核心提示:本文共计2300字,阅读时间8分钟左右原文链接 https://blog.Cloudflare.com/keeping-passwords-safe-by-staying-up-to-date/,译者做了少量删节、注释与修改。在过去的几周里,一些公司发现它们存储密码的数据库被泄露到网络上。尽管做过一些预防措施(例如加密),很多用户密码还是被黑客攻破了。这就是当今互联网的一个丑陋现实:黑客们在破解数据库文件方面可谓同心协力,并且专业的密码破解软件也很容易获得。为什么密码如此脆弱?这就必须了解一下密码的存储方

是时候了解一下密码存储了

本文共计2300字,阅读时间8分钟左右原文链接 https://blog.Cloudflare.com/keeping-passwords-safe-by-staying-up-to-date/,译者做了少量删节、注释与修改。
在过去的几周里,一些公司发现它们存储密码的数据库被泄露到网络上。
尽管做过一些预防措施(例如加密),很多用户密码还是被黑客攻破了。
这就是当今互联网的一个丑陋现实:黑客们在破解数据库文件方面可谓同心协力,并且专业的密码破解软件也很容易获得。
为什么密码如此脆弱?这就必须了解一下密码的存储方式,让我们从一些基础知识和历史开始吧。
明文存储存储密码的最简单方式就是将其明文存储在数据库中。
当某用户尝试登录并输入密码“supersecret”时,系统后台将这个字符串与数据库中的记录进行比较,然后决定这次登录是否成功。
当然,以明文形式存储密码是非常危险的。
如果数据库遭到泄露,黑客可以直接读取所有密码并破解每个帐户。
稍好一些的,会把密码加密之后再写入数据库,然后在用户登录时将其解密。
但这也只会给黑客增加一点小障碍:他们只需要多获取一个加密密钥。
(经验证明)这个密钥几乎一定与数据库在同一台机器上,因此做起来很简单。
译者注:即使黑客未能获取加密密钥,也还有一种叫“词频分析”的攻击可以采用。
我们知道很多人会使用极其简单的密码,那么只要找到数据库中出现频率最高的那个,虽然它是加密的,但你猜它是“123456”大概率不会有错。
这样黑客虽然无法攻破所有账户,但大部分使用简单密码的账户就危险了。
您可以访问https://nordpass.com/most-common-passwords-list,这里列出了2020年最“常用”的200个密码,看看您的密码是否位列其中。
尽管明文保存密码提供的安全性较差,但许多公司仍在使用它们。
那么如何确定您注册过的网站是否差劲到了这种地步呢?一种检验方法是要求恢复密码:如果网站能够通过邮件或短信将您的旧密码发送给您,则它的密码存储必然不安全。
散列函数假如不以某种方式存储密码,怎么才能在用户登录时验证密码是否一致呢?如果您学习过密码学,您可能知道散列函数(有时也称为哈希函数)。
对,这可能是一剂良方。
散列函数接受一个字符串(例如密码)并将其转换为一个长数字(称为摘要)。
而且这样做可以确保两件事:首先,这个运算是不可逆的,即不能从摘要推导出原字符串;其次,它生成的摘要是唯一的,即没有两个字符串具有相同的摘要(旁白:这两点都是计算意义上的不可能,即不管是要从摘要求解原字符串、还是要找到两个有相同摘要的字符串,在计算资源上的消耗都是无法接受的)。
图1:散列函数。
注意输入字符串的微小不同会引起输出数字的极大变化散列函数可以用于密码系统。
当用户访问该站点时,可以计算他们输入的密码的摘要,并将其与数据库中的摘要进行比较。
由于散列函数的唯一性,只要二者匹配,就可以判断用户输入了正确的密码。
另一方面,由于散列无法求逆,因此用存储摘要来代替存储密码本身,似乎是一种相对安全的方式。
不幸的是,事实并非如此。
在过去的几周里,许多著名的互联网公司发现,虽然已经进行了散列化处理,但它们的用户密码还是遭到了破解。
要了解原因,请尝试搜索字符串“a761ce3a45d97e41840a788495e85a70d1bb3815”。
您可能会惊讶地发现,第一个结果就告诉您,这是字符串“supersecret”的SHA-1散列。
简单使用散列函数,容易遭受所谓“字典攻击”。
黑客可以预先构建一个庞大的数据库,导入所有的常用密码,并计算它们对应的摘要。
这种预先计算的“字典”,有时也被称为“彩虹表”。
一旦密码数据库遭到泄漏,那么黑客只需在彩虹表中查找到对应的摘要,即可破解您的密码。
如果您的密码过于简单,或者同样的密码在别的网站曾经被泄露过,那么大概率它已经出现在某个彩虹表中。
这就是为什么要选择一个长而复杂的密码:黑客不会提前计算出它的摘要。
译者注:除了长和复杂,还有一点很重要:永远不要使用重复的密码。
图2:即使散列函数本身无法反转,彩虹表还是能攻破那些设置不当的密码盐要对付彩虹表,可以使用一种“加盐”的技术。
假设您选择了密码“supersecret”,而X公司使用SHA-1作为散列函数。
但X公司不是直接对“supersecret”进行散列,而是先对其附加一个随机的字符串(例如 'f2%38h##f23,这个字符串是每个用户都不同的), 再进行散列,得到“33438b91ce09e6959232f698b7939e6ee1d0712a”。
尝试搜索一下这个新的散列值?你不会得到任何结果。
对,这种随机附加的字符串就是盐。
图3:盐由于每个用户都有不同的盐,彩虹表失去了作用:不可能对所有可能的盐预先计算彩虹表。
译者注:有些公司对所有用户的密码使用统一的盐,这种做法也很糟糕。
首先,一旦盐泄露,则可以针对性的构建彩虹表。
其次,即使盐没有泄露,也会遭受上面所说的词频攻击。
直到最近,像这样的“加盐散列”还是CloudFlare存储用户密码的方式。
不幸的是,由于散列函数本身并不是用来保护密码的,而是为了检查数据的完整性,因此它们被设计得足够快。
而另一方面,计算机的速度随着摩尔定律而指数提高,这使得黑客有可能不用预计算彩虹表,而直接展开攻击。
例如,当密码数据库泄漏后,黑客获得了盐,就能以每秒数百万次的速度尝试不同密码,并和加盐散列值相比较。
这意味着只有经过加盐散列处理的长而复杂的密码才是安全的。
一劳永逸?对付暴力破解,解决方案是使用速度较慢的散列函数,这样就会相应地减慢破解软件的攻击速度。
如果可能,这个速度最好还可以随着时间的推移,调节得越来越慢,这样就可以补偿摩尔定律给黑客带来的提升。
令人高兴的是,这样的散列函数已经有了,例如Cloudflare最近升级使用的bcrypt。
bcrypt与一般散列函数的区别在于多了一个“难度”参数,通过调节散列的迭代次数来调节最终的计算代价。
图4:Slow Down译者注:使用“慢散列”函数本质上是提高了黑客的攻击代价,但假如您是一位高价值用户,黑客有可能专门针对您预计算彩虹表,这样可能在“性价比”上仍然是合算的。
正如安全的所有其它方面一样,密码存储方案需要时不时地重新审视。
然而许多公司没有花时间在这上面,导致了严重的安全问题。
当然,用户侧也可以提供一定帮助:永远选择长而复杂的密码,并确保不要在任何其他网站上重复使用。
正文结束。
推荐阅读什么是密码管理器?它有什么用?关于KeyPodKeyPod是国内首家以“个人数据安全”为核心价值的云服务公司,以“数据与应用分离”为核心理念,以安全系统设计能力及先进的密码学成果为技术依托,为个人和企业提供数据安全产品和解决方案。
使个人能够控制自己的隐私和数据,使组织能够为自己的用户提供更具竞争力的创新服务。
KeyPod数字保险箱KeyPod数字保险箱是一款隐私至上的个人云存储App,采用端到端加密技术、数据与应用分离设计,具有数据隐私保护、身份隐私保护的特性。
可以用来安全私密的保存密码、财务、健康、家庭、个人等相关的重要数字资料。

打赏
分享到:
0相关评论
阅读上文 >> 永发保险箱密码忘了怎么办(永发保险箱初始密码多少)
阅读下文 >> 体型庞大、使用麻烦的电热水器,为什么还没被燃气热水器取代?

大家喜欢看的

  • 品牌
  • 资讯
  • 展会
  • 视频
  • 图片
  • 供应
  • 求购
  • 商城

版权与免责声明:

凡注明稿件来源的内容均为转载稿或由企业用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址:http://www.menchuang.net/news/150730.html

转载本站原创文章请注明来源:门窗网

推荐新闻

更多

行业专题

更多行业专题

微信“扫一扫”
即可分享此文章

友情链接

门窗网 【测试站】(c)2008-2022 MenChuang.net SYSTEM All Rights Reserved

服务热线: ICP备案号:陕ICP备2022013085号