Program startup method and device for non-administrator users based on the Xinchuang platform
By setting up personalized interfaces and SM3 algorithms on the trusted computing platform, combined with preset mapping tables and administrator privileges of the daemon process, non-administrator users can call external applications under the restrictions of a security sandbox, solving the problem of difficulty in calling on the trusted computing platform and ensuring the security and effectiveness of the calling process.
Patent Information
- Application Number
- CN202411131037.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-16
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2044-08-16
AI Technical Summary
Non-administrator users on the trusted computing platform cannot complete calls to external applications under the security sandbox restrictions, resulting in difficulties in use.
By setting a personalized interface (jsLocalCall) in the browser, combining the preset mapping table and SM3 algorithm, generating the target message and performing the signature verification operation, and using the daemon process of the security sandbox to configure administrator permissions, the call of the external application is realized.
This solves the issue of non-administrator users calling external applications under security sandbox restrictions, ensuring the security and effectiveness of the calling process.
Smart Images

Figure CN119046931B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of security protection technology, and specifically to a program startup method, device, computer-readable storage medium, processor and business system for non-administrator users based on an information and innovation platform. Background Art
[0002] Many application systems are B / S architectures, and the front end of the application system runs in the browser. The daily use of the browser business system involves scenarios of starting and calling external applications. For example, it is necessary to call an external program to collect customer images, enter fingerprints, or call a payment password generator program to enter passwords. In order to ensure the security of the trusted innovation platform, the administrator user is usually not used when logging in, so that the browser security sandbox will block the browser from calling external programs, resulting in the front-end code being unable to start the specified external application. Different external applications require different execution permissions on the trusted innovation platform. Some require administrator user permissions to run. Even if the security sandbox is closed, calling external programs involves permission issues, resulting in the problem that some programs cannot be used, causing great trouble to the daily use of the trusted innovation platform.
[0003] To sum up, the existing technology of the trusted innovation platform has the problem that ordinary users cannot complete external application calls under the restrictions of the security sandbox. Summary of the Invention
[0004] The main purpose of this application is to provide a program startup method, device, computer-readable storage medium, processor and business system for non-administrator users based on the trusted innovation platform, so as to at least solve the problem in the prior art that non-administrator users of the trusted innovation platform cannot complete external application calls under the restrictions of the security sandbox.
[0005] In order to achieve the above-mentioned purpose, according to one aspect of the present application, a method for starting a program for a non-administrator user based on a trusted innovation platform is provided, wherein the trusted innovation platform includes a browser, an operating system and a security sandbox, and the method includes: controlling the browser to receive a first request signaling through a first target interface, and obtaining a first target program name according to the first request signaling, wherein the first target interface is used to receive the first request signaling sent by a front-end application, the first request signaling is a call request for an external application, and the first target program name is the name of the external application called by the first request signaling; controlling the browser to match the first target program name with a preset mapping table, and determining the first target path and the first target program name according to the first target program name if the match passes. A hash value is provided, and a target message is generated according to the target path and the first hash value and written into a preset message sequence of the operating system, wherein the preset mapping table includes the external applications that are allowed to be called, the first target path is the absolute path of the external application, and the first hash value is obtained by performing a digest calculation using the SM3 algorithm; the security sandbox is controlled to monitor the preset message list, and when the preset message list changes, a signature verification operation is performed according to the target message, and when the signature verification operation passes, the security sandbox is controlled to call a second target interface of the operating system and start a target application, wherein the second target interface is used to implement the call of the external application, and the target application is the external application corresponding to the first target program name.
[0006] Optionally, the security sandbox includes a daemon process. Before controlling the browser to receive the first request signaling through the first target interface, the method also includes: starting the security sandbox and activating the daemon process; configuring the permissions of the daemon process as target permissions, and the target permissions allow calling all the external applications of the trusted innovation platform.
[0007] Optionally, controlling the browser to match the first target program name with a preset mapping table includes: controlling the browser to traverse the second target program names in the preset mapping table, and determining that the match is successful if there is a second target program name that is consistent with the first target program name; controlling the browser to determine that the match is unsuccessful if there is no second target program name that is consistent with the first target program name.
[0008] Optionally, determining the first target path and the first hash value based on the first target program name includes: controlling the browser to determine the storage location of the target application process based on the first target program name, and generating the first target path based on the storage location; controlling the browser to determine the second target program name corresponding to the first target program name in the preset mapping table as the third target program name, and determining the preset hash value corresponding to the third target program name as the first hash value.
[0009] Optionally, performing a signature verification operation according to the target message includes: controlling the security sandbox to extract the first target path in the target message to obtain a second target path; controlling the security sandbox to perform a digest calculation through the SM3 algorithm according to the external application corresponding to the second target path to obtain a second hash value, and determining that the signature verification is passed when the second hash value is consistent with the first hash value; and determining that the signature verification is failed when the second hash value is inconsistent with the first hash value.
[0010] Optionally, after determining that the match fails, the method includes: controlling the browser to issue a first alarm message, where the first alarm message is used to indicate that the target application is not allowed to be called.
[0011] Optionally, after determining that the signature verification fails, the method further includes: controlling the security sandbox to issue a second alarm message, where the second alarm message is used to indicate that the target message has been tampered with.
[0012] According to another aspect of the present application, a program startup device for non-administrator users based on a trusted innovation platform is provided, wherein the trusted innovation platform includes a browser, an operating system, and a security sandbox, and the device includes: a first control unit, used to control the browser to receive a first request signaling through a first target interface, and to parse and obtain a first target program name according to the first request signaling, wherein the first target interface is used to receive the first request signaling sent by a front-end application, wherein the first request signaling is a call request for an external application, and the first target program name is the name of the external application called by the first request signaling; a second control unit, used to control the browser to match the first target program name with a preset mapping table, and when the match is successful, determine the first target path and the first target program name according to the first target program name. A hash value is provided, and a target message is generated according to the target path and the first hash value and written into the preset message sequence of the operating system, the preset mapping table includes the external applications that are allowed to be called, the first target path is the absolute path of the external application, and the first hash value is obtained by performing a digest calculation using the SM3 algorithm; a third control unit is provided, for controlling the security sandbox to monitor the preset message list, and when the preset message list changes, performing a signature verification operation according to the target message, and when the signature verification operation passes, controlling the security sandbox to call the second target interface of the operating system and start the target application, wherein the second target interface is used to implement the call of the external application, and the target application is the external application corresponding to the first target program name.
[0013] According to another aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute any one of the methods described.
[0014] According to another aspect of the present application, a business system is provided, comprising: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include means for executing any one of the methods described.
[0015] Applying the technical solution of the present application, in the above-mentioned program startup method for non-administrator users based on the trusted innovation platform, first, the above-mentioned browser is controlled to receive the first request signaling through the first target interface, and the first target program name is obtained by parsing the above-mentioned first request signaling, and the above-mentioned first target interface is used to receive the above-mentioned first request signaling sent by the front-end application, the above-mentioned first request signaling is an external application call request, and the above-mentioned first target program name is the name of the above-mentioned external application called by the above-mentioned first request signaling; then, the above-mentioned browser is controlled to match the above-mentioned first target program name with the preset mapping table, and if the match is successful, the first target path and the first hash value are determined according to the above-mentioned first target program name, and the first target path and the first hash value are determined according to the above-mentioned target path and the above-mentioned first The hash value generates a target message and writes it into the preset message sequence of the above-mentioned operating system. The preset mapping table includes the above-mentioned external applications that are allowed to be called. The above-mentioned first target path is the absolute path of the above-mentioned external application. The above-mentioned first hash value is obtained by performing a digest calculation using the SM3 algorithm. Finally, the above-mentioned security sandbox is controlled to monitor the above-mentioned preset message list. When the above-mentioned preset message list changes, a signature verification operation is performed according to the above-mentioned target message. When the above-mentioned signature verification operation passes, the above-mentioned security sandbox is controlled to call the second target interface of the above-mentioned operating system to start the target application. The above-mentioned second target interface is used to implement the call of the above-mentioned external application. The above-mentioned target application is the above-mentioned external application corresponding to the name of the above-mentioned first target program. This application is set to configure administrator privileges in the daemon process of the security sandbox. When the front end needs to call an external program, the call target is transmitted to the browser through a pre-configured interface, and then the browser performs screening. When the call is allowed, the relevant information of the target application is written into the message list. The security sandbox monitors the message list and verifies the signature based on the message list. When the signature verification passes, the target program is called. This method solves the problem that non-administrator users of the Zhongxinchuang platform in the existing technology cannot complete external application calls under the restrictions of the security sandbox. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 A hardware structure block diagram of a mobile terminal according to a method for starting a program for a non-administrator user based on a trust-based innovation platform provided in an embodiment of the present application is shown;
[0017] Figure 2 A flowchart of a method for starting a program by a non-administrator user based on an ICT innovation platform according to an embodiment of the present application is shown;
[0018] Figure 3 A schematic diagram of the structure of an information innovation platform provided according to an embodiment of the present application is shown;
[0019] Figure 4A structural block diagram of a program startup device for non-administrator users based on an ICT innovation platform provided according to an embodiment of the present application is shown.
[0020] The above drawings include the following reference numerals:
[0021] 102. Processor; 104. Memory; 106. Transmission device; 108. Input / output device. DETAILED DESCRIPTION
[0022] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in this application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0023] In order to enable those skilled in the art to better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this application.
[0024] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0025] For ease of description, some nouns or terms involved in the embodiments of the present application are explained below:
[0026] Trusted Innovation Platform: The hardware uses ARM architecture chips, such as Feiteng D2000, and the operating system is Kylin or Tongxin machines or devices, including but not limited to PCs and graphic terminals.
[0027] Ordinary users: On the Xinchuang platform, this refers to ordinary system users who do not have administrator privileges. Due to permission restrictions, they can only read or write files in their home directory and execute specific commands and operations, which cannot meet actual usage needs.
[0028] Administrator user: On the trusted computing platform, it refers to the system administrator user, who has full system authority and control, and has all operations and configuration permissions on the trusted computing system, including configuring and modifying system core files, installing and deleting software, etc.
[0029] Browser security sandbox: A browser security mechanism designed to protect browser security and stability. By limiting the permissions of scripts like JavaScript in the browser, it prevents malicious code from attacking the browser and operating system, protecting user privacy and data security. The browser security sandbox prevents front-end code from directly running local executable programs.
[0030] Daemon process: On the trusted computing platform, it refers to a special type of process running in the background of the system. It can start automatically when the system starts, and its parent process ID is 1.
[0031] JavaScript: An interpreted scripting language that is widely used in web application development. It is often used to provide a variety of dynamic functions for web pages and can be interpreted and executed by browsers.
[0032] JavaScript API: An interface provided for JavaScript language calls, which is divided into standard and non-standard interfaces. Standard interfaces are provided by the W3C standards organization, while browsers can also implement and provide non-standard interfaces.
[0033] SM3: A hash algorithm used for digital signatures, message authentication, and data integrity protection. It offers strong collision resistance, fast computation speed, and high security.
[0034] NPAPI: Netscape Plugin API, a set of browser plug-in APIs. Through NPAPI, developers can develop plug-ins for browsers and embed them into browsers. However, due to security vulnerabilities and compatibility issues, it has been abandoned by mainstream browser manufacturers.
[0035] PPAPI: A browser plug-in architecture that replaces NPAPI. This architecture uses process isolation to improve browser stability and security.
[0036] As introduced in the background technology, in the prior art, ordinary users of the credible innovation platform in the prior art cannot complete external application calls under the security sandbox restrictions. In order to solve the problem in the prior art that non-administrator users of the credible innovation platform cannot complete external application calls under the security sandbox restrictions, the embodiments of the present application provide a program startup method, device, computer-readable storage medium, processor and business system for non-administrator users based on the credible innovation platform.
[0037] The technical solutions in the embodiments of the present invention will be described clearly and completely below with reference to the accompanying drawings in the embodiments of the present invention.
[0038] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 This is a hardware structure diagram of a mobile terminal for a method of starting a program for a non-administrator user based on a trust-based platform according to an embodiment of the present invention. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown) a processor 102 (the processor 102 may include but is not limited to a microprocessor MCU or a programmable logic device FPGA and other processing devices) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input and output device 108 for communication functions. It will be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components than shown, or with Figure 1 Different configurations shown.
[0039] The memory 104 can be used to store computer programs, such as software programs and modules of application software, such as the computer program corresponding to the device information display method in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above-mentioned method. The memory 104 may include a high-speed random access memory and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the above-mentioned networks include but are not limited to the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. The transmission device 106 is used to receive or send data via a network. Specific examples of the above-mentioned network may include a wireless network provided by the mobile terminal's communication provider. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, abbreviated as NIC), which can be connected to other network devices via a base station to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0040] In this embodiment, a method for starting a program for a non-administrator user based on an information and communication platform and running on a mobile terminal, a computer terminal or a similar computing device is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0041] Figure 2 This is a flowchart of a method for starting a program for a non-administrator user based on a trust-based platform according to an embodiment of the present application. Figure 2 As shown, the method includes the following steps:
[0042] Step S201: Control the browser to receive a first request signaling through a first target interface, and parse the first request signaling to obtain a first target program name. The first target interface is used to receive the first request signaling sent by a front-end application, the first request signaling being a request to call an external application, and the first target program name being the name of the external application called by the first request signaling.
[0043] Specifically, if Figure 3 As shown, this application sets a personalized interface (JavaScript API) in the browser and determines the name of the interface as jsLocalCall, that is, the kernel JS API. When the front-end code in the browser needs to call an external application, the name of the external application to be called is determined according to the call request to obtain the above-mentioned first target program name.
[0044] It can be understood that the above interface is implemented in the browser and is the main process of the browser itself. It is not constrained by the security sandbox mechanism and can send messages to the message queue of the trusted innovation platform.
[0045] Step S202: Control the browser to match the first target program name with a preset mapping table. If a match is successful, determine a first target path and a first hash value based on the first target program name. Generate a target message based on the target path and the first hash value and write the target message into a preset message sequence of the operating system. The preset mapping table includes the external applications that are allowed to be called. The first target path is the absolute path of the external application. The first hash value is obtained by digest calculation using the SM3 algorithm.
[0046] Specifically, if Figure 3As shown, the browser matches the obtained first target program name with the external application mapping table maintained internally by the browser, i.e., the preset mapping table, to determine whether the external application is in the preset mapping table. If the match succeeds, it is determined that the external application is allowed to be called, and then the absolute path of the external application and the hash value corresponding to the external application in the preset mapping table are written into the specified message list, i.e., the preset message list.
[0047] Step S203, control the above-mentioned security sandbox to listen to the above-mentioned preset message list, and when the above-mentioned preset message list changes, perform a signature verification operation according to the above-mentioned target message. When the above-mentioned signature verification operation passes, control the above-mentioned security sandbox to call the second target interface of the above-mentioned operating system and start the target application. The above-mentioned second target interface is used to implement the call of the above-mentioned external application, and the above-mentioned target application is the above-mentioned external application corresponding to the name of the above-mentioned first target program.
[0048] Specifically, if Figure 3 As shown, the daemon process in the control security sandbox listens to the above message list. After listening to the message, it parses the message, obtains the above first target program name and the above first hash value, and performs a signature verification operation based on the above first hash value to ensure that the message has not been tampered with. Then, if the signature verification passes, the API interface of the trusted innovation platform is called according to the above absolute path and the above first target program name, that is, the above second target interface starts the external application.
[0049] Through this embodiment, first, the browser is controlled to receive the first request signaling through the first target interface, and the first target program name is obtained according to the analysis of the first request signaling. The first target interface is used to receive the first request signaling sent by the front-end application. The first request signaling is a call request of the external application, and the first target program name is the name of the external application called by the first request signaling. Then, the browser is controlled to match the first target program name with the preset mapping table. If the match is successful, the first target path and the first hash value are determined according to the first target program name. The target message is generated according to the target path and the first hash value and written into the above The operating system presets a message sequence, the preset mapping table includes the external applications that are allowed to be called, the first target path is the absolute path of the external application, and the first hash value is obtained by performing a digest calculation using the SM3 algorithm; finally, the security sandbox is controlled to monitor the preset message list, and when the preset message list changes, a signature verification operation is performed according to the target message. When the signature verification operation passes, the security sandbox is controlled to call the second target interface of the operating system and start the target application. The second target interface is used to implement the call of the external application, and the target application is the external application corresponding to the name of the first target program. This application is configured to configure administrator privileges in the daemon process of the security sandbox. When the front end needs to call an external program, the call target is transmitted to the browser through a pre-configured interface, and the browser performs screening. When the call is allowed, the relevant information of the target application is written into the message list, the security sandbox monitors the message list, and performs signature verification based on the message list. When the signature verification passes, the target program is called. This method solves the problem that non-administrator users of the Xinchuang platform in the existing technology cannot complete external application calls under the restrictions of the security sandbox.
[0050] To ensure the normal operation of the security sandbox, in an optional implementation, before controlling the browser to receive the first request signaling through the first target interface, the method further includes:
[0051] Step S301, start the security sandbox and activate the daemon process;
[0052] Specifically, the daemon process is a background process configured in a security sandbox and is set to start automatically when the computer is turned on. To ensure the security of the browser, the security sandbox is kept open while the browser is running.
[0053] Step S302, configure the permissions of the above-mentioned daemon process as target permissions, and the above-mentioned target permissions allow calling all the above-mentioned external applications of the above-mentioned trusted innovation platform.
[0054] Furthermore, to ensure that ordinary users can call, this application is set to configure the administrator user to the above-mentioned daemon process. Calling through the daemon process ensures that the calling process is not restricted.
[0055] In order to prevent the calling process from calling an application that is prohibited from calling, in an optional implementation, the above step S202 includes:
[0056] Step S2021, controlling the browser to traverse the second target program names in the preset mapping table, and determining that a match is successful if the second target program name is consistent with the first target program name;
[0057] Specifically, based on matching the first target program name with the program name recorded in the preset mapping table, that is, the second target program name, if the preset mapping table contains a record identical to the first target program name, it is determined that the match succeeds.
[0058] Step S2022: Control the browser to determine that the match fails if there is no second target program name that is consistent with the first target program name.
[0059] Specifically, based on matching the first target program name with the program name recorded in the preset mapping table, that is, the second target program name, if there is no record with the same name as the first target program in the preset mapping table, it is determined that the match fails.
[0060] In order to provide call-related data, in an optional implementation, the above step S202 further includes:
[0061] Step S2023: Control the browser to determine the storage location of the target application process based on the first target program name, and generate the first target path according to the storage location;
[0062] Specifically, in order to facilitate the above-mentioned daemon process to call external applications, the present application is set to determine the storage location of the above-mentioned target application based on the name when determining the name of the first target program, and determine the corresponding absolute path according to the storage location to obtain the above-mentioned first target path.
[0063] Step S2024: Control the browser to determine the second target program name corresponding to the first target program name in the preset mapping table as the third target program name, and determine the preset hash value corresponding to the third target program name as the first hash value.
[0064] Specifically, the present application is set to determine that when there is a record consistent with the above-mentioned first target program name in the above-mentioned preset mapping table, it is determined to be the above-mentioned third target program name, and then the hash value corresponding to the above-mentioned third target program name pre-stored in the preset mapping table is queried to obtain the above-mentioned first hash value.
[0065] In order to prevent the call result from being tampered with, in an optional implementation, the above step S203 includes:
[0066] Step S2031, controlling the security sandbox to extract the first target path from the target message to obtain a second target path;
[0067] Specifically, the target message is parsed based on the message queue in the security sandbox, and the application name and absolute path of the external application are obtained to obtain the second target path.
[0068] Step S2032: Control the security sandbox to perform digest calculation using the SM3 algorithm on the external application corresponding to the second target path to obtain a second hash value. If the second hash value is consistent with the first hash value, determine that the signature verification succeeds; if the second hash value is inconsistent with the first hash value, determine that the signature verification fails.
[0069] Specifically, an external application is searched based on the second target path, a summary calculation is performed through the SM3 algorithm to obtain the second hash value, and the second hash value is compared with the first hash value recorded in the target message. If the second hash value is consistent with the first hash value, the signature verification is determined to be successful. If the second hash value is inconsistent with the first hash value, the signature verification is determined to be unsuccessful.
[0070] To improve processing efficiency, in an optional implementation, after determining that the match fails, the method includes:
[0071] Step S401: Control the browser to issue a first alarm message, where the first alarm message is used to indicate that the target application is not allowed to be called.
[0072] Specifically, when it is determined that the external application is not in the preset mapping table, it is determined that the external application called by the front-end code is an external application that is not allowed to be called. At this time, the above-mentioned first alarm information is issued to prompt the staff to switch the administrator account to make the call.
[0073] To improve processing efficiency, in an optional embodiment, after determining that the signature verification fails, the method further includes:
[0074] Step S501: Control the security sandbox to issue a second alarm message, where the second alarm message is used to indicate that the target message has been tampered with.
[0075] Specifically, when the guard determines that the first hash value and the second hash value are inconsistent, it determines that the target information has been tampered with during the transmission process, and then issues the second alarm message to prompt the staff member that the browser has been attacked.
[0076] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0077] The embodiment of the present application also provides a program startup device for non-administrator users based on the credible innovation platform. It should be noted that the program startup device for non-administrator users based on the credible innovation platform in the embodiment of the present application can be used to execute the program startup method for non-administrator users based on the credible innovation platform provided in the embodiment of the present application. The device is used to implement the above-mentioned embodiments and preferred implementation methods, and those that have been explained will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.
[0078] The following introduces the program startup device for non-administrator users based on the trusted innovation platform provided in the embodiment of this application.
[0079] Figure 4 This is a structural block diagram of a program startup device for non-administrator users based on a trust-based platform according to an embodiment of the present application. Figure 4 As shown, the device includes:
[0080] A first control unit 10 is configured to control the browser to receive a first request signaling through a first target interface, and to parse the first request signaling to obtain a first target program name. The first target interface is configured to receive the first request signaling sent by a front-end application, the first request signaling being a request to call an external application, and the first target program name being the name of the external application called by the first request signaling.
[0081] Specifically, if Figure 3As shown, this application sets a personalized interface (JavaScript API) in the browser and determines the name of the interface as jsLocalCall, that is, the kernel JS API. When the front-end code in the browser needs to call an external application, the name of the external application to be called is determined according to the call request to obtain the above-mentioned first target program name.
[0082] It can be understood that the above interface is implemented in the browser and is the main process of the browser itself. It is not constrained by the security sandbox mechanism and can send messages to the message queue of the trusted innovation platform.
[0083] a second control unit 20, configured to control the browser to match the first target program name with a preset mapping table; if a match is successful, determine a first target path and a first hash value based on the first target program name; generate a target message based on the target path and the first hash value and write the target message into a preset message sequence of the operating system; the preset mapping table includes the external applications that are allowed to be called; the first target path is the absolute path of the external application; and the first hash value is obtained by digest calculation using the SM3 algorithm;
[0084] Specifically, if Figure 3 As shown, the browser matches the obtained first target program name with the external application mapping table maintained internally by the browser, i.e., the preset mapping table, to determine whether the external application is in the preset mapping table. If the match succeeds, it is determined that the external application is allowed to be called, and then the absolute path of the external application and the hash value corresponding to the external application in the preset mapping table are written into the specified message list, i.e., the preset message list.
[0085] The third control unit 30 is used to control the above-mentioned security sandbox to monitor the above-mentioned preset message list. When the above-mentioned preset message list changes, the signature verification operation is performed according to the above-mentioned target message. When the above-mentioned signature verification operation passes, the third control unit 30 is used to control the above-mentioned security sandbox to call the second target interface of the above-mentioned operating system and start the target application. The above-mentioned second target interface is used to implement the call of the above-mentioned external application. The above-mentioned target application is the above-mentioned external application corresponding to the name of the above-mentioned first target program.
[0086] Specifically, if Figure 3As shown, the daemon process in the control security sandbox listens to the above message list. After listening to the message, it parses the message, obtains the above first target program name and the above first hash value, and performs a signature verification operation based on the above first hash value to ensure that the message has not been tampered with. Then, if the signature verification passes, the API interface of the trusted innovation platform is called according to the above absolute path and the above first target program name, that is, the above second target interface starts the external application.
[0087] Through this embodiment, the first control unit controls the above-mentioned browser to receive the first request signaling through the first target interface, and obtains the first target program name according to the above-mentioned first request signaling. The above-mentioned first target interface is used to receive the above-mentioned first request signaling sent by the front-end application. The above-mentioned first request signaling is an external application call request, and the above-mentioned first target program name is the name of the above-mentioned external application called by the above-mentioned first request signaling; the first control unit controls the above-mentioned browser to match the above-mentioned first target program name with the preset mapping table. If the match is successful, the first target path and the first hash value are determined according to the above-mentioned first target program name, and the target message is generated according to the above-mentioned target path and the above-mentioned first hash value and written to the upper The operating system presets a message sequence, the preset mapping table includes the external applications that are allowed to be called, the first target path is the absolute path of the external application, and the first hash value is obtained by performing a digest calculation using the SM3 algorithm; the first control unit controls the security sandbox to monitor the preset message list, and in the event that the preset message list changes, performs a signature verification operation based on the target message, and in the event that the signature verification operation passes, controls the security sandbox to call the second target interface of the operating system and start the target application, and the second target interface is used to implement the call of the external application, and the target application is the external application corresponding to the name of the first target program. The present application configures administrator privileges in the daemon process of the security sandbox, and in the event that the front end needs to call an external program, transmits the call target to the browser through a pre-configured interface, and then the browser performs screening. In the event that the call is allowed, the relevant information of the target application is written into the message list, the security sandbox monitors the message list, and performs signature verification based on the message list. In the event that the signature verification passes, the target program is called. This method solves the problem in the prior art that non-administrator users of the Xinchuang platform cannot complete external application calls under the restrictions of the security sandbox.
[0088] In order to ensure the normal operation of the security sandbox, in an optional embodiment, the above-mentioned device further includes:
[0089] a fourth control unit, configured to start the security sandbox and activate the daemon process before controlling the browser to receive the first request signaling through the first target interface;
[0090] Specifically, the daemon process is a background process configured in a security sandbox and is set to start automatically when the computer is turned on. To ensure the security of the browser, the security sandbox is kept open while the browser is running.
[0091] The fifth control unit is used to configure the permissions of the above-mentioned daemon process as target permissions, and the above-mentioned target permissions allow calling all the above-mentioned external applications of the above-mentioned trusted innovation platform.
[0092] Furthermore, to ensure that ordinary users can call, this application is set to configure the administrator user to the above-mentioned daemon process. Calling through the daemon process ensures that the calling process is not restricted.
[0093] In order to prevent the calling process from calling an application that is prohibited from calling, in an optional embodiment, the second control unit includes:
[0094] a first control module, configured to control the browser to traverse the second target program names in the preset mapping table, and determine that a match is successful if the second target program name is consistent with the first target program name;
[0095] Specifically, based on matching the first target program name with the program name recorded in the preset mapping table, that is, the second target program name, if the preset mapping table contains a record identical to the first target program name, it is determined that the match succeeds.
[0096] The second control module is configured to control the browser to determine that the match fails when there is no second target program name that is consistent with the first target program name.
[0097] Specifically, based on matching the first target program name with the program name recorded in the preset mapping table, that is, the second target program name, if there is no record with the same name as the first target program in the preset mapping table, it is determined that the match fails.
[0098] In order to provide call-related data, in an optional embodiment, the second control unit further includes:
[0099] A third control module is configured to control the browser to determine a storage location of the target application process based on the first target program name, and to generate the first target path according to the storage location;
[0100] Specifically, in order to facilitate the above-mentioned daemon process to call external applications, the present application is set to determine the storage location of the above-mentioned target application based on the name when determining the name of the first target program, and determine the corresponding absolute path according to the storage location to obtain the above-mentioned first target path.
[0101] The fourth control module is used to control the browser to determine the second target program name corresponding to the first target program name in the preset mapping table as the third target program name, and to determine the preset hash value corresponding to the third target program name as the first hash value.
[0102] Specifically, the present application is set to determine that when there is a record consistent with the above-mentioned first target program name in the above-mentioned preset mapping table, it is determined to be the above-mentioned third target program name, and then the hash value corresponding to the above-mentioned third target program name pre-stored in the preset mapping table is queried to obtain the above-mentioned first hash value.
[0103] In order to prevent the call result from being tampered with, in an optional embodiment, the third control unit includes:
[0104] A fifth control module, configured to control the security sandbox to extract the first target path from the target message to obtain a second target path;
[0105] Specifically, the target message is parsed based on the message queue in the security sandbox, and the application name and absolute path of the external application are obtained to obtain the second target path.
[0106] The sixth control module is used to control the above-mentioned security sandbox to perform a digest calculation through the above-mentioned SM3 algorithm according to the above-mentioned external application corresponding to the above-mentioned second target path to obtain a second hash value; if the above-mentioned second hash value is consistent with the above-mentioned first hash value, it is determined that the signature verification is passed; if the above-mentioned second hash value is inconsistent with the above-mentioned first hash value, it is determined that the signature verification is failed.
[0107] Specifically, an external application is searched based on the second target path, a summary calculation is performed through the SM3 algorithm to obtain the second hash value, and the second hash value is compared with the first hash value recorded in the target message. If the second hash value is consistent with the first hash value, the signature verification is determined to be successful. If the second hash value is inconsistent with the first hash value, the signature verification is determined to be unsuccessful.
[0108] In order to improve processing efficiency, in an optional embodiment, the above-mentioned device includes:
[0109] The sixth control unit is used to control the browser to issue a first alarm message after determining that the match fails, wherein the first alarm message is used to indicate that the target application is not allowed to be called.
[0110] Specifically, when it is determined that the external application is not in the preset mapping table, it is determined that the external application called by the front-end code is an external application that is not allowed to be called. At this time, the above-mentioned first alarm information is issued to prompt the staff to switch the administrator account to make the call.
[0111] In order to improve processing efficiency, in an optional embodiment, the above-mentioned device further includes:
[0112] The seventh control unit is configured to control the security sandbox to issue a second alarm message after determining that the signature verification fails, where the second alarm message is used to indicate that the target message has been tampered with.
[0113] Specifically, when the guard determines that the first hash value and the second hash value are inconsistent, it determines that the target information has been tampered with during the transmission process, and then issues the second alarm message to prompt the staff member that the browser has been attacked.
[0114] The program startup device for non-administrator users based on the Xinchuang platform includes a processor and a memory. The first control unit, the second control unit, and the third control unit are all stored in the memory as program units, and the processor executes the program units stored in the memory to implement the corresponding functions. The above modules are all located in the same processor; alternatively, the above modules are located in different processors in any combination.
[0115] The processor contains a kernel, which retrieves the corresponding program unit from memory. The kernel can have one or more kernels, and by adjusting kernel parameters, non-administrator users can call external programs.
[0116] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0117] An embodiment of the present invention provides a computer-readable storage medium, which includes a stored program. When the program is running, the device where the computer-readable storage medium is located is controlled to execute the program startup method for non-administrator users based on the trusted computing platform.
[0118] Specifically, the program startup method for non-administrator users based on the Xinchuang platform includes:
[0119] Step S201: Control the browser to receive a first request signaling through a first target interface, and parse the first request signaling to obtain a first target program name. The first target interface is used to receive the first request signaling sent by a front-end application, the first request signaling being a request to call an external application, and the first target program name being the name of the external application called by the first request signaling.
[0120] Specifically, if Figure 3 As shown, this application sets a personalized interface (JavaScript API) in the browser and determines the name of the interface as jsLocalCall, that is, the kernel JS API. When the front-end code in the browser needs to call an external application, the name of the external application to be called is determined according to the call request to obtain the above-mentioned first target program name.
[0121] It can be understood that the above interface is implemented in the browser and is the main process of the browser itself. It is not constrained by the security sandbox mechanism and can send messages to the message queue of the trusted innovation platform.
[0122] Step S202: Control the browser to match the first target program name with a preset mapping table. If a match is successful, determine a first target path and a first hash value based on the first target program name. Generate a target message based on the target path and the first hash value and write the target message into a preset message sequence of the operating system. The preset mapping table includes the external applications that are allowed to be called. The first target path is the absolute path of the external application. The first hash value is obtained by digest calculation using the SM3 algorithm.
[0123] Specifically, if Figure 3 As shown, the browser matches the obtained first target program name with the external application mapping table maintained internally by the browser, i.e., the preset mapping table, to determine whether the external application is in the preset mapping table. If the match succeeds, it is determined that the external application is allowed to be called, and then the absolute path of the external application and the hash value corresponding to the external application in the preset mapping table are written into the specified message list, i.e., the preset message list.
[0124] Step S203, control the above-mentioned security sandbox to listen to the above-mentioned preset message list, and when the above-mentioned preset message list changes, perform a signature verification operation according to the above-mentioned target message. When the above-mentioned signature verification operation passes, control the above-mentioned security sandbox to call the second target interface of the above-mentioned operating system and start the target application. The above-mentioned second target interface is used to implement the call of the above-mentioned external application, and the above-mentioned target application is the above-mentioned external application corresponding to the name of the above-mentioned first target program.
[0125] Specifically, if Figure 3 As shown, the daemon process in the control security sandbox listens to the above message list. After listening to the message, it parses the message, obtains the above first target program name and the above first hash value, and performs a signature verification operation based on the above first hash value to ensure that the message has not been tampered with. Then, if the signature verification passes, the API interface of the trusted innovation platform is called according to the above absolute path and the above first target program name, that is, the above second target interface starts the external application.
[0126] An embodiment of the present invention provides a processor, which is used to run a program, wherein when the program is running, the program startup method for non-administrator users based on the trusted computing platform is executed.
[0127] Specifically, the program startup method for non-administrator users based on the Xinchuang platform includes:
[0128] Step S201: Control the browser to receive a first request signaling through a first target interface, and parse the first request signaling to obtain a first target program name. The first target interface is used to receive the first request signaling sent by a front-end application, the first request signaling being a request to call an external application, and the first target program name being the name of the external application called by the first request signaling.
[0129] Specifically, if Figure 3 As shown, this application sets a personalized interface (JavaScript API) in the browser and determines the name of the interface as jsLocalCall, that is, the kernel JS API. When the front-end code in the browser needs to call an external application, the name of the external application to be called is determined according to the call request to obtain the above-mentioned first target program name.
[0130] It can be understood that the above interface is implemented in the browser and is the main process of the browser itself. It is not constrained by the security sandbox mechanism and can send messages to the message queue of the trusted innovation platform.
[0131] Step S202: Control the browser to match the first target program name with a preset mapping table. If a match is successful, determine a first target path and a first hash value based on the first target program name. Generate a target message based on the target path and the first hash value and write the target message into a preset message sequence of the operating system. The preset mapping table includes the external applications that are allowed to be called. The first target path is the absolute path of the external application. The first hash value is obtained by digest calculation using the SM3 algorithm.
[0132] Specifically, if Figure 3As shown, the browser matches the obtained first target program name with the external application mapping table maintained internally by the browser, i.e., the preset mapping table, to determine whether the external application is in the preset mapping table. If the match succeeds, it is determined that the external application is allowed to be called, and then the absolute path of the external application and the hash value corresponding to the external application in the preset mapping table are written into the specified message list, i.e., the preset message list.
[0133] Step S203, control the above-mentioned security sandbox to listen to the above-mentioned preset message list, and when the above-mentioned preset message list changes, perform a signature verification operation according to the above-mentioned target message. When the above-mentioned signature verification operation passes, control the above-mentioned security sandbox to call the second target interface of the above-mentioned operating system and start the target application. The above-mentioned second target interface is used to implement the call of the above-mentioned external application, and the above-mentioned target application is the above-mentioned external application corresponding to the name of the above-mentioned first target program.
[0134] Specifically, if Figure 3 As shown, the daemon process in the control security sandbox listens to the above message list. After listening to the message, it parses the message, obtains the above first target program name and the above first hash value, and performs a signature verification operation based on the above first hash value to ensure that the message has not been tampered with. Then, if the signature verification passes, the API interface of the trusted innovation platform is called according to the above absolute path and the above first target program name, that is, the above second target interface starts the external application.
[0135] An embodiment of the present invention provides a business system, which includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, at least the following steps are performed:
[0136] Step S201: Control the browser to receive a first request signaling through a first target interface, and parse the first request signaling to obtain a first target program name. The first target interface is used to receive the first request signaling sent by a front-end application, the first request signaling being a request to call an external application, and the first target program name being the name of the external application called by the first request signaling.
[0137] Specifically, if Figure 3 As shown, this application sets a personalized interface (JavaScript API) in the browser and determines the name of the interface as jsLocalCall, that is, the kernel JS API. When the front-end code in the browser needs to call an external application, the name of the external application to be called is determined according to the call request to obtain the above-mentioned first target program name.
[0138] It can be understood that the above interface is implemented in the browser and is the main process of the browser itself. It is not constrained by the security sandbox mechanism and can send messages to the message queue of the trusted innovation platform.
[0139] Step S202: Control the browser to match the first target program name with a preset mapping table. If a match is successful, determine a first target path and a first hash value based on the first target program name. Generate a target message based on the target path and the first hash value and write the target message into a preset message sequence of the operating system. The preset mapping table includes the external applications that are allowed to be called. The first target path is the absolute path of the external application. The first hash value is obtained by digest calculation using the SM3 algorithm.
[0140] Specifically, if Figure 3 As shown, the browser matches the obtained first target program name with the external application mapping table maintained internally by the browser, i.e., the preset mapping table, to determine whether the external application is in the preset mapping table. If the match succeeds, it is determined that the external application is allowed to be called, and then the absolute path of the external application and the hash value corresponding to the external application in the preset mapping table are written into the specified message list, i.e., the preset message list.
[0141] Step S203, control the above-mentioned security sandbox to listen to the above-mentioned preset message list, and when the above-mentioned preset message list changes, perform a signature verification operation according to the above-mentioned target message. When the above-mentioned signature verification operation passes, control the above-mentioned security sandbox to call the second target interface of the above-mentioned operating system and start the target application. The above-mentioned second target interface is used to implement the call of the above-mentioned external application, and the above-mentioned target application is the above-mentioned external application corresponding to the name of the above-mentioned first target program.
[0142] Specifically, if Figure 3 As shown, the daemon process in the control security sandbox listens to the above message list. After listening to the message, it parses the message, obtains the above first target program name and the above first hash value, and performs a signature verification operation based on the above first hash value to ensure that the message has not been tampered with. Then, if the signature verification passes, the API interface of the trusted innovation platform is called according to the above absolute path and the above first target program name, that is, the above second target interface starts the external application.
[0143] The present application also provides a computer program product, which, when executed on a data processing device, is adapted to execute a program for initializing at least the following method steps:
[0144] Step S201: Control the browser to receive a first request signaling through a first target interface, and parse the first request signaling to obtain a first target program name. The first target interface is used to receive the first request signaling sent by a front-end application, the first request signaling being a request to call an external application, and the first target program name being the name of the external application called by the first request signaling.
[0145] Specifically, if Figure 3 As shown, this application sets a personalized interface (JavaScript API) in the browser and determines the name of the interface as jsLocalCall, that is, the kernel JS API. When the front-end code in the browser needs to call an external application, the name of the external application to be called is determined according to the call request to obtain the above-mentioned first target program name.
[0146] It can be understood that the above interface is implemented in the browser and is the main process of the browser itself. It is not constrained by the security sandbox mechanism and can send messages to the message queue of the trusted innovation platform.
[0147] Step S202: Control the browser to match the first target program name with a preset mapping table. If a match is successful, determine a first target path and a first hash value based on the first target program name. Generate a target message based on the target path and the first hash value and write the target message into a preset message sequence of the operating system. The preset mapping table includes the external applications that are allowed to be called. The first target path is the absolute path of the external application. The first hash value is obtained by digest calculation using the SM3 algorithm.
[0148] Specifically, if Figure 3 As shown, the browser matches the obtained first target program name with the external application mapping table maintained internally by the browser, i.e., the preset mapping table, to determine whether the external application is in the preset mapping table. If the match succeeds, it is determined that the external application is allowed to be called, and then the absolute path of the external application and the hash value corresponding to the external application in the preset mapping table are written into the specified message list, i.e., the preset message list.
[0149] Step S203, control the above-mentioned security sandbox to listen to the above-mentioned preset message list, and when the above-mentioned preset message list changes, perform a signature verification operation according to the above-mentioned target message. When the above-mentioned signature verification operation passes, control the above-mentioned security sandbox to call the second target interface of the above-mentioned operating system and start the target application. The above-mentioned second target interface is used to implement the call of the above-mentioned external application, and the above-mentioned target application is the above-mentioned external application corresponding to the name of the above-mentioned first target program.
[0150] Specifically, if Figure 3 As shown, the daemon process in the control security sandbox listens to the above message list. After listening to the message, it parses the message, obtains the above first target program name and the above first hash value, and performs a signature verification operation based on the above first hash value to ensure that the message has not been tampered with. Then, if the signature verification passes, the API interface of the trusted innovation platform is called according to the above absolute path and the above first target program name, that is, the above second target interface starts the external application.
[0151] Obviously, those skilled in the art will appreciate that the various modules or steps of the present invention described above can be implemented using a general-purpose computing device, can be centralized on a single computing device, or can be distributed across a network of multiple computing devices. They can be implemented using program code executable by the computing device, and thus, can be stored in a storage device and executed by the computing device. In some cases, the steps shown or described herein can be performed in a different order than that shown, or can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.
[0152] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0153] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0154] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0155] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0156] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0157] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0158] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules, 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 technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.
[0159] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0160] From the above description, it can be seen that the above embodiments of the present application achieve the following technical effects:
[0161] 1) The program startup method for non-administrator users based on the xinchuang platform of the present application, first, controls the above-mentioned browser to receive the first request signaling through the first target interface, and obtains the first target program name according to the above-mentioned first request signaling, the above-mentioned first target interface is used to receive the above-mentioned first request signaling sent by the front-end application, the above-mentioned first request signaling is an external application call request, and the above-mentioned first target program name is the name of the above-mentioned external application called by the above-mentioned first request signaling; then, controls the above-mentioned browser to match the above-mentioned first target program name with the preset mapping table, and when the match is passed, determines the first target path and the first hash value according to the above-mentioned first target program name, and generates a target program name according to the above-mentioned target path and the above-mentioned first hash value. The target message is written into the preset message sequence of the operating system. The preset mapping table includes the external applications that are allowed to be called. The first target path is the absolute path of the external application. The first hash value is obtained by performing a digest calculation using the SM3 algorithm. Finally, the security sandbox is controlled to monitor the preset message list. When the preset message list changes, the signature verification operation is performed according to the target message. When the signature verification operation passes, the security sandbox is controlled to call the second target interface of the operating system to start the target application. The second target interface is used to implement the call of the external application. The target application is the external application corresponding to the name of the first target program. The present application is configured to configure administrator privileges in the daemon process of the security sandbox. When the front end needs to call an external program, the call target is transmitted to the browser through a pre-configured interface, and the browser performs screening. When the call is allowed, the relevant information of the target application is written into the message list. The security sandbox monitors the message list and performs signature verification based on the message list. When the signature verification passes, the target program is called. This method solves the problem that non-administrator users of the Xinchuang platform in the existing technology cannot complete external application calls under the restrictions of the security sandbox.
[0162] 2) The program startup device for non-administrator users based on the ICT platform of the present application, the first control unit controls the above-mentioned browser to receive the first request signaling through the first target interface, and obtains the first target program name according to the above-mentioned first request signaling. The above-mentioned first target interface is used to receive the above-mentioned first request signaling sent by the front-end application, the above-mentioned first request signaling is an external application call request, and the above-mentioned first target program name is the name of the above-mentioned external application called by the above-mentioned first request signaling; the first control unit controls the above-mentioned browser to match the above-mentioned first target program name with the preset mapping table, and when the match is passed, determines the first target path and the first hash value according to the above-mentioned first target program name, and determines the first target path and the first hash value according to the above-mentioned target path and the above-mentioned first hash value. The target message is generated by the value and written into the preset message sequence of the above-mentioned operating system. The preset mapping table includes the above-mentioned external applications that are allowed to be called. The above-mentioned first target path is the absolute path of the above-mentioned external application. The above-mentioned first hash value is obtained by performing a digest calculation using the SM3 algorithm. The first control unit controls the above-mentioned security sandbox to monitor the above-mentioned preset message list. When the above-mentioned preset message list changes, the signature verification operation is performed according to the above-mentioned target message. When the above-mentioned signature verification operation passes, the above-mentioned security sandbox is controlled to call the second target interface of the above-mentioned operating system and start the target application. The above-mentioned second target interface is used to implement the call of the above-mentioned external application. The above-mentioned target application is the above-mentioned external application corresponding to the name of the above-mentioned first target program. The present application is set to configure administrator privileges in the daemon process of the security sandbox. When the front end needs to call an external program, the call target is transmitted to the browser through a pre-configured interface, and then the browser performs screening. When the call is allowed, the relevant information of the target application is written into the message list. The security sandbox monitors the message list and verifies the signature based on the message list. When the signature verification passes, the target program is called. This method solves the problem that non-administrator users of the Zhongxinchuang platform in the existing technology cannot complete external application calls under the restrictions of the security sandbox.
[0163] The above description is merely a preferred embodiment of the present application and is not intended to limit the present application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present application shall be included within the scope of protection of the present application.
Claims
1. A program startup method for non-administrator users based on the Xinchuang platform, characterized in that: The trust innovation platform includes a browser, an operating system and a security sandbox, and the method includes: Controlling the browser to receive a first request signaling through a first target interface, and obtaining a first target program name based on the first request signaling parsed, wherein the first target interface is used to receive the first request signaling sent by a front-end application, the first request signaling being a request to call an external application, and the first target program name being the name of the external application called by the first request signaling; Controlling the browser to match the first target program name with a preset mapping table, and if a match is successful, determining a first target path and a first hash value based on the first target program name, generating a target message based on the target path and the first hash value and writing the target message into a preset message sequence of the operating system, wherein the preset mapping table includes the external applications that are allowed to be called, the first target path is the absolute path of the external application, and the first hash value is obtained by digest calculation using the SM3 algorithm; Control the security sandbox to listen to the preset message sequence, and when the preset message sequence changes, perform a signature verification operation according to the target message. When the signature verification operation passes, control the security sandbox to call the second target interface of the operating system and start the target application, where the second target interface is used to implement the call of the external application, and the target application is the external application corresponding to the name of the first target program.
2. The method according to claim 1, characterized in that The security sandbox includes a daemon process. Before controlling the browser to receive the first request signaling through the first target interface, the method further includes: Starting the security sandbox and activating the daemon process; The permissions of the daemon process are configured as target permissions, and the target permissions allow calling all the external applications of the trusted innovation platform.
3. The method according to claim 1, characterized in that Controlling the browser to match the first target program name with a preset mapping table includes: Controlling the browser to traverse the second target program names in the preset mapping table, and determining that a match is successful if there is a second target program name that is consistent with the first target program name; The browser is controlled to determine that the match fails when there is no second target program name that is consistent with the first target program name.
4. The method according to claim 3, characterized in that Determining a first target path and a first hash value according to the first target program name includes: Controlling the browser to determine a storage location of the target application based on a first target program name, and generating the first target path according to the storage location; The browser is controlled to determine the second target program name corresponding to the first target program name in the preset mapping table as the third target program name, and to determine the preset hash value corresponding to the third target program name as the first hash value.
5. The method according to claim 1, characterized in that Performing a signature verification operation according to the target message includes: Controlling the security sandbox to extract the first target path in the target message to obtain a second target path; Control the security sandbox to perform a digest calculation using the SM3 algorithm according to the external application corresponding to the second target path to obtain a second hash value; if the second hash value is consistent with the first hash value, determine that the signature verification succeeds; if the second hash value is inconsistent with the first hash value, determine that the signature verification fails.
6. The method according to claim 3, characterized in that After determining that the match fails, the method includes: The browser is controlled to issue a first alarm message, where the first alarm message is used to indicate that the target application is not allowed to be called.
7. The method according to claim 5, characterized in that After determining that the signature verification fails, the method further includes: The security sandbox is controlled to issue a second alarm message, where the second alarm message is used to indicate that the target message has been tampered with.
8. A program startup device for non-administrator users based on the Xinchuang platform, characterized in that: The credential creation platform includes a browser, an operating system, and a security sandbox, and the device includes: a first control unit, configured to control the browser to receive a first request signaling through a first target interface, and to parse the first request signaling to obtain a first target program name, wherein the first target interface is configured to receive the first request signaling sent by a front-end application, the first request signaling being a request to call an external application, and the first target program name being a name of the external application called by the first request signaling; a second control unit, configured to control the browser to match the first target program name with a preset mapping table; if a match is successful, determine a first target path and a first hash value based on the first target program name; generate a target message based on the target path and the first hash value and write the target message into a preset message sequence of the operating system; the preset mapping table includes the external applications that are allowed to be called, the first target path is an absolute path of the external application, and the first hash value is obtained by digest calculation using an SM3 algorithm; The third control unit is used to control the security sandbox to monitor the preset message sequence. When the preset message sequence changes, the security sandbox performs a signature verification operation according to the target message. When the signature verification operation passes, the security sandbox is controlled to call the second target interface of the operating system and start the target application. The second target interface is used to implement the call of the external application. The target application is the external application corresponding to the name of the first target program.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the method according to any one of claims 1 to 7.
10. A business system, characterized in that: include: One or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for executing the method of any one of claims 1 to 7.
Citation Information
Patent Citations
Browser safety achieving method, browser client-side and device
CN104536981A
Browser extensionless phish-proof multi-factor authentication (MFA)
US20230155998A1