KR20220023437A - Methods for Proving Chatting Contents in Chatting Service of SNS Platform - Google Patents

Methods for Proving Chatting Contents in Chatting Service of SNS Platform Download PDF

Info

Publication number
KR20220023437A
KR20220023437A KR1020200105153A KR20200105153A KR20220023437A KR 20220023437 A KR20220023437 A KR 20220023437A KR 1020200105153 A KR1020200105153 A KR 1020200105153A KR 20200105153 A KR20200105153 A KR 20200105153A KR 20220023437 A KR20220023437 A KR 20220023437A
Authority
KR
South Korea
Prior art keywords
message
chat
token
information
messages
Prior art date
Application number
KR1020200105153A
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 KR1020200105153A priority Critical patent/KR20220023437A/en
Publication of KR20220023437A publication Critical patent/KR20220023437A/en

Links

Images

Classifications

    • H04L51/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/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • 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
    • 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/30Transportation; Communications
    • G06Q50/50
    • H04L51/16
    • 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/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • H04L51/32
    • 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/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • 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
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Provided is a method for a server for providing SNS to prove conversation contents, which includes the steps of: receiving a request inputted in a chat room from a first participant terminal using the SNS; distributing and storing the contents corresponding to the request in a distributed storage server; transmitting a first message including the distributed and stored contents to participant terminals of the chat room; and storing the first message in a chatlog database, wherein the first message includes message information and a first token. Further, the method comprises a step of calculating the first token using a second token of a second message transmitted before the first message and information in the first message.

Description

SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법과 그 시스템 {Methods for Proving Chatting Contents in Chatting Service of SNS Platform}Method and system for proving chatting contents of chatting service of SNS platform {Methods for Proving Chatting Contents in Chatting Service of SNS Platform}

본 발명은 SNS에 관한 것이고, 보다 자세하게는 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법과 그 시스템에 관한 것이다.The present invention relates to SNS, and more particularly, to a method and system for verifying chat contents of a chat service of an SNS platform.

트위터, 페이스북, 인스타그램 등 다양한 SNS가 존재한다. 사용자는 SNS에서 제공하는 채팅 서비스를 통해 채팅방에서 친구들과 메시지를 교환한다. There are various social media such as Twitter, Facebook, and Instagram. Users exchange messages with their friends in a chat room through a chat service provided by SNS.

지금까지 사용자는 채팅방에서 교환되는 메시지들을 보관하고자 하는 경우, 메시지들이 기록된 채팅방을 지우지 않고 계속 보관하거나, 채팅방을 캡쳐하여 이미지로 보관했다. 채팅방을 계속 유지하는 방법은 대화 내용이 계속 쌓이면 보관 대상인 메시지들을 찾기 어려울 수 있고, 상대방이 채팅방을 나갈 수 있으며, 상대방이 SNS를 탈퇴하는 경우, 상대방이 "알수없음"으로 표시되어 상대방 특정이 쉽지 않을 수 있다. 채팅방을 캡쳐하여 이미지로 저장하는 방법은 한 화면씩만 캡쳐되므로, 긴 대화 내용을 일일이 화면 캡쳐하여야 하는 단점이 있다. 또한, 이러한 보관 방법은 메시지 삭제나 이미지 변조가 가능해서, 대화 내용 증명으로서 법적 효력을 부여하는데 한계가 있거나 다툼이 있을 수 있다. Until now, when the user wants to keep the messages exchanged in the chat room, the chat room in which the messages are recorded is kept without deleting, or the chat room is captured and stored as an image. As for how to keep the chat room, it may be difficult to find the messages to be kept if the conversation content continues to accumulate, the other party may leave the chat room, and if the other party leaves the SNS, the other party is displayed as "unknown", so it is easy to identify the other party may not be The method of capturing a chat room and saving it as an image has a disadvantage in that it is necessary to screen capture long conversations one by one because only one screen is captured. In addition, since this storage method can delete messages or falsify images, there may be limitations or disputes in granting legal effect as proof of conversation contents.

본 발명이 해결하고자 하는 과제는 인스턴트 메시징 서비스 등을 제공하는 서버가 채팅방에서 전송된 메시지마다 내용 및 순서를 증명하는 토큰을 생성하고, 토큰이 부가된 메시지를 채팅방 참여자들 단말로 전송하며, 증명 요청된 메시지들에 포함된 토큰들의 연속성을 검증하여 증명 요청된 메시지들의 무결성을 증명하는 방법을 제공하는 것이다.The problem to be solved by the present invention is that a server providing an instant messaging service, etc. generates a token that proves the content and order of each message transmitted in a chat room, transmits a message to which the token is added to the terminals of the chat room participants, and requests proof It is to provide a method of verifying the integrity of the requested messages by verifying the continuity of tokens included in the received messages.

한 실시예에 따라 SNS를 제공하는 서버가 대화 내용을 증명하는 방법으로서, 상기 SNS를 이용하는 제 1 참여자 단말로부터, 채팅방에서 입력된 요청을 받는 단계; 상기 요청에 해당하는 내용을 분산저장서버에 분산저장하는 단계; 상기 분산저장된 내용을 포함하는 제 1 메시지를 상기 채팅방의 참여자 단말들로 전송하는 단계; 및 상기 제 1 메시지를 챗로그 데이터베이스에 저장하는 단계를 포함하고, 상기 제 1 메시지는 메시지 정보 그리고 제 1 토큰을 포함하고, 상기 제 1 토큰은 상기 제 1 메시지 전에 전송된 제 2 메시지의 제 2 토큰과 상기 제 1 메시지의 정보를 이용하여 계산되는 단계를 포함할 수 있다.According to an embodiment, there is provided a method for a server providing SNS to verify conversation contents, the method comprising: receiving a request inputted in a chat room from a first participant terminal using the SNS; Distributing and storing the contents corresponding to the request in a distributed storage server; transmitting a first message including the distributed and stored contents to the participant terminals of the chat room; and storing the first message in a chatlog database, wherein the first message includes message information and a first token, wherein the first token is a second of a second message sent before the first message. It may include the step of calculating using the token and the information of the first message.

실시예에 따르면, 서버가 증명 요청된 메시지들에 부가된 토큰들의 연속성을 판단하여 증명 요청된 메시지들의 무결성을 검증하므로, 사용자는 채팅방의 대화 내용을 증명하기 위해 화면 저장이나 텍스트 저장 등을 별도로 할 필요 없이, 연속된 메시지들을 선택한 후 서버로 전송함으로써, 채팅방에서 전송된 연속된 메시지들을 증명할 수 있다.According to the embodiment, since the server verifies the integrity of the authentication-requested messages by determining the continuity of tokens added to the authentication-requested messages, the user can separately save the screen or the text to prove the conversation contents of the chat room. Without need, by selecting a series of messages and sending them to the server, it is possible to prove the series of messages sent in the chat room.

실시예에 따르면, 서버는 채팅방에서 교환되는 최신의 메시지들만을 저장하더라도, 단말에 저장된 메시지들을 증명할 수 있다.According to an embodiment, the server can prove messages stored in the terminal even if only the latest messages exchanged in the chat room are stored.

