File transmission method and device, equipment, storage medium and program product

By embedding the authentication server in the proxy server of the cloud disk server, the terminal is authenticated, which solves the problem that the cloud disk server cannot guarantee the security of file transfer data, and achieves efficient and secure file transfer.

CN119814766AActive Publication Date: 2025-04-11CHINA MOBILE INTERNET CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411924551.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-04-11
Estimated Expiration
2044-12-24

AI Technical Summary

Technical Problem

The cloud disk server cannot guarantee the security of data during file upload and download, resulting in insufficient data security during file transfer.

Method used

By embedding an authentication server in the proxy server, the identity authentication of the terminal is realized, ensuring that file transfer is performed only when the authentication is passed, and the security of the file is verified before transmission.

Benefits of technology

Improve the security of data transmission, ensure data integrity and security during file transmission, thereby improving the efficiency of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814766A_ABST
    Figure CN119814766A_ABST
Patent Text Reader

Abstract

The invention discloses a file transmission method, device and equipment, a storage medium and a program product, which are applied to an authentication server, and the specific technical scheme comprises the following steps: receiving an identity authentication request sent by a terminal, the identity authentication request carrying user identity information and a to-be-transmitted file; querying authentication information corresponding to the user identity information in a database; calculating a verification parameter corresponding to the user identity information based on the authentication information and a preset authentication algorithm; authenticating the terminal based on the verification parameter; and transmitting the to-be-transmitted file under the condition that the authentication of the terminal is passed. Therefore, the data encryption speed can be improved, and the data transmission efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the technical field of data transmission, and in particular, relates to a method, device, equipment, storage medium and program product for file transmission. Background Art

[0002] With the explosive growth of data, the storage resources of the terminal are insufficient to support the storage of all the user's data. In order to store the user's data, the user can use the cloud disk to store and back up the data in the terminal, and the user can upload and download files based on the cloud disk.

[0003] Specifically, the user can select the file to be uploaded in the cloud disk application (Application, App), and then click the upload button to upload the file. Correspondingly, when downloading a file, the user can select the file to be downloaded in the cloud disk storage space, and then click the download button to download the file.

[0004] However, after receiving the file download request and file upload request corresponding to the user, the cloud disk server directly downloads and uploads the file, thereby failing to ensure data security during the file transmission process. Summary of the invention

[0005] The embodiments of the present application provide a method, device, equipment and storage medium for file transmission, which can improve data encryption speed and thus improve data transmission efficiency.

[0006] In a first aspect, an embodiment of the present application provides a method for file transmission, which is applied to a proxy server, and the method includes:

[0007] Receiving an identity authentication request sent by a terminal, wherein the identity authentication request carries user identity information and a file to be transmitted;

[0008] Query the database for authentication information corresponding to the user identity information;

[0009] Based on the authentication information and a preset authentication algorithm, calculating a verification parameter corresponding to the user identity information;

[0010] authenticating the terminal based on the verification parameter;

[0011] When the terminal is authenticated successfully, the file to be transmitted is transmitted.

[0012] In a possible implementation, before querying the database for authentication information corresponding to the user identity information, the method further includes:

[0013] Receiving a user identity, a user password and a first parameter sent by the terminal; the first parameter is generated by the terminal based on the user password and a first random number;

[0014] Determining whether the database includes the user identity identifier;

[0015] If the user identity identifier is not included in the database, generating user pseudo-identity information corresponding to the user identity identifier;

[0016] generating a second random number;

[0017] The correspondence between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier is stored in the database.

[0018] In a possible implementation manner, after storing the correspondence between the second random number, the first parameter, the user pseudo-identity information, and the user identity identifier in the database, the method further includes:

[0019] Generate a second parameter and a third parameter based on the first parameter and the second random number;

[0020] The second parameter, the third parameter, the user pseudo-identity information, and the cluster identifier of the cluster to which the authentication server in the proxy server belongs are sent to the terminal, so that the terminal calculates a fourth parameter based on the user identity identifier, the user password, and the first random number, calculates a first verification parameter based on the first parameter and the second parameter, calculates a second verification parameter based on the user identity identifier, and calculates a third verification parameter based on the user pseudo-identity information, the cluster identifier, the first parameter, the second parameter, and the user identity identifier.

[0021] In a possible implementation, the authentication information includes a user identity identifier, a first random number, and a first parameter, the user identity information includes user pseudo identity information, a cluster identifier, a first verification parameter, a second verification parameter, and a third verification parameter; the step of calculating the verification parameter corresponding to the identity authentication request based on the authentication information and a preset authentication algorithm includes:

[0022] Calculate a first verification parameter according to the user pseudo-identity information, the first verification parameter, the second verification parameter, the cluster identifier, a third random number, the first parameter, and the user identity identifier;

[0023] Calculate a second verification parameter according to the server pseudo-identity information of the proxy server;

[0024] Calculate a third verification parameter according to the user pseudo-identity information, the first verification parameter, the second verification parameter, the cluster identifier, the third random number and the first parameter;

[0025] Calculate a fourth verification parameter based on the user pseudo-identity information, the second verification parameter, the third verification parameter, the second verification parameter, the user identity identifier, the first verification parameter, the third random number, the first parameter, and the cluster identifier;

[0026] Authenticating the terminal based on the verification parameter includes:

[0027] The terminal is authenticated based on the first verification parameter, the second verification parameter, the third verification parameter, and the fourth verification parameter.

[0028] In a possible implementation, the proxy server includes an authentication server; before querying the database for authentication information corresponding to the user identity information, the method further includes:

[0029] Receive an authentication server identifier, a cluster identifier of a cluster to which the authentication server belongs, and a private key corresponding to the authentication server, sent by the authentication server;

[0030] Generate a shared key based on the proxy server identifier, the private key and the authentication server identifier;

[0031] Sending the shared key and the proxy server identifier to the authentication server, so that the authentication server generates a third random number, a fourth random number, and server pseudo-identity information corresponding to the proxy server;

[0032] The proxy server identifier, the shared key, the cluster identifier, the third random number, the fourth random number, and the server pseudo identity information are received from the authentication server.

[0033] In a possible implementation manner, authenticating the terminal based on the verification parameter includes:

[0034] Obtaining server pseudo-identity information corresponding to the proxy server;

[0035] determining whether the database includes the server pseudo-identity information;

[0036] In a case where the database includes the server pseudo identity information, calculating a target verification parameter according to the server pseudo identity information, the first verification parameter, the second verification parameter, the third verification parameter, the first parameter, the second random number, a fifth random number, a shared key, and the cluster identifier;

[0037] The step of transmitting the file to be transmitted when the terminal is authenticated successfully comprises:

[0038] When the target verification parameter is the same as the fourth verification parameter, the file to be transmitted is transmitted.

[0039] In a possible implementation manner, the file to be transmitted includes a content identifier to be transmitted and a preset indicator parameter; and the transmitting of the file to be transmitted includes:

[0040] Calculate the hash value of each data block in the content to be transmitted according to the preset indicator parameters;

[0041] For each data block, using the hash value of the data block, calculating the content similarity between the data block and other data blocks in the content to be transmitted;

[0042] Deleting the data blocks whose content similarity is greater than a preset threshold to obtain target transmission content;

[0043] The target transmission content is stored in the cloud disk storage space.

[0044] In a second aspect, an embodiment of the present application provides a method for file transmission, applied to a terminal, the method comprising:

[0045] Obtain user identity information and files to be transferred;

[0046] An identity authentication request carrying the user identity information and the file to be transmitted is sent to the proxy server, wherein the identity authentication request is used to instruct the proxy server to obtain authentication information corresponding to the user identity information in a database, calculate verification parameters corresponding to the user identity information based on the authentication information and a preset authentication algorithm, authenticate the terminal based on the verification parameters, and transmit the file to be transmitted if the proxy server successfully authenticates the terminal.

[0047] In a possible implementation manner, before obtaining the user identity information and the file to be transmitted, the method further includes:

[0048] Get user ID and password;

[0049] Calculate a hash value of the user password and a first random number to obtain a first parameter;

[0050] Sending the first parameter, the user identity identifier and the user password to the proxy server, so that the proxy server generates user pseudo-identity information corresponding to the user identity identifier when determining that the user identity identifier is not included in the database, and generates a second random number, and stores a corresponding relationship between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier in the database;

[0051] receiving a second parameter, a third parameter, the user pseudo-identity information, and a cluster identifier of a cluster to which an authentication server in the proxy server belongs, sent by the proxy server, wherein the second parameter and the third parameter are generated by the proxy server based on the first parameter and a second random number;

[0052] Calculate a first verification parameter based on the first parameter and the second parameter;

[0053] Calculate a second verification parameter based on the user identity identifier;

[0054] Calculate a third verification parameter based on the user pseudo-identity information, the cluster identifier, the first parameter, the second parameter, and the user identity identifier;

[0055] The user pseudo identity information, the cluster identifier, the first verification parameter, the second verification parameter, and the third verification parameter are used as the user identity information.

[0056] In a third aspect, an embodiment of the present application provides a device for file transmission, which is applied to a proxy server, and the device includes:

[0057] A receiving module, used to receive an identity authentication request sent by a terminal, wherein the identity authentication request carries user identity information and a file to be transmitted;

[0058] A query module, used to query the authentication information corresponding to the user identity information in the database;

[0059] A calculation module, used to calculate the verification parameter corresponding to the user identity information based on the authentication information and a preset authentication algorithm;

[0060] An authentication module, used to authenticate the terminal based on the verification parameter;

[0061] The transmission module is used to transmit the file to be transmitted when the terminal is authenticated.

[0062] In a fourth aspect, an embodiment of the present application provides a device for file transmission, applied to a terminal, the device comprising:

[0063] An acquisition module is used to obtain user identity information and files to be transferred;

[0064] A sending module is used to send an identity authentication request carrying the user identity information and the file to be transferred to an authentication server, wherein the identity authentication request is used to instruct the authentication server to obtain authentication information corresponding to the user identity information in a database, calculate the verification parameters corresponding to the user identity information based on the authentication information and a preset authentication algorithm, and send a verification request carrying the verification parameters to a proxy server, wherein the verification request is used to instruct the proxy server to authenticate the terminal based on the verification parameters.

[0065] In a fifth aspect, an embodiment of the present application provides an electronic device, the device comprising: a processor and a memory storing computer program instructions;

[0066] When the processor executes the computer program instructions, the method for file transfer as described in any one of the first aspects is implemented.

[0067] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the method for file transfer as described in any one of the first aspects is implemented.

[0068] In a seventh aspect, an embodiment of the present application provides a computer program product. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the file transfer method as described in any one of the first aspects.

[0069] A method, apparatus, device, storage medium and program product for file transfer in an embodiment of the present application, after receiving an authentication request sent by a terminal, the proxy server searches for corresponding authentication information in a local database according to the user identity information carried in the authentication request. Among them, the proxy server can calculate the user identity based on the authentication information to obtain the corresponding verification parameter. And after authenticating the terminal based on the verification parameter, if the authentication is successful, the proxy server transmits the file to be transferred. In this way, the user identity information and the file to be transferred are carried in the authentication request at the same time, and the proxy server can authenticate the user locally in advance according to the user identity information, and if the authentication is successful, the file to be transferred is transmitted. Before the data to be transmitted is stored in the cloud disk, the security of the file to be transmitted is verified, thereby improving the security of data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0070] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0071] Figure 1 It is an exemplary schematic diagram of a method for accessing and uploading a file provided in the prior art;

[0072] Figure 2 It is an exemplary schematic diagram of a method for accessing and downloading a file provided in the prior art;

[0073] Figure 3 It is a structural diagram of a file transmission system provided in an embodiment of the present application;

[0074] Figure 4 It is a flowchart of a method for file transmission applied to a proxy server provided in an embodiment of the present application;

[0075] Figure 5 It is a flowchart of a terminal registration method provided in an embodiment of the present application;

[0076] Figure 6 It is a flow chart of a server registration method provided in an embodiment of the present application;

[0077] Figure 7 is an exemplary schematic diagram of a server and terminal registration method provided in an embodiment of the present application;

[0078] Figure 8 It is a flowchart of a method for file transmission applied to a terminal provided in an embodiment of the present application;

[0079] Fig. 9 It is a flowchart of a method for obtaining user identity information provided by an embodiment of the present application;

[0080] Fig.10 is an exemplary schematic diagram of a terminal authentication method provided in an embodiment of the present application;

[0081] Fig.11 is an exemplary schematic diagram of a file transmission method provided in an embodiment of the present application;

[0082] Fig.12 It is a structural diagram of a device for file transmission applied to an authentication server provided in an embodiment of the present application;

[0083] Fig.13 It is a structural schematic diagram of a device for file transmission applied to a terminal provided in an embodiment of the present application;

[0084] Fig.14 It is a structural diagram of an electronic device provided by yet another embodiment of the present application. DETAILED DESCRIPTION

[0085] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.

[0086] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0087] At present, when users use cloud disks to back up data, Figure 1 As shown, the user can click the "+" on the homepage of the Cloud Disk App. In response to the user's operation, the Cloud Disk App jumps to the local transfer list. The local transfer list displays the data stored in the local storage space. The user can then select the file to be uploaded in the local transfer list and click the "Upload" button to upload the file.

[0088] Correspondingly, users can also download files through the "+" on the homepage of the Cloud Disk App. Figure 2 As shown, the user can click the "+" on the homepage of the Cloud Disk App, and the Cloud Disk App jumps to the transfer list in response to the user's operation. The user selects the Cloud Disk transfer list between the local transfer list and the Cloud Disk transfer list. The Cloud Disk transfer list displays the data stored in the Cloud Disk storage space. Then the user can select the file to be downloaded in the Cloud Disk transfer list, and then click the "Download" button to download the file.

[0089] However, during the above file upload and download process, the cloud disk proxy server does not authenticate the user's identity and cannot guarantee the security of the file transfer process. In addition, the proxy server can store and back up all the files selected by the user to be uploaded, but the files selected by the user to be uploaded include files with the same content. This leads to a waste of cloud disk storage resources.

[0090] In order to solve the problems existing in the prior art, the embodiments of the present application provide a method, apparatus, device, storage medium and program product for file transmission. The method for file transmission is applied to a proxy server, wherein the proxy server is used to complete file upload and download. The proxy server is embedded with an authentication server. The proxy server can use the authentication service provided by the authentication server to complete the identity authentication of the terminal login user. Figure 3 As shown, Figure 3 This is an exemplary schematic diagram of a file transfer system provided by an embodiment of the present application. In actual implementation, the authentication server can be embedded in a proxy server or can be used as an independent third-party authentication server.

[0091] The terminal is connected to the authentication server, and the authentication server is connected to the proxy server. The terminal and the proxy server complete registration on the authentication server respectively. After receiving the identity authentication request sent by the terminal, the proxy server uses the authentication server to authenticate the terminal. If the identity authentication passes, the file transfer is performed.

[0092] Specifically, the method for the proxy server to transfer files is as follows: Figure 4 As shown, the method includes:

[0093] S401: Receive an identity authentication request sent by a terminal.

[0094] The identity authentication request carries the user identity information and the file to be transferred.

[0095] Specifically, after the user selects a file to be transferred in the cloud disk App, the terminal obtains the identifier of the file to be transferred and the user identity information in response to the user's operation. For example, the user identity information may be the user login account.

