KR20170061759A - 안전한 메신저 서비스를 제공하는 단말 및 방법 - Google Patents

안전한 메신저 서비스를 제공하는 단말 및 방법 Download PDF

Info

Publication number
KR20170061759A
KR20170061759A KR1020150166351A KR20150166351A KR20170061759A KR 20170061759 A KR20170061759 A KR 20170061759A KR 1020150166351 A KR1020150166351 A KR 1020150166351A KR 20150166351 A KR20150166351 A KR 20150166351A KR 20170061759 A KR20170061759 A KR 20170061759A
Authority
KR
South Korea
Prior art keywords
key
terminal
server
encrypted
master
Prior art date
Application number
KR1020150166351A
Other languages
English (en)
Other versions
KR101760376B1 (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 KR1020150166351A priority Critical patent/KR101760376B1/ko
Publication of KR20170061759A publication Critical patent/KR20170061759A/ko
Application granted granted Critical
Publication of KR101760376B1 publication Critical patent/KR101760376B1/ko

Links

Images

Classifications

    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

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

Abstract

메신저 서비스를 제공하는 단말기가 개시된다. 상기 단말기는 제1 서버와 동기화된 카운터 값 및 생성된 마스터키를 이용하여 개인키를 생성하는 키 생성부, 소정의 키 교환 기법을 통하여 제2 단말기와 세션키를 교환하는 키 교환부, 및 상기 세션키를 이용하여 암호화된 메시지를 상기 제1 서버로 송신하는 암복호화부를 포함하고, 상기 키 생성부는 비밀분산법(secret sharing scheme)을 이용하여 상기 마스터키를 복수의 제2 서버들 각각에 분산하여 송신한다.

Description

안전한 메신저 서비스를 제공하는 단말 및 방법{TERMINAL AND METHOD FOR PROVIDING SECURE MESSENGER SERVICE}
본 발명의 개념에 따른 실시 예는 메신저 서비스를 제공하는 단말 및 방법에 관한 것으로, 특히 복수의 단말기에서 메신저 서비스를 제공받을 수 있고 기기가 분실된 상태에서 대화 내용을 보호할 수 있는 메신저 서비스를 제공하는 단말 및 방법에 관한 것이다.
최근 메신저 어플리케이션은 스마트 폰, PC 와 같은 전자 기기에서 동시 사용이 가능하다. 이에 따라, 사용자들은 일상생활 속 많은 부분에서 메신저 어플리케이션을 사용하고 있다. 하지만, 메신저 어플리케이션의 보안적 위험요소로 인해 사용자들의 개인 프라이버시가 노출되는 문제점이 발생하고 있다. 이에 따라 최근 메신저 어플리케이션 서비스 제공자는 상기와 같은 문제점을 해결하기 위해 사용자 개인정보보호를 위한 다양한 해결 방안을 제시하고 있지만, 각 어플리케이션 별로 보안문제에 대한 접근방법과 제공하는 서비스의 특징이 다르기 때문에 사용자 입장에서는 어떤 어플리케이션이 보다 안전한 어플리케이션인지 혼란을 겪고 있다. 특히, 국내를 비롯한 전 세계적으로 큰 이슈를 불러온 메신저 어플리케이션의 종단간 암호화는 메신저 어플리케이션이 사용가능한 모든 디바이스에서 제공되지 않고 있어 메신저 어플리케이션을 사용하는데 있어 안전하지 않은 상황이다. 따라서 학계와 업계에서는 안전한 메신저 시스템 아키텍쳐 및 사용자 프라이버시 보호에 대한 연구가 진행 중이다.
대한민국 공개특허공보 제10-2003-0047148호 (2013.06.18) 대한민국 공개특허공보 제10-2001-0035078호 (2001.05.07)
Boneh, D., Boyen, X., Efficient Selective-ID Secure Identity Based Encryption Without Random Oracles, EUROCRYPT 2004. LNCS, vol.3027, pp.223-238. Kwangsu Lee et al, Self-Updatable Encryption: Time Constrained Access Control with Hidden Attributes and Better Efficiency, ASIACRYPT 2013 Part Ⅰ, LNCS 8269, pp.235-254.
본 발명이 이루고자 하는 기술적인 과제는 복수의 단말기에서 안전한 암호화 통신이 가능하고, 기기 분실과 같이 개인 정보를 보호할 필요가 있는 상황에서 대화 내용을 보호할 수 있는 메신저 서비스 제공 단말 및 방법을 제공하는 것이다.
본 발명의 일 실시 예에 따른 메신저 서비스 제공 단말기는 제1 서버와 동기화된 카운터 값 및 생성된 마스터키를 이용하여 개인키를 생성하는 키 생성부, 소정의 키 교환 기법을 통하여 제2 단말기와 세션키를 교환하는 키 교환부, 및 상기 세션키를 이용하여 암호화된 메시지를 상기 제1 서버로 송신하는 암복호화부를 포함하고, 상기 키 생성부는 비밀분산법(secret sharing scheme)을 이용하여 상기 마스터키를 복수의 제2 서버들 각각에 분산하여 송신한다.
또한, 본 발명의 다른 실시 예에 따른 메신저 서비스 제공 단말기는 비밀분산법을 이용하여 복수의 제2 서버들 각각으로부터 수신된 공유된 값들로부터 마스터키를 생성하고, 제1 서버와 동기화되어 있는 카운트 값을 증가시키고, 증가된 카운트 값과 상기 마스터키를 이용하여 개인키와 공개키를 생성하는 키 생성부 및 상기 제1 서버에 저장되어 있는 암호문의 업데이트를 요청하는 업데이트 요청 메시지를 상기 제1 서버로 송신하는 암복호화부를 포함하고, 상기 암복호화부는 상기 개인키를 이용하여 상기 제1 서버로부터 수신되는 암호화된 세션키를 복호화하고, 복호화된 세션키를 이용하여 상기 제1 서버로부터 수신되는 암호화된 메시지를 복호화한다.
또한, 본 발명의 일 실시 예에 따른 메신저 서비스를 제공하는 방법은 단말기에서 수행되고, 제1 서버와 동기화된 카운터 값 및 생성된 마스터키를 이용하여 개인키를 생성하는 단계, 비밀분산법을 이용하여 상기 마스터키를 복수의 제2 서버들 각각에 분산하여 송신하는 단계, 소정의 키 교환 기법을 통하여 제2 단말기와 세션키를 교환하는 단계, 및 상기 세션키를 이용하여 암호화된 메시지를 상기 제1 서버로 송신하는 단계를 포함한다.
본 발명의 실시 예에 따른 메신저 서비스 제공 단말 및 방법에 의할 경우, 사용자가 메신저 어플리케이션을 사용하는 모든 디바이스에서 종단간 암호화 기술을 적용하여 각 디바이스에서 메시지를 동기화할 수 있도록 할 수 있는 효과가 있다.
또한, 본 발명에 의할 경우, 기기 분실과 같이 개인 정보를 보호할 필요가 있는 상황에서 기존 메시지를 보호하여 안전한 메신저 서비스를 제공할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 메신저 서비스 시스템을 도시한다.
도 2는 도 1에 도시된 제1 단말기(100)의 기능 블럭도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 메신저 서비스 시스템을 도시한다.
도 1을 참조하면, 메신저 서비스 시스템(10)은 제1 단말기(100), 제2 단말기(300), 제1 서버(500), 제2 서버들(700)을 포함한다.
제1 서버(500)는 SNS(Social network service) 서비스 또는 메신저 서비스를 제공할 수 있는 서버로서, SNS 서버로 구현될 수도 있다. 제1 단말기(100)의 사용자와 제2 단말기(300)의 사용자는 제1 서버(500)가 제공하는 SNS 서비스 또는 메신저 서비스를 제공받을 수 있다. 본 발명에서 제1 단말기(100)와 제2 단말기(300)는 메신저 서비스를 통하여 메시지를 주고 받는 상대방일 수 있다.
제2 서버들(700)은 제1 단말기(100) 및/또는 제2 단말기(300)의 마스터키의 일부(또는 조각)을 분산하여 저장할 수 있다. 제2 서버들(700) 각각은 신뢰할 수 있는 키 저장기관을 의미할 수 있다. 따라서, 제2 서버들(700) 각각에 마스터키의 일부를 분산하여 저장한 제1 단말기(100) 및/또는 제2 단말기(300)는 제2 서버들(700)로부터 분산 저장된 값들을 수신하여 자신의 마스터키를 재생성할 수 있다. 마스터키를 제2 서버들(700)에 분산하여 공유시키기 위하여 비밀분산법(Secret Sharing Scheme)이 이용될 수 있다.
제1 단말기(100) 및/또는 제2 단말기(300)는 PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어와 같은 데이터 처리 장치로 구현되거나, 모바일폰(mobile phone), 스마트폰(smart phone), 스마트 시계(smart watch) 등과 같은 핸드헬드 장치(handheld device)로 구현될 수 있다.
도 2는 도 1에 도시된 제1 단말기(100)의 기능 블럭도이다.
도 1과 도 2를 참조하면, 제1 단말기(100)는 키 생성부(110), 키 교환부(130), 암복호화부(150), 및 설정부(170) 중 적어도 하나 이상을 포함한다.
설정부(170)는 메신저 서비스를 제공받기 위한 설치 파일을 제1 서버(500)일 수도 있는 소정의 서버로부터 수신하고, 상기 설치 파일을 상기 제1 단말기(100)에 설치할 수 있다. 또한, 설정부(170)는 본 발명이 이용하는 소정의 암호화 기법, 예컨대 CDE(Ciphertext-Delegatable Encryption) 기법의 기본 파라미터를 설정할 수 있다. CDE 기법으로 명명될 수 있는 예시적인 암호화 기법의 구제적인 내용은 Kwangsu Lee 등에 의해 2013년에 발표된 논문(Self-Updatable Encryption: Time Constrained Access Control with Hidden Attributes and Better Efficiency, ASIACRYPT 2013 Part Ⅰ, LNCS 8269, pp.235-254.)이 참조될 수 있으므로, 이에 대한 상세한 설명은 생략하기로 한다.
키 생성부(110)는 소정의 암호화 기법(예컨대, CDE 기법)에서 사용되는 마스터키()를 생성할 수 있다. 마스터키(
Figure pat00002
)는 사용자의 개인키(
Figure pat00003
)를 생성하는 과정에서 이용될 수 있다.
키 생성부(110)는 생성된 마스터키(
Figure pat00004
)와 현재 카운터 값(
Figure pat00005
)을 이용하여 개인키(
Figure pat00006
)와 공개키(
Figure pat00007
)를 생성할 수 있고, 생성된 공개키(
Figure pat00008
)를 공개할 수 있다. 또한, 상기 카운터 값(
Figure pat00009
)은 제1 단말기(100)와 제1 서버(500) 각각에 동기화된 값으로 동일한 값을 가질 수 있다.
키 생성부(110)는 생성된 개인키(
Figure pat00010
)를 제1 단말기(100) 내에 저장하고, 마스터키(
Figure pat00011
)를 분할하여 제2 서버들(700) 각각에 공유시킬 수 있다. 즉, 키 생성부(110)는 비밀분산법을 이용하여 마스터키(
Figure pat00012
)를 분할하고, 분할된 조각들 각각을 제2 서버들(700) 각각에 저장할 수 있다. 마스터키(
Figure pat00013
)가 분할되어 저장된 후, 키 생성부(110)는 제1 단말기(100)에 저장된 마스터키(
Figure pat00014
)를 삭제할 수 있다. 추후에 마스터키(
Figure pat00015
)가 필요한 경우, 제2 서버들(700)로부터 수신된 마스터키(
Figure pat00016
)의 조각들로부터 재생성될 수 있다. 이때, 마스터키(
Figure pat00017
)의 분할된 조각들의 개수는 제2 서버들(700)의 개수와 동일할 수 있다.
키 교환부(130)는 메신저 서비스의 상대방, 즉 수신 단말기인 제2 단말기(300)와 임의의 키 교환 프로토콜을 통해 안전한 세션키(
Figure pat00018
)를 교환하고, 교환된 세션키(
Figure pat00019
)를 통하여 암호화 통신을 진행할 수 있다.
암복호화부(150)는 제2 단말기(300)로 송신되는 메시지를 암호화하거나 제2 단말기(300)로부터 수신되는 암호문을 복호화할 수 있다. 즉, 암복호화부(150)는 세션키(
Figure pat00020
)를 이용한 대칭키 암호화 알고리즘(
Figure pat00021
)을 이용하여 메시지를 암호화할 수 있으며, 암호화된 메시지는 제1 서버(500)로 송신될 수 있다. 또한, 상기 암호화된 메시지는 제1 서버(500)의 DB(database) 내에 저장될 수 있다. 또한, 세션키(
Figure pat00022
)는 제1 단말기(100)의 공개키(
Figure pat00023
)를 이용한 공개키 암호화 알고리즘(
Figure pat00024
)을 통하여 암호화된 후 제1 서버(500)의 DB 내에 저장될 수 있다.
따라서, 추후에 제1 단말기(100)의 사용자가 자신의 단말기를 변경하거나 새로운 단말기를 추가하는 경우에 상기 사용자는 제2 서버들(700)로부터 분배된 값들을 제공받아 마스터키(
Figure pat00025
)를 생성하고, 생성된 마스터키(
Figure pat00026
)를 이용하여 개인키(
Figure pat00027
)를 생성하고, 제1 서버(500)의 DB 내에 저장된 세션키 및 대화 내용에 접근이 가능하다.
또한, 암복호화부(150)는 제2 단말기(300)와 교환된 세션키(
Figure pat00028
)를 이용하여 제2 단말기(300)로부터 수신되는 암호문을 복호화할 수 있다. 상기 암호문은 제2 단말기(300)로부터 제1 단말기(100)로 송신되는 것으로 기술되었으나, 실시 예에 따라 상기 암호문은 제1 서버(500)를 경유하여 제1 단말기(100)로 송신될 수 있다.
제1 단말기(100)의 사용자가 새로운 단말기를 추가하여 메신저 서비스를 이용하는 경우, 제1 단말기(100)를 대체하여 새로운 단말기로 메신저 서비스를 이용하는 경우, 또는 제1 단말기(100)를 초기화하여 재차 메신저 서비스를 이용하는 경우의 동작을 설명하면 다음과 같다. 설명의 편의를 위하여 제1 단말기(100)를 새로운 단말기로 가정한다.
제1 단말기(100)의 설정부(170)는 제1 서버(500)로부터 메신저 서비스를 제공받기 위한 설치 파일을 수신하고, 수신된 설치 파일을 이용하여 소정의 어플리케이션을 제1 단말기(100)에 설치할 수 있다. 또한, 설정부(170)는 소정의 암호화 기법(예컨대 CDE 기법)을 이용하기 위한 기본 파라미터를 설정할 수 있다.
제1 단말기(100)의 키 생성부(110)는 제2 서버들(700) 각각으로부터 공유된 값들을 수신받고, 수신된 공유 값들을 이용하여 마스터키(
Figure pat00029
)를 재생성할 수 있다. 이 때, 제1 단말기(100)의 사용자가 정당한 사용자임을 확인하기 위한 인증 절차가 선행될 수 있다. 또한, 키 생성부(110)는 생성된 마스터키(
Figure pat00030
)를 이용하여 개인키(
Figure pat00031
)와 공개키(
Figure pat00032
)를 생성할 수 있다. 생성된 개인키(
Figure pat00033
)와 공개키(
Figure pat00034
)는 제1 단말기(100) 내에 저장될 수 있고, 재생성된 마스터키(
Figure pat00035
)는 제1 단말기(100) 내에서 삭제될 수 있다.
제1 단말기(100)의 암복호화부(150)는 제1 서버(500)의 DB에 저장된 암호화된 세션키와 암호화된 메시지를 수신하고, 개인키(
Figure pat00036
)를 이용하여 암호화된 세션키를 복호화하고, 복호화된 세션키(
Figure pat00037
)를 이용하여 암호화된 메시지를 복호화할 수 있다. 이와 같이, 새로운 단말기에서 키 동기화 및 대화 내용(즉, 메시지)의 동기화가 가능하다.
제1 단말기(100)의 사용자가 제1 단말기(100)를 분실한 경우와 같이, 분실된 단말기를 습득한 사람에게 기존 대화 내용을 숨기기 위한 키 업데이트 및 암호문 업에이트 과정을 설명하면 다음과 같다. 우선, 업데이트가 가능한 횟수는 l(l은 2 이상의 자연수)이라고 하자. 이 경우에도 설명의 편의를 위하여 제1 단말기(100)를 새로운 단말기로 가정한다.
제1 단말기(100)의 설정부(170)는 제1 서버(500)로부터 메신저 서비스를 제공받기 위한 설치 파일을 수신하고, 수신된 설치 파일을 이용하여 소정의 어플리케이션을 제1 단말기(100)에 설치할 수 있다. 또한, 설정부(170)는 소정의 암호화 기법(예컨대 CDE 기법)을 이용하기 위한 기본 파라미터를 설정할 수 있다.
제1 단말기(100)의 키 생성부(110)는 제2 서버들(700) 각각으로부터 공유된 값들을 수신받고, 수신된 공유 값들을 이용하여 마스터키(
Figure pat00038
)를 재생성할 수 있다. 이 때, 제1 단말기(100)의 사용자가 정당한 사용자임을 확인하기 위한 인증 절차가 선행될 수 있다.
또한, 키 생성부(110)는 생성된 마스터키(
Figure pat00039
)를 이용하여 새로운 개인키(
Figure pat00040
)와 공개키(
Figure pat00041
)를 생성하여야 한다. 기존의 개인키(
Figure pat00042
)가 분실된 단말기의 내부에 저장되어 있어 키 업데이트가 필요하기 때문이다.
키 생성부(110)는 카운트 값(
Figure pat00043
)을 증가시키고, 증가된 카운트 값(
Figure pat00044
)을 통해 기존의 개인키(
Figure pat00045
)를 새로운 개인키(
Figure pat00046
)로, 기존의 공개키(
Figure pat00047
)를 새로운 공개키(
Figure pat00048
)로 업데이트할 수 있다. 카운트 값의 경우, 사용자 별로 서비스 제공자인 제1 서버(500)와 제1 단말기(100) 사이에서 동기화될 수 있다.
키 업데이트 과정 또는 키 생성 과정이 완료된 후, 암복호화부(150)는 제1 서버(500)의 DB 내에 저장된 암호문의 업데이트
Figure pat00049
를 요청하는 업데이트 요청 메시지를 제1 서버(500)로 송신할 수 있다. 여기서, 암호문의 업데이트라 함은 기존의 공개키(
Figure pat00050
)를 이용하여 암호화된 세션키(
Figure pat00051
)를 새로운 공개키(
Figure pat00052
)를 이용하여 암호화된 세션키(
Figure pat00053
)로 변환하는 것을 의미할 수 있다.
제1 단말기(100)로부터 업데이트 요청 메시지를 수신한 제1 서버(500)는 상기 업데이트 요청 메시지에 응답하여 DB 내에 저장된 암호문을 업데이트하는 과정
Figure pat00054
을 수행할 수 있다. 제1 서버(500)는 제1 단말기(100)의 도움 없이 증가된 카운트 값(
Figure pat00055
)을 이용해 암호문을 업데이트할 수 있다. 예시적인 암호화 알고리즘인 CDE 알고리즘에 의할 경우, 카운터 값 및/또는 시간 값을 통해 암호문 업데이트를 수행할 수 있다.
암호문의 업데이트 과정이 완료된 후, 기존의 개인키(
Figure pat00056
)가 저장된 분실된 단말기에서는 암호문을 복호화하지 못해 메시지(대화 내용)이 암호화된 상태로 동기화될 수 있다.
제1 단말기(100)의 암복호화부(150)는 제1 서버(500)의 DB에 저장된 암호화된 세션키와 암호화된 메시지를 수신하고, 개인키(
Figure pat00057
)를 이용하여 암호화된 세션키를 복호화하고, 복호화된 세션키(
Figure pat00058
)를 이용하여 암호화된 메시지를 복호화할 수 있다. 이와 같이, 새로운 단말기에서 키 동기화 및 대화 내용(즉, 메시지)의 동기화가 가능하다.
도 2에 도시된 제1 단말기(100)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
또한, 본 명세서에서 "~부"라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아니다.
또한, 제2 단말기(300)의 기능 및 구성은 제1 단말기(100)의 기능 및 구성과 동일할 수 있으므로, 이에 관한 상세한 설명은 생략하기로 한다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 메신저 시스템
100 : 제1 단말기
110 : 키 생성부
130 : 키 교환부
150 : 암복호화부
170 : 설정부
300 : 제2 단말기
500 : 제1 서버
700 : 제2 서버들

Claims (8)

  1. 제1 서버와 동기화된 카운터 값 및 생성된 마스터키를 이용하여 개인키를 생성하는 키 생성부;
    소정의 키 교환 기법을 통하여 제2 단말기와 세션키를 교환하는 키 교환부; 및
    상기 세션키를 이용하여 암호화된 메시지를 상기 제1 서버로 송신하는 암복호화부를 포함하고,
    상기 키 생성부는 비밀분산법(secret sharing scheme)을 이용하여 상기 마스터키를 복수의 제2 서버들 각각에 분산하여 송신하는,
    단말기.
  2. 제1항에 있어서,
    상기 키 생성부는 상기 개인키를 생성한 후 상기 마스터키를 상기 단말기 내에서 삭제하는,
    단말기.
  3. 제1항에 있어서,
    상기 암호화된 메시지는 상기 제1 서버를 경유하여 상기 제2 단말기로 송신되는,
    단말기.
  4. 비밀분산법을 이용하여 복수의 제2 서버들 각각으로부터 수신된 공유된 값들로부터 마스터키를 생성하고, 제1 서버와 동기화되어 있는 카운트 값을 증가시키고, 증가된 카운트 값과 상기 마스터키를 이용하여 개인키와 공개키를 생성하는 키 생성부; 및
    상기 제1 서버에 저장되어 있는 암호문의 업데이트를 요청하는 업데이트 요청 메시지를 상기 제1 서버로 송신하는 암복호화부를 포함하고,
    상기 암복호화부는 상기 개인키를 이용하여 상기 제1 서버로부터 수신되는 암호화된 세션키를 복호화하고, 복호화된 세션키를 이용하여 상기 제1 서버로부터 수신되는 암호화된 메시지를 복호화하는,
    단말기.
  5. 제4항에 있어서,
    상기 제1 서버로부터 수신되는 상기 암호화된 세션키는 상기 공개키를 이용하여 암호화된 것을 특징으로 하는,
    단말기.
  6. 제4항에 있어서,
    상기 제1 서버로부터 수신되는 암호화된 메시지는 상기 세션키를 이용하여 암호화된 것을 특징으로 하는,
    단말기.
  7. 단말기에서 수행되는 메신저 서비스를 제공하는 방법에 있어서,
    제1 서버와 동기화된 카운터 값 및 생성된 마스터키를 이용하여 개인키를 생성하는 단계;
    비밀분산법을 이용하여 상기 마스터키를 복수의 제2 서버들 각각에 분산하여 송신하는 단계;
    소정의 키 교환 기법을 통하여 제2 단말기와 세션키를 교환하는 단계; 및
    상기 세션키를 이용하여 암호화된 메시지를 상기 제1 서버로 송신하는 단계를 포함하는 메신저 서비스를 제공하는 방법.
  8. 제7항에 있어서,
    상기 마스터키는 상기 개인키가 생성된 후 상기 단말기 내에서 삭제되고,
    상기 암호화된 메시지는 상기 제1 서버를 경유하여 상기 제2 단말기로 송신되는, 메신저 서비스를 제공하는 방법.
KR1020150166351A 2015-11-26 2015-11-26 안전한 메신저 서비스를 제공하는 단말 및 방법 KR101760376B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150166351A KR101760376B1 (ko) 2015-11-26 2015-11-26 안전한 메신저 서비스를 제공하는 단말 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150166351A KR101760376B1 (ko) 2015-11-26 2015-11-26 안전한 메신저 서비스를 제공하는 단말 및 방법

Publications (2)

Publication Number Publication Date
KR20170061759A true KR20170061759A (ko) 2017-06-07
KR101760376B1 KR101760376B1 (ko) 2017-07-24

Family

ID=59223901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150166351A KR101760376B1 (ko) 2015-11-26 2015-11-26 안전한 메신저 서비스를 제공하는 단말 및 방법

Country Status (1)

Country Link
KR (1) KR101760376B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117118988A (zh) * 2023-03-14 2023-11-24 荣耀终端有限公司 一种数据同步方法及相关装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102265611B1 (ko) * 2019-11-29 2021-06-15 서울대학교산학협력단 네트워크 시스템 및 그것의 메시지 보안 방법
US11711212B2 (en) 2021-02-17 2023-07-25 Seagate Technology Llc Post-quantum secure key-rotation for storage devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103185B1 (en) * 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
DK2320621T3 (en) 2009-11-06 2016-12-19 Hoffmann La Roche A method of establishing a cryptographic communication between a remote device and a medical device and system for carrying out this method
US9094191B2 (en) 2013-03-14 2015-07-28 Qualcomm Incorporated Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks
KR101475747B1 (ko) 2014-01-22 2014-12-23 고려대학교 산학협력단 동형 암호를 이용한 다자간 위탁 연산 방법
KR101541165B1 (ko) * 2014-02-28 2015-08-03 고려대학교 산학협력단 모바일 메시지 암호화 방법, 이 방법을 수행하는 프로그램을 기록한 컴퓨터 판독가능 기록매체 및 이 방법을 저장한 다운로드 서버

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117118988A (zh) * 2023-03-14 2023-11-24 荣耀终端有限公司 一种数据同步方法及相关装置

Also Published As

Publication number Publication date
KR101760376B1 (ko) 2017-07-24

Similar Documents

Publication Publication Date Title
US10243742B2 (en) Method and system for accessing a device by a user
US11880831B2 (en) Encryption system, encryption key wallet and method
CN101340443B (zh) 一种通信网络中会话密钥协商方法、系统和服务器
CN111130803B (zh) 数字签名的方法、系统及装置
CN105553951A (zh) 数据传输方法和装置
CN104821944A (zh) 一种混合加密的网络数据安全方法及系统
CN102916869A (zh) 即时通信方法和系统
CN104901803A (zh) 一种基于cpk标识认证技术的数据交互安全保护方法
CN103167494B (zh) 信息发送方法和系统
CN106549858B (zh) 一种基于标识密码的即时通信加密方法
CN102404337A (zh) 数据加密方法和装置
KR101760376B1 (ko) 안전한 메신저 서비스를 제공하는 단말 및 방법
CN113111386A (zh) 一种区块链交易数据的隐私保护方法
CN105553979A (zh) 一种智能电网中隐私信息的加密发布方法
CN102281303A (zh) 一种数据交换方法
CN100518060C (zh) 一种数字文档的加密保护方法及客户端设备
CN102036194B (zh) 一种加密mms的方法及系统
CN101420687A (zh) 一种基于移动终端支付的身份验证方法
JP4924943B2 (ja) 認証付鍵交換システム、認証付鍵交換方法およびプログラム
CN112054905B (zh) 一种移动终端的安全通信方法及系统
CN109274690A (zh) 群数据加密方法
CN104243291A (zh) 一种可保障用户通讯内容安全的即时通讯方法及其系统
CN106211108A (zh) 一种基于rsa公钥的短信加密方法
CN105791301A (zh) 一种面向多用户组群信密分离的密钥分发管理方法
CN110536030A (zh) 视频彩铃的传输方法、系统、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant