CN112989356B - Blank security chip burning method, system, blank security chip and storage medium - Google Patents

Blank security chip burning method, system, blank security chip and storage medium Download PDF

Info

Publication number
CN112989356B
CN112989356B CN202110253343.9A CN202110253343A CN112989356B CN 112989356 B CN112989356 B CN 112989356B CN 202110253343 A CN202110253343 A CN 202110253343A CN 112989356 B CN112989356 B CN 112989356B
Authority
CN
China
Prior art keywords
key
ciphertext
security chip
inaccessible
burning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110253343.9A
Other languages
Chinese (zh)
Other versions
CN112989356A (en
Inventor
罗继
张巧惠
罗炳超
施杰
胡胜发
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Ankai Microelectronics Co ltd
Original Assignee
Guangzhou Ankai Microelectronics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Ankai Microelectronics Co ltd filed Critical Guangzhou Ankai Microelectronics Co ltd
Priority to CN202110253343.9A priority Critical patent/CN112989356B/en
Publication of CN112989356A publication Critical patent/CN112989356A/en
Application granted granted Critical
Publication of CN112989356B publication Critical patent/CN112989356B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The application provides a blank security chip burning method, a system, a blank security chip and a storage medium, wherein the method is that a cipher text key is adopted in advance to encrypt a burning program and content to be burned to obtain an external cipher text, an encryption public key is adopted to encrypt the cipher text key to obtain a key cipher text, then the blank security chip is powered on to operate a ROM program to obtain the external cipher text and the key cipher text, the key cipher text is decrypted through a decryption private key solidified in the ROM to obtain a cipher text key, then the cipher text key is used to decrypt the external cipher text to obtain the burning program and the content to be burned, the ROM address where the decryption private key is located is set to be inaccessible, and the burning program is executed to write the content to be burned into the blank security chip. According to the application, the acquisition and decryption of the external ciphertext are carried out inside the chip, so that the fact that the plaintext is invisible outside the chip is ensured, and the decryption private key solidified in the ROM is set to be inaccessible, so that the leakage risk of the decryption private key is effectively reduced, and the safety and reliability of the self-safety information burning of the blank safety chip are improved.

Description

Blank security chip burning method, system, blank security chip and storage medium
Technical Field
The present application relates to the field of secure recording, and in particular, to a method and a system for recording a blank secure chip, and a storage medium.
Background
In the information age, the chip is widely used for various electronic products and systems such as computers, mobile phones, household appliances, automobiles, high-speed rails, power grids, medical instruments, robots, industrial control and the like, and is a core foundation stone of high-end manufacturing industry. Along with the rapid development of technology and the continuous improvement of people's safety consciousness, the demands of presetting ID, secret key and other safety information on the bottom chip by the chip application equipment are brought along, and how to safely burn corresponding safety information into the chip becomes a concern.
The existing burning of the safety information of the blank safety chip is mostly batch burning in factories, and the corresponding protection measures are generally as follows: one or more layers of encryption is carried out on the content to be recorded, then decryption is carried out in a recording tool, and the content is recorded in a chip to be recorded on a recording base; or a trusted operating system is run on the chip, and the operating system is used for decrypting the recorded content and then burning the recorded content into the chip. Although the existing protection measures can avoid the leakage of the safety information to a certain extent, the existing protection measures still have the defect that because the encrypted recorded content is decrypted in a recording tool or an operating system, a multiplicable machine is necessarily left for an attacker, and the risk of information leakage is brought. It is necessary to provide a more reliable and secure method for recording the security information of the blank security chip.
Disclosure of Invention
The application aims to provide a method for burning self-safety related information of a blank safety chip, which realizes the decryption process in the chip, ensures that a decrypted plaintext and a decrypted key are invisible outside the chip, solves the technical problem that the content to be burned is easy to be intercepted outside the chip in the existing chip safety information burning process, and effectively avoids the risk of leakage of safety information in the burning process.
In order to achieve the above objective, it is necessary to provide a blank security chip burning method, a system, a blank security chip and a storage medium for solving the above technical problems.
In a first aspect, an embodiment of the present application provides a method for burning a blank security chip, where the method includes the following steps:
encrypting the burning program and the content to be burned by adopting a ciphertext key in advance to obtain an external ciphertext;
encrypting the ciphertext key by adopting an encryption public key to obtain a key ciphertext;
powering up a blank security chip, and acquiring the external ciphertext and the key ciphertext;
decrypting the key ciphertext through a decryption private key corresponding to the encryption public key to obtain a ciphertext key, and decrypting the external ciphertext through the ciphertext key to obtain the burning program and the content to be burned; the decryption private key is arranged in the blank security chip;
and executing the burning program, and writing the content to be burned into the blank security chip.
Further, the ciphertext key is generated using a symmetric encryption algorithm.
Further, the encryption public key and the decryption private key are generated by adopting an asymmetric encryption algorithm.
Further, the step of powering up the blank security chip and obtaining the external ciphertext and the key ciphertext includes:
running a ROM program of the blank security chip;
and the ROM program acquires the external ciphertext and the key ciphertext according to a communication protocol and stores the external ciphertext and the key ciphertext into the RAM of the blank security chip.
Further, the key ciphertext is decrypted through a decryption private key corresponding to the encryption public key to obtain a ciphertext key, and the external ciphertext is decrypted through the ciphertext key to obtain the burning program and the content to be burned; the step of decrypting the private key is built in the blank security chip, and comprises the following steps:
decrypting the key ciphertext by the ROM program according to the preset decryption private key to obtain the ciphertext key;
and decrypting the external ciphertext according to the ciphertext key to obtain a burning program and content to be burned.
Further, before the executing the burning program and writing the content to be burned into the blank security chip, the method further includes:
and configuring the ROM address storing the decryption private key to be inaccessible through the hardware of the blank security chip, and configuring only 1 time after power-on.
Further, the configuring, by the hardware of the blank security chip, the ROM address storing the decryption private key to be inaccessible, and the configuring only 1 time after power-up includes:
pre-storing the configuration inaccessible identification using a first register and storing the inaccessible ROM address range using a second register; the initial values of the first register and the second register are 0;
when an AHB requests to configure an inaccessible identifier of a first register, a verilog program acquires the value of the first register, judges whether the inaccessible identifier is 0, if so, executes a configuration instruction, otherwise, refuses to execute the configuration instruction;
when the AHB bus requests to write the inaccessible ROM address range into a second register, a verilog program acquires the value of the first register, judges whether the configuration inaccessible identification is 0, if so, executes a configuration instruction, and otherwise, refuses to execute the configuration instruction;
when the AHB requests to read ROM address data, the Verilog program acquires the value of a second register, judges whether the ROM address is in the inaccessible ROM address range, returns a true value if the ROM address is not in the inaccessible ROM address range, otherwise, acquires the value of the first register, judges whether the configuration inaccessible flag is 0, returns the true value if the configuration inaccessible flag is 0, and otherwise, returns 0.
In a second aspect, an embodiment of the present application provides a blank security chip burning system, where the system includes:
the ciphertext obtaining module is used for encrypting the burning program and the content to be burned by adopting a ciphertext key in advance to obtain an external ciphertext;
the key encryption module is used for encrypting the ciphertext key by adopting an encryption public key to obtain a key ciphertext;
the download ciphertext module is used for powering up the blank security chip and acquiring the external ciphertext and the key ciphertext;
the ciphertext decryption module is used for decrypting the key ciphertext through a decryption private key corresponding to the encryption public key to obtain a ciphertext key, and decrypting the external ciphertext through the ciphertext key to obtain the burning program and the content to be burned; the decryption private key is arranged in the blank security chip;
and the chip burning module is used for executing the burning program and writing the content to be burned into the blank security chip.
Further, before the chip burning module, the method further comprises:
and the configuration permission module is used for configuring the ROM address storing the decryption private key to be inaccessible through the hardware of the blank security chip, and the configuration can be carried out only 1 time after the power-on.
In a third aspect, the embodiment of the present application further provides a blank security chip, where the blank security chip does not burn security information, and the blank security chip executes the steps of the blank security chip burning method described above.
In a fourth aspect, embodiments of the present application also provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the above method.
The application provides a blank security chip burning method, a system, a blank security chip and a storage medium, by the method, the technical scheme that a cipher text key of a symmetric encryption algorithm is adopted in advance to encrypt a burning program and content to be burned, an encryption public key of an asymmetric encryption algorithm is adopted to encrypt the cipher text key to obtain corresponding external cipher text and key cipher text, the blank security chip is electrified, a ROM program is operated to download the external cipher text and the key cipher text to an internal RAM for storage, a decryption private key of the asymmetric encryption algorithm solidified in the ROM program is adopted to decrypt the key cipher text to obtain a cipher text key, then the external cipher text is decrypted to obtain the burning program and the content to be burned, and then the ROM address storing the decryption private key is set by chip hardware to execute the burning program to write the content to be burned into the blank security chip is realized. Compared with the prior art, the method for burning the self-security information of the blank security chip realizes the decryption process in the chip, ensures that the decrypted plaintext and the secret key used for decryption are invisible outside the chip, realizes the function of inaccessible ROM address where the configured decryption private key is located, effectively reduces the leakage risk of the decryption private key while overcoming the technical problem that the content to be burned is easy to be intercepted outside the chip in the prior protection measures, further avoids the leakage risk in the security information burning process, and improves the security and reliability of the self-security related information burning of the blank security chip.
Drawings
FIG. 1 is a schematic flow chart of a burning method of a hollow white security chip according to an embodiment of the application;
fig. 2 is a schematic flow chart of step S13 in fig. 1 for obtaining an external ciphertext and a key ciphertext;
FIG. 3 is a flowchart of another method for burning a blank security chip according to an embodiment of the application;
FIG. 4 is a schematic diagram of a burning system of a hollow white security chip according to an embodiment of the present application;
fig. 5 is a schematic diagram of another blank security chip burning system according to an embodiment of the application.
Detailed Description
In order to make the objects, technical solutions and advantageous effects of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples, and it is apparent that the examples described below are part of the examples of the present application, which are provided for illustration only and are not intended to limit the scope of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The blank security chip burning method provided by the application is a method for burning self security information of the blank security chip, effectively avoids the risk that security information leakage is caused by easy interception of content to be burned and related keys by external attackers in the existing chip burning technology, and is a great progress in the blank security chip burning technology.
In one embodiment, as shown in fig. 1, a blank security chip burning method is provided, which includes the following steps:
s11, encrypting the burning program and the content to be burned by adopting a ciphertext key in advance to obtain an external ciphertext;
the ciphertext key is generated by adopting a symmetric encryption algorithm. The symmetric encryption algorithm is an encryption algorithm for encrypting and decrypting the same secret key, namely, a data sender processes a plaintext (original data) and the encryption secret key together through a special encryption algorithm to change the plaintext into a complex encrypted ciphertext to be sent out, and when a receiver receives the ciphertext, the ciphertext is decrypted by using the encryption secret key for encrypting the plaintext and an inverse algorithm of the same algorithm, so that the ciphertext can be restored into a readable plaintext. Common symmetric encryption algorithms include AES, SM4, DES, 3DES, DESX, blowfish, RC4, RC5, RC6, etc., which can be selected according to the practical application requirements in combination with the characteristics of each algorithm. The symmetric encryption algorithm has the characteristics of algorithm openness, small calculated amount, high encryption speed, high encryption efficiency and the like, ensures the privacy of encrypted contents, and simultaneously ensures the convenience and rapidness of encryption of the burning program and the contents to be burned.
S12, encrypting the ciphertext key by adopting an encryption public key to obtain a key ciphertext;
the encryption public key and the decryption private key used later are generated by adopting an asymmetric encryption algorithm. The asymmetric encryption algorithm is also called public-private key encryption, and is different from the symmetric encryption algorithm in that encryption and decryption use different keys, namely two users need to encrypt and exchange data, two users exchange public keys, one party encrypts by using the public key of the opposite party when in use, and the other party can decrypt by using the private key of the other party. Common asymmetric encryption algorithms include RSA, SM2, DSA (for digital signature), ECC (for mobile device), diffie-Hellman, el Gamal, etc., which can be selected according to the actual application requirements in combination with the characteristics of each algorithm. The encryption of the asymmetric encryption algorithm is improved in safety, but the operation speed is lower than that of the symmetric encryption algorithm, especially when a large amount of data is encrypted, so that the original data is encrypted by the symmetric encryption algorithm, and then the secret key of the symmetric encryption algorithm is managed by the asymmetric encryption algorithm, so that the advantages of the two encryption algorithms can be integrated, the encryption speed is ensured, and the security and reliability of encryption are improved.
S13, powering up a blank security chip, and acquiring the external ciphertext and the key ciphertext;
after the chip is started, a ROM program in the chip is started to be executed, and the ROM program may select an appropriate communication protocol according to actual requirements to obtain an external ciphertext and a key ciphertext, as shown in fig. 2, the step S13 of powering on the blank security chip and obtaining the external ciphertext and the key ciphertext includes:
s131, running a ROM program of the blank security chip;
the ROM program is preset by a blank security chip, and a decryption private key for decrypting the key ciphertext is solidified in the ROM program. After the blank security chip is electrified, the ROM program in the chip is operated first, and the ROM program completes the preparation work before the content to be burnt is burnt.
S132, the ROM program acquires the external ciphertext and the key ciphertext according to a communication protocol, and stores the external ciphertext and the key ciphertext into the RAM of the blank security chip.
After the external ciphertext and the key ciphertext are provided to the burning factory by the client, the burning factory arranges the burning environment in advance according to the bus communication protocol actually used, and the burning preparation work is done. The selection of the communication protocol can be determined according to the actual use protocol interface requirements, such as bus communication protocols corresponding to a UART bus interface, an SPI bus interface, an I2C bus interface, a nand flash interface, an LCD interface and the like. The ROM can download external ciphertext and key ciphertext from the bus interface according to a bus communication protocol corresponding to the bus interface, and store the external ciphertext and the key ciphertext in the RAM for subsequent burning, and the specific method is just to adopt the prior art and is not repeated here.
S14, decrypting the key ciphertext through a decryption private key corresponding to the encryption public key to obtain a ciphertext key, and decrypting the external ciphertext through the ciphertext key to obtain the burning program and the content to be burned; the decryption private key is arranged in the blank security chip;
the decryption private key of the blank security chip is pre-configured in the ROM program and is used for decrypting the cipher text of the key, and the cipher text key is a symmetric key used for encrypting the burning program and the content to be burned as described above. After the ROM program obtains the external ciphertext and the corresponding key ciphertext, the ROM program firstly decrypts the key ciphertext by using a decryption private key and a corresponding asymmetric encryption algorithm to obtain a ciphertext key (namely a symmetric key used for encrypting the burning program and the content to be burned), and after the ROM program obtains the ciphertext key (the symmetric key), the ROM program is matched with the corresponding symmetric encryption algorithm to decrypt the external ciphertext to obtain plaintext information of the burning program and the content to be burned.
In this embodiment, on the basis that the internal ROM program of the chip downloads and stores the external ciphertext and the corresponding key ciphertext into the internal RAM of the chip, the ROM program sequentially decrypts the key ciphertext and the external ciphertext by using the decryption private key to obtain the plaintext information of the recording program and the content to be recorded, on the basis that the encrypted content and the encrypted key chip are invisible, the effect of imperceptible outside the chip in the decryption private key and decryption process is also ensured, and the privacy of the security information is further enhanced.
And S15, executing the burning program, and writing the content to be burned into the blank security chip.
The execution of the programming program is also realized in the chip, after the ROM program obtains the programming program and the content to be programmed, the preparation work of programming is completed, the CPU is transferred to the programming program, the programming program is executed to write the content to be programmed of the chip into the chip, and thus the programming of the self-safety information of the blank safety chip is completed in the chip.
The embodiment of the application designs a burning method for burning self-safety information of a blank safety chip based on the risk that the burning content and the corresponding encryption key are easy to expose outside the chip in the existing internal safety information burning protection measures of the blank safety chip, the burning program and the content to be burnt are encrypted by the encryption key of a symmetrical encryption algorithm in advance, the encryption key is further encrypted by the encryption public key of an asymmetrical encryption algorithm, after the external ciphertext and the corresponding key ciphertext are obtained, the blank safety chip to be burnt is electrified, the internal ROM program is downloaded to obtain the external ciphertext and the corresponding key ciphertext and stored in the internal RAM of the chip, and the ROM program sequentially decrypts the key ciphertext and the external ciphertext by using a preset decryption private key to obtain the plaintext information of the burning program and the plaintext information of the content to be burnt, and then the burning program is executed to write the content to be burnt into the chip, so that the internal safety information and the decryption key of the blank safety chip are invisible outside the chip in the whole burning process, the security information and the private key of the internal safety information of the blank safety chip are easily obtained outside the chip in the whole burning process, the security information is ensured, the privacy of the security information is effectively prevented from being intercepted and the security information is effectively prevented from being intercepted.
In one embodiment, as shown in fig. 3, in order to further improve the security of the decryption private key, a blank security chip burning method is provided, and the method includes the following steps:
s21, encrypting the burning program and the content to be burned by adopting a ciphertext key in advance to obtain an external ciphertext;
s22, encrypting the ciphertext key by adopting an encryption public key to obtain a key ciphertext;
s23, powering up a blank security chip, and acquiring the external ciphertext and the key ciphertext;
s24, decrypting the key ciphertext through a decryption private key corresponding to the encryption public key to obtain a ciphertext key, and decrypting the external ciphertext through the ciphertext key to obtain the burning program and the content to be burned; the decryption private key is arranged in the blank security chip;
s25, configuring the ROM address storing the decryption private key to be inaccessible through the hardware of the blank security chip, and configuring the ROM address for only 1 time after power-on.
The hardware function of the blank security chip is realized by using a Verilog program, has the function that a part of ROM area cannot be accessed, cannot be modified again once the ROM area is configured to be inaccessible, and can be recovered to be accessed and reconfigured only by reset or power-up again.
Verilog is a hardware description language that describes the structure and behavior of digital system hardware in text form, and may represent logic diagrams, logic expressions, and logic functions performed by a digital logic system. In this embodiment, the Verilog program is adopted to implement that the ROM address range where the hardware configuration stores the decryption private key is inaccessible, and specifically the inaccessible scheme is set as follows: initializing a first register and a second register to be 0 value in advance, storing an inaccessible mark by using the first register when the partial address of the configuration ROM is inaccessible, and storing an inaccessible ROM address range by using the second register; when the AHB requests to read ROM address data, the Verilog program acquires the value of the second register to judge whether the ROM address is in the inaccessible ROM address range, if not, the value of the first register is acquired, otherwise, whether the ROM address is inaccessible is judged by configuring whether the inaccessible mark is 0, if the return value is 0, the ROM address is not configured, the ROM address can be directly accessed, namely, the true value is returned, otherwise, the ROM address is configured, and the value of 0 needs to be returned.
The scheme that the corresponding implementation configuration cannot be modified again after being inaccessible is as follows:
when the AHB requests to write data into the first register, the verilog program acquires the value of the first register to judge whether the inaccessible mark of the configuration is 0, if so, the configuration writing instruction can be normally executed; if the configuration is not 0, the configuration is configured, the configuration is directly returned, and the configuration writing instruction is not executed.
When the AHB bus requests to write data into the second register, the verilog program acquires the value of the first register to judge whether the inaccessible mark of the configuration is 0, if so, the configuration writing instruction can be normally executed, namely, the inaccessible address is written into the second register; if the configuration is not 0, the configuration is configured, the configuration is directly returned, and the configuration writing instruction is not executed.
It should be noted that, after the reset of the system or the powering up of the chip, the values of the first register and the second register are restored to the default value of 0, i.e. the access and reconfiguration authority can be restored.
S26, executing the burning program, and writing the content to be burned into the blank security chip.
According to the embodiment, based on the fact that the external ciphertext and the key ciphertext are directly downloaded and stored in the internal RAM through the chip and decrypted inside the chip, the ROM address stored by the decryption private key for decrypting the key ciphertext is set to be inaccessible on the basis that the plaintext and the key obtained after decryption are invisible outside the chip, the burning program is executed for burning, and the leakage risk of the decryption private key is effectively reduced through strengthening the safety protection of the decryption private key, so that the safety of safe information burning is further improved.
Although the steps in the flowcharts described above are shown in order as indicated by arrows, these steps are not necessarily executed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders.
In one embodiment, as shown in fig. 4, a blank security chip burning system is provided, the system comprising:
the ciphertext obtaining module 11 is configured to encrypt the recording program and the content to be recorded by using a ciphertext key in advance, so as to obtain an external ciphertext;
a key encryption module 12, configured to encrypt the ciphertext key with an encryption public key to obtain a key ciphertext;
the download ciphertext module 13 is configured to power up a blank security chip and obtain the external ciphertext and the key ciphertext;
the ciphertext decrypting module 14 is configured to decrypt the key ciphertext through a decrypting private key corresponding to the encrypting public key to obtain a ciphertext key, and decrypt the external ciphertext through the ciphertext key to obtain the burning program and the content to be burned; the decryption private key is arranged in the blank security chip;
and the chip burning module 15 is used for executing the burning program and writing the content to be burned into the blank security chip.
In one embodiment, as shown in fig. 5, a blank security chip burning system is provided, the system comprising:
the ciphertext obtaining module 21 is configured to encrypt the recording program and the content to be recorded by using a ciphertext key in advance, so as to obtain an external ciphertext;
a key encryption module 22, configured to encrypt the ciphertext key with an encryption public key to obtain a key ciphertext;
the download ciphertext module 23 is configured to power up a blank security chip and obtain the external ciphertext and the key ciphertext;
the ciphertext decrypting module 24 is configured to decrypt the key ciphertext by using a decrypting private key corresponding to the encrypting public key to obtain a ciphertext key, and decrypt the external ciphertext by using the ciphertext key to obtain the burning program and the content to be burned; the decryption private key is arranged in the blank security chip;
and the configuration permission module 25 is configured to configure the ROM address storing the decryption private key to be inaccessible through the hardware of the blank security chip, and can be configured only 1 time after power-on.
The chip programming module 26 is configured to execute the programming program and write the content to be programmed into the blank security chip.
It should be noted that, the blank security chip burning system in this embodiment is different from the above system only in that the configuration authority module 25 is added, and other implementation manners of the modules are consistent with the above system embodiment. The application of burning self information of the actual blank security chip is as follows: the chip design manufacturer solidifies the decryption private key in the ROM program in the blank security chip, and provides the encryption public key for the client to encrypt the encryption and decryption program and the cipher text key of the recorded content; the client gives the encrypted external ciphertext and the encrypted secret key ciphertext to a burning factory for batch burning; the method comprises the steps that a burning factory stores external ciphertext and key ciphertext of a client according to a bus protocol used as required, a burning environment is prepared, a blank security chip to be burned is electrified, a ROM program is operated by the chip, the external ciphertext and the key ciphertext are downloaded to a RAM (random access memory) inside the chip through corresponding interfaces such as uart and spi according to the bus communication protocol, the key ciphertext and the external ciphertext are sequentially decrypted according to a solidified decryption private key to obtain the burning program and plaintext information of content to be burned, and after a ROM address storing the decryption private key is set to be inaccessible, the burning program is executed to write the content to be burned into the blank security chip to complete writing of related security information.
For specific limitation of the blank security chip recording system, reference may be made to the limitation of the blank security chip recording method hereinabove, and no further description is given here. All or part of the modules in the blank security chip burning system can be realized by software, hardware and a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment, a blank security chip is provided, and the steps of the method are implemented at power-on run time.
In one embodiment, a computer readable storage medium is provided having a computer program stored thereon, which when executed by a processor, implements the steps of the above method.
In summary, the blank security chip burning method, system, blank security chip and storage medium provided by the embodiment of the application, the blank security chip burning method generates an encryption public key and a decryption private key by using an asymmetric encryption algorithm in advance, the encryption public key is used for encrypting a cipher text key for encrypting and decrypting a burning program and burning content to obtain an external cipher text and a key cipher text, the decryption private key is solidified in a ROM program in the blank security chip, the ROM program is operated by the blank security chip to be burnt, the ROM program downloads the external cipher text and the key cipher text to a RAM in the chip through corresponding interfaces such as UART, SPI and the like according to a bus communication protocol for storage, the key cipher text and the external cipher text are sequentially decrypted according to the solidified decryption private key to obtain plaintext information of the burning program and the content to be burnt, after the ROM address storing the decryption private key is set as inaccessible, the program is executed to write the content to be recorded into the blank security chip to complete the writing of the related security information, thereby realizing the secure recording of the self security information by the blank security chip, ensuring the privacy of the information to be recorded outside the chip by using a symmetric encryption algorithm and an asymmetric encryption algorithm, ensuring the invisible plaintext and ciphertext key after decryption and decryption flow outside the chip by a decryption method inside the chip, overcoming the technical problem that the plaintext of the recorded content is easy to be intercepted in a recording tool, namely outside the chip in the prior protective measures, and effectively reducing the leakage risk of the decryption private key by setting the private key storage inaccessible through chip hardware, further avoiding the risk of an attacker obtaining the security information, the safety and the reliability of the information burning of the blank safety chip are improved.
In this specification, each embodiment is described in a progressive manner, and all the embodiments are directly the same or similar parts referring to each other, and each embodiment mainly describes differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments. It should be noted that, any combination of the technical features of the foregoing embodiments may be used, and for brevity, all of the possible combinations of the technical features of the foregoing embodiments are not described, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples represent only a few preferred embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the application. It should be noted that modifications and substitutions can be made by those skilled in the art without departing from the technical principles of the present application, and such modifications and substitutions should also be considered to be within the scope of the present application. Therefore, the protection scope of the patent of the application is subject to the protection scope of the claims.

Claims (7)

1. The blank security chip burning method is characterized by comprising the following steps of:
encrypting the burning program and the content to be burned by adopting a ciphertext key in advance to obtain an external ciphertext;
encrypting the ciphertext key by adopting an encryption public key to obtain a key ciphertext;
powering up a blank security chip, and acquiring the external ciphertext and the key ciphertext;
decrypting the key ciphertext through a decryption private key corresponding to the encryption public key to obtain a ciphertext key, and decrypting the external ciphertext through the ciphertext key to obtain the burning program and the content to be burned; the decryption private key is arranged in the blank security chip;
executing the burning program, and writing the content to be burned into the blank security chip;
before the executing the burning program and writing the content to be burned into the blank security chip, the method further includes:
the ROM address storing the decryption private key is configured to be inaccessible through the hardware of the blank security chip, and can be configured only 1 time after power-on;
the step of configuring the ROM address storing the decryption private key to be inaccessible through the hardware of the blank security chip, wherein the step of configuring only 1 time after power-on comprises the following steps:
pre-storing the configuration inaccessible identification using a first register and storing the inaccessible ROM address range using a second register; the initial values of the first register and the second register are 0;
when an AHB requests to configure an inaccessible identifier of a first register, a verilog program acquires the value of the first register, judges whether the inaccessible identifier is 0, if so, executes a configuration instruction, otherwise, refuses to execute the configuration instruction;
when the AHB bus requests to write the inaccessible ROM address range into a second register, a verilog program acquires the value of the first register, judges whether the configuration inaccessible identification is 0, if so, executes a configuration instruction, and otherwise, refuses to execute the configuration instruction;
when the AHB requests to read ROM address data, the Verilog program acquires the value of a second register, judges whether the ROM address is in the inaccessible ROM address range, returns a true value if the ROM address is not in the inaccessible ROM address range, otherwise, acquires the value of the first register, judges whether the configuration inaccessible flag is 0, returns the true value if the configuration inaccessible flag is 0, and otherwise, returns 0.
2. The blank security chip burning method of claim 1, wherein the ciphertext key is generated using a symmetric encryption algorithm.
3. The blank security chip burning method of claim 1, wherein the encryption public key and the decryption private key are generated using an asymmetric encryption algorithm.
4. The method for burning the blank security chip as claimed in claim 1, wherein the step of powering up the blank security chip and obtaining the external ciphertext and the key ciphertext comprises:
running a ROM program of the blank security chip;
and the ROM program acquires the external ciphertext and the key ciphertext according to a communication protocol and stores the external ciphertext and the key ciphertext into the RAM of the blank security chip.
5. A blank security chip burning system, the system comprising:
the ciphertext obtaining module is used for encrypting the burning program and the content to be burned by adopting a ciphertext key in advance to obtain an external ciphertext;
the key encryption module is used for encrypting the ciphertext key by adopting an encryption public key to obtain a key ciphertext;
the download ciphertext module is used for powering up the blank security chip and acquiring the external ciphertext and the key ciphertext;
the ciphertext decryption module is used for decrypting the key ciphertext through a decryption private key corresponding to the encryption public key to obtain a ciphertext key, and decrypting the external ciphertext through the ciphertext key to obtain the burning program and the content to be burned; the decryption private key is arranged in the blank security chip;
the configuration permission module is used for configuring the ROM address storing the decryption private key to be inaccessible through the hardware of the blank security chip, and the configuration can be carried out only 1 time after the power-on;
the chip burning module is used for executing the burning program and writing the content to be burned into the blank security chip;
the configuration of the ROM address storing the decryption private key by the hardware of the blank security chip is inaccessible, and the configuration can only be carried out 1 time after power-on, including:
pre-storing the configuration inaccessible identification using a first register and storing the inaccessible ROM address range using a second register; the initial values of the first register and the second register are 0;
when an AHB requests to configure an inaccessible identifier of a first register, a verilog program acquires the value of the first register, judges whether the inaccessible identifier is 0, if so, executes a configuration instruction, otherwise, refuses to execute the configuration instruction;
when the AHB bus requests to write the inaccessible ROM address range into a second register, a verilog program acquires the value of the first register, judges whether the configuration inaccessible identification is 0, if so, executes a configuration instruction, and otherwise, refuses to execute the configuration instruction;
when the AHB requests to read ROM address data, the Verilog program acquires the value of a second register, judges whether the ROM address is in the inaccessible ROM address range, returns a true value if the ROM address is not in the inaccessible ROM address range, otherwise, acquires the value of the first register, judges whether the configuration inaccessible flag is 0, returns the true value if the configuration inaccessible flag is 0, and otherwise, returns 0.
6. A blank security chip, characterized in that the blank security chip has no security information burned, the blank security chip performing the steps of the method according to any of claims 1 to 4.
7. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 4.
CN202110253343.9A 2021-03-08 2021-03-08 Blank security chip burning method, system, blank security chip and storage medium Active CN112989356B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110253343.9A CN112989356B (en) 2021-03-08 2021-03-08 Blank security chip burning method, system, blank security chip and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110253343.9A CN112989356B (en) 2021-03-08 2021-03-08 Blank security chip burning method, system, blank security chip and storage medium

Publications (2)

Publication Number Publication Date
CN112989356A CN112989356A (en) 2021-06-18
CN112989356B true CN112989356B (en) 2023-11-10

Family

ID=76335640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110253343.9A Active CN112989356B (en) 2021-03-08 2021-03-08 Blank security chip burning method, system, blank security chip and storage medium

Country Status (1)

Country Link
CN (1) CN112989356B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806774B (en) * 2021-09-15 2024-02-13 惠州市德赛电池有限公司 Encryption method, decryption method and system
CN114629641B (en) * 2022-03-17 2022-10-25 江南信安(北京)科技有限公司 Code downloading starting safety protection method and device based on safety chip
CN117251174A (en) * 2022-06-09 2023-12-19 广州视源电子科技股份有限公司 Data burning method, device, computer equipment and computer readable storage medium
CN115129332A (en) * 2022-08-30 2022-09-30 深圳市航顺芯片技术研发有限公司 Firmware burning method, computer equipment and readable storage medium
CN115454918B (en) * 2022-11-11 2023-02-03 成都航天通信设备有限责任公司 CX9261 chip configuration method based on FPGA

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102280133A (en) * 2011-08-16 2011-12-14 杭州晟元芯片技术有限公司 Anti-interception code encryption burning method
CN106648713A (en) * 2015-10-28 2017-05-10 深圳市博巨兴实业发展有限公司 OTP programming method and device
CN110719166A (en) * 2019-10-15 2020-01-21 深圳市元征科技股份有限公司 Chip burning method, chip burning device, chip burning system and storage medium
CN112069515A (en) * 2020-08-20 2020-12-11 博流智能科技(南京)有限公司 Safe EFUSE burning method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102280133A (en) * 2011-08-16 2011-12-14 杭州晟元芯片技术有限公司 Anti-interception code encryption burning method
CN106648713A (en) * 2015-10-28 2017-05-10 深圳市博巨兴实业发展有限公司 OTP programming method and device
CN110719166A (en) * 2019-10-15 2020-01-21 深圳市元征科技股份有限公司 Chip burning method, chip burning device, chip burning system and storage medium
CN112069515A (en) * 2020-08-20 2020-12-11 博流智能科技(南京)有限公司 Safe EFUSE burning method and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于FPGA的信号发生器;李君华;;数字技术与应用(01);第88-89页 *

Also Published As

Publication number Publication date
CN112989356A (en) 2021-06-18

Similar Documents

Publication Publication Date Title
CN112989356B (en) Blank security chip burning method, system, blank security chip and storage medium
AU2019271965B2 (en) POS System with white box encryption key sharing
CN106301774A (en) Safety chip, its encryption key generate method and encryption method
US11405202B2 (en) Key processing method and apparatus
CN107315966B (en) Solid state disk data encryption method and system
KR20090093661A (en) Memory controller and memory device thereof
US20220366030A1 (en) Password Management Method and Related Apparatus
CN116011041B (en) Key management method, data protection method, system, chip and computer equipment
KR102645542B1 (en) Apparatus and method for in-vehicle network communication
JP2015532565A (en) Systems and methods for securing data exchange, portable user objects, and remote devices for downloading data
US20230289424A1 (en) Security Chip-Based Security Authentication Method and System, Security Chip, and Readable Storage Medium
CN109889334A (en) Embedded firmware encrypting method, apparatus, wifi equipment and storage medium
CN110932853B (en) Key management device and key management method based on trusted module
KR102583995B1 (en) Cryptographic program diversification
US20120321089A1 (en) Method and System for Confidentially Providing Software Components
JP6348273B2 (en) Information processing system
CN116048716A (en) Direct storage access method and device and related equipment
Drimer et al. Protecting multiple cores in a single FPGA design
US20210303702A1 (en) Protection system and protection method for software and firmware or information
CN107688729B (en) Application program protection system and method based on trusted host
CN113542303A (en) Software importing system and method of secret key in non-trusted environment
JP4974863B2 (en) File management system, file management method and program
US20190052610A1 (en) Apparatus and method for encapsulation of profile certificate private keys or other data
WO2023228373A1 (en) Programmable logic controller, control method, and program
JP7170588B2 (en) Data processing method and data processing system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 510555 No. 107 Bowen Road, Huangpu District, Guangzhou, Guangdong

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: Unit 301, 302, 303, 3 / F, C1 area, 182 science Avenue, Science City, Guangzhou hi tech Industrial Development Zone, Guangzhou, Guangdong 510000

Patentee before: Guangzhou Ankai Microelectronics Co.,Ltd.

CP02 Change in the address of a patent holder