CN109302281B - Method and system for realizing social network - Google Patents

Method and system for realizing social network Download PDF

Info

Publication number
CN109302281B
CN109302281B CN201811307529.2A CN201811307529A CN109302281B CN 109302281 B CN109302281 B CN 109302281B CN 201811307529 A CN201811307529 A CN 201811307529A CN 109302281 B CN109302281 B CN 109302281B
Authority
CN
China
Prior art keywords
encrypted message
node
public key
message
signature
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
CN201811307529.2A
Other languages
Chinese (zh)
Other versions
CN109302281A (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.)
Tentoku
Original Assignee
Tentoku
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 Tentoku filed Critical Tentoku
Priority to CN201811307529.2A priority Critical patent/CN109302281B/en
Publication of CN109302281A publication Critical patent/CN109302281A/en
Application granted granted Critical
Publication of CN109302281B publication Critical patent/CN109302281B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3247Cryptographic 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 involving digital signatures

Abstract

A method and system for implementing a social network is provided. The method may comprise: generating a signature of the first node based on a private key of the first node; encrypting the first message based on the public key of the second node to obtain a first encrypted message; and broadcasting a first encrypted message, wherein the identifier of the sender of the first encrypted message comprises the public key of the first node and the signature of the first node, and the identifier of the destination of the first encrypted message is the public key of the second node. According to the method and the system, the information transmission safety can be improved, and privacy disclosure can be reduced.

Description

