CN111431728B - User group management method of distributed application program - Google Patents

User group management method of distributed application program Download PDF

Info

Publication number
CN111431728B
CN111431728B CN202010239067.6A CN202010239067A CN111431728B CN 111431728 B CN111431728 B CN 111431728B CN 202010239067 A CN202010239067 A CN 202010239067A CN 111431728 B CN111431728 B CN 111431728B
Authority
CN
China
Prior art keywords
user
block
target
user group
node
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202010239067.6A
Other languages
Chinese (zh)
Other versions
CN111431728A (en
Inventor
周开班
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010239067.6A priority Critical patent/CN111431728B/en
Publication of CN111431728A publication Critical patent/CN111431728A/en
Application granted granted Critical
Publication of CN111431728B publication Critical patent/CN111431728B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Abstract

The application discloses a user group management method and a system of a distributed application program, wherein different users can be divided into corresponding user groups according to a block cipher and keys of the respective user groups are used. The user node is operated by all distributed application programs in the user group, encrypted by the key, recorded as a third target block and stored in the distributed system. And in the case that the third target block is detected, other user nodes in the user group decrypt the third target block through the operation key. Therefore, only the user of the user group can acquire the information of the user group, and the information is not disclosed.

Description

User group management method of distributed application program
Technical Field
The present disclosure relates to the field of blockchain technologies, and in particular, to a method and a system for managing a user group of a distributed application program.
Background
The distributed application (Decentralized Application, DApp) is an internet application, which differs most from conventional applications in that: the DApp runs on a decentralised network, namely a blockchain network, and the DApp can be completely controlled by the nodes without decentralization in the network; whereas conventional applications are centralized, a server is required to obtain data, process data, etc. Blockchains are the underlying environment for applications to run relative to DApp.
In some application scenarios, we want only a part of users to participate, so users need to be classified into user groups. For example, a company has A, B, C departments, each of which is not intended to be disclosed to other users when conducting lottery activities alone. Therefore, a user group management method of a distributed application is necessary to properly manage information of a user group.
Disclosure of Invention
The application provides a user group management method and system of a distributed application program, which can divide different users into corresponding user groups according to a block password, and record and encrypt and decrypt a third target block of all application operations in the user groups through keys of the respective user groups, so that only users of the user groups can acquire information of the user groups.
In a first aspect, a method for managing a user group of a distributed application program is provided, including:
the target user node generates a first target block according to the operation of inputting the block password in the distributed application program;
under the condition that the first target block is detected, all user nodes in the distributed system acquire the block passwords from the first target block, and divide the target users into corresponding user groups according to the block passwords;
a user node of the same user group in the distributed system generates a second target block according to the operation of confirming that the target user enters the user group, and the second target block is stored in the distributed system;
and under the condition that the second target block is detected, the target user enters the user group, an operation key of the user group is obtained, each user group corresponds to one operation key, and the operation key can encrypt or decrypt any distributed application program operation performed in the user group.
In an alternative embodiment, any operation of the distributed application program by the target user node in the user group is encrypted by the operation key and then recorded as a corresponding third target block, and the third target block is stored in the distributed system.
In an alternative embodiment, in the case that the third target block is detected, other user nodes in the user group decrypt the third target block through the operation key, and acquire the operation of the target user.
In an optional implementation manner, the dividing the target user into the corresponding user groups according to the block passwords includes dividing the target user into the user groups corresponding to the entry passwords when the block passwords input by the target user are consistent with the entry passwords, and each user group corresponds to only one entry password.
In an alternative embodiment, before the target user node generates the first target block according to the operation of entering the block cipher in the distributed application, the method further includes: the target user node receives the block ciphers transmitted from other user nodes.
In an alternative embodiment, any operation of the distributed application program by the target user node within the user group includes: the target user node initiates lottery drawing operation in the user group and outputs the number of winners; the target user node randomly selects winning users from the user group according to the number of winning persons to form a winning list; the winning list is recorded as a winning block after being encrypted by the operation key, and is stored in the distributed system.
In an alternative embodiment, in case the winning block is detected, all user nodes in the user group decrypt the winning block by means of the operation key, and obtain the winning list.
In an alternative embodiment, any operation of the distributed application program by the target user node within the user group includes: the target user node initiates a lottery operation within the user group, the method further comprising: under the condition that the third target block is detected, all user nodes in the user group decrypt the third target block through the operation key to acquire the lottery drawing operation; and all user nodes in the user group input willing to participate or unwilling to participate in the operation, and the willing to participate in the operation is recorded as a willing block after being encrypted by the operation key and is stored in the distributed system.
In an optional implementation manner, in the case that the willingness block is detected, the target user node decrypts the willingness block through the operation key to obtain the user list willing to participate; the user node inputs the number of the winnings, and randomly selects a winning list from the user list willing to participate according to the number of the winnings; the prize winning list is recorded as a prize winning block after being encrypted by the operation key and is stored in the distributed system; and under the condition that the winning block is detected, all user nodes in the user group decrypt the winning block through the operation key to acquire the winning list.
In a second aspect, a user group management system for a distributed application program is provided, including:
a target user node for: generating a first target block according to the operation of inputting a block cipher in a distributed application program, and storing the first target block in a distributed system; under the condition that the second target block is detected, the target user enters the user group, and an operation key of the user group is obtained;
all user nodes in the distributed system for: under the condition that the first target block is detected, acquiring the block password from the first target block, and dividing the target users into corresponding user groups according to the block password;
a user node of the same user group in a distributed system for: and generating a second target block according to the operation of confirming that the target user enters the user group, and storing the second target block in a distributed system.
In a third aspect, there is provided a computer storage medium storing one or more instructions adapted to be loaded by a processor and to perform the steps of the first aspect and any one of its possible implementations described above.
The application discloses a user group management method and a system of a distributed application program, wherein different users can be divided into corresponding user groups according to a block cipher and keys of the respective user groups are used. The user node is operated by all distributed application programs in the user group, encrypted by the key, recorded as a third target block and stored in the distributed system. And in the case that the third target block is detected, other user nodes in the user group decrypt the third target block through the operation key. Therefore, only the user of the user group can acquire the information of the user group, and the information is not disclosed.
Drawings
In order to more clearly describe the technical solutions in the embodiments or the background of the present application, the following description will describe the drawings that are required to be used in the embodiments or the background of the present application.
Fig. 1A is a schematic structural diagram of a data sharing system according to an embodiment of the present application;
FIG. 1B is a block chain architecture diagram according to one embodiment of the present disclosure;
FIG. 1C is a schematic diagram illustrating node interactions of a blockchain provided in an embodiment of the present application;
fig. 2A is a flowchart of a method for managing a user group of a distributed application according to an embodiment of the present application;
fig. 2B is a flowchart of another method for user group management of a distributed application according to an embodiment of the present application;
fig. 3A is a flowchart of another method for user group management of a distributed application according to an embodiment of the present application;
FIG. 3B is a flowchart illustrating another method for user group management of a distributed application according to an embodiment of the present disclosure;
fig. 3C is a schematic structural diagram of a user group management system of a distributed application according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the present application solution better understood by those skilled in the art, the following description will clearly and completely describe the technical solution in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
The terms first, second and the like in the description and in the claims of the present application and in the above-described figures, are used for distinguishing between different objects and not for describing a particular sequential order. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present application. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments.
Referring to the data sharing system shown in fig. 1A, the data sharing system 100 refers to a system for performing data sharing between nodes, and may include a plurality of nodes 101, where the plurality of nodes 101 may be respective clients in the data sharing system. Each node 101 may receive input information while operating normally and maintain shared data within the data sharing system based on the received input information. In order to ensure the information intercommunication in the data sharing system, information connection can exist between each node in the data sharing system, and the nodes can transmit information through the information connection. For example, when any node in the data sharing system receives input information, other nodes in the data sharing system can acquire the input information according to a consensus algorithm, and store the input information as data in shared data, so that the data stored on all nodes in the data sharing system are consistent.
Each node in the data sharing system has a node identifier corresponding to the node identifier, and each node in the data sharing system can store the node identifiers of other nodes in the data sharing system, so that the generated block can be broadcast to other nodes in the data sharing system according to the node identifiers of other nodes. Each node can maintain a node identification list shown in the following table, and the node names and the node identifications are correspondingly stored in the node identification list. The node identifier may be an IP (Internet Protocol, protocol of interconnection between networks) address, and any other information that can be used to identify the node, and the IP address is only illustrated in table 1.
Node name Node identification
Node 1 117.114.151.174
Node 2 117.116.189.145
Node N 119.123.789.258
Each node in the data sharing system stores one and the same blockchain. The blockchain is composed of a plurality of blocks, referring to fig. 1B, the blockchain is composed of a plurality of blocks, the starting block comprises a block head and a block main body, the block head stores an input information characteristic value, a version number, a time stamp and a difficulty value, and the block main body stores input information; the next block of the starting block takes the starting block as a father block, the next block also comprises a block head and a block main body, the block head stores the input information characteristic value of the current block, the block head characteristic value of the father block, the version number, the timestamp and the difficulty value, and the like, so that the block data stored in each block in the block chain are associated with the block data stored in the father block, and the safety of the input information in the block is ensured.
For a better explanation of the method in the embodiment of the present application, refer to fig. 1C, and fig. 1C is a schematic node interaction diagram of a blockchain according to the embodiment of the present application. As shown in fig. 1C, a plurality of user nodes may be disposed in the data sharing system to perform a user group management method of a distributed application of the present application. Each user node can be understood as a user side terminal, and the user side terminal is a client of a user through a distributed application program, wherein the user node 1, the user node 2, the user node 3 and the user node 4 belong to members of the user group 1, and application operations performed by the user node 1 in the user group 1 can only communicate keys in the user group 1 to perform decryption acquisition. For these application operations, the user nodes 5 and 6 not belonging to the user group 1 are not available for decryption.
Embodiments of the present application are described below with reference to the accompanying drawings in the embodiments of the present application.
Referring to fig. 2A, fig. 2A is a flowchart illustrating a method for managing a user group of a distributed application according to an embodiment of the present application. The method may include:
201. the target user node generates a first target block according to the operation of inputting the block cipher in the distributed application program.
In the embodiment of the present application, the user node may be a terminal (client) used by a user side. In particular implementations, the above-described terminal may also be referred to as a terminal device, including but not limited to other portable devices such as mobile phones, laptop computers, or tablet computers having a touch-sensitive surface (e.g., a touch screen display and/or a touch pad), positioning services and navigation functions may be implemented by application programs. It should also be appreciated that in some embodiments, the device is not a portable communication device, but a desktop computer having a touch-sensitive surface (e.g., a touch screen display and/or a touch pad).
The block cipher may be a two-dimensional code or a digital number, such as a common invitation code. The target user applies for entering the corresponding user group by entering the block cipher, such as by scanning the invitation code with a mobile phone, or by directly entering the number corresponding to the user group in the distributed application.
In an alternative embodiment, before the target user node generates the first target block, the method further comprises: the target user node receives the block ciphers transmitted from the other user nodes.
For example, as shown in FIG. 1C, user node 2 in user group 1 sends user node 6 an invite code "123456" of user group 1 to invite user node 6 to enter user group 1. The user node 6 applies to enter the corresponding user group 1 by entering the invite code "123456" corresponding to the user group in the distributed application.
202. Under the condition that the first target block is detected, all user nodes in the distributed system acquire the block passwords from the first target block, and the target users are divided into corresponding user groups according to the block passwords.
In this document, a password is a sequence of symbols that conceals the actual content.
In an alternative embodiment, dividing the target user into the corresponding user groups according to the block passwords includes dividing the target user into the user groups corresponding to the entry passwords when the block passwords input by the target user are consistent with the entry passwords, and each user group corresponds to only one entry password.
For example, as shown in fig. 1C, if the user node 1 inputs the block password "123456" in the distributed application, and the entry password corresponding to the user group 1 is "123456", the block password is the same as the entry password, and the user node 1 is divided into the user group 1.
203. And generating a second target block by the user nodes of the same user group in the distributed system according to the operation of confirming that the target user enters the user group, and storing the second target block in the distributed system.
In the embodiment of the present application, the other user nodes of the user group confirm the operation of entering the user group by the target user, i.e. agree that the target user enters the user group.
204. Under the condition that the second target block is detected, the target user enters a user group, an operation key of the user group is obtained, each user group corresponds to one operation key, and the operation key can encrypt or decrypt any distributed application program operation performed in the user group.
In this document, a key is a parameter that is input in an algorithm that converts plaintext into ciphertext or converts ciphertext into plaintext. Thus the "operation key" is the user group
It will be appreciated that by entering a block cipher, the target user may apply to enter a corresponding user group. After receiving the request information, the target user can enter the user group after other user nodes in the user group input consent information.
In an alternative embodiment, before the target user node generates the first target block, the method further comprises: the target user node receives the block ciphers transmitted from the other user nodes.
In an alternative embodiment, dividing the target user into the corresponding user groups according to the block passwords includes dividing the target user into the user groups corresponding to the entry passwords when the block passwords input by the target user are consistent with the entry passwords, and each user group corresponds to only one entry password.
Fig. 2B is a flow chart of another method for managing a user group of a distributed application according to an embodiment of the present application. Compared to the method shown in fig. 2A, the method further includes:
205. any operation of the target user node in the distributed application program in the user group is recorded as a corresponding third target block after being encrypted by the operation key, and the third target block is stored in the distributed system.
206. And under the condition that the third target block is detected, other user nodes in the user group decrypt the third target block through the operation key to acquire the operation of the target user.
In one embodiment, any application operation in the user group may be encrypted or decrypted in the blockchain based on the form of a Public Key (Public Key) and a private Key (PrivateKey). The public key and the private key are a key pair (namely a public key and a private key) obtained through an algorithm, the public key is a public part of the key pair, and the private key is a non-public part. The public key is typically used to encrypt a session key, verify a digital signature, or encrypt data that may be decrypted with a corresponding private key. The key pairs obtained by this algorithm can be guaranteed to be unique worldwide. When using this key pair, if a piece of data is encrypted with one of the keys, it must be decrypted with the other key. For example, encrypting data with a public key must be decrypted with a private key, and if encrypted with a private key must also be decrypted with a public key, otherwise decryption will not succeed.
It should be appreciated that since the blockchain is a decentralized distributed database, each time data is processed, one of the servers in the blockchain network needs to be selected as an actor to process the data. The rule of each selection of the server is a Consensus mechanism, which in the embodiment of the present application may be a Proof of Work (POW), a Proof of stock (POS), a rayleigh Consensus mechanism (happle Consensus), an authorized Proof of stock mechanism (Delegated Proof of Stake, DPOS), etc., which are not limited herein.
It can be appreciated that the present application discloses a method and a system for managing a user group of a distributed application, where different users can be divided into corresponding user groups according to a block password, and keys of the respective user groups are used. All DApp operations of the user node in the user group are recorded as a third target block after being encrypted by the key, and are stored in the distributed system. And in the case that the third target block is detected, other user nodes in the user group decrypt the third target block through the operation key. Therefore, only the user of the user group can acquire the information of the user group, and the information is not disclosed.
For example, as shown in fig. 1C, the user node 1, the user node 2, the user node 3 and the user node 4 belong to members of the user group 1, and the application operation performed in the user group 1 can only communicate with the key in the user group 1 to perform decryption and acquisition. For these application operations, the user nodes 5 and 6 not belonging to the user group 1 are not available for decryption.
Fig. 3A is a flowchart of another method for user group management of a distributed application according to an embodiment of the present application. The method may include:
301. the target user node generates a first target block according to the operation of inputting the block cipher in the distributed application program, and stores the first target block in the distributed system.
The block cipher may be a two-dimensional code or a digital number, such as a common invitation code. The target user applies for entering the corresponding user group by entering the block cipher, such as by scanning the invitation code with a mobile phone, or by directly entering the number corresponding to the user group in the distributed application.
In an alternative embodiment, before the target user node generates the first target block, the method further comprises: the target user node receives the block ciphers transmitted from the other user nodes.
For example, as shown in FIG. 1C, user node 2 in user group 1 sends user node 6 an invite code "123456" of user group 1 to invite user node 6 to enter user group 1. The user node 6 applies to enter the corresponding user group 1 by entering the invite code "123456" corresponding to the user group in the distributed application.
302. Under the condition that the first target block is detected, all user nodes in the distributed system acquire the block passwords from the first target block, and the target users are divided into corresponding user groups according to the block passwords.
In this document, a password is a sequence of symbols that conceals the actual content.
In an alternative embodiment, dividing the target user into the corresponding user groups according to the block passwords includes dividing the target user into the user groups corresponding to the entry passwords when the block passwords input by the target user are consistent with the entry passwords, and each user group corresponds to only one entry password.
For example, as shown in fig. 1C, if the user node 1 inputs the block password "123456" in the distributed application, and the entry password corresponding to the user group 1 is "123456", the block password is the same as the entry password, and the user node 1 is divided into the user group 1.
303. And generating a second target block by the user nodes of the same user group in the distributed system according to the operation of confirming that the target user enters the user group, and storing the second target block in the distributed system.
In the embodiment of the present application, the other user nodes of the user group confirm the operation of entering the user group by the target user, i.e. agree that the target user enters the user group.
304. Under the condition that the second target block is detected, the target user enters a user group, an operation key of the user group is obtained, each user group corresponds to one operation key, and the operation key can encrypt or decrypt any distributed application program operation performed in the user group.
In this document, a key is a parameter that is input in an algorithm that converts plaintext into ciphertext or converts ciphertext into plaintext. Thus the "operation key" is the user group
305. The target user node initiates lottery drawing operation in the user group, the number of winners is input, the user operation is recorded as a corresponding third target block after being encrypted by the operation key, and the third target block is stored in the distributed system.
In this embodiment, the number of winnings may be a positive integer less than or equal to the number of user nodes in the user group.
306. And under the condition that the third target block is detected, other user nodes in the user group decrypt the third target block through the operation key to acquire the operation of the target user.
In this embodiment, other user nodes in the user group decrypt the third target block through the operation key, and obtain the operation of initiating the lottery for the target user.
307. And the target user node randomly selects winning users from the user group according to the number of winning persons to form a winning list.
308. The winning list is recorded as a winning block after being encrypted by the operation key, and is stored in the distributed system.
309. In case of detecting a winning block, all user nodes in the user group decrypt the winning block by means of the operation key to obtain a winning list.
For example, as shown in fig. 1C, the user node 1 initiates a lottery operation within the user group 1, and the number of winners is 1; the user node 1 randomly selects 1 winning user from the user group 1: the user node 3 forms a winning list. The winning list is recorded as a winning block after being encrypted by the operation key, and is stored in the distributed system. In case of detecting a winning block, all user nodes in the user group 1 decrypt the winning block by means of the operation key to obtain a winning list. In the whole process, only the user nodes in the user group 1 can decrypt the information of the third target block through the secret key, and the lottery drawing initiating operation of the target user is obtained. This is not disclosed for both user node 5 and user node 6.
Fig. 3B is a flowchart of another method for user group management of a distributed application according to an embodiment of the present application. The method may include:
361. the target user node generates a first target block according to the operation of inputting the block cipher in the distributed application program, and stores the first target block in the distributed system.
The block cipher may be a two-dimensional code or a digital number, such as a common invitation code. The target user applies for entering the corresponding user group by entering the block cipher, such as by scanning the invitation code with a mobile phone, or by directly entering the number corresponding to the user group in the distributed application.
In an alternative embodiment, before the target user node generates the first target block, the method further comprises: the target user node receives the block ciphers transmitted from the other user nodes.
For example, as shown in FIG. 1C, user node 2 in user group 1 sends user node 6 an invite code "123456" of user group 1 to invite user node 6 to enter user group 1. The user node 6 applies to enter the corresponding user group 1 by entering the invite code "123456" corresponding to the user group in the distributed application.
362. Under the condition that the first target block is detected, all user nodes in the distributed system acquire the block passwords from the first target block, and the target users are divided into corresponding user groups according to the block passwords.
In this document, a password is a sequence of symbols that conceals the actual content.
In an alternative embodiment, dividing the target user into the corresponding user groups according to the block passwords includes dividing the target user into the user groups corresponding to the entry passwords when the block passwords input by the target user are consistent with the entry passwords, and each user group corresponds to only one entry password.
For example, as shown in fig. 1C, if the user node 1 inputs the block password "123456" in the distributed application, and the entry password corresponding to the user group 1 is "123456", the block password is the same as the entry password, and the user node 1 is divided into the user group 1.
363. And generating a second target block by the user nodes of the same user group in the distributed system according to the operation of confirming that the target user enters the user group, and storing the second target block in the distributed system.
In the embodiment of the present application, the other user nodes of the user group confirm the operation of entering the user group by the target user, i.e. agree that the target user enters the user group.
364. Under the condition that the second target block is detected, the target user enters a user group, an operation key of the user group is obtained, each user group corresponds to one operation key, and the operation key can encrypt or decrypt any distributed application program operation performed in the user group.
In this document, a key is a parameter that is input in an algorithm that converts plaintext into ciphertext or converts ciphertext into plaintext. Thus the "operation key" is the user group
365. The target user node initiates lottery operation in the user group, and the user operation is recorded as a corresponding third target block after being encrypted by the operation key and stored in the distributed system.
366. And under the condition that the third target block is detected, decrypting the third target block by other user nodes in the user group through the operation key to acquire lottery drawing operation of the target user. All user nodes in the user group input willing to participate or unwilling to participate in the operation, and the willing to participate in the operation is recorded as a willing block after being encrypted by an operation key and stored in the distributed system.
367. And under the condition that the willingness block is detected, the target user node decrypts the willingness block through the operation key to acquire a user list willing to participate.
368. The user node inputs the number of the winnings, and randomly selects a winning list from the list of users willing to participate according to the number of the winnings.
369. The winning list is recorded as a winning block after being encrypted by the operation key, and is stored in the distributed system.
370. In case of detecting a winning block, all user nodes in the user group decrypt the winning block by means of the operation key to obtain a winning list.
The difference from the previous embodiment is that after the target user initiates the lottery operation, it is solicited whether members in the user group are willing to participate, and the winning user is drawn among the users willing to participate.
For example, as shown in fig. 1C, user node 1 initiates a lottery operation within user group 1; user nodes 2 and 3 in user group 1 input willing to participate in the operation, while user node 4 inputs unwilling to participate in the operation, i.e., user node 4 refuses to participate in the lottery. After the number of winnings is 1, the user node 1 finally randomly screens out a winner between the user node 2 and the user node 3: such as the user node 3, forms a winning list. The winning list is recorded as a winning block after being encrypted by the operation key, and is stored in the distributed system. In case of detecting a winning block, all user nodes in the user group 1 decrypt the winning block by means of the operation key to obtain a winning list. Only the user nodes in the user group 1 can decrypt the information of the operation block through the key in the whole process, and the lottery drawing initiating operation of the target user is obtained. This is not disclosed for both user node 5 and user node 6.
Based on the description of the user group management method embodiment of the distributed application program, the embodiment of the application also discloses a user group management system of the distributed application program. Referring to fig. 3C, the user group management system 300 includes:
target user node 310 for: generating a first target block according to the operation of inputting the block cipher in the distributed application program, and storing the first target block in the distributed system; under the condition that a second target block is detected, a target user enters a user group, and an operation key of the user group is obtained;
all user nodes 320 in the distributed system for: under the condition that a first target block is detected, acquiring a block password from the first target block, and dividing target users into corresponding user groups according to the block password;
a user node 330 of the same user group in the distributed system for: and generating a second target block according to the operation of confirming that the target user enters the user group, and storing the second target block in a distributed system.
According to one embodiment of the present application, each step involved in the method shown in fig. 2A and fig. 2B may be performed by each node in the user group management system 300 shown in fig. 3C, which is not described herein.
Based on the description of the method embodiment and the apparatus embodiment, the embodiment of the present application further provides a terminal, and in one embodiment, the terminal in the embodiment of the present application may be used to perform a series of processes, including a method executable by a user node in the embodiment shown in fig. 2A and fig. 2B, and so on, which are not described herein again.
Based on the description of the method embodiment and the device embodiment, the embodiment of the application also provides electronic equipment. Referring to fig. 4, the electronic device 400 includes at least a processor 401, an input device 402, an output device 403, and a computer storage medium 404. Wherein the processor 401, input device 402, output device 403, and computer storage medium 404 in the terminal may be connected by a bus or other means.
The computer storage medium 404 may be stored in a memory of the terminal, the computer storage medium 404 is used for storing a computer program, the computer program includes program instructions, and the processor 401 is used for executing the program instructions stored in the computer storage medium 404. The processor 401 (or CPU (Central Processing Unit, central processing unit)) is a computing core and a control core of the terminal, which are adapted to implement one or more instructions, in particular to load and execute one or more instructions to implement a corresponding method flow or a corresponding function; in one embodiment, the processor 401 described above in the embodiments of the present application may be used to perform a series of processes, including the methods executable by the user node in the embodiments shown in fig. 2A and fig. 2B, and so on.
The embodiment of the application also provides a computer storage medium (Memory), which is a Memory device in the terminal and is used for storing programs and data. It will be appreciated that the computer storage medium herein may include both a built-in storage medium in the terminal and an extended storage medium supported by the terminal. The computer storage medium provides a storage space that stores an operating system of the terminal. Also stored in this memory space are one or more instructions, which may be one or more computer programs (including program code), adapted to be loaded and executed by processor 401. The computer storage medium herein may be a high-speed RAM memory or a non-volatile memory (non-volatile memory), such as at least one magnetic disk memory; optionally, at least one computer storage medium remote from the processor may be present.
In one embodiment, one or more instructions stored in a computer storage medium may be loaded and executed by processor 401 to implement the corresponding steps of the methods of the above embodiments; in specific implementations, one or more instructions in the computer storage medium may be loaded by the processor 401 and executed to perform any step of the method performed by the user node in the embodiment shown in fig. 2A and fig. 2B, which is not described herein.
It will be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working process of the apparatus and modules described above may refer to the corresponding process in the foregoing method embodiment, which is not repeated herein.
In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the division of the module is merely a logical function division, and there may be another division manner when actually implemented, for example, a plurality of modules or components may be combined or may be integrated into another system, or some features may be omitted or not performed. The coupling or direct coupling or communication connection shown or discussed with each other may be through some interface, device or module indirect coupling or communication connection, which may be in electrical, mechanical, or other form.
The modules illustrated as separate components may or may not be physically separate, and components shown as modules may or may not be physical modules, i.e., may be located in one place, or may be distributed over a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted across a computer-readable storage medium. The computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a read-only memory (ROM), or a random-access memory (random access memory, RAM), or a magnetic medium, such as a floppy disk, a hard disk, a magnetic tape, a magnetic disk, or an optical medium, such as a digital versatile disk (digital versatile disc, DVD), or a semiconductor medium, such as a Solid State Disk (SSD), or the like.

Claims (10)

1. A method for user group management of a distributed application program, comprising:
the target user node generates a first target block according to the operation of inputting the block password in the distributed application program;
under the condition that the first target block is detected, all user nodes in the distributed system acquire the block passwords from the first target block, and divide the target users into corresponding user groups according to the block passwords;
a user node of the same user group in the distributed system generates a second target block according to the operation of confirming that the target user enters the user group, and the second target block is stored in the distributed system;
and under the condition that the second target block is detected, the target user enters the user group, an operation key of the user group is obtained, each user group corresponds to one operation key, and the operation key can encrypt or decrypt any distributed application program operation performed in the user group.
2. The method according to claim 1, wherein the method further comprises:
any operation of the distributed application program by the target user node in the user group is encrypted by the operation key, and then recorded in a corresponding third target block and stored in the distributed system.
3. The method according to claim 2, wherein the method further comprises:
and under the condition that the third target block is detected, other user nodes in the user group decrypt the third target block through the operation key to acquire the operation of the target user.
4. The method of claim 1, wherein the step of determining the position of the substrate comprises,
the grouping of the target users into corresponding user groups according to the block ciphers includes,
and dividing the target user into user groups corresponding to the entering passwords under the condition that the block passwords input by the target user are consistent with the entering passwords, wherein each user group only corresponds to one entering password.
5. The method of claim 1, wherein the step of determining the position of the substrate comprises,
before the target user node generates the first target block according to the operation of inputting the block cipher in the distributed application program, the method further comprises:
the target user node receives the block ciphers transmitted from other user nodes.
6. The method of claim 2, wherein the step of determining the position of the substrate comprises,
any operation of the distributed application program by the target user node in the user group includes:
the target user node initiates lottery drawing operation in the user group and inputs the number of winners;
the method further comprises the steps of:
the target user node randomly selects winning users from the user group according to the number of winning persons to form a winning list;
the winning list is recorded as a winning block after being encrypted by the operation key, and is stored in the distributed system.
7. The method of claim 6, wherein the method further comprises:
and under the condition that the winning block is detected, all user nodes in the user group decrypt the winning block through the operation key to acquire the winning list.
8. The method of claim 2, wherein the step of determining the position of the substrate comprises,
any operation of the distributed application program by the target user node in the user group includes:
the target user node initiates a lottery operation within the user group,
the method further comprises the steps of:
under the condition that the third target block is detected, all user nodes in the user group decrypt the third target block through the operation key to acquire the lottery drawing operation;
and all user nodes in the user group input willing to participate or unwilling to participate in the operation, and the willing to participate in the operation is recorded as a willing block after being encrypted by the operation key and is stored in the distributed system.
9. The method of claim 8, wherein the method further comprises:
under the condition that the willingness block is detected, the target user node decrypts the willingness block through the operation key to acquire the user list willing to participate;
the user node inputs the number of the winnings, and randomly selects a winning list from the user list willing to participate according to the number of the winnings;
the prize winning list is recorded as a prize winning block after being encrypted by the operation key and is stored in the distributed system;
and under the condition that the winning block is detected, all user nodes in the user group decrypt the winning block through the operation key to acquire the winning list.
10. A user group management system for a distributed application program, comprising:
a target user node for: generating a first target block according to the operation of inputting a block cipher in a distributed application program, and storing the first target block in a distributed system; under the condition that a second target block is detected, the target user enters the user group, and an operation key of the user group is obtained;
all user nodes in the distributed system for: under the condition that the first target block is detected, acquiring the block password from the first target block, and dividing the target users into corresponding user groups according to the block password;
a user node of the same user group in a distributed system for: and generating a second target block according to the operation of confirming that the target user enters the user group, and storing the second target block in a distributed system.
CN202010239067.6A 2020-03-30 2020-03-30 User group management method of distributed application program Active CN111431728B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010239067.6A CN111431728B (en) 2020-03-30 2020-03-30 User group management method of distributed application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010239067.6A CN111431728B (en) 2020-03-30 2020-03-30 User group management method of distributed application program

Publications (2)

Publication Number Publication Date
CN111431728A CN111431728A (en) 2020-07-17
CN111431728B true CN111431728B (en) 2024-02-09

Family

ID=71549258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010239067.6A Active CN111431728B (en) 2020-03-30 2020-03-30 User group management method of distributed application program

Country Status (1)

Country Link
CN (1) CN111431728B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107079059A (en) * 2016-12-21 2017-08-18 深圳前海达闼云端智能科技有限公司 Block chain storage method and device and node equipment
CN109617699A (en) * 2019-01-16 2019-04-12 北京沃东天骏信息技术有限公司 A kind of key generation method, block chain network service platform and storage medium
CN109743185A (en) * 2019-03-19 2019-05-10 全链通有限公司 Group communication method, block chain node and medium based on domain name block chain
CN109981305A (en) * 2019-03-19 2019-07-05 全链通有限公司 Group communication method, equipment and computer readable storage medium
CN110445627A (en) * 2019-08-12 2019-11-12 腾讯科技(深圳)有限公司 Group updating method, apparatus, computer equipment and computer storage medium
CN110493039A (en) * 2018-08-06 2019-11-22 腾讯科技(深圳)有限公司 Device management method and equipment management system based on block chain
CN110537355A (en) * 2017-04-18 2019-12-03 区块链控股有限公司 Consensus based on secure blockchains
CN110555310A (en) * 2018-06-01 2019-12-10 厦门本能管家科技有限公司 private data secure storage and sharing method and device thereof
WO2020022599A1 (en) * 2018-07-27 2020-01-30 박기업 Node group managing device and computing device for configuring group key-based dual signature transaction structure in blockchain network

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107079059A (en) * 2016-12-21 2017-08-18 深圳前海达闼云端智能科技有限公司 Block chain storage method and device and node equipment
CN110537355A (en) * 2017-04-18 2019-12-03 区块链控股有限公司 Consensus based on secure blockchains
CN110555310A (en) * 2018-06-01 2019-12-10 厦门本能管家科技有限公司 private data secure storage and sharing method and device thereof
WO2020022599A1 (en) * 2018-07-27 2020-01-30 박기업 Node group managing device and computing device for configuring group key-based dual signature transaction structure in blockchain network
CN110493039A (en) * 2018-08-06 2019-11-22 腾讯科技(深圳)有限公司 Device management method and equipment management system based on block chain
CN109617699A (en) * 2019-01-16 2019-04-12 北京沃东天骏信息技术有限公司 A kind of key generation method, block chain network service platform and storage medium
CN109743185A (en) * 2019-03-19 2019-05-10 全链通有限公司 Group communication method, block chain node and medium based on domain name block chain
CN109981305A (en) * 2019-03-19 2019-07-05 全链通有限公司 Group communication method, equipment and computer readable storage medium
CN110445627A (en) * 2019-08-12 2019-11-12 腾讯科技(深圳)有限公司 Group updating method, apparatus, computer equipment and computer storage medium

Also Published As

Publication number Publication date
CN111431728A (en) 2020-07-17

Similar Documents

Publication Publication Date Title
US20180205547A1 (en) Method for providing security using secure computation
US20200068394A1 (en) Authentication of phone caller identity
JP4790731B2 (en) Derived seed
US7103772B2 (en) Pervasive, user-centric network security enabled by dynamic datagram switch and an on-demand authentication and encryption scheme through mobile intelligent data carriers
JP6907679B2 (en) Cryptocurrency-based event participation verification
CN110324143A (en) Data transmission method, electronic equipment and storage medium
JP2017195627A (en) Information processing apparatus, information processing method, and program
CN101965574B (en) Authentication information generation system, authentication information generation method and a client device
CN101218626A (en) Capturing contacts via people near me
WO2012140115A1 (en) Permitting access to a network
US9641328B1 (en) Generation of public-private key pairs
JP6709243B2 (en) Information processing equipment
EP3185465A1 (en) A method for encrypting data and a method for decrypting data
CN110708291B (en) Data authorization access method, device, medium and electronic equipment in distributed network
CN112953974B (en) Data collision method, device, equipment and computer readable storage medium
US20090083739A1 (en) Network resource access control methods and systems using transactional artifacts
WO2017083853A1 (en) System and method for providing secure and anonymous device-to-device communication
WO2016200594A2 (en) System, apparatus and method for secure coordination of a rendezvous point for distributed devices using entropy multiplexing
EP3561797B1 (en) Message transmission system, communication terminal, server device, message transmission method, and program
Rana et al. Secure and ubiquitous authenticated content distribution framework for IoT enabled DRM system
CN111008400A (en) Data processing method, device and system
US11139969B2 (en) Centralized system for a hardware security module for access to encryption keys
CN111431728B (en) User group management method of distributed application program
CN111078649A (en) Block chain-based on-cloud file storage method and device and electronic equipment
CN109862008B (en) Key recovery method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant