KR101950073B1 - 비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법 - Google Patents

비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법 Download PDF

Info

Publication number
KR101950073B1
KR101950073B1 KR1020160161050A KR20160161050A KR101950073B1 KR 101950073 B1 KR101950073 B1 KR 101950073B1 KR 1020160161050 A KR1020160161050 A KR 1020160161050A KR 20160161050 A KR20160161050 A KR 20160161050A KR 101950073 B1 KR101950073 B1 KR 101950073B1
Authority
KR
South Korea
Prior art keywords
message
mid
anonymous
server
key
Prior art date
Application number
KR1020160161050A
Other languages
English (en)
Other versions
KR20180025771A (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 명지대학교 산학협력단
Publication of KR20180025771A publication Critical patent/KR20180025771A/ko
Application granted granted Critical
Publication of KR101950073B1 publication Critical patent/KR101950073B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

그룹 대화에서 메시지들 중 적어도 일부를 익명 메시지로 입력하고 공개요청자의 요청에 따라 작성자의 실명을 공개할 수 있는 보안 및 익명 서비스 제공 시스템 및 방법이 개시된다. 익명 메시지 서비스 제공을 위한 메시지 서버는 익명 메시지를 작성한 작성자의 작성자 단말기, 수신자 단말기, 공개요청자 단말기 또는 검증 서버와의 연결 통로를 제공하는 통신부 및 익명 메시지 제공 및 상기 작성자의 실명을 공개하는 동작을 위한 데이터를 상기 작성자 단말기, 상기 수신자 단말기, 상기 공개요청자 단말기 또는 상기 검증 서버로 전송하거나 수신하는 메시지부를 포함한다. 여기서, 상기 익명 메시지를 작성한 작성자의 실명이 상기 작성자가 아닌 공개요청자의 실명 공개 요청에 따라 공개된다.

Description

비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법{SYSTEM AND METHOD OF PROVIDING A SECURITY AND ANONYMITY SERVICE USING SECRET DISTRIBUTION}
본 발명은 비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법에 관한 것이다.
최근, SNS 등 그룹 사용자들 사이에 대화를 할 수 있는 많은 대화 서비스가 존재한다. 이러한 대화 서비스에서 대화시 누가 메시지를 보냈는지가 실명으로 공개된다.
이러한 실명 공개는 범죄 예방 등 많은 부분에서 유리한 점이 있으나, 범죄와 전혀 관계없는 실명으로 보내는 것이 망설여지는 메시지를 대화창에 입력하여야 할 때는 사용자에게 불편을 야기시켰다.
KR 10-2016-0081448 A
본 발명은 그룹 대화에서 메시지들 중 적어도 일부를 익명 메시지로 입력하고 작성자가 아닌 공개요청자의 요청에 따라 작성자의 실명을 공개할 수 있는 보안 및 익명 서비스 제공 시스템 및 방법을 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 익명 메시지 서비스 제공을 위한 메시지 서버는 익명 메시지를 작성한 작성자의 작성자 단말기, 수신자 단말기, 공개요청자 단말기 또는 검증 서버와의 연결 통로를 제공하는 통신부; 및 익명 메시지 제공 및 상기 작성자의 실명을 공개하는 동작을 위한 데이터를 상기 작성자 단말기, 상기 수신자 단말기, 상기 공개요청자 단말기 또는 상기 검증 서버로 전송하거나 수신하는 메시지부를 포함한다. 여기서, 상기 익명 메시지를 작성한 작성자의 실명이 상기 작성자가 아닌 공개요청자의 실명 공개 요청에 따라 공개된다.
본 발명의 다른 실시예에 따른 익명 메시지 서비스 제공을 위한 메시지 서버는 익명 메시지를 작성한 작성자의 작성자 단말기, 수신자 단말기, 공개요청자 단말기 또는 검증 서버와의 연결 통로를 제공하는 통신부; 및 익명 메시지 제공 및 상기 작성자의 실명을 공개하는 동작을 위한 데이터를 상기 작성자 단말기, 상기 수신자 단말기, 상기 공개요청자 단말기 또는 상기 검증 서버로 전송하거나 수신하는 메시지부를 포함한다. 여기서, 상기 메시지부는 상기 실명 공개시 그룹의 멤버들의 단말기들로부터 전송된 상기 익명 메시지 공개와 관련된 조각값들의 개수가 기설정값 이상인 경우 상기 작성자와 관련된 정보를 상기 작성자 단말기, 상기 수신자 단말기 또는 상기 공개요청자 단말기로 전송하며, 상기 그룹의 멤버들의 단말기들은 상기 작성자 단말기, 상기 수신자 단말기 및 상기 공개요청자 단말기를 포함한다.
본 발명의 일 실시예에 따른 익명 메시지 서비스 제공을 위한 검증 서버는 익명 메시지를 작성한 작성자 단말기, 수신자 단말기, 공개요청자 단말기 또는 메시지 서버와의 연결 통로를 제공하는 통신부; 및 익명 메시지 제공 및 상기 익명 메시지의 작성자의 실명을 공개하는 동작을 위한 데이터를 상기 작성자 단말기, 상기 수신자 단말기, 상기 공개요청자 단말기 또는 상기 메시지 서버로 전송하거나 수신하는 메시지부를 포함한다. 여기서, 상기 익명 메시지 작성자의 실명이 상기 작성자가 아닌 공개요청자의 실명 공개 요청에 따라 공개된다.
본 발명의 다른 실시예에 따른 익명 메시지 서비스 제공을 위한 검증 서버는 익명 메시지를 작성한 작성자 단말기, 수신자 단말기, 공개요청자 단말기 또는 메시지 서버와의 연결 통로를 제공하는 통신부; 및 익명 메시지 제공 및 상기 익명 메시지의 작성자의 실명을 공개하는 동작을 위한 데이터를 상기 작성자 단말기, 상기 수신자 단말기, 상기 공개요청자 단말기 또는 상기 메시지 서버로 전송하거나 수신하는 메시지부를 포함하며, 상기 메시지부는 상기 실명 공개시 KEY의 조각을 생성하는 연산식들을 상기 작성자 단말기, 상기 수신자 단말기 및 상기 공개요청자 단말기 중 적어도 하나로 전송한다. 여기서, 상기 작성자 단말기, 상기 수신자 단말기 및 상기 공개요청자 단말기로 전송되는 연산식들이 서로 다르다.
본 발명의 일 실시예에 따른 익명 메시지 서비스를 제공하는 컴퓨팅 장치는 그룹의 사용자 단말기들로 대화창과 관련된 정보를 제공하는 제 1 수단; 상기 사용자 단말기들 중 적어도 하나에서 상기 대화창에 익명 메시지가 입력 가능하고 실명 공개가 가능하도록 익명 메시지 ID 발급 동작, 익명 메시지 전송 요청 동작 및 익명 메시지 배포 동작을 수행하는 제 2 수단; 및 상기 익명 메시지 작성자의 실명이 상기 대화창에 공개 가능하도록 비밀분산 및 익명 메시지 실명 공개 동작을 수행하는 제 3 수단을 포함한다. 여기서, 상기 비밀분산 및 익명 메시지 실명 공개 동작은 익명 메시지 실명 공개 요청 동작, 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화 동작, 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립 동작 및 익명 메시지 실명 공개 동작 중 적어도 하나를 포함한다.
본 발명의 일 실시예에 따른 메시지 서버에서의 익명 메시지 서비스 제공 방법은 익명 메시지를 작성한 작성자 단말기, 수신자 단말기, 공개요청자 단말기 또는 검증 서버와 상기 메시지 서버를 연결하는 단계; 및 익명 메시지 ID 발급을 위한 데이터, 익명 메시지 전송 요청을 위한 데이터, 상기 익명 메시지를 배포하기 위한 데이터, 익명 메시지 실명 공개 요청을 위한 데이터, 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화를 위한 데이터, 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립을 위한 데이터 및 익명 메시지 실명 공개를 위한 데이터 중 적어도 하나를 상기 작성자 단말기, 상기 수신자 단말기, 상기 공개요청자 단말기 또는 상기 검증 서버와 송수신하는 단계를 포함한다. 여기서, 상기 익명 메시지 작성자의 실명이 공개요청자의 실명 공개 요청에 따라 공개된다.
본 발명의 일 실시예에 따른 검증 서버에서의 익명 메시지 서비스 제공 방법은 익명 메시지를 작성한 작성자 단말기, 수신자 단말기, 공개요청자 단말기 또는 메시지 서버와 상기 검증 서버를 연결하는 단계; 및 익명 메시지 ID 발급을 위한 데이터, 익명 메시지 전송 요청을 위한 데이터, 상기 익명 메시지를 배포하기 위한 데이터, 익명 메시지 실명 공개 요청을 위한 데이터, 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화를 위한 데이터, 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립을 위한 데이터 및 익명 메시지 실명 공개를 위한 데이터 중 적어도 하나를 상기 작성자 단말기, 상기 수신자 단말기, 상기 공개요청자 단말기 또는 상기 메시지 서버와 송수신하는 단계를 포함한다. 여기서, 상기 익명 메시지 작성자의 실명이 공개요청자의 실명 공개 요청에 따라 공개된다.
본 발명의 일 실시예에 따른 컴퓨팅 장치에서 익명 메시지 서비스를 제공하는 방법은 그룹의 사용자 단말기들로 대화창과 관련된 정보를 제공하는 단계; 상기 사용자 단말기들 중 적어도 하나에서 상기 대화창에 익명 메시지가 입력 가능하고 실명 공개가 가능하도록 익명 메시지 ID 발급 동작, 익명 메시지 전송 요청 동작 및 익명 메시지 배포 동작 중 적어도 하나를 수행하는 단계; 및 상기 익명 메시지 작성자의 실명이 상기 대화창에 공개 가능하도록 비밀분산 및 익명 메시지 실명 공개 동작을 수행하는 단계를 포함한다. 여기서, 상기 비밀분산 및 익명 메시지 실명 공개 동작은 익명 메시지 실명 공개 요청 동작, 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화 동작, 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립 동작 및 익명 메시지 실명 공개 동작 중 적어도 하나를 포함한다.
본 발명에 따른 보안 및 익명 서비스 제공 시스템 및 방법은 익명 메시지를 대화창으로 입력할 수 있으므로, 자신을 노출시키길 원하지 않을 때 유용하게 활용할 수 있고, 대화 서비스에 새로운 흥미를 부여할 수 있다. 서비스 사업자 관점에서는, 익명 서비스를 제공하는 시스템은 새로운 흥미의 창출로 가입자의 증가를 유도할 수 있다.
또한, 상기 시스템이 모든 익명 메시지를 암호화하여 전송하고 메시지에 대한 익명성을 보장하기 위해 메시지 서버와 검증 서버를 분리하여 구성하므로, 기밀성(confidentiality), 무결성(integrity), 익명성(anoymity), 재전송 공격(replay attack) 방지 및 중간자 공격(man-in-the-middle attack) 방지를 제공할 수 있다.
게다가, 상기 시스템은 공개요청자의 실명 공개 요청에 따라 작성자의 실명을 공개시킬 수 있으므로, 작성자는 익명성을 보장받을 수 있고 그룹의 다른 멤버들은 상기 작성자의 실명을 원할때 확인할 수 있다. 물론, 실명 공개 요청에 따른 작성자의 실명 공개는 예를 들어 멤버들의 과반수 이상의 동의에 의해 이루어질 수 있다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 익명 서비스를 제공하는 과정을 도시한 도면들이다.
도 3은 본 발명의 일 실시예에 따른 익명 서비스를 제공하는 시스템을 개략적으로 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 메시지 서버(MS), 검증 서버(VS), 작성자, 수신자 및 공개요청자가 보유한 키들을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 익명 메시지 ID 발급 과정을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 익명 메시지 전송 요청 과정을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 익명 메시지 배포 과정을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 익명 메시지 실명 공개 요청 과정을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화 과정을 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립 과정을 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따른 익명 메시지 실명 공개 과정을 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른 메시지 서버를 도시한 블록도이다.
도 13은 본 발명의 일 실시예에 따른 검증 서버를 도시한 블록도이다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
본 발명은 SNS, 채팅 어플리케이션, 메신저, 게시판 등과 같이 사용자들이 대화를 주고받을 수 있는 대화 서비스에서 메시지 보안과 익명 서비스를 제공하는 시스템 및 방법을 제공한다.
특히, 본 발명의 시스템은 그룹 대화 서비스에서 강한 보안을 유지하면서 익명으로 메시지를 제공하고 추후 그룹 멤버들이 메시지 작성자에 대한 공개를 요청하였을 때 일정 조건(예를 들어, 그룹 멤버들 중 과반수 이상의 동의)이 만족되면 작성자를 공개시킬 수 있는 기술을 제안한다.
또한, 보안 관점에서, 본 발명의 시스템은 기밀성(confidentiality), 무결성(integrity), 익명성(anoymity) 및 인증성 등을 제공할 수 있다.
종래의 대화 서비스에서는 익명 메시지로 대화할 수 있는 기능이 전혀 없었다. 익명 메시지로 대화할 수 있는 익명 서비스를 제공하면, 자신을 노출시키길 원하지 않을 때 유용하게 활용할 수 있고, 대화 서비스에 새로운 흥미를 부여할 수 있다. 서비스 사업자 관점에서는, 익명 서비스를 제공하는 시스템은 새로운 흥미의 창출로 가입자의 증가를 유도할 수 있다.
한편, 종래의 대화 서비스 중 일부 서비스는 비밀 대화 서비스를 제공하였다. 비밀 대화 서비스는 대화창에 입력된 모든 메시지가 저장되지 않고 사라지는 서비스로서, 비밀 대화 서비스의 대화창에 메시지 입력시 모든 메시지가 실명으로 입력된다. 즉, 종래의 대화 서비스는 대화창에서 익명으로 메시지를 입력할 수 있는 본 발명과 다르다.
한편, 본 발명의 익명 메시지는 모두 해당 서버에 저장될 수도 있고 저장되지 않을 수도 있다. 다만, 익명 메시지가 실명 메시지로 전환되면, 상기 실명 메시지는 해당 서버에 일정 기간 저장될 수 있다.
이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술하겠다.
도 1 및 도 2는 본 발명의 일 실시예에 따른 익명 서비스를 제공하는 과정을 도시한 도면들이다. 도 1 및 도 2는 예를 들어 SNS에서의 대화창을 도시한다.
도 1을 참조하면, 대화창(100)에서 그룹 멤버들(A, B, D 등, 이하 "사용자들"이라 함)이 대화 영역(110)에 메시지를 입력하여 대화를 주고받고 있다. 메시지의 입력은 메시지 입력 영역(112)에 메시지를 입력하고 전송 버튼(114)을 선택함에 의해 실행된다.
대화 영역(110)을 살펴보면, 사용자들 중 특정인이 익명 메시지(120a), "C양 나와?" 메시지를 입력하였음을 확인할 수 있다. 메시지가 입력되었음에도 어느 사용자가 입력하였는지를 대화 영역(110)에서 전혀 확인할 수가 없다.
일 실시예에 따르면, 익명 메시지(120a)는 메시지 입력 영역(112)에 메시지를 입력하고, 익명 버튼(116) 및 전송 버튼(114)을 선택함에 의해 대화 영역(110)으로 입력될 수 있다.
다른 실시예에 따르면, 익명 메시지(120a)는 메시지 입력 영역(112)에 메시지를 입력하고, 메시지 위에 마우스를 위치시킨 후 오른쪽 버튼을 누름에 의해 활성화되는 메뉴 중 익명 메시지 메뉴를 선택하고 전송 버튼(114)을 선택함에 의해 대화 영역(110)으로 입력될 수도 있다.
또 다른 실시예에 따르면, 익명 메시지(120a)는 메시지 입력 영역(112)에 입력하여 전송 버튼(114)을 누르면 "익명 메시지로 메시지를 입력할까요?"라는 문의가 활성화되고 "YES"를 선택함에 의해 대화 영역(110)으로 입력될 수도 있다.
또 다른 실시예에 따르면, 익명 메시지로 메시지를 보내도록 환경 설정에서 설정된 후, 사용자가 메시지 입력 영역(112)에 메시지를 입력하고 전송 버튼(114)을 선택함에 의해 대화 영역(110)으로 입력될 수 있다.
즉, 익명 메시지(120a)의 입력 방법은 다양하게 변형될 수 있으며, 익명으로 메시지를 대화 영역(110)으로 입력할 수 있는 한 익명 메시지(120a) 입력 방법은 다양하게 변형될 수 있다. 특히, 익명 메시지(120a)의 입력을 위한 사용자 인터페이스(User Interface, UI)의 표시 형태, 배열, 설정 등은 서비스 제공자 또는 사용자의 편의성을 고려하여 다양하게 변형될 수 있다.
다음으로, 사용자들 중 한명(공개요청자)이 실명 공개를 요청하고 특정 조건이 만족되면, 익명 메시지(120a)가 실명 메시지(120b)로 변경될 수 있다. 여기서, 실명(도 2에서는 "D")은 사용자의 이름, 이미지 또는 캐릭터 등 사용자를 표시하는 모든 개체를 포함한다. 또한, 공개 버튼(118)의 선택은 공개요청자에 의한 실명 공개 요청으로 인식될 수 있다.
실명 공개는 대화 영역(110)에 이미 입력한 익명 메시지들 전부를 실명 메시지로 전환하는 기술, 상기 익명 메시지들 중 상기 공개요청자에 의해 요청된 익명 메시지만 실명 메시지로 전환하는 기술 등을 포함할 수 있다.
한편, 공개 버튼(118)을 선택하는 방법 외에도 마우스를 이용하는 방법, 환경 설정을 활용하는 방법 등 다양한 방법이 실명 공개 요청을 위해 사용될 수 있다.
또한, 실명 메시지(120b)의 제공을 위한 UI의 표시 형태, 배열, 설정 등도 서비스 제공자 또는 사용자의 편의성을 고려하여 다양하게 변형될 수 있다.
정리하면, 본 실시예의 시스템은 기존 기술에 없었던 새로운 기술로서, 익명으로 메시지를 입력하고 그룹 멤버들 중 익명 메시지 작성자를 제외한 일인이 실명 공개를 요청하였을 때 작성자의 실명을 공개하는 서비스를 제공한다. 물론, 메시지는 강한 보안을 유지하면서 송수신된다. 이에 대한 자세한 설명은 후술하겠다.
도 3은 본 발명의 일 실시예에 따른 익명 서비스를 제공하는 시스템을 개략적으로 도시한 도면이다.
도 3을 참조하면, 본 실시예의 시스템은 서버단(300) 및 복수의 단말기들(302-1,..,302-N)을 포함할 수 있다. 여기서, 서버들(310 및 312) 및 단말기들(302-1,..,302-N)은 내부 프로세서를 통하여 메시지 등을 처리한다는 점에서, 컴퓨팅 장치로 통칭될 수 있다.
서버단(300)은 예를 들어 메시지 서버(Message server, MS, 310) 및 검증 서버(Verification server, VS, 312)를 포함할 수 있으나, 하나의 서버로 구현될 수도 있다. 물론, 익명성 측면에서는, 메시지 서버(310)와 검증 서버(312)는 구분하여 설치되는 것이 바람직하다.
또한, 서버단(300)은 단말기들(302-1,..,302-N)과 무선 또는 유선으로 연결될 수 있다.
메시지 서버(310)는 SNS 등의 대화 서비스에서의 대화와 관련된 기본적인 기능을 제공하며, 예를 들어 메시지 브로드캐스트, 메시지에 대한 보관, 암복호화를 위한 키 관리, 사용자 계정 관리, 실명 검증 요청, 실명 공개, 비밀 분산의 key 조각 재조립 등의 역항을 수행한다.
검증 서버(312)는 메시지 아이디(MID) 및 메시지 아이디 발급 시간(TS(MID))에 대한 생성 및 관리, 암복호화를 위한 키 관리, 메시지 서버(310)가 요청하는 실명 공개에 대한 검증, 비밀분산 key 조각 생성 및 분배 등의 역할을 수행한다.
단말기들(302-1,..,302-N)은 그룹의 멤버들, 즉 사용자들이 사용하는 단말기들로서, 스마트폰, 태블릿 PC, 노트북, 개인용 PC, TV 등 메시지로 대화를 주고받을 수 있는 모든 단말기를 포함한다.
이러한 사용자들은 일반 메시지 또는 익명 메시지를 작성하는 작성자, 익명 메시지의 공개를 요청하는 공개요청자, 및 작성자가 작성한 메시지를 수신하고 공개 요청에 대한 의사 결정을 통하여 비밀분산 key 조각의 생성 및 전달 여부를 결정하는 수신자로 분류될 수 있다. 즉, 그룹 대화시 각 사용자들은 작성자, 공개요청자 또는 수신자가 될 수 있다.
이하, 본 발명의 보안 및 익명 서비스 제공 방법을 첨부된 도면들을 참조하여 상술하겠다.
도 4는 본 발명의 일 실시예에 따른 메시지 서버(MS), 검증 서버(VS), 작성자, 수신자 및 공개요청자가 보유한 키들을 도시한 도면이다. 설명의 편의를 위하여, 메시지 서버(MS) 및 검증 서버(VS)의 도면 부호는 생략하고, 작성자 단말기, 수신자 단말기 및 공개요청자 단말기를 작성자, 수신자 및 공개요청자로 기재하겠다.
본 발명의 보안 및 익명 서비스 제공 과정을 설명하기 전, 전제 및 각 엘리먼트들의 특성을 먼저 살펴보겠다.
1.1 전제
(1) MS, VS, 작성자, 공개요청자 및 수신자 모두는 각각의 공개키와 개인키를 가지고 있다.
(2) 같은 그룹 내의 MS, VS, 작성자, 공개요청자 및 수신자는 동일한 그룹키 (GK)를 공유하며, 그룹키 (GK)를 그룹 내 전달되는 메시지의 암복호화에 사용한다.
(3) 작성자, 공개요청자 및 수신자는 VS와 상호간의 대칭키 (KVS-USER)를 공유한다.
(4) 작성자, 공개요청자 및 수신자는 MS와 상호간의 대칭키 (KMS-USER)를 공유한다.
(5) MS와 VS는 상호간의 대칭키 (KMS-VS)를 공유한다.
결과적으로 한 그룹 내의 컴포넌트들이 가지고 있는 키들은 도 4에 도시된 바와 같다.
일 실시예에 따르면, 작성자, VS 및 MS는 메시지들에 대한 정보를 하기와 같은 DB 테이블들에 저장한다.
작성자는 자신이 작성한 메시지 정보를 다음의 DB 테이블에 저장한다. 여기서, MID는 메시지 ID, TS는 time stamp, TEXT는 메시지 내용, Msg_no는 메시지 번호, Seg[i](KEY)는 비밀분산을 통해 KEY의 조각을 생성하는 연산식이다.
Figure 112016117297457-pat00001
[ 작성자의 DB 테이블 ]
VS의 DB 테이블은 다음과 같다. 여기서, UID는 작성자 ID, H( )는 해시함수, KEY는 암/복호화 키 값, KEY(UID)는 KEY를 이용하여 UID를 암호화한 값이다.
Figure 112016117297457-pat00002
[ VS의 DB 테이블 ]
MS의 DB 테이블은 다음과 같다. 여기서, Segment[1-N]는 비밀분산을 통해 생성한 KEY값을 복원할 수 있는 조각 값이다.
Figure 112016117297457-pat00003
[ MS의 DB 테이블 ]
1.2 프로토콜
프로토콜은 익명 메시지에 대한 작성자의 익명성 보장과 추후 익명 메시지를 작성한 작성자에 대한 공개 요청에 따라 일정 조건 만족시 익명 메시지 작성자를 공개한다. 또한, 그룹 내의 멤버만이 메시지 수신 및 작성이 가능하다.
일 실시예에 따르면, 상기 프로토콜은 크게 7단계의 과정으로 구분된다. 프로토콜에 사용되는 기호는 하기 표 1과 같다.
기호 설명
MS 메시지 서버
VS 검증 서버
USER[A] 작성자
USER[X] 수신자
USER[O] 공개요청자
KVS-USER[A] 검증 서버와 작성자 사이의 대칭키
KVS-USER[A-Z] 검증 서버와 각각 전체 USER 사이의 대칭키
KMS-VS 메시지 서버와 검증 서버 사이의 대칭키
KMS-USER[A] 메시지 서버와 작성자 사이의 대칭키
KMS-USER[O] 메시지 서버와 공개요청자 사이의 대칭치
KPUB_MS 메시지 서버의 공개키
KMS-USER[A-Z] 메시지 서버와 각각 전체 USER 사이의 대칭키
UID 작성자 ID
MID 메시지 ID
TS(MID) 메시지 ID 발급 시간
TEXT 메시지 내용
Msg_no 메시지 번호
TS(SEND) 메시지 작성 시간
TABLE_A 작성자의 데이터베이스 테이블
TABLE_VS 검증 서버의 데이터베이스 테이블
TABLE_MS 메시지 서버의 데이터베이스 테이블
GK 그룹에 속해있는 사람들이 공통적으로 가지고 있는 그룹키
H(*) 해시함수
KEY 암/복호화 키 값
KEY(UID) KEY를 이용하여 UID값을 암호화한 값
Seg[i](KEY) 비밀분산을 통해 KEY의 조각을 생성하는 연산식
Segment[i] 비밀분산을 통해 생성한 KEY값을 복원할 수 있는 조각 값
이하, 위의 기호들을 참조하여 프로토콜의 7단계 과정들을 첨부된 도면들을 참조하여 살펴보겠다.
도 5는 본 발명의 일 실시예에 따른 익명 메시지 ID 발급 과정을 도시한 도면이며, 도 6은 본 발명의 일 실시예에 따른 익명 메시지 전송 요청 과정을 도시한 도면이다. 도 7은 본 발명의 일 실시예에 따른 익명 메시지 배포 과정을 도시한 도면이며, 도 8은 본 발명의 일 실시예에 따른 익명 메시지 실명 공개 요청 과정을 도시한 도면이다. 도 9는 본 발명의 일 실시예에 따른 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화 과정을 도시한 도면이고, 도 10은 본 발명의 일 실시예에 따른 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립 과정을 도시한 도면이며, 도 11은 본 발명의 일 실시예에 따른 익명 메시지 실명 공개 과정을 도시한 도면이다.
이하, 설명의 편의를 위하여 작성자, 공개요청자 및 수신자로 이루어진 그룹내에서 작성자가 익명 메시지를 작성하고, 추후 공개요청자가 익명메시지에 대한 작성자 공개를 요청하며, 실명 공개 조건이 그룹 멤버들 중 과반수 이상이라고 가정한다. 또한, 작성자(작성자의 단말기, USER[A])는 302-1로 가정하고, 공개요청자(공개요청자의 단말기, USER[O])는 302-K, 수신자(수신자의 단말기, USER[X])는 302-N으로 가정하겠다.
1.2.1 익명 메시지 ID 발급 과정
작성자(302-1)가 익명 메시지 작성을 위해 검증 서버(312)에 메시지 ID 발급을 요청한다. 작성자(302-1)는 메시지 내용을 작성하고 추후 실명 공개를 위해서 추가 정보를 생성 및 저장한다. 모든 과정은 작성자(302-1)와 검증 서버(312)가 공유하는 대칭키(KVS-USER[A])로 암복호화된다.
도 5를 참조하여 구체적으로 살펴보면,
단계 (1)에서, 익명의 메시지를 작성하려는 작성자(302-1)가 검증 서버(312)에 익명메시지 작성에 필요한 메시지 아이디 발급을 요청한다. 예를 들어, 작성자(302-1)는 자신의 UID와 timestamp(TS)를 작성자(302-1)와 검증 서버(312)가 공유하는 대칭키(KVS-USER[A])로 암호화하여 검증 서버(312)로 전송한다.
단계 (2)에서, 검증 서버(312)는 TS로 유효성을 체크하고(재전송공격여부 등), 유효한 경우 고유의 메시지 ID(MID)와 MID 생성시간 timestamp(TS(MID))를 생성한다.
단계 (3)에서, 검증 서버(312)는 UID, MID 및 TS(MID)를 자신의 DB 테이블(TABLE_VS)에 저장한다.
단계 (4)에서, 검증 서버(312)는 MID 및 TS(MID)를 작성자(302-1)와 공유하는 대칭키(KVS-USER[A])로 암호화하여 작성자(302-1)에게 전송한다.
단계 (5)에서, 작성자(302-1)는 상기 전송한 MID 및 TS(MID)를 자신의 DB 테이블(TABLE_A)에 저장한다.
단계 (6)에서, 작성자(302-1)는 메시지 내용(TEXT)를 작성하고 자신의 DB 테이블(TABLE_A)에 저장한다.
단계 (7)에서, 작성자(302-1)는 MID와 TEXT의 해시값(H(MID:TEXT))과 timestamp(TS)를 대칭키(KVS-USER[A])로 암호화하여 검증 서버(312)로 전송한다.
단계 (8)에서, 검증 서버(312)는 TS로 유효성을 체크하고(재전송공격여부 등), 유효한 경우 H(MID:TEXT)를 자신의 DB 테이블(TABLE_VS)에 저장한다.
1.2.2 익명 메시지 전송 요청 과정
본 과정은 작성자(302-1)가 익명 메시지를 그룹의 멤버들에게 배포하기 위하여, 상기 익명 메시지를 메시지 서버(310)에 전달하는 과정이다.
도 6을 참조하여 구체적으로 살펴보면,
단계 (9)에서, 작성자(302-1)는 MID, TEXT, 메시지 작성시간 timestamp (TS(send)) 및 작성자(302-1)와 검증 서버(312) 사이의 대칭키(KVS-USER[A]), MID와 TS(MID)의 해시값(H(KVS-USER[A], MID, TS(MID)))을 메시지 서버(310)의 공개키(Kpub_MS)로 암호화하여 메시지 서버(310)로 전송한다. 이 때, 메시지 서버(310)는 누구로부터 메시지를 전달받았는지 파악할 수 없다.
단계 (10)에서, 메시지 서버(310)는 고유의 메시지 번호(Msg_no)를 생성하고, Msg_no, MID, TEXT, TS(send) 및 H(KVS-USER[A], MID, TS(MID))를 자신의 DB 테이블(TABLE_MS)에 저장한다.
단계 (11)에서, 메시지 서버(310)는 MID와 TEXT의 해시값(H(MID:TEXT))을 생성하고 자신의 DB 테이블(TABLE_MS)에 저장한다.
1.2.3 익명 메시지 배포 과정
본 과정은 메시지 서버(310)가 전달받은 익명 메시지가 유효한 메시지인지 검증 서버(310)를 통해 검증하고 그룹 내 사용자들에(작성자, 수신자 및 공개요청자)게 배포하는 과정이다.
도 7을 참조하여 구체적으로 살펴보면,
단계 (12)에서, 메시지 서버(310)는 MID 및 H(MID:TEXT)를 메시지 서버(310)와 검증 서버(312)가 공유하는 대칭키(KMS_VS)로 암호화하여 검증 서버(312)로 전송한다.
단계 (13)에서, 검증 서버(312)는 수신한 H(MID:TEXT)를 자신의 DB 테이블(TABLE_VS)에 저장된 H(MID:TEXT)값과 비교하여 동일한지 확인한다.
단계 (14)에서, 검증 서버(312)는 비교 결과와 MID를 대칭키(KMS_VS)로 암호화하여 메시지 서버(310)로 전송한다.
단계 (15)에서, 메시지 서버(310)는 검증 서버(312)로부터 전달받은 익명의 메시지 검증 결과를 확인하고 유효하지 않은 메시지 일 경우 모든 사용자들에게 오류 결과를 전달하고 TABLE_MS의 해당 메시지 ID의 레코드를 삭제 후 종료한다. 반면에, 메시지 서버(310)는 유효한 메시지 일 경우 다음 단계로 진행한다.
단계 (16)에서, 메시지 서버(310)는 그룹내 사용자들이 공유하는 그룹키(GK)로 메시지 내용, 메시지 번호, 메시지 전송시간, 메시지 내용, 메시지 번호 및 메시지 전송시간을 이용하여 생성된 해시값을 암호화하여 그룹 내 사용자들(작성자, 수신자 및 공개요청자)에게 배포한다. 여기서, 해시값은 무결성 검증을 위해 사용된다.
1.2.4 익명 메시지 실명 공개 요청 과정
본 과정은 익명 메시지를 작성한 작성자(302-1)가 아닌 그룹 내 사용자들 중 한명인 공개요청자(302-K)가 익명 메시지의 작성자의 실명을 공개 요청할 때 메시지 서버(310)와 검증 서버(312)를 통해 수행되는 실명 공개 요청 과정이다.
도 8을 참조하여 구체적으로 살펴보면,
단계 (17)에서, 공개요청자(302-K)는 익명 메시지의 작성자(302-1)에 대한 실명 공개 요청을 위하여 Msg_no, TS(Send) 및 TS를 공개요청자(302-K)와 메시지 서버(310)가 공유하는 대칭키 (KMS-USER[O])로 암호화하여 메시지 서버(310)로 전송한다.
단계 (18)에서, 메시지 서버(310)는 Msg_no, TS(Send) 및 TS로 유효성을 체크하고(재전송공격여부 등), 유효한 경우 자신의 DB 테이블(TABLE_MS)을 참조하여 해당 MID 및 TS(MID)를 자신과 검증 서버(312)가 공유하는 대칭키 (KMS-VS)로 암호화하여 검증 서버(312)로 전송한다.
1.2.5 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화 과정
본 과정은 익명 메시지 실명 공개 요청 처리를 위해 검증 서버(312)가 메시지 서버(310)와 그룹 내 모든 사용자들(작성자, 수신자, 공개요청자)에게 비밀분산(K, N) 처리를 위해 KEY를 조각화하고 배포하는 과정이다.
도 9를 참조하여 구체적으로 살펴보면,
단계 (19)에서, 검증 서버(312)는 암/복호화 키(KEY)를 임의로 생성하고 메시지 서버(310)로부터 전달받은 MID와 TS(MID)에 해당하는 자신의 DB 테이블(TABLE_VS)의 레코드에 KEY를 저장한다. 예를 들어, 검증 서버(312)는 해당 레코드의 UID를 암/복호화 키로 암호화한 KEY(UID)를 저장한다. 또한, 검증 서버(312)는 비밀분산을 통해 KEY의 조각을 생성하는 연산식들(Seg[1](KEY),…,Seg[N](KEY))을 생성하고 저장한다.
단계 (20)에서, 검증 서버(312)는 자신과 메시지 서버(310)가 공유하는 대칭키 (KMS_VS)로 Msg_no 및 KEY(UID)를 암호화하여 메시지 서버(310)로 전송한다.
단계 (21)에서, 메시지 서버(310)는 전달받은 Msg_no 및 KEY(UID)를 자신의 DB 테이블(TABLE_MS)의 해당 레코드에 저장한다.
단계 (22)에서, 검증 서버(312)는 그룹 내 모든 사용자[1,…,N]에게 Msg_no와 해당하는 서로 다른 Seg[1-N](KEY)를 자신과 각 사용자 사이의 대칭키(KVS_USER[A-Z])로 암호화하여 그룹 내 모든 사용자에게 전송한다.
단계 (23)에서, 그룹내 모든 사용자(작성자, 수신자 및 공개요청자)는 상기 전송된 Seg[i](KEY)를 자신의 DB 테이블에 저장한다.
1.2.6 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립 과정
본 과정은 익명 메시지 실명 공개 요청 처리를 위해 그룹 내 모든 사용자(작성자, 수신자, 공개요청자)가 공개 여부를 선택하고 메시지 서버(310)가 그룹 내 모든 사용자로부터 조각을 전달받아 재조립하는 과정이다.
도 10을 참조하여 구체적으로 살펴보면,
단계 (24)에서, 그룹 내 모든 사용자(작성자, 수신자, 공개요청자)는 Msg_no에 해당하는 TEXT를 확인 후 공개 여부를 선택한다.
단계 (25)에서, 그룹 내 모든 사용자(작성자, 수신자, 공개요청자) 중 공개를 원하는 사용자는 자신의 Seg[i](KEY)를 이용하여 KEY를 복원할 수 있는 조각 값(Segment[i])을 생성한다.
단계 (26)에서, Segment[i]를 생성한 사용자는 Msg_no와 Segment[i]를 자신과 메시지 서버(310) 사이의 대칭키(KVS_USER[A-Z])로 암호화하여 메시지 서버(310)로 전송한다.
단계 (27)에서, 메시지 서버(310)는 해당 Msg_no의 레코드에 Segment들을 저장한다.
단계 (28)에서, 메시지 서버(310)는 전달받은 Segment[1-N]가 K개 이상일 경우 비밀분산(K, N)를 이용하여 KEY를 계산하고 저장한다. 여기서, K는 그룹 내 멤버들의 과반수에 해당하는 숫자일 수 있다.
단계 (29)에서, 메시지 서버(310)는 KEY와 KEY(UID)를 이용하여 자신의 DB 테이블(TABLE_MS)로부터 UID를 추출한다.
1.2.7 익명 메시지 실명 공개 과정
본 과정은 그룹 내 K명 이상의 사용자들의 익명 메시지의 작성자(302-1) 공개를 선택하였을 때 수행되는 과정이다.
도 11을 참조하여 구체적으로 살펴보면,
단계 (30)에서, 메시지 서버(310)는 상기 추출된 UID를 이용하여, 자신의 DB 테이블을 참조하여 해당 MID, UID 및 TS(MID)를 자신과 검증 서버(312)가 공유하는 대칭키 (KMS_VS)로 암호화하여 검증 서버(312)로 전송한다.
단계 (31)에서, 검증 서버(312)는 해시값(H(KVS_USER[A], MID, TS(MID)))을 생성한다.
단계 (32)에서, 검증 서버(312)는 MID 및 H(KVS_USER[A], MID, TS(MID))를 자신과 메시지 서버(310)가 공유하는 대칭키 (KMS-VS)로 암호화하여 메시지 서버(310)로 전송한다.
단계 (33)에서, 메시지 서버(310)는 상기 전송된 H(KVS_USER[A], MID, TS(MID))를 상기 전송된 MID에 해당하는 DB 테이블의 레코드의 H(KVS_USER[A], MID, TS(MID))와 비교하며, 비교 결과 일치하면 해당 UID를 사용하는 사용자가 해당 익명 메시지를 작성하였음을 확인할 있다. 반면에, 메시지 서버(310)는 불일치하면 본 과정을 종료한다.
단계 (34)에서, 메시지 서버(310)는 상기 전송된 MID에 해당하는 자신의 DB 테이블(TABLE_MS)의 레코드에 UID를 저장한다.
단계 (35)에서, 메시지 서버(310)는 메시지 내용(TEXT), 메시지 넘버(Msg_no), 작성시간(TS(send)), UID 및 H(TEXT, Msg_no, TS(send))를 그룹 내 사용자들이 공유하는 그룹키(GK)로 암호화하여 전체 발송한다. 익명의 메시지와 사용자의 아이디를 그룹 내 모든 사용자(작성자, 수신자, 공개요청자)에게 공개함으로써 해당 익명 메시지의 작성자(302-1)를 공개한다.
위의 과정들은 위에 기술된 단계들로 제한되지는 않으며, 익명 메시지를 배포하고 익명 메시지의 작성자의 실명을 공개할 수 있는 한 다양하게 변형될 수 있다.
도 12는 본 발명의 일 실시예에 따른 메시지 서버를 도시한 블록도이다.
도 12를 참조하면, 본 실시예의 메시지 서버(310)는 제어부(1200), 통신부(1202), 서비스 관리부(1204), 메시지부(1206), 암호화부(1208), 사용자 관리부(1210) 및 저장부(1212)를 포함할 수 있다.
통신부(1202)는 검증 서버(312) 및 단말기들(302)과의 연결 통로이다.
서비스 관리부(1204)는 대화 서비스를 위한 프로그램의 전반적인 동작을 관리하며, 예를 들어 SNS의 전반적인 동작을 관리한다. 한편, 서비스 관리부(1204)는 메시지 서버(310)가 아닌 별도의 서버에 의해서 수행될 수도 있다.
메시지부(1206)는 메시지의 송수신과 관련된 전반적인 동작을 관리한다.
(2) 익명 메시지 전송 요청 과정에서는, 메시지부(1206)는 메시지 서버(310)의 공개키(Kpub_MS)로 된 MID, TEXT, 메시지 작성시간 timestamp (TS(send)) 및 작성자(302-1)와 검증 서버(312) 사이의 대칭키(KVS-USER[A]), MID와 TS(MID)의 해시값(H(KVS-USER[A], MID, TS(MID)))을 작성자(302-1)로부터 수신한다. 이 때, 메시지부(1206)는 누구로부터 메시지를 전달받았는지 파악할 수 없다.
또한, 메시지부(1206)는 고유의 메시지 번호(Msg_no)를 생성하고, Msg_no, MID, TEXT, TS(send) 및 H(KVS-USER[A], MID, TS(MID))를 DB 테이블(TABLE_MS)에 저장한다.
게다가, 메시지부(1206)는 MID와 TEXT의 해시값(H(MID:TEXT))을 생성하고 자신의 DB 테이블(TABLE_MS)에 저장한다.
(3) 익명 메시지 배포 과정에서는, 메시지부(1206)는 MID 및 H(MID:TEXT)를 메시지 서버(310)와 검증 서버(312)가 공유하는 대칭키(KMS_VS)로 암호화하여 검증 서버(312)로 전송한다.
또한, 메시지부(1206)는 대칭키(KMS_VS)로 암호화된 비교 결과와 MID를 검증 서버(312)로부터 수신한다. 구체적으로는, 검증 서버(312)는 메시지 서버(310)로부터 전송된 H(MID:TEXT)와 자신의 DB 테이블(TABLE_VS)에 저장된 H(MID:TEXT)값을 비교하고, 상기 비교 결과를 메시지 서버(310)로 전송한다.
게다가, 메시지부(1206)는 상기 전송된 비교 결과에 따라 익명 메시지 검증 결과를 확인하고, 유효하지 않은 메시지일 경우 모든 그룹의 사용자들에게 오류 결과를 전달하고 TABLE_MS의 해당 메시지 ID의 레코드를 삭제 후 종료한다.
반면에, 메시지부(1206)는 유효한 메시지일 경우 그룹 내 사용자들이 공유하는 그룹키(GK)로 메시지 내용, 메시지 번호, 메시지 전송시간, 메시지 내용 및 메시지 번호와 메시지 전송시간을 이용하여 생성한 해시값을 암호화하여 그룹 내 사용자들(작성자, 수신자 및 공개요청자)에게 배포한다.
(4) 익명 메시지 실명 공개 요청 과정에서는, 메시지부(1206)는 공개요청자(302-K)와 메시지 서버(310)가 공유하는 대칭키 (KMS-USER[O])로 암호화된 익명 메시지의 작성자(302-1)의 실명 공개 요청을 위해 Msg_no, TS(Send) 및 TS를 공개요청자(302-K)로부터 수신한다.
또한, 메시지부(1206)는 Msg_no, TS(Send) 및 TS로 유효성을 체크하고(재전송공격여부 등), 유효한 경우 자신의 DB 테이블(TABLE_MS)을 참조하여 해당 MID 및 TS(MID)를 자신과 검증 서버(312)가 공유하는 대칭키 (KMS-VS)로 암호화하여 검증 서버(312)로 전송한다.
(5) 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화 과정에서는, 메시지부(1206)는 대칭키 (KMS_VS)로 암호화된 Msg_no 및 KEY(UID)를 검증 서버(312)로부터 수신한다.
또한, 메시지부(1206)는 상기 수신된 Msg_no 및 KEY(UID)를 자신의 DB 테이블(TABLE_MS)의 해당 레코드에 저장한다.
(6) 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립 과정에서는, 메시지부(1206)는 Segment[i]를 생성한 사용자와 메시지 서버(310) 사이의 대칭키(KVS_USER[A-Z])로 암호화된 Msg_no와 Segment[i]를 Segment[i]를 생성한 사용자로부터 수신한다.
또한, 메시지부(1206)는 해당 Msg_no의 레코드에 Segment들을 저장한다.
게다가, 메시지부(1206)는 전달받은 Segment[1-N]가 K개 이상일 경우 비밀분산(K, N)를 이용하여 KEY를 계산하고 저장한다.
더욱이, 메시지부(1206)는 DB 테이블(TABLE_MS)에 KEY와 KEY(UID)를 이용하여 UID를 추출한다.
(7) 익명 메시지 실명 공개 과정에서는, 메시지부(1206)는 상기 추출된 UID를 이용하여, DB 테이블을 참조하여 해당 MID, UID 및 TS(MID)를 메시지 서버(310)와 검증 서버(312)가 공유하는 대칭키 (KMS_VS)로 암호화하여 검증 서버(312)로 전송한다.
또한, 메시지부(1206)는 대칭키 (KMS-VS)로 암호화된 MID 및 H(KVS_USER[A], MID, TS(MID))를 검증 서버(312)로부터 수신한다.
게다가, 메시지부(1206)는 상기 전송된 H(KVS_USER[A], MID, TS(MID))를 상기 전송된 MID에 해당하는 DB 테이블의 레코드의 H(KVS_USER[A], MID, TS(MID))와 비교하여 일치하면 해당 UID를 사용하는 사용자가 해당 메시지를 작성했음을 확인한다. 반면에, 메시지부(1206)는 불일치하면 본 과정을 종료한다.
더욱이, 메시지부(1206)는 상기 전송된 MID에 해당하는 자신의 DB 테이블(TABLE_MS)의 레코드에 UID를 저장한다.
또한, 메시지부(1206)는 메시지 내용(TEXT), 메시지 넘버(Msg_no), 작성시간(TS(send)), UID 및 H(TEXT, Msg_no, TS(send))를 그룹 내 사용자들이 공유하는 그룹키(GK)로 암호화하여 전체 발송한다. 익명의 메시지와 사용자의 아이디를 그룹 내 모든 사용자(작성자, 수신자, 공개요청자)에게 공개함으로써 해당 익명 메시지의 작성자(302-1)의 실명을 공개한다.
암호화부(1208)는 데이터 송수신하는 모든 과정에서 데이터를 암호화시킨다.
저장부(1210)는 DB 테이블 등의 각종 데이터를 저장한다.
제어부(1200)는 메시지 서버(310)의 엘리먼트들의 전반적인 동작을 제어한다.
위에 언급하지는 않았지만, 메시지 서버(310)는 실명 메시지의 송수신시 사용자를 확인할 수 있는 사용자 아이디 등의 사용자 정보를 관리하는 사용자 관리부를 더 포함할 수도 있다.
도 13은 본 발명의 일 실시예에 따른 검증 서버를 도시한 블록도이다.
도 13을 참조하면, 본 실시예의 검증 서버(312)는 제어부(1300), 통신부(1302), 메시지부(1304), 암호화부(1306), 검증부(1308), 사용자 관리부(1310) 및 저장부(1312)를 포함할 수 있다.
통신부(1300)는 메시지 서버(310) 및 단말기들(302)와의 연결 통로이다.
메시지부(1304)는 메시지의 송수신과 관련된 전반적인 동작을 관리한다.
(1) 익명 메시지 ID 발급 과정에서는, 메시지부(1304)는 아이디 발급을 요청한 작성자(302-1)와 검증 서버(312)가 공유하는 대칭키(KVS-USER[A])로 암호화된 작성자(302-1)의 UID와 timestamp(TS)를 작성자(302-1)로부터 수신한다.
또한, 메시지부(1304)는 TS로 유효성을 체크하고(재전송공격여부 등), 유효한 경우 고유의 메시지 ID(MID)와 MID 생성시간 timestamp(TS(MID))를 생성한다.
게다가, 메시지부(1304)는 UID, MID 및 TS(MID)를 자신의 DB 테이블(TABLE_VS)에 저장한다.
더욱이, 메시지부(1304)는 MID 및 TS(MID)를 작성자(302-1)와 공유하는 대칭키(KVS-USER[A])로 암호화하여 작성자(302-1)에게 전송한다.
또한, 메시지부(1304)는 대칭키(KVS-USER[A])로 암호화된 MID와 TEXT의 해시값(H(MID:TEXT))과 timestamp(TS)를 작성자(302-1)로부터 수신한다.
게다가, 메시지부(1304)는 TS로 유효성을 체크하고(재전송공격여부 등), 유효한 경우 H(MID:TEXT)를 자신의 DB 테이블(TABLE_VS)에 저장한다.
(3) 익명 메시지 배포 과정에서는, 메시지부(1304)는 메시지 서버(310)와 검증 서버(312)가 공유하는 대칭키(KMS_VS)로 암호화된 MID 및 H(MID:TEXT)를 메시지 서버(310)로부터 수신한다.
또한, 메시지부(1304)는 상기 수신한 H(MID:TEXT)를 DB 테이블(TABLE_VS)에 저장된 H(MID:TEXT)값과 비교하여 동일한지 확인한다.
게다가, 메시지부(1304)는 비교 결과와 MID를 대칭키(KMS_VS)로 암호화하여 메시지 서버(310)로 전송한다.
(4) 익명 메시지 실명 공개 요청 과정에서는, 메시지부(1304)는 Msg_no, TS(Send) 및 TS로 유효성을 체크하여 유효하다고 메시지 서버(310)에 의해 판단된 경우, 메시지 서버(310)와 검증 서버(312)가 공유하는 대칭키 (KMS-VS)로 암호화된 해당 MID 및 TS(MID)를 메시지 서버(310)로부터 수신한다.
(5) 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화 과정에서는, 메시지부(1304)는 암/복호화 키(KEY)를 임의로 생성하고 메시지 서버(310)로부터 전달받은 MID와 TS(MID)에 해당하는 검증 서버(312)의 DB 테이블(TABLE_VS)의 레코드에 KEY를 저장한다. 예를 들어, 메시지부(1304)는 해당 레코드의 UID를 암/복호화 키로 암호화한 KEY(UID)를 저장한다.
또한, 메시지부(1304)는 비밀분산을 통해 KEY의 조각을 생성하는 연산식들(Seg[1](KEY),…,Seg[N](KEY))을 생성하고 저장한다.
게다가, 메시지부(1304)는 검증 서버(312)와 메시지 서버(310)가 공유하는 대칭키 (KMS_VS)로 Msg_no 및 KEY(UID)를 암호화하여 메시지 서버(310)로 전송한다.
더욱이, 메시지부(1304)는 그룹 내 모든 사용자[1,…,N]에게 Msg_no와 해당하는 서로 다른 Seg[1-N](KEY)를 검증 서버(312)와 각 사용자 사이의 대칭키(KVS_USER[A-Z])로 암호화하여 그룹 내 모든 사용자에게 전송한다.
(7) 익명 메시지 실명 공개 과정에서는, 메시지부(1304)는 메시지 서버(310)와 검증 서버(312)가 공유하는 대칭키 (KMS_VS)로 암호화된 해당 MID, UID 및 TS(MID)를 메시지 서버(310)로부터 수신한다. 여기서, 해당 MID, UID 및 TS(MID)는 메시지 서버(310)에 의해 추출된 UID를 이용함에 의해 추출된다.
또한, 메시지부(1304)는 해시값(H(KVS_USER[A], MID, TS(MID)))을 생성한다.
게다가, 메시지부(1304)는 MID 및 H(KVS_USER[A], MID, TS(MID))를 검증 서버(312)와 메시지 서버(310)가 공유하는 대칭키 (KMS-VS)로 암호화하여 메시지 서버(310)로 전송한다.
암호화부(1306)는 데이터 송수신하는 모든 과정에서 데이터를 암호화시킨다.
검증부(1308)는 유효성 여부를 확인한다.
구체적으로는, 익명 메시지 ID 발급 과정에서는, 검증부(1308)는 아이디 발급 요청을 위하여 작성자로부터 전송된 timestamp(TS)로 유효성 여부를 검증한다.
또한, 검증부(1308)는 작성자로부터 전송된 MID와 메시지 내용(TEXT)의 해시값(H(MID:TEXT))과 timestamp(TS) 중 TS로 유효성 여부를 검증한다.
사용자 관리부(1310)는 사용자 정보를 관리한다.
저장부(1312)는 DB 테이블 등의 각종 데이터를 저장한다.
제어부(1300)는 검증 서버(312)의 엘리먼트들의 전반적인 동작을 제어한다.
한편, SNS 등의 프로그램 관점에서 살펴보면, 익명 메시지 서비스를 제공하는 컴퓨팅 장치(서버)는 그룹의 사용자 단말기들로 대화창과 관련된 정보를 제공하는 제 1 수단, 상기 사용자 단말기들 중 적어도 하나에서 상기 대화창에 익명 메시지가 입력 가능하도록 익명 메시지 ID 발급 동작, 익명 메시지 전송 요청 동작 및 익명 메시지 배포 동작 중 적어도 하나를 수행하는 제 2 수단 및 상기 익명 메시지 작성자의 실명이 상기 대화창에 공개 가능하도록 비밀분산 및 익명 메시지 실명 공개 동작을 수행하는 제 3 수단을 포함할 수 있다.
여기서, 상기 비밀분산 및 익명 메시지 실명 공개 동작은 익명 메시지 실명 공개 요청 동작, 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화 동작, 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립 동작 및 익명 메시지 실명 공개 동작을 포함할 수 있다.
익명 메시지 ID 발급 동작, 익명 메시지 전송 요청 동작, 익명 메시지 배포 동작 및 익명 메시지 실명 공개 동작은 위에서 상술하였으므로, 설명은 생략한다.
한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한, 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.
앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
100 : 대화창 110 : 대화 영역
112 : 메시지 입력 영역 114 : 전송 버튼
116 : 익명 메시지 버튼 118 : 실명 공개 버튼
120a : 익명 메시지 120b : 실명 메시지
300 : 서버단 302 : 단말기
310 : 메시지 서버 304 : 검증 서버

Claims (27)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 메시지 서버에서의 익명 메시지 서비스 제공 방법에 있어서,
    익명 메시지를 작성한 작성자 단말기, 수신자 단말기, 공개요청자 단말기 또는 검증 서버와 상기 메시지 서버를 연결하는 단계; 및
    익명 메시지 ID 발급을 위한 데이터, 익명 메시지 전송 요청을 위한 데이터, 상기 익명 메시지를 배포하기 위한 데이터, 익명 메시지 실명 공개 요청을 위한 데이터, 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화를 위한 데이터, 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립을 위한 데이터 및 익명 메시지 실명 공개를 위한 데이터 중 적어도 하나를 상기 작성자 단말기, 상기 수신자 단말기, 상기 공개요청자 단말기 또는 상기 검증 서버와 송수신하는 단계를 포함하되,
    상기 익명 메시지 전송 요청은,
    상기 메시지 서버의 공개키(Kpub_MS)로 암호화된 메시지 ID(MID), 메시지 내용(TEXT), 메시지 작성시간 timestamp (TS(send)), 상기 작성자 단말기와 상기 검증 서버 사이의 대칭키(KVS-USER[A]) 및 상기 MID와 상기 MID의 발급 시간(TS(MID))의 해시값(H(KVS-USER[A], MID, TS(MID)))을 상기 작성자 단말기로부터 수신하는 단계;
    고유의 메시지 번호(Msg_no)를 생성하는 단계;
    상기 Msg_no, 상기 MID, 상기 TEXT, 상기 TS(send) 및 상기 해시값(H(KVS-USER[A], MID, TS(MID)))을 상기 메시지 서버의 DB 테이블(TABLE_MS)에 저장하는 단계; 및
    상기 MID와 상기 TEXT의 해시값(H(MID:TEXT))을 생성하여 상기 DB 테이블(TABLE_MS)에 저장하는 단계를 수행함에 의해 이루어지며,
    상기 익명 메시지 작성자의 실명이 공개요청자의 실명 공개 요청에 따라 공개되며, 상기 익명 메시지 전송 요청 과정에서는 누구로부터 메시지가 전달되었는 지를 파악할 수 없는 것을 특징으로 하는 메시지 서버에서 익명 메시지 서비스 제공 방법.
  15. 삭제
  16. 제14항에 있어서, 상기 익명 메시지의 배포는,
    상기 MID 및 상기 해시값(H(MID:TEXT))을 상기 메시지 서버와 상기 검증 서버가 공유하는 대칭키(KMS_VS)로 암호화하여 상기 검증 서버로 전송하는 단계;
    상기 대칭키(KMS_VS)로 암호화된 비교 결과와 상기 MID를 상기 검증 서버로부터 수신하는 단계; 및
    상기 비교 결과에 따라 유효한 메시지일 경우 그룹 내 멤버들이 공유하는 그룹키(GK)로 상기 메시지 내용, 상기 메시지 번호, 메시지 전송시간, 상기 메시지 내용, 상기 메시지 번호 및 상기 메시지 전송시간을 이용하여 생성한 해시값을 암호화하여 상기 작성자 단말기, 상기 수신자 단말기 및 상기 공개요청자 단말기로 전송하는 단계를 수행함에 의해 이루어지되,
    상기 비교 결과는 상기 검증 서버에 의해 수행된 상기 메시지 서버로부터 전송된 H(MID:TEXT)와 기저장된 H(MID:TEXT)값의 비교 결과에 해당하는 것을 특징으로 하는 메시지 서버에서 익명 메시지 서비스 제공 방법.
  17. 제16항에 있어서, 상기 익명 메시지 실명 공개 요청은,
    상기 공개요청자 단말기와 상기 메시지 서버가 공유하는 대칭키 (KMS-USER[O])로 암호화된 상기 작성자에 대한 실명 공개 요청을 위해 상기 Msg_no, 상기 TS(Send) 및 상기 TS(MID)를 상기 공개요청자 단말기로부터 수신하는 단계,
    상기 Msg_no, 상기 TS(Send), 상기 TS(MID)로 유효성을 체크하는 단계; 및
    유효한 경우 상기 DB 테이블(TABLE_MS)을 참조하여 해당 MID 및 TS(MID)를 상기 대칭키 (KMS_VS)로 암호화하여 상기 검증 서버로 전송하는 단계를 수행함에 의해 이루어지는 것을 특징으로 하는 메시지 서버에서 익명 메시지 서비스 제공 방법.
  18. 제17항에 있어서, 상기 비밀분산 조각화는,
    상기 대칭키 (KMS_VS)로 암호화된 상기 Msg_no 및 KEY를 이용하여 UID를 암호화한 값(KEY(UID))을 상기 검증 서버로부터 수신하는 단계; 및
    상기 수신된 Msg_no 및 상기 KEY(UID)를 상기 DB 테이블(TABLE_MS)에 저장하는 단계를 수행함에 의해 이루어지는 것을 특징으로 하는 메시지 서버에서 익명 메시지 서비스 제공 방법.
  19. 제18항에 있어서, 상기 비밀분산 재조립은,
    비밀분산을 통해 생성한 KEY를 복원할 수 있는 조각값(Segment[i])을 생성한 멤버와 상기 메시지 서버 사이의 대칭키(KVS_USER[A-Z])로 암호화된 상기 Msg_no와 상기 Segment[i]를 상기 멤버의 단말기로부터 수신하는 단계;
    해당 Msg_no의 레코드에 Segment들을 저장하는 단계;
    상기 수신된 Segment[1-N]의 개가 K(1 이상의 정수)개 이상일 경우 비밀분산(K, N)를 이용하여 KEY를 계산하고 저장하는 단계; 및
    상기 KEY와 상기 KEY(UID)를 이용하여 상기 DB 테이블(TABLE_MS)로부터 상기 UID를 추출하는 단계를 수행함에 의해 이루어지는 것을 특징으로 하는 메시지 서버에서 익명 메시지 서비스 제공 방법.
  20. 제19항에 있어서, 상기 익명 메시지 실명 공개는,
    상기 추출된 UID를 이용하여 상기 DB 테이블을 참조하여 해당 MID, UID 및 TS(MID)를 상기 대칭키 (KMS_VS)로 암호화하여 상기 검증 서버로 전송하는 단계;
    상기 대칭키 (KMS_VS)로 암호화된 상기 MID 및 해시값(H(KVS_USER[A], MID, TS(MID)))을 상기 검증 서버로부터 수신하는 단계;
    상기 수신된 해시값(H(KVS_USER[A], MID, TS(MID)))을 상기 수신된 MID에 해당하는 레코드의 해시값(H(KVS_USER[A], MID, TS(MID)))과 비교하여 일치하면 해당 UID를 사용하는 사용자가 해당 메시지를 작성했음을 확인하는 단계;
    상기 수신된 MID에 해당하는 상기 DB 테이블(TABLE_MS)의 레코드에 상기 UID를 저장하는 단계; 및
    상기 메시지 내용(TEXT), 상기 메시지 번호(Msg_no), 상기 TS(send), 상기 UID 및 해시값(H(TEXT, Msg_no, TS(send)))을 상기 그룹키(GK)로 암호화하여 상기 작성자 단말기, 상기 수신자 단말기 및 상기 공개요청자 단말기로 전송하여 상기 작성자를 공개하는 단계를 수행함에 의해 이루어지는 것을 특징으로 하는 메시지 서버에서 익명 메시지 서비스 제공 방법.
  21. 검증 서버에서의 익명 메시지 서비스 제공 방법에 있어서,
    익명 메시지를 작성한 작성자 단말기, 수신자 단말기, 공개요청자 단말기 또는 메시지 서버와 상기 검증 서버를 연결하는 단계; 및 
    익명 메시지 ID 발급을 위한 데이터, 익명 메시지 전송 요청을 위한 데이터, 상기 익명 메시지를 배포하기 위한 데이터, 익명 메시지 실명 공개 요청을 위한 데이터, 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화를 위한 데이터, 익명 메시지 실명 공개 여부에 대한 비밀분산 재조립을 위한 데이터 및 익명 메시지 실명 공개를 위한 데이터 중 적어도 하나를 상기 작성자 단말기, 상기 수신자 단말기, 상기 공개요청자 단말기 또는 상기 메시지 서버와 송수신하는 단계를 포함하되,
    익명 메시지 ID 발급은,
    아이디 발급을 요청한 상기 작성자 단말기와 상기 검증 서버가 공유하는 대칭키(KVS-USER[A])로 암호화된 상기 작성자 단말기의 작성자 ID(UID)와 메시지 작성 시간(timestamp(TS))을 상기 작성자 단말기로부터 수신하는 단계;
    상기 TS로 유효성을 체크하며, 유효한 경우 고유의 메시지 ID(MID)와 MID 생성시간(timestamp(TS(MID)))을 생성하는 단계;
    상기 UID, 상기 MID 및 상기 TS(MID)를 상기 검증 서버의 DB 테이블(TABLE_VS)에 저장하는 단계;
    상기 MID 및 상기 TS(MID)를 상기 대칭키(KVS-USER[A])로 암호화하여 상기 작성자 단말기로 전송하는 단계;
    상기 대칭키(KVS-USER[A])로 암호화된 MID와 TEXT의 해시값(H(MID:TEXT))과 timestamp(TS)를 상기 작성자 단말기로부터 수신하는 단계; 및
    상기 TS로 유효성을 체크하고, 유효한 경우 상기 해시값(H(MID:TEXT))을 상기 DB 테이블(TABLE_VS)에 저장하는 단계를 수행함에 의해 이루어지며,
    상기 익명 메시지 작성자의 실명이 공개요청자의 실명 공개 요청에 따라 공개되는 것을 특징으로 하는 검증 서버에서 익명 메시지 서비스 제공 방법.
  22. 삭제
  23. 제21항에 있어서, 상기 익명 메시지 배포를 위한 데이터와 관련된 익명 메시지 배포 단계는,
    상기 메시지 서버와 상기 검증 서버가 공유하는 대칭키(KMS_VS)로 암호화된 상기 MID 및 상기 해시값(H(MID:TEXT))을 상기 메시지 서버로부터 수신하는 단계;
    상기 수신한 H(MID:TEXT)를 상기 DB 테이블(TABLE_VS)에 저장된 H(MID:TEXT)값과 비교하는 단계; 및
    비교 결과와 상기 MID를 상기 대칭키(KMS_VS)로 암호화하여 상기 메시지 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 검증 서버에서 익명 메시지 서비스 제공 방법.
  24. 제23항에 있어서, 상기 익명 메시지 실명 공개 요청을 위한 데이터와 관련된 익명 메시지 실명 공개 요청 단계는,
    메시지 번호(Msg_no), 메시지 작성 시간(TS(Send)) 및 상기 TS로 유효성 체크 결과 유효하다고 상기 메시지 서버에 의해 판단된 경우, 상기 대칭키 (KMS_VS)로 암호화된 해당 MID 및 메시지 ID 발급 시간(TS(MID))을 상기 메시지 서버로부터 수신하는 단계를 포함하는 것을 특징으로 하는 검증 서버에서 익명 메시지 서비스 제공 방법.
  25. 제24항에 있어서, 상기 비밀분산 조각화를 위한 데이터와 관련된 익명 메시지 실명 공개 여부에 대한 비밀분산 조각화 단계는,
    암/복호화 키(KEY)를 생성하고 상기 메시지 서버로부터 수신한 MID와 TS(MID)에 해당하는 상기 DB 테이블(TABLE_VS)의 레코드에 상기 KEY를 저장하는 단계;
    비밀분산을 통해 상기 KEY의 조각을 생성하는 연산식들(Seg[1](KEY),…,Seg[N](KEY))을 생성하여 저장하는 단계;
    상기 대칭키 (KMS_VS)로 상기 Msg_no 및 상기 KEY를 이용하여 UID값을 암호화한 값(KEY(UID))를 암호화하여 상기 메시지 서버로 전송하는 단계; 및
    그룹 내 모든 멤버[1,…,N]에게 상기 Msg_no와 해당하는 서로 다른 Seg[1-N](KEY)를 상기 검증 서버와 각 멤버 사이의 대칭키(KVS_USER[A-Z])로 암호화하여 상기 작성자 단말기, 상기 수신자 단말기 및 상기 공개요청자 단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 검증 서버에서 익명 메시지 서비스 제공 방법.
  26. 제25항에 있어서, 상기 익명 메시지 실명 공개를 위한 데이터와 관련된 익명 메시지 실명 공개 단계는,
    상기 대칭키 (KMS_VS)로 암호화된 해당 MID, UID 및 TS(MID)를 상기 메시지 서버로부터 수신하는 단계;
    해시값(H(KVS_USER[A], MID, TS(MID)))을 생성하는 단계; 및
    상기 MID 및 상기 해시값(H(KVS_USER[A], MID, TS(MID)))을 상기 대칭키 (KMS_VS)로 암호화하여 상기 메시지 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 검증 서버에서 익명 메시지 서비스 제공 방법.

  27. 삭제
KR1020160161050A 2016-09-01 2016-11-30 비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법 KR101950073B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160112791 2016-09-01
KR20160112791 2016-09-01

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190015514A Division KR20190017846A (ko) 2016-09-01 2019-02-11 비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20180025771A KR20180025771A (ko) 2018-03-09
KR101950073B1 true KR101950073B1 (ko) 2019-02-19

Family

ID=61728203

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160161050A KR101950073B1 (ko) 2016-09-01 2016-11-30 비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법
KR1020190015514A KR20190017846A (ko) 2016-09-01 2019-02-11 비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020190015514A KR20190017846A (ko) 2016-09-01 2019-02-11 비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법

Country Status (1)

Country Link
KR (2) KR101950073B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11973808B2 (en) 2022-07-11 2024-04-30 Samsung Electronics Co., Ltd. Electronic device for providing conference service and method of the same

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102191111B1 (ko) * 2018-10-01 2020-12-15 명지대학교 산학협력단 블록 체인을 이용하여 익명 메시지 서비스를 제공하기 시스템 및 방법
IL272126A (en) * 2020-01-19 2021-07-29 Google Llc Prevention of fraud in clustered network measurements
KR102392703B1 (ko) * 2020-04-24 2022-04-29 (주)제이엠피시스템 LoRaWAN에서 비대칭키 암호화 적용을 위한 키 교환 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101064735B1 (ko) * 2011-04-27 2011-09-14 김용한 수신인 불특정 메시지 교환 서비스 제공 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102115914B1 (ko) * 2013-09-17 2020-05-27 삼성전자주식회사 익명 메시지 전송 방법 및 이를 적용한 메시지 전송 시스템
KR101758863B1 (ko) 2014-12-31 2017-07-18 라인 가부시키가이샤 대화 서비스 제공 방법 및 대화 서비스 제공 디바이스

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101064735B1 (ko) * 2011-04-27 2011-09-14 김용한 수신인 불특정 메시지 교환 서비스 제공 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11973808B2 (en) 2022-07-11 2024-04-30 Samsung Electronics Co., Ltd. Electronic device for providing conference service and method of the same

Also Published As

Publication number Publication date
KR20190017846A (ko) 2019-02-20
KR20180025771A (ko) 2018-03-09

Similar Documents

Publication Publication Date Title
EP3219049B1 (en) Account recovery protocol
US9590949B2 (en) Confidential message exchange using benign, context-aware cover message generation
KR20190017846A (ko) 비밀분산을 이용한 보안 및 익명 서비스 제공 시스템 및 방법
US9100171B1 (en) Computer-implemented forum for enabling secure exchange of information
US9166986B1 (en) Witnessing documents
CN102427442A (zh) 组合请求相关元数据和元数据内容
WO2011041073A1 (en) Systems and methods for secure and authentic electronic collaboration
JP2002132730A (ja) 個人情報の信頼度および開示度による認証またはアクセス管理システム、および管理方法
KR20140059788A (ko) 무상태 애플리케이션 통지 기법
KR101974062B1 (ko) 클라우드 하드웨어 모듈 기반 전자 서명 방법
US8694788B1 (en) Security system
WO2020062667A1 (zh) 数据资产管理方法、数据资产管理装置及计算机可读介质
KR102279582B1 (ko) 회의 제공 장치 및 상기 장치에서의 접속 단말 변경 방법
JP6293245B1 (ja) 強化されたセキュリティを有する取引相互監視システム
CN103368918A (zh) 一种动态口令认证方法、装置及系统
KR102191111B1 (ko) 블록 체인을 이용하여 익명 메시지 서비스를 제공하기 시스템 및 방법
KR101897342B1 (ko) 보안 및 익명 서비스 제공 시스템 및 방법
JP2024027133A (ja) プログラム、情報処理装置、方法
CN104506530A (zh) 一种网络数据处理方法及装置、数据发送方法及装置
JP4794939B2 (ja) チケット型メンバ認証装置及び方法
JP6518378B1 (ja) 認証システム、認証方法、及び、認証プログラム
JP2012128726A (ja) ネットワーク認証システム、ネットワーク認証方法およびプログラム
JP5001968B2 (ja) ソーシャルネット内の各ユーザの公開鍵の正当性を保証する認証局を設定する認証局設定装置及び認証局設定方法
JP2022528366A (ja) Htmlブラウザ承認アプローチを含むコンピュータシステムおよび方法
KR102507864B1 (ko) 보안 인스턴트 메시징 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant