Server, terminal and security system

Through the combination of cloud server and terminal security management, the authentication and key management module, multi-party security computing engine and secure channel management module are adopted to solve the flexibility and cost problems of traditional terminal security solutions, realize the comprehensive, real-time monitoring and flexible response of terminal devices, and improve security.

WO2025162387A1PCT designated stage Publication Date: 2025-08-07TSINGHUA SHENZHEN INTERNATIONAL GRADUATE SCHOOL +1

Patent Information

Application Number
PCT/CN2025/075214
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-31
Filing Date
2025-01-26
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

Traditional terminal security solutions rely on the computing power and storage capacity of local devices, lack flexibility and scalability, and are difficult to cope with changing security requirements. The hardware is expensive and difficult to achieve global monitoring and analysis, and lack flexibility and scalability.

Method used

Through the combination of cloud servers and terminal security management, the authentication and key management module, a multi-party security computing engine and a secure channel management module are adopted to achieve comprehensive and real-time monitoring and flexible response to terminal devices, and use zero-knowledge proof and secret sharing technology to authenticate, establish trusted connections and secure channels.

Benefits of technology

It improves the overall security of terminal equipment, realizes comprehensive and real-time monitoring and flexible response to terminal equipment, reduces hardware costs, and improves security and flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025075214_07082025_PF_FP_ABST
    Figure CN2025075214_07082025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a server, a terminal and a security system. The server comprises an authentication and key management module, a secure multi-party computation engine and a secure-channel management module, wherein the authentication and key management module is used for performing identity verification on a terminal, generating a first private key corresponding to the terminal and a first public key corresponding to the first private key, and generating a first session key on the basis of a second public key of the terminal and the first private key; the secure multi-party computation engine is used for verifying fingerprint information of the terminal and cooperating with a plurality of terminals to perform identity verification on a server; and the secure-channel management module is used for establishing a secure channel with the terminal, encrypting communication data on the basis of the first session key, and using the secure channel to send the encrypted communication data to the terminal. The solution of the present application can effectively solve the security problem of communication between a terminal and a server, and has the advantages of high flexibility and a low cost.
Need to check novelty before this filing date? Find Prior Art

Description

Servers, terminals, and security systems

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to Chinese patent application number 202410143482.X, filed on January 31, 2024, entitled “Server, Terminal and Security System,” which is incorporated herein by reference in its entirety. Technical Field

[0003] The present application relates to the field of information security technology, and in particular to a server, a terminal, and a security system. Background Art

[0004] With the rapid development of information technology and the widespread use of the Internet, terminal devices (such as televisions, smartphones, tablets, and IoT devices) have become an indispensable part of people's lives and work. However, this comes with an increasing number of security challenges facing terminal devices.

[0005] Traditional endpoint security solutions primarily rely on local security software and fixed defense strategies, or hardware-based security measures such as hardware encryption and security chips, or the use of hardware and software methods to build a secure isolation zone on the computing platform, such as a Trusted Execution Environment (TEE), to improve the security of the endpoint device. This means that defense measures are often limited to the computing power and storage capacity of the local device, or rely on dedicated hardware, lacking flexibility and scalability, making it difficult to adapt to ever-changing security requirements. Traditional hardware roots of trust are often pre-installed and fixed. Once security risks or vulnerabilities are discovered at the hardware or software level, the remediation process often requires replacing the entire device, resulting in high maintenance costs and difficulty in upgrading security standards. Furthermore, local security methods often only provide visibility into the security status of a single endpoint device, lacking global monitoring and analysis, making it difficult to identify the overall threat landscape. Summary of the Invention

[0006] In response to the problems existing in the prior art, embodiments of the present application provide a server, a terminal, and a security system.

[0007] This application provides a server, including:

[0008] Authentication and key management module, multi-party secure computing engine and secure channel management module;

[0009] The authentication and key management module is configured to authenticate the terminal and generate a first private key corresponding to the terminal and a first public key corresponding to the first private key; and generate a first session key based on the second public key of the terminal and the first private key.

[0010] The multi-party security computing engine is used to verify the fingerprint information of the terminal and cooperate with multiple terminals to authenticate the server;

[0011] The secure channel management module is configured to establish a secure channel with the terminal, encrypt communication data based on the first session key, and send the encrypted communication data to the terminal via the secure channel.

[0012] The present application also provides a terminal, comprising:

[0013] Key generation management module, dynamic authentication module and secure channel management module;

[0014] The key generation management module is configured to generate a second private key and a second public key corresponding to the second private key; and generate a second session key based on the first public key and the second private key of the server;

[0015] The dynamic authentication module is used to perform two-way identity authentication on the server and the terminal, and to perform trust evaluation and continuous authentication on the terminal based on the fingerprint information of the terminal and the behavioral information generated during the use of the terminal;

[0016] The secure channel management module is configured to receive the encrypted communication data sent by the server and send the encrypted communication data to the server based on the second session key.

[0017] The present application also provides a safety system, comprising:

[0018] A server as described in any one of the above, and a terminal as described in any one of the above.

[0019] The present application also provides a non-transitory computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the method executed by the server or terminal as described above is implemented.

[0020] The present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the method executed by any of the above-mentioned servers or terminals.

[0021] The server, terminal and security system provided in the present application include: an authentication and key management module, a multi-party secure computing engine and a secure channel management module; wherein the authentication and key management module is used to authenticate the terminal and generate a first private key corresponding to the terminal and a first public key corresponding to the first private key; a first session key is generated based on the second public key and the first private key of the terminal; a multi-party secure computing engine is used to verify the fingerprint information of the terminal and cooperate with multiple terminals to authenticate the server; a secure channel management module is used to establish a secure channel with the terminal, encrypt communication data based on the first session key, and send the encrypted communication data to the terminal using the secure channel. By combining the server with terminal security management, comprehensive, real-time monitoring and flexible response of terminal devices are achieved, thereby effectively improving the overall security of the terminal devices. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the technical solutions in the present application or the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0023] FIG1 is a schematic diagram of the structure of a server provided by this application;

[0024] FIG2 is one of the schematic diagrams of the server identity authentication principle provided by this application;

[0025] FIG3 is a second schematic diagram of the server identity authentication principle provided by this application;

[0026] FIG4 is a schematic diagram of the interaction process provided by this application;

[0027] FIG5 is a schematic diagram of the terminal identity authentication principle provided by this application;

[0028] FIG6 is a schematic diagram of fingerprint level information provided by this application;

[0029] FIG7A is a second structural diagram of the server provided by this application;

[0030] FIG7B is a schematic diagram of the monitoring management principle provided by the present application;

[0031] FIG8 is a schematic diagram of the code obfuscation process provided by this application;

[0032] FIG9 is a schematic diagram of a terminal structure provided in this application;

[0033] FIG10 is a schematic diagram of the implementation principle of the television terminal provided by the present application;

[0034] FIG11 is one of the system architecture diagrams provided in this application;

[0035] FIG12 is a second schematic diagram of the system architecture provided by this application;

[0036] FIG13 is a schematic diagram of the key hierarchy provided by this application;

[0037] FIG14 is a third structural diagram of the server provided by this application;

[0038] FIG15 is a second schematic diagram of the structure of the terminal provided in this application. DETAILED DESCRIPTION

[0039] To make the objectives, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments of this application, all other embodiments obtained by ordinary technicians in this field without making any creative efforts are within the scope of protection of this application.

[0040] First, the application scenarios involved in the embodiments of this application are introduced:

[0041] The application scenario of the embodiments of the present application can be a communication system, in which the communication entities involved include a server and a terminal. The server is responsible for verifying the identity authenticity of the user terminal and enabling secure interaction with the user terminal. The terminal can also verify the identity authenticity of the server, request access to resources, and exchange information with the server.

[0042] 1. Traditional security approaches primarily rely on local device security software and resources, limiting defenses to the computing power and storage capacity of the local device. Furthermore, local security approaches often only provide visibility into the security status of a single endpoint device, lacking global monitoring and analysis, making it difficult to identify the overall threat landscape.

[0043] 2. Lack of flexibility. Hardware security solutions are typically static and lack the flexibility to respond to evolving cyber threats. Once hardware security measures are cracked or bypassed, updating and upgrading them is relatively difficult, threatening the long-term security of terminal devices.

[0044] 3. High hardware costs. Security solutions that rely heavily on hardware are often accompanied by high costs, including not only the manufacturing and purchase costs of the hardware itself, but also the costs of maintenance and upgrades. This has created certain constraints on the large-scale popularization of terminal devices.

[0045] 4. Insufficient adaptability to diverse terminals. Due to the significant differences in hardware characteristics of different terminal devices, hardware-based security solutions face certain challenges in adaptability, making it difficult to apply the same security model to different types of terminal devices.

[0046] To solve the above problems, the embodiments of the present application aim to provide a cloud server and terminal security system, which combines the cloud server with terminal security management to achieve comprehensive, real-time monitoring and flexible response of terminal devices, thereby effectively improving the overall security of terminal devices.

[0047] The method of the embodiment of the present application can also be run within the Trusted Execution Environment (TEE) framework to enhance the security of the TEE.

[0048] Embedding a Secure Execution Environment (SEE) as a Trusted Application (TA) into a TEE increases system security. TEEs typically have a root of trust built in at the factory, but not all TEEs have a pre-installed root of trust or the root of trust is too single and simple, posing security risks. In this case, SEE can serve as an alternative to the root of trust.

[0049] Generally speaking, a two-way connection channel is required between the terminal and the cloud. However, when the two-way connection channel is interrupted, the terminal can still operate autonomously and complete the corresponding functions of each module. Only the key exchange and authentication (including continuous authentication) process requires the two-way connection. Other functional modules can maintain autonomous operation and complete the corresponding functions when the two-way connection channel is interrupted. Specifically, the terminal uses the information of the last communication with the cloud to maintain the operation of the function until the connection is restored and then the terminal and the cloud synchronize and update the information.

[0050] The technical solutions of the embodiments of the present application are described in detail below with reference to Figures 1 to 15. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0051] FIG1 is a schematic diagram of the structure of a server provided by this application. As shown in FIG1 , the server provided by this embodiment includes:

[0052] Authentication and key management module, multi-party secure computing engine and secure channel management module;

[0053] The authentication and key management module is configured to authenticate the terminal and generate a first private key corresponding to the terminal and a first public key corresponding to the first private key; and generate a first session key based on the second public key of the terminal and the first private key.

[0054] The multi-party security computing engine is used to verify the fingerprint information of the terminal and cooperate with multiple terminals to authenticate the server;

[0055] The secure channel management module is configured to establish a secure channel with the terminal, encrypt communication data based on the first session key, and send the encrypted communication data to the terminal via the secure channel.

[0056] Specifically, authentication and key management within security systems are key aspects of ensuring system security, aiming to protect sensitive data and execute critical tasks. Key generation based on fingerprint information or at least one layer of information, as well as terminal identity authentication mechanisms, establish a uniquely trusted connection between cloud servers and terminals, and manage terminal trust mechanisms based on a zero-trust network architecture.

[0057] A multi-party secure computing engine is used to verify the fingerprint information of the terminal and cooperate with multiple terminals to authenticate the server, for example, to achieve specific verification functions through zero-knowledge proof and secret sharing technology.

[0058] The terminal's fingerprint information is embedded using zero-knowledge proof, and the terminal uploads the proof information and the terminal's second public key to the server. For example, the terminal generates proof information based on the fingerprint information and uploads the public key, encrypted fingerprint information, and proof information to the server. The correctness of the terminal's identity is subsequently verified using zero-knowledge proof.

[0059] During the authentication and key management process, a first session key is derived based on the terminal's second public key and the server-generated first private key corresponding to the terminal. Based on this first session key, a secure channel, such as a virtual private network (VPN), is established. A secure channel is a secure channel established during the communication process to ensure confidentiality, integrity, and authentication. Within a secure channel, information transmission is encrypted and protected, and only authorized participants can decrypt and understand the communication content. Secure channel management encompasses functions such as identity authentication, key negotiation, encrypted communication, integrity protection, forward secrecy, and non-repudiation.

[0060] Optionally, the first private key and the first public key pair correspond to the terminal, and the first private key and the first public key pair corresponding to different terminals may be different, which provides higher security.

[0061] The server of this embodiment includes: an authentication and key management module, a multi-party secure computing engine and a secure channel management module; wherein the authentication and key management module is used to authenticate the terminal and generate a first private key corresponding to the terminal and a first public key corresponding to the first private key; a first session key is generated based on the second public key and the first private key of the terminal; the multi-party secure computing engine is used to verify the fingerprint information of the terminal and cooperate with multiple terminals to authenticate the server; the secure channel management module is used to establish a secure channel with the terminal, encrypt communication data based on the first session key, and send the encrypted communication data to the terminal using the secure channel. By combining the server with terminal security management, comprehensive and real-time monitoring and flexible response of terminal devices are achieved, thereby effectively improving the overall security of the terminal devices.

[0062] Optionally, the multi-party secure computing engine is specifically configured to:

[0063] Encrypting according to the first intermediate number and the second public key to obtain a second intermediate number, where the first intermediate number is obtained by converting the fingerprint information of the terminal into an element of a finite field and then encrypting it;

[0064] The certification information is verified according to the second intermediate number, the first intermediate number and the second public key to realize the verification of the fingerprint information; the certification information is the certification information of the terminal binding the fingerprint information and the second public key.

[0065] Specifically, a secret sharing scheme can be used to implement identity authentication of the server. The core of the secret sharing scheme is to generate a public-private key pair (a first public key and a first private key) dedicated to the terminal, and the public-private key pair is used to set a trap through the secret sharing method, which is used for multiple terminals to authenticate the server.

[0066] Embed terminal T using zero-knowledge proof i Fingerprint information fp i , and upload the proof information π, the encrypted fingerprint information and the second public key PK to the server at the same time i In order to meet the needs of use, this embodiment can use a round of zero-knowledge proof, that is, non-interactive zero-knowledge proof. For example, for the fingerprint information fp i Process and convert to finite field The element m on the elliptic curve cryptography algorithm can be applied to encrypt it to obtain a first intermediate number M=m·G. In other embodiments, M can also be implemented using other encryption algorithms, such as discrete logarithm encryption algorithm, lattice encryption algorithm, etc., which is not limited in the embodiments of the present application.

[0067] Terminal T iTo calculate the second intermediate number, for example, a hash algorithm can be used: c = hash (PK i ,M), then based on the element m of the finite field, the second intermediate number c and the second private key SK i Calculate proof information, such as π = m + c × SK i , the terminal uploads triplet information (PK i ,M,π) to the server.

[0068] The subsequent zero-knowledge proof process is as follows: the server first calculates c, and then verifies the correctness of the zero-knowledge proof information π, that is, verifies whether the received π·G is equal to m+c×PK i .

[0069] In the above implementation, the second public key and the fingerprint information can be bound by the zero-knowledge proof method, which is simple to implement and has high efficiency and security.

[0070] Optionally, the key management module is used to send an encrypted first random number and a first public key to the terminal, where the first random number is used to authenticate the server and / or the terminal.

[0071] Specifically, the server is the main body in the communication process and stores a large amount of confidential information of the terminals. In many existing solutions, it is assumed that the server is absolutely authentic and secure. If it is counterfeited, it will cause damage to many terminals. i The rights and security of the terminal are seriously threatened. In the embodiment of the present application, the terminal can use the first random number The server's identity is verified using the first secret to avoid security issues.

[0072] Optionally, the terminal sends a verification request to the server;

[0073] The terminal receives an encrypted first random number sent by the server based on the verification request;

[0074] The terminal authenticates the server based on the encrypted first random number.

[0075] As shown in FIG2, for the first random number To verify the identity of the server, for example, a heartbeat verification method can be used, where each terminal requires the server to issue the first random number previously issued. (which can be called a heartbeat) is an encrypted version, such as Each terminal is based on the server Verify, if the server issues The terminal previously received If the encrypted versions are consistent, then a score is awarded, otherwise no score is awarded. The scores calculated by each terminal are counted. If the score is greater than the preset threshold, the server passes the verification, otherwise the verification fails. The number of terminals N1 and the preset threshold can be set according to security requirements. The larger the N1 and the preset threshold are, the stronger the security is. Here, it is assumed that the capabilities of the fake server are the same as those of the real server. Then the probability of a fake server successfully passing the verification is approximately

[0076] The multi-party secure computing engine is further used to:

[0077] Establish an n-1 degree polynomial; n is an integer greater than 1;

[0078] Encrypting the coefficients of the 0th power in the n-1th order polynomial to obtain the first secret, and sending the first secret to the terminal; the first secret is used to authenticate the server;

[0079] Optionally, the terminal receives a first secret sent by the server; the first secret is used to authenticate the server;

[0080] The terminal obtains a second secret by using Lagrange interpolation based on identity information of multiple second terminals and the second public key as a secret share; the multiple second terminals include the terminal;

[0081] If the second secret is consistent with the first secret, it is determined that the identity authentication of the server is successful.

[0082] Specifically, a trapdoor can be buried by secret sharing to facilitate the later verification of the server. For example, construct an n-1 degree polynomial f(x) = a0+a1x+…+a n x n-1 In this polynomial, a0 is the secret that each party needs to recover to verify the server, and the coefficient a i (i∈{1,2,…,n}) is selected using a random number generation method, and a0 can also be a random number.

[0083] The server also needs to publish the encrypted secret A0=a0·G, which is the first secret. For example, the first private key SK′ i You can take SK′ i =f(ID i ), (ID i , SK′ i ) can be used as a secret share, optionally, the first public key PK′ i Can be based on SK′ iEncryption is obtained, for example, by using the point multiplication operation on the elliptic curve, multiplying the base point G by the first private key to obtain the first public key, namely PK′ i =SK′ i ·G.

[0084] Optionally, the first secret may be published by the server through broadcast. i Select the verification function to enter the verification area and each contribute the first public key PK' received i , PK′ i =SK′ i G, will (ID i ,PK′ i ) as a secret share and using the Lagrange interpolation polynomial, the coefficient a0 in the original polynomial can be recovered to obtain the second secret A′0 encrypted by the base point. If the recovered A′0 is consistent with the A0 previously published by the server, the verification is successful, otherwise the verification fails.

[0085] In the above implementation, the identity authentication of the server can be achieved in different ways, which improves security and has greater flexibility.

[0086] Exemplarily, as shown in FIG4 , the method includes the following steps:

[0087] Step 1: The terminal uploads the second public key to the server;

[0088] Step 2: The server generates a first private key corresponding to the terminal, a first public key corresponding to the first private key, and a first random number corresponding to the terminal;

[0089] Step 3: The server sends the first public key and the first random number encrypted based on the second public key to the terminal;

[0090] Step 4: The terminal decrypts the encrypted first random number based on the second private key to obtain the first random number;

[0091] Step 5: The terminal uploads the fingerprint information encrypted based on the second session key to the server; the second session key is obtained based on the first public key and the second private key;

[0092] Step 6: The server decrypts the encrypted fingerprint information based on the first session key and stores it; the first session key is obtained based on the second public key and the first private key;

[0093] Step 7: The server encrypts the service key (or service authorization information) based on the first session key and sends the encrypted information to the terminal.

[0094] Optionally, as shown in FIG5 , the method further includes:

[0095] After receiving the verification request from the server, the terminal sends the encrypted fingerprint information and / or the encrypted first random number to the server.

[0096] Specifically, in order to protect the legitimate terminal T i The legitimate rights and interests of resisting false T′ i Attack, the server can continuously verify T i Fingerprint information fp i To determine the identity of the terminal, the server can ask the terminal T i Upload the fp it owns i The server decrypts the encrypted value and matches it with the fingerprint information stored on the server. If the match is successful, the terminal T i The authentication is passed. In addition to the verification terminal T i Fingerprint information fp i To determine the identity of the terminal, you can also use the first random number To carry out T i Identity verification, as fingerprint information fp i Supplementary means of verification, such as the terminal sending a first random number The server decrypts the encrypted value and matches it with the first random number generated previously. If the match is successful, the terminal T i The authentication is passed.

[0097] In the above implementation, the identity verification of the terminal can be achieved through the fingerprint information or the first random number, and the implementation scheme is simple, efficient and secure.

[0098] Optionally, as shown in FIG6 , the fingerprint information is generated based on information of at least one layer, the at least one layer including at least one of the following: an electronic device layer, a network and protocol layer, a plug-in layer, and a behavior authentication layer; the information of the electronic device layer is information inherent to the electronic device of the terminal, the information of the network protocol layer is configuration information of the network protocol class, the information of the plug-in layer is information of plug-ins and / or drivers installed in the terminal, and the information of the behavior authentication layer is information generated based on the interaction between the user and the terminal or the interaction between the terminal and the server;

[0099] The identity information of the terminal is encrypted based on the fingerprint information of the terminal or information of at least one level.

[0100] Specifically, the generation of fingerprint information requires combining information from at least one layer, including at least one of the following: electronic device layer, network and protocol layer, plug-in layer, and behavioral authentication layer;

[0101] For example, an appropriate key generation algorithm such as a hash algorithm can be selected to generate fingerprint information that is deeply bound to the terminal. To avoid collisions, the second private key can be generated by selecting information from at least one layer or directly based on the fingerprint information using any encryption algorithm.

[0102] Optionally, the information of the electronic device layer refers to the physical data of the electronic devices inherent in the terminal, such as information of various hardware devices including the central processing unit CPU, registers, sound card, network card, scrambler, encryptor, underlying registers, system time and clock drift, permanent cookies, etc.

[0103] Network and protocol layer information refers to the configuration information of various network and protocol classes of the terminal, including but not limited to Media Access Control (MAC) addresses, Domain Name System (DNS) resolution configuration information, Transmission Control Protocol (TCP) / IP configuration information, geographic location information, TCP / IP configuration information, wireless LAN (such as IEEE 802.11) configuration information, etc.

[0104] The information of the plug-in layer includes, for example, various plug-ins and / or driver information installed in the terminal to implement various functions, such as various plug-ins and / or driver information downloaded during network operations, information on various plug-ins and / or drivers installed locally in the terminal, and version information of the operating system and related software.

[0105] The information in the behavior authentication layer is behavioral data information generated by various interactive behaviors between users and terminals or various interactive behaviors between terminals and servers, including, for example, measurable system performance, calibration errors of hardware sensors, various log information, user historical browsing record data, and the strength or speed of using the remote control. Due to the diversity of terminal behaviors, the information in the behavior authentication layer allows for a certain degree of fault tolerance.

