专业的信息化与通信融合产品选型平台及垂直门户
注册 登陆 设为首页 加入收藏
首页 企业新闻 招标信息 行业应用 厂商专区 活动 商城 中标信息

资讯
中心

新闻中心 人物观点
厂商专区 市场分析
行业
应用
政府机构 能源产业 金融机构
教育科研 医疗卫生 交通运输
应用
分类
统一协作 呼叫客服 IP语音 视频会议 智能管理 数据库
数字监控 信息安全 IP储存 移动应用 云计算 物联网

TOP

Dropbox是如何安全地存储用户密码的
2016-12-26 15:08:37 来源:INFOQ 作者:【
关键词:Dropbox 存储 用户密码
 
不久前,来自Dropbox的Devdatta Akhawe在官网博客上公开了Dropbox为保护用户密码安全所采取的措施。

  不久前,来自Dropbox的Devdatta Akhawe在官网博客上公开了Dropbox为保护用户密码安全所采取的措施。

  存储密码明文是一件很拙劣的事情,相信不会有人这么做的。早在1976年,计算机行业就推行了单向散列机制,我们存储的是密码的散列值,而不是密码本身。这种方式虽然杜绝了密码被反向破解出明文,但却阻止不了不怀好意的人对其进行暴力破解。暴力破解虽然耗费时间,但被“猜”出密码是迟早的事。SHA散列算法速度很快,一个商用CPU每分钟可以算出几百万个SHA256散列值,而有些GPU群集每秒钟可以算出几十亿个。

  加密和破解是一场你追我赶的长期斗争。Dropbox作为一个应用范围很广的云存储解决方案,他们又是如何保证用户的密码安全的呢?

  Dropbox的加密机制构建在三层加密基础之上,从里到外就像洋葱一样层层叠加。他们先是使用SHA512散列算法对明文密码进行散列,然后针对散列值进行bcrypt再散列。为什么在bcrypt之前要先做SHA散列呢?有些bcrypt实现会把散列值长度截至72字节,从而降低了密码的熵值,而有的则允许变长密码,这样容易受到DoS攻击。使用SHA512散列可以得到固定长度的512字节散列值,避免了上述的两个问题。

  在SHA散列之后是bcrypt散列。bcrypt散列算法是一种加盐(salt)散列算法,每个密码都有不同的“盐”,并且是分开存储的。bcrypt速度比较慢,这样就很难通过硬件加速来加快破解速度。而且bcrypt散列使用了成本因子10(每个因子相当于每一步计算需要耗费100毫秒的时间),这样就更是加大了暴力破解的难度。

  经过bcrypt散列之后,散列值会再次经过AES256算法的加密,这次加密会使用到秘钥,也就是所谓的“胡椒粉”(pepper)。胡椒粉也是被单独存储的,所以就算密码被偷了,没有这些胡椒粉,那些不怀好意的人也拿它们没办法。

  经过SHA512、bcrypt和AES256的三层加固,用户就可以高枕无忧了。不过之前说过,加密和破解是一场永不停止的战争,所以Dropbox在保护用户密码安全这项工作上永不停息。三层加固只是其中的一个环节,他们还部署了应对在线暴力破解的防护层。另外,他们还在积极地研究更多能够给用户的安全锦上添花的解决方案。

      

责任编辑:admin
免责声明:以上内容转载互联网平台或企业单位自行提供,对内容的真实性、准确性和合法性不负责,Voipchina网对此不承担任何法律责任。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部

上一篇你不可不知的 软件定义存储四大特..
下一篇美光公布2017财年Q1财报:营收、..

热门文章

图片主题

最新文章

相关文章

广告位

Copyright@2003-2009 网络通信中国(原VoIP中国) 版权所有
联系方式:503927495@qq.com
  京ICP备05067673号-1 京公网安1101111101259