`
netxdiy
  • 浏览: 728690 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL Server 2008中的代码安全(七):证书加密

 
阅读更多

SQL Server 2008中SQL应用系列--目录索引

证书可以在数据库中加密和解密数据。证书包含密钥对、关于证书拥有者的信息、证书可用的开始和结束过期日期。证书同时包含公钥和密钥,前者用来加密,后者解密。SQL Server可以生成它自己的证书,也可以从外部文件或程序集载入。因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。

注意:证书和非对称密钥同样的消耗资源。

我们看一组例子:

示例一、创建数据库证书

创建数据库证书:CREATE SYMMETRIC KEY (http://msdn.microsoft.com/en-us/library/ms187798.aspx

示例二、查看数据库中的证书

使用目录视图sys.certificates(http://msdn.microsoft.com/en-us/library/ms189774.aspx)来查看。

示例三、备份和还原证书

创建证书后,也可以使用BACKUP CERTIFICATE(http://msdn.microsoft.com/en-us/library/ms178578.aspx)命令备份到文件,为了安全地保存或在其他数据库中还原它。

示例四、管理证书的私钥

使用ALTER CERTIFICATE( http://msdn.microsoft.com/en-us/library/ms189511.aspx)命令为证书增加或删除私钥。这个命令允许删除私钥(默认通过数据库主密钥时行加密)、增加私钥或修改私钥的密码。

示例五、使用证书加密和解密

使用函数EncryptByCert加密数据。(http://msdn.microsoft.com/zh-cn/library/ms174361.aspx)

下面是一个例子:

邀月工作室

邀月工作室

示例六、使用对称密钥对数据进行加密和解密

在前面的文章中,你已经看到打开用非对称密钥加密的对称密钥的演示,它分两个步骤,首先用OPEN SYMMETRIC KEY命令,然后是实际的DecryptByKey函数调用。SQL Server也提供了能够将这两个步骤合二为一的额外的解密函数:DecryptByKeyAutoAsymKey(http://msdn.microsoft.com/en-us/library/ms365420.aspx)和DecryptByKeyAutoCert(http://msdn.microsoft.com/en-us/library/ms182559.aspx

此时,使用DecryptByKeyAutoAsymKey解密数据,只需要一个操作

邀月工作室

小结:

1、本文主要介绍证书的创建、删除、查看以及用它来修改加密方式、进行数据的加密和解密。

2、证书加密跟非对称密钥加密相对对称密钥加密更为消耗资源。

下文将主要介绍SQL Server中最为令人鼓舞的透明数据加密(TDE)

邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 3w@live.cn

分享到:
评论

相关推荐

    SQLServer 2008中的代码安全(七) 证书加密

    SQL Server可以生成它自己的证书,也可以从外部文件或程序集载入。因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。 注意:...

    解决SQLSERVER数据库驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接问题JAR包

    总之,解决SQLSERVER数据库驱动无法通过SSL加密与SQL Server建立安全连接的问题,需要综合考虑多个方面,包括证书配置、驱动兼容性、Java环境配置以及代码设置。通过逐一排查和调整,通常可以找到问题的根源并修复。

    SQLSERVER客户端通过SSL安全服务成功建立安全连接JAR程序包

    在本主题中,我们将深入探讨如何通过Java(Java Archive,简称JAR)程序包实现SQLSERVER客户端与服务器之间的SSL安全连接。 首先,理解SSL协议的基础知识是非常必要的。SSL是一种网络协议,用于在互联网上提供安全...

    sqlserver2008技术内幕

    安全性是数据库系统的关键,SQL Server 2008提供了多种安全机制,如角色、权限、登录和证书等,以确保数据的安全访问。审计功能可以记录数据库的活动,帮助监控和检测潜在的安全问题。另外,透明数据加密(TDE)功能...

    SQL Server调用Webservice示例

    此外,Web Service的安全性和性能也应考虑在内,比如使用证书加密通信、控制并发调用以防止过载等。 总的来说,通过学习这个示例,开发者可以掌握在SQL Server环境中如何与外部Web Service进行数据交互,这对于实现...

    SQL Server 2008中的代码安全(三) 通过PassPhrase加密

     在SQL Server 2005和SQL Server 2008之前。如果希望加密敏感数据,如财务信息、工资或身份证号,必须借助外部应用程序或算法。SQL Server 2005引入内建数据加密的能力,使用证书、密钥和系统函数的组合来完成。  ...

    Microsoft SQL Server 2005 Express Edition SP3

    Windows 加密服务提供程序 (CSP) 是执行身份验证、编码和加密服务的代码,基于 Windows 的应用程序通过 Windows Server 2003 中的 CryptoAPI 访问这些服务。如果停止或禁用 CSP 服务,则 SQL Server 安装程序会失败...

    SQLServer数据库解密、查看

    在SQL Server数据库环境中,数据的安全性是至关重要的。有时,我们可能需要对数据库进行解密或查看加密的数据,这可能是为了审计目的、故障排查或权限管理。本文将深入探讨SQL Server数据库的解密过程和查看加密信息...

    SQL Server 2005數據加密技術的實際應

    综上所述,SQL Server 2005 的数据加密功能极大地提升了数据的安全性,通过对称式加密、非对称密钥加密和数字证书等多种加密技术,结合层次化的密钥管理机制,使得数据保护变得更加全面。此外,通过内置的加密支持,...

    SQL Server调用WebService方法

    在调用Web Service时,应考虑安全性问题,比如使用证书加密通信、限制Web Service权限等。同时,频繁的Web Service调用可能会对性能产生影响,因此,优化调用频率、缓存结果或批量处理数据都是必要的。 总结,SQL ...

    SQLSERVER加密解密函数(非对称密钥 证书加密 对称密钥)使用方法代码

    代码如下:–SQLSERVER中的加密函数 2013-7-11ENCRYPTBYASYMKEY() –非对称密钥ENCRYPTBYCERT() –证书加密ENCRYPTBYKEY() –对称密钥ENCRYPTBYPASSPHRASE() –通行短语(PassPhrase)加密 ——————————...

    SQL Server 2005数据加密及VB程序实现.pdf

    SQL Server 2005 提供了一套完善的数据加密机制,旨在增强数据库中的数据安全性。该系统内置多种加密算法,支持不同层次的加密,以保护存储在数据库中的敏感信息。数据加密是确保数据安全的重要手段,尤其是在面对...

    万能破解SQL存储过程加密

    本文档“万能破解SQL存储过程加密”提供了解密SQL Server 2000中的加密存储过程的方法,这将帮助那些曾经为此困扰或寻找付费解决方案的人。 SQL Server 2000的加密是通过透明数据加密(TDE)和对象级别的加密来实现...

    sqlserver必须知道的知识

    #### 七、总结SQLServer虚拟化的注意事项 尽管服务器虚拟化已成为常态,但在决定虚拟化SQLServer之前,仍需考虑以下几个关键点: 1. **性能考量**:虚拟化可能会导致性能下降,尤其是在高负载场景下。因此,需要...

    SQL数据加密!

    在IT行业中,数据安全至关重要,尤其是在数据库层面。SQL Server提供了多种方法来保护敏感数据,其中一种常用...总之,合理运用SQL Server提供的加密功能可以大大提高数据的安全性,为企业和个人提供更强大的安全保障。

    SQL Server 2008中的代码安全(八)透明加密(TDE)

    这几乎是SQL Server2008安全选项中最激动人心的功能了,有了它,我们至少可以将一些初级的恶意窥视拒之见外。 下面的两个例子将展示如何启用和维护透明数据加密。 示例一、启用透明加密(TDE)/********************...

    SQL储存过程等的解密,破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器

    在创建或修改这些数据库对象时,如果启用了加密选项,SQL Server会使用系统安全证书来对T-SQL代码进行加密。这个过程在数据库内部是透明的,但外部访问时,如果没有相应的解密手段,就会看到一堆不可读的二进制数据...

Global site tag (gtag.js) - Google Analytics