An authentication method and system for secure transmission of data

CN122093176BActive Publication Date: 2026-10-27SHENZHEN GLOBALBRANDS TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202610450688.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-04-08
Publication Date
2026-10-27
Estimated Expiration
2046-04-08

AI Technical Summary

Technical Problem

这种将身份认证与数据授权耦合的方式,导致权限粒度较粗,一旦认证通过,通信节点即可在会话有效期内传输任何数据,难以实现对具体数据的细粒度访问控制

Benefits of technology

[0010]本申请实施例的用于数据安全传输的认证方法及系统,本方法认证过程不再要求实时交互,承诺信息与验证信息在时间上解耦,使得本方法能够适应高延迟、间歇性连接等复杂网络环境。其次,认证与授权被分离,身份凭证只证明身份,授权凭证只针对具体数据,两者独立存在且共同作用。本机制有效防止了权限滥用,即使身份凭证泄露,攻击者也难以传输未被授权的数据,因为每个数据都需要对应的授权凭证。相比于现有技术中将认证与授权耦合的做法,本方法实现了细粒度访问控制。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122093176B_ABST
    Figure CN122093176B_ABST
Patent Text Reader

Abstract

The present application relates to the field of data security transmission, and more particularly to an authentication method and system for data security transmission, receiving commitment information sent by a communication node, and storing the commitment information and the identity of the communication node in association; when a preset trigger condition is met, receiving verification information sent by the communication node, the verification information corresponding to the commitment information; verifying the commitment information according to the verification information, and generating an identity credential of the communication node after verification; receiving an authorization request sent by the communication node, the authorization request including attribute information of data to be transmitted; generating an authorization credential bound to the data to be transmitted according to the authorization request; receiving the data to be transmitted, the identity credential and the authorization credential sent by the communication node; verifying the validity of the identity credential and the authorization credential, and receiving the data to be transmitted if both are valid. Coupling authentication and authorization, the present application realizes fine-grained access control and can adapt to complex network environments such as high latency and intermittent connection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data security transmission technology, and in particular to an authentication method and system for data security transmission. Background Technology

[0002] In the field of secure data transmission, data transmission authentication refers to the technical means by which communicating parties verify each other's identity, data integrity, and the legality of data sources through specific mechanisms during data exchange. The core objective is to prevent security threats such as unauthorized access, data tampering, and replay attacks.

[0003] In existing data security transmission authentication methods, the authentication process typically requires real-time interaction between the communicating parties. Upon successful authentication, a session key or access permission is granted, which can then be used to transmit arbitrary data. This coupling of identity authentication and data authorization results in coarse-grained permissions. Once authentication is successful, the communicating node can transmit any data within the session's validity period, making fine-grained access control of specific data difficult to achieve. If the session key is stolen, an attacker can transmit data arbitrarily within the legitimate session window, posing a significant security risk.

[0004] When data to be transmitted needs to be sent collaboratively by multiple communication nodes, existing authentication methods struggle to effectively constrain the transmission behavior of each node. In the overall authorization mode, the compromise of any node could lead to the leakage or tampering of the entire data; in the separate authorization mode, the lack of correlation between the authorizations of each node makes it difficult to guarantee the integrity and consistency of data fragments, allowing attackers to bypass integrity verification by colluding among nodes or tampering with fragment combinations. Summary of the Invention

[0005] To address one or more problems in the prior art, the main objective of this application is to provide an authentication method and system for secure data transmission.

[0006] To achieve the above-mentioned objectives, this application proposes an authentication method for secure data transmission, the method comprising: Receive commitment information sent by a communication node, and associate and store the commitment information with the identity identifier of the communication node; When a preset triggering condition is met, the system receives verification information sent by the communication node, and the verification information corresponds to the commitment information. The commitment information is verified based on the verification information. Once the verification is successful, the identity credential of the communication node is generated. Receive an authorization request sent by the communication node, the authorization request including attribute information of the data to be transmitted; Generate an authorization credential bound to the data to be transmitted based on the authorization request; Receive the data to be transmitted, the identity credential, and the authorization credential sent by the communication node; Verify the validity of the identity credential and the authorization credential; if both are valid, receive the data to be transmitted.

[0007] This application also provides an authentication system for secure data transmission, comprising: The first receiving module is used to receive the commitment information sent by the communication node and associate the commitment information with the identity identifier of the communication node; The judgment module is used to receive verification information sent by the communication node when a preset triggering condition is met, wherein the verification information corresponds to the commitment information; The first verification module is used to verify the commitment information based on the verification information, and generate the identity credential of the communication node after the verification is successful. The second receiving module is used to receive the authorization request sent by the communication node, the authorization request including attribute information of the data to be transmitted; A generation module is used to generate an authorization credential bound to the data to be transmitted based on the authorization request; The third receiving module is used to receive the data to be transmitted, the identity credential, and the authorization credential sent by the communication node; The second verification module is used to verify the validity of the identity credential and the authorization credential. If both are valid, the module receives the data to be transmitted.

[0008] This application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of any of the methods described above.

[0009] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the methods described above.

[0010] The authentication method and system for secure data transmission described in this application eliminate the need for real-time interaction during the authentication process. The commitment information and verification information are decoupled in time, enabling the method to adapt to complex network environments such as high latency and intermittent connections. Secondly, authentication and authorization are separated; identity credentials only prove identity, while authorization credentials are only for specific data. Both exist independently yet work together. This mechanism effectively prevents abuse of permissions. Even if identity credentials are leaked, attackers will find it difficult to transmit unauthorized data because each piece of data requires a corresponding authorization credential. Compared to existing technologies that couple authentication and authorization, this method achieves fine-grained access control. Attached Figure Description

[0011] Figure 1 This is a schematic flowchart of an authentication method for secure data transmission according to an embodiment of this application; Figure 2 This is a schematic flowchart of an authentication method for secure data transmission according to an embodiment of this application; Figure 3 This is a schematic block diagram of an authentication system for secure data transmission according to an embodiment of this application; Figure 4 This is a schematic block diagram of the structure of a computer device according to an embodiment of this application; Figure 5 This is a verification diagram of an authentication method for secure data transmission according to an embodiment of this application.

[0012] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0013] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0014] Reference Figure 1 This application provides an authentication method for secure data transmission, the method comprising: S1. Receive the commitment information sent by the communication node, and associate and store the commitment information with the identity identifier of the communication node; S2. When a preset triggering condition is met, receive verification information sent by the communication node, wherein the verification information corresponds to the commitment information; S3. Verify the commitment information based on the verification information. If the verification is successful, generate the identity credential of the communication node. S4. Receive an authorization request sent by the communication node, wherein the authorization request includes attribute information of the data to be transmitted; S5. Generate an authorization credential bound to the data to be transmitted based on the authorization request; S6. Receive the data to be transmitted, the identity credential, and the authorization credential sent by the communication node; S7. Verify the validity of the identity credential and the authorization credential. If both are valid, receive the data to be transmitted.

[0015] As described in steps S1-S3 above, this method achieves fine-grained control over data transmission by decoupling the authentication process from the authorization process and employing an asynchronous verification mechanism. S1: First, the authenticator receives the commitment information sent by the communication node. This commitment information can be understood as a verification credential prepared in advance by the communication node, such as the current hash value in a hash chain, or a cryptographic token generated by a random number. After receiving the commitment information, the authenticator associates it with the communication node's identity identifier and stores it. The identity identifier can be the communication node's device number, network address, or other information that can uniquely identify the node. This step allows the communication node to retain a copy of the credential, while the authenticator only needs to remember which node this credential belongs to. S2: When a preset trigger condition is met, the authenticator receives the verification information sent by the communication node. The preset trigger condition can be implemented in various ways, such as the communication node actively sending a data preparation notification when it is ready to send data, or the authenticator automatically triggering verification after a preset period of time after receiving the commitment information. The verification information corresponds to the commitment information in S1; for example, the verification information can be the previous hash value in the hash chain, or the result obtained after performing a specific operation on the commitment information. The core of this step lies in decoupling commitment and verification in time. Verification is no longer an immediate response upon receiving a commitment, but rather driven by specific conditions, thus adapting to scenarios with high network latency or unstable communication. The S3 authenticator verifies the previously stored commitment information based on the received verification information. The specific verification method depends on the correspondence between the commitment and verification information. For example, if the commitment information is the current hash value in the hash chain, and the verification information is the previous hash value, then the authenticator only needs to perform a hash operation on the verification information and check if the result equals the commitment information. After successful verification, the authenticator generates an identity credential for the communication node. This identity credential may contain the node's identity identifier, validity period, and session key for subsequent communication. The generation of the identity credential signifies that the authenticator has confirmed the authenticity of the node's identity, but at this point, no data transmission permissions have been granted; the identity credential is merely proof of identity.

[0016] As described in steps S4-S7 above, in S4, when a communication node needs to transmit specific data, it sends an authorization request to the authenticator, carrying the attribute information of the data to be transmitted. The attribute information may include the data type, size, receiver identifier, expected transmission time window, etc., which describe the specific characteristics of this data transmission. The key to this step is associating authorization with specific data, rather than simply binding authorization to the session. In S5, the authenticator generates an authorization credential bound to the data to be transmitted based on the attribute information in the authorization request. The authorization credential can be a digital signature containing the attribute information of the data to be transmitted, or an encrypted token; only the holder of this token can successfully transmit the data. In this way, the authorization credential and the specific data are strongly bound together. Even if an attacker obtains the identity credential, they cannot arbitrarily transmit other data because each piece of data requires a corresponding authorization credential. In S6, the communication node sends the data to be transmitted, the identity credential generated in S3, and the authorization credential generated in S5 to the authenticator. At this point, the authenticator receives the data itself and two different types of credentials simultaneously. In S7, the authenticator verifies the validity of the identity credential and the authorization credential respectively. The verification of identity credentials primarily checks whether they are valid and match the identity identifier of the communication node. The verification of authorization credentials checks whether they match the currently received data; for example, verifying whether the attribute information in the authorization credential matches the actual attributes of the data, or verifying the validity of the authorization credential's signature. The authenticator will only accept the data if both credentials are successfully verified. If either credential fails verification, the data will be rejected.

[0017] As mentioned above, this method eliminates the need for real-time interaction during the authentication process, decoupling commitment and verification information in time. This allows the method to adapt to complex network environments with high latency and intermittent connections. Secondly, authentication and authorization are separated; identity credentials only prove identity, while authorization credentials only apply to specific data. Both exist independently yet work together. This mechanism effectively prevents abuse of permissions. Even if identity credentials are leaked, attackers will find it difficult to transmit unauthorized data because each piece of data requires a corresponding authorization credential. Compared to existing technologies that couple authentication and authorization, this method achieves fine-grained access control.

