写点什么

应用数据加密技术概述

  • 2023-05-07
    北京
  • 本文字数:1453 字

    阅读完需:约 5 分钟

应用数据加密技术概述

数据是信息系统的核心资产,政府机关、企事业单位大比例核心信息是以结构化形式存储在数据库中的。数据库作为核心资产的载体,一旦发生数据泄露将造成严重危害和损失。虽然数据库外围的安全防护措施能够在很大程度上防止针对数据库系统的攻击,但核心数据安全容不得差错,需要在各个环节对数据进行保护。


数据加密技术是指将一个信息经过加密密钥及加密函数转换,变成无意义的密文,而接收方则将此密文经过解密函数、解密密钥还原成明文。以确保数据库系统即便被攻陷,存储在数据库中的核心数据仍将得到保护,正因为如此,数据加密技术才是网络安全技术的最后一道防线。


从应用场景来看,数据库加密技术主要解决两个方面的问题:一是在被拖库后,避免因明文存储导致的数据泄露;二是对高权用户,防范内部窃取数据造成数据泄露。数据库加密技术主要有应用系统加密、前置代理加密、后置代理加密、表空间加密、文件系统加密和磁盘加密


数据库在应用系统层的加密是在应用的源代码中对敏感数据进行加密,加密后将密文存储到数据库中。可以直接在应用系统的源代码中以独立的函数或模块形式完成加密,也可以通过源代码的方式封装出应用系统相关业务专用的加密组件或定制的加密 API 来完成加密。这种方法适用于仅对有限的数据需要加密的情况,比如对某些关键的表或字段进行加密。


前置代理加密技术是在应用系统加密技术的基础上发展起来的,通常是由专业的数据安全厂商推出的数据库加密产品,是以“前置代理加密网关”这种独立组件产品的形式实现的。


为了避免数据加密给数据访问和处理带来性能上的严重损失,部分数据库加密产品在数据库引擎层提供了一些扩展接口和扩展机制。通过这些扩展的接口和机制,数据库系统用户可以通过外部接口调用的方式实现对数据的加/解密处理,同时也能够在一定程度上降低对数据库系统性能的影响,这种方式称为后置代理加密。后置代理加密过于依赖数据库自身所具备的扩展机制,且数据在数据库共享内存中也是密文,导致在部分场景下的数据库性能表现不佳。因此,基于后置代理加密技术又发展出了透明数据加密技术,目的是在保持后置代理加密优势的同时,降低对数据库自身扩展机制的依赖性,从而让数据库系统性能保持在相对合理的水平。


透明数据加密(Transparent Data Encryption, TDE)是一种对应用系统完全透明的数据库端存储加密技术,通常由数据库厂商在数据库引擎中实现。在数据库引擎的存储管理层增加一个数据处理过程,当数据由数据库共享内存写入数据文件时对其进行加密;当数据由数据文件读取到数据库共享内存时对其进行解密。也就是说,数据在数据库共享内存中是以明文形态存在的,而在数据文件中则以密文形态存在。同时,由于该技术的透明性,任何合法且有权限的数据库用户都可以访问和处理加密表中的数据。


在数据库加密技术中,除了从前端应用及数据库自身角度实现数据库加密外,基于数据库底层依赖的文件系统或存储硬件,也可以实现数据库加密。通过把磁盘存储卷或其上的目录设置为该文件加密系统格式,以达到对存储在卷里的文件进行加密的目的。文件系统加密技术本质上并不是数据库加密技术,但可以用于对数据库的数据文件进行存储层面的加密。


磁盘加密技术通过对磁盘进行加密以保障其内部数据的安全性,实现方式分别有“软”和“硬”两种。软实现是通过软件方式对磁盘进行加密的技术,对不同的存储系统有不同的专业加密方式,典型代表如 Windows 操作系统自带的 BitLocker 等。硬件方式的磁盘加密技术,在实现上大体有两个思路,分别是针对单块硬盘的磁盘加密和针对磁盘阵列及 SAN 存储设备的磁盘加密。

发布于: 2023-05-07阅读数: 23
用户头像

InfoQ签约作者 2018-11-30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
应用数据加密技术概述_数据加密_穿过生命散发芬芳_InfoQ写作社区