好学IT学院:IT信息技术分享交流平台
来源:IT专家网  作者:纪平  发布时间:2009-11-11  ★★★加入收藏〗〖手机版
如何利用EKM提升SQL Server 2008数据库安全
摘要:EKM(Extensible Key Management)即“可扩展密钥管理”,这是SQL Server 2008的新增功能之一。该功能增强了SQL Server 2008的密钥管理能力,它允许将密钥存储在数据库之外,这对于提升数据库…

3、如何启用/禁用EKM?

(1).启用EKM

要在数据库中使用EKM,必须先用系统存储过程sp_configure来启用SOL Server实例的EKM功能。

启用EKM提供程序高级选项

sp_configure 'show advanced options',1;
GO
RECONFIGURE;
GO

启用EKM提供程序

sp_configure 'EKM provider enabled',1;
GO
RECONFIGURE;
GO

启用EKM之后,要创建一个EKM Provider(或者更多,你可能用到了多个HSM ),使用新的CREATE CRYPTOGRAPHIC PROVIDER的DDL(Data Definition Language,数据定义语言)语句。

CREATE CRYPTOGRAPHIC PROVIDER EKM_Prov
FROM FILE = 'C:\EKM_Files\KeyProvFile.dll';
GO

启用了EKM并创建了Provider之后,就可以用这个Provider作为密钥。而如果要用EKM Provider模块进行安全登录,我们也可以用它来进行认证。

(2).禁用EKM

在某些情况下,我们可能需要在数据库中禁用一个Provider并启用新的Provider。例如,如果公司选择了另外一个第三方密钥提供商作为标准。在SOL Server 2008中,我们可以禁用Provider,但仍然把它保留在数据库中,在准备好之后再永久删除它,这样就可以从容地找出使用到旧Provider的对象,把它们修改为使用新的Provider。不过,笔者建议最好保留旧的Provider,以防出错。要禁用一个Provider,使用ALTER CRYPTOGRAPHIC PROVIDER语句,可执行如下命令:

ALTER CRYPTOGRAPHIC PROVIDER pEKM_Prov_ModuIe
  FROM FILE=''DISABLE

4、如何获知EKM使用情况?

部署和实施EKM的数据库管理员和开发人员还需要对存储EKM Provider的元数据视图及相关的信息有一定的认识。SQL Server 2008提供了一系列新的目录视图、动态管理视图和动态管理函数,数据库管理员们可以用它们检查EKM Provider和EKM的使用情况。

利用这些视图和函数我们可获取与EKM相关的信息,例如SQL Sewer实例中正在使用的Provider列表、使用EKM 的认证信息列表、数据库中每个Provider ID的密钥列表、rovider的属性,以及每个Provider ID使用的加密算法等。

总结:通过以上对EKM相对比较简单的解析,我们看到SQL Server的加密功能在SQL Server 2008中有了很大的提升。很多数据库管理员为是否要使用加密而犹豫不决,这是因为他们担心密钥的存储问题,以往密钥和加密数据是存储在一起的,而现在SQL Sewer 2008中有了一个新的工具,它可以消除管理员们的这个担心,EKM功能值得一用。

  • 好学考试H5触屏版开放内测
  • 好学触屏公众号虎力全开、杨帆起航!