一种计算机软件加密系统

文档序号:26050983发布日期:2021-07-27 15:26阅读:75来源:国知局
一种计算机软件加密系统

本发明涉及数据加密技术领域,尤其涉及一种计算机软件加密系统。



背景技术:

在信息时代,信息可以帮助团体或个人,使他们受益,同样,信息也可以用来对他们构成威胁,造成破坏,在竞争激烈的大公司中,工业间谍经常会获取对方的情报。因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改,通过对数据加密与解密,可以很方便的对机密数据进行保护;

据有关资料报道,计算机犯罪80%来自系统内部,实现数据库文件加密以后,各用户(或用户组)的数据用自己的密钥加密,其他用户无法对其进行解密,保护了用户的秘密,因此,实行数据库文件加密对于保障数据安全十分重要,现有技术中,在对数据库文件加密方式中,通常考虑在数据库管理系统(即dbms)的内核层实现数据库文件加密,这种加解密方式完成在数据的物理存储之前,加密功能强,几乎不会影响dbms的功能,但是会加重数据库服务器的负载,为此我们提出了一种计算机软件加密系统,来解决以上问题。



技术实现要素:

本发明的目的是为了解决现有技术中存在的缺点,而提出的一种计算机软件加密系统。

为了实现上述目的,本发明采用了如下技术方案:

一种计算机软件加密系统,包括:

数据库服务器,用于对数据库文件的存储及转发;

数据库加解密引擎,负责在后台对数据库信息文件的加密和解密处理;

加密字典,用于存储用户对数据库信息文件具体的加密要求;

加密管理程序,是管理所述加密字典的实用程序,用于变更所述加密字典中的加密要求;

密钥存储程序,用于数据库信息文件的加密密钥。

优选的,所述数据库加解密引擎包括加解密处理模块、语法分析模块、数据库接口模块;

所述加解密处理模块用于对数据库信息文件的加密与解密处理;所述语法分析模块用于将数据库命令转换成易处理的树形式的语法结构;所述数据库接口模块用于将所有访问数据库的操作封装在一起,屏蔽各类数据库的特性。

优选的,所述加密管理程序包括用户注册模块、字典配置模块、加密定义修改模块、表信息检索模块、密文表配置模块、数据转换模块;

所述用户注册模块用于记录所述加密管理程序使用者的身份信息;所述字典配置模块用于提供用户创建或删除加密字典的功能;所述加密定义修改模块用于提供用户对指定数据库信息文件的加密和解密修改;所述表信息检索模块用于检索指定数据库信息文件的各种信息;所述密文表配置模块可根据用户确定的加密定义创建或删除密文表,同时将加密定义写入所述加密字典中或从所述加密字典中删除有关内容;所述数据转换模块用于完成所述加密定义修改模块中的数据转换功能。

优选的,所述密钥存储程序包括主密钥模块、二级密钥模块;

所述二级密钥模块用于对数据库信息文件的加密或解密;所述主密钥模块用于对所述二级密钥模块的密钥信息加密。

优选的,所述语法分析模块还包括有用于将所述树形式的语法结构反向生成数据库命令的功能函数。

本发明的有益效果为:本发明中,数据库文件加密系统采用在dbms外层实现数据库文件加密系统的方法,使得系统对数据库最终用户完全透明,且数据库文件加密系统完全独立于数据库应用系统,不需要改动数据库应用系统就能实现加密功能,同时,该系统采用二级密钥管理,实现了“一次一密”,具有很高的安全性,更加重要的是该系统在客户端进行数据加解密运算,不会影响数据库服务器的系统效率,数据加密和解密运算基本无延迟,进而保证软件加解密操作及数据库服务器的有效运行。

附图说明

图1为本发明的加密系统框图;

图2为本发明的数据库加解密引擎模块图;

图3为本发明的加密管理程序模块图;

图4为本发明的密钥存储程序模块图。

