Safe screen projection method, system and equipment and storage medium
By encrypting transmission and installing a trusted decryption application specified by the projection source on the display end, the security risks of projection data during transmission and display are resolved, and secure data display is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2026-03-10
AI Technical Summary
Existing screen mirroring technologies have failed to effectively address data security risks during the transmission and display of screen mirrored data, posing a potential risk of data leakage.
By encrypting the transmitted screen projection data and installing a trusted decryption application specified by the projection source on the display device, the encrypted screen projection data is decrypted, ensuring the secure display of the data on the display device.
It improves the security of screen-projected data, reduces the risk of data leakage during transmission and display, and enhances data security.
Smart Images

Figure CN121635826A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of display, in particular to a secure screen projection method, system, device and storage medium. BACKGROUND
[0002] With the development of network technology and display devices, display linkage between different devices gradually becomes a common demand in life and work.
[0003] For example, in a work meeting, screen projection technology is used to synchronize the display interface of a personal computer to a large screen in the meeting room; in life, screen projection technology is used to synchronize the display interface of a mobile phone to a television screen in the living room, and so on.
[0004] However, the current screen projection technology does not take into account the security of the screen projection data, and there is a great risk of data security in many use scenarios. For example, data is leaked during transmission of screen projection data, or data is leaked during screen projection. SUMMARY
[0005] The present application provides a secure screen projection method, system, device and storage medium to solve the problems in the related art.
[0006] According to a first aspect of an embodiment of the present application, a secure screen projection method is provided, which is applied to a trusted decryption application; the trusted decryption application is installed in a display end; the display end is used to display screen projection data sent by a screen projection source end; the trusted decryption application is an application specified by the screen projection source end;
[0007] The method comprises:
[0008] determining ciphertext screen projection data sent by the screen projection source end;
[0009] decrypting the determined ciphertext screen projection data to obtain plaintext screen projection data, and displaying the obtained plaintext screen projection data in the display end.
[0010] According to a second aspect of an embodiment of the present application, a secure screen projection method is provided, which is applied to a secure screen projection application; the secure screen projection application is used to send screen projection data to a display end; the display end is used to display screen projection data sent by the secure screen projection application; a trusted decryption application is installed in the display end; the trusted decryption application is an application specified by the secure screen projection application, and is used to decrypt ciphertext screen projection data sent by the secure screen projection application;
[0011] The method comprises:
[0012] The ciphertext screen projection data is sent to the display end, so that the trusted decryption application in the display end performs the following steps: determining the ciphertext screen projection data sent by the secure screen projection application; decrypting the determined ciphertext screen projection data to obtain plaintext screen projection data, and displaying the obtained plaintext screen projection data in the display end.
[0013] According to a third aspect of the embodiments of the present application, a secure screen projection method is provided, which is applied to a display end; the display end is used to display screen projection data sent by a screen projection source end; a trusted decryption application is installed in the display end; the trusted decryption application is an application designated by the screen projection source end;
[0014] The method comprises:
[0015] The trusted decryption application is called to perform the following steps: determining the ciphertext screen projection data sent by the screen projection source end; decrypting the determined ciphertext screen projection data to obtain plaintext screen projection data, and displaying the obtained plaintext screen projection data in the display end.
[0016] According to a fourth aspect of the embodiments of the present application, a secure screen projection method is provided, which is applied to a screen projection source end; the screen projection source end is used to send screen projection data to a display end; the display end is used to display the screen projection data sent by the screen projection source end; a trusted decryption application is installed in the display end; the trusted decryption application is an application designated by the screen projection source end;
[0017] The method comprises:
[0018] The ciphertext screen projection data is sent to the display end, so that the trusted decryption application in the display end performs the following steps: determining the ciphertext screen projection data sent by the screen projection source end; decrypting the determined ciphertext screen projection data to obtain plaintext screen projection data, and displaying the obtained plaintext screen projection data in the display end.
[0019] According to the above embodiments, by encrypting the transmission of the screen projection data, the security of the screen projection data can be improved, and the data security risk of the screen projection data can be reduced.
[0020] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present application. BRIEF DESCRIPTION OF DRAWINGS
[0021] The accompanying drawings, which are incorporated into and form part of the specification, illustrate embodiments consistent with the present application and, together with the specification, serve to explain the principles of the present application.
[0022] Figure 1 is a schematic diagram of a screen projection process according to an embodiment of the present application;
[0023] Figure 2 This is a flowchart illustrating a secure screen projection method according to an embodiment of the present invention;
[0024] Figure 3 This is a schematic diagram illustrating a decryption software installation process according to an embodiment of the present invention;
[0025] Figure 4 This is a flowchart illustrating a screen projection method according to an embodiment of the present invention;
[0026] Figure 5 This is a flowchart illustrating an HDMI screen projection method according to an embodiment of the present invention;
[0027] Figure 6 This is a schematic diagram of a secure projection device according to an embodiment of the present invention;
[0028] Figure 7 This is a schematic diagram of the hardware structure of a computer device configured according to an embodiment of the present invention. Detailed Implementation
[0029] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the invention as detailed in the appended claims.
[0030] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the embodiments of the present invention are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0031] With the development of network technology and display devices, display linkage between different devices has gradually become a common need in life and work.
[0032] For example, screen mirroring technology can be used in work meetings to simultaneously display the personal computer's screen on the large screen in the meeting room; screen mirroring technology can also be used in daily life to simultaneously display the mobile phone's screen on the TV screen in the living room, and so on.
[0033] However, current screen mirroring technology does not take into account the issue of screen mirroring data security, and there are often significant data security risks in many use cases. For example, data may be leaked during the transmission of screen mirroring data, or data may be leaked during the screen mirroring process.
[0034] This invention discloses a secure screen mirroring method.
[0035] In this method, considering that the specific screen casting process requires interaction between two devices to achieve screen casting, specifically including the screen casting source and the display device that needs to display the screen casting content, there may be data security risks due to distrust between these two devices.
[0036] Since the projection source needs to send its own data to the display end for display, the projection source also needs to consider the security of its own data, especially whether the display end will affect the security of the projection data.
[0037] For example, some applications on the display device may illegally intercept screen-cast data, performing unauthorized screenshots or screen recordings. This is especially true when the source device is casting to an unfamiliar display device, posing a certain data security risk.
[0038] For example, during the process of sending projection data from the projection source to the display, the transmitted data packets may be intercepted, thus leaking the projection data.
[0039] To improve the security of the projection data at the projection source, this method uses encrypted transmission to send the projection data.
[0040] Specifically, the source end can encrypt the plaintext projection data to obtain ciphertext projection data, send the ciphertext projection data to the display end, and the display end can decrypt it to obtain the plaintext projection data and display it.
[0041] This allows for the transmission of encrypted screen projection data, thereby reducing data security risks during transmission and improving the security of the screen projection data.
[0042] Furthermore, considering that the display device may be unfamiliar with the source device, thus posing a certain data security risk, this method identifies the decryption application specified by the source device and installs it on the display device. The display device can use the installed decryption application to decrypt the encrypted projection data to obtain plaintext projection data, and then display the plaintext projection data through the decryption application.
[0043] Since the decryption application is specified by the casting source, the casting source's trust in the decryption application is increased, thus improving the security of the cast data. Compared to decryption applications that the casting source does not trust or are unfamiliar with, the specified decryption application poses a lower risk of data leakage. Therefore, by using a decryption application specified by the casting source, the risk of data leakage by the decryption application can be reduced, thereby improving data security.
[0044] Among them, the screen casting source can specify a decryption application with high security. For example, the screen casting source can specify an existing decryption application on the market, or it can directly build or generate a decryption application and send it to the display end for installation.
[0045] The decryption application can also be used to decrypt encrypted projection data sent by the projection source. Specifically, the decryption application and the projection source can interact in advance to determine the decryption method, or the decryption method can be set in the decryption application when it is generated on the projection source.
[0046] In this method, the security of the screen projection data can be improved by encrypting the transmission of the screen projection data, and the encrypted screen projection data can be decrypted by a decryption application specified by the screen projection source, thereby increasing the trust of the screen projection source in the decryption application and improving the security of the screen projection data.
[0047] For ease of understanding, such as Figure 1 As shown, Figure 1 This is a schematic diagram illustrating the principle of a screen projection process according to an embodiment of the present invention.
[0048] Among them, the source device can display the content displayed on the source device on the display device through screen mirroring.
[0049] The display device can include a trusted decryption application and display components specified by the projection source device. The projection source device can send encrypted projection data to the trusted decryption application installed on the display device for decryption to obtain plaintext projection data, which is then displayed in the display components of the display device.
[0050] The display component can specifically be a display screen.
[0051] The following is a detailed explanation of a secure screen mirroring method provided by an embodiment of the present invention.
[0052] like Figure 2 As shown, Figure 2 This is a flowchart illustrating a secure screen projection method according to an embodiment of the present invention.
[0053] This method can be applied to trusted decryption applications. Trusted decryption applications can be installed on the display device.
[0054] The display device can be used to display the screen-projected data sent by the projection source. The trusted decryption application can be an application specified by the projection source. The trusted decryption application can be used to decrypt the encrypted screen-projected data sent by the projection source.
[0055] The trusted decryption application can be an application pre-specified by the projection source, or an application specifically designated by the projection source. In other words, it's an application designated by the projection source that can be used to decrypt the encrypted projection data sent by the projection source. In some specific examples, the trusted decryption application can be a designated application sent by the projection source to the display for installation, or a designated application whose identification information or download link is sent by the projection source to the display for installation.
[0056] The method may include the following steps.
[0057] S101: The trusted decryption application determines the encrypted screen projection data sent by the projection source.
[0058] S102: The trusted decryption application decrypts the determined ciphertext projection data to obtain plaintext projection data, and displays the obtained plaintext projection data on the display terminal.
[0059] The above method can improve the security of screen projection data by encrypting the transmission of screen projection data.
[0060] The above method can also decrypt the encrypted screen projection data through a trusted decryption application specified by the projection source, thereby increasing the projection source's trust in the decryption application and improving the security of the screen projection data.
[0061] Compared to untrusted or unfamiliar decryption applications at the screen mirroring source, trusted decryption applications pose a lower risk of data leakage. Therefore, by using trusted decryption applications, the risk of data leakage by decryption applications can be reduced, thereby improving data security.
[0062] The following is a detailed explanation of each aspect.
[0063] I. Display end and projection source end.
[0064] This method does not limit the specific screen casting process between the display end and the projection source end.
[0065] Optionally, the projection source sends projection data to the display, and the display shows the received projection data. Alternatively, the projection source establishes a projection connection with the display beforehand, and then sends the projection data to the display for display through the projection connection. Another option is that the projection source pre-selects a display and establishes a projection connection, and then sends the projection data to the display for display through the projection connection.
[0066] This method does not limit the transmission method of the screen-casting data. Optionally, it can be wireless or wired transmission, such as screen casting within the same local area network, or screen casting via HDMI connection, etc.
[0067] This method does not limit the form of the screen-projected data; it can be files, videos, documents, images, text, etc.
[0068] Optionally, the projected data may include at least one of the following: a complete document, a real-time captured video stream, a real-time captured image, and data transmitted via a High Definition Multimedia Interface (HDMI) connection. Specifically, it may be a complete document on the projected source, a real-time captured video stream on the projected source, a real-time captured image on the projected source, and data transmitted by the projected source via an HDMI connection.
[0069] For ease of distinction, the data can be differentiated based on whether it is encrypted or not. The original screen projection data can be called plaintext screen projection data, or the unencrypted screen projection data can be called plaintext screen projection data, and the encrypted screen projection data can be called ciphertext screen projection data.
[0070] This method does not limit the specific transmission process of the projected data. Optionally, the entire file can be sent to the display for presentation, or the projection source can send a video stream or image to the display in real time. This embodiment does not limit the specific transmission method between the projection source and the display; it can be transmitted via data packets or data groups, such as via UDP data packets or TCP data packets.
[0071] When the projection source sends encrypted projection data to the display, the encrypted projection data can be split into individual data packets and sent to the display separately.
[0072] In a specific example, the source device can record or screenshot the current screen and send it to the display device in real time for display, thus achieving screen casting. Alternatively, the source device can send a complete local presentation document to the display device for display; correspondingly, operations on the presentation document on the source device can be synchronized to the display device in real time. The source device can also cast a video that is playing online to the display device, transmitting the received video stream to the display device for display, or the display device can receive the real-time video stream for display.
[0073] This method does not limit the connection between the display and the projection source; it can be a wired or wireless connection. For example, a wireless connection within the same local area network, or a wired connection via an HDMI interface.
[0074] It is understandable that the display end can be any display device and can have display functionality. The projection source end can be any device that can send data to external devices and can have projection functionality.
[0075] This method does not limit the specific form of the display end. The display end can be a terminal with display functionality or a device with display functionality. Examples of display ends include television equipment, computer equipment with a display screen, and projection equipment, etc.
[0076] This method does not limit the specific form of the projection source. The projection source can be any terminal or device with projection functionality. Examples of projection sources include mobile devices such as mobile phones, laptops, and tablets.
[0077] This method does not limit the way the projection source and display end are determined.
[0078] Optionally, any device that needs to be projected can be designated as the projection source. In particular, the device that needs to be projected to the display can be designated as the projection source.
[0079] When determining the display end, you can directly select any display device as the display end, you can fix the same display device as the display end, or you can select the specified display device as the display end according to the instructions or operations of the projection source end.
[0080] Specifically, when the screen mirroring source starts mirroring, it obtains one or more devices that can be mirrored, allowing the user to select one. The device selected by the user is then designated as the display end for showing the mirrored data.
[0081] In one alternative embodiment, since the display end may be unfamiliar with the projection source end, or may not belong to the same business party, there may be certain data security risks.
[0082] For example, if a user holds a meeting in a public conference room and uses the conference room's display equipment for screen projection, there may be certain data security risks. Similarly, if a user rents display equipment for screen projection, there may also be certain data security risks.
[0083] Therefore, in order to improve data security and reduce data security risks, alternatively, in addition to using encrypted transmission to transmit screen projection data, a trusted decryption application specified by the screen projection source can be installed on the display end to decrypt the encrypted screen projection data sent by the screen projection source. By using the trusted decryption application specified by the screen projection source, the level of trust between the screen projection source and the display end and the trusted decryption application can be improved, thereby enhancing data security.
[0084] The following section explains trusted decryption applications in detail.
[0085] II. Trusted decryption applications.
[0086] In one alternative embodiment, a trusted decryption application can be installed on the display device to decrypt the encrypted projection data sent by the projection source device, so that the display device can display the projection data sent by the projection source device.
[0087] This embodiment does not limit the timing and conditions for installing a trusted decryption application on the display end.
[0088] Optionally, the display device can have a trusted decryption application pre-installed, either pre-installed based on instructions from the projection source or in real-time upon request from the projection source. Alternatively, the display device can install the trusted decryption application in real-time, specifically when a projection connection is established between the projection source and the display device.
[0089] Furthermore, the installation of the trusted decryption application on the display device can be independent of the projection source device, but associated with other devices. For example, the trusted decryption application can be installed when the display device establishes a projection connection with any other device; it can also be installed under the instruction of any other device; or it can be installed based on user operation.
[0090] The display end can pre-install a trusted decryption application based on the instructions from the projection source end.
[0091] This embodiment does not limit the specific form of the instruction from the projection source. The instruction can be used to instruct the display end to install a trusted decryption application, or to request the display end to install a trusted decryption application, or to control the display end to install a trusted decryption application.
[0092] Specifically, this can be done by sending requests, sending messages, sending QR codes, sending download links, etc., to instruct the display terminal to install a trusted decryption application.
[0093] The trusted decryption application installed on the display device can have a certain association with the projection source device, thereby increasing the projection source device's trust in both the display device and the trusted decryption application, and improving data security. Compared to decryption applications that the projection source device does not trust or are unfamiliar with, trusted decryption applications pose a lower risk of data leakage. Therefore, using trusted decryption applications for decryption reduces the risk of data leakage by the decryption application itself, thus improving data security.
[0094] This embodiment does not limit the association between the trusted decryption application and the projection source. Specifically, this association can be used to improve the projection source's trust in the trusted decryption application.
[0095] Optionally, the trusted decryption application can be an application specified by the screen-sharing source. Specifically, the screen-sharing source can specify a trusted decryption application to decrypt the encrypted screen-sharing data sent by the screen-sharing source.
[0096] Because the trusted decryption application is specified by the projection source, the projection source has a high degree of trust in the trusted decryption application. Compared with decryption applications that the projection source does not trust or are unfamiliar with, the trusted decryption application has a lower risk of data leakage, thereby reducing data security risks.
[0097] This embodiment does not limit the specific method by which the decryption application is specified on the screen casting source side. Specifically, the screen casting source side can specify a decryption application with high security, a decryption application trusted by the screen casting source side, or a decryption application that the screen casting source side participated in developing, etc.
[0098] After establishing a connection with the display, the source device can specify a decryption application, also known as a trusted decryption application, to the display.
[0099] Accordingly, a trusted decryption application can be an application specified by the screen projection source for decrypting encrypted screen projection data sent by the screen projection source.
[0100] In one specific example, the source device for screen mirroring can specify a commercially available decryption application with high security as a trusted decryption application. Alternatively, the source device can directly generate a decryption application as a trusted decryption application.
[0101] In another specific example, the source device for screen mirroring can be a product developed by a business entity, such as a mobile phone. Correspondingly, this business entity can also develop software applications, thus allowing the designation of a decryption application developed by the same business entity as a trusted decryption application. The source device has a high degree of trust in trusted decryption applications developed by the same business entity.
[0102] Optionally, the trusted decryption application can be an application trusted by the screen casting source, an application trusted by the screen casting source, or an application with a high degree of trust by the screen casting source.
[0103] This embodiment can improve the trust level of the decryption application by directly measuring the level of trust the casting source has in the decryption application and selecting the application with a higher level of trust from the casting source as a trusted decryption application. This embodiment does not limit the specific method for determining the level of trust. Optionally, it can be determined based on factors such as the historical status of the decryption application, the risk of the decryption application, or the developer of the decryption application.
[0104] In one specific example, the screen-casting source can establish a pre-established cooperative relationship with any decryption application. The screen-casting source can trust the decryption application and identify it as a trusted decryption application, thereby reducing the risk of the decryption application leaking data.
[0105] In another specific example, the source device can obtain the source code of any decrypted application, thereby analyzing the specific functionalities implemented within the source code. If the source code is confirmed to be error-free, the source device can trust the decrypted application, thus reducing the risk of data leakage.
[0106] Optionally, the trusted decryption application can be an application bound to the projection source, an application associated with the projection source, or an application corresponding to the projection source.
[0107] This embodiment does not limit the specific binding relationship, association relationship, and correspondence relationship.
[0108] It is understood that the screen casting source can pre-bind a trusted decryption application, and this embodiment does not limit the specific binding method and binding relationship. For example, the screen casting source can pre-bind one or more highly secure decryption applications as trusted decryption applications; the screen casting source can also pre-bind one or more decryption applications generated by the screen casting source itself as trusted decryption applications.
[0109] Similarly, the projection source can pre-associate trusted decryption applications. This embodiment does not limit the specific association method or relationship. For example, the projection source can pre-associate one or more decryption applications with a high degree of trust as trusted decryption applications; the projection source can also pre-associate one or more decryption applications generated by the projection source itself as trusted decryption applications.
[0110] Similarly, the projection source can pre-build a mapping relationship with trusted decryption applications. This embodiment does not limit the specific construction method and mapping relationship. For example, the projection source can pre-build a mapping relationship between itself and one or more highly secure decryption applications as trusted decryption applications; the projection source can also pre-build a mapping relationship between itself and one or more highly trusted decryption applications as trusted decryption applications.
[0111] This embodiment can reduce the risk of data leakage by using a trusted decryption application bound to, associated with, or corresponding to the screen projection source. Compared to untrusted or unfamiliar decryption applications on the screen projection source, trusted decryption applications have a lower risk of data leakage.
[0112] Optionally, the trusted decryption application can be an application that meets the preset requirements of the projection source, an application that meets the preset conditions of the projection source, an application that has been screened by the projection source, or an application determined by the projection source.
[0113] This embodiment does not limit the preset requirements, preset conditions, filtering methods, and determination methods.
[0114] It is understood that this embodiment can filter or determine trusted decryption applications by the screen projection source. Compared with untrusted or unfamiliar decryption applications from the screen projection source, trusted decryption applications have a lower risk of data leakage, thereby reducing the risk of data leakage by decryption applications.
[0115] In specific examples, the preset requirements can be high security, specific encryption and decryption methods such as public and private key encryption and decryption, or the same business party as the screen projection source.
[0116] In the above embodiments, by leveraging the association between the projection source and the trusted decryption application, the projection source can select, determine, specify, filter, or otherwise identify the trusted decryption application. Compared to unfamiliar decryption applications or decryption applications that the projection source does not trust, trusted decryption applications pose a lower risk of data leakage, thereby reducing the risk of data leakage by the decryption application and improving data security.
[0117] For example, the display device may download any decryption application from the market, or a decryption application developed by the display device itself. If the decryption application is not associated with the screen casting source device, then these decryption applications are unfamiliar to the screen casting source device, thus posing a significant data security risk.
[0118] In a specific example, the source of the screen mirroring can be a mobile phone. To achieve secure screen mirroring, the developer of this mobile phone has developed an additional trusted decryption application that can be used to decrypt the encrypted screen mirroring data sent by the mobile phone.
[0119] Since the phone and the trusted decryption application are developed by the same developer, the trusted decryption application has a low risk of data leakage, and the phone can also trust the trusted decryption application.
[0120] Therefore, when users of this phone project their screen onto an unfamiliar display device, they can have the aforementioned trusted decryption application installed on that device. This allows for both encrypted transmission and the use of a trusted decryption application for decryption and display on the display device during the projection process.
[0121] Of course, in other specific embodiments, the projection source can also be a client. The client can be pre-bound to a trusted decryption application. Specifically, the client and the trusted decryption application can be developed by the same business party, or the client and the trusted decryption application can have a cooperative relationship.
[0122] In another alternative embodiment, the screen casting source can be an application, and the operations of the screen casting source can be performed by calling that application.
[0123] For ease of description, this application in the source device can be referred to as a secure screen mirroring application.
[0124] The source of the screen mirroring can be a secure screen mirroring application. Specifically, the secure screen mirroring application can be invoked to send the screen mirroring data to the display end, which can be a trusted decryption application installed on the display end.
[0125] Accordingly, the trusted decryption application can be the application specified by the secure screen casting application in the screen casting source.
[0126] To make it easier to understand, in a specific example, in order to adapt to more types of screen casting sources, it is often difficult for developers of different types of screen casting sources to collaborate. Therefore, secure screen casting can be achieved by developing a secure screen casting application that can be installed on the screen casting source.
[0127] Accordingly, the trusted decryption application can be the application specified by the secure screen mirroring application, and the trusted decryption application can be used to decrypt the encrypted screen mirroring data sent by the secure screen mirroring application.
[0128] The above step S101 can also be to determine the encrypted screen casting data sent by the secure screen casting application in the screen casting source.
[0129] This embodiment does not limit the association between secure screen mirroring applications and trusted decryption applications.
[0130] It's understandable that a trusted decryption application installed on the display device can have a certain association with a secure screen mirroring application on the source device. This increases the secure screen mirroring application's trust in both the display device and the trusted decryption application, thereby improving data security. Compared to decryption applications that the secure screen mirroring application doesn't trust or are unfamiliar with, trusted decryption applications pose a lower risk of data leakage. Therefore, using trusted decryption applications reduces the risk of data leakage from decryption applications and improves data security.
[0131] Optionally, the trusted decryption application can be an application specified by the secure screen-sharing application, or a trusted decryption application specified by the secure screen-sharing application, used to decrypt the encrypted screen-sharing data sent by the secure screen-sharing application.
[0132] Because the trusted decryption application is designated by the secure screen mirroring application, and the secure screen mirroring application has a high degree of trust in the trusted decryption application, the risk of data leakage is lower compared to decryption applications that the secure screen mirroring application does not trust or are unfamiliar with. This reduces data security risks.
[0133] This embodiment does not limit the specific method by which the secure screen mirroring application specifies the decryption application. Specifically, it can specify a decryption application with high security, a decryption application trusted by the secure screen mirroring application, or a decryption application that the secure screen mirroring application participated in developing, etc.
[0134] In one specific example, a secure screen mirroring application can specify a commercially available decryption application with high security as a trusted decryption application. Alternatively, the secure screen mirroring application can directly generate a decryption application as a trusted decryption application.
[0135] In another specific example, a secure screen mirroring application could be a product developed by a business entity. Correspondingly, this business entity could also develop other software applications, thus allowing the designation of a decryption application developed by the same business entity as a trusted decryption application. Secure screen mirroring applications have a high degree of trust in trusted decryption applications developed by the same business entity.
[0136] Optionally, the trusted decryption application can be an application trusted by the secure screen mirroring application, an application trusted by the secure screen mirroring application, or an application with a high degree of trust in the secure screen mirroring application.
[0137] Alternatively, the trusted decryption application can be an application bound to the secure screen mirroring application, an application associated with the secure screen mirroring application, or an application corresponding to the secure screen mirroring application. The trusted decryption application can also be an application that meets the preset requirements of the secure screen mirroring application, an application that meets the preset conditions of the secure screen mirroring application, an application that has been filtered by the secure screen mirroring application, or an application determined by the secure screen mirroring application.
[0138] For a detailed explanation, please refer to the above example, where the screen casting source can be replaced with a secure screen casting application.
[0139] In the above embodiments, by leveraging the association between secure screen-sharing applications and trusted decryption applications, the secure screen-sharing application can select, determine, specify, filter, or otherwise identify trusted decryption applications. Compared to unfamiliar decryption applications or decryption applications that the secure screen-sharing application does not trust, trusted decryption applications pose a lower risk of data leakage, thereby reducing the risk of data leakage by decryption applications and improving data security.
[0140] In a specific example, the source device for screen mirroring can be any mobile phone, specifically a secure screen mirroring application can be installed for screen mirroring. Correspondingly, the secure screen mirroring application, as a product, can be bound to a trusted decryption application developed by the same business party. This application is used to reliably decrypt the encrypted screen mirroring data sent by the secure screen mirroring application, thereby improving the security of decryption.
[0141] In mobile app stores, two products are available: a secure screen mirroring app and a trusted decryption app. The display device can pre-download and install the trusted decryption app, making it convenient for other devices to perform trusted screen mirroring through the secure screen mirroring app. The screen mirroring source device can also download and install the secure screen mirroring app, making it convenient to perform screen mirroring through the display device with the trusted decryption app installed.
[0142] Correspondingly, the display device can also be pre-installed with a trusted decryption application based on instructions from a secure screen mirroring application.
[0143] Furthermore, the installation of trusted decryption applications can also be related to the source of the screen projection.
[0144] This method does not limit the source or installation method of the trusted decryption application installed on the display terminal.
[0145] Optionally, the display device can obtain the trusted decryption application from the projection source, or it can obtain the trusted decryption application from other sources, such as app stores, other devices, QR codes, links, etc. The display device can obtain and install the trusted decryption application in advance, or it can obtain and install the trusted decryption application in real time when projection is needed.
[0146] The trusted decryption application can be pre-developed or developed in real-time. This embodiment does not limit the specific developer; it can be generated by the screen projection source or developed by other developers. In other words, the screen projection source can build the trusted decryption application in real-time or pre-build it.
[0147] Accordingly, the projection source can send a trusted decryption application to the display end, specifically a trusted decryption application that it has built itself.
[0148] In one specific example, the source device can generate a trusted decryption application. This embodiment does not limit the specific method of generating the trusted decryption application; it can be achieved by using a preset decryption application template and filling in the information to obtain the trusted decryption application.
[0149] For example, the source device can obtain a preset decryption application template. The application template only requires a decryption method or decryption key to complete the construction. Thus, the source device can provide the decryption method or decryption key to build a trusted decryption application.
[0150] For example, the source device can directly build a trusted decryption application based on a preset decryption method. Specifically, it can combine the code of the preset decryption method to obtain the corresponding trusted decryption application.
[0151] In this embodiment, since the trusted decryption application is built on the screen projection source, the risk of data leakage can be reduced and data security can be improved.
[0152] It is understandable that the trusted decryption application may not be built on the screen projection source, but can be pre-stored on the screen projection source, and the screen projection source sends the trusted decryption application stored thereon to the display end for installation.
[0153] Accordingly, in conjunction with the above embodiments of the secure screen mirroring application, in one optional embodiment, the secure screen mirroring application can construct a trusted decryption application. The display device can also obtain the trusted decryption application from the secure screen mirroring application. The secure screen mirroring application can send the trusted decryption application to the display device, specifically, it can send a trusted decryption application it has constructed itself. For a detailed explanation, please refer to the embodiments above.
[0154] Furthermore, when installing a trusted decryption application on the display device, the installation can be performed according to the instructions from the projection source. Alternatively, the display device can pre-install the trusted decryption application based on the instructions from the projection source.
[0155] This embodiment does not limit the specific form of the instruction from the projection source. The instruction can be used to instruct the display end to install a trusted decryption application, or it can be used to request the display end to install a trusted decryption application, or it can be used to control the display end to install a trusted decryption application.
[0156] Specifically, this can be done by sending requests, sending messages, sending QR codes, sending download links, or sending trusted decryption applications, instructing the display device to install the trusted decryption application.
[0157] Of course, this embodiment does not limit the timing of the instruction sent by the projection source. Specifically, after the projection source and the display end establish a projection connection, the projection source can send an instruction to the display end to instruct the display end to install a trusted decryption application. Alternatively, if the projection source determines that the display end does not have a trusted decryption application installed, the projection source can send an instruction to the display end to instruct the display end to install the trusted decryption application.
[0158] In this embodiment, since the trusted decryption application is installed on the display based on the instructions from the projection source, it has a lower risk of data leakage compared to other unfamiliar decryption applications. This reduces the data security risk of the decryption application and improves data security.
[0159] Accordingly, in conjunction with the above embodiments of the secure screen mirroring application, in one optional embodiment, the secure screen mirroring application can send an instruction, and the display terminal can pre-install a trusted decryption application based on the instruction of the secure screen mirroring application. For a detailed explanation, please refer to the embodiments above.
[0160] In a specific example, the source device for screen projection, such as a mobile phone, tablet, or computer, can install a secure screen projection application, which is a secure encryption software. When connecting to the conference room equipment, a trusted decryption application corresponding to the secure screen projection application is pushed to the conference room equipment and automatically runs and installs.
[0161] Specifically, when a user connects to the conference room equipment via a projection source device, the device information of the conference room equipment is obtained. The secure projection application on the projection source device can record this device information and generate a corresponding trusted decryption application, which is then pushed to the conference room equipment via the network and installed. If the conference room equipment does not have this trusted decryption application installed, it cannot successfully identify the user's projection source device, automatically disconnects, and therefore cannot perform subsequent projection operations.
[0162] Among them, the secure screen projection application can construct a decryption key or determine a decryption method based on device information and other information, which is used to generate a trusted decryption application and send it to the conference room equipment, that is, the display device, for installation.
[0163] In summary, optionally, the trusted decryption application may be generated by the projection source; and / or the trusted decryption application may be sent to the display by the projection source; and / or the trusted decryption application may be pre-installed on the display based on the instructions of the projection source.
[0164] In this embodiment, a trusted decryption application can be generated from the projection source to improve the security of the decryption application. Alternatively, the trusted decryption application can be sent to the display end from the projection source to improve the security of the decryption application. Or, the trusted decryption application can be installed on the display end based on the instructions from the projection source to improve the security of the decryption application.
[0165] Accordingly, the projection source can generate a trusted decryption application, or the projection source can send the trusted decryption application to the display end for installation, or the projection source can send an instruction to the display end. The instruction can be used to indicate the installation of the trusted decryption application. For example, the instruction can specifically include a download link or identification information of the trusted decryption application, so that the display end can install the trusted decryption application based on the instruction.
[0166] This method does not limit the specific circumstances of the trusted decryption application itself.
[0167] Optionally, the trusted decryption application can be used at least to decrypt encrypted screen-sharing data sent by the screen-sharing source.
[0168] Regarding the decryption capabilities of trusted decryption applications for encrypted screen projection data, this embodiment does not limit the specific acquisition method.
[0169] The decryption capability of the trusted decryption application can be acquired through pre-interaction with the projection source, such as by exchanging encryption / decryption keys or methods with the projection source beforehand. Alternatively, it can be set by the projection source when generating the trusted decryption application; for example, the projection source can directly set the decryption key or method capable of decrypting encrypted projection data within the trusted decryption application. Finally, the trusted decryption application itself can possess this capability; for instance, it can be a decryption application authorized by the projection source, where the projection source authorizes the decryption capability to the trusted decryption application, thus enabling it to decrypt encrypted projection data.
[0170] In one alternative embodiment, data security in trusted decryption applications can be improved. Since trusted decryption applications can obtain plaintext screen-projected data by decrypting ciphertext screen-projected data, both the plaintext screen-projected data and the decryption process can be protected, thus enhancing data security.
[0171] Optionally, the trusted decryption application can perform decryption within itself, reducing the probability of other applications on the display end intercepting plaintext screen-projected data and improving data security.
[0172] Furthermore, the security and confidentiality of the decrypted plaintext projection data are maximized. Optionally, the plaintext projection data can be transferred to the graphics card for display by directly calling the interface. Alternatively, a dedicated storage space can be created for the trusted decryption application, and the plaintext projection data can be stored in this dedicated storage space.
[0173] In addition, the decryption key or decryption method in the trusted decryption application can be stored internally, reducing the probability of it being obtained by other applications on the display end.
[0174] In one optional embodiment, the determination can be made based on whether a trusted decryption application is installed on the display device. Specifically, the projection source device can determine whether a trusted decryption application is installed on the display device.
[0175] This embodiment does not limit the specific judgment method. Specifically, it can be judged based on the application identification information of the trusted decryption application, or it can be judged by querying the list of installed applications in the display terminal.
[0176] This embodiment does not limit the operations performed after determining whether a trusted decryption application is installed on the display.
[0177] Specifically, if it is determined that a trusted decryption application is not installed on the display device, screen mirroring can be optionally not performed, the screen mirroring source device can not send encrypted screen mirroring data, the screen mirroring source device can refuse screen mirroring, or the screen mirroring source device can send an instruction to instruct the display device to install a trusted decryption application.
[0178] In one specific example, the projection source can establish a projection connection only with the trusted decryption application, or only the trusted decryption application can identify the projection source, so that projection can be stopped directly if it is determined that the trusted decryption application is not installed on the display end.
[0179] Of course, since the encrypted screen projection data itself needs to be decrypted by a trusted decryption application, it is also possible for the screen projection source to directly send the encrypted screen projection data regardless of whether a trusted decryption application is installed on the display end.
[0180] If it is confirmed that a trusted decryption application is installed on the display device, screen mirroring can optionally proceed. This can be done by sending encrypted screen mirroring data from the screen mirroring source to the display device, or by sending encrypted screen mirroring data from the screen mirroring source to the trusted decryption application installed on the display device. Alternatively, the screen mirroring source can first verify the integrity of the trusted decryption application or verify whether the trusted decryption application has been tampered with. If the verification is successful, screen mirroring can then proceed.
[0181] This embodiment does not limit the specific method for verifying a trusted decryption application. Optionally, the trusted decryption application may have the function of verifying its own integrity, thereby being able to send the verification result back to the projection source.
[0182] It is understood that this embodiment does not limit the timing or the executing entity for verifying the trusted decryption application. Optionally, the trusted decryption application can be verified at the projection source or the display end, or it can be verified at any time before or during projection.
[0183] If the verification fails, screen mirroring can be stopped directly. Specifically, this can be done by controlling the display device to stop displaying plaintext screen mirroring data, or by having the trusted decryption application stop displaying plaintext screen mirroring data.
[0184] In summary, optionally, the projection source can be used to perform at least one of the following:
[0185] 1) Send encrypted projection data to the display terminal.
[0186] 2) If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0187] 3) If it is determined that a trusted decryption application is not installed on the display device, send an instruction to the display device to indicate that a trusted decryption application is installed.
[0188] The source end of the screen mirroring can send encrypted screen mirroring data directly without checking whether the display end has a trusted decryption application installed, thus improving screen mirroring efficiency.
[0189] The source end of the projection can also take into account whether a trusted decryption application is installed on the display end and perform corresponding operations.
[0190] This embodiment does not limit the specific form and content of the instruction used to represent the installation of a trusted decryption application. Specifically, it can be an instruction to request the display terminal to install a trusted decryption application, or it can be an instruction to control the display terminal to install a trusted decryption application. The instruction may include the trusted decryption application itself, or it may include an installation link for the trusted decryption application.
[0191] In an optional embodiment, regarding the above-described method flow applied to a trusted decryption application, in S101, the trusted decryption application can determine the encrypted screen projection data sent by the screen projection source.
[0192] This embodiment does not limit the method, timing, or specific circumstances under which the projection source sends encrypted projection data.
[0193] Optionally, when sending encrypted projection data to the display terminal, the projection source can either send the encrypted projection data in advance or send it in real time. The projection source can send the encrypted projection data in the form of data packets or transmit the encrypted projection data via a wired connection.
[0194] The source end of the screen mirroring can send encrypted screen mirroring data when screen mirroring starts, or it can send encrypted screen mirroring data when it is confirmed that a trusted decryption application is installed on the display end.
[0195] The source of the screen projection can either send encrypted projection data to the display device or send encrypted projection data directly to a trusted decryption application installed on the display device.
[0196] Accordingly, the display device can store encrypted projection data sent by the projection source. Specifically, it can store encrypted projection data pre-sent by the projection source, or it can store encrypted projection data sent by the projection source in real time. The trusted decryption application in the display device can also store encrypted projection data sent by the projection source.
[0197] This embodiment does not limit the specific method by which the trusted decryption application determines the encrypted screen projection data.
[0198] Optionally, if the encrypted projection data sent by the projection source is stored locally on the display device, the trusted decryption application can obtain the encrypted projection data sent by the projection source locally on the display device; if the trusted decryption application stores the encrypted projection data sent by the projection source, the trusted decryption application can directly obtain the encrypted projection data sent by the projection source from its own storage space; or the trusted decryption application can receive the encrypted projection data sent by the projection source in real time.
[0199] In an optional embodiment, regarding the above-described method flow applied to a trusted decryption application, in S102, the trusted decryption application can decrypt the determined ciphertext projection data to obtain plaintext projection data, and display the obtained plaintext projection data on the display terminal.
[0200] This embodiment does not limit the specific decryption method or the timing of decryption. The specific decryption method will be explained in the following embodiments.
[0201] Optionally, the trusted decryption application can directly decrypt the encrypted screen projection data. This can be done either by starting decryption once the encrypted screen projection data is known, or by determining the timing of starting decryption of the encrypted screen projection data under the control of the screen projection source.
[0202] Specifically, upon receiving a decryption instruction from the projection source, the trusted decryption application can decrypt the identified encrypted projection data.
[0203] This embodiment does not limit the specific form of the decryption instruction. Specifically, it can be used to indicate the start of decryption, or to indicate that a trusted decryption application is allowed to start decryption, or to indicate that a trusted decryption application is allowed to start interpreting the encrypted screen projection data.
[0204] Understandably, controlling whether to start decrypting encrypted screen projection data at the projection source end can improve the projection source end's control over the screen projection display and enhance the security of the screen projection data.
[0205] Alternatively, the decryption of encrypted projection data can begin when the trusted decryption application receives a specified user action. The specified user action can specifically indicate the start of projection. For example, a user can click the "Start Projection" button on the display to begin decrypting the encrypted projection data and displaying the plaintext projection data.
[0206] This embodiment does not limit the decryption process of the trusted decryption application. Optionally, the trusted decryption application can be set up with a dedicated storage space, and decryption can be performed in the dedicated storage space to obtain plaintext screen projection data, which can improve the security of plaintext screen projection data.
[0207] This embodiment does not limit the method by which the trusted decryption application displays the obtained plaintext projection data on the display end.
[0208] Optionally, to improve the security of the projected data, the trusted decryption application can call an interface to send the plaintext projected data to the graphics card memory of the display device, so that the graphics card can display the plaintext projected data. Other applications on the display device will find it difficult to obtain the plaintext projected data from the graphics card memory, thus improving the security of the plaintext projected data. Alternatively, the trusted decryption application can, upon obtaining the plaintext projected data, further encrypt the data before transmitting it to the graphics card memory, and then further decrypt it in the graphics card memory to obtain the plaintext projected data. This embodiment does not limit the specific encryption transmission method; it can use a symmetric key, the graphics card's public key for encryption, and the graphics card can use its own private key for decryption, etc.
[0209] The display device may include display components, such as a display screen. Specifically, the trusted decryption application can display the obtained plaintext projection data on the display components of the display device, thereby enabling the projection function.
[0210] The above embodiments explain the operations of a trusted decryption application in determining ciphertext projection data, decrypting ciphertext projection data, and displaying plaintext projection data.
[0211] The embodiments of the present invention do not limit the specific operations performed by the trusted decryption application.
[0212] Optionally, to enhance the security of the projected data, the trusted decryption application can also perform additional operations.
[0213] In the screen mirroring process, plaintext screen mirroring data needs to be displayed on the display component of the display terminal, which may pose a risk of data leakage due to screen recording by the display terminal itself or other applications on the display terminal.
[0214] Therefore, trusted decryption applications can additionally monitor whether operations on the displayed content are being performed on the display device to improve the security of the projected data.
[0215] Specifically, it can monitor whether a preset operation is performed on the display end for the displayed content; if a preset operation is performed on the display end for the displayed content, at least one of the following operations is performed: 1) Stop displaying plaintext projection data; 2) Notify the projection source to stop projection; 3) Delete the currently obtained plaintext projection data; 4) Stop decrypting ciphertext projection data.
[0216] Accordingly, for the projection source, in response to the trusted decryption application not detecting any preset operation on the display device, the projection source can either send encrypted projection data to the display device or continue sending encrypted projection data. Conversely, in response to the trusted decryption application detecting a preset operation on the display device, the projection source can either stop sending encrypted projection data to the display device or directly stop projection.
[0217] This embodiment can improve the security of screen-projected data by monitoring preset operations on the display terminal to determine whether to stop displaying plaintext projection data.
[0218] This embodiment does not limit specific preset operations for the displayed content. It can be determined whether an operation to acquire the projected content exists by monitoring operations on the displayed content. Preset operations may include at least one of the following: screen recording, screenshotting, and taking a screenshot, etc.
[0219] This embodiment does not limit the specific monitoring method. Optionally, monitoring can be performed by monitoring the operation interface in the display terminal. Specifically, monitoring can be achieved by monitoring whether the screen recording operation interface in the display terminal is called; screen recording operation can be achieved by monitoring whether the screenshot operation interface in the display terminal is called; and screenshot operation can be achieved by monitoring whether the screenshotting operation interface in the display terminal is called.
[0220] In a specific example, the display device may have screen recording APIs and screenshot APIs. Any application or the display device itself that needs to perform a screen recording operation must call the screen recording API; similarly, any application or the display device itself that needs to perform a screenshot operation must call the screenshot API. Therefore, the trusted decryption application can monitor whether the display device is performing screen recording and screenshot operations by monitoring the screen recording and screenshot APIs.
[0221] Furthermore, this embodiment does not limit the specific entity that performs the aforementioned preset operation. The execution of the preset operation on the display terminal can specifically include the display terminal itself performing the preset operation, or it can include any application on the display terminal performing the preset operation.
[0222] Specifically, screen recording can be performed on the display device itself or by any application within the display device. Similarly, screenshotting can be performed on the display device itself or by any application within the display device.
[0223] Accordingly, monitoring whether the above-mentioned preset operation is performed on the display terminal may include: monitoring whether the above-mentioned preset operation is performed on the display terminal, and monitoring whether any application on the display terminal performs the above-mentioned preset operation.
[0224] In addition to monitoring preset operations, the trusted decryption application can perform corresponding operations when it is determined that a preset operation for the displayed content is being executed on the display end.
[0225] This embodiment does not limit the operations performed by the trusted decryption application in this situation. Specifically, it may be to reduce the leakage of screen projection data and stop displaying plaintext screen projection data as soon as possible.
[0226] Among them, stopping the display of plaintext screen projection data can directly reduce the amount of screen projection data leaked through the above-mentioned preset operations.
[0227] In addition, trusted decryption applications can stop screen mirroring, delete related data, or notify the screen mirroring source to stop screen mirroring. Notifying the screen mirroring source to stop screen mirroring can specifically involve sending a message indicating that screen mirroring has been stopped to the screen mirroring source.
[0228] Optionally, when a preset operation targeting the displayed content is detected on the display device, the trusted decryption application may perform at least one of the following operations: stop displaying plaintext projection data, stop projection, end projection, stop receiving encrypted projection data sent by the projection source, delete plaintext projection data, delete the decryption key, delete encrypted projection data, notify the projection source, send a prompt to the projection source, instruct the projection source to stop projection, and instruct the projection source to stop transmitting encrypted projection data, etc.
[0229] The above operations are mainly to interrupt the screen mirroring process in order to reduce the security risks of the mirrored data.
[0230] In this embodiment, the specific form of notification to the screen projection source is not limited. Specifically, the trusted decryption application may report to the screen projection source that the above-mentioned preset operation exists on the display end, and the screen projection source shall determine whether to stop screen projection.
[0231] The different operations described above can reduce the risk of screen-sharing data being decrypted and leaked from different perspectives, thereby improving the security of screen-sharing data.
[0232] Optionally, the trusted decryption application can also monitor other operations performed on the display device, specifically operations that may pose a security risk to the projected data, without being limited to preset operations targeting the displayed content. Examples include risky operations performed on the display device, operations that send data to other devices, and operations that launch unrelated applications.
[0233] Trusted decryption applications can also monitor several situations on the display device, specifically those that may pose a security risk to the projected data. For example, the display device may be found to have security vulnerabilities, be attacked, or have malicious applications installed.
[0234] In other words, this method embodiment does not limit the specific circumstances under which the trusted decryption application stops displaying plaintext projection data, nor does it limit the circumstances under which the trusted decryption application interrupts projection during the projection process, nor does it limit the circumstances under which the trusted decryption application performs the aforementioned operations.
[0235] For example, if a trusted decryption application determines that there is a significant security risk on the display end, it can perform at least one of the following operations: stop displaying plaintext projection data, stop projection, end projection, stop receiving encrypted projection data sent by the projection source, etc. For details, please refer to the above embodiments.
[0236] In one alternative embodiment, in addition to the above-described additional operations, the trusted decryption application can also perform other operations to improve the security of the projected data. Specifically, during the projection process, it can delete the plaintext projected data that has already been displayed in real time, reducing the risk of plaintext projected data leakage.
[0237] In a specific example, the screen mirroring source can mirror the video stream by sending a real-time screen recording. Correspondingly, the trusted decryption application displays the plaintext data of the video stream after obtaining it, and can also delete the plaintext data of the video stream that has already been displayed.
[0238] Furthermore, during the screen mirroring process, the trusted decryption application can also delete the displayed plaintext screen mirroring data in stages or periodically. This embodiment does not limit the specific stages and periods; the period can be set according to the duration, or the stages can be determined according to user operations.
[0239] Of course, during the screen mirroring process, the trusted decryption application can also perform other operations, such as deleting the already displayed encrypted screen mirroring data, etc.
[0240] After the screen mirroring ends, in order to improve the security of the screen mirrored data, the trusted decryption application may optionally delete the relevant data. Specifically, it may delete at least one of the following when the screen mirroring ends: the decryption key, the encrypted screen mirrored data, and the plaintext screen mirrored data.
[0241] This embodiment does not limit the specific circumstances under which screen casting can be terminated. Termination of screen casting can occur due to the interruption of the casting process as described above, or it can be terminated based on a user's active operation, etc.
[0242] In a specific example, upon ending the screen sharing session, the trusted decryption application's decryption capability can be set to one-time use. This means that after ending the screen sharing session, the trusted decryption application can no longer decrypt the encrypted screen sharing data, allowing the decryption key and related code to be deleted. Correspondingly, both encrypted and plaintext screen sharing data can be deleted to reduce the possibility of data leakage and improve the security of the screen sharing data.
[0243] In this embodiment of the invention, in conjunction with the aforementioned secure screen casting application, it can be understood that the operations performed on the screen casting source end in this embodiment can be performed by the secure screen casting application installed on the screen casting source end. Specifically, the screen casting source end can call the installed secure screen casting application to perform the operation, thereby replacing the screen casting source end in this embodiment with the secure screen casting application. Specific embodiments are explained below.
[0244] III. Encryption and decryption of screen-projected data.
[0245] In this process, the source end can encrypt the plaintext projection data to obtain ciphertext projection data. A trusted decryption application can then decrypt the ciphertext projection data to obtain the plaintext projection data for display.
[0246] In a specific example, the projected data could be a video stream, which could then be encrypted during the encoding process. Correspondingly, a trusted decryption application could decrypt the video stream during decoding.
[0247] For both wired and wireless screen mirroring connections, the source device can send encrypted screen mirroring data to the display device. For example, if the source device and the display device are connected via an HDMI interface, the source device can encrypt the screen mirroring data and then send the encrypted screen mirroring data to the display device via the HDMI interface.
[0248] This method does not limit the specific encryption and decryption method of the screen-projected data. Optionally, symmetric encryption and decryption or asymmetric encryption and decryption can be used, as well as public and private key encryption and decryption. Alternatively, encryption can be performed using a specific encoding method and decryption can be performed using a corresponding decoding method.
[0249] In one alternative embodiment, the trusted decryption application can be used to decrypt the encrypted screen projection data sent by the projection source. Specifically, it can be able to determine the decryption key used to decrypt the encrypted screen projection data, that is, it has the ability to determine the corresponding decryption key.
[0250] Optionally, the determined encrypted projection data can be decrypted, specifically by: determining a target decryption key for decrypting the encrypted projection data; and decrypting the encrypted projection data based on the determined target decryption key.
[0251] This embodiment does not limit the specific method by which the trusted decryption application determines the target decryption key. Optionally, the trusted decryption application may directly store the target decryption key that can be used to decrypt encrypted screen projection data, thereby directly retrieving the target decryption key from local storage. The trusted decryption application may generate the target decryption key that can be used to decrypt encrypted screen projection data in real time. Alternatively, the trusted decryption application may determine the target decryption key that can be used to decrypt encrypted screen projection data through real-time querying.
[0252] In this embodiment, the target decryption key can be determined through a trusted decryption application, thereby improving the efficiency and security of decryption.
[0253] Furthermore, during the process of encrypting the screen projection data to obtain ciphertext, a corresponding target encryption key can be used to encrypt the plaintext screen projection data to obtain ciphertext screen projection data. This allows trusted decryption applications to conveniently decrypt the data using the target decryption key.
[0254] This embodiment does not limit the entity that performs the encryption operation to obtain the encrypted screen projection data. Specifically, the encryption operation can be performed at the screen projection source, or by other devices or other endpoints.
[0255] Optionally, the trusted decryption application may include: a target decryption key for decrypting encrypted screen projection data sent by the screen projection source; and determining the target decryption key for decrypting the encrypted screen projection data, specifically: determining the target decryption key contained in the trusted decryption application itself.
[0256] This embodiment can improve decryption efficiency by directly obtaining the target decryption key from a trusted decryption application.
[0257] This embodiment does not limit the source of the target decryption key included in the trusted decryption application. Optionally, the trusted decryption application can be generated at the screen projection source, and the target decryption key can be added to the trusted decryption application during the generation process. Accordingly, the screen projection source can use the corresponding target encryption key to encrypt plaintext screen projection data.
[0258] Alternatively, the source device can interact with a trusted decryption application beforehand and send the target decryption key to the trusted decryption application.
[0259] In a specific example, the trusted decryption application can pre-register with public and private keys. The encrypted screen-projected data can be obtained by encrypting it using the trusted decryption application's public key; correspondingly, the target decryption key determined by the trusted decryption application can be its private key.
[0260] Alternatively, the target decryption key can be generated in real time. The key generation algorithm can be pre-synchronized between the projection source and the trusted decryption application.
[0261] The key generation algorithm can be used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: ciphertext encrypted using the generated encryption key.
[0262] Determine the target decryption key used to decrypt the encrypted screen projection data. Specifically, this can be done by: determining the target root information; the encrypted screen projection data being encrypted using the target encryption key; the target encryption key being generated using a key generation algorithm based on the target root information; and generating the target decryption key using the key generation algorithm based on the target root information.
[0263] This embodiment can improve the security of the decryption key by generating the target decryption key in real time.
[0264] This embodiment does not limit the specific key generation algorithm; an asymmetric key generation algorithm can be used. This embodiment also does not limit the specific root information; it can be information related to this screen projection, information from the projection source, information from the display end, etc. Specifically, the root information can be the basis or input information used by the key generation algorithm to generate the key.
[0265] Optionally, the target root information may include at least one of the following: the identification information of the display device, the identification information of the projection source device, the transmission time information of the encrypted projection data, the identification information of the trusted decryption application, etc. In a specific example, the IP address of the display device, the name of the display device, and the projection time and date can be combined as root information to generate the key.
[0266] This embodiment does not limit the method of determining the target root information. Optionally, the target root information can be pre-interacted between the projection source and the trusted decryption application, the target root information can be pre-set, or the target root information can be exchanged in real time. Specifically, the projection source can send the target root information to the trusted decryption application. The trusted decryption application can pre-store the target root information or receive the target root information in real time.
[0267] Accordingly, by using a key generation algorithm, a target decryption key is generated based on the same target root information, which can be used to decrypt ciphertext projection data encrypted with the target encryption key.
[0268] Optionally, the target decryption key can be obtained in real time. Several sets of encryption and decryption keys can be predetermined; in any set of encryption and decryption keys, the decryption key is used to decrypt ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption and decryption keys within the same set correspond to the same query identifier. Of course, the aforementioned sets of encryption and decryption keys can also be obtained or pre-constructed.
[0269] The trusted decryption application can store a set of correspondences between certain decryption keys and query identifiers; the projection source can store a set of correspondences between certain encryption keys and query identifiers.
[0270] Determine the target decryption key used to decrypt the encrypted screen projection data. Specifically, this can be done by: determining the target query identifier; the encrypted screen projection data being encrypted using the encryption key corresponding to the target query identifier; and determining the target decryption key corresponding to the target query identifier.
[0271] In this embodiment, decryption efficiency can be improved by querying the pre-stored decryption key set in real time.
[0272] This embodiment does not limit the specific method of determining several sets of keys. Specifically, it can be to directly obtain the above-mentioned several sets of keys, or to generate or construct the above-mentioned several sets of keys in real time.
[0273] This embodiment does not limit the specific method of key construction; it can use either a symmetric key or an asymmetric key. Similarly, this embodiment does not limit the method of query identifier construction; for example, query identifiers can be assigned according to sequence numbers.
[0274] This embodiment does not limit the method by which the trusted decryption application and the projection source store the corresponding relationship set. Specifically, after constructing the key, it can be distributed to the trusted decryption application and the projection source respectively. Alternatively, after constructing the key, the projection source can store the corresponding relationship set of the constructed encryption key and query identifier locally, and send the corresponding relationship set of the constructed decryption key and query identifier to the trusted decryption application for storage. Or, when the trusted decryption application is generated at the projection source, the corresponding relationship set of the constructed decryption key and query identifier is added to the trusted decryption application.
[0275] This embodiment does not limit the method by which the trusted decryption application determines the target query identifier. Specifically, it could be that the trusted decryption application receives the target query identifier sent by the screen projection source, or the trusted decryption application and the screen projection source exchange the target query identifier in advance, or the trusted decryption application stores the target query identifier locally, etc.
[0276] Accordingly, the target decryption key determined by the target query identifier can be used to decrypt the ciphertext projection data encrypted with the encryption key corresponding to the target query identifier.
[0277] Of course, the above embodiments can also be referenced and combined with each other.
[0278] Optionally, several sets of encryption and decryption keys can be predetermined; in any set of encryption and decryption keys, the decryption key is used to decrypt ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption and decryption keys within the same set correspond to the same query identifier. Alternatively, the aforementioned sets of encryption and decryption keys can be obtained or pre-constructed.
[0279] The trusted decryption application can store a set of correspondences between certain decryption keys and query identifiers; the projection source can store a set of correspondences between certain encryption keys and query identifiers.
[0280] The projection source and the trusted decryption application can have a pre-synchronized identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0281] Determine the target decryption key used to decrypt the encrypted screen projection data. Specifically, this can be done by: determining the target root information; encrypting the encrypted screen projection data using the encryption key corresponding to the target query identifier; generating the target query identifier based on the target root information using an identifier generation algorithm; generating the target query identifier based on the target root information using the identifier generation algorithm; and determining the target decryption key corresponding to the target query identifier.
[0282] In this embodiment, a synchronous identifier generation algorithm can be used to generate a query identifier to facilitate the query of the corresponding decryption key, thereby improving the security of the projected data.
[0283] For a detailed explanation, please refer to the examples above.
[0284] This embodiment does not limit the specific method of determining several sets of keys. Specifically, it can be to directly obtain the above-mentioned several sets of keys, or to generate or construct the above-mentioned several sets of keys in real time.
[0285] This embodiment does not limit the specific identifier generation algorithm; a hash algorithm or other algorithms may be used.
[0286] This embodiment does not limit the specific root information. It can be related information about this screen projection, related information from the projection source, or related information from the display end, etc. Specifically, the root information can be the basis or input information used by the identifier generation algorithm to generate the identifier.
[0287] Optionally, the target root information may include at least one of the following: the identification information of the display device, the identification information of the projection source device, the transmission time information of the encrypted projection data, the identification information of the trusted decryption application, etc. In a specific example, the IP address of the display device, the name of the display device, and the projection time and date can be combined as root information to generate the query identifier.
[0288] This embodiment does not limit the method of determining the target root information. Optionally, the target root information can be pre-interacted between the projection source and the trusted decryption application, the target root information can be pre-set, or the target root information can be exchanged in real time. Specifically, the projection source can send the target root information to the trusted decryption application. The trusted decryption application can pre-store the target root information or receive the target root information in real time.
[0289] In addition to the above-mentioned method of encryption and decryption using keys, encryption and decryption can also be achieved through encoding and decoding.
[0290] Specifically, the source end of the screen projection can encode plaintext projection data using a preset encoding method to obtain ciphertext projection data. The trusted decryption application can then decode the ciphertext projection data using a corresponding preset decoding method to obtain plaintext projection data.
[0291] This embodiment does not limit the specific preset encoding method and preset decoding method. The preset decoding method can be used to decode data encoded using the preset encoding method.
[0292] In a specific example, the projected data can be an image. The image can be divided into regions and randomly arranged according to a preset order to achieve image encoding. The corresponding decoding method can be to restore the randomized image regions into a complete image based on the preset order.
[0293] The specific preset encoding and decoding methods can be explained with specific examples in the following embodiments.
[0294] Therefore, optionally, the source end of the screen projection can encode the plaintext projection data according to a preset encoding method to obtain ciphertext projection data. The trusted decryption application decrypts the determined ciphertext projection data to obtain plaintext projection data. Specifically, the trusted decryption application determines a preset decoding method and decodes the determined ciphertext projection data according to the preset decoding method to obtain plaintext projection data. The preset decoding method can be used to decode data encoded using a preset encoding method.
[0295] The above examples explain the encryption and decryption process for screen-projected data.
[0296] In an optional embodiment, to improve the security of the screen-casting data, the information related to the above encryption and decryption process can be further deleted when the screen-casting ends.
[0297] Alternatively, the information related to the encryption / decryption process can be deleted if the trusted decryption application is triggered to stop displaying plaintext projection data. See the examples above for details.
[0298] The trusted decryption application's decryption capability can be one-time use, meaning it can decrypt encrypted data shared during a single screen-sharing process, but cannot decrypt encrypted data shared during other screen-sharing processes, thus improving the security of the shared data. This can be achieved by deleting information related to the encryption / decryption process mentioned above.
[0299] This embodiment does not limit the specific implementation method of the trusted decryption application's one-time decryption capability. It can be achieved by deleting the decryption method or decryption key, or by stopping the application from running.
[0300] For example, when the screen mirroring ends, the trusted decryption application can stop running, or the display terminal can be controlled to delete the trusted decryption application, etc. This allows the trusted decryption application to decrypt the encrypted screen mirroring data in a single screen mirroring session, but it cannot be used to decrypt encrypted screen mirroring data again at other times.
[0301] This embodiment does not limit the specific triggering circumstances under which the encryption and decryption process-related information needs to be deleted. Specifically, it can be a situation that may pose a security risk to the screen-projected data, or the detection of operations on the display that may cause a security risk to the screen-projected data.
[0302] For example, a risky application may be installed on the display device in real time, or a screen recording software or other risky application may be installed on the display device, or a vulnerability may be detected on the display device, or an operation may be performed on the display device to transfer a large amount of data to other devices, etc.
[0303] This embodiment does not limit the information related to the above encryption and decryption process that needs to be deleted.
[0304] Optionally, upon termination of screen mirroring, the trusted decryption application may delete at least one of the following: the determined target decryption key, ciphertext screen mirroring data, plaintext screen mirroring data, target root information, query identifier, the constructed set of correspondences between decryption keys and query identifiers, key generation algorithm, identifier generation algorithm, preset decoding method, etc.
[0305] This embodiment does not limit the specific circumstances under which screen casting can be terminated. Termination of screen casting can be due to an interruption of the casting process, or it can be terminated based on a user's active action, etc.
[0306] It is understood that this embodiment can reduce the risk of screen projection data being decrypted and leaked, and improve the security of screen projection data by deleting the information related to the above encryption and decryption process.
[0307] For example, even if other applications obtain the encrypted screen projection data, since the trusted decryption application has deleted the target decryption key, it will be impossible to obtain the target decryption key from the trusted decryption application to decrypt the encrypted screen projection data. This reduces the risk of screen projection data being decrypted and leaked, and improves the security of screen projection data.
[0308] In other cases, the information related to the encryption / decryption process can also be deleted. Specifically, this could be due to closing the data being cast during the casting process, closing the casting window, after a power outage and restart of the device, or after a preset time has elapsed since casting began. This embodiment of the invention does not limit the specific triggering conditions for deleting the information related to the encryption / decryption process.
[0309] In a specific example, the screen-cast data can be a file. When the file is closed, the information related to the encryption and decryption process can be deleted, specifically the file's decryption key, thereby improving the file's security.
[0310] In another specific example, the screen mirroring duration can also be tracked. If the screen mirroring duration exceeds a preset threshold, screen mirroring can be stopped and the information related to the encryption and decryption process can be deleted.
[0311] IV. Encoding and decoding methods for screen-projected data.
[0312] The examples above illustrate an implementation of encryption and decryption through encoding and decoding.
[0313] In one optional embodiment, additional encoding and decoding can be performed on top of encryption and decryption to improve the security of the projected data.
[0314] Optionally, the trusted decryption application may include a specified decoding method, and the projection source may include a specified encoding method; the specified decoding method can be used to decode data encoded using the specified encoding method.
[0315] Encrypted screen projection data can be obtained by encoding plaintext screen projection data according to a specified encoding method, and then further encrypting the encoded result.
[0316] The determined ciphertext projection data is decrypted to obtain plaintext projection data. Specifically, the determined ciphertext projection data is decrypted to obtain a decryption result, and the decryption result is decoded according to a specified decoding method to obtain plaintext projection data.
[0317] This embodiment can further improve the security of screen-projected data by using encoding and decoding methods on top of encryption and decryption.
[0318] This embodiment does not limit the specified encoding method and the specified decoding method.
[0319] Alternatively, encoding can be performed by adding random information, and decoding can be performed by deleting random information.
[0320] Specifically, the trusted decryption application and the projection source can be pre-synchronized with preset positions; the encrypted projection data is obtained by adding random information to the preset positions to the plaintext projection data, and then further encrypting the added results.
[0321] The determined ciphertext projection data is decrypted to obtain plaintext projection data. Specifically, the determined ciphertext projection data is decrypted to obtain the decryption result, and random information in a preset position is deleted from the decryption result to obtain plaintext projection data.
[0322] This embodiment does not limit the content of the random information, nor does it limit the form, specific location, or quantity of the preset positions. It is understood that random information can be added to one or more preset positions in the plaintext projection data. The length of the random information can be fixed or variable.
[0323] In a specific example, the preset positions may include: the first 15 bytes, bytes 100-123, bytes 154-190, etc. Accordingly, the trusted decryption application can delete the information at these preset positions to obtain plaintext screen projection data.
[0324] For other applications or users whose preset location is uncertain, it is difficult to see the plaintext projection data.
[0325] Of course, the preset position can be fixed or not.
[0326] This embodiment does not limit the timing and method of synchronizing the preset position between the trusted decryption application and the projection source. Specifically, the preset position can be synchronized in real time after transmitting the encrypted projection data, or a fixed preset position can be synchronized in advance. The preset position can be bound to a single projection, and a fixed preset position can be synchronized in a single projection, while different fixed preset positions can be used in different projection processes.
[0327] Alternatively, encoding can be performed in blocks.
[0328] Specifically, the trusted decryption application and the projection source can be pre-synchronized with the correct order of several specified markers.
[0329] The encrypted screen projection data can be obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each of the several data blocks to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0330] The determined ciphertext projection data is decrypted to obtain plaintext projection data. Specifically, the determined ciphertext projection data is decrypted to obtain several data blocks, and these data blocks are combined according to the correct order between the added specified markers to obtain plaintext projection data.
[0331] In a specific example, the correct order among several specified markers could be: q, g, e, s, t, y, c, i, o, p, a, z, d... etc. This is usually a randomized order compared to the standard labeling order. After splitting the data into several blocks, if the correct order among the specified markers is uncertain, it becomes difficult to combine these data blocks to obtain plaintext projection data.
[0332] This embodiment does not limit the specific form of the specified markers; they can be numbers, letters, symbols, etc. This embodiment also does not limit the correct order of the specified markers; a non-standard random order can be used as the correct order.
[0333] Specifying the correct order between tags can specifically include unconventional random ordering, preset random ordering, random random ordering, or random ordering, thereby increasing the difficulty of determining the correct order between tags and improving the security of screen-projected data.
[0334] Therefore, optionally, the correct order between the tags can be specified, which may specifically include specifying a random shuffle between the tags.
[0335] This embodiment does not limit the method of splitting data into blocks. For example, plaintext projection data can be video or images, and splitting data into blocks can specifically be splitting image regions or splitting video regions.
[0336] This embodiment does not limit the specific method of transmitting the screen projection data. Combining the above steps of splitting the data into blocks, the data, after being marked with a specified tag and encrypted, can be divided into blocks and transmitted to the trusted decryption application via data packets or data groups. For example, UDP data packets or TCP data packets, etc. In other words, the encrypted screen projection data is transmitted to the trusted decryption application via data packets or data groups.
[0337] Specifically, this could involve splitting plaintext projection data into several data blocks, encrypting each block, and then adding them to the data packet for transmission.
[0338] The specified marker can be a designated field in the data packet, which allows trusted decryption applications to sort and combine data blocks in the data packet according to the specified marker.
[0339] The specified marker can also be a new piece of data or information added at a fixed position in a data block. For example, a specified marker can be added to the first byte of each data block, so that trusted decryption applications can sort and combine the data blocks according to the specified marker contained in the first byte of the data block.
[0340] Of course, data chunks can also be transmitted in the form of data groups. A specified marker can be used as the identification information of the data group so that trusted decryption applications can determine the specified marker based on the identification information of the data group and sort and combine the data chunks.
[0341] In plaintext screen-sharing data, whether it's plaintext screen-sharing data from the source end or plaintext screen-sharing data obtained by combining data blocks from a trusted decryption application, it may not contain the specified marker. In other words, the specified marker can be deleted during the process of obtaining the plaintext screen-sharing data.
[0342] The two encoding / decoding methods described above are merely illustrative examples, and other encoding / decoding methods can also be used. It is understood that the two encoding / decoding methods described above can also be used for encryption and decryption.
[0343] Furthermore, the order of encoding and encryption is not limited in this method. Optionally, encoding can be performed first and then encryption, or encryption can be performed first and then encoding.
[0344] Therefore, optionally, the trusted decryption application may include a specified decoding method, and the projection source may include a specified encoding method; the specified decoding method can be used to decode data encoded using the specified encoding method.
[0345] Encrypted screen projection data can be obtained by encrypting plaintext screen projection data to obtain an encrypted result, and then encoding the encrypted result according to a specified encoding method.
[0346] The determined ciphertext projection data is decrypted to obtain plaintext projection data. Specifically, the determined ciphertext projection data is decoded according to a specified decoding method to obtain a decoding result, and the decoding result is decrypted to obtain plaintext projection data.
[0347] This embodiment can further improve the security of screen-projected data by using encoding and decoding methods on top of encryption and decryption.
[0348] V. Inspection server.
[0349] In one optional embodiment, regarding the overall screen projection process, the above embodiments mainly explain the protection of projection data at the projection source end to improve security. In addition, protection can also be provided at the display end.
[0350] In a specific example, the projected data may contain malicious or inappropriate data, such as images that cannot be displayed correctly or videos with an abnormally large amount of data, which may cause the display device to malfunction or be damaged. The display device can be a public display screen or a rentable display device. The projected data is often difficult to verify, especially the encrypted ciphertext projected data in the above embodiment.
[0351] Therefore, optionally, a verification server can be added for the display end. The verification server can be used to verify the projected data.
[0352] This embodiment does not limit the method of verifying the screen projection data. Specifically, it can be to verify whether the screen projection data can be displayed normally, or to verify whether there are any problems with the screen projection data, etc.
[0353] The verification server can install a trusted decryption application, which facilitates decryption and verification of plaintext screen-projected data. Verification can be performed manually via the display component or within the trusted decryption application, thus enhancing the security of the screen-projected data.
[0354] In addition, the verification server can also verify encrypted screen projection data, specifically whether the amount of encrypted screen projection data exceeds a preset data amount threshold, etc.
[0355] This embodiment does not limit the specific method or process.
[0356] Optionally, the source end can send encrypted projection data to the display end, which then sends the encrypted projection data to the verification server for verification. If the verification passes, the verification server instructs the display end to proceed with projection. Specifically, if the projection data passes verification, a trusted decryption application decrypts the determined encrypted projection data to obtain plaintext projection data, which is then displayed on the display end.
[0357] Alternatively, the source end can send the encrypted projection data to the verification server for verification. If the verification passes, the verification server then sends the encrypted projection data to the display end. This process can be pre-executed.
[0358] It is understood that the embodiments of the present invention can also provide a secure screen projection method, which focuses on the security of the display end. By setting up an inspection server to inspect the screen projection data, specifically, to inspect the plaintext screen projection data, the inspected plaintext screen projection data is then sent to the display end for display, thereby improving the security of the screen projection display on the display end.
[0359] VI. Secure screen mirroring application.
[0360] The above embodiments mainly focus on explaining the projection source.
[0361] In one alternative embodiment, the projection source may perform several operations as described in the above embodiments, such as encrypting the projection data to obtain ciphertext, sending the ciphertext projection data, and synchronizing the decryption key, etc.
[0362] In a specific example, the source of the screen projection can be a client or a device, such as a mobile phone.
[0363] In addition, a secure screen casting application can also be installed on the screen casting source. Some of the operations in the above embodiments can be performed by the secure screen casting application installed on the screen casting source.
[0364] In other words, any screen mirroring source can install a secure screen mirroring application to perform several of the operations described in the above embodiments, thereby improving the security of screen mirroring data.
[0365] In this embodiment of the invention, in conjunction with the above-mentioned secure screen casting application, it can be understood that the operation performed by the screen casting source end in this embodiment of the invention can be performed by the secure screen casting application installed on the screen casting source end, specifically, the screen casting source end can call the installed secure screen casting application to perform the operation.
[0366] For ease of understanding, several embodiments are given below for illustrative purposes. It is understood that any operation performed by the screen casting source in the above embodiments may be performed by a secure screen casting application installed on the screen casting source.
[0367] Optionally, a secure screen mirroring application can be installed on the screen mirroring source device, and the display device is used to display the screen mirroring data sent by the secure screen mirroring application on the screen mirroring source device. The trusted decryption application can be an application specified by the secure screen mirroring application on the screen mirroring source device, and the trusted decryption application can be used to decrypt the encrypted screen mirroring data sent by the secure screen mirroring application.
[0368] Correspondingly, the secure screen casting application in the screen casting source can encrypt plaintext screen casting data to obtain ciphertext screen casting data, and send it to the display end or a trusted decryption application in the display end.
[0369] A trusted decryption application can identify the encrypted projection data sent by the secure projection application at the projection source. The trusted decryption application can then decrypt the identified encrypted projection data to obtain plaintext projection data, which is then displayed on the display device.
[0370] Determine the encrypted screen casting data sent by the screen casting source. Specifically, this can be done by determining the encrypted screen casting data sent by the secure screen casting application in the screen casting source.
[0371] Secure screen mirroring applications can be used to encrypt plaintext screen mirroring data from the screen mirroring source to obtain ciphertext screen mirroring data.
[0372] A trusted decryption application can be an application specified by the secure screen casting application on the screen casting source end. Alternatively, a trusted decryption application can be installed on the display end based on instructions from the secure screen casting application on the screen casting source end. Specifically, a trusted decryption application can be an application specified by the secure screen casting application on the screen casting source end, used to decrypt encrypted screen casting data sent by the secure screen casting application.
[0373] It should be noted that the source device can send the plaintext casting data to the secure casting application to facilitate the subsequent casting process.
[0374] Optionally, the secure screen mirroring application in the screen mirroring source can be used to perform at least one of the following: 1) sending encrypted screen mirroring data to the display end; 2) if it is determined that a trusted decryption application is installed on the display end, sending encrypted screen mirroring data to the display end; 3) if it is determined that a trusted decryption application is not installed on the display end, sending an instruction to the display end to indicate that a trusted decryption application is installed.
[0375] Among them, the secure screen mirroring application can detect whether a trusted decryption application is installed on the display device, and perform different operations based on the specific detection results.
[0376] For a detailed explanation, please refer to the examples above.
[0377] The secure screen mirroring application can initiate screen mirroring and send encrypted screen mirroring data if it determines that a trusted decryption application is installed on the display device. If it determines that a trusted decryption application is not installed on the display device, it can stop screen mirroring, disconnect the screen mirroring connection, or send an instruction to the display device to request it to install the trusted decryption application.
[0378] In a specific example, the display end can be a rented display screen, and the projection source end can be a mobile phone, on which a secure projection application can be installed. Users can project their screens using this secure projection application. The secure projection application can detect whether a trusted decryption application is installed on the display end. If the display end does not have the trusted decryption application installed, the projection connection can be disconnected. Alternatively, the secure projection application can send an instruction to the display end, which may include the trusted decryption application itself, a download link for the trusted decryption application, etc., to instruct the display end to install the trusted decryption application.
[0379] Optionally, the trusted decryption application may be generated by a secure screen mirroring application in the screen mirroring source. And / or the trusted decryption application may be sent to the display end by a secure screen mirroring application in the screen mirroring source; and / or the trusted decryption application may be pre-installed on the display end based on instructions from the secure screen mirroring application in the screen mirroring source.
[0380] Compared to unfamiliar decryption applications, trusted decryption applications generated by secure screen mirroring applications, or sent by secure screen mirroring applications, or installed based on instructions from secure screen mirroring applications, pose less data security risks, thereby reducing the security risks of screen mirroring data and improving the security of screen mirroring data.
[0381] Furthermore, the encryption and encoding of the screen-casting data can also be performed by a secure screen-casting application, as explained in the examples above.
[0382] In addition, it should be noted that the secure screen mirroring application can be installed on any device to achieve the screen mirroring function. Therefore, the secure screen mirroring application can interact with the display terminal to achieve screen mirroring, or it can interact with a trusted decryption application in the display terminal to achieve screen mirroring.
[0383] In one alternative embodiment, the projection source can specifically be a secure projection application. Thus, the secure projection application itself can perform the operations of the projection source in the above embodiments.
[0384] Optionally, the projection source can install a secure projection application to encrypt plaintext projection data. In response to establishing a connection with the display, the projection source can specify a trusted decryption application corresponding to the secure projection application to the display. The projection source can further utilize the secure projection application to encrypt the plaintext projection data, obtaining ciphertext projection data, and then send the ciphertext projection data to the display.
[0385] Specifically, the projection source end specifies the trusted decryption application corresponding to the secure projection application to the display end. This can be achieved by the projection source end sending the trusted decryption application corresponding to the secure projection application to the display end.
[0386] The display device can install a trusted decryption application according to the instructions of the projection source, and use the trusted decryption application to decrypt the encrypted projection data to obtain plaintext projection data for display.
[0387] VII. Overall screen projection process.
[0388] The embodiments of the present invention do not limit the specific overall screen projection process.
[0389] In one optional embodiment, the projection source and the display end can first establish a projection connection. Specifically, this can be done via a wired connection, such as an HDMI interface, or via a wireless connection, such as a connection within the same local area network.
[0390] In a specific example, the source device can initiate a screen mirroring request and select one device from one or more devices that are capable of screen mirroring as the display device.
[0391] Furthermore, the source device can verify whether a trusted decryption application is installed on the display device, which is essential for secure encrypted screen mirroring. See above for a detailed explanation.
[0392] If it is determined that no trusted decryption application is installed on the display device, the source device can disconnect the current screen mirroring connection and provide relevant information to the user. Specifically, it can report that the screen mirroring failed, or report that the reason for the screen mirroring failure is that the trusted decryption application is not installed on the display device.
[0393] In addition, the projection source can also generate a trusted decryption application. Specifically, a trusted decryption application can be built using code templates or application templates, which can decrypt the encrypted projection data in the projection source.
[0394] The source device can send the generated trusted decryption application to the display device for installation. If the installation is successful, screen casting can continue. If the display device fails to install the trusted decryption application, for example, if the display device refuses to install the trusted decryption application, screen casting can be stopped.
[0395] Of course, the source end can also send an instruction to the display end, instructing the display end to install a trusted decryption application, which can be done through a download link or by installing the trusted decryption application from an app store.
[0396] If a trusted decryption application is confirmed to be installed on the display device, the projection source device can further execute the projection process, thereby sending encrypted projection data to the display device or the trusted decryption application on the display device.
[0397] The source end of the screen projection can encrypt plaintext projection data to obtain ciphertext projection data. The specific encryption method can correspond to the decryption method in a trusted decryption application, thus enabling the trusted decryption application to decrypt the ciphertext projection data.
[0398] The trusted decryption application on the display end can obtain the encrypted projection data sent by the projection source, decrypt it to obtain plaintext projection data, and then display the obtained plaintext projection data on the display end, thereby realizing the projection function. Specifically, the trusted decryption application can send the plaintext projection data to the graphics card for display by calling an interface.
[0399] Once the screen mirroring ends, the trusted decryption application can remove its own decryption capabilities, thereby reducing the likelihood that an attacker can obtain decryption capabilities from the trusted decryption application.
[0400] In addition, trusted decryption applications can also monitor whether preset operations on the displayed content are being performed, such as screenshotting, screen recording, and taking screenshots.
[0401] Once a risky operation or situation is detected on the display device, the trusted decryption application can immediately stop displaying plaintext screen-projected data, and can further stop screen-projection altogether to improve the security of the screen-projected data.
[0402] For a detailed explanation, please refer to the examples above.
[0403] The overall screen projection process disclosed in this embodiment is merely illustrative. Other embodiments of the overall screen projection process can be derived by combining the above embodiments.
[0404] VIII. Other embodiments.
[0405] The above examples provide an embodiment in which a trusted decryption application is the execution subject.
[0406] The embodiments of the present invention can also provide embodiments with a variety of different execution entities.
[0407] 1. The display end is the execution entity.
[0408] In one optional embodiment, the display device can be the execution entity. The method flow can be applied to the display device.
[0409] It is understandable that if manufacturers produce display products or display devices, such as display devices used as public facilities or rentable display products, they can use this method to improve the security of screen projection data.
[0410] The display device can be used to display screen projection data sent by the projection source device; a trusted decryption application can be installed on the display device; the trusted decryption application can be an application specified by the projection source device. The trusted decryption application can be used to decrypt the encrypted screen projection data sent by the projection source device.
[0411] This method may include the following steps:
[0412] S201: Call the trusted decryption application to perform the following steps: determine the encrypted projection data sent by the projection source; decrypt the determined encrypted projection data to obtain plaintext projection data, and display the obtained plaintext projection data on the display end.
[0413] Optionally, the display terminal can also invoke a trusted decryption application to perform the following operations:
[0414] Monitor whether a preset operation is performed on the displayed content; the preset operation includes at least one of the following: screen recording, screen capture, and screenshot.
[0415] If a preset operation targeting the displayed content is detected on the display device, perform at least one of the following operations: stop displaying plaintext projection data, notify the projection source to stop projection, delete the currently obtained plaintext projection data, and stop decrypting ciphertext projection data.
[0416] Optionally, the projection source can be used to perform at least one of the following:
[0417] Send encrypted projection data to the display device;
[0418] If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0419] If it is determined that a trusted decryption application is not installed on the display device, an instruction indicating that a trusted decryption application is installed is sent to the display device.
[0420] Optionally, the trusted decryption application is generated by the projection source; and / or the trusted decryption application is sent to the display by the projection source; and / or the trusted decryption application is pre-installed on the display based on the instructions of the projection source.
[0421] Optionally, the specific steps could be as follows: before invoking the trusted decryption application, the display end could install the trusted decryption application generated by the projection source; alternatively, before invoking the trusted decryption application, the display end could receive and install the trusted decryption application sent by the projection source; or, before invoking the trusted decryption application, the display end could install the trusted decryption application based on the instruction from the projection source. This instruction could be an application that represents the installation of the trusted decryption application.
[0422] Optionally, the determined encrypted projection data is decrypted, including: determining a target decryption key for decrypting the encrypted projection data; and decrypting the encrypted projection data based on the determined target decryption key.
[0423] Optionally, the trusted decryption application includes: a target decryption key for decrypting encrypted screen projection data sent by the screen projection source; determining the target decryption key for decrypting the encrypted screen projection data, including: determining the target decryption key contained within itself.
[0424] Optionally, the projection source and the trusted decryption application have a key generation algorithm pre-synchronized; the key generation algorithm is used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: the ciphertext encrypted using the generated encryption key;
[0425] Determine the target decryption key used to decrypt the encrypted screen projection data, including: determining the target root information; the encrypted screen projection data is encrypted using the target encryption key; the target encryption key is generated based on the target root information using a key generation algorithm; and generating the target decryption key based on the target root information using the key generation algorithm.
[0426] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0427] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0428] Determine the target decryption key used to decrypt the encrypted screen projection data, including: determining the target query identifier; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; and determining the target decryption key corresponding to the target query identifier.
[0429] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0430] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0431] The projection source and the trusted decryption application are pre-synchronized with an identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0432] Determine the target decryption key used to decrypt the encrypted screen projection data, including: determining the target root information; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using an identifier generation algorithm; the target query identifier is generated based on the target root information using an identifier generation algorithm; and the target decryption key corresponding to the target query identifier is determined.
[0433] Optionally, the target root information includes at least one of the following:
[0434] The identification information of the display end, the identification information of the projection source end, the transmission time information of the encrypted projection data, and the identification information of the trusted decryption application.
[0435] Optionally, the display device may also invoke a trusted decryption application to perform the following steps: upon termination of screen mirroring, delete at least one of the following: the determined target decryption key, the encrypted screen mirroring data, and the plaintext screen mirroring data.
[0436] Optionally, the trusted decryption application includes a specified decoding method, and the projection source includes a specified encoding method; the specified decoding method is used to decode data encoded using the specified encoding method.
[0437] Encrypted screen projection data is obtained by further encrypting the plaintext screen projection data after encoding it according to a specified encoding method.
[0438] The process involves decrypting the determined ciphertext projection data to obtain plaintext projection data, including: decrypting the determined ciphertext projection data to obtain the decryption result, and then decoding the decryption result according to a specified decoding method to obtain plaintext projection data.
[0439] Optionally, the trusted decryption application and the projection source are pre-synchronized at a preset location;
[0440] Encrypted screen projection data is obtained by adding random information to plaintext screen projection data at preset positions, and then further encrypting the added result.
[0441] The process involves decrypting the determined ciphertext projection data to obtain plaintext projection data, including: decrypting the determined ciphertext projection data to obtain the decryption result, and deleting random information from a preset position based on the decryption result to obtain plaintext projection data.
[0442] Optionally, the trusted decryption application and the projection source are pre-synchronized with a certain number of specified markers to ensure the correct order.
[0443] The encrypted screen projection data is obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each data block to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0444] The process involves decrypting the determined ciphertext projection data to obtain plaintext projection data. This includes decrypting the determined ciphertext projection data to obtain several data blocks, and combining these data blocks in the correct order according to the added specified markers to obtain plaintext projection data.
[0445] Optionally, determining the encrypted projection data sent by the projection source includes: determining the encrypted projection data sent by the secure projection application in the projection source; the secure projection application is used to encrypt the plaintext projection data in the projection source to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application in the projection source.
[0446] Of course, it can also be the encrypted projection data sent by the projection source, including: the encrypted projection data sent by the secure projection application; the secure projection application is used to encrypt the plaintext projection data to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application.
[0447] For an explanation of this embodiment, please refer to the embodiments above.
[0448] 2. The source end of the projection is the executing entity.
[0449] In one optional embodiment, the execution entity can be the screen-casting source. The method flow can be applied to the screen-casting source.
[0450] The screen mirroring source is used to send screen mirroring data to the display end; the display end is used to display the screen mirroring data sent by the screen mirroring source; the display end has a trusted decryption application installed; the trusted decryption application is an application specified by the screen mirroring source. The trusted decryption application can be used to decrypt the encrypted screen mirroring data sent by the screen mirroring source.
[0451] This method may include the following steps:
[0452] S301: Send encrypted projection data to the display terminal so that the trusted decryption application in the display terminal can perform the following steps: determine the encrypted projection data sent by the projection source terminal; decrypt the determined encrypted projection data to obtain plaintext projection data, and display the obtained plaintext projection data on the display terminal.
[0453] Alternatively, trusted decryption applications can also be used for:
[0454] Monitor whether a preset operation is performed on the displayed content; the preset operation includes at least one of the following: screen recording, screen capture, and screenshot.
[0455] If a preset operation targeting the displayed content is detected on the display device, perform at least one of the following operations: stop displaying plaintext projection data, notify the projection source to stop projection, delete the currently obtained plaintext projection data, and stop decrypting ciphertext projection data.
[0456] Optionally, encrypted projection data may be sent to the display device, which may specifically include:
[0457] If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0458] This method may also include: if it is determined that a trusted decryption application is not installed on the display terminal, sending an instruction to the display terminal to indicate that a trusted decryption application is installed.
[0459] Optionally, the trusted decryption application is generated by the projection source; and / or the trusted decryption application is sent to the display by the projection source; and / or the trusted decryption application is pre-installed on the display based on the instructions of the projection source.
[0460] Optionally, the specific steps may include: the display end can be used to install a trusted decryption application generated by the projection source; the display end can be used to receive and install a trusted decryption application sent by the projection source; or the display end can be used to install a trusted decryption application based on an instruction from the projection source. This instruction can be characterized by the application being used to install the trusted decryption application.
[0461] Correspondingly, the projection source can generate a trusted decryption application. The projection source can also send the trusted decryption application to the display end, or send the trusted decryption application to the display end to cause the display end to install the trusted decryption application. The projection source can also send an instruction to the display end indicating the installation of the trusted decryption application to cause the display end to install the trusted decryption application.
[0462] Optionally, before sending the encrypted projection data to the display terminal, this method may further include at least one of the following: 1) the projection source terminal generates a trusted decryption application; 2) the projection source terminal sends the trusted decryption application to the display terminal; 3) the projection source terminal sends an instruction to the display terminal to indicate the installation of the trusted decryption application, so that the display terminal installs the trusted decryption application based on the instruction. Of course, it is also possible for the projection source terminal to send the trusted decryption application to the display terminal.
[0463] Optionally, before sending the encrypted projection data to the display end, the process may further include: the projection source end encrypting the plaintext projection data to obtain the encrypted projection data.
[0464] Optionally, the trusted decryption application can be used to: determine the target decryption key for decrypting encrypted screen projection data; and decrypt the encrypted screen projection data based on the determined target decryption key.
[0465] Optionally, the trusted decryption application includes: a target decryption key for decrypting the encrypted projection data sent by the projection source;
[0466] Trusted decryption applications can be used to: determine the target decryption key contained within themselves.
[0467] Optionally, the projection source and the trusted decryption application have a key generation algorithm pre-synchronized; the key generation algorithm is used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: the ciphertext encrypted using the generated encryption key;
[0468] Trusted decryption applications can be used to: determine target root information; encrypted screen projection data is encrypted using the target encryption key; the target encryption key is generated based on the target root information using a key generation algorithm; and generate the target decryption key based on the target root information using a key generation algorithm.
[0469] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0470] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0471] The trusted decryption application can be used to: determine the target query identifier; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; and determine the target decryption key corresponding to the target query identifier.
[0472] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0473] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0474] The projection source and the trusted decryption application are pre-synchronized with an identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0475] The trusted decryption application can be used to: determine the target root information; encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using an identifier generation algorithm; the target query identifier is generated based on the target root information using an identifier generation algorithm; and the target decryption key corresponding to the target query identifier is determined.
[0476] Optionally, the target root information includes at least one of the following:
[0477] The identification information of the display end, the identification information of the projection source end, the transmission time information of the encrypted projection data, and the identification information of the trusted decryption application.
[0478] Optionally, the trusted decryption application can also be used to: delete at least one of the following when screen mirroring ends: the identified target decryption key, the encrypted screen mirroring data, and the plaintext screen mirroring data.
[0479] Optionally, the trusted decryption application includes a specified decoding method, and the projection source includes a specified encoding method; the specified decoding method is used to decode data encoded using the specified encoding method.
[0480] Encrypted screen projection data is obtained by further encrypting the plaintext screen projection data after encoding it according to a specified encoding method.
[0481] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain the decryption result, and then decode the decryption result according to the specified decoding method to obtain the plaintext projection data.
[0482] Optionally, the trusted decryption application and the projection source are pre-synchronized at a preset location;
[0483] Encrypted screen projection data is obtained by adding random information to plaintext screen projection data at preset positions, and then further encrypting the added result.
[0484] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain the decryption result, and delete the random information in the preset position based on the decryption result to obtain the plaintext projection data.
[0485] Optionally, the trusted decryption application and the projection source are pre-synchronized with a certain number of specified markers to ensure the correct order.
[0486] The encrypted screen projection data is obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each data block to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0487] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain several data blocks, and combine the data blocks in the correct order according to the added specified markers to obtain the plaintext projection data.
[0488] Optionally, the trusted decryption application can be used to: determine the encrypted projection data sent by the secure projection application in the projection source; the secure projection application is used to encrypt the plaintext projection data in the projection source to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application in the projection source.
[0489] For an explanation of this embodiment, please refer to the embodiments above.
[0490] 3. Secure screen mirroring application is the main execution entity.
[0491] In one optional embodiment, a secure screen mirroring application can be used as the execution entity. The method flow can be applied to the secure screen mirroring application.
[0492] The secure screen mirroring application can be installed on any device for screen mirroring, or it can be installed on the screen mirroring source device. In other words, the secure screen mirroring application can be installed on any device, which can be referred to as the screen mirroring source device, for mirroring to the display device. This embodiment does not limit the specific device on which the secure screen mirroring application is installed.
[0493] Secure screen mirroring applications can be used to send screen mirroring data to a display device; the display device can be used to display the screen mirroring data sent by the secure screen mirroring application; a trusted decryption application can be installed on the display device; the trusted decryption application is an application specified by the secure screen mirroring application. Specifically, the trusted decryption application can be used to decrypt the encrypted screen mirroring data sent by the secure screen mirroring application.
[0494] This method may include the following steps:
[0495] S401: Send encrypted projection data to the display terminal so that the trusted decryption application on the display terminal performs the following steps: determine the encrypted projection data sent by the secure projection application; decrypt the determined encrypted projection data to obtain plaintext projection data, and display the obtained plaintext projection data on the display terminal.
[0496] Alternatively, trusted decryption applications can also be used for:
[0497] Monitor whether a preset operation is performed on the displayed content; the preset operation includes at least one of the following: screen recording, screen capture, and screenshot.
[0498] If a preset operation targeting the displayed content is detected on the display device, perform at least one of the following operations: stop displaying plaintext projection data, notify the projection source to stop projection, delete the currently obtained plaintext projection data, and stop decrypting ciphertext projection data.
[0499] Optionally, encrypted projection data may be sent to the display device, which may specifically include:
[0500] If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0501] This method may also include: if it is determined that a trusted decryption application is not installed on the display terminal, sending an instruction to the display terminal to indicate that a trusted decryption application is installed.
[0502] Optionally, the trusted decryption application is generated by the secure screen mirroring application; and / or the trusted decryption application is sent to the display device by the secure screen mirroring application; and / or the trusted decryption application is pre-installed on the display device based on the instructions of the secure screen mirroring application.
[0503] Optionally, the corresponding steps could be as follows: the display terminal could be used to install a trusted decryption application generated by the secure screen mirroring application; the display terminal could be used to receive and install a trusted decryption application sent by the secure screen mirroring application; or the display terminal could be used to install a trusted decryption application based on an instruction from the secure screen mirroring application. This instruction could be an application that represents the installation of a trusted decryption application.
[0504] Correspondingly, secure screen mirroring applications can generate trusted decryption applications. Secure screen mirroring applications can also send trusted decryption applications to the display device, or send trusted decryption applications to the display device to cause the display device to install the trusted decryption application. Secure screen mirroring applications can also send instructions to the display device indicating the installation of trusted decryption applications, thereby causing the display device to install the trusted decryption application.
[0505] Optionally, before sending the encrypted projection data to the display terminal, this method may further include at least one of the following: 1) the secure projection application generates a trusted decryption application; 2) the secure projection application sends the trusted decryption application to the display terminal; 3) the secure projection application sends an instruction to the display terminal to indicate the installation of the trusted decryption application, so that the display terminal installs the trusted decryption application based on the instruction. Alternatively, the secure projection application may send the trusted decryption application to the display terminal.
[0506] Optionally, before sending the encrypted projection data to the display, the process may further include: the secure projection application encrypting the plaintext projection data to obtain the encrypted projection data.
[0507] Optionally, the trusted decryption application can be used to: determine the target decryption key for decrypting encrypted screen projection data; and decrypt the encrypted screen projection data based on the determined target decryption key.
[0508] Optionally, the trusted decryption application includes: a target decryption key for decrypting encrypted screen-sharing data sent by the secure screen-sharing application;
[0509] Trusted decryption applications can be used to: determine the target decryption key contained within themselves.
[0510] Optionally, the secure screen mirroring application and the trusted decryption application have a key generation algorithm pre-synchronized; the key generation algorithm is used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: ciphertext encrypted using the generated encryption key;
[0511] Trusted decryption applications can be used to: determine target root information; encrypted screen projection data is encrypted using the target encryption key; the target encryption key is generated based on the target root information using a key generation algorithm; and generate the target decryption key based on the target root information using a key generation algorithm.
[0512] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0513] The trusted decryption application stores a set of correspondences between known decryption keys and query identifiers; the secure screen projection application stores a set of correspondences between known encryption keys and query identifiers.
[0514] The trusted decryption application can be used to: determine the target query identifier; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; and determine the target decryption key corresponding to the target query identifier.
[0515] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0516] The trusted decryption application stores a set of correspondences between known decryption keys and query identifiers; the secure screen projection application stores a set of correspondences between known encryption keys and query identifiers.
[0517] The secure screen mirroring application and the trusted decryption application are pre-synchronized with an identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0518] The trusted decryption application can be used to: determine the target root information; encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using an identifier generation algorithm; the target query identifier is generated based on the target root information using an identifier generation algorithm; and the target decryption key corresponding to the target query identifier is determined.
[0519] Optionally, the target root information includes at least one of the following:
[0520] The identification information of the display terminal, the identification information of the secure screen projection application, the transmission time information of the encrypted screen projection data, and the identification information of the trusted decryption application.
[0521] Optionally, the trusted decryption application can also be used to: delete at least one of the following when screen mirroring ends: the identified target decryption key, the encrypted screen mirroring data, and the plaintext screen mirroring data.
[0522] Optionally, the trusted decryption application includes a specified decoding method, and the secure screen mirroring application includes a specified encoding method; the specified decoding method is used to decode data encoded using the specified encoding method.
[0523] Encrypted screen projection data is obtained by further encrypting the plaintext screen projection data after encoding it according to a specified encoding method.
[0524] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain the decryption result, and then decode the decryption result according to the specified decoding method to obtain the plaintext projection data.
[0525] Optionally, the trusted decryption application and the secure screen mirroring application are pre-synchronized to a preset location;
[0526] Encrypted screen projection data is obtained by adding random information to plaintext screen projection data at preset positions, and then further encrypting the added result.
[0527] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain the decryption result, and delete the random information in the preset position based on the decryption result to obtain the plaintext projection data.
[0528] Optionally, the trusted decryption application and the secure screen mirroring application are pre-synchronized with the correct order between several specified markers;
[0529] The encrypted screen projection data is obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each data block to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0530] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain several data blocks, and combine the data blocks in the correct order according to the added specified markers to obtain the plaintext projection data.
[0531] Optionally, the trusted decryption application can be used to: determine the encrypted projection data sent by the secure projection application; the secure projection application can be used to encrypt the plaintext projection data to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application.
[0532] For an explanation of this embodiment, please refer to the embodiments above.
[0533] 4. Overall Implementation Example.
[0534] In one alternative embodiment, screen projection can be performed from both the projection source and the display.
[0535] This method may include the following steps:
[0536] S501: The projection source can send encrypted projection data to the display.
[0537] The display device is used to display the screen projection data sent by the projection source device; a trusted decryption application is installed on the display device; the trusted decryption application is an application specified by the projection source device. The trusted decryption application can be used to decrypt the encrypted screen projection data sent by the projection source device.
[0538] S502: The trusted decryption application determines the encrypted projection data sent by the projection source; decrypts the determined encrypted projection data to obtain plaintext projection data, and displays the obtained plaintext projection data on the display end.
[0539] Optionally, the trusted decryption application can also perform the following operations:
[0540] Monitor whether a preset operation is performed on the displayed content; the preset operation includes at least one of the following: screen recording, screen capture, and screenshot.
[0541] If a preset operation targeting the displayed content is detected on the display device, perform at least one of the following operations: stop displaying plaintext projection data, notify the projection source to stop projection, delete the currently obtained plaintext projection data, and stop decrypting ciphertext projection data.
[0542] Optionally, encrypted projection data may be sent to the display device, which may specifically include:
[0543] If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0544] This method may also include: if it is determined that a trusted decryption application is not installed on the display terminal, sending an instruction to the display terminal to indicate that a trusted decryption application is installed.
[0545] Optionally, the trusted decryption application is generated by the projection source; and / or the trusted decryption application is sent to the display by the projection source; and / or the trusted decryption application is pre-installed on the display based on the instructions of the projection source.
[0546] Optionally, the specific steps may include: the display end can be used to install a trusted decryption application generated by the projection source; the display end can be used to receive and install a trusted decryption application sent by the projection source; or the display end can be used to install a trusted decryption application based on an instruction from the projection source. This instruction can be characterized by the application being used to install the trusted decryption application.
[0547] Correspondingly, the projection source can generate a trusted decryption application. The projection source can also send the trusted decryption application to the display end, or send the trusted decryption application to the display end to cause the display end to install the trusted decryption application. The projection source can also send an instruction to the display end indicating the installation of the trusted decryption application to cause the display end to install the trusted decryption application.
[0548] Optionally, before sending the encrypted projection data to the display terminal, this method may further include at least one of the following: 1) the projection source terminal generates a trusted decryption application; 2) the projection source terminal sends the trusted decryption application to the display terminal; 3) the projection source terminal sends an instruction to the display terminal to indicate the installation of the trusted decryption application, so that the display terminal installs the trusted decryption application based on the instruction. Of course, it is also possible for the projection source terminal to send the trusted decryption application to the display terminal.
[0549] Optionally, before sending the encrypted projection data to the display end, the process may further include: the projection source end encrypting the plaintext projection data to obtain the encrypted projection data.
[0550] Optionally, the determined encrypted projection data is decrypted, including: determining a target decryption key for decrypting the encrypted projection data; and decrypting the encrypted projection data based on the determined target decryption key.
[0551] Optionally, the trusted decryption application includes: a target decryption key for decrypting encrypted screen projection data sent by the screen projection source; determining the target decryption key for decrypting the encrypted screen projection data, including: determining the target decryption key contained within itself.
[0552] Optionally, the projection source and the trusted decryption application have a key generation algorithm pre-synchronized; the key generation algorithm is used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: the ciphertext encrypted using the generated encryption key;
[0553] Determine the target decryption key used to decrypt the encrypted screen projection data, including: determining the target root information; the encrypted screen projection data is encrypted using the target encryption key; the target encryption key is generated based on the target root information using a key generation algorithm; and generating the target decryption key based on the target root information using the key generation algorithm.
[0554] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0555] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0556] Determine the target decryption key used to decrypt the encrypted screen projection data, including: determining the target query identifier; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; and determining the target decryption key corresponding to the target query identifier.
[0557] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0558] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0559] The projection source and the trusted decryption application are pre-synchronized with an identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0560] Determine the target decryption key used to decrypt the encrypted screen projection data, including: determining the target root information; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using an identifier generation algorithm; the target query identifier is generated based on the target root information using an identifier generation algorithm; and the target decryption key corresponding to the target query identifier is determined.
[0561] Optionally, the target root information includes at least one of the following:
[0562] The identification information of the display end, the identification information of the projection source end, the transmission time information of the encrypted projection data, and the identification information of the trusted decryption application.
[0563] Optionally, the display device may also invoke a trusted decryption application to perform the following steps: upon termination of screen mirroring, delete at least one of the following: the determined target decryption key, the encrypted screen mirroring data, and the plaintext screen mirroring data.
[0564] Optionally, the trusted decryption application includes a specified decoding method, and the projection source includes a specified encoding method; the specified decoding method is used to decode data encoded using the specified encoding method.
[0565] Encrypted screen projection data is obtained by further encrypting the plaintext screen projection data after encoding it according to a specified encoding method.
[0566] The process involves decrypting the determined ciphertext projection data to obtain plaintext projection data, including: decrypting the determined ciphertext projection data to obtain the decryption result, and then decoding the decryption result according to a specified decoding method to obtain plaintext projection data.
[0567] Optionally, the trusted decryption application and the projection source are pre-synchronized at a preset location;
[0568] Encrypted screen projection data is obtained by adding random information to plaintext screen projection data at preset positions, and then further encrypting the added result.
[0569] The process involves decrypting the determined ciphertext projection data to obtain plaintext projection data, including: decrypting the determined ciphertext projection data to obtain the decryption result, and deleting random information from a preset position based on the decryption result to obtain plaintext projection data.
[0570] Optionally, the trusted decryption application and the projection source are pre-synchronized with a certain number of specified markers to ensure the correct order.
[0571] The encrypted screen projection data is obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each data block to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0572] The process involves decrypting the determined ciphertext projection data to obtain plaintext projection data. This includes decrypting the determined ciphertext projection data to obtain several data blocks, and combining these data blocks in the correct order according to the added specified markers to obtain plaintext projection data.
[0573] Optionally, determining the encrypted projection data sent by the projection source includes: determining the encrypted projection data sent by the secure projection application in the projection source; the secure projection application is used to encrypt the plaintext projection data in the projection source to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application in the projection source.
[0574] Of course, it can also be the encrypted projection data sent by the projection source, including: the encrypted projection data sent by the secure projection application; the secure projection application is used to encrypt the plaintext projection data to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application.
[0575] For an explanation of this embodiment, please refer to the embodiments above.
[0576] It is understood that the screen casting source in the above embodiments can specifically be a secure screen casting application. Specifically, the screen casting source can also perform operations by calling an installed secure screen casting application.
[0577] IX. Application Examples
[0578] For ease of understanding, the present invention also provides application examples.
[0579] Specifically, this can be achieved in the following ways.
[0580] This embodiment presents a secure access solution for public meeting equipment. It provides corresponding solutions at the pre-connection, during-connection, and post-connection stages for personal devices. It ensures comprehensive protection for device security, content security, and file security after the connection is established.
[0581] This embodiment provides a secure device access solution that protects the security of files and information on personal devices in multi-device interconnection scenarios. It also protects publicly available content in meeting scenarios, preventing operations such as screen recording, screenshotting, and file theft.
[0582] In everyday meetings, users frequently need to connect their devices to terminals in the company meeting room. This typically involves screen mirroring and document sharing. Users are particularly concerned about the security of their personal devices when using other companies' meeting rooms. However, screen sharing is often unavoidable for presenting materials.
[0583] There are many safety hazards here.
[0584] First, regardless of whether users project their screens wirelessly or via HDMI, they cannot prevent the large-screen device in the conference room from recording their screen and stealing their data. This is because the receiving end can run the screen recording application in the background, deliberately using recording methods that are difficult to detect.
[0585] Secondly, many screen mirroring apps' file mirroring function actually transfers local files to the receiving device for opening, but many apps don't inform the user about this process. After mirroring ends, the files remain on the receiving device, making them easily accessible to others.
[0586] Third, during the exhibition, some people will take photos and share them. This is also very difficult to detect and prevent.
[0587] In addition, there will be public meeting rooms and public large-screen devices in the future. People can rent them anytime and anywhere, and there will be more and more scenarios where people project their personal devices onto public large screens. The problems mentioned above will also occur in this scenario.
[0588] Ensuring the security of information on personal devices, and preventing content from being secretly filmed, copied, or stolen after it has been deployed, are areas of great concern to users.
[0589] Based on the common problems encountered during multi-screen connections, this embodiment proposes a solution that can protect the security of files on the user's device and the security of the screen-projected content.
[0590] For ease of description, in this embodiment, the projection source end can be referred to as the sending end, and the display end as the receiving end.
[0591] 1. Using conference screen sharing software, the receiving end uses background screen recording software to capture the screen sharing content: In this case, the software used in this embodiment can encrypt the video stream projected from the user's local screen and decrypt and play it on the receiving end.
[0592] If this video stream is recorded by screen recording software, the captured video cannot be viewed because there is no decryption software. Since the device used is from another company, the installation process of this software is very simple and seamless. This will be described in detail in the following examples.
[0593] 2. Using file mirroring, the file is transferred to the receiving end: In this case, the user uses screen mirroring software provided by someone else, and the file transfer is uncontrollable. Therefore, security software will run locally to encrypt all file transfer activities. When a file transfer occurs, the user will be prompted that a file will be transferred, and the file will be encrypted and decrypted at the receiving end. The key is one-time use; it becomes invalid after the file is closed.
[0594] The specific implementation plan is as follows. The security software and encryption process involved in this embodiment can effectively help users improve the security of their personal file information and reduce the possibility of important information leakage.
[0595] In one alternative embodiment, specifically, it can be implemented as follows.
[0596] This addresses the issue of personal devices being recorded and having their information leaked when connected to a meeting room using screen-sharing software provided by the other party. Personal devices include mobile phones, tablets, and computers.
[0597] In this embodiment, security encryption software can be installed on the personal device. When connecting to the conference room equipment, the decryption software corresponding to the personal device is pushed to the device and automatically runs and installs.
[0598] The installation process is as follows: Figure 3 As shown, Figure 3 This is a schematic diagram illustrating a decryption software installation process according to an embodiment of the present invention.
[0599] The personal device can have encryption software installed, and it can then connect to a display device. This could be a display device that requires screen mirroring, or it could be connected via the encryption software. The display device information can then be obtained, and a one-time decryption key can be generated based on this information. This key is then added to the one-time decryption software.
[0600] One-time decryption software can delete the decryption key or decryption method after the screen mirroring ends or in other situations.
[0601] Afterwards, the one-time decryption software can be pushed to the display device and installed, so that screen casting can be performed through the one-time decryption software. The encrypted screen casting data sent by the personal device can be decrypted to obtain plaintext screen casting data, and then the plaintext screen casting data can be displayed.
[0602] When a user connects to the conference room equipment (which can be a display device), the system obtains the user's device information. The encryption software on the user's personal device records this information and generates a corresponding decryption program, which is then pushed to the conference room equipment via the network and installed. If the other party does not install this software, the system cannot successfully recognize the user's device, automatically disconnects, and prevents subsequent screen sharing.
[0603] After completing the above steps, the user can begin screen mirroring.
[0604] To prevent screen recording and screenshotting, the decryption software installed on the conference room equipment during the above steps includes a function to detect such operations. If screen recording or screenshotting is detected, the projection will be stopped immediately, and a notification message will be sent to the sending device.
[0605] Another issue is that when casting files, some screen casting software transfers the file to the receiving end without prompting the user, and then opens it.
[0606] Secure encryption can be used to encrypt documents on personal devices. If the receiving end does not have the aforementioned decryption software installed, the documents cannot be displayed and will appear as garbled text.
[0607] In addition, the decryption sent to the receiving end is a one-time event.
[0608] When a device transfers files, it calculates a key based on the IP address, device name, and date / time of the connected device (which can be the receiving end). This key can be used to open the file on the receiving end. However, this key is only valid for the current file transfer and becomes invalid immediately after the file is closed.
[0609] like Figure 4 As shown, Figure 4 This is a flowchart illustrating a screen projection method according to an embodiment of the present invention.
[0610] Specifically, the specific methods for screen mirroring and file mirroring are explained.
[0611] For screen mirroring, it's possible to determine if the receiving end has background screen recording software. Specifically, this can be done by monitoring whether background screen recording software is running on the receiving end or whether it is stored on the receiving end.
[0612] If there is background screen recording software, the screen recording will end, and a notification message will be sent back to the user's device. Specifically, the notification will indicate that screen recording has ended and that the reason for the end is that there is background screen recording software on the receiving end.
[0613] If you don't have background screen recording software, you can continue screen mirroring.
[0614] For file projection, personal devices need to prepare for file transfer and obtain information from the receiving end to generate a key, specifically an encryption key and a decryption key.
[0615] The generated encryption key can be used to encrypt files, and the encrypted file, along with the decryption key, can be sent to the receiving end. The decryption key can be encrypted using other methods, or it can be pre-synchronized between the personal device and the receiving end.
[0616] The receiving end can use the decryption key to decrypt and open the file. Normal screen mirroring can then proceed.
[0617] After the file is closed on the receiving end, the aforementioned one-time decryption software can control the decryption key to become invalid, specifically by deleting the decryption key.
[0618] In another alternative embodiment, specifically, it can be implemented as follows.
[0619] This embodiment is an enhancement of the above embodiment. When a user uses screen mirroring software, the screen of the sending end is actually recorded, and the video stream is sent to the receiving end through a network channel, where it is decoded and displayed.
[0620] During the encoding process of the video stream, it can be encrypted, and then decrypted at the receiving end using the aforementioned decryption software.
[0621] This key, like the key used for file transfer, is a one-time use key. It becomes invalid immediately after screen mirroring ends.
[0622] Therefore, if there is screen recording software running in the background, the video stream will always be encrypted, and it cannot be played without decryption.
[0623] In addition, this solution also resolves the HDMI connectivity issue. If an HDMI connection is used, the HDMI output can also be encrypted at the transmitting end.
[0624] like Figure 5 As shown, Figure 5 This is a flowchart illustrating an HDMI screen projection method according to an embodiment of the present invention.
[0625] The video stream output via HDMI remains encrypted and requires decryption software at the receiving end.
[0626] At this point, the user can manually enter the key during encryption and then enter the decryption key at the receiving end. Alternatively, the decryption method and decryption key can be exchanged through other means.
[0627] However, the decryption key is only valid for this connection. If the screen is recorded, the recorded content will always contain encrypted information. Without the decryption key, it cannot be played again.
[0628] The beneficial effects of this embodiment can include at least the following:
[0629] 1. This embodiment can protect the conference screen projection by encrypting the projected video stream and improving the security of the video stream.
[0630] 2. This embodiment can protect conference projection files by encrypting them, thereby improving file security.
[0631] 3. This embodiment can protect the generation of the meeting encryption and decryption programs, as well as the process of pushing the decryption program to the receiving end for opening and installation. By generating the decryption program and pushing it to the receiving end, the security of the decryption program can be improved and the risk of decryption can be reduced.
[0632] Specifically, this can be achieved in the following ways.
[0633] This embodiment utilizes a three-layer overall encryption, layered encryption of the projected data blocks, and a self-destructing key after reading system, which further enhances data confidentiality and security. A brief introduction to the overall solution follows.
[0634] 1. Design an encryption algorithm: Select AES (Advanced Encryption Standard) to encrypt the projected data. Ensure the chosen algorithm has sufficient security and performance.
[0635] 2. Generate Key: Generate a unique key for each receiver to encrypt and decrypt the projected data. A public-key encryption algorithm (such as RSA) can be used to generate the device key pair, where the private key is stored on the receiver and the public key is stored on the server.
[0636] 3. Server Device Authentication: Before screen sharing begins, the receiving end needs to be authenticated. The receiving end can use its private key to sign a randomly generated challenge and send the signature to the server for verification. The server uses the receiving end's public key to verify the validity of the signature. Only the verified receiving end can begin screen sharing. Specifically, this can involve acting as a receiving end to receive screen sharing data.
[0637] 4. Screen Sharing Data Encryption: During the screen sharing process, the sending end encrypts the real-time generated screen sharing data in blocks and uses the receiving end's public key to encrypt the data. Each data block uses a randomly generated initialization vector (IV) to enhance security. The encrypted data blocks can be transmitted to the server over the network.
[0638] 5. Data Transmission: Encrypted screen-projected data is transmitted to the server via a secure communication channel. Protocols such as SSL / TLS can be used to ensure the security of data transmission.
[0639] 6. Server dongle decryption: After receiving encrypted projection data, the server decrypts the data using the corresponding receiver's private key. The server needs to store the receiver's private key for data decryption, which can be done by storing the receiver's private key in the dongle.
[0640] 7. Server Data Storage (Strategy Selection): The decrypted projection data can be stored on the server, or further processed as needed, such as real-time destruction, timed destruction, or permanent storage in cloud storage.
[0641] 8. Access Control: To ensure the security of screen-sharing data, an access control mechanism can be implemented to restrict access to screen-sharing data to only authorized users or receiving devices.
[0642] 9. Security Audit: Record and monitor the access and usage of screen projection data for security auditing and tracking. If any security issues are found, they will be reported to the security administrator for tracking of the relevant devices.
[0643] This embodiment may have the following innovative features.
[0644] Innovation Point 1: Three-layer encryption (block encryption at the data transmission layer, encryption for security auditing, and encryption of the dongle at the server physical layer).
[0645] 1. Data transmission layer block encryption:
[0646] Streaming media servers offer two streaming modes: sequential streaming and real-time streaming.
[0647] Sequential streaming is downloading in sequence, allowing users to watch online media while the file is downloading. If a regular HTTP server is used to send audio and video data from beginning to end, it is called sequential streaming media transmission.
[0648] Real-time streaming is the transmission of video in real time. If the video is broadcast live, or a dedicated streaming media server is used, or a dedicated real-time protocol such as RTSP is applied, it is called real-time streaming media transmission.
[0649] Block encryption at the data transmission layer uses a randomly generated initialization vector for each data block to increase security. The encrypted data blocks can then be transmitted to the server over the network.
[0650] 2. Encrypted security audit: Records and monitors the access and usage of screen projection data for security auditing and tracking. If any security issues are found, they will be reported to the security administrator for tracking of the relevant devices.
[0651] 3. Server Physical Layer Dongle Encryption: A dongle is a hardware and software encryption product that plugs into a computer's parallel port. It typically has tens or hundreds of bytes of non-volatile storage space available for reading and writing. The key is stored when the dongle is inserted, and the server uses it to distribute and store data. Specifically, it can store the receiver's private key.
[0652] Innovation Point 2: Key timed self-destruction function.
[0653] Key timed self-destruction function: Data in the dongle can be destroyed at a set time or destroyed immediately after issuance, depending on actual needs.
[0654] Innovation Point 3: When an access error occurs, the server automatically sends a notification to the administrator.
[0655] In this embodiment, the specific functions of the server can be implemented through an installed server application. The server can be the server of the business party to which the receiving end belongs; that is, the server and the receiving end belong to the same business party. The server can act as a buffer for the receiving end's screen projection. By first sending the projection data to the server for decryption, the security of the projection data is improved through encrypted transmission, and verification on the server reduces the risk of attacks on the receiving end through screen projection, thus improving the security of the receiving end.
[0656] The server can store plaintext screen-projected data, which can then be accessed and retrieved by the receiving end. The server can also verify the security of the screen-projected data.
[0657] Understandably, for attacks that are carried out through screen mirroring, servers can minimize the risk of the receiving end being attacked and improve the security of the receiving end.
[0658] The various technical features in the above embodiments can be combined arbitrarily, as long as there is no conflict or contradiction between the combinations of features. However, due to space limitations, they have not been described one by one. Therefore, the arbitrary combination of various technical features in the above embodiments also falls within the scope of this invention.
[0659] Corresponding to the above method embodiments, the present invention also provides corresponding device embodiments.
[0660] like Figure 6 As shown, Figure 6 This is a structural schematic diagram of a secure projection device according to an embodiment of the present invention.
[0661] This device can be used in trusted decryption applications; the trusted decryption application is installed in the display terminal; the display terminal is used to display the screen projection data sent by the projection source terminal; the trusted decryption application is an application specified by the projection source terminal. Specifically, the trusted decryption application can be used to decrypt encrypted screen projection data sent by the projection source terminal.
[0662] The device may include the following units.
[0663] The determining unit 601 is used to determine the encrypted projection data sent by the projection source.
[0664] The decryption unit 602 is used to decrypt the determined ciphertext projection data to obtain plaintext projection data, and display the obtained plaintext projection data on the display terminal.
[0665] Optionally, the device may further include a monitoring unit 603, configured to: monitor whether a preset operation for the displayed content is performed on the display terminal; the preset operation includes at least one of the following: screen recording operation, screen capture operation, and screenshot operation; and when a preset operation for the displayed content is detected to be performed on the display terminal, execute at least one of the following operations: stop displaying plaintext projection data, notify the projection source terminal to stop projection, delete the currently obtained plaintext projection data, and stop decrypting encrypted projection data.
[0666] Optionally, the projection source can be used to perform at least one of the following:
[0667] Send encrypted projection data to the display device;
[0668] If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0669] If it is determined that a trusted decryption application is not installed on the display device, an instruction indicating that a trusted decryption application is installed is sent to the display device.
[0670] Optionally, the trusted decryption application is generated by the projection source; and / or the trusted decryption application is sent to the display by the projection source; and / or the trusted decryption application is pre-installed on the display based on the instructions of the projection source.
[0671] Optionally, the decryption unit 602 can be used to: determine a target decryption key for decrypting encrypted projection data; and decrypt the encrypted projection data based on the determined target decryption key.
[0672] Optionally, the trusted decryption application includes: a target decryption key for decrypting the encrypted projection data sent by the projection source;
[0673] The decryption unit 602 can be used to: determine the target decryption key contained within itself.
[0674] Optionally, the projection source and the trusted decryption application have a key generation algorithm pre-synchronized; the key generation algorithm is used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: the ciphertext encrypted using the generated encryption key;
[0675] Decryption unit 602 can be used for:
[0676] The target root information is determined; the encrypted projection data is encrypted using the target encryption key; the target encryption key is generated based on the target root information using a key generation algorithm;
[0677] Using a key generation algorithm, a target decryption key is generated based on the target root information.
[0678] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0679] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0680] Decryption unit 602 can be specifically used for:
[0681] Determine the target query identifier; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; determine the target decryption key corresponding to the target query identifier.
[0682] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0683] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0684] The projection source and the trusted decryption application are pre-synchronized with an identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0685] Decryption unit 602 can be specifically used for:
[0686] The target root information is determined; the encrypted projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using an identifier generation algorithm;
[0687] Using an identifier generation algorithm, a target query identifier is generated based on the target root information;
[0688] Determine the target decryption key corresponding to the target query identifier.
[0689] Optionally, the target root information includes at least one of the following:
[0690] The identification information of the display end, the identification information of the projection source end, the transmission time information of the encrypted projection data, and the identification information of the trusted decryption application.
[0691] Optionally, the device may further include a deletion unit 604 for:
[0692] When ending the screen mirroring process, delete at least one of the following: the identified target decryption key, the encrypted screen mirroring data, and the plaintext screen mirroring data.
[0693] Optionally, the trusted decryption application includes a specified decoding method, and the projection source includes a specified encoding method; the specified decoding method is used to decode data encoded using the specified encoding method.
[0694] Encrypted screen projection data is obtained by further encrypting the plaintext screen projection data after encoding it according to a specified encoding method.
[0695] Decryption unit 602 can be specifically used for:
[0696] The determined encrypted projection data is decrypted to obtain the decryption result, and the decryption result is decoded according to the specified decoding method to obtain the plaintext projection data.
[0697] Optionally, the trusted decryption application and the projection source are pre-synchronized at a preset location;
[0698] Encrypted screen projection data is obtained by adding random information to plaintext screen projection data at preset positions, and then further encrypting the added result.
[0699] Decryption unit 602 can be specifically used for:
[0700] The determined encrypted projection data is decrypted to obtain the decryption result. Then, random information in the preset position is deleted from the decryption result to obtain the plaintext projection data.
[0701] Optionally, the trusted decryption application and the projection source are pre-synchronized with a certain number of specified markers to ensure the correct order.
[0702] The encrypted screen projection data is obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each data block to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0703] Decryption unit 602 can be specifically used for:
[0704] The determined encrypted projection data is decrypted to obtain several data blocks. These data blocks are then combined according to the correct order of the added specified markers to obtain the plaintext projection data.
[0705] Optionally, the determining unit 601 is specifically used to: determine the encrypted screen projection data sent by the secure screen projection application in the screen projection source end;
[0706] Secure screen mirroring applications are used to encrypt plaintext screen mirroring data in the screen mirroring source to obtain ciphertext screen mirroring data.
[0707] The trusted decryption application is the application specified by the secure screen casting application in the screen casting source.
[0708] For a detailed explanation, please refer to the above method implementation examples.
[0709] This embodiment also provides another embodiment of a secure screen projection device.
[0710] This device can be applied to a display terminal; the display terminal is used to display the projection data sent by the projection source terminal; a trusted decryption application is installed on the display terminal; the trusted decryption application is an application specified by the projection source terminal. Specifically, the trusted decryption application is used to decrypt the encrypted projection data sent by the projection source terminal.
[0711] The device may include the following units:
[0712] Calling unit 701 is used to call a trusted decryption application to perform the following steps: determine the encrypted projection data sent by the projection source; decrypt the determined encrypted projection data to obtain plaintext projection data, and display the obtained plaintext projection data on the display end.
[0713] Optionally, the calling unit 701 can also be used to invoke a trusted decryption application to perform the following operations:
[0714] Monitor whether a preset operation is performed on the displayed content; the preset operation includes at least one of the following: screen recording, screen capture, and screenshot.
[0715] If a preset operation targeting the displayed content is detected on the display device, perform at least one of the following operations: stop displaying plaintext projection data, notify the projection source to stop projection, delete the currently obtained plaintext projection data, and stop decrypting ciphertext projection data.
[0716] Optionally, the projection source can be used to perform at least one of the following:
[0717] Send encrypted projection data to the display device;
[0718] If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0719] If it is determined that a trusted decryption application is not installed on the display device, an instruction indicating that a trusted decryption application is installed is sent to the display device.
[0720] Optionally, the trusted decryption application is generated by the projection source; and / or the trusted decryption application is sent to the display by the projection source; and / or the trusted decryption application is pre-installed on the display based on the instructions of the projection source.
[0721] Optionally, the specific steps could be as follows: before invoking the trusted decryption application, the display end could install the trusted decryption application generated by the projection source; alternatively, before invoking the trusted decryption application, the display end could receive and install the trusted decryption application sent by the projection source; or, before invoking the trusted decryption application, the display end could install the trusted decryption application based on the instruction from the projection source. This instruction could be an application that represents the installation of the trusted decryption application.
[0722] Optionally, the calling unit 701 can also be used to call a trusted decryption application to perform: determining the target decryption key for decrypting the encrypted projection data; and decrypting the encrypted projection data based on the determined target decryption key.
[0723] Optionally, the trusted decryption application includes: a target decryption key for decrypting encrypted projection data sent by the projection source; the calling unit 701 can also be used to call the trusted decryption application to perform: determining the target decryption key contained therein.
[0724] Optionally, the projection source and the trusted decryption application have a key generation algorithm pre-synchronized; the key generation algorithm is used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: the ciphertext encrypted using the generated encryption key;
[0725] Specifically, the calling unit 701 can be used to call a trusted decryption application to perform the following: determine the target root information; the encrypted screen projection data is encrypted using the target encryption key; the target encryption key is generated based on the target root information using a key generation algorithm; and the target decryption key is generated based on the target root information using the key generation algorithm.
[0726] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0727] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0728] Specifically, the calling unit 701 can be used to call a trusted decryption application to perform the following: determine the target query identifier; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; determine the target decryption key corresponding to the target query identifier.
[0729] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0730] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0731] The projection source and the trusted decryption application are pre-synchronized with an identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0732] Specifically, the calling unit 701 can be used to call a trusted decryption application to perform the following: determine the target root information; the encrypted projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using an identifier generation algorithm; the target query identifier is generated based on the target root information using an identifier generation algorithm; and the target decryption key corresponding to the target query identifier is determined.
[0733] Optionally, the target root information includes at least one of the following:
[0734] The identification information of the display end, the identification information of the projection source end, the transmission time information of the encrypted projection data, and the identification information of the trusted decryption application.
[0735] Optionally, the calling unit 701 can also be used to call a trusted decryption application to perform the following: upon termination of screen projection, delete at least one of the following: the determined target decryption key, the ciphertext screen projection data, and the plaintext screen projection data.
[0736] Optionally, the trusted decryption application includes a specified decoding method, and the projection source includes a specified encoding method; the specified decoding method is used to decode data encoded using the specified encoding method.
[0737] Encrypted screen projection data is obtained by further encrypting the plaintext screen projection data after encoding it according to a specified encoding method.
[0738] Specifically, the calling unit 701 can be used to call a trusted decryption application to execute: decrypt the determined ciphertext projection data to obtain the decryption result, and decode the decryption result according to the specified decoding method to obtain the plaintext projection data.
[0739] Optionally, the trusted decryption application and the projection source are pre-synchronized at a preset location;
[0740] Encrypted screen projection data is obtained by adding random information to plaintext screen projection data at preset positions, and then further encrypting the added result.
[0741] Specifically, the calling unit 701 can be used to call a trusted decryption application to execute: decrypt the determined ciphertext projection data to obtain the decryption result, and delete random information in a preset position based on the decryption result to obtain plaintext projection data.
[0742] Optionally, the trusted decryption application and the projection source are pre-synchronized with a certain number of specified markers to ensure the correct order.
[0743] The encrypted screen projection data is obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each data block to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0744] Specifically, the calling unit 701 can be used to call a trusted decryption application to execute: decrypt the determined ciphertext projection data to obtain several data blocks, and combine the several data blocks in the correct order between the added specified markers to obtain plaintext projection data.
[0745] Optionally, the calling unit 701 can be specifically used to call a trusted decryption application to perform: determining the encrypted screen projection data sent by the secure screen projection application in the screen projection source; the secure screen projection application is used to encrypt the plaintext screen projection data in the screen projection source to obtain the encrypted screen projection data; the trusted decryption application is the application specified by the secure screen projection application in the screen projection source.
[0746] Of course, the calling unit 701 can also be used to call the trusted decryption application to execute: determine the encrypted screen projection data sent by the secure screen projection application; the secure screen projection application is used to encrypt the plaintext screen projection data to obtain the encrypted screen projection data; the trusted decryption application is the application specified by the secure screen projection application.
[0747] For a detailed explanation, please refer to the above method implementation examples.
[0748] This embodiment also provides another embodiment of a secure screen projection device.
[0749] This device can be used at the projection source end; the projection source end is used to send projection data to the display end; the display end is used to display the projection data sent by the projection source end; the display end has a trusted decryption application installed; the trusted decryption application is an application specified by the projection source end. Specifically, the trusted decryption application can be used to decrypt the encrypted projection data sent by the projection source end.
[0750] The device may include the following units:
[0751] The sending unit 801 is used to send encrypted projection data to the display terminal so that the trusted decryption application in the display terminal can perform the following steps: determine the encrypted projection data sent by the projection source terminal; decrypt the determined encrypted projection data to obtain plaintext projection data, and display the obtained plaintext projection data on the display terminal.
[0752] Alternatively, trusted decryption applications can also be used for:
[0753] Monitor whether a preset operation is performed on the displayed content; the preset operation includes at least one of the following: screen recording, screen capture, and screenshot.
[0754] If a preset operation targeting the displayed content is detected on the display device, perform at least one of the following operations: stop displaying plaintext projection data, notify the projection source to stop projection, delete the currently obtained plaintext projection data, and stop decrypting ciphertext projection data.
[0755] Optionally, the transmitting unit 801 may be specifically used for:
[0756] If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0757] The sending unit 801 can also be used to: send an instruction to the display terminal indicating that a trusted decryption application is installed when it is determined that no trusted decryption application is installed on the display terminal.
[0758] Optionally, the trusted decryption application is generated by the projection source; and / or the trusted decryption application is sent to the display by the projection source; and / or the trusted decryption application is pre-installed on the display based on the instructions of the projection source.
[0759] Optionally, the specific steps may include: the display end can be used to install a trusted decryption application generated by the projection source; the display end can be used to receive and install a trusted decryption application sent by the projection source; or the display end can be used to install a trusted decryption application based on an instruction from the projection source. This instruction can be characterized by the application being used to install the trusted decryption application.
[0760] Correspondingly, the projection source can generate a trusted decryption application. The projection source can also send the trusted decryption application to the display end, or send the trusted decryption application to the display end to cause the display end to install the trusted decryption application. The projection source can also send an instruction to the display end indicating the installation of the trusted decryption application to cause the display end to install the trusted decryption application.
[0761] Optionally, before sending the encrypted projection data to the display terminal, the sending unit 801 may also be used to perform at least one of the following: 1) generating a trusted decryption application; 2) sending the trusted decryption application to the display terminal; 3) sending an instruction to the display terminal to indicate the installation of the trusted decryption application, so that the display terminal installs the trusted decryption application based on the instruction. Of course, it is also possible to send the trusted decryption application to the display terminal.
[0762] Optionally, before sending the encrypted projection data to the display terminal, the sending unit 801 can also be used to: encrypt the plaintext projection data to obtain the encrypted projection data.
[0763] Optionally, the trusted decryption application can be used to: determine the target decryption key for decrypting encrypted screen projection data; and decrypt the encrypted screen projection data based on the determined target decryption key.
[0764] Optionally, the trusted decryption application includes: a target decryption key for decrypting the encrypted projection data sent by the projection source;
[0765] Trusted decryption applications can be used to: determine the target decryption key contained within themselves.
[0766] Optionally, the projection source and the trusted decryption application have a key generation algorithm pre-synchronized; the key generation algorithm is used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: the ciphertext encrypted using the generated encryption key;
[0767] Trusted decryption applications can be used to: determine target root information; encrypted screen projection data is encrypted using the target encryption key; the target encryption key is generated based on the target root information using a key generation algorithm; and generate the target decryption key based on the target root information using a key generation algorithm.
[0768] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0769] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0770] The trusted decryption application can be used to: determine the target query identifier; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; and determine the target decryption key corresponding to the target query identifier.
[0771] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0772] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0773] The projection source and the trusted decryption application are pre-synchronized with an identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0774] The trusted decryption application can be used to: determine the target root information; encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using an identifier generation algorithm; the target query identifier is generated based on the target root information using an identifier generation algorithm; and the target decryption key corresponding to the target query identifier is determined.
[0775] Optionally, the target root information includes at least one of the following:
[0776] The identification information of the display end, the identification information of the projection source end, the transmission time information of the encrypted projection data, and the identification information of the trusted decryption application.
[0777] Optionally, the trusted decryption application can also be used to: delete at least one of the following when screen mirroring ends: the identified target decryption key, the encrypted screen mirroring data, and the plaintext screen mirroring data.
[0778] Optionally, the trusted decryption application includes a specified decoding method, and the projection source includes a specified encoding method; the specified decoding method is used to decode data encoded using the specified encoding method.
[0779] Encrypted screen projection data is obtained by further encrypting the plaintext screen projection data after encoding it according to a specified encoding method.
[0780] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain the decryption result, and then decode the decryption result according to the specified decoding method to obtain the plaintext projection data.
[0781] Optionally, the trusted decryption application and the projection source are pre-synchronized at a preset location;
[0782] Encrypted screen projection data is obtained by adding random information to plaintext screen projection data at preset positions, and then further encrypting the added result.
[0783] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain the decryption result, and delete the random information in the preset position based on the decryption result to obtain the plaintext projection data.
[0784] Optionally, the trusted decryption application and the projection source are pre-synchronized with a certain number of specified markers to ensure the correct order.
[0785] The encrypted screen projection data is obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each data block to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0786] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain several data blocks, and combine the data blocks in the correct order according to the added specified markers to obtain the plaintext projection data.
[0787] Optionally, the trusted decryption application can be used to: determine the encrypted projection data sent by the secure projection application in the projection source; the secure projection application is used to encrypt the plaintext projection data in the projection source to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application in the projection source.
[0788] For a detailed explanation, please refer to the above method implementation examples.
[0789] This embodiment also provides another embodiment of a secure screen projection device.
[0790] This device can be used in secure screen mirroring applications; the secure screen mirroring application sends screen mirroring data to the display device; the display device displays the screen mirroring data sent by the secure screen mirroring application; the display device has a trusted decryption application installed; the trusted decryption application is the application specified by the secure screen mirroring application. Specifically, the trusted decryption application can be used to decrypt the encrypted screen mirroring data sent by the secure screen mirroring application.
[0791] The device may include the following units:
[0792] Data unit 901 is used to send encrypted projection data to the display terminal so that the trusted decryption application in the display terminal can perform the following steps: determine the encrypted projection data sent by the secure projection application; decrypt the determined encrypted projection data to obtain plaintext projection data, and display the obtained plaintext projection data on the display terminal.
[0793] Alternatively, trusted decryption applications can also be used for:
[0794] Monitor whether a preset operation is performed on the displayed content; the preset operation includes at least one of the following: screen recording, screen capture, and screenshot.
[0795] If a preset operation targeting the displayed content is detected on the display device, the display of plaintext projection data will be stopped.
[0796] Optionally, data unit 901 can be specifically used for:
[0797] If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0798] Data unit 901 can also be used to: send an instruction to the display terminal indicating that a trusted decryption application is installed, if it is determined that no trusted decryption application is installed on the display terminal.
[0799] Optionally, the trusted decryption application is generated by the secure screen mirroring application; and / or the trusted decryption application is sent to the display device by the secure screen mirroring application; and / or the trusted decryption application is pre-installed on the display device based on the instructions of the secure screen mirroring application.
[0800] Optionally, the corresponding steps could be as follows: the display terminal could be used to install a trusted decryption application generated by the secure screen mirroring application; the display terminal could be used to receive and install a trusted decryption application sent by the secure screen mirroring application; or the display terminal could be used to install a trusted decryption application based on an instruction from the secure screen mirroring application. This instruction could be an application that represents the installation of a trusted decryption application.
[0801] Correspondingly, secure screen mirroring applications can generate trusted decryption applications. Secure screen mirroring applications can also send trusted decryption applications to the display device, or send trusted decryption applications to the display device to cause the display device to install the trusted decryption application. Secure screen mirroring applications can also send instructions to the display device indicating the installation of trusted decryption applications, thereby causing the display device to install the trusted decryption application.
[0802] Optionally, before sending the encrypted projection data to the display terminal, the data unit 901 may also be used to perform at least one of the following: 1) generating a trusted decryption application; 2) sending the trusted decryption application to the display terminal; 3) sending an instruction to the display terminal to indicate the installation of the trusted decryption application, so that the display terminal installs the trusted decryption application based on the instruction. Of course, it is also possible to send the trusted decryption application to the display terminal.
[0803] Optionally, before sending the encrypted projection data to the display terminal, the data unit 901 can also be used to: encrypt the plaintext projection data to obtain the encrypted projection data.
[0804] Optionally, the trusted decryption application can be used to: determine the target decryption key for decrypting encrypted screen projection data; and decrypt the encrypted screen projection data based on the determined target decryption key.
[0805] Optionally, the trusted decryption application includes: a target decryption key for decrypting encrypted screen-sharing data sent by the secure screen-sharing application;
[0806] Trusted decryption applications can be used to: determine the target decryption key contained within themselves.
[0807] Optionally, the secure screen mirroring application and the trusted decryption application have a key generation algorithm pre-synchronized; the key generation algorithm is used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: ciphertext encrypted using the generated encryption key;
[0808] Trusted decryption applications can be used to: determine target root information; encrypted screen projection data is encrypted using the target encryption key; the target encryption key is generated based on the target root information using a key generation algorithm; and generate the target decryption key based on the target root information using a key generation algorithm.
[0809] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0810] The trusted decryption application stores a set of correspondences between known decryption keys and query identifiers; the secure screen projection application stores a set of correspondences between known encryption keys and query identifiers.
[0811] The trusted decryption application can be used to: determine the target query identifier; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; and determine the target decryption key corresponding to the target query identifier.
[0812] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0813] The trusted decryption application stores a set of correspondences between known decryption keys and query identifiers; the secure screen projection application stores a set of correspondences between known encryption keys and query identifiers.
[0814] The secure screen mirroring application and the trusted decryption application are pre-synchronized with an identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0815] The trusted decryption application can be used to: determine the target root information; encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using an identifier generation algorithm; the target query identifier is generated based on the target root information using an identifier generation algorithm; and the target decryption key corresponding to the target query identifier is determined.
[0816] Optionally, the target root information includes at least one of the following:
[0817] The identification information of the display terminal, the identification information of the secure screen projection application, the transmission time information of the encrypted screen projection data, and the identification information of the trusted decryption application.
[0818] Optionally, the trusted decryption application can also be used to: delete at least one of the following when screen mirroring ends: the identified target decryption key, the encrypted screen mirroring data, and the plaintext screen mirroring data.
[0819] Optionally, the trusted decryption application includes a specified decoding method, and the secure screen mirroring application includes a specified encoding method; the specified decoding method is used to decode data encoded using the specified encoding method.
[0820] Encrypted screen projection data is obtained by further encrypting the plaintext screen projection data after encoding it according to a specified encoding method.
[0821] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain the decryption result, and then decode the decryption result according to the specified decoding method to obtain the plaintext projection data.
[0822] Optionally, the trusted decryption application and the secure screen mirroring application are pre-synchronized to a preset location;
[0823] Encrypted screen projection data is obtained by adding random information to plaintext screen projection data at preset positions, and then further encrypting the added result.
[0824] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain the decryption result, and delete the random information in the preset position based on the decryption result to obtain the plaintext projection data.
[0825] Optionally, the trusted decryption application and the secure screen mirroring application are pre-synchronized with the correct order between several specified markers;
[0826] The encrypted screen projection data is obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each data block to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0827] The trusted decryption application can be used to: decrypt the determined ciphertext projection data to obtain several data blocks, and combine the data blocks in the correct order according to the added specified markers to obtain the plaintext projection data.
[0828] Optionally, the trusted decryption application can be used to: determine the encrypted projection data sent by the secure projection application; the secure projection application can be used to encrypt the plaintext projection data to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application.
[0829] For a detailed explanation, please refer to the above method implementation examples.
[0830] This invention also provides an embodiment of a secure screen projection system.
[0831] The system may include a projection source and a display end; the display end is used to display the projection data sent by the projection source; the display end has a trusted decryption application installed; the trusted decryption application is an application specified by the projection source. The trusted decryption application can be used to decrypt the encrypted projection data sent by the projection source.
[0832] The projection source is used to send encrypted projection data to the display.
[0833] The display terminal is used to: invoke a trusted decryption application to perform the following steps: determine the encrypted projection data sent by the projection source; decrypt the determined encrypted projection data to obtain plaintext projection data, and display the obtained plaintext projection data on the display terminal.
[0834] Alternatively, the trusted decryption application can also be used to perform the following operations:
[0835] Monitor whether a preset operation is performed on the displayed content; the preset operation includes at least one of the following: screen recording, screen capture, and screenshot.
[0836] If a preset operation targeting the displayed content is detected on the display device, the display of plaintext projection data will be stopped.
[0837] Optionally, the projection source can be specifically used for:
[0838] If a trusted decryption application is confirmed to be installed on the display device, send encrypted screen projection data to the display device.
[0839] The source device for screen mirroring can be specifically used to send an instruction to the display device indicating that a trusted decryption application is installed, when it is determined that no trusted decryption application is installed on the display device.
[0840] Optionally, the trusted decryption application is generated by the projection source; and / or the trusted decryption application is sent to the display by the projection source; and / or the trusted decryption application is pre-installed on the display based on the instructions of the projection source.
[0841] Optionally, the specific steps may include: the display end can be used to install a trusted decryption application generated by the projection source; the display end can be used to receive and install a trusted decryption application sent by the projection source; or the display end can be used to install a trusted decryption application based on an instruction from the projection source. This instruction can be characterized by the application being used to install the trusted decryption application.
[0842] Correspondingly, the projection source can be used to generate a trusted decryption application. The projection source can also be used to send the trusted decryption application to the display end, or to send the trusted decryption application to the display end for installation. Furthermore, the projection source can be used to send an instruction to the display end indicating the installation of the trusted decryption application, thereby causing the display end to install the trusted decryption application.
[0843] Optionally, before sending the encrypted projection data to the display terminal, the projection source terminal may also perform at least one of the following: 1) generating a trusted decryption application; 2) sending the trusted decryption application to the display terminal; 3) sending an instruction to the display terminal to indicate the installation of the trusted decryption application, so that the display terminal installs the trusted decryption application based on the instruction. Of course, it is also possible to send the trusted decryption application to the display terminal.
[0844] Optionally, before sending the encrypted projection data to the display end, the projection source end can also be used to: encrypt the plaintext projection data to obtain the encrypted projection data.
[0845] Optionally, the display terminal can also be used to invoke a trusted decryption application to perform the following: determine the target decryption key for decrypting the encrypted projection data; and decrypt the encrypted projection data based on the determined target decryption key.
[0846] Optionally, the trusted decryption application includes: a target decryption key for decrypting encrypted projection data sent by the projection source; the display end can also be used to call the trusted decryption application to specifically execute: determining the target decryption key it contains.
[0847] Optionally, the projection source and the trusted decryption application have a key generation algorithm pre-synchronized; the key generation algorithm is used to: generate an encryption key and a decryption key based on the same root information; the generated decryption key is used to decrypt: the ciphertext encrypted using the generated encryption key;
[0848] The display terminal can also be used to invoke a trusted decryption application to perform the following: determine the target root information; the encrypted projection data is encrypted using the target encryption key; the target encryption key is generated based on the target root information using a key generation algorithm; and the target decryption key is generated based on the target root information using the key generation algorithm.
[0849] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0850] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0851] The display can also be used to invoke a trusted decryption application to perform specific actions: determine the target query identifier; the encrypted screen projection data is encrypted using the encryption key corresponding to the target query identifier; determine the target decryption key corresponding to the target query identifier.
[0852] Optionally, several sets of encryption keys and decryption keys are predetermined; in any set of encryption keys and decryption keys, the decryption key is used to decrypt the ciphertext encrypted using the same set of encryption keys; different sets of keys correspond to different query identifiers; encryption keys and decryption keys within the same set correspond to the same query identifier.
[0853] The trusted decryption application stores a set of correspondences between certain decryption keys and query identifiers; the projection source stores a set of correspondences between certain encryption keys and query identifiers.
[0854] The projection source and the trusted decryption application are pre-synchronized with an identifier generation algorithm; the identifier generation algorithm is used to generate the same query identifier based on the same root information.
[0855] The display terminal can also be used to invoke a trusted decryption application to perform the following: determine the target root information; the encrypted projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using an identifier generation algorithm; the target query identifier is generated based on the target root information using an identifier generation algorithm; and the target decryption key corresponding to the target query identifier is determined.
[0856] Optionally, the target root information includes at least one of the following:
[0857] The identification information of the display end, the identification information of the projection source end, the transmission time information of the encrypted projection data, and the identification information of the trusted decryption application.
[0858] Optionally, the display terminal can also be used to invoke a trusted decryption application to perform the following steps: upon termination of screen mirroring, delete at least one of the following: the determined target decryption key, the ciphertext screen mirroring data, and the plaintext screen mirroring data.
[0859] Optionally, the trusted decryption application includes a specified decoding method, and the projection source includes a specified encoding method; the specified decoding method is used to decode data encoded using the specified encoding method.
[0860] Encrypted screen projection data is obtained by further encrypting the plaintext screen projection data after encoding it according to a specified encoding method.
[0861] The display terminal can also be used to call a trusted decryption application to perform specific actions: decrypt the determined ciphertext projection data to obtain the decryption result, and then decode the decryption result according to the specified decoding method to obtain the plaintext projection data.
[0862] Optionally, the trusted decryption application and the projection source are pre-synchronized at a preset location;
[0863] Encrypted screen projection data is obtained by adding random information to plaintext screen projection data at preset positions, and then further encrypting the added result.
[0864] The display terminal can also be used to call a trusted decryption application to perform specific actions: decrypt the determined encrypted projection data to obtain the decryption result, and delete random information in a preset position based on the decryption result to obtain plaintext projection data.
[0865] Optionally, the trusted decryption application and the projection source are pre-synchronized with a certain number of specified markers to ensure the correct order.
[0866] The encrypted screen projection data is obtained by splitting the plaintext screen projection data into several data blocks, adding specified tags to each data block to obtain the tagging results, and then further encrypting the tagging results; wherein, the correct order between different data blocks is the same as the correct order between the added specified tags.
[0867] The display terminal can also be used to call a trusted decryption application to perform specific actions: decrypt the determined ciphertext projection data to obtain several data blocks, and combine the several data blocks in the correct order between the added specified markers to obtain plaintext projection data.
[0868] Optionally, the display end can also be used to call a trusted decryption application to specifically execute: determine the encrypted projection data sent by the secure projection application in the projection source end; the secure projection application is used to encrypt the plaintext projection data in the projection source end to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application in the projection source end.
[0869] Of course, the display terminal can also be used to call the trusted decryption application to perform specific actions: determine the encrypted projection data sent by the secure projection application; the secure projection application is used to encrypt the plaintext projection data to obtain the encrypted projection data; the trusted decryption application is the application specified by the secure projection application.
[0870] For a detailed explanation, please refer to the above method implementation examples.
[0871] This invention also provides a computer device, which includes at least a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement any of the above-described method embodiments.
[0872] This invention also provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform any of the above method embodiments.
[0873] Figure 7This is a schematic diagram of the hardware structure of a computer device configured according to an embodiment of the present invention. The device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, memory 1020, input / output interface 1030, and communication interface 1040 are internally connected to each other via the bus 1050.
[0874] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present invention.
[0875] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other applications. When the technical solutions provided in the embodiments of the present invention are implemented by software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.
[0876] The input / output interface 1030 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components within the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touchscreens, microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.
[0877] The communication interface 1040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0878] Bus 1050 includes a pathway for transmitting information between various components of the device, such as processor 1010, memory 1020, input / output interface 1030, and communication interface 1040.
[0879] It should be noted that although the above-described device only shows the processor 1010, memory 1020, input / output interface 1030, communication interface 1040, and bus 1050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of the present invention, and not necessarily all the components shown in the figures.
[0880] This invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the above-described method embodiments.
[0881] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements any of the above-described method embodiments.
[0882] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0883] This invention also provides a computer program product, including a computer program / instructions, which, when executed by a processor, implement any of the above-described method embodiments.
[0884] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that the embodiments of the present invention can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solution of the embodiments of the present invention, in essence or the part that contributes, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of the present invention.
[0885] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0886] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, the device embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. The device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate. In implementing the embodiments of the present invention, the functions of each module can be implemented in one or more software and / or hardware. Alternatively, some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0887] The above description is merely a specific implementation of the embodiments of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the embodiments of the present invention, and these improvements and modifications should also be considered as protection of the embodiments of the present invention.
[0888] In this invention, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance. The term "multiple" refers to two or more unless otherwise expressly defined.
[0889] Other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. The invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention 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 the invention are indicated by the following claims.
[0890] It should be understood that the present invention is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A secure screen projection method, characterized in that, The application is applied to a trusted decryption application; the trusted decryption application is installed in a display terminal; the display terminal is used to display screen projection data sent by a screen projection source terminal; The trusted decryption application is an application designated by the screen projection source terminal; The method comprises: Determining ciphertext screen projection data sent by the screen projection source terminal; Decrypting the determined ciphertext screen projection data to obtain plaintext screen projection data, and displaying the obtained plaintext screen projection data in the display terminal.
2. The method of claim 1, wherein, Further comprising: Monitoring whether a preset operation on display content is performed in the display terminal; the preset operation comprises at least one of the following: a screen recording operation, a screen capturing operation and a screenshot operation; In the case where it is monitored that the preset operation on the display content is performed in the display terminal, at least one of the following operations is performed: stopping displaying the plaintext screen projection data, notifying the screen projection source terminal to stop screen projection, deleting the currently obtained plaintext screen projection data, and stopping decrypting the ciphertext screen projection data.
3. The method of claim 1, wherein, The trusted decryption application is generated by the screen projection source terminal; And / or The trusted decryption application is sent to the display terminal by the screen projection source terminal; And / or The trusted decryption application is pre-installed by the display terminal based on an indication of the screen projection source terminal.
4. The method of claim 1, wherein, The decryption of the determined ciphertext screen projection data comprises: Determining a target decryption key for decrypting the ciphertext screen projection data; Decrypting the ciphertext screen projection data based on the determined target decryption key.
5. The method of claim 4, wherein, The trusted decryption application comprises a target decryption key for decrypting the ciphertext screen projection data sent by the screen projection source terminal; The determination of the target decryption key for decrypting the ciphertext screen projection data comprises: determining the target decryption key contained in itself.
6. The method of claim 4, wherein, The screen projection source terminal and the trusted decryption application pre-synchronize a key generation algorithm; The determination of the target decryption key for decrypting the ciphertext screen projection data comprises: Determining target root information; the ciphertext screen projection data is encrypted by using a target encryption key; the target encryption key is generated based on the target root information by using the key generation algorithm; Generating a target decryption key based on the target root information by using the key generation algorithm.
7. The method of claim 4, wherein, A plurality of groups of encryption keys and decryption keys are pre-determined; in any group of encryption keys and decryption keys, the decryption key is used to decrypt ciphertext obtained by using the encryption key in the same group; different groups of keys correspond to different query identifiers; the encryption key and the decryption key in the same group correspond to the same query identifier; The trusted decryption application stores a correspondence relationship set between the determined decryption key and the query identifier; The screen projection source terminal stores a correspondence relationship set between the determined encryption key and the query identifier; The determination of the target decryption key for decrypting the ciphertext screen projection data comprises: Determining a target query identifier; the ciphertext screen projection data is encrypted by using an encryption key corresponding to the target query identifier; Determining a target decryption key corresponding to the target query identifier.
8. The method of claim 4, wherein, A plurality of groups of encryption keys and decryption keys are determined; in any group of encryption keys and decryption keys, the decryption key is used to decrypt ciphertext encrypted using the encryption key in the same group; different groups of keys correspond to different query identifiers; the encryption key and the decryption key in the same group correspond to the same query identifier; The trusted decryption application stores a correspondence set of the determined decryption keys and query identifiers; the screen projection source end stores a correspondence set of the determined encryption keys and query identifiers; The screen projection source end and the trusted decryption application pre-synchronize an identifier generation algorithm; The identifier generation algorithm is used to generate the same query identifier based on the same root information; The target decryption key for decrypting the ciphertext screen projection data is determined, comprising: Determining a target root information; the ciphertext screen projection data is encrypted using the encryption key corresponding to the target query identifier; the target query identifier is generated based on the target root information using the identifier generation algorithm; Using the identifier generation algorithm, the target query identifier is generated based on the target root information; Determining the target decryption key corresponding to the target query identifier.
9. The method according to claim 6 or 8, characterized in that, The target root information includes at least one of the following: The display end identifier information, the screen projection source end identifier information, the ciphertext screen projection data transmission time information, and the trusted decryption application identifier information.
10. The method of claim 4, wherein, Further comprising: In the case of ending the screen projection, at least one of the following is deleted: the determined target decryption key, the ciphertext screen projection data, and the plaintext screen projection data.
11. The method of claim 1, wherein, The trusted decryption application includes a specified decoding mode, and the screen projection source end includes a specified encoding mode; the specified decoding mode is used to decode data encoded using the specified encoding mode; The ciphertext screen projection data is obtained by further encrypting the encoding result of the plaintext screen projection data encoded according to the specified encoding mode; The decryption of the determined ciphertext screen projection data to obtain the plaintext screen projection data, comprising: Decrypting the determined ciphertext screen projection data to obtain a decryption result, and decoding the decryption result according to the specified decoding mode to obtain the plaintext screen projection data.
12. The method of claim 1, wherein, The trusted decryption application and the screen projection source end pre-synchronize a preset position; The ciphertext screen projection data is obtained by further encrypting the addition result of the plaintext screen projection data by adding random information in the preset position; The decryption of the determined ciphertext screen projection data to obtain the plaintext screen projection data, comprising: Decrypting the determined ciphertext screen projection data to obtain a decryption result, and deleting the random information in the preset position for the decryption result to obtain the plaintext screen projection data.
13. The method of claim 1, wherein, The trusted decryption application and the screen projection source end pre-synchronize the correct order between a plurality of specified markers; The encrypted projection data is obtained by: splitting plaintext projection data into several data blocks, adding specified markers to each of the several data blocks to obtain a marker result, and then further encrypting the marker result; wherein, the correct order between different data blocks is the same as the correct order between the added specified markers. The process of decrypting the determined ciphertext projection data to obtain plaintext projection data includes: The determined encrypted projection data is decrypted to obtain several data blocks. These data blocks are then combined according to the correct order of the added specified markers to obtain the plaintext projection data.
14. A secure screen projection method, characterized in that, It is applied to the display end; the display end is used to display the projection data sent by the projection source end; The display device is equipped with a trusted decryption application; the trusted decryption application is the application specified by the projection source device. The method includes: The trusted decryption application is invoked to perform the following steps: determine the encrypted screen projection data sent by the screen projection source; The determined encrypted projection data is decrypted to obtain plaintext projection data, and the obtained plaintext projection data is displayed on the display terminal.
15. A secure screen projection method, characterized in that, It is applied to the screen projection source end; the screen projection source end is used to send screen projection data to the display end; the display end is used to display the screen projection data sent by the screen projection source end; The display device is equipped with a trusted decryption application. The trusted decryption application is the application specified by the projection source. The method includes: Send encrypted projection data to the display terminal so that the trusted decryption application in the display terminal performs the following steps: determine the encrypted projection data sent by the projection source terminal; The determined encrypted projection data is decrypted to obtain plaintext projection data, and the obtained plaintext projection data is displayed on the display terminal.
16. A secure screen projection method, characterized in that, This is used in secure screen mirroring applications; the secure screen mirroring application is used to send screen mirroring data to a display terminal; the display terminal is used to display the screen mirroring data sent by the secure screen mirroring application. The display device is equipped with a trusted decryption application. The trusted decryption application is the application specified by the secure screen mirroring application; The method includes: Send encrypted projection data to the display terminal so that the trusted decryption application in the display terminal performs the following steps: determine the encrypted projection data sent by the secure projection application; The determined encrypted projection data is decrypted to obtain plaintext projection data, and the obtained plaintext projection data is displayed on the display terminal.
17. The method of claim 16, wherein, Sending encrypted projection data to the display terminal includes: sending encrypted projection data to the display terminal when it is determined that the trusted decryption application is installed on the display terminal; The method further includes: If it is determined that the trusted decryption application is not installed on the display device, an instruction indicating that the trusted decryption application is installed is sent to the display device.
18. The method of claim 16, wherein, Before sending the encrypted projection data to the display terminal, the method further includes at least one of the following: Generate the trusted decryption application; Send the trusted decryption application to the display terminal; Send an instruction to the display terminal to indicate the installation of the trusted decryption application, so that the display terminal installs the trusted decryption application based on the instruction.
19. The method of claim 16, wherein, Before sending the cipher text screen projection data to the display end, the method further comprises: encrypting the plain text screen projection data to obtain the cipher text screen projection data.
20. A secure screen projection method, characterized in that, The method comprises: The screen projection source end sends cipher text screen projection data to the display end; The display end is configured to display the screen projection data sent by the screen projection source end; The display end is installed with a trusted decryption application; the trusted decryption application is an application designated by the screen projection source end; The trusted decryption application determines the cipher text screen projection data sent by the screen projection source end; The determined cipher text screen projection data is decrypted to obtain plain text screen projection data, and the obtained plain text screen projection data is displayed in the display end.
21. A secure screen projection system, characterized in that, The method comprises a screen projection source end and a display end; the display end is configured to display the screen projection data sent by the screen projection source end; the display end is installed with a trusted decryption application; the trusted decryption application is an application designated by the screen projection source end; The screen projection source end is configured to send cipher text screen projection data to the display end; The display end is configured to call the trusted decryption application to perform the following steps: determine the cipher text screen projection data sent by the screen projection source end; decrypt the determined cipher text screen projection data to obtain plain text screen projection data, and display the obtained plain text screen projection data in the display end.
22. An electronic device, comprising: The method comprises: At least one processor; And A memory connected in communication with the at least one processor; wherein The memory stores instructions executable by the one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 19.
23. A computer readable storage medium storing a computer program, characterized in that, The computer program, when executed by a processor, implements the method of any one of claims 1 to 19.
24. A computer program product comprising computer programs / instructions, characterized in that, The computer program / instructions, when executed by a processor, implement the method of any one of claims 1 to 19.