도 1은 본 발명의 실시예에 따른 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 서버와 채팅방 참여자 단말들 사이의 요청 전송 및 메시지 전송을 설명하는 흐름도이다.
도 3은 본 발명의 실시예에 따른 장기 미접속 시 서버와 채팅방 참여자 단말들 사이의 요청 전송 및 메시지 전송을 설명하는 흐름도이다.
도 4는 본 발명의 실시예에 따른 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법의 흐름도이다.
도 5는 본 발명의 실시예에 따른 화면이 표시된 단말기를 도시한 그림이다.
1 is a block diagram of a system for verifying chat contents of a chat service of an SNS platform according to an embodiment of the present invention.
2 is a flowchart illustrating request transmission and message transmission between a server and chat room participant terminals according to an embodiment of the present invention.
3 is a flowchart illustrating request transmission and message transmission between a server and chat room participant terminals during long-term non-connection according to an embodiment of the present invention.
4 is a flowchart of a method of verifying chat contents of a chat service of an SNS platform according to an embodiment of the present invention.
5 is a diagram illustrating a terminal on which a screen is displayed according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, the embodiments of the present invention will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement them. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as “…unit”, “…group”, and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software or a combination of hardware and software. there is.

도 1은 본 발명의 실시예에 따른 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 시스템의 구성도이다.1 is a block diagram of a system for verifying chat contents of a chat service of an SNS platform according to an embodiment of the present invention.

도 1을 참고하면, 소셜 미디어 어플리케이션을 설치한 단말들(100, 110, 120)은 서버(200)에 접속하여 소셜 미디어 어플리케이션에서 제공하는 기능들을 이용한다. Referring to FIG. 1 , terminals 100 , 110 , and 120 having installed a social media application access the server 200 and use functions provided by the social media application.

소셜 미디어 어플리케이션으로서 인스턴트 메시징 어플리케이션을 예로 들어 설명하고, 서버(200)는 메시징 서버라고 부른다. 인스턴트 메시징 어플리케이션은 채팅방을 개설하고, 채팅방에서 참여자들이 메시지들을 교환하는 인터페이스 화면을 제공하고, 본 발명에서 설명하는 바에 따라 대화 내용 증명 서비스를 제공하는 프로그램이다. 인스턴트 메시징 어플리케이션은 사용자가 대화 내용을 편리하게 증명 요청하는 메시지들을 선택하는 인터페이스 화면을 제공하고, 서버에 의해 증명된 메시지들을 공유하는 인터페이스 화면을 제공한다. An instant messaging application is exemplified as a social media application, and the server 200 is called a messaging server. The instant messaging application is a program that opens a chat room, provides an interface screen through which participants exchange messages in the chat room, and provides a conversation content verification service as described in the present invention. The instant messaging application provides an interface screen for a user to conveniently select messages for requesting verification of conversation contents, and provides an interface screen for sharing messages certified by a server.

서버(200)는 채팅방 개설 요청, 참여자 초대 요청, 참여자 나가기 요청, 메시지 추가 요청을 수신하고, 채팅방 참여자 단말들(100, 110, 120)로 채팅방 개설 알림 메시지, 참여자 초대 알림 메시지, 참여자 나가기 알림 메시지, 대화 내용에 해당하는 콘텐츠 메시지를 전송한다. 서버(200)는 채팅방 개설, 참여자 초대, 참여자 나가기 등을 나타내는 상태 메시지, 그리고 참여자들이 입력한 콘텐츠 메시지의 챗로그(Chatlog)를 챗로그 데이터베이스에 순서대로 저장한다. 또한, 서버(200)는 대화 내용 증명 서비스를 위해 채팅방에 표시되지 않고 서버나 단말 사이에서 전송되는 메시지의 챗로그를 챗로그 데이터베이스에 순서대로 저장한다. 채팅방에 표시되지 않고 서버나 단말 사이에서 전송되는 메시지를 “히든 메시지”라고 부를 수 있다.The server 200 receives a chat room opening request, a participant invitation request, a participant exit request, and a message addition request, and a chat room opening notification message, a participant invitation notification message, and a participant exit notification message to the chat room participant terminals 100 , 110 , 120 , and transmits the content message corresponding to the conversation. The server 200 sequentially stores, in the chatlog database, status messages indicating chat room opening, participant invitation, participant exit, and the like, and chatlogs of content messages input by participants. In addition, the server 200 sequentially stores the chat log of messages transmitted between the server or the terminal without being displayed in the chat room for the conversation content verification service in the chat log database. A message that is not displayed in a chat room and transmitted between servers or terminals can be called a “hidden message”.

서버(200)는 최근 일정 기간 동안의 챗로그를 저장한다고 가정하고, 예를 들면, 최근 3일 동안에 수신한 메시지들을 저장하고, 보관 기간이 지난 메시지들은 삭제한다고 가정한다. 이때, 보관 기간이 지난 메시지들이 삭제되면, 미보관 메시지들에 대한 증명을 할 수 없으므로, 서버(200)는 보관 기간이 지난 메시지들을 삭제하더라도, 삭제 메시지들의 토큰을 일정 기간 동안 별도 저장할 수 있다. 또는, 서버(200)는 일정 주기(예를 들면, 1일)마다 적어도 하나의 토큰을 별도 저장하고, 이를 통해 보관 기간이 지난 메시지들이 삭제되더라도 별도 저장된 토큰으로 무결성 증명 요청된 메시지들을 검증할 수 있다. 서버(200)는 채팅방의 참여자별로 마지막 수신 메시지 정보를 관리한다. 마지막 수신 메시지 정보는 마지막 수신 메시지의 인덱스나 마지막 수신 메시지의 토큰일 수 있으나, 설명에서는 인덱스라고 가정한다. 모든 참여자들이 마지막 메시지를 확인한 경우, 참여자별 마지막 수신 메시지는 동일하다. It is assumed that the server 200 stores the chatlog for a recent predetermined period, for example, stores messages received during the last 3 days, and deletes messages that have passed the storage period. In this case, if the messages that have passed the storage period are deleted, since it is not possible to prove unsaved messages, the server 200 may separately store the tokens of the deleted messages for a certain period even if the messages whose storage period has passed are deleted. Alternatively, the server 200 separately stores at least one token every predetermined period (eg, 1 day), and through this, even if messages that have passed the storage period are deleted, the messages for which integrity certification is requested can be verified with the separately stored token. there is. The server 200 manages the last received message information for each participant of the chat room. The last received message information may be an index of the last received message or a token of the last received message, but it is assumed to be an index in the description. If all participants check the last message, the last received message for each participant is the same.

서버(200)는 참여자 단말들(100, 110, 120) 각각으로부터 주기적으로 참여 증명 정보를 수신한다. 서버(200)는 참여 증명 정보를 포함하는 Sign 메시지를 참여자 단말들(100, 110, 120)로 전송한다. Sign 메시지는 참여자가 채팅방에 있음을 증명하는 참여 증명 메시지이다. Sign 메시지의 내용은 참여자 증명 정보를 포함하되, 채팅방에 표시되지 않는 히든 메시지이다. 참여자 증명 정보는 예를 들면, 이전 메시지 토큰을 참여자의 비밀키로 암호화한 정보일 수 있다.The server 200 periodically receives participation proof information from each of the participant terminals 100 , 110 , and 120 . The server 200 transmits a Sign message including participation proof information to the participant terminals 100 , 110 , and 120 . The Sign message is a participation confirmation message that proves that the participant is in the chat room. The content of the sign message is a hidden message that includes participant identification information but is not displayed in the chat room. The participant identification information may be, for example, information obtained by encrypting a previous message token with a participant's private key.

서버(200)는 메시지 미수신 단말로 미수신 메시지 토큰을 포함하는 Missing 메시지를 전송할 수 있다. Missing 메시지는 메시지를 수신하지 못한 단말의 토큰 연속성을 보완하기 위한 메시지로서, 메시지 내용은 최신 미수신 메시지의 토큰을 포함한다. 예를 들어, Brian이 서버 보관 기간보다 장기간 동안 채팅방에 미접속한 경우, 단말B(110)는 서버 보관 기간을 경과하여 삭제된 메시지들을 수신하지 못한다. 이 경우, 미수신 메시지로 인해 단말B(110)의 챗로그는 토큰 연속성이 깨진다. 따라서, 서버(200)는 삭제된 메시지를 전송할 수는 없으므로, Missing 메시지를 통해 장기 미수신 정보를 기록하고, 최신 미수신 메시지의 토큰을 전달한다. 단말B(110)는 Missing 메시지를 챗로그에 기록한다. The server 200 may transmit the Missing message including the message not received token to the message not received terminal. The Missing message is a message for supplementing the token continuity of the terminal that has not received the message, and the message content includes the token of the latest non-received message. For example, when Brian does not access the chat room for a longer period than the server storage period, the terminal B 110 does not receive messages deleted after the server storage period has elapsed. In this case, the token continuity of the chatlog of the terminal B 110 is broken due to the non-received message. Therefore, since the server 200 cannot transmit the deleted message, long-term non-received information is recorded through the Missing message, and a token of the latest non-received message is transmitted. Terminal B 110 records the Missing message in the chatlog.

서버(200)는 단말B(110)로 Missing 메시지를 전송한 사실을 다른 참여자 단말에게 알리는 MissingNoti 메시지를 전송할 수 있다. MissingNoti 메시지는 Missing 메시지와 동일한 내용을 포함할 수 있다. The server 200 may transmit a MissingNoti message informing other participant terminals of the fact that the Missing message has been transmitted to the terminal B 110 . The MissingNoti message may include the same content as the Missing message.

다음에서, 서버(200)와 채팅방의 참여자 단말들(100, 110, 120)이 메시지를 송수신하고, 챗로그를 기록하는 방법을 설명한다.In the following, a method for transmitting and receiving messages between the server 200 and the participant terminals 100, 110, and 120 of the chat room and recording the chat log will be described.

도 2는 본 발명의 실시예에 따른 서버와 채팅방 참여자 단말들 사이의 요청 전송 및 메시지 전송을 설명하는 흐름도이다.2 is a flowchart illustrating request transmission and message transmission between a server and chat room participant terminals according to an embodiment of the present invention.

도 2를 참고하면, 단말A(100)가 서버(200)로 채팅방 개설을 요청한다(S110). 채팅방 개설 요청은 참여자 정보를 포함한다.Referring to FIG. 2 , the terminal A 100 requests the server 200 to open a chat room ( S110 ). The chat room establishment request includes participant information.

서버(200)는 채팅방 개설 요청에 따라 개설한 채팅방 개설 정보를 포함하는 메시지를 각 참여자 단말로 전송하고, 표 2와 같이 전송한 메시지들을 챗로그 데이터베이스에 기록한다(S120). 전송과 기록의 순서는 바뀌거나 동시에 진행될 수 있는데, 전송한 메시지를 챗로그 데이터베이스에 기록(저장)한다고 설명한다. The server 200 transmits a message including chat room establishment information opened in response to a chat room establishment request to each participant terminal, and records the transmitted messages in the chat log database as shown in Table 2 (S120). The order of transmission and recording can be changed or proceed simultaneously. Explain that the transmitted message is recorded (stored) in the chatlog database.

서버(200)는 메시지 추가요청에 해당하는 메시지(인덱스 0004)를 각 참여자 단말로 전송하고, 표 3과 같이 전송한 메시지(인덱스 0004)를 챗로그 데이터베이스에 기록한다(S132). 각 참여자 단말로 전송된 메시지는 Token4를 포함하고, Token4는 hash(Token3 xor (0004+시각4+A+100+ContentHash4))으로 계산될 수 있다.The server 200 transmits a message (index 0004) corresponding to the message addition request to each participant terminal, and records the transmitted message (index 0004) in the chatlog database as shown in Table 3 (S132). The message sent to each participant terminal includes Token4, and Token4 can be calculated as a hash (Token3 xor (0004+time4+A+100+ContentHash4)).

서버(200)는 메시지 추가요청에 해당하는 메시지(인덱스 0005)를 각 참여자 단말로 전송하고, 표 3과 같이 전송한 메시지(인덱스 0005)를 챗로그 데이터베이스에 기록한다(S142). 각 참여자 단말로 전송된 메시지는 Token5를 포함하고, Token5는 hash(Token4 xor (0005+시각5+B+100+ContentHash5))으로 계산될 수 있다.The server 200 transmits a message (index 0005) corresponding to the message addition request to each participant terminal, and records the transmitted message (index 0005) in the chatlog database as shown in Table 3 (S142). The message sent to each participant terminal includes Token5, and Token5 can be calculated as a hash (Token4 xor (0005+time5+B+100+ContentHash5)).

단말C(120)는 채팅방에서 그림파일이 입력되면, 입력 내용을 포함하는 메시지 추가요청[예를 들면, AddMsg(101(Attachment), {그림파일})]을 서버(200)로 전송한다(S150). When a picture file is input in the chat room, the terminal C 120 transmits a message addition request [eg, AddMsg(101(Attachment), {picture file})] including the input contents to the server 200 (S150). ).

서버(200)는 메시지 추가요청에 해당하는 메시지(인덱스 0006)를 각 참여자 단말로 전송하고, 상기 전송한 메시지(인덱스 0006)를 챗로그 데이터베이스에 기록한다(S152). 각 참여자 단말로 전송된 메시지는 Token6을 포함하고, Token6은 hash(Token5 xor (0006+시각6+C+101+ContentHash6))으로 계산될 수 있다. The server 200 transmits a message (index 0006) corresponding to the message addition request to each participant terminal, and records the transmitted message (index 0006) in the chatlog database (S152). The message sent to each participant terminal includes Token6, and Token6 can be calculated as a hash (Token5 xor (0006+time6+C+101+ContentHash6)).

참여자들이 채팅방에서 대화 내용을 입력한 이후, 챗로그 데이터베이스는 갱신된다. 각 메시지의 토큰은 이전 메시지 토큰을 이용하여 계산된다. 서버(200)는 참여자별 마지막 수신 메시지 정보를 채팅방 정보로 관리한다.After the participants enter conversation content in the chat room, the chat log database is updated. Each message's token is computed using the previous message's token. The server 200 manages the last received message information for each participant as chat room information.

