一种基于自主可控数据库的安全加密方法及系统的制作方法
【技术领域】
[0001]本发明涉及信息安全领域,尤其涉及一种自主可控数据库安全加密技术。
【背景技术】
[0002]随着信息技术的在广泛的运用,越来越多的信息系统的数据在不断的被泄密。主要原因之一是通过各种手段对数据库的攻击导致数据的泄密。
[0003]因此如何以技术手段保障数据库的安全是一个亟待解决的问题。同时数据库的加密可以增加攻击者的破解成本,如果破解不了加密数据,非法获取的数据库的数据是无用数据。因此对数据库的数据进行加密是非常有必要的。
【发明内容】
[0004]本发明要解决的技术问题是,针对现有数据泄密,提供一种在数据库服务器上面的数据库的安全加密技术,解决数据库的数据的泄密问题。本发明采用的AES 256位加密技术对数据库服务器端的数据库管理系统(DBMS)的内核进行的数据透明加密,并使用RSA非对称的加密算法对AES的加解密的密钥进行加解密。
[0005]本法发明通过在数据管理系统中植入加密的模块(加密保险箱)来实现数据库的内核加密。该加密保险箱的基本功能如下:
[0006]功能1:身份认证和访问控制功能,用户只有通过身份认证才能访问加密保险箱,对数据进行加密,非法用户是不能访问加密保险箱对数据进行访问;
[0007]功能2:创建加密表空间功能,对通过身份认证的用户可以创建信任的安全路径和文件夹,建立加密表空间,创建的时候强制选择加密选项,系统默认了 AES256的加密算法进行加密,把即将加密的文件放在统一的路径,对创建的空间采用访问控制,没有通过身份认证的用户,即使是操作系统的最高权限的管理员和数据库的最高管理员都无法访问该加密空间的数据,他们不能使用编辑器和SQL语句进行查看数据,必选是通过认证的合法用户;
[0008]功能3:存储和加密AES的加密密钥,加密保险里面存储了通过AES算法对数据进行加解密的密钥,可以根据用户的密码属性,并使用RAS算法对AES加解密的密钥进行加解密;
[0009]功能4:动态数据屏蔽,可以根据用户的密码属性,根据在数据库的表的列对数据库的敏感的列的级别数据进行转换屏蔽,这个只是做简单的置换,防止数据被合法用户访问时泄密。
[0010]进一步地,该加密保险箱具有支持文件加密功能,用户可以自主选择需要加密的文件,对文件进行加密;
[0011]进一步地,该加密保险箱支持属性密码,可以根据用户的需要设置密码的属性,符合属性的用户可以访问数据库的相关的表,不符合属性的用户不能访问相关的数据库的相关表,从而实现数据库的表级别的安全。
[0012]作为本发明的进一步改进,功能I的身份认证支持两类认证方式:
[0013]a.支持动态口令牌的双因子认证子模块,
[0014]b.支持用户自主设置账户密码但设置强口令的安全策略的子模块;
[0015]作为本发明的进一步改进,功能I中的身份认证的加密算法是RSA算法。
【附图说明】
[0016]附图为加密保险箱的整体示意图。
【具体实施方式】
[0017]以下结合附图及实施例,对本发明进行进一步详细说明。应当理解为,此处所描述的实例仅用以解释本发明,并不用于限定本发明。
[0018]现有的加密技术是基于公司自主研发的面向企业级应用的分析型数据库管理软件(POWER-DB),该软件是以先进的开源数据库PostgreSQL为核心进行二次开发和封装而成,集成易学、易用、好用的管理界面和辅助工具,满足电力行业对数据库软件产品要求的稳定性、安全性和简敏性。在保证管理软件的安全性、高可用性和扩展性的同时,开发团队尽量降低软件的整体成本,增强软件的易用性。该数据库管理软件根据处理流程以及功能划分,将管理系统划分为连接管理系统、编译执行系统、存储管理系统、事务管理系统、系统表五大部分组成。本法发明通过在POWER-DB DBMS中植入加密的模块(加密保险箱)来实现数据库的内核加密。此发明加密功能强,不影响数据库管理系统(DBMS)正常使用,实现机密技术和数据库管理系统完美无缝的结合。
[0019]采用用的是C语言编写的代码,方式流程如下:
[0020]1.先进行身份认证登录
[0021]对用户的身份进行认证,支持两类认证方式:一:支持动态口令牌的双因子认证子模块,二:支持用户自主设置账户密码但设置强口令的安全策略的子模块。只有通过用户认证的用户才能访问加密保险箱,操作系统和数据库管理员账户不能访问数据库里面的数据。
[0022]2.设置属性密码
[0023]对登录的用户设置属性密码的规则,只有符合该属性的用户才能访问相关文件。
[0024]3.创建加密表空间
[0025]对通过身份认证的用户可以创建信任的安全路径和文件夹,建立加密表空间,创建的时候强制选择加密选项,系统默认了 AES256的加密算法进行加密,把即将加密的文件放在统一的路径,对创建的空间采用访问控制;设置该文件的属性密码,例如:根据部门来设置属性密码,登录用户根据部门来访问不同的文件。
[0026]4.动态数据屏蔽
[0027]设置属性密码,可以根据在数据库的表的原始数据的列级别数据进行转换屏蔽,这个只是做简单的置换,防止数据被合法用户访问时泄密明文数据。
[0028]5.加密屏蔽数据
[0029]把经过屏蔽的数据文件填加密保险里面,通过AES算法对数据进行加密,
[0030]6.存储加密AES的密钥[0031 ] 存储通过AES算法对数据进行加解密的密钥,并使用RAS算法对AES加解密的密钥进行加密,并设置该AES密钥加密文件的属性密码。
[0032]7.RAS算法解密AES的密钥
[0033]先判断用户的密码的属性,符合属性密码的用户对该AES密钥的加密文件进行RAS解密,获得AES的解密密钥。
[0034]8.AES解密数据
[0035]使用获得AES密钥,对加密的数据进行AES解密。
[0036]9.解屏蔽数据返回给用户
[0037]先判断属性密码,如果是满足的该密码的属性的用户可以对通过AES解密的屏蔽的数据进行解屏蔽之后,返回给用户。
[0038]对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思及精神的前提下,通过若干简单推演或替换,都应视为属于本发明的保护范围。
【主权项】
1.一种基于自主可控数据库的安全加密系统,其特征在于: 在数据管理系统中植入加密保险箱进行加密,该加密保险箱有以下功能: 功能1:身份认证和访问控制功能,用户只有通过身份认证才能访问加密保险箱,对数据进行加密,非法用户是不能访问加密保险箱对数据进行访问; 功能2:创建加密表空间功能,对通过身份认证的用户可以创建信任的安全路径和文件夹,建立加密表空间,创建的时候强制选择加密选项,系统默认了 AES256的加密算法进行加密,把即将加密的文件放在统一的路径,对创建的空间采用访问控制,没有通过身份认证的用户,即使是操作系统的最高权限的管理员和数据库的最高管理员都无法访问该加密空间的数据,他们不能使用编辑器和SQL语句进行查看数据,必选是通过认证的合法用户; 功能3:存储和加密AES的加密密钥,加密保险里面存储了通过AES算法对数据进行加解密的密钥,可以根据用户的密码属性,并使用RAS算法对AES加解密的密钥进行加解密; 功能4:动态数据屏蔽,可以根据用户的密码属性,根据在数据库的表的列对数据库的敏感的列的级别数据进行转换屏蔽,这个只是做简单的置换,防止数据被合法用户访问时泄密。2.根据权利要求1所述的一种基于自主可控数据库的安全加密系统,其特征在于:该加密保险箱具有支持文件加密功能,用户可以自主选择需要加密的文件,对文件进行加密。3.根据权利要求1所述的一种基于自主可控数据库的安全加密系统,其特征在于:该加密保险箱支持属性密码,可以根据用户的需要设置密码的属性,符合属性的用户可以访问数据库的相关的表,不符合属性的用户不能访问相关的数据库的相关表,从而实现数据库的表级别的安全。4.根据权利要求1所述的一种基于自主可控数据库的安全加密系统,其特征在于:功能I的身份认证支持两类认证方式:a.支持动态口令牌的双因子认证子模块;b.支持用户自主设置账户密码但设置强口令的安全策略的子模块。5.根据权利要求4所述的一种基于自主可控数据库的安全加密系统,其特征在于:功能I中的身份认证的加密算法是RSA算法。6.—种基于自主可控数据库的安全加密方法,其特征在于: 该方法依次包含以下步骤:步骤1.先进行身份认证登录;步骤2.设置属性密码;步骤.3.创建加密表空间;步骤4.动态数据屏蔽;步骤5.加密屏蔽数据;步骤6.存储加密AES的密钥;步骤7.RAS算法解密AES的密钥;步骤8.AES解密数据;步骤9.解屏蔽数据返回给用户。
【专利摘要】本发明提供一种基于自主可控数据库的安全加密方法及系统,本发明主要是在数据管理系统中植入加密保险箱来实现数据库的内核加密。采用透明的属性密码加解密技术,原始数据的敏感关键词采用屏蔽技术,数据部分采用AES算法进行对称式加解密,AES的密钥采用RAS加密算法对密钥进行非对称式的加解密。这种加密方法功能强,不影响数据库管理系统(DBMS)正常使用,实现机密技术和数据库管理系统完美无缝的结合。
【IPC分类】G06F21/62
【公开号】CN105160272
【申请号】CN201510540658
【发明人】缪燕, 王艳, 邢艳, 李海, 吕志来, 张学深
【申请人】国家电网公司, 北京许继电气有限公司
【公开日】2015年12月16日
【申请日】2015年8月28日