本公开实施例涉及一种数据库插件的检验方法、装置、设备及介质,其中该方法包括:对数据库插件执行第一安全检验之后进行加密,并存储密钥;基于密钥对待加载的目标数据库插件执行第二安全检验之后,加载到数据库中。采用上述技术方案,通过对数据库插件进行前置安全检验和加载时的安全检验的两次检验,保证了加载到数据库中的数据库插件的安全性,进而提高了数据库的安全。
【技术实现步骤摘要】
一种数据库插件的检验方法、装置、设备及介质
本公开涉及数据库
,尤其涉及一种数据库插件的检验方法、装置、设备及介质。
技术介绍
随着计算机技术的飞速发展,数据库的应用也越来越广泛,一些数据库提供插件(Plugin)的方式来扩展数据库的功能,方便用户使用。数据库系统可提供系统插件,用户也可以实现自定义插件,也可以使用自定义插件替换已有系统插件,所以数据库在加载插件前,应当进行检验,保证插件的安全性。目前,通常是通过数据库版本、功能的宏定义或者特定的幻数(MagicNumber)来检验数据库中加载的插件是否正确。但是上述检验方式比较简单,无法检测出插件被篡改或替换,安全性较低。
技术实现思路
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据库插件的检验方法、装置、设备及介质。本公开实施例提供了一种数据库插件的检验方法,所述方法包括:对数据库插件执行第一安全检验之后进行加密,并存储密钥;基于所述密钥对待加载的目标数据库插件执行第二安全检验之后,加载到数据库中。本公开实施例还提供了一种数据库插件的检验装置,所述装置包括:第一检验模块,用于对数据库插件执行第一安全检验之后进行加密,并存储密钥;第二检验模块,用于基于所述密钥对待加载的目标数据库插件执行第二安全检验之后,加载到数据库中。本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的数据库插件的检验方法。本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的数据库插件的检验方法。本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例提供的数据库插件的检验方案,对数据库插件执行第一安全检验之后进行加密,并存储密钥;基于密钥对待加载的目标数据库插件执行第二安全检验之后,加载到数据库中。采用上述技术方案,通过对数据库插件进行前置安全检验和加载时的安全检验的两次检验,保证了加载到数据库中的数据库插件的安全性,进而提高了数据库的安全。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本公开实施例提供的一种数据库插件的检验方法的流程示意图;图2为本公开实施例提供的另一种数据库插件的检验方法的流程示意图;图3为本公开实施例提供的一种数据库插件的检验装置的结构示意图;图4为本公开实施例提供的一种电子设备的结构示意图。具体实施方式为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。图1为本公开实施例提供的一种数据库插件的检验方法的流程示意图,该方法可以由数据库插件的检验装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图1所示,该方法包括:步骤101、对数据库插件执行第一安全检验之后进行加密,并存储密钥。其中,数据库插件加载到数据库中可以用于扩展数据库的功能,不同的数据库插件通常具有不同的功能,数据库插件的数量可以为多个,具体不限。本公开实施例对具体的数据库和数据库插件不作限定,例如数据库可以为Mysql、PostgreSQL和KingbaseES等。第一安全检验是指在数据库插件加载到数据库之前的前置安全检验,第一安全检验可以包括白盒检验和/或黑盒检验,其中,白盒检验用于对数据库插件的源码进行检验,黑盒检验用于对数据库库插件整体进行检验。本公开实施例中,对数据库插件执行第一安全检验之后进行加密,并存储密钥,可以包括:对数据库插件执行白盒检验和/或黑盒检验,得到第一检验结果;如果第一检验结果为检验通过,则对数据库插件进行加密,并存储密钥。当可以获取到数据库插件的源码时,则可以执行白盒检验,或者白盒检验加黑盒检验;当不可以获取到数据库插件的源码时,则仅可以执行黑盒检验。当第一检验结果为检验通过时,则对数据库插件进行加密并保存该密钥至数据库中,以备后用;当第一检验结果为检验不通过时,则发送检验未通过的通知给用户。白盒检验可以包括对数据库插件的源码进行的安全检查、漏洞检查和性能测试等,安全检查是指检查数据库插件的源码是否植入木马、病毒等恶意代码,漏洞检查是指检查数据库插件的源码是否植入内存溢出、结构化查询语言(StructuredQueryLanguage,SQL)注入等恶意代码,性能测试是指对数据库插件试加载后进行的执行性能的测试,例如可以为TPCC(TransactionProcessingPerformanceCouncil)测试,通过具体的指标来确定数据库插件的性能。黑盒检验为只能获得编译后的库文件时进行的检验,具体可以包括对数据库插件的全部功能测试、输入参数边界值测试、安全检查和性能测试等。全部功能测试是指对数据库插件的所有功能进行全覆盖测试,并验证期望结果,例如对于功能为密码复杂度检查的数据插件,可以测试是否能检测出密码的复杂度不符合预设要求。输入参数边界值测试是指对数据库插件的所有输入参数边界值进行全覆盖测试,并验证期望结果,例如可以测试数据库插件是否能检测出输入的字符长度不满足预设要求。安全检查可以为使用病毒检查、内存检查、SQL注入等检查工具,对数据库插件进行的安全检查。性能测试与上述白盒检验中的性能测试方式相同。本公开实施例中,对数据库插件进行加密,并存储密钥,可以包括:采用预设加密算法确定数据库插件的摘要并进行签名,得到第一签名;将数据库插件的插件信息和对应的第一签名关联存储。可选的,预设加密算法包括国密算法。本公开实施例中对预设加密算法采用的具体算法不作限定,国密算法仅是一种示例,其他加密算法也可适用。其中,国密算法为国家标准的算法,国密算法可以包括SM2、SM3和SM4等,国密算法SM2为签名算法,国密算法SM3为摘要算法,国密算法SM4为分组对称加密算法。本公开实施例中,当预设加密算法是国密算法时,对数据库插件可以采用国密SM3算法计算摘要,之后采用国密SM2算法,对计算得到的摘要进行签名,得到第一签名;之后将数据库插件的插件信息和对应的第一签名关联存储至数据库中,以备后用。数据库插件的插件信息可以为插件名或插件标识等,具本文档来自技高网...
【技术保护点】
1.一种数据库插件的检验方法,其特征在于,包括:/n对数据库插件执行第一安全检验之后进行加密,并存储密钥;/n基于所述密钥对待加载的目标数据库插件执行第二安全检验之后,加载到数据库中。/n
【技术特征摘要】
1.一种数据库插件的检验方法,其特征在于,包括:
对数据库插件执行第一安全检验之后进行加密,并存储密钥;
基于所述密钥对待加载的目标数据库插件执行第二安全检验之后,加载到数据库中。
2.根据权利要求1所述的方法,其特征在于,所述第一安全检验包括白盒检验和/或黑盒检验,其中,所述白盒检验用于对数据库插件的源码进行检验,所述黑盒检验用于对数据库库插件整体进行检验。
3.根据权利要求2所述的方法,其特征在于,所述对数据库插件执行第一安全检验之后进行加密,并存储密钥,包括:
对数据库插件执行所述白盒检验和/或所述黑盒检验,得到第一检验结果;
如果所述第一检验结果为检验通过,则对所述数据库插件进行加密,并存储密钥。
4.根据权利要求3所述的方法,其特征在于,所述对所述数据库插件进行加密,并存储密钥,包括:
采用预设加密算法确定所述数据库插件的摘要并进行签名,得到第一签名;
将所述数据库插件的插件信息和对应的第一签名关联存储。
5.根据权利要求4所述的方法,其特征在于,所述预设加密算法包括国密算法。
6.根据权利要求4所述的方法,其特征在于,所述基于所述密钥对待加载的目标数据库插件执行第二安全检验之后,加载到数据库中包括:
采...
【专利技术属性】
技术研发人员:车晓瑶,王建华,
申请(专利权)人:北京人大金仓信息技术股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。