A battery module safety verification method

By installing certificates on the industrial control machine and performing MD5 and base64 encryption verification methods, the problem of insufficient security of battery module verification is solved, and the security verification and lossless repair of battery modules are realized, which improves the security and resource utilization efficiency of battery modules.

CN116389050BActive Publication Date: 2025-08-22FUJIAN NEBULA ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310157452.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-23
Publication Date
2025-08-22
Estimated Expiration
2043-02-23

AI Technical Summary

Technical Problem

In the prior art, the verification of the battery module is insufficient, and the forged version number of the bad manufacturer leads to security risks, and the battery module that fails to verify cannot be repaired losslessly, resulting in waste of resources.

Method used

By installing certificates on the industrial control machine, using MD5 and base64 encryption to generate verification XML files and unlock XML files, safe verification of the battery module, and multiple program writing of the modules that failed to verify is to support lossless repair.

Benefits of technology

Improves the security of battery module verification, prevents forgery of version numbers, supports lossless repair of battery modules, and avoids waste of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116389050B_ABST
    Figure CN116389050B_ABST
Patent Text Reader

Abstract

The present invention provides a battery module security verification method in the technical field of electric vehicles, comprising: step S10, installing a certificate on an industrial computer; step S20, applying for a Bin file from a server and parsing to obtain M1, M2, M3, U1, U2, and U3; step S30, obtaining a serial code of the battery module and waking up a battery management system (BMS) of the battery module; step S40, communicating with the BMS to obtain an electronic control unit (ECU) ID; step S50, sending M1, M2, M3, U1, U2, and U3 to the battery module, and receiving M4, M5, U4, and U5 calculated by the battery module; step S60, encrypting the electronic control unit (ECU) ID, M4, M5, U4, and U5 to obtain ecuid, mkm4, mkm5, ukm4, and ukm5; step S70, generating a verification XML file and an unlocking XML file based on the serial code, ecuid, mkm4, mkm5, ukm4, and ukm5; and step S80, verifying the battery module based on the verification XML file and the unlocking XML file. The advantages of the present invention are: greatly improving the security of battery module verification and supporting non-destructive repair of battery modules.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of electric vehicles, and in particular to a battery module safety verification method. Background Art

[0002] The performance development trends of battery modules are categorized into several dimensions: high specific energy, high safety, long cycle life, and low cost. These performance characteristics are mutually constrained. As the energy density of battery modules increases from 100Wh / kg to approximately 200Wh / kg, the capacity increases from 30kWh to approximately 100kWh, and the vehicle voltage platform rises from 400V to 800V, the number of electric vehicles on the road increases from millions to tens of millions. The safety of battery modules, the power source of electric vehicles, becomes increasingly important, creating a need for battery module verification.

[0003] However, traditionally, many battery manufacturers do not provide battery module verification functions, or simply set a version number and perform verification by comparing the battery module with the local version number. This makes it easy for some unscrupulous manufacturers to forge version numbers and skip verification, thereby replacing original battery modules with some defective or non-original battery modules to bring economic benefits, which undoubtedly brings great safety risks; some battery manufacturers only conduct one verification and directly scrap the battery modules that fail the verification. If you want to repair them, you need to replace the BMS board that has been welded on the battery module. This practice is very environmentally unfriendly.

[0004] Therefore, how to provide a battery module safety verification method to improve the safety of battery module verification and support non-destructive repair of battery modules has become a technical problem that needs to be solved urgently. Summary of the Invention

[0005] The technical problem to be solved by the present invention is to provide a battery module safety verification method to improve the safety of battery module verification and support non-destructive repair of battery modules.

[0006] The present invention is implemented as follows: A battery module safety verification method includes the following steps:

[0007] Step S10: The industrial computer obtains and installs the certificate;

[0008] Step S20: The industrial computer requests a Bin file containing a key and an unlock key from the server, and parses the Bin file to obtain a key including M1, M2, and M3 and an unlock key including U1, U2, and U3.

[0009] Step S30: The industrial computer obtains the serial code of the battery module through a barcode scanner, and performs CAN communication with the battery module to wake up the BMS of the battery module;

