QQ在线支持
商务支持电话
13906050680
技术支持电话
0592-2651619
首页->局域网监控-> 设计加密技术嵌入式数据库管理系统,确保数据安全
  • 摘要:设计加密技术嵌入式数据库管理系统,确保数据安全,嵌入式系统,数据库安全,安全数据库设计,加密数据库,数据库加密技术

     

    设计加密技术嵌入式数据库管理系统,确保数据安全

    [导读] 本文在对嵌入式数据库管理系统和安全数据库管理系统的设计原则进行介绍,然后根据电力系统的背景,进行需求分析,对ESDBMS的整体框架进行设计,并对ESDBMS进行了模块的划分,然后确定了每个模块的功能,最后详细介绍了安全后端模块的设计和开发,并详细介绍数据库的加密和安全事务管理模块中事务的读写操作的实现过程。

    随着互联网技术的不断进步,嵌入式数据库系统用途广泛,如用于消费电子产品、移动计算设备、企业实时管理应用、网络存储与管理以及各种专用设备,这一市场目前正处于高速增长之中。但同时由于嵌入式数据库是使用越来越广泛,它的安全问题自然是变的越来越重要。

    一、加密嵌入式数据库管理系统总体设计

    目前安全嵌入式数据库管理系统的研究还处于探索阶段,没有自己的设计原则,故只能在分析嵌入式数据库管理系统和安全数据库管理系统设计原则的基础上,对ESDBMS进行有探索性的研究。

    1、安全数据库管理系统的设计原则

    在安全数据库管理系统的设计方面,作为保存数据和信息记录的数据库系统的管理系统,应当提供对信息和数据的安全存取的服务,即在向授权用户提供可靠的信息/数据服务的同时,又要拒绝非授权的对数据的存取访问请求,保证数据库管理下的数据的可用性、完整性和一致性,进而保护数据库所有者和使用者的合法权益。其基本安全要求为:保密性;完整正确;信息在存储或传输过程中保持不被修改、不被破坏和不丢失。

    2、ESDBMS框架设计与模块划分

    对应用于电力系统的ESDBMS安全策略和数据库结构模型确定以后,ESDBMS的框架结构也就顺理成章了。本文把数据库管理系统划分为四个模块:安全后端模块、安全数据库引擎模块、安全前端模块和安全事务处理模块。在每个模块的具体设计中,将有机地融合安全功能,从而保证数据库管理系统整体的安全性。安全嵌入式数据库管理系统的框架结构如图1所示。

    如何设计加密的嵌入式数据库管理系统

    二、安全后端模块及加密设计与实现

    为了减少开发难度,安全后端模块的设计采用分层设计的思想,屏蔽掉各层之间的差异性,实现高层向低层的透明调用,这样有利于降低层次之间的耦合度。并且对于ESDBMS的其它功能模块,它们可以透明地调用安全后端模块最高层提供的标准接口,而不需要了解安全后端模块的底层实现机制,这样有利于安全后端模块的拆卸和扩充,有利于实现ESDBMS整体的模块化.它的大体框架如图2所示:

    如何设计加密的嵌入式数据库管理系统

    cache管理子模块是本地文件系统和其它上层模块之间的中间模块。它是通过本地操作系统IO API访问本地数据库和日志文件的模块,即定义一个易于使用,独立于文件系统的接口,用来从数据库文件中访问页面。cache管理子模块的功能就是将用户所需要的数据项从数据库文件中读入主存,并在内存中操作,如果有需要,再把它写回数据库文件。这种功能可以归结为cache读操作,cache写操作和cache替换操作,下面分别设计实现。

    1、cache读操作

    通过检索关键字pPcm引用cache。为了读取一页,是通过Pcm API函数来实现。表和索引管理模块调用基于页码的ES-DBMSPcm_get这个函数,其中关键部分伪代码如下:

    If(pPg==0){//没有找到P

    if (pPcm->nPagemxPage){//是否有free slot

    PPg=ESDBMSMallocRaw( sizeof(*pPg));//获取free slot

    address_retum(pPg);

    return ESDBMS OK;

    }

    else

    {

    if(pPg->dirty){//见有slot是否dirty?

    写回数据库文件;

    pPg->dirty=0;

    rc=pager_recycle(pPcm,l,&pPg);//释放该slot

    if(rc!=ESDBMS_OK)(//出错处理

    retum rc;}

    把P页从数据库文件读到该810t;

    address_retum(pPg);)

    Else{address_return(pPg);

    return ESDBMS OK}

    2、cache写操作

    当一页地址返回给表和索引管理模块,cache管理模块并不知表和索引管理模块什么时候对此页操作。ESpBMS对每一页按照如下协议:获得页面,使用页面,然后释放页面。获取页面之后,表和索引管理模块可以直接改变页面的内容,但是它必须在修改页面内容之前调用ESDBMSPcm_ writeo API函数。

    3、cache替换操作

    当cache已经用完,此时需要移出cache中的旧页,以便为新页腾出地方。即在cache读时,当一个请求的页不在cache中,并且在cache中并没有free slot那么cache管理模块就会替换掉一个slot。这个被替换掉的slot按照cache替换策略执行,ESDBMS使用最近最少使用(LRU)cache替换策略。

    4、加密子模块的设计与实现

    在物理存储之前完成其加密解密工作;加密粒度为文件级别;采用基于口令的加密方法,密钥由口令而产生;加密算法是AES,为了避免加密的开始就过多的考虑底层的数据格式,选择计数器模式把AES加密块转换成256位的加密流,不需要任何的填充操作,密文和原来的明文有相同的长度,比其他的模式节省空间。加密过程中首先将整个数据库划分成块,每个块都可以作为一个单独的AES加密块,在计数器和由口令和盐产生的密钥作用下加密。

    如何设计加密的嵌入式数据库管理系统

    其中ESDBMScodecattachQ函数是用口令来连接相应的数据库,用户的口令通过get_a_keys函数而获得。由于采用的是AES加密算法,计数器模式,密钥和密文就有确定的大小,系统就能准确分配空间。图中Salt值在这里没有采用随机产生的方法,而是采用固定值,这样减小了空间存入额外信息的开销。

    加密和解密用的是相同的算法,即AES encrypt key256和AES decrypt key256都使用Rijndael算法。首先初始化一个进程的计数器,把数据库分成一个一个的块,每个都作为一个单独的AES加密块(为256位),每个块都从O开始编号,依据传入编码函数的page size和page number参数,算出计数块内的计数值f等于块的编号1和偏移量,然后用它来初始化加密流,贯穿加密模块过程始终的数据结构是:

    typedef struct {

    aes encrypt ctx cx;1/加密内容

    unsigned char key[KEYes LEN];

    unsigned char newKey[KEYee LEN];

    int isKeyed;//如果设定了口令置true

    int isReKey;//如果重新设定口令置true

    Httee*bt:删昔向B+tree的指针

    }stDbSeclnfo;

    三、事务管理模块的分析与设计

    事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元。应用程序不能直接从数据库中读或者写数据,除非通过读和写事务处理操作特别是在电力系统这种关系国计民生的产业应用中,更要确保数据的完整性和安全性。事务管理中最重要的两个功能就是并发事务的处理和日志文件的管理。事务管理有两个组成部分:一般处理和恢复处理,一般处理的操作主要是指读事务和写事务,即从数据库文件读page和写page。

    (1)读操作

    为了能在数据库的page上进行操作,B+树需要应用以pg-不存在则页面缓冲管理模块创建page。如果文件的shared或更强的锁还没有获得,函数就获得该文件的shared锁。如果请求sha-ed锁失败,那么就代表其它事务具有与之不可兼容锁,然后它返回ESDBMS BUSY错误代码给调用者。否则它就执行一个cache读操作,返回page给调用者,如图4所示。

    如何设计加密的嵌入式数据库管理系统

    (2)写操作

    修改page之前,通过调用ESDBMSPcm_get函数,表和索引管理子模块选定page。页面缓冲管理模块申请page所在数据库文件的reserved锁。如果申请re8erved锁失败,则返回ES-DBMSes_BUSY给调用者。调用ESDBMSPcm_write函数,如图5所示。
    cl小知识之嵌入式数据库

    嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,它们需要较少的内存。它们是使用精简代码编写的,对于嵌入式设备,其速度更快,效果更理想。嵌入式运行模式允许嵌入式数据库通过 SQL 来轻松管理应用程序数据,而不依靠原始的文本文件。嵌入式数据库还提供零配置运行模式,这样可以启用其中一个并运行一个快照。

    绿盾透明加密软件解决问题:拒绝非授权的文件泄密和抄袭复制,即使被私下复制都是自动加密无法阅读;透明加密的意思是一边自动加密一边解密,对于在加密环境使用的员工来说看起来就如没数据加密一样使用习惯,但一旦脱离公司加密环境数据是自动加密的。

    部署文件加密软件的解决如下问题:

    ·防止单位内部机密电子信息泄露;
    ·可追查信息泄露的渠道;
    ·普遍适用于各种格式的电子文档;
    ·从根本上解决了电子文档的二次传播,有力保障企业信息安全
    ·有效管理、监控局域网内电脑,提升办公效率。


    作者: AnyView(网络警)网络监控软件   时间: 2016-2-26 17:40:15   点击:     

    相关资讯:
    [局域网网络监控软件相关产业之动态] 六大不良习惯导致数据库数据泄漏,网络管理软件支招安全网购
    [局域网监控软件相关之网络关键技术] 鉴别产品和加密产品对比,数据库安全威胁,内网安全重要性
    [局域网网络监控软件相关产业之动态] 完善数据库安全策略,移动办公网,无线局域网网络安全
    [局域网监控软件相关之网络关键技术] 嵌入式终端系统,内网安全,密钥管理办法,信息系统安全
    [局域网网络监控软件相关产业之动态] 防止商业机密泄漏,防止关键信息丢失,防止重要资料被盗,内网信息安全
    [监控软件在企业经营管理中广泛应用] 防止数据外泄方案,确保内部数据安全及数据库安全
    [网络监控软件在企业网管中应用实践] 关注六大数据库风险,确保内网数据安全和信息安全
    [局域网网络监控软件相关产业之动态] 内网数据库安全,部署数据加密软件是唯一有效方法
    [局域网网络监控软件相关产业之动态] 数据加密技术,档案信息加密,网络数据库加密,军队通信安全
    [局域网监控软件相关之网络关键技术] 数据库加密技术,内部数据库系统安全,加密关键数据
■ AnyView(网络警)网络监控软件--功能检索
  • 服务电话:0592-2651619 / 13906050680 ; 钉钉:15359220936;微信:15359220936;Skype:Amoisoft;
  • 服务邮箱: Sales@amoisoft.com;Order@amoisoft.com;Tech@amoisoft.com;
  • 支持QQ:9908430(综合),850753251(购买1),573982850(购买2),969263561(技术1),53864605(技术2),332056791(技术3)
■ 联系我们获得支持和服务 ■ 信息留言反馈