KR102387590B1 - System and method for blockchain hybrid messenger service - Google Patents

System and method for blockchain hybrid messenger service Download PDF

Info

Publication number
KR102387590B1
KR102387590B1 KR1020200144245A KR20200144245A KR102387590B1 KR 102387590 B1 KR102387590 B1 KR 102387590B1 KR 1020200144245 A KR1020200144245 A KR 1020200144245A KR 20200144245 A KR20200144245 A KR 20200144245A KR 102387590 B1 KR102387590 B1 KR 102387590B1
Authority
KR
South Korea
Prior art keywords
user
information
terminal
conversation
counterpart
Prior art date
Application number
KR1020200144245A
Other languages
Korean (ko)
Inventor
박세진
Original Assignee
계명대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 계명대학교 산학협력단 filed Critical 계명대학교 산학협력단
Priority to KR1020200144245A priority Critical patent/KR102387590B1/en
Application granted granted Critical
Publication of KR102387590B1 publication Critical patent/KR102387590B1/en

Links

Images

Classifications

    • H04L51/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • G06Q50/30
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed are a blockchain-integrated hybrid serverless messenger service system and method. The serverless messenger service method may comprise: a step of generating conversation content encryption information by encrypting conversation content transmitted and received by a user and partner through a messenger application; a step of generating conversation determination information for determining integrity of the conversation content based on the conversation content encryption information; and a step of storing the conversation determination information in a blockchain system.

Description

블록체인 혼합형 서버리스 메신저 서비스 시스템 및 방법{SYSTEM AND METHOD FOR BLOCKCHAIN HYBRID MESSENGER SERVICE }Blockchain hybrid serverless messenger service system and method

본 발명은 블록체인 혼합형 서버리스 메신저 서비스 시스템 및 방법에 관한 것으로, 보다 구체적으로는 서버 없이 사용자와 상대방 간의 비밀 대화가 가능한 메신저 서비스 시스템 및 방법에 관한 것이다.The present invention relates to a blockchain hybrid serverless messenger service system and method, and more particularly, to a messenger service system and method capable of secret conversation between a user and a counterpart without a server.

종래의 메신저 서비스 시스템은 사용자와 상대방이 메신저 어플리케이션을 통하여 송수신한 대화 내용을 서버에 저장하고 있으므로, 일정 용량 이상의 서버가 필요하다. 따라서, 메신저 서비스 시스템을 구축하기 위하여 일정 이상의 비용이 요구되는 실정이다.Since the conventional messenger service system stores the contents of conversations transmitted and received between a user and a counterpart through a messenger application in a server, a server with a certain capacity or more is required. Therefore, in order to build a messenger service system, a certain amount of cost is required.

또한, 서버에 대화 내용을 모두 저장하고 있으므로 서버를 통하여 대화 내용이 유출될 수 있다는 문제점도 있다.In addition, since all conversation contents are stored in the server, there is also a problem that the conversation contents may be leaked through the server.

따라서, 서버를 필요로 하지 않으며, 대화 내용의 유출도 방지할 수 있는 방법이 요청되고 있다.Accordingly, there is a demand for a method that does not require a server and can prevent leakage of conversation contents.

본 발명은 암호화 과정에서 생성한 대화 판별 정보를 블록 체인 시스템에 저장하고, 블록 체인 시스템에 저장한 대화 판별 정보와 단말에서 생성한 대화 판별 정보의 동일 여부에 따라 대화 내용의 진실성을 인증함으로써, 암호화된 대화 내용의 진실성을 검증 하는 장치 및 방법을 제공한다.The present invention stores the conversation identification information generated in the encryption process in the block chain system, and authenticates the truth of the conversation content according to whether the conversation identification information stored in the block chain system and the conversation identification information generated in the terminal are the same. A device and method for verifying the veracity of the conversation contents are provided.

또한, 본 발명은 암호화된 대화 내용의 일부를 이용하여 생성한 대화 판별 정보를 블록 체인 시스템에 저장함으로써, 블록 체인 시스템에 저장된 정보로는 대화 내용을 추론하지 못하도록 하는 장치 및 방법을 제공한다.In addition, the present invention provides an apparatus and method for preventing conversation content from inferring from the information stored in the block chain system by storing dialog identification information generated using a part of the encrypted conversation content in the block chain system.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 방법은 사용자와 상대방이 메신저 어플리케이션을 통하여 송수신한 대화 내용을 암호화하여 대화 내용 암호화 정보를 생성하는 단계; 상기 대화 내용 암호화 정보를 기초로 상기 대화 내용의 진실성을 판별하기 위한 대화 판별 정보를 생성하는 단계; 및 블록 체인 시스템에 상기 대화 판별 정보를 저장하는 단계를 포함할 수 있다.A serverless messenger service method according to an embodiment of the present invention comprises the steps of: encrypting conversation contents transmitted and received by a user and a counterpart through a messenger application to generate conversation contents encryption information; generating conversation determination information for determining the truth of the conversation contents based on the conversation contents encryption information; and storing the conversation determination information in a block chain system.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 방법의 암호화하는 단계는, 상기 사용자의 사용자 식별 정보 및 상기 메신저 어플리케이션이 실행된 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 상기 대화 내용을 암호화할 수 있다.In the encrypting of the serverless messenger service method according to an embodiment of the present invention, the conversation content is encrypted using an encryption key including user identification information of the user and terminal identification information of a terminal in which the messenger application is executed. can do.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 방법의 대화 판별 정보는, 상기 사용자의 사용자 식별 정보, 상기 메신저 어플리케이션이 실행된 단말의 단말 식별 정보, 및 상기 대화 내용 암호화 정보의 요약 정보 중 적어도 하나를 포함할 수 있다.The conversation determination information of the serverless messenger service method according to an embodiment of the present invention includes at least one of user identification information of the user, terminal identification information of a terminal in which the messenger application is executed, and summary information of the conversation content encryption information may include

본 발명의 일실시예에 따른 서버리스 메신저 서비스 방법은 상기 대화 내용 암호화 정보에서 기 설정된 위치의 데이터를 추출하여 상기 요약 정보를 생성하는 단계를 더 포함할 수 있다.The serverless messenger service method according to an embodiment of the present invention may further include generating the summary information by extracting data at a preset location from the conversation content encryption information.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 방법은 상기 대화 내용에서 기 설정된 위치의 문장을 추출하고, 추출한 문장을 상기 암호키로 암호화하여 상기 요약 정보를 생성하는 단계를 더 포함할 수 있다.The serverless messenger service method according to an embodiment of the present invention may further include extracting a sentence at a preset position from the conversation content, and encrypting the extracted sentence with the encryption key to generate the summary information.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 방법은 사용자로부터 상기 대화 내용의 복호화를 요청 받은 경우, 상기 대화 내용 암호화 정보를 기초로 대화 판별 정보를 생성하는 단계; 상기 블록 체인 시스템에서 대화 판별 정보를 로드하는 단계; 및 로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일한 경우, 상기 사용자의 사용자 식별 정보 및 상기 대화 내용의 복호화를 요청받은 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 상기 대화 내용 암호화 정보를 복호화하는 단계를 더 포함할 수 있다.A serverless messenger service method according to an embodiment of the present invention includes the steps of: generating conversation determination information based on the conversation content encryption information when receiving a request to decrypt the conversation contents from a user; loading conversation determination information in the block chain system; and when the loaded dialog identification information and the generated dialog identification information are the same, the conversation content encryption information is encrypted using an encryption key including the user identification information of the user and the terminal identification information of the terminal requested to decrypt the conversation content It may further include the step of decrypting.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 방법은 로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일하지 않은 경우, 대화 내용이 변조되었다는 것을 알리는 경고를 출력하는 단계를 더 포함할 수 있다.The serverless messenger service method according to an embodiment of the present invention may further include outputting a warning informing that the conversation content has been tampered with, when the loaded conversation identification information and the generated conversation identification information are not the same.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 시스템의 단말은 사용자와 상대방이 메신저 어플리케이션을 통하여 송수신한 대화 내용을 암호화하여 대화 내용 암호화 정보를 생성하고, 상기 대화 내용 암호화 정보를 기초로 상기 대화 내용의 진실성을 판별하기 위한 대화 판별 정보를 생성하는 프로세서; 및 블록 체인 시스템에 상기 대화 판별 정보를 저장하는 통신기를 포함할 수 있다.The terminal of the serverless messenger service system according to an embodiment of the present invention encrypts the conversation contents transmitted and received between the user and the counterpart through the messenger application to generate conversation contents encryption information, and based on the conversation contents encryption information, the conversation contents a processor for generating conversation determination information for determining the truth of the conversation; and a communicator for storing the conversation determination information in a block chain system.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 시스템의 단말의 프로세서는, 상기 사용자의 사용자 식별 정보 및 상기 메신저 어플리케이션이 실행된 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 상기 대화 내용을 암호화할 수 있다.The processor of the terminal of the serverless messenger service system according to an embodiment of the present invention encrypts the conversation contents using an encryption key including user identification information of the user and terminal identification information of the terminal in which the messenger application is executed can do.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 시스템의 대화 판별 정보는, 상기 사용자의 사용자 식별 정보, 상기 메신저 어플리케이션이 실행된 단말의 단말 식별 정보, 및 상기 대화 내용 암호화 정보의 요약 정보 중 적어도 하나를 포함할 수 있다.The conversation determination information of the serverless messenger service system according to an embodiment of the present invention includes at least one of user identification information of the user, terminal identification information of a terminal in which the messenger application is executed, and summary information of the conversation content encryption information may include