图中标号:1、数据库服务器;2、数据库加解密引擎;201、加解密处理模块;202、语法分析模块;203、数据库接口模块;3、加密字典;4、加密管理程序;401、用户注册模块;402、字典配置模块;403、加密定义修改模块;404、表信息检索模块;405、密文表配置模块;406、数据转换模块;5、密钥存储程序;501、主密钥模块;502、二级密钥模块。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

参照图1-4,一种计算机软件加密系统,包括:

数据库服务器1,用于对数据库文件的存储及转发;

数据库加解密引擎2,负责在后台对数据库信息文件的加密和解密处理,是加密系统的核心部件,对应用开发人员和操作人员是透明的;

加密字典3,用于存储用户对数据库信息文件具体的加密要求;

加密管理程序4,是管理加密字典3的实用程序,用于变更加密字典3中的加密要求,它利用数据库加解密引擎2来完成已有数据文件的加密或解密处理;

密钥存储程序5,用于数据库信息文件的加密密钥;

本发明中的加密系统做成dbms的一个外层工具,采用这种加密方式时,加密和解密运算可以放在客户端进行,其优点是不会加重数据库服务器1的负载并可实现网上传输加密,保证数据库服务器1的运行效率;

数据库加解密引擎2包括加解密处理模块201、语法分析模块202、数据库接口模块203;

加解密处理模块201用于对数据库信息文件的加密与解密处理,加解密处理模块201是数据库加解密引擎2的核心模块,包括数据库加解密引擎2的初始化、内部专用命令的处理、加密字典3信息的检索、加密字典3缓冲区的管理、数据库命令的加密变换、查询结果的解密处理、加密算法和解密算法实现等功能子模块,另外还包括一些公用的辅助函数;

语法分析模块202用于将数据库命令转换成易处理的树形式的语法结构,该模块由词法分析器、语法分析器、语法错误处理、语法树转换成数据库命令等子模块组成,在进行语法分析时,先对数据库命令进行词法分析,分割成各个词法单位,再输入语法分析器,得到一棵语法树;

数据库接口模块203用于将有访问数据库的操作封装在一起,屏蔽各类数据库的特性,使得加解密处理模块201不必关心实际使用的是哪种数据库,该模块包含两部分接口,一是前端数据库客户访问数据库加解密引擎2的接口函数,二是数据库加解密引擎2访问后台数据库服务器1的接口函数;

加密管理程序4包括用户注册模块401、字典配置模块402、加密定义修改模块403、表信息检索模块404、密文表配置模块405、数据转换模块406;

用户注册模块401用于记录加密管理程序4使用者的身份信息;字典配置模块402用于提供用户创建或删除加密字典3的功能;加密定义修改模块403用于提供用户对指定数据库信息文件的加密和解密修改,数据库文件加密系统为数据库用户提供了定义加密要求的手段,通过系统提供的用户界面,用户可以选择需要加密的数据库文件表,并确定该表需要加密的列数据文件;

表信息检索模块404用于检索指定数据库信息文件的各种信息,这些信息包括表名、主键定义、外键定义、索引定义、字段定义等,供其它模块使用;

密文表配置模块405可根据用户确定的加密定义创建或删除密文表,同时将加密定义写入加密字典3中或从加密字典3中删除有关内容;数据转换模块406用于完成加密定义修改模块403中的数据转换功能;

密钥存储程序5包括主密钥模块501、二级密钥模块502;

二级密钥模块502用于对数据库信息文件的加密或解密;主密钥模块501用于对二级密钥模块502的密钥信息加密,本系统采用二级密钥管理,一级密钥为主密钥,二级密钥为工作密钥,主密钥的作用是对二级密钥信息加密生成工作密钥,工作密钥用于对数据库数据的加密和解密,主密钥保护了工作密钥,工作密钥保护敏感信息;

本系统中主密钥经加密并存放于安全区域内,使用时由系统自动获取并解密,本系统也可将主密钥注入加密卡中以保证安全;

语法分析模块202还包括有用于将树形式的语法结构反向生成数据库命令的功能函数,用于将经过加密变换后的语法树转换成新的数据库命令。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1