Cooperative authentication method and system of safety U disk

By combining a collaborative authentication method of PUF site and controller fingerprint digest in a secure USB flash drive to generate a session key, the high hardware cost and vulnerability of existing secure USB flash drive authentication schemes are solved, achieving higher authentication reliability and security, and preventing devices from being cloned and counterfeited.

CN120850366APending Publication Date: 2025-10-28STATE GRID HUNAN ELECTRIC POWER COMPANY LIMITED +2
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510956496.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-11
Publication Date
2025-10-28

AI Technical Summary

Technical Problem

Existing secure USB flash drive authentication schemes suffer from high hardware costs, vulnerability to attacks, reliance on the trustworthiness of the host environment, and inability to achieve physical-level anti-cloning. In particular, authentication schemes based on hardware encryption chips and software cryptography are at risk of leakage when facing side-channel attacks and cannot achieve true physical-level anti-counterfeiting.

Method used

A collaborative authentication method based on PUF site and controller fingerprint digest using a secure USB flash drive is adopted. By reading the initial state image of the flash memory array and SRAM, a PUF response and controller fingerprint digest are generated. The session key is generated by combining hash digest and HMAC algorithm to achieve dynamic authentication and key update.

Benefits of technology

It improves the reliability and security of secure USB flash drive authentication, prevents devices from being cloned and counterfeited, reduces hardware costs, and the authentication process does not depend on the trustworthiness of the host environment, and has anti-replay and real-time update capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120850366A_ABST
    Figure CN120850366A_ABST
Patent Text Reader

Abstract

The invention discloses a collaborative authentication method of a safety U disk, which comprises the following steps of: when the safety U disk is inserted into a host for the first time, executing a set read-write sequence on a flash memory storage array of the safety U disk, and acquiring a PUF (Physical Unclonable Function) site of the safety U disk; reading a power-on initial state image of an SRAM (Static Random Access Memory) of an internal controller of the safe USB flash disk when the safe USB flash disk is powered on, and carrying out Hash abstract processing to generate a controller fingerprint abstract of the safe USB flash disk; when the security USB flash disk is authenticated, the host randomly generates a random number, maps the random number into a PUF bit address index and generates a PUF response of the security USB flash disk; combining the controller fingerprint abstract and the PUF response of the secure USB flash disk to obtain a session key; and realizing cooperative authentication of the secure USB flash disk according to the session key. The invention also discloses a system for realizing the collaborative authentication method of the safety USB flash disk. According to the invention, cooperative authentication of the safe USB flash disk is realized, and the reliability is higher and the safety is better.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of data security, specifically relating to a collaborative authentication method and system for a secure USB flash drive. Background Technology

[0002] With economic and technological development and the improvement of people's living standards, electricity has become an indispensable secondary energy source in people's production and daily life, bringing endless convenience. Therefore, ensuring a stable and reliable supply of electricity has become one of the most important tasks of the power system.

[0003] Currently, data security is of paramount importance in power systems. Data transfer operations within these systems largely rely on secure USB drives. Therefore, the certification of secure USB drives is of great significance.

[0004] Currently, the authentication schemes for secure USB drives used in power systems are generally based on either hardware encryption chips or software cryptography. Hardware encryption chip-based schemes typically use external hardware encryption chips (such as Infineon TPM and NXP SE) for identity authentication and data encryption; however, these schemes rely heavily on pre-set keys, encapsulated hardware modules, and statically stored data for security. Although these private keys or PINs are encapsulated in the encryption chip, they still have a certain risk of leakage when facing side-channel attacks, chip disassembly, or firmware implantation attacks. Furthermore, their hardware cost is high, making them difficult to popularize in inexpensive storage devices. Software cryptography-based authentication schemes generally use user passwords or certificates as access control credentials, achieving data security through full-disk encryption (such as BitLocker and Veracrypt); however, these schemes are highly dependent on the trustworthiness of the host environment, can be tampered with or bypassed at the operating system level, and cannot achieve true physical-level anti-cloning and device uniqueness; moreover, if an attacker copies the entire USB drive image, they can bypass the authentication mechanism, failing to achieve the effect of "hardware unforgeable." Summary of the Invention

[0005] One of the objectives of this invention is to provide a collaborative authentication method for a secure USB flash drive that is both highly reliable and secure.

[0006] The second objective of this invention is to provide a system for implementing the collaborative authentication method for the secure USB flash drive.

[0007] The collaborative authentication method for a secure USB flash drive provided by this invention includes the following steps:

[0008] S1. When the secure USB flash drive is inserted into the host for the first time, the set read and write sequence is executed on the flash memory array of the secure USB flash drive to obtain the PUF site of the secure USB flash drive;

[0009] S2. When the secure USB flash drive is powered on, read the power-on initial state image of the SRAM of the internal controller of the secure USB flash drive, and perform hash digest processing to generate the controller fingerprint digest of the secure USB flash drive;

[0010] S3. When authenticating the secure USB drive, the host randomly generates a random number and maps it to the PUF bit address index, and generates the PUF response of the secure USB drive;

[0011] S4. Merge the obtained controller fingerprint digest and PUF response of the secure USB flash drive to obtain the session key;

[0012] S5. Based on the session key obtained in step S4, implement collaborative authentication of the secure USB drive;

[0013] S6. According to the set rules, change the random challenge value C to achieve real-time update of the session key.

[0014] Step S1, which describes performing a pre-defined read / write sequence on the flash memory array of the secure USB drive when it is first inserted into the host computer to obtain the PUF (Power Placement) location of the secure USB drive, specifically includes the following steps:

[0015] When the security USB flash drive is first inserted into the host, logic 0 or logic 1 is written to several data bits of several logical pages of the security USB flash drive's flash memory array;

[0016] Then, several rounds of reading operations are performed, and the results of each reading are compared: the bit positions in which the logical value flips no more than a set threshold in all reading rounds are obtained as stable PUF positions; and the address mapping table and position index of the obtained stable PUF positions are cached in the controller confidential area of ​​the secure USB flash drive.

[0017] When the secure USB flash drive is powered on as described in step S2, the initial power-on state image of the SRAM of the internal controller of the secure USB flash drive is read, and hash digest processing is performed to generate the controller fingerprint digest of the secure USB flash drive. Specifically, the steps include the following:

[0018] When the secure USB flash drive is powered on, the power-on initial state image of the controller SRAM of the secure USB flash drive is read; the power-on initial state image is defined as the state of each bit of the controller's SRAM after the controller of the secure USB flash drive is powered on and completes the self-test; the state is either state 0 or state 1.

[0019] The obtained power-on initial state image is converted into a set of raw bit strings;

[0020] The original bit string is hashed to obtain the controller fingerprint digest of the secure USB flash drive.

[0021] When authenticating the secure USB drive in step S3, the host randomly generates a random number and maps it to a PUF bit address index, and generates a PUF response for the secure USB drive. Specifically, this includes the following steps:

[0022] When authenticating a secure USB drive, the host randomly generates a random challenge value C of a set length;

[0023] By using a pseudo-random mapping function, the random challenge value is perturbed and mapped to obtain a set of indices for reading stable PUF sites, denoted as Index_Set = {i1, i2, ..., i...}. k}, where i k This represents the logical index position in the stable PUF site set. The controller accesses each i sequentially. k The indicated flash memory address is used to read the corresponding current physical value, and finally the complete PUF response is obtained by splicing them together; N is the number of stable PUF sites, and k is the number of sites required for each authentication;

[0024] The pseudo-random mapping function is

[0025] i_j=((H(C||j))mod N)+1

[0026] In the formula, i_j is the index number of the j-th PUF site to be accessed; || represents the bit string concatenation operation; H is the secure hash function SHA-256(); C is the challenge value in this authentication; j is the index variable, used to indicate which PUF site index is being generated;

