Verification code processing method, device, equipment, server, system and medium

By generating encrypted verification codes on trusted devices and displaying or playing them on user devices, the problem of leakage during verification code processing is solved, thus improving security and reliability.

CN122640145APending Publication Date: 2026-08-25BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510211777.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-25
Publication Date
2026-08-25

AI Technical Summary

Technical Problem

The verification code processing process has vulnerabilities that make it easy for attackers to compromise and leak the code, resulting in poor security.

Method used

An encrypted first verification code is generated on a trusted device, and a unique encrypted second verification code is determined by a cloud server. The user receives and decrypts the verification code on the trusted device to display or play it, thus preventing the cloud server and the requesting device from being attacked and leaked.

Benefits of technology

It improves the security and reliability of CAPTCHA processing, prevents CAPTCHA leakage during transmission, and ensures the generation and verification of unique CAPTCHAs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122640145A_ABST
    Figure CN122640145A_ABST
Patent Text Reader

Abstract

The present disclosure relates to a verification code processing method, device, equipment, server, system and medium. The verification code processing method comprises: in the case of receiving a verification code request sent by a cloud server, generating an encrypted first verification code; sending the encrypted first verification code to the cloud server, so that the cloud server determines an encrypted second verification code; in the case of receiving the encrypted second verification code sent by the cloud server, decrypting the encrypted second verification code to obtain the second verification code; and sending the second verification code to the user. By generating an encrypted first verification code on a trusted device and sending the second verification code to the user, the security of the verification code processing is improved, and the leakage of the generated verification code caused by an attack on the cloud server is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of information security technology, and in particular to a verification code processing method, apparatus, device, server, system and medium. Background Technology

[0002] CAPTCHAs are a common security mechanism used to verify the legitimacy of user identities and prevent the theft of user information. However, due to vulnerabilities in the CAPTCHA processing, they are easily compromised by attackers, resulting in poor security. Summary of the Invention

[0003] To overcome the problems existing in related technologies, this disclosure provides a verification code processing method, apparatus, device, server, system, and medium.

[0004] According to a first aspect of the present disclosure, a verification code processing method is provided, the verification code processing method comprising:

[0005] Upon receiving a verification code request from the cloud server, generate an encrypted first verification code;

[0006] The encrypted first verification code is sent to the cloud server, so that the cloud server can determine the encrypted second verification code;

[0007] Upon receiving the encrypted second verification code sent by the cloud server, the encrypted second verification code is decrypted to obtain the second verification code;

[0008] The second verification code is sent to the user.

[0009] According to a second aspect of the present disclosure, a verification code processing method is provided, the verification code processing method comprising:

[0010] Upon receiving a verification code request from the requesting device, the verification code request is sent to the trusted device;

[0011] Upon receiving the encrypted first verification code sent by the trusted device, an encrypted second verification code is determined based on the encrypted first verification code;

[0012] The encrypted second verification code is sent to the trusted device.

[0013] According to a third aspect of the present disclosure, a verification code processing method is provided, the verification code processing method comprising:

[0014] Upon receiving the encrypted second verification code, the encrypted third verification code, and the encrypted key sent by the cloud server, the encrypted second verification code and the encrypted third verification code are decrypted using the encryption machine's private key and the encrypted key to obtain the second verification code and the third verification code.

[0015] The verification result is determined based on the second verification code and the third verification code;

[0016] The verification result is sent to the cloud server.

[0017] According to a fourth aspect of the present disclosure, a verification code processing apparatus is provided, the verification code processing apparatus comprising:

[0018] A first generation module is configured to generate an encrypted first verification code upon receiving a verification code request from a cloud server.

[0019] A first sending module is configured to send an encrypted first verification code to the cloud server, so that the cloud server can determine an encrypted second verification code.

[0020] A first decryption module is configured to decrypt the encrypted second verification code upon receiving the encrypted second verification code sent by the cloud server, thereby obtaining the second verification code.

[0021] The issuing module is configured to issue the second verification code to the user.

[0022] According to a fifth aspect of the present disclosure, a verification code processing apparatus is provided, the verification code processing apparatus comprising:

[0023] The second sending module is configured to send the verification code request to a trusted device upon receiving a verification code request from a requesting device.

[0024] A first determining module is configured to determine an encrypted second verification code based on the encrypted first verification code upon receiving an encrypted first verification code sent by the trusted device.

[0025] A third sending module is configured to send the encrypted second verification code to the trusted device.

[0026] According to a sixth aspect of the present disclosure, a verification code processing apparatus is provided, the verification code processing apparatus comprising:

[0027] The second decryption module is configured to, upon receiving an encrypted second verification code, an encrypted third verification code, and an encrypted key sent by a cloud server, decrypt the encrypted second verification code and the encrypted third verification code using the encryption machine's private key and the encrypted key, to obtain the second verification code and the third verification code.

[0028] The second determining module is configured to determine the verification result based on the second verification code and the third verification code;

[0029] A fourth sending module is configured to send the verification result to the cloud server.

[0030] According to a seventh aspect of the present disclosure, a trusted device is provided, the trusted device comprising:

[0031] processor;

[0032] Memory used to store the processor's executable instructions;

[0033] The processor is configured to execute the CAPTCHA processing method described above.

[0034] According to an eighth aspect of the present disclosure, a cloud server is provided, the cloud server comprising:

[0035] processor;

[0036] Memory used to store the processor's executable instructions;

[0037] The processor is configured to execute the CAPTCHA processing method described above.

[0038] According to a ninth aspect of the present disclosure, an encryption machine is provided, the encryption machine comprising:

[0039] processor;

[0040] Memory used to store the processor's executable instructions;

[0041] The processor is configured to execute the CAPTCHA processing method described above.

[0042] According to a tenth aspect of the present disclosure, a verification code processing system is provided, the verification code processing system comprising a request device, a cloud server, and a trusted device; the request device is configured to:

[0043] In response to the user's request to obtain a verification code, a verification code request is sent to the cloud server;

[0044] The cloud server is configured to be used for:

[0045] Upon receiving the verification code request from the requesting device, the verification code request is sent to the trusted device;

[0046] Upon receiving the encrypted first verification code sent by the trusted device, an encrypted second verification code is determined based on the encrypted first verification code;

[0047] Send the encrypted second verification code to the trusted device;

[0048] The trusted device is configured to:

[0049] Upon receiving the verification code request sent by the cloud server, an encrypted first verification code is generated;

[0050] The encrypted first verification code is sent to the cloud server;

[0051] Upon receiving the encrypted second verification code sent by the cloud server, the encrypted second verification code is decrypted to obtain the second verification code;

[0052] The second verification code is sent to the user.

[0053] According to an eleventh aspect of the present disclosure, a non-transitory computer-readable storage medium is provided, wherein when the instructions in the storage medium are executed by a processor of a terminal, the terminal is able to perform the verification code processing method as described above.

[0054] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:

[0055] Upon receiving a verification code request from the cloud server, verification is required, generating an encrypted first verification code. Since multiple trusted devices may generate the first verification code, and each first verification code is unique, the encrypted first verification code is sent to the cloud server, allowing the cloud server to determine a unique encrypted second verification code. Upon receiving the encrypted second verification code from the cloud server, it is decrypted, and the resulting second verification code is sent to the user. By generating the encrypted first verification code on a trusted device and sending the second verification code to the user, the security of verification code processing is improved, preventing attacks on the cloud server from leaking the generated verification code. Simultaneously, by sending the encrypted first verification code and receiving the encrypted second verification code, the security of verification code processing is further improved, preventing leakage during transmission. Furthermore, by having the cloud server determine the unique encrypted second verification code, the reliability of verification code processing is improved, preventing multiple trusted devices from issuing different verification codes and thus improving the reliability of verification code processing.