참여자 단말들(100, 110, 120) 각각은 주기적으로 참여 증명 요청을 서버(200)로 전송한다. 참여 증명 요청은 채팅방에 참여 중임을 증명하는 용도로 발신되고, 어플리케이션에서 주기적으로 발신될 수 있다. 단말A(100), 단말B(110), 단말C(120) 순서로 참여 증명 요청을 서버(200)로 전송한다고 가정한다.예를 들어, 단말A(100)가 참여 증명 요청을 서버(200)로 전송한다(S160). 참여 증명 요청은 참여자 증명 정보를 포함할 수 있고, 예를 들면, 이전 메시지 토큰(Token6)을 Aiden의 비밀키로 암호화한 정보[Encode(Token6, 비밀키A)]일 수 있다. Each of the participant terminals 100 , 110 , and 120 periodically transmits a participation proof request to the server 200 . The participation proof request is sent for the purpose of proving that you are participating in the chat room, and may be periodically sent from the application. It is assumed that the terminal A 100, the terminal B 110, and the terminal C 120 transmit the participation proof request to the server 200 in the order. For example, the terminal A 100 transmits the participation proof request to the server 200 ) to (S160). The participation proof request may include participant proof information, for example, it may be information [Encode(Token6, secret key A)] obtained by encrypting the previous message token (Token6) with Aiden's private key.

서버(200)는 단말A(100)의 참여 증명 요청에 해당하는 Sign 메시지(인덱스 0007)를 각 참여자 단말로 전송하고, 상기 전송한 Sign 메시지(인덱스 0007)를 챗로그 데이터베이스에 기록한다(S162). 각 참여자 단말로 전송된 Sign 메시지는 참여자 증명 정보를 및 Token7을 포함하고, Token7은 이전 메시지 토큰인 Token6을 이용하여 계산된다.The server 200 transmits a Sign message (index 0007) corresponding to the participation proof request of the terminal A 100 to each participant terminal, and records the transmitted Sign message (index 0007) in the chatlog database (S162) . The sign message sent to each participant terminal includes participant identification information and Token7, and Token7 is calculated using the previous message token, Token6.

이후, 다른 단말에서도 동일하게 참여 증명 요청을 전송하고, 서버(200)가 참여 증명 요청에 해당하는 Sign 메시지를 각 참여자 단말로 전송한다. Thereafter, the other terminals also transmit the participation proof request in the same manner, and the server 200 transmits a Sign message corresponding to the participation proof request to each participant terminal.

구체적으로, 단말B(110)가 Sign 메시지(인덱스 0007)를 수신한 이후, 참여 증명 요청을 서버(200)로 전송하는데, 이전 메시지 토큰(Token7)을 Brian의 비밀키로 암호화한 정보[Encode(Token7, 비밀키B)]를 참여자 증명 정보로 전송한다. 서버(200)는 단말B(110)의 참여 증명 요청에 해당하는 Sign 메시지(인덱스 0008)를 각 참여자 단말로 전송하고, 상기 전송한 Sign 메시지(인덱스 0008)를 챗로그 데이터베이스에 기록한다. Specifically, after the terminal B 110 receives the Sign message (index 0007), it transmits a request for proof of participation to the server 200, and the information [Encode (Token7) encrypted with the previous message token (Token7) with Brian's private key. , secret key B)] as participant identification information. The server 200 transmits a Sign message (index 0008) corresponding to the participation verification request of the terminal B 110 to each participant terminal, and records the transmitted Sign message (index 0008) in the chatlog database.

단말C(120)가 sign 메시지(인덱스 0008)를 수신한 이후, 참여 증명 요청을 서버(200)로 전송하는데, 이전 메시지 토큰(Token8)을 Cindy의 비밀키로 암호화한 정보를 참여자 증명 정보로 전송한다. 서버(200)는 단말C(120)의 참여 증명 요청에 해당하는 Sign 메시지(인덱스 0009)를 각 참여자 단말로 전송하고, 상기 전송한 Sign 메시지(인덱스 0009)를 챗로그 데이터베이스에 기록한다. 서버(200)는 참여자별 마지막 수신 메시지 정보를 채팅방 정보에서 갱신한다. After the terminal C 120 receives the sign message (index 0008), it transmits a participation proof request to the server 200, and transmits the information obtained by encrypting the previous message token (Token8) with Cindy's private key as the participant proof information . The server 200 transmits a Sign message (index 0009) corresponding to the participation certification request of the terminal C 120 to each participant terminal, and records the transmitted Sign message (index 0009) in the chatlog database. The server 200 updates the last received message information for each participant in the chat room information.

서버(200)는 일정 시간이 지나면, 서버 보관 기간을 경과한 메시지들(인덱스 0000-0014)을 삭제하고, 최신 메시지들(인덱스 0015)만을 저장할 수 있다. 만약, Brian이 서버 보관 기간보다 장기간 동안 채팅방에 미접속한 경우, 단말B(110)는 메시지(인덱스 0010)가 최근 수신 메시지로 기록될 수 있다.When a predetermined time elapses, the server 200 may delete messages (index 0000-0014) that have passed the server retention period, and store only the latest messages (index 0015). If Brian is not connected to the chat room for a longer period than the server storage period, the message (index 0010) in terminal B 110 may be recorded as a recently received message.

다음에서, 메시지를 수신하지 못한 단말의 토큰 연속성을 보완하기 위한 방법에 대해 설명한다.Next, a method for supplementing the token continuity of the terminal that has not received the message will be described.

도 3은 본 발명의 실시예에 따른 장기 미접속 시 서버와 채팅방 참여자 단말들 사이의 요청 전송 및 메시지 전송을 설명하는 흐름도이다.3 is a flowchart illustrating request transmission and message transmission between a server and chat room participant terminals during long-term non-connection according to an embodiment of the present invention.

도 3을 참고하면, 단말B(110)이 서버(200)에 접속한다(S210).Referring to FIG. 3 , the terminal B 110 accesses the server 200 ( S210 ).

서버(200)는 채팅방 정보에서 단말B(110)의 마지막 수신 메시지 정보(인덱스 0010)를 확인한다(S220).The server 200 checks the last received message information (index 0010) of the terminal B 110 in the chat room information (S220).

서버(200)는 챗로그 데이터베이스(표 6)에 저장된 메시지들과 단말B(110)의 마지막 수신 메시지를 비교하여 미전송 메시지들을 추출한다(S222). 미전송 메시지들 중에는 이미 삭제된 메시지, 예를 들면, 메시지(인덱스 0011)부터 메시지(인덱스 0014)가 포함될 수 있다.The server 200 extracts untransmitted messages by comparing the messages stored in the chatlog database (Table 6) with the last received message of the terminal B 110 (S222). Among the untransmitted messages, messages that have already been deleted, for example, messages (index 0011) to messages (index 0014) may be included.

서버(200)는 토큰 연속성 정보 및 메시지 미수신 정보를 포함하는 Missing 메시지를 단말B(110)로 전송한다(S230). Missing 메시지는 Brian이 수신한 메시지 정보(서버 인덱스 및 토큰), 토큰 연속성 정보(미수신 메시지 인덱스 및 토큰)을 포함할 수 있다.The server 200 transmits the Missing message including the token continuity information and the message not received information to the terminal B 110 (S230). The Missing message may include message information (server index and token) received by Brian, and token continuity information (unreceived message index and token).

서버(200)는 챗로그 데이터베이스(표 6)에 저장된 메시지(메시지 0015)를 단말B(110)로 전송한다(S232). 또는, 서버(200)가 순서와 무관하게 Missing 메시지와 저장된 메시지(인덱스 0015)를 단말B(110)로 전송하고, 단말B(110)이 챗로그 저장 시 메시지 순서를 수정할 수 있다.The server 200 transmits the message (message 0015) stored in the chat log database (Table 6) to the terminal B 110 (S232). Alternatively, the server 200 may transmit the missing message and the stored message (index 0015) to the terminal B 110 regardless of the order, and the terminal B 110 may modify the message order when storing the chatlog.

서버(200)는 단말B(110)로 Missing 메시지를 전송한 사실을 다른 참여자 단말이 알 수 있도록, 참여자 단말들에게 MissingNoti 메시지를 전송하고, 챗로그 데이터베이스에 MissingNoti 메시지를 기록한다(S240). MissingNoti 메시지의 내용은 Missing 메시지의 내용을 포함하여, 다른 참여자들이 Missing 메시지의 내용을 알 수 있도록 한다.The server 200 transmits the MissingNoti message to the participant terminals so that other participant terminals can know that the Missing message has been transmitted to the terminal B 110, and records the MissingNoti message in the chatlog database (S240). The content of the MissingNoti message includes the content of the Missing message so that other participants can know the content of the Missing message.

도 4는 본 발명의 실시예에 따른 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법의 흐름도이다.4 is a flowchart of a method of verifying chat contents of a chat service of an SNS platform according to an embodiment of the present invention.

도 4를 참고하면, 단말A(100)가 자신이 저장하고 있는 메시지들을 선택하고, 서버(200)로 무결성 증명을 요청한다(S310). 증명 요청된 메시지들은 예를 들면, 표 8의 메시지(인덱스 0006)부터 메시지(인덱스 0016)라고 한다. 무결성 증명 요청은 채팅방 참여자 단말뿐만 아니라, 증명 요청된 메시지들을 전송할 수 있는 다양한 장치들에서 전송될 수 있다.Referring to FIG. 4 , the terminal A 100 selects messages stored therein, and requests integrity verification to the server 200 ( S310 ). The authentication-requested messages are, for example, from the messages (index 0006) in Table 8 to the messages (index 0016). The integrity verification request may be transmitted from various devices capable of transmitting the authentication-requested messages, as well as the chat room participant terminal.

서버(200)는 증명 요청된 메시지들에 포함된 토큰들의 토큰 연속성을 검증한다(S320). 이때, 서버(200)는 전송된 각 메시지의 토큰이 메시지 내용으로부터 생성된 것인지 토큰 무결성을 확인하면서, 토큰 연속성을 단계적으로 검증할 수 있다. 토큰 연속성이 부정된 경우, 메시지 위변조가 있는 것이므로, 서버(200)는 증명 요청된 메시지들의 무결성 검증 실패를 전송한다.The server 200 verifies the token continuity of tokens included in the authentication-requested messages (S320). In this case, the server 200 may verify the token continuity step by step while checking the token integrity whether the token of each transmitted message is generated from the message content. If the token continuity is denied, since there is forgery of the message, the server 200 transmits an integrity verification failure of the authentication-requested messages.

서버(200)는 토큰 연속성이 확인된 경우, 증명 요청된 메시지들의 최신 메시지의 토큰(Token16)과 챗로그 데이터베이스에 저장된 해당 메시지의 토큰(Token16)을 비교한다(S330).When the token continuity is confirmed, the server 200 compares the token (Token16) of the latest message of the authentication-requested messages with the token (Token16) of the corresponding message stored in the chatlog database (S330).

서버(200)는 단말로부터 수신한 최신 메시지 토큰과 저장된 메시지 토큰의 비교 결과를 기초로, 증명 요청된 메시지들의 무결성을 검증한다(S340). 단계(S320)과 단계(S330)의 순서는 변경될 수 있다.The server 200 verifies the integrity of the authentication-requested messages based on the comparison result between the latest message token received from the terminal and the stored message token (S340). The order of steps S320 and S330 may be changed.

서버(200)는 증명 요청된 메시지들에 대한 무결성 검증 결과를 단말A(100)로 전송한다(S350).The server 200 transmits the integrity verification results for the authentication-requested messages to the terminal A 100 (S350).

즉, 서버(200)는 증명 요청된 메시지들의 Token6과 메시지(인덱스 0007)의 정보(0007:시각7:A:-1(Sign):CH7)를 이용하여 Token7이 계산되는지 확인하고, Token7와 다음 메시지(인덱스 0008)의 정보를 이용하여 Token8이 계산되는지 확인해 나가면서, 증명 요청된 마지막 메시지(인덱스 0016)의 토큰값(Token16)을 도출한다. 단말에서 메시지 내용이 위변조 되더라도, 토큰값이 변경되지 않으므로, 서버(200)는 메시지 내용으로부터 해당 메시지의 토큰이 생성되는지 확인하는 것이다. 만약, 토큰들의 연속성이 깨진다면, 메시지 위변조가 있는 것이므로, 서버(200)는 증명 요청된 메시지들의 무결성을 부정한다. 서버(200)는 토큰 연속성이 확인된 토큰값(Token16)에 대해서, 저장된 메시지(인덱스 0016)의 토큰(Token16)을 비교하여 증명 요청된 메시지들의 무결성을 검증할 수 있다. That is, the server 200 checks whether Token7 is calculated using Token6 of the messages requested for proof and information (0007: time 7: A:-1(Sign):CH7) of the message (index 0007), and Token7 and the next While checking whether Token8 is calculated using the information in the message (index 0008), the token value (Token16) of the last message (index 0016) requested for proof is derived. Even if the message content is forged in the terminal, since the token value is not changed, the server 200 checks whether a token of the corresponding message is generated from the message content. If the continuity of the tokens is broken, since there is a message forgery, the server 200 denies the integrity of the authentication-requested messages. The server 200 may verify the integrity of the authentication-requested messages by comparing the token (Token16) of the stored message (index 0016) with the token value (Token16) for which token continuity is confirmed.

서버(200)는 토큰 연속성을 검증하면서, MissingNoti 메시지를 발견하고, 이를 통해 Brian이 메시지(인덱스 0010)까지 수신하고, 메시지(인덱스 0011)부터 메시지(인덱스 0014)까지 미수신한 사실을 확인할 수 있다. 서버(200)는 토큰 연속성을 검증하면서, Cindy가 메시지(인덱스 0009)까지 수신하고, 채팅방을 나간 사실을 확인할 수 있다.The server 200 discovers the MissingNoti message while verifying the token continuity, and through this, it can be confirmed that Brian has received the message (index 0010) and has not received from the message (index 0011) to the message (index 0014). The server 200 may check the fact that Cindy has received the message (index 0009) and left the chat room while verifying the token continuity.

단말B(110)가 자신이 저장하고 있는 메시지들을 선택하고, 서버(200)로 무결성 증명을 요청하는 것도 동일하게 진행된다. 표 9를 참고하면, 서버(200)는 단말B(110)에 기록된 Missing 메시지를 통해 유실된 메시지의 토큰(Token14)를 확인하고, 이를 기초로 다음 메시지의 연속성을 검증할 수 있다. 또한, 서버(200)는 Missing 메시지를 통해 Brian의 미수신 메시지들을 확인할 수 있다. The terminal B 110 selects the messages it stores and requests the integrity proof to the server 200 in the same way. Referring to Table 9, the server 200 may check the token (Token14) of the lost message through the Missing message recorded in the terminal B 110, and verify the continuity of the next message based on this. Also, the server 200 may check Brian's non-received messages through the Missing message.

도 4에서는 증명 요청된 메시지들 중 최신 메시지(인덱스 0016)가 서버(200)에 저장된 경우이므로, 서버(200)는 단계(S330)에서 증명 요청된 메시지들의 최신 메시지의 토큰(Token16)과 챗로그 데이터베이스에 저장된 해당 메시지의 토큰(Token16)을 비교할 수 있다. In FIG. 4 , since the latest message (index 0016) among the messages requested for proof is stored in the server 200, the server 200 generates a token (Token16) and a chat log of the latest message of the messages requested for proof in step S330. You can compare the token (Token16) of the corresponding message stored in the database.

한 실시예에 따르면, 서버(200)가 보관 기간 동안(예를 들면, 3일)의 메시지들의 토큰만을 저장하는 경우, 증명 요청된 메시지들은 서버의 메시지 보관 기간이 지나지 않은 메시지를 적어도 하나 포함해야 하고, 그렇지 않은 경우, 서버로부터 재선택 요청을 받을 수 있다. 또는 서버의 메시지 보관 기간이 지나지 않은 메시지가 포함되도록 자동 선택될 수 있다.According to one embodiment, when the server 200 stores only tokens of messages for a retention period (eg, 3 days), the authentication-requested messages must include at least one message whose message retention period of the server has not passed. and, if not, a reselection request may be received from the server. Alternatively, the server's message retention period may be automatically selected to include messages that have not passed.

다른 실시예에 따르면, 서버(200)가 보관 기간이 지난 메시지들을 삭제하더라도, 삭제 메시지들의 적어도 일부의 토큰을 별도로 저장할 수 있다. 예를 들면, 서버(200)는 삭제 메시지들의 토큰을 저장하고, 저장된 토큰들 중에서 증명 요청된 메시지들 중 적어도 하나의 메시지에 해당하는 토큰을 추출해서 비교할 수 있다. According to another embodiment, even if the server 200 deletes messages whose storage period has passed, tokens of at least some of the deleted messages may be separately stored. For example, the server 200 may store tokens of deletion messages, extract and compare tokens corresponding to at least one message among the messages for which authentication is requested from among the stored tokens.

또는 서버(200)는 일정 주기(예를 들면, 1일)마다 적어도 하나의 토큰(예를 들면, 당일에 전송된 마지막 메시지의 토큰)을 별도 저장할 수 있다. 이 경우, 증명 요청된 메시지들은 해당 주기의 마지막 메시지를 포함하도록 자동 또는 수동으로 선택될 수 있다. 예를 들면, 서버(200)는 10일전에 채팅방으로 전송한 메시지들을 삭제하더라도, 10일전인 1월2일에 마지막으로 전송된 메시지 토큰을 1월2일 대화내용 증명을 위한 정보로 저장한다. 이후, 서버(200)는 1월1일에 전송된 메시지부터 1월2일에 마지막으로 전송된 메시지들을 증명 요청 메시지로 수신하면, 1월2일 대화내용 증명을 위해 저장해 둔 1월2일 토큰을 이용하여 도 4의 단계(S330)를 처리할 수 있다.Alternatively, the server 200 may separately store at least one token (eg, a token of the last message transmitted on the day) every predetermined period (eg, one day). In this case, the authentication-requested messages can be automatically or manually selected to include the last message of the period. For example, even if the server 200 deletes the messages transmitted to the chat room 10 days ago, the message token last transmitted on January 2, 10 days ago, is stored as information for verifying the conversation content on January 2nd. Thereafter, when the server 200 receives the messages last transmitted on January 2 from the message transmitted on January 1 as a proof request message, the January 2 token stored for verification of the conversation content on January 2 can be used to process step S330 of FIG. 4 .

지금까지 단말은 서버로부터 메시지들을 수신하고 저장하는 것으로 설명하였으나, 단말은 서버로부터 메시지를 수신할 때, 이전에 수신한 메시지와의 연속성을 검증할 수 있다. 즉, 단말은 N-1번째 수신 메시지의 TokenX와 N번째 수신 메시지의 정보를 해싱한 값이 N번째 수신 매시지의 TokenY와 동일한지 판단하고, 동일하지 않으면, 연속된 메시지가 아니라고 판단(메시지가 단말에서 삭제되거나 미수신됨)할 수 있다. 단말은 서버로 서버와의 동기화 실패를 보고할 수 있다. 단말 또는 서버는 더 이상 채팅방의 대화 내용 증명을 할 수 없음을 사용자에게 알릴 수 있다. 또는 서버는 계속 대화 내용 증명을 할 수 있도록 Missing 메시지를 단말로 전송하여 토큰 연속성을 보장할 수 있다.So far, the terminal has been described as receiving and storing messages from the server, but when the terminal receives a message from the server, it can verify continuity with a previously received message. That is, the terminal determines whether the hashed value of TokenX of the N-1 received message and the information of the Nth received message is the same as TokenY of the Nth received message. deleted from or not received). The terminal may report synchronization failure with the server to the server. The terminal or server may notify the user that it is no longer possible to verify the conversation contents of the chat room. Alternatively, the server can guarantee token continuity by sending a Missing message to the terminal so that the conversation can continue to be verified.

