一种水印标识注入方法、水印标识提取方法及电子设备

摘要: 本发明属于api数据安全,更具体地,涉及一种水印标识注入方法、水印标识提取方法及电子设备。背景技术:1、api(应用程序编程接口)已成为现代软件系统进行服务提供...
一种水印标识注入方法、水印标识提取方法及电子设备

本发明属于api数据安全,更具体地,涉及一种水印标识注入方法、水印标识提取方法及电子设备。

背景技术:

1、api(应用程序编程接口)已成为现代软件系统进行服务提供、数据交换和ai模型交互的主要通道。从云端微服务到大语言模型平台,api承载着海量敏感数据的流动。然而,当api接口缺乏适当的认证、授权或频率限制时,恶意调用者可能大规模采集数据,并对其进行转卖、二次分发或用于训练竞争模型。一旦数据离开服务器边界,数据提供方即丧失对其分发路径的控制能力,亟需有效的溯源技术来威慑和检测数据泄露行为。

2、数字水印技术将可识别的标识信息嵌入到数据载体中,使得泄露后可通过提取水印追溯泄露源头,是实现数据溯源的关键手段。现有技术方案主要分为以下几类:

3、一是基于数据库内容修改的方案。该类方案通过修改数据库中的数值型属性的低位比特来嵌入水印。后续研究者陆续提出了可逆水印、语义驱动水印和基于遗传算法优化的改进方案。然而,该类方案均需直接修改后端数据库内容,在工程实践中面临高部署成本和业务连续性风险。

4、二是基于半结构化数据值修改的方案。现有技术通过修改json/xml数据中特定键值对的值来嵌入信息,或针对半结构化数据设计水印解码算法。但任何对数据值的修改——即便是小数点后的微小偏移——都可能引发依赖精确数值的下游业务逻辑错误,企业运营方往往不愿接受此类风险。

5、三是零水印方案。该类方案通过数据分区和特征提取构造零失真水印,或基于主键标记实现零失真盲可逆水印。这类方案不修改数据本身,但需要维护可信的第三方特征库来存储和检索水印特征。特征库一旦被破坏或不可用,水印提取即告失败,这在实际部署中引入了单点故障风险。

6、综上所述,现有技术在api数据保护场景中面临的核心矛盾在于:如何在完全不改变数据语义内容、不修改业务代码、且不依赖第三方特征库的前提下,实现可追溯的标识注入。

技术实现思路

1、针对现有技术的以上缺陷或改进需求,本发明提供了一种水印标识注入方法、水印标识提取方法及电子设备,其目的在于,在完全不改变数据语义内容、且不依赖第三方特征库的前提下,实现可追溯的标识注入。

2、为了实现上述目的,第一方面,本发明提供了一种水印标识注入方法,包括:

3、获取api服务器返回给客户端的响应数据;

4、基于预设容量阈值提取待注入水印标识的莱默码c:将待注入水印标识转换成十进制数m,并分解为;将阶乘系数序列作为莱默码c;待注入水印标识为二进制序列;系数;;l为待注入水印标识的比特长度;

5、提取响应数据中的半结构化数据对象;基于莱默码c,分别对每一个半结构化数据对象进行水印化,得到对应的水印化半结构化数据对象;将响应数据中的每一个半结构化数据对象替换为对应的水印化半结构化数据对象,并返回给客户端;

6、其中,对任意半结构化数据对象d进行水印化的方式包括:

7、对半结构化数据对象d每隔个键值对进行划分,得到一个或多个键值对组;

8、针对每一个组内键值对数量为的键值对组p:将键值对组p中的键值对按照键名的预设排序规则进行排序,得到对应的基准键值对序列;将莱默码c中的码字按照先后顺序依次作为当前目标索引,从当前序列中取出当前目标索引下的键值对,并在下一次取出键值对之前将该键值对从当前序列中删除;将取出的各键值对按照取出的先后顺序排序为对应的水印化键序;

9、将所得的水印化键序,按照对应键值对组在半结构化数据对象d中的先后顺序依次进行拼接,得到拼接键序;