[0056] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0057] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0058] Figure 1 This is a flowchart illustrating a verification code processing method according to an exemplary embodiment;

[0059] Figure 2 This is a flowchart illustrating a verification code processing method according to another exemplary embodiment;

[0060] Figure 3 This is a flowchart illustrating a verification code processing method according to another exemplary embodiment;

[0061] Figure 4 This is a flowchart illustrating a verification code processing method according to another exemplary embodiment;

[0062] Figure 5 This is a flowchart illustrating a verification code processing method according to another exemplary embodiment;

[0063] Figure 6 This is a flowchart illustrating a verification code processing method according to another exemplary embodiment;

[0064] Figure 7 This is a flowchart illustrating a verification code processing method according to another exemplary embodiment;

[0065] Figure 8 This is a flowchart illustrating a verification code processing method according to another exemplary embodiment;

[0066] Figure 9 This is a flowchart illustrating a verification code processing method according to another exemplary embodiment;

[0067] Figure 10 This is a block diagram of a verification code processing apparatus according to an exemplary embodiment;

[0068] Figure 11 This is a block diagram of a verification code processing apparatus according to another exemplary embodiment;

[0069] Figure 12 This is a block diagram of a verification code processing apparatus according to another exemplary embodiment;

[0070] Figure 13 This is a block diagram of an electronic device according to an exemplary embodiment.

[0071] In the picture:

[0072] 100 - First generation module; 110 - First transmission module; 120 - First decryption module; 130 - Transmission module; 200 - Second transmission module; 210 - First determination module; 220 - Third transmission module; 300 - Second decryption module; 310 - Second determination module; 320 - Fourth transmission module; 400 - Electronic device; 402 - Processing component; 404 - Memory; 406 - Power supply component; 408 - Multimedia component; 410 - Audio component; 412 - Input / output interface; 414 - Sensor component; 416 - Communication component; 420 - Processor. Detailed Implementation

[0073] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims. It should also be understood that the term “and / or” as used in this disclosure refers to and includes any or all possible combinations of one or more of the associated listed items.

[0074] With the development of information technology, applications are increasingly demanding secure authentication. CAPTCHAs, as a common security mechanism, are used to verify the legitimacy of a user's identity and prevent the theft of user information. For example, on an application's login screen, a user can enter their mobile phone number and click to obtain a verification code. After entering the verification code into the verification area, if the code is entered correctly, the user can log in to their account in the application. However, because CAPTCHAs are generated on cloud servers, they are vulnerable to attacks that could lead to the leakage of the generated CAPTCHAs, resulting in poor security for CAPTCHA processing. Furthermore, the fact that cloud servers send CAPTCHA requests to devices for display after generation also makes them susceptible to leakage, further complicating the security of CAPTCHA processing.

[0075] To address the aforementioned technical issues, this disclosure provides a verification code processing method. By generating an encrypted first verification code on a trusted device that is not easily attacked, the method avoids the leakage of the generated verification code due to attacks on the cloud server, thereby improving the security of verification code processing. Simultaneously, by sending a second verification code to the user from a trusted device rather than the requesting device, the method avoids the leakage of the generated verification code due to attacks on the requesting device, further enhancing the security of verification code processing.

[0076] For ease of understanding, the CAPTCHA processing scenario of this disclosure is first described. The CAPTCHA processing system includes a requesting device, a cloud server, an encryption machine, and at least one trusted device. The encryption machine can be a Hardware Security Module (HSM). Both the trusted device and the requesting device are different electronic devices held by the same user, and the user can be identified through their logged-in account. The difference between the trusted device and the requesting device is that the trusted device stores the encryption and decryption keys, while the requesting device does not store these keys. After the user requests a CAPTCHA on the requesting device, the requesting device sends the CAPTCHA request to the trusted device via the cloud server. The trusted device and the cloud server then generate the first CAPTCHA and determine the second CAPTCHA. After receiving the second CAPTCHA from the cloud server, the trusted device sends the second CAPTCHA to the user, allowing the user to access the second CAPTCHA on the trusted device. After the user enters a third CAPTCHA on the requesting device, the requesting device sends the encrypted third CAPTCHA to the encryption machine via the cloud server, where the encryption machine verifies the third CAPTCHA.

[0077] This disclosure provides a verification code processing method, such as... Figure 1 As shown, the method includes:

[0078] S100: Upon receiving a verification code request from the cloud server, generate an encrypted first verification code.

[0079] S200: Send the encrypted first verification code to the cloud server, so that the cloud server can determine the encrypted second verification code.

[0080] S300: Upon receiving the encrypted second verification code sent by the cloud server, decrypt the encrypted second verification code to obtain the second verification code.

[0081] S400 sends a second verification code to the user.

[0082] In this embodiment, upon receiving a verification code request from the cloud server, verification is required, generating an encrypted first verification code. Since multiple trusted devices may generate the first verification code, and each first verification code is unique, the encrypted first verification code is sent to the cloud server, allowing the cloud server to determine a unique encrypted second verification code. Upon receiving the encrypted second verification code from the cloud server, it is decrypted, and the resulting second verification code is sent to the user. By generating the encrypted first verification code on a trusted device and sending the second verification code to the user, the security of verification code processing is improved, preventing the cloud server from being attacked and the generated verification code from being leaked. Simultaneously, by sending the encrypted first verification code and receiving the encrypted second verification code, the security of verification code processing is further improved, preventing leakage of the verification code during transmission. Furthermore, by having the cloud server determine the unique encrypted second verification code, the reliability of verification code processing is improved, preventing multiple trusted devices from issuing different verification codes and thus ensuring effective verification.

[0083] In one embodiment, the generation of the encrypted first verification code in step S100 is determined in the following manner:

[0084] Generate a random first verification code.

[0085] The first verification code is encrypted using the stored key to obtain the encrypted first verification code.

[0086] In this embodiment, to prevent the verification code from being leaked due to its fixed nature, a random first verification code is generated. Since the first verification code may be leaked during transmission, it is encrypted using a stored key to obtain an encrypted first verification code. By generating a first verification code encrypted with a key, the encrypted first verification code cannot be decrypted even if it is stolen during transmission, thereby improving the security of verification code processing.

[0087] For example, the key can be a symmetric key, such as an Advanced Encryption Standard (AES) key.

[0088] In one embodiment, the encrypted second verification code in step S300 is decrypted to obtain the second verification code in the following manner:

[0089] The stored key is used to decrypt the encrypted second verification code to obtain the second verification code.

[0090] In this embodiment, after the cloud server determines the encrypted second verification code, the second verification code may be the same as or different from the first verification code. Since the second verification code and the first verification code are encrypted with the same key, the stored key is used to decrypt the encrypted second verification code to obtain the second verification code. By using the encrypted key to decrypt the encrypted second verification code, the use of an additional key and the resulting key leakage are avoided, thereby improving the security of verification code processing.

[0091] In one embodiment, the issuance of the second verification code to the user in step S400 can be determined in the following way:

[0092] Display the second verification code.

[0093] In this embodiment, by displaying the second verification code on a trusted device, the user can learn the second verification code and input the third verification code on the requesting device, thereby reducing the complexity of verification code processing.

[0094] In one embodiment, issuing the second verification code to the user in step S400 can also be determined in the following way:

[0095] Play the second verification code.

[0096] In this embodiment, by playing the second verification code on a trusted device, the user can learn the second verification code and input the third verification code on the requesting device, thereby reducing the complexity of verification code processing.

[0097] It is understood that, in addition to displaying and / or playing the second verification code, the second verification code can also be sent to an electronic device that is connected in communication with a trusted device, so that the second verification code can be displayed and / or played on the electronic device.

