Internet of Things terminal application software security system based on sandbox mechanism and communication security protocol

By introducing the sandbox mechanism and TLS/SSL protocol into IoT terminals, secure isolation and encrypted communication between different applications are achieved, solving the security and stability issues of IoT terminal application software when processing different applications, and improving the security and stability of the system.

CN119272267BActive Publication Date: 2025-10-14GUANGZHOU POWER SUPPLY BUREAU GUANGDONG POWER GRID CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411381842.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2025-10-14
Estimated Expiration
2044-09-30

AI Technical Summary

Technical Problem

IoT terminal application software lacks effective security protection when dealing with the security requirements of different applications, resulting in insufficient system stability and data security.

Method used

An IoT terminal application software security system based on sandbox mechanism and communication security protocol is adopted. By isolating resources between the basic sandbox environment and the extended sandbox environment and using TLS/SSL protocol for encrypted communication, the security and stability of different applications are ensured.

Benefits of technology

It improves the security and stability of IoT terminal application software when processing application requests, prevents malicious attacks, and ensures the reliability and security of communications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119272267B_ABST
    Figure CN119272267B_ABST
Patent Text Reader

Abstract

The application relates to an Internet of Things terminal application software security system based on a sandbox mechanism and a communication security protocol. The system comprises an extended sandbox environment and a basic sandbox environment; the basic sandbox environment and the extended sandbox environment are in a resource isolation state; the basic resource permission configured by the basic sandbox environment is higher than the extended resource permission configured by the extended sandbox environment; an extended application program in the extended sandbox environment responds to a to-be-processed request, schedules a first resource for the to-be-processed request in the extended sandbox environment, and sends a resource request to a data center program in the basic sandbox environment; the data center program acquires a second resource in response to the resource request and transmits the second resource to the extended application program; the extended application program acquires the second resource transmitted by the data center program, and processes the to-be-processed request through the first resource and the second resource. The system can improve the security of application request processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to an Internet of Things terminal application software security system based on a sandbox mechanism and a communication security protocol. Background Art

[0002] With the development of the Internet of Things (IoT), signal transmission between objects is now possible. Therefore, IoT terminals, acting as a bridge between the physical world and digital networks, play a critical role in acquiring and transmitting rich data. These devices are widely used in power grids, industry, banking, transportation, and other fields, making their stable operation and data security paramount. Because IoT terminal application software directly involves key processes such as data collection, communication transmission, and local processing, its security is directly related to the trustworthiness of the entire IoT system. Therefore, comprehensive security protection for IoT terminal application software is essential to ensure the robust operation of the IoT ecosystem and the protection of user privacy.

[0003] Currently, communication between IoT devices is based on computer network transmission protocols. This means one party initiates a communication request, and the other responds accordingly. However, due to the diversity of applications in IoT devices, different applications have different programming requirements, and therefore require different security processing environments. Therefore, how to process application requests in accordance with the security requirements of different applications to ensure the security of application request processing is an urgent problem that needs to be solved. Summary of the Invention

[0004] Based on this, it is necessary to provide an IoT terminal application software security system based on a sandbox mechanism and communication security protocol to address the above technical issues and improve the security of application request processing.

[0005] In a first aspect, an IoT terminal application software security system based on a sandbox mechanism and a communication security protocol includes an extended sandbox environment and a basic sandbox environment; the extended sandbox environment includes an extended application program, and the basic sandbox environment includes a data center program;

[0006] The basic sandbox environment and the extended sandbox environment are in a resource isolation state; the basic resource permissions configured for the basic sandbox environment are higher than the extended resource permissions configured for the extended sandbox environment;

[0007] The extended application program responds to the pending request, schedules a first resource for the pending request in the extended sandbox environment, and sends a resource request to the data center program, where the resource request is used to request a second resource for the pending request;

[0008] The data center program obtains the second resource in response to the resource request and transmits the second resource to the extended application;

[0009] The extended application obtains the second resource transmitted by the data center program, and processes the request to be processed through the first resource and the second resource.

[0010] In one embodiment, the data center program specifically encrypts the second resource using a symmetric key and transmits the encrypted second resource to the extended application;

[0011] The extended application specifically decrypts the encrypted second resource using the symmetric key to obtain the second resource.

[0012] In one embodiment, the extended application generates a symmetric key, encrypts the symmetric key using a target public key, and sends a key interaction request to the data center program; the key interaction request includes the encrypted symmetric key;

[0013] The data center program extracts the encrypted symmetric key from the key interaction request and decrypts the encrypted symmetric key using the target private key to obtain the symmetric key.

[0014] In one embodiment, the data center program sends a digital certificate to the extension application, the digital certificate including the target public key and certificate authority information;

[0015] The extended application extracts the certificate authorization information from the digital certificate and performs information verification on the certificate authorization information; when the certificate authorization information passes the information verification, the target public key is extracted from the digital certificate.

[0016] In one embodiment, when the extended application decrypts the encrypted second resource using the symmetric key and the decryption fails and the second resource is not obtained, an abnormal event notification is fed back to the data center program.

[0017] In one embodiment, the resource request includes at least a service type, an object identifier, and an operation type;

[0018] If the data center program is unable to respond to a resource request, it will provide an exception event notification to the extended application. Alternatively, the data center program may perform permission verification on any one of the service type, object identifier, and operation type in the resource request. If the permission verification result indicates that the program does not have permission, it will provide an exception event notification to the extended application.

[0019] In one embodiment, the extended application communicates with the data center program via a target protocol version; encryption processing is performed based on an encryption suite in the target cipher suite, and decryption processing is performed based on a decryption suite in the target cipher suite.

[0020] In one embodiment, the extension application sends a handshake message to the data center program; the handshake message includes a protocol version and a cipher suite list supported by the extension application;

[0021] The data center program extracts the protocol version and the cipher suite list from the handshake message, and determines the target protocol version from the protocol version and the target cipher suite from the cipher suite list;

[0022] The data center program sends a handshake response message including a target protocol version and a target cipher suite to the extended application.

[0023] In one embodiment, resources are isolated between the basic sandbox environment and the extended sandbox environment through a network namespace; an interaction interface is set between the extended sandbox environment and the basic sandbox environment, and the interaction interface is used for resource interaction between the basic sandbox environment and the extended sandbox environment.

[0024] In one embodiment, the basic sandbox environment further includes a basic monitoring program and an uplink communication agent program; the basic monitoring program is configured with a basic monitoring strategy, and the basic monitoring program is used to monitor the basic application program through the basic monitoring strategy; the uplink communication agent program is used to communicate and interact with external devices in the basic sandbox environment;

[0025] The extended sandbox environment also includes an extended monitoring program, in which an extended monitoring policy is configured. The extended monitoring program is used to monitor the extended application through the extended monitoring policy.

[0026] The above-mentioned IoT terminal application software security system based on the sandbox mechanism and communication security protocol specifically includes an extended sandbox environment and a basic sandbox environment, and the basic sandbox environment and the extended sandbox environment are in a resource isolation state. Based on this, the extended application in the extended sandbox environment responds to the pending request and first schedules the first resource for the pending request in the extended sandbox environment. Since the basic resource permissions configured by the basic sandbox environment are higher than the extended resource permissions configured by the extended sandbox environment, that is, when the callable resources in the extended sandbox environment are less than the callable resources in the basic sandbox environment, that is, when the first resource cannot process the pending request, it is necessary to combine the callable resources in the basic sandbox environment to jointly process the request, that is, at this time, send a resource request to the data center program in the basic sandbox environment. At this time, the data center program responds to the resource request, obtains the second resource from the callable resources in the basic sandbox environment, and then transmits the second resource to the extended application, so that the extended application processes the pending request through the first resource and the second resource. By isolating resources between the basic sandbox environment and the extended sandbox environment, the mixing of resources between different sandbox environments is ensured, thereby ensuring the security and stability of the Internet of Things terminal application software security system based on the sandbox mechanism and communication security protocol. Secondly, considering that the resource permissions that need to be called in actual applications are in different sandbox environments, it is necessary to coordinate resource calls in different sandbox environments to ensure the balance of resource interactions between different sandbox environments, and also avoid requests being processed in only one sandbox environment, thereby ensuring the stability of the Internet of Things terminal application software security system based on the sandbox mechanism and communication security protocol. As a result, the security and stability of application request processing under the Internet of Things terminal application software security system based on the sandbox mechanism and communication security protocol can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments of the present application or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying any creative work.

[0028] Figure 1 This is a diagram of an application environment for an Internet of Things terminal application software security system based on a sandbox mechanism and a communication security protocol in one embodiment;

[0029] Figure 2 An architectural diagram of the overall architecture of a security system for application software deployed in an IoT device in one embodiment;

[0030] Figure 31. A schematic diagram of a process for processing an application request in an IoT terminal application software security system based on a sandbox mechanism and a communication security protocol in one embodiment;

[0031] Figure 4 A flowchart for establishing a sandbox environment in one embodiment;

[0032] Figure 5 1. A schematic diagram of a process for performing resource encryption processing in an IoT terminal application software security system based on a sandbox mechanism and a communication security protocol in one embodiment;

[0033] Figure 6 1. A schematic diagram of a process for performing symmetric key interaction in an IoT terminal application software security system based on a sandbox mechanism and a communication security protocol in one embodiment;

[0034] Figure 7 A schematic diagram of a process for establishing communication between programs in different sandbox environments in one embodiment;

[0035] Figure 8 A schematic diagram of a process for establishing a communication connection between a data center program and an extended application in one embodiment;

[0036] Figure 9 A schematic diagram of the complete process of communication between a data center program and an extended application program and application request processing in one embodiment;

[0037] Figure 10 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0039] Before introducing the embodiments of the present application, the technical terms involved are explained:

[0040] 1. Sandbox.

[0041] Sandboxing is a commonly used technology in computer security that isolates and restricts the operating environment of applications or code, preventing malware from damaging the system. Its advantages include providing secure isolation, capturing malicious behavior, virtualization support, application behavior monitoring, and lightweight design.

[0042] 2. DLMS / COSEM protocol

[0043] The DLMS / COSEM protocol is a standard for communication between IoT devices. It defines a set of communication protocols and data models for remotely managing smart devices. The DLMS / COSEM protocol allows users to remotely access IoT usage data and monitor and manage devices.

[0044] 3. Successors: Transport Layer Security (TLS) and Secure Sockets Layer (SSL)

[0045] Both the TLS and SSL protocols are used to secure network communications. They provide security features such as encryption, authentication, and data integrity protection, establishing a secure communication channel between a client and a server. TLS, the successor to the SSL protocol, is commonly used to secure communications between browsers and servers on the World Wide Web (web), as well as other network applications. TLS and SSL play a vital role in protecting data transmission, ensuring the confidentiality and security of communications.

[0046] Based on this, the IoT terminal application software security system based on the sandbox mechanism and communication security protocol provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown, the terminal 102 communicates with the server 104 via a network. The data storage system can store data that the server 104 needs to process. The data storage system can be integrated on the server 104 or placed on the cloud or other network servers.

[0047] Specifically, taking the deployment of an IoT terminal application software security system based on a sandbox mechanism and a communication security protocol on a terminal 102 as an example, the IoT terminal application software security system based on a sandbox mechanism and a communication security protocol deployed in the terminal 102 includes an extended sandbox environment and a basic sandbox environment. The aforementioned extended sandbox environment includes an extended application, and the aforementioned basic sandbox environment includes a data center program; and the basic sandbox environment and the extended sandbox environment are in a resource isolation state; the basic resource permissions configured by the basic sandbox environment are higher than the extended resource permissions configured by the extended sandbox environment. Based on this, the extended application in the extended sandbox environment responds to the pending request, schedules the first resource for the pending request in the extended sandbox environment, and sends a resource request to the data center program, the resource request being used to request the second resource for the pending request. The data center program in the basic sandbox environment responds to the resource request to obtain the second resource and transmits the second resource to the extended application. As a result, the extended application obtains the second resource transmitted by the data center program and processes the pending request through the first resource and the second resource. In the aforementioned IoT terminal application software security system based on the sandbox mechanism and communication security protocol, resource isolation between the basic sandbox environment and the extended sandbox environment ensures the mixing of resources between the different sandbox environments, thereby ensuring the security and stability of the IoT terminal application software security system based on the sandbox mechanism and communication security protocol. Secondly, resource calls within different sandbox environments are coordinated to ensure a balanced interaction of resources between the different sandbox environments, and to avoid requests being processed in only one sandbox environment, thereby ensuring the stability of the IoT terminal application software security system based on the sandbox mechanism and communication security protocol.

[0048] Terminal 102 may include, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices may include smart speakers, smart TVs, smart air conditioners, smart car devices, and projectors. Portable wearable devices may include smart watches, smart bracelets, and head-mounted devices. Head-mounted devices may include virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, and the like. Server 104 may be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing cloud computing services.

[0049] Based on this, the following details the overall architecture of deploying application software security systems in IoT devices. Figure 2The application software security system is divided into a basic sandbox environment 201 and an extended sandbox environment 202. The applications included in the basic sandbox environment 201 are all basic applications, while the applications included in the extended sandbox environment 202 are all extended applications 203. Therefore, the basic sandbox environment 201 includes at least: an uplink communication agent program 204, a message dispatch program 205, a meter reading and scheduling management program 206, a local communication management program 206, an application management program 207, and a data center program 208.

[0050] Among them, the uplink communication agent program 204 is a component of the IoT terminal application software, responsible for implementing the data transmission function between the IoT terminal and the server. The uplink communication agent program 204 covers aspects such as data acquisition, transmission protocol, and data security, ensuring reliable communication between the IoT terminal and the server. In the embodiment of the present application, the uplink communication agent program 204 specifically communicates with external devices through the DLMS / COSEM protocol, and incorporates the identity authentication and encryption functions provided by the TLS / SSL protocol to further ensure communication security and data transmission security. The aforementioned external devices can be master station servers, monitoring equipment, and other terminal devices.

[0051] Message dispatcher 205 is also part of the IoT terminal application software. It is primarily responsible for receiving, parsing, and distributing command and data messages sent from the central system. This program involves message processing, dispatch scheduling, and task execution, ensuring that IoT terminals respond to the central system promptly and effectively.

[0052] Secondly, the meter reading scheduling manager 205 is primarily responsible for managing and executing lower-level data reading operations. This component involves communication protocols with lower-level devices, data collection, and scheduling, ensuring accurate IoT data collection and transmission. The local communication manager 206 manages and implements communication between IoT terminals. This component encompasses data exchange, communication protocols, and local task scheduling between functional modules within the terminal, ensuring inter-terminal collaboration. In other words, both the meter reading scheduling manager 205 and the local communication manager 206 can securely collect and interact with underlying metering devices via the DLMS / COSEM protocol.

[0053] The application management program 207 is responsible for managing and controlling various applications running on the terminal. It includes functions such as application installation, updating, uninstallation, and permission control, ensuring the proper operation of applications and system stability. The data center program 208 processes and manages data transmitted uplink from IoT terminals. This component includes functions such as data storage, processing, analysis, and presentation, ensuring that data collected from terminals is fully utilized in the central system. When basic applications require resources, they submit a request to the data center program 208, which, upon approval, encrypts and transmits the required resources.

[0054] In this application, the aforementioned base application and extended application 203 are present. Secure inter-application communication and identity verification are performed using the TLS / SSL protocol between base applications, between base applications and extended application 203, and between extended applications 203 and extended applications 203. Extended applications 203 are applications designed to provide additional services, enhance the user experience, or meet specific needs in addition to the aforementioned base applications. Extended applications 203 generally have more advanced functionality and communicate more closely with the external environment and external devices, posing higher security risks than base applications. Therefore, this application configures and deploys different sandbox environments for base applications and extended applications 203 to ensure system security.

[0055] The basic application is subject to a certain degree of permission restriction and behavior monitoring through the sandbox system in the built-in terminal system (such as the Linux system) (i.e., the basic sandbox environment in the embodiment of the present application), and after permission is granted, the data center program 208 and the message distribution program 205 schedule system resources.

[0056] Extended application 203 is subject to permission restrictions, behavior monitoring, and application isolation via another sandbox system (i.e., the extended sandbox environment in this embodiment) within the built-in terminal system (e.g., Linux). Extended application 203 must schedule system resources through data center program 208 after identity verification and permission granting. Compared to the basic sandbox environment, the extended sandbox environment imposes higher levels of permission restrictions on applications within it and conducts stricter behavior monitoring, effectively preventing the hijacking of vulnerable applications.

[0057] In the basic sandbox environment and the extended sandbox environment, basic applications and extended applications use the secure communication channel provided by the TLS / SSL protocol to achieve data transmission and resource interaction between software through authentication, data encryption, and key exchange.

[0058] It can be seen that in the embodiment of the present application, the TLS / SSL protocol is used to ensure the security of communication between applications installed on the same IoT terminal, especially the security of the communication process between different applications in different sandbox environments. By providing encryption, authentication and data integrity protection, the TLS / SSL protocol critically ensures the confidentiality of sensitive information, effectively prevents malicious attacks, and maintains the reliability and security of communications. The applied TLS / SSL protocol provides handshake protocols, record protocols, key exchange, digital certificates, certificate verification, encryption algorithms and other parts to ensure communication security. Therefore, the following is a detailed introduction to the IoT terminal application software security system based on the sandbox mechanism and communication security protocol deployed in the terminal 102 as an example:

[0059] In an exemplary embodiment, Figure 3 As shown, a security system for Internet of Things terminal application software based on sandbox mechanism and communication security protocol is provided, and the security system for Internet of Things terminal application software based on sandbox mechanism and communication security protocol is deployed in Figure 1 Taking the terminal 102 in the example as an example, the Internet of Things terminal application software security system based on the sandbox mechanism and communication security protocol includes an extended sandbox environment and a basic sandbox environment. The extended sandbox environment includes extended applications, and the basic sandbox environment includes data center programs; the basic sandbox environment and the extended sandbox environment are in a resource isolation state; the basic resource permissions configured by the basic sandbox environment are higher than the extended resource permissions configured by the extended sandbox environment.

[0060] The extended sandbox environment is a sandbox environment for running extended applications. Therefore, the extended sandbox environment includes extended applications. Similarly, the basic sandbox environment is a sandbox environment for running basic applications. Basic applications can specifically be any of the uplink communication agent program, message dispatch program, meter reading scheduling manager, local communication manager, application manager, and data center program described in the aforementioned embodiments.

[0061] Secondly, the basic sandbox environment and the extended sandbox environment are resource-isolated, and the basic resource permissions configured for the basic sandbox environment are higher than the extended resource permissions configured for the extended sandbox environment. This means that basic applications in the basic sandbox environment can access more resources, while extended applications in the extended sandbox environment can access fewer resources. Therefore, permissions and resource restrictions for the basic sandbox environment are configured as follows: Central processing unit (CPU) and memory resources are restricted using cgroups. Resource permissions configured for basic applications in the basic sandbox environment can be freely adjusted based on actual needs. Basic applications generally have access to more resources, meaning that the basic resource permissions configured for basic applications meet the needs of their program functions. For example, basic resource permissions configured for the basic sandbox environment include resource read and write permissions, and network access permissions.

