1. 首页
  2. >
  3. 数据库技术
  4. >
  5. MySQL

数据库敏感数据加密实现方案

背景

数据库明文存储,诸如内部高权用户或侵入数据库服务器的黑客,都可以毫无阻碍地访问数据库的重要数据,一些敏感数据在存储期间的机密性并不能得到有效的保障。

根据信息安全的目标,需要对应用生产数据加密,达到满足安全要求,预防存储层明文泄密,实现自主可控安全。

总体思路

数据库层存储敏感字段为加密,展现层传递应用层为明文传输,应用层接收到明文数据,通过加密应用实现数据加密,实现数据加密存储。加密应用同时提供加密解密api,以及算法、密钥管理。简单设计图如下:


数据库敏感数据加密实现方案

总体思路

加解密实现方式

应用层主要通过切面方式进行数据的加解密,切入点切到数据库入库、查询方法,实现改造代价小,加解密字段可配置的目标。具体的切入思路如下:


数据库敏感数据加密实现方案

加解密实现方式

加密应用功能点

主要提供数据加解密,算法、密钥管理,请求认证,日志记录和日志报表功能。

加解密服务提供两种调用方式:

http服务(Post调用)

客户端调用(引用jar包)