科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道数据安全数据库加密大幅提升安全系数

数据库加密大幅提升安全系数

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

对数据库的数据进行加密是较好的数据防泄密解决方案,即使文件被窃取,黑客也无法恢复数据。启明星辰数据库审计专家建议,数据库自身加密需要结合访问控制、审计等一起考虑。

来源:ZDNet安全频道 2013年8月12日

关键字: 启明星辰 数据库 安全 ORACLE

  • 评论
  • 分享微博
  • 分享邮件

ZDNET安全频道 08月12日 综合消息: 2013年4月的某一天,我接到客户的电话,反映网络部发现有黑客进入到财政资产系统,由于发现的比较及时,黑客对数据库的文件拷贝没有完成。由于资产系统可以反映一些比较敏感的信息,客户对此十分担心,需要网络部门和系统开发商提出相关技术来解决信息被窃取的问题。经过讨论,我们认为对数据库的数据进行加密是较好的解决方案,这样做的好处是,即使文件被窃取,黑客也无法恢复数据。

该系统采用Java开发,后台采用的数据库为Oracle 11Gr2,操作系统为Linux x86-64。Oracle和第三方公司提供了一些可以抽取数据文件内容的工具,这些工具的设计初衷是为解决一些故障案例,但也很容易被一些人用于窃取数据信息。

在Oracle数据库中,除去数据文件本身,redo、undo也可以恢复一些数据,因此这些文件都需要进行加密。在这个过程中,我们可以自己通过手工的方式对数据进行加密,把加密的过程写在应用中,不要把加密的信息放在数据库的表中。在应用中进行加密,需要对代码进行保护,防止代码被窃取从而导致密钥被破解,代码封装要进行严格设计。

Oracle在加密技术上引入了wallet的技术,加密后需要数据文件和密码同时具备才可以访问数据库。在一些比较敏感的列上,可以采用列加密的技术保护数据,一旦被加密列上的数据块被访问时,这个列就会被加密,与这个列相关的redo、undo、temp数据也会加密。这个技术在数据库中非常容易实现,建立好wallet后,在建立表的过程中添加ENCRYPT就可以,操作如下:

Create table test

(id number(10),

Name varchar2(10) ENCRYPT)

假设我们的数据库文件被窃取,在访问的时候就会有ORA-28365 wallet is not open的错误。如果直接去抽取数据文件,看到的也是经过加密后的乱码信息。列加密可以很好的保护我们的数据,当然也会带来一些性能影响,需要综合来考虑。

除列级的加密技术之外,Oracle也提供了在表空间级别进行透明加密。一旦表空间被加密,存储在表空间中的各个数据块都将加密,每一个数据块中的每一个数据字节都会被加密,这样就可以很好的保护数据。表空间加密的技术实现是在创建表空间的语句后面添加上ENCRYPTION DEFAULT STORAGE(ENCRYPT)来实现,实现非常简单,而且在性能问题上带来的负面效果也比列加密要小。

除了在数据库级别采用一些加密技术手段,在网络方面也需要严加控制,防止黑客的入侵,Oracle也提供了一些防火墙的技术来解决安全问题。

启明星辰公司数据库审计专家点评

本案例主要从加密角度来考虑数据安全,也比较深入的讨论了加密方法。加密对于黑客入侵是比较有效的防御手段之一,不过,数据库自身加密对于具有超级权限的DBA账号仍然有其脆弱性,需要结合访问控制、审计等一起考虑。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章