[0027] Through mapping, each generated random challenge value will correspond to a uniquely determined set of indices, which will point to the obtained stable PUF site;

[0028] Read the physical bit values ​​corresponding to the stable PUF sites sequentially; each stable PUF site corresponds to a physical address, and the corresponding value exhibits a stable bias affected by manufacturing deviations when the physical programming state is not complete;

[0029] The physical bit values ​​corresponding to the read stable PUF sites are concatenated to obtain the PUF response of the current secure USB flash drive.

[0030] Step S4, which involves merging the obtained controller fingerprint digest and PUF response of the secure USB flash drive to obtain the session key, specifically includes the following steps:

[0031] The controller fingerprint digest and PUF response of the obtained secure USB flash drive are merged using the following formula:

[0032] K_auth=HMAC_SHA256(key=H_ctrl, message=R_puf||C)

[0033] In the formula, K_auth is the session key; HMAC_SHA256() represents the HMAC algorithm based on the SHA-256 hash function; key = H_ctrl indicates that the controller fingerprint digest H_ctrl of the secure USB flash drive is used as the key for the HMAC algorithm; message = R_puf||C indicates that the PUF response R_puf and the random challenge value C are concatenated and used as the message input for the HMAC algorithm.

[0034] Step S5, which involves collaborative authentication of the secure USB drive based on the session key obtained in step S4, specifically includes the following steps:

[0035] During the initialization of the secure USB drive, the secure USB drive encapsulates and saves its core data partition's encryption key K_data using the session key K_auth, represented as...

[0036] E_data_key = AES_GCM_Encrypt(K_auth,K_data,IV,AAD) where E_data_key is the encryption key for the protected data; AES_GCM_Encrypt() represents an authentication encryption mode of the AES encryption standard; IV is a random number; and AAD is authentication append data.

[0037] The authentication process for a secure USB drive includes the following stages:

[0038] The secure USB drive uses the session key K_auth to decrypt E_data_key: if the authentication key is correct during the decryption process, the authentication is successful; otherwise, the decryption fails and the authentication fails.

[0039] If authentication is successful, the secure USB drive will unlock the data access path, mark the main storage partition as readable and writable, and allow file operations.

[0040] If authentication fails, the security USB drive will lock the main storage partition.

[0041] The collaborative authentication method for the secure USB flash drive further includes the following steps:

[0042] S6. According to the set rules, change the random challenge value C to achieve real-time update of the session key.

[0043] The process of changing the random challenge value C specifically includes the following steps:

[0044] The updated random challenge value C is calculated using the following formula:

[0045] C_next = SHA256(C||R_puf)

[0046] In the formula, C_next is the updated random challenge value; SHA256() represents a 256-bit encrypted hash operation; C||R_puf represents the concatenation of the original random challenge value and the PUF response R_puf.

[0047] This invention also provides a system for implementing the collaborative authentication method of the secure USB flash drive, including a site acquisition module, a digest generation module, a response generation module, a key generation module, a collaborative authentication module, and a key update module; the site acquisition module, digest generation module, response generation module, key generation module, collaborative authentication module, and key update module are connected in series; the output of the key update module is connected to the input of the key generation module; the site acquisition module is used to execute a set read / write sequence on the flash memory array of the secure USB flash drive when the secure USB flash drive is first inserted into the host, acquire the PUF site of the secure USB flash drive, and upload the data information to the digest generation module; the digest generation module is used to read the power-on initial state image of the SRAM of the internal controller of the secure USB flash drive when the secure USB flash drive is powered on, and perform hash digest processing to generate a secure USB flash drive based on the received data information. The controller fingerprint digest of the USB flash drive is obtained and uploaded to the response generation module. The response generation module, based on the received data, performs authentication of the secure USB flash drive. During this process, the host randomly generates a random number and maps it to the PUF bit address index, generating the PUF response for the secure USB flash drive and uploading it to the key generation module. The key generation module, based on the received data, merges the controller fingerprint digest and PUF response of the secure USB flash drive to obtain a session key and uploads this key to the collaborative authentication module. The collaborative authentication module, based on the received data and the obtained session key, performs collaborative authentication of the secure USB flash drive and uploads this key to the key update module. The key update module, based on the received data and according to set rules, changes the random challenge value C to achieve real-time key updates.

[0048] The collaborative authentication method and system for secure USB flash drives provided by this invention, based on the acquisition of the PUF site of the secure USB flash drive and the generation of the corresponding PUF response, the generation of the controller fingerprint digest of the secure USB flash drive, and the merging of the controller fingerprint digest and the PUF response and key generation, not only realizes the collaborative authentication of secure USB flash drives, but also has higher reliability and better security. Attached Figure Description

[0049] Figure 1 This is a schematic diagram of the method flow of the present invention.

[0050] Figure 2This is a schematic diagram of the functional modules of the system of the present invention. Detailed Implementation

[0051] like Figure 1 The diagram shown is a flowchart of the method of the present invention: The collaborative authentication method for a secure USB flash drive disclosed in this invention includes the following steps:

[0052] S1. When the secure USB drive is first inserted into the host, a pre-defined read / write sequence is executed on the flash memory array of the secure USB drive to obtain the PUF (Programmable Memory) location of the secure USB drive; specifically, the following steps are included:

[0053] When the security USB flash drive is first inserted into the host, logic 0 or logic 1 is written to certain data bits of certain logical pages of the security USB flash drive's flash memory array, without performing a full page or full block erase.

[0054] Then, several rounds (e.g., 20 rounds) of reading operations are performed, and the results of each reading are compared: the bit positions in which the logical value flips no more than a set threshold in all reading rounds are obtained as stable PUF positions; and the address mapping table and position index of the obtained stable PUF positions are cached in the secure USB flash drive's controller confidential area.

[0055] In practice, these infrequently flipped bits reflect the random behavior of flash memory cells caused by manufacturing errors, voltage threshold drift, etc., and are a good source of entropy for building PUF. In this process, in order to improve the repeatability and reliability of the response, the system uses BCH error correction code to filter the read bit sequence, remove unstable and high repetition probability bits, and retain only those bits that can be read consistently under different temperature and voltage conditions.

[0056] S2. When the secure USB flash drive is powered on, read the initial power-on state image of the SRAM of the internal controller of the secure USB flash drive, and perform hash digest processing to generate the controller fingerprint digest of the secure USB flash drive; specifically including the following steps:

[0057] As the main control unit inside a USB flash drive, the controller has inherent differences in its circuit structure, initial state, and circuit path delay during the manufacturing process; these differences can also be used to generate a unique device identifier.

[0058] When a SRAM (Static Random Access Memory) is powered on, the state of each bit between "0" and "1" is determined by the electronic structure of the physical registers, which has significant uncertainty and is extremely difficult to counterfeit. Therefore, when a secure USB flash drive is powered on, the initial power-on state image of the controller's SRAM is read. The initial power-on state image is defined as the state of each bit of the controller's SRAM after power-on and completion of self-test. The state can be either 0 or 1.

[0059] The obtained power-on initial state image is converted into a set of raw bit strings;

[0060] The obtained raw bit string is processed by hash digest to obtain the controller fingerprint digest of the secure USB flash drive;

[0061] In this way, even if an attacker copies the contents of the flash PUF, they will not be able to pass two-factor authentication as long as their controller model or circuit microstructure is different.

[0062] S3. When authenticating the secure USB drive, the host randomly generates a random number and maps it to the PUF bit address index, and generates a PUF response for the secure USB drive; specifically, it includes the following steps:

[0063] The authentication mechanism will be driven by a challenge-response protocol to ensure that the authentication process is non-replayable and unpredictable.

