Security verification method and device during system startup, equipment, medium and product
By determining the software startup sequence in the embedded system and performing cyclic verification in succession, a three-party cyclic verification is formed, which solves the problem of secure startup caused by the lack of hardware trusted root in the embedded system, and realizes the system's secure startup and trustworthiness .
Patent Information
- Application Number
- CN202411250520.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-06
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2044-09-06
AI Technical Summary
In embedded systems, in the absence of a hardware trusted root, the software startup module provided by the device provider cannot guarantee the secure startup chain of the system, resulting in the inability to guarantee the credibility of subsequent startups.
By determining the software startup sequence when the system starts, performing cyclical verifications in succession, including security verification between software, third-party organization verification and counter-checking, a three-party cycle verification method is formed to ensure the safe startup of the system.
The system is safely started verification, ensuring the credibility and safety of the software startup process, and avoiding verification failures caused by unstable voltages.
Smart Images

Figure CN119106436A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a security verification method, device, equipment, medium and product when a system is started. Background Art
[0002] In some embedded systems, the management party provides the kernel system in a unified manner, supporting the equipment providers to independently select components. In this case, the kernel layer and the driver layer are separated, and the equipment providers develop the bootloader and driver by themselves. The management party provides privileged applications, such as application management and security management applications, and business-related applications are provided by the equipment providers. In the absence of a hardware root of trust, the first software module for software startup is provided by the equipment provider, and the credibility of the subsequent secure boot chain cannot be guaranteed. Summary of the invention
[0003] In view of this, the present invention provides a method, device, equipment, medium and product for security verification during system startup, which can realize security startup verification of the system.
[0004] According to one aspect of the present invention, an embodiment of the present invention provides a security verification method when a system is started, the method comprising:
[0005] In response to a power-on reset operation, determining a software startup sequence of the first type of software and the second type of software;
[0006] Performing a cyclic verification in succession according to the software startup sequence to obtain a corresponding verification result; wherein the verification includes at least one of the following: a security verification between the first type of software and the second type of software, a verification by a third party organization accessing the system, and a reverse verification;
[0007] If the verification result passes, it is determined that the system is safely started.
[0008] According to another aspect of the present invention, an embodiment of the present invention further provides a security verification device when a system is started, the device comprising:
[0009] A sequence determination module, for determining a software startup sequence of the first type of software and the second type of software in response to a power-on reset operation;
[0010] A sequential verification module, used to perform sequential cyclic verification according to the software startup sequence to obtain corresponding verification results; wherein the verification includes at least one of the following: security verification between the first type of software and the second type of software, verification by a third party institution accessing the system, and reverse verification;
[0011] The startup module is used to determine that the system is safely started if the verification result passes.
[0012] According to another aspect of the present invention, an embodiment of the present invention further provides an electronic device, the electronic device comprising:
[0013] at least one processor; and
[0014] a memory communicatively connected to the at least one processor; wherein,
[0015] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the security verification method at system startup described in any embodiment of the present invention.
[0016] According to another aspect of the present invention, an embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the security verification method at system startup described in any embodiment of the present invention when executed.
[0017] According to another aspect of the present invention, an embodiment of the present invention further provides a computer program product, characterized in that the computer program product includes a computer program, and when the computer program is executed by a processor, it implements the security verification method at system startup described in any embodiment of the present invention.
[0018] The technical effect of the present invention is that, during the system startup process, the software startup sequence of the first type of software and the second type of software included is determined, and successive cyclic verification and reverse verification are performed according to the software startup sequence to form a three-party cyclic verification method, thereby realizing the system's safe startup verification.
[0019] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0021] Figure 1 A flowchart of a method for security verification during system startup provided by one embodiment of the present invention;
[0022] Figure 2A flowchart of another method for security verification during system startup provided by an embodiment of the present invention;
[0023] Figure 3 A power-on startup flow chart of a management software that is not the first startup software provided by an embodiment of the present invention;
[0024] Figure 4 A schematic flow chart of another method for security verification during system startup provided by an embodiment of the present invention;
[0025] Figure 5 A schematic diagram of the structural framework of a security verification method at system startup provided by an embodiment of the present invention;
[0026] Figure 6 A structural block diagram of a safety verification device for system startup provided by an embodiment of the present invention;
[0027] Figure 7 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0028] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0030] In one embodiment, Figure 1A flowchart of a method for security verification at system startup is provided for one embodiment of the present invention. This embodiment is applicable to the situation when security verification is performed on the startup of an operating system. The method can be executed by a security verification device at system startup. The security verification device at system startup can be implemented in the form of hardware and / or software. The security verification device at system startup can be configured in an electronic device. By way of example, the electronic device in this embodiment can be included in industrial control equipment, such as smart power equipment such as electric meters or switches.
[0031] like Figure 1 As shown, the security verification method when the system is started in this embodiment includes the following specific steps:
[0032] S110 , in response to a power-on reset operation, determining a software startup sequence of first-type software and second-type software.
[0033] The first type of software can be understood as the device provider software, and the second type of software can be understood as the management software. The management software can include multiple management software, which can be an extended application.
[0034] In one embodiment, the first type of software includes: first device provider software and second device provider software; the second type of software includes: first management party software and second management party software; the software startup sequence is arranged as follows: first device provider software, first management party software, second management party software, second device provider software.
[0035] In this embodiment, the device provider software may include a first device provider software and a second device provider software, wherein the first device provider software may be a bootloader startup area software, responsible for loading an operating system or other application programs when the computer system starts; the second device provider software may be a driver driver area software. The management software in this embodiment may include a first management software and a second management software, wherein the first management software may be a kernel kernel / OS operating system software, and the second management software may include multiple management software. Exemplarily, the second management software may include management software 21, i.e., application management software, having functions such as management applications, message routing, and module access, and may also include management software 22, i.e., security management software, having security authentication and encryption and decryption functions. Of course, the second management software may also be combined into one software, i.e., management software, which is not limited in this embodiment.
[0036] In this embodiment, in response to a power-on reset operation, that is, when the power of the embedded system is turned on or the reset button is pressed, the system will perform a reset operation, clear the system state, and set the program counter of the processor to the startup address. At this time, the software startup order of the first type of software and the second type of software included is determined, and the startup order is: first device provider software, first management party software, second management party software, second device provider software.
[0037] S120, perform cyclic verification in succession according to the software startup sequence to obtain corresponding verification results; wherein the verification includes at least one of the following: security verification between the first type of software and the second type of software, verification by a third-party organization connected to the system, and reverse verification.
[0038] Among them, the third-party verification is a method of using a connected third-party organization to perform verification. The third-party verification in this embodiment may include but is not limited to a third-party certification organization, a third-party testing organization, a device installation / mounting / user, etc. Reverse verification can be understood as a process in which after verifying the second management party software during the system startup process, the second management party software verifies the first device provider in reverse.
[0039] In this embodiment, a cyclic verification is performed in succession according to the software startup sequence to obtain corresponding verification results; wherein the verification includes at least one of the following: security verification between the first type of software and the second type of software, verification by a third-party organization accessing the system, and reverse verification. In some embodiments, according to the software startup sequence, the first device provider software is started first. After the first device provider software passes the self-check, the preset security startup algorithm library package is called to perform a first security check on the first management party software to obtain a first check result. It should be noted that if a third-party organization is required to perform a security check at this time, after obtaining the first check result, the first management party software is security checked by the preset third-party organization. After the aforementioned security check passes, the first management party software is security checked by the first management party software to obtain a corresponding check result. Similarly, the second management party software can be security checked by the preset third-party organization, and after the security check passes, the second management party software is used to reverse check the first device provider software to obtain a corresponding reverse check result. Similarly, the first device provider software can be reverse checked by the preset third-party organization at this time. After the reverse check passes, the second management party software is used to perform a security check on the second device provider software. If necessary, the second device provider software is security checked by the preset third-party organization, and after the check result passes, the second device provider software is started.
[0040] S130: If the verification result passes, determine that the system is safely started.
[0041] In this embodiment, during the system startup process, if the verification results are all passed, it is determined that the system can be safely started. It should be noted that the above-mentioned security verification and reverse verification process are all one or more verifications. Only after one or more verifications pass, it can be determined that the verification has passed and the system can be safely started.
[0042] The technical solution of the embodiment of the present invention determines the software startup sequence of the first type of software and the second type of software included in the system startup process, and performs successive cyclic verification and reverse verification according to the software startup sequence to form a three-party cyclic verification method to achieve system security startup verification.
[0043] In one embodiment, Figure 2 A flowchart of another method for security verification during system startup provided by an embodiment of the present invention. Based on the above embodiments, this embodiment further refines the verification by performing a cyclic verification in the software startup sequence to obtain the corresponding verification results.
[0044] like Figure 2 As shown, the security verification method when the system is started in this embodiment may specifically include the following steps:
[0045] S210 : In response to a power-on reset operation, determine a software startup sequence of first-type software and second-type software.
[0046] S220, starting the first device provider software, and after the first device provider software passes self-verification, calling a preset security boot algorithm library package to perform a first security verification on the first management party software to obtain a first verification result.
[0047] Among them, the preset secure boot algorithm library package may include libraries of integrity verification, signature value verification, and application installation, application launch and other interface libraries corresponding to the security check.
[0048] In this embodiment, the first security check may include: integrity check, confidentiality check, repudiation check, and checkability check. The first device provider software is started, and after the first device provider software passes the self-check, the preset security boot algorithm library package is called to perform one or more first security checks on the first management party software to obtain the corresponding first check result. If the first check result is passed, the next check can be performed. Specifically, the first device provider software is used as the verifier, and the first management party software is used as the verified party. The verifier performs integrity verification, confidentiality verification, repudiation verification, and verifiability verification on the verified party to obtain corresponding verification results. In this embodiment, the integrity verification can use but is not limited to Secure Hash Algorithm 1 (SHA1), Secure Hash Algorithm 256 (SHA256), and cryptographic hash algorithm SM3; the confidentiality verification can use Data Encryption Standard (DES), Triple Data Encryption Algorithm (TDES), Advanced Encryption Standard (AES) or National Secret SM1 Algorithm (SM1cryptographic algorithm, SM1), National Secret SM4 Block Cipher Algorithm SM4; the anti-repudiation and verifiability can use RSA encryption algorithm (Rivest Shamir Adleman, RSA), elliptic curve cryptography algorithm (elliptic curve cryptography algorithm, ECC) or national cryptographic algorithm, national cryptographic SM2 algorithm (SM2cryptographic algorithm, SM2), national cryptographic SM9 algorithm (SM9cryptographic algorithm, SM9).
[0049] More specifically, the integrity verification method includes: the verifier obtains the original code download instruction corresponding to the verified party, the original code content corresponding to the original code download instruction, and the configured security verification content, wherein the security verification content at least includes: the signature value, the code starting address of the encrypted part of the original code content, the code encryption length, and the key index; wherein the key index corresponds to the encryption key and the decryption key; the integrity of the original code content and the security verification content of the verified party is verified according to the preset integrity verification algorithm; the confidentiality verification method includes: the verifier reads the code starting address and the code encryption length of the code encryption part from the security verification content of the verified party, selects the key encryption method according to the key index to decrypt the code encryption part, and fills it into the code starting address of the code encryption part to obtain the code plaintext, uses the preset integrity verification algorithm to perform integrity verification on the code plaintext, and determines the confidentiality verification result according to the result of the integrity verification; the anti-repudiation verification and the checkability verification methods both include: the verifier obtains the original code content corresponding to the verified party, and the configured security verification content, and verifies the original code content and the configured security verification content according to the preset verification algorithm.
[0050] S230: After the first verification result is a passing result, use the first management party software to perform a second security verification on the second management party software to obtain a second verification result.
[0051] In this embodiment, the second security check may include: integrity check, confidentiality check, repudiation check, and inspectability check. In this embodiment, after the first check result is a pass, the first management party software is used to perform a second security check on the second management party software to obtain a second check result. Specifically, the first management party software is used as the verifier and the second management party software is used as the verified party. The verifier performs integrity check, confidentiality check, repudiation check, and inspectability check on the verified party to obtain corresponding check results. Similarly, more specifically, the integrity verification method includes: the verifier obtains the original code download instruction corresponding to the verified party, the original code content corresponding to the original code download instruction, and the configured security verification content, wherein the security verification content at least includes: the signature value, the code starting address of the encrypted part of the original code content, the code encryption length, and the key index; wherein the key index corresponds to the encryption key and the decryption key; the integrity of the original code content and the security verification content of the verified party is verified according to the preset integrity verification algorithm; the confidentiality verification method includes: the verifier reads the code starting address and the code encryption length of the code encryption part from the security verification content of the verified party, selects the key encryption method according to the key index to decrypt the code encryption part, and fills it into the code starting address of the code encryption part to obtain the code plaintext, uses the preset integrity verification algorithm to perform integrity verification on the code plaintext, and determines the confidentiality verification result according to the result of the integrity verification; in this embodiment, the anti-repudiation verification and the checkability verification methods both include: the verifier obtains the original code content corresponding to the verified party, and the configured security verification content, and verifies the original code content and the configured security verification content according to the preset verification algorithm.
[0052] S240: After the second verification result is verification passed, use the second management party software to perform a first reverse verification on the first device provider software to obtain a first reverse verification result.
[0053] The first anti-check may include: integrity check, confidentiality check, repudiation check, and inspectability check.
[0054] In this embodiment, after the second verification result is verification passed, the second management party software is used to perform a first reverse verification on the first device provider software to obtain a first reverse verification result. Specifically, the second management party software is used as the verifier, and the first device provider software is used as the verified party. The verifier performs integrity verification, confidentiality verification, repudiation verification, and inspectability verification on the verified party to obtain corresponding verification results. Similarly, more specifically, the integrity verification method includes: the verifier obtains the original code download instruction corresponding to the verified party, the original code content corresponding to the original code download instruction, and the configured security verification content, wherein the security verification content at least includes: the signature value, the code starting address of the encrypted part of the original code content, the code encryption length, and the key index; wherein the key index corresponds to the encryption key and the decryption key; the integrity of the original code content and the security verification content of the verified party is verified according to the preset integrity verification algorithm; the confidentiality verification method includes: the verifier reads the code starting address and the code encryption length of the code encryption part from the security verification content of the verified party, selects the key encryption method according to the key index to decrypt the code encryption part, and fills it into the code starting address of the code encryption part to obtain the code plaintext, uses the preset integrity verification algorithm to perform integrity verification on the code plaintext, and determines the confidentiality verification result according to the result of the integrity verification; the anti-repudiation verification and the checkability verification methods both include: the verifier obtains the original code content corresponding to the verified party, and the configured security verification content; verifies the original code content and the configured security verification content according to the preset verification algorithm.
[0055] S250: After the first reverse verification result is a verification pass, use the second management party software to perform a third security verification on the second device provider software to obtain a third verification result, and after the third verification result is a verification result pass, pull up the second device provider software.
[0056] The third security check may include: integrity check, confidentiality check, repudiation check, and inspectability check.
[0057] In this embodiment, after the first reverse check result is a check pass, the second management party software is used to perform a third security check on the second device provider software to obtain a third check result, and after the third check result is a check pass, the second device provider software is pulled up to safely start the system. Specifically, the second management party software is used as the verifier and the second device provider software is used as the verified party. The verifier performs integrity check, confidentiality check, repudiation check, and inspectability check on the verified party to obtain corresponding check results. Similarly, more specifically, the integrity verification method includes: the verifier obtains the original code download instruction corresponding to the verified party, the original code content corresponding to the original code download instruction, and the configured security verification content, wherein the security verification content at least includes: signature value, code starting address of the encrypted part of the original code content, code encryption length, key index; wherein the key index corresponds to the encryption key and the decryption key; the integrity of the original code content and security verification content of the verified party is verified according to the preset integrity verification algorithm; the confidentiality verification method includes: the verifier reads the code starting address and code encryption length of the code encryption part from the security verification content of the verified party, selects the key encryption method according to the key index to decrypt the code encryption part, and fills it into the code starting address of the code encryption part to obtain the code plaintext, uses the preset integrity verification algorithm to perform integrity verification on the code plaintext, and determines the confidentiality verification result according to the result of the integrity verification; the anti-repudiation verification and the checkability verification methods both include: the verifier obtains the original code content corresponding to the verified party, and the configured security verification content, and verifies the original code content and the configured security verification content according to the preset verification algorithm.
[0058] In one embodiment, the first security check, the second security check and the third security check all include: integrity check, confidentiality check, repudiation check, and inspectability check; the fourth security check, the fifth security check and the sixth security check all include: inspectability check; the first reverse check includes: integrity check, confidentiality check, repudiation check, and inspectability check; the second reverse check includes: inspectability check; the seventh security check and the eighth security check both include: integrity check, confidentiality check, repudiation check, and inspectability check.
[0059] In one embodiment, the number of verifications is one, or at least two. In this embodiment, the verification can be performed once or multiple times in a cycle to avoid verification failures caused by unstable voltage of the flash, embedded security chip or security module.
[0060] In one embodiment, the integrity verification method includes: the verifying party obtains the original code download instruction corresponding to the verified party, the original code content corresponding to the original code download instruction, and the configured security verification content, wherein the security verification content at least includes: signature value, code start address of the encrypted part of the original code content, code encryption length, key index; wherein the key index corresponds to the encryption key and the decryption key; and the integrity of the original code content and the security verification content of the verified party is verified according to the preset integrity verification algorithm. Among them, the preset integrity verification algorithm is not limited to the international algorithm SHA1, SHA256 or the national secret algorithm SM3. Exemplarily, an integrity verification value is added to the instruction for the code to be downloaded, such as a 20-byte HASH value HASH_A. After the code is completely received, a cryptographic machine or a simulation algorithm is called to calculate a 20-byte HASH value HASH_B. If HASH_B is equal to HASH_A, it is considered that the integrity verification has passed, otherwise it is considered that it has failed.
[0061] In one embodiment, the confidentiality verification method includes: the verifier reads the code starting address and code encryption length of the code encryption part from the security verification content of the verified party, selects the key encryption method according to the key index to decrypt the code encryption part, and fills it into the code starting address of the code encryption part to obtain the code plaintext, uses a preset integrity verification algorithm to perform integrity verification on the code plaintext, and determines the confidentiality verification result according to the result of the integrity verification. It can be understood that the confidentiality verification method requires a confidentiality verification to be performed first, and then an integrity verification. The confidentiality verification can use international algorithms DES, TDES, AES or national secret algorithms SM1, SM4. Exemplarily, according to the code starting address and code encryption length of the code encryption part, the code encryption part is read out, and according to the key index, the corresponding algorithm is called to decrypt the encrypted part, and the code starting address of the code encryption part is filled in, combined with the integrity verification, to ensure the confidentiality of the code.
[0062] In one embodiment, the methods of non-repudiation verification, checkability verification and authenticity verification all include: the verifying party obtains the original code content corresponding to the verified party, as well as the configured security verification content; and verifies the original code content and the configured security verification content according to a preset verification algorithm. Among them, the preset verification algorithm may include but is not limited to the international algorithm RSA, ECC or the national secret algorithm SM2, SM9. Exemplarily, after the code download instruction or code, add the signature value of the code, such as the 128-byte signature value SIGN_A. After the code is completely received, call the cryptographic machine or simulation algorithm to calculate the 128-byte signature value SIGN_B. If SIGN_A is equal to SIGN_B, it is considered that the signature value verification has passed, otherwise it is considered to have failed.
[0063] In one embodiment, a first verification interface of a third-party verification agency is pre-configured between the first device provider software and the first management party software; a second verification interface of a third-party verification agency is pre-configured between the first management party software and the second management party software; a third verification interface of a third-party verification agency is pre-configured between the second management party software and the first device provider software; a fourth verification interface of a third-party verification agency is pre-configured between the second management party software and the second device provider software; accordingly, after obtaining one of the first verification result, the second verification result, the first reverse verification result and the third verification result, the security verification method further includes:
[0064] Performing a fourth security check on the first management party software by a preset third-party organization to obtain a fourth check result;
[0065] After the fourth verification result is verification passed, a fifth security verification is performed on the second management party software by a preset third-party organization to obtain a fifth verification result;
[0066] After the fifth verification result is verification passed, a second reverse verification is performed on the first device provider software by a preset third-party organization to obtain a second reverse verification result;
[0067] After the second reverse verification result is a verification pass, a sixth security verification is performed on the second device provider software by a preset third-party organization to obtain a sixth verification result, and after the sixth verification result is a verification result pass, the second device provider software is launched.
[0068] The fourth safety check, the fifth safety check and the sixth safety check all include: checkability check. The second reverse check includes: checkability check.
[0069] In this embodiment, after calling the preset security boot algorithm library package to perform the first security check on the first management party software, a third-party organization can be introduced to perform the check according to the demand. Similarly, after using the first management party software to perform the second security check on the second management party software, after using the second management party software to perform the first reverse check on the first device provider software, and using the second management party software to perform the third security check on the second device provider software to obtain the third check result, a third-party verification organization can be added according to the demand to perform the corresponding security check and reverse check. Specifically, the third-party verification organization is used as the verification party, and the first management party software, the second management party software, the second device provider software and the first device provider software are respectively used as the verified party for the checkability check. More specifically, the method of the checkability check includes: the verification party obtains the original code content corresponding to the verified party, and the configured security check content, and verifies the original code content and the configured security check content according to the preset verification algorithm.
[0070] In one embodiment, the second management party software includes: a third management party software and a fourth management party software, and the startup sequence of the third management party software is earlier than that of the fourth management party software;
[0071] Accordingly, using the first management party software to perform a second security check on the second management party software to obtain a second check result includes:
[0072] Using the first management party software to perform a seventh security check on the third management party software to obtain a seventh check result;
[0073] When the seventh verification result is a passed verification, the first management party software is used to perform an eighth security verification on the fourth management party software to obtain an eighth verification result, and the eighth verification result is used as the second verification result. When the second verification result is a passed verification, the second management party software is pulled up.
[0074] Among them, the seventh security check and the eighth security check both include: integrity check, confidentiality check, repudiation check, and inspectability check.
[0075] In this embodiment, the first management party software is used to perform the seventh security check on the third management party software to obtain the seventh check result. If the seventh check result is a pass, the first management party software is used to perform the eighth security check on the fourth management party software to obtain the eighth check result, and the eighth check result is used as the second check result. If the second check result is a pass, the second management party software is pulled up. Specifically, the first management party software is used as the checker, and the third management party software and the fourth management party software are used as the checked parties to perform integrity check, confidentiality check, repudiation check, and auditability check. More specifically, the integrity verification method includes: the verifier obtains the original code download instruction corresponding to the verified party, the original code content corresponding to the original code download instruction, and the configured security verification content, wherein the security verification content at least includes: the signature value, the code starting address of the encrypted part of the original code content, the code encryption length, and the key index; wherein the key index corresponds to the encryption key and the decryption key; the integrity of the original code content and the security verification content of the verified party is verified according to the preset integrity verification algorithm; the confidentiality verification method includes: the verifier reads the code starting address and the code encryption length of the code encryption part from the security verification content of the verified party, selects the key encryption method according to the key index to decrypt the code encryption part, and fills it into the code starting address of the code encryption part to obtain the code plaintext, uses the preset integrity verification algorithm to perform integrity verification on the code plaintext, and determines the confidentiality verification result according to the result of the integrity verification; the anti-repudiation verification and the checkability verification methods both include: the verifier obtains the original code content corresponding to the verified party, and the configured security verification content, and verifies the original code content and the configured security verification content according to the preset verification algorithm.
[0076] In one embodiment, the security verification method further includes:
[0077] The third management party software and the fourth management party software are used to perform mutual security verification to obtain corresponding verification results, and when each verification result is verification passed, the third management party software and the fourth management party software are both pulled up;
[0078] Among them, mutual security verification includes: integrity verification and inspectability verification.
[0079] In this embodiment, the third management party software and the fourth management party software are used to perform mutual security verification to obtain corresponding verification results, and when each verification result is a verification pass, the third management party software and the fourth management party software are both pulled up; wherein the mutual security verification includes: integrity verification and checkability verification. Specifically, the third management party software is used as the verifier and the fourth management party software is used as the verified party to perform integrity verification and checkability verification, and then the fourth management party software is used as the verifier and the third management party software is used as the verified party to perform integrity verification and checkability verification. More specifically, the integrity verification method includes: the verifier obtains the original code download instruction corresponding to the verified party, the original code content corresponding to the original code download instruction, and the configured security verification content, wherein the security verification content at least includes: the signature value, the code starting address of the encrypted part of the original code content, the code encryption length, and the key index; wherein the key index corresponds to the encryption key and the decryption key; the integrity of the original code content and the security verification content of the verified party are verified according to a preset integrity verification algorithm; the checkability verification method includes: the verifier obtains the original code content corresponding to the verified party, and the configured security verification content, and verifies the original code content and the configured security verification content according to the preset verification algorithm.
[0080] In one embodiment, the security verification method further includes:
[0081] Self-verification of the first device provider software, the second device provider software, the first management party software and the second management party software; wherein the self-verification includes: authenticity verification.
[0082] In this embodiment, the first device provider software, the second device provider software, the first management party software and the second management party software are self-checked; wherein the self-check includes: authenticity check. Specifically, the authenticity check can use the international algorithm RSA, ECC or the national secret algorithm SM2, SM9.
[0083] The technical solution of the embodiment of the present invention is to start the first device provider software, and after the first device provider software passes the self-verification, call the preset security startup algorithm library package to perform a first security check on the first management party software to obtain a first verification result, after the first verification result is a verification pass, use the first management party software to perform a second security check on the second management party software to obtain a second verification result, after the second verification result is a verification pass, use the second management party software to perform a first reverse check on the first device provider software to obtain a first reverse check result, after the first reverse check result is a verification pass, use the second management party software to perform a third security check on the second device provider software to obtain a third verification result, and when the third verification result is a verification result After passing, pull up the second device provider software, safely start the system, perform a fourth security check on the first management party software through a preset third-party organization to obtain a fourth check result, after the fourth check result is a check pass, perform a fifth security check on the second management party software through a preset third-party organization to obtain a fifth check result, after the fifth check result is a check pass, perform a second reverse check on the first device provider software through a preset third-party organization to obtain a second reverse check result, after the second reverse check result is a check pass, perform a sixth security check on the second device provider software through a preset third-party organization to obtain a sixth check result, and after the sixth check result is a check result pass, pull up the second device provider software to safely start the system. In this embodiment, through the above-mentioned security check, and using the reverse check method to reverse check the first management party software, the first management party software, the second management party software and the first device provider software form a three-party circular check method to achieve secure boot verification.
[0084] In one embodiment, in order to better understand the security verification method when the system is started, Figure 3 A power-on startup flowchart of a management software that is not the first startup software provided by an embodiment of the present invention, Figure 4 A flowchart of another method for security verification during system startup provided by an embodiment of the present invention. Figure 5A schematic diagram of the structural framework of a security verification method for system startup provided by one embodiment of the present invention. In this embodiment, the software startup includes but is not limited to device provider software 1, device provider software 2, management software 1, and management software 2; wherein management software 2 may include management software 21 and management software 22. In this embodiment, the device provider software 1 is the bootloader startup area, the device provider software 2 is the driver driver, the management software 1 is the kernel kernel / OS operating system, the management software 21 is the application software, and the management software 22 is the security management software. It should be noted that the device provider software 1 in this embodiment is the first device provider software in the above embodiment, the device provider software 2 is the second device provider software in the above embodiment, the management software 1 is the first management software in the above embodiment, and the management software 2 is the second management software in the above embodiment, wherein the management software 21 in the management software 2 is the third management software in the above embodiment, and the management software 22 is the fourth management software in the above embodiment.
[0085] like Figure 3 , Figure 4 and Figure 5 As shown, the software startup sequence when the system starts is: after power-on reset, device provider software 1, management software 1, management software 2, device provider software 2. A third-party verification is introduced between device provider software 1 and management software 1, a third-party verification is introduced between management software 1 and management software 2, and a third-party verification is introduced between management software 2 and device provider software 2. In addition, when the management software is used to reversely verify the device provider software 1, a third-party verification is also introduced. Of course, the third-party verification mentioned above can be added or not, and can be selected according to needs. In this embodiment, the addition of the third-party verification is taken as an example for explanation.
[0086] like Figure 4 and Figure 5 As shown, the device provider software 1, the management software 1, and the management software 2 form a three-party circular verification. In this embodiment, in the subsequent stages of the startup process, a verification and reverse verification method is used to perform step-by-step verification. After the security verification, the device provider software 1 is reversely verified to form a three-party circular verification method to achieve a secure startup verification. In this embodiment, the security verification method at system startup specifically includes the following steps:
[0087] S410: In response to a power-on reset operation, determine a software startup sequence of the included first type software and second type software.
[0088] S420, start the device provider software 1, and after the device provider software 1 passes the self-verification, call the secure boot algorithm library package to perform integrity verification, confidentiality verification, repudiation verification, and inspectability verification on the management software 1.
[0089] S430: When a third-party organization is required to be preset to check the management software 1, a third-party organization is added to perform a checkability check on the management software 1.
[0090] S440. When the inspectability check of the management software 1 passes, the management software 21 is pulled up by the management software 1, and integrity check, confidentiality check, repudiation check, and inspectability check are performed. If the check is successful, the management software 21 is pulled up.
[0091] S450 . In case a third-party organization is required to be preset to check the management software 21 , a third-party organization is added to perform a checkability check on the management software 21 .
[0092] S460. When the inspectability check of the management software 21 passes, the management software 22 is pulled up by the management software 1, and integrity check, confidentiality check, repudiation check, and inspectability check are performed. If the check is successful, the management software 22 is pulled up.
[0093] S470 . When a third-party organization is required to check the management software 22 , a third-party organization is added to perform a checkability check on the management software 22 .
[0094] S480. When the inspectability check of the management software 22 passes, the management software 21 and the management software 22 check each other, including: integrity check and inspectability check.
[0095] S490. When the mutual verification passes, the management software 2 reverses the device provider software 1, wherein the first reverse verification includes: integrity verification, confidentiality verification, repudiation verification, and inspectability verification. If the verification fails, the startup fails.
[0096] S4100. In case a preset third-party organization is required to reverse check the device provider software 1, a third-party organization is added to perform a second reverse check on the device provider software 1. The second reverse check includes: an inspectability check.
[0097] S4110. When the second reverse verification is passed, the management software 2 performs a security verification on the device provider software 2. If the verification is successful, the device provider software 2 is started.
[0098] S4120. When a preset third-party organization is required to verify the device provider software 2, a third-party organization is added to perform integrity verification, confidentiality verification, repudiation verification, and auditability verification on the device provider software 2. After the verification of the device provider software 2 passes, it is pulled up and the system starts.
[0099] Table 1: Security verification table of the verifier software on the verified software
[0100]
[0101]
[0102] In this embodiment, the verification may be performed in a cycle for multiple times, for example, 3-5 times, to avoid verification failures caused by unstable device voltage and the like.
[0103] In this embodiment, the content of the verification part can be added to the instruction stream and code part of the code download; for example, code integrity verification is added to the instructions for preparing to download or completing downloading, confidentiality verification is performed for partial or full encryption of the code, and non-repudiation and inspectability verification are performed in the application installation instructions. The code is finally filled with the security part, which includes the signature value, the code starting address of the code encryption part, the code encryption length, the key index, etc.
[0104] In this embodiment, the integrity check can use but is not limited to the international algorithms SHA1, SHA256 or the national secret algorithm SM3; the confidentiality check can use the international algorithms DES, TDES, AES or the national secret algorithms SM1, SM4; the non-repudiation, checkability and authenticity check can use the international algorithms RSA, ECC or the national secret algorithms SM2, SM9.
[0105] In one embodiment, Figure 6 A structural block diagram of a security verification device during system startup provided in one embodiment of the present invention. The device is suitable for performing security verification on the startup of an operating system. The device can be implemented by hardware / software and can be configured in an electronic device to implement a security verification method during system startup in an embodiment of the present invention.
[0106] like Figure 6 As shown, the device includes: a sequence determination module 610, a successive verification module 620 and a start module 630;
[0107] The sequence determination module 610 is used to determine the software startup sequence of the first type of software and the second type of software in response to the power-on reset operation;
[0108] A sequential verification module 620 is used to perform sequential cyclic verification according to the software startup sequence to obtain corresponding verification results; wherein the verification includes at least one of the following: security verification between the first type of software and the second type of software, verification by a third party institution accessing the system, and reverse verification;
[0109] The startup module 630 is used to determine that the system is safely started if the verification result passes.
[0110] The embodiment of the present invention determines the software startup sequence of the first type of software and the second type of software included in the system startup process through a successive verification module, and performs successive cyclic verification and reverse verification according to the software startup sequence, forming a three-party cyclic verification method to achieve system security startup verification.
[0111] In one embodiment, the first type of software includes: first equipment provider software and second equipment provider software; the second type of software includes: first management party software and second management party software;
[0112] The software startup sequence is: first device provider software, first management party software, second management party software, second device provider software.
[0113] In one embodiment, the sequential verification module 620 includes:
[0114] A first verification unit is used to start the first device provider software, and after the first device provider software passes the self-verification, call a preset security startup algorithm library package to perform a first security verification on the first management party software to obtain a first verification result;
[0115] A second verification unit, configured to, after the first verification result is a verification pass, use the first management party software to perform a second security verification on the second management party software to obtain a second verification result;
[0116] A first reverse verification unit, configured to, after the second verification result is a verification pass, use the second management party software to perform a first reverse verification on the first device provider software to obtain a first reverse verification result;
[0117] The third verification unit is used to perform a third security verification on the second device provider software using the second management party software to obtain a third verification result after the first reverse verification result is a verification pass, and to pull up the second device provider software after the third verification result is a verification pass.
[0118] In one embodiment, a first inspection interface of a third-party inspection agency is pre-configured between the first device provider software and the first management software; a second inspection interface of a third-party inspection agency is pre-configured between the first management software and the second management software; a third inspection interface of a third-party inspection agency is pre-configured between the second management software and the first device provider software; a fourth inspection interface of a third-party inspection agency is pre-configured between the second management software and the second device provider software;
[0119] Correspondingly, after obtaining one of the first verification result, the second verification result, the first reverse verification result and the third verification result, the security verification device further includes:
[0120] A fourth verification module, used for performing a fourth security verification on the first management party software through a preset third-party organization to obtain a fourth verification result;
[0121] A fifth verification module, configured to, after the fourth verification result is a passed verification, perform a fifth security verification on the second management party software through a preset third-party organization to obtain a fifth verification result;
[0122] A second reverse verification module, configured to, after the fifth verification result is a passed verification, perform a second reverse verification on the first device provider software through a preset third-party organization to obtain a second reverse verification result;
[0123] The sixth verification module is used to perform a sixth security verification on the second device provider software through a preset third-party organization to obtain a sixth verification result after the second reverse verification result is a verification pass, and to pull up the second device provider software after the sixth verification result is a verification result pass.
[0124] In one embodiment, the second management software includes: a third management software and a fourth management software, and the startup sequence of the third management software is earlier than that of the fourth management software;
[0125] Correspondingly, the second verification unit includes:
[0126] A first verification subunit, configured to use the first management party software to perform a seventh security verification on the third management party software to obtain a seventh verification result;
[0127] The second verification sub-unit is used to use the first management party software to perform an eighth security check on the fourth management party software to obtain an eighth verification result when the seventh verification result is a passed verification, and use the eighth verification result as the second verification result. When the second verification result is a passed verification, the second management party software is pulled up.
[0128] In one embodiment, the safety verification device further includes:
[0129] A mutual verification module, used to use the third management party software and the fourth management party software to perform mutual security verification to obtain corresponding verification results, and when each of the verification results is a verification pass, the third management party software and the fourth management party software are both pulled up;
[0130] The mutual security verification includes: integrity verification and inspectability verification.
[0131] In one embodiment, the safety verification device further includes:
[0132] The self-checking module is used for self-checking of the first equipment provider software, the second equipment provider software, the first management party software and the second management party software; wherein the self-checking includes: authenticity checking.
[0133] In one embodiment, the first security check, the second security check and the third security check all include: integrity check, confidentiality check, repudiation check and inspectability check;
[0134] The fourth safety check, the fifth safety check and the sixth safety check all include: checkability check;
[0135] The first anti-check includes: integrity check, confidentiality check, repudiation check, and checkability check; the second anti-check includes: checkability check;
[0136] The seventh security check and the eighth security check both include: integrity check, confidentiality check, repudiation check, and inspectability check.
[0137] In one embodiment, the verification is performed once, or at least twice.
[0138] In one embodiment, the integrity verification method includes: the verifying party obtains the original code download instruction corresponding to the verified party, the original code content corresponding to the original code download instruction, and the configured security verification content, wherein the security verification content at least includes: a signature value, a code start address of the encrypted part of the original code content, a code encryption length, and a key index; wherein the key index corresponds to an encryption key and a decryption key; and the integrity of the original code content and the security verification content of the verified party is verified according to a preset integrity verification algorithm;
[0139] The confidentiality verification method includes: the verifier reads the code starting address and code encryption length of the code encryption part from the security verification content of the verified party, selects the key encryption method according to the key index to decrypt the code encryption part, and fills it into the code starting address of the code encryption part to obtain the code plaintext, uses a preset integrity verification algorithm to perform integrity verification on the code plaintext, and determines the confidentiality verification result according to the result of the integrity verification;
[0140] The methods of non-repudiation verification, inspectability verification and authenticity verification all include: the verifying party obtains the original code content corresponding to the verified party, as well as the configured security verification content; and verifies the original code content and the configured security verification content according to a preset verification algorithm.
[0141] The system startup security verification device provided in the embodiment of the present invention can execute the system startup security verification method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0142] In one embodiment, Figure 7 A schematic diagram of the structure of an electronic device provided for an embodiment of the present invention. The electronic device 10 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0143] like Figure 7 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0144] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0145] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a security verification method when the system is started.
[0146] In some embodiments, the security verification method at system startup can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the security verification method at system startup described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to execute the security verification method at system startup in any other appropriate manner (for example, by means of firmware).
[0147] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0148] The computer program for implementing the method of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to the processor of the security verification device when the general-purpose computer, special-purpose computer or other programmable system is started, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program can be executed completely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or completely on a remote machine or server.
[0149] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0150] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0151] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0152] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0153] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0154] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A safety verification method when the system starts, It is characterized in that include: In response to a power-on reset operation, determining a software startup sequence of the first type of software and the second type of software; Performing a cyclic verification in succession according to the software startup sequence to obtain a corresponding verification result; wherein the verification includes at least one of the following: a security verification between the first type of software and the second type of software, a verification by a third party organization accessing the system, and a reverse verification; If the verification result passes, it is determined that the system is safely started.
2. The security verification method according to claim 1, It is characterized in that The first type of software includes: first equipment provider software and second equipment provider software; the second type of software includes: first management party software and second management party software; The software startup sequence is: first device provider software, first management party software, second management party software, second device provider software.
3. The security verification method according to claim 1, It is characterized in that The step of performing a cyclic verification in succession according to the software startup sequence to obtain corresponding verification results includes: Starting the first device provider software, and after the first device provider software passes the self-verification, calling a preset secure boot algorithm library package to perform a first security verification on the first management party software to obtain a first verification result; After the first verification result is verification passed, using the first management party software to perform a second security verification on the second management party software to obtain a second verification result; After the second verification result is verification passed, using the second management party software to perform a first reverse verification on the first device provider software to obtain a first reverse verification result; After the first reverse verification result is a verification pass, the second management party software is used to perform a third security verification on the second device provider software to obtain a third verification result, and after the third verification result is a verification result pass, the second device provider software is pulled up.
4. The security verification method according to claim 3, It is characterized in that A first inspection interface of a third-party inspection agency is pre-configured between the first equipment provider software and the first management party software; A second verification interface of a third-party verification agency is pre-configured between the first management software and the second management software; A third inspection interface of a third-party inspection agency is pre-configured between the second management party software and the first equipment provider software; A fourth inspection interface of a third-party inspection agency is pre-configured between the second management party software and the second equipment provider software; Correspondingly, after obtaining one of the first verification result, the second verification result, the first reverse verification result and the third verification result, the security verification method further includes: Performing a fourth security check on the first management party software by a preset third-party organization to obtain a fourth check result; After the fourth verification result is verification passed, a fifth security verification is performed on the second management party software by a preset third-party organization to obtain a fifth verification result; After the fifth verification result is verification passed, performing a second reverse verification on the first device provider software by a preset third-party organization to obtain a second reverse verification result; After the second reverse verification result is a verification pass, a sixth security verification is performed on the second device provider software by a preset third-party organization to obtain a sixth verification result, and after the sixth verification result is a verification result pass, the second device provider software is launched.
5. The security verification method according to claim 3, It is characterized in that The second management software includes: a third management software and a fourth management software, wherein the third management software is started earlier than the fourth management software; Correspondingly, performing a second security check on the second management software using the first management software to obtain a second check result includes: Using the first management party software to perform a seventh security check on the third management party software to obtain a seventh check result; When the seventh verification result is a passed verification, the first management party software is used to perform an eighth security verification on the fourth management party software to obtain an eighth verification result, and the eighth verification result is used as the second verification result. When the second verification result is a passed verification, the second management party software is pulled up.
6. The safety verification method according to any one of claims 3 or 5, It is characterized in that The safety verification method further includes: Using the third management party software and the fourth management party software to perform mutual security verification to obtain corresponding verification results, and when each of the verification results is verification passed, the third management party software and the fourth management party software are both pulled up; The mutual security verification includes: integrity verification and inspectability verification.
7. The security verification method according to claim 1, It is characterized in that The safety verification method further includes: Self-verification of the first device provider software, the second device provider software, the first management party software and the second management party software; wherein the self-verification includes: authenticity verification.
8. A safety verification method according to any one of claims 3, 4 or 5, It is characterized in that The first security check, the second security check and the third security check all include: integrity check, confidentiality check, repudiation check and inspectability check; The fourth safety check, the fifth safety check and the sixth safety check all include: checkability check; The first anti-check includes: integrity check, confidentiality check, repudiation check, and checkability check; the second anti-check includes: checkability check; The seventh security check and the eighth security check both include: integrity check, confidentiality check, repudiation check, and inspectability check.
9. A safety verification method according to any one of claims 3, 4 or 5, It is characterized in that The integrity verification method includes: the verifying party obtains the original code download instruction corresponding to the verified party, the original code content corresponding to the original code download instruction, and the configured security verification content, wherein the security verification content at least includes: a signature value, a code start address of the encrypted part of the original code content, a code encryption length, and a key index; wherein the key index corresponds to an encryption key and a decryption key; and the original code content and the security verification content of the verified party are integrity checked according to a preset integrity verification algorithm; The confidentiality verification method includes: the verifier reads the code starting address and code encryption length of the code encryption part from the security verification content of the verified party, selects the key encryption method according to the key index to decrypt the code encryption part, and fills it into the code starting address of the code encryption part to obtain the code plaintext, uses a preset integrity verification algorithm to perform integrity verification on the code plaintext, and determines the confidentiality verification result according to the result of the integrity verification; The methods of non-repudiation verification, inspectability verification and authenticity verification all include: the verifying party obtains the original code content corresponding to the verified party, as well as the configured security verification content; and verifies the original code content and the configured security verification content according to a preset verification algorithm.
10. A safety verification device when the system is started, It is characterized in that include: A sequence determination module, for determining a software startup sequence of the first type of software and the second type of software in response to a power-on reset operation; A sequential verification module, used to perform sequential cyclic verification according to the software startup sequence to obtain corresponding verification results; wherein the verification includes at least one of the following: security verification between the first type of software and the second type of software, verification by a third party institution accessing the system, and reverse verification; The startup module is used to determine that the system is safely started if the verification result passes.
11. The safety verification device according to claim 10, It is characterized in that The successive verification module comprises: A first verification unit is used to start the first device provider software, and after the first device provider software passes the self-verification, call a preset security startup algorithm library package to perform a first security verification on the first management party software to obtain a first verification result; A second verification unit, configured to, after the first verification result is a verification pass, use the first management party software to perform a second security verification on the second management party software to obtain a second verification result; A first reverse verification unit, configured to, after the second verification result is a verification pass, use the second management party software to perform a first reverse verification on the first device provider software to obtain a first reverse verification result; The third verification unit is used to perform a third security verification on the second device provider software using the second management party software to obtain a third verification result after the first reverse verification result is a verification pass, and to pull up the second device provider software after the third verification result is a verification pass.
12. The safety verification device according to claim 11, It is characterized in that A first inspection interface of a third-party inspection agency is pre-configured between the first equipment provider software and the first management party software; A second verification interface of a third-party verification agency is pre-configured between the first management software and the second management software; A third inspection interface of a third-party inspection agency is pre-configured between the second management party software and the first equipment provider software; A fourth inspection interface of a third-party inspection agency is pre-configured between the second management party software and the second equipment provider software; Correspondingly, after obtaining one of the first verification result, the second verification result, the first reverse verification result and the third verification result, the security verification device further includes: A fourth verification module, used for performing a fourth security verification on the first management party software through a preset third-party organization to obtain a fourth verification result; A fifth verification module, configured to, after the fourth verification result is a passed verification, perform a fifth security verification on the second management party software through a preset third-party organization to obtain a fifth verification result; A second reverse verification module, configured to, after the fifth verification result is a passed verification, perform a second reverse verification on the first device provider software through a preset third-party organization to obtain a second reverse verification result; The sixth verification module is used to perform a sixth security verification on the second device provider software through a preset third-party organization to obtain a sixth verification result after the second reverse verification result is a verification pass, and to pull up the second device provider software after the sixth verification result is a verification result pass.
13. The safety verification device according to claim 11, It is characterized in that The second management software includes: a third management software and a fourth management software, wherein the third management software is started earlier than the fourth management software; Correspondingly, the second verification unit includes: A first verification subunit, configured to use the first management party software to perform a seventh security verification on the third management party software to obtain a seventh verification result; The second verification sub-unit is used to use the first management party software to perform an eighth security check on the fourth management party software to obtain an eighth verification result when the seventh verification result is a passed verification, and use the eighth verification result as the second verification result. When the second verification result is a passed verification, the second management party software is pulled up.
14. An electronic device, It is characterized in that The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the security verification method at system startup according to any one of claims 1 to 9.
15. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the security verification method at system startup according to any one of claims 1 to 9 when executed.
16. A computer program product, It is characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the computer program implements the security verification method at system startup according to any one of claims 1 to 9.
Citation Information
Patent Citations
Video Internet of Things equipment key certificate management method, device and system
CN113037467A
Third-party trusted data detection implementation method and system for software program testing
CN114090450A
Processing method and device for same-type terminal equipment system software
CN116702221A
Application software management method based on container platform, storage medium and electronic equipment
CN118468287A
Vehicle machine system safe starting method, system and device, medium and vehicle
CN118586000A