본 발명은 커팅부, 제 1 트랜스퍼 및 제 2 트랜스퍼, 콤바인부를 포함할 수 있다.The present invention may include a cutting unit, a first transfer and a second transfer, and a combine unit.

커팅부는 데이터를 분할하여 복수 개의 조각들을 생성하고, 조각들의 각각에 어드레스를 부여할 수 있다. 여기서, 조각들의 어드레스는 복수 개의 문자 및 숫자의 조합으로 이루어질 수 있다.The cutting unit may generate a plurality of pieces by dividing the data, and may assign an address to each of the pieces. Here, the addresses of the pieces may be composed of a combination of a plurality of letters and numbers.

또한, 커팅부는 각각의 어드레스를 고려하여 조합 규칙을 생성할 수 있다. 여기서, 조합 규칙은 복수 개의 데이터 조각들을 각각의 어드레스를 바탕으로 하여 분할되기 이전의 데이터로 조합할 수 있도록 하는 규칙을 의미한다.Also, the cutting unit may generate a combination rule in consideration of each address. Here, the combination rule refers to a rule that allows a plurality of data pieces to be combined into data before being divided based on each address.

제 1 트랜스퍼는 복수 개의 데이터 조각들을 임의의 순서로 전송할 수 있다. 여기서, 복수 개의 데이터 조각들은 각각 부여된 어드레스와 함께 전송될 수 있다.The first transfer may transmit a plurality of data pieces in an arbitrary order. Here, a plurality of data pieces may be transmitted together with an assigned address, respectively.

