一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

Wayland环境下安全防截屏系统的制作方法

2023-01-14 12:56:49 来源:中国专利 TAG:

wayland环境下安全防截屏系统
技术领域
1.本发明涉及数据安全管控技术领域,具体涉及wayland环境下安全防截屏系统。


背景技术:

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


技术实现要素:

7.为解决已有技术存在的不足,本发明提供了一种wayland环境下安全防截屏系统,基于wayland环境下的xwayland及wayland合成器来扩展wayland协议来实现,最终的截图
管控由wayland合成器基于其中的管控列表实现,wayland合成器中的管控列表包含全屏管控列表和敏感窗口管控列表;wayland合成器中注册的wayland协议为截图管控扩展协议,wayland合成器直接通过该协议实现对wanyland应用的截图管控管理;xwayland中注册的协议为x扩展协议,通过x扩展协议完成与wayland合成器的信息交互,使wayland合成器间接实现对x应用的截图管控管理。
8.其中,截图管控扩展协议注册于wayland合成器中的截图管控接口中,通过此截图管控接口直接处理wanyland应用的截图管控请求,并将截图管控请求写入管控列表中;x扩展协议注册于xwayland中的截图管控接口中,通过x扩展协议将x应用的截图管控请求转发给wayland合成器的截图管控接口,由wayland合成器的截图管控接口将截图管控请求写入管控列表中。
9.其中,xwayland中同时实现一个全屏管控列表,用于统一维护x应用的全屏截图管控情况。
10.其中,xwayland在对x应用实现全屏截图管控时,通过如下机制实现统一维护x应用的全屏截图管控情况,同时实现与wayland合成器的信息交互:步骤s1:验证x应用全屏截图管控权限:xwayland查询是否有x应用请求了全屏截图管控;若是,则执行步骤s2,若否,则执行步骤s3;步骤s2:如果当前x应用是唯一一个请求全屏截图管控的应用,xwayland则向wayland合成器请求全屏截图管控,并将当前x应用加入到xwayland的全屏管控列表,反之则只将当前x应用加入到xwayland的全屏管控列表,不向wayland合成器请求全屏截图管控;步骤s3:将相应的x应用从xwayland的全屏管控列表中剔除,再判断全屏管控列表是否为空,在全屏管控列表为空的情况下,向wayland合成器请求取消全屏截图管控的管控策略。
11.其中,wayland合成器以及xwayland还通过如下机制实现对x应用的全屏截图管控:步骤sl:xwayland将一个以上的x应用进行处理,处理后的一个以上的x应用被wayland合成器视为一个wayland应用,以下称“被等同的wayland应用”;步骤sm:验证“被等同的wayland应用”全屏截图管控权限:wayland合成器查询是否有“被等同的wayland应用”请求了全屏截图管控;若是,则执行步骤sn,若否,则执行步骤so;步骤sn:判断“被等同的wayland应用”是否是唯一一个请求全屏截图管控的应用,如果不是,则仅将“被等同的wayland应用”加入到wayland合成器的全屏管控列表中,如果是,则为wayland合成器设置全屏管控标识并同时将“被等同的wayland应用”加入到wayland合成器的全屏管控列表中;步骤so:将相应的“被等同的wayland应用”从wayland合成器的管控列表中剔除,再判断管控列表是否为空,在管控列表为空的情况下, wayland合成器取消全屏截图管控标识的设置。
12.其中,wayland合成器在对wayland应用实现全屏截图管控时,通过如下机制实现:
步骤sa:验证wayland应用全屏截图管控权限:wayland合成器查询是否有wayland应用请求了全屏截图管控;若是,则执行步骤sb,若否,则执行步骤sc;步骤sb:判断当前wayland应用是否是唯一一个请求全屏截图管控的应用,如果不是,则仅将当前wayland应用加入到wayland合成器的全屏管控列表中,如果是,则为wayland合成器设置全屏管控标识并同时将当前wayland应用加入到wayland合成器的全屏管控列表中;步骤sc:将相应的wayland应用从wayland合成器的管控列表中剔除,再判断管控列表是否为空,在管控列表为空的情况下, wayland合成器取消全屏截图管控标识的设置。
13.其中,所述wayland合成器中实现有一个截图接口,供x截图应用或wayland截图应用在进行截图时,直接或间接调用;截图接口供x截图应用或wayland截图应用调用时,读取wayland合成器管控列表中所写入的有关x应用或wayland应用的截图管控信息。
14.其中,wayland截图应用在进行截图时,直接调用wayland合成器的截图接口;x截图应用在进行截图时,通过xwayland中的截图接口间接调用wayland合成器的截图接口,以获取wayland合成器管控列表中所写入的有关x应用的截图管控信息。
15.本发明将之前系统中截屏软件可随意截取任意窗口内容的状况,改进为通过在wayland层增加协议实现敏感窗口管控,并支持管控多窗口、管控窗口最小化及窗口异常退出等多种场景。隐私性、灵活性、可扩展性更好。
附图说明
16.图1为本发明公开的wayland环境下安全防截屏系统的逻辑框架图。
17.图2为基于本发明的wayland合成器全屏截图管控的流程图。
18.图3为基于本发明的wayland合成器截图接口实现的流程图。
具体实施方式
19.为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。
20.wayland环境下安全防截屏方法是基于麒麟操作系统来实现的,该方法通过增加扩展协议来实现。通常情况下,截图一般有三种方式:窗口截图、全屏截图和区域截图。当窗口显示敏感信息或者隐私数据时,该方法会根据上述三种情况可以对截图工具截图时的窗口及内容进行管控。主要包括以下功能:敏感窗口截图管控、全屏截图管控。
21.敏感窗口截图管控包含:敏感窗口管控设置/恢复、多敏感窗口管控、关闭窗管时敏感窗口管控策略自动调整、敏感窗口最小化管控策略自动调整等。
22.全屏截图管控:通过验证的进程,可设置/恢复禁止全屏截图、关闭进程时全屏截图管控策略自动调整等。
23.图1为本发明公开的wayland环境下安全防截屏系统的逻辑框架图,如图1所示,本发明基于wayland环境下的libwayland库(包含wayland协议的服务端和客户端实现)和wayland合成器来扩展wayland协议实现。wayland应用直接使用协议接口来实现wayland应用程序对窗口或者全屏截图控制设置。wayland合成器响应wayland应用的请求,完成对截
图软件截图的管控。
24.对于x应用,依托x框架来增加扩展协议实现,扩展协议利用x11的c/s模型通信机制进行数据传输。x应用程序作为客户端调用截图管控接口,实现x应用程序对窗口的管控设置;服务端实现截图管控接口将截图管控的消息转发给wayland合成器。wayland合成器响应请求,完成对截图软件截图的管控。
25.在wayland环境下,不管是x截图应用还是wayland截图应用,最终均使用wayland合成器的截图特效完成截图,所以截图管控可以在wayland合成器截图特效中实现。
26.对于截图管控(包含敏感窗口截图管控和全屏截图管控)应用,x应用在敏感窗口截图管控设置时和wayland应用一样都是通过wayland合成器中的管控列表(包含全屏管控列表和敏感窗口管控列表)来实现,但是在全屏截图管控时,x应用需要在xwayland中增加一个全屏管控列表,即xwayland统一维护x应用的全屏截图管控的情况。
27.请继续参阅图1所示,wayland合成器中实现有一个截图接口,供x截图应用或wayland截图应用在进行截图时,直接或间接调用;截图接口供x截图应用或wayland截图应用调用时,读取wayland合成器管控列表中所写入的有关x应用或wayland应用的截图管控信息。
28.其中,wayland截图应用在进行截图时,直接调用wayland合成器的截图接口;x截图应用在进行截图时,通过xwayland中的截图接口间接调用wayland合成器的截图接口,以获取wayland合成器管控列表中所写入的有关x应用的截图管控信息。
29.基于本发明提供的wayland环境下安全防截屏系统,结合如下具体的机制实现安全截屏:1、基于wayland协议定义一套截图管控扩展协议,协议包含敏感窗口截图管控、全屏截图管控、管控窗口查询三种接口,截图管控扩展协议在wayland合成器的截图管控接口中实现,截图管控扩展协议仅提供wayland合成器和xwayland之间信息传输的途径,其具体功能的实现需结合wayland合成器和xwayland的内部逻辑来实现。
30.2、基于x框架定义一套x扩展协议,支持x应用间接使用wayland截图管控接口,包含敏感窗口截图管控、全屏截图管控及管控窗口查询。
31.3、实现x截图管控接口(包含敏感窗口截图管控、全屏截图管控及管控窗口查询),在进行截图管控时,x应用截图管控通过x扩展协议实现,在xwayland收到请求后,会将x应用的敏感窗口管控请求转发给wayland合成器。xwayland同时会管理全屏截图管控的请求情况。
32.如果x应用请求全屏截图管控,首选验证x应用全局截图管控权限,然后xwayland查询是否有x应用已经请求了全屏截图管控,如果当前x应用是唯一一个请求全屏截图管控的应用,xwayland则向wayland合成器请求全屏截图管控,并将当前x应用加入到xwayland的全屏管控列表,反之则只加入到全屏管控列表,不向wayland合成器请求全屏截图管控,当全屏管控列表为空时,xwayland再次向wayland请求全屏截图管控以取消管控。此时多个x应用因为经过xwayland的处理,将被wayland合成器视为是一个wayland应用。
33.如果x应用请求敏感窗口截图管控,xwayland在收到请求后直接将请求转发给wayland合成器,wayland合成器将相应的x应用加入到敏感窗口管控列表。敏感窗口管控不同于全屏截图管控,不需要将多个x应用处理成一个wayland应用。
34.4、实现wayland截图管控接口(包含敏感窗口截图管控、全屏截图管控及管控窗口查询),在需要进行截图管控时,wayland应用直接使用wayland协议的截图管控接口,请求合成器管控全屏截图或者敏感窗口截图,wayland合成器将应用加入到管控列表或设置标识。
35.图2为基于本发明的wayland合成器全屏截图管控的流程图:如果wayland应用请求全屏截图管控,首先验证wayland应用全局截图管控权限,然后wayland合成器查询是否有wayland应用请求了全屏截图管控,如果当前wayland应用是唯一一个请求全屏截图管控的应用,wayland合成器设置全屏截图管控标识,并加入到全屏管控列表,反之则只加入到全屏管控列表,不设置全屏截图管控标识。当全屏管控列表为空时, wayland取消全屏截图管控标识的设置。需要注意的是,这里的wayland应用即包括直接向wayland合成器请求全屏管控的wayland应用,也包括经过xwayland处理后被wayland合成器视为一个wayland应用的wayland应用,可以理解为,所有的x应用在wayland合成器中均视为一个wayland应用。
36.如果wayland应用请求敏感窗口截图管控,wayland合成器在收到请求后将相应的wayland应用加入到敏感窗口管控列表。
37.5、图3为基于本发明的wayland合成器截图接口实现的流程图:实现wayland截图接口,x截图应用和wayland截图应用通过截图接口获取截图数据时,都是由wayland合成器返回,wayland在返回数据时将被管控的区域(敏感窗口或者全屏)修改为黑色。
38.更进一步来说,wayland合成器会去判断全局截图标志,如果标志存在则将全部内容修改为黑色,如果不存在则继续判断敏感窗口管控列表是否有被管控的窗口,如果存在窗口则获取对应窗口的位置大小等信息,将截图中对应区域修改为黑色。
39.6、应用退出或者异常结束时,x应用通过xwayland重新设置该窗口的全局管控状态并通知wayland合成器,wayland应用通过wayland合成器重新设置该窗口或全局管控状态。即应用退出或者异常结束时,wayland合成器会收到相关消息,自动调整管控列表或者调整全局管控标志。
40.本发明中,所谓的wayland是一个通信协议,规定了显示服务与其客户端之间的通信方式,而使用这个协议的显示服务称为wayland合成器。在以linux为内核的图形显示操作系统中,wayland合成器与x显示服务属于同一级的事物,用于取代老旧的x显示服务。以wayland合成器为中心的桌面图形显示系统构成了wayland环境。
41.本发明中,所谓的xwayland是一个运行在wayland合成器之上的xorg服务。它已与主要的xorg服务分离,它允许在wayland会话中运行x客户端。
42.本发明中,所谓的x扩展协议含义涉及:x server定义了119个接口,128之外的接口都是给扩展用的(#define extension_base 128)。但是每个扩展可能实现了多个接口,而procvector仅仅为每个扩展准备了一个入口。所以扩展协议如果有多个接口,就需要自行分发。每个扩展协议的实现,都需要从各自对应的扩展协议入口进行统一处理。
43.本发明充分利用x框架下的扩展协议基本框架,以及利用x下client/server的通信方式,通过对xwayland改造,实现wayland环境下对x窗口内容的截屏进行管控。将之前系统中截屏软件可随意截取任意窗口内容的状况,改进为通过在wayland层增加协议实现敏感窗口管控,并支持管控多窗口、管控窗口最小化及窗口异常退出等多种场景。隐私性、灵活性、可扩展性更好。
44.虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献