基于X框架的防截屏扩展协议实现系统的制作方法

文档序号:32309959发布日期:2022-11-23 11:15阅读:58来源:国知局
基于X框架的防截屏扩展协议实现系统的制作方法
基于x框架的防截屏扩展协议实现系统
技术领域
1.本发明涉及数据安全技术领域,具体涉及基于x框架的防截屏扩展协议实现系统。


背景技术:

2.麒麟操作系统是一种面向通用领域打造的安全创新的,以及面向专用领域打造的高安全高可靠的国产操作系统。目前能够同时支持飞腾、鲲鹏、龙芯、申威、兆芯、海光等国产cpu。
3.当前麒麟操作系统下用户可以截取屏幕任意区域图像,但在银行、国防、政府等单位某些特定场景中,因为信息安全的需求,需要对截图内容或区域进行一定限制。比如屏幕中某一程序存在用户信息时,截图则必须进行屏蔽,防止信息泄露。另外,如果用户恶意杀掉系统窗口管理器,或对系统进行简单处理,导致某些截图软件不受控制而对敏感信息进行截图,因此,如何提高麒麟系统上信息安全要求,是当前面临的一个重要难题。
4.中国发明专利(申请号202011348616.x)通过监听目标界面的目标方法是否被调用,若监听到所述目标方法,则获取所述目标方法中的原始窗口属性数据;根据目标数据对所述原始窗口属性数据进行修改,得到目标窗口属性数据。由于所述目标数据用于将所述目标界面设置为禁止截屏的界面,则根据所述目标窗口属性数据显示所述目标界面,对所有的窗口对象的防截屏效果进行加固,提升加固质量,从而防止恶意程序的屏幕截图并全面阻止恶意程序进行截屏,进而避免信息泄露。虽然该发明通过设计监听了目标界面的目标方法是否被调用,满足了防截屏的要求,但是并没有涉及到本发明所考虑的基于x框架来实现扩展协议防止截屏的问题。
5.中国发明专利(202110835897.x)本发明公开了一种防截屏处理方法,在计算设备中执行,计算设备中运行有操作系统,操作系统上运行有一个或多个应用程序,该方法包括:当接收到第一进程发送的防截屏开启指令时,开启防截屏功能;当接收到第二进程发送的防截屏关闭指令时,判断当前是否存在已开启防截屏功能的其他进程;若存在已开启防截屏功能的其他进程,则继续保持防截屏功能的开启状态;若不存在已开启防截屏功能的其他进程,则关闭防截屏功能。本发明一并公开了相应的计算设备及可读存储介质。本发明的防截屏处理方法既能保证涉密文档的安全性,还不会影响用户对非涉密文档的正常截屏。虽然该发明通过设计了dbus接口通信的方法满足了防截屏的要求,但是并没有涉及到本发明所考虑的基于x框架来实现扩展协议防止截屏的问题。


技术实现要素:

6.为解决已有技术存在的不足,本发明提供了一种基于x框架的防截屏扩展协议实现系统,通过在x框架中的客户端及server端之间增加扩展协议来实现,扩展协议通过x11的c/s模型通信机制在客户端及server端之间实现数据传输;客户端提供截图管控接口供应用程序调用,以实现应用程序对窗口的管控设置;server端为客户端中的截图软件提供具体实现接口来完成对截图软件截图的管控设置。
7.其中,应用程序通过截图管控接口所实现的对窗口的管控设置包括设置或解除设置敏感窗口,应用程序通过调用客户端扩展协议中的截图管控接口来通知server端相应的窗口是否被管控。
8.其中,截图管控接口在客户端中被封装成为一个核外的动态链接库-核外管控库。
9.其中,server端为客户端的截图软件提供具体实现接口来完成对截图软件截图的管控设置包括:供截图软件调用server端的的截图软件接口进行截图时,通过server中所注册的扩展协议来判断所截取的窗口是否属于被管控的窗口。
10.其中,客户端及server端实现窗口管控的方法包括:应用程序通过调用客户端的截图管控接口来通知server端所需截图的窗口的敏感信息,之后阻塞等待server端进行处理以保证同步;server端通过扩展协议对上述敏感信息进行检查,判断server端中是否已经支持相应的扩展协议,以对指定窗口进行管控或解除管控状态,并返回数据至客户端;客户端收到回复后进行相应的数据保存处理,并结束整个管控调用流程。
11.其中,截图软件接口包括窗口图像获取接口、共享内存图像获取接口及区域拷贝接口,截图软件基于server端所实现的拓展协议实现对窗口图像获取接口、共享内存图像获取接口及区域拷贝接口的管控。
12.其中,截图软件通过如下方法实现对窗口图像获取接口的管控:截图软件通过窗口图像获取接口,在图像获取协议中,获取截图所需数据;在完成数据获取后,server端针对已获取的数据,判断其中哪些窗口区域已经被管控,将被管控的区域数据填充为黑色,在完成所有管控区域填充后,通过图像获取协议将数据返回,并生成图片。
13.其中,截图软件通过如下方法实现对区域拷贝接口的管控:截图软件通过区域拷贝接口,在区域拷贝协议中,获取截图所需数据;在完成数据获取后,server端针对已获取的数据,判断其中哪些窗口区域已经被管控,将被管控的区域数据填充为黑色,在完成所有管控区域填充后,通过区域拷贝协议将数据返回,并生成图片。
14.本发明提供的基于x框架的防截屏扩展协议实现系统,将之前系统中截屏软件可随意截取任意窗口内容的状况,改进为通过在x层增加私有协议实现,跟系统使用的窗口管理管、合成器无关,并支持管控多窗口及管控窗口最小化等多种场景。隐私性、灵活性、可扩展性更好。
附图说明
15.图1:本发明的基于x框架的防截屏扩展协议实现系统的逻辑框架图。
具体实施方式
16.为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。
17.本发明的基于x框架的防截屏扩展协议实现系统,通过x防截屏扩展协议技术实现对截图应用、截图范围的控制,从而达到保护用户隐私数据安全的目的。支持控制系统上常见的截图软件,比如:kylin-screenshot、imagemagick、flameshot、qt grabwindow、蓝信截图等。
18.本发明的基于x框架的防截屏扩展协议实现系统可基于多种操作系统,尤其适用于麒麟操作系统,该系统通过增加扩展协议来实现。通常情况下,截图一般有三种方式:窗口截图、全屏截图和区域截图。当窗口显示敏感信息或者隐私数据时,该方法会根据上述三种情况可以对截图工具截图时的窗口及内容进行管控。主要包括以下功能:敏感窗口截图管控、管控窗口查询、防截图功能查询。
19.敏感窗口截图管控包含:敏感窗口管控设置/恢复、多敏感窗口管控、关闭窗口时敏感窗口管控、关闭合成器时敏感窗口管控、敏感窗口最小化处理等。
20.管控窗口查询:查询指定窗口是否被设置管控、查询所有窗口中是否包含管控窗口。
21.防截图功能查询:查询当前系统是否支持防截图功能。
22.图1为本发明的基于x框架的防截屏扩展协议实现系统的逻辑框架图,如图1所示,本系统基于x框架来增加扩展协议实现,扩展协议利用x11的c/s模型通信机制进行数据传输。client端(也即客户端)提供截图管控接口供应用程序调用,实现应用程序对窗口的管控设置;server端提供client端的具体实现接口来完成对截图软件截图的管控设置。
23.x11协议提供三类截图接口,这三类截图接口分别是基于窗口的图像获取、基于共享内存的图像获取、区域拷贝。常见的基于x实现的截图软件,大多都使用这三个接口进行截图处理。因此,基于x框架的防截屏扩展协议实现系统也就是对以上三个接口进行管控。当然,其它接口也属于该系统可以管控的范围。
24.扩展协议分client端和server端,该协议实现对截图管控,主要分为面向应用程序管控设置和截图软件接口管控设置;应用程序调用的是client端的接口,client端的接口封装成了一个核外的动态链接库,简称核外管控库。该库向应用提供截图管控接口,表示该应用是否需要被设置/恢复为管控窗口。
25.更进一步来说,应用程序调用扩展协议中实现的截图管控接口来通知xserver该client端窗口是否被管控。截图软件调用x11截图软件接口进行截图时,xserver端根据注册的扩展协议来判断截取的内容是否属于被管控的窗口。
26.具体在实现对窗口的管控时,应用程序client端通过调用截图管控接口来通知xserver该窗口所含有的敏感信息;截图管控接口首先获取扩展协议信息,发送请求数据给server端,所有需要传输的数据都保存在发送数据结构体中,将数据结构体中变量进行赋值。在完成数据传输后,会阻塞等待server端进行处理以保证同步,在接收到server端处理返回的数据后退出阻塞,截图管控接口函数返回。
27.server端将接收发送来的数据,并检查参数是否正确可用,通过检查后对数据进行处理,具体对获取的信息进行检查,判断xserver中是否已经支持此扩展协议,对指定窗口进行管控或解除管控状态,并最终返回数据至client端,避免client端一直处于阻塞状态;client端在收到回复后进行相应的数据保存处理,并结束整个管控调用流程。
28.截图管控处理具体在server端实现,主要实现对窗口图像获取类接口、区域拷贝类接口及共享内存图像获取接口的管控。
29.当前截屏软件中调用的截屏接口种类比较多,但基本最后调用到xserver中的接口可以概括成三类,分别是xgetimage(窗口图像类接口)、xcopyarea(区域拷贝类接口)、xshmgetimage(共享内存类图像获取接口)。所以在截屏软件这边的控制,基本是围绕这三
类接口来加以处理。截屏软件作为客户端,调用xserver中的接口执行截屏功能,而这些接口最后都要向xserver端发送请求处理,xserver端中对这些请求的接口加以控制来实现防截屏的功能。
30.xserver端接受到截图软件接口发送过来的请求后,会做如下处理:

设置原生区域、管控区域、除管控外的区域。
31.分配savepvisibleregion、pvisibleregion、kssregion等敏感区域变量,并计算出原生区域、敏感区域。
32.②
计算除了管控外的区域。
33.找到敏感信息窗口并保存,根据敏感信息窗口坐标信息计算出敏感区域,根据是否开启窗管计算除管控外的区域等。
34.③
将上述管控区域绘制成黑色。
35.窗口图像获取接口管控的具体实现如下:截图软件通过x11图像获取接口,在图像获取协议中,获取截图所需数据。在完成数据获取后,调用数据管控接口,(这里的数据管控接口的实质功能就是查询是否找到敏感信息窗口,如果找到,就计算除了敏感区域以外的区域,若未找到敏感窗口,则直接返回,不做防截屏处理,返回原生区域)。针对已获取的数据,判断其中哪些窗口区域已经被管控,被管控的区域数据将被填充成黑色。在完成所有管控区域填充后,图像获取协议将数据进行返回,截图软件收到数据后生成图片。
36.区域拷贝类接口管控的具体实现如下:截图软件调用x11中区域拷贝接口,通过区域拷贝协议,获取截图所需数据。在区域拷贝协议中,截图数据获取后,对所获取的数据进行管控处理。将截图数据中所有已被管控的窗口区域数据去除,将管控区域用黑色填充。完成管控处理操作后,区域拷贝协议将截图数据进行返回,截图软件依据收到数据生成图片。
37.本发明的有益效果如下:1、实现方式的独创性,充分利用x框架下的扩展协议基本框架,以及利用x下client/server的通信方式,通过对截屏软件实现的接口进行管控来实现对窗口内容的截屏进行管控。
38.2、实现效果明显,将之前系统中截屏软件可随意截取任意窗口内容的状况,改进为通过在x层增加私有协议实现,跟系统使用的窗口管理管、合成器无关,并支持管控多窗口及管控窗口最小化等多种场景。隐私性、灵活性、可扩展性更好。
39.本发明中,所谓的x窗口系统,也称作xorg图形服务器,它起源于20世纪80年代初,是unix/linux系统上最基本的图形交互系统。xorg图形服务器采用client/server设计思想,具备卓越的灵活性和强大的功能,成为unix/linux中缺省的主流图形交互环境。
40.本发明中,所谓的x扩展协议含义涉及:x server定义了119个接口,128之外的接口都是给扩展用的(#define extension_base 128)。但是每个扩展可能实现了多个接口,而procvector仅仅为每个扩展准备了一个入口。所以扩展协议如果有多个接口,就需要自行分发。每个扩展协议的实现,都需要从各自对应的扩展协议入口进行统一处理。
41.虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1