[0096] S402: Query the database for authentication information corresponding to the user identity information.

[0097] The authentication information is used to encrypt the user identity information to obtain the verification parameters corresponding to the user identity information.

[0098] S303: Calculate verification parameters corresponding to the user identity information based on the authentication information and a preset authentication algorithm.

[0099] S404: Authenticate the terminal based on the verification parameters.

[0100] It can be understood that the authentication server database stores user identity information and corresponding first authentication information, and the authentication server calculates the verification parameter using the first authentication information and the user identity information. The proxy server subsequently calculates the destination verification parameter using the user identity information and the corresponding second authentication parameter stored in the local database. If the destination verification parameter is consistent with the above verification parameter, the two authentication results of the authentication server and the proxy server on the terminal are consistent, and it is determined that the terminal is authenticated.

[0101] S405: When the terminal authentication is passed, the file to be transmitted is transmitted.

[0102] Using the above method, after receiving the identity authentication request sent by the terminal, the proxy server searches the local database for the corresponding authentication information according to the user identity information carried in the identity authentication request. Among them, the proxy server can calculate the user identity according to the authentication information to obtain the corresponding verification parameter. And after authenticating the terminal based on the verification parameter, if the authentication is successful, the proxy server transmits the file to be transferred. In this way, the identity authentication request carries both the user identity information and the file to be transferred. The proxy server can authenticate the user in advance according to the user identity information, and if the authentication is successful, the file to be transferred is transmitted. Before the data to be transferred is stored in the cloud disk, the security of the file to be transferred is verified, thereby improving the security of data transmission.

[0103] It should be noted that before the proxy server authenticates the terminal, the proxy server needs to complete user registration and authentication server registration respectively, and then the proxy server authenticates the user through the authentication server.

[0104] The following combination Figure 5 The user registration method provided in the embodiment of the present application is introduced, such as Figure 5 As shown, before the above S402, in which authentication information corresponding to the user identity information is queried in the database, the method includes:

[0105] S501: Receive a user identity, a user password and a first parameter sent by a terminal.

[0106] The first parameter is generated by the terminal based on the user password and the first random number. The first parameter can be obtained by calculating the hash value of the user password and the first random number by the terminal, and can be specifically expressed as Formula 1:

[0107] A1=h(PW U ∥R1) Formula 1

[0108] Among them, A1 represents the first parameter, PWU represents the user password, and R1 represents the first random number. The first parameter is used to register the user in the authentication server.

[0109] In one example, the authentication server embedded in the proxy server generates the first random number using a random number generation algorithm. It should be noted that the above method for generating random numbers is only an example, and in actual implementation, the method for generating random numbers is not limited thereto.

[0110] S502: Determine whether the database includes a user identity.

[0111] The database is a database corresponding to the authentication server, and is used to store user identities of registered users.

[0112] S503: When the user identity identifier is not included in the database, generate user pseudo-identity information corresponding to the user identity identifier.

[0113] It can be understood that when the database does not include the user identity identifier, it means that the user corresponding to the current user identity identifier has not yet registered. Therefore, the authentication server embedded in the proxy server adopts a pseudo-random number generation algorithm to generate a pseudo-random number corresponding to the user identity identifier, and uses the pseudo-random number as the user pseudo-identity information corresponding to the user identity identifier, and stores the correspondence between the user identity identifier and the user pseudo-identity information in the database of the authentication server.

[0114] S504: Generate a second random number.

[0115] S505: Store the corresponding relationship between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier in a database.

[0116] By adopting the method provided in the embodiment of the present application, after the proxy server receives the user identity, user password and first parameter sent by the terminal, if the user identity is not stored in the local database, it generates user pseudo-identity information corresponding to the user identity, and stores the correspondence between the second random number, the first parameter, the user pseudo-identity information and the user identity in the database. In this way, the registration of the user identity in the authentication server is completed, so that the subsequent authentication server can complete the authentication of the user identity based on the database to ensure the security of file transmission.

[0117] The following combination Figure 6 The server registration method provided in the embodiment of the present application is introduced, such as Figure 6 As shown, before the above S402, in which authentication information corresponding to the user identity information is queried in the database, the method includes:

[0118] S601: Receive an authentication server identifier, a cluster identifier of a cluster to which the authentication server belongs, and a private key corresponding to the authentication server, all of which are sent by an authentication server.

[0119] Among them, each authentication server can generate its own corresponding authentication server identifier and private key. It should be noted that the method for generating the authentication server identifier and private key is not limited in the embodiment of the present application.

[0120] To ensure the terminal authentication speed, multiple authentication servers can be deployed in this application, and multiple authentication servers constitute an authentication server cluster. Among them, the authentication servers in the same authentication server cluster can serve as alternative servers for each other. When the computing resources of the authentication server embedded in the proxy server are insufficient, the proxy server can call other authentication servers in the authentication server cluster for terminal authentication. To distinguish different authentication server clusters, each authentication server cluster corresponds to a cluster identifier.

[0121] S602: Generate a shared key based on the proxy server identifier, the private key, and the authentication server identifier.

[0122] Specifically, the proxy server uses the following formula 2 to calculate the shared key:

[0123] GS c =h(SID i ||SK G ||NID j ) Formula 2

[0124] Among them, GS C Indicates shared key, SID i Indicates the proxy server ID, SK G Indicates private key, NID j Indicates the authentication server ID.

[0125] S603: Send the shared key and the proxy server identifier to the authentication server, so that the authentication server generates a third random number, a fourth random number, and server pseudo-identity information corresponding to the proxy server.

[0126] After receiving the shared key and the proxy server identifier, the authentication server generates server pseudo-identity information using a pseudo-random number algorithm.

[0127] Each authentication server cluster shares a database, in which the corresponding relationship among the proxy server identifier, the server pseudo-identity information, the authentication server identifier, and the third random number is stored.

[0128] S604: Receive a proxy server identifier, a shared key, a cluster identifier, a third random number, a fourth random number, and server pseudo-identity information sent by the authentication server.

[0129] The subsequent proxy server uses the proxy server identifier, the shared key, the cluster identifier, the third random number, the fourth random number and the server pseudo-identity information to authenticate the terminal. The specific authentication method is described in detail in the subsequent embodiments.

[0130] Using the method provided in the embodiment of the present application, after the authentication server generates the corresponding authentication server identifier and private key, the authentication server identifier and the private key are sent to the proxy server. Among them, the proxy server can generate a shared key based on the private key and the authentication server identifier. After the authentication server obtains the shared key corresponding to the proxy server, a corresponding relationship between the proxy server identifier, the server pseudo-identity information, the authentication server identifier, and the third random number can be established. Among them, the proxy server identifier, the server pseudo-identity information, the authentication server identifier, and the third random number can be used for subsequent authentication of the user identity. In this way, in the process of the authentication server authenticating the user, the legitimacy of the corresponding proxy server can be verified by referring to the proxy server identifier, the server pseudo-identity information, the authentication server identifier, and the third random number at the same time, thereby further ensuring data security.

[0131] The following combination Figure 7 Introduce the complete process of terminal registration and authentication server registration, such as Figure 7 As shown, the method includes:

[0132] S701: The authentication server generates an authentication server identifier and a private key, and determines a one-way hash function.

[0133] The specific method of generating the authentication server identifier and the private key refers to the relevant description in the above embodiment and will not be repeated here.

[0134] S702: The proxy server generates a proxy server identifier and a shared key.

[0135] S703: The proxy server sends a proxy server identifier and a shared key to the authentication server.

[0136] S704: The authentication server generates random numbers R1, R2, and server pseudo-identity information, and stores the corresponding relationship between the proxy server identifier, the server pseudo-identity information, the authentication server identifier, and the hash values ​​of R1 and R2.

[0137] Wherein, R1 is the third random number in the above embodiment, and R2 is the fourth random number in the above embodiment. It should be noted that the embodiment of the present application does not specifically limit the method for generating random numbers.

[0138] S705. The authentication server sends the proxy server identifier, the shared key, the cluster identifier, R1, R2, and the server pseudo-identity identifier to the proxy server.

[0139] It should be noted that S701 to S705 are the process of registering the above-mentioned server.

[0140] S706: The terminal determines the user identity, user password and R3, and calculates A1.

[0141] Among them, R3 is the first random number in the above embodiment, and A1 is the first parameter in the above embodiment. Specifically, the method for calculating the first parameter refers to the relevant description in the above embodiment.

[0142] S707: The terminal sends the user identity and user password to the authentication server.

[0143] S708. The authentication server checks whether the database includes the user identity identifier. If the database does not include the user identity identifier, pseudo-identity information of the user is generated and A2 and A3 are calculated.

[0144] Wherein, A2 is the second parameter, and A3 is the third parameter. The specific method for calculating the second parameter and the third parameter based on the user identity information is as follows:

[0145] The second parameter is calculated using formula 3:

[0146]

[0147] Among them, PID i is the user's identity information, R4 is the fourth randomly generated random number, AuID i is the cluster identifier, SK G The private key of the authentication server.

[0148] The third parameter is calculated using formula 4:

[0149]

[0150] Among them, UID i The user's identity.

[0151] S709: The authentication server sends A2, A3, user pseudo-identity information and a cluster identifier to the terminal.

[0152] S710. The terminal calculates A4 and stores A2, A3, A4, user pseudo-identity information, and cluster identifier.

[0153] Among them, A4 is the fourth parameter.

[0154] The fourth parameter is calculated using formula 5:

[0155]

[0156] Among them, PWU is the user password.

[0157] Using the method provided by the embodiment of the present application, after the authentication server generates the corresponding authentication server identifier and private key, the authentication server identifier and private key are sent to the proxy server. Among them, the proxy server can generate a shared key based on the private key and the authentication server identifier. After the authentication server obtains the shared key corresponding to the proxy server, a corresponding relationship between the proxy server identifier, the server pseudo-identity information, the authentication server identifier, and the third random number can be established. Among them, the proxy server identifier, the server pseudo-identity information, the authentication server identifier, and the third random number can be used for subsequent authentication of the user identity. In this way, in the process of the authentication server authenticating the user, the legitimacy of the corresponding proxy server can be verified by referring to the proxy server identifier, the server pseudo-identity information, the authentication server identifier, and the third random number at the same time, thereby further ensuring data security. And after receiving the user identity identifier and user password sent by the terminal, the authentication server generates the second parameter and the third parameter corresponding to the user identity identifier, and sends the second parameter and the third parameter to the terminal, so that the terminal can store the corresponding relationship between the second parameter, the third parameter, the fourth parameter, and the user identity identifier locally in the terminal, so as to facilitate the subsequent use of the second parameter, the third parameter, and the fourth parameter to authenticate the user identity.

[0158] On the basis of the above proxy server completing the registration of the user, the local database of the proxy server stores the corresponding relationship between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier. After the user subsequently sends an identity authentication request, the proxy server can use the database to complete the identity authentication of the user. Based on this, after the above S505, storing the corresponding relationship between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier in the database, the method also includes:

[0159] The second parameter and the third parameter are generated based on the first parameter and the second random number.

[0160] Specifically, the method for generating the second parameter and the third parameter refers to the relevant description of the above embodiment, which will not be repeated here.

[0161] The second parameter, the third parameter, the user pseudo-identity information, and the cluster identifier of the cluster to which the authentication server in the proxy server belongs are sent to the terminal.

[0162] Among them, after the terminal receives the second parameter, the third parameter, the user pseudo-identity information and the cluster identifier of the cluster to which the authentication server in the proxy server belongs, the terminal calculates the fourth parameter based on the user identity identifier, the user password and the first random number, calculates the first verification parameter based on the first parameter and the second parameter, calculates the second verification parameter based on the user identity identifier, and calculates the third verification parameter based on the user pseudo-identity information, the cluster identifier, the first parameter, the second parameter and the user identity identifier.

[0163] Using the method provided in the embodiment of the present application, the authentication server embedded in the proxy server sends the second parameter and the third parameter to the terminal, so that the terminal can store the correspondence between the second parameter, the third parameter, the fourth parameter and the user identity identifier locally in the terminal, so as to facilitate the subsequent authentication of the user identity using the second parameter, the third parameter and the fourth parameter.

[0164] On the basis of the user identity information calculated by the above terminal, after obtaining the user pseudo-identity information, cluster identifier, first verification parameter, second verification parameter and third verification parameter in the user identity information, the proxy server searches for the corresponding authentication information in the database, the authentication information includes the above user identity identifier, the first random number and the first parameter, and then calculates the verification parameter using the user identity information and the authentication information. For the above S403, based on the authentication information and the preset authentication algorithm, the verification parameter corresponding to the user identity information is calculated, which can be specifically implemented as follows:

[0165] Step 1: Calculate a first verification parameter according to the user pseudo-identity information, the first verification parameter, the second verification parameter, the cluster identifier, the third random number, the first parameter and the user identity identifier.

[0166] Specifically, the authentication server searches the local database for the fourth random number, the first parameter, and the user identity corresponding to the user identity information, and then calculates the fifth parameter, specifically according to Formula 6:

[0167] A5=h(PID i ∥R4∥AuID i ∥SK G ) Formula 6

[0168] Among them, A5 represents the fifth parameter, PID i Indicates user pseudo-identity information, SK G The private key of the authentication server.

[0169] The fifth random number is calculated according to formula 7:

[0170]

[0171] Among them, R5 is the fifth random number.

[0172] Based on the fifth random number and the fifth parameter, the authentication server determines the proxy server corresponding to the cloud disk App, and specifically calculates the proxy server identifier according to Formula 8 and Formula 9:

[0173]

[0174] in, represents the intermediate parameter, R6 is the sixth random number generated randomly, B4 is the fourth verification parameter, SID i is the proxy server identifier, and B2 is the second verification parameter.

[0175] When the proxy server identifier is calculated, the authentication server calculates the first verification parameter:

[0176] GS C =h(SID i ∥SK G ∥NID j ) Formula 10

[0177] B4=h(GS C ∥AuID i ) Formula 11

[0178]

[0179] Among them, C1 represents the first calibration parameter, GS C is the shared key, NID j Authentication server identifier.

[0180] The method by which the terminal calculates the first verification parameter, the second verification parameter and the third verification parameter is described in detail in subsequent embodiments.

[0181] Step 2: Calculate a second verification parameter based on the server pseudo-identity information of the proxy server.

[0182] Specifically, the second verification parameter is calculated according to formula 13:

[0183]

[0184] C2 represents the second verification parameter.

[0185] Step 3: Calculate a third verification parameter based on the user pseudo-identity information, the first verification parameter, the second verification parameter, the cluster identifier, the third random number and the first parameter.

[0186] Specifically, the third verification parameter is calculated according to formula 14:

[0187]

[0188] Wherein, C3 represents the third verification parameter.

[0189] Step 4: Calculate a fourth verification parameter based on the user pseudo-identity information, the second verification parameter, the third verification parameter, the second verification parameter, the user identity, the first verification parameter, the third random number, the first parameter and the cluster identifier.

[0190] Specifically, the third verification parameter is calculated according to formula 15:

[0191]

[0192] Wherein, C4 represents the fourth verification parameter.

[0193] Accordingly, the terminal is authenticated based on the verification parameters, including:

[0194] The terminal is authenticated based on the first verification parameter, the second verification parameter, the third verification parameter, and the fourth verification parameter.

[0195] By using the method provided in the embodiment of the present application, the terminal first calculates the user identity using the information stored in the local database, and then sends the calculation result to the proxy server, which then calculates the user identity. Thus, the proxy server can authenticate the terminal by comparing the calculation result of the terminal with the calculation result of the proxy server. In addition, since the terminal sends the user pseudo-identity information to the proxy server during the data transmission process, the leakage of the user identity information is avoided, thereby improving the security of data transmission.

[0196] Further, after calculating the first to fourth verification parameters, the authentication server in the proxy server constructs a verification message set and sends the verification message set to the proxy server. The proxy server uses the verification parameters to authenticate the terminal based on the target verification parameters calculated. Specifically, it can be implemented as follows:

[0197] Get the server pseudo-identity information corresponding to the proxy server.

[0198] Determine whether the database includes server pseudo-identity information.

[0199] When the database includes the server pseudo identity information, the target verification parameter is calculated according to the server pseudo identity information, the first verification parameter, the second verification parameter, the third verification parameter, the first parameter, the second random number, the fifth random number, the shared key and the cluster identifier.

[0200] It should be noted that, when the database does not include the server pseudo-identity information, the proxy server determines that the terminal identity authentication fails and refuses the user to upload files to the cloud disk.

[0201] Specifically, the method for calculating the target verification parameters is as follows: the target verification parameters are calculated according to formulas 16 to 19:

[0202] B4=h(GS C ∥AuID i ) Formula 16

[0203]

[0204] in, This is the target calibration parameter.

[0205] If the terminal is authenticated, the file to be transferred is transmitted, including:

[0206] When the target verification parameter and the fourth verification parameter are the same, the file to be transmitted is transmitted.

[0207] By adopting the method provided in the embodiment of the present application, the authentication server calculates the verification message set, and the proxy server continues to authenticate the verification message set using the locally stored authentication messages, that is, the user identity information is encrypted and then authenticated, thereby improving the accuracy of the authentication result and the security of the data, thereby ensuring the security of file transmission.

[0208] Based on the same concept, the embodiment of the present application also provides a method for file transmission, which is applied to a terminal, such as Figure 8 As shown, specifically including:

[0209] S801. Obtain user identity information and files to be transferred.

[0210] S802: Send an identity authentication request carrying user identity information and the file to be transferred to the proxy server.

[0211] Among them, the identity authentication request is used to instruct the proxy server to obtain the authentication information corresponding to the user identity information in the database, calculate the verification parameters corresponding to the user identity information based on the authentication information and the preset authentication algorithm, authenticate the terminal based on the verification parameters, and transmit the file to be transmitted when the proxy server successfully authenticates the terminal.

[0212] Using the method provided in the embodiment of the present application, after obtaining the user identity information and the file to be transmitted, the terminal sends an identity authentication request carrying the user identity information and the file to be transmitted to the proxy server. After receiving the identity authentication request sent by the terminal, the proxy server searches for the corresponding authentication information in the local database according to the user identity information carried in the identity authentication request. Among them, the proxy server can calculate the user identity according to the authentication information to obtain the corresponding verification parameter. And after authenticating the terminal based on the verification parameter, if the authentication is successful, the proxy server transmits the file to be transmitted. In this way, the user identity information and the file to be transmitted are carried in the identity authentication request at the same time. The proxy server can authenticate the user locally in advance according to the user identity information, and if the authentication is successful, the file to be transmitted is transmitted. Before the data to be transmitted is stored in the cloud disk, the security of the file to be transmitted is verified, thereby improving the security of data transmission.

[0213] The following combination Fig. 9 Introduce the terminal registration process, such as Fig. 9 As shown, the method includes:

[0214] S901. Obtain user identity and user password.

[0215] S902: Calculate a hash value of the user password and the first random number to obtain a first parameter.

[0216] S903. Send the first parameter, the user identity identifier and the user password to the proxy server, so that the proxy server can determine that the user identity identifier is not included in the database, generate user pseudo-identity information corresponding to the user identity identifier, and generate a second random number, and store the corresponding relationship between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier in the database.

[0217] S904: Receive the second parameter, the third parameter, the user pseudo-identity information, and the cluster identifier of the cluster to which the authentication server in the proxy server belongs, sent by the proxy server.

[0218] The second parameter and the third parameter are generated by the proxy server based on the first parameter and the second random number.

[0219] S905. Calculate a first verification parameter based on the first parameter and the second parameter.

[0220] Specifically, the first verification parameter is calculated according to the following formula:

[0221]

[0222] Among them, A2 is the second parameter, R5 is the fifth random number, A5 is the fifth parameter, and B1 is the first verification parameter.

[0223] S906: Calculate and obtain a second verification parameter based on the user identity identifier.

[0224] Specifically, the method for calculating the second verification parameter is as follows:

[0225]

[0226] Among them, UID1 is the user identity identifier, and B2 is the second verification parameter.

[0227] S907 . Calculate a third verification parameter based on the user pseudo-identity information, the cluster identifier, the first parameter, the second parameter, and the user identity identifier.

[0228] Specifically, the method for calculating the third verification parameter is as follows:

[0229] B3=h(PID i ∥AuID i ∥SID i ∥A5∥UID i ∥R5) Formula 22

[0230] Among them, SID1 is the authentication server identifier, PID i AuID is the user’s pseudo identity information. i The cluster identifier.

[0231] S908: Use the user pseudo-identity information, the cluster identifier, the first verification parameter, the second verification parameter, and the third verification parameter as user identity information.

[0232] By adopting the method provided in the embodiment of the present application, after the above-mentioned terminal completes registration, the terminal locally stores the user pseudo-identity information, the cluster identifier, the second parameter, and the third parameter. After the terminal obtains the user identity identifier and the user password, the user identity identifier and the user password can be encrypted according to the above-mentioned user pseudo-identity information, the cluster identifier, the second parameter, and the third parameter, and the encrypted information is sent to the proxy server, so that the proxy server uses the encrypted information to authenticate the terminal, thereby ensuring the security of the user information during the authentication process.

[0233] The following combination Fig.10 This chapter introduces the complete process of how the authentication server authenticates the terminal. Fig.10 As shown, the method includes:

[0234] S1001. The terminal obtains the user identity and password input by the user, and calculates R3 and A1.

[0235] S1002. The terminal sends user pseudo-identity information, cluster identifier, B1, B2 and B3 to the authentication server.

[0236] Among them, the terminal locally stores the correspondence between the user pseudo-identity information and the cluster identifier. After obtaining the user identity identifier and the user password, the terminal calculates B1, B2 and B3 according to the user identity identifier and the user password. Among them, B1, B2 and B3 are the verification message sets constructed by the terminal. The authentication server can complete the terminal authentication based on B1, B2 and B3.

[0237] After calculating B1, B2 and B3, the terminal constructs a verification message set and sends the verification message set to the authentication server. The verification message set includes user pseudo-identity information, cluster identifier, B1, B2 and B3.

[0238] S1003. The authentication server calculates B5, C1, C2, C3 and C4.

[0239] Specifically, the method for the authentication server to calculate B5, C1, C2, C3 and C4 refers to the relevant description in the above embodiment.

[0240] S1004. The authentication server sends the server pseudo-identity information, B5, C1, C2, C3 and C4 to the proxy server.

[0241] S1005. The proxy server determines whether the storage space includes the server pseudo-identity information. If not, the authentication terminal fails in identity authentication and the user is denied from uploading files.

[0242] S1006. If included, calculate the target verification parameter. If the target verification parameter is the same as C4, the terminal identity authentication is passed.

[0243] Specifically, the method for calculating the target verification parameters refers to the relevant description in the above embodiment, which will not be repeated here.

[0244] Using the method provided in the embodiment of the present application, the authentication server first authenticates the terminal, calculates the verification parameters based on the verification message set sent by the terminal, and based on the calculated verification parameters, the proxy server uses the locally stored authentication message to authenticate the verification parameters, that is, the user identity information is encrypted and then authenticated, thereby improving the accuracy of the authentication result and the security of the user identity information, and performing data transmission when the authentication is passed, thereby ensuring the security of file transmission.

[0245] When the authentication server passes the terminal identity authentication, in order to save the storage resources of the cloud disk, the proxy server can also perform deduplication processing on the uploaded content when uploading the file to be transmitted. Specifically, the file to be transmitted includes the content identifier to be transmitted and the preset index parameters. Based on this, for the above S405, when the terminal authentication passes, the file to be transmitted is transmitted, which can be implemented as follows:

[0246] Step A: Calculate the hash value of each data block in the content to be transmitted according to the preset indicator parameters.

[0247] Among them, the proxy server can first calculate the size of the content to be transmitted according to the preset indicator parameters, and then determine the number of categories of the content to be transmitted according to the size of the content to be transmitted, and then determine the hash value of the preset fixed data character length according to the number of categories, and finally calculate the overall hash value of the content to be transmitted.

[0248] Specifically, the size of the content to be transmitted can be calculated according to Formula 23:

[0249]

[0250] Wherein, m represents the size of the content to be transmitted, s represents the number of the content to be transmitted, which can be directly determined according to the number of content identifiers of the content to be transmitted, that is, if there are several different content identifiers, then the number of the content to be transmitted is considered to be several; p y Indicates the length of the data string y in the content to be transmitted; q y represents the frequency of y in the content to be transmitted; λ represents the critical value of the amount of content to be transmitted.

[0251] The number of categories of content to be transmitted is calculated according to formula 24:

[0252]

[0253] Where e represents the number of categories of content to be transmitted. When the data redundancy threshold is p y When searching, data with higher access rates are classified into different categories.

[0254] The hash value N corresponding to the preset fixed data string length of the content to be transmitted is calculated according to formula 25:

[0255]

[0256] Here, g represents a preset adjustment factor of the data redundancy threshold. Specifically, the value of g can be set according to actual business requirements.

[0257] The hash value of the content to be transmitted is calculated according to formula 26:

[0258]

[0259] Where D is the hash value of the content to be transmitted, K (Q) represents the data content stored in the cloud disk, S represents the preset weight coefficient, and C represents the similarity between the content to be transmitted and the data content stored in the cloud disk.

[0260] Step B: for each data block, use the hash value of the data block to calculate the content similarity between the data block and other data blocks in the content to be transmitted.

[0261] Specifically, the content similarity corresponding to the data block can be calculated according to Formula 27:

[0262]

[0263] Among them, Z y The internal discrete value representing the data in the file to be transferred; W y Represents the preset weights for internal discrete values.

[0264] Specifically, the internal discrete value of the data in the file to be transmitted can be calculated based on the range or discrete coefficient of the data in the file to be transmitted. The embodiment of the present application does not limit the method for calculating the internal discrete value.

[0265] Step C: Delete the data blocks whose content similarity is greater than a preset threshold to obtain the target transmission content.

[0266] Step D: store the target transmission content in the cloud disk storage space.

[0267] By adopting the method provided in the embodiment of the present application, for each data block of the content to be transmitted, by calculating the similarity of the hash values ​​between each data block, redundant data blocks, that is, data blocks with repeated data content, can be determined. Therefore, data blocks with repeated data content are deleted, thereby ensuring the reduction of the amount of data in the transmission file, thereby improving data transmission efficiency and saving storage resources of the cloud disk.

[0268] In addition, after the proxy server receives the file to be transmitted uploaded by the terminal, the data of the file to be transmitted can be added to the existing data of the existing data file of the proxy server. Specifically, it can be implemented as follows:

[0269] The proxy server first determines the version and timestamp of the file to be transferred.

[0270] Specifically, it can be expressed as: MD i →SN i :D ins (DBL new ,TS new );

[0271] Among them, MD i →SN i Indicates that the file to be transferred is sent from the terminal to the proxy server. new Indicates the timestamp of the user sending the identity authentication request; DBL new Indicates the content of the file to be transferred. ins An operation identifier for transmitting a file to be transmitted, which is used to indicate that the data of the file to be transmitted is added to the existing data of an existing data file of the proxy server.

[0272] The proxy server then determines the specific content of the file to be transferred based on the above version and timestamp.

[0273] Specifically, it can be expressed as: MD i →SN i :D ins (D File ,b,DBL new ,TS new ),σ new ;

[0274] Among them, σ new The content identifier of the file to be transferred, which can also be used as the name of the data block corresponding to the file to be transferred. File Indicates the version of the file to be transferred. b indicates the data block number.

[0275] Finally, the proxy server updates the version of the file in the cloud disk storage space and determines the tag set according to the specific content of the file to be transferred.

[0276] Specifically, it can be expressed as:

[0277] Among them, TAG new Indicates the tag set of the file to be transferred after it is uploaded; D FileNew Indicates the newly generated cloud disk file content; n db Indicates the amount of data in the cloud disk after the content is uploaded; Sig sk The signing key that represents the new version of the content stored on the cloud disk.

[0278] Accordingly, when a user downloads a file from the cloud disk storage space, the terminal responds to the file identifier corresponding to the data file clicked by the user, and the terminal sends a file download request to the proxy server; after receiving the file download request, the proxy server sends an identity authentication request to the authentication server, and when the authentication service passes the terminal authentication, the proxy server obtains the corresponding data file in the cloud disk storage space according to the file identifier.

[0279] It should be noted that during the file download process, the proxy server does not need to deduplicate the downloaded content, and does not need to update the data in the cloud disk storage space.

[0280] The following combination Fig.11 The file transmission method provided by the embodiment of the present application is introduced, such as Fig.11 As shown, Fig.11 The following is an example of the process of uploading a file, which specifically includes:

[0281] S1101. The user logs in to the cloud disk App of the client, clicks the upload icon on the homepage of the cloud disk App, and sends a file upload request to the proxy server corresponding to the cloud disk App.

[0282] S1102: After receiving the file upload request sent by the terminal, the proxy server sends an identity authentication request to the authentication server, so that the authentication server assists the proxy server in performing identity authentication on the terminal.

[0283] S1103: After the terminal identity authentication is passed, the proxy server performs deduplication processing on the content to be uploaded according to the content identifier of the content to be uploaded.

[0284] S1104: After deduplication of the content to be uploaded is performed, the file to be uploaded is uploaded to the cloud disk, and the cloud disk content is updated according to a preset method.

[0285] By adopting the method provided in the embodiment of the present application, after receiving the file upload request sent by the terminal, the proxy server can call the authentication server to authenticate the terminal to ensure the legitimacy of the terminal and the security of data transmission. In addition, if the proxy server passes the terminal authentication, it can also perform deduplication processing on the content identifier of the uploaded content to save the storage resources of the cloud disk.

[0286] Based on the same concept, the present application embodiment provides a file transmission device, which is applied to a proxy server, such as Fig.12 As shown, the device comprises:

[0287] The receiving module 1201 is used to receive an identity authentication request sent by a terminal, wherein the identity authentication request carries user identity information and a file to be transmitted;

[0288] A query module 1202 is used to query the authentication information corresponding to the user identity information in the database;

[0289] A calculation module 1203 is used to calculate the verification parameter corresponding to the user identity information based on the authentication information and a preset authentication algorithm;

[0290] An authentication module 1204, configured to authenticate the terminal based on the verification parameter;

[0291] The transmission module 1205 is used to transmit the file to be transmitted when the terminal is authenticated.

[0292] In a possible implementation, the device further includes:

