明文密码

“明文密码”,顾名思义是传输或保存为明文的密码,翻译自英文的Cleartext Password。从信息安全的角度出发,任何网络服务都不应该保存或发送明文密码。但今天仍有很多网站,包括一些大家耳熟能详的收费服务,还留有这类一旦被攻击者入侵就会酿成灾难的安全隐患。

于是就有了Plain Text Offenders这个网站,专门收集那些“会给忘记密码的用户发送明文密码邮件”的博客——这代表着您的密码在服务器上并没有被哈希函数加密后才储存(一个理想的cryptographic hash function,所有hashing都应该是单向且不可逆的)。

目前看到的几大受影响服务——

  • rapidshare.com,文件分享服务
  • justgiving.com,网络筹款服务
  • thepiratebay.com,BT索引网站
  • tesco.co.uk(乐购)英国,大型连锁商店的网店
  • hmv.com,大型音像连锁商店的网店
  • newegg.com,新蛋美国(中国的系统没试过不清楚)
  • yesasia.com,网购服务
  • myspace.com,败在Facebook手下的Web 1.0社交服务
  • prometric.com,考试评测管理服务,客户包括ETS(也就是GRE),微软,IBM等等
  • nature.com,《自然》科学期刊的论文提交系统
  • strongvpn.com,VPN服务
  • guardian.co.uk,英国卫报官网
  • Sony Ericsson官网(好在PS3 Network不是明文密码)
  • Dreamhost,1and1两家网站托管服务
  • T-mobile,O2,Virgin,Vodafone四家电信公司
  • etc.

正确的做法是对密码进行salting并强哈希加密之后再存储(salting的理由是防止hash字典攻击),同时只允许用户“重置密码”而不是返回明文密码。

PS: 该网站开发者混淆了CleartextPlaintext的区别:Cleartext指传输或保存为明文的信息;Plaintext指输入加密函数前的信息。例如“选择明文攻击”是Chosen Plaintext Attack而不是Chosen Cleartext Attack。

Author: 店长

The Master of BitInn

5 thoughts on “明文密码”

  1. 值得注意的还有另外一种Cleartext密码储存——那种需要你提供其他服务密码的服务。

    例如ifttt到tumblr的sync就是用cleartext用户名+密码的,一旦他们的数据库被入侵,你的tumblr帐号也不保了。

  2. 我实习的这个地方外包的米国前几个大retailer全都是明文,处理用户问题直接去数据库里拿人家密码登录了看……实习生就有所有read权限 反映了几次也没人在意,哎 让他们自生自灭吧……

Comments are closed.