[0018] Reference Figure 2 In one embodiment, the step of verifying the commitment information based on the verification information, and generating the identity credential of the communication node after successful verification, includes: S31. Based on the identity identifier of the communication node, obtain the verification information stored in association with the commitment information; S32. The verification information is processed using a preset verification algorithm to generate a verification value; S33. Compare the verification value with the commitment information; S34. If the verification value is consistent with the commitment information, then the verification is confirmed to be successful; S35. Based on the successful verification result, an identity credential including the identity identifier, validity period and session key is generated according to the identity identifier of the communication node and the current timestamp, and the correspondence between the identity credential and the identity identifier of the communication node is stored.

[0019] As described above, firstly, during the verification process, the authenticator retrieves the verification information associated with the commitment information from storage based on the identity identifier of the communication node. The key here is that the identity identifier acts as an index. Since the authenticator may maintain the authentication status of multiple communication nodes simultaneously, and each node may have multiple incomplete authentication processes, without the identity identifier as an index, the authenticator cannot accurately find which verification information corresponds to which commitment information. Through the association of identity identifiers, the authenticator can accurately locate the correct verification information, avoiding potential confusion during concurrent authentication by multiple nodes. Next, the obtained verification information is processed using a preset verification algorithm to generate a verification value. This verification algorithm can be a hash operation, symmetric decryption, or digital signature verification, etc. For example, if the commitment information is the current hash value in the hash chain, and the verification information is the previous hash value, then the preset verification algorithm is a hash operation; the authenticator performs a hash calculation on the verification information, and the resulting hash value is the verification value. If the commitment information is an encrypted random number, and the verification information is the decrypted result, then the preset verification algorithm is a decryption operation. The essence of this step is to transform the verification information into a form that can be directly compared with the commitment information. Then, the authenticator compares the calculated verification value with the previously stored commitment information. If they match, it indicates a correct correspondence between the verification and commitment information, and the verification information provided by the communication node is genuine and valid; therefore, the verification passes. If they do not match, the verification fails, and the authenticator can refuse subsequent operations or require the communication node to re-initiate authentication. After successful verification, the authenticator generates the communication node's identity credential based on this result. The identity credential is generated based on the communication node's identity identifier and current timestamp. The identity identifier identifies which node the credential belongs to, and the timestamp records the credential's generation time, providing a basis for setting the validity period later. The generated identity credential contains at least three elements: identity identifier, validity period, and session key. The identity identifier identifies the holder, the validity period limits the credential's usage time, and the session key is used for subsequent encrypted data transmission. These three elements together constitute a complete and manageable identity credential. Finally, the authenticator stores the correspondence between this identity credential and the communication node's identity identifier. This is done to facilitate quick retrieval of the node's identity credential during subsequent authorization and data transmission phases, avoiding re-verification every time it is used. At the same time, storing the corresponding relationships also provides a basis for the revocation, updating, and querying of vouchers.

[0020] In one embodiment, before verifying the commitment information based on the verification information, the method further includes: Based on the identity identifier of the communication node, obtain the verification status corresponding to the commitment information. The verification status includes a pending verification status, a verification in progress status, and a verified status. If the verification status is pending verification, then the verification status is updated to verification in progress, and the step of verifying the commitment information based on the verification information is executed. If the verification status is in the verification process or the verification status is already verified, then the currently received verification information is ignored and a duplicate verification event is recorded. After the verification is successful and the identity credential of the communication node is generated, the verification status of the commitment information is updated to the verified status.

[0021] As mentioned above, a verification state management mechanism is introduced. By maintaining a clear state identifier for each commitment message, the problem of duplicate verification and concurrent conflicts that may occur during asynchronous authentication is solved. In asynchronous authentication mode, commitment information and verification information are decoupled in time, which means that the same commitment information may correspond to multiple verification messages. For example, a communication node may send the same verification message multiple times due to network fluctuations, or an attacker may send a forged verification message before the legitimate verification message arrives. Without a state management mechanism, the authenticator may verify the same commitment information multiple times, resulting in wasted resources, and even invalid verification messages arriving first may occupy verification opportunities, causing subsequent legitimate verification messages to be incorrectly rejected. To address this problem, this embodiment first obtains the verification state corresponding to the commitment information based on the identity identifier of the communication node before verification begins. This verification state is a dynamically maintained marker used to indicate which stage the current commitment information is in. This embodiment defines three states: pending verification, verification in progress, and verified. The pending verification state indicates that the commitment information has been stored, but no verification information has been received yet, and the verification process has not yet started. The verification in progress state indicates that a verification message has been received and is being processed for verification. The verified status indicates that verification has been completed and passed. Upon receiving the verification status, the authenticator decides how to handle newly received verification information based on the current status. If the status is "Pending Verification," it means this is the first verification message to arrive, and the authenticator updates the status to "Verifying" and continues the verification process. This is to lock the commitment information and prevent subsequent verification messages from interfering with the current verification process. If the status is "Verifying" or "Verified," it means the commitment information has already been processed, and any subsequent verification messages received are duplicates. The authenticator ignores these duplicate verification messages and records a duplicate verification event. Frequent duplicate verification events may indicate network problems or attacks. Once verification is successful, the authenticator generates identity credentials and updates the verification status of the commitment information to "Verified." This step signifies that the verification process for the commitment information is complete. Even if new verification messages arrive subsequently, they will be intercepted by the state machine, ensuring that each commitment message is successfully verified only once.

[0022] In this embodiment, firstly, duplicate verification is prevented, avoiding unnecessary verification calculations by the authenticator for the same commitment information, thus saving system resources. Secondly, the concurrency problem in asynchronous authentication is resolved. Without state management, if two verification messages arrive almost simultaneously, the authenticator may verify the same commitment information twice, causing state chaos. However, through state machine control, only the first arriving verification message is processed, and subsequent verification messages are automatically ignored, ensuring the determinism and consistency of the verification process. This is particularly important when an attacker attempts to preemptively send forged verification information, because once the legitimate node's verification message arrives first, the state changes from pending verification to verification in progress, and the attacker's subsequent forged verification message is directly ignored. Conversely, if the attacker's forged verification message arrives first, although it will lock the state, the verification will fail because its content is incorrect.

[0023] In one embodiment, the authorization request sent by the communication node includes multiple authorization requests sent by multiple communication nodes; each authorization request includes attribute information of its own data segment to be transmitted, and the multiple data segments to be transmitted constitute complete data to be transmitted.

[0024] As mentioned above, in real-world data transmission scenarios, the data to be transmitted is often not entirely held by a single node. For example, in a distributed storage system, a large file may be split into multiple data blocks and stored on different storage nodes. When these data blocks need to be transmitted to the target, multiple storage nodes need to participate simultaneously, each sending its own data fragment. Similarly, in multi-path transmission scenarios, to improve transmission efficiency, the sender splits the data into multiple streams and sends them simultaneously through different network paths, with each node on each path responsible for transmitting a portion of the data fragment. In these scenarios, traditional single-node authentication and authorization mechanisms cannot meet the requirements. To address this need, this embodiment now sends its own authorization request to multiple communication nodes. Each authorization request contains attribute information about the data fragment to be transmitted, such as the size, type, and position of the data fragment within the complete data. All these data fragments, combined according to preset rules, constitute the complete data to be transmitted. This design decomposes a single transmission task into multiple parallel authorization requests. Each communication node is only responsible for its own portion of the data fragment and only needs to request authorization for its own fragment. This avoids the problems of single point of dependency and excessive concentration of permissions that would result from having a central node uniformly apply for overall authorization.

[0025] In one embodiment, the method further includes: Receive data segments, identity credentials, and sub-authorization credentials sent by each communication node, wherein the sub-authorization credentials are bound to the main authorization credentials, and each sub-authorization credential limits the data segments that the corresponding communication node can transmit; Verify the validity of the identity credentials of each communication node; if invalid, discard the data segment sent by the corresponding communication node. If valid, the validity of the sub-authorization credential of each communication node is verified based on the judgment result, including verifying the binding relationship between the sub-authorization credential and the main authorization credential; and verifying whether the attribute information of the sub-authorization credential matches the corresponding data segment. If any verification fails, the data segment sent by the corresponding communication node is discarded. If all verifications pass, the corresponding communication node will be added to the set of valid nodes. Based on the judgment results, the number of communication nodes in which both identity credentials and sub-authorization credentials have been verified will be counted. If the number reaches a preset threshold, all verified data segments are received and combined into complete data to be transmitted. If the number does not reach the preset threshold, all received data segments are discarded and the abnormal event is recorded.

[0026] As described above, by introducing a mechanism of primary authorization credentials, sub-authorization credentials, and preset quantity thresholds, this embodiment effectively constrains the transmission behavior of multiple nodes and ensures the integrity and consistency of data fragments. Multiple communication nodes each send an authorization request, each request containing attribute information of its respective data fragment. Based on this, this embodiment first defines two types of authorization credentials: primary authorization credentials and sub-authorization credentials. The primary authorization credential is an authorization credential for the entire data, representing the overall authorization for the entire data to be transmitted. Sub-authorization credentials are authorization credentials for each communication node and its held data fragments. Each sub-authorization credential is bound to the primary authorization credential, meaning that the validity of the sub-authorization credential depends on the primary authorization credential, and each sub-authorization credential explicitly defines the range of data fragments that the corresponding communication node can transmit. This two-layer authorization structure design ensures unified authorization for the overall data while achieving precise control over the transmission behavior of each node. When each communication node begins sending data, the authenticator receives three elements from each node: data fragment, identity credential, and sub-authorization credential. The authenticator first verifies the validity of each node's identity credential. The identity credential is generated through asynchronous authentication and is used to prove the legitimacy of the node's identity. If a node's identity credentials are invalid, it means the node itself has not passed authentication, and the data fragments it sends will be discarded without further processing. For nodes whose identity credentials have been verified, the authenticator will further verify the validity of their sub-authorization credentials. Sub-authorization credential verification involves two levels of checks. The first level verifies whether the binding relationship between the sub-authorization credential and the main authorization credential is valid. This mainly checks whether the sub-authorization credential is generated based on the correct main authorization credential, preventing attackers from using forged sub-authorization credentials. The second level verifies whether the attribute information of the sub-authorization credential matches the data fragment sent by the node. For example, it checks whether the data fragment position index specified in the sub-authorization credential matches the actual received data fragment position, and whether the data fragment size specified in the sub-authorization credential matches the actual received data fragment size. These two levels of verification ensure that each node can only transmit the authorized data fragment, making it difficult to transmit beyond the authorized range or tamper with the fragment content. If a node's sub-authorization credential verification fails, whether due to an invalid binding relationship or mismatched attribute information, the authenticator will discard the data fragments sent by that node. Only nodes whose identity credentials and sub-authorization credentials have both been verified will be included in the set of valid nodes. Next, the certifier will count the number of nodes in the valid node set and compare this number with a preset threshold. This preset threshold is set based on the fault tolerance requirements for data recovery. In many multi-node collaborative transmission scenarios, it is not necessary for all nodes to successfully send data to recover the complete data; a certain number of nodes are sufficient. For example, in an erasure coding storage system, data is encoded into multiple fragments, and only a few of these fragments are needed to recover the original data.The preset threshold number is set based on this fault tolerance capability, allowing for the recovery of complete data even if some nodes fail or data is lost. If the number of valid nodes reaches the preset threshold, the authenticator will receive all these verified data segments and combine them into complete data to be transmitted according to preset rules. If the number of valid nodes does not reach the threshold, it means that the condition for successfully recovering complete data is not met. The authenticator will discard all received data segments and record an anomaly for subsequent troubleshooting or re-initiating transmission.

[0027] In one embodiment, after the step of counting the number of communication nodes where both the identity credential and the sub-authorization credential have been successfully verified, the method further includes: When the data reaches a preset quantity threshold, the location index of each verified data segment is obtained, wherein the location index is included in the attribute information of the sub-authorization credential; Based on the location index of each verified data segment, combine all verified data segments into complete data to be transmitted. Obtain the overall verification value embedded in the master authorization credential, wherein the overall verification value is generated based on the complete data to be transmitted when the master authorization credential is generated; Calculate the actual overall verification value of the combined data, and compare the actual overall verification value with the overall verification value; Based on the comparison results, if the actual overall verification value is consistent with the overall verification value, then the complete data to be transmitted is received. If the actual overall check value is inconsistent with the overall check value, all received data segments are discarded and an overall check failure event is recorded.

[0028] As described above, by introducing a holistic verification mechanism, the combined complete data is verified as a whole, effectively preventing data integrity issues caused by multiple nodes colluding to tamper with data or a single node transmitting beyond its permitted range. Since the authenticator in the above embodiment has already verified the identity credentials and sub-authorization credentials of each communication node and confirmed that the number of valid nodes has reached a preset threshold, the authenticator holds multiple verified data fragments. Theoretically, these fragments should be able to be combined into complete data to be transmitted. However, there is a potential security risk: although each data fragment has passed the sub-authorization credential verification, this only proves that each fragment itself meets the authorization requirements in terms of content attributes, such as the size and type of the fragment. However, whether these fragments can actually be combined into the expected complete data, and whether there is collusion among multiple nodes, each sending data that meets the sub-authorization credential requirements but is pieced together to form incorrect data, are all issues that need to be considered. For example, in a distributed storage scenario, an attacker controls three nodes. The attribute information of the data fragments sent by these three nodes is correct individually, but the combined data is tampered and false data. This situation cannot be detected by fragment-level verification alone.

[0029] To address this issue, this embodiment introduces a complete overall verification process after the number of valid nodes reaches a preset threshold. First, the authenticator obtains the location index of each verified data segment. This location index is pre-included in the attribute information of the sub-authorization credential and indicates the order of the data segment within the complete data. For example, a complete file may be split into five segments with location indices one, two, three, four, and five, each assigned a fixed location index when the sub-authorization credential is generated. Based on these location indices, the authenticator combines all verified data segments in the correct order to form a complete set of data to be transmitted. Next, the authenticator verifies the authenticity of this combined data. The authenticator obtains the pre-embedded overall verification value from the main authorization credential. This overall verification value is calculated based on the complete data to be transmitted when the main authorization credential is generated. The overall verification value can be understood as a digital fingerprint of the entire data, such as a hash value calculated from the complete data using a hash algorithm. Since the main authorization credential is generated during the authorization phase and bound to the sub-authorization credential, its security is already guaranteed. Then, the authenticator performs the same verification calculation on the newly combined complete data to obtain the actual overall verification value. For example, the same hash operation is performed on the combined data to obtain a hash value. This calculated overall verification value is then compared with the pre-stored overall verification value in the master authorization credential. If the two verification values ​​match, it means that the combined data is completely consistent with the original data at the time of authorization, and no tampering has occurred. The authenticator can then securely receive this complete data to be transmitted. If the two verification values ​​do not match, it means that although each data fragment appears legitimate individually, the combined data does not match the original data. This implies that nodes may have colluded to tamper with the data or that some fragments have been incorrectly replaced. In this case, the authenticator will discard all received data fragments and record an overall verification failure event for subsequent auditing and investigation.

[0030] In one embodiment, the step of calculating the actual overall verification value of the combined data includes: Obtain the data stream of the combined data; Based on the combined data stream, the data stream is divided into multiple data blocks according to a preset block division rule; Perform a hash operation on each data block in sequence to obtain the hash value of each data block; The actual overall verification value is generated based on the hash values ​​of all data blocks according to a preset aggregation method.