[0062] Similarly, an extended sandbox environment needs to be created for the extended application, which is similar to the previous steps. At this time, cgroups needs to be used to configure more stringent resource restrictions. The extended sandbox environment has more restrictions on extended applications, that is, the resources that extended applications can call are generally fewer, and only after being allowed can they communicate with the data center program in the basic sandbox environment through the interface, thereby scheduling more related resources from the resources configured in the basic sandbox environment.

[0063] The following is a detailed description of the process of application request processing in the IoT terminal application software security system based on the sandbox mechanism and communication security protocol:

[0064] In step 302 , the extended application program responds to the pending request, schedules a first resource for the pending request in the extended sandbox environment, and sends a resource request to the data center program, where the resource request is used to request a second resource for the pending request.

[0065] A pending request is a request initiated by the target object for an extension application. For example, if the extension application is a video playback application, the pending request can be a video playback request or a video download request. As mentioned above, the extension sandbox environment is the sandbox environment used to run the extension application, that is, the extension application belongs to the extension sandbox environment.

[0066] Furthermore, because the basic resource permissions configured for the base sandbox environment are higher than the extended resource permissions configured for the extended sandbox environment, the extended application generally has fewer resources available for access and can only communicate with the data center program in the base sandbox environment through the interface after obtaining permission. Therefore, the resources required to process the pending request include the first resource available in the extended sandbox environment and the second resource available in the base sandbox environment. Therefore, the resource request is used to request the second resource for the pending request.

[0067] Specifically, if the target object needs to make a corresponding function request for the extended application, it can select the required function through the function selection operation and generate a pending request for the extended application. At this time, the extended application belonging to the extended sandbox environment responds to the pending request and determines the first resource that can be called in the extended sandbox environment through the extended resource permissions configured for the extended sandbox environment.

[0068] However, if the resources required to process the pending request also include a second resource available only in the base sandbox environment, the extended application must communicate with the data center program in the base sandbox environment to obtain the second resource available in the base sandbox environment. In this case, the extended application responds to the pending request by sending a resource request to the data center program to request the second resource for the pending request.

[0069] From the above introduction, it can be seen that since the basic sandbox environment and the extended sandbox environment are in a resource isolation state, the following will introduce how to ensure resource isolation between different sandbox environments: In an exemplary specific embodiment, the basic sandbox environment and the extended sandbox environment are isolated from resources through a network namespace; an interaction interface is set between the extended sandbox environment and the basic sandbox environment, and the interaction interface is used for resource interaction between the basic sandbox environment and the extended sandbox environment.

[0070] When creating a basic sandbox environment, an independent process isolation environment is created through the Proportion Integral Differential Namespace (PID Namespace), an independent network isolation environment is created through the Network Namespace, an independent user isolation environment is created through the User Namespace, and an independent file system isolation environment is created through the Mount Namespace. In other words, resource isolation (i.e., network isolation) is implemented between the basic sandbox environment and the extended sandbox environment through the Network Namespace.

[0071] Based on this, there is resource isolation between the basic sandbox environment and the extended sandbox environment. So how to request resources from the extended sandbox environment to the basic sandbox environment? At this time, an interactive interface needs to be set up between the extended sandbox environment and the basic sandbox environment. The aforementioned interactive interface is used for resource interaction between the basic sandbox environment and the extended sandbox environment.

[0072] Specifically, to ensure isolation between different sandbox environments, this application utilizes network namespaces to achieve this isolation. This requires reserving a preset number of interactive interfaces, allowing different sandbox environments to access system resources available in the base sandbox environment through these interfaces. The aforementioned interactive interfaces can be the data center programs exemplified in this embodiment, or other interface programs for resource interaction, and should not be construed as limiting this application.

[0073] Step 304: The data center program obtains the second resource in response to the resource request and transmits the second resource to the extended application.

[0074] Specifically, since the resource request is used to request a second resource for the pending request, the data center program responds to the resource request for the second resource, queries and calls the basic sandbox environment to obtain the second resource, and then transmits the second resource to the extended application.

[0075] It is understandable that in actual applications, considering the security of request responses and the reliability of resource calls, the data center program can first perform permission verification on the resource request before responding to the resource request to determine whether the resource request can be responded to. The following describes this:

[0076] In an exemplary optional embodiment, the resource request includes at least a service type, an object identifier, and an operation type.

[0077] The service type represents the request type corresponding to the pending request. For example, if the pending request is a video playback request, the service type is video playback. Alternatively, if the pending request is a video download request, the service type is video download. The object identifier uniquely identifies the target object and can include object types, such as normal and abnormal. Similar to the service type, the operation type also corresponds to the functional operation to be invoked by the pending request, which will not be detailed here.

[0078] For example, if the target object is a smart meter and the target object initiates a request to read energy metering data, then the request is a pending request, the request type is "Read Energy Metering Data," and the operation type is "Get." In this case, the object identifier "0.1.1.8.0.255" can also be included to represent total active energy.

[0079] Based on this, when the data center program is unable to respond to a resource request, it will feedback an exception event notification to the extended application; or, the data center program will perform permission verification on any of the service type, object identifier, and operation type in the resource request, and when the permission verification result indicates no permission, it will feedback an exception event notification to the extended application.

[0080] Specifically, when the data center program cannot respond to the resource request, that is, when the data center program may have a program problem such as a program crash, the data center program will feedback an abnormal event notification (Event_Notification) to the extended application to indicate to the extended application through the abnormal event notification that it cannot respond to the resource request, that is, it cannot feedback the second resource.

[0081] Alternatively, the data center program performs permission verification on any one of the service type, object identifier, and operation type in the resource request. If the permission verification result indicates that there is no permission, an abnormal event notification is fed back to the extended application to indicate through the abnormal event notification that the extended application cannot respond to the resource request, that is, cannot feed back the second resource.

[0082] The aforementioned permission verification for service types specifically involves verifying whether the service type is a compliant service type or a service type that the extended application can provide, avoiding service responses to abnormal service types and service responses that exceed the required permissions. In this case, the permission verification result indicates that the service type is abnormal and the extended application is unable to provide the aforementioned service.