10、当所有键值对组内的键值对数量均为时,将拼接键序作为半结构化数据对象d所对应的水印化半结构化数据对象;当存在键值对数量小于的键值对组时,将其拼接在拼接键序之后,作为半结构化数据对象d所对应的水印化半结构化数据对象。

11、进一步优选地,对任意半结构化数据对象d进行水印化的方式,还包括:对半结构化数据对象d每隔个键值对进行划分之前,当半结构化数据对象d中的键值对数量小于时,对半结构化数据对象d进行键值对填充,以使其内的键值对数量大于或等于。

12、进一步优选地,。

13、进一步优选地,将键值对组p中的键值对按照键名的预设排序规则进行排序包括:将键值对组p中的键值对按照键名在字典中的顺序进行排序。

14、进一步优选地,上述半结构化数据对象为json对象或xml对象;当半结构化数据对象为json对象时,半结构化数据对象中的键值对为其顶层键值对;当半结构化数据对象为xml对象时,半结构化数据对象中的键名和对应的值分别对应为同层子元素的标签名和子元素内容。

15、进一步优选地,上述获取api服务器返回给客户端的响应数据包括:采用反向代理网关拦截api服务器返回给客户端的响应数据。

16、第二方面,本发明提供了一种水印标识注入系统,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行本发明第一方面所提供的标识注入方法。

17、第三方面,本发明提供了一种水印标识提取方法,包括:

18、获取水印化半结构化数据;

19、将水印化半结构化数据每隔个键值对进行划分,得到一个或多个键值对组;

20、针对每一个组内键值对数量为的键值对组p':将键值对组p'中的键值对按照键名的预设排序规则进行排序,得到对应的基准键值对序列;将键值对组p'中的键值对按照先后顺序依次作为当前目标键值对,获取当前目标键值对在当前序列中的索引,并在下一次获取索引之前将该目标键值对从当前序列中删除;将获取到的各索引按照获取的先后顺序排序为对应的预测莱默码,并计算得到对应的预测整数;将预测整数转换为对应的二进制序列;

21、将待提取水印标识中的每一位比特值置为组内键值对数量为的所有键值对组所对应的二进制序列中该位上出现数量最多的比特值,从而提取得到水印标识;

22、其中,水印化半结构化数据通过本发明第一方面所提供的水印标识注入方法中的对半结构化数据对象进行水印化的方式处理得到;和预设排序规则均与本发明第一方面所提供的水印标识注入方法中的阈值和预设排序规则对应相同。

23、第四方面,本发明提供了一种水印标识提取系统,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行本发明第三方面所提供的标识提取方法。

24、第五方面,本发明还提供了一种电子设备,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序被处理器运行时控制所述存储介质所在设备执行本发明第一方面所提供的标识注入方法或第三方面所提供的标识提取方法。

25、第六方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序被处理器运行时控制所述存储介质所在设备执行本发明第一方面所提供的标识注入方法或第三方面所提供的标识提取方法。

26、第七方面,发明还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本发明第一方面所提供的标识注入方法或第三方面所提供的标识提取方法。

27、总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

28、1、本发明提供了一种水印标识注入方法,提取待注入水印标识的莱默码,并基于莱默码分别对api响应数据中每一个半结构化数据对象进行水印化;将api响应数据中的每一个半结构化数据对象替换为对应的水印化半结构化数据对象,并返回给客户端。本发明利用半结构化数据中键值对排列顺序的语义冗余,将标识信息编码为键值对的排列组合,实现了对api响应数据的无失真标识注入,不改变任何数据值,也不依赖第三方特征库,对数值篡改攻击和键插入攻击具有完全鲁棒性;基于此,本发明能够在完全不改变数据语义内容、且不依赖第三方特征库的前提下,实现可追溯的标识注入,适用于数据溯源与泄露追踪场景。

29、2、进一步地,在本发明所提供的水印标识注入方法中,,使得半结构化数据中键值对排列顺序被最大化利用,实现在同一半结构化数据中划分最多键值对组,注入最多水印标识。

30、3、进一步地,本发明所提供的水印标识注入方法,采用反向代理网关拦截api服务器返回给客户端的响应数据,使得服务器和客户端代码均无需任何修改,网关的热插拔特性使得系统可在不停机的情况下接入或移除标识注入功能,实现了透明的无侵入部署。