CN115270191B - 基于api接口的动态信息防护方法和装置 - Google Patents

基于api接口的动态信息防护方法和装置 Download PDF

Info

Publication number
CN115270191B
CN115270191B CN202211169589.9A CN202211169589A CN115270191B CN 115270191 B CN115270191 B CN 115270191B CN 202211169589 A CN202211169589 A CN 202211169589A CN 115270191 B CN115270191 B CN 115270191B
Authority
CN
China
Prior art keywords
api
data
watermark
api request
user side
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211169589.9A
Other languages
English (en)
Other versions
CN115270191A (zh
Inventor
张黎
刘维炜
刘可
李蓓蓓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Flash It Co ltd
Original Assignee
Flash It Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Flash It Co ltd filed Critical Flash It Co ltd
Priority to CN202211169589.9A priority Critical patent/CN115270191B/zh
Publication of CN115270191A publication Critical patent/CN115270191A/zh
Application granted granted Critical
Publication of CN115270191B publication Critical patent/CN115270191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明提供一种基于API接口的动态信息防护方法和装置,其中方法包括:拦截各个用户端发出的API请求,并获取其中包含的用户端的标识信息以及请求访问的API类型;若请求访问的API包含敏感数据,则向服务端转发API请求并接收服务端返回的返回数据,基于当前代理端接收的API请求数量,确定API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定API请求的水印添加策略为代理端添加策略;若水印添加策略为代理端添加策略,则对API请求对应的返回数据进行水印添加操作,得到带水印数据,并将带水印数据返回给相应用户端。本发明在提升水印添加有效性的同时提升了网络访问的实时性。

Description

基于API接口的动态信息防护方法和装置
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于API接口的动态信息防护方法和装置。
背景技术
信息安全被认为是与数据通信领域各种基础设施最密切相关的问题之一,而网络服务器在对外提供API(Application Programming Interface,应用程序编程接口)服务时会涉及较多敏感数据的传递,因此需要重点考虑在对外提供网络服务时针对敏感数据的信息防护问题。其中,水印技术作为一种可以通过数据嵌入方式将特定的信息嵌入数字信号(音频、图片或视频等各类形式的数据)中的安全防护技术,具备较强的威慑和追溯功能,可以在用户通过拍照、录像等行为窃取传播敏感信息时进行有效溯源,并实现数据的版权保护。
目前,为了提升水印技术的防护能力,通常由提供网络服务的服务端在数据库中存储多张水印对应的数据表,在不改变各数据表间数据参照关系的前提下,利用水印对应的数据表对其余数据表的主外键进行变更,然后在生成的主外键上施加一定的隐含规则实现水印嵌入,同时保留数据的原始状态。待用户端发出数据请求时,服务端即可从数据库中读取用户请求访问的数据,并利用主外键上施加的隐含规则对该数据添加相应水印后再返回给用户。然而,上述水印添加方式需要维护多张水印相关的表,维护成本较高,且上述利用数据库水印技术算法复杂,因此实时性较差,较难满足网络服务高实时性的需求。
发明内容
本发明提供一种基于API接口的动态信息防护方法和装置,用以解决现有技术中维护麻烦且实时性较差的缺陷。
本发明提供一种基于API接口的动态信息防护方法,包括:
拦截各个用户端发出的API请求,并获取所述API请求中包含的所述用户端的标识信息以及所述API请求访问的API类型;
若所述API请求访问的API类型为包含敏感数据的API,则向服务端转发所述API请求并接收所述服务端返回的所述API请求对应的返回数据,基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定所述API请求的水印添加策略为代理端添加策略;
若所述API请求的水印添加策略为代理端添加策略,则对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,并将所述带水印数据返回给相应用户端。
根据本发明提供的一种基于API接口的动态信息防护方法,所述对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,具体包括:
若所述API请求对应的返回数据为页面数据或文件数据,则基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据;
否则,基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加数字水印,得到带水印数据。
根据本发明提供的一种基于API接口的动态信息防护方法,若所述API请求对应的返回数据为页面数据,所述基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据,具体包括:
若所述API请求对应的返回数据为无交互页面,则将所述无交互页面转换为页面图片,并基于所述API请求中包含的所述用户端的标识信息生成水印图片;
将所述水印图片复制多份后按照预设透明度和预设添加位置与所述页面图片叠加,得到所述带水印数据。
根据本发明提供的一种基于API接口的动态信息防护方法,若所述API请求对应的返回数据为页面数据,所述基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据,具体包括:
若所述API请求对应的返回数据为有交互页面,获取所述有交互页面中的各个敏感数据,并将所述有交互页面中的各个敏感数据分别转换为敏感数据图片;
基于所述API请求中包含的所述用户端的标识信息生成水印图片,分别将所述各个敏感数据的敏感数据图片与所述水印图片叠加,得到所述各个敏感数据的水印融合图片;
将所述有交互页面中各个敏感数据的页面标签调整为img标签后,将所述有交互页面中的各个敏感数据替换为各个敏感数据的水印融合图片的图片地址,得到所述带水印数据。
根据本发明提供的一种基于API接口的动态信息防护方法,若所述API请求对应的返回数据为页面数据,所述基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略,之后还包括:
若所述API请求的水印添加策略为前端添加策略,则基于所述API请求中包含的所述用户端的标识信息生成水印图片,并将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,以供相应用户端的浏览器在渲染页面时基于所述水印图片对所述API请求对应的返回数据进行水印添加操作;
其中,若当前代理端接收的API请求数量大于预设阈值,则确定所述API请求的水印添加策略为前端添加策略。
根据本发明提供的一种基于API接口的动态信息防护方法,所述将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,具体包括:
对所述API请求对应的返回数据中的敏感数据按照预设编码规则进行编码,得到编码数据,并将所述编码数据连同所述水印图片一同返回至相应用户端,以供相应用户端的浏览器基于所述预设编码规则对应的预设解码规则对所述编码数据进行解码,得到解码数据,并在渲染页面时基于所述水印图片对所述解码数据进行水印添加操作。
根据本发明提供的一种基于API接口的动态信息防护方法,所述接收所述服务端返回的所述API请求对应的返回数据,之后还包括:
对所述API请求对应的返回数据中的秘密数据进行脱敏操作,将所述API请求对应的返回数据中的秘密数据遮蔽。
本发明还提供一种基于API接口的动态信息防护装置,包括:
请求拦截单元,用于拦截各个用户端发出的API请求,并获取所述API请求中包含的所述用户端的标识信息以及所述API请求访问的API类型;
数据获取单元,用于若所述API请求访问的API类型为包含敏感数据的API,则向服务端转发所述API请求并接收所述服务端返回的所述API请求对应的返回数据,基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定所述API请求的水印添加策略为代理端添加策略;
水印添加单元,用于若所述API请求的水印添加策略为代理端添加策略,则对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,并将所述带水印数据返回给相应用户端。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于API接口的动态信息防护方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于API接口的动态信息防护方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于API接口的动态信息防护方法。
本发明提供的基于API接口的动态信息防护方法和装置,代理端作为用户端和服务端之间的处理中介,经由代理端负责API请求及其返回数据的转发,一方面可以降低服务端的处理压力、避免数据库水印带来的维护成本和实时性下降的风险,更重要的是可以在代理端事先对接收的所有API请求进行分类,仅对访问的API类型为包含敏感数据的API的API请求实时进行水印添加操作,有效提升了水印添加和网络访问的实时性;此外,通过代理端拦截处理用户端发出的API请求,可以在代理端根据自身处理能力确定相应的水印添加策略,在保证敏感信息均以添加水印的形式展现给用户的基础上提升网络请求处理的实时性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于API接口的动态信息防护方法的流程示意图之一;
图2是本发明提供的基于API接口的动态信息防护方法的流程示意图之二;
图3是本发明提供的基于API接口的动态信息防护装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的基于API接口的动态信息防护方法的流程示意图,如图1所示,该方法包括:
步骤110,拦截各个用户端发出的API请求,并获取所述API请求中包含的所述用户端的标识信息以及所述API请求访问的API类型;
步骤120,若所述API请求访问的API类型为包含敏感数据的API,则向服务端转发所述API请求并接收所述服务端返回的所述API请求对应的返回数据,基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定所述API请求的水印添加策略为代理端添加策略;
步骤130,若所述API请求的水印添加策略为代理端添加策略,则对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,并将所述带水印数据返回给相应用户端。
具体地,为了降低提供网络服务的服务端的负载同时避免过多操作数据库导致实时性下降,本发明实施例在服务端的网关处设置了代理端,用于反向代理用户端向服务端发送的请求,而信息防护操作也将在代理端进行。其中,为了提升用户网络请求的实时性,代理端可以拦截各个用户端发出的API请求,并对API请求进行解析。解析API请求时,一方面可以从API请求中获取用户端请求访问的API类型,明确该用户端的API请求的访问对象,从而确定相应的信息防护策略;另一方面,还可以从API请求中解析出发出该API请求的用户端的标识信息,以确定该API请求的来源。
此处,若API请求访问的API类型指示其待访问的API中包含敏感数据(例如个人隐私信息、企业内部信息等),则需要对该API请求进行水印添加处理,以防护该敏感信息不至于轻易被窃取泄露并在信息泄露后及时溯源。相应地,若API请求访问的API类型指示其待访问的API中不包含敏感数据,则无需对该API请求进行水印添加处理,以节约代理端的计算资源、提升用户端网络访问的实时性。
其中,对于请求访问包含敏感数据的API的API请求,代理端会将该API请求转发给提供该包含敏感数据的API的服务端,由服务端对该API请求进行响应,并接收服务端返回的该API请求对应的返回数据。此时,服务端返回的返回数据中包含有敏感数据,因此需要对其进行水印添加操作。此处,考虑到目前针对各个服务端的所有API请求均经由代理端进行转发,因此网络访问实时性的性能瓶颈在代理端处,因此,为了满足用户端网络访问的实时性,代理端可以统计当前接收的API请求数量,以判断当前的请求处理负载。若当前代理端接收的API请求数量小于等于预设阈值,表明此时API请求密集程度较低、代理端负载较轻,因此可以确定当前接收的API请求的水印添加策略为代理端添加策略,即水印添加操作在代理端完成。
具体而言,当API请求的水印添加策略为代理端添加策略时,可以由代理端对API请求对应的返回数据进行水印添加操作,得到该API请求对应的带水印数据,再将该带水印数据返回给相应的用户端。其中,进行水印添加操作时添加的水印信息与相应用户端的标识信息相对应,以供后期进行溯源操作。
如若当前代理端接收的API请求数量大于预设阈值,表明此时API请求密集程度较高、代理端负载较重,此时为了提升网络访问的实时性,可以考虑将部分API请求的水印添加操作转移到用户端,以降低代理端的负载、提升代理端对于API请求的处理效率和针对剩余API请求的水印添加效率。其中,对于访问数据为页面数据(即网页数据)的API请求,可以将其水印添加操作转移到用户端,由用户端的浏览器在前端进行水印添加操作,同样可以保证用户所见的敏感数据均为添加水印后的数据。可见,本发明实施例通过代理端拦截处理用户端发出的API请求,可以在代理端根据自身处理能力确定相应的水印添加策略,在保证敏感信息均以添加水印的形式展现给用户的基础上提升网络请求处理的实时性。
本发明实施例提供的方法,代理端作为用户端和服务端之间的处理中介,经由代理端负责API请求及其返回数据的转发,一方面可以降低服务端的处理压力、避免数据库水印带来的维护成本和实时性下降的风险,更重要的是可以在代理端事先对接收的所有API请求进行分类,仅对访问的API类型为包含敏感数据的API的API请求实时进行水印添加操作,有效提升了水印添加和网络访问的实时性;此外,通过代理端拦截处理用户端发出的API请求,可以在代理端根据自身处理能力确定相应的水印添加策略,在保证敏感信息均以添加水印的形式展现给用户的基础上提升网络请求处理的实时性。
基于上述实施例,所述对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,具体包括:
若所述API请求对应的返回数据为页面数据或文件数据,则基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据;
否则,基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加数字水印,得到带水印数据。
具体地,代理端在对API请求对应的返回数据进行水印添加操作时,可以根据该返回数据的数据类型选择合适的水印类型,以提升水印添加的有效性。其中,可以将数据类型划分为页面数据、文件数据和其他数据,页面数据为网页类型的数据,其展现形式是在用户端浏览器中以网页方式展示,而文件数据是包括文档文件、图像文件、视频文件等形式的可视化文件,其可以利用相应的软件打开并展示。其他数据是指除页面数据和文件数据以外的通过后端程序进行传输而不以可视化形式展示给用户的数据。
若API请求对应的返回数据为页面数据或文件数据,则基于该API请求中包含的相应用户端的标识信息对该API请求对应的返回数据添加可视化水印,得到带水印数据;否则,则基于该API请求中包含的相应用户端的标识信息对该API请求对应的返回数据添加数字水印,得到带水印数据。其中,添加数字水印时,可以将该API请求中包含的相应用户端的标识信息转换为数值型数据以作为该标识信息的ID,再将该标识信息的ID插入到返回数据中的预设位置,从而便于后续溯源。
基于上述任一实施例,若所述API请求对应的返回数据为页面数据,所述基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据,具体包括:
若所述API请求对应的返回数据为无交互页面,则将所述无交互页面转换为页面图片,并基于所述API请求中包含的所述用户端的标识信息生成水印图片;
将所述水印图片复制多份后按照预设透明度和预设添加位置与所述页面图片叠加,得到所述带水印数据。
具体地,若API请求对应的返回数据为页面数据且该API请求的水印添加策略为代理端添加策略,在代理端对API请求对应的返回数据添加可视化水印时,可以视该页面数据的类型确定更合适的水印添加方式,以提升水印添加的效率、降低网络访问的延时,从而保证网络访问的实时性。其中,可以将页面数据的类型划分为无交互页面(即页面中不包含交互功能)和有交互页面(即页面中包含交互功能)。对于较简单的无交互页面,为了提升其水印添加效率,可以将该无交互页面直接转换为页面图片或者将无交互页面中的主体部分转换为页面图片,然后基于上述API请求中包含的相应用户端的标识信息生成水印图片。添加水印时,可以将该水印图片复制多份后按照预设的透明度和预设的添加位置将多份水印图片与上述页面图片叠加,得到带水印数据。此处,由于将无交互页面转换为图片,添加水印时仅需要进行图片叠加的操作而无需对页面数据的源代码进行解析和处理,避免了不同页面数据的编码方式不同、解析难度和解析效率不一的问题,因此可以提高水印添加的效率。此外,将页面数据转换为图片后与水印图片叠加,也可避免用户端通过源代码分析方式获取页面数据中的敏感数据。
基于上述任一实施例,若所述API请求对应的返回数据为页面数据,所述基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据,具体包括:
若所述API请求对应的返回数据为有交互页面,获取所述有交互页面中的各个敏感数据,并将所述有交互页面中的各个敏感数据分别转换为敏感数据图片;
基于所述API请求中包含的所述用户端的标识信息生成水印图片,分别将所述各个敏感数据的敏感数据图片与所述水印图片叠加,得到所述各个敏感数据的水印融合图片;
将所述有交互页面中各个敏感数据的页面标签调整为img标签后,将所述有交互页面中的各个敏感数据替换为各个敏感数据的水印融合图片的图片地址,得到所述带水印数据。
具体地,若API请求对应的返回数据为有交互页面,即页面中包含一定的交互功能,因此不能同无交互页面一样直接将其转换为图片。为了尽可能提升水印添加的效率,另外避免全屏添加水印图片导致展示效果较差、无敏感数据部分由于添加水印而导致难以看清,可以仅对页面数据中包含敏感数据的部分进行水印添加操作。
此处,可以通过代码解析方式获取该有交互页面中的各个敏感数据(敏感数据本身或敏感数据的地址)在源代码中的位置,并基于敏感数据本身或敏感数据的地址在源代码中的位置,获取敏感数据的内容,并据此将该有交互页面中的各个敏感数据分别转换为敏感数据图片。随后,基于该API请求中包含的相应用户端的标识信息生成水印图片,并分别将上述各个敏感数据的敏感数据图片与水印图片叠加,得到各个敏感数据的水印融合图片。再将该有交互页面中各个敏感数据(或其地址)对应的页面标签调整为img标签后,将该有交互页面中的各个敏感数据或其地址替换为各个敏感数据的水印融合图片的图片地址,得到带水印数据。
基于上述任一实施例,若所述API请求对应的返回数据为页面数据,所述基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略,之后还包括:
若所述API请求的水印添加策略为前端添加策略,则基于所述API请求中包含的所述用户端的标识信息生成水印图片,并将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,以供相应用户端的浏览器在渲染页面时基于所述水印图片对所述API请求对应的返回数据进行水印添加操作;
其中,若当前代理端接收的API请求数量大于预设阈值,则确定所述API请求的水印添加策略为前端添加策略。
具体地,如若当前代理端接收的API请求数量大于预设阈值,表明此时API请求密集程度较高、代理端负载较重,此时为了提升网络访问的实时性,可以考虑将部分API请求的水印添加操作转移到用户端,以降低代理端的负载、提升代理端对于API请求的处理效率和针对剩余API请求的水印添加效率。具体而言,在当前代理端接收的API请求数量大于预设阈值时,可以获取返回数据为页面数据的API请求,并确定该返回数据为页面数据的API请求的水印添加策略为前端添加策略,在保证水印添加有效性的前提下降低代理端压力。对上述水印添加策略为前端添加策略的API请求添加水印时,可以基于该API请求中包含的相应用户端的标识信息生成水印图片,并将该API请求对应的返回数据连同该水印图片一同返回至相应用户端。
相应用户端收到上述返回数据和水印图片后,该用户端的浏览器中的水印插件将会利用JavaScript等技术向返回数据中添加水印对应的标签,浏览器在渲染页面时将会生成该水印图片对应的dom元素或canvas画布,实现针对该API请求对应的返回数据的水印添加操作,使得页面显示时水印图片已添加到相应页面中。通过浏览器在渲染阶段执行水印添加操作,可以将水印操作从代理端迁移到用户端,延后水印操作的执行且能够保证在页面显示至用户眼前之前执行完水印添加操作,既保证了水印添加的有效性,又分担了代理端的处理压力、提升了水印添加的效率。另外,水印图片由代理端生成,可以避免用户端在生成水印图片时通过修改标识信息的方式更改水印图片,从而提升水印添加的有效性。
基于上述任一实施例,所述将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,具体包括:
对所述API请求对应的返回数据中的敏感数据按照预设编码规则进行编码,得到编码数据,并将所述编码数据所述水印图片一同返回至相应用户端,以供相应用户端的浏览器基于所述预设编码规则对应的预设解码规则对所述编码数据进行解码,得到解码数据,并在渲染页面时基于所述水印图片对所述解码数据进行水印添加操作。
具体地,考虑到当用户在用户端浏览器中禁用JavaScript时,上述前端添加策略可能失效使得水印添加失败,同时防止用户端通过开发者模式等方式从后端直接获取原始的返回数据从而获取其中的敏感数据,代理端可以对该API请求对应的返回数据中的敏感数据(或者可以直接获得敏感数据的地址)按照预设编码规则进行编码,得到返回数据对应的编码数据,并将该编码数据连同上述水印图片一同返回至相应用户端。相应用户端接收到上述编码数据和水印图片后,该用户端的浏览器可以基于预设编码规则对应的预设解码规则对上述编码数据进行解码,得到解码数据,并在渲染页面时基于水印图片对该解码数据进行水印添加操作。
此处,解码操作应当被封装在浏览器的水印插件中,若用户端将浏览器的水印插件禁用,虽然浏览器无法对上述编码数据进行水印添加操作,但浏览器同样无法基于预设解码规则对上述编码数据进行解码,因此浏览器在渲染页面时对应的敏感数据是被编码后的数据而非原始数据,因此敏感数据将无法得到正常展示,用户端也无法通过开发者模式等方式获取到敏感数据,保证了数据安全性。
基于上述任一实施例,所述接收所述服务端返回的所述API请求对应的返回数据,之后还包括:
对所述API请求对应的返回数据中的秘密数据进行脱敏操作,将所述API请求对应的返回数据中的秘密数据遮蔽。
具体地,为了对服务端返回的API请求对应的返回数据进行更全面的防护,除了添加水印操作之外,还可以对该返回数据进行脱敏操作,具体可以获取API请求对应的返回数据中的秘密数据,并对该秘密数据进行脱敏操作,将其转换为不具备特定含义的预设字符(例如*),从而将API请求对应的返回数据中的秘密数据遮蔽。其中,秘密数据是代理端预设的不希望为人所知的数据,属于敏感数据的一种,例如企业机密数据、非当前用户的个人隐私信息等。将返回数据中的秘密数据遮蔽后,可以按照上述实施例中给出的方式继续对返回数据进行水印添加处理。脱敏操作执行于水印添加操作之前,被遮蔽的秘密数据可以认为不属于敏感数据。
如图2所示,当代理端拦截到用户端发出的API请求,并判断该API请求访问的API类型为包含敏感数据的API时,可以向服务端转发该API请求并接收服务端返回的该API请求对应的返回数据。
若该返回数据中包含秘密数据,则对该返回数据进行脱敏处理。若脱敏处理后的返回数据中已不包含敏感数据,则直接将该返回数据返回给相应客户端。若脱敏处理后的返回数据中仍包含敏感数据,则基于当前代理端接收的API请求数量,确定该API请求的水印添加策略。随后,若该API请求的水印添加策略为代理端添加策略,则对脱敏处理后的返回数据进行水印添加操作,得到带水印数据,并将带水印数据返回给相应用户端。
下面对本发明提供的基于API接口的动态信息防护装置进行描述,下文描述的基于API接口的动态信息防护装置与上文描述的基于API接口的动态信息防护方法可相互对应参照。
基于上述任一实施例,图3是本发明提供的基于API接口的动态信息防护装置的结构示意图,如图3所示,该装置应用于代理端,且该装置包括:请求拦截单元310、数据获取单元320和水印添加单元330。
其中,请求拦截单元310用于拦截各个用户端发出的API请求,并获取所述API请求中包含的所述用户端的标识信息以及所述API请求访问的API类型;
数据获取单元320用于若所述API请求访问的API类型为包含敏感数据的API,则向服务端转发所述API请求并接收所述服务端返回的所述API请求对应的返回数据,基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定所述API请求的水印添加策略为代理端添加策略;
水印添加单元330用于若所述API请求的水印添加策略为代理端添加策略,则对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,并将所述带水印数据返回给相应用户端。
本发明实施例提供的装置,代理端作为用户端和服务端之间的处理中介,经由代理端负责API请求及其返回数据的转发,一方面可以降低服务端的处理压力、避免数据库水印带来的维护成本和实时性下降的风险,更重要的是可以在代理端事先对接收的所有API请求进行分类,仅对访问的API类型为包含敏感数据的API的API请求实时进行水印添加操作,有效提升了水印添加和网络访问的实时性;此外,通过代理端拦截处理用户端发出的API请求,可以在代理端根据自身处理能力确定相应的水印添加策略,在保证敏感信息均以添加水印的形式展现给用户的基础上提升网络请求处理的实时性。
基于上述任一实施例,所述对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,具体包括:
若所述API请求对应的返回数据为页面数据或文件数据,则基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据;
否则,基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加数字水印,得到带水印数据。
基于上述任一实施例,若所述API请求对应的返回数据为页面数据,所述基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据,具体包括:
若所述API请求对应的返回数据为无交互页面,则将所述无交互页面转换为页面图片,并基于所述API请求中包含的所述用户端的标识信息生成水印图片;
将所述水印图片复制多份后按照预设透明度和预设添加位置与所述页面图片叠加,得到所述带水印数据。
基于上述任一实施例,若所述API请求对应的返回数据为页面数据,所述基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据,具体包括:
若所述API请求对应的返回数据为有交互页面,获取所述有交互页面中的各个敏感数据,并将所述有交互页面中的各个敏感数据分别转换为敏感数据图片;
基于所述API请求中包含的所述用户端的标识信息生成水印图片,分别将所述各个敏感数据的敏感数据图片与所述水印图片叠加,得到所述各个敏感数据的水印融合图片;
将所述有交互页面中各个敏感数据的页面标签调整为img标签后,将所述有交互页面中的各个敏感数据替换为各个敏感数据的水印融合图片的图片地址,得到所述带水印数据。
基于上述任一实施例,若所述API请求对应的返回数据为页面数据,所述基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略之后,数据获取单元320还用于:
若所述API请求的水印添加策略为前端添加策略,则基于所述API请求中包含的所述用户端的标识信息生成水印图片,并将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,以供相应用户端的浏览器在渲染页面时基于所述水印图片对所述API请求对应的返回数据进行水印添加操作;
其中,若当前代理端接收的API请求数量大于预设阈值,则确定所述API请求的水印添加策略为前端添加策略。
基于上述任一实施例,所述将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,具体包括:
对所述API请求对应的返回数据中的敏感数据按照预设编码规则进行编码,得到编码数据,并将所述编码数据所述水印图片一同返回至相应用户端,以供相应用户端的浏览器基于所述预设编码规则对应的预设解码规则对所述编码数据进行解码,得到解码数据,并在渲染页面时基于所述水印图片对所述解码数据进行水印添加操作。
基于上述任一实施例,该装置还包括脱敏单元,所述接收所述服务端返回的所述API请求对应的返回数据之后,脱敏单元用于:
对所述API请求对应的返回数据中的秘密数据进行脱敏操作,将所述API请求对应的返回数据中的秘密数据遮蔽。
图4是本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、存储器(memory)420、通信接口(Communications Interface)430和通信总线440,其中,处理器410,存储器420,通信接口430通过通信总线440完成相互间的通信。处理器410可以调用存储器420中的逻辑指令,以执行基于API接口的动态信息防护方法,该方法包括:拦截各个用户端发出的API请求,并获取所述API请求中包含的所述用户端的标识信息以及所述API请求访问的API类型;若所述API请求访问的API类型为包含敏感数据的API,则向服务端转发所述API请求并接收所述服务端返回的所述API请求对应的返回数据,基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定所述API请求的水印添加策略为代理端添加策略;若所述API请求的水印添加策略为代理端添加策略,则对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,并将所述带水印数据返回给相应用户端。
此外,上述的存储器420中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于API接口的动态信息防护方法,该方法包括:拦截各个用户端发出的API请求,并获取所述API请求中包含的所述用户端的标识信息以及所述API请求访问的API类型;若所述API请求访问的API类型为包含敏感数据的API,则向服务端转发所述API请求并接收所述服务端返回的所述API请求对应的返回数据,基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定所述API请求的水印添加策略为代理端添加策略;若所述API请求的水印添加策略为代理端添加策略,则对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,并将所述带水印数据返回给相应用户端。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于API接口的动态信息防护方法,该方法包括:拦截各个用户端发出的API请求,并获取所述API请求中包含的所述用户端的标识信息以及所述API请求访问的API类型;若所述API请求访问的API类型为包含敏感数据的API,则向服务端转发所述API请求并接收所述服务端返回的所述API请求对应的返回数据,基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定所述API请求的水印添加策略为代理端添加策略;若所述API请求的水印添加策略为代理端添加策略,则对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,并将所述带水印数据返回给相应用户端。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种基于API接口的动态信息防护方法,应用于代理端,其特征在于,包括:
拦截各个用户端发出的API请求,并获取所述API请求中包含的所述用户端的标识信息以及所述API请求访问的API类型;
若所述API请求访问的API类型为包含敏感数据的API,则向服务端转发所述API请求并接收所述服务端返回的所述API请求对应的返回数据,基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定所述API请求的水印添加策略为代理端添加策略;
若所述API请求的水印添加策略为代理端添加策略,则对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,并将所述带水印数据返回给相应用户端;
若所述API请求对应的返回数据为页面数据,所述基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略,之后还包括:
若所述API请求的水印添加策略为前端添加策略,则基于所述API请求中包含的所述用户端的标识信息生成水印图片,并将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,以供相应用户端的浏览器在渲染页面时基于所述水印图片对所述API请求对应的返回数据进行水印添加操作;所述用户端的浏览器中的水印插件利用JavaScript技术向返回数据中添加水印对应的标签,浏览器在渲染页面时生成所述水印图片对应的dom元素或canvas画布;
其中,若当前代理端接收的API请求数量大于预设阈值,则确定所述API请求的水印添加策略为前端添加策略;
所述将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,具体包括:
对所述API请求对应的返回数据中的敏感数据按照预设编码规则进行编码,得到编码数据,并将所述编码数据连同所述水印图片一同返回至相应用户端,以供相应用户端的浏览器基于所述预设编码规则对应的预设解码规则对所述编码数据进行解码,得到解码数据,并在渲染页面时基于所述水印图片对所述解码数据进行水印添加操作;其中,解码操作被封装在所述用户端的浏览器的水印插件中。
2.根据权利要求1所述的基于API接口的动态信息防护方法,其特征在于,所述对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,具体包括:
若所述API请求对应的返回数据为页面数据或文件数据,则基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据;
否则,基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加数字水印,得到带水印数据。
3.根据权利要求2所述的基于API接口的动态信息防护方法,其特征在于,若所述API请求对应的返回数据为页面数据,所述基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据,具体包括:
若所述API请求对应的返回数据为无交互页面,则将所述无交互页面转换为页面图片,并基于所述API请求中包含的所述用户端的标识信息生成水印图片;
将所述水印图片复制多份后按照预设透明度和预设添加位置与所述页面图片叠加,得到所述带水印数据。
4.根据权利要求2所述的基于API接口的动态信息防护方法,其特征在于,若所述API请求对应的返回数据为页面数据,所述基于所述API请求中包含的所述用户端的标识信息对所述API请求对应的返回数据添加可视化水印,得到带水印数据,具体包括:
若所述API请求对应的返回数据为有交互页面,获取所述有交互页面中的各个敏感数据,并将所述有交互页面中的各个敏感数据分别转换为敏感数据图片;
基于所述API请求中包含的所述用户端的标识信息生成水印图片,分别将所述各个敏感数据的敏感数据图片与所述水印图片叠加,得到所述各个敏感数据的水印融合图片;
将所述有交互页面中各个敏感数据的页面标签调整为img标签后,将所述有交互页面中的各个敏感数据替换为各个敏感数据的水印融合图片的图片地址,得到所述带水印数据。
5.根据权利要求1所述的基于API接口的动态信息防护方法,其特征在于,所述接收所述服务端返回的所述API请求对应的返回数据,之后还包括:
对所述API请求对应的返回数据中的秘密数据进行脱敏操作,将所述API请求对应的返回数据中的秘密数据遮蔽。
6.一种基于API接口的动态信息防护装置,应用于代理端,其特征在于,包括:
请求拦截单元,用于拦截各个用户端发出的API请求,并获取所述API请求中包含的所述用户端的标识信息以及所述API请求访问的API类型;
数据获取单元,用于若所述API请求访问的API类型为包含敏感数据的API,则向服务端转发所述API请求并接收所述服务端返回的所述API请求对应的返回数据,基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略;其中,若当前代理端接收的API请求数量小于等于预设阈值,则确定所述API请求的水印添加策略为代理端添加策略;
水印添加单元,用于若所述API请求的水印添加策略为代理端添加策略,则对所述API请求对应的返回数据进行水印添加操作,得到带水印数据,并将所述带水印数据返回给相应用户端;
若所述API请求对应的返回数据为页面数据,所述基于当前代理端接收的API请求数量,确定所述API请求的水印添加策略,之后还包括:
若所述API请求的水印添加策略为前端添加策略,则基于所述API请求中包含的所述用户端的标识信息生成水印图片,并将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,以供相应用户端的浏览器在渲染页面时基于所述水印图片对所述API请求对应的返回数据进行水印添加操作;所述用户端的浏览器中的水印插件利用JavaScript技术向返回数据中添加水印对应的标签,浏览器在渲染页面时生成所述水印图片对应的dom元素或canvas画布;
其中,若当前代理端接收的API请求数量大于预设阈值,则确定所述API请求的水印添加策略为前端添加策略;
所述将所述API请求对应的返回数据连同所述水印图片一同返回至相应用户端,具体包括:
对所述API请求对应的返回数据中的敏感数据按照预设编码规则进行编码,得到编码数据,并将所述编码数据连同所述水印图片一同返回至相应用户端,以供相应用户端的浏览器基于所述预设编码规则对应的预设解码规则对所述编码数据进行解码,得到解码数据,并在渲染页面时基于所述水印图片对所述解码数据进行水印添加操作;其中,解码操作被封装在所述用户端的浏览器的水印插件中。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述基于API接口的动态信息防护方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于API接口的动态信息防护方法。
CN202211169589.9A 2022-09-26 2022-09-26 基于api接口的动态信息防护方法和装置 Active CN115270191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211169589.9A CN115270191B (zh) 2022-09-26 2022-09-26 基于api接口的动态信息防护方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211169589.9A CN115270191B (zh) 2022-09-26 2022-09-26 基于api接口的动态信息防护方法和装置

Publications (2)

Publication Number Publication Date
CN115270191A CN115270191A (zh) 2022-11-01
CN115270191B true CN115270191B (zh) 2022-12-27

Family

ID=83756306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211169589.9A Active CN115270191B (zh) 2022-09-26 2022-09-26 基于api接口的动态信息防护方法和装置

Country Status (1)

Country Link
CN (1) CN115270191B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664774A (zh) * 2018-04-16 2018-10-16 深圳市联软科技股份有限公司 一种及时生成水印的方法、装置、存储介质及系统
CN111931135A (zh) * 2020-08-27 2020-11-13 北京明朝万达科技股份有限公司 一种水印的添加方法和装置
CN112000999A (zh) * 2020-08-12 2020-11-27 中国工商银行股份有限公司 信息保护方法和装置
CN112954019A (zh) * 2021-01-28 2021-06-11 浙江华途信息安全技术股份有限公司 基于反向代理技术的水印方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150188981A1 (en) * 2013-12-31 2015-07-02 Huawei Technologies Co., Ltd. Page processing method, apparatus, and system
CN112616056B (zh) * 2020-12-18 2023-04-07 广州虎牙科技有限公司 一种基于水印监听的上报告警方法及装置
CN113469866A (zh) * 2021-07-01 2021-10-01 建信金融科技有限责任公司 数据处理方法、装置和服务器
CN113420268B (zh) * 2021-07-15 2024-02-02 南京中孚信息技术有限公司 水印添加方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664774A (zh) * 2018-04-16 2018-10-16 深圳市联软科技股份有限公司 一种及时生成水印的方法、装置、存储介质及系统
CN112000999A (zh) * 2020-08-12 2020-11-27 中国工商银行股份有限公司 信息保护方法和装置
CN111931135A (zh) * 2020-08-27 2020-11-13 北京明朝万达科技股份有限公司 一种水印的添加方法和装置
CN112954019A (zh) * 2021-01-28 2021-06-11 浙江华途信息安全技术股份有限公司 基于反向代理技术的水印方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云计算敏感数据防泄露技术研究;王志文等;《信息安全与通信保密》;20130810(第08期);全文 *

Also Published As

Publication number Publication date
CN115270191A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
CN110348182A (zh) 一种网页文档水印嵌入的方法和装置
US9875372B2 (en) Redacting restricted content in files
US11038884B2 (en) Blockchain-based copyright protection method and apparatus, and electronic device
US10706160B1 (en) Methods, systems, and articles of manufacture for protecting data in an electronic document using steganography techniques
CN115225707A (zh) 资源访问方法及装置
CN112307520A (zh) 电子印章添加和验证方法及系统
CN111223032A (zh) 水印嵌入和水印提取方法、装置及设备和数据处理方法
CN115482140A (zh) 数据保护方法及装置
CN113821771B (zh) 动态水印添加方法、装置、网盘及存储介质
CN114880687A (zh) 文档安全防护方法、装置、电子设备和存储介质
CN115270191B (zh) 基于api接口的动态信息防护方法和装置
WO2020073374A1 (zh) 一种广告防屏蔽的方法和装置
CN112257037B (zh) 一种进程水印方法、系统及电子设备
CN108256360A (zh) 一种敏感信息的显示方法及终端
CN116028901A (zh) 一种嵌入水印的方法、装置、设备及存储介质
CN115760532A (zh) 水印处理、提取方法、设备及存储介质
CN112434327A (zh) 信息保护方法、装置及电子设备
US20240028727A1 (en) Steganographic modification detection and mitigation for enhanced enterprise security
CN112584151A (zh) 图像处理方法及终端设备、服务器
KR20210068929A (ko) 이미지 무단 복제 및 무단 도용 추적 시스템
CN111026986A (zh) 一种网页水印渲染方法及装置
CN116910791B (zh) 数据库表列加密分析方法、装置、电子设备和存储介质
Chen et al. Data Hiding Based on Redundant Space of WeChat Mini Program Codes
CN116095425A (zh) 基于水印的边界视频溯源方法、装置、设备及存储介质
CN110399732B (zh) 信息嵌入和数据安全处理方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 311121 Room 101, Building 9, No. 998, Wenyi West Road, Wuchang Subdistrict, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: Flash it Co.,Ltd.

Address before: 310000 Room 608, Building No. 998 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee before: Flash it Co.,Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Dynamic information protection method and device based on API interface

Granted publication date: 20221227

Pledgee: The Bank of Hangzhou branch of Limited by Share Ltd. sea park

Pledgor: Flash it Co.,Ltd.

Registration number: Y2024980014339