본 발명의 일실시예에 따른 서버리스 메신저 서비스 시스템의 단말의 프로세서는, 상기 대화 내용 암호화 정보에서 기 설정된 위치의 데이터를 추출하여 상기 요약 정보를 생성할 수 있다.The processor of the terminal of the serverless messenger service system according to an embodiment of the present invention may extract data of a preset location from the conversation content encryption information to generate the summary information.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 시스템의 단말의 프로세서는, 상기 대화 내용에서 기 설정된 위치의 문장을 추출하고, 추출한 문장을 상기 암호키로 암호화하여 상기 요약 정보를 생성할 수 있다.The processor of the terminal of the serverless messenger service system according to an embodiment of the present invention may extract a sentence at a preset position from the conversation content, and encrypt the extracted sentence with the encryption key to generate the summary information.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 시스템의 단말의 통신기는, 사용자로부터 상기 대화 내용의 복호화를 요청 받은 경우, 상기 블록 체인 시스템에서 대화 판별 정보를 로드하고, 상기 프로세서는, 사용자로부터 상기 대화 내용의 복호화를 요청 받은 경우, 상기 대화 내용 암호화 정보를 기초로 대화 판별 정보를 생성하며, 로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일한 경우, 상기 사용자의 사용자 식별 정보 및 상기 대화 내용의 복호화를 요청받은 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 상기 대화 내용 암호화 정보를 복호화할 수 있다.The communicator of the terminal of the serverless messenger service system according to an embodiment of the present invention, when receiving a request to decrypt the conversation content from the user, loads the conversation determination information in the block chain system, and the processor, When a request to decrypt the conversation contents is received, dialogue determination information is generated based on the conversation contents encryption information, and when the loaded dialogue determination information and the generated dialogue determination information are the same, the user identification information of the user and the conversation contents The conversation content encryption information may be decrypted using an encryption key including terminal identification information of the terminal requested to be decrypted.

본 발명의 일실시예에 따른 서버리스 메신저 서비스 시스템의 단말의 프로세서는, 로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일하지 않은 경우, 대화 내용이 변조되었다는 것을 알리는 경고를 출력할 수 있다.The processor of the terminal of the serverless messenger service system according to an embodiment of the present invention may output a warning informing that the conversation content has been tampered with when the loaded conversation identification information and the generated conversation identification information are not the same.

본 발명의 일실시예에 의하면, 암호화 과정에서 생성한 대화 판별 정보를 블록 체인 시스템에 저장하고, 블록 체인 시스템에 저장한 대화 판별 정보와 단말에서 생성한 대화 판별 정보의 동일 여부에 따라 대화 내용의 진실성을 인증함으로써, 암호화된 대화 내용의 진실성을 검증할 수 있다.According to an embodiment of the present invention, the conversation determination information generated in the encryption process is stored in the block chain system, and the conversation content is stored according to whether the conversation determination information stored in the block chain system is the same as the dialogue determination information generated in the terminal. By authenticating the authenticity, it is possible to verify the authenticity of the encrypted conversation content.

또한, 본 발명의 일실시예에 의하면, 암호화된 대화 내용의 일부를 이용하여 생성한 대화 판별 정보를 블록 체인 시스템에 저장함으로써, 블록 체인 시스템에 저장된 정보로는 대화 내용을 추론하지 못하도록 할 수 있다.In addition, according to an embodiment of the present invention, by storing the conversation identification information generated using a part of the encrypted conversation contents in the block chain system, it is possible to prevent the conversation contents from being inferred from the information stored in the block chain system .

도 1은 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 시스템을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 시스템이 상대방 단말에 접속 성공한 경우의 동작을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 시스템이 상대방 단말에 접속 실패한 경우의 동작을 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 시스템의 등록 과정을 도시한 플로우차트이다.
도 5는 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 방법의 대화 내용 저장 과정을 도시한 플로우차트이다.
도 6은 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 방법의 대화 내용 복호화 과정을 도시한 플로우차트이다.
1 is a diagram illustrating a blockchain hybrid serverless messenger service system according to an embodiment of the present invention.
2 is a diagram illustrating an operation when the block chain hybrid serverless messenger service system according to an embodiment of the present invention succeeds in accessing the counterpart terminal.
3 is a diagram illustrating an operation when the block chain hybrid serverless messenger service system according to an embodiment of the present invention fails to access the counterpart terminal.
4 is a flowchart illustrating a registration process of a blockchain hybrid serverless messenger service system according to an embodiment of the present invention.
5 is a flowchart illustrating a conversation content storage process of a blockchain hybrid serverless messenger service method according to an embodiment of the present invention.
6 is a flowchart illustrating a conversation content decryption process of a blockchain hybrid serverless messenger service method according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that a feature, number, step, operation, component, part, or a combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 시스템을 도시한 도면이다.1 is a diagram illustrating a blockchain hybrid serverless messenger service system according to an embodiment of the present invention.

블록체인 혼합형 서버리스 메신저 서비스 시스템은 도 1에 도시된 바와 같이 메신저 어플리케이션이 설치된 사용자의 단말(110), 상대방의 단말(120) 및 복수의 블록 체인 노드들로 구성된 블록 체인 시스템(130)을 포함할 수 있다. 이때, 상대방은 사용자가 메신저 어플리케이션을 이용하여 대화하는 다른 사용자일 수 있다.As shown in FIG. 1, the blockchain hybrid serverless messenger service system includes a user's terminal 110 with a messenger application installed, the other's terminal 120, and a block chain system 130 composed of a plurality of block chain nodes. can do. In this case, the counterpart may be another user with whom the user communicates using the messenger application.

사용자의 단말(110)은 메신저 어플리케이션 및 블록체인 스마트 컨트랙트를 저장한 저장 매체, 메신저 어플리케이션 및 블록체인 스마트 컨트랙트를 수행하는 프로세서 및 블록 체인 노드와 접속 가능하고, P2P(peer to peer)로 상대방의 단말(120)과 연결하는 통신기를 포함할 수 있다.The user's terminal 110 can connect to a storage medium that stores messenger applications and block chain smart contracts, a processor that performs messenger applications and block chain smart contracts, and block chain nodes, and is peer-to-peer (P2P). It may include a communicator to connect with 120 .

사용자의 단말(110)의 블록체인 스마트 컨트랙트는 사용자의 식별 정보와 네트워크 접속 정보 및 사용자의 공개키(Public Key)를 블록 체인 시스템에 등록할 수 있다. 예를 들어, 사용자의 식별 정보는 사용자의 메신저 ID이며, 네트워크 접속 정보는 IP 주소, Push 서버 접속 지정자와 같은 네트워크 접속 엔드 포인트(Endpoint) 정보일 수 있다.The block chain smart contract of the user's terminal 110 may register the user's identification information, network access information, and the user's public key in the block chain system. For example, the user's identification information may be the user's messenger ID, and the network access information may be network connection endpoint information such as an IP address and a push server connection designator.

또한, 사용자의 단말(110)의 블록체인 스마트 컨트랙트는 사용자를 위한 사용자 메시지 정보 박스를 블록 체인 시스템에 생성할 수 있다. 이때, 사용자 메시지 정보 박스는 상대방의 단말(120)로부터 사용자의 단말(110)로 전달될 상대방의 메시지가 임시로 저장되는 공간일 수 있다. 또한, 상대방의 단말(120)로부터 사용자 메시지 정보 박스에 상대방의 메시지 정보가 저장되는 경우, 사용자 메시지 정보 박스는 사용자의 단말(110)에게 상대방의 메시지 정보가 저장되었다는 것을 알릴 수 있다. 그리고, 사용자 메시지 정보 박스에 저장되는 상대방의 메시지 정보는 사용자의 공개키로 암호화된 상대방의 접속 정보 및 암호화된 상대방의 접속 정보를 검증하기 위한 해시값을 포함할 수 있다.In addition, the block chain smart contract of the user's terminal 110 can create a user message information box for the user in the block chain system. In this case, the user message information box may be a space in which a message of the counterpart to be transmitted from the terminal 120 of the counterpart to the terminal 110 of the user is temporarily stored. In addition, when the counterpart's message information is stored in the user message information box from the counterpart's terminal 120 , the user message information box may notify the user's terminal 110 that the counterpart's message information is stored. In addition, the message information of the counterparty stored in the user message information box may include a hash value for verifying the access information of the counterpart encrypted with the user's public key and the encrypted access information of the counterpart.

또한, 사용자의 단말(110)은 사용자로부터 입력받은 사용자의 대화 내용을 저장 매체에 유지하고 있으며, 상대방의 단말(120)도 상대방으로부터 입력받은 상대방의 대화 내용을 저장 매체에 유지할 수 있다.In addition, the user's terminal 110 maintains the conversation contents of the user inputted from the user in the storage medium, and the other's terminal 120 may also maintain the conversation contents of the other party inputted from the other party in the storage medium.

메신저 어플리케이션이 실행되고, 사용자로부터 상대방의 식별 정보를 입력받은 경우, 사용자의 단말(110)은 메신저 대화를 위하여 상대방의 단말(120)에 접속을 시도할 수 있다. 구체적으로, 사용자의 단말(110)의 블록체인 스마트 컨트랙트는 상대방의 식별 정보를 이용하여 블록 체인 시스템에 등록된 상대방의 네트워크 접속 정보를 수신할 수 있다. 그리고, 사용자의 단말(110)은 상대방의 네트워크 접속 정보를 이용하여 상대방의 단말(120)에 P2P 접속을 시도할 수 있다. 다만, 상대방의 단말(120)의 네트워크 어플리케이션이 구동되지 않는 경우, 사용자의 단말(110)의 상대방의 단말(120)에 대한 접속 시도가 실패할 수 있다.When a messenger application is executed and identification information of the counterpart is received from the user, the user's terminal 110 may attempt to access the counterpart's terminal 120 for a messenger conversation. Specifically, the blockchain smart contract of the user's terminal 110 may receive the counterpart's network connection information registered in the block chain system by using the counterpart's identification information. In addition, the user's terminal 110 may attempt a P2P connection to the other's terminal 120 by using the other's network access information. However, when the network application of the counterpart's terminal 120 is not running, the user's terminal 110 attempts to access the counterpart's terminal 120 may fail.