[0106] In one possible implementation, after the terminal encrypts and uploads the fingerprint information using a second session key, the server stores the fingerprint information. For example, when the server needs to verify the true identity of the terminal, it can set the weight of each level and verify the fingerprint information. As long as it is within a reasonable error range, the verification will pass. At regular intervals, the server will extract the terminal's fingerprint information and calculate the distance similarity with the last extracted fingerprint information. If the distance similarity is greater than a certain range (the range is determined by the security level of the specific application scenario), the terminal's fingerprint is abnormal and needs to be re-authenticated or blocked. Secondly, the terminal generates its own public-private key pair locally and establishes an authentication relationship with the server. The security of the key is enhanced by the secure fingerprint information. During the continuous authentication process, the server challenges the terminal through a random number sequence or selects the terminal's historical behavior information for verification. By checking whether the terminal's response information is consistent with the information stored by the server, it realizes behavior-based continuous authentication of the terminal and updates the fingerprint information.

[0107] Specifically, the steps for continuous certification are as follows:

[0108] S1: During the use of the terminal, the server randomly selects a timestamp T1, constructs a random number sequence R of a fixed length including both before and after the previous round of challenge timestamp T0, encrypts it with the first session key and sends it to the terminal.

[0109] S2: After receiving the challenge, the terminal decrypts the timestamp T1 and the random number sequence R, and verifies the freshness of the timestamp T1. If the timestamp is not fresh, it proceeds to step S6; otherwise, based on the log records generated by the interaction between the terminal and the server, it uses the random number sequence R to select the log information sequence L, calculates the hash result of each log, and constructs the hash sequence H. L .

[0110] S3: If the fingerprint information contained in the electronic device layer, network and protocol layer, and plug-in layer has not changed between the previous round and the current round, set the flag F to 0 and calculate the hash result of the terminal fingerprint information fp0 Otherwise, set the flag F to 1 and calculate the hash result of the old fingerprint information fp0 and the new fingerprint information fp1 and

[0111] S4: The terminal sends an encrypted message to the server using the second session key, including: the current timestamp T2, the hash sequence H L , flag F, fingerprint information hash value If the flag F is 1, then new fingerprint information fp1 and

[0112] S5: After receiving the response, the server decrypts the message, verifies the freshness of the timestamp, and verifies the hash sequence H L Check whether the hash result of the log record selected by the random number sequence R is consistent, and verify the fingerprint information hash value If the result is consistent, if the flag F is 1, it is necessary to update the terminal's fingerprint information to fp1 in the server and verify the hash result. If the above checks are all correct, the response is valid and the authentication is completed. Otherwise, go to step S6.

[0113] S6: Authentication failed, challenge and response are repeated.

[0114] In the continuous authentication method based on hierarchical fingerprints provided in the embodiment of the present application, compared with the related technology that only performs authentication once when the user logs in, the present application can perform preliminary authentication and subsequent continuous authentication of the terminal device based on the constructed hierarchical fingerprint information, which can effectively prevent potential threats caused by subsequent changes in device status, unauthorized access, etc., thereby improving the communication security between the server and the terminal device.

[0115] In order to realize the behavioral evaluation of terminals, this application introduces the Trust Management Model (TMM) as a security assurance mechanism for realizing dynamic behavioral perception. By establishing a flexible trust relationship between objects, the interaction risk between malicious nodes and compromised nodes is reduced, so that the device security evaluation is not limited to the binary decision problem of 0 and 1 based on the encryption mechanism. The TMM model consists of four core components: trust storage, trust collection, anomaly monitoring and trust update, and is installed in the server. The trust storage module records the historical trust value of each terminal; the trust collection module is used to collect the behavioral data of the terminal as evidence for trust evaluation; the anomaly monitoring module is used to identify abnormal patterns that do not conform to the behavioral model; the trust update module updates the trust value of the terminal according to the trust evaluation provided by the anomaly monitoring module.

[0116] Optionally, the security channel management module is specifically configured to:

[0117] After the authentication module authenticates the terminal and the terminal passes the authentication, the secure channel is established;

[0118] encrypting the communication data based on the first session key and the integrity protection algorithm;

[0119] The key management module is specifically configured to update the first session key after the authentication module authenticates the terminal successfully.

[0120] Specifically, the secure channel management module can implement at least one of the following functions:

[0121] 1. Identity verification. During the establishment of a secure channel, both ends of the communication need to perform identity verification to ensure that the entities participating in the communication are trustworthy. This can be achieved by using digital certificates, usernames and passwords, application programming interface (API) keys, etc. In the authentication and key management module of the embodiment of the present application, verification can be performed through the fingerprint information of the terminal and the consensus information heartbeat (first random number) of the terminal and the server. This method has stronger security than traditional identity verification methods and can ensure the credibility of the entities participating in the communication.

[0122] 2. Key negotiation. During the secure handshake process, the two ends of the communication negotiate to generate a session key for encrypting and decrypting communication data. In the authentication and key management module of the embodiment of the present application, a consensus session key PK between the server and the terminal has been established. i SK′ i , which is the first session key. The security system assumes that keys are temporary, and a new session key can be regenerated for each interaction to improve security. To reduce communication costs, both communicating parties can also directly update the session key after authentication.

[0123] 3. Encrypted communication: Use session keys to encrypt communication data to ensure that even if the data is intercepted during network transmission, the attacker cannot understand the encrypted communication content.

[0124] 4. Integrity protection. The embodiments of this application utilize integrity protection mechanisms, such as message digests or digital signatures, to prevent data from being tampered with during transmission. The receiver can use the same algorithm to verify the integrity of the data, enhancing the security of the solution.

[0125] 5. Forward Secrecy. Forward secrecy means that even if the long-term key is compromised, past communications remain secure in an encryption system. In SEE, the session key is updated for each communication. Even if an adversary obtains the public and private keys of the server or terminal, they cannot decrypt past communications.

[0126] 6. Non-repudiation. Non-repudiation means that one party in a communication cannot deny its actions. That is, the sender cannot deny having sent a message, and the receiver cannot deny having received a message. The solution of the embodiment of the present application utilizes an integrity protection mechanism in each communication to achieve non-repudiation.

[0127] Optionally, as shown in FIG7A , the server further includes:

[0128] A monitoring and management module, configured to monitor the secure execution environment (SEE) system running in the terminal;

[0129] The monitoring management module is specifically configured to perform at least one of the following:

[0130] Starting and shutting down the terminal;

[0131] Performing context switching on a secure execution environment (SEE) system of the terminal;

[0132] Allocating and managing resources for the terminal;

[0133] Performing security access control on the terminal;

[0134] Troubleshooting;

[0135] Assisting the terminal to perform security updates.

[0136] Specifically, as shown in FIG7B , in the embodiment of the present application, based on the cloud security mechanism and the zero-trust network architecture, a monitor (Monitor) of the terminal trusted software is set up in the cloud to supervise and manage the trusted, secure and reliable operation of the terminal software.

[0137] In the cloud-end architecture, the cloud server is responsible for user registration, service activation, and the storage and upload of registration information (including user, terminal, and operator information). The monitoring and management component is divided into two parts: a server-side monitoring and management module (such as the Security and Threat Monitoring Manager in Figure 7B) and a terminal-side runtime environment monitor, deployed in the cloud and on the terminal. The cloud-end security and threat monitoring manager verifies the integrity, security, and availability of the terminal runtime environment monitor. The terminal monitor manages the code executed on the terminal, ensuring that only authenticated code and data are loaded and executed through code protection and execution monitoring policies, thereby establishing a trusted execution environment.

[0138] To achieve behavioral supervision of the cloud and terminals, the monitoring and management module needs to include functions such as startup and shutdown, secure context switching, resource allocation and management, key management, fault handling and security updates.

[0139] 1. Startup and shutdown

[0140] The monitoring and management module is responsible for the startup and shutdown processes of supervised devices. During startup, it verifies the integrity of the supervised device's internal components, ensuring that only trusted code and data are loaded. During shutdown, the monitoring and management module performs cleanup operations to ensure a secure exit process without leaving any sensitive information.

[0141] 2. Safe context switching

[0142] When performing a context switch, the monitoring and management module is responsible for saving or restoring the context information of the current execution environment, including register status, memory mapping, and other related states, to ensure a seamless transition when switching from one environment to another. Before switching, the monitoring and management module needs to perform some additional security checks to ensure that the target execution environment to be switched is legal, authenticated, and has access to the corresponding resources. In addition, since the device authentication in the embodiment of the present application is time-sensitive, the monitoring and management module needs to synchronize the clock of the execution environment to ensure the credibility of the timestamp and timing operations.

[0143] 3. Resource allocation and management

[0144] The monitoring and management module must ensure that running applications and services utilize system resources efficiently and maintain security, including memory management and CPU time slice allocation. Furthermore, the monitoring and management module ensures secure code execution by distributing the first public key corresponding to the terminal and updating the transformation code table for code obfuscation. The monitoring and management module also monitors and records resource usage to support auditing and tracking, ensuring controllable and transparent resource allocation.

[0145] 4. Key Management

[0146] The monitoring and management module generates, stores, and maintains key pairs for behavior monitoring on monitored endpoints. For example, it provides an API to allow applications within monitored devices to request new keys or access existing keys. To prevent malicious attacks or insecure key generation, the monitoring and management module enforces access control policies to ensure that only authorized internal components can request or use specific keys.

[0147] 5. Troubleshooting

[0148] The monitoring and management module monitors the behavior of monitored devices and takes appropriate action when failures or abnormalities occur, such as logging, restoring status, and issuing alerts. Fault handling works in conjunction with secure storage to persist critical status information of monitored devices so that the correct state can be reestablished after failure recovery.

[0149] 6. Security Updates

[0150] Due to the terminal system version upgrade, the monitoring and management module needs to assist with the security update process, ensuring the integrity and security of the updated code and data. First, the monitoring and management module verifies the integrity and digital signature of the updated code and data to ensure their authenticity. Then, the monitoring and management module backs up the current execution state and data to facilitate rollback in the event of an update failure. After the update, the monitoring and management module attempts to load the current state and data to ensure availability. Once successful, the monitoring and management module restarts the environment to activate the updated system.

[0151] The following is a security analysis of terminal monitoring and management:

[0152] The system of the embodiment of the present application adopts the zero-trust design principle, performs identity authentication and access control on every access behavior of the supervised device, and detects the device operation status through dynamic code protection and execution monitoring mechanism to ensure that the code is executed as required. In this system, the cloud server is fully trusted or relatively trusted, while the user's terminal is more vulnerable to malicious attacks by the adversary due to its security exposure. In this context, the embodiment of the present application ensures security through the following solutions:

[0153] (1) Avoid man-in-the-middle attacks and data eavesdropping: The control and uploaded information between the monitoring and management modules are encrypted by the session key determined in advance through negotiation, preventing the adversary from stealing key information in the channel.

[0154] (2) Monitoring the terminal code execution environment: Malicious code injection, buffer overflow, and other threats may threaten the code execution environment on the terminal node. The dynamic code obfuscation and code execution monitoring solution proposed in this system ensures that the code executed by the terminal is supervised by the monitor. In addition, the terminal uses sandboxing technology to isolate the execution environment and limit access to system resources and sensitive information.

[0155] Optionally, the server further includes:

[0156] TA dynamic code obfuscation and state machine manager, used to obfuscate and encrypt TA code through the Security Execution Environment Obfuscation Tool (SOT).

[0157] Specifically, TA dynamic code obfuscation and state machine manager, as a dynamic code protection and terminal code monitoring solution that combines the cloud and the terminal, obfuscates and encrypts the TA code through the secure execution environment obfuscation tool SOT, providing reliable code operation security protection for the terminal.

[0158] Optionally, the server further includes:

[0159] The key and system update engine is used to update the key and software system. By performing vector commitment on the second public key of the terminal, the commitment value is obtained to achieve key update and protection. The engine is also used to manage the terminal's boot loader BootLoader.

[0160] Specifically, key updates are an essential component that determines the long-term security and stability of the system. The solution in this embodiment introduces vector commitments, which are primarily used to lock keys, preventing them from being tampered with and enabling key verification by any party. This solution offers the advantage of convenient storage: when a private key is modified, the uploaded content does not reveal the new private key.

[0161] S1: First, a vector commitment is performed on the second public key of the terminal to obtain a total commitment value. Subsequent terminal key updates or identity cancellations can be based on this commitment value.

[0162] S2: The user updates the private key himself. Assume that the user's terminal T i The updated private key is Then the user's terminal only needs to upload the session key That's it.

[0163] S3: Similarly, the server can also select a new session key, that is, select a new PK′ i , through the session key, terminal T i Combine it with your own private key to form a new session key.

[0164] S4: User deregistration. Due to non-renewal or illegal user situations, some users may need to be deleted. This function simply modifies the total commitment value in the vector commitment, deleting the member's sub-commitment and sub-proof, completely invalidating the user's public key and the session key they possess.

[0165] S5: During the entire process, the server and the terminal need to continuously synchronize time, update and check the timestamps to ensure the timeliness and accuracy of the timestamps.

[0166] Optionally, the server further includes:

[0167] The storage management module is used to store, manage and update the fingerprint information of the terminal and the interaction data with the terminal.

[0168] Specifically, the cloud server is responsible for storing the hierarchical fingerprint of each registered terminal and the status data of multiple TAs in the terminal, which are used for continuous terminal authentication, TA operation management and defense against various attacks.

[0169] The storage management module includes functions for storing, managing, and updating terminal fingerprint information. The terminal's fingerprint information is securely transmitted through a trusted secure channel established between the server and the terminal, stored on the server, and updated as the terminal's fingerprint is updated.

[0170] Optionally, the storage management module may further include: a state database;

[0171] The cloud-based state database needs to store all interactive behavior data generated by terminals. This data is generated when users interact with terminals or when terminals interact with servers, including operation logs, order information, website visit information, browsing history, and more. The cloud-based database also stores terminal state information recorded by the terminal monitoring and management component, including code keys, obfuscated code books, resource usage, and operation logs, to maintain state synchronization between the cloud and terminals.

[0172] Optionally, storage protection technology can be used to improve the security of data storage. To ensure the security of the fingerprint information of the above-mentioned terminals and the storage content of the status databases at all levels, storage protection technology is used to ensure the security and integrity of the data in the storage medium. This technology involves the following aspects:

[0173] (1) Data encryption: The stored data is converted into ciphertext by using encryption algorithms to prevent unauthorized access to sensitive information.

[0174] (2) Dynamic Address Translation (DAT): DAT technology achieves storage protection and isolation by converting and mapping memory addresses in a computer system. It achieves dynamic changes in the mapping between virtual memory addresses and physical memory addresses by utilizing virtual memory mechanisms and regularly changing page tables.

[0175] (3) Storage access control: Storage access control technology is used to restrict access rights to storage media, ensuring that only authorized users or systems can read, write, or modify stored data. This can be achieved through access control lists (ACLs), authentication, and authorization mechanisms.

[0176] (4) Storage integrity verification: Storage integrity verification technology is used to detect whether data has been damaged or tampered with during storage. Common integrity verification methods include checksums, hash functions, and message authentication codes (MACs).

[0177] Optionally, the functions implemented on the server side may be implemented through a secure execution environment SEE.

[0178] As shown in FIG9 , an embodiment of the present application further provides a terminal, including:

[0179] Key generation management module, dynamic authentication module and secure channel management module;

[0180] The key generation management module is configured to generate a second private key and a second public key corresponding to the second private key; and generate a second session key based on the first public key and the second private key of the server;