[0083] Similarly, permission verification for object identifiers involves verifying whether the object identifier belongs to a serviceable object, avoiding service responses to abnormal objects. The permission verification result indicates that the object type is abnormal and that the user does not have permission. Furthermore, permission verification for operation types involves verifying whether the operation type belongs to an extended application's operable type. In this case, the permission verification result indicates that the operation type does not belong to an extended application's operable type. For example, a download operation cannot be performed on an extended application, but the operation type is download, and thus permission verification fails.

[0084] In order to ensure systematic communication connections with external devices and behavior detection within the system, the system should also include a communication program for communicating with external devices, and a monitoring program for monitoring the internal behavior of the system. This is introduced in detail below: In an exemplary optional embodiment, the basic sandbox environment also includes a basic monitoring program and an uplink communication agent program; the basic monitoring program is configured with a basic monitoring strategy, and the basic monitoring program is used to monitor basic applications through the basic monitoring strategy; the uplink communication agent program is used to communicate and interact with external devices in the basic sandbox environment.

[0085] Among them, the basic monitoring program is configured with a basic monitoring strategy, and the basic monitoring program is used to monitor the basic application through the basic monitoring strategy, that is, to monitor the program call behavior of the basic application. Specifically, a behavior monitoring tool is installed in the basic sandbox environment, such as: APPARmor or SELinux, and the aforementioned behavior monitoring tool is the basic monitoring program. When the basic monitoring program detects abnormal behavior of the basic application in the basic sandbox environment, the basic monitoring program limits the abnormal behavior of the basic application and reports the abnormal behavior of the basic application to ensure the program behavior security of the basic monitoring program.

[0086] Secondly, the uplink communication agent is used to communicate and interact with external devices in the basic sandbox environment. That is, as described in the aforementioned embodiment, the uplink communication agent is responsible for implementing the data transmission function between the IoT terminal and the server, and covers aspects such as data collection, transmission protocol and data security, ensuring reliable communication between the IoT terminal and the server. In the embodiment of the present application, the uplink communication agent specifically communicates with the external device through the DLMS / COSEM protocol, and adds the identity authentication and encryption functions provided by the TLS / SSL protocol to further ensure communication security and data transmission security. The aforementioned external devices can be master station servers, monitoring equipment, and other terminal devices.

[0087] Similarly, the extended sandbox environment also includes an extended monitoring program, in which an extended monitoring policy is configured. The extended monitoring program is used to monitor the extended application program through the extended monitoring policy.

[0088] Among them, the extended monitoring program is configured with an extended monitoring policy, and the extended monitoring program is used to monitor the extended application through the extended monitoring policy, that is, to monitor the program call behavior of the extended application. Specifically, a behavior monitoring tool is installed in the extended sandbox environment, such as: APPARmor or SELinux, and the aforementioned behavior monitoring tool is the extended monitoring program. When the extended monitoring program detects abnormal behavior of the extended application in the extended sandbox environment, the extended monitoring program limits the abnormal behavior of the extended application and reports the abnormal behavior of the extended application to ensure the program behavior security of the extended monitoring program.

[0089] In step 306 , the extended application program obtains the second resource transmitted by the data center program, and processes the request to be processed using the first resource and the second resource.

[0090] Specifically, since the resources required to process the pending request also include a second resource that can be called only in the basic sandbox environment, the extended application obtains the second resource transmitted by the data center program, and processes the pending request through the first resource scheduled in the extended sandbox environment and the second resource obtained through communication interaction with the basic sandbox environment, thereby completing the application request processing for the pending request.

[0091] In the above-mentioned IoT terminal application software security system based on the sandbox mechanism and communication security protocol, when an extended application in an extended sandbox environment responds to a pending request, it first schedules a first resource for the pending request in the extended sandbox environment. Since the basic resource permissions configured in the basic sandbox environment are higher than the extended resource permissions configured in the extended sandbox environment, that is, when the callable resources in the extended sandbox environment are fewer than the callable resources in the basic sandbox environment, that is, when the first resource cannot process the pending request, it is necessary to combine the callable resources in the basic sandbox environment to jointly process the request, that is, at this time, send a resource request to the data center program in the basic sandbox environment. At this time, the data center program responds to the resource request, obtains a second resource from the callable resources in the basic sandbox environment, and then transmits the second resource to the extended application, so that the extended application processes the pending request through the first resource and the second resource. By isolating resources between the basic sandbox environment and the extended sandbox environment, it is guaranteed that resources in different sandbox environments are mixed, thereby ensuring the security and stability of the IoT terminal application software security system based on the sandbox mechanism and communication security protocol. Secondly, considering that the resource permissions required for actual applications are in different sandbox environments, it is necessary to coordinate resource calls in different sandbox environments to ensure a balanced interaction between resources in different sandbox environments, avoid processing requests in only one sandbox environment, and ensure the stability of the IoT terminal application software security system based on the sandbox mechanism and communication security protocol. This can improve the security and stability of application request processing in this IoT terminal application software security system based on the sandbox mechanism and communication security protocol.

[0092] The following is a detailed introduction to the construction of different sandbox environments in combination with the above embodiments. Figure 4 The sandbox environment construction flow chart shown:

[0093] Step 401, create a basic sandbox environment: that is, as described in the previous embodiment, create an independent process isolation environment through PID Namespace, create an independent network isolation environment through Network Namespace, create an independent user isolation environment through UserNamespace, and create an independent file system isolation environment through Mount Namespace.

[0094] Step 402: Configure permissions and resource restrictions for the basic sandbox environment. Using cgroups to limit CPU and memory resources, resource permissions configured for basic applications in the basic sandbox environment can be freely adjusted based on actual needs. Basic applications generally have access to a wide range of resources, meaning that the basic resource permissions configured for a basic application can meet the needs of the basic application's program functions. For example, basic resource permissions configured for the basic sandbox environment include resource read and write permissions, network access, and so on.

[0095] Step 403: Create an extended sandbox environment for the extended application: It is necessary to use cgroups to configure more stringent resource restrictions. The extended sandbox environment has more restrictions on the extended application, that is, the resources that the extended application can call are generally fewer, and only after being allowed can it communicate with the data center program in the basic sandbox environment through the interface, thereby scheduling more relevant resources from the resources configured in the basic sandbox environment.

[0096] Step 404, behavior monitoring: Install a behavior monitoring tool in the basic sandbox environment, such as APPARmor or SELinux. The aforementioned behavior monitoring tool is the basic monitoring program. When the basic monitoring program detects abnormal behavior of the basic application in the basic sandbox environment, the basic monitoring program limits the abnormal behavior of the basic application and reports the abnormal behavior of the basic application to ensure the program behavior security of the basic monitoring program. A similar method is used for behavior monitoring in the extended sandbox environment, which will not be repeated here.

[0097] Step 405, Network Isolation: The basic sandbox environment and the extended sandbox environment are specifically isolated through network namespaces (i.e., network isolation). An interaction interface is provided between the extended sandbox environment and the basic sandbox environment. The interaction interface is used for resource exchange between the basic sandbox environment and the extended sandbox environment.

[0098] As can be seen from the above embodiments, since resources need to be interacted in different sandbox environments, in order to ensure the security of resource interaction between different sandbox environments, the interacted resources need to be encrypted. The following describes the resource encryption method:

[0099] In an exemplary embodiment, Figure 5 As shown, step 304 specifically includes step 502, and step 306 specifically includes step 504. Wherein:

[0100] In step 502 , the data center program obtains a second resource in response to the resource request, encrypts the second resource using a symmetric key, and transmits the encrypted second resource to the extended application.

[0101] The symmetric key is a key preset between the data center program and the extension application when establishing a communication connection. Specifically, the data center program responds to a resource request for a second resource and queries and calls the base sandbox environment to obtain the second resource. The data center program then encrypts the second resource using the symmetric key and transmits the encrypted second resource to the extension application.

[0102] In step 504, the extended application obtains the encrypted second resource transmitted by the data center program, decrypts the encrypted second resource using the symmetric key to obtain the second resource; and processes the request to be processed using the first resource and the second resource.

[0103] Specifically, because the resources required to process the pending request also include a second resource that is callable only in the basic sandbox environment, the extended application obtains the encrypted second resource transmitted by the data center program. Furthermore, because the symmetric key is a key preset when the data center program and the extended application establish a communication connection, the extended application decrypts the encrypted second resource using the symmetric key to obtain the second resource. The pending request is then processed using the first and second resources, thereby completing the application request processing for the pending request.

[0104] In actual applications, there may be problems with the symmetric key determined when the data center program and the extended application establish a communication connection. In other words, the symmetric key may be tampered with or data may be lost during transmission when the extended application sends the symmetric key to the data center program. This can lead to decryption failures. The following describes this situation in detail:

[0105] In an exemplary optional embodiment, when the extended application decrypts the encrypted second resource using the symmetric key and the decryption fails and the second resource is not obtained, an abnormal event notification is fed back to the data center program.

[0106] Specifically, the extended application retrieves the encrypted second resource transmitted by the data center program. During the decryption process using the symmetric key, if the decryption fails and the second resource is not retrieved, indicating a problem with the symmetric key, the extended application then sends an exception notification to the data center program, confirming that the transmission of the second resource has failed. Based on this, the extended application can reestablish the communication connection between the extended application and the data center program and regenerate the symmetric key to ensure reliable resource transmission.

[0107] In this embodiment, the second resource is encrypted by a symmetric key, and the encrypted second resource is decrypted to ensure that the interacted resources are not tampered with or abnormal operations are performed during resource interaction in different sandbox environments, further ensuring the security of resource interaction between different sandbox environments, so as to improve the stability of the Internet of Things terminal application software security system based on the sandbox mechanism and communication security protocol, thereby improving the security and stability of application request processing under the Internet of Things terminal application software security system based on the sandbox mechanism and communication security protocol.

[0108] Since the interacted resources need to be encrypted using symmetric keys, the symmetric keys also need to be transmitted between different sandbox environments. In other words, considering the security of symmetric key transmission, the symmetric keys also need to be encrypted. The following describes how to encrypt symmetric keys:

[0109] In an exemplary embodiment, Figure 6 As shown, the application request processing in the IoT terminal application software security system based on the sandbox mechanism and communication security protocol also includes steps 602 to 608. Among them:

[0110] Step 602: The data center program sends a digital certificate to the extended application program. The digital certificate includes a target public key and certificate authority information.

[0111] Among them, a digital certificate refers to a digital authentication that marks the identity information of the communicating parties in Internet communication, so a digital certificate is also called a digital identifier. A digital certificate ensures the integrity and security of information and data of network users in the form of encryption or decryption. In other words, the digital certificate in the embodiment of the present application is a digital authentication used to mark the data center program. Secondly, the digital certificate includes a target public key and certificate authorization information. The aforementioned target public key is the public key of the data center program, and the certificate authorization information is the signature of the Certificate Authority (CA) that issues the certificate for the data center program.

[0112] Specifically, the data center program sends a digital certificate including a target public key and certificate authority information to the extended application. Exemplarily, the data center program provides an X.509 digital certificate to the extended application.

[0113] In step 604, the extended application extracts the certificate authorization information from the digital certificate and performs information verification on the certificate authorization information; if the certificate authorization information passes the information verification, the target public key is extracted from the digital certificate.

[0114] Specifically, the extended application extracts the certificate authorization information from the digital certificate and performs information verification on it. Information verification specifically verifies the legitimacy of the information, specifically the legitimacy of the certificate authorization information and checks whether the CA signature is legitimate. If the certificate authorization information passes information verification (i.e., the CA signature is legitimate), the extended application extracts the target public key from the digital certificate.

[0115] The above steps describe the steps for exchanging the target public key between the extended application and the data center program. The target public key is specifically used to encrypt the symmetric key exchanged between the extended application and the data center program. This is described in detail below.

[0116] Step 606: The extended application generates a symmetric key, encrypts the symmetric key using the target public key, and sends a key interaction request to the data center program; the key interaction request includes the encrypted symmetric key.

[0117] The symmetric key is randomly generated by the extension application, and the key exchange request is specifically a ClientKey Exchange message. Specifically, the extension application generates a randomly generated symmetric key and encrypts the symmetric key using the target public key obtained from the aforementioned exchange, generating an encrypted symmetric key. The extension application then sends a key exchange request including the encrypted symmetric key to the data center application.

[0118] In step 608, the data center program extracts the encrypted symmetric key from the key exchange request, and uses the target private key to decrypt the encrypted symmetric key to obtain the symmetric key.

[0119] Specifically, the data center program receives the key exchange request sent by the extended application, extracts the encrypted symmetric key from the key exchange request, and then decrypts the encrypted symmetric key using the target private key to obtain the symmetric key.

[0120] In this embodiment, since symmetric keys also need to be transmitted between different sandbox environments, the target key is used to encrypt the transmitted symmetric key between the data center program and the extended application, ensuring the reliability and security of the transmitted symmetric key. Therefore, when the data center program needs to feedback required resources to the extended application, the symmetric key can be used to encrypt the resources, further ensuring the reliability and security of resource transmission, thereby improving the security and stability of application request processing.

[0121] In an exemplary embodiment, Figure 7 As shown, the application request processing in the IoT terminal application software security system based on the sandbox mechanism and communication security protocol also includes steps 702 to 706. In particular, the extended application and the data center program communicate using the target protocol version; encryption processing is performed based on the encryption suite in the target cipher suite, and decryption processing is performed based on the decryption suite in the target cipher suite.

[0122] The target protocol version is the protocol version used by the extension application to communicate with the data center application. For example, the target protocol version is protocol version v2.0. The target cipher suite is the algorithm used for encryption and decryption. For example, the target cipher suite is Advanced Encryption Standard (AES)-128.

[0123] Based on this, it is necessary to create a communication interaction between the data center program and the extended application to determine the protocol version for communication between the data center program and the extended application, as well as the specific encryption suite for encryption during resource transmission. This is described in detail below:

[0124] In step 702 , the extended application sends a handshake message to the data center program; the handshake message includes the protocol version supported by the extended application and a list of cipher suites.

[0125] The supported protocol version can be a single protocol version, such as protocol version v2.0, or multiple protocol versions, such as protocol version v2.0 and protocol version v3.0. Similarly, the cipher suite list can include a single cipher suite, such as only AES-128, or multiple cipher suites, such as Triple Data Encryption Standard (3DES) and AES-128.

[0126] Specifically, the extended application first determines the protocol version supported by the extended application, and forms a cipher suite list through the supported cipher suites. Then, the extended application generates a handshake message (Client Hello message) based on the supported protocol version and cipher suite list, and sends the handshake message to the data center program. The handshake message is used to interact with the data center program to determine the protocol and encryption method for network interactive communication.

[0127] In step 704 , the data center program extracts the protocol version and the cipher suite list from the handshake message, and determines the target protocol version from the protocol version and the target cipher suite from the cipher suite list.

[0128] Specifically, the data center program receives the handshake message sent by the extension application, extracts the protocol version and cipher suite list from the handshake message, and then determines the target protocol version from the protocol version and the target cipher suite from the cipher suite list based on the communication requirements. For example, the target protocol version is protocol version v2.0, and the target cipher suite is AES-128.

[0129] Step 706: The data center program sends a handshake response message including the target protocol version and the target cipher suite to the extended application.

[0130] Specifically, the data center program generates a handshake response message (Server Hello message) including the target protocol version and target cipher suite using the determined target protocol version and target cipher suite, and sends the handshake response message to the extended application, thereby enabling communication between the extended application and the data center program using the target protocol version. Furthermore, the data center program encrypts the second resource using a symmetric key based on an encryption suite in the target cipher suite, and the extended application decrypts the encrypted second resource using the symmetric key based on a decryption suite in the target cipher suite.

[0131] In actual applications, after the data center program and the extended application complete the required communication interaction, the extended application can actively or the target object can choose to terminate the connection with the data center program to release communication interaction resources. The above steps are achieved by the extended application sending a termination message to the data center program, or the data center program closing the data connection with the data center program.

[0132] In this embodiment, the target protocol version for communication can be determined through handshake messages and handshake response messages to ensure the reliability of communication interactions between different programs in different sandbox environments, and the cipher suite for encryption processing can be determined to ensure the security of encryption processing, thereby improving the security of application request processing.

[0133] The following describes in detail the process of establishing a communication connection between the data center program and the extended application program in conjunction with the above embodiments. Figure 8 The flow chart for establishing a communication connection between the data center program and the extended application is shown:

[0134] Step 801: Initialize the connection. At the beginning of communication, the data center program establishes a connection with the extended application. Exemplarily, communication can be performed via a serial port (RS-485).

[0135] Step 802: Initialize the session. The data center program and the extension application establish a session by exchanging initialization messages. Specifically, the extension application sends a handshake message to the data center program that includes the protocol version and cipher suite list supported by the extension application. The data center program then sends a handshake response message to the extension application that includes the target protocol version and target cipher suite, ensuring that the data center program and the extension application adhere to the same communication specifications. For example, the extension application sends protocol version v2.0 and supports the AES-128 encryption algorithm.

[0136] Step 803: Identity authentication. After completing the initialization session, identity authentication is required. This can be achieved through mechanisms such as key exchange or certificate verification. For example, the data center program is confirmed by the Authenticate_Request identity authentication request and the Meter-001 device identifier.

[0137] Step 804: Request and Response. The extended application initiates a request (i.e., a resource request in the aforementioned embodiment) to the data center program, requesting a specific data service or data resource. The resource request includes at least information such as the requested service type, object identifier, and operation type. Upon receiving the resource request, the data center program processes it accordingly and returns a response. For example, a power meter initiates a Get_Request request to read power metering data, including the object identifier 0.1.1.8.0.255 representing total active energy, and the operation type Get.

[0138] Step 805: Event Notification: If the permission verification fails or a request processing exception occurs, the data center program can send an event notification to the extended application. For example, an exception event Event_Notification occurs.

[0139] Step 806: Error handling. During the communication process, both the extended application and the data center program need to handle possible errors, including detecting and correcting them, to ensure the stability and reliability of communication. For example, the server sends an error response message, Error_Response, including the error code Object_Unknown and detailed error information.

[0140] Step 807: Data transmission. Based on the request and response, actual resource transmission is performed, which may include, for example, reading or writing device parameters, obtaining power metering data, and other operations.

[0141] Step 808: Terminate the connection. After the data center program and the extension application complete their desired communication interaction, the data center program and the extension application may choose to terminate the connection to release resources. This can be achieved by the extension application sending a termination message to the data center program, or by the data center program closing the data connection with the data center program.

[0142] As can be seen from the preceding examples, the TLS / SSL protocol ensures the security of communications between IoT terminal applications, as well as communications between different applications in different sandboxes on the same terminal device. By providing encryption, authentication, and data integrity protection, the TLS / SSL protocol critically ensures the confidentiality of sensitive information, effectively prevents malicious attacks, and maintains the reliability and security of communications. The TLS / SSL protocol used in this application provides components such as handshake protocols, record protocols, key exchange, digital certificates, certificate verification, and encryption algorithms to ensure communication security. This article will help you understand the specific application methods of different applications in different sandboxes in real applications.

