Cloud-based identity authentication method and system
By generating registration codes and random authentication values, combined with cloud server private key decryption, the problem of user information security risks in mobile cloud computing is solved, and two-way authentication between terminal devices and cloud servers is realized, thereby enhancing information security.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA MOBILE GROUP JIANGSU
- Filing Date
- 2023-07-07
- Publication Date
- 2026-04-17
AI Technical Summary
Due to the openness of networks, existing technologies such as mobile cloud computing are vulnerable to various attacks including tampering, forgery, and replay attacks, leading to potential risks to user information security.
By obtaining the user's identity and location information, a registration code is generated, and a randomly generated first authentication value is used for verification. Combined with the private key of the cloud server for decryption, two-way authentication between the terminal device and the cloud server is achieved, increasing the difficulty of obfuscating identity and location information.
Effectively protect user information security, avoid attacks such as tampering, forgery, and replay in mobile cloud computing, and achieve two-way authentication.
Smart Images

Figure CN116744299B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data security technology, and in particular to a cloud-based identity authentication method and system. Background Technology
[0002] With the development of network and mobile internet technologies, users' demands for mobile internet are becoming increasingly diverse, such as accessing internet applications through mobile smart devices. At this time, problems such as limited storage capacity and insufficient processing power of smart mobile devices have gradually become apparent.
[0003] While mobile cloud computing technology can solve problems such as limited storage capacity and insufficient processing power of smart mobile devices, it may also face various attacks such as tampering, forgery, and replay attacks due to the openness of the network. Summary of the Invention
[0004] The main objective of this invention is to provide a cloud-based identity authentication method and system, aiming to solve the technical problem that existing technologies, due to the openness of networks, may face various attacks such as tampering, forgery, and replay attacks on mobile cloud computing, leading to the leakage of user information and creating user information security risks.
[0005] To achieve the above objectives, the present invention provides a cloud-based identity authentication method for terminal devices, the method comprising the following steps:
[0006] Obtain user identity and location information;
[0007] When the identity information is successfully verified, a registration code is generated based on the location information to obtain a service request including the registration code;
[0008] The registration code in the service request is verified. If the verification is successful, a first authentication value is randomly generated and sent to the cloud server so that the cloud server can return encrypted polynomial information and cloud server private key based on the first authentication value.
[0009] The encrypted polynomial information is decrypted using the private key of the cloud server to obtain plaintext information, which is then sent to the cloud server so that the cloud server can authenticate the user's identity based on the plaintext information.
[0010] Optionally, generating a registration code based on the location information includes:
[0011] The user's movement path is obtained based on the location information, and the user's movement path includes N movement points, where N is greater than or equal to 2.
[0012] Search for mobile hotspots around each mobile point, calculate the reachability between the mobile point and the mobile hotspot, filter the mobile hotspots based on the reachability, and obtain a candidate set of reachable hotspots for each mobile point;
[0013] A hotspot path is constructed based on the reachable hotspot candidate set of each mobile point, and a registration code is obtained based on the location coordinates of each hotspot in the hotspot path.
[0014] Optionally, calculating the reachability between the mobile point and the mobile hotspot includes:
[0015] Obtain the time difference between the start and end points of the user's movement path;
[0016] Obtain the maximum speed of movement between the starting point and the ending point;
[0017] Obtain the reference distance from each movement point on the user's movement path to any surrounding movement hotspot;
[0018] The reachability between each moving point and the moving hotspot is calculated based on the time difference, the maximum speed, and the reference distance.
[0019] Optionally, the step of constructing a hotspot path based on the reachable hotspot candidate set of each mobile point, and obtaining a registration code based on the location coordinates of each hotspot in the hotspot path, includes:
[0020] An undirected graph is constructed based on the reachable hotspot candidate set of each mobile point to obtain the undirected graph of each mobile point.
[0021] A hotspot path is constructed based on the undirected graph of each movement point, and the registration code is obtained based on the position coordinates of each hotspot in the hotspot path.
[0022] Optionally, the step of constructing hotspot paths based on the undirected graph of each movement point, and obtaining the registration code based on the position coordinates of each hotspot in the hotspot path, includes:
[0023] Select movement hotspots sequentially from the undirected graph of each movement point to obtain multiple reference hotspot paths; obtain a path set based on the multiple reference hotspot paths.
[0024] A target path is randomly selected from the set of paths, and the reference position information of all nodes from the starting point to the end point in the target path is obtained in sequence.
[0025] The reference position information of odd-numbered nodes or even-numbered nodes in the reference position information is used as the target position information, and the target position information is concatenated to obtain the registration code.
[0026] Optionally, the step of verifying the registration code in the service request, and randomly generating a first authentication value upon successful verification, includes:
[0027] Based on the registration code, find the set of paths that match the user's identity;
[0028] Obtain the position information of each path in the path set, and sequentially obtain the position information of each odd or even node from the starting point to the end point of each path to obtain multiple verification information;
[0029] The registration code is matched with the multiple verification information. If the match fails, the verification fails, and the user's identity information is retrieved again. If the match succeeds, the verification succeeds, and a first authentication value is randomly generated.
[0030] Optionally, the random generation of the first authentication value includes:
[0031] Obtain the hash value, random parameters, and numerical value matching the user's identity for the current location information;
[0032] The first authentication value is obtained based on the registration code, the hash value of the current location information, random parameters, and data that matches the user's identity.
[0033] In addition, to achieve the above objectives, the present invention also proposes a cloud-based identity authentication method for cloud servers;
[0034] The cloud-based identity authentication method includes:
[0035] Obtain the first authentication value, and determine the maximum number of shortening steps for the polynomial ring unit based on the first authentication value;
[0036] The polynomial ring unit is determined based on the maximum shortening degree, and the public key and private key are obtained based on the polynomial ring unit;
[0037] The plaintext information is encrypted using the public key and the first authentication value to obtain encrypted polynomial information. The encrypted polynomial information is then sent to the terminal device so that the terminal device can decrypt the encrypted polynomial information to obtain plaintext information and return the plaintext information.
[0038] Receive the plaintext information and authenticate the user's identity based on the plaintext information.
[0039] Optionally, obtaining the public and private keys based on the polynomial ring unit includes:
[0040] Obtain a first modulus and a second modulus, wherein the first modulus and the second modulus satisfy preset requirements;
[0041] Randomly obtain the first and second polynomials from the polynomial ring unit;
[0042] The first parameter of the first modulus is calculated based on the first polynomial, and the second parameter of the second modulus is calculated based on the second polynomial.
[0043] The public key and private key are obtained based on the first parameter and the second parameter.
[0044] Furthermore, to achieve the above objectives, the present invention also proposes a user cloud-based identity authentication system, which includes a terminal device and a cloud server, wherein the terminal device applies the cloud-based identity authentication method as described in any one of claims 1 to 6, and the cloud server applies the cloud-based identity authentication method as described in any one of claims 7 to 8.
[0045] This invention hides privacy information such as identity and location information through a registration code in the first authentication value, and adds a random number to the first authentication value to increase its randomness. Furthermore, the aforementioned obfuscation calculation method can be used to obfuscate identity and location information, thereby further increasing the difficulty of attacking identity and location information and effectively protecting user information security. Attached Figure Description
[0046] Figure 1 This is a flowchart illustrating the first embodiment of the cloud-based identity authentication method for terminal devices according to the present invention;
[0047] Figure 2 This is a flowchart illustrating the second embodiment of the cloud-based identity authentication method for terminal devices according to the present invention;
[0048] Figure 3 This is a flowchart illustrating the first embodiment of the cloud-based identity authentication method of the present invention applied to a cloud server;
[0049] Figure 4 This is a schematic diagram of the cloud-based identity authentication system of the present invention.
[0050] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0051] It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the invention.
[0052] This invention provides a cloud-based identity authentication method for terminal devices, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of a cloud-based identity authentication method according to the present invention.
[0053] In this embodiment, the cloud-based identity authentication method includes the following steps:
[0054] Step S10: Obtain the user's identity information and location information.
[0055] Understandably, identity information can be a user's account, mobile phone number, ID card number, or similar information; location information can be the user's geographical location during movement, such as latitude and longitude.
[0056] It should be understood that the execution subject of the cloud-based identity authentication method in this embodiment is the terminal device, and the terminal device can be used by the user. When authenticating the user's identity, the user can input their personal identity information, and then the user's identity information is obtained by the execution subject terminal device in this embodiment.
[0057] It should be understood that the user's location information can be obtained by the terminal device using its own positioning system. In this case, the user's location information and the terminal device's location information are consistent.
[0058] Step S20: When the identity information is successfully verified, a registration code is generated based on the location information to obtain a service request including the registration code.
[0059] Understandably, after a user enters their identity information, it is necessary to verify that information. Verification may include verifying whether the identity information is correct or whether the user is the one who entered the information.
[0060] It should be understood that the registration code can be generated based on the user's location information. After the registration code is generated, it is returned to the user so that the user can make a service request based on the registration code.
[0061] Understandably, service requests can be operations such as retrieving data, searching for data, downloading data, or deleting data.
[0062] It should be noted that the location information can be obtained by the terminal device continuously collecting the user's location through its own positioning device after the user's identity verification is successful. The location information can be multiple or one.
[0063] Step S30: Verify the registration code in the service request. If the verification is successful, randomly generate a first authentication value and send the first authentication value to the cloud server so that the cloud server can return encrypted polynomial information and cloud server private key based on the first authentication value.
[0064] Understandably, the terminal device can send the registration code back to the user. The user needs to receive the registration code and submit a service request based on it. The terminal device then determines whether the registration code in the service request matches the registration code sent back to the user. If they match, the verification is successful.
[0065] In practice, a user can enter a mobile phone number, and the terminal device can send a verification code to the user based on the mobile phone number. The real user of the mobile phone number can receive the verification code. When the user who entered the mobile phone number is the real user, after receiving the verification code, he / she will make a service request to the terminal device based on the verification code.
[0066] It should be understood that the first authentication value can be a parameter used for mutual authentication between the cloud server and the terminal device network. It enables the cloud server to identify a uniquely corresponding terminal device based on the first authentication value, thereby allowing the terminal device to operate on the data in the cloud server.
[0067] It should be noted that the verification of the registration code in the service request, and the random generation of the first authentication value upon successful verification, can be based on the registration code to find a set of paths matching the user's identity. It is understood that the registration code includes the user's identity information, and a movement path matching the user's identity can be obtained based on this identity information. The movement path can contain multiple movement points, and the location information of each movement point can be known.
[0068] The location information of each path in the path set is obtained. The location information of each odd-numbered or even-numbered node from the starting point to the ending point of each path is obtained sequentially to generate multiple verification information. The location information can be the latitude and longitude of the moving points. There may be multiple moving points in the path, which can be obtained at different times. The location information of each moving point is arranged in chronological order. The location information of the moving points at odd-numbered positions is extracted separately, and verification information is obtained based on the location information of multiple odd-numbered moving points. Alternatively, the location information of the moving points at even-numbered positions is extracted separately, and verification information is obtained based on the location information of multiple even-numbered moving points.
[0069] The registration code is matched with the multiple verification messages. If the match fails, the verification fails, and the user's identity information is retrieved again. If the match succeeds, the verification succeeds, and a first authentication value is randomly generated.
[0070] It should be further explained that the randomly generated first authentication value may be a hash value obtained from the current location information, random parameters, and a value that matches the user's identity;
[0071] The first authentication value is obtained based on the registration code, the hash value of the current location information, random parameters, and data that matches the user's identity.
[0072] Once the verification is successful, a first authentication value is generated based on the registration code and then sent to the cloud server.
[0073] s = r * d + k * e mod n;
[0074] Where s represents the first authentication value, r represents the registration code; e represents the hash value of the location information of the terminal device; d represents the value matched with the user's identity information, which can be the personal credit value bound to the user's identity information, etc.; and n represents a random number.
[0075] The first authentication value takes into account both the terminal device's identity information and location information, thus uniquely identifying the terminal device. Secondly, privacy information such as identity and location information can be hidden by the first authentication value through the registration code. Furthermore, a random number is added to the first authentication value to increase its randomness. Moreover, the aforementioned obfuscation calculation method can be used to obfuscate the identity and location information, further increasing the difficulty of attacking these information.
[0076] Step S40: Decrypt the encrypted polynomial information using the private key of the cloud server to obtain plaintext information, and send the plaintext information to the cloud server so that the cloud server can authenticate the user's identity based on the plaintext information.
[0077] Understandably, the cloud server's private key is paired with the public key used to encrypt the encrypted polynomial information. The encrypted polynomial information can be decrypted using the private key to obtain the plaintext information.
[0078] It should be understood that the plaintext information is encrypted by the cloud server based on the first authentication value.
[0079] It should be noted that the terminal device sends the first authentication value to the cloud server, which encrypts the first authentication value to obtain encrypted polynomial information. The terminal device then decrypts the encrypted polynomial information to obtain the plaintext information corresponding to the first authentication value. This can be understood as the terminal device authenticating the cloud server. The terminal device then sends the plaintext information to the cloud server for authentication, which can be understood as the cloud server authenticating the terminal device. This embodiment avoids various attacks such as tampering, forgery, and replay attacks that mobile cloud may encounter through two-way authentication between the terminal device and the cloud server.
[0080] In this embodiment, privacy information such as identity and location information is hidden by the registration code in the first authentication value. A random number is added to the first authentication value to increase its randomness. Furthermore, the aforementioned obfuscation calculation method can be used to obfuscate the identity and location information, thereby further increasing the difficulty of attacking the identity and location information. This effectively protects the user's information security, enables two-way authentication between the user device and the cloud server, and avoids various attacks that the mobile cloud may encounter, such as tampering, forgery, and replay attacks.
[0081] refer to Figure 2 , Figure 2 This is a flowchart illustrating a second embodiment of a cloud-based identity authentication method according to the present invention.
[0082] Based on the first embodiment described above, the cloud-based identity authentication method in this embodiment includes the following in step S20:
[0083] Step S21: Obtain the user's movement path based on the location information. The user's movement path includes N movement points, where N is greater than or equal to 2.
[0084] Understandably, location information can be the geographical location of a terminal device as it moves with the user.
[0085] It should be understood that a user's movement path can include N movement points, where N is greater than or equal to 2. Alternatively, it can be understood as continuously acquiring the user's location information, using each of the user's current locations as movement points.
[0086] It should be noted that the user's movement path can be a segment of the path during the user's movement, a segment extracted from the user's historical movement path, or a real-time movement path obtained based on the user's real-time location information.
[0087] In practice, based on the user's current location information, the system continuously acquires the user's location information for the next ten minutes. Based on the user's location information within the next ten minutes, multiple movement points can be obtained, and the user's movement path within the next ten minutes can be determined.
[0088] Step S22: Search for mobile hotspots around each mobile point, calculate the reachability between the mobile point and the mobile hotspot, filter the mobile hotspots based on the reachability, and obtain a candidate set of reachable hotspots for each mobile point.
[0089] Understandably, a mobile hotspot can be a base station around a user's various mobile locations, and there can be one or more mobile hotspots between each mobile location.
[0090] It should be understood that the coverage area of each mobile hotspot is limited. Accessibility can be understood as the correlation between a mobile point and a mobile hotspot. Accessibility can be used to determine whether a mobile point can connect to a mobile hotspot.
[0091] It should be noted that the mobile hotspot can be screened based on the accessibility by comparing the calculated accessibility with a preset accessibility threshold. If the accessibility is greater than the preset accessibility threshold, it proves that the mobile hotspot and the mobile point can be connected. If the accessibility is less than or equal to the preset accessibility threshold, it proves that the mobile hotspot and the mobile point cannot be connected. The preset accessibility threshold can be 1 or other values, which can be adjusted according to actual needs. This invention does not limit this.
[0092] It should be emphasized that the reachable hotspot candidate set can be understood as the set of mobile hotspots around a mobile point whose reachability meets a preset reachability threshold. Each mobile point can have a reachable hotspot candidate set, and the number of mobile hotspots in the reachable hotspot candidate set can be one, multiple, or none.
[0093] It should be further explained that calculating the reachability between the mobile point and the mobile hotspot includes:
[0094] Obtain the time difference between the start and end points of the user's movement path;
[0095] Obtain the maximum speed of movement between the starting point and the ending point;
[0096] Obtain the reference distance from each movement point on the user's movement path to any surrounding movement hotspot;
[0097] The reachability between each moving point and the moving hotspot is calculated based on the time difference, the maximum speed, and the reference distance.
[0098] In practical implementation, the reachability calculation can refer to the following formula:
[0099]
[0100] Among them, (t) m -t n S represents the time difference between the user's starting and ending points of movement. max D(L) represents the maximum speed at which the user can move between the starting and ending points. i ,L o Let be the distance from point i to a nearby hotspot o.
[0101] Step S23: Construct a hotspot path based on the reachable hotspot candidate set of each mobile point, and obtain the registration code based on the location coordinates of each hotspot in the hotspot path.
[0102] Understandably, a hotspot path can be understood as a path formed by selecting a reachable hotspot from the set of reachable hotspot candidates from each mobile point.
[0103] It should be understood that the locations of mobile hotspots in the reachable hotspot candidate set for each mobile point can be the same or different. The location of each mobile hotspot can be a location displayed with latitude and longitude coordinates.
[0104] It should be noted that the step of constructing a hotspot path based on the reachable hotspot candidate set of each mobile point, and obtaining the registration code based on the location coordinates of each hotspot in the hotspot path, includes:
[0105] An undirected graph is constructed based on the reachable hotspot candidate set of each mobile point to obtain the undirected graph of each mobile point; wherein, the undirected graph can be understood as a location graph composed of mobile hotspots in the reachable hotspot candidate set, and an undirected graph can be constructed for the reachable hotspot candidate set of each mobile point.
[0106] A hotspot path is constructed based on the undirected graph of each movement point, and a registration code is obtained based on the position coordinates of each hotspot in the hotspot path. The specific implementation steps may include sequentially selecting movement hotspots from the undirected graph of each movement point to obtain multiple reference hotspot paths; obtaining a path set based on the multiple reference hotspot paths; randomly selecting a target path from the path set; sequentially obtaining the reference position information of all nodes from the starting point to the ending point in the target path; using the reference position information of odd-numbered nodes or even-numbered nodes in the reference position information as the target position information; and concatenating the target position information to obtain the registration code.
[0107] In practice, the user's movement path includes four movement points: A, B, C, and D. The reachable hotspot candidate set for movement point A is {a, d, c, d, e, g, v}, for movement point B it is {d, g, h, v, r, d}, for movement point C it is {h, s, n, e, k, d, c}, and for movement point D it is {s, h, e, n, g, d}. Selecting a hotspot from each of these four movement points sequentially yields the hotspot path {d, v, n, g}. Concatenating the latitude and longitude of d, v, n, and g yields the registration code.
[0108] This embodiment obtains the corresponding mobile path through the user's location information, and constructs a hotspot path based on the mobile hotspots of the mobile points in the mobile path. It randomly selects the location information of odd or even mobile hotspots from the hotspot path to generate a registration code. The user's identity information is verified through the registration code, while the user's personal information is hidden. This allows for the verification of the user's identity without directly sending the identity identifier and location information to the terminal device, thus avoiding problems such as information leakage during transmission.
[0109] This invention also provides a cloud-based identity authentication method for cloud servers, referring to... Figure 3 , Figure 3 This is a flowchart illustrating the fourth embodiment of a cloud-based identity authentication method according to the present invention.
[0110] In this embodiment, the cloud-based identity authentication method further includes the following steps:
[0111] Step S331: Obtain the first authentication value, and determine the maximum number of shortening steps for the polynomial ring unit based on the first authentication value.
[0112] It should be noted that existing obfuscation encryption methods typically consume a large amount of memory and suffer from slow encryption and decryption speeds, as well as vulnerability to quantum computers. Introducing the concept of truncated polynomials into the encryption process requires first constructing a suitable truncated polynomial, because different truncated polynomials will lead to significantly different encryption and decryption processes and results.
[0113] It should be further explained that when determining the maximum degree of the polynomial to be shortened in the polynomial ring element, a random value is usually selected directly as the maximum degree. In this way, when the random value is too large, although the safety is high, the coefficients of the truncated polynomial will also increase, thereby increasing the amount of computation; or, when the random value is too small, although the coefficients of the truncated polynomial are not many and the amount of computation is relatively small, the safety will also decrease. That is, the safety and the amount of computation are highly random and not within the controllable range.
[0114] It should be understood that the execution entity in this embodiment is a cloud server. The cloud server obtains the first authentication value sent by the terminal device and determines the maximum degree of the polynomial to be shortened in the polynomial ring unit based on the first authentication value. The maximum degree can be adjusted by parameters such as the registration code in the first authentication value, the hash value of the terminal device's location information, and the value matching the user's identity information, thereby ensuring the security and computational load in the encryption process.
[0115] It should be noted that the maximum shortening degree of the polynomial ring unit can be determined by the first authentication value as the polynomial ring R = Z[X] / (X). N-1) requires shortening the maximum degree N of the polynomial.
[0116] Step S332: Determine the polynomial ring unit based on the maximum shortening degree, and obtain the public key and private key based on the polynomial ring unit.
[0117] Understandably, determining the maximum shortening degree determines each polynomial of the polynomial ring, or it can be understood as each polynomial ring element of the polynomial ring. After determining the maximum shortening degree, the polynomial ring R = Z[X] / (X N -1) Expanding, we can obtain each polynomial ring element.
[0118] It should be noted that obtaining the public and private keys based on the polynomial ring unit can be achieved by obtaining a first modulus and a second modulus. The first modulus and the second modulus satisfy a preset requirement. The first modulus and the second modulus can be two randomly obtained moduli, and the first modulus and the second modulus satisfy a preset requirement. The preset requirement can be that the first modulus and the second modulus are coprime or that the common divisor of the first modulus and the second modulus is 1.
[0119] A first polynomial and a second polynomial are randomly obtained from the polynomial ring unit; a first parameter of the first modulus is calculated based on the first polynomial, and a second parameter of the second modulus is calculated based on the second polynomial; a public key and a private key are obtained based on the first parameter and the second parameter.
[0120] In practice, the process of generating public and private keys can be to randomly select two modulos p and q, such that p and q are coprime, or to make gcd(p,q)=1. gcd(p,q)=1 can be understood as the greatest common divisor of p and q being 1.
[0121] Two polynomials, f(y) and g(y), are randomly selected from the polynomial ring unit. Here, f(y) is the polynomial used to calculate the private key of the cloud server; and g(y) is the polynomial used to generate the public key of the cloud server.
[0122] Calculate fp and fq based on polynomials f(y) and g(y), respectively, using the following formulas:
[0123] fp = 1 (N * mod)p
[0124] fq = 1 (N * mod)q;
[0125] Furthermore, the calculation of the cloud server's public key can refer to the following formula:
[0126] Pk=N*p*(fq*g(y))modq+N*q*(fp*f(y))modp;
[0127] Where Pk represents the cloud server public key, N represents the maximum number of shortening operations, and mod represents the modulo operation.
[0128] It should be emphasized that, in order to reduce the amount of computation, the coefficients of polynomials f(y) and g(y) can be controlled in (-1,0,1), and the total number of positive coefficients should be 1 more than the total number of negative coefficients.
[0129] Step S333: Encrypt the plaintext information using the public key and the first authentication value to obtain encrypted polynomial information, and send the encrypted polynomial information to the terminal device so that the terminal device can decrypt the encrypted polynomial information to obtain plaintext information and return the plaintext information.
[0130] Understandably, encrypted polynomial information can be obtained by encrypting plaintext information.
[0131] It should be noted that the encryption polynomial information obtained by encrypting plaintext information based on the public key and the first authentication value can be obtained by encrypting the first authentication value to obtain the encrypted first authentication value, or by encrypting the encrypted first authentication value, public key, and other information to obtain the encryption polynomial information. The specific calculation method can be found in the following formula:
[0132] Em=Pk+m(y)*(modq)=N*p*(fq*g(y))modq+N*q*(fp*f(y))modp+m(y)*(modq)
[0133] Where m(y) represents the first authentication value after encryption.
[0134] It should be emphasized that after the encrypted polynomial information is calculated according to the above calculation method, the encrypted polynomial information can be sent to the terminal device to verify the identity information of the terminal device.
[0135] Using the above method, since truncated polynomial is a method of encrypting and decrypting information based on lattice cryptography, attackers cannot detect the data requested by the user based on this embodiment, and it can resist any quantum technology attack.
[0136] It should be noted that after receiving the encrypted polynomial information sent by the cloud server, the terminal device can decrypt the encrypted polynomial information using the private key polynomial f(y):
[0137] D1 = f(y) * Em (mod q);
[0138] D2 = D1 (mod p);
[0139] After obtaining D1 and D2, the plaintext information can be calculated using another private key fp with reference to the following formula:
[0140] m(y) = fp * D2 (mod p).
[0141] Step S334: Receive the plaintext information and authenticate the user's identity based on the plaintext information.
[0142] It should be understood that the plaintext information here may not be the same as the plaintext information sent by the cloud server to the terminal device. If the encrypted information is tampered with or attacked during the transmission process, the plaintext information decrypted by the terminal device may be different from the plaintext information sent by the cloud server. If they are different, authentication will be required and the user's identity will need to be re-authenticated. If they are the same, the user's identity will be successfully authenticated.
[0143] Understandably, the cloud server encrypts the plaintext information to obtain encrypted polynomial information, and sends the encrypted polynomial information to the terminal device, which is the terminal device's authentication of the cloud server. The cloud server decrypts the encrypted polynomial information to obtain plaintext information and sends it back to the cloud server, which is the cloud server's authentication of the terminal device's user identity. If the authentication is successful, the terminal device can obtain the corresponding service from the cloud server.
[0144] This embodiment constructs a truncated polynomial ring and a cloud server private key based on the first authentication value through a cloud server, and sends the encrypted message obtained based on the truncated polynomial ring to the terminal device. The terminal device decrypts the encrypted polynomial message to obtain the plaintext message, and sends the plaintext message to the cloud server for verification. This can achieve two-way authentication between the user device and the cloud server, thereby avoiding various attacks such as tampering, forgery, and replay that mobile cloud may encounter.
[0145] In addition, refer to Figure 4 The present invention also proposes a cloud-based identity authentication system, characterized in that the cloud-based identity authentication system includes: a terminal device and a cloud server.
[0146] It should be understood that the above are merely illustrative examples and do not constitute any limitation on the technical solution of the present invention. In specific applications, those skilled in the art can make settings as needed, and the present invention does not impose any restrictions on this.
[0147] It should be noted that the workflow described above is merely illustrative and does not limit the scope of protection of this invention. In practical applications, those skilled in the art can select some or all of the workflow to achieve the purpose of this embodiment according to actual needs, and no restrictions are imposed here.
[0148] Furthermore, it should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.
[0149] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0150] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as read-only memory (ROM) / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.
[0151] It should be understood that although the steps in the flowcharts of this application's embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in the figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps.
[0152] The above are merely preferred embodiments of the present invention and do not limit the scope of the patent. Any equivalent structural or procedural transformations made based on the description and drawings of the present invention, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of the present invention.
Claims
1. A cloud-based identity authentication method, characterized in that, The cloud-based authentication method is applied to a terminal device, and the cloud-based authentication method includes: Obtain user identity and location information; When the identity information is successfully verified, a registration code is generated based on the location information to obtain a service request including the registration code; The registration code in the service request is verified. If the verification is successful, a first authentication value is randomly generated and sent to the cloud server so that the cloud server can return encrypted polynomial information and cloud server private key based on the first authentication value. The encrypted polynomial information is decrypted using the private key of the cloud server to obtain plaintext information, which is then sent to the cloud server so that the cloud server can authenticate the user's identity based on the plaintext information. The step of generating a registration code based on the location information includes: The user's movement path is obtained based on the location information, and the user's movement path includes N movement points, where N is greater than or equal to 2. Search for mobile hotspots around each mobile point, calculate the reachability between the mobile point and the mobile hotspot, filter the mobile hotspots based on the reachability, and obtain a candidate set of reachable hotspots for each mobile point; An undirected graph is constructed based on the reachable hotspot candidate set of each mobile point to obtain the undirected graph of each mobile point. Select movement hotspots sequentially from the undirected graph of each movement point to obtain multiple reference hotspot paths; obtain a path set based on the multiple reference hotspot paths. A target path is randomly selected from the set of paths, and the reference position information of all nodes from the starting point to the end point in the target path is obtained in sequence. The reference position information of odd-numbered nodes or even-numbered nodes in the reference position information is used as the target position information, and the target position information is concatenated to obtain the registration code. The step of verifying the registration code in the service request, and randomly generating a first authentication value upon successful verification, includes: Based on the registration code, find the set of paths that match the user's identity; Obtain the position information of each path in the path set, and sequentially obtain the position information of each odd or even node from the starting point to the end point of each path to obtain multiple verification information; The registration code is matched with the multiple verification information. If the match fails, the verification fails, and the user's identity information is retrieved again. If the match succeeds, the verification succeeds, and a first authentication value is randomly generated.
2. The cloud-based identity authentication method of claim 1, wherein, The calculation of the reachability between the mobile point and the mobile hotspot includes: Obtain the time difference between the start and end points of the user's movement path; Obtain the maximum speed of movement between the starting point and the ending point; Obtain the reference distance from each movement point on the user's movement path to any surrounding movement hotspot; The reachability between each moving point and the moving hotspot is calculated based on the time difference, the maximum speed, and the reference distance.
3. The cloud-based identity authentication method of claim 1, wherein, The random generation of the first authentication value includes: Obtain the hash value, random parameters, and numerical value matching the user's identity for the current location information; The first authentication value is obtained based on the registration code, the hash value of the current location information, random parameters, and data that matches the user's identity.
4. A cloud-based identity authentication method, characterized in that, The cloud-based identity authentication method is applied to a cloud server; The cloud-based identity authentication method includes: Obtain the first authentication value, and determine the maximum number of shortening steps for the polynomial ring unit based on the first authentication value; The polynomial ring unit is determined based on the maximum shortening degree, and the public key and private key are obtained based on the polynomial ring unit; The plaintext information is encrypted using the public key and the first authentication value to obtain encrypted polynomial information. The encrypted polynomial information is then sent to the terminal device so that the terminal device can decrypt the encrypted polynomial information to obtain plaintext information and return the plaintext information. Receive the plaintext information and authenticate the user's identity based on the plaintext information; The terminal device applies the steps of the cloud-based identity authentication method as described in any one of claims 1 to 3.
5. The cloud-based identity authentication method of claim 4, wherein, The process of obtaining the public and private keys based on the polynomial ring unit includes: Obtain a first modulus and a second modulus, wherein the first modulus and the second modulus satisfy preset requirements; Randomly obtain the first and second polynomials from the polynomial ring unit; The first parameter of the first modulus is calculated based on the first polynomial, and the second parameter of the second modulus is calculated based on the second polynomial. The public key and private key are obtained based on the first parameter and the second parameter.
6. A cloud-based identity authentication system, comprising: The cloud-based identity authentication system includes: a terminal device and a cloud server, wherein the terminal device applies the cloud-based identity authentication method as described in any one of claims 1 to 3, and the cloud server applies the cloud-based identity authentication method as described in any one of claims 4 to 5.
Citation Information
Patent Citations
Identity authentication method, terminal and server
CN107113315A
Identity authentication method and system of terminal equipment, storage medium and electronic equipment
CN113489585A