[0293] The receiving module 1201 is further configured to receive a user identity, a user password and a first parameter sent by the terminal; the first parameter is generated by the terminal based on the user password and a first random number;

[0294] A determination module, used to determine whether the database includes the user identity identifier;

[0295] A generating module, configured to generate user pseudo-identity information corresponding to the user identity identifier when the user identity identifier is not included in the database;

[0296] The generating module is further used to generate a second random number;

[0297] A storage module is used to store the corresponding relationship between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier in the database.

[0298] In a possible implementation, the device further includes:

[0299] A generating module, further used to generate a second parameter and a third parameter based on the first parameter and the second random number;

[0300] a sending module, configured to send the second parameter, the third parameter, the user pseudo-identity information, and a cluster identifier of the cluster to which the authentication server in the proxy server belongs to the terminal, so that the terminal calculates a fourth parameter based on the user identity identifier, the user password, and the first random number, calculates a first verification parameter based on the first parameter and the second parameter, calculates a second verification parameter based on the user identity identifier, and calculates a third verification parameter based on the user pseudo-identity information, the cluster identifier, the first parameter, the second parameter, and the user identity identifier.

[0301] In a possible implementation, the authentication information includes a user identity identifier, a first random number, and a first parameter, and the user identity information includes user pseudo identity information, a cluster identifier, a first verification parameter, a second verification parameter, and a third verification parameter; the calculation module 1203 is specifically used to:

[0302] Calculate a first verification parameter according to the user pseudo-identity information, the first verification parameter, the second verification parameter, the cluster identifier, a third random number, the first parameter, and the user identity identifier;

[0303] Calculate a second verification parameter according to the server pseudo-identity information of the proxy server;

[0304] Calculate a third verification parameter according to the user pseudo-identity information, the first verification parameter, the second verification parameter, the cluster identifier, the third random number and the first parameter;

[0305] Calculate a fourth verification parameter based on the user pseudo-identity information, the second verification parameter, the third verification parameter, the second verification parameter, the user identity identifier, the first verification parameter, the third random number, the first parameter, and the cluster identifier;

[0306] The authentication module 1204 is specifically used for:

[0307] The terminal is authenticated based on the first verification parameter, the second verification parameter, the third verification parameter, and the fourth verification parameter.

[0308] In a possible implementation, the proxy server includes an authentication server; the receiving module 1201 is further configured to receive an authentication server identifier sent by the authentication server, a cluster identifier of a cluster to which the authentication server belongs, and a private key corresponding to the authentication server;

[0309] The generating module is further used to generate a shared key based on the proxy server identifier, the private key and the authentication server identifier;

[0310] The sending module is further used to send the shared key and the proxy server identifier to the authentication server, so that the authentication server generates a third random number, a fourth random number and server pseudo-identity information corresponding to the proxy server;

[0311] The receiving module 1201 is further configured to receive the proxy server identifier, the shared key, the cluster identifier, the third random number, the fourth random number and the server pseudo identity information sent by the authentication server.

[0312] In a possible implementation, the authentication module 1204 is specifically configured to:

[0313] Obtaining server pseudo-identity information corresponding to the proxy server;

[0314] determining whether the database includes the server pseudo-identity information;

[0315] In a case where the database includes the server pseudo identity information, calculating a target verification parameter according to the server pseudo identity information, the first verification parameter, the second verification parameter, the third verification parameter, the first parameter, the second random number, a fifth random number, a shared key, and the cluster identifier;

[0316] The step of transmitting the file to be transmitted when the terminal is authenticated successfully comprises:

[0317] When the target verification parameter is the same as the fourth verification parameter, the file to be transmitted is transmitted.

[0318] In a possible implementation, the file to be transmitted includes a content identifier to be transmitted and a preset index parameter; the transmission module 1205 is used to:

[0319] Calculate the hash value of each data block in the content to be transmitted according to the preset indicator parameters;

[0320] For each data block, using the hash value of the data block, calculating the content similarity between the data block and other data blocks in the content to be transmitted;

[0321] Deleting the data blocks whose content similarity is greater than a preset threshold to obtain target transmission content;

[0322] The target transmission content is stored in the cloud disk storage space.

[0323] It should be noted that the device for file transmission is a device corresponding to the above-mentioned method for file transmission applied to the authentication server. All implementation methods in the above-mentioned method embodiment are applicable to the embodiment of the device and can achieve the same technical effect.

[0324] Based on the same concept, the present application embodiment provides a device for file transmission, which is applied to a terminal, such as Fig.13 As shown, the device comprises:

[0325] The acquisition module 1301 is used to acquire user identity information and files to be transmitted;

[0326] The sending module 1302 is used to send an identity authentication request carrying the user identity information and the file to be transmitted to the authentication server, wherein the identity authentication request is used to instruct the authentication server to obtain the authentication information corresponding to the user identity information in the database, calculate the verification parameters corresponding to the user identity information based on the authentication information and a preset authentication algorithm, and send a verification request carrying the verification parameters to the proxy server, wherein the verification request is used to instruct the proxy server to authenticate the terminal based on the verification parameters.

[0327] In a possible implementation, the device further includes:

[0328] The acquisition module 1301 is also used to obtain the user identity and user password;

[0329] A calculation module, used to calculate a hash value of the user password and a first random number to obtain a first parameter;

[0330] The sending module 1302 is further configured to send the first parameter, the user identity identifier and the user password to the proxy server, so that when the proxy server determines that the user identity identifier is not included in the database, it generates user pseudo-identity information corresponding to the user identity identifier and generates a second random number, and stores the corresponding relationship between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier in the database;

[0331] a receiving module, configured to receive a second parameter, a third parameter, the user pseudo-identity information, and a cluster identifier of a cluster to which an authentication server in the proxy server belongs, sent by the proxy server, wherein the second parameter and the third parameter are generated by the proxy server based on the first parameter and a second random number;

[0332] The calculation module is further used to calculate a first verification parameter based on the first parameter and the second parameter; calculate a second verification parameter based on the user identity identifier; and calculate a third verification parameter based on the user pseudo-identity information, the cluster identifier, the first parameter, the second parameter, and the user identity identifier;

[0333] The determination module is configured to use the user pseudo-identity information, the cluster identifier, the first verification parameter, the second verification parameter, and the third verification parameter as the user identity information.

[0334] It should be noted that the file transmission device is a device corresponding to the above-mentioned file transmission method applied to the terminal, and all implementation methods in the above-mentioned method embodiment are applicable to the embodiment of the device and can achieve the same technical effect.

[0335] Fig.14 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown.

[0336] The electronic device may include a processor 1401 and a memory 1402 storing computer program instructions.

[0337] Specifically, the processor 1401 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0338] The memory 1402 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 1402 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 1402 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 1402 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 1402 is a non-volatile solid-state memory.

[0339] The memory may include read-only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical or other physical / tangible memory storage devices. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.

[0340] The processor 121401 implements any one of the file transfer methods in the above embodiments by reading and executing computer program instructions stored in the memory 1402.

[0341] In one example, the electronic device may further include a communication interface 1403 and a bus 1404. Fig.14 As shown, the processor 1401, the memory 1402, and the communication interface 1203 are connected via a bus 1404 and communicate with each other.

[0342] The communication interface 1403 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0343] Bus 1404 includes hardware, software or both, and the parts of electronic equipment are coupled to each other.For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 1404 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the application considers any suitable bus or interconnection.

[0344] In addition, in combination with the file transmission method in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any file transmission method in the above embodiment is implemented.

[0345] In combination with the file transfer method in the above embodiments, an embodiment of the present application may provide a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes any file transfer method in the above embodiments.

[0346] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0347] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0348] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0349] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0350] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims

1. A method for file transmission, characterized in that: Applied to a proxy server, the method comprises: Receiving an identity authentication request sent by a terminal, wherein the identity authentication request carries user identity information and a file to be transmitted; Query the database for authentication information corresponding to the user identity information; Based on the authentication information and a preset authentication algorithm, calculating a verification parameter corresponding to the user identity information; authenticating the terminal based on the verification parameter; When the terminal is authenticated successfully, the file to be transmitted is transmitted.

2. The method according to claim 1, characterized in that: Before querying the database for authentication information corresponding to the user identity information, the method further includes: Receiving a user identity, a user password and a first parameter sent by the terminal; the first parameter is generated by the terminal based on the user password and a first random number; Determining whether the database includes the user identity identifier; If the user identity identifier is not included in the database, generating user pseudo-identity information corresponding to the user identity identifier; generating a second random number; The correspondence between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier is stored in the database.

3. The method according to claim 2, characterized in that After storing the corresponding relationship between the second random number, the first parameter, the user pseudo identity information and the user identity identifier in the database, the method further includes: Generate a second parameter and a third parameter based on the first parameter and the second random number; The second parameter, the third parameter, the user pseudo-identity information, and the cluster identifier of the cluster to which the authentication server in the proxy server belongs are sent to the terminal, so that the terminal calculates a fourth parameter based on the user identity identifier, the user password, and the first random number, calculates a first verification parameter based on the first parameter and the second parameter, calculates a second verification parameter based on the user identity identifier, and calculates a third verification parameter based on the user pseudo-identity information, the cluster identifier, the first parameter, the second parameter, and the user identity identifier.

4. The method according to claim 3, characterized in that The authentication information includes a user identity identifier, a first random number and a first parameter, and the user identity information includes user pseudo identity information, a cluster identifier, a first verification parameter, a second verification parameter and a third verification parameter; The calculating, based on the authentication information and a preset authentication algorithm, a verification parameter corresponding to the user identity information comprises: Calculate a first verification parameter according to the user pseudo-identity information, the first verification parameter, the second verification parameter, the cluster identifier, a third random number, the first parameter, and the user identity identifier; Calculate a second verification parameter according to the server pseudo-identity information of the proxy server; Calculate a third verification parameter according to the user pseudo-identity information, the first verification parameter, the second verification parameter, the cluster identifier, the third random number and the first parameter; Calculate a fourth verification parameter based on the user pseudo-identity information, the second verification parameter, the third verification parameter, the second verification parameter, the user identity identifier, the first verification parameter, the third random number, the first parameter, and the cluster identifier; Authenticating the terminal based on the verification parameter includes: The terminal is authenticated based on the first verification parameter, the second verification parameter, the third verification parameter, and the fourth verification parameter.

5. The method according to claim 1, characterized in that The proxy server includes an authentication server; Before querying the database for authentication information corresponding to the user identity information, the method further includes: Receive an authentication server identifier, a cluster identifier of a cluster to which the authentication server belongs, and a private key corresponding to the authentication server, sent by the authentication server; Generate a shared key based on the proxy server identifier, the private key and the authentication server identifier; Sending the shared key and the proxy server identifier to the authentication server, so that the authentication server generates a third random number, a fourth random number, and server pseudo-identity information corresponding to the proxy server; The proxy server identifier, the shared key, the cluster identifier, the third random number, the fourth random number, and the server pseudo identity information are received from the authentication server.

6. The method according to claim 4, characterized in that The authenticating the terminal based on the verification parameter includes: Obtaining server pseudo-identity information corresponding to the proxy server; determining whether the database includes the server pseudo-identity information; In a case where the database includes the server pseudo identity information, calculating a target verification parameter according to the server pseudo identity information, the first verification parameter, the second verification parameter, the third verification parameter, the first parameter, the second random number, a fifth random number, a shared key, and the cluster identifier; The step of transmitting the file to be transmitted when the terminal is authenticated successfully comprises: When the target verification parameter is the same as the fourth verification parameter, the file to be transmitted is transmitted.

7. The method according to claim 1, characterized in that The file to be transmitted includes a content identifier to be transmitted and a preset index parameter; the transmitting of the file to be transmitted includes: Calculate the hash value of each data block in the content to be transmitted according to the preset indicator parameters; For each data block, using the hash value of the data block, calculating the content similarity between the data block and other data blocks in the content to be transmitted; Deleting the data blocks whose content similarity is greater than a preset threshold to obtain target transmission content; The target transmission content is stored in the cloud disk storage space.

8. A method for file transmission, characterized in that: Applied to a terminal, the method comprises: Obtain user identity information and files to be transferred; An identity authentication request carrying the user identity information and the file to be transmitted is sent to the proxy server, wherein the identity authentication request is used to instruct the proxy server to obtain authentication information corresponding to the user identity information in a database, calculate verification parameters corresponding to the user identity information based on the authentication information and a preset authentication algorithm, authenticate the terminal based on the verification parameters, and transmit the file to be transmitted if the proxy server successfully authenticates the terminal.

9. The method according to claim 8, characterized in that Before obtaining the user identity information and the file to be transmitted, the method further includes: Get user ID and password; Calculate a hash value of the user password and the first random number to obtain a first parameter; Sending the first parameter, the user identity identifier and the user password to the proxy server, so that the proxy server generates user pseudo-identity information corresponding to the user identity identifier when determining that the user identity identifier is not included in the database, and generates a second random number, and stores a corresponding relationship between the second random number, the first parameter, the user pseudo-identity information and the user identity identifier in the database; receiving a second parameter, a third parameter, the user pseudo-identity information, and a cluster identifier of a cluster to which an authentication server in the proxy server belongs, sent by the proxy server, wherein the second parameter and the third parameter are generated by the proxy server based on the first parameter and a second random number; Calculate a first verification parameter based on the first parameter and the second parameter; Calculate a second verification parameter based on the user identity identifier; Calculate a third verification parameter based on the user pseudo-identity information, the cluster identifier, the first parameter, the second parameter, and the user identity identifier; The user pseudo identity information, the cluster identifier, the first verification parameter, the second verification parameter, and the third verification parameter are used as the user identity information.

10. A file transmission device, characterized in that: Applied to a proxy server, the device comprises: A receiving module, used to receive an identity authentication request sent by a terminal, wherein the identity authentication request carries user identity information and a file to be transmitted; A query module, used to query the authentication information corresponding to the user identity information in the database; A calculation module, used to calculate the verification parameter corresponding to the user identity information based on the authentication information and a preset authentication algorithm; An authentication module, used to authenticate the terminal based on the verification parameter; The transmission module is used to transmit the file to be transmitted when the terminal is authenticated.

11. A file transmission device, characterized in that: Applied to a terminal, the device comprises: An acquisition module is used to obtain user identity information and files to be transferred; A sending module is used to send an identity authentication request carrying the user identity information and the file to be transferred to an authentication server, wherein the identity authentication request is used to instruct the authentication server to obtain authentication information corresponding to the user identity information in a database, calculate the verification parameters corresponding to the user identity information based on the authentication information and a preset authentication algorithm, and send a verification request carrying the verification parameters to a proxy server, wherein the verification request is used to instruct the proxy server to authenticate the terminal based on the verification parameters.

12. An electronic device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the method for file transmission as described in any one of claims 1-7 or 8-9 is implemented.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the method for file transmission as described in any one of claims 1-7 or 8-9 is implemented.

14. The embodiment of the present application provides a computer program product, characterized in that: When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the file transfer method as described in any one of claims 1-7 or 8-9.

Citation Information

Patent Citations

  • Quantum security verification method and system for confidential file transmission, server and medium

    CN115225411A

  • Identity information verification method and device, server, medium and product

    CN115643054A

  • Identity authentication method based on PWKTAP protocol

    CN119070996A

  • Contract calling method and apparatus

    WO2021184963A1