[0064] When authenticating a secure USB drive, the host randomly generates a random challenge value C of a set length (preferably 125 to 256 bits); in practice, it can be generated by a cryptographic random number generator (CSPRNG), such as based on dev / urandom or the RNG_getBytes() function.

[0065] By using a pseudo-random mapping function, the random challenge value is perturbed and mapped to obtain a set of indices for reading stable PUF sites, denoted as Index_Set = {i1, i2, ..., i...}. k}, where i k This represents the logical index position in the stable PUF site set. The controller accesses each i sequentially. k The indicated flash memory address is used to read the corresponding current physical value, and finally the complete PUF response is obtained by splicing them together; N is the number of stable PUF sites, and k is the number of sites required for each authentication;

[0066] The pseudo-random mapping function is

[0067] i_j=((H(C||j))mod N)+1

[0068] In the formula, i_j is the index number of the j-th PUF site to be accessed; || represents the bit string concatenation operation; H is the secure hash function SHA-256(); C is the challenge value in this authentication; j is the index variable, used to indicate which PUF site index is being generated;

[0069] Through mapping, each generated random challenge value will correspond to a uniquely determined set of indices, which will point to the obtained stable PUF site;

[0070] Read the physical bit values ​​corresponding to the stable PUF sites sequentially; each stable PUF site corresponds to a physical address, and the corresponding value exhibits a stable bias affected by manufacturing deviations when the physical programming state is not complete;

[0071] The physical bit values ​​corresponding to the read stable PUF sites are concatenated to obtain the PUF response of the current secure USB flash drive. This response is the unique authentication response data associated with the random challenge value C. Since the pseudo-random mapping function is pseudo-random each time, different random challenge values ​​C will produce different site combinations and different response bit sequences, thus forming a complete challenge-response pair.

[0072] PUF responses can be used for subsequent key derivation or directly as authentication input, without requiring access to any preset keys or external security elements throughout the process, fundamentally ensuring that the device is unclonable and the response is unpredictable;

[0073] This response is a dynamic response associated with the challenge value. Theoretically, the challenge value is different each time the authentication is performed, and the response should also be different, that is, it has the ability to resist replay.

[0074] S4. Merge the obtained controller fingerprint digest and PUF response of the secure USB flash drive to obtain the session key; specifically including the following steps:

[0075] The controller fingerprint digest and PUF response of the obtained secure USB flash drive are merged using the following formula:

[0076] K_auth = HMAC_SHA256(key = H_ctrl, message = R_puf||C) where K_auth is the session key; HMAC_SHA256() represents the HMAC algorithm based on the SHA-256 hash function; key = H_ctrl means that the controller fingerprint digest H_ctrl of the secure USB flash drive is used as the key for the HMAC algorithm; message = R_puf||C means that the PUF response R_puf and the random challenge value C are concatenated and used as the message input for the HMAC algorithm.

[0077] This step ensures that even if an attacker steals the PUF site and algorithm, the generated K_auth will be different as long as the controller chip is different, thus making it impossible to unblock the USB drive contents;

[0078] S5. Based on the session key obtained in step S4, implement collaborative authentication of the secure USB drive; specifically including the following steps:

[0079] During the initialization of the secure USB drive, the secure USB drive encapsulates and saves its core data partition's encryption key K_data using the session key K_auth, represented as...

[0080] E_data_key = AES_GCM_Encrypt(K_auth,K_data,IV,AAD) where E_data_key is the encryption key for the protected data; AES_GCM_Encrypt() represents an authentication encryption mode of the AES encryption standard; IV is a random number; and AAD is authentication append data.

[0081] The authentication process for a secure USB drive includes the following stages:

[0082] The secure USB drive uses the session key K_auth to decrypt E_data_key: if the authentication key is correct during the decryption process, the authentication is successful; otherwise, the decryption fails and the authentication fails.

[0083] If authentication is successful, the secure USB drive will unlock the data access path, mark the main storage partition as readable and writable, and allow file operations.