제 2 트랜스퍼는 제 1 트랜스퍼에 의해 전송된 복수 개의 데이터 조각들에 대응되는 조합 규칙을 전송할 수 있다. 여기서, 제 2 트랜스퍼는 제 1 트랜스퍼에 의한 복수 개의 데이터 조각들의 전송에 대하여 시차를 두고 조합 규칙을 전송하는 것이 바람직할 수 있다. The second transfer may transmit a combination rule corresponding to the plurality of data pieces transmitted by the first transfer. Here, it may be preferable that the second transfer transmits the combination rule with a time difference with respect to the transmission of the plurality of data pieces by the first transfer.

이상 본 명세서에서 설명한 기능적 동작과 본 주제에 관한 실시형태들은 본 명세서에서 개시한 구조들 및 그들의 구조적인 등가물을 포함하여 디지털 전자 회로나 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 혹은 이들 중 하나 이상의 조합에서 구현 가능하다.The functional operations described in this specification and the embodiments related to the present subject matter can be implemented in a digital electronic circuit, computer software, firmware or hardware, including the structures disclosed herein and structural equivalents thereof, or in a combination of one or more thereof Do.

본 명세서에서 기술하는 주제의 실시형태는 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 데이터 처리 장치에 의한 실행을 위하여 또는 그 동작을 제어하기 위하여 유형의 프로그램 매체 상에 인코딩되는 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 유형의 프로그램 매체는 전파형 신호이거나 컴퓨터로 판독 가능한 매체일 수 있다. 전파형 신호는 컴퓨터에 의한 실행을 위하여 적절한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위하여 생성되는 예컨대 기계가 생성한 전기적, 광학적 혹은 전자기 신호와 같은 인공적으로 생성된 신호이다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조합 혹은 이들 중 하나 이상의 조합일 수 있다.Embodiments of the subject matter described herein are one or more computer program products, ie one or more modules directed to computer program instructions encoded on a tangible program medium for execution by or for controlling the operation of a data processing device. can be implemented. A tangible program medium may be a radio wave signal or a computer-readable medium. A radio wave signal is an artificially generated signal, eg a machine-generated electrical, optical or electromagnetic signal, that is generated to encode information for transmission to an appropriate receiver device for execution by a computer. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a combination of materials that affect a machine-readable radio wave signal, or a combination of one or more of these.

컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다.A computer program (also known as a program, software, software application, script or code) may be written in any form of any programming language, including compiled or interpreted language or a priori or procedural language, and may be written as a stand-alone program or module; It can be deployed in any form, including components, subroutines, or other units suitable for use in a computer environment.

컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다.A computer program does not necessarily correspond to a file in a file system. A program may be in a single file provided to the requested program, or in multiple interacting files (eg, files that store one or more modules, subprograms, or portions of code), or portions of files that hold other programs or data. (eg, one or more scripts stored within a markup language document).

컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터 또는 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.The computer program may be deployed to be executed on one computer or multiple computers located at one site or distributed over a plurality of sites and interconnected by a communication network.

부가적으로, 본 명세서에서 기술하는 논리 흐름과 구조적인 블록도는 개시된 구조적인 수단의 지원을 받는 대응하는 기능과 단계의 지원을 받는 대응하는 행위 및/또는 특정한 방법을 기술하는 것으로, 대응하는 소프트웨어 구조와 알고리즘과 그 등가물을 구축하는 데에도 사용 가능하다. Additionally, the logic flows and structural block diagrams described herein describe corresponding acts and/or specific methods supported by corresponding functions and steps supported by the disclosed structural means, and corresponding software. It can also be used to build structures and algorithms and their equivalents.

본 명세서에서 기술하는 프로세스와 논리 흐름은 입력 데이터 상에서 동작하고 출력을 생성함으로써 기능을 수행하기 위하여 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서에 의하여 수행 가능하다.The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output.

컴퓨터 프로그램의 실행에 적합한 프로세서는, 예컨대 범용 및 특수 목적의 마이크로프로세서 양자 및 어떤 종류의 디지털 컴퓨터의 어떠한 하나 이상의 프로세서라도 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 혹은 양자로부터 명령어와 데이터를 수신할 것이다. Processors suitable for the execution of computer programs include, for example, both general and special purpose microprocessors and any one or more processors of any kind of digital computer. Typically, the processor will receive instructions and data from read-only memory, random access memory, or both.

컴퓨터의 핵심적인 요소는 명령어와 데이터를 저장하기 위한 하나 이상의 메모리 장치 및 명령을 수행하기 위한 프로세서이다. 또한, 컴퓨터는 일반적으로 예컨대 자기, 자기광학 디스크나 광학 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대량 저장 장치로부터 데이터를 수신하거나 그것으로 데이터를 전송하거나 혹은 그러한 동작 둘 다를 수행하기 위하여 동작가능 하도록 결합되거나 이를 포함할 것이다. 그러나, 컴퓨터는 그러한 장치를 가질 필요가 없다.A key element of a computer is one or more memory devices for storing instructions and data and a processor for executing instructions. In addition, a computer is generally operably coupled to receive data from, or transmit data to, one or more mass storage devices for storing data, such as, for example, magnetic, magneto-optical disks or optical disks, or to perform both such operations. or will include However, the computer need not have such a device.

본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. The present description sets forth the best mode of the invention, and provides examples to illustrate the invention, and to enable any person skilled in the art to make or use the invention. The specification thus prepared does not limit the present invention to the specific terms presented.

따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 요컨대 본 발명이 의도하는 효과를 달성하기 위해 도면에 도시된 모든 기능 블록을 별도로 포함하거나 도면에 도시된 모든 순서를 도시된 순서 그대로 따라야만 하는 것은 아니며, 그렇지 않더라도 얼마든지 청구항에 기재된 본 발명의 기술적 범위에 속할 수 있다는 점을 밝힌다.Accordingly, although the present invention has been described in detail with reference to the above-described examples, those skilled in the art can make modifications, changes, and modifications to the examples without departing from the scope of the present invention. In short, in order to achieve the intended effect of the present invention, it is not necessary to separately include all the functional blocks shown in the drawings or follow all the orders shown in the drawings. indicate that it may be within the scope

Claims (8)