[0181] The dynamic authentication module is used to perform two-way identity authentication on the server and the terminal, and to perform trust evaluation and continuous authentication on the terminal based on the fingerprint information of the terminal and the behavioral information generated during the use of the terminal;

[0182] The secure channel management module is configured to receive the encrypted communication data sent by the server and send the encrypted communication data to the server based on the second session key.

[0183] Optionally, it also includes:

[0184] TA dynamic code obfuscation with state machine manager and runtime environment supervisor;

[0185] The TA dynamic code obfuscation and state machine manager is used to encrypt, obfuscate and monitor the instructions or codes of the terminal, and parse and load the execution program with a dedicated loader.

[0186] The operating environment monitor is used to dynamically scan and monitor the operating environment of the terminal; and perform block hashing on the memory to achieve feature extraction of abnormal behavior and monitoring of malicious code.

[0187] Specifically, TA dynamic code obfuscation and state machine manager is a dynamic code protection and terminal code monitoring solution that combines the cloud and the terminal. It obfuscates and encrypts the TA code through the secure execution environment obfuscation tool SOT, providing reliable code operation security protection for the terminal.

[0188] The SOT tool is used to obtain source code, dynamically obfuscate the source code and generate an obfuscation seed for the source code; code obfuscate the dynamically obfuscated source code based on the static obfuscation method corresponding to the obfuscation seed to obtain a trusted application; and the state manager is used to monitor the state of the trusted application during its operation and execute the corresponding code security protection solution based on the state monitoring results.

[0189] The basic SOT framework is divided into two parts: static obfuscation and dynamic obfuscation. Static code obfuscation uses various obfuscation methods, such as symbol renaming, control flow obfuscation, data flow obfuscation, constant obfuscation, false code insertion, string encryption, fuzzy logic, multi-layer obfuscation, code reduction, code insertion, junk instructions, disassembly obfuscation, and anti-alias detection. Dynamic obfuscation integrates technologies like spikes, heartbeat mechanisms, and timestamps into existing static code obfuscation techniques, dynamizing static obfuscation through the integration of a terminal and cloud-based state manager. In the state management phase, the terminal and cloud-based state managers monitor the terminal's code behavior through mechanisms like spikes, heartbeat mechanisms, and timestamp functions inserted into the code, ensuring both normal code operation and protection against various code attacks. Compared to traditional code obfuscation tools, the code reconstructed by SOT tools offers enhanced security and higher performance.

[0190] A nail is a piece of code injected into the source code. It can add additional monitoring, control, status information collection, cloud connection, obfuscation and other functions without affecting the normal operation of the source code, and play a role in code security protection.

[0191] The heartbeat mechanism means that during a long connection, the application sends fixed information to the terminal and the cloud state manager at regular intervals, allowing the state manager to confirm the application's running status.

[0192] A timestamp is a set of encoded information containing the instructions executed or the events that occurred and the time when they occurred.

[0193] The obfuscation code table is a mapping function that maps the result of taking the obfuscation seed modulo to the corresponding obfuscation method; the obfuscation seed can be a custom random number or a unique identity identification code, etc.

[0194] Function forwarding is an indirect function calling mechanism that makes the program have a more complex logical sequence, thereby effectively increasing the difficulty of reverse engineering.

[0195] Exemplarily, as shown in FIG8 , the TA dynamic code obfuscation and state machine manager in the embodiment of the present application first dynamically obfuscates the source code SC (Source Code) through SOT, injects nails, obfuscation code tables, heartbeats, and timestamp mechanism codes, and generates obfuscation seeds at the same time, and then inputs the source code and obfuscation seeds into the static obfuscation process of the next stage. SOT will dynamically obfuscate the source code according to the obfuscation seeds and obfuscation code tables, and implement code obfuscation through obfuscation technologies such as obfuscation code tables, function transfers, disassembly obfuscation, and alias detection. The output of SOT is SC' after static and dynamic obfuscation. If the source code is a compiled language, it will be further compiled into machine code MC' (Machine Code), and interpreted languages ​​do not require additional compilation. The output of SOT will be merged into an application, which will be executed in a trusted terminal environment to obtain a trusted application TA (Trusted Application).

[0196] SOT status management is divided into a cloud manager and a terminal manager. The two interact through a secure channel, monitoring the TA's operational status in real time and issuing alerts and mitigation measures when suspicious behavior occurs, achieving 24 / 7 code operation monitoring and protection. The terminal device's status manager has the ability to control the TA. When an abnormal operating state is detected, it can immediately take mitigation measures, such as terminating the TA's operation, to reduce losses and risks.

[0197] When a terminal is offline—that is, when there's no network connection between the terminal and the cloud—the terminal manager can still monitor and control it autonomously, self-sustainingly, and self-consistently, implementing an independent, closed-loop state management mechanism for offline terminals. This flexible, integrated offline and online control mechanism not only improves robustness in the face of network outages but also increases the solution's flexibility, making it applicable to a wide range of applications and communication scenarios.

[0198] Optionally, the runtime environment monitor can extract features of abnormal behavior and monitor malicious code by hashing memory blocks;

[0199] The extraction of abnormal behavior features and monitoring of malicious code is achieved by hashing memory blocks and comparing hash values ​​between devices or behaviors. This identifies the code associated with abnormal behavior and builds an abnormal behavior signature library. When other devices exhibit the same anomaly, it can quickly identify and locate it, and take intervention measures, improving system security.

[0200] Optionally, the terminal further includes:

[0201] A key and system update manager, used for updating keys and software systems, and managing the boot loader BootLoader of the terminal;

[0202] The software security execution management module is used to encrypt and decrypt the target software, perform dynamic signature verification and access control on the target software's running status, or scan the target storage area and register access.

[0203] Optionally, when the connection channel between the terminal and the server is interrupted, the terminal can operate autonomously and complete the corresponding functions of each module.

[0204] Generally speaking, a two-way connection channel is required between the terminal and the cloud. However, when the two-way connection channel is interrupted, the terminal can still operate autonomously and complete the corresponding functions of each module.

[0205] Optionally, the process of key exchange and authentication (including continuous authentication) requires this two-way connection, and other functional modules can maintain autonomous operation and complete corresponding functions when the two-way connection channel is interrupted; specifically, the terminal uses the information of the last communication with the cloud server to maintain the operation of the function until the connection is restored, and then synchronize and update the information between the terminal and the cloud server.

[0206] Exemplarily, the functional modules of the terminal include the following:

[0207] (1) Dynamic authentication: realize two-way dynamic authentication between multiple terminals and the cloud through heartbeat + dynamic fingerprint.

[0208] (2)TA dynamic code obfuscation and state machine manager: static obfuscation + dynamic obfuscation.

[0209] (3) Runtime environment monitor: The monitor dynamically scans the runtime environment and extracts dynamic signature information from the code; the monitor software itself contains a hardened shell and performs strong signature and dynamic authentication management in the cloud.

[0210] (4) Storage management: Perform security management such as access control, encryption and decryption, signature, and periodic scanning on secure storage areas such as keys.

[0211] (5) Software security execution management: encryption and decryption of specified software, dynamic signature verification and access control of running status, and scanning of specific storage and register access.

[0212] (6) Common Domain Operating System (ROS) interface management: security management such as command and information packet scanning, signature and authentication.

[0213] (7) Security middleware of SEE operating system (SEE OS, SOS): Loading SEE functional modules, drivers and interfaces in the Linux kernel.

[0214] (8) Key and System Update Manager: used for updating keys and software systems, as well as managing BootLoader.

[0215] Optionally, the terminal data storage device needs to store all status information of the monitoring and management components in the terminal during the interaction between monitoring SOS and ROS (Rish OS), including code keys, obfuscated code books, resource usage, operation logs, security updates and data backups, etc., to facilitate state switching, storage, management, execution and other behaviors in the terminal's secure execution environment.

[0216] Optionally, the functions implemented on the terminal side can be implemented through the secure execution environment SEE.

[0217] It should be noted that the terminal side may also include the same functional modules as the server side, such as a multi-party secure computing engine, which can authenticate the server. The terminal side and the server side have corresponding functions.

[0218] For example, in the field of cable TV live broadcasting, the current TV + set-top box format of cable TV and IPTV has caused many inconveniences to the user experience: complex connections, multiple remote controls, and different usage habits of different terminals. The main reason for this problem is that cable TV users or IPTV users can only watch live channels through set-top boxes. There are many connections between devices, and different terminals are provided by different operators. The terminal pages and control designs are different, and the configured remote controls are not universal, resulting in different usage habits and complex user operations. The cable TV direct connection service is a coaxial cable direct connection mode for TV sets integrated with the TV set-top box of the State Administration of Radio, Film and Television, which can effectively solve the above problems.

[0219] Under the cable TV direct connection business model, the TV terminal implements Over-The-Air (OTA) system software upgrades through the Internet, directly receives cable TV programs by connecting to the Hybrid Fiber-Coaxial (HFC) network, and implements the descrambling authorization of the live program by the pure software Conditional Access System (CAS) on the TV terminal. Users use their mobile phones to scan the code on the TV terminal and complete user registration and subscription to the live program service on their mobile phones. This model may have the following problems: 1. How to ensure the security of CAS terminal software on TV terminals connected to the public Internet, that is, how to achieve remote conditional access CA root key distribution and CAS operation security; 2. How to ensure the security of content keys and prevent network sharing; 3. How to ensure the upgrade security of CAS (and keys) and other terminal software.

[0220] The Secure Execution Environment (SEE) system proposed in this application embodiment is suitable for the network architecture of the cable TV direct connection mode. It can effectively solve the pain points and security requirements of the current live TV service and has the advantage of low promotion cost. The overall workflow of this solution is as follows:

[0221] S1: TV manufacturers upgrade existing TVs through the Internet. The TVs connect to the TV OTA platform through the WiFi / Ethernet interface to obtain cable TV direct connection terminal software, including SEE software and terminal CAS software.

[0222] S2: When the TV is upgraded via OTA for the first time, the SEE software is embedded into the TV system software. SEE will automatically scan the TV's hardware fingerprint information, generate a root random number, and generate the TV's unique identifier TVID according to specific rules. It will also generate a public-private key pair for authentication that is bound to the TV's fingerprint.

[0223] S3: The SEE front-end of the cable TV order management system and the SEE in the TV terminal complete the conditional access CA key exchange and authentication through a three-way handshake protocol. A SEE secure channel is established, enabling confidential communication between the SEE front-end management system and the SEE in the TV terminal. The SEE secure channel establishes a trusted connection between the authentication center and the terminal for applications such as CAS key distribution and system updates. The CAS terminal system (including the CA terminal library and virtual smart card execution code) runs in the terminal SEE, and the SEE provides a key storage security mechanism.

[0224] S4: The TV receives the authorization information sent by the server of the home network through the TV channel, completes the decryption and descrambling of the program, and enables viewing of the live program.

[0225] As shown in Figure 10, the terminal secure execution environment (SEE) is a piece of middleware loaded into the terminal operating system. It serves as the underlying secure code execution area, connecting to all hardware interfaces associated with protected objects to protect executable code and implement access control for associated keys. The terminal SEE establishes a specific connection with the terminal, scans and blocks external network information, and establishes a secure connection with the SEE front-end system, allowing only the transmission of specific signaling (including authentication, certificate and license exchange, status scan information, download and upgrade, alarms, and other control information).

[0226] The workflow of the terminal security execution environment:

[0227] S1: Extract at least one level of information of the terminal and generate the terminal's identity information (ID) and root key (fingerprint information);

[0228] S2: Perform authentication and key exchange with the SEE server to establish a secure channel;

[0229] S3: Connect the CAS terminal library and other conditions to the CA software and firmware and download them to SEE for operation;

[0230] S4: Provides CAS software download and upgrade, key management and other functions through the SEE gateway;

[0231] S5: Establish a specific connection relationship with the terminal, supervise the safe operation of CAS software on the terminal, and scan and block external network information.

[0232] The present application also provides a security system, including:

[0233] A server as described in any one of the aforementioned embodiments, and a terminal as described in any one of the aforementioned embodiments.

[0234] Optionally, the security system may further include:

[0235] SEE gateway, used for communication between terminals and servers;

[0236] For example, the SEE gateway includes two modules: security gateway and monitoring manager. The security gateway supports firewall, reverse proxy, threat scanning and other functions; the monitoring manager supports SEE operation status monitoring of terminals, dedicated VPN and other functions.

[0237] The monitoring manager in the SEE gateway is responsible for behavior supervision. In order to achieve secure communication between components, an encrypted tunnel, namely the secure management channel, is established by deploying a virtual private network (VPN).

[0238] Optionally, deploy a VPN server at each monitoring manager's location, select the appropriate VPN protocol, and configure the authentication mechanism and encryption algorithm. Generate a unique key pair, configure the public key on the server, and ensure that the private key is securely stored on the monitoring manager.

[0239] Optionally, a corresponding VPN client is configured on each monitoring manager, including the address and authentication method for connecting to the VPN server. By starting the VPN client, the monitoring manager establishes a secure connection to the VPN server and creates an encrypted tunnel.

[0240] Optionally, secure communication between monitoring managers is implemented through this tunnel, using session keys to ensure confidentiality of data transmission. Keys are monitored, maintained, and regularly updated to enhance security, while VPN connection status is monitored to ensure availability and security.

[0241] For example, FIG11 shows a SEE cloud terminal system architecture. For example, in the architecture in FIG11 , security and threat monitoring management can be implemented through the monitoring management module of the server and the terminal, key and system update management can be implemented through the key and system update module of the server and the terminal, key interaction management and device authentication management can be implemented through the authentication and key management module of the server and the terminal, verification of the terminal's fingerprint information and authentication of multiple terminals to the server can be implemented through the multi-party secure computing engine of the server and the terminal, and hardware / firmware fingerprint generation and device ID / key generation management can be implemented through the key generation management module of the terminal.

[0242] FIG12 shows a SEE cloud-gateway-terminal system architecture.

[0243] As shown in Figure 13, the embodiment of the present application proposes the concept of a key hierarchy, namely, three layers of keys. The first layer is the root key, such as the fingerprint information of the terminal; the second layer is the second private key of the user terminal (static master key) and the first public key (dynamic master key) dedicated to the user terminal by the server. The second private key of the user terminal is randomly generated using the root key as a seed, and the first public key dedicated to the user terminal is generated by the server. The second private key and the first public key dedicated to the user terminal are combined to form a session key, which is used for communication between the server and the terminal; the third layer is the business key, that is, the server transmits a dedicated key for a certain business through the session key generated with the terminal.

[0244] To summarize, the SEE system is a terminal security software solution consisting of multiple components, including a trust root generation and management mechanism based on multi-layer fingerprints and multi-party secure computing, the SEE secure operating system SOS, application code protection tools, secure storage area protection mechanism, multi-party secure tunnel (MVPN) and secure execution environment supervision mechanism.

[0245] The SEE system adopts a post-binding mechanism, which supports business security management such as authentication, authorization and data encryption protection of terminal hardware after sale. It has high flexibility and low promotion and use costs.

