WO2021139140A1 - 基于区块链的密码管理方法、装置、电子设备及计算机可读存储介质 - Google Patents

基于区块链的密码管理方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
WO2021139140A1
WO2021139140A1 PCT/CN2020/106007 CN2020106007W WO2021139140A1 WO 2021139140 A1 WO2021139140 A1 WO 2021139140A1 CN 2020106007 W CN2020106007 W CN 2020106007W WO 2021139140 A1 WO2021139140 A1 WO 2021139140A1
Authority
WO
WIPO (PCT)
Prior art keywords
account
information
password
public key
signature
Prior art date
Application number
PCT/CN2020/106007
Other languages
English (en)
French (fr)
Inventor
李宁
Original Assignee
深圳壹账通智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳壹账通智能科技有限公司 filed Critical 深圳壹账通智能科技有限公司
Publication of WO2021139140A1 publication Critical patent/WO2021139140A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Definitions

  • This application relates to the field of computer application technology, and in particular to a blockchain-based password management method, device, electronic equipment, and computer-readable storage medium.
  • This application provides a blockchain-based password management method, and the blockchain-based password management method includes:
  • This application also provides a block chain-based password management device, which includes:
  • the key pair acquisition module is used to acquire a locally generated key pair containing a public key and a private key, and create the public key as a password management account;
  • the receiving module is used to obtain the account information to be added input by the user when receiving the account password adding request sent by the user, and add it to the password management account;
  • the encryption module is used to encrypt the received account information to be added using a preset encryption algorithm to obtain corresponding first account encryption information including encrypted ciphertext; wherein, the account information to be added includes a website address and an account number And the password of the corresponding account;
  • the signature acquisition module is configured to digitally sign the encrypted information of the first account by using the private key to obtain a signature, and combine the signature, the encrypted information of the first account, and the public key to form a second account
  • the encrypted information is sent to the service center, so that the service center verifies the signature according to the public key, and after the verification is successful, uploads the second account password information to the blockchain network to realize the verification Management of account and password information.
  • the application also provides an electronic device, the electronic device includes a memory and a processor, the memory stores a blockchain-based password management program that can run on the processor, and the blockchain-based When the password management program is executed by the processor, the following steps are implemented:
  • the present application also provides a computer-readable storage medium on which a blockchain-based password management program is stored.
  • a blockchain-based password management program is executed by one or more processors To achieve the following steps:
  • FIG. 1 is a schematic flowchart of a blockchain-based password management method provided by an embodiment of this application;
  • FIG. 2 is a schematic diagram of the internal structure of an electronic device provided by an embodiment of the application.
  • FIG. 3 is a schematic diagram of modules of a blockchain-based password management device provided by an embodiment of the application.
  • This application provides a method for password management based on blockchain.
  • FIG. 1 it is a schematic flowchart of a blockchain-based password management method provided by an embodiment of this application.
  • the method may be executed by an electronic device, and the electronic device may be implemented by software and/or hardware.
  • the electronic device is an intelligent terminal.
  • the blockchain-based password management method includes:
  • S101 Obtain a locally generated key pair including a public key and a private key, and create the public key as a password management account;
  • S104 Digitally sign the encrypted information of the first account by using the private key to obtain a signature, and send the encrypted information of the second account composed of the signature, the encrypted information of the first account, and the public key to Service center, so that the service center verifies the signature according to the public key, and after the verification is successful, uploads the second account password information to the blockchain network, so as to realize the account password information management.
  • the blockchain-based password management method can be executed by an electronic device, in particular, by one or more processors in the electronic device.
  • the electronic device obtains the asymmetric key pair created by the local user terminal through the asymmetric encryption algorithm, sends the private key of the key pair to the user for storage, and uses the corresponding public key of the key pair as the password management account ,
  • the key pair is only used to encrypt and decrypt data, not to send transactions.
  • the asymmetric encryption algorithm may be the RSA algorithm or the Elgamal algorithm, and this application does not make specific restrictions here.
  • the key pair is randomly generated, which can completely isolate personal information, realize anonymity, and protect user information.
  • the preset encryption algorithm in this embodiment is an asymmetric encryption algorithm, that is, the received account information to be added is encrypted with a public key, and then the private key saved by the user can be performed
  • the asymmetric encryption algorithms include RSA, Elgamal, knapsack algorithm, Rabin, DH, ECC (elliptic curve encryption algorithm), etc., which are not repeated here in this application.
  • the account to be stored is a website login user name of a certain website, and the account is a website address or any account named by the name of the website, such as www.baidu.com or Baidu.
  • the corresponding password that needs to be stored is the corresponding website login password, for example: 666666.
  • the client encrypts the user name and password with a public key to generate a cipher text, and then converts the cipher text to a base64 format string (ie, performs cipher text JSON formatting) to obtain the first account password information (ie, the first json string).
  • a base64 format string ie, performs cipher text JSON formatting
  • inputting the private key can decrypt the ciphertext. Then use the private key to digitally sign the encrypted information of the first account to obtain the signature.
  • the service center uses the user public key to verify the signature, and obtains the corresponding public key PBK, signature sign, data data, etc., if the verification is successful, upload the second account password information In the blockchain network, if the verification fails, it means that the request is not the person, and the processing is rejected.
  • Store the request information in the local database cache query the user's latest state with the user's public key as the key, and add the new request to the latest state.
  • the service center verifies the signature according to the public key, and if the verification fails, the processing is terminated and an error is returned. If the verification continues, query the account to be added cached by the service center to continue to query the transaction id corresponding to the latest state of the public key when the account to be added corresponding to the public key does not exist. If the transaction id corresponding to the latest state of the public key is empty, Then the account to be added is the first addition, and the data of the account to be added is cached in the local database and added to the accounts table.
  • the blockchain account of the service center uses the blockchain account of the service center to create a transaction, put the encrypted information of the second account as remarks into the transaction, and send the transaction, thereby uploading the encrypted information of the second account to the blockchain network, when the upload is successful
  • the returned transaction id is added to the database state table.
  • the encrypted information of the second account is directly cached to the local database, and then the encrypted information of the second account is formatted in JSON, and the service center blockchain is used
  • Account creation transaction put the encrypted information of the second account number as remarks into the transaction, send the transaction, upload the data to the chain, and add the returned transaction to the database state table.
  • the client encrypts the received account information to be added by a preset encryption algorithm to obtain corresponding first account encryption information; wherein the account information to be added includes a website address, an account number, and a password of the corresponding account;
  • the step of encrypting the encrypted information of the account includes:
  • the client encrypts the received URL and account password through public key encryption to obtain the first ciphertext and the second ciphertext; splicing the first ciphertext and the second ciphertext to obtain the first account Encrypt information.
  • the two ciphertexts are used to splice the first json string, the first json string is digitally signed to obtain a signature, and the first json string is combined with the signature and the public key Then splice into the second json string, and finally transmit the second json string and send it to the service center.
  • the service center can use the signature text to verify the first json string.
  • the json string is verified to confirm that the first json string is signed by the corresponding account and the content has not been tampered with.
  • the block (Block) is a storage unit, and each block is linked (chain) through random hashing (also called a hash algorithm), and the block header of the next block (block The header of) contains the hash value of the previous block, so that blocks are successively connected to form a blockchain.
  • Blockchain (Blockchain) multiple nodes are related to generate blocks through a series of cryptographic methods.
  • the block adopts the structure of "block header + block body", and the data in the block header is used to verify the validity of the recorded data , And the index data of the previous block, the block body contains the record data within a certain period of time.
  • the blockchain is a distributed database run by a group of scattered nodes to store various recorded data such as virtual currency transactions. From the data structure level, the blockchain includes a series of blocks. Once a new block is added to the blockchain, it will not be removed. The block contains recorded data, which is used to verify the validity of the recorded data. Sex (anti-counterfeiting) and generate the next block. Taking this application as an example, the service center uploads the second account password information to the blockchain network. The second account password information depends on the confirmation of the node in the running blockchain.
  • the second account password information When the second account password information is When the node confirms for the first time, the second account password information will be added to the latest block in the blockchain, and the block will be sent to other nodes in the blockchain network for authentication, so that after the authentication is passed, the confirmation The generated block is valid and added to the blockchain. When enough blocks are confirmed, the data is irreversible and tampering.
  • the method further includes:
  • the service center sends the account password addition request to the service center, so that the service center parses the second account password information according to the account password addition request to obtain the public key, encrypted ciphertext, and signature, and use the public key Perform the signature verification on the account password to be added.
  • the signature verification is passed, query whether the account corresponding to the public key exists, and when the account corresponding to the public key does not exist, query the public key corresponding to the latest state transaction ID , When the latest state transaction ID is empty, the account number is added to the account list.
  • the blockchain-based password management method further includes: when the client receives the account password update request sent by the user, obtaining the account password information to be updated according to the account password update request, and updating the account password information ;
  • the updated account and password information is sent to the blockchain network through the service center to generate a block corresponding to the current service center after being verified by other nodes in the blockchain network.
  • the account password update request can only modify the account password, by entering a new password (clear text), such as 999999, after submission, the public key first encrypts the plain text "999999" and then converts it to base64 format to obtain the cipher text: xxxxxxx, and then combine it into a json string: Then use the private key to sign the above json string to get sssssss, and finally combine the json string.
  • the service center After the update request, it parses the json string to obtain the public key, signature, account password, and cipher text, and use the public key to verify the signature. If the verification fails, the processing is terminated and an error is returned.
  • the verification is passed and continue, update the corresponding database cache, the accounts table, format the cached data corresponding to the public key into a json string, then use the service center blockchain account to create a transaction, put the above json string into the transaction remarks information, and send the transaction , The data is uploaded to the chain, and the returned transaction id is added to the database state table.
  • the client when the client receives the account and password query request sent by the user and views the account list, it sends the request: ⁇ "pbk":"public key hexadecimal string" ⁇ to pull data (ciphertext) from the service center :
  • the client use the private key to decrypt the name and account, and cache the plain text locally.
  • the service center receives the query request, parses the json string, obtains the public key pbk, queries the database cache, which is the data corresponding to the public key of the accounts table, and combines them into a json string and returns it to the user.
  • the client when the client receives the account password deletion request sent by the user, click Delete. Because the client caches the cipher text, it does not need to be encrypted. It will first be combined into a json string, and then use the private key to sign the above json string Yes, ssssssssss. Finally, the json string is synthesized and finally sent to the service center. The service center parses the json string, obtains the public key pbk, signature sign, and data data, and uses the public key to verify the signature. If the verification fails, terminate the processing and return error.
  • the blockchain-based password management method, device, electronic equipment, and computer-readable storage medium provided in this application use a public key as a password management account, and when receiving the account password addition request sent by the user, obtain the The account password information to be added entered by the user is added to the password management account, and then the received account password information to be added is encrypted by adding a public key to obtain the corresponding account password encryption information; wherein, the The account password encrypted information includes the website address, signature, and cipher text; then the private key is used for signature verification. When the signature verification is passed, the account password encrypted information is uploaded to the blockchain network through the service center to realize the verification. Management of the account and password information.
  • a password management account generated by a public key manages the user's multiple personal account password information, which improves the probability of account password loss, tamper-proof, and anti-theft, thereby improving the security of account password management based on blockchain .
  • the application also provides an electronic device 1.
  • FIG. 2 it is a schematic diagram of the internal structure of the electronic device 1 provided by an embodiment of this application.
  • the electronic device 1 may be a computer, a smart terminal, or a server.
  • the electronic device 1 at least includes a memory 11, a processor 13, a communication bus 15 and a network interface 17.
  • the electronic device 1 is an intelligent terminal.
  • the memory 11 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), magnetic memory, magnetic disk, optical disk, and the like.
  • the memory 11 may be an internal storage unit of the electronic device 1 in some embodiments, such as a hard disk of the electronic device 1. In other embodiments, the memory 11 may also be an external storage device of the electronic device 1, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), and a secure digital (Secure Digital, SD) equipped on the electronic device 1. Flash memory card Card) and so on. Further, the memory 11 may also include both an internal storage unit of the electronic device 1 and an external storage device.
  • the memory 11 can be used not only to store application software and various data installed in the electronic device 1, such as the code of the password management program 111 based on the blockchain, but also to temporarily store data that has been output or will be output.
  • the processor 13 may be a central processing unit (Central Processing Unit) in some embodiments.
  • Central Processing Unit CPU
  • controller a controller
  • microcontroller a microprocessor or other data processing chips are used to run program codes or process data stored in the memory 11.
  • the communication bus 15 is used to realize the connection and communication between these components.
  • the network interface 17 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface), and is generally used to establish a communication connection between the electronic device 1 and other electronic devices.
  • a standard wired interface and a wireless interface such as a WI-FI interface
  • the electronic device 1 may further include a user interface.
  • the user interface may include a display (Display) and an input unit such as a keyboard (Keyboard).
  • the optional user interface may also include a standard wired interface and a wireless interface.
  • the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, and an OLED (Organic Light-Emitting Diode, organic light-emitting diode) touch device, etc.
  • the display can also be appropriately called a display screen or a display unit, which is used to display the information processed in the electronic device 1 and to display a visualized user interface.
  • FIG. 2 only shows the electronic device 1 with components 11-17. Those skilled in the art can understand that the structure shown in FIG. 2 does not constitute a limitation on the electronic device 1, and may include fewer or more components than shown in the figure. Multiple components, or a combination of certain components, or different component arrangements.
  • the memory 11 stores a blockchain-based password management program 111; when the processor 13 executes the blockchain-based password management program 111 stored in the memory 11, the implementation is as follows step:
  • S101 Obtain a locally generated key pair including a public key and a private key, and create the public key as a password management account;
  • S104 Digitally sign the encrypted information of the first account by using the private key to obtain a signature, and send the encrypted information of the second account composed of the signature, the encrypted information of the first account, and the public key to Service center, so that the service center verifies the signature according to the public key, and after the verification is successful, uploads the second account password information to the blockchain network, so as to realize the account password information management.
  • the blockchain-based password management method can be executed by the electronic device 1, in particular, by one or more processors in the electronic device 1.
  • the electronic device 1 obtains the asymmetric key pair created by the local user terminal through the asymmetric encryption algorithm, sends the private key of the key pair to the user for storage, and manages the corresponding public key of the key pair as a password. Account, the key pair is only used to encrypt and decrypt data, not to send transactions.
  • the asymmetric encryption algorithm may be the RSA algorithm or the Elgamal algorithm, and this application does not make specific restrictions here. Among them, the key pair is randomly generated, which can completely isolate personal information, realize anonymity, and protect user information.
  • the preset encryption algorithm in this embodiment is an asymmetric encryption algorithm, that is, the received account information to be added is encrypted with a public key, and then the private key saved by the user can be performed
  • the asymmetric encryption algorithms include RSA, Elgamal, knapsack algorithm, Rabin, DH, ECC (elliptic curve encryption algorithm), etc., which are not repeated here in this application.
  • the account to be stored is a website login user name of a certain website, and the account is a website address or any account named by the name of the website, such as www.baidu.com or Baidu.
  • the corresponding password that needs to be stored is the corresponding website login password, for example: 666666.
  • the client encrypts the user name and password with a public key to generate a cipher text, and then converts the cipher text to a base64 format string (ie, performs cipher text JSON formatting) to obtain the first account password information (ie, the first json string).
  • a base64 format string ie, performs cipher text JSON formatting
  • inputting the private key can decrypt the ciphertext. Then use the private key to digitally sign the encrypted information of the first account to obtain the signature.
  • the service center uses the user public key to verify the signature, and obtains the corresponding public key PBK, signature sign, data data, etc., if the verification is successful, upload the second account password information In the blockchain network, if the verification fails, it means that the request is not the person, and the processing is rejected.
  • Store the request information in the local database cache query the user's latest state with the user's public key as the key, and add the new request to the latest state.
  • the service center verifies the signature according to the public key, and if the verification fails, the processing is terminated and an error is returned. If the verification continues, query the account to be added cached by the service center to continue to query the transaction id corresponding to the latest state of the public key when the account to be added corresponding to the public key does not exist. If the transaction id corresponding to the latest state of the public key is empty, Then the account to be added is the first addition, and the data of the account to be added is cached in the local database and added to the accounts table.
  • the blockchain account of the service center uses the blockchain account of the service center to create a transaction, put the encrypted information of the second account as remarks into the transaction, and send the transaction, thereby uploading the encrypted information of the second account to the blockchain network, when the upload is successful
  • the returned transaction id is added to the database state table.
  • the encrypted information of the second account is directly cached to the local database, and then the encrypted information of the second account is formatted in JSON, and the service center blockchain is used
  • Account creation transaction put the encrypted information of the second account number as remarks into the transaction, send the transaction, upload the data to the chain, and add the returned transaction to the database state table.
  • the client encrypts the received account information to be added by a preset encryption algorithm to obtain corresponding first account encryption information; wherein the account information to be added includes a website address, an account number, and a password of the corresponding account;
  • the step of encrypting the encrypted information of the account includes:
  • the client encrypts the received URL and account password through public key encryption to obtain the first ciphertext and the second ciphertext; splicing the first ciphertext and the second ciphertext to obtain the first account Encrypt information.
  • the two ciphertexts are used to splice the first json string, the first json string is digitally signed to obtain a signature, and the first json string is combined with the signature and the public key Then splice into the second json string, and finally transmit the second json string and send it to the service center.
  • the service center can use the signature text to verify the first json string.
  • the json string is verified to confirm that the first json string is signed by the corresponding account and the content has not been tampered with.
  • the block (Block) is a storage unit, and each block is linked (chain) through random hashing (also called a hash algorithm), and the block header of the next block (block The header of) contains the hash value of the previous block, so that blocks are successively connected to form a blockchain.
  • Blockchain (Blockchain) multiple nodes are related to generate blocks through a series of cryptographic methods.
  • the block adopts the structure of "block header + block body", and the data in the block header is used to verify the validity of the recorded data , And the index data of the previous block, the block body contains the record data within a certain period of time.
  • the blockchain is a distributed database run by a group of scattered nodes to store various recorded data such as virtual currency transactions. From the data structure level, the blockchain includes a series of blocks. Once a new block is added to the blockchain, it will not be removed. The block contains recorded data, which is used to verify the validity of the recorded data. Sex (anti-counterfeiting) and generate the next block. Taking this application as an example, the service center uploads the second account password information to the blockchain network. The second account password information depends on the confirmation of the node in the running blockchain.
  • the second account password information When the second account password information is When the node confirms for the first time, the second account password information will be added to the latest block in the blockchain, and the block will be sent to other nodes in the blockchain network for authentication, so that after the authentication is passed, the confirmation The generated block is valid and added to the blockchain. When enough blocks are confirmed, the data is irreversible and tampering.
  • the method further includes:
  • the service center sends the account password addition request to the service center, so that the service center parses the second account password information according to the account password addition request to obtain the public key, encrypted ciphertext, and signature, and use the public key Perform the signature verification on the account password to be added.
  • the signature verification is passed, query whether the account corresponding to the public key exists, and when the account corresponding to the public key does not exist, query the public key corresponding to the latest state transaction ID , When the latest state transaction ID is empty, the account number is added to the account list.
  • the blockchain-based password management method further includes: when the client receives the account password update request sent by the user, obtaining the account password information to be updated according to the account password update request, and updating the account password information ;
  • the updated account and password information is sent to the blockchain network through the service center to generate a block corresponding to the current service center after being verified by other nodes in the blockchain network.
  • the account password update request can only modify the account password, by entering a new password (clear text), such as 999999, after submission, the public key first encrypts the plain text "999999" and then converts it to base64 format to obtain the cipher text: xxxxxxx, and then combine it into a json string: Then use the private key to sign the above json string to get sssssss, and finally combine the json string.
  • the service center After the update request, it parses the json string to obtain the public key, signature, account password, and cipher text, and use the public key to verify the signature. If the verification fails, the processing is terminated and an error is returned.
  • the verification is passed and continue, update the corresponding database cache, the accounts table, format the cached data corresponding to the public key into a json string, then use the service center blockchain account to create a transaction, put the above json string into the transaction remarks information, and send the transaction , The data is uploaded to the chain, and the returned transaction id is added to the database state table.
  • the client when the client receives the account and password query request sent by the user and views the account list, it sends the request: ⁇ "pbk":"public key hexadecimal string" ⁇ to pull data (ciphertext) from the service center :
  • the client use the private key to decrypt the name and account, and cache the plain text locally.
  • the service center receives the query request, parses the json string, obtains the public key pbk, queries the database cache, which is the data corresponding to the public key of the accounts table, and combines them into a json string and returns it to the user.
  • the client when the client receives the account password deletion request sent by the user, click Delete. Because the client caches the cipher text, it does not need to be encrypted. It will first be combined into a json string, and then use the private key to sign the above json string Yes, ssssssssss. Finally, the json string is synthesized and finally sent to the service center. The service center parses the json string, obtains the public key pbk, signature sign, and data data, and uses the public key to verify the signature. If the verification fails, terminate the processing and return error.
  • the blockchain-based password management method, device, electronic equipment, and computer-readable storage medium provided in this application use a public key as a password management account, and when receiving the account password addition request sent by the user, obtain the The account password information to be added entered by the user is added to the password management account, and then the received account password information to be added is encrypted by adding a public key to obtain the corresponding account password encryption information; wherein, the The account password encrypted information includes the website address, signature, and cipher text; then the private key is used for signature verification. When the signature verification is passed, the account password encrypted information is uploaded to the blockchain network through the service center to realize the verification. Management of the account and password information.
  • a password management account generated by a public key manages the user's multiple personal account password information, which improves the probability of account password loss, tamper-proof, and anti-theft, thereby improving the security of account password management based on blockchain .
  • the embodiment of the present application also proposes a computer-readable storage medium.
  • the computer-readable storage medium may be volatile or non-volatile.
  • the computer-readable storage medium stores a blockchain-based
  • the password management program 111 based on the blockchain can be executed by one or more processors to achieve the following operations:
  • this is a schematic diagram of the modules of an embodiment of the blockchain-based password management device 100 of this application.
  • the blockchain-based password management device 100 can be divided into a key pair acquisition module 10,
  • the receiving module 20, the encryption module 30, and the signature acquisition module 40 are exemplary:
  • the key pair obtaining module 10 is configured to obtain a locally generated key pair including a public key and a private key, and create the public key as a password management account;
  • the receiving module 20 is configured to obtain the account information to be added input by the user when receiving the account password addition request sent by the user, and add it to the password management account;
  • the encryption module 30 is configured to encrypt the received account information to be added using a preset encryption algorithm to obtain corresponding first account encryption information including encrypted ciphertext; wherein, the account information to be added includes URL, account number, and password of the corresponding account;
  • the signature obtaining module 40 is configured to digitally sign the encrypted information of the first account by using the private key to obtain a signature, and compose the signature, the encrypted information of the first account, and the public key
  • the second account encryption information is sent to the service center, so that the service center verifies the signature according to the public key, and after successful verification, uploads the second account password information to the blockchain network, In order to realize the management of account and password information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

一种基于区块链的密码管理方法,该方法包括:获取本地生成的包含一公钥以及一私钥的密钥对,并将公钥创建为密码管理账号(S101);接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至密码管理账号下(S002);通过预设的加密算法对接收到的待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,待添加账号信息包括网址、账号以及对应账号的密码(S103);通过所述私钥对第一账号加密信息进行数字签名,以获得签名,并将签名、第一账号加密信息以及公钥组成的第二账号加密信息发送至服务中心,以使得服务中心根据公钥对签名进行验证,并在验证成功后,将第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理(S104)。

Description

基于区块链的密码管理方法、装置、电子设备及计算机可读存储介质
本申请要求于2020年1月8日提交中国专利局、申请号为CN202010016000.6、名称为“基于区块链的密码管理方法、装置及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种基于区块链的密码管理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着信息技术和互联网的不断发展,海量网站及应用涌现出来,无论办公还是个人生活都逐渐依赖于各种各样的网络服务,且各网站及应用的账号不共享,导致用户需要在成百上千个网站和应用中进行账号密码的注册,此时,如果用户在不同网站和应用中使用同一套账号密码,一旦某个网站受到安全威胁,黑客就能通过撞库攻击让用户产生损失,而如果在每个网站和应用中注册不同的账号密码,则用户很有可能忘记。
技术问题
目前,用户为防止密码遗忘,通过将自己的不同账号密码通过某一存储介质中进行账户密码管理,例如将账号密码存储于电脑、手机以及纸质上,或者上传至云盘上等方式进行账户密码管理,发明人意识到这种账号密码管理方式容易受到外界攻击以及容易丢失,导致数据泄露和被盗取、被篡改等不安全风险。
技术解决方案
本申请提供一种基于区块链的密码管理方法,所述基于区块链的密码管理方法包括:
获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
本申请还提供一种基于区块链的密码管理装置,所述装置包括:
密钥对获取模块,用于获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
接收模块,用于接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
加密模块,用于通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
签名获取模块,用于通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
本申请还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于区块链的密码管理程序,所述基于区块链的密码管理程序被所述处理器执行时实现如下步骤:
获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的密码管理程序,所述基于区块链的密码管理程序被一个或者多个处理器执行时实现如下步骤:
获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
附图说明
图1为本申请一实施例提供的基于区块链的密码管理方法的流程示意图;
图2为本申请一实施例提供的电子设备的内部结构示意图;
图3为本申请一实施例提供的基于区块链的密码管理装置的模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
本发明的实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种基于区块链的密码管理方法。参照图1所示,为本申请一实施例提供的基于区块链的密码管理方法的流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现,本实施例中,所述电子设备为智能终端。
在本实施例中,所述基于区块链的密码管理方法包括:
S101,获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
S102,接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
S103,通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
S104,通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
在本实施例中,所述基于区块链的密码管理方法其可由电子设备来执行,特别的,由电子设备内的一个或多个处理器来执行。电子设备通过获取本地用户端通过非对称加密算法创建的非对称密钥对,将其中所述密钥对的私钥发送给用户进行保存,而将密钥对的对应的公钥作为密码管理账户,所述密钥对仅用于加解密数据,不用于发送交易。需要说明的是,所述非对称加密算法可以是RSA算法或者Elgamal算法,在此,本申请不做具体限制。其中,密钥对随机产生,能够完全隔离个人信息,实现匿名,保护了用户信息。
在本实施例中,在本实施例中所述预设的加密算法为非对称加密算法,即对接收到的所述待添加账号信息通过公钥进行加密,然后由用户保存的私钥才能进行解码,当然,需要说明的是,所述非对称加密算法包括RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等,本申请在此不再赘述。例如,对需要存储的账户假设为某网站的网站登录用户名,所述账号为网址或任意方便区别网站的名字命名的账号,比如,www.baidu.com,或者百度。对应需要存储的密码为对应网站登录密码,例如:666666。客户端通过将用户名、密码使用公钥加密生成密文,然后将密文转base64格式字符串(即进行密文JSON格式化),以获得第一账号密码信息(即第一json串)。其中,需要说明的是,输入私钥,可对所述密文进行解密。然后使用私钥对第一账号加密信息进行数字签名,以得到签名,例如对第一账号密码信息的密文“xxxxxx”使用私钥进行数字签名,得到“ssssssssssss”,然后,将对应的签名、第一账号加密信息以及所述公钥最后组合成第二账号密码信息(即第二json串),再将第二账号密码信息发送至服务中心,使用用户自己保存的私钥进行解密,明文数据不发送,传输、存储都是密文,从根本上保护了数据安全。
其中,服务中心收到用户上传链请求后,使用用户公钥进行验签,获得对应的公钥PBK、签名sign、数据data等,若在在验证成功后,将所述第二账号密码信息上传到区块链网络中,若验证失败,则说明非本人请求,拒绝处理。将请求信息存入本地数据库缓存,以用户公钥为key查询用户最新状态,将新的请求添加到最新状态中。
所述通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理的步骤包括:
所述通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息缓存至本地数据库中,并创建交易,将所述第二账号密码信息进行数据格式化后,作为备注信息放入交易中,并将所述交易上传至区块链网络中,并将返回的交易ID添加到数据库状态表。
其中,所述服务中心根据所述公钥对所述签名进行验证,如果验证失败,终止处理,返回错误。如果验证通过继续,查询服务中心缓存的待添加账号,以在查询到公钥对应的待添加账号不存在时,继续查询公钥对应最新状态交易id,如果公钥对应最新状态交易id为空,则所述待添加账号为第一次添加,将所述待添加账号数据缓存到本地数据库,并添加到accounts表。然后,使用服务中心的区块链账号,创建交易,将第二账号加密信息作为备注信息放入交易中,并发送交易,从而将第二账号加密信息上传至区块链网络中,当上传成功后,将返回的交易id添加到数据库state表。当然,如果查询服务中心缓冲的待添加账号中,存在记录,则直接将第二账号加密信息缓存到本地数据库,然后,对第二账号加密信息进行JSON格式化,,并使用服务中心区块链账户创建交易,将上第二账号加密信息作为备注信息放入交易中,并发送交易,数据上链,并将返回的交易添加到数据库state表。
所述客户端通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;所述账号加密信息包括加密密文的步骤包括:
客户端通过公钥加密分别对接收到的网址以及账号密码进行加密,以得到第一密文和第二密文;将所述第一密文以及第二密文进行拼接,以获得第一账号加密信息。
如果通过公钥分别对网址加密以及对账号密码加密,然后拿这两个密文拼接第一json串,对所述第一json串进行数字签名获得签名,将第一json串与签名以及公钥再拼接成第二json串,最后传输的是第二json串,并发给服务中心,通过对第一json串进行加密,形成一个数字化的签名文本,服务中心就可以利用签名文本对所述第一json串进行验证,从而确认第一json串是由对应的账户签名,并且内容没有被篡改。
在本实施例中,所述区块(Block)是一个存储单元,各个区块之间通过随机散列(也称哈希算法)实现链接(chain),后一个区块的区块头(区块的头部)包含前一个区块的哈希值,从而实现区块与区块相继接续,形成区块链。区块链(Blockchain),多个节点通过一串使用密码学方法相关联产生区块,区块采用“区块头+区块体”的结构,区块头中用于验证记录数据的有效性的数据、以及前一个区块的索引数据,区块体中包含了一定时间内的记录数据。
从功能结构上讲,区块链是一群分散的节点运行的分布式数据库,用以存储各种记录数据如虚拟货币交易的记录数据。从数据结构层面上讲,区块链中包括一系列的区块,新区块一旦加入到区块链中就不会再被移走,区块中包含了记录数据,用于验证记录数据的有效性(防伪)和生成下一个区块。以本申请为例,所述服务中心将第二账号密码信息上传到区块链网络中,所述第二账号密码信息依赖于运行区块链中节点的确认,当第二账号密码信息被一节点首次确认时,对第二账号密码信息将被添加到区块链中的最新区块,将所述区块发送至区块链网络中的其他节点进行认证,以使得在通过认证后,确认生成的区块的有效,并添加到区块链上,当在足够的区块中得到确认时,此时数据不可逆转和篡改。
所述将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息通过所述服务中心上传到区块链网络中,以实现对账号密码信息的管理的步骤之后,还包括:
将所述账号密码添加请求发送至所述服务中心,以使得所述服务中心根据所述账号密码添加请求,解析第二账号密码信息,以获得公钥、加密密文以及签名,并使用公钥对待添加账号密码进行所述签名验证,当所述签名验证通过时,则查询所述公钥对应账号是否存在,当查询所述公钥对应账号不存在时,则查询公钥对应最新状态交易ID,当所述最新状态交易ID为空时,则将所述账号添加到账号列表中。
所述基于区块链的密码管理方法还包括:当客户端接收到所述用户发送的账号密码更新请求时,根据所述账号密码更新请求获取待更新账号密码信息,并更新所述账号密码信息;
将更新后的所述账号密码信息通过所述服务中心发送至区块链网络中,以在经过区块链网络中的其他节点验证后,生成与当前服务中心对应的区块。
如果账号密码更新请求只能修改账号密码,通过输入新的密码(明文),比如999999,提交后,公钥先加密明文”999999”再转base64格式得密文:xxxxxxx,然后组合成json串:再使用私钥签名上面json串,得sssssssss,最后组合json串,服务中心接收到更新的请求后,解析json串,获得公钥、签名、账号密码以及密文,使用公钥进行验签,如果验签失败,终止处理,返回错误。如果验签通过继续,更新对应数据库缓存即accounts表,将公钥对应缓存的数据格式化为json串,然后使用服务中心区块链账户创建交易,将上述json串放入交易备注信息,发送交易,数据上链,并将返回的交易id添加到数据库state表。
其中,当客户端接收到所述用户发送的账号密码查询请求、查看账户列表时,发送请求:{"pbk":"公钥16进制字符串"}从服务中心拉取数据(密文):在客户端本地,使用私钥解密名字、账户,并本地缓存明文,需要查看密码时,点击查看按钮,私钥实时进行解密显示,密码明文不缓存。服务中心接受到查询请求,解析json串,获得公钥pbk,查询数据库缓存即accounts表公钥对应数据,组合成json字符串返回给用户。
其中,当客户端接收到所述用户发送的账号密码删除请求时,点击删除,因为客户端缓存了密文,所以不用加密,会先组合成json串,然后再使用私钥对上面json串签名得,sssssssssssss,最后最合成json串,最后发送到服务中心,服务中心则解析json串,获得公钥pbk、签名sign、数据data,使用公钥进行验签,如果验签失败,终止处理,返回错误。如果验签通过继续,删除对应数据库缓存即accounts表数据,将公钥对应缓存的数据格式化为json串,然后使用服务中心区块链账户创建交易,将上述json串放入交易备注信息,发送交易,数据上链,并将返回的交易id添加到数据库state表。
本申请提供的基于区块链的密码管理方法、装置、电子设备及计算机可读存储介质以将公钥作为密码管理账号,并在接收到所述用户发送的账号密码添加请求时,获取所述用户输入的待添加账号密码信息,并添加至所述密码管理账号下,然后通过公钥加对接收到的所述待添加账号密码信息进行加密,得到对应的账号密码加密信息;其中,所述账号密码加密信息包括网站地址、签名以及密文;然后通过私钥进行签名验证,在签名验证通过时,将所述账号密码加密信息通过服务中心上传到所述区块链网络中,以实现对所述账号密码信息的管理。从而通过一个公钥生成的密码管理账号对用户多个个人账号密码信息进行管理,提高了账号密码防丢失、防篡改、防窃取的概率,进而提高了基于区块链的账号密码管理的安全性。
本申请还提供一种电子设备1。参照图2所示,为本申请一实施例提供的电子设备1的内部结构示意图。
在本实施例中,电子设备1可以是电脑、智能终端或服务器。所述电子设备1至少包括存储器11、处理器13,通信总线15以及网络接口17。在本实施例中,所述电子设备1为智能终端。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子设备1的内部存储单元,例如所述电子设备1的硬盘。存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于区块链的密码管理程序111的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以是一中央处理器(Central Processing Unit, CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。
通信总线15用于实现这些组件之间的连接通信。
网络接口17可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在电子设备1与其他电子设备之间建立通信连接。
可选地,电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11~17的电子设备1,本领域技术人员可以理解的是,图2示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的电子设备1的实施例中,存储器11中存储有基于区块链的密码管理程序111;处理器13执行存储器11中存储的基于区块链的密码管理程序111时实现如下步骤:
S101,获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
S102,接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
S103,通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
S104,通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
在本实施例中,所述基于区块链的密码管理方法其可由电子设备1来执行,特别的,由电子设备1内的一个或多个处理器来执行。电子设备1通过获取本地用户端通过非对称加密算法创建的非对称密钥对,将其中所述密钥对的私钥发送给用户进行保存,而将密钥对的对应的公钥作为密码管理账户,所述密钥对仅用于加解密数据,不用于发送交易。需要说明的是,所述非对称加密算法可以是RSA算法或者Elgamal算法,在此,本申请不做具体限制。其中,密钥对随机产生,能够完全隔离个人信息,实现匿名,保护了用户信息。
在本实施例中,在本实施例中所述预设的加密算法为非对称加密算法,即对接收到的所述待添加账号信息通过公钥进行加密,然后由用户保存的私钥才能进行解码,当然,需要说明的是,所述非对称加密算法包括RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等,本申请在此不再赘述。例如,对需要存储的账户假设为某网站的网站登录用户名,所述账号为网址或任意方便区别网站的名字命名的账号,比如,www.baidu.com,或者百度。对应需要存储的密码为对应网站登录密码,例如:666666。客户端通过将用户名、密码使用公钥加密生成密文,然后将密文转base64格式字符串(即进行密文JSON格式化),以获得第一账号密码信息(即第一json串)。其中,需要说明的是,输入私钥,可对所述密文进行解密。然后使用私钥对第一账号加密信息进行数字签名,以得到签名,例如对第一账号密码信息的密文“xxxxxx”使用私钥进行数字签名,得到“ssssssssssss”,然后,将对应的签名、第一账号加密信息以及所述公钥最后组合成第二账号密码信息(即第二json串),再将第二账号密码信息发送至服务中心,使用用户自己保存的私钥进行解密,明文数据不发送,传输、存储都是密文,从根本上保护了数据安全。
其中,服务中心收到用户上传链请求后,使用用户公钥进行验签,获得对应的公钥PBK、签名sign、数据data等,若在在验证成功后,将所述第二账号密码信息上传到区块链网络中,若验证失败,则说明非本人请求,拒绝处理。将请求信息存入本地数据库缓存,以用户公钥为key查询用户最新状态,将新的请求添加到最新状态中。
所述通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理的步骤包括:
所述通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息缓存至本地数据库中,并创建交易,将所述第二账号密码信息进行数据格式化后,作为备注信息放入交易中,并将所述交易上传至区块链网络中,并将返回的交易ID添加到数据库状态表。
其中,所述服务中心根据所述公钥对所述签名进行验证,如果验证失败,终止处理,返回错误。如果验证通过继续,查询服务中心缓存的待添加账号,以在查询到公钥对应的待添加账号不存在时,继续查询公钥对应最新状态交易id,如果公钥对应最新状态交易id为空,则所述待添加账号为第一次添加,将所述待添加账号数据缓存到本地数据库,并添加到accounts表。然后,使用服务中心的区块链账号,创建交易,将第二账号加密信息作为备注信息放入交易中,并发送交易,从而将第二账号加密信息上传至区块链网络中,当上传成功后,将返回的交易id添加到数据库state表。当然,如果查询服务中心缓冲的待添加账号中,存在记录,则直接将第二账号加密信息缓存到本地数据库,然后,对第二账号加密信息进行JSON格式化,,并使用服务中心区块链账户创建交易,将上第二账号加密信息作为备注信息放入交易中,并发送交易,数据上链,并将返回的交易添加到数据库state表。
所述客户端通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;所述账号加密信息包括加密密文的步骤包括:
客户端通过公钥加密分别对接收到的网址以及账号密码进行加密,以得到第一密文和第二密文;将所述第一密文以及第二密文进行拼接,以获得第一账号加密信息。
如果通过公钥分别对网址加密以及对账号密码加密,然后拿这两个密文拼接第一json串,对所述第一json串进行数字签名获得签名,将第一json串与签名以及公钥再拼接成第二json串,最后传输的是第二json串,并发给服务中心,通过对第一json串进行加密,形成一个数字化的签名文本,服务中心就可以利用签名文本对所述第一json串进行验证,从而确认第一json串是由对应的账户签名,并且内容没有被篡改。
在本实施例中,所述区块(Block)是一个存储单元,各个区块之间通过随机散列(也称哈希算法)实现链接(chain),后一个区块的区块头(区块的头部)包含前一个区块的哈希值,从而实现区块与区块相继接续,形成区块链。区块链(Blockchain),多个节点通过一串使用密码学方法相关联产生区块,区块采用“区块头+区块体”的结构,区块头中用于验证记录数据的有效性的数据、以及前一个区块的索引数据,区块体中包含了一定时间内的记录数据。
从功能结构上讲,区块链是一群分散的节点运行的分布式数据库,用以存储各种记录数据如虚拟货币交易的记录数据。从数据结构层面上讲,区块链中包括一系列的区块,新区块一旦加入到区块链中就不会再被移走,区块中包含了记录数据,用于验证记录数据的有效性(防伪)和生成下一个区块。以本申请为例,所述服务中心将第二账号密码信息上传到区块链网络中,所述第二账号密码信息依赖于运行区块链中节点的确认,当第二账号密码信息被一节点首次确认时,对第二账号密码信息将被添加到区块链中的最新区块,将所述区块发送至区块链网络中的其他节点进行认证,以使得在通过认证后,确认生成的区块的有效,并添加到区块链上,当在足够的区块中得到确认时,此时数据不可逆转和篡改。
所述将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息通过所述服务中心上传到区块链网络中,以实现对账号密码信息的管理的步骤之后,还包括:
将所述账号密码添加请求发送至所述服务中心,以使得所述服务中心根据所述账号密码添加请求,解析第二账号密码信息,以获得公钥、加密密文以及签名,并使用公钥对待添加账号密码进行所述签名验证,当所述签名验证通过时,则查询所述公钥对应账号是否存在,当查询所述公钥对应账号不存在时,则查询公钥对应最新状态交易ID,当所述最新状态交易ID为空时,则将所述账号添加到账号列表中。
所述基于区块链的密码管理方法还包括:当客户端接收到所述用户发送的账号密码更新请求时,根据所述账号密码更新请求获取待更新账号密码信息,并更新所述账号密码信息;
将更新后的所述账号密码信息通过所述服务中心发送至区块链网络中,以在经过区块链网络中的其他节点验证后,生成与当前服务中心对应的区块。
如果账号密码更新请求只能修改账号密码,通过输入新的密码(明文),比如999999,提交后,公钥先加密明文”999999”再转base64格式得密文:xxxxxxx,然后组合成json串:再使用私钥签名上面json串,得sssssssss,最后组合json串,服务中心接收到更新的请求后,解析json串,获得公钥、签名、账号密码以及密文,使用公钥进行验签,如果验签失败,终止处理,返回错误。如果验签通过继续,更新对应数据库缓存即accounts表,将公钥对应缓存的数据格式化为json串,然后使用服务中心区块链账户创建交易,将上述json串放入交易备注信息,发送交易,数据上链,并将返回的交易id添加到数据库state表。
其中,当客户端接收到所述用户发送的账号密码查询请求、查看账户列表时,发送请求:{"pbk":"公钥16进制字符串"}从服务中心拉取数据(密文):在客户端本地,使用私钥解密名字、账户,并本地缓存明文,需要查看密码时,点击查看按钮,私钥实时进行解密显示,密码明文不缓存。服务中心接受到查询请求,解析json串,获得公钥pbk,查询数据库缓存即accounts表公钥对应数据,组合成json字符串返回给用户。
其中,当客户端接收到所述用户发送的账号密码删除请求时,点击删除,因为客户端缓存了密文,所以不用加密,会先组合成json串,然后再使用私钥对上面json串签名得,sssssssssssss,最后最合成json串,最后发送到服务中心,服务中心则解析json串,获得公钥pbk、签名sign、数据data,使用公钥进行验签,如果验签失败,终止处理,返回错误。如果验签通过继续,删除对应数据库缓存即accounts表数据,将公钥对应缓存的数据格式化为json串,然后使用服务中心区块链账户创建交易,将上述json串放入交易备注信息,发送交易,数据上链,并将返回的交易id添加到数据库state表。
本申请提供的基于区块链的密码管理方法、装置、电子设备及计算机可读存储介质以将公钥作为密码管理账号,并在接收到所述用户发送的账号密码添加请求时,获取所述用户输入的待添加账号密码信息,并添加至所述密码管理账号下,然后通过公钥加对接收到的所述待添加账号密码信息进行加密,得到对应的账号密码加密信息;其中,所述账号密码加密信息包括网站地址、签名以及密文;然后通过私钥进行签名验证,在签名验证通过时,将所述账号密码加密信息通过服务中心上传到所述区块链网络中,以实现对所述账号密码信息的管理。从而通过一个公钥生成的密码管理账号对用户多个个人账号密码信息进行管理,提高了账号密码防丢失、防篡改、防窃取的概率,进而提高了基于区块链的账号密码管理的安全性。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是易失性,也可以是非易失性,所述计算机可读存储介质上存储有基于区块链的密码管理程序111,所述基于区块链的密码管理程序111可被一个或多个处理器执行,以实现如下操作:
获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
本申请计算机可读存储介质具体实施方式与上述电子设备和方法各实施例基本相同,在此不作累述。
参照图3所示,为本申请基于区块链的密码管理装置100一实施例的模块示意图,该实施例中,基于区块链的密码管理装置100可以被分割为密钥对获取模块10、接收模块20、加密模块30、签名获取模块40,示例性地:
所述密钥对获取模块10,用于获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
所述接收模块20,用于接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
所述加密模块30,用于通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
所述签名获取模块40,用于通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
所述密钥对获取模块10、接收模块20、加密模块30以及签名获取模块40等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
需要说明的是,上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种基于区块链的密码管理方法,其中,所述基于区块链的密码管理方法包括:
    获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
    接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
    通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
    通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
  2. 如权利要求1所述的基于区块链的密码管理方法,其中,所述通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理的步骤包括:
    通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;
    将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息缓存至本地数据库中;
    创建交易,将所述第二账号密码信息进行数据格式化后,作为备注信息放入交易中,并将所述交易上传至区块链网络中,并将返回的交易ID添加到数据库状态表。
  3. 如权利要求1所述的基于区块链的密码管理方法,其中,所述将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息通过所述服务中心上传到区块链网络中,以实现对账号密码信息的管理的步骤之后,还包括:
    将所述账号密码添加请求发送至所述服务中心,以使得所述服务中心根据所述账号密码添加请求,解析第二账号密码信息,以获得公钥、加密密文以及签名,并使用公钥对待添加账号密码进行所述签名验证;
    当接收所述服务中心发送的所述签名验证通过时,则查询所述公钥对应账号是否存在,当查询所述公钥对应账号不存在时,则查询公钥对应最新状态交易ID,当所述最新状态交易ID为空时,则将所述账号添加到账号列表中。
  4. 如权利要求1所述的基于区块链的密码管理方法,其中,所述通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;所述账号加密信息包括加密密文的步骤包括:
    客户端通过公钥加密分别对接收到的网址以及账号密码进行加密,以得到第一密文和第二密文;
    将所述第一密文以及第二密文进行拼接,以获得第一账号加密信息。
  5. 如权利要求1所述的基于区块链的密码管理方法,其中,所述基于区块链的密码管理方法还包括:
    当客户端接收到所述用户发送的账号密码更新请求时,根据所述账号密码更新请求获取待更新账号密码信息,并更新所述账号密码信息;
    客户端将更新后的所述账号密码信息通过所述服务中心发送至区块链网络中,以在经过区块链网络中的其他节点验证后,生成与当前服务中心对应的区块。
  6. 如权利要求1-5任一项所述的基于区块链的密码管理方法,其中,所述预设的加密算法为非对称加密算法。
  7. 如权利要求6所述的基于区块链的密码管理方法,其中,在以使得所述服务中心根据所述公钥对所述签名进行验证之后,所述方法还包括:
    若所述签名验证失败,则停止处理所述请求;
    将请求信息存入本地数据库缓存,以用户公钥为key查询用户最新状态,将新的请求添加到最新状态中。
  8. 一种基于区块链的密码管理装置,其中,所述装置包括:
    密钥对获取模块,用于获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
    接收模块,用于接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
    加密模块,用于通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
    签名获取模块,用于通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
  9. 一种电子设备,其中,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于区块链的密码管理程序,所述基于区块链的密码管理程序被所述处理器执行时实现如下步骤:
    获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
    接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
    通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
    通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
  10. 如权利要求9所述的电子设备,其中,所述通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理的步骤包括:
    通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;
    将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息缓存至本地数据库中;
    创建交易,将所述第二账号密码信息进行数据格式化后,作为备注信息放入交易中,并将所述交易上传至区块链网络中,并将返回的交易ID添加到数据库状态表。
  11. 如权利要求10所述的电子设备,其中,所述将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息通过所述服务中心上传到区块链网络中,以实现对账号密码信息的管理的步骤之后,还包括:
    将所述账号密码添加请求发送至所述服务中心,以使得所述服务中心根据所述账号密码添加请求,解析第二账号密码信息,以获得公钥、加密密文以及签名,并使用公钥对待添加账号密码进行所述签名验证;
    当接收所述服务中心发送的所述签名验证通过时,则查询所述公钥对应账号是否存在,当查询所述公钥对应账号不存在时,则查询公钥对应最新状态交易ID,当所述最新状态交易ID为空时,则将所述账号添加到账号列表中。
  12. 如权利要求9所述的电子设备,其中,所述通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;所述账号加密信息包括加密密文的步骤包括:
    客户端通过公钥加密分别对接收到的网址以及账号密码进行加密,以得到第一密文和第二密文;
    将所述第一密文以及第二密文进行拼接,以获得第一账号加密信息。
  13. 如权利要求9所述的电子设备,其中,所述基于区块链的密码管理程序被所述处理器执行时还实现如下步骤:
    当客户端接收到所述用户发送的账号密码更新请求时,根据所述账号密码更新请求获取待更新账号密码信息,并更新所述账号密码信息;
    客户端将更新后的所述账号密码信息通过所述服务中心发送至区块链网络中,以在经过区块链网络中的其他节点验证后,生成与当前服务中心对应的区块。
  14. 如权利要求9-13任一项所述的电子设备,其中,所述预设的加密算法为非对称加密算法。
  15. 如权利要求14所述的电子设备,其中,在以使得所述服务中心根据所述公钥对所述签名进行验证之后,所述基于区块链的密码管理程序被所述处理器执行时还实现如下步骤:
    若所述签名验证失败,则停止处理所述请求;
    将请求信息存入本地数据库缓存,以用户公钥为key查询用户最新状态,将新的请求添加到最新状态中。
  16. 一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有基于区块链的密码管理程序,所述基于区块链的密码管理程序被一个或者多个处理器执行时实现如下步骤:
    获取本地生成的包含一公钥以及一私钥的密钥对,并将所述公钥创建为密码管理账号;
    接收到用户发送的账号密码添加请求时,获取用户输入的待添加账号信息,并添加至所述密码管理账号下;
    通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的包括加密密文的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;
    通过所述私钥对所述第一账号加密信息进行数字签名,以获得签名,并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理。
  17. 如权利要求16所述的计算机可读存储介质,其中,所述通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;并将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息上传到区块链网络中,以实现对账号密码信息的管理的步骤包括:
    通过所述私钥对所述第一账号加密信息行数字签名,以获得签名;
    将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息缓存至本地数据库中;
    创建交易,将所述第二账号密码信息进行数据格式化后,作为备注信息放入交易中,并将所述交易上传至区块链网络中,并将返回的交易ID添加到数据库状态表。
  18. 如权利要求16所述的计算机可读存储介质,其中,所述将所述签名、所述第一账号加密信息以及所述公钥组成的第二账号加密信息发送至服务中心,以使得所述服务中心根据所述公钥对所述签名进行验证,并在验证成功后,将所述第二账号密码信息通过所述服务中心上传到区块链网络中,以实现对账号密码信息的管理的步骤之后,所述基于区块链的密码管理程序被一个或者多个处理器执行时还实现如下步骤:
    将所述账号密码添加请求发送至所述服务中心,以使得所述服务中心根据所述账号密码添加请求,解析第二账号密码信息,以获得公钥、加密密文以及签名,并使用公钥对待添加账号密码进行所述签名验证;
    当接收所述服务中心发送的所述签名验证通过时,则查询所述公钥对应账号是否存在,当查询所述公钥对应账号不存在时,则查询公钥对应最新状态交易ID,当所述最新状态交易ID为空时,则将所述账号添加到账号列表中。
  19. 如权利要求16所述的计算机可读存储介质,其中,所述通过预设的加密算法对接收到的所述待添加账号信息进行加密,得到对应的第一账号加密信息;其中,所述待添加账号信息包括网址、账号以及对应账号的密码;所述账号加密信息包括加密密文的步骤包括:
    客户端通过公钥加密分别对接收到的网址以及账号密码进行加密,以得到第一密文和第二密文;
    将所述第一密文以及第二密文进行拼接,以获得第一账号加密信息。
  20. 如权利要求16所述的计算机可读存储介质,其中,所述基于区块链的密码管理程序被一个或者多个处理器执行时还实现如下步骤:
    当客户端接收到所述用户发送的账号密码更新请求时,根据所述账号密码更新请求获取待更新账号密码信息,并更新所述账号密码信息;
    客户端将更新后的所述账号密码信息通过所述服务中心发送至区块链网络中,以在经过区块链网络中的其他节点验证后,生成与当前服务中心对应的区块。
PCT/CN2020/106007 2020-01-08 2020-07-30 基于区块链的密码管理方法、装置、电子设备及计算机可读存储介质 WO2021139140A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010016000.6A CN111241533A (zh) 2020-01-08 2020-01-08 基于区块链的密码管理方法、装置及计算机可读存储介质
CN202010016000.6 2020-01-08

Publications (1)

Publication Number Publication Date
WO2021139140A1 true WO2021139140A1 (zh) 2021-07-15

Family

ID=70872244

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/106007 WO2021139140A1 (zh) 2020-01-08 2020-07-30 基于区块链的密码管理方法、装置、电子设备及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN111241533A (zh)
WO (1) WO2021139140A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935018A (zh) * 2021-12-16 2022-01-14 飞腾信息技术有限公司 密码运算方法、片上系统及计算机设备

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241533A (zh) * 2020-01-08 2020-06-05 深圳壹账通智能科技有限公司 基于区块链的密码管理方法、装置及计算机可读存储介质
CN112148284A (zh) * 2020-09-24 2020-12-29 普华云创科技(北京)有限公司 一种通用型区块链软件开发工具包
CN112365263A (zh) * 2020-11-12 2021-02-12 湖南智慧政务区块链科技有限公司 一种区块链账号管理互通方法、装置、设备及存储介质
CN112507326B (zh) * 2020-12-16 2023-11-28 平安国际智慧城市科技股份有限公司 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备
CN112581285B (zh) * 2020-12-28 2022-12-09 上海万向区块链股份公司 一种股权交易系统中基于区块链的账户生成方法、系统及介质
US11893141B2 (en) * 2021-02-18 2024-02-06 PUFsecurity Corporation Method and control circuit for managing information of electronic device
CN113468496A (zh) * 2021-07-26 2021-10-01 永旗(北京)科技有限公司 一种基于区块链的密码信息处理方法
CN113726888B (zh) * 2021-08-31 2023-07-21 安天科技集团股份有限公司 基于区块链的密码数据处理方法、装置、电子设备及介质
CN114422132B (zh) * 2022-03-29 2022-08-26 天聚地合(苏州)科技股份有限公司 基于区块链的账号登录方法及系统
CN114969808B (zh) * 2022-05-07 2023-09-19 中移互联网有限公司 一种账号的管理方法、装置、电子设备及存储介质
CN115086041A (zh) * 2022-06-16 2022-09-20 北京天融信网络安全技术有限公司 账号管理方法、装置、电子设备和计算机可读存储介质
CN115426331B (zh) * 2022-08-30 2024-03-22 中国工商银行股份有限公司 邮件传输方法、装置、计算机设备和存储介质
CN117611330B (zh) * 2024-01-23 2024-04-09 天津金城银行股份有限公司 一种征信数据处理系统、方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180294966A1 (en) * 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. Blockchain-based digital identity management method
CN109359976A (zh) * 2018-09-06 2019-02-19 深圳大学 基于区块链的账号密码管理方法、装置、设备及存储介质
CN109523255A (zh) * 2018-11-21 2019-03-26 利尔·契夫 一种基于区块链的钱包账号管理系统
CN109983466A (zh) * 2018-09-27 2019-07-05 区链通网络有限公司 一种基于区块链的账户管理系统以及管理方法、存储介质
CN111241533A (zh) * 2020-01-08 2020-06-05 深圳壹账通智能科技有限公司 基于区块链的密码管理方法、装置及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180294966A1 (en) * 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. Blockchain-based digital identity management method
CN109359976A (zh) * 2018-09-06 2019-02-19 深圳大学 基于区块链的账号密码管理方法、装置、设备及存储介质
CN109983466A (zh) * 2018-09-27 2019-07-05 区链通网络有限公司 一种基于区块链的账户管理系统以及管理方法、存储介质
CN109523255A (zh) * 2018-11-21 2019-03-26 利尔·契夫 一种基于区块链的钱包账号管理系统
CN111241533A (zh) * 2020-01-08 2020-06-05 深圳壹账通智能科技有限公司 基于区块链的密码管理方法、装置及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935018A (zh) * 2021-12-16 2022-01-14 飞腾信息技术有限公司 密码运算方法、片上系统及计算机设备

Also Published As

Publication number Publication date
CN111241533A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
WO2021139140A1 (zh) 基于区块链的密码管理方法、装置、电子设备及计算机可读存储介质
CN109862041B (zh) 一种数字身份认证方法、设备、装置、系统及存储介质
US11777911B1 (en) Presigned URLs and customer keying
US20240126895A1 (en) Data security using request-supplied keys
US20210367795A1 (en) Identity-Linked Authentication Through A User Certificate System
CN109951489B (zh) 一种数字身份认证方法、设备、装置、系统及存储介质
US20200213283A1 (en) Key rotation techniques
US10911457B2 (en) Immediate policy effectiveness in eventually consistent systems
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
CN106650344B (zh) 一种基于区块链的有第三方认证的数据存储方法
CN110417750B (zh) 基于区块链技术的文件读取和存储的方法、终端设备和存储介质
EP3585032B1 (en) Data security service
WO2020073513A1 (zh) 基于区块链的用户认证方法及终端设备
CN111294203B (zh) 信息传输方法
CN110445840B (zh) 一种基于区块链技术的文件存储和读取的方法
CN111968714B (zh) 用于区块链的电子病历的处理方法、装置、系统和介质
CN113434882A (zh) 应用程序的通讯保护方法、装置、计算机设备及存储介质
CN116015846A (zh) 身份认证方法、装置、计算机设备和存储介质
TWM591661U (zh) 數位身分管理系統
TWI727474B (zh) 數位身分管理系統及方法
KR102209531B1 (ko) 클라우드 환경에서 인증서 및 개인키의 저장 방법 및 그 인증서 및 개인키를 다운로드 하는 방법
CN115589305A (zh) 一种车控数据的处理方法、装置、设备及介质
CN115603979A (zh) 数据传输认证方法、装置、存储介质及计算机设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20911476

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 07.11.2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20911476

Country of ref document: EP

Kind code of ref document: A1