RSS订阅
RSS订阅TT安全

如何使用SHA加密敏感的数据

2008-5-16  选择字号:  | |
打印本文章

导读:使用SHA-1创建信用卡号码的散列值以避免用明文形式存储信用卡是好方法。安全散列算法家族(SHA)是由这种算法设计的密码散列功能,能够根据任何种类的数据创建散列值。

关键词:SHA-1 信用卡号码 散列值 存储 安全散列算法 SHA 密码

正在加载数据... 【TechTarget中国原创】问:当处理一个订单的时候,我们必须要进行搜索,把呈报的信用卡号码与第三方提供的热卡(失窃的或者封锁的卡)列表进行对照。根据支付卡行业数据安全标准,即使一个卡在这个列表上,我们也不能把这个卡的号码不进行任何加密处理就放在那里。我们正在考虑使用SHA-1(安全散列算法-1)把这些号码转换为它们的散列值,然后在我们处理一项支付的时候再进行对比。我们喜欢SHA-1,因为它不需要任何密钥管理功能。然而,我们担心散列值冲突或者误报问题,所谓误报就是错误地把好卡识别为热卡。像这样使用SHA-1是不是一种好方法?

【TechTarget中国原创】问:当处理一个订单的时候,我们必须要进行搜索,把呈报的信用卡号码与第三方提供的热卡(失窃的或者封锁的卡)列表进行对照。根据支付卡行业数据安全标准,即使一个卡在这个列表上,我们也不能把这个卡的号码不进行任何加密处理就放在那里。我们正在考虑使用SHA-1(安全散列算法-1)把这些号码转换为它们的散列值,然后在我们处理一项支付的时候再进行对比。我们喜欢SHA-1,因为它不需要任何密钥管理功能。然而,我们担心散列值冲突或者误报问题,所谓误报就是错误地把好卡识别为热卡。像这样使用SHA-1是不是一种好方法?

  答:使用SHA-1创建信用卡号码的散列值以避免用明文形式存储信用卡是一种好方法。此外,由于散列值冲突的机会很少,你不可能得到误报。让我们看一下SHA-1和在这种情况下使用它为什么是安全的。

  安全散列算法(SHA)家族是由这种算法设计的一套相关的密码散列功能,能够根据任何种类的数据创建一个散列值,这些数据包括文件、口令和本案中的信用卡号码。这个值实际上对于输入的数据来说是独一无二的,因此,由于雪崩效应(avalanche effect),数据中很小的变化都会导致出现完全不同的散列值。此外,没有切实可行的方法计算一个将导致一个理想的散列值的特定的数据输入,因此使用这个散列值恢复原来的数据是不可能的。这个家族中最常用的功能是SHA-1。各种流行的安全设备和协议都使用SHA-1,如SSL、PGP、S/MIME和IPsec等。

  你担心的散列值冲突问题可能是2005年8月份发生的一次攻击的结果。那种攻击需要低于2^63(9,223,372,036,854,780,000)的散列值计算以发现在完整版本的SHA-1中的冲突。一个冲突意味着两块数据有同样的散列值。这种攻击需要的计算复杂性低于蛮力搜索冲突。蛮力搜索需要2^80计算。根据学术密码学,这可以认为是一种安全突破。虽然一些观察人士担心大规模分布式互联网搜索可能发现SHA-1的冲突,但是,这并不意味着这种攻击是实际上可以利用的。不管怎样,有趣的是需要指出,在2005年9月,微软宣布它在任何功能中都将停止使用DES、MD4、MD5和SHA-1加密算法。

  这样,为什么使用SHA-1加密你的信用卡号码仍是安全的呢?因为两个信用卡号码的散列值相同的机会是非常小的,你不可能发现一个好卡和坏卡的散列值是一样的,从而排除了误报的可能性。此外,这种攻击是一种冲突(collision)攻击,而不是pre-image攻击。正如我以前指出的那样,冲突攻击是找到拥有同样的散列值的两块数据,但是,攻击者并不知道这个散列值是什么,因此就不能破解使用SHA-1检查数据散列值变化的工具。另一方面,pre-image攻击能够让攻击者找到一个坏的信用卡号码。这个号码能够让散列值功能产生一个非法的信用卡的散列值。然而,因为你在使用一个黑名单,攻击者不能利用这个功能,因为这个对比过程能发现黑名单上的坏卡号码。

  如果你仍然感到担心,你可以考虑使用SHA-224、SHA-256、SHA-384或者SHA512。有时候,这些方法统称为SHA-2。然而,这需要额外的存储空间,因为SHA-1创建的散列值的大小的160字节,而SHA-224创建的散列值是224个字节。另外,对比的过程也要慢一些。

还没有登录? 阅读全文请先登录或注册
用户名:(请填写您的E-mail做为登录账号)
  • 获取最新的IT业界资讯、市场动态、行业趋势等独家原创内容。
  • 分享国内外技术专业人士提供的技巧经验。
  • 利用专注IT的技术资源中心,不断更新专业知识。
  • 享受白皮书、Webcast等系列特色增值服务。
  • 免费参加TT中国举办的各种会员活动。
  • 更多的精彩服务,在不断开发中……
用户名:(请填写您的E-mail)
密 码:
 永久登录
请输入您的登录email:
如今的网络到处都布满漏洞,企业不仅要抵御那些试图攻击漏洞盗取信用卡号码的黑客,同样也要避免那些在家里办公的员工不小心将关键资料传到外部网络……
IBM正在测试新的USB设备。据称,该设备可以阻止keylogger和恶意软件获取银行密码和敏感帐户信息。启动ZTIC设备不需要任何软件或者驱动,用户可以打开Web浏览器进行安全……
由康普科纬迅公司委托Ponemon研究所(Ponemon Institute) 进行的一项最新研究调查显示,内部泄密成为企业数据外泄的头号原因,而黑客仅位列第五……
Independent Community Bankers of America (ICBA)的调查显示:保护客户数据是金融业首先关注的顶级技术,很多银行都计划增加安全技术方面的费用……
Google App正在进入企业,而iPhone已经存在了。CISO和其他安全专家都不清楚正在发生什么和/或不知道企业数据的内在风险……

当身份窃取猖獗的时候,有力地用户认证、客户认证和合作伙伴认证是至关重要的措施。有了用户名和密码就足够了吗?双因素认证是有效的方法吗?还是无力应对新出现的威胁呢?本专题将提供全面的信息,帮助理解目前的认证方式和面临的挑战,并且介绍如何采用安全的认证系统。

本专题将介绍一款免费的、开源的、可移动的适用于笔记本电脑的加密软件TrueCrypt。TrueCrypt适用于个人或者小型企业和团队,可以在任何系统上运行而不需要安装。TrueCrypt可以采用多种加密算法,有效地保护机密数据。
本专题可以帮助理解在无线网络中,无线入侵检测/防御系统(WIDS/WIPS)的价值,及时您所在的公司不支持无线局域网。此外,本专题还将介绍如何为公司环境选择合适的WIDS,以及如何防御无线拒绝服务攻击。
最新更新
专家答疑
技巧
Michael Cobb
渗透测试的目标不仅是要评估电脑系统或者网络的安全性,还要决定成功攻击的可行性和商业影响。那么如果选择合适的渗透测试人员呢?
Mike Chapple
渗透测试可以提供安全防御的有价值的信息,但是成本很高。为了渗透测试的可信性,通常必须要有独立的外部公司进行。如果使用内部人员和测试示范漏洞……
Ed Skoudis
问:社会工程应该是渗透测试的一部分吗?这样做是道德的吗?   答:这个问题的答案还在争论之中。