SNS를 제공하는 서버가 대화 내용을 증명하는 방법으로서,
상기 SNS를 이용하는 제 1 참여자 단말로부터, 채팅방에서 입력된 요청을 받는 단계;
상기 요청에 해당하는 내용을 분산저장서버에 분산저장하는 단계;
상기 분산저장된 내용을 포함하는 제 1 메시지를 상기 채팅방의 참여자 단말들로 전송하는 단계; 및
상기 제 1 메시지를 챗로그 데이터베이스에 저장하는 단계를 포함하고,
상기 제 1 메시지는 메시지 정보 그리고 제 1 토큰을 포함하고,
상기 제 1 토큰은 상기 제 1 메시지 전에 전송된 제 2 메시지의 제 2 토큰과 상기 제 1 메시지의 정보를 이용하여 계산되는 단계를 포함하는 것을 특징으로 하는 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법.
As a method for the server providing SNS to prove the conversation contents,
receiving a request inputted in a chat room from a first participant terminal using the SNS;
Distributing and storing the contents corresponding to the request in a distributed storage server;
transmitting a first message including the distributed and stored contents to the participant terminals of the chat room; and
storing the first message in a chatlog database;
The first message includes message information and a first token,
Proving the chat contents of the chat service of the SNS platform, characterized in that the first token is calculated using the second token of the second message transmitted before the first message and the information of the first message method.
제 1항에서,
상기 제 1 메시지의 정보는
메시지 인덱스, 메시지 전송 시각, 메시지 발신자, 메시지 종류, 그리고 메시지 내용의 해쉬값 중 적어도 하나를 포함하는 것을 특징으로 하는 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법.
In claim 1,
The information of the first message is
A method of verifying chat contents of a chat service of an SNS platform, characterized in that it includes at least one of a message index, a message transmission time, a message sender, a message type, and a hash value of the message contents.
제 1항에서,
상기 요청은 참여 증명 요청이고,
상기 제 1 메시지는 상기 제 1 참여자 단말의 참여 증명 정보를 포함하는 히든 메시지이며,
상기 히든 메시지는 상기 채팅방에서 표시되지 않는 메시지인 것을 특징으로 하는 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법.
In claim 1,
the request is a request for proof of participation;
The first message is a hidden message including participation proof information of the first participant terminal,
The method of verifying the chat contents of the chat service of the SNS platform, characterized in that the hidden message is a message that is not displayed in the chat room.
제 3항에서,
상기 참여 증명 정보는 상기 제 2 토큰 또는 상기 제 2 토큰을 암호화한 정보를 포함하는 것을 특징으로 하는 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법.
In claim 3,
The participation proof information is a method of verifying the chat contents of the chat service of the SNS platform, characterized in that it includes the second token or information obtained by encrypting the second token.
제 1항에서,
상기 채팅방의 참여자 단말들 각각의 마지막 수신 메시지 정보를 관리하는 단계를 더 포함하는 것을 특징으로 하는 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법.
In claim 1,
Method of verifying the chat contents of the chat service of the SNS platform, characterized in that it further comprises the step of managing the last received message information of each of the participant terminals of the chat room.
제 5항에서,
제 2 참여자 단말이 접속한 경우, 상기 제 2 참여자 단말의 마지막 수신 메시지를 확인하는 단계;
상기 챗로그 데이터베이스에 저장된 메시지들과 상기 제 2 참여자 단말의 마지막 수신 메시지를 비교하고, 미전송 메시지들 중 삭제된 메시지 정보를 추출하는 단계; 및
상기 삭제된 메시지 정보를 포함하는 제 1 히든 메시지를 전송하는 단계를 더 포함하고,
상기 삭제된 메시지 정보는 삭제된 메시지들 중 최신 메시지의 토큰을 포함하는 것을 특징으로 하는 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법.
In claim 5,
checking the last received message of the second participant terminal when the second participant terminal accesses;
comparing the messages stored in the chatlog database with the last received message of the second participant terminal, and extracting deleted message information from untransmitted messages; and
Further comprising the step of transmitting a first hidden message including the deleted message information,
The deleted message information is a method of verifying the chat contents of the chat service of the SNS platform, characterized in that it includes a token of the latest message among the deleted messages.
제6항에서,
상기 삭제된 메시지 정보는
상기 제 2 참여자 단말이 미수신한 메시지 정보를 더 포함하는 것을 특징으로 하는 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법.
In claim 6,
The deleted message information is
The method of verifying the chat contents of the chat service of the SNS platform, characterized in that it further includes the message information that the second participant terminal has not received.
SNS를 제공하는 서버가 대화 내용을 증명하는 방법으로서,
채팅방의 참여자 단말들로 전송한 메시지들을 챗로그 데이터베이스에 저장하는 단계;
임의 참여자 단말로부터, 특정 메시지들에 대한 무결성 증명 요청을 수신하는 단계; 및
증명 요청된 메시지들에 포함된 토큰들과 상기 챗로그 데이터베이스에 저장된 토큰을 기초로 상기 증명 요청된 메시지들의 무결성을 검증하는 단계를 포함하고,
각 메시지는 메시지 정보 그리고 토큰을 포함하고,
상기 토큰은 해당 메시지 이전에 전송된 메시지의 토큰과 해당 메시지의 정보를 이용하여 계산되는 것을 특징으로 하는 SNS 플랫폼의 채팅 서비스의 채팅 내용을 증명하는 방법.
As a method for a server providing SNS to prove the conversation content,
Storing the messages transmitted to the participant terminals of the chat room in a chat log database;
receiving, from an arbitrary participant terminal, an integrity certification request for specific messages; and
Verification of the integrity of the authentication-requested messages based on the tokens included in the authentication-requested messages and the token stored in the chatlog database,
Each message contains message information and a token,
The token is a method of verifying chat contents of a chat service of an SNS platform, characterized in that it is calculated using a token of a message transmitted before the corresponding message and information on the corresponding message.
KR1020200105153A 2020-08-21 2020-08-21 Methods for Proving Chatting Contents in Chatting Service of SNS Platform KR20220023437A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200105153A KR20220023437A (en) 2020-08-21 2020-08-21 Methods for Proving Chatting Contents in Chatting Service of SNS Platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200105153A KR20220023437A (en) 2020-08-21 2020-08-21 Methods for Proving Chatting Contents in Chatting Service of SNS Platform

Publications (1)

Publication Number Publication Date
KR20220023437A true KR20220023437A (en) 2022-03-02

Family

ID=80815480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200105153A KR20220023437A (en) 2020-08-21 2020-08-21 Methods for Proving Chatting Contents in Chatting Service of SNS Platform

Country Status (1)

Country Link
KR (1) KR20220023437A (en)

Similar Documents

Publication Publication Date Title
US11646902B2 (en) Methods for requesting and authenticating photographic image data
US20180247385A1 (en) Secure consent management system
US9172681B2 (en) Digital social network trust propagation
US20170180393A1 (en) Confidential message exchange using benign, context-aware cover message generation
US11790100B2 (en) Encryption of cloud-based data
CN110489946B (en) Copyright authentication method, device, equipment and storage medium based on block chain
KR102079892B1 (en) Management of multiple profiles for a single account in an asynchronous messaging system
CN113261024A (en) Method for routing to mesh network content using block chaining techniques
US20190147178A1 (en) Systems and methods for generating previews of content protected by authentication protocols
US20240028755A1 (en) Image and message management and archiving for events
KR20220066823A (en) Blockchain - based phishing prevention system, apparatus, and method thereof
CN111711528A (en) Network conference control method and device, computer readable storage medium and equipment
KR102048618B1 (en) System and method for determining appropriate content for an event content stream
KR102120419B1 (en) Method for providing contents certification in social media service and, server, user device and application implementing the method
JP7247332B2 (en) Systems and methods for transmitting and retrieving messages using blockchain
KR102120418B1 (en) Method for providing mutual certification of contents in social media service and, server, user device and application implementing the method
KR20220023437A (en) Methods for Proving Chatting Contents in Chatting Service of SNS Platform
KR20220022072A (en) Methods for Proving Chatting Contents in Chatting Service of SNS Platform
KR102175806B1 (en) Method for providing contents certification in social media service and, server, user device and application implementing the method
US11140109B2 (en) System and method for transparent communications
CN113243093B (en) System and method for message transmission and retrieval using blockchain
KR102179865B1 (en) Messenger system of mobile for SNS having enhanced function for security
JP4681812B2 (en) Method and apparatus for storing and managing contacts in a distributed collaboration system
US20160072738A1 (en) System and methods for electronic communication between business entities
CN111523142B (en) Data processing method, device, electronic equipment and medium