Data processing method and device, electronic equipment, storage medium and program product
By encrypting and decrypting window images in the Linux system, the problem of information leakage caused by screenshot applications directly obtaining DRMBuffer images is solved, thus achieving enhanced security against screenshots and ensuring normal display on the monitor.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- WUHAN SHENZHIDU TECH CO LTD
- Filing Date
- 2026-04-08
- Publication Date
- 2026-05-05
AI Technical Summary
In Linux systems, when screenshot applications directly access the libdrm interface to obtain window images from the DRMBuffer, screenshot protection fails, posing a risk of user information leakage.
The window image is synthesized by the operating system's display server, and then written into the graphics buffer in encrypted form by the graphics rendering management driver. After being decrypted and read by the display driver, it is sent to the monitor for display.
This implementation enhances the security of screenshot applications by reducing the risk of user information leakage while ensuring that the screen displays the decrypted window image correctly.
Smart Images

Figure CN121980595A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of operating systems, and more particularly to a data processing method, apparatus, electronic device, storage medium, and program product. Background Technology
[0002] In Linux systems, the typical process for displaying window images is as follows: Figure 1 As shown, the display server in user space is first responsible for compositing the image that the application window needs to be displayed on the monitor, for example, for Figure 1 If two applications (Application 1 and Application 2) need to be displayed simultaneously, the display server can combine their window images according to their placement and overlap on the monitor screen to obtain the window image to be displayed. Next, the display server needs to write the window image to the DRM Buffer (DRM refers to the Direct Rendering Manager, a core subsystem in the Linux kernel responsible for graphics card hardware management and graphics rendering). Since the DRM Buffer is managed by the DRM driver in the kernel, the display server in user space cannot directly write the image; instead, it needs to call the libdrm interface provided by the DRM driver to write the combined window image to the DRM Buffer. After the image is written, the display driver in the kernel reads the window image from the DRM Buffer and delivers it to the monitor for display. In addition, the display server can also provide a screenshot interface for user-space screenshot applications to obtain the window image and take screenshots.
[0003] To protect user privacy, anti-screenshot technology exists in related technologies. However, such technology is mainly at the display server level to prevent applications from taking screenshots through the display server's screenshot interface. Its implementation mainly targets the screenshot interface under the X and Wayland display architecture, adding an anti-screenshot control extension interface, allowing the display server to implement anti-screenshot control based on the extension interface.
[0004] However, if the screenshot application does not use the screenshot interface but instead obtains the window image in the DRMBuffer by directly accessing the libdrm interface, the screenshot prevention control will fail due to the inconvenience of adding a control extension interface to the libdrm interface, leading to the leakage of system screen information. Therefore, this technology carries the risk of user information leakage. Summary of the Invention
[0005] This disclosure provides a data processing method, apparatus, electronic device, storage medium, and program product to at least address the issue of how related technologies can reduce the risk of user information leakage.
[0006] According to a first aspect of the present disclosure, a data processing method is provided, the data processing method comprising: synthesizing a window image through a display server of an operating system; writing the window image into a graphics buffer in an encrypted form through a graphics rendering management driver of the operating system; decrypting and reading the encrypted window image in the graphics buffer through a display driver of the operating system to obtain the window image; and sending the window image to a display through the display driver for display by the display.
[0007] Optionally, writing the window image into the graphics buffer in an encrypted form through the graphics rendering management driver of the operating system includes: writing the window image into the graphics buffer through the graphics rendering management driver; and encrypting the window image in the graphics buffer into the encrypted window image using a storage encryption method.
[0008] Optionally, the step of writing the window image into the graphics buffer in an encrypted form through the graphics rendering management driver of the operating system further includes: adding an encryption mark to the graphics buffer; the step of decrypting and reading the encrypted window image in the graphics buffer through the display driver of the operating system to obtain the window image includes: decrypting and reading the encrypted window image in the graphics buffer through the display driver when the encryption mark is recognized to obtain the window image.
[0009] Optionally, the step of decrypting and reading the encrypted window image in the graphics buffer through the display driver of the operating system to obtain the window image includes: using the storage encryption method through the display driver to decrypt the encrypted window image in the graphics buffer into the window image; and reading the window image from the graphics buffer.
[0010] Optionally, writing the window image into the graphics buffer in encrypted form through the graphics rendering management driver of the operating system includes: writing the window image into the graphics buffer in encrypted form in response to receiving a plane update request sent by the display server through the graphics rendering management driver.
[0011] Optionally, writing the window image into the graphics buffer in an encrypted form through the graphics rendering management driver of the operating system includes: writing the window image into the graphics buffer in an encrypted form through the graphics rendering management driver when it is determined that a preset application is running in the operating system, wherein the preset application is an application with screenshot function.
[0012] According to a second aspect of the present disclosure, a data processing apparatus is provided, comprising: a compositing unit configured to composite a window image via a display server of an operating system; a writing unit configured to write the window image in an encrypted form to a graphics buffer via a graphics rendering management driver of the operating system; a reading unit configured to decrypt and read the encrypted window image in the graphics buffer via a display driver of the operating system to obtain the window image; and a sending unit configured to send the window image to a display via the display driver for display.
[0013] Optionally, the writing unit is further configured to: write the window image to the graphics buffer via the graphics rendering management driver; and encrypt the window image in the graphics buffer into the encrypted window image using a storage encryption method.
[0014] Optionally, the writing unit is further configured to add an encryption mark to the graphics buffer; the reading unit is further configured to, through the display driver, decrypt and read the encrypted window image in the graphics buffer when the encryption mark is detected, to obtain the window image.
[0015] Optionally, the reading unit is further configured to: decrypt the encrypted window image in the graphics buffer into the window image using the storage encryption method via the display driver; and read the window image from the graphics buffer.
[0016] Optionally, the writing unit is further configured to write the window image in encrypted form to the graphics buffer in response to receiving a planar update request sent by the display server, via the graphics rendering management driver.
[0017] Optionally, the writing unit is further configured to write the window image in encrypted form to the graphics buffer via the graphics rendering management driver, when it is determined that a preset application is running in the operating system, wherein the preset application is an application with screenshot functionality.
[0018] According to a third aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and at least one memory storing computer-executable instructions, wherein the computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform a data processing method according to an exemplary embodiment of the present disclosure.
[0019] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein instructions in the computer-readable storage medium, when executed by at least one processor, cause at least one processor to perform a data processing method according to an exemplary embodiment of the present disclosure.
[0020] According to a fifth aspect of the present disclosure, a computer program product is provided, including computer instructions that, when executed by at least one processor, cause at least one processor to perform a data processing method according to an exemplary embodiment of the present disclosure.
[0021] The technical solutions provided by the embodiments of this disclosure offer at least the following beneficial effects: Based on the data processing method, apparatus, electronic device, storage medium, and program product of this disclosure, a screenshot-prevention security enhancement strategy based on a graphics buffer encryption / decryption mechanism is provided. By modifying the graphics rendering management driver (e.g., including but not limited to the DRM driver), the window image synthesized from the display server window is encrypted and written to the graphics buffer (e.g., including but not limited to the DRM buffer). This ensures that screenshot applications can only obtain the encrypted window image from the graphics buffer and cannot obtain valid system screen information, preventing critical information of the electronic device from being obtained by screenshot applications and reducing the risk of user information leakage. Simultaneously, by requiring the display driver to decrypt and read the encrypted window image from the graphics buffer, it ensures that the display normally displays the decrypted window image, guaranteeing the normal operation of the display.
[0022] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0023] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.
[0024] Figure 1 This is an architecture diagram of the screen display process of related technologies.
[0025] Figure 2 This is a flowchart of a data processing method according to an exemplary embodiment of the present disclosure.
[0026] Figure 3 This is a screen display flowchart of a data processing method according to an exemplary embodiment of the present disclosure.
[0027] Figure 4 This is a block diagram of a data processing apparatus according to exemplary embodiments of the present disclosure.
[0028] Figure 5This is a block diagram of an electronic device according to exemplary embodiments of the present disclosure. Detailed Implementation
[0029] To enable those skilled in the art to better understand the technical solutions of this disclosure, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings.
[0030] It should be noted that the terms "first," "second," etc., used in this disclosure and the accompanying drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following examples do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure.
[0031] It should be noted that the phrase "at least one of several items" in this disclosure refers to three parallel cases: "any one of the several items", "a combination of any number of the several items", and "all of the several items". For example, "including at least one of A and B" includes the following three parallel cases: (1) including A; (2) including B; (3) including A and B. Another example is "performing at least one of step one and step two", which means the following three parallel cases: (1) performing step one; (2) performing step two; (3) performing both step one and step two.
[0032] Hereinafter, data processing methods, apparatus, electronic devices, storage media, and program products according to exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0033] Figure 2 This is a flowchart of a data processing method according to an exemplary embodiment of the present disclosure. Figure 3 This is a screen display flowchart of a data processing method according to an exemplary embodiment of the present disclosure. The data processing method is applied to an operating system and can be executed by an electronic device with sufficient computing power, the operating system being installed on that electronic device.
[0034] Reference Figure 2 In step 201, the window image is synthesized through the operating system's display server.
[0035] This step can employ relevant techniques for image synthesis, such as... Figure 3 As shown, the display server combines the window patterns of application 1 and application 2 together to obtain the window image.
[0036] In step 202, the window image is written to the graphics buffer in encrypted form through the operating system's graphics rendering management driver.
[0037] The graphics rendering management driver is used to manage images to be displayed, such as, but not limited to, images... Figure 3 The DRM driver shown can be accessed by the user-space display server via a call to the DRM interface (e.g., ...). Figure 3 The libdrm interface shown implements operations on the DRM driver. An exemplary embodiment of this disclosure modifies the graphics rendering management driver to write the encrypted window image of the display server window to the graphics buffer (e.g., including but not limited to...). Figure 3 The DRM Buffer shown allows screenshot applications (such as...) to... Figure 3 The malicious application shown in section 3) can only obtain the encrypted window image from the graphics buffer through the DRM interface, and cannot obtain the valid system screen information. This can prevent the screenshot application from obtaining the key information of the electronic device and reduce the risk of user information leakage.
[0038] In step 203, the encrypted window image in the graphics buffer is decrypted and read using the operating system's display driver to obtain the window image.
[0039] In step 204, the window image is sent to the monitor via the display driver for display.
[0040] Display driver ( Figure 3 (Not shown) is used to send image data in the graphics buffer to the display in the correct format and timing. An exemplary embodiment of this disclosure ensures that the display can correctly display the decrypted window image by having the display driver decrypt and read the encrypted window image from the graphics buffer, thus guaranteeing the normal operation of the display.
[0041] The data processing method according to exemplary embodiments of this disclosure will now be further described.
[0042] Regarding the encryption processing of the graphics rendering management driver, in some embodiments, step 202 can optionally involve storing the unencrypted window image in another storage space through the graphics rendering management driver, then performing encryption processing to obtain an encrypted window image, and finally transferring the encrypted window image to the graphics buffer.
[0043] In some embodiments, step 202 may optionally include: writing the window image to the graphics buffer via a graphics rendering management driver; and encrypting the window image in the graphics buffer into an encrypted window image using a storage encryption method. This embodiment directly encrypts all data stored in the graphics buffer (i.e., the unencrypted window image) using a storage encryption method (e.g., including but not limited to the aes_xts_encrypt method), without relying on other storage spaces as intermediaries. This saves storage space, reduces data transfer operations between different storage spaces, and lowers the risk of the screenshot application obtaining the unencrypted window image from other storage spaces. As an example, this method can overwrite the original window image in the graphics buffer with the encrypted window image after encryption is completed.
[0044] It should be understood that either of these two specific encryption methods can be used, and other reasonable encryption methods can also be used, which is not limited in this disclosure.
[0045] Regarding the triggering conditions for encryption processing, in some embodiments, step 202 optionally includes: via the graphics rendering management driver, in response to receiving a planar update request sent by the display server, writing the window image in encrypted form to the graphics buffer. This embodiment describes the time-triggered conditions for encryption processing. Receiving a planar update request means that the displayed content of the monitor needs to be updated, which also requires writing the window image to the graphics buffer. By triggering encryption processing at this time, timely encryption of the window image can be effectively guaranteed.
[0046] In some embodiments, step 202 optionally includes: writing the window image in encrypted form to the graphics buffer via a graphics rendering management driver, provided that a preset application is running in the operating system. The preset application is an application with screenshot functionality. This embodiment describes the application triggering conditions for encryption processing. The preset application can be a dedicated screenshot application or other applications with screenshot functionality, such as, but not limited to, chat applications. If a preset application is running in the operating system, the window image may be captured by the preset application; otherwise, it will not be captured. Therefore, by performing encryption processing only when a preset application is running in the operating system—meaning encryption processing is unnecessary when the preset application is not running (and decryption processing is unnecessary in step 203 accordingly)—the number of encryption and decryption operations can be reduced, helping to save system computing resources.
[0047] As an example, the determination of preset applications can be done through a list approach, maintaining a whitelist or blacklist, with applications not listed in the whitelist or listed in the blacklist as preset applications. Alternatively, a screenshot screening method can be used, for example, including but not limited to obtaining the configuration information of a specific application's functions to determine whether the application has screenshot capabilities, thereby determining whether the application is a preset application. Of course, other reasonable methods can also be used to determine preset applications, and this disclosure does not impose any restrictions on them.
[0048] It should be understood that this embodiment is one implementation of the application triggering conditions, and other triggering conditions related to the preset application can also be set, such as including but not limited to determining that a preset application is installed in the operating system. This disclosure does not limit this.
[0049] It should also be understood that since these two specific triggering conditions are not contradictory in implementation, they can be used either one or both. When used simultaneously, for example, when only the time triggering condition is met, the window image can be written directly to the graphics buffer in an unencrypted form; when only the application triggering condition is met, the window image cannot be written; and when both the time triggering condition and the application triggering condition are met, the window image can be written to the graphics buffer in an encrypted form.
[0050] Regarding the decryption process of the display driver, in some embodiments, step 203 may optionally involve the display driver first reading the encrypted window image from the graphics buffer and storing it in other storage spaces, and then performing decryption to obtain the window image.
[0051] In some embodiments, step 203 may optionally include: decrypting the encrypted window image in the graphics buffer into a window image using a storage encryption method via the display driver; and reading the window image from the graphics buffer. This embodiment directly decrypts all encrypted data (i.e., the encrypted window image) in the graphics buffer using a storage encryption method (e.g., including but not limited to the aes_xts_encrypt method), without relying on other storage space as a transfer point. This saves storage space, reduces data transfer operations between different storage spaces, and lowers the risk of the screenshot application obtaining unencrypted window images from other storage spaces. As an example, this method can overwrite the original encrypted window image in the graphics buffer with the window image after decryption, and can delete the window image in the graphics buffer after the display driver reads the window image.
[0052] It should be understood that either of these two specific decryption processing methods can be used, and other reasonable decryption processing methods can also be used, which is not limited in this disclosure.
[0053] From the perspective of triggering the decryption process, the display driver can be instructed to perform decryption processing if the graphics rendering management driver has performed encryption processing on the window image. Specifically, step 202 may optionally include: adding an encryption marker to the graphics buffer after writing the window image in encrypted form; step 203 includes: decrypting and reading the encrypted window image in the graphics buffer through the display driver when the encryption marker is detected, thus obtaining the window image. By adding an encryption marker to the graphics buffer storing the encrypted window image, the display driver can determine whether to perform decryption processing based on whether the graphics buffer has an encryption marker, thereby providing a clear basis for the operation of the display driver.
[0054] As an example, the encryption tag can be used in conjunction with the aforementioned implementation of application triggering conditions for encryption processing. In other words, when application triggering conditions are set, the graphics rendering management driver determines whether to perform an encryption operation based on whether the conditions are met. Based on this, if it is determined that an encryption operation will be performed, an encryption tag can be added to the graphics buffer after the encrypted write is completed; if it is determined that an encryption operation will not be performed, an encryption tag can be left unadded to the graphics buffer after the unencrypted regular write is completed.
[0055] The following describes a data processing method according to a specific embodiment of this disclosure.
[0056] In this specific embodiment, the graphics rendering management driver is a DRM driver, and the graphics buffer is a DRM buffer.
[0057] First, XTS encryption is enabled through kernel XTS (XEX-based Tweaked CodeBook mode with CiphertextStealing, where XEX stands for XOR-Encrypt-XOR). When the DRM driver receives the plane update request driver_plane_atomic_update sent by the display server, it calls the aes_xts_encrypt method to encrypt the data in the entire DRM Buffer (i.e., the window image written by the display server).
[0058] Next, the CRTC (Cathode Ray Tube Controller) configuration register marks the DRM Buffer as "encrypted", which means adding an encryption flag. When the CRTC's scanout DMA (ScanoutDirect Memory Access Engine) reads the DRM Buffer, it calls the aes_xts_decrypt method to decrypt the data (i.e., the encrypted window image) in the entire DRM Buffer.
[0059] In this specific embodiment, the key is generated and stored by the TEE (Trusted Execution Environment), and the DRM driver obtains the key for encryption and decryption services through SMC (Secure Multi-party Computation) calls.
[0060] Figure 4 This is a block diagram of a data processing apparatus according to exemplary embodiments of the present disclosure. (Refer to...) Figure 4 The device includes a synthesis unit 401, a writing unit 402, a reading unit 403, and a sending unit 404.
[0061] The compositing unit 401 is configured to compose window images via the operating system's display server.
[0062] The write unit 402 is configured to write the window image to the graphics buffer in encrypted form via the operating system's graphics rendering management driver.
[0063] The reading unit 403 is configured to decrypt and read the encrypted window image in the graphics buffer through the display driver of the operating system to obtain the window image.
[0064] The sending unit 404 is configured to send the window image to the display via the display driver for display.
[0065] Optionally, the writing unit 402 is also configured to: write the window image to the graphics buffer via the graphics rendering management driver; and encrypt the window image in the graphics buffer into an encrypted window image using a storage encryption method.
[0066] Optionally, the writing unit 402 is further configured to add an encryption mark to the graphics buffer; the reading unit 403 is further configured to decrypt and read the encrypted window image in the graphics buffer through the display driver when the encryption mark is detected, so as to obtain the window image.
[0067] Optionally, the reading unit 403 is further configured to: decrypt the encrypted window image in the graphics buffer into a window image using a storage encryption method via a display driver; and read the window image from the graphics buffer.
[0068] Optionally, the writing unit 402 is also configured to write the window image in encrypted form to the graphics buffer in response to receiving a planar update request sent by the display server, via the graphics rendering management driver.
[0069] Optionally, the writing unit 402 is also configured to write a window image in encrypted form to a graphics buffer when a preset application is determined to be running in the operating system, via a graphics rendering management driver, wherein the preset application is an application with screenshot functionality.
[0070] Regarding the apparatus in the above embodiments, the specific manner in which each unit performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0071] According to embodiments of this disclosure, an electronic device may be provided. Figure 5 This is a block diagram of an electronic device 500 according to an embodiment of the present disclosure. The electronic device includes at least one memory 501 and at least one processor 502. The at least one memory stores a set of computer-executable instructions 5011 and an operating system 5012. When the set of computer-executable instructions 5011 is executed by the at least one processor 502, a data processing method according to an embodiment of the present disclosure is executed.
[0072] As an example, electronic device 500 may be a PC, tablet, personal digital assistant, smartphone, or other device capable of executing the aforementioned set of instructions. Here, electronic device 500 is not necessarily a single electronic device, but may be a collection of any devices or circuits capable of executing the aforementioned instructions (or instruction sets) individually or in combination. Electronic device 500 may also be part of an integrated control system or system manager, or may be configured to interconnect with a portable electronic device locally or remotely (e.g., via wireless transmission) through an interface.
[0073] In electronic device 500, processor 502 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, processor 502 may also include analog processors, digital processors, microprocessors, multi-core processors, processor arrays, network processors, etc.
[0074] The processor 502 can execute instructions or code stored in memory, and the memory 501 can also store data. Instructions and data can also be sent and received over a network via a network interface device, wherein the network interface device can employ any known transmission protocol.
[0075] The memory 501 may be integrated with the processor 502, for example, by placing RAM or flash memory within an integrated circuit microprocessor. Alternatively, the memory 501 may include a separate device, such as an external disk drive, a storage array, or other storage device usable by any database system. The memory 501 and the processor 502 may be operatively coupled, or may communicate with each other, for example, via I / O ports, network connections, etc., enabling the processor 502 to read files stored in the memory 501.
[0076] In addition, the electronic device 500 may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, mouse, touch input device, etc.). All components of the electronic device can be interconnected via a bus and / or network.
[0077] According to embodiments of this disclosure, a computer-readable storage medium may also be provided, wherein when instructions in the computer-readable storage medium are executed by at least one processor, the at least one processor causes the at least one processor to perform the data processing method of the embodiments of this disclosure. Examples of computer-readable storage media include: read-only memory (ROM), random access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disc storage, hard disk drive (HDD), solid-state drive (SSD), card storage (such as multimedia cards, secure digital (SD) cards, or ultra-fast digital (XD) cards), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid-state drive, and any other device configured to store a computer program and any associated data, data files, and data structures in a non-transitory manner and to provide the computer program and any associated data, data files, and data structures to a processor or computer so that the processor or computer can execute the computer program. The computer program in the aforementioned computer-readable storage medium can run in an environment deployed in computer devices such as clients, hosts, agent devices, servers, etc. Furthermore, in one example, the computer program and any associated data, data files, and data structures are distributed across a networked computer system, such that the computer program and any associated data, data files, and data structures are stored, accessed, and executed in a distributed manner through one or more processors or computers.
[0078] According to an embodiment of this disclosure, a computer program product is provided, including computer instructions, which, when executed by a processor, implement the data processing method of the embodiment of this disclosure.
[0079] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.
Claims
1. A data processing method, characterized in that, The data processing method includes: The window image is synthesized using the operating system's display server; The window image is written to the graphics buffer in encrypted form through the graphics rendering management driver of the operating system. The encrypted window image in the graphics buffer is decrypted and read using the display driver of the operating system to obtain the window image; The window image is sent to the monitor for display via the display driver.
2. The data processing method as described in claim 1, characterized in that, The step of writing the window image into the graphics buffer in encrypted form through the graphics rendering management driver of the operating system includes: The window image is written to the graphics buffer via the graphics rendering management driver. The window image in the graphics buffer is encrypted using a storage encryption method to create the encrypted window image.
3. The data processing method as described in claim 1, characterized in that, The step of writing the window image into the graphics buffer in encrypted form through the graphics rendering management driver of the operating system also includes: Add an encryption marker to the graphics buffer; The step of decrypting and reading the encrypted window image in the graphics buffer through the display driver of the operating system to obtain the window image includes: The display driver, upon recognizing the encryption marker, decrypts and reads the encrypted window image in the graphics buffer to obtain the window image.
4. The data processing method as described in claim 2, characterized in that, The step of decrypting and reading the encrypted window image in the graphics buffer through the display driver of the operating system to obtain the window image includes: Using the display driver and the storage encryption method, the encrypted window image in the graphics buffer is decrypted into the window image. Read the window image from the graphics buffer.
5. The data processing method as described in claim 1, characterized in that, The step of writing the window image into the graphics buffer in encrypted form through the graphics rendering management driver of the operating system includes: In response to receiving a planar update request from the display server, the graphics rendering management driver writes the window image to the graphics buffer in encrypted form.
6. The data processing method according to any one of claims 1 to 5, characterized in that, The step of writing the window image into the graphics buffer in encrypted form through the graphics rendering management driver of the operating system includes: Through the graphics rendering management driver, if it is determined that a preset application is running in the operating system, the window image is written to the graphics buffer in an encrypted form, wherein the preset application is an application with screenshot function.
7. A data processing apparatus, characterized in that, The data processing device includes: The compositing unit is configured to composite window images via the operating system's display server; The writing unit is configured to write the window image into the graphics buffer in encrypted form through the graphics rendering management driver of the operating system. The reading unit is configured to decrypt and read the encrypted window image in the graphics buffer through the display driver of the operating system to obtain the window image; The sending unit is configured to send the window image to the display via the display driver for display.
8. An electronic device, characterized in that, include: At least one processor; At least one memory that stores computer-executable instructions. The computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform the data processing method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, When the instructions in the computer-readable storage medium are executed by at least one processor, they cause the at least one processor to perform the data processing method as described in any one of claims 1 to 6.
10. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by at least one processor, they cause the at least one processor to perform the data processing method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Data processing method and device, program product and electronic equipment
CN118964087A
Cryptographic shader in display hardware
US20160142202A1
Intelligent sensing of screen content updates for user context processing
US20250217010A1
Decryption of graphics data in a graphics processing pipeline
US7159112B1
Method for securing a display of sensitive data by a graphics processing unit of an electronic device
WO2019086493A1