[0084] If authentication fails, the secure USB drive will lock the main storage partition. Once authentication fails or the authentication response does not match, the controller will refuse the partition mount request and may even simulate the USB drive disconnecting. This access control logic is embedded in the firmware and cannot be bypassed by the operating system layer or cracked by standard USB commands.

[0085] S6. According to the set rules, change the random challenge value C to achieve real-time updates of the session key; specifically, the following steps are included:

[0086] The updated random challenge value C is calculated using the following formula:

[0087] C_next = SHA256(C||R_puf)

[0088] In the formula, C_next is the updated random challenge value; SHA256() represents a 256-bit encrypted hash operation; C||R_puf represents the concatenation of the original random challenge value and the PUF response R_puf.

[0089] In addition, all intermediate responses, PUF bit sequences, and key derivation results during the authentication process are stored in the controller cache, which is lost upon power failure to prevent reading via physical probes.

[0090] The present invention constructs an authentication mechanism that combines the randomness of flash memory with the microstructure characteristics of the controller, thereby realizing a secure USB flash drive with a device fingerprint that cannot be copied or reconstructed. Unlike traditional PUFs that only focus on a single storage array, the present invention particularly emphasizes the importance of the controller's participation in the authentication process, thereby improving the overall security and anti-counterfeiting capabilities of the system.

[0091] This invention combines the flash array PUF response and the controller SRAM fingerprint digest. These two pieces of information originate from different physical structures, preventing attackers from forging devices simply by copying a portion of the circuitry, thus significantly improving security. Unlike existing PUF designs that directly output a fixed key, this invention uses a challenge-response protocol to dynamically perturb the PUF response address, preventing the response from being eavesdropped on or replayed. The authentication key of this invention is derived via HMAC-KDF and can be directly used as an AES-GCM key, encrypted data, or key encapsulation area, compatible with the USB Mass Storage system, lowering the deployment threshold. The authentication logic of this invention is directly embedded in the controller firmware; authentication failure can directly simulate "disconnecting the USB drive," preventing brute-force scanning or cracking by the host, and providing stronger hardware-level control capabilities. This invention relies on the inherent physical characteristics of ordinary NAND flash memory and SRAM controller circuitry, requiring no additional encryption chips, making it suitable for general USB flash drive platforms and possessing large-scale application potential.

[0092] like Figure 2 The diagram shows the functional modules of the system of the present invention: The system for implementing the collaborative authentication method of the secure USB flash drive disclosed in this invention includes a site acquisition module, a digest generation module, a response generation module, a key generation module, a collaborative authentication module, and a key update module; the site acquisition module, digest generation module, response generation module, key generation module, collaborative authentication module, and key update module are connected in series; the output of the key update module is connected to the input of the key generation module; the site acquisition module is used to execute a set read / write sequence on the flash memory array of the secure USB flash drive when the secure USB flash drive is first inserted into the host, acquire the PUF site of the secure USB flash drive, and upload the data information to the digest generation module; the digest generation module is used to read the power-on initial state image of the SRAM of the internal controller of the secure USB flash drive when the secure USB flash drive is powered on, and perform hash digest based on the received data information. The system processes the controller fingerprint digest of the secure USB drive to generate a response and uploads the data to the response generation module. The response generation module, based on the received data, authenticates the secure USB drive by randomly generating a random number and mapping it to a PUF bit address index, generating a PUF response for the secure USB drive, and uploading the data to the key generation module. The key generation module, based on the received data, merges the obtained controller fingerprint digest and PUF response of the secure USB drive to obtain a session key, and uploads the data to the collaborative authentication module. The collaborative authentication module, based on the received data and the obtained session key, performs collaborative authentication of the secure USB drive and uploads the data to the key update module. The key update module, based on the received data and according to set rules, changes the random challenge value C to achieve real-time key updates.

Claims

