加密 SQL Server 2000 数据库中的列
我的任务是加密存储在 SQL Server 2000 数据库中数年的敏感数据(不要问)。 我需要对历史数据进行加密,并提出一个在新数据流经系统时对其进行加密和解密的过程。
编辑: 生成数据的进程与使用数据的进程不同,因此我无法轻松地在 SQL Server 之外实现解决方案。
大多数解决方案似乎都使用扩展存储过程来调用必须安装在服务器上的 dll。
到目前为止我见过的最好的工具是这里,这些工具是免费的但你必须在网站上注册。
还有更好的解决方案吗?
I've been tasked with encrypting several years worth of sensitive data (don't ask) stored in a SQL Server 2000 Database. I need to encrypt both historical data and come up with a process to encrypt and decrypt new data as it flows through the system.
Edit: The processes that produce the data are not the same as the process that will consume the data, so I cannot easily implement a solution outside of SQL Server.
Most of the solutions out there seem to use extened stored procedures that call dlls that must be installed on the server.
The best I've seen so far is here, the tools are free but you have to register at the site.
Are there any better solutions out there?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用.net或任何读取/写入数据库的进程,
否则如果我窃取了你的硬盘,我拥有解密所需的一切,它不应该存在于同一个盒子上,
去年芝加哥的一个数据中心发生了一起事件,其中20多台服务器被盗!
use .net or whatever your process is that reads/writes to your database
otherwise if I steal your hardrive I have everything I need to decrypt, it should NOT live on the same box
last year there was an incident in a data center in Chicago where over 20 servers were stolen!
正如您所发现的,SQL 2005 之前的加密非常有限,我认为您所找到的类似工具将是 SQL 2000 的最佳选择。
如果您可以升级到 SQL 2005+,您将有更多选择:
即
http://dotnetslackers.com/articles/sql/IntroductionToSQLServerEncryptionAndSymmetricKeyEncryptionTutorial.aspx
(数据库级、列级加密)
Encryption pre-SQL 2005 was quite limited as you've found and I think tools like that one you've found will be your best bet for SQL 2000.
If you can upgrade to SQL 2005+ you'll have more options open to you:
i.e.
http://dotnetslackers.com/articles/sql/IntroductionToSQLServerEncryptionAndSymmetricKeyEncryptionTutorial.aspx
(database level, column level encryption)
大多数情况下,对数据库文件所在的设备进行加密是更好的解决方案,TrueCrypt、EFS。
有很多方法可以扰乱加密,尤其是在数据很少的列上。 除非团队中有人完全了解 ECB 模式、彩虹攻击和密钥保护,否则设备解决方案是最安全且可能是最高效的性能明智方案。
Encrypting the devices that the database file resides on in most cases is a better solution, TrueCrypt, EFS.
There are a lot of ways to mess up encryption especially on columns with very little data. Unless someone on the team has a complete understanding of ECB modes, rainbow attacks, and key protection the device solution is the safest and probably most efficient performance wise.
SQL 2000 中的安全性受到一定程度的限制。SQL 2008(企业版)引入了透明数据加密,如果可以选择升级,该加密可用于保护静态数据 (DAR)。 另一种选择是使用全盘加密 (FDE)(例如 BitLocker)来加密 SQL 数据文件所在的整个卷。
我相信您可以使用第 3 方 XP(扩展存储过程),但我没有关于它们的附加信息。
Security was somewhat more limited in SQL 2000. SQL 2008 (enterprise ed) introduces Transparent Data Encryption which can be used to secure data-at-rest (DAR), if upgrading is an option. Another option is to use full disk encryption (FDE) such as BitLocker to encrypt the entire volume on which the SQL data files reside.
I believe there are 3rd party XPs (extended stored procs) that you can use, but I don't have add'l info on them.