精华内容
下载资源
问答
  • 数据库加密系统

    2020-03-18 16:58:03
    中安威士数据库透明加密系统(简称VS-EC),基于加密算法和合理的密钥管理,有选择性地加密敏感字段内容,保护数据库内敏感数据的安全。敏感数据以密文的形式存储,能保证即使在存储介质被窃取或数据文件被非法复制的...

    产品简介
    中安威士数据库透明加密系统(简称VS-EC),基于加密算法和合理的密钥管理,有选择性地加密敏感字段内容,保护数据库内敏感数据的安全。敏感数据以密文的形式存储,能保证即使在存储介质被窃取或数据文件被非法复制的情况下,敏感数据仍是安全的。并通过密码技术实现三权分立,避免DBA密码泄漏带来的批量数据泄漏风险。本加密系统具有卓越的安全性和处理能力,并能在不修改原有应用程序的情况下透明的接入系统中。

    产品功能
    敏感字段加密

    用户可以根据实际需求有选择性地对敏感字段进行加密。即使数据库文件被非法复制或者存储文件丢失,也不会导致真实敏感数据的泄漏。

    在这里插入图片描述

    密文索引

    基于国内先进的密文索引专利技术,避免了全表解密,使加密前后性能无明显差别。对LIKE操作也提供专用索引。

    在这里插入图片描述

    密钥管理

    基于主密钥、工作密钥等多级密钥方案,以及对称密钥和非对称密钥的混合密钥方案,实现密钥的管理。。

    在这里插入图片描述

    增强访问控制

    通过控制加解密的密钥权限,增设安全管理员,只有同时经过DBA和安全管理员联合授权的用户才能以明文的形式看到加密后的数据,从而降低DBA权限过高造成的泄密风险。

    在这里插入图片描述

    多因子认证

    为弥补数据库认证方式安全性较低的缺点,本系统实现了基于IP、应用程序、时间等要素的多因子认证机制。

    增强审计

    系统设置审计管理员,监视安全管理员的行为。对其添加、删除、更新、加密、解密、部署、还原、授权、模版操作、禁用LIKE、启用LIKE等操作进行审计。

    特性优势
    高安全性

    · 根据分级保护原则,对敏感信息进行字段级细粒度的加密

    · 根据防护需要灵活设置敏感数据列的加密算法和密钥强度

    · 进程内加密,最大程度的提高了系统的安全性

    · 为防止密文索引泄密,对索引进行加密,相同记录内容的索引项不同

    · 备份文件中敏感内容被加密,不会在备份环节泄漏敏感数据

    · 完善的密钥备份和策略备份机制,确保数据在任何时候可以正常恢复

    高性能

    · 支持多种字段类型的密文索引,最大限度降低对性能的影响

    · 精确查询、模糊查询、范围查询能够获得和未加密相近的性能

    高可靠性

    · 对数据库零侵入,完全基于数据库自身的机制实现透明加密和解密,实现密文索引

    · 高可靠的工控设备,支持双机热备,确保运行可靠

    · 支持公开加密算法:DES、3DES、AES、RSA等

    · 支持MD5、SHA1等摘要算法

    · 支持经国家批准的国密算法

    · 支持RAC环境

    运行特性

    · 加解密对应用程序访问过程完全透明,无需客户端做任何改动,将对其他系统影响最小化

    · 提供基于浏览器的简单、友好、便捷的操作界面

    · 支持多用户并发访问,支持数据的同步,支持事务机制

    · 支持密文索引的模糊查找

    · 支持动态归档表的自动加密

    支持的字段类型

    Oracle:CHAR、VARCHAR、VARCHAR2、NUMBER、DATE、TIMESTAMP

    MySQL:CHAR、VARCHAR、FLOAT、DOUBLE、REAL、DATE、TIME、DATETIME、TIMESTAMP、YEAR、TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、DECIMAL

    典型部署
    数据库加密系统部署简单,与被加密的目标数据库服务器路由可达即可。

    在这里插入图片描述

    客户价值
    保护核心数据资产,防止内外部攻击造成的数据泄密

    · 防止外部黑客攻击,窃取数据:外部黑客攻击,拖库、权限盗用等

    · 防止内部人员泄密,违规备份、权限滥用等

    · 防止运维人员和第三方人员违规访问敏感数据

    · 防止存储介质丢失造成的数据泄密

    展开全文
  • 本发明涉及数据库加密技术技术领域,具体的讲涉及一种基于MySQL数据库加密方法。背景技术:聚通达DBSecurity是一款基于透明加密技术的数据防泄漏产品,该产品能够实现对数据库中的敏感数据加密存储、访问控制增强、...

    本发明涉及数据库加密技术技术领域,具体的讲涉及一种基于MySQL数据库加密方法。

    背景技术:

    聚通达DBSecurity是一款基于透明加密技术的数据防泄漏产品,该产品能够实现对数据库中的敏感数据加密存储、访问控制增强、应用访问安全、密文访问审计以及三权分立等功能。

    DBSecurity突破传统列加密技术,再添数据表(表空间)透明加解密能力,并且可以兼容国际加密算法,具有极强的场景适应能力和合规性。

    通过数据加密能够有效防止明文存储引起的数据内部泄密、高权限用户的数据窃取,从根源上防止敏感数据泄漏。DBSecurity通过三层透明视图、密文索引技术和独创的应用绑定技术,突破传统数据库安全加固产品的技术瓶颈,真正实现应用完全透明、密文高效访问、数据高度安全。然而DBSecurity紧贴用户方面较差,不能做到无缝无感知。

    技术实现要素:

    因此本发明提出一种基于MySQL数据库加密方法,实现数据库数据安全的信息交换,并更加紧贴用户,基本做到无缝无感知,数据加密更严格。

    本发明的技术方案是这样实现的:一种基于MySQL数据库加密方法,包括表空间数据加密、权限控制、安全服务、透明访问和离线恢复;其中,

    表空间数据加密针对共享表空间可做表空间级加密,对表空间内的所有数据全部进行加密,增强数据安全性,针对共享表空间可做表级加密,增强安全的同时又兼具灵活性;

    权限控制,在不影响数据库本身权限的同时,安华金和数据库加密系统增强了权限控制,分别从数据库用户,客户端IP,应用系统等不同层面对权限增强,全面防止越权访问,防止数据泄露;

    安全服务,安全服务组件实现对密钥的管理,包含加密密钥生成,分配,备份,恢复,密钥不出设备,让用户自己掌握密钥,即使数据被盗也无法查看明文;

    透明访问,在实现数据安全加密的同时,另一个非常重要的特性就是应用透明,使用者和应用系统不需要关心系统进行了哪些保护;

    离线恢复,除正常的通过web控制台进行数据解密外,另提供离线数据恢复工具,防止在极端情况下数据不可恢复的情况发生,最大程度保证数据恢复到可用状态。

    进一步地,透明性主要体现在以下方面:

    SQL语句透明:对语句进行操作,应用程序不用作修改即可拥有安全特性;

    存储程序透明:对于应用透明支持的含义还包括对存储过程和函数透明的支持;

    开发接口透明:提供对应用开发接口的全面透明支持;

    管理工具透明:mysql提供的图形管理工具,及常用的第三方管理工具仍然可以正常使用。

    更进一步地,SQL语句包括SELECT、UPDATE、INSERT和DELETE中的一种或几种。

    更进一步地,开发接口包括JDBC、ODBC的一种或两种。

    更进一步地,开三方管理工具包括TOAD、navicat一种或两种。

    通过上述公开内容,本发明的有益效果为:本发明的数据库加密方法使数据被加密的位置离用户越近,安全性越高,同时实现的难度也越大,数据加密的位置离用户是逐步靠近的,防护能力也是逐步提升的;较DBSecurity更加紧贴用户,基本做到无缝无感知,数据加密更严格。

    附图说明

    图1为本发明的工作流程示意图。

    具体实施方式

    下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    实施例一

    本发明提出一种基于MySQL数据库加密方法,包括表空间数据加密、权限控制、安全服务、透明访问和离线恢复;其中,

    表空间数据加密,针对共享表空间可做表空间级加密,对表空间内的所有数据全部进行加密,增强数据安全性,针对共享表空间可做表级加密,增强安全的同时又兼具灵活性;

    权限控制,在不影响数据库本身权限的同时,安华金和数据库加密系统增强了权限控制,分别从数据库用户,客户端IP,应用系统等不同层面对权限增强,全面防止越权访问,防止数据泄露;

    安全服务,安全服务组件实现对密钥的管理,包含加密密钥生成,分配,备份,恢复,密钥不出设备,让用户自己掌握密钥,即使数据被盗也无法查看明文;

    透明访问,在实现数据安全加密的同时,另一个非常重要的特性就是应用透明,使用者和应用系统不需要关心系统进行了哪些保护;

    离线恢复,除正常的通过web控制台进行数据解密外,另提供离线数据恢复工具,防止在极端情况下数据不可恢复的情况发生,最大程度保证数据恢复到可用状态。

    透明性主要体现在以下方面:

    SQL语句透明:对SELECT语句进行操作,应用程序不用作修改即可拥有安全特性;

    存储程序透明:对于应用透明支持的含义还包括对存储过程和函数透明的支持;

    开发接口透明:提供对应用开发接口JDBC的全面透明支持;

    管理工具透明:mysql提供的图形管理工具workbench,及常用的第三方管理工具TOAD 仍然可以正常使用。

    实施例二

    本发明提出一种基于MySQL数据库加密方法,包括表空间数据加密、权限控制、安全服务、透明访问和离线恢复;其中,

    表空间数据加密针对共享表空间可做表空间级加密,对表空间内的所有数据全部进行加密,增强数据安全性,针对共享表空间可做表级加密,增强安全的同时又兼具灵活性;

    权限控制,在不影响数据库本身权限的同时,安华金和数据库加密系统增强了权限控制,分别从数据库用户,客户端IP,应用系统等不同层面对权限增强,全面防止越权访问,防止数据泄露;

    安全服务,安全服务组件实现对密钥的管理,包含加密密钥生成,分配,备份,恢复,密钥不出设备,让用户自己掌握密钥,即使数据被盗也无法查看明文;

    透明访问,在实现数据安全加密的同时,另一个非常重要的特性就是应用透明,使用者和应用系统不需要关心系统进行了哪些保护;

    离线恢复,除正常的通过web控制台进行数据解密外,另提供离线数据恢复工具,防止在极端情况下数据不可恢复的情况发生,最大程度保证数据恢复到可用状态。

    透明性主要体现在以下方面:

    SQL语句透明:对INSERT语句进行操作,应用程序不用作修改即可拥有安全特性;

    存储程序透明:对于应用透明支持的含义还包括对存储过程和函数透明的支持;

    开发接口透明:提供对应用开发接口ODBC的全面透明支持;

    管理工具透明:mysql提供的图形管理工具workbench,及常用的第三方管理工具navicat 仍然可以正常使用。

    实施例三

    本发明提出一种基于MySQL数据库加密方法,包括表空间数据加密、权限控制、安全服务、透明访问和离线恢复;其中,

    表空间数据加密针对共享表空间可做表空间级加密,对表空间内的所有数据全部进行加密,增强数据安全性,针对共享表空间可做表级加密,增强安全的同时又兼具灵活性;

    权限控制,在不影响数据库本身权限的同时,安华金和数据库加密系统增强了权限控制,分别从数据库用户,客户端IP,应用系统等不同层面对权限增强,全面防止越权访问,防止数据泄露;

    安全服务,安全服务组件实现对密钥的管理,包含加密密钥生成,分配,备份,恢复,密钥不出设备,让用户自己掌握密钥,即使数据被盗也无法查看明文;

    透明访问,在实现数据安全加密的同时,另一个非常重要的特性就是应用透明,使用者和应用系统不需要关心系统进行了哪些保护;

    离线恢复,除正常的通过web控制台进行数据解密外,另提供离线数据恢复工具,防止在极端情况下数据不可恢复的情况发生,最大程度保证数据恢复到可用状态。

    透明性主要体现在以下方面:

    SQL语句透明:对DELETE语句进行操作,应用程序不用作修改即可拥有安全特性;

    存储程序透明:对于应用透明支持的含义还包括对存储过程和函数透明的支持;

    开发接口透明:提供对应用开发接口JDBC的全面透明支持;

    管理工具透明:mysql提供的图形管理工具workbench,及常用的第三方管理工具navicat 仍然可以正常使用。

    参照图1

    本发明的工作原理:针对共享表空间可做表空间级加密,对表空间内的所有数据全部进行加密,增强数据安全性,针对共享表空间可做表级加密,增强安全的同时又兼具灵活性;在不影响数据库本身权限的同时,安华金和数据库加密系统增强了权限控制,分别从数据库用户,客户端IP,应用系统等不同层面对权限增强,全面防止越权访问,防止数据泄露;安全服务组件实现对密钥的管理,包含加密密钥生成,分配,备份,恢复,密钥不出设备,让用户自己掌握密钥,即使数据被盗也无法查看明文;在实现数据安全加密的同时,另一个非常重要的特性就是应用透明,使用者和应用系统不需要关心系统进行了哪些保护;除正常的通过web控制台进行数据解密外,另提供离线数据恢复工具,防止在极端情况下数据不可恢复的情况发生,最大程度保证数据恢复到可用状态。

    最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

    展开全文
  • 本发明属于数据库技术领域,具体涉及一种基于Android系统的Spatialite空间数据库加密方法。背景技术:随着经济建设及智能终端和移动GIS技术的不断发展,终端的CPU、GPU、内存、显示屏、摄像头、移动GPS芯片、存储等...

    本发明属于数据库技术领域,具体涉及一种基于Android系统的Spatialite空间数据库加密方法。

    背景技术:

    随着经济建设及智能终端和移动GIS技术的不断发展,终端的CPU、GPU、内存、显示屏、摄像头、移动GPS芯片、存储等硬件性能及集成化越来越高,很多开源数据库和GIS软件都支持移动端应用。Spatialite是基于SQLite开源数据库引擎扩展而成的一个简单、实用的轻量级空间数据库,遵守ACID(Atomicity-原子性、Consistency-一致性、Isolation-隔离性、Durability-持久性)关系数据库管理系统特性和OGC标准,支持跨平台空间数据操作,通过Geometry类型字段能方便有效地组织管理点、线、面等各种类型的空间数据,为移动端的属性数据、空间数据的一体化管理与应用提供了一种非常好的解决方案,Spatialite提供了AsText、GeomFromText、Intersects、Relate、Distance、Covers、Overlaps、Gunion等空间操作和分析函数,已广泛应用于地理国情调查、国土资源执法监察、林业调查等行业。

    基于GIS数据建立的各类应用系统,其数据具有敏感性、重要性,而移动终端在带来便携的同时,移动端数据具有易丢失、易受攻击等安全问题。同时,攻击者可能会利用操作系统或数据库漏洞,或物理接触移动终端和数据库系统文件,从而可能绕过身份认证和存取控制而直接窃取或篡改数据库内容。因此,移动终端应用系统的数据安全显得尤为重要和突出,对数据库及其数据进行加密是防范攻击威胁的有效手段,必须在确保数据安全和保护的条件下才能广泛开展各类应用。目前,移动终端应用系统的数据安全主要依靠数据加解密方法实现,主要有两种方式:一是对数据库里的数据内容加密;二是利用数据库是独立文件的特性对整个数据库文件进行加密。上述两种方式存在以下问题:

    (1)方式一加密后的数据不能直接进行数据查询、分析和统计,要实现数据查询、分析、统计等功能,必须先对数据内容进行解密或转换;

    (2)方式二的资源占用率高,一是在建立数据库连接时,必须对加密数据库文件先进行解密,解密数据库的过程是CPU占用率高的过程;二是解密数据库需占用数据库文件相当的存储空间,对移动端的存储容量有较高要求;三是在关闭数据库时,为保障数据安全,必须删除解密后的数据库;四是在打开数据库后、关闭数据库前的数据库应用过程中,非授权用户完全可以通过复制、窃取等非法手段获得解密后的数据库,存在非常大的安全隐患;五是资源占用率与数据库文件大小呈强正相关关系,即数据库中的数据量越大资源占用率越高、使用效果就越差。

    现阶段,尚无专门针对Spatialite空间数据库实现加密解密的API接口,现有研究主要集中在SQLite的数据库加密功能的研究和应用。

    技术实现要素:

    针对现有技术中的上述不足,本发明公开了一种接口使用简单、资源占用率低的基于Android系统的Spatialite空间数据库加密方法,解决了现有技术中的不能直接对加密后的Sqlite空间数据库进行数据查询、分析和统计等常用操作的问题,并且解决了加密后的Sqlite空间数据库使用复杂和资源占用率高的问题;广泛应用于自然资源调查、地理国情调查、国土资源执法监察和林业调查等行业。

    为了达到上述发明目的,本发明采用的技术方案为:

    一种基于Android系统的Spatialite空间数据库加密方法,包括如下步骤:

    S1:搭建NDK编译环境,即搭建安装Spatialite空间数据库所需的NDK编译环境;

    S2:下载资源及代码,即下载安装Spatialite空间数据库编译所需的资源及代码;

    S3:确定加密模型,即确定对Spatialite空间数据库进行加密的模型;

    S4:选择加密算法,即根据步骤S3确定的加密模型,选择对Spatialite空间数据库进行加密的算法;

    S5:管理密钥及密钥,即将用户输入的明文密码通过变换,用于加密操作。

    S6:实现加密,即利用Spatialite空间数据库提供的预留接口,并采用步骤S3确定的加密模型和步骤S4选择的加密算法,用标准C语言编写源代码实现数据库文件的加密;

    S7:编译及生成库文件,即在NDK编译环境下输入命令进行编译,并生成Android系统运行所需的库文件;

    S8:接口调用与应用,即在Android开发环境中,导入步骤S7得到的库文件,调用接口实现对数据库进行操作。

    本方案的有益效果为:

    本发明为了解决Spatialite空间数据库的数据安全问题,在现有开源Spatialite空间数据库基础上,扩展其接口,在不影响现有接口和功能模块前提下提供Spatialite空间数据库加密方法,能够直接进行数据查询、分析和统计,经编译生成Android系统运行所需的库文件,实现Android设备的数据库文件底层加密,解决了现有技术中的接口使用复杂、资源占用率高等问题。

    进一步地,步骤S1中搭建NDK编译环境,包括如下步骤:

    S1-1:下载并安装模拟环境工具,同时配置NDK环境变量,用于编译命令调用;

    S1-2:下载Android-NDK压缩包,解压、命名并配置系统环境变量;

    S1-3:测试NDK编译环境是否正常,若正常进入步骤S2,否则进入步骤S1-1。

    进一步地,步骤S2中资源及代码下载,包括如下步骤:

    S2-1:下载Spatialite源代码,即下载Spatialite-Android,下载完成且解压至D盘根目录;

    S2-2:下载编译Spatialite空间数据库所需资源。

    进一步地,步骤S2-2中所需数据库包括geos库、proj库、Sqlite库和libspatialite库。

    进一步地,步骤S4中,选择密码学中的AES高级加密标准的候选算法,即Rijndael加密算法。

    上述进一步方案的有益效果为:

    Rijndael加密算法加密速度快、效率高、计算量小、复杂度低和安全性好,其使用的密钥和区块长度是32位的整数倍(以128位为下限,256位为上限),比标准的AES算法支持更大范围的区块和密钥长度,既满足数据库加密需求,也保障了数据安全而很难被攻击者破坏。

    进一步地,步骤S7中编译及生成库文件,包括如下步骤:

    S7-1:配置下载文件;

    S7-2:配置编译环境变量;

    S7-3:运行步骤S1安装的环境模拟工具,输入命令进行编译,生成Android系统运行所需的库文件。

    进一步地,步骤S8中对数据库进行的操作包括数据建库、加密访问和存储数据。

    进一步地,步骤S8中接口调用与应用,包括如下步骤:

    S8-1:对未加密数据库进行加密,打开数据库,调用rekey函数设置数据库口令,关闭数据库;

    S8-2:对加密数据库进行读取和操作,打开数据库,调用key函数输入数据库口令,读取加密数据库,输入命令对数据库进行操作,关闭数据库。

    附图说明

    图1为一种基于Android系统的Spatialite空间数据库加密方法流程图;

    图2为搭建NDK编译环境方法流程图;

    图3为下载资源及代码方法流程图;

    图4为编译及生成库文件方法流程图;

    图5为接口调用与应用方法流程图。

    具体实施方式

    下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

    本发明实施例中,如图1所示,一种基于Android系统的Spatialite空间数据库加密方法,包括如下步骤:

    S1:搭建NDK编译环境,即搭建安装Spatialite空间数据库所需的NDK编译环境,由于Spatialite是C/C++的native语言编写,而Android默认开发语言是Java,在Windows上编译Spatialite必须用到NDK(Native Development Kit)环境;

    搭建NDK编译环境,如图2所示,包括如下步骤:

    S1-1:下载安装Cygwin,模拟Linux环境工具,同时配置NDK环境变量,方便ndk-build编译命令调用,;

    S1-2:下载NDK压缩包,解压并命名,存放路径不能包含空格,文件名及文件夹名不能过长;

    S1-3:测试NDK编译环境是否正常,若正常进入步骤S2,否则进入步骤S1-1;

    S2:下载资源及代码,即下载安装Spatialite空间数据库编译所需的资源及代码,Spatialite是基于完全开源的Sqlite作的空间扩展,实现Spatialite空间数据加密,须下载下列资源;

    下载资源及代码,如图3所示,包括如下步骤:

    S2-1:下载Spatialite源代码,即下载Spatialite-Android,下载完成且解压后找到spatialite-android-library并将其移至D盘根目录;

    S2-2:下载geos库、proj库、Sqlite库和libspatialite库;

    S3:确定加密模型,即确定对Spatialite空间数据库进行加密的模型,Spatialite加密模型具备数据及信息加密功能,且时间、空间的开销小,在数据物理存取之前完成加/解密;

    S4:选择加密算法,即根据步骤S3确定的加密模型,选择对Spatialite空间数据库进行加密的算法,选取了密码学中加密速度快、效率高、计算量小、复杂度低和安全性好的高级加密标准的候选算法,即Rijndael加密算法,既满足数据库加密需求,也保障了数据安全而很难被攻击者破坏;

    S5:管理密钥及密钥,即将用户输入的明文密码通过变换,用于加密操作;对用户设定的长度不固定且不能作为密钥的口令进行变换处理,即利用变换函数CodecGenerateReadKey(Codec*codec,char*userPassword,int passwordLength)对输入的口令进行变换,将其变换后的结果作为密钥来对数据库进行加密;

    S6:实现加密,利用Spatialite空间数据库提供的预留接口sqlite3_key()、sqlite3_rekey()和sqlite3CodecAttach()加密API接口,采用步骤S3确定的加密模型和步骤S4选择的加密算法,用标准C语言编写源代码实现数据库文件的加密;函数sqlite3_key()用于指定数据库所使用的口令或密钥,加密后数据库通过本函数实现数据的正常存取;函数sqlite3_rekey()用于为数据库重新设定口令或密钥,是实现数据库加密、更新密码或清除密码的函数;函数sqlite3CodecAttach()负责将密钥(如果输入的是口令则需利用步骤S5给出的方法和函数将口令转换为密钥)及页面编码函数与数据库进行关联,是数据库实现加密、解密的核心函数;

    S7:编译及生成库文件,即输入ndk-build-j8命令进行编译,并生成Android系统运行所需的so库文件;

    编译及生成库文件,如图4所示,包括如下步骤:

    S7-1:配置下载文件,找到步骤2中下载的Spatialite源代码解压后spatialite-android-library目录中的jni子目录,将步骤2下载的libspatialite库、geos库、proj库、Sqlite库全部解压至jni子目录中;将步骤S5和步骤S6编写的对应源代码复制到jni子目录下Sqlite库解压后的文件夹中;

    S7-2:配置编译环境变量,因对Sqlite进行了功能扩展实现了Spaialite数据库加密,Sqlite编译时更改默认的LOCAL_SRC_FILES参数,以及在sqlite.c文件中首位置添加#define SQLITE_HAS_CODEC配置,用于标识或开启Spaialite数据库加密功能;

    S7-3:运行步骤S1安装好的Linux环境模拟工具Cygwin,输入ndk-build-j8命令进行编译,生成Android系统运行所需的库文件,即libjsqlite.so库文件;

    S8:接口调用与应用,即在Android开发环境中,导入步骤S7得到的库文件,调用接口实现对数据库进行数据建库、加密访问和存储数据的操作;

    接口调用与应用,如图4所示,包括如下步骤:

    S8-1:对未加密数据库进行加密,打开数据库,调用rekey函数设置数据库口令,关闭数据库;

    (设置未加密数据库口令):

    //加密数据库:

    S8-2:对加密数据库进行读取和操作,打开数据库,调用key函数输入数据库口令,读取加密数据库,输入命令对数据库进行操作,关闭数据库。

    (读取加密数据库并实现数据的存取):

    //打开数据库和解密:

    本发明在开源的Spatialite框架下,整合了一种接口使用简单、资源占用率低的基于Android系统的Spatialite空间数据库加密方法,能对加密后的Sqlite空间数据库直接进行数据查询、分析和统计等常用操作,并且加密后的Sqlite空间数据库使用简单和资源占用率低,广泛应用于自然资源调查、地理国情调查、国土资源执法监察和林业调查等行业。

    展开全文
  • 本发明涉及数据加密领域,具体涉及一种数据库传输加密方法。背景技术:目前市面上常用的数据库传输加密方式是采用ssl连接的方式进行的,这需要的是前期对程序设计的时候就采用了ssl的连接方式进行,而如果程序设计...

    本发明涉及数据加密领域,具体涉及一种数据库传输加密方法。

    背景技术:

    目前市面上常用的数据库传输加密方式是采用ssl连接的方式进行的,这需要的是前期对程序设计的时候就采用了ssl的连接方式进行,而如果程序设计初期就没考虑到采用ssl加密连接方式,而采用普通的连接方式,后期修改程序的复杂度将非常大。采用ssl连接方式还需要配置秘钥,复杂度也非常的大。目前市面上解决此问题的方案大多是在中间加入物理的加密网关,需要增加一台设备,且成本较高。现有技术中针对数据库进行加密多采用加入一个物理的加密网关实现,虽然并不需要求改服务器和客户端的任何代码就能实现传输加密,但是成本较高,且需要串接到网络上,一旦网关出现问题,整个数据库连接就可能断掉。

    技术实现要素:

    本发明为了克服以上技术的不足,提供了一种不需要额外增加新的物理设备、成本低、实施简单的数据库传输加密方法。

    本发明克服其技术问题所采用的技术方案是:

    一种数据库传输加密方法,包括如下步骤:

    a).将netfilter钩子驱动加载到服务器Linux系统内核中形成服务器驱动;

    b).客户端采用API HOOK方式加载驱动形成客户端驱动;

    c).客户端驱动判断连接服务器端的流量是否为X端口,如果是X端口,客户端驱动将抓取到的数据包包体采用加密算法进行加密,如果不是X端口则直接放行;

    d).服务器驱动判断加密后的数据包是否为X端口,如果是服务器驱动将数据包的包体按照与加密算法对应的解密算法进行解密,如果不是X端口则直接放行;

    e)服务器端对需要返回客户端的数据包判断端口是否为X端口,如果是服务器驱动对数据包包体采用加密算法进行加密,如果不是X端口则直接放行;

    f)客户端对服务器返回的数据包判断是否为X端口,如果是客户端驱动按照与加密算法相对于的解密算法进行解密,如果不是X端口则直接放行。

    端口X为1024-65535范围区间的任意一端口。

    上述加密算法采用tea加密的方式进行,加密密钥为一个固定的key值。

    上述加密算法采用DES方式进行加密。

    本发明的有益效果是:本数据库传输加密方法除了满足数据在网络传输中加密的功能外,不需要更改客户的网络环境,也不需要修改客户已经实现的客户端和服务器程序,仅仅需要在客户端和服务器端加载数据加解密的驱动即可实现访问数据库的数据在网络传输中是加密的,保证了数据的安全性。

    具体实施方式

    下面对本发明做进一步说明。

    一种数据库传输加密方法,包括如下步骤:

    a).将netfilter钩子驱动加载到服务器Linux系统内核中形成服务器驱动,netfilter钩子驱动使用insmod将驱动加载到Linux系统内核中。b).客户端采用API HOOK方式加载驱动形成客户端驱动,驱动程序会将socket的send函数和recv函数进行HOOK。API HOOK技术是一种用于改变API执行结果的技术,Microsoft 自身也在Windows操作系统里面使用了这个技术,如Windows兼容模式等。c).客户端驱动判断连接服务器端的流量是否为X端口,如果是X端口,客户端驱动将抓取到的数据包包体采用加密算法进行加密,如果不是X端口则直接放行。d).服务器驱动判断加密后的数据包是否为X端口,如果是服务器驱动将数据包的包体按照与加密算法对应的解密算法进行解密,如果不是X端口则直接放行。e)服务器端对需要返回客户端的数据包判断端口是否为X端口,如果是服务器驱动对数据包包体采用加密算法进行加密,如果不是X端口则直接放行。f)客户端对服务器返回的数据包判断是否为X端口,如果是客户端驱动按照与加密算法相对于的解密算法进行解密,如果不是X端口则直接放行。其中客户端对数据包进行加解密过程中并不是所有的数据包都需要进行缓存,只有符合X端口的数据包才需要将其包头去除,将包体提取出来进行缓存,缓存的包体按照加解密算法进行加解密,同时替换原报文中的包体,将数据包accept。其中服务器对数据包进行加解密过程中并不是所有的数据包都需要进行缓存,只有符合X端口的数据包才需要将其包头去除将包体提取出来进行缓存,缓存的包体按照加解密算法进行加解密,同时替换原报文中的包体,将数据包accept。除了满足数据在网络传输中加密的功能外,不需要更改客户的网络环境,也不需要修改客户已经实现的客户端和服务器程序,仅仅需要在客户端和服务器端加载数据加解密的驱动即可实现访问数据库的数据在网络传输中是加密的,保证了数据的安全性。

    进一步的,端口X为1024-65535范围区间的任意一端口。对数据包的加解密的重点是要可逆,因此加密算法采用tea加密的方式进行,加密密钥为一个固定的key值。如果要简单的加解密方式,加密算法也可采用DES方式进行加解密。

    展开全文
  • 数据安全是数据库安全性的核心要素,基于全库、表、列、行等级别对敏感数据进行加密保护,不影响业务系统的正常访问(对应用系统“透明”),加密技术是提高数据库安全的一个重要手段。 优炫数据库采用全库加密、...
  • 相信很多数据库入门的新手们在学习数据库方面都存在困惑,本文列出了一个非常完整的数据库学习路线,并对数据库学习过程中的细节进行详细指导。希望能够成为大家学习数据库过程中一份纲领性的教程。 数据库知识要点...
  • 决定云数据库的关键因素是The collection of data is essential for today’s businesses, it is what enables them to be innovative and helps them stay agile. There is an increasing amount of data being ...
  • 上述方案被认为是数据库信息安全的最低要求,因为它只实现了两个基本要素(算法和密钥)。   此外,我们可以使用更多的方法来确保数据安全,比如salt,这样即使密钥被盗,攻击者也不能利用密钥来解密密文。   完整...
  • 数据库安全

    2017-08-18 20:24:32
    一、数据库安全简介 数据库安全包含两层含义:第一层是指系统运行安全(操作系统、网络等),系统运行安全通常受到的威胁如下,一些网络不法分子通过网络、局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让...
  • 数据库审计与风险控制系统招标参数——防统方专版技术指标指标要求(说明:带★项为必须满足)★产品品牌明御数据库审计风险控制系统数量1台★硬件规格网口类别:1管理口+1HA口+4审计口网口类型:1000M电口*2和1000M光口...
  • 什么是编码? Base64 解码原理 Base64 问题解答 什么是加密加密的诞生 对称加密 非对称加密 Hash 算法
  • sql改数据库名称

    2021-08-02 08:10:21
    SQL脚本修改数据库名称USE master;GO DECLARE@SQL VARCHAR(MAX);SET@SQL='' SELECT@SQL=SQL+';...exec sp_renamedb@dbname='旧数据库名称',@newname='新数据库名称';改为多用户模式 ALTER DATABASE 新数据库名称 SET...
  • ⚫ 安全可信版:增加环境标记、多要素访问控制、多线程加密等 ⚫ 商密版本:采用商密算法,通过国密办产品认证。 多权分立 达梦数据库默认使用三权分立,将传统的数据库管理员划分 为三个可以互相制约的角色 ⚫ ...
  • 数据库-数据库安全性

    千次阅读 多人点赞 2019-09-02 23:46:10
    这篇博客内容有些琐碎繁杂,我整理的时候有很多上课时老师没有讲的,但我自己在看的时候看了看,感觉有必要再整理一下,跟考试等无关,就是多了解下关于数据库的,所以后面的理论性东西很多,大家看的时候根据目录看...
  • 数据库安全保护

    万次阅读 多人点赞 2018-01-06 09:45:53
    什么是数据库安全保护? 防止数据意外丢失和不一致数据的产生,以及当数据库遭受破坏后迅速恢复正常。 DBMS对数据库的安全保护方功能是通过四方面实现的,即安全性控制、完整性控制、并发性控制和数据库恢复。 ...
  • 数据库系统概述

    2021-09-06 18:44:04
    DBMSDBMS的用途DBMS的功能数据库系统数据库系统的构成数据管理技术的产生和发展数据管理技术的发展过程数据库系统的特点数据模型概念模型的表示方法数据模型的组成要素关系数据模型 数据库系统概述 实验环境:SQL ...
  • 数据库基础概念 1.数据和信息 2.数据库数据库管理系统,数据库系统,数据库管理员 3.数据库系统的体系结构 4.数据模型 5.数据管理技术的产生和发展 1.数据和信息 (1)信息 –信息是客观存在的,是关于现实世界事物的...
  • 1、-精选财经经济类资料- -最新财经经济资料-感谢阅读- 1 信息安全四大要素-信息安全包括四大要素信息素养的三个层面包括(A)信息素养的三个层面包括。 A、文化素养、信息意识、信息 技能 B、信息意识、信息技能、 ...
  • 数据库

    2020-01-04 20:04:14
    DBA(数据库管理员),DBA的职责是什么 1.决定数据库中的信息内容和结构 2.决定数据库的存储结构和存储策略 3.定义数据的安全性要求和完整性约束 ...数据模型三要素 数据结构,数据操作,数据约...
  • MySQL数据库审计系统

    2018-08-15 11:20:47
    数据库审计 数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对...数据库审计是数据库安全技术之一,数据库安全技术主要包括:数据库漏扫、数据库加密、数...
  • 第4章 数据库安全性

    2021-03-04 16:05:22
    第4章 数据库安全性 本文全部内容来自数据库系统概论(第5版)—王珊、萨师煊著 4.1 数据库安全性概述 数据库安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。 4.1.1 数据库的不安全...数据加密
  • 4.1数据库安全性概述 数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。 数据库的不安全因素: 非授权用户对数据库的恶意存取和破坏 数据库中重要或敏感的数据被泄露 安全环境的脆弱...
  • 数据库原理-安全性

    2021-08-27 11:15:06
    1安全性 问题的提出 -数据库的一大特点是...-数据库的安全性是指保护数据库,防止因用户非法使用数据库造成 数据泄露、更改或破坏。 什么是数据保密 -数据保密是指用户合法地访问到机密数据后能否对这些数据保密。 -
  • 虽然写这个博客主要目的是为了给我自己做一个思路记忆录,但是...4.1数据库安全性概述 4.1.1数据库的不安全因素 4.1.2安全标准简介 4.2数据库安全性控制 4.2.1用户身份鉴别 4.2.2存取控制 4.2.3自主存取控制...
  • 数据库面试

    千次阅读 多人点赞 2019-02-13 09:03:42
    一、数据库问答题 1. SQL语言包括哪些类型? 数据定义DDL:Create Table,Alter Table,Drop Table, Create/Drop Index等 数据操纵DML:Select ,insert,update,delete, 数据控制DCL:grant,revoke 2. 内联接,外联接...
  • 10月22日,2021 OcanBase 原生分布式数据库论坛开幕,来自政府、学界、数据库、开源社区、互联网等行业的共计十余位嘉宾以及700+听众参与到本次交流活动当中。 当天共举行了6场演讲和1场圆桌论坛,国家工业...
  • 这里写目录标题一、绪论1.1数据库的四个基本概念1.2关系模型1.3数据库系统的三级模式结构二、关系数据库2.1关系数据结构形式化定义2.2关系2.3关系模式2.4关系代数三、关系数据库标准语言SQL3.1开始:新建一个表3.2:...
  • 常见数据库简答题

    千次阅读 多人点赞 2021-04-05 20:35:51
    数据库简答题 第一章 1.简述数据、数据库数据库管理系统、数据库系统的概念(期末题库、课后题、大纲要求、试题三) 数据:描述事物的符号记录 数据库:(什么是数据库?答下面所有) 长期存储在计算机内、有组织...
  • 数据库系统原理 全

    千次阅读 2020-05-14 17:48:05
    一、数据库系统概述 1、基本术语数据是数据库中存储的基本对象。 数据的定义:描述事物的符号记录称为数据。 数据是信息的数字化表示,而信息是数据的内涵。 数据的种类:文字、数字、图形、图像、声音、视频等。 ...
  • 本人在备战数据库系统工程师的考试,把刷历年真题碰到的知识点记录在这边。(目录是第三版教程)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,211
精华内容 4,484
关键字:

数据库加密要素