[0143] For example, Figure 9 As shown in the figure, the data center program and the extended application implement the communication process under the TLS / SSL protocol as follows:

[0144] Step 901: Handshake protocol phase. During the handshake protocol phase, the extension application sends a Client Hello message that includes the protocol version and cipher suite list supported by the extension application. The data center program selects the target protocol version and target cipher suite and responds with a Server Hello message that includes the target protocol version and target cipher suite. For example, the TLS / SSL protocol version sent by the extension application is TLS 1.2, and the cipher suite list is TLS_RSA_WITH_AES_128_CBC_SHA256.

[0145] Step 902: Identity verification. The data center program provides a digital certificate containing the target public key and certificate authority information. For example, the data center program can provide an X.509 digital certificate. The extended application then verifies the certificate authority information and, if the certificate authority information passes verification, extracts the target public key from the digital certificate.

[0146] Step 903: Symmetric Key Exchange. The extended application generates a symmetric key, encrypts it using the target public key, and sends a Client Key Exchange message to the data center program. The data center program decrypts the encrypted symmetric key using the target private key to obtain the symmetric key.

[0147] Step 904: Establish an encrypted channel. The data center program and the extended application use the negotiated symmetric key to encrypt and decrypt the resources required for communication in the actual application. Encryption and decryption of ciphertext data are specifically protected using the encryption algorithm specified by the negotiated target cipher suite. For example, both parties use the AES-128 encryption algorithm for encryption and decryption.

[0148] Step 905: Encrypted transmission: The extended application and the data center program transmit the encrypted resources.

[0149] Step 906: The communication connection is terminated. After the communication ends, the data center program and the extended application can choose to close the communication connection by sending a Close Notify notification message.

[0150] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.

[0151] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Figure 10As shown. The computer device includes a processor, memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals via wired or wireless means, and the wireless means can be implemented via Wi-Fi, mobile cellular networks, near-field communication (NFC), or other technologies. When executed by the processor, the computer program implements an IoT terminal application software security system based on a sandbox mechanism and a communication security protocol. The display unit of the computer device is used to produce a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device casing, or an external keyboard, touchpad or mouse.

[0152] Those skilled in the art will understand that Figure 10 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0153] 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 this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0154] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), quantum computing-based data processing logic devices, artificial intelligence (AI) processors, and the like.

[0155] The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0156] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. An Internet of Things terminal application software security system based on sandbox mechanism and communication security protocol, characterized by: The IoT terminal application software security system based on the sandbox mechanism and communication security protocol includes an extended sandbox environment and a basic sandbox environment; the extended sandbox environment includes an extended application program, and the basic sandbox environment includes a data center program; The basic sandbox environment and the extended sandbox environment are in a resource isolation state; the basic resource permissions configured for the basic sandbox environment are higher than the extended resource permissions configured for the extended sandbox environment; The extended application program dispatches a first resource for the pending request in the extended sandbox environment in response to the pending request, and sends a resource request to the data center program when the first resource cannot process the pending request, the resource request being used to request a second resource for the pending request; The data center program obtains the second resource in response to the resource request and transmits the second resource to the extended application; The extended application program obtains the second resource transmitted by the data center program, and processes the pending request through the first resource and the second resource.

2. The system according to claim 1, wherein: The data center program specifically encrypts the second resource using a symmetric key, and transmits the encrypted second resource to the extended application; The extended application specifically decrypts the encrypted second resource using the symmetric key to obtain the second resource.

3. The system according to claim 2, characterized in that The extended application generates a symmetric key, encrypts the symmetric key using the target public key, and sends a key interaction request to the data center program; the key interaction request includes the encrypted symmetric key; The data center program extracts the encrypted symmetric key from the key interaction request, and uses the target private key to decrypt the encrypted symmetric key to obtain the symmetric key.

4. The system according to claim 3, characterized in that The data center program sends a digital certificate to the extended application, wherein the digital certificate includes the target public key and certificate authority information; The extended application extracts the certificate authorization information from the digital certificate and performs information verification on the certificate authorization information; In a case where the certificate authorization information passes information verification, the target public key is extracted from the digital certificate.

5. The system according to claim 2, wherein: When the extended application program decrypts the encrypted second resource using the symmetric key and the decryption fails and the second resource is not obtained, the extended application program feeds back an abnormal event notification to the data center program.

6. The system according to claim 1, wherein: The resource request includes at least a service type, an object identifier, and an operation type; When the data center program is unable to respond to the resource request, the data center program feeds back an abnormal event notification to the extended application program; Alternatively, the data center program performs permission verification on any one of the service type, the object identifier, and the operation type in the resource request, and feeds back an abnormal event notification to the extended application if the permission verification result indicates no permission.

7. The system according to any one of claims 2 to 6, characterized in that: The extended application communicates with the data center program via a target protocol version; encryption processing is performed based on an encryption suite in a target cipher suite, and decryption processing is performed based on a decryption suite in the target cipher suite.

8. The system according to claim 7, characterized in that The extended application sends a handshake message to the data center program; the handshake message includes the protocol version and the cipher suite list supported by the extended application; The data center program extracts the protocol version and the cipher suite list from the handshake message, and determines the target protocol version from the protocol version, and determines the target cipher suite from the cipher suite list; The data center program sends a handshake response message including the target protocol version and the target cipher suite to the extended application.

9. The system according to any one of claims 1 to 6, characterized in that: The basic sandbox environment and the extended sandbox environment are isolated from each other through a network namespace. An interaction interface is provided between the extended sandbox environment and the basic sandbox environment, and the interaction interface is used for resource interaction between the basic sandbox environment and the extended sandbox environment.

10. The system according to any one of claims 1 to 6, characterized in that: The basic sandbox environment also includes a basic monitoring program and an uplink communication agent program; The basic monitoring program is configured with a basic monitoring strategy, and the basic monitoring program is used to monitor the basic application program through the basic monitoring strategy; the uplink communication agent program is used to communicate and interact with external devices in the basic sandbox environment; The extended sandbox environment further includes an extended monitoring program, wherein an extended monitoring policy is configured in the extended monitoring program, and the extended monitoring program is used to monitor the extended application program according to the extended monitoring policy.

Citation Information

Patent Citations

  • Sandbox-based data security fusion service device and method thereof

    CN110955886A

  • Application security reinforcement system based on security sandbox

    CN114154144A