[0098] In one embodiment, before generating the encrypted first verification code in step S100, the verification code processing method further includes:

[0099] When the user enables the preset function, a device public key and a device private key are generated.

[0100] The device public key is encrypted using the encryption machine's public key to obtain the encrypted device public key.

[0101] Send the encrypted device public key to the cloud server.

[0102] Upon receiving the encrypted key from the cloud server, the device decrypts the encrypted key using its private key to obtain the new key.

[0103] In this embodiment, when the user enables a preset function, it is necessary to protect the data of the electronic device by generating a device public key and a device private key. Since the key may be leaked during transmission, an encryption device needs to encrypt the key using the device public key. The encrypted device public key is then sent to a cloud server, which in turn sends it to the encryption device. Upon receiving the encrypted key from the cloud server, the encrypted key is decrypted using the device private key to obtain the final key. The key generated by the encryption device is imported into the electronic device through an asymmetric key exchange protocol, making the electronic device a trusted device and preventing key leakage during transmission, thereby improving the security of the verification code processing.

[0104] For example, the default function can be a function related to data protection. For instance, the default function can be an advanced data protection function.

[0105] For example, a trusted device contains a security chip. After the user enters a password to unlock the trusted device, the device's public and private keys are generated through the security chip. The encrypted key is then decrypted using the device's private key to obtain the new key, which is then imported into the security chip. Once imported into the security chip, the key cannot be exported and can only be used for encryption and decryption.

[0106] For example, after generating the device public key and device private key in the above steps, the user-input password and device public key can be encrypted together using the encryption device public key. The encrypted password and encrypted device public key are then sent to the cloud server.

[0107] For example, the encryption machine public key may be pre-stored in the requesting device, the trusted device, and the encryption machine.

[0108] This disclosure provides a verification code processing method applicable to trusted devices, such as... Figure 2 As shown, the method includes:

[0109] S500 generates a device public key and a device private key when the user enables advanced data protection.

[0110] S510. Encrypt the device public key with the encryption machine public key to obtain the encrypted device public key.

[0111] S520: Send the encrypted device public key to the cloud server.

[0112] S530: Upon receiving the encrypted symmetric key sent by the cloud server, decrypt the encrypted symmetric key using the device's private key to obtain the symmetric key.

[0113] S540: Upon receiving a verification code request from the cloud server, generate a random first verification code.

[0114] S550. Encrypt the first verification code using the stored symmetric key to obtain the encrypted first verification code.

[0115] S560 sends the encrypted first verification code to the cloud server.

[0116] S570. Upon receiving the encrypted second verification code sent by the cloud server, the encrypted second verification code is decrypted using the stored symmetric key to obtain the second verification code.

[0117] S580, Display the second verification code.

[0118] In this embodiment, when the user enables advanced data protection, advanced protection is required for the trusted device's data, generating a device public key and a device private key. The device public key is encrypted using the encryption machine's public key to obtain an encrypted device public key, which is then sent to the cloud server. Upon receiving an encrypted symmetric key from the cloud server, the encrypted symmetric key is decrypted using the device's private key to obtain the symmetric key. Upon receiving a verification code request from the cloud server, the requesting device requires a verification code, generating a random first verification code. The first verification code is encrypted using the stored symmetric key to obtain an encrypted first verification code, which is then sent to the cloud server. Upon receiving an encrypted second verification code from the cloud server, the encrypted second verification code is decrypted using the stored symmetric key to obtain and display the second verification code. By generating an encrypted first verification code on the trusted device and sending the second verification code to the user, the security of verification code processing is improved, preventing the cloud server from being attacked and the generated verification code from being leaked.

[0119] This disclosure provides a verification code processing method, such as... Figure 3 As shown, the method includes:

[0120] S600: Upon receiving a verification code request from the requesting device, the verification code request is sent to the trusted device.

[0121] S700: Upon receiving an encrypted first verification code sent by a trusted device, determine an encrypted second verification code based on the encrypted first verification code.

[0122] S800: Send the encrypted second verification code to the trusted device.

[0123] In this embodiment, upon receiving a verification code request from a requesting device, a verification code needs to be generated by a trusted device, and the verification code request is sent to the trusted device. Upon receiving an encrypted first verification code from a trusted device, since there may be multiple trusted devices, there may be multiple encrypted first verification codes. An encrypted second verification code is determined based on the encrypted first verification code, ensuring its uniqueness. This encrypted second verification code is then sent to the trusted device, enabling the trusted device to issue a unique second verification code to the user. By sending a verification code request to have the trusted device generate the first verification code, the security of the generated verification code is improved, preventing attacks on the cloud server from leaking the code. Simultaneously, using the encrypted first verification code to determine the encrypted second verification code avoids non-unique verification codes that could lead to ineffective verification, thus improving the reliability of the verification code processing.

[0124] In one embodiment, there are multiple trusted devices. The step S600 of sending the verification code request to the trusted devices is determined as follows:

[0125] Send verification code requests to each trusted device.

[0126] In this embodiment, since some trusted devices may not be connected to the cloud server, and different trusted devices generate encrypted first verification codes at different speeds, a verification code request is sent to each trusted device to ensure effective verification code generation. This allows each trusted device connected to the cloud server to generate an encrypted first verification code. By pushing the verification code request to each trusted device, the first verification code can be generated quickly, thereby improving the efficiency of verification code processing.

[0127] In one embodiment, there are multiple trusted devices. In step S700, upon receiving an encrypted first verification code from a trusted device, the encrypted second verification code is determined based on the encrypted first verification code in the following manner:

[0128] If multiple trusted devices send encrypted first verification codes, the encrypted first verification code sent by the first trusted device among the multiple trusted devices is determined as the encrypted second verification code.

[0129] In this embodiment, since there are multiple trusted devices, and different trusted devices send the encrypted first verification code at different times, the encrypted first verification code sent by the first trusted device among the received data is determined as the encrypted second verification code. By using the first encrypted first verification code as the encrypted second verification code, the second verification code is unique and can be sent from the trusted device in a timely manner, thereby improving the reliability of verification code processing.

[0130] For example, when there is only one trusted device, the encrypted first verification code received from that trusted device is determined as the encrypted second verification code.

[0131] For example, in the above steps, determining the encrypted first verification code sent by the first trusted device among multiple trusted devices as the encrypted second verification code can be done by caching the encrypted first verification code as the encrypted second verification code if the encrypted second verification code does not exist in the cache. In step S800, sending the encrypted second verification code to the trusted device can be done by sending the encrypted second verification code from the cache to the trusted device. That is, the first trusted device is the first trusted device to send the encrypted first verification code.

[0132] For example, in step S800, sending the encrypted second verification code to a trusted device can be either sending the encrypted second verification code to the trusted device that sent the encrypted first verification code, or sending the encrypted second verification code to each trusted device.

[0133] In one embodiment, the verification code processing method further includes:

[0134] Upon receiving the encrypted device public key from a trusted device, the encrypted device public key is sent to the encryption machine.

[0135] Upon receiving the encryption key from the encryption machine, the encryption key is sent to the trusted device.

[0136] Store the encrypted key.

[0137] In this embodiment, upon receiving an encrypted device public key from a trusted device, the encryption machine generates a key for CAPTCHA processing and sends the encrypted device public key to the encryption machine. Upon receiving an encrypted key from the encryption machine, the encrypted key is sent to the trusted device to import the key. The encrypted key is stored so that the encryption machine can decrypt the CAPTCHA based on it during verification. Using a cloud server as an intermediary for transmitting encrypted information allows the key to be imported into the trusted device while preventing key leakage, thereby improving the security of CAPTCHA processing.

[0138] In one embodiment, the step of sending the encryption key to the trusted device in the above steps is determined in the following way:

[0139] Send the key encrypted with the device's public key to the trusted device.