Method and system for realizing social network
Technical Field
The present invention relates generally to social networking technology and, more particularly, to a method and system for implementing a social network.
Background
The rapid development of the internet and various internet-related technologies brings convenience to people's lives, but also causes new problems as follows:
1. the privacy disclosure problem. Personal information security has been a worldwide concern. The social software brings convenience and hidden danger of privacy disclosure. In order to avoid privacy disclosure, some people even forgo using social software.
2. Information authenticity and reliability issues. The development of the internet improves the information transmission speed, and simultaneously, information which does not accord with the reality, fuzzy information and even bad information are transmitted in a large quantity, thereby seriously influencing the normal life. People depend on the cognitive level of individuals to discriminate information, and the judgment capability is limited, so that the false messages have space for survival and growth. In addition, the false messages flow in the internet more widely and for a longer life cycle.
3. The problem of information scattering. Social networks are an important channel for obtaining everyday information. However, the information streamed in the existing social network is not classified effectively, the information acquisition mode has contingency and limitation, and the required information cannot be acquired effectively in time.
4. The reputation evaluation system is not sound. Integrity is an important basis for communication, and an effective information evaluation mechanism is not established in the existing social network.
5. The personal information management mechanism is not sound. When an individual needs to establish contact with an institution (bank, post office, government, commercial establishment, etc.), personal information such as name, address, telephone, mailbox, etc. is often used as a means to identify the individual. Since information closely related to an individual is easily known by a third person other than the organization and the individual, and means employed by different organizations in identifying individuals are different so that individual information cannot be uniformly managed, there are problems of leakage of individual information, high organization management cost, and the like.
6. The problem of complex operation of interaction with the mechanism. When an individual interacts with different organizations, it is necessary to repeatedly submit forms that include personal information. Not only the queuing phenomenon of the bank is obvious, but also the personal operation is complicated.
Disclosure of Invention
The invention aims to provide a decentralized social network, which comprises two or more information units (nodes) managed by individuals in an autonomous mode, so that the information interaction and management efficiency, safety and reliability are improved. The basic idea of the invention comprises: the data such as personal basic information, social relations and the like belong to personal property like entity articles, and are managed by the owner in full rights.
In the present invention, decentralized means weakening the server function or breaking away from server management, communication between an information unit and an external (another) information unit; security can be ensured by asymmetric encryption techniques; information units can be directly communicated with each other to improve efficiency; the transmission (circulation) of the resource information and the credit information can be realized; the reliability of the information source can be ensured by predetermining the identity corresponding to the public key.
Exemplary embodiments of the present disclosure are directed to overcoming at least some of the disadvantages in the prior art and providing at least the following advantages.
According to an exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, the method including: generating a signature of the first node based on a private key of the first node; encrypting the first message based on the public key of the second node to obtain a first encrypted message; and broadcasting a first encrypted message, wherein the identifier of the sender of the first encrypted message comprises the public key of the first node and the signature of the first node, and the identifier of the destination of the first encrypted message is the public key of the second node.
Optionally, the method further comprises: receiving a second encrypted message; judging whether the sender identification of the second encrypted message comprises the signature and judging whether the destination identification of the second encrypted message is the public key of the first node, and forwarding the second encrypted message when the sender identification of the second encrypted message does not comprise the signature and the destination identification of the second encrypted message is not the public key of the first node; or verifying whether the public key and the signature included in the sender identifier of the second encrypted message are matched and judging whether the destination identifier of the second encrypted message is the public key of the first node, and forwarding the second encrypted message when the verification result is that the public key and the destination identifier of the second encrypted message are not the public key of the first node.
Optionally, the method further comprises: before forwarding the second encrypted message, judging whether the existence time of the second encrypted message reaches the time limit of the second encrypted message, and forwarding the second encrypted message when the existence time does not reach the time limit.
Optionally, the method further comprises: and acquiring the public key of the second node, and storing the public key of the second node in the relation list of the first node.
Optionally, the first message comprises a message indicating that the message has been read.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, the method including: receiving a first encrypted message whose destination identifier is a public key of the second node; verifying whether a public key and a signature included in a sender identifier of the first encrypted message are matched; and when the public key included in the sender identification of the first encrypted message is matched with the signature, in response to receiving user input for reading the first encrypted message, decrypting the first encrypted message according to the private key of the second node to obtain the first message.
Optionally, the method further comprises: information associated with a public key included in a sender identification of the first encrypted message is displayed.
Optionally, the method further comprises: receiving a second encrypted message; judging whether the sender identification of the second encrypted message comprises the signature and judging whether the destination identification of the second encrypted message is the public key of the second node, and forwarding the second encrypted message when the sender identification of the second encrypted message does not comprise the signature and the destination identification of the second encrypted message is not the public key of the second node; or verifying whether the public key and the signature included in the sender identifier of the second encrypted message are matched and judging whether the destination identifier of the second encrypted message is the public key of the second node, and forwarding the second encrypted message when the verification result is that the public key and the destination identifier of the second encrypted message are not the public key of the second node.
Optionally, the method further comprises: before forwarding the second encrypted message, judging whether the existence time of the second encrypted message reaches the time limit of the second encrypted message, and forwarding the second encrypted message when the existence time does not reach the time limit.
Optionally, the method further comprises: and acquiring the public key of the first node, and storing the public key of the first node in the relation list of the second node.
Optionally, the first message comprises a message indicating that the message has been read.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: generating daily dynamic messages; receiving a third encrypted message whose destination identifier is a public key of a third node; verifying whether a public key and a signature included in a sender identifier of the third encrypted message are matched; when the public key included in the sender identification of the third encrypted message is matched with the signature, the third encrypted message is decrypted based on the private key of the third node to obtain a third message; and when the third message is a daily dynamic acquisition request message, acquiring the daily dynamic message, encrypting the acquired daily dynamic message based on a public key included in a sender identifier of the third encrypted message to obtain a fourth encrypted message, and broadcasting the fourth encrypted message, wherein the sender identifier of the fourth encrypted message comprises the public key of the third node and the signature of the third node, and a destination identifier of the fourth encrypted message is the public key included in the sender identifier of the third encrypted message.
Optionally, the method further comprises: when the daily dynamic message is generated, an authority group of the daily dynamic message is appointed; the method for acquiring the daily dynamic message comprises the following steps: determining an authority group where a public key included in a sender identifier of the third encrypted message is located, and acquiring a daily dynamic message corresponding to the determined authority group; or when the public key included in the sender identifier of the third encrypted message is in the relationship list of the third node, determining the authority group where the public key included in the sender identifier of the third encrypted message is located, and acquiring the daily dynamic message corresponding to the determined authority group.
Optionally, the step of acquiring the daily dynamic message includes: obtaining a corresponding daily dynamic message from the generated daily dynamic message according to at least one of the following items: the time included in the daily dynamic acquisition request message, and the time at which the daily dynamic message is generated.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: encrypting the daily dynamic acquisition request message based on the public key of the third node to obtain a third encrypted message; broadcasting a third encrypted message, wherein the identifier of the sender of the third encrypted message comprises a public key of a fourth node and a signature of the fourth node, and the identifier of the destination of the third encrypted message is the public key of the third node; receiving a fourth encrypted message whose destination identifier is the public key of the fourth node; verifying whether a public key and a signature included in a sender identifier of the fourth encrypted message are matched; and when the public key included in the sender identification of the fourth encrypted message is matched with the signature, decrypting the fourth encrypted message based on the private key of the fourth node to obtain the fourth message.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: acquiring a template to be filled; retrieving a filled-in template based on the user input; encrypting a fifth message including the filled template based on the public key of the sixth node to obtain a fifth encrypted message; and broadcasting a fifth encrypted message, wherein the sender identification of the fifth encrypted message comprises the public key of the fifth node and the signature of the fifth node, and the destination identification of the fifth encrypted message is the public key of the sixth node.
Optionally, the fifth message further comprises a supplementary message input by the user.
Optionally, the step of obtaining the template to be filled comprises: and acquiring the template to be filled from the resource server.
Optionally, before performing the step of obtaining the fifth encrypted message, the method further comprises: receiving a sixth encrypted message whose destination identifier is the public key of the fifth node; verifying whether a public key and a signature included in a sender identifier of the sixth encrypted message are matched; when the public key included in the sender identifier of the sixth encrypted message is matched with the signature, the sixth encrypted message is decrypted based on the private key of the fifth node to obtain the sixth message; when the sixth message is a resource acquisition request message, the step of obtaining the fifth encrypted message and the step of broadcasting the fifth encrypted message are performed.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: receiving a fifth encrypted message whose destination identifier is the public key of the sixth node; verifying whether a public key and a signature included in a sender identifier of the fifth encrypted message are matched; and when the public key included in the sender identification of the fifth encrypted message and the signature are matched, decrypting the fifth encrypted message based on the private key of the sixth node to obtain a fifth message.
Optionally, before receiving the fifth encrypted message, the method further comprises: encrypting the resource acquisition request message based on the public key of the fifth node to obtain a sixth encrypted message; and broadcasting a sixth encrypted message, wherein the sender identification of the sixth encrypted message comprises the public key of the sixth node and the signature of the sixth node, and the destination identification of the sixth encrypted message is the public key of the fifth node.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: generating evaluation information for a specific object; receiving a seventh encrypted message whose destination identification is the public key of the seventh node; verifying whether a public key and a signature included in a sender identifier of the seventh encrypted message are matched; when the public key included in the sender identification of the seventh encrypted message is matched with the signature, the seventh encrypted message is decrypted based on the private key of the seventh node to obtain a seventh message; when the seventh message is an evaluation information acquisition request message, the evaluation information is acquired, the acquired evaluation information is encrypted based on a public key included in a sender identification of the seventh encrypted message to obtain an eighth encrypted message, and the eighth encrypted message is broadcast, wherein the sender identification of the eighth encrypted message includes the public key of the seventh node and a signature of the seventh node, and a destination identification of the eighth encrypted message is the public key included in the sender identification of the seventh encrypted message.
Optionally, the method further comprises: when the evaluation information is generated, designating an authority group of the evaluation information;
wherein the step of obtaining the evaluation information comprises: determining an authority group in which a public key included in a sender identifier of the seventh encrypted message is located, and acquiring evaluation information corresponding to the determined authority group; or when the public key included in the sender identifier of the seventh encrypted message is in the relationship list of the seventh node, determining the authority group in which the public key included in the sender identifier of the seventh encrypted message is located, and acquiring the evaluation information corresponding to the determined authority group.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: encrypting the evaluation information acquisition request message based on the public key of the seventh node to obtain a seventh encrypted message; broadcasting a seventh encrypted message, wherein the sender identification of the seventh encrypted message comprises the public key of the eighth node and the signature of the eighth node, and the destination identification of the seventh encrypted message is the public key of the seventh node; receiving an eighth encrypted message whose destination identifier is the public key of the eighth node; verifying whether a public key and a signature included in a sender identifier of the eighth encrypted message are matched; and when the public key included in the sender identification of the eighth encrypted message and the signature are matched, decrypting the eighth encrypted message based on the private key of the eighth node to obtain the eighth message.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: acquiring a template to be filled, a public key and a signature of a tenth node from the tenth node; verifying whether the public key of the tenth node is matched with the signature and whether the public key of the tenth node is valid; when the public key of the tenth node is matched with the signature and the public key of the tenth node is valid, extracting data of the ninth node based on the acquired template, generating node information based on the extracted data and the user input, encrypting the generated node information to obtain a ninth encrypted message, and broadcasting the ninth encrypted message, wherein the sender identification of the ninth encrypted message comprises the public key of the ninth node and the signature of the ninth node, and the destination identification of the ninth encrypted message is the public key of the tenth node.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: generating and displaying a two-dimensional code comprising a template to be filled, a public key of a tenth node and a signature; receiving a ninth encrypted message whose destination identification is the public key of the tenth node; verifying whether a public key and a signature included in a sender identifier of the ninth encrypted message are matched; and when the public key included in the sender identification of the ninth encrypted message is matched with the signature, decrypting the ninth encrypted message according to the private key of the tenth node to obtain the ninth message.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: encrypting the group invitation message based on the public key of each group member to obtain a tenth encrypted message corresponding to each group member; broadcasting a tenth encrypted message corresponding to each group member, wherein the sender identifier of the tenth encrypted message corresponding to each group member includes a public key of an eleventh node and a signature of the eleventh node, the destination identifier of the tenth encrypted message corresponding to each group member is the public key of each group member, and the group entry invitation message includes a public key of a twelfth node serving as a group node.
Optionally, the method further comprises: a public key and a private key of a twelfth node, which is a group node, are generated.
Optionally, the method further comprises: encrypting the group management message based on the public key of the twelfth node to obtain an eleventh encrypted message, and broadcasting the eleventh encrypted message, wherein the sender identification of the eleventh encrypted message comprises the public key of the eleventh node and the signature of the eleventh node, and the destination identification of the eleventh encrypted message is the public key of the twelfth node, wherein the group management message comprises at least one of the following items: group member kicking out messages, group basic information change messages, group announcement publishing or updating messages, group name editing messages, and group rule customizing messages.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: receiving an eleventh encrypted message whose destination identification is the public key of the twelfth node; verifying whether a public key included in a sender identifier of the eleventh encrypted message matches the signature; when the public key included in the sender identification of the eleventh encrypted message is matched with the signature, decrypting the eleventh encrypted message according to the private key of the twelfth node to obtain the eleventh message; when the eleventh message is an accept group invitation message or a group basic information update request message, encrypting the group basic information based on a public key included in a sender identification of the eleventh encrypted message to obtain a twelfth encrypted message; broadcasting a twelfth encrypted message, wherein the sender identification of the twelfth encrypted message comprises the public key of the twelfth node and the signature of the twelfth node, the destination identification of the twelfth encrypted message is the public key included in the sender identification of the eleventh encrypted message, and the group basic information comprises the public key of each group member node.
Optionally, the method further comprises: updating the group basic information when the eleventh message is a group withdrawal message or when the eleventh message is a group management message and a public key included in a sender identification of the eleventh encrypted message belongs to a public key of an administrator node, wherein the group management message includes at least one of: group member kicking out messages, group basic information change messages, group announcement publishing or updating messages, group name editing messages, and group rule customizing messages.
Optionally, the method further comprises: receiving a thirteenth encrypted message whose destination identification is the public key of the twelfth node; verifying whether a public key included in the sender identifier of the thirteenth encrypted message matches the signature; when the public key included in the sender identification of the thirteenth encrypted message is matched with the signature, decrypting the thirteenth encrypted message according to the private key of the twelfth node to obtain the thirteenth message; when the thirteenth message is an intra-group message, the thirteenth encrypted message is stored.
Optionally, the method further comprises: receiving a fourteenth encrypted message whose destination identification is the public key of the twelfth node; verifying whether a public key included in the sender identifier of the fourteenth encrypted message matches the signature; when the public key included in the sender identification of the fourteenth encrypted message is matched with the signature, decrypting the fourteenth encrypted message according to the private key of the twelfth node to obtain the fourteenth message; when the fourteenth message is an intra-group message retrieval request message, a thirteenth encrypted message is extracted and broadcast, wherein the destination identification of the thirteenth encrypted message is changed to the public key included in the sender identification of the fourteenth encrypted message.
Optionally, the step of extracting the thirteenth encrypted message comprises: the thirteenth encrypted message is extracted according to the time included in the intra-group message fetch request message.
According to another exemplary embodiment of the present disclosure, there is provided a method of implementing a social network, including: receiving a tenth encrypted message whose destination identification is the public key of the thirteenth node; verifying whether a public key and a signature included in a sender identifier of the tenth encrypted message are matched; when the public key included in the sender identifier of the tenth encrypted message is matched with the signature, decrypting the tenth encrypted message according to the private key of the thirteenth node to obtain the tenth message; when the tenth message is the group entry invitation message, in response to receiving a user input agreeing to enter the group, encrypting the acceptance of the group entry invitation message based on the public key of the twelfth node to obtain an eleventh encrypted message whose sender identification includes the public key of the thirteenth node and the signature of the thirteenth node, and broadcasting the eleventh encrypted message whose destination identification is the public key of the twelfth node included in the group entry invitation message as the group node.
Optionally, the method further comprises: receiving a twelfth encrypted message whose destination identification is the public key of the thirteenth node; verifying whether a public key and a signature included in a sender identifier of the twelfth encrypted message are matched; when the public key included in the sender identification of the twelfth encrypted message is matched with the signature, decrypting the twelfth encrypted message according to the private key of the thirteenth node to obtain the twelfth message; and when the twelfth message is group basic information, storing the group basic information, wherein the group basic information includes a public key of each group member node.
Optionally, the method further comprises: the method further includes encrypting messages within the group based on a hash of the public keys of all of the group member nodes to obtain a thirteenth encrypted message, and broadcasting the thirteenth encrypted message, wherein a sender identification of the thirteenth encrypted message includes the public key of the thirteenth node and a signature of the thirteenth node, and a destination identification of the thirteenth encrypted message is the public key of the group node.
Optionally, the method further comprises: encrypting the message acquisition request message in the group based on the public key of the twelfth node to obtain a fourteenth encrypted message, and broadcasting the fourteenth encrypted message, wherein the sender identification of the fourteenth encrypted message comprises the public key of the thirteenth node and the signature of the thirteenth node, and the destination identification of the fourteenth encrypted message is the public key of the group node; receiving a thirteenth encrypted message whose destination identification is the public key of the thirteenth node; verifying whether a public key included in the sender identifier of the thirteenth encrypted message matches the signature; when the public key included in the sender identification of the thirteenth encrypted message is matched with the signature, decrypting the thirteenth encrypted message according to the private key of the thirteenth node to obtain the thirteenth message; when the thirteenth message is an intra-group message, the intra-group message is displayed in response to a user input to read the intra-group message.
Optionally, the method further comprises: encrypting the group withdrawal message or the group basic information update request message based on the public key of the thirteenth node to obtain an eleventh encrypted message, wherein the sender identification of the eleventh encrypted message comprises the public key of the thirteenth node and the signature of the thirteenth node, and the destination identification of the eleventh encrypted message is the public key of the group node, and broadcasting the eleventh encrypted message.
Optionally, the intra-group message includes an update time of the group basic information, and the method further includes: comparing the update time of the local group basic information with the update time of the group basic information included in the intra-group message; and acquiring a group basic information updating request message according to the comparison result.
According to another exemplary embodiment of the present disclosure, a computer-readable storage medium storing instructions is provided, wherein the instructions, when executed by at least one computing device, cause the at least one computing device to perform the method as described above.
According to another exemplary embodiment of the present disclosure, a system for implementing a social network is provided, comprising at least two nodes, wherein any one of the at least two nodes may perform the method as described above.
The method and system of the invention can provide at least the following advantages:
1. and the information security is improved. Under various scenes, the information is transmitted in an asymmetric encryption mode, so that the information security is improved. The scene comprises the following steps: the method comprises the steps of friend circle information (daily dynamic information) transmission, common information transmission, sensitive information (personal privacy information) transmission, resource information transmission, evaluation information transmission and group related information transmission.
2. And the authenticity and reliability of the information are improved. The identity corresponding to the public key can be known in advance, so that the identity of the sender can be accurately judged through the public key included in the sender identification of the encrypted message, and the reliability of the information source is ensured or the authenticity and the reliability of the information can be judged through the information source.
3. Information is effectively classified. The required information, such as information related to daily dynamics, resources, evaluation and the like, can be acquired in a targeted manner, and the information can be automatically extracted based on the template. Under the condition, the required information can be acquired in a targeted manner, the information acquisition efficiency is improved, and the information management can be facilitated by an effective classification mode.
4. And (4) perfecting a reputation evaluation system. And the evaluation is established for the nodes or non-nodes, so that the identities of the appraisers and the appraised persons are easily distinguished, and the process of establishing a credit evaluation system is accelerated.
5. And perfecting a personal information management mechanism. When an individual needs to establish contact with an organization (a bank, a post office, a government department, a commercial place and the like), the template can be used for quickly extracting needed information, such as personal information of names, addresses, telephones, mailboxes and the like, and submitting the information to the organization, the individual directly interacts with the organization, third parties do not participate, information safety can be improved, and information management cost wasted when the third parties participate is reduced.
6. Facilitating rapid performance of repetitive operations when interacting with the mechanism. When an individual interacts with different institutions, information is extracted through the template and directly submitted to the bank. The processing efficiency is improved, the queuing phenomenon of mechanisms such as banks and the like can be reduced, and the complicated operation of individuals is reduced.
Additional aspects and/or advantages of the present general inventive concept will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the general inventive concept.
Drawings
The above and other objects and features of the exemplary embodiments of the present disclosure will become more apparent from the following description taken in conjunction with the accompanying drawings which illustrate exemplary embodiments, wherein:
FIG. 1 shows a flowchart of a method of implementing a social network according to a first exemplary embodiment of the invention;
FIG. 2 shows a flowchart of a method of implementing a social network according to a second exemplary embodiment of the invention;
FIG. 3 shows a flowchart of a method of implementing a social network according to a third exemplary embodiment of the invention;
FIG. 4 shows a flowchart of a method of implementing a social network according to a fourth exemplary embodiment of the invention;
FIG. 5 shows a flowchart of a method of implementing a social network according to a fifth exemplary embodiment of the invention;
FIG. 6 shows a flowchart of a method of implementing a social network according to a sixth exemplary embodiment of the invention
FIG. 7 shows a flowchart of a method of implementing a social network according to a seventh exemplary embodiment of the invention;
FIG. 8 shows a flowchart of a method of implementing a social network according to an eighth exemplary embodiment of the invention;
FIG. 9 shows a flowchart of a method of implementing a social network according to a ninth exemplary embodiment of the invention;
FIG. 10 shows a flowchart of a method of implementing a social network according to a tenth exemplary embodiment of the invention;
FIG. 11 shows a flowchart of a method of implementing a social network according to an eleventh exemplary embodiment of the invention;
FIG. 12 shows a flowchart of a method of implementing a social network according to a twelfth exemplary embodiment of the invention;
fig. 13 to 17 show flowcharts of a method of implementing a social network according to a thirteenth exemplary embodiment of the present invention;
fig. 18 shows a block diagram of a system implementing a social network according to a fourteenth exemplary embodiment of the present invention.
Detailed Description
Reference will now be made in detail to the embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present disclosure by referring to the figures.
In an exemplary embodiment of the invention, a method or operation performed using one node may be performed by another node, e.g., a method or operation performed by a first node may be performed by any one or more nodes other than the first node; the message encrypted by using the public key of one node can be decrypted by using the private key of the one node, and whether the signature of the one node is valid can be verified by using the public key of the one node; a node, which may also be referred to as a node, may be an application (e.g., an application) or a collection of information related to a user.
The methods provided in various exemplary embodiments of the present invention may include: an operation of creating a node and an operation of generating a public key and a private key corresponding to the created node.
Fig. 1 shows a flowchart of a method of implementing a social network according to a first exemplary embodiment of the present invention, which may be implemented at a first node that may be used to encrypt and send a first message.
As shown in fig. 1, the method includes steps S110 to S130. In step S110, a signature of the first node is generated based on the private key of the first node. In step S120, the first message is encrypted based on the public key of the second node to obtain a first encrypted message. In step S130, a first encrypted message is broadcast, wherein the sender identifier of the first encrypted message includes the public key of the first node and the signature of the first node, and the destination identifier of the first encrypted message is the public key of the second node.
By way of example, the first message is a message sent from a first node to a second node (e.g., a hello message, a daily communication message, etc.). The first node is a sender of the first encrypted message and the second node is a destination of the first encrypted message.
As an example, the first node and the second node each have a respective public key and private key. The two nodes can learn that the public key is sent by each other through a previous interaction (for example, face-to-face scanning of the two-dimensional code).
As an example, after receiving the encrypted message, a determination or authentication operation may be performed. For example, receiving a second encrypted message; judging whether the sender identification of the second encrypted message comprises the signature and judging whether the destination identification of the second encrypted message is the public key of the first node, and forwarding the second encrypted message when the sender identification of the second encrypted message does not comprise the signature and the destination identification of the second encrypted message is not the public key of the first node; or verifying whether the public key and the signature included in the sender identifier of the second encrypted message are matched and judging whether the destination identifier of the second encrypted message is the public key of the first node, and forwarding the second encrypted message when the verification result is that the public key and the destination identifier of the second encrypted message are not the public key of the first node.
As an example, the method may further comprise: before forwarding the second encrypted message, judging whether the existence time of the second encrypted message reaches the time limit of the second encrypted message, and forwarding the second encrypted message when the existence time does not reach the time limit.
As an example, a public key of the second node is obtained and stored in the relationship list of the first node.
As an example, the first message includes a message indicating that the message has been read.
With the present exemplary embodiment, encrypted messages may be communicated between two nodes. The specific public key and the private key can be used for encryption or decryption, so that the information security can be ensured; the signature can be used for verifying whether the message sender is reliable or not, so that the reliability, authenticity or validity of the information is ensured; interference messages can be eliminated through signature judgment or verification or time limit judgment, and harmful information transmission is avoided; the node public key can be stored through the relation list, so that the source of the message can be timely and accurately obtained; the message status can be known by the message from which the message has been read, thereby facilitating the determination of the delivery status of the message.
Fig. 2 shows a flow chart of a method of implementing a social network according to a second exemplary embodiment of the present invention, which may be implemented at a second node operable to receive and decrypt a first encrypted message.
As shown in fig. 2, the method includes: step S210 to step S230. In step S210, a first encrypted message is received, the destination identification of which is the public key of the second node. In step S220 it is verified whether the public key and the signature comprised in the sender identification of the first encrypted message match. In step S230, in response to receiving the user input to read the first encrypted message, the first encrypted message is decrypted according to the private key of the second node to obtain the first message when the public key included in the sender identifier of the first encrypted message and the signature match.
As an example, the method further comprises: information associated with a public key included in a sender identification of the first encrypted message is displayed.
As an example, the method further comprises: receiving a second encrypted message; judging whether the sender identification of the second encrypted message comprises the signature and judging whether the destination identification of the second encrypted message is the public key of the second node, and forwarding the second encrypted message when the sender identification of the second encrypted message does not comprise the signature and the destination identification of the second encrypted message is not the public key of the second node; or verifying whether the public key and the signature included in the sender identifier of the second encrypted message are matched and judging whether the destination identifier of the second encrypted message is the public key of the second node, and forwarding the second encrypted message when the verification result is that the public key and the destination identifier of the second encrypted message are not the public key of the second node.
As an example, the method further comprises: before forwarding the second encrypted message, judging whether the existence time of the second encrypted message reaches the time limit of the second encrypted message, and forwarding the second encrypted message when the existence time does not reach the time limit.
As an example, the method further comprises: and acquiring the public key of the first node, and storing the public key of the first node in the relation list of the second node.
As an example, the first message includes a message indicating that the message has been read.
With the present exemplary embodiment, the second node may receive the first encrypted message broadcast by the first node and forwarded by nodes other than the first node and the second node; the first encrypted message is encrypted through the public key of the second node, so that the second node can decrypt the first encrypted message by using the private key of the second node; the second node can also judge or verify the signature or judge the time limit of the message so as to eliminate the harmful message; the second node may also maintain the public key of the node via a relational list so that it may be compared to the public key included from the sender identification of the first encrypted message to determine the source of the first encrypted message. The first node and the second node may exchange public keys in advance (for example, the public key of the other party is obtained by scanning two-dimensional codes of the other party mutually) and store the received public keys in a relationship list, and the relationship list may store the public keys and may also store the identities of contacts (for example, friends, family, employees of a company, classmates, leadership, etc.) corresponding to the public keys.
Fig. 3 illustrates a flowchart of a method of implementing a social network according to a third exemplary embodiment of the present invention, which may be implemented at a third node that may be used to generate daily dynamic messages and send the generated daily dynamic messages upon request (e.g., a request of a fourth node).
As shown in fig. 3, the method may include: step S310 to step S350. In step S310, a daily dynamic message is generated. In step S320, a third encrypted message is received, the destination identification of which is the public key of the third node. In step S330, it is verified whether the public key and the signature (e.g., the public key and the signature of the fourth node) included in the sender identification of the third encrypted message match. In step S340, when the public key included in the sender identifier of the third encrypted message and the signature match, the third encrypted message is decrypted based on the private key of the third node to obtain the third message. In step S350, when the third message is the daily dynamic acquisition request message, acquiring the daily dynamic message, encrypting the acquired daily dynamic message based on a public key included in a sender identification of the third encrypted message (e.g., a public key of a fourth node) to obtain a fourth encrypted message, and broadcasting the fourth encrypted message, wherein the sender identification of the fourth encrypted message includes the public key of the third node and a signature of the third node, and a destination identification of the fourth encrypted message is the public key included in the sender identification of the third encrypted message (e.g., a public key of the fourth node).
By way of example, the daily dynamic messages to be sent to the node requesting the daily dynamic messages may be determined based on the set of permissions. For example, the method may comprise: when the daily dynamic message is generated, an authority group of the daily dynamic message is appointed; the method for acquiring the daily dynamic message comprises the following steps: determining an authority group where a public key included in a sender identifier of the third encrypted message is located, and acquiring a daily dynamic message corresponding to the determined authority group; or when the public key included in the sender identifier of the third encrypted message is in the relationship list of the third node, determining the authority group where the public key included in the sender identifier of the third encrypted message is located, and acquiring the daily dynamic message corresponding to the determined authority group.
By way of example, the set of permissions may represent the permissions of a node (e.g., the public key of the node), namely: the nodes can see which daily dynamic messages.
By way of example, the daily dynamic messages to be sent to the nodes requesting the daily dynamic messages may also be determined based on time. For example, the step of obtaining the daily dynamic message comprises: obtaining a corresponding daily dynamic message from the generated daily dynamic message according to at least one of the following items: the time included in the daily dynamic acquisition request message, and the time at which the daily dynamic message is generated. For example, the daily dynamic message within the time range included in the daily dynamic acquisition request message after the time when the daily dynamic message is generated may be transmitted to the fourth node.
In the present exemplary embodiment, the third message may be a daily dynamic acquisition request message, and the fourth message may be a requested daily dynamic message; and the third node receives the daily dynamic acquisition request of the fourth node and sends the corresponding daily dynamic message to the fourth node.
According to the exemplary embodiment, the daily dynamic messages can be transmitted through the encrypted messages, so that the information security is ensured; the daily dynamic message is sent based on the request instead of being actively pushed, so that the propagation range of the daily dynamic message is effectively limited, and the personal privacy is ensured; the learning range of the daily dynamic message can be limited through the permission group, and the management of the daily dynamic message is convenient.
Fig. 4 illustrates a flowchart of a method of implementing a social network according to a fourth exemplary embodiment of the present invention, which may be implemented at a fourth node that may be used to request daily dynamic messages (e.g., from a third node).
As shown in fig. 4, the method may include: step S410 to step S450. In step S410, the daily dynamic acquisition request message is encrypted based on the public key of the third node to obtain a third encrypted message. In step S420, a third encrypted message is broadcasted, wherein the sender identifier of the third encrypted message includes the public key of the fourth node and the signature of the fourth node, and the destination identifier of the third encrypted message is the public key of the third node. In step S430, a fourth encrypted message is received, the destination identification of which is the public key of the fourth node. In step S440, it is verified whether the public key and the signature (e.g., the public key and the signature of the third node) included in the sender identification of the fourth encrypted message match. In step S450, when the public key included in the sender identifier of the fourth encrypted message matches the signature, the fourth encrypted message is decrypted based on the private key of the fourth node to obtain the fourth message.
Fig. 5 illustrates a flowchart of a method of implementing a social network according to a fifth exemplary embodiment of the present invention, which may be implemented at a fifth node that may be used to send resource information (e.g., job hunting information, seeker's elicitations, etc.) (e.g., to a sixth node).
As shown in fig. 5, the method includes steps S510 to S540. In step S510, a template to be filled in is acquired. In step S520, the filled-in template is retrieved based on the user input. In step S530, the fifth message including the filled template is encrypted based on the public key of the sixth node to obtain a fifth encrypted message. In step S540, a fifth encrypted message is broadcast, wherein the sender identifier of the fifth encrypted message includes the public key of the fifth node and the signature of the fifth node, and the destination identifier of the fifth encrypted message is the public key of the sixth node. Here, the fifth node may actively transmit a message (e.g., a resource message) to the sixth node, and the sixth node receives the message transmitted by the fifth node, and the fifth message may be resource information.
As an example, the fifth message further includes a supplementary message input by the user to supplement the filled-in template.
As an example, the step of obtaining a template to be filled in comprises: and acquiring the template to be filled from the resource server. The resource server may be a common server that may store various templates. The template may be comprised of a plurality of information items. In other words, the template may be a form having a plurality of information items to be filled in.
As an example, the fifth cryptographic message may be sent based on the request. For example, the method further comprises: step S521: receiving a sixth encrypted message whose destination identifier is the public key of the fifth node; step S522: verifying whether a public key and a signature included in a sender identifier of the sixth encrypted message are matched; step S523: when the public key included in the sender identifier of the sixth encrypted message is matched with the signature, the sixth encrypted message is decrypted based on the private key of the fifth node to obtain the sixth message; when the sixth message is a resource acquisition request message, the step of obtaining the fifth encrypted message and the step of broadcasting the fifth encrypted message are performed. Here, the sixth node transmits a request to the fifth node, and thus, the sixth message may be a resource acquisition request message from the sixth node.
According to the present exemplary embodiment, the format of a message (e.g., a fifth message) to be transmitted may be set through a template, thereby facilitating rapid formation of messages and management of information (resource information).
Fig. 6 illustrates a flowchart of a method of implementing a social network according to a sixth exemplary embodiment of the present invention, which may be implemented at a sixth node that may be used to receive (e.g., the fifth node) transmitted information (e.g., job hunting information, people hunting, etc.) and may also be used to transmit (e.g., to the fifth node) a request to request resource information.
As shown in fig. 6, the method may include steps S610 to S630. In step S610, a fifth encryption message whose destination identification is the public key of the sixth node is received. In step S620, it is verified whether the public key and the signature included in the sender identification of the fifth encrypted message match. In step S630, when the public key included in the sender identification of the fifth encrypted message and the signature match, the fifth encrypted message is decrypted based on the private key of the sixth node to obtain a fifth message.
As an example, the sixth node may send a request (e.g., send a resource acquisition request message to the fifth node) before receiving the fifth encryption message. In this case, the method may include: encrypting the resource acquisition request message based on the public key of the fifth node to obtain a sixth encrypted message; and broadcasting a sixth encrypted message, wherein the sender identification of the sixth encrypted message comprises the public key of the sixth node and the signature of the sixth node, and the destination identification of the sixth encrypted message is the public key of the fifth node.
Fig. 7 illustrates a flowchart of a method of implementing a social network according to a seventh exemplary embodiment of the present invention, which may be implemented at a seventh node that may be used to passively send rating information (e.g., good, bad, general, reputation level, etc.) based on a request.
As shown in fig. 7, the method may include steps S710 to S750. In step S710, evaluation information for a specific object is generated. In step S720, a seventh encrypted message whose destination identification is the public key of the seventh node is received. In step S730, it is verified whether the public key and the signature included in the sender identification of the seventh encrypted message match. In step S740, when the public key included in the sender identifier of the seventh encrypted message and the signature match, the seventh encrypted message is decrypted based on the private key of the seventh node to obtain the seventh message. In step S750, when the seventh message is the evaluation information acquisition request message, the evaluation information is acquired, the acquired evaluation information is encrypted based on the public key included in the sender identification of the seventh encrypted message to obtain an eighth encrypted message, and the eighth encrypted message is broadcast, wherein the sender identification of the eighth encrypted message includes the public key of the seventh node and the signature of the seventh node, and the destination identification of the eighth encrypted message is the public key included in the sender identification of the seventh encrypted message.
As an example, the seventh node receives a seventh message (e.g., an evaluation information acquisition request) from the eighth node and transmits evaluation information (e.g., an eighth message) to the eighth node.
As an example, the method further comprises: when the evaluation information is generated, designating an authority group of the evaluation information; wherein the step of obtaining the evaluation information comprises: determining an authority group in which a public key included in a sender identifier of the seventh encrypted message is located, and acquiring evaluation information corresponding to the determined authority group; or when the public key included in the sender identifier of the seventh encrypted message is in the relationship list of the seventh node, determining the authority group in which the public key included in the sender identifier of the seventh encrypted message is located, and acquiring the evaluation information corresponding to the determined authority group.
In the exemplary embodiment, the evaluation information can be passively transmitted, and since the nodes know the identity of each other (known by exchanging public keys), the reliability and the authenticity of the evaluation information are high.
Fig. 8 shows a flowchart of a method of implementing a social network according to an eighth exemplary embodiment of the present invention, which may be implemented at an eighth node that may be used to request rating information (e.g., from a seventh node).
As shown in fig. 8, the method may include steps S810 to S850. In step S810, the evaluation information acquisition request message is encrypted based on the public key of the seventh node to obtain a seventh encrypted message. In step S820, a seventh encrypted message is broadcast, wherein the sender identifier of the seventh encrypted message includes the public key of the eighth node and the signature of the eighth node, and the destination identifier of the seventh encrypted message is the public key of the seventh node. In step S830, an eighth encrypted message whose destination identification is the public key of the eighth node is received. In step S840, it is verified whether the public key and the signature included in the sender identification of the eighth encrypted message match. In step S850, when the public key included in the sender identifier of the eighth encrypted message and the signature match, the eighth encrypted message is decrypted based on the private key of the eighth node to obtain the eighth message.
Here, steps S810 and S820 are steps for transmitting a request for acquiring evaluation information, and steps S830 to S850 are steps for receiving evaluation information in response to the request.
Fig. 9 shows a flowchart of a method of implementing a social network according to a ninth exemplary embodiment of the present invention, which may be implemented at a ninth node that may be used to interact with a tenth node that is an organization (bank, post office, government department, business, etc.).
As shown in fig. 9, the method may include: step S910 to step S930. In step S910, the template to be filled in, and the public key and signature of the tenth node (for example, may be obtained by scanning a two-dimensional code of a mechanism or the like) are obtained from the tenth node. In step S920, it is verified whether the public key of the tenth node and the signature match and whether the public key of the tenth node is valid. In step S930, when the public key of the tenth node and the signature match and the public key of the tenth node is valid, extracting data of the ninth node based on the acquired template, generating node information based on the extracted data and the user input, encrypting the generated node information based on the public key of the tenth node to obtain a ninth encrypted message, and broadcasting the ninth encrypted message, wherein a sender identification of the ninth encrypted message includes the public key of the ninth node and the signature of the ninth node, and a destination identification of the ninth encrypted message is the public key of the tenth node.
As an example, the user input may include an input for selecting or confirming the extracted data and/or an input for supplemental information.
As an example, whether the public key of the tenth node is valid may be verified through the public server.
With the present exemplary embodiment, the reliability of the node can be determined by the signature matching judgment and the public key validity judgment, thereby effectively ensuring the security of information (e.g., a phone number, a name, an identification number, a bank account number, etc.) of the ninth node, which is an individual.
Fig. 10 shows a flowchart of a method of implementing a social network according to a tenth exemplary embodiment of the present invention, which may be implemented at a tenth node that may be an organization (bank, post office, government, business, etc.) and may obtain information from a ninth node that is an individual.
As shown in fig. 10, the method may include steps S1010 to S1040. In step S1010, a two-dimensional code including the template to be filled in, the public key of the tenth node, and the signature is generated and displayed. In step S1020, a ninth encrypted message whose destination identification is the public key of the tenth node is received. In step S1030, it is verified whether the public key and the signature included in the sender identification of the ninth encrypted message match. In step S1040, when the public key included in the sender identifier of the ninth encrypted message matches the signature, the ninth encrypted message is decrypted according to the private key of the tenth node to obtain the ninth message.
Fig. 11 illustrates a flowchart of a method of implementing a social network according to an eleventh exemplary embodiment of the present invention, which may be implemented at an eleventh node, which may be a group owner node that establishes a group, or an administrator node of the group.
As shown in fig. 11, the method may include step S1110 and step S1120. In step S1110, the group entry invitation message is encrypted based on the public key of each group member to obtain a tenth encrypted message corresponding to said each group member. In step S1120, broadcasting a tenth encrypted message corresponding to each group member, wherein the sender identifier of the tenth encrypted message corresponding to each group member includes the public key of the eleventh node and the signature of the eleventh node, the destination identifier of the tenth encrypted message corresponding to each group member is the public key of each group member, and the group invitation message includes the public key of the twelfth node as a group node.
As an example, the method further comprises: the public key and the private key of the twelfth node, which is a group node, are generated by the group owner node or the node that created the group.
As an example, the group node (twelve nodes) is also a node, and may be stored in a common server or in the same terminal as the group owner node, and the terminal may be various electronic devices such as a mobile phone and a tablet computer.
As an example, the method further comprises: encrypting the group management message based on the public key of the twelfth node to obtain an eleventh encrypted message, and broadcasting the eleventh encrypted message, wherein the sender identification of the eleventh encrypted message comprises the public key of the eleventh node and the signature of the eleventh node, and the destination identification of the eleventh encrypted message is the public key of the twelfth node, wherein the group management message comprises at least one of the following items: group member kicking out messages, group basic information change messages, group announcement publishing or updating messages, group name editing messages, and group rule customizing messages.
Fig. 12 shows a flowchart of a method of implementing a social network according to a twelfth exemplary embodiment of the present invention, which may be implemented at a twelfth node, which may be a group node.
As shown in fig. 12, the method includes steps S1210 to S1250. In step S1210, an eleventh encrypted message whose destination identification is the public key of the twelfth node is received. In step S1220, it is verified whether the public key and the signature included in the sender identification of the eleventh encrypted message match. In step S1230, when the public key included in the sender identifier of the eleventh encrypted message and the signature match, the eleventh encrypted message is decrypted according to the private key of the twelfth node to obtain the eleventh message. In step S1240, when the eleventh message is the accept group invitation message or the group basic information update request message, the group basic information is encrypted based on the public key included in the sender identification of the eleventh encrypted message to obtain a twelfth encrypted message. In step S1250, a twelfth encrypted message is broadcast, wherein the sender identifier of the twelfth encrypted message includes the public key of the twelfth node and the signature of the twelfth node, and the destination identifier of the twelfth encrypted message is the public key included in the sender identifier of the eleventh encrypted message, wherein the group basic information includes the public key of each group member node.
As an example, the method further comprises: updating the group basic information when the eleventh message is a group withdrawal message or when the eleventh message is a group management message and a public key included in a sender identification of the eleventh encrypted message belongs to a public key of an administrator node, wherein the group management message includes at least one of: group member kicking out messages, group basic information change messages, group announcement publishing or updating messages, group name editing messages, and group rule customizing messages.
As an example, the method further comprises: receiving a thirteenth encrypted message whose destination identification is the public key of the twelfth node; verifying whether a public key included in the sender identifier of the thirteenth encrypted message matches the signature; when the public key included in the sender identification of the thirteenth encrypted message is matched with the signature, decrypting the thirteenth encrypted message according to the private key of the twelfth node to obtain the thirteenth message; when the thirteenth message is an intra-group message, the thirteenth encrypted message is stored.
As an example, the method further comprises: receiving a fourteenth encrypted message whose destination identification is the public key of the twelfth node; verifying whether a public key included in the sender identifier of the fourteenth encrypted message matches the signature; when the public key included in the sender identification of the fourteenth encrypted message is matched with the signature, decrypting the fourteenth encrypted message according to the private key of the twelfth node to obtain the fourteenth message; when the fourteenth message is an intra-group message retrieval request message, a thirteenth encrypted message is extracted and broadcast, wherein the destination identification of the thirteenth encrypted message is changed to the public key included in the sender identification of the fourteenth encrypted message.
As an example, the step of extracting the thirteenth encrypted message includes: the thirteenth encrypted message is extracted according to the time included in the intra-group message fetch request message.
As an example, the acceptance to group invitation message, the group basic information update request message, the resignation message, the intra-group message acquisition request message, and the intra-group message may be transmitted from the thirteenth node, which is a member of the general group. The group management message is transmitted by the eleventh node.
Fig. 13 to 17 illustrate flowcharts of a method of implementing a social network according to a thirteenth exemplary embodiment of the present invention, and the method of the thirteenth exemplary embodiment may be implemented at a thirteenth node, which may be a node of a general group member.
As shown in fig. 13, the method includes steps S1310 to S1340. In step S1310, a tenth encrypted message whose destination identification is the public key of the thirteenth node (group member node) is received. In step S1320, it is verified whether the public key and the signature included in the sender identification of the tenth encrypted message match. In step S1330, when the public key included in the sender identifier of the tenth encrypted message and the signature match, the tenth encrypted message is decrypted according to the private key of the thirteenth node to obtain the tenth message. In step S1340, when the tenth message is the group entry invitation message, in response to receiving the user input agreeing to the group entry, encrypting the acceptance of the group entry invitation message based on the public key of the twelfth node to obtain an eleventh encrypted message whose sender identification includes the public key of the thirteenth node and the signature of the thirteenth node, and broadcasting the eleventh encrypted message whose destination identification is the public key of the twelfth node included in the group entry invitation message as the group node.
As an example, as shown in fig. 14, the method further comprises: step S1410: receiving a twelfth encrypted message whose destination identification is the public key of the thirteenth node; step S1420: verifying whether a public key and a signature included in a sender identifier of the twelfth encrypted message are matched; step S1430: when the public key included in the sender identification of the twelfth encrypted message is matched with the signature, decrypting the twelfth encrypted message according to the private key of the thirteenth node to obtain the twelfth message; step S1440: and when the twelfth message is group basic information, storing the group basic information, wherein the group basic information includes a public key of each group member node.
As an example, as shown in fig. 15, the method further comprises: step S1510: encrypting messages in the group based on the hash value of the public key of all the group member nodes to obtain a thirteenth encrypted message; step S1520: broadcasting a thirteenth encrypted message, wherein the sender identification of the thirteenth encrypted message comprises the public key of the thirteenth node and the signature of the thirteenth node, and the destination identification of the thirteenth encrypted message is the public key of the group node.
As an example, as shown in fig. 16, the method further comprises: step S1610: encrypting the intra-group message acquisition request message based on the public key of the twelfth node to obtain a fourteenth encrypted message, in step S1620: broadcasting a fourteenth encrypted message, wherein the sender identification of the fourteenth encrypted message comprises the public key of the thirteenth node and the signature of the thirteenth node, and the destination identification of the fourteenth encrypted message is the public key of the group node; step S1630: receiving a thirteenth encrypted message whose destination identification is the public key of the thirteenth node; step S1640: verifying whether a public key included in the sender identifier of the thirteenth encrypted message matches the signature; step S1650: when the public key included in the sender identification of the thirteenth encrypted message is matched with the signature, decrypting the thirteenth encrypted message according to the private key of the thirteenth node to obtain the thirteenth message; step S1660: when the thirteenth message is an intra-group message, the intra-group message is displayed in response to a user input to read the intra-group message.
As an example, as shown in fig. 17, the method further comprises: step S1710: encrypting the group withdrawal message or the group basic information update request message based on the public key of the thirteenth node to obtain an eleventh encrypted message; step S1720: and broadcasting an eleventh encrypted message, wherein the sender identification of the eleventh encrypted message comprises the public key of the thirteenth node and the signature of the thirteenth node, and the destination identification of the eleventh encrypted message is the public key of the group node.
As an example, the intra-group message includes an update time of group basic information, the method further comprising: comparing the update time of the local group basic information with the update time of the group basic information included in the intra-group message; and acquiring a group basic information updating request message according to the comparison result.
As an example, the hash value is obtained by calculating all public keys of all group member nodes of the group based on a hash function, and the present invention does not limit the hash function used. In other words, any hash function for calculating hash values of a plurality of public keys is feasible.
Fig. 18 shows a block diagram of a system implementing a social network according to a fourteenth exemplary embodiment of the present invention. The system may comprise at least two nodes, any one of which may perform the method as described above. Either of nodes 1810 and 1820 of fig. 18 may perform the method described in any of the above exemplary embodiments.
According to another exemplary embodiment of the invention, a computer-readable storage medium storing instructions is provided, wherein the instructions, when executed by at least one computing device, cause the at least one computing device to perform the method as described above.
The computer readable storage medium is any data storage device that can store data which can be read by a computer system. Examples of computer-readable storage media include: read-only memory, random access memory, read-only optical disks, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the internet via wired or wireless transmission paths).
Furthermore, it should be understood that various nodes according to exemplary embodiments of the present disclosure may be implemented as hardware components and/or software components. The various nodes may be implemented, for example, using Field Programmable Gate Arrays (FPGAs) or Application Specific Integrated Circuits (ASICs), depending on the processing performed by the defined individual units.
Furthermore, the method according to the exemplary embodiments of the present disclosure may be implemented as computer code in a computer-readable storage medium. The computer code can be implemented by those skilled in the art from the description of the method above. The computer code when executed in a computer, in particular a processor, implements the above-described method of the present disclosure.
The invention provides a safe personal information management scheme which can interact information with the outside for each user. Based on the above, the information process can be switched to each person, so that the efficiency of information processing in daily life of people can be greatly improved, and the way of information processing in real life can be improved.
While various exemplary embodiments of the present disclosure have been described above, it should be understood that the above description is exemplary only, and not exhaustive, and that the present disclosure is not limited to the disclosed exemplary embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. Therefore, the protection scope of the present disclosure should be subject to the scope of the claims.

Claims (40)

1. A method of implementing a social network, comprising:
generating a signature of the first node based on a private key of the first node;
encrypting the first message based on the public key of the second node to obtain a first encrypted message;
a first encrypted message is broadcast and,
wherein the sender identification of the first encrypted message comprises the public key of the first node and the signature of the first node, the destination identification of the first encrypted message is the public key of the second node,
wherein the method further comprises:
receiving a second encrypted message;
judging whether the sender identifier of the second encrypted message comprises a signature and judging whether the destination identifier of the second encrypted message is a public key of the first node, verifying whether the public key and the signature included in the sender identifier of the second encrypted message are matched, and discarding the second encrypted message when the public key included in the sender identifier of the second encrypted message is not matched with the signature or the sender identifier of the second encrypted message does not comprise the signature; and when the destination identifier of the second encrypted message is not the public key of the first node, the second encrypted message is decrypted according to the private key of the first node to obtain the second message.
2. The method of claim 1, further comprising: before forwarding the second encrypted message, judging whether the existence time of the second encrypted message reaches the time limit of the second encrypted message, and forwarding the second encrypted message when the existence time does not reach the time limit.
3. The method of claim 1, further comprising: and acquiring the public key of the second node, and storing the public key of the second node in the relation list of the first node.
4. The method of claim 1, wherein the first message comprises a message indicating that a message has been read.
5. A method of implementing a social network, comprising:
receiving a first encrypted message;
judging whether the sender identifier of the first encrypted message comprises a signature and judging whether the destination identifier of the first encrypted message is a public key of the second node, verifying whether the public key and the signature included in the sender identifier of the first encrypted message are matched, and discarding the first encrypted message when the public key included in the sender identifier of the first encrypted message is not matched with the signature or the sender identifier of the first encrypted message does not comprise the signature; when the public key included in the sender identification of the first encrypted message is matched with the signature, verifying the destination identification of the first encrypted message, when the destination identification of the first encrypted message is not the public key of the second node, forwarding the first encrypted message, and when the destination identification of the first encrypted message is the public key of the second node, responding to the received user input for reading the first encrypted message, and decrypting the first encrypted message according to the private key of the second node to obtain the first message.
6. The method of claim 5, further comprising: information associated with a public key included in a sender identification of the first encrypted message is displayed.
7. The method of claim 5, further comprising: before forwarding the first encrypted message, judging whether the existence time of the first encrypted message reaches the time limit of the first encrypted message, and forwarding the first encrypted message when the existence time does not reach the time limit.
8. The method of claim 5, further comprising: and acquiring the public key of the first node, and storing the public key of the first node in the relation list of the second node.
9. The method of claim 5, wherein the first message comprises a message indicating that a message has been read.
10. A method of implementing a social network, comprising:
generating daily dynamic messages;
receiving a third encrypted message;
judging whether the sender identifier of the third encrypted message comprises a signature and judging whether the destination identifier of the third encrypted message is a public key of a third node, verifying whether the public key and the signature included in the sender identifier of the third encrypted message are matched, and discarding the third encrypted message when the public key and the signature included in the sender identifier of the third encrypted message are not matched or the sender identifier of the third encrypted message does not comprise the signature; verifying the destination identifier of the third encrypted message when the public key included in the sender identifier of the third encrypted message matches the signature, forwarding the third encrypted message when the destination identifier of the third encrypted message is not the public key of the third node, and decrypting the third encrypted message based on the private key of the third node to obtain the third message when the destination identifier of the third encrypted message is the public key of the third node;
when the third message is a daily dynamic acquisition request message, acquiring the daily dynamic message, encrypting the acquired daily dynamic message based on a public key included in a sender identification of the third encrypted message to obtain a fourth encrypted message, and broadcasting the fourth encrypted message,
the sender identification of the fourth encrypted message comprises the public key of the third node and the signature of the third node, and the destination identification of the fourth encrypted message is the public key included in the sender identification of the third encrypted message.
11. The method of claim 10, further comprising:
in generating the daily dynamic message, a set of permissions for the daily dynamic message is specified,
the method for acquiring the daily dynamic message comprises the following steps: determining an authority group where a public key included in a sender identifier of the third encrypted message is located, and acquiring a daily dynamic message corresponding to the determined authority group; or when the public key included in the sender identifier of the third encrypted message is in the relationship list of the third node, determining the authority group where the public key included in the sender identifier of the third encrypted message is located, and acquiring the daily dynamic message corresponding to the determined authority group.
12. The method of claim 10, wherein the step of obtaining daily dynamic messages comprises: obtaining a corresponding daily dynamic message from the generated daily dynamic message according to at least one of the following items: the time included in the daily dynamic acquisition request message, and the time at which the daily dynamic message is generated.
13. A method of implementing a social network, comprising:
encrypting the daily dynamic acquisition request message based on the public key of the third node to obtain a third encrypted message;
broadcasting a third encrypted message, wherein the identifier of the sender of the third encrypted message comprises a public key of a fourth node and a signature of the fourth node, and the identifier of the destination of the third encrypted message is the public key of the third node;
receiving a fourth encrypted message;
judging whether the sender identifier of the fourth encrypted message comprises a signature and judging whether the destination identifier of the fourth encrypted message is a public key of a fourth node, verifying whether the public key and the signature included in the sender identifier of the fourth encrypted message are matched, and discarding the fourth encrypted message when the public key included in the sender identifier of the fourth encrypted message is not matched with the signature or the sender identifier of the fourth encrypted message does not comprise the signature; and when the destination identifier of the fourth encrypted message is not the public key of the fourth node, the fourth encrypted message is forwarded, and when the destination identifier of the fourth encrypted message is the public key of the fourth node, the fourth encrypted message is decrypted based on the private key of the fourth node to obtain the fourth message.
14. A method of implementing a social network, comprising:
acquiring a template to be filled;
retrieving a filled-in template based on the user input;
encrypting a fifth message including the filled template based on the public key of the sixth node to obtain a fifth encrypted message;
a fifth encrypted message is broadcast that,
wherein the sender identifier of the fifth encrypted message comprises the public key of the fifth node and the signature of the fifth node, the destination identifier of the fifth encrypted message is the public key of the sixth node,
wherein, before performing the step of obtaining the fifth encrypted message, the method further comprises:
receiving a sixth encrypted message;
judging whether the sender identifier of the sixth encrypted message comprises a signature and judging whether the destination identifier of the sixth encrypted message is a public key of a fifth node, verifying whether the public key and the signature included in the sender identifier of the sixth encrypted message are matched, and discarding the sixth encrypted message when the public key included in the sender identifier of the sixth encrypted message is not matched with the signature or the sender identifier of the sixth encrypted message does not comprise the signature; and when the destination identifier of the sixth encrypted message is not the public key of the fifth node, the sixth encrypted message is decrypted according to the private key of the fifth node to obtain the sixth message.
15. The method of claim 14, wherein the fifth message further comprises a supplemental message entered by the user.
16. The method of claim 14, wherein the step of obtaining a template to be filled in comprises: and acquiring the template to be filled from the resource server.
17. The method of claim 14, wherein prior to performing the step of obtaining the fifth dense message, the method further comprises:
when the sixth message is a resource acquisition request message, the step of obtaining the fifth encrypted message and the step of broadcasting the fifth encrypted message are performed.
18. A method of implementing a social network, comprising:
receiving a fifth encrypted message;
judging whether the sender identifier of the fifth encrypted message comprises a signature and judging whether the destination identifier of the fifth encrypted message is a public key of a sixth node, verifying whether the public key and the signature included in the sender identifier of the fifth encrypted message are matched, and discarding the fifth encrypted message when the public key included in the sender identifier of the fifth encrypted message is not matched with the signature or the sender identifier of the fifth encrypted message does not comprise the signature; and when the destination identifier of the fifth encrypted message is not the public key of the sixth node, the fifth encrypted message is decrypted based on the private key of the sixth node to obtain a fifth message.
19. The method of claim 18, wherein prior to receiving a fifth dense message, the method further comprises:
encrypting the resource acquisition request message based on the public key of the fifth node to obtain a sixth encrypted message;
a sixth encrypted message is broadcast and,
the sender identifier of the sixth encrypted message comprises the public key of the sixth node and the signature of the sixth node, and the destination identifier of the sixth encrypted message is the public key of the fifth node.
20. A method of implementing a social network, comprising:
generating evaluation information for a specific object;
receiving a seventh encrypted message;
judging whether the sender identifier of the seventh encrypted message comprises the signature and judging whether the destination identifier of the seventh encrypted message is the public key of the seventh node, verifying whether the public key and the signature included in the sender identifier of the seventh encrypted message are matched, and discarding the seventh encrypted message when the public key included in the sender identifier of the seventh encrypted message is not matched with the signature or the sender identifier of the seventh encrypted message does not comprise the signature; verifying the destination identifier of the seventh encrypted message when the public key included in the sender identifier of the seventh encrypted message matches the signature, forwarding the seventh encrypted message when the destination identifier of the seventh encrypted message is not the public key of the seventh node, and decrypting the seventh encrypted message based on the private key of the seventh node to obtain the seventh message when the destination identifier of the seventh encrypted message is the public key of the seventh node;
when the seventh message is an evaluation information acquisition request message, acquiring evaluation information, encrypting the acquired evaluation information based on a public key included in a sender identification of the seventh encrypted message to obtain an eighth encrypted message, and broadcasting the eighth encrypted message,
the sender identifier of the eighth encrypted message includes the public key of the seventh node and the signature of the seventh node, and the destination identifier of the eighth encrypted message is the public key included in the sender identifier of the seventh encrypted message.
21. The method of claim 20, further comprising: when the evaluation information is generated, designating an authority group of the evaluation information;
wherein the step of obtaining the evaluation information comprises: determining an authority group in which a public key included in a sender identifier of the seventh encrypted message is located, and acquiring evaluation information corresponding to the determined authority group; or when the public key included in the sender identifier of the seventh encrypted message is in the relationship list of the seventh node, determining the authority group in which the public key included in the sender identifier of the seventh encrypted message is located, and acquiring the evaluation information corresponding to the determined authority group.
22. A method of implementing a social network, comprising:
encrypting the evaluation information acquisition request message based on the public key of the seventh node to obtain a seventh encrypted message;
broadcasting a seventh encrypted message, wherein the sender identification of the seventh encrypted message comprises the public key of the eighth node and the signature of the eighth node, and the destination identification of the seventh encrypted message is the public key of the seventh node;
receiving an eighth encrypted message;
judging whether the sender identifier of the eighth encrypted message comprises a signature and judging whether the destination identifier of the eighth encrypted message is a public key of an eighth node, verifying whether the public key and the signature included in the sender identifier of the eighth encrypted message are matched, and discarding the eighth encrypted message when the public key included in the sender identifier of the eighth encrypted message is not matched with the signature or the sender identifier of the eighth encrypted message does not comprise the signature; and when the destination identifier of the eighth encrypted message is not the public key of the eighth node, the eighth encrypted message is forwarded, and when the destination identifier of the eighth encrypted message is the public key of the eighth node, the eighth encrypted message is decrypted based on the private key of the eighth node to obtain the eighth message.
23. A method of implementing a social network, comprising:
acquiring a template to be filled, a public key and a signature of a tenth node from the tenth node;
verifying whether the public key of the tenth node is matched with the signature and whether the public key of the tenth node is valid;
extracting data of a ninth node based on the acquired template, generating node information based on the extracted data and the user input, encrypting the generated node information to obtain a ninth encrypted message, and broadcasting the ninth encrypted message, when the public key of the tenth node and the signature match and the public key of the tenth node is valid,
wherein the sender identifier of the ninth encrypted message comprises the public key of the ninth node and the signature of the ninth node, the destination identifier of the ninth encrypted message is the public key of the tenth node,
wherein the method further comprises:
receiving a tenth encrypted message;
judging whether the sender identifier of the tenth encrypted message comprises a signature and judging whether the destination identifier of the tenth encrypted message is the public key of the ninth node, verifying whether the public key and the signature included in the sender identifier of the tenth encrypted message are matched, and discarding the tenth encrypted message when the public key included in the sender identifier of the tenth encrypted message is not matched with the signature or the sender identifier of the tenth encrypted message does not comprise the signature; and when the destination identifier of the tenth encrypted message is not the public key of the ninth node, the tenth encrypted message is forwarded, and when the destination identifier of the tenth encrypted message is the public key of the ninth node, the tenth encrypted message is decrypted based on the private key of the ninth node to obtain the tenth message.
24. A method of implementing a social network, comprising:
generating and displaying a two-dimensional code comprising a template to be filled, a public key of a tenth node and a signature;
receiving a ninth encrypted message;
judging whether the sender identifier of the ninth encrypted message comprises a signature and judging whether the destination identifier of the ninth encrypted message is a public key of a tenth node, verifying whether the public key and the signature included in the sender identifier of the ninth encrypted message are matched, and discarding the ninth encrypted message when the public key included in the sender identifier of the ninth encrypted message is not matched with the signature or the sender identifier of the ninth encrypted message does not comprise the signature; and when the destination identifier of the ninth encrypted message is not the public key of the tenth node, the ninth encrypted message is forwarded, and when the destination identifier of the ninth encrypted message is the public key of the tenth node, the ninth encrypted message is decrypted according to the private key of the tenth node to obtain the ninth message.
25. A method of implementing a social network, comprising:
encrypting the group invitation message based on the public key of each group member to obtain a tenth encrypted message corresponding to each group member;
broadcasting a tenth encrypted message corresponding to said each group member,
wherein the sender identifier of the tenth encrypted message corresponding to said each group member includes the public key of the eleventh node and the signature of the eleventh node, the destination identifier of the tenth encrypted message corresponding to said each group member is the public key of said each group member, the group entry invitation message includes the public key of the twelfth node as a group node,
wherein the method further comprises:
receiving a twelfth encrypted message;
judging whether the sender identifier of the twelfth encrypted message comprises a signature and judging whether the destination identifier of the twelfth encrypted message is a public key of an eleventh node, verifying whether the public key and the signature included in the sender identifier of the twelfth encrypted message are matched, and discarding the twelfth encrypted message when the public key included in the sender identifier of the twelfth encrypted message is not matched with the signature or the sender identifier of the twelfth encrypted message does not comprise the signature; verifying the destination identifier of the twelfth encrypted message when the public key included in the sender identifier of the twelfth encrypted message matches the signature, and forwarding the twelfth encrypted message when the destination identifier of the twelfth encrypted message is not the public key of the eleventh node; and when the destination identifier of the twelfth encrypted message is the public key of the eleventh node, decrypting the twelfth encrypted message according to the private key of the eleventh node to obtain the twelfth message.
26. The method of claim 25, further comprising: a public key and a private key of a twelfth node, which is a group node, are generated.
27. The method of claim 25, further comprising:
encrypting the group management message based on the public key of the twelfth node to obtain an eleventh encrypted message, and broadcasting the eleventh encrypted message, wherein the sender identification of the eleventh encrypted message comprises the public key of the eleventh node and the signature of the eleventh node, the destination identification of the eleventh encrypted message is the public key of the twelfth node,
wherein the group management message comprises at least one of: group member kicking out messages, group basic information change messages, group announcement publishing or updating messages, group name editing messages, and group rule customizing messages.
28. A method of implementing a social network, comprising:
receiving an eleventh encrypted message;
judging whether the sender identifier of the eleventh encrypted message comprises a signature and judging whether the destination identifier of the eleventh encrypted message is a public key of a twelfth node, verifying whether the public key and the signature included in the sender identifier of the eleventh encrypted message are matched, and discarding the eleventh encrypted message when the public key included in the sender identifier of the eleventh encrypted message is not matched with the signature or the sender identifier of the eleventh encrypted message does not comprise the signature; verifying the destination identifier of the eleventh encrypted message when the public key included in the sender identifier of the eleventh encrypted message matches the signature, forwarding the eleventh encrypted message when the destination identifier of the eleventh encrypted message is not the public key of the twelfth node, and decrypting the eleventh encrypted message according to the private key of the twelfth node to obtain the eleventh message when the destination identifier of the eleventh encrypted message is the public key of the twelfth node;
when the eleventh message is an accept group invitation message or a group basic information update request message, encrypting the group basic information based on a public key included in a sender identification of the eleventh encrypted message to obtain a twelfth encrypted message;
broadcasting a twelfth encrypted message, wherein the sender identification of the twelfth encrypted message comprises the public key of the twelfth node and the signature of the twelfth node, the destination identification of the twelfth encrypted message is the public key included in the sender identification of the eleventh encrypted message,
the group basic information comprises a public key of each group member node.
29. The method of claim 28, further comprising:
updating the group basic information when the eleventh message is a group withdrawal message or when the eleventh message is a group management message and a public key included in a sender identification of the eleventh encrypted message belongs to a public key of the administrator node,
wherein the group management message comprises at least one of: group member kicking out messages, group basic information change messages, group announcement publishing or updating messages, group name editing messages, and group rule customizing messages.
30. The method of claim 28, further comprising:
receiving a thirteenth encrypted message whose destination identification is the public key of the twelfth node;
verifying whether a public key included in the sender identifier of the thirteenth encrypted message matches the signature;
when the public key included in the sender identification of the thirteenth encrypted message is matched with the signature, decrypting the thirteenth encrypted message according to the private key of the twelfth node to obtain the thirteenth message;
when the thirteenth message is an intra-group message, the thirteenth encrypted message is stored.
31. The method of claim 30, further comprising:
receiving a fourteenth encrypted message whose destination identification is the public key of the twelfth node;
verifying whether a public key included in the sender identifier of the fourteenth encrypted message matches the signature;
when the public key included in the sender identification of the fourteenth encrypted message is matched with the signature, decrypting the fourteenth encrypted message according to the private key of the twelfth node to obtain the fourteenth message;
when the fourteenth message is an intra-group message fetch request message, a thirteenth encrypted message is extracted and broadcast,
wherein the destination identification of the thirteenth encrypted message is changed to the public key included in the sender identification of the fourteenth encrypted message.
32. The method of claim 31, wherein the step of extracting a thirteenth encrypted message comprises: the thirteenth encrypted message is extracted according to the time included in the intra-group message fetch request message.
33. A method of implementing a social network, comprising:
receiving a tenth encrypted message;
judging whether the sender identifier of the tenth encrypted message comprises a signature and judging whether the destination identifier of the tenth encrypted message is a public key of a thirteenth node, verifying whether the public key and the signature included in the sender identifier of the tenth encrypted message are matched, and discarding the tenth encrypted message when the public key included in the sender identifier of the tenth encrypted message is not matched with the signature or the sender identifier of the tenth encrypted message does not comprise the signature; verifying the destination identifier of the tenth encrypted message when the public key included in the sender identifier of the tenth encrypted message matches the signature, forwarding the tenth encrypted message when the destination identifier of the tenth encrypted message is not the public key of the thirteenth node, and decrypting the tenth encrypted message according to the private key of the thirteenth node to obtain the tenth message when the destination identifier of the tenth encrypted message is the public key of the thirteenth node;
when the tenth message is the group entry invitation message, in response to receiving a user input agreeing to enter the group, encrypting the acceptance of the group entry invitation message based on the public key of the twelfth node to obtain an eleventh encrypted message whose sender identification includes the public key of the thirteenth node and the signature of the thirteenth node, and broadcasting the eleventh encrypted message whose destination identification is the public key of the twelfth node included in the group entry invitation message as the group node.
34. The method of claim 33, further comprising:
receiving a twelfth encrypted message whose destination identification is the public key of the thirteenth node;
verifying whether a public key and a signature included in a sender identifier of the twelfth encrypted message are matched;
when the public key included in the sender identification of the twelfth encrypted message is matched with the signature, decrypting the twelfth encrypted message according to the private key of the thirteenth node to obtain the twelfth message;
and when the twelfth message is group basic information, storing the group basic information, wherein the group basic information includes a public key of each group member node.
35. The method of claim 34, further comprising: the method further includes encrypting messages within the group based on a hash of the public keys of all of the group member nodes to obtain a thirteenth encrypted message, and broadcasting the thirteenth encrypted message, wherein a sender identification of the thirteenth encrypted message includes the public key of the thirteenth node and a signature of the thirteenth node, and a destination identification of the thirteenth encrypted message is the public key of the group node.
36. The method of claim 35, further comprising:
encrypting the message acquisition request message in the group based on the public key of the twelfth node to obtain a fourteenth encrypted message;
broadcasting a fourteenth encrypted message, wherein the sender identification of the fourteenth encrypted message comprises the public key of the thirteenth node and the signature of the thirteenth node, and the destination identification of the fourteenth encrypted message is the public key of the twelfth node;
receiving a thirteenth encrypted message whose destination identification is the public key of the thirteenth node;
verifying whether a public key included in the sender identifier of the thirteenth encrypted message matches the signature;
when the public key included in the sender identification of the thirteenth encrypted message is matched with the signature, decrypting the thirteenth encrypted message according to the private key of the thirteenth node to obtain the thirteenth message;
when the thirteenth message is an intra-group message, the intra-group message is displayed in response to a user input to read the intra-group message.
37. The method of claim 36, further comprising: encrypting the group withdrawal message or the group basic information update request message based on the public key of the thirteenth node to obtain an eleventh encrypted message, wherein the sender identification of the eleventh encrypted message comprises the public key of the thirteenth node and the signature of the thirteenth node, and the destination identification of the eleventh encrypted message is the public key of the group node, and broadcasting the eleventh encrypted message.
38. The method of claim 37, wherein the intra-group message comprises an update time of group basic information, the method further comprising:
comparing the update time of the local group basic information with the update time of the group basic information included in the intra-group message;
and acquiring a group basic information updating request message according to the comparison result.
39. A computer-readable storage medium storing instructions that, when executed by at least one computing device, cause the at least one computing device to perform the method of any of claims 1 to 38.
40. A system for implementing a social network comprising at least two nodes, wherein any one of the at least two nodes may perform the method of any one of claims 1 to 38.
CN201811307529.2A 2018-11-05 2018-11-05 Method and system for realizing social network Active CN109302281B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811307529.2A CN109302281B (en) 2018-11-05 2018-11-05 Method and system for realizing social network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811307529.2A CN109302281B (en) 2018-11-05 2018-11-05 Method and system for realizing social network

Publications (2)

Publication Number Publication Date
CN109302281A CN109302281A (en) 2019-02-01
CN109302281B true CN109302281B (en) 2021-12-14

Family

ID=65145115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811307529.2A Active CN109302281B (en) 2018-11-05 2018-11-05 Method and system for realizing social network

Country Status (1)

Country Link
CN (1) CN109302281B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200086800A (en) * 2019-01-10 2020-07-20 삼성전자주식회사 Electronic apparatus, control method of the electronic apparatus and network system
CN114827074B (en) * 2021-01-28 2024-04-09 腾讯科技(深圳)有限公司 Social message processing method, device, server, terminal and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1665184A (en) * 2004-03-05 2005-09-07 微软公司 Using a flexible rights template to obtain a signed rights label (SRL) for digital content
CN105850168A (en) * 2013-12-31 2016-08-10 华为终端有限公司 Secure connection method for network device, and related device and system
CN106529973A (en) * 2016-11-02 2017-03-22 深圳市幻实科技有限公司 Anti-counterfeiting method and apparatus based on augmented reality
CN107103252A (en) * 2017-04-27 2017-08-29 电子科技大学 Data access control method based on block chain
CN108009825A (en) * 2017-11-29 2018-05-08 江苏安凰领御科技有限公司 A kind of identity management system and method based on block chain technology

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113283A1 (en) * 2012-06-23 2015-04-23 Pomian & Corella Protecting credentials against physical capture of a computing device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1665184A (en) * 2004-03-05 2005-09-07 微软公司 Using a flexible rights template to obtain a signed rights label (SRL) for digital content
CN105850168A (en) * 2013-12-31 2016-08-10 华为终端有限公司 Secure connection method for network device, and related device and system
CN106529973A (en) * 2016-11-02 2017-03-22 深圳市幻实科技有限公司 Anti-counterfeiting method and apparatus based on augmented reality
CN107103252A (en) * 2017-04-27 2017-08-29 电子科技大学 Data access control method based on block chain
CN108009825A (en) * 2017-11-29 2018-05-08 江苏安凰领御科技有限公司 A kind of identity management system and method based on block chain technology