사용자의 단말(110)이 상대방의 단말(120)에 접속하지 못하는 경우, 사용자의 단말(110)은 상대방의 단말(120)에게 사용자의 단말(110)로 접속할 것을 요청할 수 있다. 구체적으로, 사용자의 단말(110)은 상대방의 공개키로 사용자의 접속 정보를 암호화하여 사용자의 메시지 정보를 생성할 수 있다. 이때, 사용자의 접속 정보는 상대방의 단말(120)이 사용자의 단말(110)과 직접 접속하기 위하여 필요한 정보일 수 있다. 또한, 사용자의 메시지 정보는 상대방의 공개키로 암호화된 사용자의 접속 정보 및 암호화된 사용자의 접속 정보를 검증하기 위한 해시값을 포함할 수 있다.When the user's terminal 110 cannot access the other's terminal 120 , the user's terminal 110 may request the other's terminal 120 to access the user's terminal 110 . Specifically, the user's terminal 110 may generate the user's message information by encrypting the user's access information with the public key of the other party. In this case, the user's access information may be information required for the counterpart's terminal 120 to directly access the user's terminal 110 . In addition, the user's message information may include a hash value for verifying the user's access information encrypted with the other party's public key and the encrypted user's access information.

그리고, 사용자의 단말(110)은 사용자의 메시지 정보를 블록 체인 시스템의 상대방 메시지 정보 박스에 저장할 수 있다. 이때, 상대방 메시지 정보 박스는 사용자의 단말(110)에서 상대방의 단말(120)로 전달될 사용자의 메시지 정보를 임시로 저장하는 공간일 수 있다. 그리고, 상대방 메시지 정보 박스는 푸시(PUSH) 서비스를 이용하여 상대방의 단말(120)에게 사용자의 메시지 정보가 상대방 메시지 정보 박스에 신규로 저장되었다는 알람을 전달할 수 있다. In addition, the user's terminal 110 may store the user's message information in the counterpart message information box of the block chain system. In this case, the counterpart message information box may be a space for temporarily storing the user's message information to be transmitted from the user's terminal 110 to the counterpart's terminal 120 . In addition, the counterpart message information box may transmit an alarm that the user's message information is newly stored in the counterpart message information box to the counterpart's terminal 120 using a PUSH service.

사용자의 메시지 정보가 상대방 메시지 정보 박스에 저장되었다는 알람을 수신한 상대방의 단말(120)은 상대방 메시지 정보 박스에서 사용자의 메시지 정보를 수신할 수 있다. 다음으로, 상대방의 단말(120)은 상대방의 공개키로 사용자의 메시지 정보에 포함된 사용자의 접속 정보를 복호화할 수 있다. 그리고, 상대방의 단말(120)은 복호화한 사용자의 접속 정보를 이용하여 사용자의 단말(110)에 접속할 수 있다.Upon receiving the alarm that the user's message information is stored in the counterpart's message information box, the counterpart's terminal 120 may receive the user's message information in the counterpart's message information box. Next, the counterpart's terminal 120 may decrypt the user's access information included in the user's message information with the counterpart's public key. In addition, the counterpart's terminal 120 may access the user's terminal 110 using the decrypted user's access information.

이때, 상대방의 단말(120)은 사용자의 메시지 정보에 포함된 사용자의 접속 정보로부터 해시값을 생성하고, 생성한 해시값과 사용자의 메시지 정보에 포함된 해시값을 비교하여 사용자의 접속 정보의 진위 여부를 판단할 수 있다. 구체적으로, 생성한 해시값과 사용자의 메시지 정보에 포함된 해시값이 동일한 경우, 상대방의 단말(120)은 사용자의 메시지 정보를 진짜 정보로 판단할 수 있다. 또한, 생성한 해시값과 사용자의 메시지 정보에 포함된 해시값이 동일한 경우, 상대방의 단말(120)은 사용자의 메시지 정보를 오류가 발생한 가짜 정보로 판단할 수 있다.In this case, the counterpart's terminal 120 generates a hash value from the user's access information included in the user's message information, and compares the generated hash value with the hash value included in the user's message information to verify the authenticity of the user's access information. can determine whether Specifically, when the generated hash value and the hash value included in the user's message information are the same, the counterpart's terminal 120 may determine the user's message information as genuine information. In addition, when the generated hash value and the hash value included in the user's message information are the same, the counterpart's terminal 120 may determine the user's message information as false information in which an error has occurred.

사용자의 단말(110)의 상대방의 단말(120)에 대한 접속 시도가 성공하거나, 상대방의 단말(120)이 사용자의 단말(110)에 접속한 경우, 사용자의 단말(110)은 메신저 어플리케이션을 통하여 상대방의 단말(120)에게 사용자가 작성한 대화 내용을 송신하고, 상대방이 작성한 대화 내용을 수신하여 표시할 수 있다. 이때, 사용자의 단말(110)과 상대방의 단말(120)은 P2P를 통하여 대화 내용을 직접 송수신할 수 있다.When the user's terminal 110 attempts to access the other's terminal 120 is successful, or the other's terminal 120 accesses the user's terminal 110, the user's terminal 110 is The content of the conversation written by the user may be transmitted to the terminal 120 of the counterpart, and the content of the conversation written by the counterpart may be received and displayed. In this case, the user's terminal 110 and the other's terminal 120 may directly transmit/receive conversation contents through P2P.

그리고, 사용자의 단말(110)의 프로세서는 사용자와 상대방이 메신저 어플리케이션을 통하여 송수신한 대화 내용을 암호화하여 대화 내용 암호화 정보를 생성할 수 있다. 이때, 사용자의 단말(110)의 프로세서는 사용자의 사용자 식별 정보 및 메신저 어플리케이션이 실행된 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 대화 내용을 암호화할 수 있다.In addition, the processor of the user's terminal 110 may generate conversation content encryption information by encrypting the conversation content transmitted and received between the user and the counterpart through the messenger application. In this case, the processor of the user's terminal 110 may encrypt the conversation contents using an encryption key including the user identification information of the user and the terminal identification information of the terminal in which the messenger application is executed.

다음으로, 사용자의 단말(110)의 프로세서는 대화 내용에 기초한 요약 정보를 생성할 수 있다 예를 들어, 사용자의 단말(110)의 프로세서는 대화 내용 암호화 정보에서 기 설정된 위치의 데이터를 추출하여 요약 정보를 생성할 수 있다. 또한, 사용자의 단말(110)의 프로세서는 대화 내용에서 기 설정된 위치의 문장을 추출하고, 추출한 문장을 암호키로 암호화하여 요약 정보를 생성할 수도 있다.Next, the processor of the user's terminal 110 may generate summary information based on the conversation content. For example, the processor of the user's terminal 110 extracts data at a preset location from the conversation content encryption information and summarizes it. information can be created. In addition, the processor of the user's terminal 110 may extract a sentence of a preset position from the conversation content, and encrypt the extracted sentence with an encryption key to generate summary information.

그 다음으로, 사용자의 단말(110)의 프로세서는 대화 내용 암호화 정보를 기초로 대화 내용의 진실성을 판별하기 위한 대화 판별 정보를 생성할 수 있다. 이때, 대화 판별 정보는 사용자의 사용자 식별 정보, 메신저 어플리케이션이 실행된 사용자의 단말(110)의 단말 식별 정보, 및 대화 내용 암호화 정보의 요약 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 사용자의 단말(110)의 단말 식별 정보는 단말(110)의 시리얼 번호나 MAC address와 같은 고유 정보일 수 있다.Next, the processor of the user's terminal 110 may generate conversation determination information for determining the truth of the conversation content based on the conversation content encryption information. In this case, the conversation identification information may include at least one of user identification information of the user, terminal identification information of the terminal 110 of the user running the messenger application, and summary information of conversation content encryption information. For example, the terminal identification information of the user's terminal 110 may be unique information such as a serial number or MAC address of the terminal 110 .

또한, 대화 판별 정보는 사용자의 단말(110)이 상대방의 단말(120)로부터 메시지를 수신한 것을 알리는 수신 기록 정보일 수 있다. 이때, 수신 기록 정보는 사용자의 단말(110)이 상대방의 단말(120)로부터 수신한 대화 내용과 사용자의 개인키, 및 사용자의 단말(110)의 단말 식별 정보를 조합한 결과의 해시값일 수 있다. 또한, 사용자의 개인키는 사용자의 공개키와 사용자만 알고 있는 고유정보의 조합일 수 있다.Also, the conversation determination information may be reception record information informing that the user's terminal 110 has received a message from the other's terminal 120 . In this case, the reception record information may be a hash value of the result of combining the conversation content received by the user's terminal 110 from the other's terminal 120, the user's private key, and the terminal identification information of the user's terminal 110. . In addition, the user's private key may be a combination of the user's public key and unique information known only to the user.

마지막으로 사용자의 단말(110)의 통신기는 블록 체인 시스템(130)에 대화 판별 정보를 저장할 수 있다. 이때, 상대방의 단말(120)도 사용자의 단말(110)과 동일한 과정으로 대화 내용 암호화 정보 및 대화 판별 정보를 생성하고, 대화 판별 정보를 블록 체인 시스템(130)에 저장할 수 있다.Finally, the communicator of the user's terminal 110 may store the conversation determination information in the block chain system 130 . At this time, the other party's terminal 120 may also generate conversation content encryption information and conversation identification information in the same process as the user's terminal 110 , and store the conversation identification information in the block chain system 130 .

또한, 사용자의 단말(110)은 사용자의 요청에 따라 대화 내용 암호화 정보를 복호화하여 대화 내용을 복원할 수도 있다.Also, the user's terminal 110 may restore the conversation contents by decrypting the conversation contents encryption information according to the user's request.

구체적으로, 사용자로부터 대화 내용의 복호화를 요청 받은 경우, 사용자의 단말(110)의 프로세서는 기 저장된 대화 내용 암호화 정보를 기초로 대화 판별 정보를 생성할 수 있다. 이때, 사용자의 단말(110)의 프로세서는 대화 내용 암호화 정보의 요약 정보를 생성한 후, 요약 정보를 포함하는 대화 판별 정보를 생성할 수 있다. 예를 들어, 대화 판별 정보가 수신 기록 정보인 경우, 사용자의 단말(110)은 상대방의 단말(120)로부터 수신한 대화 내용과 사용자의 개인키, 및 사용자의 단말(110)의 단말 식별 정보를 조합한 결과의 해시값을 대화 판별 정보로 생성할 수 있다.Specifically, when receiving a request for decryption of conversation contents from the user, the processor of the user's terminal 110 may generate conversation determination information based on pre-stored conversation contents encryption information. In this case, the processor of the user's terminal 110 may generate the summary information of the conversation content encryption information, and then generate the conversation determination information including the summary information. For example, when the conversation identification information is reception record information, the user's terminal 110 stores the conversation content received from the other's terminal 120, the user's private key, and the terminal identification information of the user's terminal 110 A hash value of the combined result can be generated as conversation identification information.

다음으로, 사용자의 단말(110)의 통신기는 블록 체인 시스템(130)에서 대화 판별 정보를 로드할 수 있다. Next, the communicator of the user's terminal 110 may load the conversation determination information in the block chain system 130 .

이때, 사용자의 단말(110)의 프로세서는 블록 체인 시스템(130)에서 로드한 대화 판별 정보와 대화 내용 암호화 정보를 기초로 생성한 대화 판별 정보가 동일한지 여부를 판단할 수 있다. In this case, the processor of the user's terminal 110 may determine whether the conversation determination information loaded from the block chain system 130 and the dialogue determination information generated based on the conversation content encryption information are the same.

로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일한 경우, 사용자의 단말(110)의 프로세서는 사용자의 사용자 식별 정보 및 대화 내용의 복호화를 요청받은 사용자의 단말(110)의 단말 식별 정보가 포함된 암호 키를 이용하여 대화 내용 암호화 정보를 복호화할 수 있다. When the loaded dialog identification information and the generated dialog identification information are the same, the processor of the user's terminal 110 includes the user's user identification information and the terminal identification information of the user's terminal 110 requested to decode the conversation contents. Conversation content encryption information can be decrypted using the encryption key.

로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일하지 않은 경우, 사용자의 단말(110)의 프로세서는 대화 내용이 변조되었다는 것을 알리는 경고를 출력할 수 있다.When the loaded conversation determination information and the generated dialogue determination information are not the same, the processor of the user's terminal 110 may output a warning informing that the conversation content has been tampered with.

블록체인 혼합형 서버리스 메신저 서비스 시스템은 암호화 과정에서 생성한 대화 판별 정보를 블록 체인 시스템에 저장하고, 블록 체인 시스템에 저장한 대화 판별 정보와 단말에서 생성한 대화 판별 정보의 동일 여부에 따라 대화 내용의 진실성을 인증함으로써, 암호화된 대화 내용의 진실성을 검증할 수 있다.The blockchain hybrid serverless messenger service system stores the conversation identification information generated during the encryption process in the block chain system, and the conversation content is changed according to whether the conversation identification information stored in the block chain system and the conversation identification information generated in the terminal are the same. By authenticating the authenticity, it is possible to verify the authenticity of the encrypted conversation content.

또한, 블록체인 혼합형 서버리스 메신저 서비스 시스템은 암호화된 대화 내용의 일부를 이용하여 생성한 대화 판별 정보를 블록 체인 시스템에 저장함으로써, 블록 체인 시스템에 저장된 정보로는 대화 내용을 추론하지 못하도록 할 수 있다.In addition, the blockchain hybrid serverless messenger service system stores the conversation identification information generated by using a part of the encrypted conversation contents in the blockchain system, so that the conversation contents cannot be inferred from the information stored in the blockchain system. .

도 2는 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 시스템이 상대방 단말에 접속 성공한 경우의 동작을 도시한 도면이다.2 is a diagram illustrating an operation when the block chain hybrid serverless messenger service system according to an embodiment of the present invention succeeds in accessing the counterpart terminal.

사용자의 단말(110)의 상대방의 단말(120)에 대한 P2P 접속이 성공한 경우, 사용자의 단말(110)은 메신저 어플리케이션을 통하여 상대방의 단말(120)에게 사용자가 작성한 대화 내용을 송신하고, 상대방이 작성한 대화 내용을 수신하여 표시할 수 있다.When the P2P connection of the user's terminal 110 to the other's terminal 120 is successful, the user's terminal 110 transmits the conversation content created by the user to the other's terminal 120 through the messenger application, and the other party You can receive and display the contents of the conversation you have created.

이때, 사용자의 단말(110)은 사용자와 상대방이 메신저 어플리케이션을 통하여 송수신한 대화 내용을 암호화하여 대화 내용 암호화 정보(210)를 생성할 수 있다. 또한, 상대방의 단말(120)도 사용자와 상대방이 메신저 어플리케이션을 통하여 송수신한 대화 내용을 암호화하여 대화 내용 암호화 정보(210)를 생성할 수 있다.In this case, the user's terminal 110 may generate the conversation content encryption information 210 by encrypting the conversation content transmitted and received between the user and the counterpart through the messenger application. In addition, the counterpart's terminal 120 may also generate the conversation content encryption information 210 by encrypting the conversation content transmitted and received between the user and the counterpart through the messenger application.

다음으로, 사용자의 단말(110)은 사용자의 사용자 식별 정보(230) 및 사용자의 단말(110)의 단말 식별 정보(220)가 포함된 암호 키를 이용하여 대화 내용을 암호화함으로써, 추후 대화 내용 암호화 정보(210)을 복호화 하고자 하는 경우, 복호화하는 사용자의 단말(110)과 사용자가 동일한 경우에만 복호화가 가능하도록 할 수 있다.Next, the user's terminal 110 encrypts the conversation content by using an encryption key including the user identification information 230 of the user and the terminal identification information 220 of the user's terminal 110, thereby encrypting the conversation contents later When the information 210 is to be decrypted, the decryption may be enabled only when the terminal 110 of the decrypting user and the user are the same.

그 다음으로, 사용자의 단말(110)은 사용자의 사용자 식별 정보(230), 사용자의 단말(110)의 단말 식별 정보(220), 및 대화 내용 암호화 정보의 요약 정보 중 적어도 하나를 포함하는 대화 판별 정보(240)를 생성할 수 있다. Next, the user's terminal 110 determines the conversation including at least one of the user's user identification information 230 , the terminal identification information 220 of the user's terminal 110 , and summary information of the conversation content encryption information Information 240 may be generated.

그리고, 사용자의 단말(110)은 블록 체인 시스템(130)의 블록 체인 노드에 대화 판별 정보(240)를 저장할 수 있다. 이때, 대화 판별 정보(240)를 수신한 블록 체인 노드는 블록 체인 시스템(130)에 포함된 다른 블록 체인 노드에게 대화 판별 정보(240)를 전파하여 저장할 수 있다.In addition, the user's terminal 110 may store the conversation determination information 240 in the block chain node of the block chain system 130 . At this time, the block chain node that has received the conversation determination information 240 may propagate and store the dialogue determination information 240 to other block chain nodes included in the block chain system 130 .

도 3은 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 시스템이 상대방 단말에 접속 실패한 경우의 동작을 도시한 도면이다.3 is a diagram illustrating an operation when the block chain hybrid serverless messenger service system according to an embodiment of the present invention fails to access the counterpart terminal.

사용자의 단말(110)의 상대방의 단말(120)에 대한 P2P 접속이 실패한 경우, 사용자의 단말(110)은 상대방의 공개키로 사용자의 접속 정보를 암호화하여 사용자의 메시지 정보(310)를 생성할 수 있다. 이때, 사용자의 메시지 정보(310)는 상대방의 공개키로 암호화된 사용자의 접속 정보 및 암호화된 사용자의 접속 정보를 검증하기 위한 해시값을 포함할 수 있다.When the P2P connection of the user's terminal 110 to the other's terminal 120 fails, the user's terminal 110 encrypts the user's access information with the other's public key to generate the user's message information 310. there is. In this case, the user's message information 310 may include a hash value for verifying the user's access information encrypted with the other party's public key and the encrypted user's access information.