1. A collaborative authentication method for a secure USB flash drive, comprising the following steps: S1. When the secure USB flash drive is inserted into the host for the first time, the set read and write sequence is executed on the flash memory array of the secure USB flash drive to obtain the PUF site of the secure USB flash drive; S2. When the secure USB flash drive is powered on, read the power-on initial state image of the SRAM of the internal controller of the secure USB flash drive, and perform hash digest processing to generate the controller fingerprint digest of the secure USB flash drive; S3. When authenticating the secure USB drive, the host randomly generates a random number and maps it to the PUF bit address index, and generates the PUF response of the secure USB drive; S4. Merge the obtained controller fingerprint digest and PUF response of the secure USB flash drive to obtain the session key; S5. Based on the session key obtained in step S4, implement collaborative authentication of the secure USB flash drive.

2. The collaborative authentication method for a secure USB flash drive according to claim 1, characterized in that... Step S1, which describes performing a pre-defined read / write sequence on the flash memory array of the secure USB drive when it is first inserted into the host computer to obtain the PUF (Power Placement) location of the secure USB drive, specifically includes the following steps: When the security USB flash drive is first inserted into the host, logic 0 or logic 1 is written to several data bits of several logical pages of the security USB flash drive's flash memory array; Then, several rounds of reading operations are performed, and the results of each reading are compared: the bit positions in which the logical value flips no more than a set threshold in all reading rounds are obtained as stable PUF positions; and the address mapping table and position index of the obtained stable PUF positions are cached in the controller confidential area of ​​the secure USB flash drive.

3. The collaborative authentication method for a secure USB flash drive according to claim 2, characterized in that... When the secure USB flash drive is powered on as described in step S2, the initial power-on state image of the SRAM of the internal controller of the secure USB flash drive is read, and hash digest processing is performed to generate the controller fingerprint digest of the secure USB flash drive. Specifically, the steps include the following: When the secure USB flash drive is powered on, the power-on initial state image of the controller SRAM of the secure USB flash drive is read; the power-on initial state image is defined as the state of each bit of the controller's SRAM after the controller of the secure USB flash drive is powered on and completes the self-test; the state is either state 0 or state 1. The obtained power-on initial state image is converted into a set of raw bit strings; The original bit string is hashed to obtain the controller fingerprint digest of the secure USB flash drive.

4. The collaborative authentication method for a secure USB flash drive according to claim 3, characterized in that... When authenticating the secure USB drive in step S3, the host randomly generates a random number and maps it to a PUF bit address index, and generates a PUF response for the secure USB drive. Specifically, this includes the following steps: When authenticating a secure USB drive, the host randomly generates a random challenge value C of a set length; By using a pseudo-random mapping function, the random challenge value is perturbed and mapped to obtain a set of indices for reading stable PUF sites, denoted as Index_Set = {i1, i2, ..., i...}. k }, where i k This represents the logical index position in the stable PUF site set. The controller accesses each i sequentially. k The indicated flash memory address is used to read the corresponding current physical value, and finally the complete PUF response is obtained by splicing them together; N is the number of stable PUF sites, and k is the number of sites required for each authentication; The pseudo-random mapping function is i_j=((H(C||j))mod N)+1 In the formula, i_j is the index number of the j-th PUF site to be accessed; || represents the bit string concatenation operation; H is the secure hash function SHA-256(); C is the challenge value in this authentication; j is the index variable, used to indicate which PUF site index is being generated; Through mapping, each generated random challenge value will correspond to a uniquely determined set of indices, which will point to the obtained stable PUF site; Read the physical bit values ​​corresponding to the stable PUF sites sequentially; each stable PUF site corresponds to a physical address, and the corresponding value exhibits a stable bias affected by manufacturing deviations when the physical programming state is not complete; The physical bit values ​​corresponding to the read stable PUF sites are concatenated to obtain the PUF response of the current secure USB flash drive.