[0140] In this embodiment, by sending the key encrypted with the device's public key to a trusted device, the trusted device can decrypt the encrypted key without the risk of key leakage, thereby improving the reliability of CAPTCHA processing.

[0141] In one embodiment, the storage encryption key in the above steps is determined in the following manner:

[0142] Store the key encrypted with the public key of the encryption machine.

[0143] In this embodiment, by storing the key encrypted with the encryption machine's public key, the encryption machine can decrypt the encrypted key without the risk of key leakage, thereby improving the reliability of the verification code processing.

[0144] For example, upon receiving an encrypted password from a trusted device, the encrypted password is sent to the encryption machine. The encrypted password and the encryption device's public key can be received together from the trusted device. Upon receiving an encrypted password from the encryption machine, the encrypted password is stored. The encrypted password and the encryption key can be received together from the encryption machine.

[0145] In one embodiment, after sending the encrypted second verification code to the trusted device, the verification code processing method further includes:

[0146] Upon receiving the encrypted third verification code sent by the requesting device, the encrypted second verification code, the encrypted third verification code, and the encrypted key are sent to the encryption machine.

[0147] Upon receiving the verification result from the encryption machine, the verification result is sent to the requesting device.

[0148] In this embodiment, after obtaining the second verification code from a trusted device, the user enters a third verification code on the requesting device for verification. Upon receiving the encrypted third verification code from the requesting device, the encrypted second verification code, the encrypted third verification code, and the encrypted key are sent to the encryption machine, which then verifies the verification code to obtain a verification result. Upon receiving the verification result from the encryption machine, the verification result is sent back to the requesting device, informing the requesting device whether the verification code was successfully verified. Using a cloud server as an intermediary to transmit encrypted information enables the encryption machine to verify the verification code while preventing information leakage, thereby improving the security of verification code processing.

[0149] For example, if the user enters the correct verification code, the second verification code is the same as the third verification code. If the user enters the wrong verification code, the second verification code is different from the third verification code.

[0150] For example, upon receiving the verification result from the encryption machine, if the verification result indicates that the verification codes match, subsequent processing can proceed if the verification is successful. If the verification result indicates that the verification codes do not match, subsequent processing can proceed if the verification fails.

[0151] This disclosure provides a verification code processing method applied to a cloud server, such as... Figure 4 As shown, the method includes:

[0152] S900: Upon receiving the encrypted device public key from the trusted device, send the encrypted device public key to the encryption machine.

[0153] S910. Upon receiving the encrypted symmetric key sent by the encryption machine, send the symmetric key encrypted with the device's public key to the trusted device and store the symmetric key encrypted with the encryption machine's public key.

[0154] S920. Upon receiving a verification code request from the requesting device, the verification code request is sent to each trusted device.

[0155] S930. When receiving encrypted first verification codes from multiple trusted devices, the encrypted first verification code sent by the first trusted device among the multiple trusted devices shall be determined as the encrypted second verification code.

[0156] S940: Send the encrypted second verification code to the trusted device.

[0157] S950: Upon receiving the encrypted third verification code sent by the requesting device, send the encrypted second verification code, the encrypted third verification code, and the encrypted symmetric key to the encryption machine.

[0158] S960. Upon receiving the verification result from the encryption device, the verification result is sent to the requesting device.

[0159] In this embodiment, upon receiving an encrypted device public key from a trusted device, the encryption machine needs to generate a symmetric key for encrypting and decrypting the verification code, and send the encrypted device public key to the encryption machine. Upon receiving an encrypted symmetric key from the encryption machine, the symmetric key encrypted with the device public key is sent to the trusted device, and the symmetric key encrypted with the encryption machine's public key is stored. This symmetric key is then imported into the trusted device and used by the encryption machine for decryption during the verification code verification process. Upon receiving a verification code request from a requesting device, the trusted device needs to generate an encrypted first verification code and send the verification code request to each trusted device. Upon receiving encrypted first verification codes from multiple trusted devices, the first encrypted first verification code received is identified as the encrypted second verification code, and sent to the trusted devices to ensure its uniqueness. Upon receiving an encrypted third verification code from a requesting device, the encrypted second verification code, the encrypted third verification code, and the encrypted symmetric key are sent to the encryption machine for verification. Upon receiving the verification result from the encryption machine, the verification result is sent to the requesting device, informing the requesting device whether the verification code was successfully verified. By sending a verification code request to a trusted device to generate the first verification code, the security of verification code processing is improved, thus avoiding the leakage of the generated verification code due to attacks on the cloud server.

[0160] This disclosure provides a verification code processing method, such as... Figure 5 As shown, the method includes:

[0161] S1000: Upon receiving the encrypted second verification code, the encrypted third verification code, and the encrypted key sent by the cloud server, decrypt the encrypted second verification code and the encrypted third verification code using the encryption machine's private key and the encrypted key to obtain the second verification code and the third verification code.

[0162] S1100. Determine the verification result based on the second and third verification codes.

[0163] S1200: Send the verification results to the cloud server.

[0164] In this embodiment, since the second verification code is encrypted with a key and the third verification code is encrypted with the encryption machine's public key, both the encrypted second and third verification codes need to be decrypted before verification. Upon receiving the encrypted second and third verification codes and the encryption key from the cloud server, the encrypted second and third verification codes are decrypted using the encryption machine's private key and the encryption key to obtain the second and third verification codes. Based on the second and third verification codes, a verification result is determined, reflecting whether the second and third verification codes are consistent. The verification result is sent to the cloud server, which then forwards it to the requesting device, informing the requesting device whether the verification code was successfully verified. Using the encryption machine to verify the verification code and obtain the verification result avoids attacks on the cloud server that could render the verification code unverifiable, thus improving the security of the verification code processing.

[0165] In one embodiment, in step S1000, the encrypted second verification code and the encrypted third verification code are decrypted based on the encryption machine's private key and the encryption key, and the second verification code and the third verification code are determined in the following way:

[0166] The encrypted third verification code and the encrypted key are decrypted using the encryption machine's private key to obtain the third verification code and the key.

[0167] The second verification code is decrypted using the key to obtain the second verification code.

[0168] In this embodiment, since the third verification code and key are encrypted using the encryption machine's public key, and the encrypted third verification code and key are decrypted using the encryption machine's private key, the third verification code and key are obtained. Similarly, since the second verification code is encrypted using the key, and the encrypted second verification code is decrypted using the key, the second verification code is obtained. By obtaining the second and third verification codes through appropriate decryption, inconsistencies caused by errors in the second and / or third verification codes are avoided, thereby improving the reliability of verification code verification.

[0169] In one embodiment, the verification code processing method further includes:

[0170] Upon receiving the encrypted device public key from the cloud server, a key is generated.

[0171] The device's public key is obtained by decrypting the encrypted device's public key using the encryption machine's private key.

[0172] The key is encrypted using both the device's public key and the encryption machine's public key to obtain the encrypted key.

[0173] Send the encryption key to the cloud server.

[0174] In this embodiment, upon receiving the encrypted device public key from the cloud server, the key needs to be imported into a trusted device to generate a new key. To prevent key leakage during transmission, the key needs to be encrypted using the device public key, and then decrypted using the encryption machine's private key to obtain the device public key. The key is then encrypted using both the device public key and the encryption machine's public key to obtain an encrypted key, which is then sent to the cloud server. By generating and sending the encrypted key to the cloud server, the key can be imported into a trusted device and used for CAPTCHA verification, thereby improving the reliability of CAPTCHA processing.

[0175] For example, upon receiving an encrypted password from the cloud server, the encrypted password is decrypted using the encryption machine's private key to obtain the new password. The password and the encryption key are then encrypted together using the encryption machine's public key. Finally, the encrypted password and the encrypted key are sent to the cloud server.

[0176] This disclosure provides a verification code processing method applied to an encryption machine, such as... Figure 6 As shown, the method includes:

[0177] S1300: Upon receiving the encrypted device public key sent by the cloud server, generate a symmetric key.

[0178] S1310. Decrypt the encrypted device public key using the encryption machine's private key to obtain the device public key.

[0179] S1320. Encrypt the symmetric key using the device public key and the encryption machine public key respectively to obtain the encrypted symmetric key.

[0180] S1330, Send the encrypted symmetric key to the cloud server.

[0181] S1340. Upon receiving the encrypted second verification code, the encrypted third verification code, and the encrypted symmetric key sent by the cloud server, decrypt the encrypted third verification code and the encrypted symmetric key using the encryption machine's private key to obtain the third verification code and the symmetric key.

[0182] S1350. Decrypt the encrypted second verification code using the symmetric key to obtain the second verification code.

[0183] S1360. Determine the verification result based on the second and third verification codes.

[0184] S1370. Send the verification result to the cloud server.

[0185] In this embodiment, upon receiving the encrypted device public key from the cloud server, the symmetric key needs to be imported into the trusted device to generate a symmetric key. Since the trusted device can decrypt the symmetric key encrypted with the device public key using its private key, and then decrypt the encrypted device public key using the encryption machine's private key, the device public key is obtained. The symmetric key is then encrypted using both the device public key and the encryption machine's public key to obtain an encrypted symmetric key, which is then sent to the cloud server. Upon receiving the encrypted second verification code, the encrypted third verification code, and the encrypted symmetric key from the cloud server, the encrypted third verification code and the encrypted symmetric key are decrypted using the encryption machine's private key to obtain the third verification code and the symmetric key. The encrypted second verification code is then decrypted using the symmetric key to obtain the second verification code, and the second and third verification codes are compared to determine the verification result. The verification result is then sent to the cloud server for further processing. Verifying the verification code using the encryption machine to obtain the verification result prevents attacks on the cloud server from rendering the verification code ineffective, thereby improving the security of the verification code processing.

[0186] This disclosure provides a verification code processing method, such as... Figure 7 As shown, the method includes:

[0187] S1400: When the user enables advanced data protection, the trusted device generates a device public key and a device private key.

[0188] S1410. The trusted device encrypts the device public key with the encryption machine public key to obtain the encrypted device public key.

[0189] S1420, The trusted device sends the encrypted device public key to the cloud server.

[0190] S1430, the cloud server sends the encrypted device public key to the encryption machine.

[0191] S1440, The encryption machine generates a symmetric key.

[0192] S1450, the encryption machine decrypts the encrypted device public key using its private key to obtain the device public key.

[0193] S1460, the encryption machine encrypts the symmetric key using the device public key and the encryption machine public key respectively, to obtain the encrypted symmetric key.

[0194] S1470, the encryption machine sends the encrypted symmetric key to the cloud server.

[0195] S1480, the cloud server sends the symmetric key encrypted with the device's public key to the trusted device.

[0196] S1490, the symmetric key encrypted with the public key of the encryption machine is stored on the cloud server.

[0197] S1500: The trusted device decrypts the encrypted symmetric key using its private key to obtain the symmetric key.

[0198] In this embodiment, when the user enables advanced data protection, advanced protection is required for the trusted device's data. The trusted device generates a device public key and a device private key. The trusted device encrypts the device public key using the encryption machine's public key to obtain an encrypted device public key, and sends the encrypted device public key to the encryption machine via a cloud server. The encryption machine generates a symmetric key, which is then imported into the trusted device to enable the trusted device to encrypt and decrypt verification codes. The encryption machine decrypts the encrypted device public key using its private key to obtain the device public key, and then encrypts the symmetric key using both the device public key and the encryption machine's public key to obtain an encrypted symmetric key. The encryption machine sends the symmetric key encrypted with the device public key to the trusted device via the cloud server and stores the symmetric key encrypted with the encryption machine's public key on the cloud server. The trusted device decrypts the encrypted symmetric key using its private key to obtain the symmetric key, which is then imported. By importing the symmetric key generated by the encryption machine into the trusted device through an asymmetric key exchange protocol, the symmetric key is prevented from being leaked during transmission, thereby improving the security of verification code processing.

[0199] This disclosure provides a verification code processing method, such as... Figure 8 As shown, the method includes:

[0200] S1600: In response to the user's operation of obtaining a verification code, the device is requested to send the verification code request to the cloud server.

[0201] S1610, the cloud server sends the verification code request to each trusted device.

[0202] S1620, The trusted device generates a random first verification code.

[0203] S1630, The trusted device encrypts the first verification code using the stored symmetric key to obtain the encrypted first verification code.

[0204] S1640, the trusted device sends the encrypted first verification code to the cloud server.

[0205] S1650: The cloud server determines whether an encrypted second verification code exists in the cache. If yes, proceed to step S1670. If no, proceed to step S1660.

[0206] S1660, the cloud server determines the encrypted first verification code as the encrypted second verification code and stores it in the cache.

[0207] S1670, the cloud server sends the encrypted second verification code from the cache to the trusted device.

[0208] S1680. The trusted device decrypts the encrypted second verification code using the stored symmetric key to obtain the second verification code.

[0209] S1690, Trusted device displays second verification code.

[0210] In this embodiment, upon receiving a verification code request from a requesting device, the cloud server sends the verification code request to each trusted device, causing each trusted device to generate a random first verification code. The trusted device encrypts the first verification code using a stored symmetric key, obtaining an encrypted first verification code, and sends the encrypted first verification code to the cloud server. The cloud server determines whether an encrypted second verification code exists in its cache, thus determining whether the encrypted first verification code is the first one. If so, the encrypted first verification code is not the first one, and the cloud server sends the encrypted second verification code from its cache to the trusted device. If not, the encrypted first verification code is the first one, and the encrypted first verification code is identified as the encrypted second verification code and stored in the cache. The trusted device decrypts the encrypted second verification code using its stored symmetric key, obtaining the second verification code, and displays the second verification code. By generating an encrypted first verification code on a trusted device and sending the second verification code to the user, the security of verification code processing is improved, preventing the cloud server from being attacked and the generated verification code from being leaked.

[0211] This disclosure provides a verification code processing method, such as... Figure 9 As shown, the method includes:

[0212] S1700: In response to the user's input of a third verification code, the device is requested to encrypt the third verification code using the encryption machine's public key to obtain the encrypted third verification code.

[0213] S1710, Request the device to send the encrypted third verification code to the cloud server.

[0214] S1720: The cloud server sends the encrypted second verification code, the encrypted third verification code, and the encrypted symmetric key to the encryption machine.

[0215] S1730. The encryption machine uses its private key to decrypt the encrypted third verification code and the encrypted symmetric key to obtain the third verification code and the symmetric key.

[0216] S1740. The encryption machine decrypts the encrypted second verification code using a symmetric key to obtain the second verification code.

[0217] S1750: The encryption machine determines the verification result based on the second and third verification codes.

[0218] S1760, the encryption machine sends the verification result to the cloud server.

[0219] S1770, the cloud server sends the verification result to the requesting device.

[0220] In this embodiment, upon receiving an encrypted third verification code from the requesting device, the cloud server sends an encrypted second verification code, an encrypted third verification code, and an encrypted symmetric key to the encryption machine. The encryption machine decrypts these codes to obtain the second and third verification codes. Based on the second and third verification codes, the encryption machine determines the verification result and sends it to the cloud server. The cloud server then sends the verification result to the requesting device, informing the device whether the verification code was successfully verified. By using an encryption machine to verify the verification code, the security of verification code processing is improved, preventing attacks on the cloud server that could render the verification code unusable.

[0221] In one exemplary embodiment, a CAPTCHA processing apparatus is provided for implementing the method described above. (Reference) Figure 10 As shown, the verification code processing device may include a first generation module 100, a first sending module 110, a first decryption module 120, and an issuing module 130. During the implementation of the above method,

[0222] The first generation module 100 is configured to generate an encrypted first verification code upon receiving a verification code request from a cloud server.

[0223] The first sending module 110 is configured to send an encrypted first verification code to a cloud server, so that the cloud server can determine an encrypted second verification code.

[0224] The first decryption module 120 is configured to decrypt the encrypted second verification code upon receiving it from the cloud server, thereby obtaining the second verification code.

[0225] The issuing module 130 is configured to issue a second verification code to the user.

[0226] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a first generation module 100 is configured to:

[0227] Generate a random first verification code.

[0228] The first verification code is encrypted using the stored key to obtain the encrypted first verification code.

[0229] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a first decryption module 120 is configured to:

[0230] The stored key is used to decrypt the encrypted second verification code to obtain the second verification code.

[0231] In one exemplary embodiment, a verification code processing apparatus is provided, wherein the issuing module 130 is configured to:

[0232] Display the second verification code.

[0233] In one exemplary embodiment, a verification code processing apparatus is provided, wherein the issuing module 130 is configured to:

[0234] Play the second verification code.

[0235] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a first generation module 100 is configured to:

[0236] When the user enables the preset function, a device public key and a device private key are generated.

[0237] In one exemplary embodiment, a verification code processing apparatus is provided, the apparatus further comprising:

[0238] The first encryption module is configured to encrypt the device public key with the encryption machine's public key to obtain the encrypted device public key.

[0239] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a first sending module 110 is configured to:

[0240] Send the encrypted device public key to the cloud server.

[0241] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a first decryption module 120 is configured to:

[0242] Upon receiving the encrypted key from the cloud server, the device decrypts the encrypted key using its private key to obtain the new key.

[0243] In one exemplary embodiment, a CAPTCHA processing apparatus is provided for implementing the method described above. (Reference) Figure 11 As shown, the verification code processing device may include a second sending module 200, a first determining module 210, and a third sending module 220. During the implementation of the above method,

[0244] The second sending module 200 is configured to send a verification code request to a trusted device upon receiving a verification code request from a requesting device.

[0245] The first determining module 210 is configured to determine an encrypted second verification code based on the encrypted first verification code when receiving an encrypted first verification code sent by a trusted device.

[0246] The third sending module 220 is configured to send an encrypted second verification code to a trusted device.

[0247] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a second sending module 200 is configured to:

[0248] Send the verification code request to each trusted device.

[0249] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a first determining module 210 is configured to:

[0250] If multiple trusted devices send encrypted first verification codes, the encrypted first verification code sent by the first trusted device among the multiple trusted devices is determined as the encrypted second verification code.

[0251] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a second sending module 200 is configured to:

[0252] Upon receiving the encrypted device public key from a trusted device, the encrypted device public key is sent to the encryption machine.

[0253] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a third sending module 220 is configured to:

[0254] Upon receiving the encryption key from the encryption machine, the encryption key is sent to the trusted device.

[0255] In one exemplary embodiment, a verification code processing apparatus is provided, the apparatus further comprising:

[0256] The storage module is configured to store encryption keys.

[0257] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a third sending module 220 is configured to:

[0258] Send the key encrypted with the device's public key to the trusted device.

[0259] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a storage module is configured to:

[0260] Store the key encrypted with the public key of the encryption machine.

[0261] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a second sending module 200 is configured to:

[0262] Upon receiving the encrypted third verification code sent by the requesting device, the encrypted second verification code, the encrypted third verification code, and the encrypted key are sent to the encryption machine.

[0263] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a third sending module 220 is configured to:

[0264] Upon receiving the verification result from the encryption machine, the verification result is sent to the requesting device.

[0265] In one exemplary embodiment, a CAPTCHA processing apparatus is provided for implementing the method described above. (Reference) Figure 12 As shown, the verification code processing device may include a second decryption module 300, a second determination module 310, and a fourth sending module 320. During the implementation of the above method,

[0266] The second decryption module 300 is configured to, upon receiving an encrypted second verification code, an encrypted third verification code, and an encrypted key sent by a cloud server, decrypt the encrypted second verification code and the encrypted third verification code using the encryption machine's private key and the encrypted key, to obtain the second verification code and the third verification code.

[0267] The second determining module 310 is configured to determine the verification result based on the second verification code and the third verification code.

[0268] The fourth sending module 320 is configured to send the verification result to the cloud server.

[0269] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a second decryption module 300 is configured to:

[0270] The encrypted third verification code and the encrypted key are decrypted using the encryption machine's private key to obtain the third verification code and the key.

[0271] The second verification code is decrypted using the key to obtain the second verification code.

[0272] In one exemplary embodiment, a verification code processing apparatus is provided, the apparatus further comprising:

[0273] The second generation module is configured to generate a key upon receiving an encrypted device public key sent by a cloud server.

[0274] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a second decryption module 300 is configured to:

[0275] The device's public key is obtained by decrypting the encrypted device's public key using the encryption machine's private key.

[0276] In one exemplary embodiment, a verification code processing apparatus is provided, the apparatus further comprising:

[0277] The second encryption module is configured to encrypt the key using the device public key and the encryption machine public key respectively, to obtain the encrypted key.

[0278] In one exemplary embodiment, a verification code processing apparatus is provided, wherein a fourth sending module 320 is configured to:

[0279] Send the encryption key to the cloud server.

[0280] In one exemplary embodiment, a trusted device is provided, comprising a processor and a memory for storing processor-executable instructions. The processor is configured to execute the CAPTCHA processing method described above.

[0281] In one exemplary embodiment, a cloud server is provided, including a processor and a memory for storing processor-executable instructions. The processor is configured to execute the CAPTCHA processing method described above.

[0282] In one exemplary embodiment, an encryption machine is provided, including a processor and a memory for storing processor-executable instructions. The processor is configured to execute the CAPTCHA processing method described above.

[0283] In one exemplary embodiment, a verification code processing system is provided, comprising a request device, a cloud server, and a trusted device. The request device is configured to:

[0284] In response to the user's request to obtain a verification code, a verification code request is sent to the cloud server.

[0285] The cloud server is configured for:

[0286] Upon receiving a verification code request from the requesting device, the verification code request will be sent to the trusted device.

[0287] Upon receiving an encrypted first verification code from a trusted device, an encrypted second verification code is determined based on the encrypted first verification code.

[0288] Send the encrypted second verification code to the trusted device.

[0289] Trusted devices are configured to be used for:

[0290] Upon receiving a verification code request from the cloud server, an encrypted first verification code is generated.

[0291] Send the encrypted first verification code to the cloud server.

[0292] Upon receiving the encrypted second verification code sent by the cloud server, the encrypted second verification code is decrypted to obtain the second verification code.

[0293] Send a second verification code to the user.

[0294] In one exemplary embodiment, the trusted device is configured to:

[0295] Generate a random first verification code.

[0296] The first verification code is encrypted using the stored key to obtain the encrypted first verification code.

[0297] In one exemplary embodiment, the trusted device is configured to:

[0298] The stored key is used to decrypt the encrypted second verification code to obtain the second verification code.

[0299] In one exemplary embodiment, the trusted device is configured to:

[0300] Display the second verification code.

[0301] In one exemplary embodiment, the trusted device is configured to:

[0302] Play the second verification code.

[0303] In one exemplary embodiment, the trusted device is configured to:

[0304] When the user enables the preset function, a device public key and a device private key are generated.

[0305] The device public key is encrypted using the encryption machine's public key to obtain the encrypted device public key.

[0306] Send the encrypted device public key to the cloud server.

[0307] Upon receiving the encrypted key from the cloud server, the device decrypts the encrypted key using its private key to obtain the new key.

[0308] In one exemplary embodiment, the cloud server is configured to:

[0309] Send the verification code request to each trusted device.

[0310] In one exemplary embodiment, the cloud server is configured to:

[0311] If multiple trusted devices send encrypted first verification codes, the encrypted first verification code sent by the first trusted device among the multiple trusted devices is determined as the encrypted second verification code.

[0312] In one exemplary embodiment, the cloud server is configured to:

[0313] Upon receiving the encrypted device public key from a trusted device, the encrypted device public key is sent to the encryption machine.

[0314] Upon receiving the encryption key from the encryption machine, the encryption key is sent to the trusted device.

[0315] Store the encrypted key.

[0316] In one exemplary embodiment, the cloud server is configured to:

[0317] Send the key encrypted with the device's public key to the trusted device.

[0318] In one exemplary embodiment, the cloud server is configured to:

[0319] Store the key encrypted with the public key of the encryption machine.

[0320] In one exemplary embodiment, the verification code processing system further includes an encryption machine. The requesting device is configured to:

[0321] In response to the user's input of a third verification code, the third verification code is encrypted using the encryption machine's public key to obtain an encrypted third verification code.

[0322] Send the encrypted third-party verification code to the cloud server.

[0323] The cloud server is configured for:

[0324] Upon receiving the encrypted third verification code sent by the requesting device, the encrypted second verification code, the encrypted third verification code, and the encrypted key are sent to the encryption machine.

[0325] Upon receiving the verification result from the encryption machine, the verification result is sent to the requesting device.

[0326] The encryption machine is configured to be used for:

[0327] Upon receiving the encrypted second verification code, the encrypted third verification code, and the encrypted key from the cloud server, the encrypted second verification code and the encrypted third verification code are decrypted using the encryption machine's private key and the encrypted key to obtain the second verification code and the third verification code.

[0328] The verification result is determined based on the second and third verification codes.

[0329] The verification results are sent to the cloud server.

[0330] In one exemplary embodiment, the encryption machine is configured to:

[0331] The encrypted third verification code and the encrypted key are decrypted using the encryption machine's private key to obtain the third verification code and the key.

[0332] The second verification code is decrypted using the key to obtain the second verification code.

[0333] In one exemplary embodiment, the encryption machine is configured to:

[0334] Upon receiving the encrypted device public key from the cloud server, a key is generated.

[0335] The device's public key is obtained by decrypting the encrypted device's public key using the encryption machine's private key.

[0336] The key is encrypted using both the device's public key and the encryption machine's public key to obtain the encrypted key.

[0337] Send the encryption key to the cloud server.

[0338] In one exemplary embodiment, an electronic device is provided, such as a mobile phone, a laptop computer, a tablet computer, and a wearable device. The electronic device can serve as a requesting device and a trusted device.

[0339] refer to Figure 13 As shown, the electronic device 400 may include one or more of the following components: processing component 402, memory 404, power supply component 406, multimedia component 408, audio component 410, input / output (I / O) interface 412, sensor component 414, and communication component 416.

[0340] Processing component 402 typically controls the overall operation of electronic device 400, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 402 may include one or more processors 420 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 402 may include one or more modules to facilitate interaction between processing component 402 and other components. For example, processing component 402 may include a multimedia module to facilitate interaction between multimedia component 408 and processing component 402.

[0341] Memory 404 is configured to store various types of data to support the operation of electronic device 400. Examples of this data include instructions for any application or method operating on electronic device 400, contact data, phonebook data, messages, pictures, videos, etc. Memory 404 can be implemented by any type of volatile or non-volatile storage terminal or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0342] Power supply component 406 provides power to various components of electronic device 400. Power supply component 406 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 400.

[0343] Multimedia component 408 includes a screen that provides an output interface between electronic device 400 and user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of touch or swipe actions but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 408 includes a front-facing camera module and / or a rear-facing camera module. When electronic device 400 is in an operating mode, such as shooting mode or video mode, the front-facing camera module and / or rear-facing camera module may receive external multimedia data. Each front-facing camera module and rear-facing camera module may be a fixed optical lens system or have focal length and optical zoom capabilities.

[0344] Audio component 410 is configured to output and / or input audio signals. For example, audio component 410 includes a microphone (MIC) configured to receive external audio signals when electronic device 400 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 404 or transmitted via communication component 416. In some embodiments, audio component 410 also includes a speaker for outputting audio signals.

[0345] I / O interface 412 provides an interface between processing component 402 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.

[0346] Sensor assembly 414 includes one or more sensors for providing state assessments of various aspects of electronic device 400. For example, sensor assembly 414 may detect the on / off state of electronic device 400, the relative positioning of components such as the display and keypad of electronic device 400, changes in position of electronic device 400 or a component of electronic device 400, the presence or absence of user contact with electronic device 400, orientation or acceleration / deceleration of electronic device 400, and temperature changes of electronic device 400. Sensor assembly 414 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 414 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 414 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.

[0347] Communication component 416 is configured to facilitate wired or wireless communication between electronic device 400 and other terminals. Electronic device 400 can access wireless networks based on communication standards, such as WiFi, 2G, 3G, 4G, 5G, or combinations thereof. In one exemplary embodiment, communication component 416 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 416 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0348] In an exemplary embodiment, the electronic device 400 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing terminals (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods shown in the above embodiments or combinations thereof.

[0349] In one exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 404 including instructions, which can be executed by a processor 420 of an electronic device 400 to perform the methods shown in the embodiments or combinations thereof. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage terminal, etc. When the instructions in the storage medium are executed by the processor of the terminal, the terminal is able to perform the methods shown in the embodiments or combinations thereof.

[0350] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.

[0351] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this disclosure. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0352] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0353] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0354] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A method for processing verification codes, characterized in that, The verification code processing method includes: Upon receiving a verification code request from the cloud server, generate an encrypted first verification code; The encrypted first verification code is sent to the cloud server, so that the cloud server can determine the encrypted second verification code; Upon receiving the encrypted second verification code sent by the cloud server, the encrypted second verification code is decrypted to obtain the second verification code; The second verification code is sent to the user.

2. The verification code processing method according to claim 1, characterized in that, The generation of the encrypted first verification code includes: Generate a random first verification code; The first verification code is encrypted using the stored key to obtain the encrypted first verification code.

3. The verification code processing method according to claim 1, characterized in that, The process of decrypting the encrypted second verification code to obtain the second verification code includes: The encrypted second verification code is decrypted using the stored key to obtain the second verification code.

4. The verification code processing method according to claim 2 or 3, characterized in that, Before generating the encrypted first verification code, the verification code processing method further includes: When the user enables the preset function, a device public key and a device private key are generated; The device public key is encrypted using the encryption machine's public key to obtain the encrypted device public key; Send the encrypted device public key to the cloud server; Upon receiving the encrypted key sent by the cloud server, the encrypted key is decrypted using the device's private key to obtain the key.

5. The verification code processing method according to any one of claims 1 to 3, characterized in that, Sending the second verification code to the user includes: Display the second verification code; and / or, Play the second verification code.

6. A method for processing verification codes, characterized in that, The verification code processing method includes: Upon receiving a verification code request from the requesting device, the verification code request is sent to the trusted device; Upon receiving the encrypted first verification code sent by the trusted device, an encrypted second verification code is determined based on the encrypted first verification code; The encrypted second verification code is sent to the trusted device.

7. The verification code processing method according to claim 6, characterized in that, The number of trusted devices is multiple; sending the verification code request to the trusted devices includes: The verification code request is sent to each of the trusted devices.

