APP下载

一种面向数据库的分类数据加密研究

2017-08-08宋贤睿张淑娟顾广宇

电子设计工程 2017年14期
关键词:敏感数据加密算法字典

宋贤睿,张淑娟,顾广宇,蔡 翔

(国网安徽省电力公司电力科学研究院 安徽 安庆230601)

一种面向数据库的分类数据加密研究

宋贤睿,张淑娟,顾广宇,蔡 翔

(国网安徽省电力公司电力科学研究院 安徽 安庆230601)

针对数据库中分类数据在分发过程中信息安全问题日渐突出问题,文中以分类数据加密作为切入点,介绍了公有、敏感和隐私3类数据的密钥管理。通过设计面向数据库传输接口,实现对非法数据过滤处理。借助对称加密算法分析了3类数据的加密分类。此外,给出了数据库3类数据在加密实验,结果显示:在处理40条数据加密时,公有、敏感和隐私数据加密用时分类为0.178 s、0.201 s和0.390 s,随着数据量的增加,总体加密用时不会增加过多,系统效率在可控范围内。

分类数据;数据加密;对称加密;数据过滤

近年来随着互联网的快速发展,众多资源的数据化、智能化与信息化成为资源信息综合利用的关键[1]。在面对爆炸式增长的数据量时,终端数据库的存储容量[2]与信息安全性[3]日渐成为数据资源存储的瓶颈,尤为突出的分类数据信息针对性的保护机制对数据库安全考核提出了更大的挑战[4]。传统的数据加密算法可分为对称加密与非对称加密[5],它们仅仅依靠添加字符串编码的形式对数据库中所有数据进行加密,进而加大了数据重叠处的加密云端并且加密的方式缺乏针对性[6]。在加密的过程中使用数据密钥独立的完成明文与算法的融合,导致了众多数据信息的输出密文不尽相同,即加大了解码的难度。因此,本研究在传统数据加密算法的基础上,首先将数据库中的数据信息划分为公有数据、敏感数据和隐私数据3类数据,依据每类数据信息的特点,针对性的设计了数据密钥的编码保护,以此达到保护数据库分类数据信息的安全。

1 分类数据加密

1.1 分类管理

数据库中的数据信息大体上可以分为3类:公有数据、敏感数据和隐私数据。其中,敏感数据和隐私数据需要通过密钥的加密确保数据库的安全性。本研究在管控每个加密数据时所采用的加密密钥依据用户登录权限与数字字典表来确定[7],再采用二级密钥的方式管理每个加密密钥数据[8]。由于加密密钥从初始化的生成到数据库中更新存储以至最后的密钥失效完成了整个生命周期性的转化,这为数据库中的及时性提供了安全保证。敏感数据依据用户登录权限与数字字典表来查询对应的数据密钥进行加密,而数据密钥则利用根密钥的方式在数据路中进行加密存储;隐私密钥则由两个部分组成:用户存储和根密钥加密存储,两种方式的数据加密为达到数据库中的隐私数据安全性目的。

本研究面向数据库的安全加密构造了分类数据加密算法,该算法在访问数据时通过串联用户数据传输接口模块并设置用户使用权限,利用数据字典查询的方式分别使用加密引擎模块和密钥管理模块组成[9]。用户访问数据库中的公有数据、敏感数据和隐私数据,根据用户权限表与数据字典来构建分类数据与对应数据密钥的关系。具体的数据库分类数据加密模型如图1所示。

图1 数据库分类数据加密模型

1.2 数据接口设计

本研究为了统一用户将数据信息传输到数据库的接口,设计了用户登录权限的查验并将输入的数据进行筛选过滤,最后统一返回错误提示信息。根据用户登录权限对用户的真实身份与权限进行验证[10],在验证用户信息合法后再依据业务逻辑流程对输入的数据信息进行统一验证,查看数据信息是否符合数据库系统的要求,最后对符合要求的数据信息进行关键字比对以达到数据分类的效果。当用户身份不满足正常的输入数据或者数据信息不合法,则对客户端的用户提示错误信息反馈提示,以防止数据库分类数据的信息外泄,进而达到保护数据库中数据信息的安全。具体的用户输入数据过滤的流程如图2所示。

图2 用户输入数据过滤流程

2 数据库加密算法

2.1 对称加密

对称加密算法依据不同明文加密方式可将数据编码划分为:流型密码和分层密码[11],其中,分层密码按照128 bit输入到输出操作完成进行编码分层,通过利用循环迭代加密的方式将字符串中的字节进行替换、编码位置进行移位和轮流编码密钥来达到数据信息加密的效果[12]。在数据密钥经过加密输入后得到的扩展模块可将每个数据节点容量扩充为256 bit或者512 bit进行加密运算。

假设A和B分别表示加密前输入的明文和加密后输出的密文,则数据加密操作可表示为:

其中,X和k分别表示轮流加密运算与子密码,可见总共轮流加密了r+2次,对应的子密码为k1,k2,…,k(r+2);而 M、N 和 L分别代表字符串中的字节进行替换、编码位置进行移位和轮流编码密钥。因此,在r-1次加密运算后,将字符串中的字节进行替换、编码位置进行移位与第r个密钥轮流加密运算产生密文。

2.2 加密流程

本研究中将数据库中的数据分为公有、敏感和隐私3类数据,当用户将数据信息通过数据接口过滤后传输到对应的加密引擎进行不同的加密操作。其中,公有数据属于共享模式数据信息,使用的数据密钥为 K={k1,k2,…,kn},而敏感和隐私数据是每个用户私有的,则利用私人密钥分别完成数据密钥集合{U1,U2}={u1,u2,…,un}。 其中,对于隐私数据加密流程如图3所示。

图3 隐私数据加密流程

2.3 分类加密

1)共有数据:由于共有数据被共享给所有用户进而不需要加密操作,在加密过程中可被数据库筛选后直接进行存储。

2)敏感数据:在对系统内部共享的数据信息不需要进行加密操作,方便本系统内部直接访问数据库,以达到数据资源共享的目的;而对于跨系统操作的用户需要进行加密操作,这种操作不仅对不同用户存储的数据信息分别进行加密,而且在外部客户端访问数据库时仍然进行访问检验,使用数据密钥完成数据的加密。加密算法依据数据粒度筛选数据库中密钥的字符串编码位数[13],即加密粒度愈小安全度愈高。然而单一依靠细化粒度又加大了解码过程中管理的难度[14],因此,本研究通过设置动态加密的数据字典完成不同使用频率与危险等级综合衡量下的加密粒度,尽可能的减少数据密钥的数量且加快了数据访问的速度。

在访问数据库中的敏感数据信息时,根据加密的字符串名称和数据密钥管理模块共同查询敏感数据所对应的数据密钥,明文A使用加密算法后产生密文B的表达式如下:

3)隐私数据:供每个用户查寻自己的私人数据信息,而对系统内的其他用户采取保密性的隔离。在数据加密操作处理过程汇总,产生的密文B仅存储在个人用户数据库中。根据用户访问权限与数字字典表综合查询用户的隐私数据密钥,通过随机生成由用户密码与系统编码的字符串完成数据编码的拼接[15-17]。其中,由根密钥加密随机生成的字符串添加到隐私数据后存储到数据库中。在用户访问自己的隐私数据时,随机字符串通过拼接隐私密钥解密得到,操作表达式为:

3 实验模拟

3.1 实验配置