5. The collaborative authentication method for a secure USB flash drive according to claim 4, characterized in that... Step S4, which involves merging the obtained controller fingerprint digest and PUF response of the secure USB flash drive to obtain the session key, specifically includes the following steps: The controller fingerprint digest and PUF response of the obtained secure USB flash drive are merged using the following formula: K_auth=HMAC_SHA256(key=H_ctrl, message=R_puf||C) In the formula, K_auth is the session key; HMAC_SHA256() represents the HMAC algorithm based on the SHA-256 hash function; key = H_ctrl indicates that the controller fingerprint digest H_ctrl of the secure USB flash drive is used as the key for the HMAC algorithm; message = R_puf||C indicates that the PUF response R_puf and the random challenge value C are concatenated and used as the message input for the HMAC algorithm.

6. The collaborative authentication method for a secure USB flash drive according to claim 5, characterized in that... Step S5, which involves collaborative authentication of the secure USB drive based on the session key obtained in step S4, specifically includes the following steps: During the initialization of the secure USB drive, the secure USB drive encapsulates and saves its core data partition's encryption key K_data using the session key K_auth, represented as... E_data_key=AES_GCM_Encrypt(K_auth,K_data,IV,AAD) In the formula, E_data_key is the encryption key for the protected data; AES_GCM_Encrypt() represents an authentication encryption mode of the AES encryption standard; IV is a random number; AAD is authentication append data; The authentication process for a secure USB drive includes the following stages: The secure USB drive uses the session key K_auth to decrypt E_data_key: if the authentication key is correct during the decryption process, it indicates that authentication is successful; Otherwise, decryption and authentication will fail. If authentication is successful, the secure USB drive will unlock the data access path, mark the main storage partition as readable and writable, and allow file operations. If authentication fails, the security USB drive will lock the main storage partition.

7. The collaborative authentication method for a secure USB flash drive according to claim 1, characterized in that... It also includes the following steps: S6. According to the set rules, change the random challenge value C to achieve real-time update of the session key.

8. The collaborative authentication method for a secure USB flash drive according to claim 7, characterized in that... The process of changing the random challenge value C specifically includes the following steps: The updated random challenge value C is calculated using the following formula: C_next = SHA256(C||R_puf) In the formula, C_next is the updated random challenge value; SHA256() represents a 256-bit encrypted hash operation; C||R_puf represents the concatenation of the original random challenge value and the PUF response R_puf.

9. A system for implementing the collaborative authentication method for a secure USB flash drive as described in any one of claims 1 to 8, characterized in that... It includes a site acquisition module, a digest generation module, a response generation module, a key generation module, a collaborative authentication module, and a key update module; the site acquisition module, digest generation module, response generation module, key generation module, collaborative authentication module, and key update module are connected in series; the output of the key update module is connected to the input of the key generation module; the site acquisition module is used to execute a set read and write sequence on the flash memory array of the secure USB flash drive when the secure USB flash drive is first inserted into the host, to acquire the PUF site of the secure USB flash drive, and upload the data information to the digest generation module; The digest generation module is used to read the power-on initial state image of the SRAM of the internal controller of the secure USB flash drive when it is powered on, based on the received data information, and to perform hash digest processing to generate the controller fingerprint digest of the secure USB flash drive, and then upload the data information to the response generation module. The response generation module is used to authenticate the secure USB drive based on the received data information. When the host randomly generates a random number and maps it to the PUF bit address index, it generates the PUF response of the secure USB drive and uploads the data information to the key generation module. The key generation module is used to merge the controller fingerprint digest of the secure USB flash drive and the PUF response obtained from the received data information to obtain the session key, and then upload the data information to the collaborative authentication module. The collaborative authentication module is used to perform collaborative authentication of the secure USB flash drive based on the received data information and the obtained session key, and then upload the data information to the key update module. The key update module is used to change the random challenge value C according to the received data information and the set rules, so as to realize the real-time update of the key.

Citation Information

Cited By

  • Secure USB flash disk data processing method and system suitable for power grid sensitive computing environment

    CN121030826A

  • Security U disk data processing method and system suitable for power grid sensitive computing environment

    CN121030826B