[0031] As mentioned above, the block hashing mechanism makes the calculation of the overall verification value more efficient and flexible, and can adapt to data transmission scenarios of different scales. Specifically, the authenticator needs to compare the combined complete data with the overall verification value in the main authorization credential. This implicitly assumes that the authenticator can calculate this overall verification value. However, how to calculate the overall verification value is a problem that needs to be clarified, especially when dealing with large-scale data, as different calculation methods can significantly impact system performance. This embodiment first clarifies that the calculation object is the combined data stream. The combined data here is a complete data stream composed of multiple data fragments concatenated according to their position indices; it could be a file, a video, or any form of data to be transmitted. Next, the authenticator will divide this data stream into multiple data blocks according to preset block rules. The block rules can be based on a fixed size, such as 1 megabyte per data block, or on a variable size, such as dividing according to the natural boundaries of the data content. The reason for block processing is that in practical applications, the amount of data to be transmitted can be very large, possibly several GB or even TB. If the entire data is read into memory for hash calculation at once, it may lead to memory overflow or excessive computational latency. By processing data in blocks, the authenticator can read data in batches, processing only one block at a time, significantly reducing memory requirements. After dividing the data into blocks, the authenticator performs a hash operation on each block sequentially, obtaining a hash value for each block. A hash operation is an algorithm that maps data of arbitrary length to a fixed-length value, such as the common SHA-256 algorithm. Calculating the hash value for each data block is equivalent to generating a digital fingerprint for each block. These hash values ​​themselves do not have integrity verification functionality, but they are the basic building blocks for constructing the overall verification value. Finally, the authenticator generates the actual overall verification value based on the hash values ​​of all data blocks according to a preset aggregation method. There are several aggregation methods to choose from. The simplest way is to concatenate the hash values ​​of all data blocks sequentially into a long string, and then perform a hash operation on this string, using the result as the overall verification value. Another way is to construct a Merkle tree, using the hash values ​​of all data blocks as leaf nodes, hashing upwards layer by layer, and finally obtaining the root node as the overall verification value. Regardless of the aggregation method used, the essence is to integrate the hash values ​​of multiple data blocks into a unique and unforgeable overall fingerprint.

[0032] In one feasible embodiment, before obtaining the overall verification value embedded in the master authorization credential, the method further includes: Receive the aggregated verification value sent by the coordinating node, the aggregated verification value being a unique identifier generated based on all data fragments of the complete data to be transmitted; When receiving data segments sent by each communication node, the segment verification information corresponding to that data segment is also received. Based on the fragment verification information, verify whether the data fragment matches the overall data corresponding to the aggregate verification value; If a match is found, the data fragment and its verification information are temporarily stored. When the number of communication nodes whose identity credentials and sub-authorization credentials have both been verified reaches a preset threshold, the overall verification value is reconstructed based on all temporarily stored data fragments and their verification information. The overall reconstructed verification value is compared with the aggregated verification value; If the comparison matches, then the complete data to be transmitted is received; If the comparison is inconsistent, discard all received data segments and record the overall verification failure event.

[0033] As described above, further improvements to the acquisition and verification method of the overall verification value, by introducing a dynamic verification mechanism that combines aggregated verification values ​​and fragmented verification information, solve the trust problem caused by the unilateral provision of the overall verification value by the communication node, and achieve independent and reliable verification of data integrity. In the technical solution of the above embodiment, the overall verification value is pre-embedded in the master authorization credential, and this overall verification value is provided by the communication node during the authorization phase. This creates a potential trust problem: the authenticator needs to believe that the overall verification value provided by the communication node is genuine and reliable. If the communication node is controlled by an attacker, or the coordinating node itself is malicious, then the attacker can provide a forged overall verification value, rendering subsequent overall verification meaningless. Although the authenticator can verify whether the data has been tampered with by comparing the overall verification value, if the basis for this comparison is fake, then the entire verification mechanism becomes meaningless. This is like using a fake key to verify a lock; no matter how you compare them, you won't find a problem. This addresses the trust dependency problem.

[0034] This embodiment proposes a verification mechanism. First, before obtaining the overall verification value embedded in the master authorization credential, the authenticator receives an aggregated verification value sent by the coordinating node. This aggregated verification value is a unique identifier generated based on all data fragments of the complete data to be transmitted. For example, it could be the root hash value obtained after constructing a Merkle tree from the content hash values ​​of all data fragments, or a fixed-length value obtained after aggregating all fragment information. The coordinating node can be the initiator of the transmission task or an independent third party, whose role is to provide a trusted verification benchmark for the overall data. Next, when receiving data fragments sent by each communication node, the authenticator simultaneously receives the fragment verification information corresponding to that data fragment. This fragment verification information can be the content hash value of the data fragment, or it can be proof of the fragment's position in the data structure corresponding to the aggregated verification value. For example, in a Merkle tree, the fragment verification information can include the path of the fragment in the tree. Through this fragment verification information, the authenticator can verify the fragment upon receiving it to determine whether it belongs to the overall data corresponding to the aggregated verification value. For example, if the aggregate verification value is a Merkle root and the fragment verification information is the fragment's hash value and its Merkle path, the authenticator can verify whether the fragment truly belongs to this Merkle tree through calculation. If the verification passes, it means the data fragment is indeed part of the overall data, and the authenticator will temporarily store the data fragment and its fragment verification information. If the verification fails, it means the fragment does not belong to the overall data; it may be forged by an attacker or sent incorrectly, and the authenticator can directly discard the fragment and stop processing. When the number of communication nodes where both identity credentials and sub-authorization credentials have been verified reaches a preset threshold, the authenticator has temporarily stored several verified data fragments and their verification information. At this point, the authenticator will reconstruct the overall verification value based on all these temporarily stored data fragments and their verification information. This reconstruction process is independent and does not rely on information provided by any communication node, but only on the fragment verification information collected by the authenticator itself. For example, if the aggregate verification value is a Merkle root, and each fragment carries its Merkle path, the authenticator can deduce the Merkle root value that should be obtained based on these paths. Finally, the authenticator compares the reconstructed overall verification value with the aggregated verification value initially sent by the coordinating node. If they match, it means that the combination of all the temporarily stored data fragments is indeed the overall data claimed by the coordinating node, and the authenticator can safely receive the complete data to be transmitted. If they do not match, it means that there has been data tampering or fragment mismatch, and the authenticator will discard all received data fragments and record an overall verification failure event.