本研究主要在数据加密算法的基础上细化了对数据库中的分类数据加密处理,同时,使用二级密钥的方式管理每个加密密钥数据,在确保敏感数据和隐私数据安全性的同时也兼顾了加密系统的粒度加解密的开销。由于用户在向数据库发起访问请求时会一次提取几条数据分别进行处理。在面对包含多个字符串字段的数据时,采用针对性的数据加密算法对数据库中的数据进行加密,使得数据内容安全性更高且不会轻易泄露。本研究依据现有数据库的特点,为了比较分类数据加密与传统数据加密的特点,使用javaEE语言及对应加密算法模拟数据库中数据加密所用时间开销。具体环境参数如下:

表1 分类数据加密实验配置

分别抽取数据库中6张表格40条、80条和120条数据信息,每条数据包含3个字符串字段,即分别共有120个、240个和360个数据项。假设有3个用户在存取每个数据项过程中都需要进行加密保护。具体的数据字典设置信息如表2所示。

表2 数据字典设置

3.2 实验分析

对所有需要加密的数据项采用数据加密算法,再与本研究提出的分类数据针对性的数据字典方式加密算法进行加密用时对比,3个用户进行10次数据存取运行结果如表3所示。

表3 加密用时对比

由表3可见,传统的数据加密算法用时明显高于本研究的分类数据加密用时,这是由于传统的数据加密算法对存储在数据库中的所有数据都实行每条数据项的加密操作,并且加密每个数据项时都会产生新的密钥并进行存储。而本研究提出的分类数据加密首先筛选出了信息类型并通过评估数据危险等级再进行数据加密操作,同时,通过查找相应密钥并返回加快了数据加密的时间开销。其中,敏感数据只需要通过查询数据字典表来确定密钥,所以用户存取数据过程中所需时间相对较长;而隐私数据则需要在验证用户登录权限并兼顾查询数据字典表,两者同时对隐私数据进行双重验证与加密,因此加密用时相对更高。通观共有、敏感和隐私3类数据的总体加密时间随着数据项的增大,系统处理的运行时间增加不会太多且系统效率均在可控范围内。

3.3 性能评价

传统的数据加密算法对存储在数据库中的所有数据采取一项一密的加密方式,共产生了120个、240个和360个数据密钥,而本研究仅考虑数据信息类型且不受数据密钥数量影响,分类对数据进行一类一密的数据密钥操作,在密钥管理方面节省了数据库系统运行的大量内存运行与时间开始。在处理棉秆数据加密时,依据动态选取数据字典细化数据加密粒度,不仅可以减少密钥管理的负担且密钥的读取更加便利,而且随着数据量的增加系统运行时间增加平稳。隐私数据在加密的同时加入了用户登录权限的验证,极大的减少了密钥泄露的可能性,从而确保了隐私数据被其他用户窃取的可能性。将数据库中的数据划分3类结合二级密钥管理方式综合提高了数据库对数据存储的安全性,并且节省了数据存储时间与空间。

4 结 论

本研究在传统数据加密的基础上,依据数据存取特点和受危等级划分了公有、敏感和隐私3类数据类型。相对于传统数据加密对数据项进行的一项一密的加密方式,用户在发起数据存取过程汇总,数据库的时间开销增加较小,密钥管理方式更加便利。极大的提高了公有数据的共享途径,更好的保护了数据库中的敏感数据,利用用户登录权限验证和数据字典表双重保障了隐私数据的安全。通过设计用户数据接口降低了数据存取过程中数据库所承载的压力,将数据过滤操作交由后台执行,减少了系统处理数据信息的时间开销。根据动态选取数据字典加密粒度的方式增加了数据的安全性,同时也减轻了对密钥管理的复杂度,保护了数据库中众多数据的安全。

[1]肖会敏,侯宇.互联网+环境下科技信息资源共享面临的问题及其对策 [J].情报工程,2015,1(6):91-97.

[2]刘伟.大容量NAND闪存数据库存储管理技术应用分析[J].数字技术与应用,2013(4):237.

[3]曾建国.大数据时代数据库信息系统安全风险评估技术分析 [J].信息安全与技术,2015,6(9):27-28.

[4]李超零,陈越,谭鹏.基于分解与加密的云数据库隐私保护机制研究[J].信息工程大学学报,2012,13(3):376-384.

[5]朱晓露,杨清,刘格非.一种基于身份认证数据加密算法的研究与设计[J].计算机工程与科学,2012,34(12):60-65.

[6]覃遵跃,黄云,蔡国民,等.支持XML插入更新的编码方法[J].计算机应用,2012,32(12):3540-3543.

[7]李湘锋,赵有健,全成斌.对称密钥加密算法在IPsec协议中的应用[J].电子测量与仪器学报,2014,28(1):75-83.

[8]苗杰,钱强,高尚.基于AES加密算法的数据库二级密钥技术 [J].计算机系统应用,2013,22(4):79-82.

[9]胡汝荣,雒江涛,向程超.CDMA2000 1x EV-DO网络RADIUS协议解码方法的研究与实现 [J].南京邮电大学学报:自然科学版,2014,34(3):80-84.

[10]陈超,张瑞霞.基于VB程序数据库登录权限问题的研究[J].现代电子技术,2012,35(6):28-32.

[11]俞斌.对“一种超混沌图像加密算法的安全性分析及其改进”的选择明文攻击[J].计算机应用研究,2013,30(2):510-512.

[12]张雪锋,范九伦.一种自适应的循环迭代数字图像加密算法[J].西安邮电学院学报,2012,17(3):1-9.

[13]张雪芹,徐金瑜,顾春华.基于本体的信息安全漏洞关联分析 [J].华东理工大学学报:自然科学版,2014,40(1):125-131.

[14]陈锐,杨海钢,王飞,等.基于粗粒度可重构阵列结构的多标准离散余弦变换设计[J].电子与信息学报,2015,37(1):206-213.

[15]李红凯,裘国永,王涛.基于DNA随机编码的真彩图加密算法 [J].计算机应用研究,2016,33(4):1132-1136.

[16]谢春思,李军玲.基于动态加密算法的数据处理技术开发[J].工业仪表与自动化装置,2013(1):105-107.

[17]龙强,刘小华.基于非对称密码体制的二维码加密算法[J].重庆师范大学学报:自然科学版,2017(3):91-95.

Research on classified of data encryption for database

SONG Xian-rui,ZHANG Shu-juan,GU Guang-yu,CAI Xiang
(State Grid Anhui Electric Power Company Electric Power Research Institute,Anqing 230601,China)

In this paper,we use classified data encryption as the entry point to introduce the key management of the whole,sensitive and private three kinds of data in order to solve the problem of information security in the process of distributing data in the database.Through the design of databaseoriented transmission interface,to achieve the illegal data filtering.The encryption classification of three kinds of data is analyzed by symmetric encryption algorithm.In addition,three types of data in the database are given in the encryption experiment.The results show that the encryption of public,sensitive and private data is classified as 0.178 s,0.201 s and 0.390 s when dealing with 30 data encryption.With the increase of data volume,The overall encryption will not increase with too much time,the system efficiency in the controllable range.

classification data; data encryption; symmetric encryption; data filtering

TN918.3

:A

:1674-6236(2017)14-0005-04

2016-10-04稿件编号:201610005

国家自然科学基金资助项目(51307130;51477130)

宋贤睿(1986—),男,安徽安庆人,硕士,工程师。研究方向:信息安全、信息化架构、电子数据取证。

猜你喜欢

敏感数据加密算法字典
干扰条件下可检索数字版权管理环境敏感数据的加密方法
实现虚拟机敏感数据识别
基于透明加密的水下通信网络敏感数据防泄露方法
字典的由来
基于4A平台的数据安全管控体系的设计与实现
我是小字典
正版字典
基于小波变换和混沌映射的图像加密算法
Hill加密算法的改进
对称加密算法RC5的架构设计与电路实现