Also Published As

Publication number Publication date
CN109302281A (en) 2019-02-01

Similar Documents

Publication Publication Date Title
US10652018B2 (en) Methods and apparatus for providing attestation of information using a centralized or distributed ledger
He et al. Certificateless public key authenticated encryption with keyword search for industrial internet of things
US9590949B2 (en) Confidential message exchange using benign, context-aware cover message generation
TWI362873B (en) Method and system for identity recognition
CN101107805B (en) Method and system of managing and filtering electronic messages using cryptographic techniques
US11658963B2 (en) Cooperative communication validation
CN105229985A (en) Identity tokens
US11509664B2 (en) Secure sent message identifier
US20230059173A1 (en) Password concatenation for secure command execution in a secure network device
US20100287244A1 (en) Data communication using disposable contact information
CN102170419A (en) A secure mail client system and a method thereof
CN109302281B (en) Method and system for realizing social network
KR101379711B1 (en) Method for file encryption and decryption using telephone number
Safi et al. Privacy protection scheme for mobile social network
CN105474585A (en) Private tokens in electronic messages
US9635038B2 (en) Signed response to an abusive email account owner and provider systems and methods
Ramalingam et al. An Efficient and Effective Blockchain-based Data Aggregation for Voting System
JP2006185124A (en) Leakage origin specifiable mail address configuration method, leakage origin specifiable mail transmission/reception method utilizing this method, and system therefor
US10382211B1 (en) Apparatus and method for automating secure email for multiple personas
CN112580099B (en) Asymmetric encryption system and method based on alliance block chain network
Liyakat Implementation of e-mail security with three layers of authentication
Bosk et al. Applying privacy-enhancing technologies: One alternative future of protests
Teerakanok et al. A privacy-preserving framework for location-based service: a review of structural design and analysis
US20230111701A1 (en) Secure keyboard resource limiting access of user input to destination resource requesting the user input
Kumar et al. Block Chain and Cryptography based Secure Communication System

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