그리고, 사용자의 단말(110)은 사용자의 메시지 정보(310)를 블록 체인 시스템의 상대방 메시지 정보 박스(320)에 저장할 수 있다. 이때, 상대방 메시지 정보 박스(320)는 푸시(PUSH) 서비스를 이용하여 상대방의 단말(120)에게 사용자의 메시지 정보가 상대방 메시지 정보 박스(320)에 신규로 저장되었다는 알람을 전달할 수 있다. In addition, the user's terminal 110 may store the user's message information 310 in the counterpart message information box 320 of the block chain system. In this case, the counterpart message information box 320 may transmit an alarm that the user's message information is newly stored in the counterpart message information box 320 to the counterpart terminal 120 using a PUSH service.

사용자의 메시지 정보(310)가 상대방 메시지 정보 박스(320)에 저장되었다는 알람을 수신한 상대방의 단말(120)은 상대방 메시지 정보 박스(320)에서 사용자의 메시지 정보(31)를 수신할 수 있다. Upon receiving the alarm that the user's message information 310 is stored in the counterpart's message information box 320 , the counterpart's terminal 120 may receive the user's message information 31 in the counterpart's message information box 320 .

다음으로, 상대방의 단말(120)은 상대방의 공개키로 사용자의 메시지 정보에 포함된 사용자의 접속 정보를 복호화할 수 있다. 그리고, 상대방의 단말(120)은 복호화한 사용자의 접속 정보를 이용하여 사용자의 단말(110)에 접속할 수 있다.Next, the counterpart's terminal 120 may decrypt the user's access information included in the user's message information with the counterpart's public key. In addition, the counterpart's terminal 120 may access the user's terminal 110 using the decrypted user's access information.

이때, 상대방의 단말(120)은 사용자의 메시지 정보에 포함된 사용자의 접속 정보로부터 해시값을 생성하고, 생성한 해시값과 사용자의 메시지 정보에 포함된 해시값을 비교하여 사용자의 접속 정보의 진위 여부를 판단할 수 있다. 그리고, 상대방의 단말(120)은 사용자의 메시지 정보를 진짜 정보로 판단한 경우에만 사용자의 접속 정보를 이용하여 사용자의 단말(110)에 접속할 수 있다.In this case, the counterpart's terminal 120 generates a hash value from the user's access information included in the user's message information, and compares the generated hash value with the hash value included in the user's message information to verify the authenticity of the user's access information. can determine whether In addition, the other party's terminal 120 can access the user's terminal 110 by using the user's access information only when it is determined that the user's message information is genuine information.

상대방의 단말(120)이 사용자의 단말(110)에 접속한 경우, 사용자의 단말(110)과 상대방의 단말(120)은 도 3에 도시된 과정에 따라 대화 내용을 송수신하고, 대화 판별 데이터(240)를 생성하여 블록 체인 시스템(130)에 저장할 수 있다.When the other party's terminal 120 accesses the user's terminal 110, the user's terminal 110 and the other's terminal 120 transmit and receive conversation contents according to the process shown in FIG. 3, and the conversation determination data ( 240) can be created and stored in the block chain system 130.

도 4는 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 시스템의 등록 과정을 도시한 플로우차트이다.4 is a flowchart illustrating a registration process of a blockchain hybrid serverless messenger service system according to an embodiment of the present invention.

단계(410)에서 사용자의 단말(110)의 블록체인 스마트 컨트랙트는 사용자의 식별 정보와 네트워크 접속 정보 및 사용자의 공개키(Public Key)를 블록 체인 시스템에 등록할 수 있다. 예를 들어, 사용자의 식별 정보는 사용자의 메신저 ID이며, 네트워크 접속 정보는 IP 주소, Push 서버 접속 지정자와 같은 네트워크 접속 엔드 포인트(Endpoint) 정보일 수 있다.In step 410, the block chain smart contract of the user's terminal 110 may register the user's identification information, network connection information, and the user's public key (Public Key) in the block chain system. For example, the user's identification information may be the user's messenger ID, and the network access information may be network connection endpoint information such as an IP address and a push server connection designator.

단계(420)에서 사용자의 단말(110)의 블록체인 스마트 컨트랙트는 사용자를 위한 사용자 메시지 정보 박스를 블록 체인 시스템에 생성할 수 있다. 이때, 사용자 메시지 정보 박스는 상대방의 단말(120)로부터 사용자의 단말(110)로 전달될 상대방의 메시지가 임시로 저장되는 공간일 수 있다. 또한, 상대방의 단말(120)로부터 사용자 메시지 정보 박스에 상대방의 메시지 정보가 저장되는 경우, 사용자 메시지 정보 박스는 사용자의 단말(110)에게 상대방의 메시지 정보가 저장되었다는 것을 알릴 수 있다. 그리고, 사용자 메시지 정보 박스에 저장되는 상대방의 메시지 정보는 사용자의 공개키로 암호화된 상대방의 접속 정보 및 암호화된 상대방의 접속 정보를 검증하기 위한 해시값을 포함할 수 있다.In step 420, the block chain smart contract of the user's terminal 110 may create a user message information box for the user in the block chain system. In this case, the user message information box may be a space in which a message of the counterpart to be transmitted from the terminal 120 of the counterpart to the terminal 110 of the user is temporarily stored. In addition, when the counterpart's message information is stored in the user message information box from the counterpart's terminal 120 , the user message information box may notify the user's terminal 110 that the counterpart's message information is stored. In addition, the message information of the counterparty stored in the user message information box may include a hash value for verifying the access information of the counterpart encrypted with the user's public key and the encrypted access information of the counterpart.

단계(430)에서 사용자의 단말(110)의 블록체인 스마트 컨트랙트는 사용자의 대화 기록 해시값을 저장하는 기록 데이터 공간을 생성할 수 있다. 예를 들어, 기록 데이터 공간은 블록 체인 시스템의 블록체인 스마트 컨트랙트 함수에 포함된 자료 구조일 수 있다.In step 430, the blockchain smart contract of the user's terminal 110 may create a record data space for storing the user's conversation record hash value. For example, the record data space can be a data structure included in a blockchain smart contract function in a blockchain system.

도 5은 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 방법의 대화 내용 저장 과정을 도시한 플로우차트이다.5 is a flowchart illustrating a conversation content storage process of the blockchain hybrid serverless messenger service method according to an embodiment of the present invention.

단계(510)에서 사용자의 단말(110)은 메신저 대화를 위하여 상대방의 단말(120)에 접속을 시도할 수 있다. 구체적으로, 사용자의 단말(110)의 블록체인 스마트 컨트랙트는 상대방의 식별 정보를 이용하여 블록 체인 시스템에 등록된 상대방의 네트워크 접속 정보를 수신할 수 있다. 그리고, 사용자의 단말(110)은 상대방의 네트워크 접속 정보를 이용하여 상대방의 단말(120)에 P2P 접속을 시도할 수 있다. In step 510 , the user's terminal 110 may attempt to access the other's terminal 120 for a messenger conversation. Specifically, the blockchain smart contract of the user's terminal 110 may receive the counterpart's network connection information registered in the block chain system by using the counterpart's identification information. In addition, the user's terminal 110 may attempt a P2P connection to the other's terminal 120 by using the other's network access information.

단계(520)에서 사용자의 단말(110)은 단계(510)에서의 접속 시도가 성공하였는지, 또는 실패하였는지를 확인할 수 있다. 상대방의 단말(120)에의 접속 시도가 실패한 경우, 사용자의 단말(110)은 단계(530)를 수행할 수 있다. 또한, 상대방의 단말(120)에의 접속 시도가 성공한 경우, 사용자의 단말(110)은 단계(550)를 수행할 수 있다.In step 520 , the user's terminal 110 may check whether the access attempt in step 510 succeeds or fails. When the other party's attempt to access the terminal 120 fails, the user's terminal 110 may perform step 530 . Also, when the other party's attempt to access the terminal 120 is successful, the user's terminal 110 may perform step 550 .

단계(530)에서 사용자의 단말(110)은 상대방의 공개키로 사용자의 접속 정보를 암호화하여 사용자의 메시지 정보를 생성할 수 있다. 그리고, 사용자의 단말(110)은 사용자의 메시지 정보를 블록 체인 시스템의 상대방 메시지 정보 박스에 저장할 수 있다. 이때, 상대방 메시지 정보 박스는 푸시(PUSH) 서비스를 이용하여 상대방의 단말(120)에게 사용자의 메시지 정보가 상대방 메시지 정보 박스에 신규로 저장되었다는 알람을 전달할 수 있다. 그리고, 사용자의 메시지 정보가 상대방 메시지 정보 박스에 저장되었다는 알람을 수신한 상대방의 단말(120)은 상대방 메시지 정보 박스에서 사용자의 메시지 정보를 수신할 수 있다.In step 530, the user's terminal 110 may generate the user's message information by encrypting the user's access information with the other party's public key. In addition, the user's terminal 110 may store the user's message information in the counterpart message information box of the block chain system. In this case, the counterpart message information box may transmit an alarm that the user's message information is newly stored in the counterpart message information box to the counterpart's terminal 120 by using a PUSH service. In addition, the counterpart's terminal 120 receiving the alarm that the user's message information is stored in the counterpart's message information box may receive the user's message information in the counterpart's message information box.

단계(540)에서 사용자의 단말(110)은 단계(530)에서 사용자의 메시지 정보를 수신한 상대방의 단말(120)과 접속할 수 있다. 이때, 상대방의 단말(120)은 상대방의 공개키로 단계(530)에서 수신한 사용자의 메시지 정보에 포함된 사용자의 접속 정보를 복호화할 수 있다. 그리고, 상대방의 단말(120)은 복호화한 사용자의 접속 정보를 이용하여 사용자의 단말(110)에 접속할 수 있다.In step 540 , the user's terminal 110 may access the terminal 120 of the other party that has received the user's message information in step 530 . In this case, the counterpart's terminal 120 may decrypt the user's access information included in the user's message information received in step 530 with the counterpart's public key. In addition, the counterpart's terminal 120 may access the user's terminal 110 using the decrypted user's access information.

단계(550)에서 사용자의 단말(110)은 메신저 어플리케이션을 통하여 상대방의 단말(120)에게 사용자가 작성한 대화 내용을 송신하고, 상대방이 작성한 대화 내용을 수신하여 표시할 수 있다. 이때, 사용자의 단말(110)과 상대방의 단말(120)은 P2P를 통하여 대화 내용을 직접 송수신할 수 있다.In step 550 , the user's terminal 110 may transmit the conversation content written by the user to the other party's terminal 120 through the messenger application, and receive and display the conversation content created by the other party. In this case, the user's terminal 110 and the other's terminal 120 may directly transmit/receive conversation contents through P2P.

단계(560)에서 사용자의 단말(110)은 단계(550)에서 송수신한 대화 내용을 암호화하여 대화 내용 암호화 정보를 생성할 수 있다. 이때, 사용자의 단말(110)은 사용자의 사용자 식별 정보 및 메신저 어플리케이션이 실행된 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 대화 내용을 암호화할 수 있다.In step 560 , the user's terminal 110 encrypts the conversation content transmitted and received in step 550 to generate conversation content encryption information. In this case, the user's terminal 110 may encrypt the conversation content using an encryption key including the user's user identification information and the terminal identification information of the terminal in which the messenger application is executed.

단계(570)에서 사용자의 단말(110)은 대화 내용에 기초한 요약 정보를 생성할 수 있다 이때, 사용자의 단말(110)은 대화 내용 암호화 정보에서 기 설정된 위치의 데이터를 추출하여 요약 정보를 생성할 수 있다. In step 570, the user's terminal 110 may generate summary information based on the conversation content. At this time, the user's terminal 110 may generate summary information by extracting data at a preset location from the conversation content encryption information. can

단계(580)에서 사용자의 단말(110)은 사용자의 사용자 식별 정보, 메신저 어플리케이션이 실행된 단말의 단말 식별 정보, 및 단계(570)에서 생성한 요약 정보 중 적어도 하나를 포함하며, 대화 내용의 진실성을 판별하기 위한 대화 판별 정보를 생성할 수 있다. 대화 판별 정보가 수신 기록 정보인 경우, 단계(570)은 생략될 수 있다. 이때, 사용자의 단말(110)은 상대방의 단말(120)로부터 수신한 대화 내용과 사용자의 개인키, 및 사용자의 단말(110)의 단말 식별 정보를 조합한 결과의 해시값을 대화 판별 정보로 생성할 수 있다.In step 580, the user's terminal 110 includes at least one of the user's user identification information, the terminal identification information of the terminal in which the messenger application is executed, and the summary information generated in the step 570, and the truth of the conversation It is possible to generate conversation determination information for determining When the conversation determination information is reception record information, step 570 may be omitted. At this time, the user's terminal 110 generates a hash value of the result of combining the conversation content received from the other's terminal 120, the user's private key, and the terminal identification information of the user's terminal 110 as dialog identification information. can do.

단계(590)에서 사용자의 단말(110)은 블록 체인 시스템(130)에 단계(580)에서 생성한 대화 판별 정보를 저장할 수 있다. 이때, 상대방의 단말(120)도 사용자의 단말(110)과 동일한 과정으로 대화 내용 암호화 정보 및 대화 판별 정보를 생성하고, 대화 판별 정보를 블록 체인 시스템(130)에 저장할 수 있다.In step 590 , the user's terminal 110 may store the conversation determination information generated in step 580 in the block chain system 130 . At this time, the other party's terminal 120 may also generate conversation content encryption information and conversation identification information in the same process as the user's terminal 110 , and store the conversation identification information in the block chain system 130 .

도 6는 본 발명의 일실시예에 따른 블록체인 혼합형 서버리스 메신저 서비스 방법의 대화 내용 복호화 과정을 도시한 플로우차트이다.6 is a flowchart illustrating a conversation content decryption process of a block chain hybrid serverless messenger service method according to an embodiment of the present invention.

단계(610)에서 사용자의 단말(110)은 사용자로부터 대화 내용의 복호화를 요청 받았는지 여부를 확인할 수 있다. 복호화를 요청 받지 않은 경우, 사용자의 단말(110)은 복호화를 요청 받을 때까지 단계(610)를 반복 수행할 수 있다. 복호화를 요청 받은 경우, 사용자의 단말(110)은 단계(620)를 수행할 수 있다.In step 610 , the user's terminal 110 may check whether a request for decoding the conversation contents has been received from the user. If the decryption request is not received, the user's terminal 110 may repeatedly perform step 610 until the decryption request is received. When the decryption request is received, the user's terminal 110 may perform step 620 .

단계(620)에서 사용자의 단말(110)은 단계(510)에서 기 저장된 대화 내용 암호화 정보를 기초로 대화 판별 정보를 생성할 수 있다. 이때, 사용자의 단말(110)은 대화 내용 암호화 정보의 요약 정보를 생성한 후, 요약 정보를 포함하는 대화 판별 정보를 생성할 수 있다. 즉, 사용자의 단말(110)은 단계(520) 및 단계(530)를 수행하여 대화 판별 정보를 생성할 수 있다.In step 620 , the user's terminal 110 may generate conversation determination information based on the conversation content encryption information previously stored in step 510 . In this case, the user's terminal 110 may generate the summary information of the conversation content encryption information, and then generate the conversation determination information including the summary information. That is, the user's terminal 110 may generate conversation determination information by performing steps 520 and 530 .

단계(630)에서 사용자의 단말(110)은 블록 체인 시스템(130)에서 대화 판별 정보를 로드할 수 있다. 단계(630)은 단계(620)보다 먼저 수행될 수도 있고, 단계(620)과 병행하여 수행될 수도 있다. In step 630 , the user's terminal 110 may load the conversation determination information from the block chain system 130 . Step 630 may be performed before step 620 or may be performed in parallel with step 620 .

단계(640)에서 사용자의 단말(110)은 블록 체인 시스템(130)에서 로드한 대화 판별 정보와 대화 내용 암호화 정보를 기초로 생성한 대화 판별 정보가 동일한지 여부를 판단할 수 있다. 로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일한 경우, 사용자의 단말(110)은 단계(650)를 수행할 수 있다. 또한, 로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일하지 않은 경우, 사용자의 단말(110)은 단계(660)를 수행할 수 있다.In step 640 , the user's terminal 110 may determine whether the conversation determination information loaded from the block chain system 130 and the conversation determination information generated based on the conversation content encryption information are the same. When the loaded conversation determination information and the generated dialogue determination information are the same, the user's terminal 110 may perform step 650 . In addition, when the loaded dialogue determination information and the generated dialogue determination information are not the same, the user's terminal 110 may perform step 660 .

단계(650)에서 사용자의 단말(110)은 사용자의 사용자 식별 정보 및 대화 내용의 복호화를 요청받은 사용자의 단말(110)의 단말 식별 정보가 포함된 암호 키를 이용하여 대화 내용 암호화 정보를 복호화할 수 있다. In step 650, the user's terminal 110 decrypts the conversation content encryption information using an encryption key containing the user's user identification information and the terminal identification information of the user's terminal 110 requested to decrypt the conversation contents. can

이때, 대화 내용의 복호화를 요청받은 단말과 메신저 어플리케이션이 실행된 단말이 서로 다른 경우, 단말의 식별 정보가 포함되는 암호 키도 서로 다를 수 있다. 따라서, 대화 내용의 복호화를 요청받은 단말과 메신저 어플리케이션이 실행된 단말이 서로 다른 경우, 대화 내용의 복호화를 요청받은 단말은 대화 내용 암호화 정보를 복호화할 수 없다. In this case, when the terminal requested to decrypt the conversation contents and the terminal on which the messenger application is executed are different, the encryption key including the identification information of the terminal may be different from each other. Accordingly, when the terminal requested to decrypt the conversation content and the terminal on which the messenger application is executed are different from each other, the terminal requested to decrypt the conversation content cannot decrypt the conversation content encryption information.

단계(660)에서 사용자의 단말(110)은 대화 내용이 변조되었다는 것을 알리는 경고를 출력할 수 있다.In step 660, the user's terminal 110 may output a warning informing that the conversation content has been tampered with.

본 발명은 암호화 과정에서 생성한 대화 판별 정보를 블록 체인 시스템에 저장하고, 블록 체인 시스템에 저장한 대화 판별 정보와 단말에서 생성한 대화 판별 정보의 동일 여부에 따라 대화 내용의 진실성을 인증함으로써, 암호화된 대화 내용의 진실성을 검증할 수 있다.The present invention stores the conversation identification information generated in the encryption process in the block chain system, and authenticates the truth of the conversation content according to whether the conversation identification information stored in the block chain system and the conversation identification information generated in the terminal are the same. You can verify the authenticity of the conversation content.

또한, 본 발명은 암호화된 대화 내용의 일부를 이용하여 생성한 대화 판별 정보를 블록 체인 시스템에 저장함으로써, 블록 체인 시스템에 저장된 정보로는 대화 내용을 추론하지 못하도록 할 수 있다.In addition, the present invention can prevent the conversation content from being inferred from the information stored in the block chain system by storing the dialog identification information generated using a part of the encrypted conversation content in the block chain system.

