Airbag control record acquisition method, device, equipment, medium and product
By uniformly storing airbag control record data under different technical standards in the secure data pool, and obtaining and sending data after verification, the problem of data acquisition complexity under different technical standards is solved, and data acquisition efficiency and system security are improved.
Patent Information
- Application Number
- CN202411998089.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-08
AI Technical Summary
Under different technical standards, the complexity of obtaining airbag control record data is high, resulting in low acquisition efficiency.
By uniformly storing national standard EDR data and European standard EDR data in the security data pool, and after the diagnostic equipment is verified and passed, the corresponding data is obtained from the security data pool using the preset EDR address, and sending national standard EDR data and European standard EDR data to the diagnostic equipment.
It reduces the complexity of airbag control record data acquisition, improves the efficiency of data acquisition, and improves the safety protection level of the system.
Smart Images

Figure CN119788275A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of vehicle safety technology, and in particular to a method, device, equipment, medium and product for obtaining airbag control records. Background Art
[0002] With the continuous advancement of automobile safety technology, the event data recorder (EDR) integrated in the airbag controller has become an important part of the modern automobile safety system. EDR can record key data before and after the vehicle collision, providing an important basis for accident analysis and liability determination.
[0003] However, there are significant regional differences in the current standardization process of EDR technology. The national standard EDR (GB 39732-2020) clearly stipulates the airbag control record data that needs to be recorded and the EDR address of the record location. This standardization measure greatly simplifies the process for managers to extract and analyze relevant information from EDR. However, in the European market, although the European standard UNR160 stipulates the airbag control record data that needs to be recorded by EDR, it does not clearly specify the EDR address of the record location, which increases the complexity of data extraction.
[0004] It can be seen that based on two different technical standards, in order to obtain the airbag control record data of the national standard EDR and the airbag control record data of the European standard EDR on the same car, two different operation methods are required, which increases the complexity of obtaining the airbag control record data and thus makes the efficiency of obtaining the airbag control record data low. Summary of the invention
[0005] The purpose of this application is to provide a method, device, equipment, medium and product for obtaining airbag control records, which can reduce the complexity of obtaining airbag control record data and thus improve the efficiency of obtaining airbag control record data.
[0006] To achieve the above objectives, this application provides the following solutions:
[0007] In a first aspect, the present application provides a method for obtaining an airbag control record, comprising:
[0008] Obtaining a diagnostic key from a received diagnostic request; wherein the diagnostic request is sent by a diagnostic device;
[0009] Using the diagnostic key, a preset public key and a randomly generated random seed, verifying the diagnostic device to obtain a diagnostic device verification result;
[0010] If the diagnostic device verification result indicates that the diagnostic device verification is passed, obtaining a preset national standard EDR address and a European standard EDR address;
[0011] Using the national standard EDR address to obtain national standard EDR data from a security data pool; wherein the security data pool is a pre-established data pool containing the national standard EDR data and the European standard EDR data;
[0012] Obtaining the European standard EDR data from the secure data pool using the European standard EDR address;
[0013] The national standard EDR data and the European standard EDR data are sent to the diagnostic device so that the diagnostic device uses the national standard EDR data and the European standard EDR data to determine the airbag control record data; wherein the airbag control record data includes the national standard airbag control record data and the European standard airbag control record data.
[0014] Optionally, the use of the diagnostic key, the preset public key and the randomly generated random seed to verify the diagnostic device to obtain a diagnostic device verification result specifically includes:
[0015] Randomly generate random seeds based on a preset timer;
[0016] Encrypting the random seed using the diagnosis key to obtain a first encrypted seed;
[0017] Encrypting the random seed using a preset public key to obtain a second encrypted seed;
[0018] Comparing the first encrypted seed with the second encrypted seed to obtain an encrypted seed comparison result;
[0019] If the encryption seed comparison result indicates that the first encryption seed is the same as the second encryption seed, determining that the diagnostic device verification is passed as a diagnostic device verification result;
[0020] If the encryption seed comparison result indicates that the first encryption seed is different from the second encryption seed, then failure of the diagnostic device verification is determined as the diagnostic device verification result.
[0021] Optionally, the randomly generating a random seed based on a preset timer specifically includes:
[0022] Randomly generate a random number based on a preset timer; wherein the random number is 16-bit data;
[0023] Determine the lower 8 bits of the random number as the lower 8 bits of the random seed; wherein the random seed is 32 bits of data;
[0024] Use the lower 8 bits of the random number and the preset first data to calculate to obtain the second lower 8 bits of the random seed;
[0025] Use the lower 8 bits of the random number to calculate with the first data and the preset second data to obtain the second higher 8 bits of the random seed;
[0026] Determine the high 8 bits of the random number as the high 8 bits of the random seed;
[0027] The lower 8-bit data, the second lower 8-bit data, the second higher 8-bit data and the higher 8-bit data of the random seed are combined to obtain a complete random seed.
[0028] Optionally, the national standard EDR address includes a first national standard EDR sub-address, a second national standard EDR sub-address, and a third national standard EDR sub-address; the European standard EDR address includes a first European standard EDR sub-address, a second European standard EDR sub-address, and a third European standard EDR sub-address, wherein:
[0029] The first national standard EDR sub-address is used to obtain the national standard EDR data of the last last airbag event;
[0030] The second national standard EDR sub-address is used to obtain the national standard EDR data of the second to last event of the airbag;
[0031] The third national standard EDR sub-address is used to obtain the national standard EDR data of the third to last event of the airbag;
[0032] The first European standard EDR sub-address is used to obtain the European standard EDR data of the last last event of the airbag;
[0033] The second European standard EDR sub-address is used to obtain the European standard EDR data of the second to last event of the airbag;
[0034] The third European standard EDR sub-address is used to obtain the European standard EDR data of the third to last event of the airbag.
[0035] Optionally, the method for acquiring the airbag control record further includes:
[0036] When receiving a programming session request sent by the diagnostic device, obtaining a flashing program, encrypted data, and a verification code from the programming session request;
[0037] Burning the flashing program to obtain a burning program;
[0038] Use the verification code to verify the burning program to obtain a burning verification code;
[0039] Decrypting the encrypted data using a preset key to obtain a target verification code;
[0040] Compare the burning verification code with the target verification code to obtain a verification code comparison result;
[0041] If the verification code comparison result indicates that the burning verification code is the same as the target verification code, it is determined that the flashing program is burned successfully.
[0042] Optionally, the encrypted data in the programming session request is generated in the following manner:
[0043] Use the verification code to verify the flashing program to obtain a target verification code;
[0044] The target verification code is encrypted using the preset key to obtain encrypted data.
[0045] In a second aspect, the present application provides a device for acquiring airbag control records, comprising:
[0046] A first acquisition unit, configured to acquire a diagnostic key from a received diagnostic request, wherein the diagnostic request is sent via a diagnostic device;
[0047] A verification unit, used to verify the diagnostic device using the diagnostic key, a preset public key and a randomly generated random seed to obtain a diagnostic device verification result;
[0048] A second acquisition unit is used to acquire a preset national standard EDR address and a European standard EDR address if the diagnostic device verification result indicates that the diagnostic device verification is passed;
[0049] A third acquisition unit is used to use the national standard EDR address to acquire the national standard EDR data from the security data pool; wherein the security data pool is a pre-established data pool containing the national standard EDR data and the European standard EDR data;
[0050] A fourth acquisition unit, configured to acquire the European standard EDR data from the security data pool using the European standard EDR address;
[0051] A sending unit is used to send the national standard EDR data and the European standard EDR data to the diagnostic device, so that the diagnostic device uses the national standard EDR data and the European standard EDR data to determine the airbag control record data; wherein the airbag control record data includes the national standard airbag control record data and the European standard airbag control record data.
[0052] In a third aspect, the present application provides a computer device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method for acquiring airbag control records described in any one of the above.
[0053] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method for acquiring the airbag control record described in any one of the above.
[0054] In a fifth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the method for obtaining airbag control records as described above.
[0055] In a sixth aspect, the present application provides a chip, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instructions. When the processor executes the program or instructions, the steps of the method for obtaining airbag control records described in any one of the above are implemented.
[0056] According to the specific embodiments provided in this application, this application discloses the following technical effects:
[0057] The present application provides a method, device, equipment, medium and product for obtaining airbag control records. The national standard EDR data and the European standard EDR data can be stored in the same data pool through the security data pool, and before the diagnostic device obtains the data in the security data pool, the diagnostic device needs to be verified. Only after the verification is passed can the national standard EDR data and the European standard EDR data be obtained from the security data pool through the preset national standard EDR address and the European standard EDR address. It can be seen that through this implementation method, the complexity of obtaining airbag control record data can be reduced, thereby improving the efficiency of obtaining airbag control record data. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0059] Figure 1 A schematic flow chart of a method for acquiring airbag control records in one embodiment of the present application;
[0060] Figure 2A schematic diagram of functional modules of a device for acquiring airbag control records provided in one embodiment of the present application.
[0061] Figure 3 A schematic diagram of the structure of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0062] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0063] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0064] In an exemplary embodiment, Figure 1 As shown, a method for obtaining airbag control records is provided, which is executed by a computer device, and can be executed by a computer device such as a terminal or a server alone, or by a terminal and a server together. In the embodiment of the present application, the method includes the following steps 101 to 106. Among them:
[0065] Step 101: Obtain a diagnosis key from a received diagnosis request.
[0066] In the embodiment of the present application, the diagnostic request is sent by a diagnostic device. A diagnostic request is a message sent by a diagnostic device (Tester, also known as a diagnostic instrument or scanning tool) to an automobile ECU (Electronic Control Unit) to request execution of a specific diagnostic service.
[0067] Step 102: Use the diagnosis key, the preset public key and the randomly generated random seed to verify the diagnosis device and obtain a diagnosis device verification result.
[0068] In the embodiment of the present application, the random seed can be randomly generated by a pseudo-random number generator (Pseudo-Random Number Generator, PRNG).
[0069] In the embodiment of the present application, the diagnostic key of the diagnostic device verified by the diagnostic device is the same as the preset public key. In this way, the encrypted data encrypted by the diagnostic key and the public key respectively may be the same. Therefore, if the encrypted data encrypted by the diagnostic key and the public key are different, it can be considered that the diagnostic key and the public key are different. At this time, the diagnostic device cannot pass the verification. The diagnostic device that cannot pass the verification cannot obtain EDR data from the secure data pool.
[0070] In an embodiment of the present application, the public key can be first encrypted using the AES128 algorithm, and then the encrypted public key is stored in the code, thereby avoiding plaintext storage of the public key and reducing the risk of leakage of the public key.
[0071] As an optional implementation, step 102 uses the diagnostic key, the preset public key, and the randomly generated random seed to verify the diagnostic device, and the method of obtaining the diagnostic device verification result may include:
[0072] Randomly generate random seeds based on a preset timer;
[0073] Encrypting the random seed using the diagnosis key to obtain a first encrypted seed;
[0074] Encrypting the random seed using a preset public key to obtain a second encrypted seed;
[0075] Comparing the first encrypted seed with the second encrypted seed to obtain an encrypted seed comparison result;
[0076] If the encryption seed comparison result indicates that the first encryption seed is the same as the second encryption seed, determining that the diagnostic device verification is passed as a diagnostic device verification result;
[0077] If the encryption seed comparison result indicates that the first encryption seed is different from the second encryption seed, then failure of the diagnostic device verification is determined as the diagnostic device verification result.
[0078] Among them, this implementation method uses a timer to randomly generate a random seed, ensuring that the data used in each verification process is unique and unpredictable, effectively preventing potential malicious attacks or data tampering. At the same time, by encrypting the random seed using the diagnostic key and the public key respectively, and comparing the results of the two encryptions, it is possible to accurately determine whether the diagnostic device is legal and the validity of the diagnostic key. When the two encryption results are consistent, the verification passes, ensuring that only legal devices holding the correct diagnostic key can pass the verification, thereby maintaining the security of the system and the integrity of the data. If the encryption results are inconsistent, it is immediately determined that the verification has failed, which can effectively prevent the access of illegal devices and prevent potential security risks. This verification method is not only simple and easy, but also can effectively improve the security protection level of the entire system.
[0079] As an optional implementation, a method of randomly generating a random seed based on a preset timer may include:
[0080] Randomly generate a random number based on a preset timer; wherein the random number is 16-bit data;
[0081] Determine the lower 8 bits of the random number as the lower 8 bits of the random seed; wherein the random seed is 32 bits of data;
[0082] Use the lower 8 bits of the random number and the preset first data to calculate to obtain the second lower 8 bits of the random seed;
[0083] Use the lower 8 bits of the random number to calculate with the first data and the preset second data to obtain the second higher 8 bits of the random seed;
[0084] Determine the high 8 bits of the random number as the high 8 bits of the random seed;
[0085] The lower 8-bit data, the second lower 8-bit data, the second higher 8-bit data and the higher 8-bit data of the random seed are combined to obtain a complete random seed.
[0086] Among them, this implementation method is implemented by randomly generating 16-bit random numbers as a basis through a preset timer, and then cleverly using different parts of these random numbers and preset data for calculation to construct a 32-bit random seed. This method not only ensures the randomness and unpredictability of the random seed, but also increases its complexity and security by introducing additional calculation steps. In particular, different parts of the random number are calculated with different preset data to obtain different parts of the random seed, which further enhances the uniqueness and difficulty of copying the random seed.
[0087] For example, the second lowest 8 bits of the random seed can be obtained by adding the lower 8 bits of the random number to 0x AA, and the second highest 8 bits of the random seed can be obtained by adding the lower 8 bits of the random number to 0x AA and 0x 55.
[0088] Step 103: If the diagnostic device verification result indicates that the diagnostic device verification is passed, a preset national standard EDR address and a European standard EDR address are obtained.
[0089] In the embodiment of the present application, the national standard EDR address includes a first national standard EDR sub-address, a second national standard EDR sub-address, and a third national standard EDR sub-address; the European standard EDR address includes a first European standard EDR sub-address, a second European standard EDR sub-address, and a third European standard EDR sub-address, wherein:
[0090] The first national standard EDR sub-address is used to obtain the national standard EDR data of the last event of the airbag; the first national standard EDR sub-address may be 0x FA 13;
[0091] The second national standard EDR sub-address is used to obtain the national standard EDR data of the second to last event of the airbag; the second national standard EDR sub-address may be 0x FA 14;
[0092] The third national standard EDR sub-address is used to obtain the national standard EDR data of the third to last event of the airbag; the third national standard EDR sub-address may be 0x FA 15;
[0093] The first European standard EDR sub-address is used to obtain the European standard EDR data of the last event of the airbag; the first European standard EDR sub-address may be 0x FA 16;
[0094] The second European standard EDR sub-address is used to obtain the European standard EDR data of the second to last event of the airbag; the second European standard EDR sub-address may be 0x FA 17;
[0095] The third European standard EDR sub-address is used to obtain the European standard EDR data of the third to last event of the airbag; the third European standard EDR sub-address may be 0x FA 18.
[0096] Step 104, using the national standard EDR address to obtain national standard EDR data from the security data pool.
[0097] In the embodiment of the present application, the safety data pool is a pre-established data pool containing the national standard EDR data and the European standard EDR data. The safety data pool is stored in the electronic control unit (ECU) of the car, and every event of the airbag will be stored in the safety data pool.
[0098] Step 105, using the European standard EDR address to obtain the European standard EDR data from the security data pool.
[0099] Step 106 , sending the national standard EDR data and the European standard EDR data to the diagnostic device, so that the diagnostic device uses the national standard EDR data and the European standard EDR data to determine the airbag control record data.
[0100] In the embodiment of the present application, the airbag control record data includes national standard airbag control record data and European standard airbag control record data.
[0101] In the embodiment of the present application, the method of using the national standard EDR data and the European standard EDR data to determine the airbag control record data can be: the national standard refers to Appendix B of GB39732-2020, and the European standard regulations do not specify a specific can id, which is generally customized by the host manufacturer. The European standard EDR address is defined as 0x FA 16, 0x FA 17 and 0x FA 18. Like FA13 / 14 / 15, FA16 / 17 / 18 also starts from 0. For example, the controller replies 62FA 16xx yy, indicating an element of a multi-event. (xx 0th byte, yy 1st byte).
[0102] According to the requirements of the national standard EDR, "EDR data based on the controller area network (CAN) should assign an event identifier to each stored event, which should be: 0x FA 13, 0x FA 14 and 0x FA 15. Among them, 0x FA 13 is the identifier of the most recent event, 0x FA 14 is the identifier of the second to last event, and 0x FA 15 is the identifier of the third to last event."
[0103] Therefore, the European standard EDR also assigns an event identifier to each event, which is defined as: 0x FA 16, 0x FA 17 and 0x FA 18. Among them, 0x FA 16 is the identifier of the most recent event, 0x FA 17 is the identifier of the second to last event, and 0x FA 18 is the identifier of the third to last event.
[0104] As an optional implementation, the following steps may also be performed:
[0105] When receiving a programming session request sent by the diagnostic device, obtaining a flashing program, encrypted data, and a verification code from the programming session request;
[0106] Burning the flashing program to obtain a burning program;
[0107] Use the verification code to verify the burning program to obtain a burning verification code;
[0108] Decrypting the encrypted data using a preset key to obtain a target verification code;
[0109] Compare the burning verification code with the target verification code to obtain a verification code comparison result;
[0110] If the verification code comparison result indicates that the burning verification code is the same as the target verification code, it is determined that the flashing program is burned successfully.
[0111] Among them, by implementing this implementation method, the system can efficiently perform subsequent processing by directly obtaining the flash program, encrypted data and verification code from the programming session request sent by the diagnostic device. After the flash program is burned, the verification code is immediately used for verification, which can timely discover and correct possible burning errors, thereby improving the reliability of the flash program. At the same time, the encrypted data is decrypted using a preset key to obtain the target verification code, which is compared with the burning verification code. This step further enhances the security of the flash process, ensuring that only the flash program that has been correctly decrypted and verified can be successfully burned. Therefore, this implementation method not only improves the burning efficiency and accuracy of the flash program, but also effectively prevents illegal flashing and potential security risks, providing a strong guarantee for the stable operation of the system.
[0112] As an optional implementation, the method for generating the encrypted data in the programming session request may specifically be:
[0113] Use the verification code to verify the flashing program to obtain a target verification code;
[0114] The target verification code is encrypted using the preset key to obtain encrypted data.
[0115] Among them, by implementing this implementation method, by first applying the verification code to the flashing program to generate the target verification code, this step not only ensures the integrity and accuracy of the flashing program, but also provides a basis for the subsequent encryption processing. Subsequently, the target verification code is encrypted using a preset key to generate encrypted data. This step greatly enhances the security of the data and prevents unauthorized access and tampering. Therefore, this implementation method not only simplifies the generation process of encrypted data and improves processing efficiency, but also provides a more stringent security guarantee for data transmission and storage in programming session requests through a double verification and encryption mechanism.
[0116] In the embodiment of the present application, the programming session request may be a UDS refresh request. UDS (Unified Diagnostic Services) refresh refers to the process of refreshing or upgrading the electronic control unit (ECU) based on the UDS protocol (ISO 14229 standard).
[0117] In the embodiment of the present application, the flashing program is a program for refreshing or upgrading the ECU. The check code may be a cyclic redundancy check code (CRC), and the target check code may be encrypted by AES encryption.
[0118] If the verification code comparison result indicates that the burning verification code is different from the target verification code, the software upgrade is not allowed and the program stays in BOOT waiting for the next flash request.
[0119] In the embodiment of the present application, after the flash program is successfully burned, the code data of the entire area can also be statically scanned, and the backdoor and copper leakage can be detected by the Polyspace software. The specific process is as follows:
[0120] The program should not have operating modes or backdoors and malicious code that can bypass security mechanisms (including but not limited to authentication, permission control, and logging). In order to facilitate development and debugging, factory production, and problem feedback tracking, the developer has reserved an encrypted backdoor entrance in the current system. This encrypted backdoor entrance is not used for illegal purposes, but to facilitate system development and management. Through this entrance, developers can quickly obtain system information, debug code, and troubleshoot problems. In factory production, it can also help engineers debug and maintain equipment more quickly. In terms of problem feedback tracking, it can also improve the efficiency of problem troubleshooting, so that problems can be solved more quickly.
[0121] Backdoor entry: There is only one place in the system settings and it is encrypted. Backdoor encryption rules: In order to ensure the uniqueness of each password and the timeliness of the password, the backdoor password is the combination of the vehicle unique identification number (VIN) and the system version number, encoded according to certain rules, and special symbols are removed.
[0122] Use the Polyspace tool to perform static code scanning on software code to solve security issues such as memory, command injection, and stack overflow. Simply put, Polyspace is a code-level static analysis and verification tool based on the principle of abstract interpretation. Polyspace consists of Bug Finder and Code Prover. Bug Finder uses semantic analysis methods to find runtime errors, concurrency issues, security vulnerabilities, and other defects in the code. Code Prover uses abstract interpretation methods to prove that there are no runtime errors such as overflow, division by zero, and array access out of bounds in the source code.
[0123] If there is high-risk or exposed copper leakage, the data pool is established by combining the corresponding software with the software code rectification method. The specific process of establishing the data pool is as follows:
[0124] Suspicious vulnerabilities were discovered through static code scanning. For example, during development, a port was scanned during system operation and a certain port was found to be called. After analysis, the relevant process was determined. Further searching of the relevant application source code revealed that the Socket Comm class enabled the socket service. The client side could control the vehicle attributes of the vehicle-hal through the socket, which posed a security risk.
[0125] According to the principle of specific analysis of specific problems, the solution to this vulnerability is to remove the Socket Comm-related Vehicle Emulator service initialization in the vehicle-hal service, thereby shielding the security threat caused by port exposure. Then perform static code scanning again until the vulnerability is completely eliminated.
[0126] Implementing the above steps 101 to 106 can reduce the complexity of acquiring the airbag control record data, thereby improving the efficiency of acquiring the airbag control record data. In addition, the present application can also effectively improve the security protection level of the entire system. In addition, the present application can also enhance the uniqueness and difficulty of duplication of the random seed. In addition, the present application can also improve the burning efficiency and accuracy of the flash program, and can effectively prevent illegal flashing and potential security risks. In addition, the present application can also enhance the security of encrypted data through double verification and encryption mechanisms.
[0127] Based on the same inventive concept, the embodiment of the present application also provides an airbag control record acquisition device for implementing the airbag control record acquisition method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the one or more airbag control record acquisition device embodiments provided below can refer to the limitations of the airbag control record acquisition method above, and will not be repeated here.
[0128] In an exemplary embodiment, Figure 2 As shown, a device for obtaining airbag control records is provided, comprising:
[0129] A first acquisition unit 201 is used to acquire a diagnosis key from a received diagnosis request; wherein the diagnosis request is sent by a diagnosis device;
[0130] The verification unit 202 is used to verify the diagnostic device using the diagnostic key, the preset public key and the randomly generated random seed to obtain a diagnostic device verification result;
[0131] A second acquisition unit 203 is configured to acquire a preset national standard EDR address and a European standard EDR address if the diagnostic device verification result indicates that the diagnostic device verification is passed;
[0132] The third acquisition unit 204 is used to obtain the national standard EDR data from the security data pool using the national standard EDR address; wherein the security data pool is a pre-established data pool containing the national standard EDR data and the European standard EDR data;
[0133] A fourth acquisition unit 205 is used to acquire the European standard EDR data from the security data pool using the European standard EDR address;
[0134] The sending unit 206 is used to send the national standard EDR data and the European standard EDR data to the diagnostic device, so that the diagnostic device uses the national standard EDR data and the European standard EDR data to determine the airbag control record data; wherein the airbag control record data includes the national standard airbag control record data and the European standard airbag control record data.
[0135] In the embodiment of the present application, the national standard EDR address includes a first national standard EDR sub-address, a second national standard EDR sub-address, and a third national standard EDR sub-address; the European standard EDR address includes a first European standard EDR sub-address, a second European standard EDR sub-address, and a third European standard EDR sub-address, wherein:
[0136] The first national standard EDR sub-address is used to obtain the national standard EDR data of the last last airbag event;
[0137] The second national standard EDR sub-address is used to obtain the national standard EDR data of the second to last event of the airbag;
[0138] The third national standard EDR sub-address is used to obtain the national standard EDR data of the third to last event of the airbag;
[0139] The first European standard EDR sub-address is used to obtain the European standard EDR data of the last last event of the airbag;
[0140] The second European standard EDR sub-address is used to obtain the European standard EDR data of the second to last event of the airbag;
[0141] The third European standard EDR sub-address is used to obtain the European standard EDR data of the third to last event of the airbag.
[0142] As an optional implementation, the verification unit 202 uses the diagnosis key, the preset public key and the randomly generated random seed to verify the diagnosis device, and the way to obtain the diagnosis device verification result can be specifically:
[0143] Randomly generate random seeds based on a preset timer;
[0144] Encrypting the random seed using the diagnosis key to obtain a first encrypted seed;
[0145] Encrypting the random seed using a preset public key to obtain a second encrypted seed;
[0146] Comparing the first encrypted seed with the second encrypted seed to obtain an encrypted seed comparison result;
[0147] If the encryption seed comparison result indicates that the first encryption seed is the same as the second encryption seed, determining that the diagnostic device verification is passed as a diagnostic device verification result;
[0148] If the encryption seed comparison result indicates that the first encryption seed is different from the second encryption seed, then failure of the diagnostic device verification is determined as the diagnostic device verification result.
[0149] Among them, this implementation method uses a timer to randomly generate a random seed, ensuring that the data used in each verification process is unique and unpredictable, effectively preventing potential malicious attacks or data tampering. At the same time, by encrypting the random seed using the diagnostic key and the public key respectively, and comparing the results of the two encryptions, it is possible to accurately determine whether the diagnostic device is legal and the validity of the diagnostic key. When the two encryption results are consistent, the verification passes, ensuring that only legal devices holding the correct diagnostic key can pass the verification, thereby maintaining the security of the system and the integrity of the data. If the encryption results are inconsistent, it is immediately determined that the verification has failed, which can effectively prevent the access of illegal devices and prevent potential security risks. This verification method is not only simple and easy, but also can effectively improve the security protection level of the entire system.
[0150] As an optional implementation, the verification unit 202 may generate a random seed based on a preset timer in the following manner:
[0151] Randomly generate a random number based on a preset timer; wherein the random number is 16-bit data;
[0152] Determine the lower 8 bits of the random number as the lower 8 bits of the random seed; wherein the random seed is 32 bits of data;
[0153] Use the lower 8 bits of the random number and the preset first data to calculate to obtain the second lower 8 bits of the random seed;
[0154] Use the lower 8 bits of the random number to calculate with the first data and the preset second data to obtain the second higher 8 bits of the random seed;
[0155] Determine the high 8 bits of the random number as the high 8 bits of the random seed;
[0156] The lower 8-bit data, the second lower 8-bit data, the second higher 8-bit data and the higher 8-bit data of the random seed are combined to obtain a complete random seed.
[0157] Among them, this implementation method is implemented by randomly generating 16-bit random numbers as a basis through a preset timer, and then cleverly using different parts of these random numbers and preset data to calculate to construct a 32-bit random seed. This method not only ensures the randomness and unpredictability of the random seed, but also increases its complexity and security by introducing additional calculation steps. In particular, different parts of the random number are calculated with different preset data to obtain different parts of the random seed, which further enhances the uniqueness and difficulty of copying the random seed.
[0158] As an optional implementation manner, the sending unit 206 may also be configured to:
[0159] When receiving a programming session request sent by the diagnostic device, obtaining a flashing program, encrypted data, and a verification code from the programming session request;
[0160] Burning the flashing program to obtain a burning program;
[0161] Use the verification code to verify the burning program to obtain a burning verification code;
[0162] Decrypting the encrypted data using a preset key to obtain a target verification code;
[0163] Compare the burning verification code with the target verification code to obtain a verification code comparison result;
[0164] If the verification code comparison result indicates that the burning verification code is the same as the target verification code, it is determined that the flashing program is burned successfully.
[0165] Among them, by implementing this implementation method, the system can efficiently perform subsequent processing by directly obtaining the flash program, encrypted data and verification code from the programming session request sent by the diagnostic device. After the flash program is burned, the verification code is immediately used for verification, which can timely discover and correct possible burning errors, thereby improving the reliability of the flash program. At the same time, the encrypted data is decrypted using a preset key to obtain the target verification code, which is compared with the burning verification code. This step further enhances the security of the flash process, ensuring that only the flash program that has been correctly decrypted and verified can be successfully burned. Therefore, this implementation method not only improves the burning efficiency and accuracy of the flash program, but also effectively prevents illegal flashing and potential security risks, providing a strong guarantee for the stable operation of the system.
[0166] As an optional implementation, the encrypted data in the programming session request is generated in the following manner:
[0167] Use the verification code to verify the flashing program to obtain a target verification code;
[0168] The target verification code is encrypted using the preset key to obtain encrypted data.
[0169] Among them, by implementing this implementation method, by first applying the verification code to the flashing program to generate the target verification code, this step not only ensures the integrity and accuracy of the flashing program, but also provides a basis for the subsequent encryption processing. Subsequently, the target verification code is encrypted using a preset key to generate encrypted data. This step greatly enhances the security of the data and prevents unauthorized access and tampering. Therefore, this implementation method not only simplifies the generation process of encrypted data and improves processing efficiency, but also provides a more stringent security guarantee for data transmission and storage in programming session requests through a double verification and encryption mechanism.
[0170] The implementation of the above-mentioned embodiments can reduce the complexity of acquiring the airbag control record data, thereby improving the efficiency of acquiring the airbag control record data. In addition, the present application can also effectively improve the security protection level of the entire system. In addition, the present application can also enhance the uniqueness and difficulty of duplication of the random seed. In addition, the present application can also improve the burning efficiency and accuracy of the flashing program, and can also effectively prevent illegal flashing and potential security risks. In addition, the present application can also enhance the security of encrypted data through double verification and encryption mechanisms.
[0171] In an exemplary embodiment, a computer device is provided. The computer device may be a server or a terminal. The internal structure diagram thereof may be as follows: Figure 3 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store the acquisition data of the airbag control record. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for acquiring an airbag control record is implemented.
[0172] Those skilled in the art will understand that Figure 3 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0173] In an exemplary embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0174] In an exemplary embodiment, a computer-readable storage medium is provided, storing a computer program, and when the computer program is executed by a processor, the steps in the above method embodiments are implemented.
[0175] In an exemplary embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in the above method embodiments are implemented.
[0176] In an exemplary embodiment, a chip is provided, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the steps in the above-mentioned method embodiments and achieve the same technical effects. To avoid repetition, they are not described here.
[0177] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0178] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0179] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM may be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0180] The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. The non-relational database may include a distributed database based on blockchain, etc., but is not limited thereto. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but is not limited thereto.
[0181] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0182] This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.
Claims
1. A method for obtaining airbag control records, characterized in that: The method for obtaining the airbag control record includes: Obtaining a diagnostic key from a received diagnostic request; wherein the diagnostic request is sent by a diagnostic device; Using the diagnostic key, a preset public key and a randomly generated random seed, verifying the diagnostic device to obtain a diagnostic device verification result; If the diagnostic device verification result indicates that the diagnostic device verification is passed, obtaining a preset national standard EDR address and a European standard EDR address; Using the national standard EDR address to obtain national standard EDR data from a security data pool; wherein the security data pool is a pre-established data pool containing the national standard EDR data and the European standard EDR data; Obtaining the European standard EDR data from the secure data pool using the European standard EDR address; The national standard EDR data and the European standard EDR data are sent to the diagnostic device so that the diagnostic device uses the national standard EDR data and the European standard EDR data to determine the airbag control record data; wherein the airbag control record data includes the national standard airbag control record data and the European standard airbag control record data.
2. The method for obtaining airbag control records according to claim 1, characterized in that: The use of the diagnostic key, the preset public key and the randomly generated random seed to verify the diagnostic device to obtain a diagnostic device verification result specifically includes: Randomly generate random seeds based on a preset timer; Encrypting the random seed using the diagnosis key to obtain a first encrypted seed; Encrypting the random seed using a preset public key to obtain a second encrypted seed; Comparing the first encrypted seed with the second encrypted seed to obtain an encrypted seed comparison result; If the encryption seed comparison result indicates that the first encryption seed is the same as the second encryption seed, determining that the diagnostic device verification is passed as a diagnostic device verification result; If the encryption seed comparison result indicates that the first encryption seed is different from the second encryption seed, then failure of the diagnostic device verification is determined as the diagnostic device verification result.
3. The method for obtaining airbag control records according to claim 2, characterized in that: The randomly generating a random seed based on a preset timer specifically includes: Randomly generate a random number based on a preset timer; wherein the random number is 16-bit data; Determine the lower 8 bits of the random number as the lower 8 bits of the random seed; wherein the random seed is 32 bits of data; Use the lower 8 bits of the random number and the preset first data to calculate to obtain the second lower 8 bits of the random seed; Use the lower 8 bits of the random number to calculate with the first data and the preset second data to obtain the second higher 8 bits of the random seed; Determine the high 8 bits of the random number as the high 8 bits of the random seed; The lower 8-bit data, the second lower 8-bit data, the second higher 8-bit data and the higher 8-bit data of the random seed are combined to obtain a complete random seed.
4. The method for obtaining airbag control records according to claim 1, characterized in that: The national standard EDR address includes a first national standard EDR sub-address, a second national standard EDR sub-address and a third national standard EDR sub-address; the European standard EDR address includes a first European standard EDR sub-address, a second European standard EDR sub-address and a third European standard EDR sub-address, wherein: The first national standard EDR sub-address is used to obtain the national standard EDR data of the last last airbag event; The second national standard EDR sub-address is used to obtain the national standard EDR data of the second to last event of the airbag; The third national standard EDR sub-address is used to obtain the national standard EDR data of the third to last event of the airbag; The first European standard EDR sub-address is used to obtain the European standard EDR data of the last last event of the airbag; The second European standard EDR sub-address is used to obtain the European standard EDR data of the second to last event of the airbag; The third European standard EDR sub-address is used to obtain the European standard EDR data of the third to last event of the airbag.
5. The method for acquiring airbag control records according to any one of claims 1 to 4, characterized in that: The method for obtaining the airbag control record also includes: When receiving a programming session request sent by the diagnostic device, obtaining a flashing program, encrypted data, and a verification code from the programming session request; Burning the flashing program to obtain a burning program; Use the verification code to verify the burning program to obtain a burning verification code; Decrypting the encrypted data using a preset key to obtain a target verification code; Compare the burning verification code with the target verification code to obtain a verification code comparison result; If the verification code comparison result indicates that the burning verification code is the same as the target verification code, it is determined that the flashing program is burned successfully.
6. The method for obtaining airbag control records according to claim 5, characterized in that: The method for generating the encrypted data in the programming session request is specifically as follows: Use the verification code to verify the flashing program to obtain a target verification code; The target verification code is encrypted using the preset key to obtain encrypted data.
7. A device for acquiring airbag control records, characterized in that: The airbag control record acquisition device includes: A first acquisition unit, configured to acquire a diagnostic key from a received diagnostic request, wherein the diagnostic request is sent via a diagnostic device; A verification unit, used to verify the diagnostic device using the diagnostic key, a preset public key and a randomly generated random seed to obtain a diagnostic device verification result; A second acquisition unit is used to acquire a preset national standard EDR address and a European standard EDR address if the diagnostic device verification result indicates that the diagnostic device verification is passed; A third acquisition unit is used to use the national standard EDR address to acquire the national standard EDR data from the security data pool; wherein the security data pool is a pre-established data pool containing the national standard EDR data and the European standard EDR data; A fourth acquisition unit, configured to acquire the European standard EDR data from the security data pool using the European standard EDR address; A sending unit is used to send the national standard EDR data and the European standard EDR data to the diagnostic device, so that the diagnostic device uses the national standard EDR data and the European standard EDR data to determine the airbag control record data; wherein the airbag control record data includes the national standard airbag control record data and the European standard airbag control record data.
8. A computer device comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method for acquiring the airbag control record described in any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method for acquiring the airbag control record according to any one of claims 1 to 6 are implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method for acquiring the airbag control record according to any one of claims 1 to 6 are implemented.