[0246] The SEE system does not rely on dedicated hardware, system on a chip (SoC) and one-time programmable (OTP), etc. It can be applied to almost all central processing units (CPUs), SoCs and terminal hardware systems. It improves the security level of the root of trust through multi-point shallow anchoring and dynamic authentication, and can also use SoC and OTP pre-set keys to enhance security.

[0247] The network software system of the SEE system emphasizes the interconnection and interoperability of multiple systems and protocols, which facilitates the establishment of a unified standardization system.

[0248] FIG13 illustrates a schematic diagram of the physical structure of a server. As shown in FIG13 , the electronic device may include: a processor 1310, a communications interface 1320, a memory 1330, and a communication bus 1340. The processor 1310, the communications interface 1320, and the memory 1330 communicate with each other via the communication bus 1340. The processor 1310 may invoke the logic instructions in the memory 1330 to execute the functions of the various modules of the aforementioned server.

[0249] In addition, the logic instructions in the above-mentioned memory 1330 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0250] FIG14 illustrates a schematic diagram of the physical structure of a terminal. As shown in FIG14 , the electronic device may include: a processor 1410, a communications interface 1420, a memory 1430, and a communication bus 1440. The processor 1410, the communications interface 1420, and the memory 1430 communicate with each other via the communication bus 1440. The processor 1410 may invoke the logic instructions in the memory 1430 to execute the functions of the various modules of the terminal.

[0251] In addition, the logic instructions in the above-mentioned memory 1430 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0252] On the other hand, the present application also provides a computer program product, which includes a computer program, which can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can perform the functions provided by the above-mentioned server or the functions provided by the terminal.

[0253] On the other hand, the present application also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which is implemented to perform the functions provided by the above-mentioned server or the functions provided by the terminal when executed by the processor.

[0254] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.

[0255] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or certain parts of the embodiments.

[0256] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A server, comprising: Authentication and key management module, multi-party secure computing engine and secure channel management module; The authentication and key management module is configured to authenticate the terminal and generate a first private key corresponding to the terminal and a first public key corresponding to the first private key; and generate a first session key based on the second public key of the terminal and the first private key. The multi-party security computing engine is used to verify the fingerprint information of the terminal and cooperate with multiple terminals to authenticate the server; The secure channel management module is configured to establish a secure channel with the terminal, encrypt communication data based on the first session key, and send the encrypted communication data to the terminal via the secure channel.

2. The server according to claim 1, wherein The key management module is used to send an encrypted first random number and a first public key to the terminal, where the first random number is used to authenticate the server and / or the terminal.

3. The server according to claim 2, wherein: The multi-party secure computing engine is further used to: Establish an n-1 degree polynomial; n is an integer greater than 1; Encrypting the coefficients of the 0th power in the n-1th order polynomial to obtain a first secret, and sending the first secret to the terminal; the first secret is used to authenticate the server; The key management module is specifically used to: Generate the first private key according to the identity information of the terminal and the polynomial; The first private key is encrypted to obtain the first public key.

4. The server according to any one of claims 1 to 3, wherein: The fingerprint information is generated based on information from at least one layer, the at least one layer including at least one of the following: an electronic device layer, a network and protocol layer, a plug-in layer, and a behavior authentication layer; the information from the electronic device layer is information inherent to the electronic device of the terminal, the information from the network protocol layer is configuration information of the network protocol class, the information from the plug-in layer is information about plug-ins and / or drivers installed in the terminal, and the information from the behavior authentication layer is information generated based on interaction between the user and the terminal or interaction between the terminal and the server; The identity information of the terminal is encrypted based on the fingerprint information of the terminal or information of at least one level.

5. The server according to any one of claims 1 to 3, wherein: The security channel management module is specifically used to: After the authentication module authenticates the terminal and the terminal passes the authentication, the secure channel is established; encrypting the communication data based on the first session key and the integrity protection algorithm; The key management module is specifically configured to update the first session key after the authentication module authenticates the terminal successfully.

6. The server according to any one of claims 1 to 3, wherein: The multi-party secure computing engine is specifically used to: Encrypting according to the first intermediate number and the second public key to obtain a second intermediate number, where the first intermediate number is obtained by converting the fingerprint information of the terminal into an element of a finite field and then encrypting it; The certification information is verified according to the second intermediate number, the first intermediate number and the second public key; the certification information is the certification information of the terminal binding the fingerprint information and the second public key.

7. The server according to any one of claims 1 to 3, further comprising: A monitoring and management module, configured to monitor the secure execution environment system running in the terminal; The monitoring management module is specifically configured to perform at least one of the following: Starting and shutting down the terminal; Performing context switching on a secure execution environment system of the terminal; Allocating and managing resources for the terminal; Performing security access control on the terminal; Troubleshooting; Assisting the terminal to perform security updates.

8. The server according to any one of claims 1 to 3, further comprising: TA dynamic code obfuscation and state machine manager, used to obfuscate and encrypt TA code through the secure execution environment obfuscation tool SOT.

9. The server according to claim 8, wherein: The TA dynamic code obfuscation and state machine manager are also used to: By performing static and dynamic obfuscation on the source code, a trusted application TA is obtained; Perform status monitoring during TA operation and execute corresponding code security protection schemes based on the status monitoring results.

10. The server according to any one of claims 1 to 3, further comprising: The key and system update engine is used to update keys and software systems and manage the terminal's boot loader.

11. The server according to any one of claims 1 to 3, further comprising: The storage management module is used to store, manage and update the fingerprint information of the terminal and the interaction data with the terminal.

12. A terminal comprising: Key generation management module, dynamic authentication module and secure channel management module; The key generation management module is configured to generate a second private key and a second public key corresponding to the second private key; and generate a second session key based on the first public key and the second private key of the server; The dynamic authentication module is used to perform two-way identity authentication on the server and the terminal, and to perform trust evaluation and continuous authentication on the terminal based on the fingerprint information of the terminal and the behavioral information generated during the use of the terminal; The secure channel management module is configured to receive the encrypted communication data sent by the server and send the encrypted communication data to the server based on the second session key.

13. The terminal according to claim 12, further comprising: TA dynamic code obfuscation and state machine manager, runtime environment supervisor, and multi-party secure computing engine; The TA dynamic code obfuscation and state machine manager is used to encrypt, obfuscate and monitor the instructions or codes of the terminal, and parse and load the execution program with a dedicated loader; The operating environment monitor is used to dynamically scan and monitor the operating environment of the terminal; hash the memory in blocks to extract features of abnormal behavior and monitor malicious code; The multi-party secure computing engine is used to verify the fingerprint information of the terminal and authenticate the server's identity.

14. The terminal according to claim 12 or 13, further comprising: A key and system update manager, used for updating keys and software systems, and managing the boot loader BootLoader of the terminal; The software security execution management module is used to encrypt and decrypt the target software, perform dynamic signature verification and access control on the target software's running status, or scan access to the target storage area and registers.

15. The terminal according to claim 12 or 13, wherein: When the connection channel between the terminal and the server is interrupted, the terminal can operate autonomously and complete the corresponding functions of each module.

16. A security system comprising: The server according to any one of claims 1 to 11, and the terminal according to any one of claims 12 to 15.

Citation Information

Patent Citations

  • Identity-based file encryption transmission method

    CN103354498A

  • Secret key negotiation method and device

    CN106603485A

  • Communication method and system of client application and trusted application, and terminal

    CN108600222A

  • Server, terminal and security system

    CN117896167A

  • System, method and apparatus for device authentication

    US20190116179A1

Cited By

  • Equipment centralized authentication and authorization emergency processing method, equipment, medium and product

    CN120658410A

  • Bidirectional data secure transmission method

    CN120915450A

  • A bidirectional data security transmission method

    CN120915450B

  • Method and system for detecting and blocking direct connection behavior of terminal

    CN121509067A

  • Security access method and system for database

    CN121682869A