[0035] refer to Figure 5For example, in a distributed storage system, a large, complete file is split into three data fragments, each stored on a different storage node. These three storage nodes need to securely transmit their respective data fragments to a common target server, which is responsible for authentication, authorization, and ultimately, reconstructing the complete file. During the authorization phase, the target server receives authorization requests from each of the three storage nodes. Each request contains attribute information about its respective data fragment, such as its size, type, and position index within the complete file. Based on the attribute information of these three data fragments, the target server generates a master authorization credential. The master authorization credential embeds an overall verification value, which is calculated using a Merkle tree: each of the three data fragments is hashed to obtain its own hash value; the first two hash values ​​are aggregated to obtain an intermediate hash value, which is then aggregated with the hash value of the third fragment to obtain the root hash, which is the overall verification value. In this way, an inseparable association is established between the overall verification value and the three data fragments. Simultaneously, the target server generates corresponding sub-authorization credentials for each storage node. Each sub-authorization credential embeds the content verification value and position index of the corresponding data fragment and is bound to the master authorization credential. During the transmission phase, the three storage nodes send their respective data fragments, identity credentials, and sub-authorization credentials to the target server. The target server first verifies the identity credentials of each node to confirm its legitimacy. Then, it verifies the sub-authorization credentials of each node, checking the binding relationship between the sub-authorization credentials and the main authorization credentials, and verifying that the content checksum in the sub-authorization credentials matches the actual received data fragment. After successful verification, the target server combines these three data fragments according to their respective position indices to obtain a complete set of data to be transmitted. After data combination, the target server performs a final verification of the integrity of the combined data. The target server uses block hashing to divide the combined complete data into multiple data blocks, calculates the hash value of each data block sequentially, and then generates an actual overall checksum based on a preset aggregation method. This actual overall checksum is then compared with the overall checksum pre-embedded in the main authorization credential. If they match, it means that the combination of the three data fragments is completely consistent with the original data at the time of authorization, without any tampering, and the target server accepts this complete file. If the two are inconsistent, it means that the data has been tampered with or some segments have been incorrectly replaced during transmission. The target server will refuse to receive the data and will record the abnormal event.

[0036] Reference Figure 3 This application also provides an authentication system for secure data transmission, comprising: The first receiving module 1 is used to receive commitment information sent by the communication node and associate the commitment information with the identity identifier of the communication node; The judgment module 2 is used to receive verification information sent by the communication node when a preset trigger condition is met, wherein the verification information corresponds to the commitment information; The first verification module 3 is used to verify the commitment information based on the verification information, and generate the identity credential of the communication node after the verification is successful. The second receiving module 4 is used to receive the authorization request sent by the communication node, the authorization request including attribute information of the data to be transmitted; Generation module 5 is used to generate an authorization credential bound to the data to be transmitted based on the authorization request; The third receiving module 6 is used to receive the data to be transmitted, the identity credential, and the authorization credential sent by the communication node; The second verification module 7 is used to verify the validity of the identity credential and the authorization credential. If both are valid, the module receives the data to be transmitted.

[0037] As described above, it is understood that each component of the authentication system for secure data transmission proposed in this application can achieve the function of any of the authentication methods for secure data transmission described above, and the specific structure will not be repeated.

[0038] Reference Figure 4 This application also provides a computer device, which may be a server, and its internal structure may be as follows: Figure 4 As shown, the computer device includes a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores data such as monitoring data. The network interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements an authentication method for secure data transmission.

[0039] The processor described above executes the authentication method for secure data transmission, comprising: receiving commitment information sent by a communication node and associating the commitment information with the identity identifier of the communication node; receiving verification information sent by the communication node when a preset trigger condition is met, the verification information corresponding to the commitment information; verifying the commitment information according to the verification information, and generating the identity credential of the communication node after successful verification; receiving an authorization request sent by the communication node, the authorization request including attribute information of the data to be transmitted; generating an authorization credential bound to the data to be transmitted according to the authorization request; receiving the data to be transmitted, the identity credential, and the authorization credential sent by the communication node; verifying the validity of the identity credential and the authorization credential, and receiving the data to be transmitted if both are valid.

[0040] One embodiment of this application also provides a computer-readable storage medium storing a computer program thereon. When executed by a processor, the computer program implements an authentication method for secure data transmission, comprising the steps of: receiving commitment information sent by a communication node and associating the commitment information with the identity identifier of the communication node; receiving verification information sent by the communication node when a preset trigger condition is met, the verification information corresponding to the commitment information; verifying the commitment information according to the verification information, and generating an identity credential of the communication node after successful verification; receiving an authorization request sent by the communication node, the authorization request including attribute information of data to be transmitted; generating an authorization credential bound to the data to be transmitted according to the authorization request; receiving the data to be transmitted, the identity credential, and the authorization credential sent by the communication node; verifying the validity of the identity credential and the authorization credential, and receiving the data to be transmitted if both are valid.

