杨军莉
(陕西财经职业技术学院陕西咸阳712000)
随着无线通信技术、嵌入系统的发展,在未来10年之内,智能卡、电话、电灯开关均要展现计算机化,这些设备均有相对丰富的内部数据。若要有效解决嵌入式数据存储方面的问题,嵌入式数据库技术必须投入使用。嵌入式数据库必须依托本机开展各项操作,它可以与应用程序密切集合起来,如果这个应用程序得以开启,会随着应用程序的使用终止整个操作[1]。因无线连接网络并没有设计固定的安全技术,因此,不论何时何地均容易被黑客窃听或者发出无线电波,导致处于传输状态的数据遭到盗用或者修改等情况[2]。加之,嵌入式设备方便携带,想方设法防止嵌入式设备丢失后数据被盗用或者磁场干扰等问题,均是数据安全必须考虑的问题。本项目以嵌入式数据库系统为主要对象,通过调研、管理分析该影响系统安全的因素和用户对系统的各项要求,设计相应的安全机制,大大提高嵌入式数据库系统的安全性。
嵌入式系统就是以应用为重要内容,依托计算机技术,且软硬件可以进行裁剪,适应用户对于系统的功能、功耗情况、可靠性等有具体要求的计算机系统。系统具体结构见图1。本文研究的是嵌入式Linux操作系统,这种系统具有安全性高、稳定、便于裁剪、多任务等优点,且具备免费、开放源代码等特征。
图1 嵌入式数据库系统架构
嵌入式数据库系统通常会与操作系统和多种应用进行集成,在智能嵌入式或移动设备上工作。嵌入式数据库系统实质就是依据通用数据库发展起来的,其部分功能与大型数据库之间存在一些相似之处,它能够当做网状或关系型数据库[3]。但嵌入式和通用数据库在实际运行环境、应用等方面存在一定差异。因此,不可简单的将其看成通用数据库在嵌入设备上的微缩版本。嵌入式数据库系统具有所用磁盘空间小、可靠性高、具有可移植性和可剪裁性,从而满足使用者各方面的需求[4-5]。
随着无线网络的快速发展,已有的嵌入式数据库已经不单单是单机在嵌入式设备方面使用。由于无线设备必须进行联网,嵌入式数据安全定然遭遇一系列的威胁。使用者随意使用嵌入式设备,对于用户身份并未进行严格的管理,导致用户登录信息或者密码遭泄露[6]。此外,不法分子也可以根据截获的信息盗走合法用户各项信息,从而顺利登录嵌入式数据库,导致信息严重泄露[7]。
随着嵌入式数据库得以广泛使用,要求必须配备一套更为可靠地安全方案,确保访问数据的有效。因此,对于数据库安全问题,我们从以下方面提出保障嵌入式数据库安全各项需要。
1)从物理存储角度分析,不单要确保数据文件不遭受随意的更改,也要保证未经许可的登录人员无法进入数据库系统[8]。针对上述情况,需要对机密数据实施加密处理,只有具备浏览权限的用户方能运用解密方法获得相应的数据信息。2)从身份认证方面来说,需要确保登录数据库系统后用户的身份信息不会出现被泄露、复制或者伪造的情况。同时,要确保数据或者其它各种机密数据可以在网络中顺利实现传输,哪怕信息遭他人截取,这些信息也无法识别出来,信息遭到篡改能够及时发现[9-10]。3)从管理层面来说,可以将使用者在数据库系统中执行的各项操作自动记录,并将这些信息存储到日志中,方便进行深入的调查或追踪具体的责任。
依据用户对嵌入式数据库的安全需求,结合该系统的具体特征,挑选恰当的安全机制,并对不同安全机制展开比较,获得行之有效的执行方案。
身份认证就是设置在应用层上最基础的安全机制,它根据用户的身份认证情况,可以有效预防并未获得合法授权的用户访问或者读取数据,也能避免用户进行越权访问[11]。身份认证选择技术相对成熟、安全性高的指纹认证,指纹认证通常包含两种方法:1)先输入用户IG由指纹库内把相对应的指纹提取出来,随之与现场采集到的指纹信息进行匹配,依据相似度展开验证处理;2)直接从现场采集所需指纹,提取指纹后到指纹库内逐个进行匹配,进而识别使用者的身份。第二种方式虽然使用方便,但检索速度较慢。考虑本次设计的嵌入式系统资源有限,选择第一种检索速度快、支持较多用户的方法。身份认证需要用到的用户信息见表1。系统会对用户登录次数等信息进行统计,方便管理者随时查看用户使用情况,如果存在安全问题,方便及时找到隐患。
表1 用户信息表
用户身份认证步骤见图2,由改图可知,用户进行身份认证实质上是需要通过两层认证顺利实现,一方面是用户名认证,只要输入的合法的用户名,系统会继续展开指纹批评操作。此外,可以输入用户ID,由指纹库内提取相应的指纹,随之与现场采集出来的指纹进行匹配,依据相似度检验。如果指纹匹配成果,系统会获取数据表授权。
数据加密主要作用是防止重要信息在网络上遭遇不法分子或者黑客拦截或截获信息,保障截取数据以后,数据不容易轻易被外人读取[12]。实施加密处理的口令或者数据,即使遭到黑客截取也无法读取具体的信息,除非已用加密方法和密匙比较脆弱。数据加解密是依托密码体制加入密码钥匙进行控制[13]。操作原理见图3。
图2 身份认证流程简图
图3 数据加密、解密原理
在加密操作中,嵌入式数据库加密方案包含多种加密粒度,因此,数据库有待加密的秘钥量比较大,密钥进行存储和管理工作更加复杂,必须进行动态管理。若密钥采取明文的形式保存在数据库中,这种情况下,非法入侵者只要能进入数据库系统,就会轻松找到破解密钥[14]。因此,必须将密钥表中的密钥实施加密处理密钥算法实现流程见图4。
图4 密钥算法流程
由上图可知,系统会随机产生一个主密钥(MKey),并将其保存在数据表内,它主要功能在于对表密钥实施加密处理,系统每个加密对象均会有与之对应的表密钥(TKey)。对象进行加密操作时,必须把MKey和TKey经算法处理,从而出现新的密钥(Key),这个所得新密钥就是给对象加密的密钥。这种管理方法的优势在于,哪怕黑客已经盗取主密钥及表密钥,也无法获取最终密钥。
这里所用的通信机制,旨在利用信息安全交换达到某种安全操作的目的,这种设计能有效弥补已有通信协议存在的问题[15]。已有通信协议主要分布于TCP/IP协议栈内,例如:IP协议、HTTP协议等。安全通信协议就是依托TCP/IP协议簇展开设计,其分布在多个层次内,如图5所示。
图5 TCP/IP协议簇安全架构效果图
由上图可知,在这个安全架构内,由链路层直到应用层各环节,均要设计合理的安全通信协议。其中,链路层设计PPTP、L2TP等安全协议,这一层安全协议旨在利用专用通信链路和主机或者路由器顺利实施连接,这种协议效率虽然比较高,但不能通用,且扩展性不理想。网络层设计IPSec协议,这种安全协议对网络层以上各层的透明度比较高,但难以提供不可否定的服务。应用层设计的安全协议主要依据电子邮件等特定应用安全需求和特点展开设计,包含PGP、SNMP等,这一层的协议能够密切结合各项特定要求,提供具有一定针对性的安全服务,但各应用需要单独设计所需的安全机制[16]。
综上所述,在嵌入式数据库系统中,各服务其一般用于较多的部门或者单位之间,这些单位或部门不会集中控制用户身份验证及访问方法。因此,为保障系统的安全性,对其设计安全机制尤为重要。本文在深入分析影响嵌入式数据库系统安全的多种因素基础上,提出身份认证、安全通信等安全机制设计情况,以期为类似研究提供一定指导。