数据库不同于电脑,它所储存的数据更多,也更容易受到黑客的攻击,因此,需要足够高的安全保护。今天我们就来了解一种适用于数据库加密的方法——外挂加密。

数据库外挂加密的原理

数据库外挂加密通过针对数据库定制开发外挂进程,使进入数据库的明文先进入到外挂程序中进行加密,形成密文后再插入数据库表中。

这种技术是用“触发器”+“多层视图”+“扩展索引”+“外部调用”的方式实现数据加密,可保证应用完全透明。通过扩展的接口和机制,数据库系统用户可以通过外部接口调用的方式实现对数据的加解密处理。

视图可实现对表内数据的过滤、投影、聚集、关联和函数运算,在视图内实现对敏感列解密函数的调用,实现数据解密。

数据库外挂加密

数据库外挂加密的应用场景

如果查询涉及的加密列不多,查询结果集中,且包含的数据记录也相对不多时,可以考虑使用数据库外挂加密技术对数据库进行加密。

数据库外挂加密的优势

  • 独立权控体系

使用数据库外挂加密技术,可以在外置的安全服务中提供独立于数据库自有权控体系之外的权限控制体系,适用于对“独立权控体系”有相关需求的场景,可以有效防止特权用户(如DBA)对敏感数据的越权访问。

数据库外挂加密

数据库外挂加密的不足

  • 仅支持Oracle等少量数据库类型

数据库外挂加密,目前大多数的技术实现形式,存在功能性依赖,仅支持开放高级接口的Oracle等少量数据库。

  • 数据库性能损耗较高

数据库外挂加密是通过触发器、多级视图,进行外部接口调用来实现加解密,触发器或视图的运行机制要求对加密表中的每一条数据中的每个加密列的读写都会进行外部接口调用,因此,当遇到比如“查询中涉及的加密列较多”等情况时,会对数据库的读写性能存在明显影响。

数据库外挂加密

  • 可扩展性差

在业务变化引起数据库表结构发生变化时,需要对外挂程序业务逻辑进行调整,甚至需重新定制开发,存在后期维护成本。

免责声明:素材源于网络,如有侵权,请联系删稿。