KR102120419B1 - 소셜 미디어 서비스의 콘텐츠를 증명 저장하는 방법, 이를 구현한 서버, 사용자 단말, 그리고 어플리케이션 - Google Patents

소셜 미디어 서비스의 콘텐츠를 증명 저장하는 방법, 이를 구현한 서버, 사용자 단말, 그리고 어플리케이션 Download PDF

Info

Publication number
KR102120419B1
KR102120419B1 KR1020180117853A KR20180117853A KR102120419B1 KR 102120419 B1 KR102120419 B1 KR 102120419B1 KR 1020180117853 A KR1020180117853 A KR 1020180117853A KR 20180117853 A KR20180117853 A KR 20180117853A KR 102120419 B1 KR102120419 B1 KR 102120419B1
Authority
KR
South Korea
Prior art keywords
content
proof
conversation
stored
terminal
Prior art date
Application number
KR1020180117853A
Other languages
English (en)
Other versions
KR20200038133A (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 KR1020180117853A priority Critical patent/KR102120419B1/ko
Publication of KR20200038133A publication Critical patent/KR20200038133A/ko
Application granted granted Critical
Publication of KR102120419B1 publication Critical patent/KR102120419B1/ko

Links

Images

Classifications

    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • G06Q50/30
    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • 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

Landscapes

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

Abstract

소셜 미디어 서비스를 제공하는 서버가 대화 내용을 증명 저장하는 방법으로서, 상기 인스턴트 메시징 서비스를 이용하는 사용자의 단말로부터 채팅방의 대화 내용에 대한 증명 저장 시작을 요청을 받는 단계, 상기 채팅방에서 교환된 메시지들이 저장된 제1 데이터베이스에서 적어도 일부의 원본 대화 내용을 추출하고, 상기 원본 대화 내용을 상기 단말로 제공하는 단계, 상기 단말로부터 상기 원본 대화 내용에서 선택된 대화 영역을 수신하고, 상기 선택된 대화 영역에 해당하는 특정 대화 내용을 제2 데이터베이스에 저장하는 단계, 상기 특정 대화 내용의 해쉬값을 등록하는 단계, 그리고 상기 단말로 증명 저장 결과 알림 메시지를 전송하는 단계를 포함한다.

Description

소셜 미디어 서비스의 콘텐츠를 증명 저장하는 방법, 이를 구현한 서버, 사용자 단말, 그리고 어플리케이션{METHOD FOR PROVIDING CONTENTS CERTIFICATION IN SOCIAL MEDIA SERVICE AND, SERVER, USER DEVICE AND APPLICATION IMPLEMENTING THE METHOD}
본 발명은 콘텐츠 저장에 관한 것이다.
카카오톡, 트위터, 페이스북, 인스타그램 등 다양한 소셜 미디어 서비스가 존재한다. 사용자는 소셜 미디어 서비스를 통해 상대방과 대화할 수 있고, 자신의 생각을 표현할 수 있다. 사용자는 카카오톡 등의 인스턴트 메시징 서비스를 통해 채팅방에서 친구들과 메시지를 교환한다.
지금까지 사용자는 채팅방에서 교환되는 메시지들을 보관하고자 하는 경우, 메시지들이 기록된 채팅방을 지우지 않고 계속 보관하거나, 채팅방을 캡쳐하여 이미지로 보관했다. 채팅방을 계속 유지하는 방법은 대화 내용이 계속 쌓이면 보관 대상인 메시지들을 찾기 어려울 수 있고, 상대방이 채팅방을 나갈 수 있으며, 상대방이 카카오톡을 탈퇴하는 경우, 상대방이 “알수없음”으로 표시되어 상대방 특정이 쉽지 않을 수 있다. 채팅방을 캡쳐하여 이미지로 저장하는 방법은 한 화면씩만 캡쳐되므로, 긴 대화 내용을 일일이 화면 캡쳐하여야 하는 단점이 있다. 또한, 이러한 보관 방법은 메시지 삭제나 이미지 변조가 가능해서, 대화 내용 증명으로서 법적 효력을 부여하는데 한계가 있거나 다툼이 있을 수 있다.
본 발명이 해결하고자 하는 과제는 인스턴트 메시징 서비스 등의 소셜 미디어 서비스에서 전송된 콘텐츠(예를 들면, 대화 내용)를 증명 저장하고, 증명 저장된 콘텐츠를 공유하는 방법, 이를 구현한 서버, 사용자 단말, 그리고 어플리케이션을 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 인스턴트 메시징 서비스 등의 소셜 미디어 서비스에서 전송된 대화 내용을 편리하게 증명 저장 및 공유하는 인터페이스 화면을 제공하는 것이다.
한 실시예에 따라 소셜 미디어 서비스를 제공하는 서버가 콘텐츠를 증명 저장하는 방법으로서, 상기 소셜 미디어 서비스를 이용하는 사용자의 단말로부터 채팅방의 대화 내용에 대한 증명 저장 시작을 요청을 받는 단계, 상기 채팅방에서 교환된 메시지들이 저장된 제1 데이터베이스에서 적어도 일부의 원본 대화 내용을 추출하고, 상기 원본 대화 내용을 상기 단말로 제공하는 단계, 상기 단말로부터 상기 원본 대화 내용에서 선택된 대화 영역을 수신하고, 상기 선택된 대화 영역에 해당하는 특정 대화 내용을 제2 데이터베이스에 저장하는 단계, 상기 특정 대화 내용의 해쉬값을 등록하는 단계, 그리고 상기 단말로 증명 저장 결과 알림 메시지를 전송하는 단계를 포함한다.
상기 특정 대화 내용을 제2 데이터베이스에 저장하는 단계는 상기 특정 대화 내용에 포함된 각 메시지가 입력된 채팅방 식별자, 각 메시지의 입력자, 각 메시지의 내용, 그리고 메시지 입력 시점을 포함하는 증명 저장 데이터를 저장할 수 있다.
상기 증명 저장 데이터는 각 메시지를 읽은 참여자 수 및/또는 읽지 않은 참여자 수를 더 포함하거나, 각 메시지를 읽은 참여자 식별자 및/또는 메시지를 읽지 않은 참여자 식별자를 더 포함할 수 있다.
상기 특정 대화 내용의 해쉬값을 등록하는 단계는 상기 해쉬값을 블록체인의 거래 정보(transaction information)로 등록할 수 있다.
상기 증명 저장 결과 알림 메시지는 상기 특정 대화 내용이 상기 제2 데이터베이스에 저장된 위치 정보를 포함할 수 있다.
상기 증명 저장 방법은 상기 단말에서 상기 위치 정보로 접속한 경우, 상기 위치 정보에 저장된 상기 특정 대화 내용과 상기 해쉬값을 상기 단말로 전송하는 단계를 더 포함할 수 있다.
상기 증명 저장 결과 알림 메시지는 상기 특정 대화 내용을 캡쳐한 증명 저장 이미지를 포함할 수 있다.
상기 증명 저장 방법은 상기 단말로부터 상기 제2 데이터베이스에 저장된 상기 특정 대화 내용에 대한 공유 요청을 수신하는 단계, 그리고 상기 공유 요청에 포함된 공유 대상을 식별하고, 상기 공유 대상의 단말로 상기 특정 대화 내용에 대한 공유 알림 메시지를 전송하는 단계를 더 포함할 수 있다. 상기 공유 알림 메시지는 상기 특정 대화 내용이 상기 제2 데이터베이스에 증명 저장된 위치 정보를 포함하거나, 상기 특정 대화 내용을 캡쳐한 증명 저장 이미지를 포함할 수 있다.
상기 증명 저장 방법은 상기 공유 대상을 상기 특정 대화 내용에 대한 접근 권한자로 설정하는 단계, 임의 장치로부터 상기 특정 대화 내용에 대한 접근을 요청받으면, 상기 임의 장치가 상기 접근 권한자인지 판단하는 단계, 그리고 상기 임의 장치가 상기 접근 권한자인 경우, 상기 특정 대화 내용을 상기 임의 장치로 전송하는 단계를 더 포함할 수 있다.
상기 증명 저장 방법은 임의 장치로부터 상기 특정 대화 내용에 대한 접근을 요청받으면, 지정된 조건을 기초로 상기 임의 장치가 접근 권한자인지 판단하는 단계, 그리고 상기 임의 장치가 상기 접근 권한자인 경우, 상기 특정 대화 내용을 상기 임의 장치로 전송하는 단계를 더 포함할 수 있다.
한 실시예에 따라 사용자 단말이 콘텐츠를 증명 저장하는 방법으로서, 서버로 채팅방의 대화 내용에 대한 증명 저장 시작을 요청하는 단계, 상기 서버로부터 상기 채팅방에서 교환된 원본 대화 내용을 수신하는 단계, 상기 원본 대화 내용을 인터페이스 화면에 표시하고, 상기 원본 대화 내용에서 증명 저장할 대화 영역 선택을 요청하는 단계, 상기 인터페이스 화면에서 선택된 대화 영역을 상기 서버로 전송하는 단계, 그리고 상기 서버로부터, 상기 선택된 대화 영역에 해당하는 특정 대화 내용이 지정된 데이터베이스에 저장되고, 상기 특정 대화 내용의 해쉬값이 등록된 결과를 알리는 알림 메시지를 수신하는 단계를 포함한다.
상기 알림 메시지는 상기 특정 대화 내용이 상기 지정된 데이터베이스에 저장된 위치 정보를 포함할 수 있다.
상기 알림 메시지는 상기 특정 대화 내용을 캡쳐한 증명 저장 이미지를 더 포함할 수 있다.
상기 증명 저장 방법은 상기 위치 정보를 기초로 상기 서버에 접속하는 단계, 상기 서버로부터 상기 위치 정보에 저장된 상기 특정 대화 내용을 수신하는 단계, 그리고 상기 특정 대화 내용을 인터페이스 화면에 표시하는 단계를 더 포함할 수 있다.
상기 증명 저장 방법은 상기 서버로, 상기 지정된 데이터베이스에 저장된 상기 특정 대화 내용을 공유 대상에게 공유 요청하는 단계를 더 포함할 수 있다. 상기 특정 대화 내용에 대한 공유 알림 메시지가 상기 공유 대상의 단말로 전송될 수 있다.
상기 증명 저장 방법은 상기 지정된 데이터베이스에 증명 저장한 대화 내용들의 목록을 표시하는 단계를 더 포함할 수 있다.
상기 해쉬값은 블록체인에 등록될 수 있다.
다른 실시예에 따라 소셜 미디어 서비스를 제공하는 서버가 콘텐츠를 증명 저장하는 방법으로서, 상기 소셜 미디어 서비스를 이용하는 사용자들의 단말로부터 특정 콘텐츠에 대한 증명 저장 요청을 수신하는 단계, 상기 특정 콘텐츠에 식별자를 부여하여 데이터베이스에 저장하고, 상기 특정 콘텐츠의 해쉬값을 등록하는 단계, 그리고 상기 단말로 증명 저장 결과를 제공하는 단계를 포함한다. 상기 증명 저장 결과는 상기 특정 콘텐츠, 상기 특정 콘텐츠가 저장된 위치 정보, 상기 특정 콘텐츠의 식별자, 그리고 상기 해쉬값 중 적어도 하나를 포함한다.
상기 증명 저장 방법은 임의 장치로부터 임의 콘텐츠와 상기 임의 콘텐츠의 식별자를 포함하는 무결성 검증 요청을 수신하는 단계, 등록된 해쉬값들 중에서, 상기 임의 콘텐츠의 식별자에 대응하여 등록된 상기 특정 콘텐츠의 해쉬값을 획득하는 단계, 상기 임의 콘텐츠의 해쉬값과 상기 특정 콘텐츠의 해쉬값을 비교하여 상기 임의 콘텐츠의 무결성을 검증하는 단계, 그리고 상기 임의 장치로 상기 임의 콘텐츠의 무결성 검증 결과를 전송하는 단계를 포함할 수 있다.
상기 증명 저장 방법은 임의 장치로부터 상기 특정 콘텐츠에 대한 접근을 요청받으면, 지정된 조건을 기초로 상기 임의 장치가 접근 권한자인지 판단하는 단계, 그리고 상기 임의 장치가 상기 접근 권한자인 경우, 상기 특정 콘텐츠를 상기 임의 장치로 전송하는 단계를 더 포함할 수 있다.
실시예에 따르면, 사용자는 대화 내용을 손쉽게 증명 저장하고, 증명 저장한 대화 내용을 언제든지 확인할 수 있도록 관리 및 보관할 수 있으며, 증명 저장된 대화 내용을 다른 사람들과 편리하게 공유할 수 있다.
실시예에 따르면, 사용자는 과거에 채팅방에서 교환된 메시지들까지 증명 저장할 수 있고, 증명 저장에 대한 상대방 동의를 요구할 필요 없고, 증명 저장된 대화 내용에 대해 상대방이 부인할 수 없도록 할 수 있다.
실시예에 따르면, 메시징 서버가 서버측에 저장된 원본 대화 내용을 저장하고, 저장한 대화 내용의 무결성을 검증할 수 있는 해쉬값을 블록체인과 같은 신뢰 시스템에 등록하여, 사용자에 의한 대화 내용 위변조 가능성을 없앨 수 있다. 실시예에 따르면, 증명 저장된 대화 내용을 증거력을 높일 수 있다.
도 1은 한 실시예에 따른 시스템의 구성도이다.
도 2부터 도 4 각각은 한 실시예에 따른 대화 내용을 증명 저장하는 방법의 흐름도이다.
도 5는 한 실시예에 따라 대화 내용 증명 저장으로 진입하기 위한 인터페이스 화면의 예시이다.
도 6은 한 실시예에 따라 원본 대화 내용 중에서 대화 영역 선택하는 사용자 인터페이스 화면의 예시이다.
도 7은 한 실시예에 따라 증명 저장된 대화 내용을 표시하는 사용자 인터페이스 화면의 예시이다.
도 8은 한 실시예에 따라 증명 저장된 대화 내용을 공유하는 사용자 인터페이스 화면의 예시이다.
도 9는 한 실시예에 따라 증명 저장된 대화 내용을 관리하는 사용자 인터페이스 화면의 예시이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
단말은 컴퓨터 판독 가능한 저장 매체에 저장되는 소프트웨어인 어플리케이션, 그리고 프로세서, 메모리, 디스플레이, 통신 모듈 등의 하드웨어를 포함한다. 프로세서는 하드웨어들과 협력하여 어플리케이션을 구동한다. 디스플레이는 어플리케이션에서 제공하는 사용자 인터페이스 화면을 표시하고, 사용자 입력을 수신할 수 있고, 예를 들면 터치 입력을 수신할 수 있다. 통신 모듈은 통신망을 통해 메시징 서버와 통신한다.
단말은 다양한 형태로 구현될 수 있고, 모바일 단말을 예로 들어 설명하나, 스마트패드와 같은 패드형 단말, 랩탑 컴퓨터 등 각종 형태의 컴퓨터, 웨어러블 디바이스, TV 단말 등의 형태로 구현될 수 있다.
먼저, 도 1부터 도 9를 참고하여, 소셜 미디어 서비스로서 인스턴트 메시징 어플리케이션을 이용한 인스턴트 메시징 서비스를 주로 예로 들어 설명한다.
도 1은 한 실시예에 따른 시스템의 구성도이다.
도 1을 참고하면, 소셜 미디어 어플리케이션을 설치한 단말들(100, 110)은 서버(200)에 접속하여 소셜 미디어 어플리케이션에서 제공하는 기능들을 이용한다.
소셜 미디어 어플리케이션으로서 인스턴트 메시징 어플리케이션을 예로 들어 설명하고, 서버(200)는 메시징 서버라고 부른다. 인스턴트 메시징 어플리케이션은 채팅방을 개설하고, 채팅방에서 참여자들이 메시지들을 교환하는 인터페이스 화면을 제공하고, 본 발명에서 설명하는 바에 따라 대화 내용의 증명 저장 및 증명 저장된 대화 내용을 공유하는 서비스를 제공하는 프로그램이다. 인스턴트 메시징 어플리케이션은 사용자가 대화 내용을 편리하게 증명 저장 및 공유하는 인터페이스 화면을 단말들에서 표시한다.
본 발명에서 증명 저장되는 콘텐츠는 소셜 미디어 어플리케이션을 통해 단말에 표시되거나 서버에 저장된 콘텐츠이고, 인스턴트 메시징 어플리케이션을 통해 제공되는 대화 내용을 증명 저장한다고 설명한다. 본 발명에서 설명하는 바에 따라 메시지들로 표시되는 대화 내용을 “증명 저장”하는 것을 화면 캡쳐 등의 일반 저장과 구분하기 위해 “박제”라고 부를 수 있다. 메시징 서버(200)가 인스턴트 메시징 서비스의 부가 서비스로 박제 서비스를 제공한다고 가정하나, 별도의 박제 서비스 서버(미도시)가 인스턴트 메시징 서비스를 제공하는 메시징 서버(200)와 연동하여 박제 서비스를 제공할 수 있다.
설명을 위해, 단말A(100)는 Aiden 단말, 단말B(110)는 Brian 단말이라고 가정하고, Aiden과 Brian이 채팅방에서 메시지를 주고받고, Aiden이 채팅방의 적어도 일부 대화 내용을 증명 저장한다고 가정한다.
앞으로, 메시징 서버(200)가 챗로그 데이터베이스(210), 내용 증명 데이터베이스(230), 그리고 검증 데이터베이스(300)와 연동하고, 본 발명에서 설명하는 동작을 수행한다고 설명하나, 메시징 서버(200)가 단일한 서버가 아님은 자명하고, 복수의 기능들이 연동하도록 설계될 수 있다.
메시징 서버(200)는 Aiden과 Brian이 채팅방에서 입력한 메시지들을 챗로그(chat log) 데이터베이스(210)에 저장한다. 챗로그 데이터베이스(210)에 저장된 메시지들은 채팅방에 표시되는 대화 내용의 원본 데이터이다.
메시징 서버(200)는 단말A(100)로부터 채팅방 대화 내용의 증명 저장 시작을 요청을 받으면, 챗로그 데이터베이스(210)에서 채팅방의 적어도 일부의 원본 대화 내용을 추출한다. 메시징 서버(200)는 원본 대화 내용을 단말A(100)로 제공한다. 채팅방에서 메시지들은 삭제될 수 있으므로, 사용자가 자신의 단말에 표시된 대화 내용을 저장하는 대신, 챗로그 데이터베이스(210)에 저장된 원본 대화 내용을 선택하여 증명 저장하도록 한다.
메시징 서버(200)는 채팅방의 원본 대화 내용 전체를 추출하여 단말A(100)로 제공할 수 있지만, 사용자 편의를 위해 증명 저장 시작 시점 전후에 챗로그 데이터베이스(210)에 저장된 일정 수의 연속된 메시지들(예를 들면, 100개의 메시지들) 또는 일정 시간(예를 들면, 24시간) 동안 저장된 메시지들을 추출할 수 있다. 또는 메시징 서버(200)는 Aiden으로부터 증명 저장 시작과 함께 특정 대화 내용을 요청받을 수 있다. 특정 대화 내용은 예를 들면 특정 키워드가 포함된 메시지 전후에 저장된 연속된 메시지들, 특정 시점 전후에 저장된 연속된 메시지들 등과 같이, 챗로그 데이터베이스(210)에서 검색 가능한 적어도 하나의 정보로 요청될 수 있다. 한편, 메시징 서버(200)는 주기적으로 특정 채팅방의 대화 내용에 대한 증명 저장 서비스를 제공할 수 있다. 주기적 증명 저장이 설정된 경우, 메시징 서버(200)는 주기적으로 챗로그 데이터베이스(210)에 저장된 특정 채팅방의 원본 대화 내용을 증명 저장할 수 있다. 즉, 메시징 서버(200)는 사용자에게 증명 저장할 대화 내용 선택을 요청할 필요 없이, 지정된 시점마다 특정 채팅방에서 교환된 메시지들을 전부 증명 저장할 수 있다. 이 경우, 메시징 서버(200)는 증명 저장 완료를 사용자에게 알릴 수 있다.
단말A(100)는 메시징 서버(200)로부터 수신한 원본 대화 내용을 채팅방과 구분된 증명 저장 화면에 표시할 수 있다. 예를 들면, 단말A(100)는 웹뷰로 채팅방 상위 레이어에 수신한 원본 대화 내용을 표시할 수 있고, 또는 채팅방에서 증명 저장 화면으로 전환하여 수신한 원본 대화 내용을 표시할 수 있다. 단말A(100)는 수신한 대화 내용을 그대로 표시할 수 있다. 또는 단말A(100)는 수신한 대화 내용과 채팅방의 대화 내용을 비교한 후, 삭제된 메시지가 있다면, 사용자가 삭제된 메시지임을 알 수 있도록 표시할 수 있다.
단말A(100)는 증명 저장 화면에서 증명 저장할 대화 영역 선택을 요청하고, 선택된 대화 영역을 메시징 서버(200)로 전송하여 증명 저장 요청한다.
메시징 서버(200)는 선택된 대화 영역에 해당하는 대화 내용을 복제하여 내용 증명 데이터베이스(230)에 저장한다. 메시징 서버(200)는 증명 저장 시 채팅방에서 각 메시지를 읽은 참여자 수 및/또는 읽지 않은 참여자 수를 내용 증명 데이터베이스(230)에 함께 저장할 수 있다. 메시징 서버(200)는 증명 저장 시 채팅방에서 각 메시지를 읽은 참여자 식별자 및/또는 읽지 않은 참여자 식별자를 내용 증명 데이터베이스(230)에 더 저장할 수 있다. 메시징 서버(200)는 챗로그 데이터베이스(210)에서 증명 저장 데이터를 추출하여 내용 증명 데이터베이스(230)에 저장하고, 증명 저장 데이터는 미리 정의될 수 있다. 증명 저장 데이터는 메시지별 정보를 포함하는데, 예를 들면, 채팅방 식별자, 메시지 입력자, 메시지 내용(예, 텍스트, 이미지, URL 등), 메시지 타입(예, text, scrape 등), 메시지 입력 시점, 메시지를 읽지 않은 참여자 수(unread count), 메시지를 읽지 않은 참여자 목록 등을 포함할 수 있다. 증명 저장 데이터는 메시지를 읽은 참여자 식별자 및/또는 메시지를 읽지 않은 참여자 식별자를 더 저장할 수 있다. 내용 증명 데이터베이스(230)는 대화 내용을 JSON 포맷과 같은 특정 포맷으로 저장할 수 있다. JSON 포맷의 예시는 표 1과 같다.
{
“mgs”: “메시지 내용”,
“type”“”
“created_at”: 메시지 입력 시점,
“from”: 메시지 입력자,
“to”: 채팅방 식별자,
“unread”: 메시지를 읽지 않은 참여자 수
}
메시징 서버(200)는 내용 증명 데이터베이스(230)에 저장한 대화 내용의 무결성 검증을 위한 해쉬값을 검증 데이터베이스(300)에 등록한다. 메시징 서버(200)는 내용 증명 데이터베이스(230)에 저장된 대화 내용에 해쉬값을 매핑하여 저장할 수 있다. 대화 내용 중 어느 하나가 변경되더라도 해쉬값이 달라지므로, 해쉬값은 대화 내용의 오류나 변조를 탐지할 수 있는 무결성 검증을 제공한다. 검증 데이터베이스(300)는 분산 노드들로 구성된 공개된 블록체인 시스템일 수 있으나, 신뢰할 수 있는 시스템에 구현될 수도 있다. 해쉬값은 블록체인 기반 가상화폐에서 사용하는 거래 정보(transaction information, Tx)로 저장되거나 스마트 계약(smart contract)을 통해 저장될 수 있다.
해쉬값(y)은 “채팅방A에 참여자B가 특정 시점에 C메시지를 남겼다”, “채팅방A에 참여자B가 특정 시점에 C메시지를 남겼고, C메시지를 D명이 읽었다(read) 또는 D명이 읽지 않았다(unread)”, “채팅방A에 참여자B가 특정 시점에 C메시지를 남겼고, C메시지를 참여자 D, E, F가 읽었다”, “채팅방A에 참여자B가 특정 시점에 C메시지를 남겼고, C메시지를 참여자 D, E, F가 읽고 G가 읽지 않았다” 등에 해당하는 대화 내용(x)을 해쉬함수(hash function)로 해싱한 값일 수 있다. 이때, 메시징 서버(200)는 대화 내용의 메시지별로 기본 증명 저장 정보와 추가 증명 저장 정보를 구분하고, 기본 증명 저장 정보와 추가 증명 저장 정보 각각의 해쉬값을 등록할 수 있다. 기본 증명 저장 정보는 디폴트로 공개되는 정보이고, 추가 증명 저장 정보는 내용 증명 데이터베이스(230)에 저장되지만 디폴트로 공개되지 않고, 특정 권한의 요청자에게만 공개될 수 있다. 예를 들어, 기본 증명 저장 정보는 “채팅방A에 참여자B가 특정 시점에 C메시지를 남겼다”이고, 추가 증명 저장 정보는 “C메시지를 D명이 읽었다 또는 D명이 읽지 않았다”, “C메시지를 참여자 D, E, F가 읽었다”, 또는 “C메시지를 참여자 D, E, F가 읽고 G가 읽지 않았다” 등일 수 있다.
메시징 서버(200)는 내용 증명 데이터베이스(230)에 내용 증명 요청된 대화 내용이 저장되고, 저장된 대화 내용의 해쉬값이 검증 데이터베이스(300)에 등록 완료된 경우, 내용 증명 데이터베이스(230)에 증명 저장된 위치 정보를 단말A(100)로 전송한다. 위치 정보는 URL 링크 또는 URL이 포함된 QR 코드로 제공될 수 있다. 메시징 서버(200)는 대화 내용이 증명 저장된 위치 정보(URL)와 함께, 증명 저장된 대화 내용을 캡쳐한 증명 저장 이미지를 제공할 수 있다. 증명 저장 이미지에 증명 저장된 위치 정보(URL)를 포함하는 QR 코드가 포함될 수 있다.
대화 내용이 증명 저장된 위치 정보(URL)는 공유될 수 있고, 공유 대상은 다양하게 설정될 수 있다. 예를 들면, 증명 저장된 대화 내용은 URL로 접속하는 모든 사용자, 지정된 사용자, 대화 내용이 생성된 채팅방의 참여자 등과 같이 공유 대상이 설정될 수 있다. 메시징 서버(200)는 증명 저장된 대화 내용별 공유 대상 정보를 기초로 대화 내용별 접근 권한을 설정할 수 있다. 대화 내용을 증명 저장한 Aiden이 자신의 친구 목록이나 채팅방 목록에서 공유 대상을 선택할 수 있다. 대화 내용이 증명 저장된 위치 정보(URL)는 Aiden이 공유 대상에게 전송한 메시지로 전송될 수 있고, 가상의 증명 저장 친구(예를 들면, 카카오톡 플러스 친구, 라인의 공식 계정)가 공유 대상에게 Aiden이 증명 저장한 대화 내용의 위치 정보(URL)를 전송할 수 있다. 또는 인스턴트 메시징 어플리케이션에서만 대화 내용이 증명 저장된 위치 정보(URL)로 접속하도록 한정되지 않는 경우, 메시징 서버(200)가 공유 대상을 식별할 수 있는 정보(예를 들면, 비밀 번호, 전화번호, 이메일 주소)를 설정한 후, 식별 정보를 입력한 단말에 접근 권한을 부여할 수 있다.
메시징 서버(200)는 증명 저장된 대화 내용별 공유 대상 정보 이외에도, 지정된 조건을 기초로 접근 권한을 부여할 수 있다. 즉, 메시징 서버(200)는 특정 조건을 만족하는 대상을 접근 권한자로 설정할 수 있다.
메시징 서버(200)는 접근 권한이 있는 단말B(110)에서 대화 내용이 저장된 위치 정보(URL)로 접속하는 경우, 내용 증명 데이터베이스(230)에서 접속한 위치 정보(URL)에 증명 저장된 대화 내용을 추출하고, 추출한 대화 내용을 단말B(110)로 전송한다. 이때, 메시징 서버(200)는 설정에 따라 내용 증명 데이터베이스(230)에 증명 저장된 대화 내용의 공개 범위를 결정할 수 있다. 예를 들면, 메시징 서버(200)는 추가 증명 저장 정보는 비공개로 설정할 수 있고, 메시지의 기본 증명 저장 정보만을 단말B(110)에 전송할 수 있다.
단말B(110)는 메시징 서버(200)로부터 수신한 증명 저장된 대화 내용을 지정된화면에 표시한다. 단말B(110)는 내용 증명 데이터베이스(230)에 저장된 JSON 포맷의 데이터를 증명 저장 화면에 렌더링하여 표시할 수 있다. 증명 저장된 대화 내용은 단말B(110)에 저장될 수 있다.
메시징 서버(200)는 임의 단말로부터 단말A(100)로부터 전송된 특정 대화 내용에 대한 무결성 검증 요청을 수신할 수 있다. 예를 들어, Aiden이 특정 대화 내용을 전송하면서 증명 저장했다고 주장하는 경우, 이를 수신한 Emma는 특정 대화 내용이 증명 저장된 것인지 확인하기 위해, 메시징 서버(200)로 무결성 검증 요청을 한다. 무결성 검증 요청은 특정 대화 내용을 포함할 수 있다. 특정 대화 내용은 JSON 포맷으로 전송될 수 있으나, JSON 포맷 이외에 해싱할 수 있는 다른 포맷으로 전송될 수 있다. 또는, 무결성 검증 요청은 특정 대화 내용을 메시징 서버(200)가 식별할 수 있는 식별자, 특정 대화 내용이 저장된 위치 정보(URL), 특정 대화 내용의 해쉬값 등을 포함할 수 있고, 위치 정보(URL)이나 해쉬값이 식별자로 사용될 수 있다. 특정 대화 내용을 식별할 수 있는 식별자, 특정 대화 내용이 저장된 위치 정보(URL), 특정 대화 내용의 해쉬값은 증명 저장된 특정 대화 내용에 부가되어 사용자간에 전달되거나, 특정 대화 내용으로부터 동일하게 생성될 수 있다.
메시징 서버(200)는 무결성 검증 요청에 특정 대화 내용이 포함된 경우, 특정 대화 내용을 해쉬함수(hash function)로 해싱한 해쉬값을 생성한다. 메시징 서버(200)는 무결성 검증 요청된 특정 대화 내용으로 생성한 해쉬값과 특정 대화 내용의 증명 저장 시 등록된 해쉬값을 비교하여 특정 대화 내용의 무결성을 검증한다. 특정 대화 내용의 증명 저장 시 등록된 해쉬값은 특정 대화 내용에 부가되어 무결성 검증 요청에 포함되거나, 무결성 검증 요청에 포함된 특정 대화 내용의 식별자를 기초로 메시징 서버(200)나 내용 증명 데이터베이스(230)로부터 추출될 수 있다. 메시징 서버(200)는 특정 대화 내용의 무결성 검증 결과를 Emma 단말로 전송한다.
메시징 서버(200)는 무결성 검증 요청에 특정 대화 내용을 식별할 수 있는 식별자/위치정보(URL)/해쉬값이 포함된 경우, 식별자 등을 이용하여 내용 증명 데이터베이스(230)로부터 증명 저장된 대화 내용을 획득할 수 있다. 메시징 서버(200)는 획득한 대화 내용을 포함하는 무결성 검증 결과를 Emma 단말로 전송한다. Emma 단말은 Aiden으로부터 증명 저장 주장된 특정 대화 내용과, 메시징 서버(200)로부터 획득한 대화 내용을 비교하여, 증명 저장 주장된 특정 대화 내용의 무결성 여부를 표시할 수 있다.
도 2부터 도 4 각각은 한 실시예에 따른 대화 내용을 증명 저장하는 방법의 흐름도이다.
도 2를 참고하면, 메시징 서버(200)는 인스턴트 메시징 어플리케이션이 제공하는 채팅방에서 참여자들이 입력한 메시지들을 챗로그 데이터베이스(210)에 저장한다(S110).
메시징 서버(200)는 단말A(100)로부터 채팅방 대화 내용의 증명 저장 시작을 요청을 받는다(S120). 메시징 서버(200)는 증명 저장이 요청된 채팅방을 특정할 수 있다.
메시징 서버(200)는 챗로그 데이터베이스(210)에서 채팅방 참여자들이 입력한 메시지들의 적어도 일부를 원본 대화 내용으로 추출하고, 추출한 원본 대화 내용을 단말A(100)로 제공한다(S130). 메시징 서버(200)가 추출하는 원본 대화 내용의 범위는 다양하게 설정될 수 있고, 예를 들면, 채팅방의 원본 대화 내용 전체, 증명 저장 시작 시점 전또는 전후에 저장된 일정 수의 연속된 메시지들 또는 일정 시간 동안 저장된 메시지들, 특정 키워드가 포함된 메시지 전후에 저장된 연속된 메시지들, 특정 시점 전후에 저장된 연속된 메시지들로 설정될 수 있다.
메시징 서버(200)는 단말A(100)로부터 원본 대화 내용 중에서 선택된 대화 영역을 수신한다(S140). 단말A(100)는 메시징 서버(200)로부터 수신한 원본 대화 내용을 채팅방과 구분된 증명 저장 화면에 표시할 수 있다.
메시징 서버(200)는 선택된 대화 영역에 해당하는 대화 내용을 추출하여 내용 증명 데이터베이스(230)에 저장한다(S150). 내용 증명 데이터베이스(230)에 저장되는 증명 저장 데이터는 대화 내용에 포함된 메시지 정보를 포함한다. 메시지 정보는 예를 들면, 채팅방 식별자, 메시지 입력자, 메시지 내용, 메시지 타입, 메시지 입력 시점, 메시지를 읽은 참여자 수 및/또는 읽지 않은 참여자 수, 메시지를 읽은 참여자 식별자 및/또는 메시지를 읽지 않은 참여자 식별자를 저장할 수 있다.
메시징 서버(200)는 내용 증명 데이터베이스(230)에 저장한 대화 내용의 무결성 검증을 위한 해쉬값을 검증 데이터베이스(300)에 등록한다(S160). 메시징 서버(200)는 내용 증명 데이터베이스(230)에 저장된 대화 내용에 해쉬값을 매핑하여 저장할 수 있다. 선택된 대화 영역에 해당하는 대화 내용의 해쉬값을 생성하고, 해쉬값과 함께 대화 내용을 내용 증명 데이터베이스(230)에 저장할 수 있다. 아울러, 증명 저장된 대화 내용을 캡쳐한 증명 저장 이미지를 내용 증명 데이터베이스(230)에 저장할 수 있다.
메시징 서버(200)는 내용 증명 데이터베이스(230)에 대화 내용이 증명 저장된 위치 정보를 단말A(100)로 전송한다(S170). 위치 정보는 URL 링크 또는 URL이 포함된 QR 코드로 제공될 수 있다. 메시징 서버(200)는 대화 내용이 증명 저장된 위치 정보(URL)와 함께, 증명 저장된 대화 내용을 캡쳐한 증명 저장 이미지를 단말A(100)로 제공할 수 있다.
메시징 서버(200)는 대화 내용이 증명 저장된 위치 정보(URL)로 접속한 장치에게 증명 저장된 대화 내용을 전송한다(S180). 대화 내용이 증명 저장된 위치 정보(URL)로 접속한 장치는 증명 저장한 단말A(100)이거나, 단말A(100)이 위치 정보(URL)를 공유한 임의 단말일 수 있다. 또는 대화 내용이 증명 저장된 위치 정보(URL)로 접속한 장치는 서버일 수 있다. 메시징 서버(200)는 증명 저장된 대화 내용의 접근 권한을 설정하고, 대화 내용이 저장된 위치 정보(URL)로 접속한 단말이 접근 권한이 있으면, 증명 저장된 대화 내용을 전송할 수 있다.
도 3을 참고하면, 메시징 서버(200)는 단말A(100)로부터 증명 저장된 대화 내용의 공유 요청을 수신한다(S210).
메시징 서버(200)는 공유 요청에 포함된 공유 대상을 식별하고, 공유 대상에게 증명 저장된 대화 내용의 공유 알림 메시지를 전송한다(S220). 공유 대상은 대화 내용을 증명 저장한 사용자의 친구 목록이나 채팅방 목록에서 선택되거나, 연락처 목록에서 선택되거나, 연락처(전화번호나 이메일 주소)로 특정될 수 있다. 공유 알림 메시지는 인스턴트 메시징 어플리케이션의 채팅방에서 단말A(100)가 공유 대상에게 전송한 메시지로 표시되거나, 가상의 증명 저장 친구가 공유 대상에게 전송한 메시지로 표시될 수 있다. 공유 알림 메시지는 문자 메시지나 이메일로 전송될 수 있다. 공유 알림 메시지는 증명 저장된 대화 내용의 위치 정보(URL)를 포함할 수 있다. 공유 알림 메시지는 증명 저장된 대화 내용의 캡쳐 이미지를 더 포함할 수 있다.
메시징 서버(200)는 공유 요청에 포함된 공유 대상을 증명 저장된 대화 내용의 접근 권한자로 설정한다(S230).
메시징 서버(200)는 대화 내용이 증명 저장된 위치 정보(URL)로 임의 단말이 접속한 경우, 접속 단말이 접근 권한자인지 판단한다(S240).
접속 단말이 접근 권한자인 경우, 메시징 서버(200)는 위치 정보(URL)에 증명 저장된 대화 내용을 접속 단말로 전송한다(S250).
접속 단말이 접근 권한자가 아닌 경우, 메시징 서버(200)는 접근 권한 없음을 접속 단말로 전송한다(S260).
도 4를 참고하면, 메시징 서버(200)는 특정 단말로부터 특정 대화 내용에 대한 무결성 검증 요청을 수신한다(S310). 무결성 검증 요청은 모바일 단말 이외에도 서버와 같은 다양한 장치로부터 수신될 수 있다. 무결성 검증 요청은 특정 대화 내용에 부여된 식별자를 더 포함하고, 식별자는 예를 들면, 특정 대화 내용이 증명 저장된 위치 정보(URL)나 증명 저장 시 등록된 특정 대화 내용의 해쉬값 등이 사용될 수 있다.
메시징 서버(200)는 특정 대화 내용을 해쉬함수(hash function)로 해싱한 해쉬값을 획득한다(S320).
메시징 서버(200)는 특정 대화 내용으로 생성된 해쉬값과 특정 대화 내용의 증명 저장 시 등록된 해쉬값을 비교하여 특정 대화 내용의 무결성을 검증한다(S330). 특정 대화 내용의 증명 저장 시 등록된 해쉬값은 무결성 검증 요청에 포함되거나, 무결성 검증 요청에 포함된 특정 대화 내용의 식별자(예를 들면, 위치 정보)를 기초로 메시징 서버(200)나 내용 증명 데이터베이스(230)로부터 추출될 수 있다.
메시징 서버(200)는 특정 대화 내용의 무결성 검증 결과를 요청 단말로 전송한다(S340).
한편, 증명 저장 주장된 특정 대화 내용의 무결성 여부는 다양하게 검증될 수 있다. 예를 들면, 메시징 서버(200)는 무결성 검증 요청된 특정 대화 내용의 식별자를 수신하는 경우, 식별자를 이용하여 내용 증명 데이터베이스(230)로부터 증명 저장된 대화 내용을 획득할 수 있다. 메시징 서버(200)는 획득한 대화 내용을 무결성 검증 요청한 단말로 전송할 수 있다. 무결성 검증 요청한 단말이 증명 저장 주장된 특정 대화 내용과 메시징 서버(200)로부터 수신한 대화 내용을 비교하여, 증명 저장 주장된 특정 대화 내용의 무결성 여부를 표시할 수 있다.
도 5는 한 실시예에 따라 대화 내용 증명 저장으로 진입하기 위한 인터페이스 화면의 예시이다.
도 5를 참고하면, 단말A(100)의 채팅방 인터페이스 화면(400)은 Aiden이 채팅방에서 대화 내용의 증명 저장으로 진입할 수 있는 메뉴를 제공한다. 예를 들면, 인터페이스 화면은 채팅방에서 제공하는 부가 서비스 메뉴 중 “박제” 서비스(가칭) 메뉴(410)를 포함할 수 있다. Aiden은 박제 서비스 메뉴(410)를 선택해서 대화 내용 증명 저장을 시작할 수 있다.
이외에도 Aiden은 증명 저장하고자 하는 메시지를 지정된 동작(예를 들면, 메시지를 강하게 롱터치)으로 선택하여 대화 내용 증명 저장을 시작할 수 있다. 이 경우, 메시징 서버(200)는 지정된 동작이 입력된 메시지를 증명 저장할 대화 내용의 시작점으로 인식하거나, 지정된 동작이 입력된 메시지를 포함하도록 원본 대화 내용에 저장된 메시지들을 추출할 수 있다.
도 6은 한 실시예에 따라 원본 대화 내용 중에서 대화 영역 선택하는 사용자 인터페이스 화면의 예시이다.
도 6의 (a)를 참고하면, 단말A(100)의 인터페이스 화면(500)은 챗로그 데이터베이스(210)에서 추출되어 전송된 원본 대화 내용을 표시한다. 그리고 인터페이스 화면(500)은 원본 대화 내용에서 증명 저장할 대화 영역 선택을 요청한다. 예를 들면, 증명 저장(박제)을 시작할 말풍선을 선택하도록 요청하고, 이후 증명 저장(박제)의 마지막 말풍선을 선택하도록 요청할 수 있다.
인터페이스 화면(500)은 채팅방과 다른 화면에서 수신한 원본 대화 내용을 표시한다. 인터페이스 화면(500)은 웹뷰를 통해 JSON 포맷 등 해싱할 수 있는 포맷으로 저장된 원본 대화 내용을 채팅방 UI로 렌더링하여 표시할 수 있다.
도 6의 (b)를 참고하면, Aiden이 인터페이스 화면(500)에서 일부 대화 영역을 선택한다. 대화 영역 선택 후, Aiden이 증명 저장(박제) 요청 버튼(510)을 선택하면, 단말A(100)는 인터페이스 화면(500)에서 선택된 대화 영역을 메시징 서버(200)로 전송하고 선택된 대화 영역에 대한 증명 저장을 요청할 수 있다.
도 7은 한 실시예에 따라 증명 저장된 대화 내용을 표시하는 사용자 인터페이스 화면의 예시이다.
도 7의 (a)를 참고하면, 단말A(100)의 인터페이스 화면(600)은 내용 증명 데이터베이스(230)에 대화 내용이 증명 저장 완료된 증명 저장 결과 알림 메시지(610)를 표시할 수 있다. 인터페이스 화면(600)은 증명 저장 요청한 채팅방과 다른 채팅방일 수 있고, 예를 들면, 가상의 증명 저장 친구(예를 들면, 카카오톡 플러스 친구, 라인의 공식 계정)가 증명 저장 결과 알림 메시지(610)를 전송하는 화면일 수 있다.
증명 저장 결과 알림 메시지(610)는 내용 증명 데이터베이스(230)에 대화 내용이 증명 저장된 위치 정보(URL)를 포함할 수 있다. 위치 정보(URL)는 표시되거나 숨겨져 있을 수 있다. 위치 정보(URL)는 QR 코드로 제공될 수 있다.
증명 저장 결과 알림 메시지(610)는 증명 저장된 대화 내용을 공유할 수 있는 공유 버튼(611)을 포함할 수 있다.
증명 저장 결과 알림 메시지(610)는 증명 저장된 대화 내용을 확인할 수 있는 증명 저장 결과 바로가기 버튼(613)을 포함할 수 있다.
증명 저장 결과 바로가기 버튼(613)이 선택되면, 도 7의 (b)와 같이, 증명 저장 화면(700)에서 증명 저장된 내용을 표시한다. 증명 저장된 내용은 증명 저장 결과 알림 메시지(610)가 표시된 인터페이스 화면(600)과 다른 인터페이스 화면(700)에 표시될 수 있다.
도 7의 (b)를 참고하면, 인터페이스 화면(700)은 증명 저장된 대화 내용을 캡쳐한 증명 저장 이미지를 표시하거나, 증명 저장된 대화 내용을 채팅방 UI로 렌더링하여 표시할 수 있다. 인터페이스 화면(700)은 채팅방 식별자, 채팅방 참여자, 메시지 입력자, 메시지 내용, 메시지들의 입력 시간 등의 대화 내용을 표시할 수 있고, 화면에 표시되는 정보는 다양하게 결정될 수 있다. 인터페이스 화면(700)은 메시지 입력 시점, 메시지를 읽은 참여자 수 및/또는 읽지 않은 참여자 수, 메시지를 읽은 참여자 식별자 및/또는 메시지를 읽지 않은 참여자 식별자를 더 표시할 수 있다.
채팅방에서 메시지를 입력한 참여자가 탈퇴하거나, 프로필(대화명)을 변경할 수 있으므로, 인터페이스 화면(700)은 증명 저장 시점의 참여자 정보를 그대로 표현하고, 증명 저장된 대화 내용의 식별 정보를 요약적으로 표시할 수 있다. 예를 들면, 인터페이스 화면(700)은 채팅방 참여자 정보와 대화 시간을 요약적으로 표시할 수 있다.
증명 저장 이미지는 다운로드될 수 있다. 증명 저장 이미지는 대화 내용이 증명 저장된 위치 정보(URL)를 포함하는 QR 코드를 포함할 수 있다. 따라서, QR 코드를 포함하는 증명 저장 이미지가 공유될 수 있고, 증명 저장 이미지를 획득한 사용자는 QR 코드를 통해 내용 증명 데이터베이스(230)에 증명 저장된 대화 내용을 열람할 수 있다.
인터페이스 화면(700)은 자세히 보기 버튼(710)과 공유 버튼(730)을 포함할 수 있다.
도 7의 (c)를 참고하면, 인터페이스 화면(700)에서 자세히 보기 버튼(710)이 선택되면, 내용 증명 데이터베이스(230)에 저장된 원본 데이터가 표시된다. 인터페이스 화면(700)은 JSON 포맷으로 저장된 원본 대화 내용을 표시할 수 있고, 원본 대화 내용의 해쉬값을 표시할 수 있다. 이때 해쉬값은 거래 정보(transaction information, Tx)로 표시될 수 있다. 인터페이스 화면(700)은 원본 대화 내용을 다운로드할 수 있는 버튼(750)을 표시할 수 있다. 또한, 인터페이스 화면(700)은 내용 증명 데이터베이스(230)에 저장된 원본 대화 내용을 삭제할 수 있는 파기 버튼(770)을 표시할 수 있다.
도 8은 한 실시예에 따라 증명 저장된 대화 내용을 공유하는 사용자 인터페이스 화면의 예시이다.
도 8의 (a)를 참고하면, 단말A(100)의 증명 저장 화면(700)에서 공유 버튼(730)이 선택된다. 그러면, 도 8의 (b)와 같이, 공유 대상을 선택할 수 있는 공유 대상 선택 화면(790)이 팝업될 수 있다.
공유 대상 선택 화면(790)은 다양하게 구성될 수 있고, 예를 들면, 친구 목록이나 채팅방 목록에서 공유 대상을 선택할 수 있는 화면, 연락처 목록에서 공유 대상을 선택할 수 있는 화면, 연락처(전화번호나 이메일 주소)를 입력할 수 있는 화면 등 다양할 수 있다.
공유 대상 선택 화면(790)에서 입력된 공유 대상 정보는 메시징 서버(200)로 전송된다.
도 8의 (c)를 참고하면, 메시징 서버(200)는 공유 대상 선택 화면(790)에서 Brian이 공유 대상으로 선택된 경우, 단말B(110)로 증명 저장된 대화 내용의 공유 알림 메시지를 전송한다.
단말B(110)의 인터페이스 화면(800)은 수신한 공유 알림 메시지(810)를 표시할 수 있다. 인터페이스 화면(800)은 가상의 증명 저장 친구(예를 들면, 카카오톡 플러스 친구)가 공유 알림 메시지(810)를 전송하는 화면일 수 있다. 또는 인터페이스 화면(800)은 Aiden이 Brian에게 공유 알림 메시지(810)를 전송하는 채팅방 화면일 수 있다.
공유 알림 메시지(810)는 증명 저장한 대화 내용을 공유한 공유자(Aiden) 정보와 증명 저장된 대화 내용을 확인할 수 있는 보러가기 버튼(811)을 포함할 수 있다.
보러가기 버튼(811)이 선택되면, 도 7의 (b)와 같이, 증명 저장된 내용이 표시될 수 있다. 보러가기 버튼(811)이 선택되면, 단말B(110)는 공유 알림 메시지(810)에 포함된 위치 정보(URL)의 서버에 접속한 후, 위치 정보(URL)에 증명 저장된 대화 내용을 획득하고, 이를 채팅방 UI로 렌더링하여 표시할 수 있다. 또는 단말B(110)는 공유 알림 메시지(810)에 포함된 증명 저장 이미지를 표시하거나, 증명 저장 이미지를 저장하는 서버로부터 증명 저장 이미지를 획득하여 표시할 수 있다.
도 9는 한 실시예에 따라 증명 저장된 대화 내용을 관리하는 사용자 인터페이스 화면의 예시이다.
도 9를 참고하면, 단말A(100)는 증명 저장한 대화 내용들을 표시하는 증명 저장 목록 화면(900)을 제공할 수 있다. 증명 저장 목록 화면(900)은 대화 내용이 증명 저장된 정보를 요약적으로 표시할 수 있다. 사용자는 증명 저장 목록 화면(900)에서 특정 대화 내용을 삭제할 수 있다. 삭제 시 내용 증명 데이터베이스(230)에 저장된 대화 내용이 삭제될 수 있다.
증명 저장 목록 화면(900)은 사용자가 증명 저장한 대화 내용뿐만 아니라, 다른 사용자가 증명 저장한 대화 내용을 공유받은 경우, 공유된 대화 내용을 보여줄 수 있다.
증명 저장 목록 화면(900)에서 특정 증명 저장이 선택되면, 도 7의 (b)와 같이, 증명 저장된 내용이 상세하게 표시될 수 있다.
지금까지 인스턴트 메시징 서비스를 예로 들어, 채팅방의 대화 내용을 증명 저장하는 것을 설명하였다. 지금까지 설명한 발명 내용은 사용자가 증명 저장하고자 하는 콘텐츠를 선택할 수 있는 다양한 소셜 미디어 서비스에 응용될 수 있다. 증명 저장되는 대화 내용은 채팅방에서 친구와 주고받은 메시지들로 한정할 필요 없이, 적어도 한 명의 사용자가 누군가가 볼 수 있도록 온라인에 게시한 콘텐츠이면 되고, 온라인에 게시된 콘텐츠를 누군가가 증명 저장할 수 있다.
예를 들면, 단말이 서버에서 제공된 온라인 페이지를 표시하고, 사용자가 화면에서 증명 저장할 적어도 일부 영역을 선택하면, 단말은 선택된 영역 정보를 포함하는 증명 저장 요청을 서버로 전송할 수 있다. 온라인 페이지는 다양한 웹서버/앱서버에서 제공하는 웹페이지/앱페이지일 수 있고, 예를 들면, 다양한 소셜 미디어 서비스 서버에서 제공하는 콘텐츠일 수 있다. 웹페이지/앱페이지에 포함된 콘텐츠는 텍스트, 이미지, 동영상 등 다양한 타입의 데이터로 구성될 수 있다. 웹페이지/앱페이지에 포함된 콘텐츠는 대화 형식으로 메시지를 주고받는 대화형 콘텐츠일 수 있고, 또는 게시형 콘텐츠일 수 있다. 예를 들면, 게시형 콘텐츠는 게시글 내용 및 작성자, 댓글 내용 및 작성자, 게시글이나 댓글에 관련된 인터랙션 정보(예를 들면, 추천, 비추천, 공유 등)로 구성될 수 있다.
서버는 단말에서 선택된 영역 정보에 해당하는 콘텐츠를 해싱하고, 해쉬값을 등록한다. 서버는 증명 저장 요청된 콘텐츠 또는 이의 이미지, 증명 저장 요청된 콘텐츠의 해쉬값 또는 식별자, 증명 저장 요청된 콘텐츠의 저장 위치(URL) 중 적어도 하나를 단말로 전송할 수 있다.
한 실시예에 따르면, 서버는 단말로부터 증명 저장 시작을 수신하는 경우, 현재 단말에 표시된 온라인 페이지의 원본을 단말로 전송하여 증명 저장할 적어도 일부 영역을 선택하도록 요청할 수 있다. 다른 실시예에 따르면, 서버가 단말로부터 증명 저장 요청하는 콘텐츠를 수신하는 경우, 증명 저장 요청된 콘텐츠가 위변조될 수 있다. 따라서, 서버는 증명 저장 요청된 콘텐츠가 자신이 단말로 제공한 콘텐츠인지 확인한 후, 자신이 단말로 제공한 진정한 콘텐츠를 증명 저장할 수 있다. 또 다른 실시예에 따르면, 단말이, 서버가 단말에서 증명 저장 요청된 콘텐츠를 추출할 수 있는 특정 정보(예를 들면, 위치 좌표, 선택된 영역 식별 정보 등)를 서버로 전송하는 경우, 서버는 단말로 제공한 콘텐츠에서 특정 정보에 해당하는 영역의 콘텐츠를 추출한 후, 추출된 콘텐츠를 증명 저장할 수 있다.
이처럼, 증명 저장 서비스 이용자는 특정 시점에 특정 온라인 페이지에 특정 콘텐츠가 표시된 사실을 증명 저장하고, 증명 저장된 콘텐츠를 공유할 수 있으며, 공유한 콘텐츠의 무결성을 입증할 수 있다.
이와 같이, 실시예에 따르면, 사용자는 대화 내용을 손쉽게 증명 저장(박제)하고, 증명 저장한 대화 내용을 언제든지 확인할 수 있도록 관리 및 보관할 수 있으며, 증명 저장된 대화 내용을 다른 사람들과 편리하게 공유할 수 있다.
실시예에 따르면, 사용자는 과거에 채팅방에서 교환된 메시지들까지 증명 저장할 수 있고, 증명 저장에 대한 상대방 동의를 요구할 필요 없고, 증명 저장된 대화 내용에 대해 상대방이 부인할 수 없도록 할 수 있다.
실시예에 따르면, 메시징 서버가 서버측에 저장된 원본 대화 내용을 저장하고, 저장한 대화 내용의 무결성을 검증할 수 있는 해쉬값을 블록체인과 같은 신뢰 시스템에 등록하여, 사용자에 의한 대화 내용 위변조 가능성을 없앨 수 있다. 실시예에 따르면, 증명 저장된 대화 내용을 증거력을 높일 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (20)

  1. 소셜 미디어 서비스를 제공하는 서버가 콘텐츠를 증명 저장하는 방법으로서,
    상기 소셜 미디어 서비스에서 개설된 채팅방들을 통해 교환되는 메시지들을 제1 데이터베이스에 저장하는 단계,
    상기 소셜 미디어 서비스를 이용하는 사용자의 단말로부터 채팅방의 대화 내용에 대한 증명 저장 시작을 요청을 받는 단계,
    상기 채팅방에서 교환된 메시지들이 저장된 상기 제1 데이터베이스에서 상기 증명 저장 시작을 위한 적어도 일부의 연속된 메시지들을 원본 대화 내용으로 추출하고, 상기 원본 대화 내용을 상기 단말로 제공하는 단계,
    상기 단말로부터 상기 원본 대화 내용에서 선택된 대화 영역을 수신하고, 상기 선택된 대화 영역에 해당하는 특정 대화 내용을 제2 데이터베이스에 저장하는 단계,
    상기 특정 대화 내용의 해쉬값을 등록하는 단계, 그리고
    상기 단말로 증명 저장 결과 알림 메시지를 전송하는 단계
    를 포함하는 증명 저장 방법.
  2. 제1항에서,
    상기 특정 대화 내용을 제2 데이터베이스에 저장하는 단계는
    상기 특정 대화 내용에 포함된 각 메시지가 입력된 채팅방 식별자, 각 메시지의 입력자, 각 메시지의 내용, 그리고 메시지 입력 시점을 포함하는 증명 저장 데이터를 저장하는, 증명 저장 방법.
  3. 제2항에서,
    상기 증명 저장 데이터는
    각 메시지를 읽은 참여자 수 및/또는 읽지 않은 참여자 수를 더 포함하거나,
    각 메시지를 읽은 참여자 식별자 및/또는 메시지를 읽지 않은 참여자 식별자를 더 포함하는, 증명 저장 방법.
  4. 제1항에서,
    상기 특정 대화 내용의 해쉬값을 등록하는 단계는
    상기 해쉬값을 블록체인의 거래 정보(transaction information)로 등록하는, 증명 저장 방법.
  5. 제1항에서,
    상기 증명 저장 결과 알림 메시지는
    상기 특정 대화 내용이 상기 제2 데이터베이스에 저장된 위치 정보를 포함하는, 증명 저장 방법.
  6. 제5항에서,
    상기 단말에서 상기 위치 정보로 접속한 경우, 상기 위치 정보에 저장된 상기 특정 대화 내용과 상기 해쉬값을 상기 단말로 전송하는 단계
    를 더 포함하는 증명 저장 방법.
  7. 제1항에서,
    상기 증명 저장 결과 알림 메시지는
    상기 특정 대화 내용을 캡쳐한 증명 저장 이미지를 포함하는, 증명 저장 방법.
  8. 제1항에서,
    상기 단말로부터 상기 제2 데이터베이스에 저장된 상기 특정 대화 내용에 대한 공유 요청을 수신하는 단계, 그리고
    상기 공유 요청에 포함된 공유 대상을 식별하고, 상기 공유 대상의 단말로 상기 특정 대화 내용에 대한 공유 알림 메시지를 전송하는 단계를 더 포함하고,
    상기 공유 알림 메시지는
    상기 특정 대화 내용이 상기 제2 데이터베이스에 증명 저장된 위치 정보를 포함하거나, 상기 특정 대화 내용을 캡쳐한 증명 저장 이미지를 포함하는, 증명 저장 방법.
  9. 제8항에서,
    상기 공유 대상을 상기 특정 대화 내용에 대한 접근 권한자로 설정하는 단계,
    임의 장치로부터 상기 특정 대화 내용에 대한 접근을 요청받으면, 상기 임의 장치가 상기 접근 권한자인지 판단하는 단계, 그리고
    상기 임의 장치가 상기 접근 권한자인 경우, 상기 특정 대화 내용을 상기 임의 장치로 전송하는 단계
    를 더 포함하는 증명 저장 방법.
  10. 제1항에서,
    임의 장치로부터 상기 특정 대화 내용에 대한 접근을 요청받으면, 지정된 조건을 기초로 상기 임의 장치가 접근 권한자인지 판단하는 단계, 그리고
    상기 임의 장치가 상기 접근 권한자인 경우, 상기 특정 대화 내용을 상기 임의 장치로 전송하는 단계
    를 더 포함하는 증명 저장 방법.
  11. 사용자 단말이 콘텐츠를 증명 저장하는 방법으로서,
    서버에 의해 제공되는 채팅방을 표시하고, 입력된 메시지들을 상기 서버로 전송하거나, 상기 채팅방의 참여자들에 의해 입력된 메시지들을 상기 서버로부터 수신하고, 수신한 메시지들을 상기 채팅방의 대화 내용으로 표시하는 단계,
    상기 서버로 상기 채팅방의 대화 내용에 대한 증명 저장 시작을 요청하는 단계,
    상기 서버로부터 상기 채팅방에서 교환된 원본 대화 내용을 수신하는 단계,
    상기 원본 대화 내용을 인터페이스 화면에 표시하고, 상기 원본 대화 내용에서 증명 저장할 대화 영역 선택을 요청하는 단계,
    상기 인터페이스 화면에서 선택된 대화 영역을 상기 서버로 전송하는 단계, 그리고
    상기 서버로부터, 상기 선택된 대화 영역에 해당하는 특정 대화 내용이 지정된 데이터베이스에 저장되고, 상기 특정 대화 내용의 해쉬값이 등록된 결과를 알리는 알림 메시지를 수신하는 단계를 포함하며,
    상기 서버는 상기 채팅방의 참여자들에 의해 입력된 메시지들을 저장하고, 상기 증명 저장 시작을 요청받으면, 상기 채팅방에 대응하여 저장된 적어도 일부의 메시지들을 상기 원본 대화 내용으로 추출하고, 상기 원본 대화 내용을 상기 단말로 제공하고,
    상기 선택된 대화 내용은 연속된 메시지들의 집합으로 구성되는, 증명 저장 방법.
  12. 제11항에서,
    상기 알림 메시지는
    상기 특정 대화 내용이 상기 지정된 데이터베이스에 저장된 위치 정보를 포함하는, 증명 저장 방법.
  13. 제12항에서,
    상기 알림 메시지는
    상기 특정 대화 내용을 캡쳐한 증명 저장 이미지를 더 포함하는, 증명 저장 방법.
  14. 제12항에서,
    상기 위치 정보를 기초로 상기 서버에 접속하는 단계,
    상기 서버로부터 상기 위치 정보에 저장된 상기 특정 대화 내용을 수신하는 단계, 그리고
    상기 특정 대화 내용을 인터페이스 화면에 표시하는 단계
    를 더 포함하는 증명 저장 방법.
  15. 제11항에서,
    상기 서버로, 상기 지정된 데이터베이스에 저장된 상기 특정 대화 내용을 공유 대상에게 공유 요청하는 단계를 더 포함하고,
    상기 특정 대화 내용에 대한 공유 알림 메시지가 상기 공유 대상의 단말로 전송되는, 증명 저장 방법.
  16. 제11항에서,
    상기 지정된 데이터베이스에 증명 저장한 대화 내용들의 목록을 표시하는 단계를 더 포함하는, 증명 저장 방법.
  17. 제11항에서,
    상기 해쉬값은 블록체인에 등록되는, 증명 저장 방법.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020180117853A 2018-10-02 2018-10-02 소셜 미디어 서비스의 콘텐츠를 증명 저장하는 방법, 이를 구현한 서버, 사용자 단말, 그리고 어플리케이션 KR102120419B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180117853A KR102120419B1 (ko) 2018-10-02 2018-10-02 소셜 미디어 서비스의 콘텐츠를 증명 저장하는 방법, 이를 구현한 서버, 사용자 단말, 그리고 어플리케이션

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180117853A KR102120419B1 (ko) 2018-10-02 2018-10-02 소셜 미디어 서비스의 콘텐츠를 증명 저장하는 방법, 이를 구현한 서버, 사용자 단말, 그리고 어플리케이션

Publications (2)

Publication Number Publication Date
KR20200038133A KR20200038133A (ko) 2020-04-10
KR102120419B1 true KR102120419B1 (ko) 2020-06-08

Family

ID=70292059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180117853A KR102120419B1 (ko) 2018-10-02 2018-10-02 소셜 미디어 서비스의 콘텐츠를 증명 저장하는 방법, 이를 구현한 서버, 사용자 단말, 그리고 어플리케이션

Country Status (1)

Country Link
KR (1) KR102120419B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102578909B1 (ko) * 2020-12-18 2023-09-13 주식회사 카카오 저장된 컨텐츠를 공유하는 방법과 서버 및 단말
KR102648350B1 (ko) * 2021-05-18 2024-03-15 주식회사 카카오 서명된 컨텐츠를 전달하는 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101744071B1 (ko) * 2016-04-07 2017-06-07 주식회사 파트너 메시지의 읽음 상태를 확인하는 방법, 사용자 장치 및 서버

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101518509B1 (ko) * 2008-09-03 2015-05-07 엘지전자 주식회사 이동 단말기 및 이를 이용한 대화 내용 저장 방법
KR20140034339A (ko) * 2012-08-23 2014-03-20 삼성전자주식회사 컨텐츠 업로드측 사용자 단말 장치, 컨텐츠 다운로드측 사용자 단말 장치, 서버, 컨텐츠 공유 시스템 및 그들의 컨텐츠 공유 방법
KR20160123752A (ko) * 2015-04-17 2016-10-26 대한민국(관리부서: 행정자치부 국립과학수사연구원장) 스마트폰 화면 캡쳐 이미지 인증 기능을 가지는 스마트폰 및 스마트폰 화면 캡쳐 이미지 인증 방법
KR20160132709A (ko) * 2015-05-11 2016-11-21 주식회사 카카오 채팅 메시지 저장 방법 및 상기 방법을 수행하는 사용자 단말 및 서버

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101744071B1 (ko) * 2016-04-07 2017-06-07 주식회사 파트너 메시지의 읽음 상태를 확인하는 방법, 사용자 장치 및 서버

Also Published As

Publication number Publication date
KR20200038133A (ko) 2020-04-10

Similar Documents

Publication Publication Date Title
US10417725B2 (en) Secure consent management system
US10193844B1 (en) Secure cloud-based messaging and storage
US20160063277A1 (en) Method, apparatus, and media for creating social media channels
US9794200B2 (en) Server device, method, and system
US20140082088A1 (en) Method and apparatus for implementing user relationship in social network application
US8843573B2 (en) Lightweight messaging with location between users of a social networking system
JP5925373B1 (ja) コミュニケーション支援システム
CN101517557A (zh) 用于管理虚拟房间内的资源的方法和装置
EP3105891B1 (en) Instant messaging with non subscriber users
CN110489663B (zh) 一种社交内容控制方法、装置及计算机设备
WO2023071624A1 (zh) 一种基于esop的数据管理方法、系统、设备及介质
KR102120419B1 (ko) 소셜 미디어 서비스의 콘텐츠를 증명 저장하는 방법, 이를 구현한 서버, 사용자 단말, 그리고 어플리케이션
KR20160105019A (ko) Sns 통합 관리 장치 및 방법
JP2015001926A (ja) 文書公開システム及びプログラム
CN105830079A (zh) 认证信息管理系统、认证信息管理设备、程序、记录介质和认证信息管理方法
CN112241544B (zh) 业务系统、访问方法、装置、计算机设备和存储介质
US20180212921A1 (en) Method and system for transmitting text messages
US20110202668A1 (en) Methods for Creating and Using a Telecommunications Link between Two Users of a Telecommunications Network
US11252153B2 (en) Method of providing mutual authentication of contents in social media service, and server, user terminal, and application implementing the method
US20150358318A1 (en) Biometric authentication of content for social networks
KR20160042399A (ko) 연락처 목록 및 미리 지정된 사용자 계정 생성방법
JP2019049925A (ja) 情報処理装置及びプログラム
JP2008282284A (ja) アクセス管理装置およびアクセス管理方法
KR20120018242A (ko) 동영상 프로필의 실시간 업로드를 통한 본인 인증방법
JP6378727B2 (ja) メッセージ送信方法、メッセージ送信用プログラム、及びメッセージ送信装置

Legal Events

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