我的应用程序使用MS访问数据库来保存一些敏感信息。虽然这些信息本身受到保护,但我需要说服客户说,还有另一面数据库加密墙,其密码必须先破解。
您知道使用哪种加密算法/方法来加密访问数据库吗?
答案 0 :(得分:3)
对于 Access 2003 ,有一些关于加密的选项。您可以在“加密类型”对话框中找到的一些可能的加密类型是:
来源:Important Aspects of Password and Encryption Protection
如果您使用的是Access 2007,这是一篇很好的文章,您可以将其作为参考:
Access 2007使用什么类型的加密?
Access 2007使用Microsoft 加密API。这意味着它 将支持任何加密 Windows中可用的算法 加密服务提供商 (CSP)。这是一个很大的进步 在早期版本的Access中 只支持内置,弱 加密算法。
答案 1 :(得分:1)
我需要说服客户那里 是数据库的另一面墙 用强密码加密 必须首先打破。
我认为你不能,因为密码保护很弱。所以......
信息本身受到保护
...你如何自己保护信息(加密?)可能是你唯一的防线。
另外,请考虑升级到Access2007,其数据库加密更强(尽管用户级安全性已被删除)。
编辑:我还在寻找圣杯,作为Jet引擎的文档。关于Access2007引擎变化的一个好处是Access团队透露了一些关于旧引擎的细节,在“新旧比旧的更好的情况下因为......”他们没有做到这一点并不奇怪。公开宣布加密很弱,直到他们修复它为止!您可以在Microsoft Access Team Blog: Access 12 Security Model中找到一些详细信息。另一个链接: Microsoft Access 2002 Technical Articles: Exploring Microsoft Access Security “Jet(Access使用的数据库引擎)使用非常弱的加密方法,不应该用于保护敏感数据。”
最后一个: Jet MDB security - under the hood 简单数据库密码: 设置时,数据库密码使用简单的XOR模式算法进行模糊处理,该算法基于文件创建日期/时间(存储在文件中),然后存储在MDB文件头中.... MDB文件头本身进一步被混淆具有XOR模式 - 虽然这次是一个恒定的XOR流。 (我将这些XOR加密算法描述为混淆而不是加密,因为它们是多么简单)。 当您打开MDB文件时,系统会提示您输入密码,然后Jet可以轻松解码原始密码,以检查其是否与输入的密码完全匹配。
赞成 设置简单。
缺点 密码很容易检索,因为它有效地存储在纯文本中(非常简单的混淆)。