8. The verification code processing method according to claim 6, characterized in that, The number of trusted devices is multiple; the step of determining an encrypted second verification code based on the encrypted first verification code after receiving an encrypted first verification code from the trusted device includes: Upon receiving an encrypted first verification code sent by the plurality of trusted devices, the encrypted first verification code sent by the first trusted device among the plurality of trusted devices is determined as the encrypted second verification code.

9. The verification code processing method according to claim 6, characterized in that, The verification code processing method further includes: Upon receiving the encrypted device public key from the trusted device, the encrypted device public key is sent to the encryption machine; Upon receiving the encryption key sent by the encryption machine, the encrypted key is sent to the trusted device; Store the encrypted key.

10. The verification code processing method according to claim 9, characterized in that, Sending the encrypted key to the trusted device includes: The key, encrypted with the device's public key, is sent to the trusted device.

11. The verification code processing method according to claim 9, characterized in that, The key for storing encryption includes: The key is encrypted with the public key of the storage encryption machine.

12. The verification code processing method according to any one of claims 6 to 11, characterized in that, After sending the encrypted second verification code to the trusted device, the verification code processing method further includes: Upon receiving the encrypted third verification code sent by the requesting device, the encrypted second verification code, the encrypted third verification code, and the encrypted key are sent to the encryption machine; Upon receiving the verification result from the encryption machine, the verification result is sent to the requesting device.

13. A verification code processing method, characterized in that, The verification code processing method includes: Upon receiving the encrypted second verification code, the encrypted third verification code, and the encrypted key sent by the cloud server, the encrypted second verification code and the encrypted third verification code are decrypted using the encryption machine's private key and the encrypted key to obtain the second verification code and the third verification code. The verification result is determined based on the second verification code and the third verification code; The verification result is sent to the cloud server.

14. The verification code processing method according to claim 13, characterized in that, The step of decrypting the encrypted second verification code and the encrypted third verification code using the encryption machine's private key and the encryption key to obtain the second verification code and the third verification code includes: The encrypted third verification code and the encrypted key are decrypted using the encryption machine's private key to obtain the third verification code and the key. The encrypted second verification code is decrypted using the key to obtain the second verification code.

15. The verification code processing method according to claim 13 or 14, characterized in that, The verification code processing method further includes: Upon receiving the encrypted device public key sent by the cloud server, a key is generated; The encrypted device public key is decrypted using the encryption machine's private key to obtain the device public key; The key is encrypted using the device public key and the encryption machine public key respectively to obtain the encrypted key; The encrypted key is sent to the cloud server.

16. A verification code processing device, characterized in that, The verification code processing device includes: A first generation module is configured to generate an encrypted first verification code upon receiving a verification code request from a cloud server. A first sending module is configured to send an encrypted first verification code to the cloud server, so that the cloud server can determine an encrypted second verification code. A first decryption module is configured to decrypt the encrypted second verification code upon receiving the encrypted second verification code sent by the cloud server, thereby obtaining the second verification code. The issuing module is configured to issue the second verification code to the user.

17. The verification code processing device according to claim 16, characterized in that, The first generation module is configured to: Generate a random first verification code; The first verification code is encrypted using the stored key to obtain the encrypted first verification code.

18. The verification code processing device according to claim 16, characterized in that, The first decryption module is configured to: The encrypted second verification code is decrypted using the stored key to obtain the second verification code.

19. A verification code processing device, characterized in that, The verification code processing device includes: The second sending module is configured to send the verification code request to a trusted device upon receiving a verification code request from a requesting device. A first determining module is configured to determine an encrypted second verification code based on the encrypted first verification code upon receiving an encrypted first verification code sent by the trusted device. A third sending module is configured to send the encrypted second verification code to the trusted device.

20. The verification code processing device according to claim 19, characterized in that, The number of trusted devices is multiple; the second sending module is configured to: The verification code request is sent to each of the trusted devices.

21. The verification code processing device according to claim 19, characterized in that, The number of trusted devices is multiple; the first determining module is configured to: Upon receiving an encrypted first verification code sent by the plurality of trusted devices, the encrypted first verification code sent by the first trusted device among the plurality of trusted devices is determined as the encrypted second verification code.

22. The verification code processing apparatus according to any one of claims 19 to 21, characterized in that, The second sending module is configured to: Upon receiving the encrypted third verification code sent by the requesting device, the encrypted second verification code, the encrypted third verification code, and the encrypted key are sent to the encryption machine; The third sending module is configured to: Upon receiving the verification result from the encryption machine, the verification result is sent to the requesting device.

23. A verification code processing device, characterized in that, The verification code processing device includes: The second decryption module is configured to, upon receiving an encrypted second verification code, an encrypted third verification code, and an encrypted key sent by a cloud server, decrypt the encrypted second verification code and the encrypted third verification code using the encryption machine's private key and the encrypted key, to obtain the second verification code and the third verification code. The second determining module is configured to determine the verification result based on the second verification code and the third verification code; The fourth sending module is configured to send the verification result to the cloud server.

24. The verification code processing device according to claim 23, characterized in that, The second decryption module is configured to: The encrypted third verification code and the encrypted key are decrypted using the encryption machine's private key to obtain the third verification code and the key. The encrypted second verification code is decrypted using the key to obtain the second verification code.

25. A trusted device, characterized in that, The trusted device includes: processor; Memory used to store the processor's executable instructions; The processor is configured to perform the CAPTCHA processing method as described in any one of claims 1 to 5.

26. A cloud server, characterized in that, The cloud server includes: processor; Memory used to store the processor's executable instructions; The processor is configured to perform the CAPTCHA processing method as described in any one of claims 6 to 12.

27. An encryption machine, characterized in that, The encryption machine includes: processor; Memory used to store the processor's executable instructions; The processor is configured to perform the CAPTCHA processing method as described in any one of claims 13 to 15.

28. A verification code processing system, characterized in that, The verification code processing system includes a request device, a cloud server, and a trusted device; the request device is configured to: In response to the user's request to obtain a verification code, a verification code request is sent to the cloud server; The cloud server is configured to be used for: Upon receiving the verification code request from the requesting device, the verification code request is sent to the trusted device; Upon receiving the encrypted first verification code sent by the trusted device, an encrypted second verification code is determined based on the encrypted first verification code; Send the encrypted second verification code to the trusted device; The trusted device is configured to: Upon receiving the verification code request sent by the cloud server, an encrypted first verification code is generated; The encrypted first verification code is sent to the cloud server; Upon receiving the encrypted second verification code sent by the cloud server, the encrypted second verification code is decrypted to obtain the second verification code; The second verification code is sent to the user.

29. The verification code processing system according to claim 28, characterized in that, The verification code processing system further includes an encryption machine; the requesting device is configured to: In response to the user's input of a third verification code, the third verification code is encrypted using the public key of the encryption machine to obtain the encrypted third verification code; The encrypted third verification code is sent to the cloud server; The cloud server is configured to be used for: Upon receiving the encrypted third verification code sent by the requesting device, the encrypted second verification code, the encrypted third verification code, and the encrypted key are sent to the encryption machine. Upon receiving the verification result from the encryption machine, the verification result is sent to the requesting device; The encryption machine is configured to: Upon receiving the encrypted second verification code, the encrypted third verification code, and the encrypted key sent by the cloud server, the encrypted second verification code and the encrypted third verification code are decrypted using the encryption machine private key and the encrypted key to obtain the second verification code and the third verification code. The verification result is determined based on the second verification code and the third verification code; The verification result is sent to the cloud server.

30. A non-transitory computer-readable storage medium, characterized in that, When the instructions in the storage medium are executed by the processor of the terminal, the terminal is able to perform the verification code processing method as described in any one of claims 1 to 15.