[0010] Step S40: The industrial computer communicates with the BMS based on the data identifier to obtain the electronic control unit ID of the electric vehicle;

[0011] Step S50: The industrial computer sends M1, M2, M3, U1, U2, and U3 to the battery module, and receives M4, M5, U4, and U5 calculated by the battery module based on M1, M2, M3, U1, U2, and U3.

[0012] Step S60: The industrial computer encrypts the electronic control unit ID, M4, M5, U4, and U5 to obtain ecu id, mkm4, mkm5, ukm4, and ukm5;

[0013] Step S70: The industrial computer generates a verification XML file and an unlocking XML file based on the serial code, ecu id, mkm4, mkm5, ukm4, and ukm5;

[0014] Step S80: The industrial computer performs online or offline verification on the battery module based on the verification XML file and the unlocking XML file, and generates a verification result;

[0015] Step S90: The industrial computer re-burns the program of the battery module that failed verification and then performs verification again.

[0016] Furthermore, the step S10 specifically includes:

[0017] Step S11: The industrial computer obtains a certificate from the certificate provider based on the hostname and Mac;

[0018] Step S12: Install OpenSSL on the industrial computer and set the system environment for installing the certificate;

[0019] Step S13: Generate a CSR file and a key file based on the certificate, generate a PFX file based on the CSR file and the key file, and install the PFX file on an industrial computer to complete the installation of the certificate.

[0020] Furthermore, the step S20 is specifically as follows:

[0021] The industrial computer applies for a Bin file containing a key and an unlock key from the server through the API, and parses the Bin file in binary form to obtain a key including M1, M2, and M3 and an unlock key including U1, U2, and U3.

[0022] Furthermore, the step S30 is specifically as follows:

[0023] The industrial computer obtains the serial code of the battery module through a barcode scanner, and communicates with the battery module via CAN to send a heartbeat message, thereby waking up the BMS of the battery module.

[0024] Furthermore, the step S50 specifically includes:

[0025] Step S51: The industrial computer sends M1, M2, M3, U1, U2, and U3 to the battery module;

[0026] Step S52: The battery module performs MD5 encryption calculation on the received M1, M2, and M3 to obtain 128-bit first encrypted data, and divides the first encrypted data into 64-bit M4 and M5;

[0027] The battery module performs MD5 encryption calculation on the received U1, U2, and U3 to obtain 128-bit second encrypted data, and divides the second encrypted data into 64-bit U4 and U5;

[0028] Step S53: The battery module sends M4, M5, U4, and U5 to the industrial computer.

[0029] Furthermore, the step S60 is specifically as follows:

[0030] The industrial computer encrypts the electronic control unit ID, M4, M5, U4, and U5 using base64 to obtain ecu id, mkm4, mkm5, ukm4, and ukm5.

[0031] Furthermore, the step S70 is specifically as follows:

[0032] The industrial computer generates a verification XML file based on the serial code, ecu id, mkm4, and mkm5, and generates an unlocking XML file based on the serial code, ecu id, ukm4, and ukm5.

[0033] Furthermore, the step S80 specifically includes:

[0034] Step S81: The industrial computer sends the verification XML file to the server, thereby performing online verification on the battery module, or performing offline verification on the battery module based on the verification XML file, and generating a verification result;

[0035] Step S82: Based on the verification result, determine whether the number of verification failures of the battery module exceeds a preset threshold. If so, lock the verification operation and proceed to step S83; if not, proceed to step S90;

[0036] Step S83: The industrial computer performs an unlock verification operation based on the unlock XML file and proceeds to step S81.

[0037] Furthermore, in step S81, the verification of the battery module based on the verification XML file is specifically as follows:

[0038] M4' and M5' are calculated based on the locally stored M1, M2, and M3. M4' and M5' are transcoded using base64 to obtain mkm4' and mkm5'. It is determined whether mkm4' is equal to mkm4, whether mkm5' is equal to mkm5, and whether the sequence code matches the ecu id. If so, the verification is successful; otherwise, the verification fails.

[0039] Furthermore, in step S80, the verification result carries at least the number of successful verifications and the number of failed verifications.

[0040] The advantages of the present invention are:

[0041] 1. By installing the certificate on the industrial computer, the battery module is verified in a trusted environment, and the key and unlock key obtained from the server are encrypted with MD5 and base64. The verification XML file and unlock XML file generated by double encryption are used to verify and unlock the battery module. One key and unlock key are only used for one battery module, which greatly improves the security of battery module verification.

[0042] 2. By locking the verification operation of the battery module whose verification failure times exceed the preset threshold, unlocking the verification operation using the unlocking XML file, and re-burning the program for the battery module that failed the verification, the battery module can be verified multiple times. If the verification fails, the program can be re-burned without scrapping the battery module, which supports non-destructive repair of the battery module and avoids waste of resources.

[0043] 3. By dividing the 128-bit first encrypted data and second encrypted data into 64-bit M4, M5, U4, and U5, compared with directly using 128-bit data, it can mislead hackers who steal relevant data, further improving the security of battery module verification. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0045] Figure 1 The present invention is a flowchart of a battery module safety verification method. DETAILED DESCRIPTION

[0046] The technical solution in the embodiment of the present application has the following overall idea: the battery module is verified in a certificate protection environment, the key and unlock key are double encrypted with MD5 encryption and base64, and the battery module is verified and unlocked using the verification XML file and unlocking XML file generated by the double encryption, and one key and unlock key are only used for one battery module to improve the security of battery module verification; by performing multiple verifications on the battery module that fails the verification, the program can be re-burned if the verification fails, and the battery module does not need to be scrapped, so as to support lossless repair of the battery module.

[0047] Please refer to Figure 1 As shown, a preferred embodiment of a battery module safety verification method of the present invention includes the following steps:

[0048] Step S10: The industrial computer obtains and installs the certificate;

[0049] Step S20: The industrial computer requests a Bin file containing a key and an unlock key from the server, and parses the Bin file to obtain a key including M1, M2, and M3 and an unlock key including U1, U2, and U3; M1, M2, and M3 are verification keys; and U1, U2, and U3 are unlock keys.

[0050] Step S30: The industrial computer obtains the serial code (ser iaINo) of the battery module through a barcode scanner, and performs CAN communication with the battery module to wake up the BMS of the battery module;

[0051] Step S40: The industrial computer communicates with the BMS based on the data identifier (DID) to obtain the electronic control unit ID (ECU ID) of the electric vehicle;

[0052] Step S50: The industrial computer sends M1, M2, M3, U1, U2, and U3 to the battery module, and receives M4, M5, U4, and U5 calculated by the battery module based on M1, M2, M3, U1, U2, and U3.

[0053] Step S60: The industrial computer encrypts the electronic control unit ID, M4, M5, U4, and U5 to obtain ecu id, mkm4, mkm5, ukm4, and ukm5;

[0054] Step S70: The industrial computer generates a verification XML file and an unlocking XML file based on the serial code, ecu id, mkm4, mkm5, ukm4, and ukm5;

[0055] Step S80: The industrial computer performs online or offline verification on the battery module based on the verification XML file and the unlocking XML file, and generates a verification result;

[0056] Step S90: The industrial computer re-burns the program of the battery module that failed verification and then performs verification again.

[0057] The step S10 specifically includes:

[0058] Step S11: The industrial computer obtains a certificate from the certificate provider via email based on the hostname and Mac.

[0059] Step S12: Install OpenSSL on the industrial computer and set the system environment (System Environment Var iab l es) for installing the certificate;

[0060] Step S13: Use a command line window to generate a CSR file and a key file based on the certificate, generate a PFX file based on the CSR file and the key file, and install the PFX file on an industrial computer to complete the installation of the certificate.

[0061] The step S20 is specifically as follows:

[0062] The industrial computer applies for a Bin file containing a key and an unlock key from the server through an API, and parses the Bin file in binary form to obtain a key including M1, M2, and M3 and an unlock key including U1, U2, and U3.

[0063] The step S30 is specifically as follows:

[0064] The industrial computer scans the barcode on the battery module through a barcode scanner to obtain the serial code of the battery module, and communicates with the battery module via CAN to send a heartbeat message, thereby waking up the BMS of the battery module.

[0065] The step S50 specifically includes:

[0066] Step S51: The industrial computer sends M1, M2, M3, U1, U2, and U3 to the battery module;

[0067] Step S52: The battery module performs MD5 encryption calculation on the received M1, M2, and M3 to obtain 128-bit first encrypted data, and divides the first encrypted data into 64-bit M4 and M5;

[0068] The battery module performs MD5 encryption calculation on the received U1, U2, and U3 to obtain 128-bit second encrypted data, and divides the second encrypted data into 64-bit U4 and U5;

[0069] Step S53: The battery module sends M4, M5, U4, and U5 to the industrial computer.

[0070] The step S60 is specifically as follows:

[0071] The industrial computer encrypts the electronic control unit ID, M4, M5, U4, and U5 using base64 to obtain ecu id, mkm4, mkm5, ukm4, and ukm5.

[0072] The step S70 is specifically as follows:

[0073] The industrial computer generates a verification XML file based on the serial code, ecu id, mkm4, and mkm5, and generates an unlocking XML file based on the serial code, ecu id, ukm4, and ukm5.

[0074] The verification XML file is named mk+serial No+time.xml, such as (mK_TEST-A09-2149-0004-524507-002-TEST_202209281530.xml)

[0075] The verification XML file is exemplified as follows:

[0076] <ecuRecordLi st>

[0077] <ecurecord>

[0078] <ecu i d>AAADdgAAoQCQAEE1 oQEUoQ==< / ecu i d>

[0079] <ser i a l No>TEST-A09-2149-0004-524507-002-TEST< / ser i a l No>

[0080] <m1>AAAAD l N l MBYGMRI l I gYAEf / l HWsd / EQRNTWXD6JgFk8=< / m1>

[0081] <m2>BAAAD l N l MBYGMRI l I gYAEf / l HWsd / EQRNTWXD6JgFk8=< / m2>

[0082] <m3>CAAAD l N l MBYGMRI l I gYAEf / l HWsd / EQRNTWXD6JgFk8=< / m3>

[0083] <mkm4>DAAAD l N l MBYGMR I l I gYAEf / l HWsd / EQRNTWXD6JgFk8=

[0084]

[0085] <mkm5>Wr2nkLdSG3bc5zymt5M / Lw==< / mkm5>

[0086] < / ecurecord>

[0087] < / ecuRecordL i st>

[0088] The unlock XML file is named with uk+serial No+time.xml, such as (uK_TEST-A09-2149-0004-524507-002-TEST_202209281530.xml)

[0089] The unlock XML file is exemplified as follows:

[0090] <ecuRecordL i st>

[0091] <ecurecord>

[0092] <ecu i d>AAADdgAAoQCQAEE1 oQEUoQ==< / ecu i d>

[0093] <ser i a l No>TEST-A09-2149-0004-524507-002-TEST< / ser i a l No>

[0094] <m1>AAAAD l N l MBYGMRI l I gYAEf / l HWsd / EQRNTWXD6JgFk8=< / m1>

[0095] <m2>BAAAD l N l MBYGMRI l I gYAEf / l HWsd / EQRNTWXD6JgFk8=< / m2>

[0096] <m3>CAAAD l N l MBYGMRI l I gYAEf / l HWsd / EQRNTWXD6JgFk8=< / m3>

[0097] <ukm4>AAAAD l N l MBYGMR I l I gYAEf / l HWsd / EQRNTWXD6JgFk8=< / ukm4>

[0098] <ukm5>Wr2nkLdSG3bc5zymt5M / Lw==< / ukm5>

[0099] < / ecurecord>

[0100] < / ecuRecordL i st>

[0101] The step S80 specifically includes:

[0102] Step S81: The industrial computer sends the verification XML file to the server, thereby performing online verification on the battery module, or performing offline verification on the battery module based on the verification XML file, and generating a verification result;

[0103] Step S82: Based on the verification result, determine whether the number of verification failures of the battery module exceeds a preset threshold. If so, lock the verification operation and proceed to step S83; if not, proceed to step S90;

[0104] Step S83: The industrial computer performs an unlock verification operation based on the unlock XML file and proceeds to step S81.