한편, 본 발명에 따른 블록체인 혼합형 서버리스 메신저 서비스 장치 또는 블록체인 혼합형 서버리스 메신저 서비스 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.On the other hand, the block chain mixed serverless messenger service device or the block chain mixed serverless messenger service method according to the present invention is written as a program that can be executed on a computer and can also be used in various recording media such as magnetic storage media, optical reading media, digital storage media, etc. can be implemented.

본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체)에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be implemented for processing by, or controlling the operation of, a data processing device, eg, a programmable processor, computer, or number of computers, in a computer program product, eg, a machine readable storage device (computer readable capable medium) may be implemented as a computer program tangibly embodied in a computer program. A computer program, such as the computer program(s) described above, may be written in any form of programming language, including compiled or interpreted languages, as a standalone program or in a module, component, subroutine, or computing environment. It can be deployed in any form, including as other units suitable for use in A computer program may be deployed to be processed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communications network.

컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from either read-only memory or random access memory or both. Elements of a computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data. In general, a computer may include one or more mass storage devices for storing data, for example magnetic, magneto-optical disks, or optical disks, receiving data from, sending data to, or both. may be combined to become Information carriers suitable for embodying computer program instructions and data are, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tapes, Compact Disk Read Only Memory (CD-ROM). ), an optical recording medium such as a DVD (Digital Video Disk), a magneto-optical medium such as an optical disk, ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and the like. Processors and memories may be supplemented by, or included in, special purpose logic circuitry.

또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체를 모두 포함할 수 있다.In addition, the computer-readable medium may be any available medium that can be accessed by a computer, and may include any computer storage medium.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While this specification contains numerous specific implementation details, they should not be construed as limitations on the scope of any invention or claim, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. should be understood Certain features that are described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although features operate in a particular combination and may be initially depicted as claimed as such, one or more features from a claimed combination may in some cases be excluded from the combination, the claimed combination being a sub-combination. or a variant of a sub-combination.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although acts are depicted in the drawings in a particular order, it should not be construed that all acts shown must be performed or that such acts must be performed in the specific order or sequential order shown to obtain desirable results. In certain cases, multitasking and parallel processing may be advantageous. Further, the separation of the various device components of the above-described embodiments should not be construed as requiring such separation in all embodiments, and the program components and devices described may generally be integrated together into a single software product or packaged into multiple software products. You have to understand that you can.

한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, the embodiments of the present invention disclosed in the present specification and drawings are merely presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. It will be apparent to those of ordinary skill in the art to which the present invention pertains that other modifications based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein.

110: 사용자의 단말
120: 상대방의 단말
130: 블록 체인 시스템
110: user's terminal
120: the other party's terminal
130: Blockchain system

Claims (15)

메신저 대화를 위하여 상대방의 단말에 P2P(peer to peer)로 접속을 시도하는 단계;
상기 상대방의 단말의 네트워크 어플리케이션이 구동되지 않아 상대방의 단말에 접속하지 못하는 경우, 상대방의 공개키로 사용자의 접속 정보를 암호화하여 사용자의 메시지 정보를 생성하는 단계;
상기 사용자의 메시지 정보를 블록 체인 시스템의 상대방 메시지 정보 박스에 저장하는 단계;
상기 사용자의 메시지 정보를 수신한 상기 상대방의 단말의 요청에 따라 상기 상대방의 단말과 접속하는 단계;
상대방의 단말과 접속한 상태에서 메신저 어플리케이션을 통하여 상대방의 단말과 대화 내용을 송수신하는 단계;
상기 대화 내용을 암호화하여 대화 내용 암호화 정보를 생성하는 단계;
상기 대화 내용 암호화 정보를 기초로 상기 대화 내용의 진실성을 판별하기 위한 대화 판별 정보를 생성하는 단계; 및
블록 체인 시스템에 상기 대화 판별 정보를 저장하는 단계
를 포함하며,
상기 상대방의 단말은,
상기 사용자의 메시지 정보가 상기 상대방 메시지 정보 박스에 저장되었다는 알람을 수신하고,
상기 상대방 메시지 정보 박스에서 상기 사용자의 메시지 정보를 수신하며,
상기 상대방의 공개키로 상기 사용자의 메시지 정보에 포함된 상기 사용자의 접속 정보를 복호화하고,
복호화한 사용자의 접속 정보의 진위 여부를 판단하며,
복호화한 사용자의 접속 정보가 진짜 정보인 경우, 복호화한 사용자의 접속 정보를 이용하여 상기 사용자의 단말에 접속하는 서버리스 메신저 서비스 방법.
attempting to access the counterpart's terminal in a peer-to-peer (P2P) manner for a messenger conversation;
generating message information of the user by encrypting the user's access information with the other party's public key when the other party's terminal cannot be accessed because the network application of the other party's terminal is not running;
storing the user's message information in a counterpart message information box of a block chain system;
accessing the counterpart's terminal according to a request from the counterpart's terminal that has received the user's message information;
transmitting and receiving conversation contents with the counterpart's terminal through a messenger application in a state of being connected to the counterpart's terminal;
generating conversation content encryption information by encrypting the conversation content;
generating conversation determination information for determining the truth of the conversation contents based on the conversation contents encryption information; and
Storing the conversation determination information in a block chain system
includes,
The other party's terminal,
receiving an alarm that the user's message information is stored in the counterpart's message information box,
receiving the user's message information in the counterpart's message information box,
decrypts the user's access information included in the user's message information with the public key of the counterpart;
Determining the authenticity of the decrypted user's access information,
When the decrypted user's access information is genuine information, the serverless messenger service method accesses the user's terminal by using the decrypted user's access information.
제1항에 있어서,
상기 암호화하는 단계는,
상기 사용자의 사용자 식별 정보 및 상기 메신저 어플리케이션이 실행된 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 상기 대화 내용을 암호화하는 서버리스 메신저 서비스 방법.
According to claim 1,
The encryption step is
A serverless messenger service method for encrypting the conversation content by using an encryption key including the user identification information of the user and the terminal identification information of the terminal in which the messenger application is executed.
제1항에 있어서,
상기 대화 판별 정보는,
상기 사용자의 사용자 식별 정보, 상기 메신저 어플리케이션이 실행된 단말의 단말 식별 정보, 및 상기 대화 내용 암호화 정보의 요약 정보 중 적어도 하나를 포함하는 서버리스 메신저 서비스 방법.
According to claim 1,
The conversation determination information is
A serverless messenger service method comprising at least one of user identification information of the user, terminal identification information of a terminal in which the messenger application is executed, and summary information of the conversation content encryption information.
제1항에 있어서,
사용자로부터 상기 대화 내용의 복호화를 요청 받은 경우, 상기 대화 내용 암호화 정보를 기초로 대화 판별 정보를 생성하는 단계;
상기 블록 체인 시스템에서 대화 판별 정보를 로드하는 단계; 및
로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일한 경우, 상기 사용자의 사용자 식별 정보 및 상기 대화 내용의 복호화를 요청받은 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 상기 대화 내용 암호화 정보를 복호화하는 단계;
를 더 포함하는 서버리스 메신저 서비스 방법.
According to claim 1,
generating conversation determination information based on the conversation content encryption information when receiving a request to decrypt the conversation contents from the user;
loading conversation determination information in the block chain system; and
When the loaded conversation identification information and the generated conversation identification information are the same, the conversation content encryption information is decrypted using an encryption key including the user identification information of the user and the terminal identification information of the terminal requested to decrypt the conversation content to do;
A serverless messenger service method further comprising a.
제4항에 있어서,
로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일하지 않은 경우, 대화 내용이 변조되었다는 것을 알리는 경고를 출력하는 단계
를 더 포함하는 서버리스 메신저 서비스 방법.
5. The method of claim 4,
Outputting a warning informing that the conversation content has been tampered with when the loaded conversation identification information and the generated conversation identification information are not the same
A serverless messenger service method further comprising a.
삭제delete 제1항에 있어서,
상기 사용자의 접속 정보는,
상기 상대방의 단말이 상기 사용자의 단말과 직접 접속하기 위하여 필요한 정보이고,
상기 사용자의 메시지 정보는,
상기 상대방의 공개키로 암호화된 상기 사용자의 접속 정보 및 상기 사용자의 접속 정보를 검증하기 위한 해시값을 포함하는 서버리스 메신저 서비스 방법.
According to claim 1,
The user's access information is
Information necessary for the counterpart's terminal to directly access the user's terminal,
The user's message information is
A serverless messenger service method comprising a hash value for verifying the user's access information and the user's access information encrypted with the public key of the counterpart.
제1항에 있어서,
상기 사용자의 단말은,
상기 사용자의 단말로 전달될 상대방의 메시지 정보가 임시로 저장되는 사용자 메시지 정보 박스를 상기 블록 체인 시스템에 생성하는 서버리스 메신저 서비스 방법.
According to claim 1,
The user's terminal,
A serverless messenger service method for generating, in the block chain system, a user message information box in which message information of a counterpart to be delivered to the user's terminal is temporarily stored.
제8항에 있어서,
상기 사용자 메시지 정보 박스는
상기 상대방의 단말로부터 상대방의 메시지 정보가 저장되는 경우, 상기 사용자 단말에게 상대방의 메시지 정보가 저장되었다는 것을 알리는 서버리스 메신저 서비스 방법.
9. The method of claim 8,
The user message information box is
When the counterpart's message information is stored from the counterpart's terminal, the serverless messenger service method of notifying the user terminal that the counterpart's message information is stored.
삭제delete 제1항에 있어서,
상기 상대방의 단말은,
상기 사용자의 메시지 정보에 포함된 상기 사용자의 접속 정보로부터 해시값을 생성하고, 생성한 해시값과 상기 사용자의 메시지 정보에 포함된 해시값을 비교하여 상기 사용자의 접속 정보의 진위 여부를 판단하는 서버리스 메신저 서비스 방법.
According to claim 1,
The other party's terminal,
A server that generates a hash value from the user's access information included in the user's message information, and compares the generated hash value with the hash value included in the user's message information to determine the authenticity of the user's access information How to lease messenger service.
메신저 대화를 위하여 상대방의 단말에 P2P(peer to peer)로 접속을 시도하는 통신기;
상기 상대방의 단말의 네트워크 어플리케이션이 구동되지 않아 상대방의 단말에 접속하지 못하는 경우, 상대방의 공개키로 사용자의 접속 정보를 암호화하여 사용자의 메시지 정보를 생성하고, 상기 사용자의 메시지 정보를 블록 체인 시스템의 상대방 메시지 정보 박스에 저장하는 프로세서
를 포함하고,
상기 통신기는,
상기 사용자의 메시지 정보를 수신한 상기 상대방의 단말의 요청에 따라 상기 상대방의 단말과 접속하며,
상대방의 단말과 접속한 상태에서 메신저 어플리케이션을 통하여 상대방의 단말과 대화 내용을 송수신하고,
상기 프로세서는,
상기 대화 내용을 암호화하여 대화 내용 암호화 정보를 생성하고, 상기 대화 내용 암호화 정보를 기초로 상기 대화 내용의 진실성을 판별하기 위한 대화 판별 정보를 생성하며,
상기 통신기가 블록 체인 시스템에 상기 대화 판별 정보를 저장하고,
상기 상대방의 단말은,
상기 사용자의 메시지 정보가 상기 상대방 메시지 정보 박스에 저장되었다는 알람을 수신하고,
상기 상대방 메시지 정보 박스에서 상기 사용자의 메시지 정보를 수신하며,
상기 상대방의 공개키로 상기 사용자의 메시지 정보에 포함된 상기 사용자의 접속 정보를 복호화하고,
복호화한 사용자의 접속 정보의 진위 여부를 판단하며,
복호화한 사용자의 접속 정보가 진짜 정보인 경우, 복호화한 사용자의 접속 정보를 이용하여 상기 사용자의 단말에 접속하는 서버리스 메신저 서비스 시스템의 단말.
a communicator that attempts to connect to a counterpart's terminal in a peer-to-peer (P2P) manner for a messenger conversation;
When the other party's terminal cannot be accessed because the network application of the other party's terminal is not running, the user's access information is encrypted with the other party's public key to generate the user's message information, and the user's message information is transferred to the other party's block chain system. The processor that stores the message information box
including,
the communicator,
In response to the request of the other party's terminal receiving the user's message information, it accesses the other party's terminal,
In the state of being connected to the other party's terminal, it transmits and receives the contents of the conversation with the other party's terminal through the messenger application,
The processor is
Encrypting the conversation content to generate conversation content encryption information, and generating conversation determination information for determining the truth of the conversation content based on the conversation content encryption information,
The communicator stores the conversation determination information in the block chain system,
The other party's terminal,
receiving an alarm that the user's message information is stored in the counterpart's message information box,
receiving the user's message information in the counterpart's message information box,
decrypts the user's access information included in the user's message information with the public key of the counterpart;
Determining the authenticity of the decrypted user's access information,
When the decrypted user's access information is genuine information, the terminal of the serverless messenger service system accesses the user's terminal by using the decrypted user's access information.
제12항에 있어서,
상기 프로세서는,
상기 사용자의 사용자 식별 정보 및 상기 메신저 어플리케이션이 실행된 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 상기 대화 내용을 암호화하는 서버리스 메신저 서비스 시스템의 단말.
13. The method of claim 12,
The processor is
A terminal of a serverless messenger service system for encrypting the conversation content by using an encryption key including the user identification information of the user and the terminal identification information of the terminal in which the messenger application is executed.
제12항에 있어서,
상기 대화 판별 정보는,
상기 사용자의 사용자 식별 정보, 상기 메신저 어플리케이션이 실행된 단말의 단말 식별 정보, 및 상기 대화 내용 암호화 정보의 요약 정보 중 적어도 하나를 포함하는 서버리스 메신저 서비스 시스템의 단말.
13. The method of claim 12,
The conversation determination information is
A terminal of a serverless messenger service system comprising at least one of user identification information of the user, terminal identification information of a terminal in which the messenger application is executed, and summary information of the conversation content encryption information.
제12항에 있어서,
상기 통신기는,
사용자로부터 상기 대화 내용의 복호화를 요청 받은 경우, 상기 블록 체인 시스템에서 대화 판별 정보를 로드하고,
상기 프로세서는,
사용자로부터 상기 대화 내용의 복호화를 요청 받은 경우, 상기 대화 내용 암호화 정보를 기초로 대화 판별 정보를 생성하며,
로드한 대화 판별 정보와 생성한 대화 판별 정보가 동일한 경우, 상기 사용자의 사용자 식별 정보 및 상기 대화 내용의 복호화를 요청받은 단말의 단말 식별 정보가 포함된 암호 키를 이용하여 상기 대화 내용 암호화 정보를 복호화하는 서버리스 메신저 서비스 시스템의 단말.
13. The method of claim 12,
the communicator,
When receiving a request to decrypt the conversation contents from the user, the conversation determination information is loaded in the block chain system,
The processor is
When a request to decrypt the conversation contents is received from the user, conversation determination information is generated based on the conversation contents encryption information,
When the loaded conversation identification information and the generated conversation identification information are the same, the conversation content encryption information is decrypted using an encryption key including the user identification information of the user and the terminal identification information of the terminal requested to decrypt the conversation content A terminal of a serverless messenger service system.
KR1020200144245A 2020-11-02 2020-11-02 System and method for blockchain hybrid messenger service KR102387590B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200144245A KR102387590B1 (en) 2020-11-02 2020-11-02 System and method for blockchain hybrid messenger service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200144245A KR102387590B1 (en) 2020-11-02 2020-11-02 System and method for blockchain hybrid messenger service

