Digital wallet generation method and apparatus, device, key card, medium, and product
Digital wallets are generated by communicating with key cards through electronic devices. By combining software and hardware, private keys are stored in independent hardware devices, which solves the problem of low security in digital wallets and enables secure digital wallet generation and recovery.
Patent Information
- Application Number
- PCT/CN2025/102796
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-26
- Filing Date
- 2025-06-23
- Publication Date
- 2026-01-02
AI Technical Summary
Existing digital wallets have low security, especially soft wallets, which have security vulnerabilities in key generation, user transactions, and cryptographic signing processes when connected to the internet.
By establishing communication between the electronic device and the key card, a digital wallet is generated. The public key of the digital wallet is stored in the electronic device, while the private key is stored in a separate hardware device, the security is improved by combining software and hardware.
It improves the security of digital wallets, prevents key theft and transaction losses, and enables secure generation, backup and recovery of digital wallets.
Smart Images

Figure CN2025102796_02012026_PF_FP_ABST
Abstract
Description
Digital wallet generation method, device, equipment, key card, medium and product TECHNICAL FIELD
[0001] The application belongs to the technical field of communication, and particularly relates to a digital wallet generation method, device, equipment, key card, medium and product. BACKGROUND
[0002] At present, various digital wallets exist on the market, and the most commonly used one is a soft wallet, also known as an online wallet. Such a wallet exists in the form of an application (App) and is used under the condition of networking, and the generation of a key, user transaction, encryption, signature and other processes are all completed by the App, and the security is low. SUMMARY
[0003] The purpose of the embodiments of the application is to provide a digital wallet generation method, device, equipment, key card, medium and product, which can improve the security of the digital wallet.
[0004] To solve the above technical problems, the application is implemented as follows:
[0005] In a first aspect, the embodiments of the application provide a digital wallet generation method applied to an electronic device, and the method comprises the following steps.
[0006] In response to the received wallet generation request, first prompt information is output to prompt the electronic device to establish communication with the key card;
[0007] In the case where it is determined that the electronic device and the key card successfully communicate, a wallet generation instruction is sent to the key card to make the key card generate a digital wallet according to the wallet generation instruction;
[0008] The public key of the digital wallet and the corresponding mnemonic word sent by the key card are received.
[0009] In a second aspect, the embodiments of the application provide a digital wallet generation method applied to a key card, and the method comprises the following steps.
[0010] In the case where the communication with the electronic device is successful, a wallet generation instruction sent by an application (App) in the electronic device is received;
[0011] In response to the wallet generation instruction, a random number is generated;
[0012] According to the random number, a mnemonic word is determined from a mnemonic word dictionary stored in the key card;
[0013] According to the mnemonic word, a digital wallet is generated.
[0014] In a third aspect, an embodiment of the present application provides a digital wallet generation apparatus applied to an electronic device, the apparatus comprising:
[0015] an output module configured to output first prompt information to prompt the electronic device to establish communication with the key card in response to the received wallet generation request;
[0016] a sending module configured to send a wallet generation instruction to the key card to make the key card generate a digital wallet according to the wallet generation instruction in a case where the electronic device successfully communicates with the key card;
[0017] a receiving module configured to receive a public key of the digital wallet and a corresponding mnemonic word sent by the key card.
[0018] In a fourth aspect, an embodiment of the present application provides a digital wallet generation apparatus applied to a key card, the apparatus comprising a receiving module, a generation module and a determination module;
[0019] the receiving module is configured to receive a wallet generation instruction sent by an application program App in the electronic device in a case where the electronic device successfully communicates with the key card;
[0020] the generation module is configured to generate a random number in response to the wallet generation instruction;
[0021] the determination module is configured to determine a mnemonic word from a mnemonic word dictionary stored in the key card according to the random number;
[0022] the generation module is further configured to generate a digital wallet according to the mnemonic word.
[0023] In a fifth aspect, an embodiment of the present application provides an electronic device, the electronic device comprising a processor and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the method in the first aspect.
[0024] In a sixth aspect, an embodiment of the present application provides a key card, the key card comprising a secure element SE, a processor and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the method in the first aspect.
[0025] In a seventh aspect, an embodiment of the present application provides a readable storage medium, the readable storage medium storing a program or instructions; the program or instructions are executed by a processor to implement the method in the first aspect or the method in the second aspect.
[0026] In an eighth aspect, an embodiment of the present application provides a computer program product, the computer program product comprising a computer program; the computer program is executed by a processor to implement the method in the first aspect or the method in the second aspect.
[0027] In response to the received wallet generation request, the embodiment of the present application outputs first prompt information to prompt the electronic device to establish communication with the key card; in the case where it is determined that the electronic device and the key card successfully communicate, the wallet generation instruction is sent to the key card to make the key card generate the digital wallet according to the wallet generation instruction; and the public key of the digital wallet and the corresponding mnemonic are received from the key card. That is, after the electronic device of the embodiment of the present application receives the wallet generation request, the key card and the electronic device can be first caused to establish communication, and then the wallet generation instruction is sent to the key card after the two successfully communicate, the digital wallet is generated by the key card, and the public key of the digital wallet is stored in the electronic device. By means of the combination of software and hardware, the private key of the digital wallet is stored in the independent hardware device key card, and the security of the digital wallet is ensured. BRIEF DESCRIPTION OF DRAWINGS
[0028] FIG. 1 is a schematic diagram of a scene of a method for generating a digital wallet according to an embodiment of the present application;
[0029] FIG. 2 is a flowchart of a method for generating a digital wallet according to an embodiment of the present application;
[0030] FIG. 3 is a flowchart of another method for generating a digital wallet according to an embodiment of the present application;
[0031] FIG. 4 is a structural diagram of a digital wallet generation apparatus according to an embodiment of the present application;
[0032] FIG. 5 is a structural diagram of another digital wallet generation apparatus according to an embodiment of the present application;
[0033] FIG. 6 is a structural diagram of an electronic device according to an embodiment of the present application;
[0034] FIG. 7 is a structural diagram of a key card according to an embodiment of the present application. DETAILED DESCRIPTION
[0035] The features and exemplary embodiments of various aspects of the present application will be described in detail below, in order to make the purposes, technical solutions and advantages of the present application more clear and apparent, the present application will be further described in detail below in combination with the drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, but not to limit the present application. The present application can be implemented without some of these specific details by those skilled in the art. The following description of the embodiments is only to provide a better understanding of the present application by showing examples of the present application.
[0036] It is to be noted that, in the present document, relational terms such as first and second and the like can be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises", "comprising", or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a" does not, without more constraints, exclude the presence of additional identical elements in the process, method, article, or apparatus that comprises the element.
[0037] The method for generating a digital wallet provided by the embodiments of the present application can effectively solve the problem of low security of a software wallet and the problem of high cost of a hardware wallet.
[0038] FIG. 1 is a schematic diagram of a scenario of the method for generating a digital wallet provided by the embodiments of the present application. The scenario can include an electronic device 100, a key card 101, and a mnemonic card 102. The electronic device 100 is installed with an App corresponding to a digital wallet.
[0039] The key card 101 and the mnemonic card 102 are in communication connection with the electronic device 100. The key card 101 and the mnemonic card 102 can be arranged in the electronic device 100 or can be independent of the electronic device 100, that is, the key card 101 and the mnemonic card 102 can be independent structures. For example, the key card 101 and the mnemonic card 102 can be smart card type cards, which are simple in structure and low in cost.
[0040] For example, the key card 101 can include a secure element (SE), a memory, a coil, a signature application, and the like. The coil is connected with the memory and is used for communication and power supply. The SE is mainly used for storing a private key, a signature, and the like.
[0041] The mnemonic card 102 is used for storing a mnemonic word for generating a digital wallet. According to the mnemonic word in the mnemonic card 102, the digital wallet can be recovered. The mnemonic card 102 only has a storage function and does not have a signature function.
[0042] For example, the electronic device 100, the key card 101, and the mnemonic card 102 all support near field communication (NFC). For example, in actual application, the electronic device 100 can perform near field communication with the key card 101 and the mnemonic card 102, respectively.
[0043] The application will be described below in combination with the above scenarios and specific embodiments.
[0044] FIG. 2 is a flowchart of a method for generating a digital wallet according to an embodiment of the application. The method can be applied to the electronic device shown in FIG. 1. As shown in FIG. 2, the method for generating a digital wallet can include the following steps:
[0045] S210, in response to the received wallet generation request, outputting first prompt information to prompt the electronic device to establish communication with the key card.
[0046] S220, in the case where it is determined that the electronic device and the key card successfully communicate, sending a wallet generation instruction to the key card to make the key card generate a digital wallet according to the wallet generation instruction.
[0047] S230, receiving the public key of the digital wallet and the corresponding mnemonic sent by the key card.
[0048] In response to the received wallet generation request, the electronic device outputs first prompt information to prompt the electronic device to establish communication with the key card. In the case where it is determined that the electronic device and the key card successfully communicate, the electronic device sends a wallet generation instruction to the key card to make the key card generate a digital wallet according to the wallet generation instruction. The electronic device receives the public key of the digital wallet and the corresponding mnemonic sent by the key card. That is, after the electronic device receives a wallet generation request, the electronic device can first make the key card establish communication with the electronic device. After the two successfully communicate, the electronic device sends a wallet generation instruction to the key card. The key card generates a digital wallet. The public key of the digital wallet is stored in the electronic device. The private key of the digital wallet is stored in the independent hardware device key card through the combination of software and hardware, thereby ensuring the security of the digital wallet.
[0049] The above steps will be described in detail as follows:
[0050] In S210, the wallet generation request can be input by the user in the wallet App, or can be input through other ways such as voice, gesture, etc., or can be obtained through other electronic devices.
[0051] The wallet generation request is used to request to generate a digital wallet. The App can request the key card shown in FIG. 1 to generate a digital wallet to improve the security of the digital wallet. In the application, after the App receives a wallet generation request, the App can output first prompt information to prompt the electronic device to establish communication with the key card. The first prompt information can be output in various ways, for example, the first prompt information can be output through voice, dialog box, etc.
[0052] Exemplarily, in response to the first prompt information, the user can place the key card in the electronic device to establish communication between the electronic device and the key card. Exemplarily, in response to the first prompt information, the user can also bring the NFC area of the electronic device close to the NFC area of the key card to establish near field communication between the electronic device and the key card. In this way, the management of the electronic device and the key card is realized.
[0053] The electronic device considers that the communication between the electronic device and the key card is successful after detecting that the key card is inserted into the electronic device or that the near field communication connection between the electronic device and the key card is established.
[0054] In S220, the electronic device can send a wallet generation instruction to the key card after determining that the communication with the key card is successful. Exemplarily, the wallet generation instruction can be sent in plaintext or in an encrypted form, and the encryption password can be agreed by the App and the key card.
[0055] Exemplarily, before the step of "sending a wallet generation instruction to the key card to enable the key card to generate a digital wallet according to the wallet generation instruction", the method for generating the digital wallet can further include the following steps:
[0056] sending a reading request to the key card;
[0057] receiving a key card public key certificate signed by a private key of a certificate authority (CA) institution and sent by the key card;
[0058] verifying the key card public key certificate by using a locally stored CA public key, and obtaining the public key of the key card if the verification is passed;
[0059] agreeing on a session key with the key card.
[0060] The reading request is used to request to read a key card public key certificate stored in the key card, also referred to as a card public key certificate, which is signed by a private key of a certificate authority (CA) institution. In addition to storing the card public key certificate, the key card also stores a card private key.
[0061] After receiving the reading request sent by the App, the key card can send the card public key certificate to the App. After receiving the card public key certificate, the App can authenticate the card public key certificate by using a CA public key. After the authentication is passed, the App can restore the card public key, that is, the public key of the key card. In this way, the App obtains the public key of the key card, and the key card has a private key. The two can agree on a session key through near field communication.
[0062] For example, the key card and the App can each generate a part, and then the key generated by both can be synthesized to obtain the session key. The session key can also be generated by one party, for example, can be generated by the key card, can be generated by the App, and can also be generated in other agreed manners, and the embodiments of the application do not make specific limitations.
[0063] After the session key is generated, subsequent sessions can be transmitted based on the session key to ensure the security of data transmission.
[0064] For example, the session key obtained above can be used to encrypt the wallet generation instruction, and the key card receiving the encrypted wallet generation instruction can use the session key to decrypt to obtain the plaintext data.
[0065] Before the App of the embodiment of the application sends the wallet generation instruction to the key card, the App communicates with the key card through near field communication to agree on the session key, so that subsequent data transmission is based on the session key, thereby ensuring the security of data transmission.
[0066] In S230, the key card can generate the private key and the public key of the digital wallet based on the wallet generation instruction, and the public key is the address of the digital wallet. The private key can be stored in the SE of the key card to ensure the security of the private key. The public key can be returned to the App. The mnemonic word is used to generate the digital wallet. For example, after the App receives the mnemonic word sent by the key card, the method for generating the digital wallet can further include the following steps:
[0067] The mnemonic word is encrypted using the session key to obtain an encrypted mnemonic word;
[0068] The encrypted mnemonic word is sent to the mnemonic word card, and the mnemonic word card stores the encrypted mnemonic word.
[0069] For example, after the App receives the mnemonic word, the App can encrypt the mnemonic word using the agreed session key, and send the encrypted mnemonic word to the mnemonic word card through near field communication, and the mnemonic word card stores the encrypted mnemonic word in the memory of the mnemonic word card, thereby realizing backup of the mnemonic word, and avoiding the situation that the key card is lost and cannot be used to operate digital currency.
[0070] For example, the electronic device can also store the mnemonic word locally, and the electronic device can also be connected to a network in the future.
[0071] For example, after the encrypted mnemonic word is sent to the mnemonic word card and the mnemonic word card stores the encrypted mnemonic word, the method for generating the digital wallet can further include the following steps:
[0072] Delete the mnemonic word in the electronic device.
[0073] That is, after the mnemonic word backup by the mnemonic word card, the electronic device can send the key card to the mnemonic word of the electronic device, and delete it from the electronic device, so as to avoid the misuse of the mnemonic word after the electronic device is connected to the network, and cause unnecessary loss. During the entire creation process of the digital wallet, the electronic device is not connected to the network, and after the mnemonic word is deleted, the electronic device can be connected to the network.
[0074] In some embodiments, the method for generating the digital wallet can further include the following steps:
[0075] receiving a wallet recovery request;
[0076] In response to the wallet recovery request, outputting second prompt information to prompt the electronic device to establish communication with the mnemonic word card;
[0077] In the case where it is determined that the electronic device successfully communicates with the mnemonic word card, reading the mnemonic word stored in the mnemonic word card;
[0078] Sending the mnemonic word to the key card to make the key card restore the digital wallet according to the mnemonic word.
[0079] The wallet recovery request is used to restore the digital wallet, for example, after the deletion of the historically created digital wallet, the recovery can also be performed. Specifically, after the App receives the wallet recovery request, in order to ensure the normal recovery of the wallet, the electronic device needs to be communicated with the mnemonic word card first, that is, after the App receives the wallet recovery request, the second prompt information can be outputted to prompt the electronic device to establish communication with the mnemonic word card. The output mode of the second prompt information is similar to that of the first prompt information, and specific can be referred to the above embodiments. The process of establishing communication between the electronic device and the mnemonic word card is similar to that of establishing communication between the electronic device and the key card, and specific can be referred to the above embodiments.
[0080] In the case where it is determined that the electronic device successfully communicates with the mnemonic word card, the electronic device can read the mnemonic word stored in the mnemonic word card, for example, the mnemonic word backed up in the mnemonic word card can be read through NFC, and the process is protected by the session key. After the App reads the mnemonic word, the mnemonic word can be transmitted to the key card through NFC, and the process is also protected by the session key. After the key card receives the mnemonic word, the wallet can be created according to the wallet generation process, which meets the user's wallet recovery demand.
[0081] After receiving the wallet recovery request, the embodiments of the application can first ensure that the electronic device successfully communicates with the mnemonic word card. In the case where the communication between the two is successful, the App can perform near field communication with the mnemonic word card, read the mnemonic word backed up in the mnemonic word card, and send the read mnemonic word to the key card through NFC, so that the key card re-creates the wallet, which meets the user's recovery demand for the digital wallet.
[0082] In some embodiments, the method for generating the digital wallet can further include the following steps:
[0083] sending the to-be-signed data to the key card in response to the received transaction request;
[0084] receiving the signed data returned by the key card.
[0085] For example, when a digital currency transaction needs to be signed at the App end, the App can send the to-be-signed data to the key card for signing. The signed data is the to-be-signed data returned by the key card after signing.
[0086] In the present embodiment, when a digital currency transaction is performed, NFC communication is performed with the key card, the to-be-signed data is signed by the key card, and the signed data is returned, thereby ensuring the security of the transaction.
[0087] In some embodiments, in order to enhance the security of the data, the user can also set a personal identification number (PIN) for the mnemonic card and the key card, and the PINs of the mnemonic card and the key card can be the same or different.
[0088] In some embodiments, after receiving the public key of the digital wallet and the corresponding mnemonic sent by the key card, the method for generating the digital wallet can further include the following steps:
[0089] receiving a currency configuration request, the currency configuration request including at least one currency information;
[0090] In response to the currency configuration request, configuring the digital wallet with a currency corresponding to each currency information, and assigning a unique identifier to each currency.
[0091] receiving a currency configuration request, the currency configuration request including at least one currency information;
[0092] In response to the currency configuration request, configuring the digital wallet with a currency corresponding to each currency information, and assigning a unique identifier to each currency.
[0093] The currency configuration request is used to request to configure at least one currency for the digital wallet. The currency information can include the type of the currency, the name of the currency, etc. After receiving the currency configuration request, the electronic device can configure the corresponding currency for the digital wallet based on the currency information in the currency configuration request to meet the transaction needs of the user. In order to facilitate the user to distinguish different currencies, the electronic device can assign a unique identifier to each configured currency, and the specific form of the identifier is not limited in the present embodiment, for example, it can be the name of the currency, the abbreviation information of the currency name, etc.
[0094] That is, the embodiment of the application can configure different currencies in the same digital wallet, and uniquely identify each currency by different identifiers, thereby meeting the multi-transaction needs of users.
[0095] For example, as shown in FIG. 3, the generation method of the digital wallet can include the following steps:
[0096] S310, in the case of successful communication with the electronic device, receiving the wallet generation instruction sent by the application App in the electronic device.
[0097] S320, in response to the wallet generation instruction, generating a random number.
[0098] S330, according to the random number, determining the mnemonic word from the mnemonic word dictionary stored in the key card.
[0099] S340, generating a digital wallet according to the mnemonic word.
[0100] The process of establishing communication between the key card and the electronic device can refer to the above-mentioned embodiments. Illustratively, the key card can receive the wallet generation instruction sent by the App in the case of successful communication with the electronic device, and generate a random number, which can be an integer between 1 and 4096.
[0101] The mnemonic word dictionary is stored in the key card, and the mnemonic word dictionary contains 4096 mnemonic words, each mnemonic word has a unique number, the number is 1-4096, for example, the number of mnemonic words can be the position of the mnemonic word in the mnemonic word dictionary, for example, mnemonic word A is the 200th mnemonic word in the mnemonic word dictionary, then the number of mnemonic word A can be 200.
[0102] The key card can determine the corresponding mnemonic word from the mnemonic word dictionary according to the random number, for example, the mnemonic word corresponding to the same number as the random number can be screened out for subsequent generation of digital wallet.
[0103] Illustratively, 12 or 24 mnemonic words can be selected, and based on the group of mnemonic words, multiple digital wallets can be generated.
[0104] In the case of successful communication between the electronic device and the key card, the App can interact with the key card, and the key card can generate a digital wallet, and store the private key of the digital wallet in the independent hardware device key card through the combination of software and hardware, thereby ensuring the security of the digital wallet.
[0105] Illustratively, the above S340 can include the following steps:
[0106] The first key seed is generated according to the mnemonic, and the first key seed and the iteration number of the first key seed are sent to the App, so that the App determines the iteration number of the first key seed in the next stage;
[0107] The first key seed is iterated according to the iteration number of the first key seed in the next stage sent by the App, to obtain a second key seed, and the second key seed and the iteration number of the second key seed are sent to the App, so that the App determines the iteration number of the second key seed in the next stage, until the iteration termination condition is met, to obtain a target key seed;
[0108] The private key and the public key of the digital wallet are generated according to the target key seed.
[0109] Considering that the process of generating a key seed by the key card based on the mnemonic is an iterative process, for example, it usually needs to be iterated 2048 times and takes a long time, in order to avoid the user waiting for a long time, the key card can return the number of iterations completed in each stage to the App and display it to the user, so that the user can understand the generation process of the key seed.
[0110] The number of iterations completed in each stage can be the same or different, which can be determined by the App. For example, after the key card completes the iteration in the first stage, the first key seed and the iteration number corresponding to the first stage are sent to the App, and the App displays it to the user after receiving it, and returns the number of iterations required in the next stage to the key card.
[0111] After receiving the number of iterations returned by the App, the key card continues to iterate the first key seed, and obtains a second key seed after performing the corresponding number of iterations, and sends the second key seed and the number of iterations completed in this stage to the App, and the same is true for the subsequent stages, until the iteration termination condition is met, for example, the iteration number reaches the target number 2048 times, and the key seed obtained at this time is recorded as the target key seed.
[0112] The private key and the public key of the digital wallet can be generated by the key card based on the target key seed.
[0113] The private key can be stored in the SE of the key card, and the public key can be returned to the App.
[0114] When generating a key seed based on a mnemonic, the number of iterations completed in each stage is returned to the App, and the number of iterations required in the next stage is returned based on the number of iterations returned by the App, and the iteration is continued until the iteration termination condition is met, to obtain a target key seed, so that the user can understand the generation process of the key seed in a timely manner, and can avoid the user mistakenly thinking that the generation of the digital wallet fails due to the long iteration execution time, thereby improving the user experience.
[0115] In some embodiments, before "receiving the wallet generation instruction sent by the application App in the electronic device", the method for generating the digital wallet can further include the following steps:
[0116] receiving a read request of the App;
[0117] In response to the read request, sending the key card public key certificate signed by the private key of the certificate authority CA institution to the App, so that the App verifies the key card public key certificate by using the public key of the CA institution;
[0118] In the case where the key card public key certificate is verified, agreeing with the App to generate a session key.
[0119] For specific details, please refer to the above embodiments, which will not be repeated here for brevity.
[0120] Before the App of the embodiment of the application sends the wallet generation instruction to the key card, the key card is communicated through near field communication to agree on a session key, so that subsequent data transmission is based on the session key, ensuring the security of data transmission.
[0121] In some embodiments, before "receiving the wallet generation instruction sent by the application App in the electronic device", the method for generating the digital wallet can further include the following steps:
[0122] displaying a setting prompt information of the PIN;
[0123] In response to a first input of the user to the setting prompt information, setting the PIN for the key card.
[0124] The setting prompt information is used to prompt the user whether to set the PIN for the key card. Illustratively, the setting prompt information can be "whether to set the PIN for the key card". The first input indicates that the user determines to set the PIN for the key card. Illustratively, the first input can be a click, double-click or other operation on "yes". For example, after the user clicks "yes", the key card can display a setting interface of the PIN, through which the user can input the PIN.
[0125] By setting the PIN for the key card, it can be avoided that after the key card is acquired by others, the digital wallet is directly viewed and traded through the key card, improving the security.
[0126] Illustratively, in addition to setting the PIN, the information in the key card can also be protected by using the biometric information of the user as the password.
[0127] The application embodiment can generate a digital wallet in a key card through interaction between an application and the key card, has higher security, and backs up a mnemonic word by using a mnemonic word card, so that the wallet can be recovered based on the mnemonic word in the mnemonic word card, and functions of generation, backup and recovery of the wallet are realized.
[0128] Based on the same inventive concept, the application embodiment further provides a digital wallet generation apparatus. The digital wallet generation apparatus can be applied to an electronic device. As shown in FIG. 4, the digital wallet generation apparatus 400 can include:
[0129] The output module 401 is configured to output first prompt information to prompt the electronic device to establish communication with the key card in response to the received wallet generation request.
[0130] The sending module 402 is configured to send a wallet generation instruction to the key card to enable the key card to generate a digital wallet according to the wallet generation instruction in a case where it is determined that the electronic device and the key card successfully communicate.
[0131] The receiving module 403 is configured to receive a public key of the digital wallet and a corresponding mnemonic word sent by the key card.
[0132] The application embodiment outputs first prompt information to prompt the electronic device to establish communication with the key card in response to the received wallet generation request, sends a wallet generation instruction to the key card to enable the key card to generate a digital wallet according to the wallet generation instruction in a case where it is determined that the electronic device and the key card successfully communicate, and receives a public key of the digital wallet and a corresponding mnemonic word sent by the key card. That is, after the electronic device of the application embodiment receives a wallet generation request, the key card can be caused to establish communication with the electronic device, the key card is sent a wallet generation instruction after successful communication between the two, a digital wallet is generated by the key card, a public key of the digital wallet is stored in the electronic device, a private key of the digital wallet is stored in an independent hardware device key card in a combination of software and hardware, and the security of the digital wallet is ensured.
[0133] In some embodiments, the sending module 402 is further configured to send a reading request to the key card before sending the wallet generation instruction to the key card to enable the key card to generate a digital wallet according to the wallet generation instruction.
[0134] The receiving module 403 is further configured to receive a key card public key certificate signed by a private key of a certificate authority CA institution sent by the key card.
[0135] The digital wallet generation apparatus 400 can further include:
[0136] The verification module is configured to verify the key card public key certificate by using a locally stored CA public key, and obtain a public key of the key card in a case where the verification is passed.
[0137] generating a session key with the key card.
[0138] In some embodiments, the digital wallet generating apparatus 400 can further include:
[0139] The encryption module is configured to encrypt the mnemonic word using the session key to obtain an encrypted mnemonic word after the receiving module 403 receives the public key of the digital wallet and the corresponding mnemonic word sent by the key card.
[0140] The sending module 402 is further configured to send the encrypted mnemonic word to the mnemonic card, and store the encrypted mnemonic word by the mnemonic card.
[0141] In some embodiments, the digital wallet generating apparatus 400 can further include:
[0142] The deleting module is configured to delete the mnemonic word in the electronic device after the sending module 402 sends the encrypted mnemonic word to the mnemonic card and stores the encrypted mnemonic word by the mnemonic card.
[0143] In some embodiments, the receiving module 403 is further configured to receive a wallet recovery request.
[0144] The output module 401 is further configured to output a second prompt information to prompt the electronic device to establish communication with the mnemonic card in response to the wallet recovery request.
[0145] The digital wallet generating apparatus 400 can further include:
[0146] The reading module is configured to read the mnemonic word stored in the mnemonic card when it is determined that the electronic device successfully communicates with the mnemonic card.
[0147] The sending module 402 is further configured to send the mnemonic word to the key card to enable the key card to recover the digital wallet according to the mnemonic word.
[0148] In some embodiments, the sending module 402 is further configured to send the to-be-signed data to the key card in response to the received transaction request.
[0149] The receiving module 403 is further configured to receive the signature data returned by the key card.
[0150] In some embodiments, the receiving module 403 is further configured to receive a currency configuration request after receiving the public key of the digital wallet and the corresponding mnemonic word sent by the key card, the currency configuration request including at least one currency information.
[0151] The digital wallet generating apparatus 400 can further include:
[0152] The configuration module is configured to configure, in response to a currency configuration request, a currency corresponding to currency information for the digital wallet.
[0153] The distribution module is configured to assign a unique identifier to each currency.
[0154] Each module in the apparatus shown in FIG. 4 has the function of implementing each step in FIG. 2 and can achieve the corresponding technical effects. For brevity, no further description is given here.
[0155] Based on the same inventive concept, the embodiments of the present application also provide a digital wallet generation apparatus. The digital wallet generation apparatus can be applied to a key card. As shown in FIG. 5, the digital wallet generation apparatus 500 can include a receiving module 501, a generation module 502, and a determination module 503.
[0156] The receiving module 501 is configured to receive a wallet generation instruction sent by an application program App in an electronic device, in a case where communication with the electronic device is successful.
[0157] The generation module 502 is configured to generate a random number in response to the wallet generation instruction.
[0158] The determination module 503 is configured to determine a mnemonic word from a mnemonic word dictionary stored in the key card according to the random number.
[0159] The generation module 502 is further configured to generate a digital wallet according to the mnemonic word.
[0160] The embodiments of the present application can generate a digital wallet by a key card through the interaction of the App and the key card. The private key of the digital wallet is stored in the independent hardware device key card through the combination of software and hardware, thereby ensuring the security of the digital wallet.
[0161] In some embodiments, the generation module 502 is specifically configured to:
[0162] generate a first key seed according to the mnemonic word, and send the first key seed and an iteration number of the first key seed to the App, so that the App determines the iteration number of the first key seed in the next stage;
[0163] perform iteration processing on the first key seed according to the iteration number of the first key seed in the next stage sent by the App, to obtain a second key seed, and send the second key seed and an iteration number of the second key seed to the App, so that the App determines the iteration number of the second key seed in the next stage, until an iteration termination condition is met, to obtain a target key seed;
[0164] generate a private key and a public key of the digital wallet according to the target key seed.
[0165] In some embodiments, the receiving module 501 is further configured to receive a reading request of the application App before receiving the wallet generation instruction sent by the application App in the electronic device.
[0166] The wallet generation apparatus 500 can further include:
[0167] The sending module is configured to send, in response to the reading request, a key card public key certificate signed by the private key of the certificate authority CA to the application App, so that the application App verifies the key card public key certificate by using the public key of the CA.
[0168] The generation module 502 is further configured to agree with the application App to generate a session key if the key card public key certificate is verified.
[0169] In some embodiments, the wallet generation apparatus 500 can further include:
[0170] The display module is configured to display a setting prompt information of the personal identification code PIN before the receiving module 501 receives the wallet generation instruction sent by the application App in the electronic device.
[0171] The setting module is configured to set the PIN for the key card in response to a first input of the user on the setting prompt information.
[0172] Each module in the apparatus shown in FIG. 5 has the function of implementing each step in FIG. 3 and can achieve the corresponding technical effects. For brevity, no further description is given here.
[0173] Based on the same inventive concept, the embodiments of the present application further provide an electronic device. FIG. 6 is a hardware structure schematic diagram of an electronic device according to an embodiment of the present application.
[0174] As shown in FIG. 6, the electronic device 600 can include a processor 601 and a memory 602 having stored computer program instructions.
[0175] Specifically, the processor 601 can include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or can be configured to implement one or more integrated circuits of the embodiments of the present application.
[0176] The memory 602 can include mass storage for data or instructions. As an example and not by way of limitation, the memory 602 can include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc (e.g., a compact disc (CD) or a digital versatile disc (DVD)), a tape drive, a USB drive, or a combination of two or more of these. In one example, the memory 602 can include removable or non-removable (or fixed) media, where the memory 602 is a nonvolatile solid-state memory. The memory 602 can be internal or external to the integrated gateway disaster recovery device.
[0177] In one example, the memory 602 can be a read-only memory (ROM). In one example, the ROM can be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically alterable ROM (EAROM), or a flash memory, or a combination of two or more of these.
[0178] The memory 602 can include read-only memory (ROM), random-access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical / tangible memory storage devices. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software that, when executed (by one or more processors), is operable to perform operations described with reference to the methods according to the present application.
[0179] The processor 601 implements the methods / step in the embodiments shown in FIG. 2 by reading and executing computer program instructions stored in the memory 602, and achieves the corresponding technical effects achieved by the embodiments shown in FIG. 2 when performing the methods / step thereof. For brevity, the description is not repeated here.
[0180] In one example, the electronic device 600 can further include a communication interface 603 and a bus 604. As shown in FIG. 6, the processor 601, the memory 602, and the communication interface 603 are connected through the bus 604 and complete communication therebetween.
[0181] The communication interface 603 is mainly used to realize the communication between the modules, devices, units and / or equipment in the embodiments of the present application.
[0182] Bus 604 includes hardware, software, or both, to couple electronic devices 600 to each other in communication. By way of example, and not limitation, bus 604 can include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand™ interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or some combination of two or more of these. If used, bus 604 can include one or more buses. Although this application describes and illustrates a particular bus, this application contemplates any suitable bus or interconnect.
[0183] The electronic device outputs first prompt information in response to the received wallet generation request, to prompt that the electronic device can perform the method for generating the digital wallet in the embodiments of the application after establishing communication with the key card, thereby realizing the method for generating the digital wallet described in combination with FIG. 2, and the apparatus for generating the digital wallet shown in FIG. 4.
[0184] Based on the same inventive concept, the embodiments of the application further provide a key card. FIG. 7 is a schematic diagram of a hardware structure of a key card according to an embodiment of the application.
[0185] As shown in FIG. 7, the key card 700 can include a processor 701, an SE 702, and a memory 703 storing computer program instructions.
[0186] Specifically, the processor 701 described above can include a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or can be configured as one or more integrated circuits implementing the embodiments of the application.
[0187] The memory 703 can include mass storage for data or instructions. As an example and not by way of limitation, the memory 703 can include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc (e.g., a compact disc (CD) or a digital versatile disc (DVD)), a solid-state drive (SSD), a USB drive, or a combination of two or more of these. In one example, the memory 703 can include removable or non-removable (or fixed) media, where the memory 703 is nonvolatile solid-state memory. The memory 703 can be internal or external to the integrated gateway disaster recovery device.
[0188] In one example, the memory 703 can be a Read Only Memory (ROM). In one example, the ROM can be a mask programmed ROM, a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), an Electrically Alterable ROM (EAROM), or a flash memory, or a combination of two or more of these.
[0189] The memory 703 can include a Read Only Memory (ROM), a Random Access Memory (RAM), a disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical, or other physical / tangible memory storage device. Thus, generally, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software that, when executed (by one or more processors), is operable to perform operations described with reference to the methods according to the present application.
[0190] The processor 701 implements the methods / step in the embodiments shown in FIG. 3 by reading and executing computer program instructions stored in the memory 703, and achieves the corresponding technical effects achieved by the embodiments shown in FIG. 3 when the embodiments perform the methods / step, which will not be described herein for brevity.
[0191] In one example, the key card 700 can also include a communication interface 704 and a bus 705. As shown in FIG. 7, the processor 701, the SE 702, the memory 703, the communication interface 704 are connected through the bus 705 and complete communication between each other.
[0192] The communication interface 704 is mainly used to realize the communication between the modules, devices, units and / or equipment in the embodiments of the present application.
[0193] Bus 705 includes hardware, software, or both, to couple components of key card 700 to each other in communication. By way of example, and not limitation, bus 705 can be an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand™ interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or some other suitable bus or a combination of two or more of these. Where suitable, bus 705 can include one or more buses. Although this application describes and shows a particular bus, this application contemplates any suitable bus or interconnect.
[0194] The key card can execute the method for generating a digital wallet in the embodiments of the application after receiving the wallet generation instruction sent by the application App in the electronic device in the case of successful communication with the electronic device, thereby realizing the method for generating a digital wallet described in combination with FIG. 3 and the apparatus for generating a digital wallet shown in FIG. 5.
[0195] In addition, in combination with the method for generating a digital wallet in the above embodiments, the embodiments of the application can provide a readable storage medium for implementation. The readable storage medium stores programs or instructions, which, when executed by a processor, realize any one of the methods for generating a digital wallet in the above embodiments and achieve the same technical effects. To avoid repetition, details are not described herein.
[0196] In addition, in combination with the method for generating a digital wallet in the above embodiments, the embodiments of the application further provide a computer program product, which includes a computer program. When the computer program is executed by a processor, any one of the methods for generating a digital wallet in the above embodiments is realized and the same technical effects are achieved. To avoid repetition, details are not described herein.
[0197] It is to be understood that the application is not limited to the particular configurations and processes described hereinabove and shown in the figures. For the sake of brevity, detailed descriptions of known methods and apparatuses are omitted so as to avoid obscuring the subject matter of the present application. In the above-described embodiments, several specific steps are described and illustrated as examples. However, the method processes of the present application are not limited to the specific steps described and illustrated herein, but can include any number of additional steps or changes in the order of the steps, or both, depending on the circumstances.
[0198] The functional blocks shown in the above structural block diagrams can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, and the like. When implemented in software, the elements of the present application are program or code segments that are used to perform the required tasks. The program or code segments can be stored in a machine-readable medium or transmitted through a data signal carried in a carrier wave over a transmission medium or communication link. A "machine-readable medium" includes any medium that can store or transfer information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, and the like. The code segments can be downloaded via computer networks such as the Internet, intranets, and the like.
[0199] It is also to be understood that the example embodiments described in the present application are based on a series of steps or apparatuses to describe some methods or systems. However, the present application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiments, or in an order different from the embodiments, or several steps can be performed simultaneously.
[0200] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other processing device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other processing device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0201] The above is merely specific implementation of the present application, and those skilled in the art can clearly understand the specific working processes of the systems, modules and units described above for the convenience and brevity of description, which can refer to the corresponding processes in the foregoing method embodiments, and will not be described herein. It should be understood that the protection scope of the present application is not limited in this way, and any person skilled in the art can easily think of various equivalent modifications or replacements within the technical range disclosed in the present application, and these modifications or replacements should be covered within the protection scope of the present application.
Claims
1. A method for generating a digital wallet, characterized in that, Applied to electronic devices, the method includes: In response to the received wallet generation request, a first prompt message is output to prompt the electronic device to establish communication with the key card; If it is determined that the electronic device and the key card have successfully communicated, a wallet generation instruction is sent to the key card so that the key card generates a digital wallet according to the wallet generation instruction; Receive the public key of the digital wallet and the corresponding mnemonic phrase sent by the key card.
2. The method according to claim 1, characterized in that, Before sending a wallet generation instruction to the key card to generate a digital wallet according to the wallet generation instruction, the method further includes: Send a read request to the key card; Receive the public key certificate of the key card, which is signed by the private key of a Certificate Authority (CA) sent by the key card; The public key certificate of the key card is verified using the locally stored CA public key, and the public key of the key card is obtained if the verification is successful. A session key is generated in accordance with the agreement with the key card.
3. The method according to claim 2, characterized in that, After receiving the public key of the digital wallet and the corresponding mnemonic phrase sent by the key card, the method further includes: The mnemonic phrase is encrypted using the session key to obtain the encrypted mnemonic phrase; The encrypted mnemonic phrase is sent to the mnemonic phrase card, which then stores the encrypted mnemonic phrase.
4. The method according to claim 3, characterized in that, After the encrypted mnemonic phrase is sent to the mnemonic phrase card and stored by the mnemonic phrase card, the method further includes: Remove the mnemonic phrase from the electronic device.
5. The method according to any one of claims 1-4, characterized in that, The method further includes: Receive wallet recovery request; In response to the wallet recovery request, a second prompt message is output to prompt the electronic device to establish communication with the mnemonic card; If it is determined that the electronic device and the mnemonic word card have successfully communicated, the mnemonic word stored in the mnemonic word card is read. The mnemonic phrase is sent to the key card so that the key card can recover the digital wallet based on the mnemonic phrase.
6. The method according to any one of claims 1-4, characterized in that, The method further includes: In response to a received transaction request, send the data to be signed to the key card; Receive the signature data returned by the key card.
7. The method according to any one of claims 1-4, characterized in that, After receiving the public key of the digital wallet and the corresponding mnemonic phrase sent by the key card, the method includes: Receive a currency configuration request, wherein the currency configuration request includes at least one currency information; In response to the currency configuration request, the digital wallet is configured with the currencies corresponding to each of the currency information, and a unique identifier is assigned to each currency.
8. A method for generating a digital wallet, characterized in that, Applied to a key card, the method includes: If communication with the electronic device is successful, receive a wallet generation instruction sent by the application App in the electronic device; In response to the wallet generation instruction, a random number is generated; Based on the random number, a mnemonic phrase is determined from the mnemonic phrase dictionary stored in the key card; A digital wallet is generated based on the mnemonic phrase.
9. The method according to claim 8, characterized in that, The step of generating a digital wallet based on the mnemonic phrase includes: A first key seed is generated based on the mnemonic phrase, and the first key seed and its iteration number are sent to the App so that the App can determine the number of iterations of the first key seed in the next stage. Based on the number of iterations of the first key seed sent by the App in the next stage, the first key seed is iteratively processed to obtain the second key seed. The second key seed and the number of iterations of the second key seed are then sent to the App so that the App can determine the number of iterations of the second key seed in the next stage. This process continues until the iteration termination condition is met, and the target key seed is obtained. Generate the private and public keys of the digital wallet based on the target key seed.
10. The method according to claim 8, characterized in that, Before receiving the wallet generation instruction sent by the application App in the electronic device, the method further includes: Receive the read request from the App; In response to the read request, a public key certificate of the key card signed by the private key of the Certificate Authority (CA) is sent to the App, so that the App can use the public key of the CA to verify the public key certificate of the key card; If the public key certificate of the key card is verified, a session key is generated in consultation with the App.
11. The method according to any one of claims 8-10, characterized in that, Before receiving the wallet generation instruction sent by the application App in the electronic device, the method further includes: Displays prompts for setting up a Personal Identification Number (PIN); In response to the user's first input of the setup prompt information, a PIN is set for the key card.
12. A digital wallet generation apparatus, characterized in that, Applied to electronic devices, the device includes: The output module is used to respond to the received wallet generation request and output a first prompt message to prompt the electronic device to establish communication with the key card; The sending module is configured to send a wallet generation instruction to the key card when it is determined that the electronic device and the key card have successfully communicated, so that the key card generates a digital wallet according to the wallet generation instruction; The receiving module is used to receive the public key of the digital wallet and the corresponding mnemonic phrase sent by the key card.
13. A digital wallet generation apparatus, characterized in that, The device, used in key cards, includes: a receiving module, a generating module, and a determining module; The receiving module is used to receive a wallet generation instruction sent by the application App in the electronic device when communication with the electronic device is successful; The generation module is used to generate random numbers in response to the wallet generation instruction; The determining module is used to determine a mnemonic word from the mnemonic word dictionary stored in the key card based on the random number; The generation module is also used to generate a digital wallet based on the mnemonic phrase.
14. An electronic device, characterized in that, It includes: a processor, and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the method as described in any one of claims 1-7.
15. A key card, characterized in that, include: A security chip SE, a processor, and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the method as described in any one of claims 8-11.
16. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the method as described in any one of claims 1-7, or the method as described in any one of claims 8-11.
17. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method as described in any one of claims 1-7, or the method as described in any one of claims 8-11.
Citation Information
Patent Citations
A digital wallet generation method and system based on TEE and an encryption chip
CN109559105A
SIM card, terminal and digital currency management system
CN109615351A
Wallet encryption storage method, signature method, computer equipment and storage medium
CN113221141A
Digital wallet generation method, apparatus and device, key card, medium and product
CN118840113A
Induction heating device having improved user experience and user interface
KR102734353B1