Hard disk activation method and authentication method, solid state disk and server
By generating random verification sequences and hash values, encrypting and packaging the serial number and chip identifier of the solid state drive, and verifying it with the server, it solves the problem of low security level during the activation of the solid state drive and achieves higher data security and identity Certification accuracy.
Patent Information
- Application Number
- CN202310818663.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-04
- Publication Date
- 2025-01-07
AI Technical Summary
The existing solid-state drive activation method has low security level, is easy to be cracked, and data cannot be avoided during activation, which poses a major security risk.
By closing the debugging interface of the solid state hard disk, a random verification sequence is generated and its hash value is calculated, the serial number, chip identifier, random verification sequence and hash value of the solid state hard disk are encrypted and packaged, and verified to the server. If it passes the second time, Verification triggers the activation process to ensure data security.
Improve the security level of the SSD activation process, prevent data from being stolen and accidentally activated, and enhance the accuracy and security of identity authentication.
Smart Images

Figure CN119272351A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of hard disks, and in particular to a hard disk activation method and authentication method, a solid state disk, and a server. Background Art
[0002] Solid State Drives (SSD) are a type of storage device that is widely used for its advantages such as fast read and write speeds and low power consumption. When users or manufacturers need to use SSDs, they need to activate them first to obtain the full functionality of the SSDs. SSDs are usually activated using product serial numbers, but this type of activation method is relatively simple and easy to crack. In addition, data cannot be copied during the activation process, which poses a major security risk. Summary of the invention
[0003] The embodiments of the present application disclose a hard disk activation method and authentication method, a solid-state hard disk and a server, which solve the technical problem of low security level during the activation process of the solid-state hard disk.
[0004] The present application provides a hard disk activation method, which is applied to a solid-state hard disk. The method includes: responding to an activation instruction issued by a user, closing the debugging interface of the solid-state hard disk; obtaining a random verification sequence randomly generated at the current moment, and calculating a random hash value of the random verification sequence; encrypting and packaging the serial number, chip identifier, the random verification sequence and the random hash value of the solid-state hard disk to obtain a first encrypted data packet; sending the first encrypted data packet to a server so that the server verifies the solid-state hard disk; if a second encrypted data packet fed back by the server is received, and a first verification result indicating that the verification is qualified, a second verification result indicating that the verification is qualified and the random verification sequence are obtained from the second encrypted data packet, the solid-state hard disk is triggered to execute an activation process to complete the activation of the solid-state hard disk.
[0005] In some optional embodiments, a programming memory is provided on the chip in the solid-state hard disk. After determining that the solid-state hard disk has completed activation, the method further includes: responding to a work instruction issued by a user, obtaining a key stored in the programming memory; when the key is successfully verified with a preset ciphertext, starting the solid-state hard disk to start working according to the work instruction.
[0006] In some optional implementations, when the key and the ciphertext verification fail, starting the firmware corresponding to the chip to perform corresponding operations is prohibited, and a prompt message is issued to indicate that the chip does not match the solid state drive.
[0007] In some optional embodiments, a first time carried by the random verification sequence is obtained, where the first time is the time when the random verification sequence is generated; a second time when the second encrypted data packet is received as feedback from the server is recorded; an interval time is calculated based on the first time and the second time; if the interval time is within a preset time range, it is determined that the random verification sequence is valid; if the interval time is not within the preset time range, it is determined that the random verification sequence is invalid.
[0008] In some optional implementations, the activation process includes one or more of an initialization operation, a partition formatting operation, and activating firmware in the solid state drive.
[0009] The present application also provides an authentication method, which is applied to a server, and the method includes: receiving a first encrypted data packet sent by a solid-state drive; decrypting the first encrypted data packet to obtain the serial number, chip identifier, random verification sequence and a random hash value corresponding to the random verification sequence of the solid-state drive; verifying the serial number and the chip identifier to obtain a first verification result; if the first verification result is a qualified verification, verifying the random verification sequence using the random hash value to obtain a second verification result; if the second verification result is a qualified verification, encrypting and packaging the first verification result indicating a qualified verification, the second verification result indicating a qualified verification and the random verification sequence into a second encrypted data packet; and sending the second encrypted data packet to the solid-state drive.
[0010] In some embodiments of the present application, the serial number and the chip identifier are verified to obtain a first verification result, including: matching the serial number with a preset serial number, and matching the chip identifier with a preset identifier; if the serial number matches the preset serial number successfully, and the chip identifier matches the preset identifier successfully, determining that the first verification result is qualified; if the serial number fails to match the preset serial number, or the chip identifier fails to match the preset identifier, determining that the first verification result is unqualified.
[0011] In some embodiments of the present application, the random verification sequence is verified using the random hash value to obtain a second verification result, including: calculating the hash value of the random verification sequence; if the hash value matches the random hash value successfully, determining that the second verification result is a qualified verification; if the hash value fails to match the random hash value, determining that the second verification result is a failed verification.
[0012] The present application also provides a solid state hard disk, which includes a chip including a programming memory and a memory, and the chip is used to implement the hard disk activation method when executing a computer program stored in the programming memory.
[0013] The present application also provides a server, which includes a processor and a memory, and the processor is used to execute a computer program stored in the memory to implement the authentication method.
[0014] In the hard disk activation method provided by the present application, when receiving the activation instruction issued by the user, the debugging interface of the solid-state hard disk is closed, which can prevent other devices from obtaining the data of the solid-state hard disk. After closing the debugging interface, in order to verify the firmware hard disk, such as identity authentication, the serial number, chip identifier, random verification sequence and random hash value of the solid-state hard disk are encrypted and packaged into the first encrypted data, so that the server can verify the solid-state hard disk, wherein, since the random verification sequence is randomly generated based on the current moment, the security level of the activated solid-state hard disk can be increased. Afterwards, when the second encrypted data packet fed back by the server is obtained, the solid-state hard disk performs a secondary verification: if the first verification result indicating that the verification is qualified, the second verification result indicating that the verification is qualified and the random verification sequence can be decrypted from the second encrypted data, it is determined that the solid-state hard disk has received the feedback of the verification qualified issued by the server. Among them, obtaining the random verification sequence from the second encrypted data can enable the solid-state hard disk to determine that the server has not mistakenly sent the verification results of other solid-state hard disks, further improving the security level of the activated solid-state hard disk. Finally, after all the verifications are passed, the solid-state hard disk is triggered to execute the activation process until the activation is completed. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 It is a schematic diagram of an application scenario of the hard disk activation method provided in an embodiment of the present application.
[0016] Figure 2 It is a flow chart of the hard disk activation method provided in the embodiment of the present application.
[0017] Figure 3 It is a flowchart of the authentication method provided in the embodiment of the present application.
[0018] Figure 4 It is a flow chart of the interaction between the solid state drive and the server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0019] To facilitate understanding, some illustrations of concepts related to the embodiments of the present application are given by way of example for reference.
[0020] It should be noted that in this application, "at least one" means one or more, and "more than one" means two or more than two. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The terms "first", "second", "third", "fourth", etc. (if any) in the specification, claims and drawings of this application are used to distinguish similar objects, rather than to describe a specific order or sequence.
[0021] Solid State Drives (SSD) are a type of storage device that is widely used for its advantages such as fast read and write speeds and low power consumption. When users or manufacturers need to use SSDs, they need to activate them first to obtain the full functionality of the SSDs. SSDs are usually activated using product serial numbers, but this type of activation method is relatively simple and easy to crack. In addition, data cannot be copied during the activation process, which poses a major security risk.
[0022] In order to improve the security level when activating a solid state drive, the embodiments of the present application provide a hard drive activation method and an authentication method, a solid state drive, and a server. The following first describes the application scenario of the hard drive activation method of the present application.
[0023] Figure 1 Schematic diagram of application scenario of the hard disk activation method provided in the embodiment of the present application. The hard disk activation method provided in the embodiment of the present application is applied to the solid state disk 100, and the solid state disk 100 is connected to the server 200 in communication. The connection between the solid state disk 100 and the server 200 can adopt wired network communication or wireless network communication. The wired network can be any one of a local area network, a metropolitan area network and a wide area network, and the wireless network can be any one of Bluetooth Technology, Wireless LAN (Wireless Fidelity, Wi-Fi), Near Field Communication (Near Field Communication, NFC), ZigBee Wireless Networks (ZigBee) technology, Infrared Data Association (Infrared Data Association, IrDA) technology, Ultra Wideband (Ultra Wideband, UWB) technology, wireless Universal Serial Bus (Universal Serial Bus, USB) and the like.
[0024] The solid-state drive 100 includes but is not limited to a plurality of chips 11 and a programming memory 12 and a memory 13 set on each chip 11. The solid-state drive 100 can be any hard disk made of a solid-state electronic storage chip array. In one example, based on the perspective of the interface protocol, the solid-state drive 100 of the embodiment of the present application can be a solid-state drive that supports various interface protocols such as a serial hardware drive interface (Serial Advanced Technology Attachment, SATA), a serial transmission interface (Serial AttachedSCSI, SAS), etc. In another example, based on the perspective of the storage medium, the solid-state drive 100 of the embodiment of the present application can be a solid-state drive that uses flash memory (Flash) as a storage medium, or a solid-state drive that uses flash memory and dynamic random access memory (Dynamic Random Access Memory, DRAM) as a storage medium. The solid-state drive 100 of the embodiment of the present application can also be a portable external solid-state drive. This application is not limited to this.
[0025] In some embodiments of the present application, the chip 11 may be a Flash chip or a DRAM chip, the programming memory 12 may be a one-time programming memory (OTP), and the memory 13 is used to store relevant data of the chip 11. Each chip 11 has a corresponding firmware, and the firmware is provided with a ciphertext, and the programming memory 12 may be used to store a key for cracking the ciphertext.
[0026] The server 200 includes but is not limited to a processor 21 and a memory 22 that are in communication connection. The server 200 may be any server that can perform authentication operations, such as an authentication server, a cloud server, etc. The processor 21 provides computing and control capabilities for the server 200. For example, the processor 21 is used to execute a computer program stored in the memory 22 to implement the steps in the hard disk activation method and the hard disk authentication method provided in the embodiment of the present application, such as Figures 2 to 4 The method flow is shown.
[0027] The memory 22 may be used to store an operating system, computer programs, and various types of data, etc. For example, the memory 22 stores a program corresponding to the authentication method provided in the embodiment of the present application.
[0028] The indication Figure 1 These are merely examples of the solid-state drive 100 and the server 200 and do not constitute limitations on the solid-state drive 100 or the server 200. The solid-state drive 100 or the server 200 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the solid-state drive 100 may also include input and output devices, network access devices, etc.
[0029] To solve the above problems, see Figure 2 FIG. 1 is a flowchart of a hard disk activation method provided in an embodiment of the present application, which is applied to a solid state hard disk (eg Figure 1 According to different requirements, the order of the steps in the flowchart can be changed, and some steps can be omitted.
[0030] Step S201, responding to an activation instruction issued by a user, closing the debugging interface of the solid state drive.
[0031] In some embodiments of the present application, a solid-state drive is a storage device that can be installed inside a laptop computer, a tablet computer, a desktop computer, a vehicle-mounted multimedia terminal, a vehicle-mounted video recorder, and the like. The flash memory chip in the solid-state drive can be used to store data, and the solid-state drive can also be used as an expansion disk for the mechanical hard disk in the computer to improve the computer's operating performance. In one example, the solid-state drive is installed in a laptop computer. A desktop icon that triggers an activation instruction can be set on the control interface of the laptop computer, and the user can issue an activation instruction to the solid-state drive by clicking on the desktop icon. The laptop computer equipped with a solid-state drive can also be connected to an external controller, and an activation instruction is issued to the laptop computer through the controller, so that the laptop computer sends the activation instruction to the solid-state drive synchronously. In actual applications, the way in which the solid-state drive receives the activation instruction is not limited to this.
[0032] In some embodiments of the present application, there may be multiple debugging interfaces on the solid-state drive, and the debugging interface on the solid-state drive may be used for data transmission. In one example, the debugging interface may be all interfaces in the solid-state drive that can obtain data, and may also be software interfaces and hardware interfaces that can perform illegal operations on the solid-state drive. For example, the hardware interface may include, but is not limited to, a Joint Test Action Group (JTAG) interface, an ARM JTAG interface, a System Management Bus (SMBus) interface, and a data output interface (e.g., ARM Trace OutPut). The software interface may include, but is not limited to, an interface for receiving commands, such as a VS Commnads interface, an NVME MI VS Commands interface, and a UART Debug Commands interface.
[0033] In some embodiments of the present application, when the solid-state drive receives an activation instruction from a user, the debugging interface of the solid-state drive can be turned off to prevent the solid-state drive from being tampered with during activation, and to prevent data from being stolen after the solid-state drive is activated. After the solid-state drive turns off the debugging interface, if the solid-state drive does not receive an instruction from the user to turn on the debugging interface, the debugging interface of the solid-state drive can be in a normally closed state, thereby increasing the security level of the data during and after activation.
[0034] Step S202, obtaining a random verification sequence randomly generated at the current moment, and calculating a random hash value of the random verification sequence.
[0035] In some embodiments of the present application, the random verification sequence may be a string randomly generated by the solid state drive. When the solid state drive receives the activation instruction, the solid state drive randomly generates a random verification sequence at the current moment, and the random verification sequence may carry the current moment.
[0036] In some embodiments of the present application, after obtaining the random verification sequence, a random hash value of the random verification sequence may be calculated using a hash function. A hash function is a secure hash algorithm that can generate a fixed-length hash value after operating a string of any length.
[0037] For example, in one example, the random verification sequence is converted into a binary number, and the binary number is padded to an integer multiple of a fixed length (such as 512 bits). For example, the binary number is padded to a data length that is a multiple of 512 bits. Specifically, the binary number is padded with a 1 bit, and then with k 0 bits, so that the number of binary bits after the padding (n+1+k) satisfies (n+1+k)mod512=448, where k is the smallest positive integer. Assuming that the result of the length of the binary number modulo 512 is not equal to 448, it is necessary to pad so that the result of the length of the binary number modulo 512 is equal to 448. Then, the binary number is padded to a fixed length of k*512+448 bits, and the padded binary number is mapped to an integer of a fixed length to obtain a random hash value of the random verification sequence.
[0038] Step S203, encrypt and package the serial number, chip identifier, random verification sequence and random hash value of the solid state drive to obtain a first encrypted data packet.
[0039] In some embodiments of the present application, the serial number (SN) of the solid-state drive may be a unique identifier of the solid-state drive, used to distinguish different solid-state drives, and relevant information of the solid-state drive may be obtained from the serial number, such as the product capacity, origin, production date, etc. of the solid-state drive. For example, the serial number S677 N X0 T310086 indicates: capacity 2048G, origin China, production date March 2022. The chip identifier (Chip ID) may be a unique identifier of a chip in the solid-state drive, used to distinguish different chips.
[0040] In some embodiments of the present application, after obtaining the serial number, chip identifier, random verification sequence and random hash value of the solid-state drive, in order to authenticate the solid-state drive, the serial number, chip identifier, random verification sequence and random hash value of the solid-state drive may be encrypted and packaged into a first encrypted data packet. The encryption packaging method may include, but is not limited to, a symmetric encryption packaging method and an asymmetric encryption packaging method.
[0041] Step S204: Send a first encrypted data packet to the server so that the server can verify the solid state drive.
[0042] In some embodiments of the present application, in order to perform identity authentication, the solid-state drive sends the first encrypted data packet to the server for identity authentication. The server can be an authentication server, or an enterprise server and a cloud server set up in the enterprise intranet. This application is not limited to this.
[0043] Step S205, if the second encrypted data packet fed back by the server is received, and the first verification result indicating that the verification is qualified, the second verification result indicating that the verification is qualified, and the random verification sequence are obtained from the second encrypted data packet, the solid state drive is triggered to execute the activation process.
[0044] In some embodiments of the present application, the time carried by the random verification sequence can be used as the first time, and the first time is the time when the random verification sequence is generated. When the second encrypted data packet fed back by the server is received, the time when the second encrypted data packet is received is used as the second time.
[0045] In some embodiments of the present application, the received second encrypted data packet is decrypted to obtain the data in the second encrypted data packet. If the random verification sequence generated by the solid state drive is obtained from the second encrypted data packet, the authenticity of the random verification sequence can be verified to determine whether it is the random verification sequence issued by the solid state drive.
[0046] For example, in one example, the random verification sequence obtained from the second encrypted data packet is matched with the random verification sequence stored in the solid state drive, wherein the random verification sequence stored in the solid state drive is the random verification sequence that the solid state drive has sent to the server. If the random verification sequence obtained from the second encrypted data packet is successfully matched with the random verification sequence stored in the solid state drive, it is determined that the random verification sequence obtained from the second encrypted data packet is the random verification sequence sent by the solid state drive to the server. Since the random verification sequences all carry the first time, and multiple random verification sequences can be stored in the solid state drive, the random verification sequence of the same time in the solid state drive can be obtained based on the first time for matching to avoid misverification.
[0047] On the other hand, the validity of the random verification sequence can be verified. In one example, the first time carried by the random verification sequence is obtained, and the interval time is calculated according to the first time and the second time. If the interval time is within the preset time range, it can be determined that the received random verification sequence is valid. If the interval time is not within the preset time range, it is determined that the received random verification sequence is invalid.
[0048] For example, in one example, the preset time range is 5 minutes. If the first time is 2 o'clock and the second time is 2 o'clock and 4 minutes, the calculated interval time is 4 minutes. 4 minutes is within 5 minutes, and the random verification sequence is determined to be valid. If the second time is 2 o'clock and 6 minutes, the calculated interval time is 6 minutes. 6 minutes is outside the 5-minute range, and the random verification sequence is determined to be invalid.
[0049] In some embodiments of the present application, if a first verification result indicating that the verification is qualified and a second verification result indicating that the verification is qualified are obtained from the second encrypted data packet, it means that the solid-state drive has passed the identity authentication and obtained the activation permission allowed by the server. Therefore, when the solid-state drive obtains the first verification result indicating that the verification is qualified and the second verification result indicating that the verification is qualified, and the server feeds back the correct random verification sequence within a preset time range, the solid-state drive activation process can be started, wherein the solid-state drive receives the correct random verification sequence fed back by the server within the preset time, which can be the solid-state drive receiving a random verification sequence that matches the random verification sequence sent by the solid-state drive within the preset time.
[0050] In some embodiments of the present application, the SSD activation process may include an initialization operation, such as initializing the SSD using the disk management tool of the operating system, and assigning a file system to the SSD for storing data. The SSD activation process may also include a partition formatting operation, such as dividing the SSD into multiple logical drives and formatting each divided logical drive. The SSD activation process may also include activating the firmware of the SSD. For example, usually, the firmware has been activated during production. If the firmware needs to be updated or reactivated, the firmware update program and the program for verifying the firmware update can be run. The above are just examples, and actual applications are not limited to this. The activation process can be set according to different models of SSDs. After completing the activation process, it is determined that the SSD is activated.
[0051] In an embodiment of the present application, the server can perform identity authentication on multiple solid-state drives at the same time. In order to avoid mis-sending, verification is performed when the solid-state drive receives the random verification sequence to determine that the server has not mis-sent, further improving the security level and accuracy of identity authentication.
[0052] For example, in one example, the server simultaneously performs identity authentication on multiple SSDs, such as SSD 1 and SSD 2. The server generates a first verification result for SSD 1 indicating that the verification is qualified, and generates a first verification result for SSD 2 indicating that the verification is unqualified. When the server feeds back the results to the SSDs, it may send the first verification result of SSD 1 indicating that the verification is qualified to SSD 2.
[0053] In other embodiments of the present application, after determining that the solid-state drive is activated, if the solid-state drive receives a work instruction issued by the user, the solid-state drive can obtain a key from the programming memory of the solid-state drive, and can also obtain a ciphertext from the firmware of the solid-state drive. When the key and the ciphertext match successfully, it is determined that the verification is successful. Based on this, the solid-state drive can be started to perform the work indicated by the work instruction. Among them, the programming memory can be a one-time programming memory, and the solid-state drive can include multiple chips, each chip is provided with a programming memory. Different chips will be randomly burned with different keys stored in the programming memory. The firmware needs to be decrypted successfully to run normally. Therefore, storing the key in the programming memory can improve the security level of the firmware.
[0054] In another embodiment, if the key and the ciphertext fail to match, it means that the solid-state drive may be placed in an unauthorized device. The firmware corresponding to the startup chip can be prohibited from performing corresponding operations, and a prompt message can be issued to indicate that the chip and the solid-state drive do not match. The user can be reminded to replace the device, and the solid-state drive can also be prevented from being maliciously stolen.
[0055] In an embodiment of the present application, when receiving an activation instruction issued by a user, the debugging interface of the solid-state drive is closed, which can prevent other devices from obtaining data from the solid-state drive. After closing the debugging interface, in order to verify the firmware hard drive, such as identity authentication, the serial number, chip identifier, random verification sequence and random hash value of the solid-state drive are encrypted and packaged into the first encrypted data so that the server can verify the solid-state drive, wherein, since the random verification sequence is randomly generated based on the current moment, the security level of activating the solid-state drive can be increased. Afterwards, when the second encrypted data packet fed back by the server is obtained, the solid-state drive performs a secondary verification: if the first verification result indicating that the verification is qualified, the second verification result indicating that the verification is qualified, and the random verification sequence issued by the solid-state drive can be decrypted from the second encrypted data, it is determined that the solid-state drive has received the feedback of the verification qualified issued by the server. Among them, if the random verification sequence issued by the solid-state drive is obtained from the second encrypted data, the solid-state drive can determine that the server has not mistakenly sent the verification results of other solid-state drives, further improving the security level of activating the solid-state drive. In addition, when the solid-state drive receives the second encrypted data packet, it can determine whether the received random verification sequence is valid based on the first time when the random verification sequence is sent and the second time when the random verification sequence is received, which can also improve the security level of activation. Finally, after all verifications are passed, the solid-state drive is triggered to execute the activation process until the activation is completed.
[0056] Figure 3 is a flow chart of the authentication method provided in the embodiment of the present application. The server may be an authentication server, and the authentication server may include a manufacturing execution system (MES) system and a certificate system to authenticate the solid state drive. Figure 3 The embodiment shown is used to process received Figure 2 The relevant data of the embodiment shown (such as the first encrypted data packet) is sent to Figure 2 The illustrated embodiment feeds back a result (eg, a second encrypted data packet).
[0057] like Figure 3 The illustrated embodiment may include the following steps:
[0058] Step S301, receiving a first encrypted data packet sent by a solid state drive.
[0059] In some embodiments of the present application, the server and the solid-state drive may communicate via a wireless network, and the server is configured to process data (eg, the first encrypted data packet) sent by the solid-state drive.
[0060] Step S302, decrypt the first encrypted data packet to obtain the serial number of the solid state drive, the chip identifier, the random verification sequence, and the random hash value corresponding to the random verification sequence.
[0061] In some embodiments of the present application, when the server receives the first encrypted data packet, assuming that the first encrypted data packet is encrypted by an asymmetric encryption algorithm, a decryption private key can be obtained from the server to decrypt the first encrypted data packet to obtain data in the first encrypted data packet, such as the serial number of the solid-state drive, the chip identifier, the random verification sequence, and the random hash value corresponding to the random verification sequence. The definitions of the serial number of the solid-state drive, the chip identifier, the random verification sequence, and the random hash value corresponding to the random verification sequence can refer to the following. Figure 2 The illustrated embodiments will not be described again herein.
[0062] Step S303: verify the serial number and the chip identifier to obtain a first verification result.
[0063] In some embodiments of the present application, since the serial number is a unique identifier of the solid-state drive, the serial number can be matched with a preset serial number in the server. If the serial number matches the preset serial number successfully, it is determined that the solid-state drive meets the certification requirements. On this basis, since multiple chips are deployed on the solid-state drive, the server can verify each chip, specifically the chip identifier. The chip identifier is a unique identifier of the chip in the solid-state drive. The chip identifier can be matched with a preset identifier in the server. If the chip identifier matches the preset identifier successfully, the identification chip meets the certification requirements.
[0064] When both the serial number and the chip identifier meet the authentication requirements, the server may generate a first authentication result indicating that the authentication is qualified, and proceed to step S304.
[0065] When one or both of the serial number and the chip identifier do not meet the authentication requirements, the server may generate a first verification result indicating that the authentication is unqualified, and jump to execute step S306. At this time, the second encrypted data packet of step S306 contains the first verification result indicating that the authentication is unqualified.
[0066] Step S304: If the first verification result is qualified, the random verification sequence is verified using the random hash value to obtain a second verification result.
[0067] In some embodiments of the present application, when the server obtains the random verification sequence from the first encrypted data packet, it can calculate a hash value for the random verification sequence. If the hash value calculated by the server successfully matches the random hash value carried in the first encrypted data packet, the second verification result is a qualified verification. If the hash value calculated by the server fails to match the random hash value carried in the first encrypted data packet, the second verification result is a failed verification, indicating that the random verification sequence may have lost data during transmission, resulting in an incomplete sequence. The server can calculate the hash value of the random verification sequence by referring to the following example. Figure 2 The process of calculating the random hash value in the illustrated embodiment will not be described again herein.
[0068] Step S305: If the second verification result is qualified, the first verification result indicating qualified verification, the second verification result indicating qualified verification, and the random verification sequence are encrypted and packaged into a second encrypted data packet.
[0069] In some embodiments of the present application, if the second verification result is qualified, it means that the server has qualified the identity authentication of the solid-state drive. The server can feedback the result of identity authentication for the solid-state drive. In order to allow the solid-state drive to perform secondary verification, the first verification result indicating qualified verification, the second verification result indicating qualified verification, and the random verification sequence can be encrypted and packaged into a second encrypted data packet, so that when the solid-state drive receives the feedback result, it can determine that the server has not sent it by mistake.
[0070] Step S306: Send a second encrypted data packet to the solid state drive.
[0071] In some embodiments of the present application, when the first verification result indicates that the verification is unqualified, the first verification result indicating the verification is unqualified and the random verification sequence are encrypted and packaged into a second encrypted data packet and sent to the solid state drive.
[0072] When the first verification result indicates that the verification is qualified and the second verification result indicates that the verification is unqualified, the first verification result indicating that the verification is qualified, the second verification result indicating that the verification is unqualified, and the random verification sequence are encrypted and packaged into a second encrypted data packet and sent to the solid state drive.
[0073] When the first verification result indicates that the verification is qualified and the second verification result indicates that the verification is qualified, the first verification result indicating that the verification is qualified, the second verification result indicating that the verification is qualified and the random verification sequence are encrypted and packaged into a second encrypted data packet and sent to the solid state drive.
[0074] In the embodiment of the present application, when the solid-state drive needs to be activated, the server is used for verification. During the verification process, not only the verification of the serial number and the chip identification number is involved, but also the verification of the random serial number is involved, which can improve the security level to a certain extent. In addition, when the server feeds back the second encrypted data packet to the solid-state drive, the second encrypted data packet contains the random serial number issued by the solid-state drive, which can avoid the situation of mis-sending to a certain extent and improve the accuracy of identity authentication.
[0075] Figure 4 1 is a flowchart of the interaction between the solid state drive and the server provided in the embodiment of the present application. Figure 4 The illustrated embodiment is an interaction process between a solid state drive and a server, including the following steps:
[0076] Step S401: The solid state drive responds to an activation instruction issued by a user and closes a debugging interface of the solid state drive.
[0077] Step S402: The solid state drive encrypts and packages the serial number, chip identifier, random verification sequence, and random hash value of the solid state drive into a first encrypted data packet, and sends the first encrypted data packet to the server.
[0078] Step S403: the server receives a first encrypted data packet sent by the solid state drive.
[0079] Step S404: The server verifies the serial number and the chip identifier in the first encrypted data packet to obtain a first verification result.
[0080] Step S405: the server determines whether the first verification result is qualified.
[0081] In some embodiments of the present application, if the first verification result is that the verification is qualified, step S406 is executed; if the first verification result is that the verification is unqualified, step S410 is executed.
[0082] Step S406: The server verifies the random verification sequence using the random hash value to obtain a second verification result.
[0083] Step S407: The server determines whether the second verification result is qualified.
[0084] In some embodiments of the present application, if the second verification result is qualified, step S409 is executed; if the second verification result is unqualified, step S408 is executed.
[0085] In step S408, the server encrypts and packages the first verification result indicating that the verification is qualified, the second verification result indicating that the verification is unqualified, and the random verification sequence into a second encrypted data packet and sends it to the solid state drive.
[0086] In step S409, the server encrypts and packages the first verification result indicating that the verification is qualified, the second verification result indicating that the verification is qualified, and the random verification sequence into a second encrypted data packet and sends it to the solid state drive.
[0087] In step S410, the server encrypts and packages the first verification result indicating that the verification is unqualified and the random verification sequence into a second encrypted data packet and sends it to the solid state drive.
[0088] In step S411, the solid state drive determines whether the received second encrypted data packet includes a first verification result indicating that the verification is qualified, a second verification result indicating that the verification is qualified, and a random verification sequence issued by the solid state drive.
[0089] Step S412: the solid state drive triggers the solid state drive to execute an activation process to complete the activation of the solid state drive.
[0090] Step S413: the solid state drive does not execute the activation process.
[0091] In some embodiments of the present application, Figure 4 The embodiment shown can refer to Figure 2 The embodiments shown and Figure 3 The illustrated embodiments will not be described again herein.
[0092] Please continue reading Figure 1 In this embodiment, the memory 22 may be an internal memory of the server 200, that is, a memory built into the server 200. In other embodiments, the memory 22 may also be an external memory of the server 200, that is, a memory externally connected to the server 200.
[0093] In some embodiments, the memory 22 is used to store program codes and various data, and to achieve high-speed and automatic access to programs or data during the operation of the server 200.
[0094] In one embodiment, the processor 21 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor, or the processor may be any other conventional processor, etc.
[0095] If the program code and various data in the memory 22 are implemented in the form of a software functional unit and sold or used as an independent product, they can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, such as the authentication method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile solid-state hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), etc.
[0096] It is understandable that the module division described above is a logical function division, and there may be other division methods in actual implementation. In addition, the functional modules in each embodiment of the present application may be integrated in the same processing unit, or each module may exist physically separately, or two or more modules may be integrated in the same unit. The above-mentioned integrated modules may be implemented in the form of hardware or in the form of hardware plus software functional modules.
[0097] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present application and are not intended to limit it. Although the present application has been described in detail with reference to the preferred embodiments, a person of ordinary skill in the art should understand that the technical solution of the present application may be modified or replaced by equivalents without departing from the spirit and scope of the technical solution of the present application.
Claims
1. A hard disk activation method, applied to a solid state hard disk, characterized in that: The method comprises: In response to an activation instruction issued by a user, closing the debugging interface of the solid state drive; Obtaining a random verification sequence randomly generated at the current moment, and calculating a random hash value of the random verification sequence; Encrypting and packaging the serial number of the solid state drive, the chip identifier, the random verification sequence, and the random hash value to obtain a first encrypted data packet; Sending the first encrypted data packet to a server so that the server can verify the solid state drive; If a second encrypted data packet is received from the server, and a first verification result indicating that the verification is qualified, a second verification result indicating that the verification is qualified, and the random verification sequence are obtained from the second encrypted data packet, the solid-state drive is triggered to execute the activation process to complete the activation of the solid-state drive.
2. The hard disk activation method according to claim 1, characterized in that: A programming memory is provided on the chip in the solid state drive. After determining that the solid state drive has completed activation, the method further includes: In response to a work instruction issued by a user, obtaining a key stored in the programming memory; When the key is successfully authenticated with the preset ciphertext, the solid state drive is started to work according to the working instruction.
3. The hard disk activation method according to claim 2, characterized in that: The method further comprises: When the key and the ciphertext fail to be authenticated, the firmware corresponding to the chip is prohibited from being started to perform corresponding operations, and a prompt message is issued to prompt that the chip does not match the solid state drive.
4. The hard disk activation method according to claim 1, characterized in that: The method further comprises: Obtaining a first time carried by the random verification sequence, where the first time is the time when the random verification sequence is generated; Recording a second time when the second encrypted data packet fed back by the server is received; Calculating an interval time according to the first time and the second time; If the interval time is within a preset time range, determining that the random verification sequence is valid; If the interval time is not within the preset time range, it is determined that the random verification sequence is invalid.
5. The hard disk activation method according to claim 1, characterized in that: The activation process includes one or more of an initialization operation, a partition formatting operation, and activating firmware in the solid state drive.
6. An authentication method, applied to a server, characterized in that: The method comprises: receiving a first encrypted data packet sent by the solid state drive; Decrypting the first encrypted data packet to obtain a serial number, a chip identifier, a random verification sequence, and a random hash value corresponding to the random verification sequence of the solid state drive; Verifying the serial number and the chip identifier to obtain a first verification result; If the first verification result is qualified, verify the random verification sequence using the random hash value to obtain a second verification result; If the second verification result is that the verification is qualified, encrypt and package the first verification result indicating that the verification is qualified, the second verification result indicating that the verification is qualified, and the random verification sequence into a second encrypted data packet; Send the second encrypted data packet to the solid state drive.
7. The authentication method according to claim 6, characterized in that: The verifying the serial number and the chip identifier to obtain a first verification result includes: Matching the serial number with a preset serial number, and matching the chip identifier with a preset identifier; if the serial number successfully matches the preset serial number, and the chip identifier successfully matches the preset identifier, determining that the first verification result is qualified verification; If the serial number fails to match the preset serial number, or the chip identifier fails to match the preset identifier, it is determined that the first verification result is verification failure.
8. The authentication method according to claim 7, characterized in that: The step of verifying the random verification sequence by using the random hash value to obtain a second verification result includes: Calculating a hash value of the random verification sequence; If the hash value successfully matches the random hash value, determining that the second verification result is qualified; If the hash value fails to match the random hash value, the second verification result is determined to be verification failure.
9. A solid state hard disk, characterized in that: The solid state hard disk comprises a chip including a programming memory and a memory, wherein the chip is used to execute a computer program stored in the memory to implement the hard disk activation method as claimed in any one of claims 1 to 5.
10. A server, characterized in that: The server comprises a processor and a memory, wherein the processor is configured to execute a computer program stored in the memory to implement the authentication method according to any one of claims 6 to 8.
Citation Information
Cited By
Hard disk batch firmware upgrading method and system based on MCTP over SMBus
CN121579049A
A hard disk bulk firmware upgrade method and system based on MCTP over SMBus
CN121579049B