一种嵌入式数据库安全增强方案的设计与实现

时间:2022-02-11 11:10:10

一种嵌入式数据库安全增强方案的设计与实现

摘 要:由于嵌入式平台的开放性和智能化,嵌入式数据库面临的安全威胁日益增长。在此提出一种嵌入式数据库安全增强方案,融合多种安全技术,如指纹识别、访问控制、数据加密等,设计了一种基于嵌入式数据库的安全中间件,构造访问嵌入式数据库的安全通道,对嵌入式数据库系统进行安全增强。该安全方案在嵌入式数据库Berkeley DB系统上得到了应用,验证了嵌入式数据库安全方案的可行性,能够有效地增强嵌入式数据库的安全性。

关键词:嵌入式数据库; 指纹识别; 中间件; 数据加密

中图分类号:TN92; TP309 文献标识码:A

文章编号:1004-373X(2010)14-0021-04

Design and Implementation of Security-enhanced Scheme for Embedded Database

SHEN Yong, ZHU Wen-jing

(College of Computer Science & Engineering, Jiangsu University of Science and Technology, Zhenjiang 212003, China)

Abstract: The threat to the embedded databases is growing with the open and intelligent application of embedded platforms. A security enhancement scheme of embedded databases is proposed. A security middleware is designed to construct a secure channel to access the embedded databases by integrating multiple security technologies, such as fingerprint identification, access control, and data encryption to enhance the security of EDBS. The scheme has been applied to Berkeley DB embedded database system. The application verifies that the security enhancement scheme of embedded databases is feasible and the security of embedded databases can be enhanced effectively.

Keywords: embedded database; fingerprint identification; middleware; data encryption

0 引 言

随着嵌入式系统和无线通信网络技术的飞速发展,嵌入式设备数据的存储以及数据存储量在不断的增加,因此引入了嵌入式数据库技术[1]。嵌入式数据库运行在嵌入式系统上,与应用程序紧密集成,被应用程序所启动,并伴随应用程序的退出而终止[2]。

比较典型的嵌入式数据库有:Berkeley DB,TimesTen,FastDB,SQLite等[3-4]。与通用数据库相比,嵌入式数据库的特点有:内核足够小,性能高,成本低,可裁减,嵌入性[5]。

由于嵌入式平台的开放性和智能化,其面临的安全威胁也日益增长[6]。嵌入式数据库需要在信息安全方面得到更加可靠的保障。

目前,通用数据库的安全研究已相对成熟,如:SQL Server,Oracle数据库在授权认证、审核与入侵检测、数据加密等方面都有各自的安全机制。而嵌入式数据库,如Berkeley DB,SQLite等,还未能有相对完善的安全机制来保障。

本文结合嵌入式数据库本身的特点,在分析嵌入式数据库安全威胁的基础上,结合多种信息安全技术,提出了嵌入式数据库安全增强方案。

1 嵌入式数据库安全威胁

一般地,嵌入式数据库自身的安全机制薄弱,安全设计不完整,无法提供方便易用的安全接口。因此,嵌入式数据库系统应用会存在一些安全问题,主要有:

(1) 身份误用

用户滥用嵌入式设备,身份管理不严格,造成用户信息或密码泄露。或者,黑客通过信息截获方式盗取用户账户信息,从而成为合法用户,成功登录到嵌入式数据库系统,造成信息的泄漏。

(2) 数据存储安全

嵌入式设备易被盗取,信息易被人利用。黑客可通过无线设备与嵌入式设备进行同步,浏览或复制存储在嵌入式设备上的数据。

(3) 数据传输安全

数据库信息在网络传输过程中,易被黑客通过监听方式截获。

(4) 缺乏审计

嵌入式数据库系统一般设计为轻型数据库系统,无审计功能,一旦发生数据库安全事件,不易察觉,也不易防范。

2 嵌入式数据库安全增强方案设计

本文提出了一种嵌入式数据库安全增强方案,如┩1所示,将多种安全技术相融合,在应用系统和嵌入式数据库间设置安全中间件(embedded database secure middleware,EDSM),从而构造访问嵌入式数据库的安全通道。

图1 嵌入式数据库安全架构

EDSM包括身份认证、访问控制、安全存储、安全通信和安全审计等模块,其功能结构如图2所示。