[0105] In step S81, the battery module is verified based on the verification XML file as follows:

[0106] M4' and M5' are calculated based on the locally stored M1, M2, and M3. M4' and M5' are transcoded using base64 to obtain mkm4' and mkm5'. It is determined whether mkm4' is equal to mkm4, whether mkm5' is equal to mkm5, and whether the sequence code matches the ecu id. If so, the verification is successful; otherwise, the verification fails.

[0107] The principle of using the unlocking XML file to unlock and verify the operation is the same as that of using the verification XML file to verify the battery module.

[0108] In step S80, the verification result carries at least the number of successful verifications and the number of failed verifications.

[0109] The verification results are exemplified as follows:

[0110] <? xm l vers i on="1.0"encod i ng="UTF-8" standa l one="yes"? >

[0111] <va l i dat i onRecords>

[0112] <va l i dat i onRecord>

[0113] <ecu i d> AAADdgAAoQCQAEE1 oQEUoQ==< / ecu i d>

[0114] <status>ECU ID_VERIFICATION_LIMIT_REACHED< / status>

[0115] < / va l i dat i onRecord>

[0116] <Va l i dRecords>1< / Va l i dRecords>

[0117] 0

[0118] < / va l i dat i onRecords>

[0119] If Va li dRecords = 1, it means that the verification is successful and the battery module can be tested or other assembly operations can be performed.

[0120] If Va li dRecords≠1, it means that verification failed and needs to be re-verified.

[0121] When InputRecords>the maximum verification times set by the user, no further verification will be performed.

[0122] In summary, the advantages of the present invention are:

[0123] 1. By installing the certificate on the industrial computer, the battery module is verified in a trusted environment, and the key and unlock key obtained from the server are encrypted with MD5 and base64. The verification XML file and unlock XML file generated by double encryption are used to verify and unlock the battery module. One key and unlock key are only used for one battery module, which greatly improves the security of battery module verification.

[0124] 2. By locking the verification operation of the battery module whose verification failure times exceed the preset threshold, unlocking the verification operation using the unlocking XML file, and re-burning the program for the battery module that failed the verification, the battery module can be verified multiple times. If the verification fails, the program can be re-burned without scrapping the battery module, which supports non-destructive repair of the battery module and avoids waste of resources.

[0125] 3. By dividing the 128-bit first encrypted data and second encrypted data into 64-bit M4, M5, U4, and U5, compared with directly using 128-bit data, it can mislead hackers who steal relevant data, further improving the security of battery module verification.

[0126] Although the specific embodiments of the present invention are described above, those skilled in the art should understand that the specific embodiments described are merely illustrative and are not intended to limit the scope of the present invention. Equivalent modifications and changes made by those skilled in the art in accordance with the spirit of the present invention should be included within the scope of protection of the claims of the present invention.

Claims

1. A battery module safety verification method, characterized by: The steps include: Step S10: The industrial computer obtains and installs the certificate; Step S20: The industrial computer requests a Bin file containing key and unlockkey from the server, and parses the Bin file to obtain a key including M1, M2, and M3 and an unlockkey including U1, U2, and U3; M1, M2, and M3 are verification keys; and U1, U2, and U3 are unlock keys. Step S30: The industrial computer obtains the serial code of the battery module through a barcode scanner, and performs CAN communication with the battery module to wake up the BMS of the battery module; Step S40: The industrial computer communicates with the BMS based on the data identifier to obtain the electronic control unit ID of the electric vehicle; Step S50: The industrial computer sends the M1, M2, M3, U1, U2, and U3 to the battery module, and receives M4, M5, U4, and U5 calculated by the battery module based on the M1, M2, M3, U1, U2, and U3; the M4 is the first derived key of M1, M2, and M3, the M5 is the second derived key of M1, M2, and M3, and the result of the MD5 encryption calculation after the splicing of M1, M2, and M3 is equal to the splicing result of M4 and M5; the U4 is the third derived key of U1, U2, and U3, and the U5 is the fourth derived key of U1, U2, and U3, and the result of the MD5 encryption calculation after the splicing of U1, U2, and U3 is equal to the splicing result of U4 and U5; Step S60: The industrial computer encrypts the electronic control unit ID, M4, M5, U4, and U5 to obtain ecuid, mkm4, mkm5, ukm4, and ukm5; mkm4, mkm5, ukm4, and ukm5 are base64 encoding results of M4, M5, U4, and U5, respectively. Step S70: The industrial computer generates a verification XML file and an unlocking XML file based on the serial code, ecuid, mkm4, mkm5, ukm4, and ukm5; Step S80: The industrial computer performs online or offline verification on the battery module based on the verification XML file and the unlocking XML file, and generates a verification result; Step S90: The industrial computer re-burns the program of the battery module that failed verification and then performs verification again.

2. A battery module safety verification method according to claim 1, characterized in that: described Step S10 specifically includes: Step S11: The industrial computer obtains a certificate from the certificate provider based on the hostname and Mac; Step S12: Install OpenSSL on the industrial computer and set the system environment for installing the certificate; Step S13: Generate a CSR file and a key file based on the certificate, generate a PFX file based on the CSR file and the key file, and install the PFX file on an industrial computer to complete the installation of the certificate.

3. The battery module safety verification method according to claim 1, wherein: The step S20 is specifically as follows: The industrial computer applies for a Bin file containing key and unlockkey from the server through the API, and parses the Bin file in binary mode to obtain the key including M1, M2, and M3 and the unlockkey including U1, U2, and U3.

4. A battery module safety verification method according to claim 1, characterized in that: The step S30 is specifically as follows: The industrial computer obtains the serial code of the battery module through a barcode scanner, and communicates with the battery module via CAN to send a heartbeat message, thereby waking up the BMS of the battery module.

5. The battery module safety verification method according to claim 1, wherein: The step S50 specifically includes: Step S51: The industrial computer sends M1, M2, M3, U1, U2, and U3 to the battery module; Step S52: The battery module performs MD5 encryption calculation on the received M1, M2, and M3 to obtain 128-bit first encrypted data, and divides the first encrypted data into 64-bit M4 and M5; The battery module performs MD5 encryption calculation on the received U1, U2, and U3 to obtain 128-bit second encrypted data, and divides the second encrypted data into 64-bit U4 and U5; Step S53: The battery module sends M4, M5, U4, and U5 to the industrial computer.

6. A battery module safety verification method according to claim 1, characterized in that: The step S60 is specifically as follows: The industrial computer encrypts the electronic control unit ID, M4, M5, U4, and U5 using base64 to obtain ecuid, mkm4, mkm5, ukm4, and ukm5.

7. A battery module safety verification method according to claim 1, characterized in that: The step S70 is specifically as follows: The industrial computer generates a verification XML file based on the serial code, ecuid, mkm4, and mkm5, and generates an unlocking XML file based on the serial code, ecuid, ukm4, and ukm5.

8. A battery module safety verification method according to claim 1, characterized in that: The step S80 specifically includes: Step S81: The industrial computer sends the verification XML file to the server, thereby performing online verification on the battery module, or performing offline verification on the battery module based on the verification XML file, and generating a verification result; Step S82: Based on the verification result, determine whether the number of verification failures of the battery module exceeds a preset threshold. If so, lock the verification operation and proceed to step S83; if not, proceed to step S90; Step S83: The industrial computer performs an unlock verification operation based on the unlock XML file and proceeds to step S81.

9. A battery module safety verification method according to claim 8, characterized in that: In step S81, the battery module is verified based on the verification XML file as follows: M4' and M5' are calculated based on the locally stored M1, M2, and M3. M4' and M5' are transcoded using base64 to obtain mkm4' and mkm5'. Check whether mkm4' is equal to mkm4, whether mkm5' is equal to mkm5, and whether the sequence code matches the ecuid. If so, the verification succeeds; otherwise, the verification fails.

10. A battery module safety verification method according to claim 1, characterized in that: In step S80, the verification result carries at least the number of successful verifications and the number of failed verifications.

Citation Information

Patent Citations

  • Safety verification system and method

    CN106203062A

  • Battery use verification method, battery system and automobile

    CN107743065A