达梦数据库

English

达梦数据库管理系统数据存储加密解决方案

一、概述

达梦数据库管理系统数据存储加密解决方案是达梦针对高度机密信息系统的数据保密性需求提供的一个安全解决方案,以填补传统数据库加密设计的缺陷。达梦数据库管理系统(简称:DM)提供了内部算法加密、第三方软硬件存储加密和透明加密、半透明加密、非透明加密等一套使用方便、灵活可靠的信息存储加密功能,为保证关键数据的安全提供了强大的支撑环境。

DM数据库实现了密码引擎,能够将外部密码设备抽象为一组调用接口,对其进行管理与调用,从而实现第三方的密码设备、密码算法调用的支持,如图1所示。

达梦数据库实现的密码引擎彻底解决了传统的密码算法集成方案带来的问题, 应用开发商/集成商只需要将密码设备的调用接口封装并注册,即可实现高级加密包与数据库管理系统的集成,即可像使用数据库内置密码算法一样的方式调用外部设备(硬件加密机、加密卡等加密设备均可)的密码算法。无需应用程序使用的SQL进行任何修改。即可完成指定算法的数据加密、解密操作。

二、如何构建安全的应用

达梦数据库高级加密包提供了数据库层面的加解密机制,提供标准的JDBC、ODBC、ADO.NET等数据库访问接口,存储加密和通信加密的加、解密过程对应用完全透明。下面详细介绍如何利用达梦数据库高级加密包构建安全的应用。

1、确定加密对象和加密策略

对于一个涉密应用系统,在应用程序的设计之初就应该考虑数据的安全性,如果设计之初没有考虑,在开发完毕后也可对应用系统进行安全性改造,主要有以下工作:

  • 确定哪些表或列比较敏感,需要对其数据进行加密。
  • 确定需要使用的加密算法,将加密算法注册到达梦数据库中。
  • 修改表定义,使用加密选项,对表中已有数据进行加密。
  • 除了修改表定义,应用程序不需要做任何的改造即可构建高安全的应用。

2、加密过程

对需要加密的表结构进行安全性改造后,应用程序向用户表中写入数据,数据库会自动调用加密接口,将数据加密后存放到数据文件中,整个的加密过程对应用完全透明。

3、解密过程

应用程序访问加密表时,数据库采用用户的密钥对数据进行自动解密,将数据返回给应用程序。整个的解密过程对应用完全透明。

三、特点与优势

通过上述介绍,我们可以看到,通过达梦密码引擎,数据库用户/开发商将享受以下安全特性:

  • 能够使用强度更高,保密性更值得信赖的密码算法和密码卡、密码机设备
  • 针对不同的业务数据使用不同的密码算法,避免不必要的资源浪费
  • 密钥管理能力,避免强行加载第三方算法带来的安全隐患
  • 对多种密码算法进行可视化管理
  • 应用开发人员友好,无需过多关注数据加解密操作
  • 达梦数据库密码引擎使用达梦独有的块加密算法,极大的提高了加解密的效率,将加解密过程对系统效率的损失降低到最小。

在特定行业领域内,公开的密码算法(如DES、RSA等)不允许作为系统安全设计的一部分,通常系统需求都会指定具备国家密码资质的机构设计、开发并通过国家密码管理机构认可的算法,这些密码算法由于其知识产权和资质认可的原因,通常难以直接集成进数据库管理系统。对此,达梦密码引擎扩展包能够满足用户既希望能够简洁、方便的对关键数据加密,又必须使用特点设备、算法的需求,这是其他数据库加密系统所无法提供的特性。