图2 EDSM功能结构

图2中,安全通信模块主要解决远程访问嵌入式数据库的安全问题。

2.1 基于指纹识别的身份认证机制设计

指纹识别[7]安全性相对较高,技术相对成熟,其应用日益广泛。

指纹识别身份认证一般有2种方式:一种是先输入用户的ID,从指纹库中将对应的指纹特征提取出来,然后与现场采集指纹的特征值进行匹配,根据相似度来进行验证;另一种是直接采集现场指纹,提取指纹特征值到指纹库中逐一匹配,并识别用户身份。第一种方式检索速度较快,且用户数可以较多;第二种方式使用方便,但检索速度较慢。考虑到嵌入式系统资源有限的情况,本文选取第一种方式,有助于提高身份认证的速度。指纹识别身份认证流程如图3所示。

该系统除指纹识别的身份认证,还提供口令认证方式。用户可根据需求组合认证方法。

身份认证需要用到用户信息表(user information list,UIL),如表1所示,通过统计用户登录次数,便于管理员查看用户使用情况,当出现安全问题时便于查找隐患。信息表中的密码和指纹特征值需加密存储。

图3 指纹识别认证流程图

表1 用户信息表结构

用户ID用户名口令指纹特征值登录次数角色ID

1zhjian* * * * * ** * * * * *130

2wxing* * * * * ** * * * * *221

螃螃螃螃

2.2 基于RBAC的访问控制机制设计

RBAC在用户和访问权限之间引入了角色的概念,用户与特定的一个或┒喔霆角色相关联,角色与一个或┒喔霆访问权限相关联,角色由数据库管理员根据需要添加或删除[8]。RBAC模型如图4所示。

图4 RBAC模型图

访问控制实际上就是授权操作,将权限授权给有资格的用户,同时令所有未授权的人员无法使用数据库。本文提出三级安全访问控制,对应着三级授权,即操作系统登录授权、嵌入式数据库使用授权及嵌入式数据库对象操作与命令,如表2所示。

嵌入式数据库管理员具有数据库操作的最高权限,可以定义用户和角色,并为用户分配角色。用户先获得用户名,其次是根据角色获得权限,根据权限决定能够访问数据库的对象。

表2 三级授权机制

对象对象类型操作权限

属性列(字段)Table Select,Insert,

Update,Delete

基本表TableSelect,Insert,Update,

Delete,Index,All Privileges

数据库DataBaseCreate Table

角色与权限通过角色控制列表(role control list, RCL)来描述。访问控制通过用户信息表和角色控制列表来实现,如表3所示。

表3 角色控制表结构

角色ID角色名称对象类型操作权限

0DBAdminDataBase1111

1TableUserTable01110

2FiledUserField01100

RCL中,角色ID用来惟一标识角色,角色名称定义了3种不同的角色。对象类型表示角色是否对数据库、表、字段具有操作权限,如角色为TableUser时,表示对某表有操作权限。Table0表示对所有的数据表有操作权限,Table后面的0可以根据定义改为1,2,3等不同的数字,代表不同的数据表对象。操作权限表示对数据的查看、修改、添加和删除操作。其中,1111表示对数据库具有所有权限;1101表示对所有数据表的查看、修改和添加具有权限,但不能删除表;1100表示对某数据表的所有字段具有查看、修改功能,不能添加或删除字段信息。

2.3 安全存储设计

安全存储设计是为了保障嵌入式数据库的数据表在存储时的安全。本文以Berkeley DB为例,介绍安全存储设计。

Berkeley DB中数据库的记录是以关键字(Key)和数据(Data)以Key/Data对的方式存放的,组成了数据库中的一个基本结构单元[9]。data可以由一个结构体构成,结构体中变量相当于是普通数据表中的字段。初始化数据库时需定义数据库句柄,然后根据句柄创建数据库名。

按照数据库结构层次,加密粒度可以分为表级、记录级、字段级加密。根据不同的应用需要,对数据表可选择合适的加密粒度。

(1)表级加密。

表级加密的对象是数据库中的表,需要对数据库中一些包含敏感信息的表进行加密。表级加密采取对表的文件名,或者对定义文件名的指针或句柄加密。

(2)记录级加密。

记录级加密的对象是数据表中的记录,将需要加密的记录中的所有字段值连接一起进行加密。

(3)字段级加密。

字段级加密的对象是关系中的某个敏感字段。

数据库的安全存储由加密说明表(encryption description list,EDL)描述加密信息和粒度,对加密的表或字段进行记录,如表4所示。

表4 加密说明表结构

ID数据表名加密粒度字段名加密密钥

0Table00/1/2Field0* * * * * *

1Table10/1/2Field3* * * * * *

螃螃螃

EDL中,加密粒度为0/1/2分别对应表/记录/字段级加密。若为记录级加密,需要在加密字段前部添加加密标记字符;若为字段级加密,需要在其后说明字段名。加密密钥由系统随时产生,在存储数据表时系统自动加密,访问数据表时系统自动解密。

2.4 安全审计设计

安全审计主要是对用户登录事件、数据库访问事件、数据库更改等关键事件进行记录,在身份认证模块、访问控制、安全存储等模块中都存在安全审计的内容。

安全审计模块主要生成三类日志信息:非法登录、非法访问和非法更新。

2.5 安全通信设计

为防止远程访问数据库造成的安全威胁,安全通信模块采用SSL协议[10]提供安全保护。

3 测试与分析

为验证EDSM的安全性和可行性,本文对一个Berkeley DB应用――医院移动查房系统(hospital mobile rounds system,HMRS)进行了安全增强。

HMRS将嵌入式数据库技术应用在无线手持设备上,医生或护士利用该设备登记就医、用药、病情等信息,并可查询病人治疗情况。

该移动设备涉及到病人的个人隐私和医院的敏感信息,并非所有的人都能使用。一旦非法用户使用造成信息泄露,将对医院和病人造成损害。对HMRS进行身份认证、访问控制、数据存储和安全日志测试,测试结果如图5、图6所示。

图5 指纹识别认证登录

基于指纹识别的认证方式,有效地防止了非法用户的登录,是一种安全可靠的认证方法。

不同角色对数据库有不同的访问权限,具有不同权限的用户对数据库的访问粒度也不同。该部分测试表明了EDSM的访问控制和安全存储的有效性。

日志测试表明,对于用户连续登录失败,修改机密信息的操作都会进行安全记录。日志数据不是太大,适用于嵌入式系统应用。

该移动设备上的信息存储在Berkeley DB中,并可通过存储卡或网络,将信息传送到PC机上。存储卡中的数据经过加密处理,SSL保证了数据传输过程中的机密性。

图6 病人信息显示

4 结 语

本文针对嵌入式数据库自身特点和安全需求,设计了一种适合嵌入式数据库的安全增强方案。通过在Berkeley DB应用中增加EDSM测试,表明该方案可以灵活、有效地防止非法登录、非授权访问,实现数据的安全存储和传输,并能对非法或异常事件进行安全记录。

随着嵌入式数据库的广泛应用,有效的安全增强方案将成为嵌入式数据库系统设计的重点。

参考文献

[1]翁时辉.嵌入式数据库的发展与应用[J].华南金融电脑,2009(1):18-22.

[2]BARBARA D. Mobile computing and databases-a survey.IEEE Trans on Knowledge and Data Engineering, 1999, 11(1): 108-117.

[3]朱伟玲.安全嵌入式数据库管理系统的分析与设计[D].镇江:江苏大学,2008.

[4]宋丽娜.嵌入式数据库典型技术:SQLite和Berkeley DB的研究[J].科技信息,2008(14):173-175.

[5]欧书云.嵌入式数据库系统的应用[J].单片机与嵌入式系统应用,2008(7):6-8.

[6]龚星宇,许佳, 龚尚福.嵌入式数据库的研究[J].现代电子技术,2007,30(9):62-63.

[7]赵战生,杜虹,吕述望.信息安全保密教程[M].合肥:中国科学技术大学出版社,2006.

[8]姜宇锋,付钰,吴晓平.基于RBAC的权限设计与实现[J].计算机与数字工程,2009(6):98-101.

[9]Berkeley D B. Solid data[ M] . [ S.l.] : Sleepycat and Solid Data Systems, 2002.

[10]俸皓.SSL/TLS在嵌入式系统中的研究与实现[D].成都:电子科技大学,2004.

上一篇:可视化技术研究与比较 下一篇:基于ZigBee的煤矿综合监控系统节点设计