[0041] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in this application and in the embodiments can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual-speed SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0042] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, apparatus, article, or method that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, apparatus, article, or method. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, apparatus, article, or method that includes that element.

[0043] The above description is only a preferred embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural changes made based on the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. An authentication method for secure data transmission, characterized in that, The method includes: Receive commitment information sent by a communication node, and associate and store the commitment information with the identity identifier of the communication node; When a preset triggering condition is met, the system receives verification information sent by the communication node, and the verification information corresponds to the commitment information. The commitment information is verified based on the verification information. Once the verification is successful, the identity credential of the communication node is generated. Receive an authorization request sent by the communication node, the authorization request including attribute information of the data to be transmitted; Generate an authorization credential bound to the data to be transmitted based on the authorization request; Receive the data to be transmitted, the identity credential, and the authorization credential sent by the communication node; Verify the validity of the identity credential and the authorization credential; if both are valid, receive the data to be transmitted. The authorization requests sent by the communication nodes include multiple authorization requests sent by multiple communication nodes; each authorization request includes attribute information of its own data segment to be transmitted, and multiple data segments to be transmitted constitute complete data to be transmitted; the method further includes: receiving data segments, identity credentials, and sub-authorization credentials sent by each communication node, wherein the sub-authorization credentials are bound to the main authorization credentials, and each sub-authorization credential limits the data segments that the corresponding communication node can transmit; verifying the validity of the identity credentials of each communication node respectively, if invalid, discarding the data segment sent by the corresponding communication node; if valid, verifying the validity of the sub-authorization credentials of each communication node based on the judgment result. The validity process includes verifying the binding relationship between the sub-authorization credential and the main authorization credential; verifying whether the attribute information of the sub-authorization credential matches that of the corresponding data segment; if any verification fails, the data segment sent by the corresponding communication node is discarded; if all verifications pass, the corresponding communication node is added to the set of valid nodes, and based on the judgment results, the number of communication nodes whose identity credential and sub-authorization credential have both been verified is counted; if the number reaches a preset threshold, all verified data segments are received, and the data segments are combined into complete data to be transmitted; if the number does not reach the preset threshold, all received data segments are discarded, and an abnormal event is recorded. After the step of counting the number of communication nodes where both the identity credential and the sub-authorization credential have been verified, the method further includes: when the number reaches a preset threshold, obtaining the location index of each verified data segment, wherein the location index is included in the attribute information of the sub-authorization credential; combining all verified data segments into complete data to be transmitted based on the location index of each verified data segment; obtaining the overall verification value embedded in the main authorization credential, wherein the overall verification value is generated based on the complete data to be transmitted when the main authorization credential is generated; calculating the actual overall verification value of the combined data and comparing the actual overall verification value with the overall verification value; based on the comparison result, if the actual overall verification value matches the overall verification value, then receiving the complete data to be transmitted; if the actual overall verification value does not match the overall verification value, then discarding all received data segments and recording an overall verification failure event.

2. The authentication method for secure data transmission according to claim 1, characterized in that, The step of verifying the commitment information based on the verification information, and generating the identity credential of the communication node after successful verification, includes: Based on the identity identifier of the communication node, obtain the verification information stored in association with the commitment information; The verification information is processed using a preset verification algorithm to generate a verification value; The verification value is compared with the commitment information; If the verification value matches the commitment information, the verification is confirmed to be successful. Based on the successful verification, an identity credential including the identity identifier, validity period, and session key is generated according to the identity identifier of the communication node and the current timestamp, and the correspondence between the identity credential and the identity identifier of the communication node is stored.

3. The authentication method for secure data transmission according to claim 1, characterized in that, Before verifying the commitment information based on the verification information, the method further includes: Based on the identity identifier of the communication node, obtain the verification status corresponding to the commitment information. The verification status includes a pending verification status, a verification in progress status, and a verified status. If the verification status is pending verification, then the verification status is updated to verification in progress, and the step of verifying the commitment information based on the verification information is executed; If the verification status is in the verification process or the verification status is already verified, then the currently received verification information is ignored and a duplicate verification event is recorded. After the verification is successful and the identity credential of the communication node is generated, the verification status of the commitment information is updated to the verified status.

4. The authentication method for secure data transmission according to claim 1, characterized in that, The steps for calculating the actual overall verification value of the combined data include: Obtain the data stream of the combined data; Based on the combined data stream, the data stream is divided into multiple data blocks according to a preset block division rule; Perform a hash operation on each data block in sequence to obtain the hash value of each data block; The actual overall verification value is generated based on the hash values ​​of all data blocks according to a preset aggregation method.

5. An authentication system for secure data transmission, used in the method described in any one of claims 1-4, characterized in that, include: The first receiving module is used to receive the commitment information sent by the communication node and associate the commitment information with the identity identifier of the communication node; The judgment module is used to receive verification information sent by the communication node when a preset triggering condition is met, wherein the verification information corresponds to the commitment information; The first verification module is used to verify the commitment information based on the verification information, and generate the identity credential of the communication node after the verification is successful. The second receiving module is used to receive the authorization request sent by the communication node, the authorization request including attribute information of the data to be transmitted; A generation module is used to generate an authorization credential bound to the data to be transmitted based on the authorization request; The third receiving module is used to receive the data to be transmitted, the identity credential, and the authorization credential sent by the communication node; The second verification module is used to verify the validity of the identity credential and the authorization credential. If both are valid, the module receives the data to be transmitted.

6. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 4.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Fine-grained structured data store access using federated identity management

    US9569634B1