Publications (1)

Publication Number Publication Date
KR102387590B1 true KR102387590B1 (en) 2022-04-15

Family

ID=81212104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200144245A KR102387590B1 (en) 2020-11-02 2020-11-02 System and method for blockchain hybrid messenger service

Country Status (1)

Country Link
KR (1) KR102387590B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101795696B1 (en) * 2016-07-14 2017-11-09 주식회사 코인플러그 Method for providing archiving and verification services of data transceived via messenger service and server using the same
KR101795695B1 (en) * 2016-07-14 2017-12-01 주식회사 코인플러그 Method for providing archiving service and verification service of data transceived via messenger service and server using the same
KR20200091099A (en) * 2019-01-22 2020-07-30 주식회사 머니브레인 Method, computer device and computer readable recording medium for creating a trascation on a blockchain network, via a conversation understanding service server

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101795696B1 (en) * 2016-07-14 2017-11-09 주식회사 코인플러그 Method for providing archiving and verification services of data transceived via messenger service and server using the same
KR101795695B1 (en) * 2016-07-14 2017-12-01 주식회사 코인플러그 Method for providing archiving service and verification service of data transceived via messenger service and server using the same
KR20200091099A (en) * 2019-01-22 2020-07-30 주식회사 머니브레인 Method, computer device and computer readable recording medium for creating a trascation on a blockchain network, via a conversation understanding service server

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
‘Ethereum Whisper 기반의 안전한 모바일 메신저’, 한국통신학회논문지 42(7), pp.1477-1484, 2017.07.* *
‘Whisper 기반의 안전한 모바일 메신저 설계’, 한국통신학회 학술대회논문집, pp.164-165, 2016.11.* *

Similar Documents

Publication Publication Date Title
CN111181720B (en) Service processing method and device based on trusted execution environment
CN111082934B (en) Cross-domain secure multiparty computing method and device based on trusted execution environment
KR101781583B1 (en) File management and search system based on block chain and file management and search method
CN106063183B (en) Method and apparatus for cloud assisted cryptography
EP2267628B1 (en) Token passing technique for media playback devices
FI115257B (en) Method for Processing Information in an Electronic Device, System, Electronic Device, and Processor Block
US20220006617A1 (en) Method and apparatus for data storage and verification
US9647847B2 (en) Tamper evidence per device protected identity
CN110289946B (en) Block chain wallet localized file generation method and block chain node point equipment
CN111342963A (en) Data uplink method, data storage method and device
CN108880812B (en) Method and system for data encryption
CN111970114B (en) File encryption method, system, server and storage medium
CN104937904A (en) Copy offload for disparate offload providers
CN109509108A (en) Insurance policy processing method, device and computer equipment based on block chain technology
CN112733180A (en) Data query method and device and electronic equipment
CN108416224A (en) A kind of data encryption/decryption method and device
CN114942729A (en) Data safety storage and reading method for computer system
US11852664B2 (en) Power metering apparatus, power metering server, and power metering method based on blockchain
CN112088376A (en) File storage method and device and storage medium
CN113157635B (en) Method and device for realizing contract call on FPGA
KR102387590B1 (en) System and method for blockchain hybrid messenger service
JP2010212805A (en) Method and system for distributing security information of settlement processing, center apparatus thereof, settlement device and program
US20230090351A1 (en) Key filling method, system, and apparatus, device, and storage medium
US20090282245A1 (en) Security method and system for media playback devices
CN110764797A (en) Method, device and system for upgrading file in chip and server

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant