一种客户端与数据库交互时使用的密钥的获取方法和装置转让专利
申请号 : CN202111168213.1
文献号 : CN113609512B
文献日 : 2022-02-08
发明人 : 杨海峰 , 高强花
申请人 : 北京安华金和科技有限公司
摘要 :
权利要求 :
1.一种客户端与数据库交互时使用的密钥的获取方法,其特征在于,包括:第一软件截取客户端与数据库进行交互时发送的多个数据包;
所述第一软件获取所述客户端与所述数据库用于交换密钥的数据包的格式以及发送所述用于交换密钥的数据包的时机;
在解析到所述客户端向所述数据库发送用于交换密钥的第一数据包情况下,所述第一软件根据所述格式和时机模拟所述数据库与所述客户端进行第一交互;
在解析到所述数据库向所述客户端发送用于交换密钥的第二数据包的情况下,所述第一软件根据所述格式和时机模拟所述客户端与所述数据库进行第二交互;其中,使用人工智能的方式对数据包进行解析,该人工智能的机器学习模型是经过多组训练数据训练得到,所述多组训练数据中的每组训练数据均包括一个数据包和用于标识该数据包是否携带有密钥的标签,经过训练之后该机器学习模型可以使用,其中,将抓取到的数据包输入到该机器学习模型中,该机器学习模型输入一个标签,如果该标签指示该数据包携带有密钥,则将该数据包进行保存;获取该数据包的格式,并对该数据包的格式进行保存;
所述第一软件对进行所述第一交互和所述第二交互的过程中接收到的数据包进行解析,得到所述客户端和所述数据库进行交互时使用的密钥;其中,所述密钥用于对所述客户端和所述数据库之间交互的数据包中的加密数据进行解密,解密之后的数据用于审计。
2.根据权利要求1所述的方法,其特征在于,所述第一软件根据所述格式和时机模拟所述数据库与所述客户端进行第一交互包括:所述第一软件构建所述第一数据包的第一响应,其中,所述第一响应为模拟所述数据库发送的对所述第一数据包的回应。
3.根据权利要求1所述的方法,其特征在于,所述第一软件根据所述格式和时机模拟所述客户端与所述数据库进行第二交互包括:所述第一软件构建所述第二数据包的第二响应,其中,所述第二响应为模拟所述客户端发送的对所述第二数据包的回应。
4.根据权利要求1所述的方法,其特征在于,所述第一软件获取所述客户端与所述数据库用于交换密钥的数据包的格式以及发送所述用于交换密钥的数据包的时机包括:所述第一软件对所述多个数据包根据所述客户端与所述数据库之间使用的协议进行解析,得到所述客户端与所述数据库用于交换密钥的数据包的格式以及发送所述用于交换密钥的数据包的时机。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:所述第一软件使用所述密钥对所述客户端和所述数据库之间交互的数据包中的加密数据进行解密;
所述第一软件对所述解密后的数据进行审计。
6.一种客户端与数据库交互时使用的密钥的获取装置,其特征在于,包括:截取模块,用于截取客户端与数据库进行交互时发送的多个数据包;
获取模块,用于获取所述客户端与所述数据库用于交换密钥的数据包的格式以及发送所述用于交换密钥的数据包的时机;
第一模拟模块,用于在解析到所述客户端向所述数据库发送用于交换密钥的第一数据包情况下,根据所述格式和时机模拟所述数据库与所述客户端进行第一交互;其中,使用人工智能的方式对数据包进行解析,该人工智能的机器学习模型是经过多组训练数据训练得到,所述多组训练数据中的每组训练数据均包括一个数据包和用于标识该数据包是否携带有密钥的标签,经过训练之后该机器学习模型可以使用,其中,将抓取到的数据包输入到该机器学习模型中,该机器学习模型输入一个标签,如果该标签指示该数据包携带有密钥,则将该数据包进行保存;获取该数据包的格式,并对该数据包的格式进行保存;
第二模拟模块,用于在解析到所述数据库向所述客户端发送用于交换密钥的第二数据包的情况下,根据所述格式和时机模拟所述客户端与所述数据库进行第二交互;
解析模块,用于对进行所述第一交互和所述第二交互的过程中接收到的数据包进行解析,得到所述客户端和所述数据库进行交互时使用的密钥;其中,所述密钥用于对所述客户端和所述数据库之间交互的数据包中的加密数据进行解密,解密之后的数据用于审计。
7.根据权利要求6所述的装置,其特征在于,所述第一模拟模块用于:构建所述第一数据包的第一响应,其中,所述第一响应为模拟所述数据库发送的对所述第一数据包的回应。
8.根据权利要求6所述的装置,其特征在于,所述第二模拟模块用于:构建所述第二数据包的第二响应,其中,所述第二响应为模拟所述客户端发送的对所述第二数据包的回应。
9.根据权利要求6所述的装置,其特征在于,所述获取模块用于:对所述多个数据包根据所述客户端与所述数据库之间使用的协议进行解析,得到所述客户端与所述数据库用于交换密钥的数据包的格式以及发送所述用于交换密钥的数据包的时机。
10.根据权利要求6至9中任一项所述的装置,其特征在于,还包括:解密模块,用于使用所述密钥对所述客户端和所述数据库之间交互的数据包中的加密数据进行解密;
处理模块,用于对所述解密后的数据进行审计。
说明书 :
一种客户端与数据库交互时使用的密钥的获取方法和装置
技术领域
背景技术
发明内容
问题。
所述客户端与所述数据库用于交换密钥的数据包的格式以及发送所述用于交换密钥的数
据包的时机;在解析到所述客户端向所述数据库发送用于交换密钥的第一数据包情况下,
所述第一软件根据所述格式和时机模拟所述数据库与所述客户端进行第一交互;在解析到
所述数据库向所述客户端发送用于交换密钥的第二数据包的情况下,所述第一软件根据所
述格式和时机模拟所述客户端与所述数据库进行第二交互;所述第一软件对进行所述第一
交互和所述第二交互的过程中接收到的数据包进行解析,得到所述客户端和所述数据库进
行交互时使用的密钥。
所述数据库发送的对所述第一数据包的回应。
所述客户端发送的对所述第二数据包的回应。
据所述客户端与所述数据库之间使用的协议进行解析,得到所述客户端与所述数据库用于
交换密钥的数据包的格式以及发送所述用于交换密钥的数据包的时机。
块,用于获取所述客户端与所述数据库用于交换密钥的数据包的格式以及发送所述用于交
换密钥的数据包的时机;第一模拟模块,用于在解析到所述客户端向所述数据库发送用于
交换密钥的第一数据包情况下,根据所述格式和时机模拟所述数据库与所述客户端进行第
一交互;第二模拟模块,用于在解析到所述数据库向所述客户端发送用于交换密钥的第二
数据包的情况下,根据所述格式和时机模拟所述客户端与所述数据库进行第二交互;解析
模块,用于对进行所述第一交互和所述第二交互的过程中接收到的数据包进行解析,得到
所述客户端和所述数据库进行交互时使用的密钥。
及发送所述用于交换密钥的数据包的时机。
送所述用于交换密钥的数据包的时机;在解析到所述客户端向所述数据库发送用于交换密
钥的第一数据包情况下,所述第一软件根据所述格式和时机模拟所述数据库与所述客户端
进行第一交互;在解析到所述数据库向所述客户端发送用于交换密钥的第二数据包的情况
下,所述第一软件根据所述格式和时机模拟所述客户端与所述数据库进行第二交互;所述
第一软件对进行所述第一交互和所述第二交互的过程中接收到的数据包进行解析,得到所
述客户端和所述数据库进行交互时使用的密钥。通过本申请解决了现有技术中无法对客户
端和数据库之间加密数据交互进行安全处理所导致的问题,为对加密数据的进一步处理提
供可能,在某种程度上为提高数据库的安全性做出了贡献。
附图说明
具体实施方式
同于此处的顺序执行所示出或描述的步骤。
该流程包括如下步骤:
据包建立未使用密钥是的发送数据包的类型(或者称为格式)和顺序。所述第一软件在截取
所述客户端与所述数据库发送的多个数据包之后,如果根据预选保存的未使用密钥时发送
数据包的类型和顺序不同,则所述第一软件确定所述客户端和所述数据库的交互使用了密
钥。然后,所述第一软件从使用了密钥的数据包中获取用于交换密钥的数据包的格式以及
时机并进行保存。步骤S104就是从该保存下来的内容中获取到用于交换密钥的数据包的格
式以及时机的。
发送顺序和格式是否与未使用密钥的流程中的数据包的发送顺序和格式相同,如果不同,
则执行该步骤S104.
用于交换密钥的数据包的时机。
均包括一个数据包和用于标识该数据包是否携带有密钥的标签,经过训练之后该机器学习
模型就可以使用了。将抓取到的数据包输入到该机器学习模型中,该机器学习模型输入一
个标签,如果该标签指示该数据包携带有密钥,则将该数据包进行保存。获取该数据包的格
式,并对该数据包的格式进行保存。
关系确定发送携带有所述密钥的数据包的发送时机。
述时机构建的。
述时机构建的。
使用所述密钥解密成功,则确定所述密钥正确。
配置的账号与所述数据库为互信账号,其中,所述互信账号具有查去密钥的权限。然后使用
查找到的密钥进行解密。
软件将所述用户名和所述密钥的对应关系保存在密钥表中。在所述客户端再次进行连接的
情况下,所述第一软件从所述密钥表中获取此次连接使用的用户名对应的密钥,如果获取
成功,则使用所述密钥进行解密。
库的安全性做出了贡献。
技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计
算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动
态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可
擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器
(CD‑ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他
磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文
中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据
信号和载波。
可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方
框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
多个数据包;获取模块,用于获取所述客户端与所述数据库用于交换密钥的数据包的格式
以及发送所述用于交换密钥的数据包的时机;第一模拟模块,用于在解析到所述客户端向
所述数据库发送用于交换密钥的第一数据包情况下,根据所述格式和时机模拟所述数据库
与所述客户端进行第一交互;第二模拟模块,用于在解析到所述数据库向所述客户端发送
用于交换密钥的第二数据包的情况下,根据所述格式和时机模拟所述客户端与所述数据库
进行第二交互;解析模块,用于对进行所述第一交互和所述第二交互的过程中接收到的数
据包进行解析,得到所述客户端和所述数据库进行交互时使用的密钥。
建所述第二数据包的第二响应,其中,所述第二响应为模拟所述客户端发送的对所述第二
数据包的回应;
发送所述用于交换密钥的数据包的时机。可选地,该装置还可以包括:解密模块,用于使用
所述密钥对所述客户端和所述数据库之间交互的数据包中的加密数据进行解密;处理模
块,用于对所述解密后的数据进行审计。
节是秘钥,秘钥加密算法。通过正常的数据包分析出在什么时间节点进行秘钥交换,在该时
间节点进行模拟发包换秘钥。
改进等,均应包含在本申请的权利要求范围之内。