用户的密码加密和存储(解答十个问题)
发布时间
阅读量:
阅读量
我们的数据库权限管理极为严格,在敏感信息的开发工程师都无法访问的情况下,请问密码能否明文存储?
不行。由于存储在数据库中的数据面临着多方面的威胁,在应用程序层、数据库层、操作系统层、机房层以及员工层都存在隐患;要实现绝对无法被黑客窃取的目标显得极其困难
假设用户的密码采用加密方式存储,则即便遭遇数据泄露事件(即被拖库攻击),黑客也无法恢复用户的明文密码。从数据安全的角度来看,在用户账户系统中实施密码加密存储机制至关重要。这就好比在外出时将钱包在内衣内以防止偷窃。
那用加密算法比如AES,把密码加密下再存,需要明文的时候我再解密。
这种方法不可行。这涉及如何保护用于加密解密的数据。尽管通常将加密解密所需的密钥与其他用户的个人信息分开存储,并在实际应用中已形成一套成熟的解决方案,并主要采用软件或硬件的方式实现。然而与保护用户的个人信息类似,在理论上也无法实现绝对的安全性保证——即使采取最为严格的措施也不可能完全防止泄露。
另外,在设计用户账户系统时应避免存储明文形式的原始密码,在用户的登录信息遗失时应当提供重置功能而非找回流程。
保存所有密码的HASH值,比如MD5。是不是就可以了?
并不是所有类型的HASH算法都能满足这一要求;更准确地说,这属于一种被称为Cryptographic Hash的技术。该技术具有以下显著特点:
给定任意大小任意类型的输
全部评论 (0)
还没有任何评论哟~
