KR102175806B1 - Method for providing contents certification in social media service and, server, user device and application implementing the method - Google Patents
Method for providing contents certification in social media service and, server, user device and application implementing the method Download PDFInfo
- Publication number
- KR102175806B1 KR102175806B1 KR1020190009500A KR20190009500A KR102175806B1 KR 102175806 B1 KR102175806 B1 KR 102175806B1 KR 1020190009500 A KR1020190009500 A KR 1020190009500A KR 20190009500 A KR20190009500 A KR 20190009500A KR 102175806 B1 KR102175806 B1 KR 102175806B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- token
- information
- messages
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012795 verification Methods 0.000 claims description 37
- 230000005540 biological transmission Effects 0.000 claims description 12
- 101100495835 Oryza sativa subsp. japonica Cht1 gene Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/30—Transportation; Communications
-
- G06Q50/50—
-
- H04L51/16—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Abstract
소셜 미디어 서비스를 제공하는 서버가 대화 내용을 증명하는 방법으로서, 상기 소셜 미디어 서비스를 이용하는 제1 참여자 단말로부터, 채팅방에서 입력된 요청을 받는 단계, 상기 요청에 해당하는 내용을 포함하는 제1 메시지를 상기 채팅방의 참여자 단말들로 전송하는 단계, 그리고 상기 제1 메시지를 챗로그 데이터베이스에 저장하는 단계를 포함한다. 상기 제1 메시지는 메시지 정보 그리고 제1 토큰을 포함한다. 상기 제1 토큰은 상기 제1 메시지 전에 전송된 제2 메시지의 제2 토큰과 상기 제1 메시지의 정보를 이용하여 계산된다.A method in which a server providing a social media service verifies the contents of a conversation, the step of receiving a request input in a chat room from a first participant terminal using the social media service, and sending a first message including a content corresponding to the request And transmitting the first message to the participant terminals of the chat room, and storing the first message in a chat log database. The first message includes message information and a first token. 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.
Description
본 발명은 소셜 미디어 서비스에 관한 것이다.The present invention relates to a social media service.
카카오톡, 트위터, 페이스북, 인스타그램 등 다양한 소셜 미디어 서비스가 존재한다. 사용자는 소셜 미디어 서비스를 통해 상대방과 대화할 수 있고, 자신의 생각을 표현할 수 있다. 사용자는 카카오톡 등의 인스턴트 메시징 서비스를 통해 채팅방에서 친구들과 메시지를 교환한다. There are various social media services such as KakaoTalk, Twitter, Facebook, and Instagram. Users can communicate with others through social media services and can express their thoughts. Users exchange messages with friends in chat rooms through instant messaging services such as KakaoTalk.
지금까지 사용자는 채팅방에서 교환되는 메시지들을 보관하고자 하는 경우, 메시지들이 기록된 채팅방을 지우지 않고 계속 보관하거나, 채팅방을 캡쳐하여 이미지로 보관했다. 채팅방을 계속 유지하는 방법은 대화 내용이 계속 쌓이면 보관 대상인 메시지들을 찾기 어려울 수 있고, 상대방이 채팅방을 나갈 수 있으며, 상대방이 카카오톡을 탈퇴하는 경우, 상대방이 "알수없음"으로 표시되어 상대방 특정이 쉽지 않을 수 있다. 채팅방을 캡쳐하여 이미지로 저장하는 방법은 한 화면씩만 캡쳐되므로, 긴 대화 내용을 일일이 화면 캡쳐하여야 하는 단점이 있다. 또한, 이러한 보관 방법은 메시지 삭제나 이미지 변조가 가능해서, 대화 내용 증명으로서 법적 효력을 부여하는데 한계가 있거나 다툼이 있을 수 있다. Until now, if users wanted to keep messages exchanged in chat rooms, they kept them without deleting the chat rooms in which messages were recorded, or captured chat rooms and kept them as images. As for how to keep the chat room, it may be difficult to find the messages that are to be archived if the chat contents continue to accumulate, the other party can leave the chat room, and if the other party leaves KakaoTalk, the other party is marked as "unknown" and the other party is specific. It may not be easy. The method of capturing a chat room and saving it as an image is capturing only one screen at a time, so there is a disadvantage of requiring screen capture of long conversation contents one by one. In addition, since such a storage method can delete messages or alter images, there may be limitations or disputes in granting legal effect as proof of conversation contents.
또한, 소셜 미디어 서비스를 제공하는 서버는 채팅방에서 교환되는 메시지들을 일정 기간 동안 보관하고 삭제한다. 따라서, 서버 보관 기간이 지난 메시지들에 대해서 서버가 대화 내용을 증명할 수 없는 한계가 있다.In addition, a server providing a social media service stores and deletes messages exchanged in chat rooms for a certain period of time. Therefore, there is a limit that the server cannot prove the contents of the conversation for messages that have passed the server storage period.
본 발명이 해결하고자 하는 과제는 인스턴트 메시징 서비스 등의 소셜 미디어 서비스를 제공하는 서버가 채팅방에서 전송된 메시지마다 내용 및 순서를 증명하는 토큰을 생성하고, 토큰이 부가된 메시지를 채팅방 참여자들 단말로 전송하며, 증명 요청된 메시지들에 포함된 토큰들의 연속성을 검증하여 증명 요청된 메시지들의 무결성을 증명하는 방법을 제공하는 것이다.The problem to be solved by the present invention is that a server providing a social media service such as an instant messaging service generates a token that certifies the content and order of each message transmitted from the chat room, and transmits the message with the token added to the chat room participants' terminals. And, by verifying the continuity of tokens included in the messages requested for verification, it provides a method of verifying the integrity of the messages requested for verification.
또한 본 발명이 해결하고자 하는 과제는 히든 메시지를 통해 채팅방 참여자 증명 및 참여자의 메시지 수신/미수신 증명 방법을 제공하는 것이다.In addition, the problem to be solved by the present invention is to provide a method of verifying a participant in a chat room and verifying a participant's message reception/non-reception through a hidden message.
한 실시예에 따라 소셜 미디어 서비스를 제공하는 서버가 대화 내용을 증명하는 방법으로서, 상기 소셜 미디어 서비스를 이용하는 제1 참여자 단말로부터, 채팅방에서 입력된 요청을 받는 단계, 상기 요청에 해당하는 내용을 포함하는 제1 메시지를 상기 채팅방의 참여자 단말들로 전송하는 단계, 그리고 상기 제1 메시지를 챗로그 데이터베이스에 저장하는 단계를 포함한다. 상기 제1 메시지는 메시지 정보 그리고 제1 토큰을 포함한다. 상기 제1 토큰은 상기 제1 메시지 전에 전송된 제2 메시지의 제2 토큰과 상기 제1 메시지의 정보를 이용하여 계산된다.According to an embodiment, a method for verifying conversation contents by a server providing a social media service, receiving a request input in a chat room from a first participant terminal using the social media service, including content corresponding to the request And transmitting the first message to the chat room to the participant terminals of the chat room, and storing the first message in a chat log database. The first message includes message information and a first token. 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.
상기 제1 메시지의 정보는 메시지 인덱스, 메시지 전송 시각, 메시지 발신자, 메시지 종류, 그리고 메시지 내용의 해쉬값 중 적어도 하나를 포함할 수 있다.The information of the first message may include at least one of a message index, a message transmission time, a message sender, a message type, and a hash value of the message content.
상기 요청은 참여 증명 요청이고, 상기 제1 메시지는 상기 제1 참여자 단말의 참여 증명 정보를 포함하는 히든 메시지이며, 상기 히든 메시지는 상기 채팅방에서 표시되지 않는 메시지일 수 있다.The request is a participation proof request, the first message is a hidden message including participation proof information of the first participant terminal, and the hidden message may be a message that is not displayed in the chat room.
상기 참여 증명 정보는 상기 제2 토큰 또는 상기 제2 토큰을 암호화한 정보를 포함할 수 있다.The participation proof information may include information obtained by encrypting the second token or the second token.
상기 대화 내용 증명 방법은 상기 채팅방의 참여자 단말들 각각의 마지막 수신 메시지 정보를 관리하는 단계를 더 포함할 수 있다.The conversation content verification method may further include managing information on the last received message of each of the participant terminals in the chat room.
상기 대화 내용 증명 방법은, 제2 참여자 단말이 접속한 경우, 상기 제2 참여자 단말의 마지막 수신 메시지를 확인하는 단계, 상기 챗로그 데이터베이스에 저장된 메시지들과 상기 제2 참여자 단말의 마지막 수신 메시지를 비교하고, 미전송 메시지들 중 삭제된 메시지 정보를 추출하는 단계, 그리고 상기 삭제된 메시지 정보를 포함하는 제1 히든 메시지를 전송하는 단계를 포함할 수 있다. 상기 삭제된 메시지 정보는 삭제된 메시지들 중 최신 메시지의 토큰을 포함할 수 있다.The conversation content verification method, when the second participant terminal accesses, confirming the last received message of the second participant terminal, comparing messages stored in the chatlog database with the last received message of the second participant terminal And extracting deleted message information from among untransmitted messages, and transmitting a first hidden message including the deleted message information. The deleted message information may include a token of the latest message among deleted messages.
상기 삭제된 메시지 정보는 상기 제2 참여자 단말이 미수신한 메시지 정보를 더 포함할 수 있다.The deleted message information may further include message information not received by the second participant terminal.
상기 대화 내용 증명 방법은, 상기 제1 히든 메시지를 상기 제2 참여자 단말로 전송한 정보를 포함하는 제2 히든 메시지를 상기 채팅방의 참여자 단말들로 전송하는 단계, 그리고 상기 제2 히든 메시지를 챗로그 데이터베이스에 저장하는 단계를 더 포함할 수 있다.The conversation content verification method includes transmitting a second hidden message including information about transmitting the first hidden message to the second participant terminal to the participant terminals of the chat room, and the second hidden message as a chat log. It may further include storing in the database.
다른 실시예에 따라 소셜 미디어 서비스를 제공하는 서버가 대화 내용을 증명하는 방법으로서, 채팅방의 참여자 단말들로 전송한 메시지들을 챗로그 데이터베이스에 저장하는 단계, 임의 참여자 단말로부터, 특정 메시지들에 대한 무결성 증명 요청을 수신하는 단계, 그리고 증명 요청된 메시지들에 포함된 토큰들과 상기 챗로그 데이터베이스에 저장된 토큰을 기초로 상기 증명 요청된 메시지들의 무결성을 검증하는 단계를 포함한다. 각 메시지는 메시지 정보 그리고 토큰을 포함한다. 상기 토큰은 해당 메시지 이전에 전송된 메시지의 토큰과 해당 메시지의 정보를 이용하여 계산된다.According to another embodiment, as a method of verifying the content of a conversation by a server providing a social media service, storing messages sent to the participant terminals of a chat room in a chatlog database, integrity of specific messages from a random participant terminal Receiving a verification request, and verifying integrity of the verification-requested messages based on tokens included in the verification-requested messages and tokens stored in the chatlog database. Each message contains message information and a token. The token is calculated using the token of the message transmitted before the message and the information of the message.
상기 무결성을 검증하는 단계는 상기 증명 요청된 메시지들에 포함된 메시지 정보 및 토큰을 이용하여 상기 증명 요청된 메시지들의 토큰들이 연속적으로 계산되는지 검증하는 단계, 그리고 상기 증명 요청된 메시지들 중 최신 메시지의 토큰과 상기 챗로그 데이터베이스에 저장된 토큰을 비교하여 상기 증명 요청된 메시지들의 무결성을 검증하는 단계를 포함할 수 있다.The verifying the integrity includes verifying whether tokens of the messages requested for verification are continuously calculated using message information and tokens included in the messages requested for verification, and the latest message among the messages requested for verification It may include comparing the token and the token stored in the chatlog database to verify the integrity of the messages requested for verification.
상기 대화 내용 증명 방법은, 상기 증명 요청된 메시지들 중 특정 참여자의 참여 증명 정보를 포함하는 히든 메시지가 존재하는 경우, 상기 히든 메시지를 기초로 상기 특정 참여자가 채팅방에 참여한 사실을 증명하는 단계를 더 포함할 수 있다.The conversation content verification method further includes the step of verifying that the specific participant participated in the chat room based on the hidden message when a hidden message including participation proof information of a specific participant exists among the messages requested for authentication. Can include.
상기 대화 내용 증명 방법은 상기 증명 요청된 메시지들 중 특정 참여자의 채팅방 나가기 정보를 포함하는 메시지가 존재하는 경우, 상기 특정 참여자가 채팅방을 나간 사실을 증명하는 단계를 더 포함할 수 있다.The conversation content verification method may further include verifying that the specific participant has left the chat room if there is a message including information about leaving the chat room of a specific participant among the messages requested for authentication.
상기 대화 내용 증명 방법은 상기 증명 요청된 메시지들 중 특정 참여자에게 삭제된 메시지 정보를 전송한 히든 메시지가 존재하는 경우, 상기 히든 메시지를 기초로 상기 특정 참여자의 미수신 메시지 정보를 증명하는 단계를 더 포함할 수 있다.The conversation content verification method further includes the step of verifying unreceived message information of the specific participant based on the hidden message when there is a hidden message that has transmitted deleted message information to a specific participant among the messages requested for authentication. can do.
실시예에 따르면, 서버가 증명 요청된 메시지들에 부가된 토큰들의 연속성을 판단하여 증명 요청된 메시지들의 무결성을 검증하므로, 사용자는 채팅방의 대화 내용을 증명하기 위해 화면 저장이나 텍스트 저장 등을 별도로 할 필요 없이, 연속된 메시지들을 선택한 후 서버로 전송함으로써, 채팅방에서 전송된 연속된 메시지들을 증명할 수 있다.According to an embodiment, since the server verifies the integrity of the messages requested for verification by determining the continuity of the tokens added to the messages requested for verification, the user may separately save a screen or save text to prove the content of the chat room. Without the need, by selecting consecutive messages and sending them to the server, it is possible to prove the consecutive messages transmitted in the chat room.
실시예에 따르면, 서버는 채팅방에서 교환되는 최신의 메시지들만을 저장하더라도, 단말에 저장된 메시지들을 증명할 수 있다.According to the embodiment, even if the server stores only the latest messages exchanged in the chat room, it can prove the messages stored in the terminal.
도 1은 한 실시예에 따른 시스템의 구성도이다.
도 2는 한 실시예에 따른 서버와 채팅방 참여자 단말들 사이의 요청 전송 및 메시지 전송을 설명하는 흐름도이다.
도 3은 다른 실시예에 따른 장기 미접속 시 서버와 채팅방 참여자 단말들 사이의 요청 전송 및 메시지 전송을 설명하는 흐름도이다.
도 4은 한 실시예에 따른 대화 내용 증명 방법의 흐름도이다.1 is a block diagram of a system according to an embodiment.
2 is a flowchart illustrating a request transmission and a message transmission between a server and a chat room participant terminals according to an embodiment.
3 is a flowchart illustrating request transmission and message transmission between a server and a chat room participant terminal when a long-term non-connection according to another embodiment.
4 is a flowchart of a method for verifying conversation contents according to an embodiment.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the embodiments of the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated. In addition, terms such as "... unit", "... group", and "module" described in the specification mean units that process at least one function or operation, which can be implemented by hardware or software or a combination of hardware and software. have.
단말은 컴퓨터 판독 가능한 저장 매체에 저장되는 소프트웨어인 어플리케이션, 그리고 프로세서, 메모리, 디스플레이, 통신 모듈 등의 하드웨어를 포함한다. 프로세서는 하드웨어들과 협력하여 어플리케이션을 구동한다. 디스플레이는 어플리케이션에서 제공하는 사용자 인터페이스 화면을 표시하고, 사용자 입력을 수신할 수 있고, 예를 들면 터치 입력을 수신할 수 있다. 통신 모듈은 통신망을 통해 메시징 서버와 통신한다.The terminal includes an application, which is software stored in a computer-readable storage medium, and hardware such as a processor, memory, display, and communication module. The processor runs the application in cooperation with the hardware. The display may display a user interface screen provided by an application, receive a user input, and may receive, for example, a touch input. The communication module communicates with the messaging server through a communication network.
단말은 다양한 형태로 구현될 수 있고, 모바일 단말을 예로 들어 설명하나, 스마트패드와 같은 패드형 단말, 랩탑 컴퓨터 등 각종 형태의 컴퓨터, 웨어러블 디바이스, TV 단말 등의 형태로 구현될 수 있다. The terminal may be implemented in various forms, and described using a mobile terminal as an example, but may be implemented in the form of various types of computers such as a pad-type terminal such as a smart pad, a laptop computer, a wearable device, a TV terminal, and the like.
소셜 미디어 서비스로서 인스턴트 메시징 어플리케이션을 이용한 인스턴트 메시징 서비스를 예로 들어 설명하나, 콘텐츠(텍스트, 이미지, 동영상 등)를 포함하는 메시지가 연속적으로 송수신되는 각종 서비스에서 본 발명이 적용될 수 있음은 당연하다.An instant messaging service using an instant messaging application as a social media service is described as an example, but it is natural that the present invention can be applied to various services in which messages including content (text, images, videos, etc.) are continuously transmitted and received.
도 1은 한 실시예에 따른 시스템의 구성도이다.1 is a block diagram of a system according to an embodiment.
도 1을 참고하면, 소셜 미디어 어플리케이션을 설치한 단말들(100, 110, 120)은 서버(200)에 접속하여 소셜 미디어 어플리케이션에서 제공하는 기능들을 이용한다. Referring to FIG. 1,
소셜 미디어 어플리케이션으로서 인스턴트 메시징 어플리케이션을 예로 들어 설명하고, 서버(200)는 메시징 서버라고 부른다. 인스턴트 메시징 어플리케이션은 채팅방을 개설하고, 채팅방에서 참여자들이 메시지들을 교환하는 인터페이스 화면을 제공하고, 본 발명에서 설명하는 바에 따라 대화 내용 증명 서비스를 제공하는 프로그램이다. 인스턴트 메시징 어플리케이션은 사용자가 대화 내용을 편리하게 증명 요청하는 메시지들을 선택하는 인터페이스 화면을 제공하고, 서버에 의해 증명된 메시지들을 공유하는 인터페이스 화면을 제공한다. An instant messaging application will be described as an example as a social media application, and the
본 발명에서 "증명"은 연속 메시지들의 내용 및 순서가 변조되지 않았다는 무결성 증명, 채팅방 참여자 증명, 그리고 메시지 수신 증명을 포함한다. 채팅방 참여자 증명은 무결성 증명된 메시지들이 교환되는 당시에 채팅방 참여자임을 증명한다. 메시지 수신 증명은 무결성 증명된 메시지들을 채팅방 참여자가 수신한 것인지 또는 일부를 수신한 것인지를 증명한다. 예를 들어, 어느 채팅방 참여자는 특별한 사유(예를 들면, 출장으로 인한 단말의 비행기 모드 상태, 국가별 특정 어플리케이션 비활성화 처리 정책, 분실 등)로 메시지를 수신하지 못하였다는 것을 증명하고, 이를 통해 상대방으로부터 계약 변경 사실을 고지받지 못했음을 증명할 수 있다.In the present invention, "proof" includes proof of integrity that the contents and order of consecutive messages have not been altered, proof of chat room participant, and proof of message reception. The chat room participant authentication proves that the chat room participant is at the time when messages with verified integrity are exchanged. The message proof of receipt proves whether the chat room participant has received or partially received messages whose integrity has been verified. For example, a participant in a chat room proves that he did not receive a message due to a special reason (e.g., the terminal's airplane mode status due to a business trip, country specific application deactivation processing policy, loss, etc.), and through this It can be proved that it has not been notified of the change of the contract from
설명을 위해, 단말A(100)는 Aiden 단말, 단말B(110)는 Brian 단말, 단말C(120)는 Cindy 단말이고, Aiden, Brian, Cindy가 채팅방의 참여자라고 가정한다.For explanation, it is assumed that
채팅방의 참여자 단말들(100, 110, 120)이 채팅방에서 입력된 요청(request)을 서버(200)로 전송하고, 서버(200)는 채팅방의 참여자 단말들(100, 110, 120)로 요청에 해당하는 메시지를 전송한다.
서버(200)는 채팅방 개설 요청, 참여자 초대 요청, 참여자 나가기 요청, 메시지 추가 요청을 수신하고, 채팅방 참여자 단말들(100, 110, 120)로 채팅방 개설 알림 메시지, 참여자 초대 알림 메시지, 참여자 나가기 알림 메시지, 대화 내용에 해당하는 콘텐츠 메시지를 전송한다. 서버(200)는 채팅방 개설, 참여자 초대, 참여자 나가기 등을 나타내는 상태 메시지, 그리고 참여자들이 입력한 콘텐츠 메시지의 챗로그(Chatlog)를 챗로그 데이터베이스에 순서대로 저장한다. 또한, 서버(200)는 대화 내용 증명 서비스를 위해 채팅방에 표시되지 않고 서버나 단말 사이에서 전송되는 메시지의 챗로그를 챗로그 데이터베이스에 순서대로 저장한다. 채팅방에 표시되지 않고 서버나 단말 사이에서 전송되는 메시지를 “히든 메시지”라고 부를 수 있다.The
서버(200)는 채팅방별로 챗로그를 기록하고, 챗로그는 메시지별로 표 1과 같은 항목으로 기록될 수 있다. 표 1에서 사용되는 값은 변경될 수 있다. 참여자 단말들 역시, 서버(200)로부터 수신한 메시지들을 로컬 저장소에 기록한다. 표 1에서 토큰은 메시지 내용 해쉬값을 이용해 생성될 수 있다.The
예를 들면, 0001, 0002, 0003과 같이 단조 증가함As the message number in the chat room, a sequentially increasing value is assigned,
Monotonically increasing, for example, 0001, 0002, 0003
2: Join(참여자 초대 알림 메시지)
3: Leave(참여자 나가기 알림 메시지)
100: Text(입력 메시지)
101: Attachment(첨부파일)1: Reinit (chat room opening notification message)
2: Join (participant invitation notification message)
3: Leave (Notification of leaving the participant)
100: Text (input message)
101: Attachment
-2: Missing(서버가 메시지 미수신 단말로 미수신 메시지 토큰을 전송하는 메시지)
-3: MissingNoti(서버가 메시지 미수신 단말로 Missing 메시지를 전송한 사실을 다른 참여자 단말에게 알리는 메시지)-1: Sign (a message from the server notifying the chat room participant participation status)
-2: Missing (message in which the server transmits an unreceived message token to a terminal that has not received a message)
-3: MissingNoti (message informing other participant terminals that the server sent a Missing message to the terminal that did not receive the message)
예를 들면, N번째 메시지 토큰 = hash(N-1번째 메시지 토큰 xor N번째 메시지 정보)The token of the Nth message is the hash value of the token of the N-1th message and the information of the Nth message (for example, at least one of index, time, sender, message type, content hash value),
For example, Nth message token = hash (N-1th message token xor Nth message information)
서버(200)는 최근 일정 기간 동안의 챗로그를 저장한다고 가정하고, 예를 들면, 최근 3일 동안에 수신한 메시지들을 저장하고, 보관 기간이 지난 메시지들은 삭제한다고 가정한다. 이때, 보관 기간이 지난 메시지들이 삭제되면, 미보관 메시지들에 대한 증명을 할 수 없으므로, 서버(200)는 보관 기간이 지난 메시지들을 삭제하더라도, 삭제 메시지들의 토큰을 일정 기간 동안 별도 저장할 수 있다. 또는, 서버(200)는 일정 주기(예를 들면, 1일)마다 적어도 하나의 토큰을 별도 저장하고, 이를 통해 보관 기간이 지난 메시지들이 삭제되더라도 별도 저장된 토큰으로 무결성 증명 요청된 메시지들을 검증할 수 있다. It is assumed that the
서버(200)는 채팅방의 참여자별로 마지막 수신 메시지 정보를 관리한다. 마지막 수신 메시지 정보는 마지막 수신 메시지의 인덱스나 마지막 수신 메시지의 토큰일 수 있으나, 설명에서는 인덱스라고 가정한다. 모든 참여자들이 마지막 메시지를 확인한 경우, 참여자별 마지막 수신 메시지는 동일하다. 하지만, Brian이 특정 사유로 인해 메시지를 수신하지 못하는 경우, 참여자별 마지막 수신 메시지 정보가 다를 수 있다.The
서버(200)는 참여자 단말들(100, 110, 120) 각각으로부터 주기적으로 참여 증명 정보를 수신한다. 서버(200)는 참여 증명 정보를 포함하는 Sign 메시지를 참여자 단말들(100, 110, 120)로 전송한다. Sign 메시지는 참여자가 채팅방에 있음을 증명하는 참여 증명 메시지이다. Sign 메시지의 내용은 참여자 증명 정보를 포함하되, 채팅방에 표시되지 않는 히든 메시지이다. 참여자 증명 정보는 예를 들면, 이전 메시지 토큰을 참여자의 비밀키로 암호화한 정보일 수 있다.The
서버(200)는 메시지 미수신 단말로 미수신 메시지 토큰을 포함하는 Missing 메시지를 전송할 수 있다. Missing 메시지는 메시지를 수신하지 못한 단말의 토큰 연속성을 보완하기 위한 메시지로서, 메시지 내용은 최신 미수신 메시지의 토큰을 포함한다. 예를 들어, Brian이 서버 보관 기간보다 장기간 동안 채팅방에 미접속한 경우, 단말B(110)는 서버 보관 기간을 경과하여 삭제된 메시지들을 수신하지 못한다. 이 경우, 미수신 메시지로 인해 단말B(110)의 챗로그는 토큰 연속성이 깨진다. 따라서, 서버(200)는 삭제된 메시지를 전송할 수는 없으므로, Missing 메시지를 통해 장기 미수신 정보를 기록하고, 최신 미수신 메시지의 토큰을 전달한다. 단말B(110)는 Missing 메시지를 챗로그에 기록한다. The
서버(200)는 단말B(110)로 Missing 메시지를 전송한 사실을 다른 참여자 단말에게 알리는 MissingNoti 메시지를 전송할 수 있다. MissingNoti 메시지는 Missing 메시지와 동일한 내용을 포함할 수 있다. The
다음에서, 서버(200)와 채팅방의 참여자 단말들(100, 110, 120)이 메시지를 송수신하고, 챗로그를 기록하는 방법을 설명한다.In the following, a method of transmitting and receiving a message between the
도 2는 한 실시예에 따른 서버와 채팅방 참여자 단말들 사이의 요청 전송 및 메시지 전송을 설명하는 흐름도이다.2 is a flowchart illustrating a request transmission and a message transmission between a server and a chat room participant terminals according to an embodiment.
도 2를 참고하면, 단말A(100)가 서버(200)로 채팅방 개설을 요청한다(S110). 채팅방 개설 요청은 참여자 정보를 포함한다.Referring to FIG. 2, the
서버(200)는 채팅방 개설 요청에 따라 개설한 채팅방 개설 정보를 포함하는 메시지를 각 참여자 단말로 전송하고, 표 2와 같이 전송한 메시지들을 챗로그 데이터베이스에 기록한다(S120). 전송과 기록의 순서는 바뀌거나 동시에 진행될 수 있는데, 전송한 메시지를 챗로그 데이터베이스에 기록(저장)한다고 설명한다. 서버(200)는 표 1의 항목(인덱스:시각:발신자:종류:내용:해쉬값:토큰)으로 구성된 메시지의 챗로그를 표 2와 같이 기록한다. 서버(200)는 참여자별 마지막 수신 메시지 정보를 채팅방 정보로 관리한다.The
0001:시각1:Server:2(Join):{A}:ContentHash1=hash({A}):Token1
0002:시각2:Server:2(Join):{B}:ContentHash2=hash({B}):Token2
0003:시각3:Server:2(Join):{C}:ContentHash3=hash({C}):Token30000:Time 0:Server:1(Reinit):--:ContentHash0:Token0
0001:Time1:Server:2(Join):{A}:ContentHash1=hash({A}):Token1
0002:Time2:Server:2(Join):{B}:ContentHash2=hash({B}):Token2
0003:Time3:Server:2(Join):{C}:ContentHash3=hash({C}):Token3
각 메시지의 토큰은 이전 메시지 토큰을 이용하여 계산된다. 토큰값을 연산하는 방법은 다양할 수 있고, 본 발명에서는 “xor” 연산을 예로 들어 설명한다. 예를 들면, Token0은 hash(0000+시각0+Server+1+ContentHash0)으로 계산될 수 있다. Token1은 hash(Token0 xor (0001+시각1+Server+2+ContentHash1))으로 계산될 수 있다. Token2는 hash(Token1 xor (0002+시각2+Server+2+ContentHash2))으로 계산될 수 있다. Token3은 hash(Token2 xor (0003+시각3+Server+2+ContentHash3))으로 계산될 수 있다.Each message's token is calculated using the previous message token. The method of calculating the token value may be various, and in the present invention, the “xor” operation will be described as an example. For example, Token0 can be calculated as hash(0000+time 0+Server+1+ContentHash0). Token1 can be calculated as hash(Token0 xor (0001+time 1+Server+2+ContentHash1)). Token2 can be calculated as hash(Token1 xor (0002+time 2+Server+2+ContentHash2)). Token3 can be calculated as hash(Token2 xor (0003+time 3+Server+2+ContentHash3)).
참여자들이 채팅방에서 대화 내용을 입력한다.Participants enter conversation content in the chat room.
예를 들어, 단말A(100)는 채팅방에서 "안녕하세요"가 입력되면, 입력 내용을 포함하는 메시지 추가요청[예를 들면, AddMsg(100(Text), "안녕하세요")]을 서버(200)로 전송한다(S130). For example, when "Hello" is input in a chat room,
서버(200)는 메시지 추가요청에 해당하는 메시지(인덱스 0004)를 각 참여자 단말로 전송하고, 표 3과 같이 전송한 메시지(인덱스 0004)를 챗로그 데이터베이스에 기록한다(S132). 각 참여자 단말로 전송된 메시지는 Token4를 포함하고, Token4는 hash(Token3 xor (0004+시각4+A+100+ContentHash4))으로 계산될 수 있다.The
이후, 단말B(110)는 채팅방에서 "반가워요"가 입력되면, 입력 내용을 포함하는 메시지 추가요청[예를 들면, AddMsg(100(Text), "반가워요")]을 서버(200)로 전송한다(S140). Thereafter, when "nice to meet you" is input in the chat room, the
서버(200)는 메시지 추가요청에 해당하는 메시지(인덱스 0005)를 각 참여자 단말로 전송하고, 표 3과 같이 전송한 메시지(인덱스 0005)를 챗로그 데이터베이스에 기록한다(S142). 각 참여자 단말로 전송된 메시지는 Token5를 포함하고, Token5는 hash(Token4 xor (0005+시각5+B+100+ContentHash5))으로 계산될 수 있다.The
단말C(120)는 채팅방에서 그림파일이 입력되면, 입력 내용을 포함하는 메시지 추가요청[예를 들면, AddMsg(101(Attachment), {그림파일})]을 서버(200)로 전송한다(S150). When a picture file is input in the chat room, the
서버(200)는 메시지 추가요청에 해당하는 메시지(인덱스 0006)를 각 참여자 단말로 전송하고, 표 3과 같이 전송한 메시지(인덱스 0006)를 챗로그 데이터베이스에 기록한다(S152). 각 참여자 단말로 전송된 메시지는 Token6을 포함하고, Token6은 hash(Token5 xor (0006+시각6+C+101+ContentHash6))으로 계산될 수 있다. The
참여자들이 채팅방에서 대화 내용을 입력한 이후, 표 2의 챗로그 데이터베이스는 표 3과 같이 갱신된다. 각 메시지의 토큰은 이전 메시지 토큰을 이용하여 계산된다. 서버(200)는 참여자별 마지막 수신 메시지 정보를 채팅방 정보로 관리한다.After the participants input the content of the conversation in the chat room, the chatlog database in Table 2 is updated as shown in Table 3. Each message's token is calculated using the previous message token. The
0001:시각1:Server:2(Join):{A}:ContentHash1=hash({A}):Token1
0002:시각2:Server:2(Join):{B}:ContentHash2=hash({B}):Token2
0003:시각3:Server:2(Join):{C}:ContentHash3=hash({C}):Token3
0004:시각4:A:100(text):안녕하세요:ContentHash4=hash(안녕하세요):Token4
0005:시각5:B:100(text):반가워요:ContentHash5=hash(반가워요):Token5
0006:시각6:C:101(Attach.):{그림파일}:ContentHash6=hash({그림파일}):Token60000:Time 0:Server:1(Reinit):--:ContentHash0:Token0
0001:Time1:Server:2(Join):{A}:ContentHash1=hash({A}):Token1
0002:Time2:Server:2(Join):{B}:ContentHash2=hash({B}):Token2
0003:Time3:Server:2(Join):{C}:ContentHash3=hash({C}):Token3
0004:Time4:A:100(text):Hello:ContentHash4=hash(Hello):Token4
0005:Time5:B:100(text):nice to meet you:ContentHash5=hash(nice to meet you):Token5
0006:Time 6:C:101(Attach.):{Picture File}:ContentHash6=hash({Picture File}):Token6
참여자 단말들(100, 110, 120) 각각은 주기적으로 참여 증명 요청을 서버(200)로 전송한다. 참여 증명 요청은 채팅방에 참여 중임을 증명하는 용도로 발신되고, 어플리케이션에서 주기적으로 발신될 수 있다. 단말A(100), 단말B(110), 단말C(120) 순서로 참여 증명 요청을 서버(200)로 전송한다고 가정한다.Each of the
예를 들어, 단말A(100)가 참여 증명 요청(예를 들면, addMsg(-1(sign), [Encode(Token6, 비밀키A)])을 서버(200)로 전송한다(S160). 참여 증명 요청은 참여자 증명 정보를 포함할 수 있고, 예를 들면, 이전 메시지 토큰(Token6)을 Aiden의 비밀키로 암호화한 정보[Encode(Token6, 비밀키A)]일 수 있다. For example, the terminal A100 transmits a participation proof request (eg, addMsg(-1(sign), [Encode(Token6, secret key A)]) to the server 200 (S160). The authentication request may include participant authentication information, and may be, for example, information [Encode(Token6, private key A)] of the previous message token (Token6) encrypted with Aiden's private key.
서버(200)는 단말A(100)의 참여 증명 요청에 해당하는 Sign 메시지(인덱스 0007)를 각 참여자 단말로 전송하고, 표 4와 같이 전송한 Sign 메시지(인덱스 0007)를 챗로그 데이터베이스에 기록한다(S162). 각 참여자 단말로 전송된 Sign 메시지는 참여자 증명 정보를 및 Token7을 포함하고, Token7은 이전 메시지 토큰인 Token6을 이용하여 계산된다.The
이후, 다른 단말에서도 동일하게 참여 증명 요청을 전송하고, 서버(200)가 참여 증명 요청에 해당하는 Sign 메시지를 각 참여자 단말로 전송한다. Thereafter, the other terminal also transmits the participation proof request in the same manner, and the
구체적으로, 단말B(110)가 Sign 메시지(인덱스 0007)를 수신한 이후, 참여 증명 요청을 서버(200)로 전송하는데, 이전 메시지 토큰(Token7)을 Brian의 비밀키로 암호화한 정보[Encode(Token7, 비밀키B)]를 참여자 증명 정보로 전송한다. 서버(200)는 단말B(110)의 참여 증명 요청에 해당하는 Sign 메시지(인덱스 0008)를 각 참여자 단말로 전송하고, 표 4와 같이 전송한 Sign 메시지(인덱스 0008)를 챗로그 데이터베이스에 기록한다. Specifically, after the
단말C(120)가 sign 메시지(인덱스 0008)를 수신한 이후, 참여 증명 요청을 서버(200)로 전송하는데, 이전 메시지 토큰(Token8)을 Cindy의 비밀키로 암호화한 정보[Encode(Token8, 비밀키C)]를 참여자 증명 정보로 전송한다. 서버(200)는 단말C(120)의 참여 증명 요청에 해당하는 Sign 메시지(인덱스 0009)를 각 참여자 단말로 전송하고, 표 4와 같이 전송한 Sign 메시지(인덱스 0009)를 챗로그 데이터베이스에 기록한다. 서버(200)는 참여자별 마지막 수신 메시지 정보를 채팅방 정보에서 갱신한다. After the
0001:시각1:Server:2(Join):{A}:ContentHash1=hash({A}):Token1
0002:시각2:Server:2(Join):{B}:ContentHash2=hash({B}):Token2
0003:시각3:Server:2(Join):{C}:ContentHash3=hash({C}):Token3
0004:시각4:A:100(text):안녕하세요:ContentHash4=hash(안녕하세요):Token4
0005:시각5:B:100(text):반가워요:ContentHash5=hash(반가워요):Token5
0006:시각6:C:101(Attach.):{그림파일}:ContentHash6=hash({그림파일}):Token6
0007:시각7:A:-1(Sign):Encode(Token6, 비밀키A):ContentHash7:Token7
0008:시각8:B:-1(Sign):Encode(Token7, 비밀키B):ContentHash8:Token8
0009:시각9:C:-1(Sign):Encode(Token8, 비밀키C):ContentHash9:Token90000:Time 0:Server:1(Reinit):--:ContentHash0:Token0
0001:Time1:Server:2(Join):{A}:ContentHash1=hash({A}):Token1
0002:Time2:Server:2(Join):{B}:ContentHash2=hash({B}):Token2
0003:Time3:Server:2(Join):{C}:ContentHash3=hash({C}):Token3
0004:Time4:A:100(text):Hello:ContentHash4=hash(Hello):Token4
0005:Time5:B:100(text):nice to meet you:ContentHash5=hash(nice to meet you):Token5
0006:Time 6:C:101(Attach.):{Picture File}:ContentHash6=hash({Picture File}):Token6
0007:Time 7:A:-1(Sign):Encode(Token6, secret key A):ContentHash7:Token7
0008:Time 8:B:-1(Sign):Encode(Token7, secret key B):ContentHash8:Token8
0009:Time 9:C:-1(Sign):Encode(Token8, secret key C):ContentHash9:Token9
단말C(120)가 채팅방 나가기 요청(예를 들면, addMsg(3(Leave), [Encode(Token9, 비밀키C)])을 서버(200)로 전송한다(S170). 채팅방 나가기 요청은 예를 들면, 이전 메시지 토큰(Token9)을 Cindy의 비밀키로 암호화한 정보[Encode(Token9, 비밀키C)]를 포함할 수 있다.
서버(200)는 단말C(120)의 채팅방 나가기 요청에 해당하는 메시지(인덱스 0010)를 각 참여자 단말로 전송하고, 표 5와 같이 전송한 메시지(인덱스 0010)를 챗로그 데이터베이스에 기록한다(S172). 채팅방 나가기 알림 메시지는 참여자 증명에 사용될 수 있다.The
0001:시각1:Server:2(Join):{A}:ContentHash1=hash({A}):Token1
0002:시각2:Server:2(Join):{B}:ContentHash2=hash({B}):Token2
0003:시각3:Server:2(Join):{C}:ContentHash3=hash({C}):Token3
0004:시각4:A:100(text):안녕하세요:ContentHash4=hash(안녕하세요):Token4
0005:시각5:B:100(text):반가워요:ContentHash5=hash(반가워요):Token5
0006:시각6:C: 101(Attach.):{그림파일}:ContentHash6=hash({그림파일}):Token6
0007:시각7:A:-1(Sign):Encode(Token6, 비밀키A):ContentHash7:Token7
0008:시각8:B:-1(Sign):Encode(Token7, 비밀키B):ContentHash8:Token8
0009:시각9:C:-1(Sign):Encode(Token8, 비밀키C):ContentHash9:Token9
0010:시각10:C:3(Leave):Encode(Token9, 비밀키C):ContentHash10:Token100000:Time 0:Server:1(Reinit):--:ContentHash0:Token0
0001:Time1:Server:2(Join):{A}:ContentHash1=hash({A}):Token1
0002:Time2:Server:2(Join):{B}:ContentHash2=hash({B}):Token2
0003:Time3:Server:2(Join):{C}:ContentHash3=hash({C}):Token3
0004:Time4:A:100(text):Hello:ContentHash4=hash(Hello):Token4
0005:Time5:B:100(text):nice to meet you:ContentHash5=hash(nice to meet you):Token5
0006:Time6:C:101(Attach.):{picture file}:ContentHash6=hash({picturefile}):Token6
0007:Time 7:A:-1(Sign):Encode(Token6, secret key A):ContentHash7:Token7
0008:Time 8:B:-1(Sign):Encode(Token7, secret key B):ContentHash8:Token8
0009:Time 9:C:-1(Sign):Encode(Token8, secret key C):ContentHash9:Token9
0010:Time 10:C:3(Leave):Encode(Token9, secret key C):ContentHash10:Token10
서버(200)는 일정 시간이 지나면, 표 6과 같이 서버 보관 기간을 경과한 메시지들(인덱스 0000-0014)을 삭제하고, 최신 메시지들(인덱스 0015)만을 저장할 수 있다. 만약, Brian이 서버 보관 기간보다 장기간 동안 채팅방에 미접속한 경우, 단말B(110)는 메시지(인덱스 0010)가 최근 수신 메시지로 기록될 수 있다.After a predetermined time elapses, the
이렇게, Brian이 서버 보관 기간보다 장기간 동안 채팅방에 미접속한 경우, 단말B(110)는 메시지(인덱스 0010)를 수신한 이후, 서버 보관 기간이 경과하여 삭제된 메시지(인덱스 0011부터 0014)를 수신하지 못하고, 메시지(인덱스 0015)부터 수신할 수 있다. In this way, if Brian does not access the chat room for a longer period of time than the server storage period,
메시지(인덱스 0010)와 메시지(인덱스 0015) 사이에 유실된 메시지들로 인해, 메시지(인덱스 0010)의 토큰 Token10과 메시지(인덱스 0015)의 Token15의 연속성이 깨진다. 즉, Token15는 Token14로부터 계산된 값이기 때문이다. Due to the lost messages between the message (index 0010) and the message (index 0015), the continuity of the token Token10 of the message (index 0010) and the Token15 of the message (index 0015) is broken. That is, because Token15 is a value calculated from Token14.
다음에서, 메시지를 수신하지 못한 단말의 토큰 연속성을 보완하기 위한 방법에 대해 설명한다.In the following, a method for supplementing token continuity of a terminal that has not received a message will be described.
도 3은 다른 실시예에 따른 장기 미접속 시 서버와 채팅방 참여자 단말들 사이의 요청 전송 및 메시지 전송을 설명하는 흐름도이다.3 is a flowchart illustrating request transmission and message transmission between a server and a chat room participant terminal when a long-term non-connection according to another embodiment.
도 3을 참고하면, 단말B(110)이 서버(200)에 접속한다(S210).Referring to FIG. 3,
서버(200)는 채팅방 정보에서 단말B(110)의 마지막 수신 메시지 정보(인덱스 0010)를 확인한다(S220).The
서버(200)는 챗로그 데이터베이스(표 6)에 저장된 메시지들과 단말B(110)의 마지막 수신 메시지를 비교하여 미전송 메시지들을 추출한다(S222). 미전송 메시지들 중에는 이미 삭제된 메시지, 예를 들면, 메시지(인덱스 0011)부터 메시지(인덱스 0014)가 포함될 수 있다.The
서버(200)는 토큰 연속성 정보 및 메시지 미수신 정보를 포함하는 Missing 메시지를 단말B(110)로 전송한다(S230). Missing 메시지는 Brian이 수신한 메시지 정보(서버 인덱스 및 토큰), 토큰 연속성 정보(미수신 메시지 인덱스 및 토큰)을 포함할 수 있다.The
서버(200)는 챗로그 데이터베이스(표 6)에 저장된 메시지(메시지 0015)를 단말B(110)로 전송한다(S232). 또는, 서버(200)가 순서와 무관하게 Missing 메시지와 저장된 메시지(인덱스 0015)를 단말B(110)로 전송하고, 단말B(110)이 챗로그 저장 시 메시지 순서를 수정할 수 있다.The
서버(200)는 단말B(110)로 Missing 메시지를 전송한 사실을 다른 참여자 단말이 알 수 있도록, 참여자 단말들에게 MissingNoti 메시지를 전송하고, 챗로그 데이터베이스에 MissingNoti 메시지를 기록한다(S240). MissingNoti 메시지의 내용은 Missing 메시지의 내용을 포함하여, 다른 참여자들이 Missing 메시지의 내용을 알 수 있도록 한다.The
서버(200)의 챗로그 데이터베이스는 표 7과 같다.The chatlog database of the
0016:시각16:Server:-3(MissingNoti): {B, 10:Token10, 14:Token14}:CH16:Token16 0015:Time 15:A:-1(Sign): Encode(Token14, Secret Key A):CH15:Token15
0016:Time 16:Server:-3(MissingNoti): {B, 10:Token10, 14:Token14}:CH16:Token16
단말A(100)의 챗로그 데이터베이스는 표 8과 같다.The chat log database of
0001:시각1:Server:2(Join):{A}:CH1:Token1
0002:시각2:Server:2(Join):{B}:CH2:Token2
0003:시각3:Server:2(Join):{C}:CH3:Token3
0004:시각4:A:100(text):안녕하세요:CH4:Token4
0005:시각5:B:100(text):반가워요:CH5:Token5
0006:시각6:C:101(Attach.):{그림파일}:CH6:Token6
0007:시각7:A:-1(Sign):Encode(Token6, 비밀키A):CH7:Token7
0008:시각8:B:-1(Sign):Encode(Token7, 비밀키B):CH8:Token8
0009:시각9:C:-1(Sign):Encode(Token8, 비밀키C):CH9:Token9
0010:시각10:C:3(Leave):Encode(Token9, 비밀키C):CH10:Token10
0011:시각11:A:100(text):재미난 사진이네요:CH11:Token11
0012:시각12:A:100(text):오늘 날씨 좋네요:CH12:Token12
0013:시각13:B:100(text):네:CH13:Token13
0014:시각14:B:100(text):그런데 오후에 비가 온데요:CH14:Token14
0015:시각15:A:-1(Sign):Encode(Token14, 비밀키A):CH15:Token15
0016:시각16:Server:-3(MissingNoti):{B, 10:Token10, 14:Token14}:CH16:Token16 0000:Time 0:Server:1(Reinit):--:CH0:Token0
0001:Time 1: Server:2(Join):{A}:CH1:Token1
0002:Time2:Server:2(Join):{B}:CH2:Token2
0003:Time3:Server:2(Join):{C}:CH3:Token3
0004:Time4:A:100(text):Hello:CH4:Token4
0005:Time5:B:100(text):nice to see you:CH5:Token5
0006:Time 6:C:101(Attach.):{Picture File}:CH6:Token6
0007:Time 7:A:-1(Sign):Encode(Token6, secret key A):CH7:Token7
0008:Time 8:B:-1(Sign):Encode(Token7, secret key B):CH8:Token8
0009:Time 9:C:-1(Sign):Encode(Token8, secret key C):CH9:Token9
0010:Time 10:C:3(Leave):Encode(Token9, Secret key C):CH10:Token10
0011:Time 11:A:100(text):This is an interesting photo:CH11:Token11
0012:Time 12:A:100(text):The weather is nice today:CH12:Token12
0013:Time 13:B:100(text):Yes:CH13:Token13
0014:Time 14:B:100(text): But it rains in the afternoon: CH14:Token14
0015:Time 15:A:-1(Sign):Encode(Token14, Secret Key A):CH15:Token15
0016:Time 16:Server:-3(MissingNoti):{B, 10:Token10, 14:Token14}:CH16:Token16
단말B(110)의 챗로그 데이터베이스는 표 9와 같다.The chat log database of
0001:시각1:Server:2(Join):{A}:CH1:Token1
0002:시각2:Server:2(Join):{B}:CH2:Token2
0003:시각3:Server:2(Join):{C}:CH3:Token3
0004:시각4:A:100(text):안녕하세요:CH4:Token4
0005:시각5:B:100(text):반가워요:CH5:Token5
0006:시각6:C:101(Attach.):{그림파일}:CH6:Token6
0007:시각7:A:-1(Sign):Encode(Token6, 비밀키A):CH7:Token7
0008:시각8:B:-1(Sign):Encode(Token7, 비밀키B):CH8:Token8
0009:시각9:C:-1(Sign):Encode(Token8, 비밀키C):CH9:Token9
0010:시각10:C:3(Leave):Encode(Token9, 비밀키C):CH10:Token10
0011:시각11:Server:-2(Missing):{B, 10:Token10, 14:Token14}:CH11:Nil
0015:시각15:A:-1(Sign):Encode(Token14, 비밀키A):CH15:Token15
0016:시각16:Server:-3(MissingNoti):{B, 10:Token10, 14:Token14}:CH16:Token16 0000:Time 0:Server:1(Reinit):--:CH0:Token0
0001:Time 1: Server:2(Join):{A}:CH1:Token1
0002:Time2:Server:2(Join):{B}:CH2:Token2
0003:Time3:Server:2(Join):{C}:CH3:Token3
0004:Time4:A:100(text):Hello:CH4:Token4
0005:Time5:B:100(text):nice to see you:CH5:Token5
0006:Time 6:C:101(Attach.):{Picture File}:CH6:Token6
0007:Time 7:A:-1(Sign):Encode(Token6, secret key A):CH7:Token7
0008:Time 8:B:-1(Sign):Encode(Token7, secret key B):CH8:Token8
0009:Time 9:C:-1(Sign):Encode(Token8, secret key C):CH9:Token9
0010:Time 10:C:3(Leave):Encode(Token9, Secret key C):CH10:Token10
0011:Time 11:Server:-2(Missing):{B, 10:Token10, 14:Token14}:CH11:Nil
0015:Time 15:A:-1(Sign):Encode(Token14, Secret Key A):CH15:Token15
0016:Time 16:Server:-3(MissingNoti):{B, 10:Token10, 14:Token14}:CH16:Token16
도 4은 한 실시예에 따른 대화 내용 증명 방법의 흐름도이다.4 is a flowchart of a method for verifying conversation contents according to an embodiment.
도 4를 참고하면, 단말A(100)가 자신이 저장하고 있는 메시지들을 선택하고, 서버(200)로 무결성 증명을 요청한다(S310). 증명 요청된 메시지들은 예를 들면, 표 8의 메시지(인덱스 0006)부터 메시지(인덱스 0016)라고 한다. 무결성 증명 요청은 채팅방 참여자 단말뿐만 아니라, 증명 요청된 메시지들을 전송할 수 있는 다양한 장치들에서 전송될 수 있다.Referring to FIG. 4,
서버(200)는 증명 요청된 메시지들에 포함된 토큰들의 토큰 연속성을 검증한다(S320). 이때, 서버(200)는 전송된 각 메시지의 토큰이 메시지 내용으로부터 생성된 것인지 토큰 무결성을 확인하면서, 토큰 연속성을 단계적으로 검증할 수 있다. 토큰 연속성이 부정된 경우, 메시지 위변조가 있는 것이므로, 서버(200)는 증명 요청된 메시지들의 무결성 검증 실패를 전송한다.The
서버(200)는 토큰 연속성이 확인된 경우, 증명 요청된 메시지들의 최신 메시지의 토큰(Token16)과 챗로그 데이터베이스에 저장된 해당 메시지의 토큰(Token16)을 비교한다(S330).When the token continuity is confirmed, the
서버(200)는 단말로부터 수신한 최신 메시지 토큰과 저장된 메시지 토큰의 비교 결과를 기초로, 증명 요청된 메시지들의 무결성을 검증한다(S340). 단계(S320)과 단계(S330)의 순서는 변경될 수 있다.The
서버(200)는 증명 요청된 메시지들에 대한 무결성 검증 결과를 단말A(100)로 전송한다(S350).The
즉, 서버(200)는 증명 요청된 메시지들의 Token6과 메시지(인덱스 0007)의 정보(0007:시각7:A:-1(Sign):CH7)를 이용하여 Token7이 계산되는지 확인하고, Token7와 다음 메시지(인덱스 0008)의 정보를 이용하여 Token8이 계산되는지 확인해 나가면서, 증명 요청된 마지막 메시지(인덱스 0016)의 토큰값(Token16)을 도출한다. 단말에서 메시지 내용이 위변조 되더라도, 토큰값이 변경되지 않으므로, 서버(200)는 메시지 내용으로부터 해당 메시지의 토큰이 생성되는지 확인하는 것이다. 만약, 토큰들의 연속성이 깨진다면, 메시지 위변조가 있는 것이므로, 서버(200)는 증명 요청된 메시지들의 무결성을 부정한다. 서버(200)는 토큰 연속성이 확인된 토큰값(Token16)에 대해서, 저장된 메시지(인덱스 0016)의 토큰(Token16)을 비교하여 증명 요청된 메시지들의 무결성을 검증할 수 있다. That is, the
서버(200)는 토큰 연속성을 검증하면서, MissingNoti 메시지를 발견하고, 이를 통해 Brian이 메시지(인덱스 0010)까지 수신하고, 메시지(인덱스 0011)부터 메시지(인덱스 0014)까지 미수신한 사실을 확인할 수 있다. 서버(200)는 토큰 연속성을 검증하면서, Cindy가 메시지(인덱스 0009)까지 수신하고, 채팅방을 나간 사실을 확인할 수 있다.While verifying the token continuity, the
단말B(110)가 자신이 저장하고 있는 메시지들을 선택하고, 서버(200)로 무결성 증명을 요청하는 것도 동일하게 진행된다. 표 9를 참고하면, 서버(200)는 단말B(110)에 기록된 Missing 메시지를 통해 유실된 메시지의 토큰(Token14)를 확인하고, 이를 기초로 다음 메시지의 연속성을 검증할 수 있다. 또한, 서버(200)는 Missing 메시지를 통해 Brian의 미수신 메시지들을 확인할 수 있다.
도 4에서는 증명 요청된 메시지들 중 최신 메시지(인덱스 0016)가 서버(200)에 저장된 경우이므로, 서버(200)는 단계(S330)에서 증명 요청된 메시지들의 최신 메시지의 토큰(Token16)과 챗로그 데이터베이스에 저장된 해당 메시지의 토큰(Token16)을 비교할 수 있다. In FIG. 4, since the latest message (index 0016) among the messages requested for verification is stored in the
한 실시예에 따르면, 서버(200)가 보관 기간 동안(예를 들면, 3일)의 메시지들의 토큰만을 저장하는 경우, 증명 요청된 메시지들은 서버의 메시지 보관 기간이 지나지 않은 메시지를 적어도 하나 포함해야 하고, 그렇지 않은 경우, 서버로부터 재선택 요청을 받을 수 있다. 또는 서버의 메시지 보관 기간이 지나지 않은 메시지가 포함되도록 자동 선택될 수 있다.According to an embodiment, when the
다른 실시예에 따르면, 서버(200)가 보관 기간이 지난 메시지들을 삭제하더라도, 삭제 메시지들의 적어도 일부의 토큰을 별도로 저장할 수 있다. 예를 들면, 서버(200)는 삭제 메시지들의 토큰을 저장하고, 저장된 토큰들 중에서 증명 요청된 메시지들 중 적어도 하나의 메시지에 해당하는 토큰을 추출해서 비교할 수 있다. According to another embodiment, even if the
또는 서버(200)는 일정 주기(예를 들면, 1일)마다 적어도 하나의 토큰(예를 들면, 당일에 전송된 마지막 메시지의 토큰)을 별도 저장할 수 있다. 이 경우, 증명 요청된 메시지들은 해당 주기의 마지막 메시지를 포함하도록 자동 또는 수동으로 선택될 수 있다. 예를 들면, 서버(200)는 10일전에 채팅방으로 전송한 메시지들을 삭제하더라도, 10일전인 1월2일에 마지막으로 전송된 메시지 토큰을 1월2일 대화내용 증명을 위한 정보로 저장한다. 이후, 서버(200)는 1월1일에 전송된 메시지부터 1월2일에 마지막으로 전송된 메시지들을 증명 요청 메시지로 수신하면, 1월2일 대화내용 증명을 위해 저장해 둔 1월2일 토큰을 이용하여 도 4의 단계(S330)를 처리할 수 있다.Alternatively, the
지금까지 단말은 서버로부터 메시지들을 수신하고 저장하는 것으로 설명하였으나, 단말은 서버로부터 메시지를 수신할 때, 이전에 수신한 메시지와의 연속성을 검증할 수 있다. 즉, 단말은 N-1번째 수신 메시지의 TokenX와 N번째 수신 메시지의 정보를 해싱한 값이 N번째 수신 매시지의 TokenY와 동일한지 판단하고, 동일하지 않으면, 연속된 메시지가 아니라고 판단(메시지가 단말에서 삭제되거나 미수신됨)할 수 있다. 단말은 서버로 서버와의 동기화 실패를 보고할 수 있다. 단말 또는 서버는 더 이상 채팅방의 대화 내용 증명을 할 수 없음을 사용자에게 알릴 수 있다. 또는 서버는 계속 대화 내용 증명을 할 수 있도록 Missing 메시지를 단말로 전송하여 토큰 연속성을 보장할 수 있다.Until now, 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 the previously received message. That is, the terminal determines whether the value obtained by hashing the TokenX of the N-1th received message and the information of the Nth received message is the same as the TokenY of the Nth received message, and if not, determines that the message is not a continuous message (the message is May be deleted or not received). The terminal may report a synchronization failure with the server to the server. The terminal or server may inform the user that it is no longer possible to prove the contents of the chat room. Alternatively, the server may guarantee token continuity by transmitting a Missing message to the terminal so that the content of the conversation can be verified continuously.
실시예에 따르면, 서버가 증명 요청된 메시지들에 부가된 토큰들의 연속성을 판단하여 증명 요청된 메시지들의 무결성을 검증하므로, 사용자는 채팅방의 대화 내용을 증명하기 위해 화면 저장 텍스트 저장 등을 별도로 할 필요 없이, 연속된 메시지들을 선택한 후 서버로 전송함으로써, 채팅방에서 전송된 연속된 메시지들을 증명할 수 있다.According to the embodiment, since the server verifies the integrity of the messages requested for verification by determining the continuity of the tokens added to the messages for which verification is requested, the user needs to separately save the screen save text to prove the content of the conversation in the chat room. Without, by selecting consecutive messages and sending them to the server, it is possible to prove the consecutive messages transmitted in the chat room.
실시예에 따르면, 서버는 채팅방에서 교환되는 최신의 메시지들만을 저장하더라도, 단말에 저장된 메시지들을 증명할 수 있다.According to the embodiment, even if the server stores only the latest messages exchanged in the chat room, it can prove the messages stored in the terminal.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not implemented only through an apparatus and a method, but may be implemented through a program that realizes a function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
Claims (13)
상기 소셜 미디어 서비스를 이용하는 제1 참여자 단말로부터, 상기 제1 참여자 단말이 채팅방에 참여 중임을 증명하는 참여 증명 요청을 받는 단계,
상기 제1 참여자 단말의 참여 증명을 위한 제1 메시지를 상기 채팅방의 참여자 단말들로 전송하는 단계, 그리고
상기 제1 메시지를 챗로그 데이터베이스에 저장하는 단계를 포함하고,
상기 제1 메시지는 메시지 정보 그리고 제1 토큰을 포함하고,
상기 제1 토큰은 상기 제1 메시지 전에 전송된 제2 메시지의 제2 토큰과 상기 제1 메시지의 정보를 이용하여 계산되며,
상기 제1 메시지 이후에 전송된 제3 메시지는 상기 제1 토큰과 상기 제3 메시지의 정보를 이용하여 계산되는 제3 토큰을 포함하고,
상기 제2 메시지, 상기 제1 메시지, 그리고 상기 제3 메시지의 무결성은 상기 제2 토큰으로부터 상기 제1 토큰이 계산되고, 상기 제1 토큰으로부터 상기 제3 토큰이 계산되는지에 따라 검증되는, 대화 내용 증명 방법.As a method for a server providing a social media service to prove the contents of a conversation,
Receiving, from a first participant terminal using the social media service, a participation proof request proving that the first participant terminal is participating in a chat room,
Transmitting a first message for proof of participation of the first participant terminal to participant terminals of the chat room, and
Including the step of storing the first message in a chat log database,
The first message includes message information and a first token,
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,
The third message transmitted after the first message includes the first token and a third token calculated using information of the third message,
The integrity of the second message, the first message, and the third message is verified according to whether the first token is calculated from the second token and the third token is calculated from the first token. Proof method.
상기 제1 메시지의 정보는
메시지 인덱스, 메시지 전송 시각, 메시지 발신자, 메시지 종류, 그리고 메시지 내용의 해쉬값 중 적어도 하나를 포함하는, 대화 내용 증명 방법.In claim 1,
The information of the first message is
Conversation content verification method including at least one of a message index, message transmission time, message sender, message type, and hash value of the message content.
상기 제1 메시지는 히든 메시지이며,
상기 히든 메시지는 상기 채팅방에서 표시되지 않는 메시지인, 대화 내용 증명 방법.In claim 1,
The first message is a hidden message,
The hidden message is a message that is not displayed in the chat room.
상기 제1 메시지는 상기 제1 참여자 단말의 참여 증명 정보를 포함하고,
상기 참여 증명 정보는 상기 제2 토큰 또는 상기 제2 토큰을 암호화한 정보를 포함하는, 대화 내용 증명 방법.In paragraph 3,
The first message includes participation proof information of the first participant terminal,
The participation proof information includes information obtained by encrypting the second token or the second token.
상기 채팅방의 참여자 단말들 각각의 마지막 수신 메시지 정보를 관리하는 단계
를 더 포함하는 대화 내용 증명 방법.In claim 1,
Managing the last received message information of each of the participant terminals in the chat room
Conversation content proof method further comprising.
제2 참여자 단말이 접속한 경우, 상기 제2 참여자 단말의 마지막 수신 메시지를 확인하는 단계,
상기 챗로그 데이터베이스에 저장된 메시지들과 상기 제2 참여자 단말의 마지막 수신 메시지를 비교하고, 미전송 메시지들 중 삭제된 메시지 정보를 추출하는 단계, 그리고
상기 삭제된 메시지 정보를 포함하는 제1 히든 메시지를 전송하는 단계를 더 포함하고,
상기 삭제된 메시지 정보는 삭제된 메시지들 중 최신 메시지의 토큰을 포함하는, 대화 내용 증명 방법.In clause 5,
When the second participant terminal accesses, confirming the last received message of the second participant terminal,
Comparing the messages stored in the chatlog database with the last received message of the second participant terminal, and extracting deleted message information from among unsent messages, and
Further comprising the step of transmitting a first hidden message including the deleted message information,
The deleted message information includes a token of the latest message among deleted messages.
상기 삭제된 메시지 정보는
상기 제2 참여자 단말이 미수신한 메시지 정보를 더 포함하는 대화 내용 증명 방법.In paragraph 6,
The deleted message information is
Conversation content verification method further comprising message information not received by the second participant terminal.
상기 제1 히든 메시지를 상기 제2 참여자 단말로 전송한 정보를 포함하는 제2 히든 메시지를 상기 채팅방의 참여자 단말들로 전송하는 단계, 그리고
상기 제2 히든 메시지를 챗로그 데이터베이스에 저장하는 단계
를 포함하는, 대화 내용 증명 방법.In paragraph 6,
Transmitting a second hidden message including information on transmitting the first hidden message to the second participant terminal to the participant terminals of the chat room, and
Storing the second hidden message in a chatlog database
Containing, conversation content proof method.
채팅방의 참여자 단말들로 전송한 메시지들을 챗로그 데이터베이스에 저장하는 단계,
임의 참여자 단말로부터, 특정 메시지들에 대한 무결성 증명 요청을 수신하는 단계, 그리고
증명 요청된 메시지들에 포함된 토큰들과 상기 챗로그 데이터베이스에 저장된 토큰을 기초로 상기 증명 요청된 메시지들의 무결성을 검증하는 단계를 포함하고,
각 메시지는 메시지 정보 그리고 토큰을 포함하고,
상기 토큰은 상기 채팅방에서 해당 메시지 이전에 전송된 메시지의 토큰과 해당 메시지의 정보를 이용하여 계산되며,
상기 무결성을 검증하는 단계는
상기 증명 요청된 메시지들에 포함된 메시지 정보 및 토큰을 이용하여 상기 증명 요청된 메시지들의 토큰들이 연속적으로 계산되는지 검증하는 단계, 그리고
상기 증명 요청된 메시지들 중 최신 메시지의 토큰과 상기 챗로그 데이터베이스에 저장된 토큰을 비교하여 상기 증명 요청된 메시지들의 무결성을 검증하는 단계
를 포함하는 대화 내용 증명 방법.As a method for a server providing a social media service to prove the contents of a conversation,
Storing messages sent to the participants terminals of the chat room in the chat log database,
Receiving an integrity certificate request for specific messages from a random participant terminal, and
And verifying the integrity of the authentication-requested messages based on tokens included in the authentication-requested messages and tokens stored in the chatlog database,
Each message contains message information and a token,
The token is calculated using the token of the message transmitted before the message in the chat room and information of the message,
The step of verifying the integrity is
Verifying that tokens of the authentication-requested messages are continuously calculated using message information and tokens included in the authentication-requested messages, and
Comparing the token of the latest message among the messages requested for verification with a token stored in the chatlog database to verify the integrity of the messages requested for verification
Conversation content proof method comprising a.
상기 증명 요청된 메시지들 중 특정 참여자의 참여 증명 정보를 포함하는 히든 메시지가 존재하는 경우, 상기 히든 메시지를 기초로 상기 특정 참여자가 채팅방에 참여한 사실을 증명하는 단계
를 더 포함하는 대화 내용 증명 방법.In claim 9,
Proving that the specific participant participated in the chat room based on the hidden message, if there is a hidden message including participation proof information of a specific participant among the messages requested for proof
Conversation content proof method further comprising.
상기 증명 요청된 메시지들 중 특정 참여자의 채팅방 나가기 정보를 포함하는 메시지가 존재하는 경우, 상기 특정 참여자가 채팅방을 나간 사실을 증명하는 단계
를 더 포함하는 대화 내용 증명 방법.In claim 9,
Proving that the specific participant has left the chat room if there is a message including information about leaving the chat room of a specific participant among the messages requested for verification
Conversation content proof method further comprising.
상기 증명 요청된 메시지들 중 특정 참여자에게 삭제된 메시지 정보를 전송한 히든 메시지가 존재하는 경우, 상기 히든 메시지를 기초로 상기 특정 참여자의 미수신 메시지 정보를 증명하는 단계
를 더 포함하는 대화 내용 증명 방법.In claim 9,
Proving unreceived message information of the specific participant based on the hidden message when there is a hidden message that has transmitted deleted message information to a specific participant among the messages requested for authentication
Conversation content proof method further comprising.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190009500A KR102175806B1 (en) | 2019-01-24 | 2019-01-24 | Method for providing contents certification in social media service and, server, user device and application implementing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190009500A KR102175806B1 (en) | 2019-01-24 | 2019-01-24 | Method for providing contents certification in social media service and, server, user device and application implementing the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200092216A KR20200092216A (en) | 2020-08-03 |
KR102175806B1 true KR102175806B1 (en) | 2020-11-06 |
Family
ID=72042967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190009500A KR102175806B1 (en) | 2019-01-24 | 2019-01-24 | Method for providing contents certification in social media service and, server, user device and application implementing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102175806B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006520112A (en) | 2002-11-26 | 2006-08-31 | セキュア データ イン モーション,インコーポレイテッド | Security key server, implementation of processes with non-repudiation and auditing |
JP2009519646A (en) | 2005-12-16 | 2009-05-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Collaborative non-repudiation message exchange in a network environment |
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 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101397633B1 (en) * | 2007-12-05 | 2014-05-22 | 주식회사 케이티 | System and method for providing instatnt message service in ims |
KR101335065B1 (en) * | 2011-09-22 | 2013-12-03 | (주)카카오 | Conversational message service operating method for providing acknowledgement |
-
2019
- 2019-01-24 KR KR1020190009500A patent/KR102175806B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006520112A (en) | 2002-11-26 | 2006-08-31 | セキュア データ イン モーション,インコーポレイテッド | Security key server, implementation of processes with non-repudiation and auditing |
JP2009519646A (en) | 2005-12-16 | 2009-05-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Collaborative non-repudiation message exchange in a network environment |
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 |
Also Published As
Publication number | Publication date |
---|---|
KR20200092216A (en) | 2020-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11646902B2 (en) | Methods for requesting and authenticating photographic image data | |
US20230006842A1 (en) | Blockchain-based data processing method and apparatus, computer device, computer-readable storage medium, and computer program product | |
US10469460B2 (en) | Data sharing in a blockchain-enabled trust domain | |
US9537867B2 (en) | Digital social network trust propagation | |
US8412675B2 (en) | Context aware data presentation | |
US8065328B2 (en) | Sharing of media using contact data | |
US8069166B2 (en) | Managing user-to-user contact with inferred presence information | |
JP7050354B2 (en) | How to manage multiple profiles for a single account in an asynchronous messaging system, system and computer readable media | |
KR20150130357A (en) | Wireless data privacy maintained through a social network | |
US11575506B2 (en) | System and method for electronic conference verification and management | |
Vukadinovic | Whatsapp forensics: Locating artifacts in web and desktop clients | |
KR102048618B1 (en) | System and method for determining appropriate content for an event content stream | |
US20180212921A1 (en) | Method and system for transmitting text messages | |
KR102120419B1 (en) | Method for providing contents certification in social media service and, server, user device and application implementing the method | |
KR102175806B1 (en) | Method for providing contents certification in social media service and, server, user device and application implementing the method | |
EP2360889A1 (en) | Creation and use of a telecommunication link between two users of a telecommunication network | |
KR102120418B1 (en) | Method for providing mutual certification of contents in social media service and, server, user device and application implementing the method | |
EP2979435B1 (en) | Method for processing data of a social network user | |
US20230055835A1 (en) | Systems and Methods for Using a Non-Fungible Digital Asset to Facilitate Accessing an Access-Restricted Resource | |
US11140109B2 (en) | System and method for transparent communications | |
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 | |
KR20200091997A (en) | Electronic voting and survey system using block chain | |
JP4681812B2 (en) | Method and apparatus for storing and managing contacts in a distributed collaboration system | |
EP1544762A1 (en) | Method and apparatus for storing and managing contacts in a distributed collaboration system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |