KR102154737B1 - 콘텐트의 암호화 및 복호화 방법 - Google Patents

콘텐트의 암호화 및 복호화 방법 Download PDF

Info

Publication number
KR102154737B1
KR102154737B1 KR1020140052974A KR20140052974A KR102154737B1 KR 102154737 B1 KR102154737 B1 KR 102154737B1 KR 1020140052974 A KR1020140052974 A KR 1020140052974A KR 20140052974 A KR20140052974 A KR 20140052974A KR 102154737 B1 KR102154737 B1 KR 102154737B1
Authority
KR
South Korea
Prior art keywords
content
key
devices
delete delete
encryption
Prior art date
Application number
KR1020140052974A
Other languages
English (en)
Other versions
KR20150123672A (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 EP15165030.6A priority Critical patent/EP2937802B1/en
Priority to CN201580022041.3A priority patent/CN106464973B/zh
Priority to US14/696,895 priority patent/US10171994B2/en
Priority to PCT/KR2015/004138 priority patent/WO2015163735A1/en
Publication of KR20150123672A publication Critical patent/KR20150123672A/ko
Application granted granted Critical
Publication of KR102154737B1 publication Critical patent/KR102154737B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4408Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • H04W12/64Location-dependent; Proximity-dependent using geofenced areas
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

복수의 디바이스들을 포함하는 보안 그룹 내에서 공유 가능한 콘텐트를 암호화하는 방법으로서, 암호화 키 및 복수의 부분 키들을 생성하는 단계; 생성된 상기 복수의 부분 키들을 상기 복수의 디바이스들에 분배하는 단계; 및 생성된 상기 암호화 키를 이용하여 상기 콘텐트를 암호화하는 단계를 포함하는 방법을 개시한다.

Description

콘텐트의 암호화 및 복호화 방법{Method of encrypting/decrypting content}
본 개시는 콘텐트의 암호화/복호화에 관한 것으로, 더욱 상세하게는, 보안 그룹 내에서 공유되는 콘텐트의 암호화 방법 및 암호화된 콘텐트의 복호화 방법에 관한 것이다.
사용자 단말 장치와 같은 디바이스의 활발한 보급에 따라 복수의 디바이스들 사이에서 콘텐트를 공유하는 다양한 방법들이 제안되고 있다. 그러나, 복수의 디바이스들 사이에서 공유되는 콘텐트에 대한 별도의 보안 조치가 없을 경우, 사적인 콘텐트의 무분별한 유포가 발생할 수 있다.
예를 들어, 적어도 두 명의 사용자들과 관련된 동영상 또는 사진과 같은 사적인 콘텐트가 생성된 이후에, 적어도 두 명의 사용자들 사이에 콘텐트의 생성 시점과 다른 상황이 발생한 경우, 일부 사용자는 사적인 콘텐트가 외부에 노출되지 않기를 바랄 것이다.
본 발명의 기술적 사상이 해결하고자 하는 과제는 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유되는 콘텐트를 짧은 시간 내에 안전하게 암호화하는 방법을 제공하는 데에 있다.
또한, 본 발명의 기술적 사상이 해결하고자 하는 다른 과제는 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유되는 암호화된 콘텐트를 짧은 시간 내에 안전하게 복호화하는 방법을 제공하는 데에 있다.
또한, 본 발명의 기술적 사상이 해결하고자 하는 다른 과제는 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유되는 콘텐트를 짧은 시간 내에 안전하게 암호화할 수 있는 디바이스를 제공하는 데에 있다.
또한, 본 발명의 기술적 사상이 해결하고자 하는 다른 과제는 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유되는 콘텐트를 짧은 시간 내에 안전하게 암호화할 수 있는 서버를 제공하는 데에 있다.
본 발명의 기술적 사상은 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유 가능한 콘텐트를 암호화하는 방법으로서, 암호화 키 및 복수의 부분 키들을 생성하는 단계; 생성된 상기 복수의 부분 키들을 상기 복수의 디바이스들에 분배하는 단계; 및 생성된 상기 암호화 키를 이용하여 상기 콘텐트를 암호화하는 단계를 포함하는 방법을 제공한다.
일부 실시예들에 있어서, 상기 방법은 상기 복수의 디바이스들 중 적어도 하나 또는 서버에, 암호화된 상기 콘텐트를 저장하는 단계를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 콘텐트를 암호화하는 단계는 상기 복수의 디바이스들 중 제1 디바이스에서 수행되고, 상기 방법은, 상기 제1 디바이스에서 상기 복수의 디바이스들 중 적어도 하나의 나머지 디바이스에 암호화된 상기 콘텐트를 전송하는 단계를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 콘텐트를 암호화하는 단계는 서버에서 수행되고, 상기 방법은, 상기 서버에서 상기 복수의 디바이스들 중 적어도 하나에 암호화된 상기 콘텐트를 전송하는 단계를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 암호화 키 및 상기 복수의 부분 키들을 생성하는 단계는, 상기 복수의 디바이스들 중 제1 디바이스에서 수행되고, 상기 복수의 부분 키들을 상기 복수의 디바이스들에 분배하는 단계는, 상기 제1 디바이스에 대응되는 제1 부분 키를 상기 제1 디바이스에 저장하는 단계; 및 상기 제1 디바이스에서 상기 복수의 디바이스들 중 나머지 디바이스들에, 상기 나머지 디바이스들에 각각 대응되는 나머지 부분 키들을 각각 전송하는 단계를 포함할 수 있다.
일부 실시예들에 있어서, 상기 방법은 상기 제1 디바이스에서 상기 나머지 부분 키들을 암호화하는 단계를 더 포함하고, 상기 나머지 부분 키들을 각각 전송하는 단계는, 상기 제1 디바이스에서 상기 나머지 디바이스들에 암호화된 상기 나머지 부분 키들을 각각 전송할 수 있다.
일부 실시예들에 있어서, 상기 암호화 키 및 상기 복수의 부분 키들을 생성하는 단계는, 서버에서 수행되고, 상기 복수의 부분 키들을 상기 복수의 디바이스들에 분배하는 단계는, 상기 서버에서 상기 복수의 디바이스들에 상기 복수의 부분 키들을 각각 전송할 수 있다.
일부 실시예들에 있어서, 상기 방법은 상기 서버에서 상기 복수의 부분 키들을 암호화하는 단계를 더 포함하고, 상기 복수의 부분 키들을 각각 전송하는 단계는, 상기 서버에서 상기 복수의 디바이스들에 암호화된 상기 복수의 부분 키들을 각각 전송할 수 있다.
일부 실시예들에 있어서, 상기 방법은 상기 암호화 키 및 상기 복수의 부분 키들 중 적어도 하나를 상기 복수의 디바이스들 중 적어도 하나의 보안 구역에 저장하는 단계를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 방법은 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단하는 단계를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 근접 거리 내에 위치하는지 여부를 판단하는 단계는, 터치 센서 및 근접 센서 중 적어도 하나를 통해 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단할 수 있다. 일부 실시예들에 있어서, 상기 근접 거리 내에 위치하는지 여부를 판단하는 단계는, NFC(Near Field Communication) 칩, 블루투스 칩, 와이파이 칩 및 지그비(Zig bee) 칩 중 적어도 하나를 포함하는 근거리 무선 통신(short range wireless communication) 모듈을 통해 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단할 수 있다.
일부 실시예들에 있어서, 상기 암호화 키 및 복수의 부분 키들을 생성하는 단계는, 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는 경우에 상기 암호화 키 및 상기 복수의 부분 키들을 생성할 수 있다.
일부 실시예들에 있어서, 상기 암호화 키는 공개 키 및 개인 키로 구성된 키 쌍(pair)을 포함하고, 상기 콘텐트를 암호화하는 단계는, 상기 공개 키를 이용하여 상기 콘텐트를 암호화할 수 있다.
일부 실시예들에 있어서, 상기 복수의 디바이스들은 N개(N은 2 이상의 정수)이고, 상기 암호화 키 및 상기 복수의 부분 키들을 생성하는 단계는, 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는 경우, 상기 공개 키 및 상기 개인 키로 구성된 상기 키 쌍을 생성하는 단계; 및 상기 개인 키를 적어도 N개로 분할하여 적어도 N개의 상기 부분 키들을 생성하는 단계를 포함할 수 있다. 일부 실시예들에 있어서, 상기 방법은 상기 암호화 키 및 상기 복수의 부분 키들을 생성하는 단계 이후에, 상기 개인 키를 삭제하는 단계를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 방법은 상기 공개 키를 상기 복수의 디바이스들 중 적어도 하나 또는 서버에 저장하는 단계를 더 포함하고, 상기 콘텐트를 암호화하는 단계는, 상기 복수의 디바이스들 중 적어도 하나 또는 상기 서버에서 상기 공개 키를 이용하여 상기 콘텐트를 암호화할 수 있다.
일부 실시예들에 있어서, 상기 복수의 디바이스들은 N개(N은 2 이상의 정수)이고, 상기 암호화 키 및 상기 복수의 부분 키들을 생성하는 단계는, 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는 경우, 상기 공개 키 및 상기 개인 키로 구성된 상기 키 쌍을 생성하는 단계; 및 상기 공개 키를 적어도 N개로 분할하여 적어도 N개의 부분 키들을 생성하는 단계를 포함할 수 있다. 일부 실시예들에 있어서, 상기 방법은 상기 콘텐트를 암호화하는 단계 이후에, 상기 공개 키를 삭제하는 단계를 더 포함할 수 있다. 상기 콘텐트를 암호화하는 단계는, 상기 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 상기 근접 거리 내에 위치하는 경우 상기 공개 키를 이용하여 상기 콘텐트를 암호화할 수 있다.
일부 실시예들에 있어서, 상기 복수의 디바이스들은 N개(N은 2 이상의 정수)이고, 상기 암호화 키 및 상기 복수의 부분 키들을 생성하는 단계는, 상기 공개 키 및 상기 개인 키로 구성된 상기 키 쌍을 생성하는 단계; 및 상기 개인 키를 적어도 N-1개로 분할하여 적어도 N-1개의 상기 부분 키들을 생성하는 단계를 포함할 수 있다. 일부 실시예들에 있어서, 상기 방법은 상기 제1 디바이스에 상기 개인 키를 저장하는 단계; 및 상기 제1 디바이스에서 상기 N-1개의 다른 디바이스들에 상기 적어도 N-1개의 부분 키들을 각각 전송하는 단계를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 방법은 상기 적어도 N-1개의 부분 키들을 암호화하는 단계를 더 포함하고, 상기 적어도 N-1개의 부분 키들을 각각 전송하는 단계는, 상기 제1 디바이스에서 상기 N-1개의 다른 디바이스들에 암호화된 상기 적어도 N-1개의 부분 키들을 각각 전송할 수 있다.
일부 실시예들에 있어서, 상기 복수의 디바이스들은 N개(N은 2 이상의 정수)이고, 상기 암호화 키 및 상기 복수의 부분 키들을 생성하는 단계는, 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는 경우, 상기 암호화 키를 생성하는 단계; 및 상기 암호화 키를 적어도 N개로 분할하여 적어도 N개의 부분 키들을 생성하는 단계를 포함할 수 있다. 일부 실시예들에 있어서, 상기 방법은 상기 콘텐트를 암호화하는 단계 이후에, 상기 암호화 키를 삭제하는 단계를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 콘텐트를 암호화하는 단계는, 상기 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 상기 근접 거리 내에 위치하는 경우 상기 암호화 키를 이용하여 상기 콘텐트를 암호화할 수 있다.
일부 실시예들에 있어서, 상기 콘텐트를 암호화하는 단계는, 상기 콘텐트를 세션 키로 암호화하는 단계; 및 상기 암호화 키를 이용하여 상기 세션 키를 암호화하는 단계를 포함할 수 있다.
일부 실시예들에 있어서, 상기 방법은 상기 복수의 디바이스들 중 하나를 상기 보안 그룹에서 제외시키는 단계를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 방법은 상기 암호화 키에 대응하는 변형 암호화 키를 클라우드 서버에 저장하는 단계를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 방법은 상기 복수의 디바이스들 중 하나와 사용자가 동일한 추가 디바이스를 상기 보안 그룹에 추가하는 단계를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 방법은 사용자 입력 및 상기 복수의 디바이스들의 상태 정보 중 적어도 하나에 따라 상기 복수의 디바이스들 중 적어도 하나 또는 서버에 저장된 복수의 콘텐츠 중 암호화할 상기 콘텐트를 결정하는 단계를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 상태 정보는 상기 복수의 디바이스들의 위치 정보 및 상기 복수의 디바이스들의 사용자들의 소셜 네트워크 서비스(social network service, SNS) 상의 관계 정보 중 적어도 하나를 포함할 수 있다.
일부 실시예들에 있어서, 상기 보안 그룹은 암호화된 상기 콘텐트가 복호화될 경우 상기 콘텐트를 재생할 수 있는 재생 디바이스를 더 포함할 수 있다.
또한, 본 발명의 다른 기술적 사상은 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유 가능한 암호화된 콘텐트를 복호화하는 방법으로서, 상기 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는 경우, 상기 근접 거리 내에 위치하는 상기 디바이스들에 분배된 복수의 부분 키들로부터 복호화 키를 복원하는 단계; 및 복원된 상기 복호화 키를 이용하여 상기 암호화된 콘텐트를 복호화하는 단계를 포함하는 방법을 제공한다.
일부 실시예들에 있어서, 상기 방법은 상기 복수의 디바이스들 중 상기 임계 개수 이상의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단하는 단계를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 근접 거리 내에 위치하는지 여부를 판단하는 단계는, 터치 센서 및 근접 센서 중 적어도 하나를 통해 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단할 수 있다. 일부 실시예들에 있어서, 상기 근접 거리 내에 위치하는지 여부를 판단하는 단계는, NFC 칩, 블루투스 칩, 와이파이 칩 및 지그비 칩 중 적어도 하나를 포함하는 근거리 무선 통신 모듈을 통해 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단할 수 있다.
일부 실시예들에 있어서, 상기 방법은 상기 암호화된 콘텐트를 복원하는 단계 이후에, 상기 복호화 키 및 복호화된 상기 콘텐트 중 적어도 하나를 삭제하는 단계를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 방법은 상기 복호화 키 및 상기 복수의 부분 키들 중 적어도 하나를 상기 근접 거리 내에 위치하는 상기 디바이스들 중 적어도 하나의 보안 구역에 저장하는 단계를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 근접 거리 내에 위치하는 상기 디바이스들 중 적어도 하나가 상기 근접 거리를 벗어나는 경우, 상기 복호화 키를 복원하는 단계 및 상기 암호화된 콘텐트를 복호화하는 단계는 중단되고, 복호화된 상기 콘텐트는 다시 암호화될 수 있다.
일부 실시예들에 있어서, 상기 암호화된 콘텐트는 상기 근접 거리 내에 위치하는 상기 디바이스들 중 적어도 하나 또는 서버에 저장된 것일 수 있다.
일부 실시예들에 있어서, 상기 암호화된 콘텐트를 복호화하는 단계는 상기 근접 거리 내에 위치하는 상기 디바이스들 또는 서버에서 수행될 수 있다.
일부 실시예들에 있어서, 상기 복수의 디바이스들이 2개인 경우, 상기 임계 개수는 2일 수 있다. 다른 실시예들에 있어서, 상기 복수의 디바이스들이 2보다 큰 N개인 경우, 상기 임계 개수는 2 이상이고 N 이하일 수 있다.
일부 실시예들에 있어서, 상기 복수의 부분 키들은 복수의 부분 개인 키들에 대응되고, 상기 복호화 키를 복원하는 단계는, 상기 복수의 부분 개인 키들로부터 개인 키를 복원할 수 있다.
일부 실시예들에 있어서, 상기 암호화된 콘텐트를 복호화하는 단계는, 상기 복호화 키를 이용하여 암호화된 세션 키를 복호화하는 단계; 및 복호화된 상기 세션 키로 상기 암호화된 콘텐트를 복호화하는 단계를 포함할 수 있다.
일부 실시예들에 있어서, 상기 방법은 사용자 입력 및 상기 복수의 디바이스들의 상태 정보 중 적어도 하나에 따라 상기 복수의 디바이스들 중 적어도 하나 또는 서버에 저장된 복수의 콘텐츠 중 복호화할 상기 콘텐트를 결정하는 단계를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 상태 정보는 상기 복수의 디바이스들의 위치 정보 및 상기 복수의 디바이스들의 사용자들의 SNS 상의 관계 정보 중 적어도 하나를 포함할 수 있다.
일부 실시예들에 있어서, 상기 보안 그룹은 복호화된 상기 콘텐트를 재생할 수 있는 재생 디바이스를 더 포함할 수 있다.
또한, 본 발명의 다른 기술적 사상은 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유 가능한 콘텐트를 암호화하는, 상기 복수의 디바이스들 중 하나인 제1 디바이스로서, 암호화 키 및 복수의 부분 키들을 생성하는 키 생성부; 생성된 상기 복수의 부분 키들을 상기 복수의 디바이스들 중 나머지 디바이스들에 각각 전송하는 송수신부; 및 생성된 상기 암호화 키를 이용하여 상기 콘텐트를 암호화하는 암호화부를 포함하는 제1 디바이스를 제공한다.
일부 실시예들에 있어서, 상기 제1 디바이스는 암호화된 상기 콘텐트를 저장하는 저장부를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 저장부는, 상기 암호화 키 및 상기 복수의 부분 키들 중 상기 제1 디바이스에 할당된 제1 부분 키 중 적어도 하나를 저장하는 보안 구역을 포함할 수 있다.
일부 실시예들에 있어서, 상기 콘텐트를 암호화한 이후에, 상기 암호화 키는 삭제될 수 있다.
일부 실시예들에 있어서, 상기 송수신부는, 상기 복수의 디바이스들 중 적어도 하나의 나머지 디바이스에 암호화된 상기 콘텐트를 전송할 수 있다.
일부 실시예들에 있어서, 상기 암호화부는, 상기 콘텐트 및 상기 복수의 부분 키들을 암호화하고, 상기 송수신부는, 상기 복수의 디바이스들 중 나머지 디바이스들에 각각 대응되는 암호화된 상기 부분 키들을 각각 전송할 수 있다.
일부 실시예들에 있어서, 상기 암호화부는 상기 콘텐트를 세션 키로 암호화하고, 상기 암호화 키를 이용하여 상기 세션 키를 암호화할 수 있다.
일부 실시예들에 있어서, 상기 제1 디바이스는 상기 복수의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는지 여부를 판단하는 감지부를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 감지부는, 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단하는 터치 센서 및 근접 센서 중 적어도 하나를 포함할 수 있다. 일부 실시예들에 있어서, 상기 감지부는, 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단하는 NFC 칩, 블루투스 칩, 와이파이 칩 및 지그비 칩 중 적어도 하나를 포함하는 근거리 무선 통신 모듈을 포함할 수 있다.
일부 실시예들에 있어서, 상기 키 생성부는, 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는 경우 상기 암호화 키 및 상기 복수의 부분 키들을 생성할 수 있다.
일부 실시예들에 있어서, 상기 제1 디바이스는 상기 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 상기 근접 거리 내에 위치하는 경우, 상기 근접 거리 내에 위치하는 상기 디바이스들에 분배된 상기 복수의 부분 키들로부터 상기 암호화 키에 대응하는 복호화 키를 복원하는 키 복원부; 및 복원된 상기 복호화 키를 이용하여 상기 암호화된 콘텐트를 복호화하는 복호화부를 더 포함할 수 있다. 일부 실시예들에 있어서, 상기 암호화된 콘텐트를 복호화한 이후에, 상기 복호화 키 및 복호화된 상기 콘텐트 중 적어도 하나는 삭제될 수 있다.
일부 실시예들에 있어서, 상기 근접 거리 내에 위치하는 상기 디바이스들 중 적어도 하나가 상기 근접 거리를 벗어나는 경우, 상기 키 복원부 및 상기 복호화부 중 적어도 하나는 동작을 중단하고, 상기 암호화부는 복호화된 상기 콘텐트를 다시 암호화할 수 있다.
일부 실시예들에 있어서, 상기 복호화부는 복원된 상기 복호화 키로 암호화된 세션 키를 복호화하고, 복호화된 상기 세션 키로 상기 암호화된 콘텐트를 복호화할 수 있다.
또한, 본 발명의 다른 기술적 사상은 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유 가능한 콘텐트를 암호화하는 서버로서, 암호화 키 및 복수의 부분 키들을 생성하는 키 생성부; 생성된 복수의 부분 키들을 상기 복수의 디바이스들에 각각 전송하는 송수신부; 및 생성된 암호화 키를 이용하여 상기 콘텐트를 암호화하는 암호화부를 포함하는 서버를 제공한다.
일부 실시예들에 있어서, 상기 서버는 상기 암호화 키 및 상기 복수의 부분 키들을 저장하는 저장부를 더 포함하고, 상기 콘텐트를 암호화한 이후에, 상기 암호화 키는 삭제될 수 있다.
일부 실시예들에 있어서, 상기 송수신부는 암호화된 상기 콘텐트를 상기 복수의 디바이스들 중 적어도 하나에 전송할 수 있다.
일부 실시예들에 있어서, 상기 암호화부는 상기 콘텐트 및 상기 복수의 부분 키들을 암호화하고, 상기 송수신부는, 암호화된 상기 복수의 부분 키들을 상기 복수의 디바이스들에 각각 전송할 수 있다.
일부 실시예들에 있어서, 상기 송수신부는, 상기 복수의 디바이스들 중 적어도 하나로부터 상기 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는 것을 알려주는 감지 신호를 수신할 수 있다.
일부 실시예들에 있어서, 상기 서버는 상기 복수의 디바이스들 중 상기 임계 개수 이상의 디바이스들이 상기 근접 거리 내에 위치하는 경우, 상기 근접 거리 내에 위치하는 상기 디바이스들에 분배된 상기 복수의 부분 키들로부터 상기 암호화 키에 대응하는 복호화 키를 복원하는 키 복원부; 및 복원된 상기 복호화 키를 이용하여 상기 암호화된 콘텐트를 복호화하는 복호화부를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 암호화된 콘텐트를 복호화한 이후에, 상기 복호화 키 및 복호화된 상기 콘텐트 중 적어도 하나는 삭제될 수 있다.
또한, 본 발명의 다른 기술적 사상은 상기 콘텐트 암호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공한다.
또한, 본 발명의 다른 기술적 사상은 상기 콘텐트 복호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공한다.
도 1은 본 개시의 일 실시예에 따른 보안 그룹을 나타내는 블록도이다.
도 2의 도 1의 보안 그룹의 일 예를 나타내는 개략도이다.
도 3은 본 개시의 일 실시예에 따른 콘텐트 암호화 방법을 나타내는 순서도이다.
도 4는 도 3의 콘텐트 암호화 방법에 포함된 분배 단계 및 저장 단계의 구현 예를 나타내는 도면이다.
도 5는 도 3의 콘텐트 암호화 방법에 포함된 저장 단계의 구현 예를 나타내는 도면이다.
도 6은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 7은 도 6의 콘텐트 암호화 방법에 따른 도 1의 보안 그룹의 동작의 일 예를 더욱 상세하게 나타내는 흐름도이다.
도 8은 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 9는 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 10은 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 11은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 12는 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 13은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 14는 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 15는 도 3의 콘텐트 암호화 방법의 일 변형 예에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 16은 도 3의 콘텐트 암호화 방법의 일 변형 예에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 17은 도 3의 콘텐트 암호화 방법의 일 변형 예에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 18은 도 3의 콘텐트 암호화 방법의 일 변형 예에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 19는 본 개시의 일 실시예에 따른 콘텐트 복호화 방법을 나타내는 순서도이다.
도 20은 도 19의 콘텐트 복호화 방법에 포함된 근접 거리 내에 위치하는지 판단하는 단계의 일 구현 예를 나타내는 도면이다.
도 21은 도 19의 콘텐트 복호화 방법에 포함된 근접 거리 내에 위치하는지 판단하는 단계의 다른 구현 예를 나타내는 도면이다.
도 22는 도 19의 콘텐트 복호화 방법의 구현 예를 나타내는 도면이다.
도 23은 도 19의 콘텐트 복호화 방법에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 24는 도 19의 콘텐트 복호화 방법에 따른 도 1의 보안 그룹의 동작의 다른 예를 더욱 상세하게 나타내는 흐름도이다.
도 25는 도 3의 콘텐트 암호화 방법 및 도 19의 콘텐트 복호화 방법에 따른 적용 예를 나타내는 도면이다.
도 26은 본 개시의 일 실시예에 따른 보안 시스템을 나타내는 블록도이다.
도 27은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 26의 보안 시스템의 동작의 일 예를 나타내는 흐름도이다.
도 28는 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 26의 보안 시스템의 동작의 일 예를 나타내는 흐름도이다.
도 29는 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 26의 보안 시스템의 동작의 다른 예를 나타내는 흐름도이다.
도 30은 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 26의 보안 시스템의 동작의 다른 예를 나타내는 흐름도이다.
도 31은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 26의 보안 시스템의 동작의 다른 예를 나타내는 흐름도이다.
도 32는 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 26의 보안 시스템의 동작의 다른 예를 나타내는 흐름도이다.
도 33은 도 19의 콘텐트 복호화 방법에 따른 도 26의 보안 시스템의 동작의 일 예를 나타내는 흐름도이다.
도 34는 본 개시의 일 실시예에 따른 디바이스를 나타내는 블록도이다.
도 35는 도 34에 포함된 감지부의 일 예를 나타내는 블록도이다.
도 36은 본 개시의 일 실시예에 따른 디바이스의 구성을 설명하기 위한 블록도이다.
도 37은 본 개시의 일 실시예에 따른 디바이스의 소프트웨어 구성을 설명하기 위한 블록도이다.
도 38은 본 개시의 일 실시예에 따르는 서버를 나타내는 블록도이다.
도 39는 본 개시의 일 실시예에 따른 서버의 구성을 설명하기 위한 블록도이다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 개시의 일 실시예에 따른 보안 그룹(10)을 나타내는 블록도이다.
도 1을 참조하면, 보안 그룹(10)은 복수의 디바이스들, 예를 들어, 제1 내지 제3 디바이스들(100, 200, 300)을 포함할 수 있다. 구체적으로, 보안 그룹(10)은 복수의 디바이스들(100, 200, 300) 사이에서 안전하게 콘텐트를 공유할 수 있으며, 이를 위해 콘텐트를 암호화하고 암호화된 콘텐트를 복호화할 수 있다. 따라서, 보안 그룹(10)을 콘텐트 암호화 시스템 또는 암호화된 콘텐트 복호화 시스템이라고 지칭할 수 있다. 또한, 보안 그룹(10)을 보안 시스템이라고 지칭할 수도 있다.
이때, 도시된 구성요소가 모두 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 보안 그룹 또는 보안 시스템이 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 보안 그룹 또는 보안 시스템이 구현될 수 있다. 예를 들어, 보안 그룹(10)은 두 개의 디바이스들을 포함할 수도 있고, 네 개 이상의 디바이스들을 포함할 수도 있다. 또 다른 예를 들어, 보안 그룹(10) 또는 보안 시스템은 복수의 디바이스들 및 서버 또는 클라우드(cloud) 서버를 더 포함할 수 있다.
보안 그룹(10)을 생성 또는 초기화하는 동작을 수행할 수 있고, 이러한 동작을 수행하는 디바이스를 '그룹 리더(leader)'라고 지칭할 수 있다. 본 실시예에서, 제1 디바이스(100)는 보안 그룹(10) 내의 그룹 리더이고, 제2 및 제3 디바이스들(200, 300)은 그룹 구성원들일 수 있다. 제1 디바이스(100)는 제1 사용자(USER1)의 디바이스이고, 제2 디바이스(200)는 제2 사용자(USER2)의 디바이스이며, 제3 디바이스(300)는 제3 사용자(USER3)의 디바이스일 수 있다.
예를 들어, 제1 내지 제3 디바이스들(100, 200, 300)이 스마트폰일 수 있으나, 이에 제한되지 않는다. 제1 내지 제3 디바이스들(100, 200, 300) 중 적어도 하나는, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 웨어러블 디바이스(Wearable Device) 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있다.
제1 내지 제3 디바이스들(100, 200, 300) 중 하나는 콘텐트를 생성 및 저장할 수 있고, 저장된 콘텐트를 암호화할 수 있으며, 암호화된 콘텐트는 복사되어 제1 내지 제3 디바이스들(100, 200, 300) 사이에서 공유될 수 있다. 제1 내지 제3 디바이스들(100, 200, 300) 중 적어도 하나는 예를 들어, 트러스트존(TrustZone)과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있고, 이로써, 암호화된 콘텐트를 하드웨어적으로 보호할 수 있다. 다른 실시예에서, 서버 또는 클라우드 서버(미도시)가 암호화된 콘텐트를 저장할 수 있고, 저장된 콘텐트는 1 내지 제3 디바이스들(100, 200, 300) 사이에서 공유될 수 있다.
여기서, 콘텐트는 예를 들어, 동영상 콘텐트(예컨대, TV 프로그램 영상, VOD(Video On Demand), 개인 영상(UCC: User-Created Contents), 뮤직비디오, 유투브 영상 등), 정지 영상 콘텐트(예컨대, 사진, 그림 등), 텍스트 콘텐트(예컨대, 전자책(시, 소설), 편지, 업무 파일, 웹 페이지 등), 음악 콘텐트(예컨대, 음악, 연주곡, 라디오 방송 등), 애플리케이션(위젯, 게임, 화상 통화 등) 등일 수 있다.
일 실시예에서, 콘텐트는 사용자 입력에 따라 수동으로 선택될 수 있다. 예를 들어, 카메라 또는 사진첩과 같은 어플리케이션의 실행 중에 콘텐트를 선택할 수 있다. 다른 예를 들어, 보안 그룹(10) 내의 콘텐트 공유를 위한 특정 어플리케이션의 실행으로 콘텐트를 선택할 수도 있다.
다른 실시예에서, 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라, 즉, 콘텍스트(context)를 기반으로 자동으로 결정될 수도 있다. 예를 들어, 제1 내지 제3 디바이스들(100, 200, 300)의 위치 정보 및 제1 내지 제3 디바이스들(100, 200, 300)의 사용자들(USER1, USER2, USER3)의 소셜 네트워크 서비스(social network service, SNS) 상의 관계 정보 중 적어도 하나에 따라 콘텐트는 결정될 수 있다. 다른 예를 들어, 제1 내지 제3 디바이스들(100, 200, 300) 중 하나가 일방적으로 콘텍스트를 결정할 수도 있다.
일 실시예에서, 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300) 중 적어도 하나에서 암호화될 수 있고, 암호화된 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300)이 모두 모였을 때만 복호화되어 공유될 수 있다. 따라서, 제1 내지 제3 디바이스들(100, 200, 300) 모두의 동의가 없을 경우 콘텐트는 공개되거나 변경될 수 있다.
구체적으로, 제1 내지 제3 디바이스들(100, 200, 300)을 포함하는 보안 그룹(10)은 비밀 분산법(secret sharing 또는 secret splitting)을 기초로 하여 콘텐트를 암호화/복호화할 수 있다. 여기서, 비밀 분산법은 하나의 비밀 정보(예를 들어, 암호 키)를 다수의 비밀 조각들(shares)로 분할하고, 그룹 멤버들이 분할된 다수의 비밀 조각들을 각각 저장함으로써, 비밀 정보를 안전하게 유지 관리시키는 암호학적 기술이다.
다른 실시예에서, 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300) 중 적어도 하나에서 암호화될 수 있고, 암호화된 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300) 중 일부가 모였을 때 복호화되어 공유될 수 있다. 따라서, 제1 내지 제3 디바이스들(100, 200, 300) 중 일부의 동의가 있을 경우 콘텐트는 공개되거나 변경될 수 있다.
구체적으로, 제1 내지 제3 디바이스들(100, 200, 300)을 포함하는 보안 그룹(10)은 임계치법을 기초로 하여 콘텐트를 암호화/복호화할 수 있다. 여기서, 임계치법은 비밀 분산법의 변형으로서, N명의 참가자들 중 임계치인 t명 이상의 참가자들이 모이면 원 비밀 정보를 복원할 수 있고, t명 미만의 참가자들만으로는 원 비밀 정보를 복원할 수 없다. 예를 들어, N은 3이고, t는 2이면, 암호화된 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300) 중 두 개 이상의 디바이스들이 모였을 때 복호화되어 공유될 수 있다.
콘텐트의 암호화 방법 및 암호화된 콘텐트의 복호화 방법에 대해서는, 이하에서 도 3 내지 도 25를 참조하여 상술하기로 한다.
도 2의 도 1의 보안 그룹의 일 예(10a)를 나타내는 개략도이다.
도 2를 참조하면, 보안 그룹(10a)은 제1 내지 제3 디바이스들(100a, 200a, 300a)을 포함하며, 예를 들어, 제1 내지 제3 디바이스들(100a, 200a, 300a)은 암호화된 메모(EC1), 암호화된 메일(EC2), 암호화된 사진(EC3) 또는 암호화된 문서(EC4)를 저장하고 있을 수 있다. 이때, 제1 내지 제3 디바이스들(100a, 200a, 300a)은 분할된 비밀 조각들(S1, S2, S3)을 각각 가지고 있는 것으로 볼 수 있다. 따라서, 제1 내지 제3 디바이스들(100a, 200a, 300a)의 각각은 원 비밀 정보를 복원할 수 없다.
그러나, 제1 내지 제3 디바이스들(100a, 200a, 300a)이 모두 모였을 경우, 분할된 비밀 조각들(S1, S2, S3)로부터 비밀 정보를 복원할 수 있다. 이로써, 제1 내지 제3 디바이스들(100a, 200a, 300a)은 복호화된 메모(DC1), 복호화된 메일(DC2), 복호화된 사진(DC3) 또는 복호화된 문서(DC4)를 획득할 수 있다
도 3은 본 개시의 일 실시예에 따른 콘텐트 암호화 방법을 나타내는 순서도이다.
도 3을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유되는 콘텐트를 암호화하기 위한 방법으로서, 복수의 디바이스들 중 하나에서 수행되는 아래의 단계들을 포함한다. 예를 들어, 본 실시예에 따른 콘텐트 암호화 방법은 도 1의 보안 그룹(10)에 포함된 제1 디바이스(100)에서 시계열적으로 처리되는 단계들을 포함할 수 있다.
단계 S310에서, 암호화 키 및 복수의 부분 키들을 생성한다. 구체적으로, 제1 디바이스(100)는 암호화 키 및 제1 내지 제3 디바이스들(100, 200, 300)에 분배될 복수의 부분 키들을 생성할 수 있다. 여기서, 암호화 키는 콘텐트를 암호화하는데 이용될 수 있고, 복수의 부분 키들을 암호화된 콘텐트를 복호화하는데 이용될 수 있다.
일 실시예에서, 콘텐트 암호화 방법은 비대칭 암호화 방식에 따라 콘텐트를 암호화할 수 있다. 이때, 암호화 키는 공개 키(public key) 및 개인 키(private key)를 포함하는 키 쌍(key pair)을 포함할 수 있고, 공개 키는 콘텐트를 암호화하는데 이용될 수 있고, 개인 키는 콘텐트를 복호화하는데 이용될 수 있다. 예를 들어, 제1 디바이스(100)는 개인 키를 적어도 3개로 분할하여 제1 내지 제3 부분 키들을 생성할 수 있다. 다른 예를 들어, 제1 디바이스(100)는 공개 키를 적어도 3개로 분할하여 제1 내지 제3 부분 키들을 생성할 수도 있다.
다른 실시예에서, 콘텐트 암호화 방법은 대칭 암호화 방식에 따라 콘텐트를 암호화할 수 있다. 이때, 암호화 키는 콘텐트를 암호화 및 복호화하는데 이용될 수 있는바, 대칭 키라고 지칭할 수 있다. 예를 들어, 제1 디바이스(100)는 암호화 키를 적어도 3개로 분할하여 제1 내지 제3 부분 키들을 생성할 수 있다.
단계 S320에서, 생성된 복수의 부분 키들을 복수의 디바이스들에 분배한다. 구체적으로, 제1 디바이스(100)는 생성된 제1 내지 제3 부분 키들 중 제1 부분 키를 저장하고, 제2 및 제3 부분 키들을 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다. 다른 실시예에서, 콘텐트 암호화 방법은, 제1 디바이스(100)에서 복수의 부분 키들을 암호화하는 단계를 더 포함할 수 있다. 이때, 제1 디바이스(100)는 암호화된 제2 및 제3 부분 키들을 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다.
단계 S330에서, 생성된 암호화 키를 이용하여 콘텐트를 암호화한다. 구체적으로, 제1 디바이스(100)는 생성된 암호화 키를 이용하여 제1 디바이스(100) 또는 서버에 저장된 콘텐트를 암호화할 수 있다. 예를 들어, 비대칭 암호화 방식인 경우, 제1 디바이스(100)는 공개 키를 이용하여 콘텐트를 암호화할 수 있다. 다른 예를 들어, 대칭 암호화 방식인 경우, 제1 디바이스(100)는 대칭 키인 암호화 키를 이용하여 콘텐트를 암호화할 수 있다.
단계 S340에서, 암호화된 콘텐트를 저장한다. 구체적으로, 제1 디바이스(100)는 암호화된 콘텐트를 저장할 수 있다. 일 실시예에서, 제1 디바이스(100)는 트러스트 존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있으며, 이로써, 암호화된 콘텐트를 하드웨어적으로 보호할 수 있다. 또한, 제1 디바이스(100)는 제2 및 제3 디바이스들(200, 300) 중 적어도 하나 또는 서버에 암호화된 콘텐트를 전송할 수도 있다.
도 4는 도 3의 콘텐트 암호화 방법에 포함된 분배 단계 및 저장 단계의 구현 예를 나타내는 도면이다.
도 4를 참조하면, 제1 사용자(USER1)의 제1 디바이스(100a)는 제2 및 제3 디바이스들(200a, 300a)에 제2 및 제3 부분 키들을 전송할 수 있다. 따라서, 보안 그룹(10) 내의 임의의 디바이스를 사용하는 임의의 사용자는 전체 키를 획득할 수 없으므로, 단독으로 콘텐트에 접근할 수 없다. 다만, 보안 그룹(10)에 포함된 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 근접 거리에 위치하는 경우에만 각 디바이스들이 저장하고 있는 복수의 부분 키들을 이용하여 복호화 키를 복원할 수 있고, 복호화 키를 이용하여 암호화된 콘텐트에 접근할 수 있다.
또한, 제1 사용자(USER1)의 제1 디바이스(100a)는 제2 및 제3 디바이스들(200a, 300a)에 암호화된 제2 및 제3 부분 키들을 전송할 수 있다. 따라서, 보안 그룹(10)에 속하지 않는 다른 디바이스 또는 보안 그룹(10) 내의 다른 디바이스는 해당 부분 키를 복호화할 수 있는 키가 없으므로, 해당 부분 키를 획득할 수 없다.
또한, 제1 디바이스(100a)는 제2 및 제3 디바이스들(200a, 300a)에 암호화된 콘텐트를 전송할 수 있다. 따라서, 보안 그룹(10)에 속하지 않는 다른 디바이스 또는 사용자는 해당 콘텐트를 복호화할 수 있는 키가 없으므로, 해당 콘텐트에 접근할 수 없다.
도 5는 도 3의 콘텐트 암호화 방법에 포함된 저장 단계의 구현 예를 나타내는 도면이다.
도 5를 참조하면, 제1 내지 제3 디바이스들(100a, 200a, 300a)은 각각 암호화된 콘텐트(EC)를 저장할 수 있다. 또한, 제1 내지 제3 디바이스들(100a, 200a, 300a)은 각각 제1 내지 제3 부분 키들을 저장하고 있으므로, 제1 내지 제3 디바이스들(100a, 200a, 300a)은 암호화된 콘텐트(EC)를 단독으로 복호화할 수 없다.
도 6은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 6을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 개인 키를 분배하는 분산 암호화 방법으로서, 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 보안 그룹(10)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S610에서, 제1 디바이스(100)는 공개 키 및 개인 키로 구성된 키 쌍을 생성한다. 예를 들어, 제1 디바이스(100)는 암호화에 이용되는 공개 키(T) 및 공개 키(T)에 대응되며 복호화에 이용되는 개인 키(t)를 생성할 수 있다.
단계 S620에서, 제1 디바이스(100)는 개인 키를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들을 생성한다. 예를 들어, 제1 디바이스(100)는 개인 키(t)를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들(t1, t2, t3)을 생성할 수 있다. 이때, 제1 디바이스(100)는 샤미르 방법(Shamir scheme)을 이용하여 개인 키(t)를 분할할 수 있다.
단계 S630에서, 제1 디바이스(100)는 개인 키를 삭제한다. 예를 들어, 제1 디바이스(100)는 개인 키(t)를 삭제할 수 있으며, 이로써, 제1 내지 제3 디바이스들(100, 200, 300) 중 어느 하나도 개인 키(t)를 획득할 수 없고, 이에 따라, 단독으로 암호화된 콘텐트에 접근할 수 없다.
단계 S640에서, 제1 디바이스(100)는 제2 및 제3 부분 키들을 암호화한다. 예를 들어, 제1 디바이스(100)는 전송 시의 보안을 위하여, 제2 및 제3 부분 키들(t2, t3)을 각각 암호화하여 암호화된 제2 및 제3 부분 키들을 생성할 수 있다. 이로써, 암호화된 제2 및 제3 부분 키들의 전송 단계에서 보안 그룹(10)에 속하지 않는 다른 디바이스들은 해당 부분 키를 획득할 수 없다.
단계 S650에서, 제1 디바이스(100)는 공개 키 및 암호화된 제2 부분 키를 제2 디바이스(200)에 전송한다. 단계 S660에서, 제1 디바이스(100)는 공개 키 및 암호화된 제3 부분 키를 제3 디바이스(300)에 전송한다. 예를 들어, 제1 디바이스(100)는 와이파이(WiFi), 3G/LTE, 블루투스 등과 같은 무선 통신을 통해 공개 키 및 암호화된 제2 및 제3 부분 키들을 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다.
단계 S670에서, 제1 디바이스(100)는 공개 키 및 제1 부분 키를 저장한다. 단계 S680에서, 제2 디바이스(200)는 공개 키 및 제2 부분 키를 저장한다. 단계 S690에서, 제3 디바이스(300)는 공개 키 및 제3 부분 키를 저장한다. 예를 들어, 제2 및 제3 디바이스들(200, 300)은 암호화된 제2 및 제3 부분 키들을 각각 복호화함으로써, 제2 및 제3 부분 키들을 각각 추출할 수 있다. 또한, 제2 및 제3 디바이스들(200, 300)은 공개 키(T)를 가지므로, 제1 내지 제3 디바이스들(100, 200, 300)의 제1 내지 제3 사용자들(USER1, USER2, USER3)은 누구나 공개 키(T)를 이용하여 콘텐트를 암호화할 수 있다.
도 7은 도 6의 콘텐트 암호화 방법에 따른 도 1의 보안 그룹의 동작의 일 예를 더욱 상세하게 나타내는 흐름도이다.
도 7을 참조하면, 단계 S710a에서, 제1 디바이스(100)는 제1 확인 공개 키(K1) 및 제1 확인 개인 키(k1)를 생성한다. 여기서, 제1 확인 공개 키(K1) 및 제1 확인 개인 키(k1)로 구성된 제1 확인 키 쌍은, 제1 디바이스(100)에 설치된 제1 어플리케이션을 확인하기 위한 키 조합이다. 제2 및 제3 디바이스들(200, 300)에 각각 설치된 제2 및 제3 어플리케이션들은 제1 확인 공개 키(K1)를 통해 제1 디바이스(100)에 설치된 제1 어플리케이션을 확인 또는 식별할 수 있다.
일 실시예에서, 제1 디바이스(100)는 폰 PKI(public key infrastructure)에 제1 확인 공개 키(K1) 및 제1 확인 개인 키(k1)의 생성을 요청할 수 있다. 다른 실시예에서, 제1 디바이스(100)는 폰 PKI에 제1 확인 공개 키(K1), 제1 확인 개인 키(k1) 및 제1 확인 공개 키(K1)에 대한 제1 인증서(Certificatep1(K1))의 생성을 요청할 수 있다. 여기서, p1은 제1 디바이스(100)의 인증을 위한 키이고, 제1 인증서(Certificatep1(K1))는 제1 사용자(USER1)의 신분과 공개 키, 즉, 제1 확인 공개 키(K1)를 연결해주는 문서이다.
단계 S710b에서, 제2 디바이스(200)는 제2 확인 공개 키(K2) 및 제2 확인 개인 키(k2)를 생성한다. 여기서, 제2 확인 공개 키(K2) 및 제2 확인 개인 키(k2)로 구성된 제2 확인 키 쌍은, 제2 디바이스(200)에 설치된 제2 어플리케이션을 확인하기 위한 키 조합이다. 제1 및 제3 디바이스들(100, 300)에 각각 설치된 제1 및 제3 어플리케이션들은 제2 확인 공개 키(K2)를 통해 제2 디바이스(200)에 설치된 제2 어플리케이션을 확인 또는 식별할 수 있다.
일 실시예에서, 제2 디바이스(200)는 폰 PKI에 제2 확인 공개 키(K2) 및 제2 확인 개인 키(k2)의 생성을 요청할 수 있다. 다른 실시예에서, 제2 디바이스(200)는 폰 PKI에 제2 확인 공개 키(K2), 제2 확인 개인 키(k2) 및 제2 확인 공개 키(K2)에 대한 제2 인증서(Certificatep2(K2))의 생성을 요청할 수 있다. 여기서, p2은 제2 디바이스(200)의 인증을 위한 키이고, 제2 인증서(Certificatep2(K2))는 제2 사용자(USER2)의 신분과 공개 키, 즉, 제2 확인 공개 키(K2)를 연결해주는 문서이다.
단계 S710c에서, 제3 디바이스(300)는 제3 확인 공개 키(K3) 및 제3 확인 개인 키(k3)를 생성한다. 여기서, 제3 확인 공개 키(K3) 및 제3 확인 개인 키(k3)로 구성된 제3 확인 키 쌍은, 제3 디바이스(300)에 설치된 제3 어플리케이션을 확인하기 위한 키 조합이다. 제1 및 제2 디바이스들(100, 200)에 각각 설치된 제1 및 제2 어플리케이션들은 제3 확인 공개 키(K3)를 통해 제3 디바이스(300)에 설치된 제3 어플리케이션을 확인 또는 식별할 수 있다.
일 실시예에서, 제3 디바이스(300)는 폰 PKI에 제3 확인 공개 키(K3) 및 제3 확인 개인 키(k3)의 생성을 요청할 수 있다. 다른 실시예에서, 제3 디바이스(300)는 폰 PKI에 제3확인 공개 키(K3), 제3 확인 개인 키(k3) 및 제3 확인 공개 키(K3)에 대한 제3 인증서(Certificatep3(K3))의 생성을 요청할 수 있다. 여기서, p3은 제3 디바이스(300)의 인증을 위한 키이고, 제3 인증서(Certificatep3(K3))는 제3 사용자(USER3)의 신분과 공개 키, 즉, 제3 확인 공개 키(K3)를 연결해주는 문서이다. 이상에서 설명된 단계 S710a 내지 단계 S710c은 확인 키 생성 단계라고 지칭할 수 있다.
단계 S720a에서, 제2 디바이스(200)는 제1 디바이스(100)에 제2 확인 공개 키(K2)를 전송한다. 전송된 제2 확인 공개 키(K2)는 제1 디바이스(100)에서 제2 부분 콘텐트 개인 키(t2)를 암호화하는데 이용될 수 있다. 다른 실시예에서, 제2 디바이스(200)는 제1 디바이스(100)에 제2 확인 공개 키(K2) 및 제2 인증서(Certificatep2(K2))를 전송할 수 있다.
단계 S720b에서, 제3 디바이스(300)는 제1 디바이스(100)에 제3 확인 공개 키(K3)를 전송한다. 전송된 제3 확인 공개 키(K3)는 제1 디바이스(100)에서 제3 부분 콘텐트 개인 키(t3)를 암호화하는데 이용될 수 있다. 다른 실시예에서, 제3 디바이스(300)는 제1 디바이스(100)에 제3 확인 공개 키(K3) 및 제3 인증서(Certificatep3(K3))를 전송할 수 있다.
단계 S730에서, 제1 디바이스(100)는 제1 내지 제3 확인 공개 키들(K1, K2, K3)을 포함하는 확인 공개 키 집합({K1, K2, K3})을 생성한다. 생성된 확인 공개 키 집합({K1, K2, K3})은 제1 내지 제3 디바이스들에 저장될 수 있다.
단계 S740에서, 제1 디바이스(100)는 콘텐트 공개 키(T) 및 콘텐트 개인 키(t)를 생성한다. 여기서, 콘텐트 공개 키(T) 및 콘텐트 개인 키(t)로 구성된 콘텐트 키 쌍은 보안 그룹(10)에서 공유되는 콘텐트를 암호화/복호화하는데 이용되는 키 조합이다. 구체적으로, 콘텐트 개인 키(t)는 콘텐트를 암호화하는 대칭키(s)를 암호화하는데 이용될 수 있다.
다른 실시예에서, 제1 디바이스(100)는 제1 내지 제3 확인 공개 키들(K1, K2, K3)로부터 확인 공개 키 연결(concatenate) 값(G)을 더 생성할 수 있다(즉, G=K1|K2|K3).
단계 S750에서, 제1 디바이스(100)는 콘텐트 개인 키(t)를 적어도 3개로 분할하여, 제1 내지 제3 부분 콘텐트 개인 키들(t1, t2, t3)을 생성한다(즉, t=t1+t2+t3+...). 이때, 제1 디바이스(100)는 샤미르 방법(Shamir scheme)을 이용하여 콘텐트 개인 키(t)를 분할할 수 있다.
다른 실시예에서, 제1 디바이스(100)는 확인 공개 키 연결 값(G) 및 제1 내지 제3 부분 콘텐트 개인 키들(t1, t2, t3)에 대한 제1 내지 제3 전자 서명들을 각각 생성할 수 있다. 또 다른 실시예에서, 제1 디바이스(100)는 그룹 ID(GroupID), 확인 공개 키 연결 값(G) 및 제1 내지 제3 부분 콘텐트 개인 키(t1, t2, t3)에 대한 전자 서명을 생성할 수 있다. 구체적으로, 제1 전자 서명은 E-Signt(GroupID|G|t1)이고, 제2 전자 서명은 E-Signt(GroupID|G|t2)이며, 제3 전자 서명은 E-Signt(GroupID|G|t3)이다.
단계 S760에서, 제1 디바이스(100)는 콘텐트 개인 키(t)를 삭제한다. 이로써, 콘텐트 개인 키(t)는 어느 누구도 알 수 없으며, 제1 내지 제3 디바이스들(100, 200, 300) 중 임계 개수 이상의 디바이스들이 근접 거리에 위치하지 않는 이상, 어느 누구도 단독으로 암호화된 콘텐트를 복호화할 수 없다. 다른 실시예에서, 제1 디바이스(100)는 콘텐트 개인 키(t)를 트러스트존과 같은 보안 구역에 저장할 수 있고, 이로써, 콘텐트 개인 키(t)를 하드웨어적으로 보호할 수 있다.
단계 S770에서, 제1 디바이스(100)는 제2 및 제3 확인 공개 키들(K2, K3)을 이용하여 제2 및 제3 부분 콘텐트 개인 키들(t2, t3)을 각각 암호화한다. 이로써, 제2 부분 콘텐트 개인 키 암호화 값(EncK2(t2)) 및 제3 부분 콘텐트 개인 키 암호화 값(EncK3(t3))이 생성된다. 이때, 제2 부분 콘텐트 개인 키 암호화 값(EncK2(t2))은 제2 확인 공개 키(K2)에 대응하는 제2 확인 개인 키(k2)를 이용하여 복호화될 수 있으므로, 제2 확인 개인 키(k2)를 가지고 있는 제2 디바이스(200)에서만 복호화될 수 있다. 또한, 제3 부분 콘텐트 개인 키 암호화 값(EncK3(t3))은 제3 확인 공개 키(K3)에 대응하는 제3 확인 개인 키(k3)를 이용하여 복호화될 수 있으므로, 제3 확인 개인 키(k3)를 가지고 있는 제3 디바이스(300)에서만 복호화될 수 있다.
단계 S780a에서, 제1 디바이스(100)는 확인 공개 키 집합({K1, K2, K3}), 콘텐트 공개 키(T) 및 제2 부분 콘텐트 개인 키 암호화 값(EncK2(t2))을 제2 디바이스(200)에 전송한다. 다른 실시예에서, 제1 디바이스(100)는 제2 전자 서명(E-Signt(GroupID|G|t2))을 제2 디바이스(200)에 더 전송할 수 있다.
단계 S780b에서, 제1 디바이스(100)는 확인 공개 키 집합({K1, K2, K3}), 콘텐트 공개 키(T) 및 제3 부분 콘텐트 개인 키 암호화 값(EncK3(t3))을 제3 디바이스(300)에 전송한다. 다른 실시예에서, 제1 디바이스(100)는 제3 전자 서명(E-Signt(GroupID|G|t3))을 제3 디바이스(300)에 더 전송할 수 있다. 이상에서 설명된 단계 S710a 내지 단계 S780b은 보안 그룹(10)의 생성 또는 초기화 단계라고 지칭할 수 있다.
단계 S790a에서, 제1 디바이스(100)는 확인 공개 키 집합({K1, K2, K3}), 콘텐트 공개 키(T) 및 제1 부분 콘텐트 개인 키(t1)를 저장한다. 단계 S790b에서, 제2 디바이스(200)는 제2 부분 콘텐트 개인 키 암호화 값(EncK2(t2))을 제2 확인 개인 키(k2)로 복호화하여 제2 부분 콘텐트 개인 키(t2)를 추출하여 저장한다. 단계 S790c에서, 제3 디바이스(300)는 제3 부분 콘텐트 개인 키 암호화 값(EncK3(t3))을 제3 확인 개인 키(k3)로 복호화하여 제3 부분 콘텐트 개인 키(t3)를 추출하여 저장한다. 일 실시예에서, 제1 내지 제3 디바이스들(100, 200, 300)은 제1 내지 제3 부분 콘텐트 개인 키들(t1, t2, t3)을 트러스트존과 같은 보안 구역에 각각 저장할 수 있다.
도 8은 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 8을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 도 6에 예시된 콘텐트 암호화 방법에 이어서 수행될 수 있다. 또한, 본 실시예에 따른 콘텐트 암호화 방법은 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 이하에서는, 제1 디바이스(100)에서 콘텐트를 암호화하는 동작에 대해 상술하기로 한다. 그러나, 다른 실시예에서, 제2 및 제3 디바이스들(200, 300) 중 하나도 공개 키를 이용하여 콘텐트를 암호화할 수 있다.
단계 S810에서, 제1 디바이스(100)는 사용자 입력 또는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 암호화할 콘텐트를 결정한다. 구체적으로, 제1 사용자(USER1)는 사용자 입력을 통해 제1 디바이스(100) 또는 서버에 저장된 콘텐트를 암호화할 콘텐트로서 수동으로 결정할 수 있다. 또는, 제1 디바이스(100) 또는 서버에 저장된 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 암호화할 콘텐트로서 자동으로 결정될 수 있다.
예를 들어, 제1 사용자(USER1)는 제1 디바이스(100)에 저장된 사진들 중 하나를 선택하고, 선택된 사진을 암호화할 콘텐트로 결정할 수 있다. 다른 예를 들어, 제1 디바이스(100)에 저장된 사진들 중 제1 내지 제3 사용자들(USER1, USER2, USER3)이 포함된 사진이 자동으로 선택되고, 선택된 사진이 암호화할 콘텐트로 자동으로 결정될 수도 있다. 또 다른 예를 들어, 제1 디바이스(100)에 저장된 사진들 중 제1 내지 제3 디바이스들(100, 200, 300)의 위치에서 찍힌 사진이 자동으로 선택되고, 선택된 사진이 암호화할 콘텐트로 자동으로 결정될 수 있다. 또 다른 예를 들어, 제1 디바이스(100)에 저장된 사진들 중 제1 내지 제3 사용자들(USER1, USER2, USER3)이 가입한 SNS에서의 모임과 관련된 사진이 암호화할 콘텐트로 자동으로 결정될 수도 있다.
단계 S820에서, 제1 디바이스(100)는 공개 키를 이용하여 콘텐트를 암호화한다. 예를 들어, 제1 디바이스(100)는 대칭 키(s)를 이용하여 콘텐트(m)를 암호화하고(즉, AESs(m)), 공개 키(T)를 이용하여 대칭 키(s)를 암호화할 수 있다(즉, EncT(s)).
단계 S830에서, 제1 디바이스(100)는 암호화된 콘텐트를 저장한다. 예를 들어, 제1 디바이스(100)는 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있고, 이로써 암호화된 콘텐트를 하드웨어적으로 보호할 수 있다.
단계 S840에서, 제1 디바이스(100)는 제2 디바이스(200)에 암호화된 콘텐트를 전송한다. 단계 S850에서, 제1 디바이스(100)는 제3 디바이스(300)에 암호화된 콘텐트를 전송한다. 예를 들어, 제1 디바이스(100)는 와이파이(WiFi), 3G/LTE, 블루투스 등과 같은 무선 통신을 통해 암호화된 콘텐트를 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다.
단계 S860에서, 제2 디바이스(200)는 암호화된 콘텐트를 저장한다. 단계 S870에서, 제3 디바이스(300)는 암호화된 콘텐트를 저장한다. 예를 들어, 제2 및 제3 디바이스들(200, 300)은 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있고, 이로써 암호화된 콘텐트를 하드웨어적으로 보호할 수 있다.
상술한 도 6 내지 도 8에 도시된 개인 키를 분할하여 복수의 부분 키들을 생성하는 방법에 따르면, 보안 그룹(10)에 속하는 제1 내지 제3 디바이스들(100, 200, 300) 중 하나는 콘텐트를 자유롭게 암호화할 수 있다. 그러나, 보안 그룹(10)에 속하는 제1 내지 제3 디바이스들(100, 200, 300)은 임계 개수 이상의 디바이스들이 근접 거리 내에 위치하는 경우에만 각각 저장된 부분 키들로부터 개인 키를 복원함으로써, 암호화된 콘텐트를 복호화할 수 있다.
따라서, 이 경우, 콘텐트는 보안 그룹(10) 내의 제1 내지 제3 사용자들(USER1, USER2, USER3) 누구나 생성 또는 첨부할 수 있는 반면, 암호화된 콘텐트는 보안 그룹(10) 내의 제1 내지 제3 사용자들(USER1, USER2, USER3) 중 임계 수 이상의 사용자들이 근접 거리 내에 위치하는 경우에만 접근할 수 있다. 예를 들어, 제1 내지 제3 사용자들(USER1, USER2, USER3) 중 누구나 공동 계좌를 생성할 수 있는데, 제1 내지 제3 사용자들(USER1, USER2, USER3) 모두 또는 일부가 근접 거리 내에 위치하는 경우에만 계좌에 접근할 수 있다.
도 9는 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 9를 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 공개 키를 분배하는 분산 암호화 방법으로서, 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 보안 그룹(10)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S910에서, 제1 디바이스(100)는 공개 키 및 개인 키로 구성된 키 쌍을 생성한다. 예를 들어, 제1 디바이스(100)는 암호화에 이용되는 공개 키(T) 및 공개 키(T)에 대응되며 복호화에 이용되는 개인 키(t)를 생성할 수 있다.
단계 S920에서, 제1 디바이스(100)는 공개 키를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들을 생성한다. 예를 들어, 제1 디바이스(100)는 공개 키(T)를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들(T1, T2, T3)을 생성할 수 있다. 이때, 제1 디바이스(100)는 샤미르 방법을 이용하여 공개 키(T)를 분할할 수 있다.
단계 S930에서, 제1 디바이스(100)는 공개 키를 삭제한다. 예를 들어, 제1 디바이스(100)는 공개 키(T)를 삭제할 수 있으며, 이로써, 제1 내지 제3 디바이스들(100, 200, 300) 중 어느 하나도 공개 키(T)를 획득할 수 없고, 이에 따라, 단독으로 콘텐트를 암호화할 수 없다.
단계 S940에서, 제1 디바이스(100)는 제2 및 제3 부분 키들을 암호화한다. 예를 들어, 제1 디바이스(100)는 전송 시의 보안을 위하여, 제2 및 제3 부분 키들(T2, T3)을 각각 암호화하여 암호화된 제2 및 제3 부분 키들을 생성할 수 있다. 이로써, 암호화된 제2 및 제3 부분 키들의 전송 단계에서 보안 그룹(10)에 속하지 않는 다른 디바이스들은 해당 부분 키를 획득할 수 없다.
단계 S950에서, 제1 디바이스(100)는 암호화된 제2 부분 키를 제2 디바이스(200)에 전송한다. 단계 S960에서, 제1 디바이스(100)는 암호화된 제3 부분 키를 제3 디바이스(300)에 전송한다. 예를 들어, 제1 디바이스(100)는 와이파이(WiFi), 3G/LTE, 블루투스 등과 같은 무선 통신을 통해 암호화된 제2 및 제3 부분 키들을 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다.
단계 S970에서, 제1 디바이스(100)는 제1 부분 키를 저장한다. 단계 S980에서, 제2 디바이스(200)는 제2 부분 키를 저장한다. 단계 S990에서, 제3 디바이스(300)는 제3 부분 키를 저장한다. 예를 들어, 제2 및 제3 디바이스들(200, 300)은 암호화된 제2 및 제3 부분 키들을 각각 복호화함으로써, 제2 및 제3 부분 키들을 각각 추출할 수 있다.
도 10은 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 10을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 도 9에 예시된 콘텐트 암호화 방법에 이어서 수행될 수 있다. 또한, 본 실시예에 따른 콘텐트 암호화 방법은 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다.
단계 S1010에서, 제1 디바이스(100)는 사용자 입력 또는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 암호화할 콘텐트를 결정한다. 구체적으로, 제1 사용자(USER1)는 사용자 입력을 통해 제1 디바이스(100) 또는 서버에 저장된 콘텐트를 암호화할 콘텐트로서 수동으로 결정할 수 있다. 또는, 제1 디바이스(100) 또는 서버에 저장된 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 암호화할 콘텐트로서 자동으로 결정될 수 있다.
단계 S1020a에서, 제1 디바이스(100)는 제2 디바이스(200)에 암호화 요청 메시지를 전송한다. 단계 S1020b에서, 제1 디바이스(100)는 제3 디바이스(300)에 암호화 요청 메시지를 전송한다.
단계 S1030a에서, 제2 디바이스(200)는 제1 디바이스(100)에 제1 암호화 승인 메시지를 전송한다. 예를 들어, 제1 암호화 승인 메시지는 제2 디바이스(200)에 저장된 제2 부분 키(T2)의 암호화 값을 포함할 수 있다. 단계 S1030b에서, 제3 디바이스(300)는 제1 디바이스(100)에 제2 암호화 승인 메시지를 전송한다. 예를 들어, 제2 암호화 승인 메시지는 제3 디바이스(300)에 저장된 제3 부분 키(T3)의 암호화 값을 포함할 수 있다.
단계 S1040에서, 제1 디바이스(100)는 제1 및 제2 암호화 승인 메시지들을 기초로 공개 키를 복원한다. 예를 들어, 제1 디바이스(100)는 제1 및 제2 암호화 승인 메시지들에 각각 포함된 제2 및 제3 부분 키들(T2, T3)의 암호화 값들 및 제1 디바이스(100)에 저장된 제1 부분 키(T1)를 기초로 공개 키(T)를 복원할 수 있다(즉, T=T1+T2+T3).
단계 S1050에서, 제1 디바이스(100)는 공개 키를 이용하여 콘텐트를 암호화한다. 예를 들어, 제1 디바이스(100)는 대칭 키(s)를 이용하여 콘텐트(m)를 암호화하고(즉, AESs(m)), 복원된 공개 키(T)를 이용하여 대칭 키(s)를 암호화할 수 있다(즉, EncT(s)).
단계 S1060에서, 제1 디바이스(100)는 암호화된 콘텐트를 저장한다. 예를 들어, 제1 디바이스(100)는 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있다.
단계 S1070a에서, 제1 디바이스(100)는 제2 디바이스(200)에 암호화된 콘텐트를 전송한다. 단계 S1070b에서, 제1 디바이스(100)는 제3 디바이스(300)에 암호화된 콘텐트를 전송한다. 예를 들어, 제1 디바이스(100)는 와이파이(WiFi), 3G/LTE, 블루투스 등과 같은 무선 통신을 통해 암호화된 콘텐트를 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다.
단계 S1080a에서, 제2 디바이스(200)는 암호화된 콘텐트를 저장한다. 단계 S1080b에서, 제3 디바이스(300)는 암호화된 콘텐트를 저장한다. 예를 들어, 제2 및 제3 디바이스들(200, 300)은 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있다.
상술한 도 9 및 도 10에 도시된 공개 키를 분할하여 복수의 부분 키들을 생성하는 방법에 따르면, 보안 그룹(10)에 속하는 제1 내지 제3 디바이스들(100, 200, 300)은 임계 개수 이상의 디바이스들이 근접 거리 내에 위치하는 경우에만 각각 저장된 부분 키들로부터 공개 키를 복원함으로써, 콘텐트를 암호화할 수 있다. 반면, 보안 그룹(10)에 속하는 제1 내지 제3 디바이스들(100, 200, 300)은 누구나 암호화된 콘텐트를 복호화할 수 있다.
예를 들어, 제1 내지 제3 사용자들(USER1, USER2, USER3)이 근접 거리 내에 위치하는 경우에만 콘텐트를, 예를 들어, 법률, 정책, 규정들을 생성할 수 있는 반면, 생성된 법률, 정책, 규정들은 누구나 접근할 수 있다.
도 11은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 11을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 개인 키를 분배하는 변형된 분산 암호화 방법으로서, 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 보안 그룹(10)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S1110에서, 제1 디바이스(100)는 공개 키 및 개인 키로 구성된 키 쌍을 생성한다. 예를 들어, 제1 디바이스(100)는 암호화에 이용되는 공개 키(T) 및 공개 키(T)에 대응되며 복호화에 이용되는 개인 키(t)를 생성할 수 있다.
단계 S1120에서, 제1 디바이스(100)는 개인 키를 적어도 2개로 분할하여 적어도 제1 및 제2 부분 키들을 생성한다. 예를 들어, 제1 디바이스(100)는 개인 키(t)를 적어도 2개로 분할하여 적어도 제1 및 제2 부분 키들(t1, t2)을 생성할 수 있다. 이때, 제1 디바이스(100)는 샤미르 방법을 이용하여 개인 키(t)를 분할할 수 있다.
단계 S1130에서, 제1 디바이스(100)는 제1 및 제2 부분 키들을 암호화한다. 예를 들어, 제1 디바이스(100)는 전송 시의 보안을 위하여, 제1 및 제2 부분 키들(t1, t2)을 각각 암호화하여 암호화된 제1 및 제2 부분 키들을 생성할 수 있다. 이로써, 암호화된 제1 및 제2 부분 키들의 전송 단계에서 보안 그룹(10)에 속하지 않는 다른 디바이스들은 해당 부분 키를 획득할 수 없다.
단계 S1140a에서, 제1 디바이스(100)는 공개 키 및 암호화된 제1 부분 키를 제2 디바이스(200)에 전송한다. 단계 S1140b에서, 제1 디바이스(100)는 공개 키 및 암호화된 제2 부분 키를 제3 디바이스(300)에 전송한다. 예를 들어, 제1 디바이스(100)는 와이파이(WiFi), 3G/LTE, 블루투스 등과 같은 무선 통신을 통해 공개 키 및 암호화된 제2 및 제3 부분 키들을 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다.
단계 S1150a에서, 제1 디바이스(100)는 공개 키 및 개인 키를 저장한다. 예를 들어, 제1 디바이스(100)는 공개 키(T)를 이용하여 단독으로 콘텐트를 암호화할 수 있고, 개인 키(t)를 이용하여 단독으로 콘텐트를 복호화할 수도 있다. 이때, 제1 디바이스(100)의 제1 사용자(USER1)는 콘텐트에 대한 매우 높은 권한을 가지는 사람일 수 있고, 콘텐트는 매우 사적인 데이터일 수 있다.
단계 S1150b에서, 제2 디바이스(200)는 공개 키 및 제1 부분 키를 저장한다. 단계 S1150c에서, 제3 디바이스(300)는 공개 키 및 제2 부분 키를 저장한다. 예를 들어, 제2 및 제3 디바이스들(200, 300)은 암호화된 제1 및 제2 부분 키들을 각각 복호화함으로써, 제1 및 제2 부분 키들을 각각 추출할 수 있다.
제2 및 제3 디바이스들(200, 300)은 공개 키(T)를 가지므로, 제2 및 제3 디바이스들(200, 300)의 제2 및 제3 사용자들(USER2, USER3)은 누구나 공개 키(T)를 이용하여 콘텐트를 암호화할 수 있다. 그러나, 제2 및 제3 디바이스들(200, 300)은 각각 제1 및 제2 부분 키들(t1, t2)을 가지므로, 제2 및 제3 디바이스들(200, 300)은 단독으로 콘텐트를 복호화할 수 없고, 제2 및 제3 디바이스들(200, 300)이 근접 거리 내에 위치하는 경우에만 콘텐트를 복호화할 수 있다. 이때, 제2 및 제3 디바이스들(200, 300)의 제2 및 제3 사용자들(USER2, USER3)은 콘텐트의 생성에 대해서는 권한이 있으나, 콘텐트의 이용에 대해서는 낮은 권한을 가지는 사람들일 수 있다.
도 12는 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 12를 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 도 11에 예시된 콘텐트 암호화 방법에 이어서 수행될 수 있다. 또한, 본 실시예에 따른 콘텐트 암호화 방법은 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 이하에서는, 제1 디바이스(100)에서 콘텐트를 암호화하는 동작에 대해 상술하기로 한다. 그러나, 다른 실시예에서, 제2 및 제3 디바이스들(200, 300) 중 하나도 공개 키를 이용하여 콘텐트를 암호화할 수 있다.
단계 S1210에서, 제1 디바이스(100)는 사용자 입력 또는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 암호화할 콘텐트를 결정한다. 구체적으로, 제1 사용자(USER1)는 사용자 입력을 통해 제1 디바이스(100) 또는 서버에 저장된 콘텐트를 암호화할 콘텐트로서 수동으로 결정할 수 있다. 또는, 제1 디바이스(100) 또는 서버에 저장된 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 암호화할 콘텐트로서 자동으로 결정될 수 있다.
단계 S1220에서, 제1 디바이스(100)는 공개 키를 이용하여 콘텐트를 암호화한다. 예를 들어, 제1 디바이스(100)는 대칭 키(s)를 이용하여 콘텐트(m)를 암호화하고(즉, AESs(m)), 공개 키(T)를 이용하여 대칭 키(s)를 암호화할 수 있다(즉, EncT(s)).
단계 S1230에서, 제1 디바이스(100)는 암호화된 콘텐트를 저장한다. 예를 들어, 제1 디바이스(100)는 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있다.
단계 S1240에서, 제1 디바이스(100)는 제2 디바이스(200)에 암호화된 콘텐트를 전송한다. 단계 S1250에서, 제1 디바이스(100)는 제3 디바이스(300)에 암호화된 콘텐트를 전송한다. 예를 들어, 제1 디바이스(100)는 와이파이(WiFi), 3G/LTE, 블루투스 등과 같은 무선 통신을 통해 암호화된 콘텐트를 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다.
단계 S1260에서, 제2 디바이스(200)는 암호화된 콘텐트를 저장한다. 단계 S1270에서, 제3 디바이스(300)는 암호화된 콘텐트를 저장한다. 예를 들어, 제2 및 제3 디바이스들(200, 300)은 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있다.
상술한 도 11 및 도 12에 도시된 개인 키를 분할하여 복수의 부분 키들을 생성하는 변형 방법에 따르면, 보안 그룹(10)에 속하는 제1 내지 제3 디바이스들(100, 200, 300)은 누구나 콘텐트를 암호화할 수 있다. 반면, 보안 그룹(10)에 속하는 제1 내지 제3 디바이스들(100, 200, 300) 중 개인 키를 가진 제1 디바이스(100)만 암호화된 콘텐트를 복호화할 수 있고, 제2 및 제3 디바이스들(200, 300)은 근접 거리 내에 위치하는 각각 저장된 부분 키들로부터 개인 키를 복원함으로써, 콘텐트를 암호화할 수 있다.
예를 들어, 제1 사용자(USER1)는 의료 서비스를 제공받는 환자일 수 있고, 제2 및 제3 사용자들(USER2, USER3)은 의료 서비스를 제공하는 의사들 또는 병원 관계자들일 수 있다. 이때, 치료에 관한 정보는 제1 내지 제3 사용자들(USER1, USER2, USER3) 모두 생성 또는 첨부할 수 있는 반면, 암호화된 정보는 제1 사용자(USER1)인 환자는 단독으로 접근할 수 있는 반면, 제2 및 제3 사용자들(USER2, USER2)은 근접 거리 내에 위치하는 경우에만 접근할 수 있다.
도 13은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 1의 보안 그룹의 동작의 다른 예(S400)를 나타내는 흐름도이다.
도 13을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 대칭 키를 분배하는 분산 암호화 방법으로서, 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 보안 그룹(10)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S1310에서, 제1 디바이스(100)는 암호화 키, 즉, 대칭 키를 생성한다. 예를 들어, 제1 디바이스(100)는 암호화에 이용되는 암호화 키(sk)를 생성할 수 있고, 생성된 암호화 키(sk)는 복호화에도 이용될 수 있다.
단계 S1320에서, 제1 디바이스(100)는 암호화 키를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들을 생성한다. 예를 들어, 제1 디바이스(100)는 암호화 키(sk)를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들(sk1, sk2, sk3)을 생성할 수 있다. 이때, 제1 디바이스(100)는 샤미르 방법을 이용하여 암호화 키(sk)를 분할할 수 있다.
단계 S1330에서, 제1 디바이스(100)는 암호화 키를 삭제한다.
단계 S1340에서, 제1 디바이스(100)는 제2 및 제3 부분 키들을 암호화한다. 예를 들어, 제1 디바이스(100)는 전송 시의 보안을 위하여, 제2 및 제3 부분 키들을 각각 암호화하여 암호화된 제2 및 제3 부분 키들(sk2, sk3)을 생성할 수 있다. 이로써, 암호화된 제2 및 제3 부분 키들의 전송 단계에서 보안 그룹(10)에 속하지 않는 다른 디바이스들은 해당 부분 키를 획득할 수 없다.
단계 S1350에서, 제1 디바이스(100)는 제2 디바이스(200)에 암호화된 제2 부분 키를 전송한다. 단계 S1360에서, 제1 디바이스(100)는 제3 디바이스(300)에 암호화된 제3 부분 키를 전송한다. 예를 들어, 제1 디바이스(100)는 와이파이(WiFi), 3G/LTE, 블루투스 등과 같은 무선 통신을 통해 공개 키 및 암호화된 제2 및 제3 부분 키들을 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다.
단계 S1370에서, 제1 디바이스(100)는 제1 부분 키(sk1)를 저장한다. 단계 S1380에서, 제2 디바이스(200)는 제2 부분 키(sk2)를 저장한다. 단계 S1390에서, 제3 디바이스(300)는 제3 부분 키(sk3)를 저장한다.
제1 내지 제3 디바이스들(100, 200, 300)은 각각 제1 내지 제3 부분 키들(sk1, sk2, sk3)을 가지므로, 제1 내지 제3 디바이스들(100, 200, 300)의 제1 내지 제3 사용자들(USER1, USER2, USER3)은 단독으로 콘텐트를 암호화할 수 없고, 제1 내지 제3 디바이스들(100, 200, 300)이 근접 거리 내에 위치하는 경우에만 콘텐트를 암호화할 수 있다. 또한, 제1 내지 제3 디바이스들(100, 200, 300)은 대칭 암호화/복호화 방식을 이용하므로, 제1 내지 제3 디바이스들(100, 200, 300)의 제1 내지 제3 사용자들(USER1, USER2, USER3)은 단독으로 콘텐트를 복호화할 수 없고, 제1 내지 제3 디바이스들(100, 200, 300)이 근접 거리 내에 위치하는 경우에만 콘텐트를 복호화할 수 있다.
도 14는 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 14를 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 도 13에 예시된 콘텐트 암호화 방법에 이어서 수행될 수 있다. 또한, 본 실시예에 따른 콘텐트 암호화 방법은 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다.
단계 S1410에서, 제1 디바이스(100)는 사용자 입력 또는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 암호화할 콘텐트를 결정한다. 구체적으로, 제1 사용자(USER1)는 사용자 입력을 통해 제1 디바이스(100) 또는 서버에 저장된 콘텐트를 암호화할 콘텐트로서 수동으로 결정할 수 있다. 또는, 제1 디바이스(100) 또는 서버에 저장된 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 암호화할 콘텐트로서 자동으로 결정될 수 있다.
단계 S1420a에서, 제1 디바이스(100)는 제2 디바이스(200)에 암호화 요청 메시지를 전송한다. 단계 S1420b에서, 제1 디바이스(100)는 제3 디바이스(300)에 암호화 요청 메시지를 전송한다.
단계 S1430a에서, 제2 디바이스(200)는 제1 디바이스(100)에 제1 암호화 승인 메시지를 전송한다. 예를 들어, 제1 암호화 승인 메시지는 제2 디바이스(200)에 저장된 제2 부분 키(sk2)의 암호화 값을 포함할 수 있다. 단계 S1430b에서, 제3 디바이스(300)는 제1 디바이스(100)에 제2 암호화 승인 메시지를 전송한다. 예를 들어, 제2 암호화 승인 메시지는 제3 디바이스(300)에 저장된 제3 부분 키(sk3)의 암호화 값을 포함할 수 있다.
단계 S1440에서, 제1 디바이스(100)는 제1 및 제2 암호화 승인 메시지들을 기초로 공개 키를 복원한다. 예를 들어, 제1 디바이스(100)는 제1 및 제2 암호화 승인 메시지들에 각각 포함된 제2 및 제3 부분 키들(sk2, sk3)의 암호화 값들 및 제1 디바이스(100)에 저장된 제1 부분 키(sk1)를 기초로 암호화 키(sk)를 복원할 수 있다(즉, sk=sk1+sk2+sk3).
단계 S1450에서, 제1 디바이스(100)는 암호화 키를 이용하여 콘텐트를 암호화한다. 예를 들어, 제1 디바이스(100)는 대칭 키(s)를 이용하여 콘텐트(m)를 암호화하고(즉, AESs(m)), 복원된 암호화 키(sk)를 이용하여 대칭 키(s)를 암호화할 수 있다(즉, EncT(s)).
단계 S1460에서, 제1 디바이스(100)는 암호화된 콘텐트를 저장한다. 예를 들어, 제1 디바이스(100)는 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있다.
단계 S1470a에서, 제1 디바이스(100)는 제2 디바이스(200)에 암호화된 콘텐트를 전송한다. 단계 S1470b에서, 제1 디바이스(100)는 제3 디바이스(300)에 암호화된 콘텐트를 전송한다. 예를 들어, 제1 디바이스(100)는 와이파이(WiFi), 3G/LTE, 블루투스 등과 같은 무선 통신을 통해 암호화된 콘텐트를 제2 및 제3 디바이스들(200, 300)에 각각 전송할 수 있다.
단계 S1480a에서, 제2 디바이스(200)는 암호화된 콘텐트를 저장한다. 단계 S1480b에서, 제3 디바이스(300)는 암호화된 콘텐트를 저장한다. 예를 들어, 제2 및 제3 디바이스들(200, 300)은 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있다.
상술한 도 13 및 도 14에 도시된 대칭 키를 분할하여 복수의 부분 키들을 생성하는 방법에 따르면, 보안 그룹(10)에 속하는 제1 내지 제3 디바이스들(100, 200, 300)은 임계 개수 이상의 디바이스들이 근접 거리 내에 위치하는 경우에만 각각 저장된 부분 키들로부터 대칭 키를 복원함으로써, 콘텐트를 암호화할 수 있고, 암호화된 콘텐트를 복호화할 수 있다.
예를 들어, 제1 사용자(USER1)가 고용주이고, 제2 사용자(USER2)는 감독관일 수 있으며, 제1 및 제2 사용자들(USER1, USER2)이 근접 거리 내에 위치하는 경우에만 콘텐트를, 예를 들어, 전자 문서들 또는 데이터를 암호화할 수 있고, 암호화된 콘텐트를 복호화할 수 있다.
도 15은 도 3의 콘텐트 암호화 방법의 일 변형 예에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 15를 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 보안 그룹에 신규 멤버를 추가하는 방법으로서, 도 6의 콘텐트 암호화 방법에 따른 보안 그룹의 동작에 이어서 수행될 수 있다. 본 실시예는 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 보안 그룹(10)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S1510에서, 제4 디바이스(400)는 제4 확인 공개 키 및 제4 확인 개인 키를 생성한다. 이때, 제4 디바이스(400)는 보안 그룹(10)에 가입하고자 하는 신규 멤버인 제4 사용자(USER4)의 디바이스이다. 여기서, 제4 확인 공개 키(K4) 및 제1 확인 개인 키(k4)로 구성된 제4 확인 키 쌍은, 제4 디바이스(400)에 설치된 제4 어플리케이션을 확인하기 위한 키 조합이다. 제1 내지 제3 디바이스들(100, 200, 300)에 각각 설치된 제1 내지 제3 어플리케이션들은 제4 확인 공개 키(K4)를 통해 제4 디바이스(400)에 설치된 제4 어플리케이션을 확인 또는 식별할 수 있다.
일 실시예에서, 제4 디바이스(400)는 폰 PKI에 제4 확인 공개 키(K4) 및 제4 확인 개인 키(k4)의 생성을 요청할 수 있다. 다른 실시예에서, 제4 디바이스(400)는 폰 PKI에 제4 확인 공개 키(K4), 제4 확인 개인 키(k4) 및 제4 확인 공개 키(K4)에 대한 제4 인증서(Certificatep4(K4))의 생성을 요청할 수 있다. 여기서, p4은 제4 디바이스(400)의 인증을 위한 키이고, 제4 인증서(Certificatep4(K4))는 제4 사용자(USER4)의 신분과 공개 키, 즉, 제4 확인 공개 키(K4)를 연결해주는 문서이다.
단계 S1520에서, 제4 디바이스(400)는 제1 디바이스(100)에 제4 확인 공개 키(K4)를 전송한다. 전송된 제4 확인 공개 키(K4)는 제1 디바이스(100)에서 제4 부분 콘텐트 개인 키(t4)를 암호화하는데 이용될 수 있다. 다른 실시예에서, 제4 디바이스(400)는 제1 디바이스(100)에 제4 확인 공개 키(K4) 및 제4 인증서(Certificatep4(K4))를 전송할 수 있다.
단계 S1530a에서, 제2 디바이스(200)는 제1 디바이스(100)에 제1 추가 승인 메시지를 전송한다. 예를 들어, 제1 추가 승인 메시지는 제2 디바이스(200)에 저장된 제2 부분 키(t2)의 암호화 값을 포함할 수 있다. 구체적으로, 제1 추가 승인 메시지는 제2 부분 키(t2)를 제1 확인 공개 키(K1)로 암호화한 값(EncK1(t2))일 수 있다.
단계 S1530b에서, 제3 디바이스(300)는 제1 디바이스(100)에 제2 추가 승인 메시지를 전송한다. 예를 들어, 제2 추가 승인 메시지는 제3 디바이스(300)에 저장된 제3 부분 키(t3)의 암호화 값을 포함할 수 있다. 구체적으로, 제2 추가 승인 메시지는 제3 부분 키(t3)를 제1 확인 공개 키(K1)로 암호화한 값(EncK1(t3))일 수 있다.
단계 S1540에서, 제1 디바이스(100)는 제1 및 제2 추가 승인 메시지들을 이용하여 콘텐트 개인 키를 복원한다. 구체적으로, 제1 디바이스(100)는 제1 확인 공개 키(K1)를 이용하여 제1 및 제2 추가 승인 메시지들에 포함된 제2 및 제3 부분 키들의 암호화 값(EncK1(t2), EncK1(t3))을 복호화하여 제2 및 제3 부분 키들(t2, t3)을 복원할 수 있다. 이어서, 제1 디바이스(100)는 제1 내지 제3 부분 키들(t1, t2, t3)로부터 콘텐트 개인 키(t)를 복원할 수 있다.
단계 S1550에서, 제1 디바이스(100)는 콘텐트 개인 키(t)를 적어도 4개로 재 분할하여, 제1 내지 제4 신규 부분 콘텐트 개인 키들(t1', t2', t3', t4')을 생성한다(즉, t=t1'+t2'+t3'+t4'+...). 이때, 제1 디바이스(100)는 샤미르 방법을 이용하여 콘텐트 개인 키(t)를 재 분할할 수 있다.
단계 S1560에서, 제1 디바이스(100)는 콘텐트 개인 키(t)를 삭제한다. 이로써, 콘텐트 개인 키(t)는 어느 누구도 알 수 없으며, 제1 내지 제4 디바이스들(100, 200, 300, 400) 중 임계 개수 이상의 디바이스들이 근접 거리에 위치하지 않는 이상, 어느 누구도 단독으로 암호화된 콘텐트를 복호화할 수 없다. 다른 실시예에서, 제1 디바이스(100)는 콘텐트 개인 키(t)를 트러스트존과 같은 보안 구역에 저장할 수 있다.
단계 S1570에서, 제1 디바이스(100)는 제2 내지 제4 확인 공개 키들(K2, K3, K4)을 이용하여 제2 내지 제4 신규 부분 콘텐트 개인 키들(t2', t3', t4')을 각각 암호화한다. 이로써, 제2 신규 부분 콘텐트 개인 키 암호화 값(EncK2(t2')), 제3 신규 부분 콘텐트 개인 키 암호화 값(EncK3(t3')) 및 제4 신규 부분 콘텐트 개인 키 암호화 값(EncK2(t4'))이 생성된다.
이때, 제2 신규 부분 콘텐트 개인 키 암호화 값(EncK2(t2'))은 제2 확인 공개 키(K2)에 대응하는 제2 확인 개인 키(k2)를 이용하여 복호화될 수 있으므로, 제2 확인 개인 키(k2)를 가지고 있는 제2 디바이스(200)에서만 복호화될 수 있다. 또한, 제3 부분 콘텐트 개인 키 암호화 값(EncK3(t3'))은 제3 확인 공개 키(K3)에 대응하는 제3 확인 개인 키(k3)를 이용하여 복호화될 수 있으므로, 제3 확인 개인 키(k3)를 가지고 있는 제3 디바이스(300)에서만 복호화될 수 있다. 또한, 제4 부분 콘텐트 개인 키 암호화 값(EncK3(t4'))은 제4 확인 공개 키(K4)에 대응하는 제4 확인 개인 키(k4)를 이용하여 복호화될 수 있으므로, 제4 확인 개인 키(k4)를 가지고 있는 제4 디바이스(400)에서만 복호화될 수 있다.
단계 S1580a에서, 제1 디바이스(100)는 제2 신규 부분 콘텐트 개인 키 암호화 값(EncK2(t2'))을 제2 디바이스(200)에 전송한다. 단계 S1580b에서, 제1 디바이스(100)는 제3 신규 부분 콘텐트 개인 키 암호화 값(EncK3(t3'))을 제3 디바이스(300)에 전송한다. 단계 S1580c에서, 제1 디바이스(100)는 제4 신규 부분 콘텐트 개인 키 암호화 값(EncK3(t4'))을 제4 디바이스(400)에 전송한다.
단계 S1590a에서, 제1 디바이스(100)는 제1 신규 부분 콘텐트 개인 키(t1')를 저장한다. 단계 S1590b에서, 제2 디바이스(200)는 제2 신규 부분 콘텐트 개인 키 암호화 값(EncK2(t2'))을 제2 확인 개인 키(k2)로 복호화하여 제2 신규 부분 콘텐트 개인 키(t2')를 추출하여 저장한다. 단계 S1590c에서, 제3 디바이스(300)는 제3 신규 부분 콘텐트 개인 키 암호화 값(EncK3(t3'))을 제3 확인 개인 키(k3)로 복호화하여 제3 신규 부분 콘텐트 개인 키(t3')를 추출하여 저장한다. 단계 S1590d에서, 제4 디바이스(400)는 제4 신규 부분 콘텐트 개인 키 암호화 값(EncK4(t4'))을 제4 확인 개인 키(k4)로 복호화하여 제4 신규 부분 콘텐트 개인 키(t4')를 추출하여 저장한다. 일 실시예에서, 제1 내지 제4 디바이스들(100, 200, 300, 400)은 제1 내지 제4 신규 부분 콘텐트 개인 키들(t1', t2', t3', t4')을 트러스트존과 같은 보안 구역에 각각 저장할 수 있다.
상술한 바와 같이, 단계들 S1510 내지 S1590d를 통해 제4 디바이스(400)는 보안 그룹(100)에 추가될 수 있다. 다른 실시예에서, 보안 그룹(100)의 멤버 추가에도 불구하고, 복호화하는데 필요한 임계 개수가 동일할 경우, 제1 내지 제3 부분 콘텐트 개인 키(t1, t2, t3)의 변화 없이, 제4 부분 콘텐트 개인 키를 생성할 수 있다. 이로써, 제2 및 제3 디바이스들(200, 300)과의 트랜잭션(transactions)을 피할 수 있다.
도 16은 도 3의 콘텐트 암호화 방법의 일 변형 예에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 16을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 보안 그룹에 포함된 멤버를 폐기(revoke)하는 방법으로서, 도 6의 콘텐트 암호화 방법에 따른 보안 그룹의 동작에 이어서 수행될 수 있다. 예를 들어, 본 실시예는 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300) 중 제2 디바이스(200)를 폐기하는 방법일 수 있고, 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300) 및 새로 추가된 제4 디바이스(400)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1 및 도 15를 참조하여 상술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S1610a에서, 제1 디바이스(100)는 제3 디바이스(300)에 제2 디바이스(200)에 대한 폐기 요청 메시지를 전송한다. 이때, 폐기 요청 메시지는 제1 확인 공개 키(K1), 그룹 ID(GroupID) 및 제1 확인 공개 키(K1), 제3 확인 공개 키(K3), 제2 확인 공개 키(K2) 및 그룹 ID에 대한 전자 서명(E-SignK1(K1|K3|K2|GroupID))을 포함할 수 있다.
단계 S1610b에서, 제1 디바이스(100)는 제4 디바이스(400)에 제2 디바이스(200)에 대한 폐기 요청 메시지를 전송한다. 이때, 폐기 요청 메시지는 제1 확인 공개 키(K1), 그룹 ID(GroupID) 및 제1 확인 공개 키(K1), 제4 확인 공개 키(K4), 제2 확인 공개 키(K2) 및 그룹 ID에 대한 전자 서명(E-SignK1(K1|K4|K2|GroupID))을 포함할 수 있다.
이와 같이, 제1 디바이스(200)는 폐기하고자 하는 제2 디바이스(200)를 제외하고 보안 그룹(10)의 나머지 멤버들에게 제2 디바이스(200)에 대한 폐기 요청 메시지를 전송할 수 있다.
단계 S1620a에서, 제3 디바이스(300)는 제1 디바이스(100)에 제1 폐기 승인 메시지를 전송한다. 이때, 제1 폐기 승인 메시지는 제3 부분 콘텐트 개인 키(t3)를 제1 확인 공개 키(K1)로 암호화한 값(EncK1(t3)) 및 이에 대한 전자 서명을 포함할 수 있다. 단계 S1620b에서, 제4 디바이스(400)는 제1 디바이스(100)에 제2 폐기 승인 메시지를 전송한다. 이때, 제2 폐기 승인 메시지는 제4 부분 콘텐트 개인 키(t4)를 제1 확인 공개 키(K1)로 암호화한 값(EncK1(t4)) 및 이에 대한 전자 서명을 포함할 수 있다.
단계 S1630에서, 제1 디바이스(100)는 제2 내지 제4 부분 콘텐트 개인 키들(t2, t3, t4)을 추출한다. 구체적으로, 제1 디바이스(100)는 제1 확인 개인 키(k1)를 이용하여 암호화된 제2 내지 제4 부분 콘텐트 개인 키들(EncK1(t2), EncK1(t3), EncK1(t4))을 각각 복호화하여 제2 내지 제4 부분 콘텐트 개인 키들(t2, t3, t4)을 추출할 수 있다.
단계 S1640에서, 제1 디바이스(100)는 제1 부분 콘텐트 개인 키(t1)와 제2 내지 제4 부분 콘텐트 개인 키들(t2, t3, t4)로부터 콘텐트 개인 키(t)를 복구한다.
단계 S1650에서, 제1 디바이스(100)는 인증서 폐기 목록(Certificate Revocation List, CRL)을 갱신한다. 다른 실시예에서, 제1 디바이스(100)는 인증서 폐기 목록에 대한 전자 서명(E-Signt(CRL))을 더 생성할 수 있다.
단계 S1660a에서, 제1 디바이스(100)는 제3 디바이스(300)에 갱신된 인증서 폐기 목록을 전송한다. 다른 실시예에서, 제1 디바이스(100)는 제3 디바이스(300)에 갱신된 인증서 폐기 목록 및 인증서 폐기 목록에 대한 전자 서명(E-Signt(CRL))을 전송할 수 있다. 단계 S1660b에서, 제1 디바이스(100)는 제4 디바이스(400)에 갱신된 인증서 폐기 목록을 전송한다. 다른 실시예에서, 제1 디바이스(100)는 제4 디바이스(400)에 갱신된 인증서 폐기 목록 및 인증서 폐기 목록에 대한 전자 서명(E-Signt(CRL))을 전송할 수 있다.
도 17은 도 3의 콘텐트 암호화 방법의 일 변형 예에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 17을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 보안 그룹에 포함된 복수의 디바이스들 중 하나를 분실한 경우 클라우드 서비스를 이용하여 키를 복구(recovery)하는 방법으로서, 도 6의 콘텐트 암호화 방법에 따른 보안 그룹의 동작에 이어서 수행될 수 있다. 본 실시예는 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 보안 그룹(10)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S1710에서, 제1 디바이스(100)는 클라우드 서버(450)에 변형 암호화 키(ti)를 전송한다. 단계 S1720에서, 클라우드 서버(450)는 변형 암호화 키(ti)를 저장한다. 예를 들어, 변형 암호화 키(ti)는 콘텐트 개인 키(t)에 대응하는 값일 수 있으며, 구체적으로, 제1 내지 제3 확인 공개 키들(K1, K2, K3)로 암호화된 콘텐트 개인 키(EncK1(EncK2(EncK3(t))))일 수 있다.
단계 S1730에서, 제1 디바이스(100)는 리커버리 키(v)를 생성한다. 단계 S1740에서, 제1 디바이스(100)는 클라우드 서버(450)에 리커버리 키(v)를 전송한다. 단계 S1750에서, 클라우드 서버(450)는 리커버리 키(v)를 이용하여 변형 암호화 키를 암호화한다. 예를 들어, 암호화된 변형 암호화 키를 Encv(EncK1(EncK2(EncK3(t))))일 수 있다.
단계 S1760a에서, 클라우드 서버(450)는 제1 디바이스(100)에 암호화된 변형 암호화 키(Encv(EncK1(EncK2(EncK3(t)))))를 전송한다. 단계 S1760b에서, 클라우드 서버(450)는 제2 디바이스(200)에 암호화된 변형 암호화 키(Encv(EncK1(EncK2(EncK3(t)))))를 전송한다. 단계 S1760c에서, 클라우드 서버(450)는 제3 디바이스(300)에 암호화된 변형 암호화 키(Encv(EncK1(EncK2(EncK3(t)))))를 전송한다.
단계 S1770a에서 제1 디바이스(100)는 제1 확인 개인 키(k1)를 이용하여 암호화된 변형 암호화 키(Encv(EncK1(EncK2(EncK3(t)))))를 복호화하여, 제1 복호화 결과(Deck1(Encv(EncK1(EncK2(EncK3(t))))))를 획득한다. 단계 S1770b에서 제2 디바이스(200)는 제2 확인 개인 키(k2)를 이용하여 암호화된 변형 암호화 키(Encv(EncK1(EncK2(EncK3(t)))))를 복호화하여, 제2 복호화 결과(Deck2(Encv(EncK1(EncK2(EncK3(t))))))를 획득한다. 단계 S1770c에서 제3 디바이스(300)는 제3 확인 개인 키(k3)를 이용하여 암호화된 변형 암호화 키(Encv(EncK1(EncK2(EncK3(t)))))를 복호화하여, 제3 복호화 결과(Deck3(Encv(EncK1(EncK2(EncK3(t))))))를 획득한다.
단계 S1780a에서, 제2 디바이스(200)는 제1 디바이스(100)에 복호화 결과(Deck2(Encv(EncK1(EncK2(EncK3(t))))))를 전송한다. 단계 S1780b에서, 제3 디바이스(300)는 제1 디바이스(100)에 복호화 결과(Deck3(Encv(EncK1(EncK2(EncK3(t))))))를 전송한다. 이와 같이, 각 디바이스는 해당 확인 개인 키를 이용하여 암호화된 변형 암호화 키(Encv(EncK1(EncK2(EncK3(t)))))를 단계적으로 복호화하며, 결과적으로, 제1 디바이스(100)는 Encv(t)를 획득할 수 있다.
단계 S1790에서, 제1 디바이스(100)는 리커버리 키(v)를 이용하여 암호화 키를 최종적으로 복원한다. 예를 들어, 제1 디바이스(100)는 리커버리 키(v)를 이용하여 Encv(t)를 복호화함으로써 콘텐트 개인 키(t)를 복원할 수 있다(즉, Decv(Encv(t))=t).
도 18은 도 3의 콘텐트 암호화 방법의 일 변형 예에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 18을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 보안 그룹에 포함된 복수의 디바이스들을 사용하는 복수의 사용자들 중 하나의 사용자가 소유하는 신규 디바이스를 추가하는 방법으로서, 도 6의 콘텐트 암호화 방법에 따른 보안 그룹의 동작에 이어서 수행될 수 있다. 예를 들어, 본 실시예는 도 1의 보안 그룹(10)에 포함된 제1 디바이스(100)의 제1 사용자(USER1)가 소유하는 다른 디바이스인 제1 추가 디바이스(150)를 보안 그룹(10)에 추가하는 방법일 수 있고, 제1 디바이스(100) 및 제1 추가 디바이스(150)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1 및 도 6을 참조하여 상술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S1810에서, 제1 디바이스(100)에 PIN을 입력한다. 단계 S1820에서, 제1 추가 디바이스(150)에 PIN을 입력한다. 이때, 제1 디바이스(100) 및 제1 추가 디바이스(150)에 입력되는 PIN은 동일할 수 있다.
단계 S1820에서, 제1 디바이스(100)는 제1 추가 디바이스(150)에 제1 확인 공개 키(K1), 제1 확인 개인 키(k1), 제1 부분 콘텐트 개인 키(t1) 및 확인 공개 키 집합({K1, K2, K3})을 전송한다. 다른 실시예에서, 제1 디바이스(100)는 제1 확인 개인 키(k1) 및 제1 부분 콘텐트 개인 키(t1)를 암호화할 수 있고, 제1 디바이스(100)는 제1 추가 디바이스(150)에 암호화된 제1 확인 개인 키 및 암호화된 제1 부분 콘텐트 개인 키를 전송할 수 있다.
도 19는 본 개시의 일 실시예에 따른 콘텐트 복호화 방법을 나타내는 순서도이다.
도 19를 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 복수의 디바이스들을 포함하는 보안 그룹 내에서 공유되는 암호화된 콘텐트를 복호화하기 위한 방법으로서, 복수의 디바이스들 중 하나에서 수행되는 아래의 단계들을 포함한다. 예를 들어, 본 실시예에 따른 콘텐트 복호화 방법은 도 1의 보안 그룹(10)에 포함된 제1 디바이스(100)에서 시계열적으로 처리되는 단계들을 포함할 수 있다. 또한, 본 실시예에 따른 콘텐트 복호화 방법은 도 3의 콘텐트 암호화 방법에 대응될 수 있다.
단계 S1910에서, 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 상호 인식 가능한 근접 거리(proximate spacing) 내에 위치하는지 판단한다. 구체적으로, 제1 디바이스(100)는 제1 내지 제3 디바이스들 중 임계 개수 이상의 디바이스들이 근접 거리 내에 위치하는지 판단할 수 있다. 이때, 임계 개수는 예를 들어, 2일 수 있다.
보안 그룹(10)이 2 이상의 정수인 N개의 디바이스들을 포함할 경우, 임계 개수는 2 이상 N 이하의 정수일 수 있다. 따라서, 예를 들어, N이 2인 경우, 임계 개수는 2일 수 있다. 한편, N이 2보다 큰 경우, 임계 개수는 2 이상이고 N 이하일 수 있다.
단계 S1920에서, 근접 거리 내에 위치하는 디바이스들에 분배된 복수의 부분 키들로부터 복호화 키를 복원한다. 일 실시예에서, 콘텐트 복호화 방법은 비대칭 복호화 방식에 따라 콘텐트를 복호화할 수 있다. 이때, 복수의 부분 키들은 복수의 부분 개인 키들에 대응될 수 있고, 복호화 키는 개인 키일 수 있다. 다른 실시예에서, 콘텐트 복호화 방법은 비대칭 복호화 방식에 따라 콘텐트를 복호화할 수 있다. 이때, 복수의 부분 키들은 복수의 부분 암호화 키들에 대응될 수 있고, 이때, 복호화 키는 암호화 키일 수 있다.
단계 S1930에서, 복원된 복호화 키를 이용하여 암호화된 콘텐트를 복호화한다. 구체적으로, 제1 내지 제3 디바이스들(100, 200, 300)은 복원된 복호화 키를 이용하여 제1 내지 제3 디바이스들(100, 200, 300) 중 적어도 하나 또는 서버에 저장된 암호화된 콘텐트를 복호화할 수 있다. 예를 들어, 비대칭 복호화 방식인 경우, 제1 내지 제3 디바이스들(100, 200, 300)은 복원된 개인 키를 이용하여 콘텐트를 복호화할 수 있다. 다른 예를 들어, 대칭 복호화 방식인 경우, 제1 내지 제3 디바이스들(100, 200, 300)은 대칭 키인 암호화 키를 이용하여 콘텐트를 복호화할 수 있다.
도 20은 도 19의 콘텐트 복호화 방법에 포함된 근접 거리 내에 위치하는지 판단하는 단계의 일 구현 예를 나타내는 도면이다.
도 20을 참조하면, 제1 사용자(USER1)는 제1 디바이스(100a)를 제2 사용자(USER2)의 제2 디바이스(200a)에 터치하거나 제2 디바이스(200a)에 접근할 수 있다. 이때, 제2 디바이스(200a)는 타겟(target) 디바이스라고 할 수 있다. 이로써, 제1 및 제2 디바이스들(100a, 200a)은 상호 인식 가능한 근접 거리 내에 위치하는 것을 감지할 수 있으며, 제1 및 제2 디바이스들(100a, 200a)은 상호 연결될 수 있다. 도 20에서는 제1 및 제2 디바이스들(100a, 200a)에 대해서만 도시하였으나, 제1 내지 제3 디바이스들(100a, 200a, 300a) 모두 터치 또는 접근을 통해 상호 인식 가능한 근접 거리 내에 위치하는 것을 감지할 수 있으며, 제1 내지 제3 디바이스들(100a, 200a, 300a)은 상호 연결될 수 있다.
또한, 제1 사용자(USER1)는 제1 디바이스(100a)를 제2 사용자(USER2)의 제2 디바이스(200a)에 터치하거나 제2 디바이스(200a)에 접근함으로써, 제2 디바이스(200a)에 할당된 제2 부분 키 또는 암호화된 부분 키를 전송할 수 있다. 마찬가지로, 제1 사용자(USER1)는 제1 디바이스(100a)를 제2 사용자(USER2)의 제2 디바이스(200a)에 터치하거나 제2 디바이스(200a)에 접근함으로써, 제2 디바이스(200a)로부터 제2 부분 키 또는 암호화된 부분 키를 수신할 수 있다.
도 21은 도 19의 콘텐트 복호화 방법에 포함된 근접 거리 내에 위치하는지 판단하는 단계의 다른 구현 예를 나타내는 도면이다.
도 21을 참조하면, 제1 내지 제3 디바이스들(100a, 200a, 300a)이 근접 거리 내에 위치하는 것으로 판단되면, 암호화된 콘텐트를 복호화하는 동작이 개시될 수 있다. 일 실시예에서, 터치 센서 및 근접 센서 중 적어도 하나를 통해 제1 내지 제3 디바이스들(100a, 200a, 300a)이 근접 거리 내에 위치하는지 여부를 감지할 수 있다. 다른 실시예에서, NFC 칩, 블루투스 칩, 와이파이 칩 및 지그비 칩 중 적어도 하나를 포함하는 근거리 무선 통신 모듈을 통해 제1 내지 제3 디바이스들(100a, 200a, 300a)이 근접 거리 내에 위치하는지 여부를 감지할 수 있다.
도 21에서는 제1 내지 제3 디바이스들(100a, 200a, 300a)이 모두 근접 거리 내에 위치하는 경우를 도시하였으나, 다른 실시예에서, 제1 내지 제3 디바이스들(100a, 200a, 300a) 중 두 개의 디바이스들이 근접 거리 내에 위치하는 경우에도 암호화된 콘텐트를 복호화하는 동작이 개시될 수 있다.
도 22는 도 19의 콘텐트 복호화 방법의 구현 예를 나타내는 도면이다.
도 22를 참조하면, 제1 내지 제3 사용자들(USER1, USER2, USER3)은 보안 그룹(10)을 구성하며, 제1 내지 제3 사용자들(USER1, USER2, USER3)의 제1 내지 제3 디바이스들(100a, 200a, 300a)은 각각 제1 내지 제3 부분 키들을 저장하고 있다. 그러므로, 제1 내지 제3 사용자들(USER1, USER2, USER3)은 단독으로는 제1 내지 제3 디바이스들(100a, 200a, 300a) 중 적어도 하나에 저장된 암호화된 콘텐트를 복호화할 수 없다.
그러나, 제1 내지 제3 사용자들(USER1, USER2, USER3)의 제1 내지 제3 디바이스들(100a, 200a, 300a)이 근접 거리 내에 위치하는 경우, 암호화된 콘텐트는 복호화될 수 있고, 제1 내지 제3 사용자들(USER1, USER2, USER3)은 복호화된 콘텐트(DC)를 공유할 수 있다. 다른 실시예에서, 제1 내지 제3 사용자들(USER1, USER2, USER3)의 제1 내지 제3 디바이스들(100a, 200a, 300a) 중 두 개의 디바이스들이 근접 거리 내에 위치하는 경우, 암호화된 콘텐트는 복호화될 수 있고, 제1 내지 제3 사용자들(USER1, USER2, USER3) 중 근접 거리 내에 위치하는 두 명의 사용자들은 복호화된 콘텐트(DC)를 공유할 수 있다.
도 23은 도 19의 콘텐트 복호화 방법에 따른 도 1의 보안 그룹의 동작의 일 예를 나타내는 흐름도이다.
도 23을 참조하면, 본 실시예에 따른 콘텐트 복호화 방법은 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 보안 그룹(10)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S2310에서, 제1 디바이스(100)는 제1 내지 제3 디바이스들(100, 200, 300)이 근접 거리 내에 위치하는지 여부를 판단한다.
단계 S2320a에서, 제1 및 제2 디바이스들(100, 200)은 상호 연결된다. 단계 S2320b에서, 제1 및 제3 디바이스들(100, 300)은 상호 연결된다. 이로써, 제2 및 제3 디바이스들(200, 300)도 상호 연결된다.
단계 S2330a에서, 제1 디바이스(100)는 제2 디바이스(200)에게 복호화 승인 요청 메시지를 전송한다. 단계 S2330b에서, 제1 디바이스(100)는 제2 디바이스(200)에게 복호화 승인 요청 메시지를 전송한다.
단계 S2340a에서, 제2 디바이스(200)는 제1 디바이스(100)에게 제1 복호화 승인 메시지를 전송한다. 예를 들어, 제1 복호화 승인 메시지는 제2 디바이스(200)에 저장된 제2 부분 키(t2)의 암호화 값(EncK1(t2))을 포함할 수 있다. 단계 S2340b에서, 제3 디바이스(300)는 제1 디바이스(100)에게 제2 복호화 승인 메시지를 전송한다. 예를 들어, 제2 암호화 승인 메시지는 제3 디바이스(300)에 저장된 제3 부분 키(t2)의 암호화 값(EncK1(t3))을 포함할 수 있다.
단계 S2350에서, 제1 디바이스(100)는 제1 및 제2 복호화 승인 메시지들을 기초로 복호화 키를 복원한다. 예를 들어, 제1 디바이스(100)는 제1 확인 개인 키(k1)를 이용하여 제1 및 제2 복호화 승인 메시지들에 각각 포함된 제2 및 제3 부분 키들의 암호화 값들(EncK1(t2), EncK1(t3))을 복호화함으로써, 제2 및 제3 부분 키들(t2, t3)을 획득할 수 있다. 이어서, 제1 디바이스(100)는 제2 및 제3 부분 키들(t2, t3) 및 제1 디바이스(100)에 저장된 제1 부분 키(t1)를 기초로 개인 키(t)를 복원할 수 있다(즉, t=t1+t2+t3).
단계 S2360에서, 제1 디바이스(100)는 복원된 복호화 키를 이용하여 암호화된 콘텐트를 복호화한다. 예를 들어, 제1 디바이스(100)는 복원된 개인 키(t)를 이용하여 대칭 키(s)를 복호화하고(즉, Dect(EncT(s))=s), 복호화된 대칭 키(s)를 이용하여 암호화된 콘텐트를 복호화할 수 있다(즉, AESs(m)=m).
단계 S2370에서, 제1 디바이스(100)는 복원된 암호화 키 및 복원된 콘텐트 중 적어도 하나를 삭제한다. 예를 들어, 제1 디바이스(100)는 복원된 암호화 키(t) 및 복원된 콘텐트(m) 중 적어도 하나를 삭제할 수 있다.
도 24는 도 19의 콘텐트 복호화 방법에 따른 도 1의 보안 그룹의 동작의 다른 예를 나타내는 흐름도이다.
도 24을 참조하면, 본 실시예에 따른 콘텐트 복호화 방법은 도 1의 보안 그룹(10)에 포함된 제1 내지 제3 디바이스들(100, 200, 300)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 보안 그룹(10)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S2410에서, 제1 디바이스(100)는 제1 내지 제3 디바이스들(100, 200, 300)이 근접 거리 내에 위치하는지 여부를 판단한다.
단계 S2420a에서, 제1 및 제2 디바이스들(100, 200)은 상호 연결된다. 단계 S2420b에서, 제1 및 제3 디바이스들(100, 300)은 상호 연결된다. 이로써, 제2 및 제3 디바이스들(200, 300)도 상호 연결된다.
단계 S2430에서, 제1 디바이스(100)는 사용자 입력 또는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 복호화할 콘텐트를 결정할 수 있다. 구체적으로, 제1 사용자(USER1)는 사용자 입력을 통해 제1 디바이스(100) 또는 서버에 저장된 암호화 콘텐트를 복호화할 콘텐트로서 수동으로 결정할 수 있다. 또는, 제1 디바이스(100) 또는 서버에 저장된 암호화된 콘텐트는 제1 내지 제3 디바이스들(100, 200, 300)의 상태 정보에 따라 복호화할 콘텐트로서 자동으로 결정될 수 있다.
단계 S2440a에서, 제1 디바이스(100)는 제2 디바이스(200)에게 복호화 승인 요청 메시지를 전송한다. 단계 S2440b에서, 제1 디바이스(100)는 제2 디바이스(200)에게 복호화 승인 요청 메시지를 전송한다.
단계 S2450a에서, 제2 디바이스(200)는 제1 디바이스(100)에게 제1 복호화 승인 메시지를 전송한다. 예를 들어, 제1 복호화 승인 메시지는 제2 디바이스(200)에 저장된 제2 부분 키(t2)의 암호화 값(EncK1(t2))을 포함할 수 있다. 단계 S2450b에서, 제3 디바이스(300)는 제1 디바이스(100)에게 제2 복호화 승인 메시지를 전송한다. 예를 들어, 제2 암호화 승인 메시지는 제3 디바이스(300)에 저장된 제3 부분 키(t2)의 암호화 값(EncK1(t3))을 포함할 수 있다.
단계 S2460에서, 제1 디바이스(100)는 제1 및 제2 복호화 승인 메시지들을 기초로 복호화 키를 복원한다. 예를 들어, 제1 디바이스(100)는 제1 확인 개인 키(k1)를 이용하여 제1 및 제2 복호화 승인 메시지들에 각각 포함된 제2 및 제3 부분 키들의 암호화 값들(EncK1(t2), EncK1(t3))을 복호화함으로써, 제2 및 제3 부분 키들(t2, t3)을 획득할 수 있다. 이어서, 제1 디바이스(100)는 제2 및 제3 부분 키들(t2, t3) 및 제1 디바이스(100)에 저장된 제1 부분 키(t1)를 기초로 개인 키(t)를 복원할 수 있다(즉, t=t1+t2+t3).
단계 S2470에서, 제1 디바이스(100)는 복원된 복호화 키를 이용하여 암호화된 콘텐트를 복호화한다. 예를 들어, 제1 디바이스(100)는 복원된 개인 키(t)를 이용하여 대칭 키(s)를 복호화하고(즉, Dect(EncT(s))=s), 복호화된 대칭 키(s)를 이용하여 암호화된 콘텐트를 복호화할 수 있다(즉, AESs(m)=m).
단계 S2380에서, 제1 디바이스(100)는 복원된 암호화 키 및 복원된 콘텐트 중 적어도 하나를 삭제한다. 예를 들어, 제1 디바이스(100)는 복원된 암호화 키(t) 및 복원된 콘텐트(m) 중 적어도 하나를 삭제할 수 있다.
도 25는 도 3의 콘텐트 암호화 방법 및 도 19의 콘텐트 복호화 방법에 따른 적용 예를 나타내는 도면이다.
도 25를 참조하면, 제1 단계(2510)에서, 제1 사용자(USER1)와 제2 사용자(USER2)가 연인 관계일 수 있다. 이때, 제1 단계(2510)에서 제1 사용자(USER1)의 제1 디바이스(100a) 및 제2 사용자(USER2)의 제2 디바이스(100b) 중 적어도 하나가 보안 그룹(10a)을 생성 또는 초기화할 수 있고, 이에 따라, 제1 사용자(USER1)의 제1 디바이스(100a) 및 제2 사용자(USER2)의 제2 디바이스(100b)는 보안 그룹(10a)으로 설정될 수 있다.
제2 단계(2520)에서, 제1 사용자(USER1)와 제2 사용자(USER2)는 함께 사진을 찍을 수 있고, 찍은 사진을 공유할 수 있다. 이때, 사진은 제1 사용자(USER1)의 제1 디바이스(100a) 및 제2 사용자(USER2)의 제2 디바이스(100b) 중 적어도 하나에 암호화되어 저장될 수 있다. 제1 사용자(USER1)와 제2 사용자(USER2)가 함께 있을 때는, 제1 및 제2 디바이스들(100a, 100b)은 예를 들어, NFC를 통해 연결되고, 이에 따라, 제1 및 제2 디바이스들(100a, 100b)은 암호화된 사진을 복호화하여 공유할 수 있다. 한편, 제1 사용자(USER1)와 제2 사용자(USER2)가 따로 있을 때는, 제1 및 제2 디바이스들(100a, 100b) 사이에는 연결 관계가 없고, 이에 따라, 제1 및 제2 디바이스들(100a, 100b) 중 적어도 하나에 암호화되어 저장된 사진은 공유될 수 없다.
제3 단계(2530)에서, 제1 사용자(USER1)와 제2 사용자(USER2) 사이에 갈등이 생길 수 있다. 이때, 제1 사용자(USER1)와 제2 사용자(USER2)는 제1 및 제2 디바이스들(100a, 100b) 중 적어도 하나에 암호화되어 저장된 사진에 접근할 수 없고, 제1 및 제2 디바이스들(100a, 100b) 중 적어도 하나에 암호화되어 저장된 사진은 잠금 상태에 있다.
제4 단계(2540)에서, 제1 사용자(USER1)와 제2 사용자(USER2)가 결별할 수 있다. 이때, 제1 사용자(USER1)와 제2 사용자(USER2)는 다시 만나지 않으므로, 제1 및 제2 디바이스들(100a, 100b) 사이의 연결이 재개될 수 없다. 이로써, 제1 및 제2 디바이스들(100a, 100b) 중 적어도 하나에 암호화되어 저장된 사진은 외부에 노출되지 않는다.
도 26은 본 개시의 일 실시예에 따른 보안 시스템(20)을 나타내는 블록도이다.
도 26을 참조하면, 보안 시스템(20)은 복수의 디바이스들, 예를 들어, 제1 내지 제3 디바이스들(500, 600, 700)을 포함하는 보안 그룹(SG) 및 서버(800)을 포함할 수 있다. 구체적으로, 보안 그룹(SG)은 복수의 디바이스들(500, 600, 700) 사이에서 안전하게 콘텐트를 공유할 수 있으며, 이를 위해 서버(800)는 콘텐트를 암호화하고 암호화된 콘텐트를 복호화할 수 있다. 따라서, 보안 시스템(20)을 콘텐트 암호화 시스템 또는 암호화된 콘텐트 복호화 시스템이라고 지칭할 수 있다.
이때, 도시된 구성요소가 모두 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 보안 그룹 또는 콘텐트 암호화 시스템이 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 보안 그룹 또는 콘텐트 암호화 시스템이 구현될 수 있다. 예를 들어, 보안 시스템(20)은 두 개의 디바이스들을 포함할 수도 있고, 네 개 이상의 디바이스들을 포함할 수도 있다.
서버(800)는 보안 그룹(SG)을 생성 또는 초기화하는 동작을 수행할 수 있다. 제1 디바이스(500)는 제1 사용자(USER1)의 디바이스이고, 제2 디바이스(600)는 제2 사용자(USER2)의 디바이스이며, 제3 디바이스(700)는 제3 사용자(USER3)의 디바이스일 수 있다.
예를 들어, 제1 내지 제3 디바이스들(500, 600, 700)이 스마트폰일 수 있으나, 이에 제한되지 않는다. 제1 내지 제3 디바이스들(500, 600, 700) 중 적어도 하나는, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA, 랩톱, 미디어 플레이어, 마이크로 서버, GPS 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 웨어러블 디바이스 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있다.
제1 내지 제3 디바이스들(500, 600, 700) 중 하나는 콘텐트를 생성 및 저장할 수 있고, 서버(800)는 콘텐트를 암호화할 수 있으며, 암호화된 콘텐트는 복사되어 제1 내지 제3 디바이스들(100, 200, 300) 사이에서 공유될 수 있다. 제1 내지 제3 디바이스들(500, 600, 700) 중 적어도 하나는 예를 들어, 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있고, 이로써, 암호화된 콘텐트를 하드웨어적으로 보호할 수 있다. 다른 실시예에서, 서버(800)가 암호화된 콘텐트를 저장할 수 있고, 저장된 콘텐트는 제1 내지 제3 디바이스들(500, 600, 700) 사이에서 공유될 수 있다.
일 실시예에서, 콘텐트는 사용자 입력에 따라 수동으로 선택될 수 있다. 예를 들어, 카메라 또는 사진첩과 같은 어플리케이션의 실행 중에 콘텐트를 선택할 수 있다. 다른 예를 들어, 보안 그룹(SG) 내의 콘텐트 공유를 위한 특정 어플리케이션의 실행으로 콘텐트를 선택할 수도 있다.
다른 실시예에서, 콘텐트는 제1 내지 제3 디바이스들(500, 600, 700)의 상태 정보에 따라, 즉, 콘텍스트를 기반으로 자동으로 결정될 수도 있다. 예를 들어, 제1 내지 제3 디바이스들(500, 600, 700)의 위치 정보 및 제1 내지 제3 디바이스들(500, 600, 700)의 사용자들(USER1, USER2, USER3)의 SNS 상의 관계 정보 중 적어도 하나에 따라 콘텐트는 결정될 수 있다. 다른 예를 들어, 제1 내지 제3 디바이스들(500, 600, 700) 중 하나가 일방적으로 콘텍스트를 결정할 수도 있다.
일 실시예에서, 콘텐트는 서버(800)에서 암호화될 수 있고, 암호화된 콘텐트는 제1 내지 제3 디바이스들(500, 600, 700)이 모두 모였을 때만 복호화되어 공유될 수 있다. 따라서, 제1 내지 제3 디바이스들(500, 600, 700) 모두의 동의가 없을 경우 콘텐트는 공개되거나 변경될 수 있다.
다른 실시예에서, 콘텐트는 서버(800)에서 암호화될 수 있고, 암호화된 콘텐트는 제1 내지 제3 디바이스들(500, 600, 700) 중 일부가 모였을 때 복호화되어 공유될 수 있다. 따라서, 제1 내지 제3 디바이스들(500, 600, 700) 중 일부의 동의가 있을 경우 콘텐트는 공개되거나 변경될 수 있다.
콘텐트의 암호화 방법 및 암호화된 콘텐트의 복호화 방법에 대해서는, 이하에서 도 27 내지 도 33을 참조하여 상술하기로 한다.
도 27은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 26의 보안 시스템의 동작의 일 예를 나타내는 흐름도이다.
도 27을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 개인 키를 분배하는 분산 암호화 방법으로서, 도 26의 보안 시스템(20)에 포함된 제1 내지 제3 디바이스들(500, 600, 700) 및 서버(800)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 26에 도시된 보안 시스템(20)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S2710에서, 서버(800)는 공개 키 및 개인 키로 구성된 키 쌍을 생성한다. 예를 들어, 서버(800)는 암호화에 이용되는 공개 키(T) 및 공개 키(T)에 대응되며 복호화에 이용되는 개인 키(t)를 생성할 수 있다.
단계 S2720에서, 서버(800)는 개인 키를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들을 생성한다. 예를 들어, 서버(800)는 개인 키(t)를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들(t1, t2, t3)을 생성할 수 있다. 이때, 서버(800)는 샤미르 방법을 이용하여 개인 키(t)를 분할할 수 있다.
단계 S2730에서, 서버(800)는 개인 키를 삭제한다. 예를 들어, 서버(800)는 개인 키(t)를 삭제할 수 있으며, 이로써, 제1 내지 제3 디바이스들(100, 200, 300) 중 어느 하나도 개인 키(t)를 획득할 수 없고, 이에 따라, 단독으로 암호화된 콘텐트에 접근할 수 없다.
단계 S2740에서, 서버(800)는 제1 내지 제3 부분 키들을 암호화한다. 예를 들어, 서버(800)는 전송 시의 보안을 위하여, 제1 내지 제3 부분 키들(t1, t2, t3)을 각각 암호화하여 암호화된 제1 내지 제3 부분 키들을 생성할 수 있다. 이로써, 암호화된 제1 내지 제3 부분 키들의 전송 단계에서 보안 그룹(SG)에 속하지 않는 다른 디바이스들은 해당 부분 키를 획득할 수 없다.
단계 S2750a에서, 서버(800)는 공개 키 및 암호화된 제1 부분 키를 제1 디바이스(500)에 전송한다. 단계 S2750b에서, 서버(800)는 공개 키 및 암호화된 제2 부분 키를 제2 디바이스(600)에 전송한다. 단계 S2750c에서, 서버(800)는 공개 키 및 암호화된 제3 부분 키를 제3 디바이스(700)에 전송한다. 예를 들어, 서버(800)는 와이파이(WiFi), 3G/LTE, 블루투스 등과 같은 무선 통신을 통해 공개 키 및 암호화된 제1 내지 제3 부분 키들을 제1 내지 제3 디바이스들(500, 600, 700)에 각각 전송할 수 있다.
단계 S2760a에서, 제1 디바이스(500)는 공개 키 및 제1 부분 키를 저장한다. 단계 S2760b에서, 제2 디바이스(600)는 공개 키 및 제2 부분 키를 저장한다. 단계 S2760c에서, 제3 디바이스(700)는 공개 키 및 제3 부분 키를 저장한다. 예를 들어, 제1 내지 제3 디바이스들(500, 600, 700)은 암호화된 제1 내지 제3 부분 키들을 각각 복호화함으로써, 제1 내지 제3 부분 키들을 각각 추출할 수 있다. 또한, 제1 내지 제3 디바이스들(500, 600, 700)은 공개 키(T)를 가지므로, 제1 내지 제3 디바이스들(500, 600, 700)의 제1 내지 제3 사용자들(USER1, USER2, USER3)은 누구나 공개 키(T)를 이용하여 콘텐트를 암호화할 수 있다.
도 28는 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 26의 보안 시스템의 동작의 일 예를 나타내는 흐름도이다.
도 28을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 도 27에 예시된 콘텐트 암호화 방법에 이어서 수행될 수 있다. 또한, 본 실시예에 따른 콘텐트 암호화 방법은 도 26의 보안 시스템(20)에 포함된 제1 내지 제3 디바이스들(500, 600, 700) 및 서버(800)에서 시계열적으로 처리되는 단계들로 구성된다. 이하에서는, 서버(800)에서 콘텐트를 암호화하는 동작에 대해 상술하기로 한다. 그러나, 다른 실시예에서, 제1 내지 제3 디바이스들(500, 600, 700) 중 하나도 공개 키를 이용하여 콘텐트를 암호화할 수 있다.
단계 S2810에서, 서버(800)는 사용자 입력 또는 제1 내지 제3 디바이스들(500, 600, 700)의 상태 정보에 따라 암호화할 콘텐트를 결정한다. 구체적으로, 제1 사용자(USER1)는 사용자 입력을 통해 제1 디바이스(500) 또는 서버에 저장된 콘텐트를 암호화할 콘텐트로서 수동으로 결정할 수 있다. 또는, 제1 디바이스(500) 또는 서버에 저장된 콘텐트는 제1 내지 제3 디바이스들(500, 600, 700)의 상태 정보에 따라 암호화할 콘텐트로서 자동으로 결정될 수 있다.
단계 S2820에서, 서버(800)는 공개 키를 이용하여 콘텐트를 암호화한다. 예를 들어, 서버(800)는 대칭 키(s)를 이용하여 콘텐트를 암호화하고, 공개 키(T)를 이용하여 대칭 키(s)를 암호화할 수 있다. 단계 S2830에서, 서버(800)는 암호화된 콘텐트를 저장한다.
단계 S2840a에서, 서버(800)는 제1 디바이스(500)에 암호화된 콘텐트를 전송한다. 단계 S2840b에서, 서버(800)는 제2 디바이스(600)에 암호화된 콘텐트를 전송한다. 단계 S2840c에서, 서버(800)는 제3 디바이스(700)에 암호화된 콘텐트를 전송한다.
단계 S2850a에서, 제1 디바이스(500)는 암호화된 콘텐트를 저장한다. 단계 S2850b에서, 제2 디바이스(600)는 암호화된 콘텐트를 저장한다. 단계 S2850c에서, 제3 디바이스(700)는 암호화된 콘텐트를 저장한다. 예를 들어, 제1 내지 제3 디바이스들(500, 600, 700)은 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있다.
도 29는 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 26의 보안 시스템의 동작의 다른 예를 나타내는 흐름도이다.
도 29를 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 공개 키를 분배하는 분산 암호화 방법으로서, 도 26의 보안 시스템(20)에 포함된 제1 내지 제3 디바이스들(500, 600, 700) 및 서버(800)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 26에 도시된 보안 시스템(20)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S2910에서, 서버(800)는 공개 키 및 개인 키로 구성된 키 쌍을 생성한다. 예를 들어, 서버(800)는 암호화에 이용되는 공개 키(T) 및 공개 키(T)에 대응되며 복호화에 이용되는 개인 키(t)를 생성할 수 있다. 단계 S2920에서, 서버(800)는 공개 키를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들을 생성한다. 예를 들어, 서버(800)는 공개 키(T)를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들(T1, T2, T3)을 생성할 수 있다.
단계 S2930에서, 서버(800)는 공개 키를 삭제한다. 단계 S2940에서, 서버(800)는 제1 내지 제3 부분 키들을 암호화한다. 예를 들어, 서버(800)는 전송 시의 보안을 위하여, 제1 내지 제3 부분 키들(T1, T2, T3)을 각각 암호화하여 암호화된 제1 내지 제3 부분 키들을 생성할 수 있다.
단계 S2950a에서, 서버(800)는 암호화된 제1 부분 키를 제1 디바이스(500)에 전송한다. 단계 S2950b에서, 서버(800)는 암호화된 제2 부분 키를 제2 디바이스(600)에 전송한다. 단계 S2950c에서, 서버(800)는 암호화된 제3 부분 키를 제3 디바이스(700)에 전송한다. 단계 S2960a에서, 제1 디바이스(500)는 제1 부분 키를 저장한다. 단계 S2960b에서, 제2 디바이스(600)는 제2 부분 키를 저장한다. 단계 S2960c에서, 제3 디바이스(700)는 제3 부분 키를 저장한다.
도 30은 도 3의 콘텐트 암호화 방법에 포함된 암호화 단계 및 암호화된 콘텐트의 저장 단계에 따른 도 26의 보안 시스템의 동작의 다른 예를 나타내는 흐름도이다.
도 30을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 도 29에 예시된 콘텐트 암호화 방법에 이어서 수행될 수 있다. 또한, 본 실시예에 따른 콘텐트 암호화 방법은 도 26의 보안 시스템(20)에 포함된 제1 내지 제3 디바이스들(500, 600, 700) 및 서버(800)에서 시계열적으로 처리되는 단계들로 구성된다.
단계 S3010에서, 서버(800)는 사용자 입력 또는 제1 내지 제3 디바이스들(500, 600, 700)의 상태 정보에 따라 암호화할 콘텐트를 결정한다. 단계 S3020a에서, 서버(800)는 제1 디바이스(500)에 암호화 요청 메시지를 전송한다. 단계 S3020b에서, 서버(800)는 제2 디바이스(600)에 암호화 요청 메시지를 전송한다. 단계 S3020c에서, 서버(800)는 제3 디바이스(700)에 암호화 요청 메시지를 전송한다.
단계 S3030a에서, 제1 디바이스(500)는 서버(800)에 제1 암호화 승인 메시지를 전송한다. 예를 들어, 제1 암호화 승인 메시지는 제1 디바이스(500)에 저장된 제1 부분 키(T1)의 암호화 값을 포함할 수 있다. 단계 S3030b에서, 제2 디바이스(600)는 서버(800)에 제2 암호화 승인 메시지를 전송한다. 예를 들어, 제2 암호화 승인 메시지는 제2 디바이스(600)에 저장된 제2 부분 키(T2)의 암호화 값을 포함할 수 있다. 단계 S3030c에서, 제3 디바이스(700)는 서버(800)에 제3 암호화 승인 메시지를 전송한다. 예를 들어, 제3 암호화 승인 메시지는 제3 디바이스(700)에 저장된 제3 부분 키(T3)의 암호화 값을 포함할 수 있다.
단계 S3040에서, 서버(800)는 제1 내지 제3 암호화 승인 메시지들을 기초로 공개 키를 복원한다. 단계 S3050에서, 서버(800)는 공개 키를 이용하여 콘텐트를 암호화한다. 단계 S3060에서, 서버(800)는 암호화된 콘텐트를 저장한다.
단계 S3070a에서, 서버(800)는 제1 디바이스(500)에 암호화된 콘텐트를 전송한다. 단계 S3070b에서, 서버(800)는 제2 디바이스(600)에 암호화된 콘텐트를 전송한다. 단계 S3070c에서, 서버(800)는 제3 디바이스(700)에 암호화된 콘텐트를 전송한다.
단계 S3080a에서, 제1 디바이스(500)는 암호화된 콘텐트를 저장한다. 단계 S3080b에서, 제2 디바이스(600)는 암호화된 콘텐트를 저장한다. 단계 S3080c에서, 제3 디바이스(700)는 암호화된 콘텐트를 저장한다. 예를 들어, 제1 내지 제3 디바이스들(500, 600, 700)은 트러스트존과 같은 보안 구역에 암호화된 콘텐트를 저장할 수 있다.
도 31은 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 26의 보안 시스템의 동작의 다른 예를 나타내는 흐름도이다.
도 31을 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 개인 키를 분배하는 변형 분산 암호화 방법으로서, 도 26의 보안 시스템(20)에 포함된 제1 내지 제3 디바이스들(500, 600, 700) 및 서버(800)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 26에 도시된 보안 시스템(20)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S3110에서, 서버(800)는 공개 키(T) 및 개인 키(t)로 구성된 키 쌍을 생성한다. 단계 S3120에서, 서버(800)는 개인 키(t)를 적어도 2개로 분할하여 적어도 제1 및 제2 부분 키들(t1, t2)을 생성한다. 단계 S3130에서, 서버(800)는 개인 키(t) 및 제1 및 제2 부분 키들(t1, t2)을 암호화한다.
단계 S3140에서, 서버(800)는 제1 디바이스(500)에 공개 키 및 암호화된 개인 키를 전송한다. 단계 S3150에서, 서버(800)는 개인 키(t)를 삭제한다. 단계 S3160a에서, 서버(800)는 제2 디바이스(600)에 공개 키 및 암호화된 제1 부분 키를 전송한다. 단계 S3160b에서, 서버(800)는 제3 디바이스(300)에 공개 키 및 암호화된 제2 부분 키를 전송한다.
단계 S3170a에서, 제1 디바이스(500)는 공개 키 및 개인 키를 저장한다. 예를 들어, 제1 디바이스(100)는 공개 키(T)를 이용하여 단독으로 콘텐트를 암호화할 수 있고, 개인 키(t)를 이용하여 단독으로 콘텐트를 복호화할 수도 있다.
단계 S3170b에서, 제2 디바이스(600)는 공개 키 및 제1 부분 키를 저장한다. 단계 S3170c에서, 제3 디바이스(700)는 공개 키 및 제2 부분 키를 저장한다. 예를 들어, 제2 및 제3 디바이스들(600, 700)은 암호화된 제1 및 제2 부분 키들을 각각 복호화함으로써, 제1 및 제2 부분 키들을 각각 추출할 수 있다.
제2 및 제3 디바이스들(600, 700)은 공개 키(T)를 가지므로, 제2 및 제3 디바이스들(600, 700)의 제2 및 제3 사용자들(USER2, USER3)은 누구나 공개 키(T)를 이용하여 콘텐트를 암호화할 수 있다. 그러나, 제2 및 제3 디바이스들(600, 700)은 각각 제1 및 제2 부분 키들(t1, t2)을 가지므로, 제2 및 제3 디바이스들(600, 700)은 단독으로 콘텐트를 복호화할 수 없고, 제2 및 제3 디바이스들(600, 700)이 근접 거리 내에 위치하는 경우에만 콘텐트를 복호화할 수 있다.
본 실시예에 따른 암호화 단계 및 암호화된 콘텐트의 저장 단계는 도 28과 실질적으로 유사하므로, 이에 대한 상세한 설명은 생략하기로 한다.
도 32는 도 3의 콘텐트 암호화 방법에 포함된 암호화 키 및 복수의 부분 키들의 생성 단계 및 생성된 복수의 부분 키들의 분배 단계에 따른 도 26의 보안 시스템의 동작의 다른 예를 나타내는 흐름도이다.
도 32를 참조하면, 본 실시예에 따른 콘텐트 암호화 방법은 대칭 키를 분배하는 분산 암호화 방법으로서, 도 26의 보안 시스템(20)에 포함된 제1 내지 제3 디바이스들(500, 600, 700) 및 서버(800)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 26에 도시된 보안 시스템(20)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 암호화 방법에도 적용된다.
단계 S3210에서, 서버(800)는 암호화 키, 즉, 대칭 키를 생성한다. 예를 들어, 서버(800)는 암호화에 이용되는 암호화 키(sk)를 생성할 수 있고, 생성된 암호화 키(sk)는 복호화에도 이용될 수 있다.
단계 S3220에서, 서버(800)는 암호화 키를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들을 생성한다. 예를 들어, 서버(800)는 암호화 키(sk)를 적어도 3개로 분할하여 적어도 제1 내지 제3 부분 키들(sk1, sk2, sk3)을 생성할 수 있다.
단계 S3230에서, 서버(800)는 암호화 키를 삭제한다. 단계 S3240에서, 서버(800)는 제1 내지 제3 부분 키들을 암호화한다. 단계 S3250a에서, 서버(800)는 제1 디바이스(500)에 암호화된 제1 부분 키를 전송한다. 단계 S3250b에서, 서버(800)는 제2 디바이스(600)에 암호화된 제2 부분 키를 전송한다. 단계 S3250c에서, 서버(800)는 제3 디바이스(700)에 암호화된 제3 부분 키를 전송한다.
단계 S3260a에서, 제1 디바이스(500)는 제1 부분 키(sk1)를 저장한다. 단계 S3260b에서, 제2 디바이스(600)는 제2 부분 키(sk2)를 저장한다. 단계 S3260c에서, 제3 디바이스(700)는 제3 부분 키(sk3)를 저장한다.
제1 내지 제3 디바이스들(500, 600, 700)은 각각 제1 내지 제3 부분 키들(sk1, sk2, sk3)을 가지므로, 제1 내지 제3 디바이스들(500, 600, 700)의 제1 내지 제3 사용자들(USER1, USER2, USER3)은 단독으로 콘텐트를 암호화할 수 없고, 제1 내지 제3 디바이스들(500, 600, 700)이 근접 거리 내에 위치하는 경우에만 콘텐트를 암호화할 수 있다. 또한, 제1 내지 제3 디바이스들(500, 600, 700)은 대칭 암호화/복호화 방식을 이용하므로, 제1 내지 제3 디바이스들(500, 600, 700)의 제1 내지 제3 사용자들(USER1, USER2, USER3)은 단독으로 콘텐트를 복호화할 수 없고, 제1 내지 제3 디바이스들(500, 600, 700)이 근접 거리 내에 위치하는 경우에만 콘텐트를 복호화할 수 있다.
본 실시예에 따른 암호화 단계 및 암호화된 콘텐트의 저장 단계는 도 30과 실질적으로 유사하므로, 이에 대한 상세한 설명은 생략하기로 한다.
도 33은 도 19의 콘텐트 복호화 방법에 따른 도 26의 보안 시스템의 동작의 일 예를 나타내는 흐름도이다.
도 33을 참조하면, 본 실시예에 따른 콘텐트 복호화 방법은 도 26의 보안 시스템(20)에 포함된 제1 내지 제3 디바이스들(500, 600, 700) 및 서버(800)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 26에 도시된 보안 시스템(20)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 콘텐트 복호화 방법에도 적용된다.
단계 S3310에서, 서버(800)는 제1 내지 제3 디바이스들(500, 600, 700)이 근접 거리 내에 위치하는지 여부를 판단한다.
단계 S3320a에서, 제1 및 제2 디바이스들(500, 600)은 상호 연결된다. 단계 S2320b에서, 제1 및 제3 디바이스들(500, 700)은 상호 연결된다. 이로써, 제2 및 제3 디바이스들(600, 700)도 상호 연결된다.
단계 S3330a에서, 서버(800)는 제1 디바이스(500)에게 복호화 승인 요청 메시지를 전송한다. 단계 S3330b에서, 서버(800)는 제2 디바이스(600)에게 복호화 승인 요청 메시지를 전송한다. 단계 S3330b에서, 서버(800)는 제3 디바이스(700)에게 복호화 승인 요청 메시지를 전송한다.
단계 S3340a에서, 제1 디바이스(500)는 서버(800)에게 제1 복호화 승인 메시지를 전송한다. 예를 들어, 제1 복호화 승인 메시지는 제1 디바이스(500)에 저장된 제1 부분 키(t1)의 암호화 값(Enck1(t1))을 포함할 수 있다. 단계 S3340b에서, 제2 디바이스(600)는 서버(800)에게 제2 복호화 승인 메시지를 전송한다. 예를 들어, 제2 복호화 승인 메시지는 제2 디바이스(600)에 저장된 제2 부분 키(t2)의 암호화 값(Enck2(t2))을 포함할 수 있다. 단계 S3340c에서, 제3 디바이스(700)는 서버(800)에게 제3 복호화 승인 메시지를 전송한다. 예를 들어, 제3 암호화 승인 메시지는 제3 디바이스(700)에 저장된 제3 부분 키(t3)의 암호화 값(Enck3(t3))을 포함할 수 있다.
단계 S3350에서, 서버(800)는 제1 내지 제3 복호화 승인 메시지들을 기초로 복호화 키를 복원한다. 예를 들어, 서버(800)는 제1 내지 제3 확인 공개 키들(K1, K2, K3)을 이용하여 제1 내지 제3 복호화 승인 메시지들에 각각 포함된 암호화된 제1 내지 제3 부분 키들(Enck1(t1), Enck2(t2), Enck3(t3))을 복호화함으로써, 제2 및 제3 부분 키들(t2, t3)을 획득할 수 있다. 이어서, 서버(800)는 제1 내지 제3 부분 키들(t1, t2, t3)을 기초로 복호화 키, 즉, 개인 키(t)를 복원할 수 있다(즉, t=t1+t2+t3).
단계 S3360에서, 서버(800)는 복원된 복호화 키를 이용하여 암호화된 콘텐트를 복호화한다. 예를 들어, 서버(800)는 복원된 개인 키(t)를 이용하여 대칭 키(s)를 복호화하고(즉, Dect(EncT(s))=s), 복호화된 대칭 키(s)를 이용하여 암호화된 콘텐트를 복호화할 수 있다(즉, AESs(m)=m).
단계 S3370에서, 서버(800)는 복원된 암호화 키 및 복원된 콘텐트 중 적어도 하나를 삭제한다. 예를 들어, 서버(800)는 복원된 암호화 키(t) 및 복원된 콘텐트(m) 중 적어도 하나를 삭제할 수 있다.
도 1 내지 도 33을 참조하여 상술한 콘텐트의 암호화/복호화 방법은 다양한 적용 예들이 있을 수 있다. 예를 들어, 엔터테인먼트(entertainment) 분야에서는, 그룹 멤버들 사이에 부분 키를 분배할 수 있고, 이로써, 그룹 내의 누구라도 콘테스트, 퀴즈 등과 같은 이벤트를 생성할 수 있는 반면, 그룹 내의 모든 참가자들이 준비된 경우에만 동시에 시작할 수 있다. 다른 예를 들어, 전자 기기의 잠금 또는 잠금 해제 분야에서는, 부모에게 TV 전원을 켜기 위한 비밀 번호에 대한 부분 키를 분배할 수 있고, 이로써, 부모 중 적어도 일인이 집에 있는 경우에만 TV 전원을 켤 수 있다. 또 다른 예를 들어, 콘텐트는 유언일 수 있고, 자손들 사이에 부분 키를 분배할 수 있으며, 이로써, 자손들 모두가 모인 경우에만 유언을 볼 수 있다. 또 다른 예를 들어, 콘텐트는 시험 성적일 수 있고, 선생님들 사이에 부분 키들을 분배할 수 있으며, 이로써, 선생님들 중 적어도 일부가 모인 경우에만 시험 성적을 등록할 수 있는 반면, 학생들은 누구나 시험 성적을 볼 수 있다.
도 34는 본 개시의 일 실시예에 따른 디바이스(100A)를 나타내는 블록도이다.
도 34를 참조하면, 디바이스(100A)는 감지부(11), 키 생성부(12), 암호화부(13), 저장부(14), 송수신부(15), 키 복원부(16) 및 복호화부(17)를 포함할 수 있다. 디바이스(100A)는 복수의 디바이스들을 포함하는 보안 그룹에서 공유 가능한 콘텐트를 암호화할 수 있고, 암호화된 콘텐트를 복호화할 수 있으며, 디바이스(100A)는 보안 그룹에 포함된 복수의 디바이스들 중 하나이다.
디바이스(100A)는 도 1의 제1 내지 제3 디바이스들(100, 200, 300) 및 도 26의 제1 내지 제3 디바이스들(500, 600, 700)에 모두 적용될 수 있다. 또한, 디바이스(100A)는 도 1 내지 도 33을 참조하여 상술한 콘텐트 암호화 방법 및 콘텐트 복호화 방법을 수행할 수 있다. 그러므로, 이하에서는, 디바이스(100A)에서 콘텐트 암호화 동작 및 콘텐트 복호화 동작에 대한 구체적인 설명은 생략하기로 한다.
감지부(11)는 보안 그룹에 포함되는 복수의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는지 여부를 판단할 수 있다. 구체적으로, 감지부(11)는 복수의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는 경우 감지 신호를 생성하고, 생성된 감지 신호를 키 생성부(12), 키 복원부(16) 또는 서버에 전달할 수 있다.
도 35는 도 34에 포함된 감지부의 일 예(11A)를 나타내는 블록도이다.
도 35를 참조하면, 감지부(11A)는 터치 센서(11a), 근접 센서(11b), NFC 칩(11c), 블루투스 칩(11d), 와이파이 칩(11e) 및 지그비 칩(116f) 중 적어도 하나를 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 감지부(11)는 다양한 방식으로 통신하는 근거리 무선 통신(short range wireless communication)을 더 포함할 수 있다.
터치 센서(11a)는 용량 변화식, 전기전도도 변화식(저항 변화식), 광량 변화식 등의 다양한 방식으로 복수의 디바이스들이 근접 거리 내에 위치하는지 여부를 감지할 수 있다.
근접 센서(11b)는 고주파 발진형, 정전 용량형, 자기형, 광전형, 초음파형 등의 다양한 방식으로 복수의 디바이스들이 근접 거리 내에 위치하는지 여부를 감지할 수 있다. 구체적으로, 근접 센서(11b)는 사물이 다른 사물에 접촉되기 이전에 근접하였는지 결정하는데 사용될 수 있으며, 물리적인 접촉 없이 전자계의 힘을 이용하여 물체의 존재 여부, 통과, 연속 흐름, 적체 등의 감지 및 위치 제어에 이용하는 센서이다.
NFC 칩(11c)은 NFC(Near Field Communication) 태깅을 통해 복수의 디바이스들이 근접 거리 내에 위치하는지 여부를 감지할 수 있다. 구체적으로, NFC 칩(11c)은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC 방식으로 동작하는 칩을 의미한다.
블루투스 칩(11d)은 블루투스 방식으로 통신을 수행하여, 복수의 디바이스들이 근접 거리 내에 위치하는 여부를 감지할 수 있다. 와이파이 칩(11e)는 와이파이 방식으로 통신을 수행하여 복수의 디바이스들이 근접 거리 내에 위치하는 여부를 감지할 수 있다. 이때, 블루투스 칩(11d) 및 와이파이 칩(11e)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
지그비 칩(11f)은 근거리 통신을 지원하는 IEEE 802.15.4 표준 중 하나인 지그비 방식으로 통신을 수행하여 복수의 디바이스들이 근접 거리 내에 위치하는 여부를 감지할 수 있다. 구체적으로, 지그비는 가정·사무실 등의 무선 네트워킹 분야에서 10∼20m 내외의 근거리 통신과 유비쿼터스 컴퓨팅을 위한 기술이다. 즉, 지그비는 휴대전화나 무선LAN의 개념으로, 기존의 기술과 다른 특징은 전력소모를 최소화하는 대신 소량의 정보를 소통시킬 수 있다.
다시 도 34를 참조하면, 키 생성부(12)는 소정의 콘텐트에 대한 암호화 키 및 복수의 부분 키들을 생성할 수 있다. 일 실시예에서, 비대칭 암호화 방식을 이용할 경우, 키 생성부(12)는 공개 키 및 개인 키로 구성된 키 쌍을 포함하는 암호화 키를 생성할 수 있다. 이때, 키 생성부(12)는 공개 키 또는 개인 키를 분할하여 복수의 부분 키들을 생성할 수 있다. 다른 실시예에서, 대칭 암호화 방식을 이용할 경우, 키 생성부(12)는 대칭 키를 포함하는 암호화 키를 생성할 수 있다. 이때, 키 생성부(12)는 대칭 키를 분할하여 복수의 부분 키들을 생성할 수 있다.
암호화부(13)는 생성된 암호화 키를 이용하여 콘텐트를 암호화할 수 있다. 구체적으로, 암호화부(13)는 세션 키(session key)로 콘텐트를 암호화하고, 암호화 키를 이용하여 세션 키를 암호화할 수 있다. 또한, 암호화부(13)는 생성된 복수의 부분 키들도 암호화할 수 있다. 나아가, 암호화부(13)는 복호화된 콘텐트의 재생 중에, 가상 공간에 접속한 디바이스들 중 하나가 접속을 종료할 경우 재생 중인 콘텐트를 다시 암호화할 수 있다.
일 실시예에서, 비대칭 암호화 방식을 이용할 경우, 암호화부(13)는 공개 키를 이용하여 콘텐트를 암호화할 수 있다. 구체적으로, 암호화부(13)는 세션 키로 콘텐트를 암호화하고, 공개 키를 이용하여 세션 키를 암호화할 수 있다. 다른 실시예에서, 대칭 암호화 방식을 이용할 경우, 암호화부(13)는 대칭 키를 이용하여 콘텐트를 암호화할 수 있다. 구체적으로, 암호화부(13)는 세션 키로 콘텐트를 암호화하고, 대칭 키를 이용하여 세션 키를 암호화할 수 있다.
저장부(14)는 암호화된 콘텐트 및 복호화된 콘텐트 중 적어도 하나를 저장할 수 있다. 또한, 저장부(14)는 암호화 키 및 부분 키 중 적어도 하나를 더 저장할 수 있다. 일 실시예에서, 저장부(14)는 트러스트존(Trust zone)과 같은 보안 구역으로 구현될 수 있으며, 이때, 암호화부(13)에서 콘텐트가 암호화된 이후에, 암호화 키는 삭제될 수 있다.
송수신부(15)는 키 생성부(12)에서 생성된 복수의 부분 키들을 복수의 디바이스들 중 나머지 디바이스들에 각각 전송할 수 있다. 다른 실시예에서, 송수신부(15)는 암호화부(13)에서 암호화된 복수의 부분 키들을 복수의 디바이스들 중 나머지 디바이스들에 각각 전송할 수 있다. 또한, 송수신부(15)는 저장부(14)에 저장된 암호화된 컨텐트를 복수의 디바이스들 중 적어도 하나의 나머지 디바이스에 전송할 수 있다.
키 복원부(16)는 감지부(11)로부터 감지 신호가 수신된 경우, 즉, 보안 그룹에 포함된 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 근접 거리 내에 위치하는 경우, 임계 개수 이상의 디바이스들에 각각 저장된 복수의 부분 키들로부터 복호화 키를 복원할 수 있다. 여기서, 복호화 키는 키 생성부(12)에서 생성된 암호화 키에 대응될 수 있다.
복호화부(17)는 복원된 복호화 키를 이용하여 암호화된 콘텐트를 복호화할 수 있다. 일 실시예에서, 복호화부(17)는 복원된 복호화 키로, 암호화된 세션 키를 복호화하고, 복호화된 세션 키로, 암호화된 콘텐트를 복호화할 수 있다. 또한, 암호화된 콘텐트를 복호화한 이후에, 복호화 키 및 복호화된 콘텐트 중 적어도 하나는 삭제될 수 있다.
본 실시예에서, 근접 거리 내에 위치하는 복수의 디바이스들 중 적어도 하나가 근접 거리를 벗어나는 경우, 키 복원부(16) 및 복호화부(17) 중 적어도 하나는 동작을 중단하고, 암호화부(13)는 복호화된 콘텐트를 다시 암호화할 수 있다.
본 실시예에 따른 키 생성부(12), 암호화부(13), 키 복원부(16) 및 복호화부(17)는 복수의 프로그램들로 각각 구현되어, 디바이스 내의 메모리에 각각 저장될 수 있고, 디바이스 내의 제어부가 상기 메모리에 액세스하여 키 생성 동작, 암호화 동작, 키 복원 동작 및 복호화 동작을 실행할 수 있다. 또한, 본 실시예에 따른 저장부(14)는 디바이스 내의 메모리의 일부 영역으로 구현될 수 있다. 나아가, 본 실시예에 따른 송수신부(15)는 디바이스 내의 통신부의 일부로 구현될 수 있다. 따라서, 이하에서는, 도 36을 참조하여 디바이스의 하드웨어 구현 예에 대해 상술하기로 한다.
도 36은 본 개시의 일 실시예에 따른 디바이스(100B)의 구성을 설명하기 위한 블록도이다.
도 36을 참조하면, 본 실시예에 따른 디바이스(100B)의 구성은 도 1의 제1 내지 제3 디바이스들(100, 200, 300) 및 도 26의 제1 내지 제3 디바이스들(500, 600, 700)에 모두 적용될 수 있다. 디바이스(100B)의 구성은, 예를 들어, 휴대폰, 태블릿 PC, PDA, MP3 플레이어, 키오스크, 전자 액자, 네비게이션 장치, 디지털 TV, 손목 시계(Wrist watch) 또는 HMD(Head-Mounted Display)와 같은 웨어러블 기기(Wearable device) 등과 같은 다양한 유형의 장치에 적용될 수 있다.
도 36에 따르면, 디바이스(100B)는 디스플레이부(110), 제어부(170), 메모리(120), GPS 칩(125), 통신부(130), 비디오 프로세서(135), 오디오 프로세서(140), 사용자 입력부(145), 마이크부(150), 촬상부(155), 스피커부(160), 움직임 감지부(165) 중 적어도 하나를 포함 할 수 있다.
디스플레이부(110)는 표시패널(111) 및 표시 패널(111)을 제어하는 컨트롤러(미도시)를 포함할 수 있다. 표시패널(111)에는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, AM-OLED(Active-Matrix Organic Light-Emitting Diode), PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 표시패널(111)은 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 디스플레이부(110)는 사용자 입력부(145)의 터치 패널(147)과 결합되어 터치 스크린(미도시)으로 제공될 수 있다. 예를 들어, 터치 스크린(미도시)은 표시 패널(111)과 터치 패널(147)이 적층 구조로 결합된 일체형의 모듈을 포함할 수 있다.
메모리(120)는 내장 메모리(Internal Memory)(미도시) 및 외장 메모리(External Memory)(미도시) 중 적어도 하나를 포함할 수 있다.
내장 메모리는, 예를 들어, 휘발성 메모리(예를 들면, DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous Dynamic RAM) 등), 비휘발성 메모리(예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), Mask ROM, Flash ROM 등), 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따르면, 제어부(170)는 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 제어부(170)는 다른 구성요소로부터 수신하거나 생성된 데이터를 비휘발성 메모리에 보존할 수 있다.
외장 메모리는, 예를 들면, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 및 Memory Stick 중 적어도 하나를 포함할 수 있다.
메모리(120)는 디바이스(100B)의 동작에 사용되는 각종 프로그램 및 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 콘텐트 암호화를 위한 키 생성 프로그램 및 암호화 프로그램, 그리고, 콘텐트 복호화를 위한 키 복원 프로그램 및 복호화 프로그램의 적어도 일부를 임시 또는 반영구적으로 저장할 수 있다. 또 다른 예를 들어, 메모리(120)는 암호화된 콘텐트 및 복호화된 콘텐트 중 적어도 일부를 임시 또는 반영구적으로 저장할 수 있다.
제어부(170)는 메모리(120)에 저장된 컨텐츠의 일부가 디스플레이부(110)에 표시되도록 디스플레이부(110)를 제어할 수 있다. 다시 말하자면, 제어부(170)는 메모리(120)에 저장된 컨텐츠의 일부를 디스플레이부(110)에 표시할 수 있다. 또는, 제어부(170)는 디스플레이부(110)의 일 영역에서 사용자 제스처가 이루어지면, 사용자의 제스처에 대응되는 제어 동작을 수행할 수 있다.
제어부(170)는 RAM(171), ROM(172), CPU(173), GPU(Graphic Processing Unit)(174) 및 버스(175) 중 적어도 하나를 포함 할 수 있다. RAM(171), ROM(172), CPU(173) 및 GPU(174) 등은 버스(175)를 통해 서로 연결될 수 있다.
CPU(173)는 메모리(120)에 액세스하여, 메모리(120)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(120)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
ROM(172)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 예로, 휴대 단말기(100B)는 턴온 명령이 입력되어 전원이 공급되면, CPU(173)가 ROM(172)에 저장된 명령어에 따라 메모리(120)에 저장된 O/S를 RAM(171)에 복사하고, O/S를 실행시켜 시스템을 부팅시킬 수 있다. 부팅이 완료되면, CPU(173)는 메모리(120)에 저장된 각종 프로그램을 RAM(171)에 복사하고, RAM(171)에 복사된 프로그램을 실행시켜 각종 동작을 수행한다. GPU(174)는 디바이스(100B)의 부팅이 완료되면, 디스플레이부(110)의 영역에 UI 화면을 디스플레이한다. 구체적으로는, GPU(174)는 컨텐츠, 아이콘, 메뉴 등과 같은 다양한 객체를 포함하는 전자문서가 표시된 화면을 생성할 수 있다. GPU(174)는 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성 값을 연산한다. 그리고, GPU(174)는 연산된 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. GPU(174)에서 생성된 화면은 디스플레이부(110)로 제공되어, 디스플레이부(110)의 각 영역에 각각 표시될 수 있다.
GPS 칩(125)은 GPS(Global Positioning System) 위성으로부터 GPS 신호를 수신하여, 디바이스(100B)의 현재 위치를 산출할 수 있다. 제어부(170)는 네비게이션 프로그램을 이용할 때나 그 밖에 사용자의 현재 위치가 필요할 경우에, GPS 칩(125)을 이용하여 사용자 위치를 산출할 수 있다.
통신부(130)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 통신부(130)는 와이파이칩(131), 블루투스 칩(132), 무선 통신 칩(133), NFC 칩(134) 중 적어도 하나를 포함할 수 있다. 제어부(170)는 통신부(130)를 이용하여 각종 외부 기기와 통신을 수행할 수 있다.
와이파이 칩(131), 블루투스 칩(132)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행할 수 있다. 와이파이 칩(131)이나 블루투스 칩(132)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩(133)은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩(134)은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.
비디오 프로세서(135)는 통신부(130)를 통해 수신된 컨텐츠 또는, 메모리(120)에 저장된 컨텐츠에 포함된 비디오 데이터를 처리할 수 있다. 비디오 프로세서(135)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
오디오 프로세서(140)는 통신부(130)를 통해 수신된 컨텐츠 또는, 메모리(120)에 저장된 컨텐츠에 포함된 오디오 데이터를 처리할 수 있다. 오디오 프로세서(140)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
제어부(170)는 멀티미디어 컨텐츠에 대한 재생 프로그램이 실행되면 비디오 프로세서(135) 및 오디오 프로세서(140)를 구동시켜, 해당 컨텐츠를 재생할 수 있다. 스피커부(160)는 오디오 프로세서(140)에서 생성한 오디오 데이터를 출력할 수 있다.
사용자 입력부(145)는 사용자로부터 다양한 명령어를 입력 받을 수 있다. 사용자 입력부(145)는 키(146), 터치 패널(147) 및 펜 인식 패널(148) 중 적어도 하나를 포함할 수 있다.
키(146)는 디바이스(100B)의 본체 외관의 전면부나 측면부, 배면부 등의 다양한 영역에 형성된 기계적 버튼, 휠 등과 같은 다양한 유형의 키를 포함할 수 있다.
터치 패널(147)은 사용자의 터치 입력을 감지하고, 감지된 터치 신호에 해당하는 터치 이벤트 값을 출력할 수 있다. 터치 패널(147)이 표시 패널(111)과 결합하여 터치 스크린(미도시)을 구성한 경우, 터치 스크린은 정전식이나, 감압식, 압전식 등과 같은 다양한 유형의 터치 센서로 구현될 수 있다. 정전식은 터치 스크린 표면에 코팅된 유전체를 이용하여, 사용자의 신체 일부가 터치 스크린 표면에 터치되었을 때 사용자의 인체로 야기되는 미세 전기를 감지하여 터치 좌표를 산출하는 방식이다. 감압식은 터치 스크린에 내장된 두 개의 전극 판을 포함하여, 사용자가 화면을 터치하였을 경우, 터치된 지점의 상하 판이 접촉되어 전류가 흐르게 되는 것을 감지하여 터치 좌표를 산출하는 방식이다. 터치 스크린에서 발생하는 터치 이벤트는 주로 사람의 손가락에 의하여 생성될 수 있으나, 정전 용량 변화를 가할 수 있는 전도성 재질의 물체에 의해서도 생성될 수 있다.
펜 인식 패널(148)은 사용자의 터치용 펜(예컨대, 스타일러스 펜(stylus pen), 디지타이저 펜(digitizer pen))의 운용에 따른 펜의 근접 입력 또는 터치 입력을 감지하고 감지된 펜 근접 이벤트 또는 펜 터치 이벤트를 출력할 수 있다. 펜 인식 패널(148)은, 예로, EMR 방식으로 구현될 수 있으며, 펜의 근접 또는 터치에 의한 전자기장의 세기 변화에 따라 터치 또는 근접 입력을 감지할 수 있다. 상세하게는 펜 인식 패널(148)은 그리드 구조를 가지는 전자 유도 코일 센서(미도시)와 전자 유도 코일 센서의 각 루프 코일에 순차적으로 소정의 주파수를 가지는 교류 신호를 제공하는 전자 신호 처리부(미도시)를 포함하여 구성될 수 있다. 이러한 펜 인식 패널(148)의 루프 코일 근방에 공진회로를 내장하는 펜이 존재하면, 해당 루프 코일로부터 송신되는 자계가 펜 내의 공진회로에 상호 전자 유도에 기초한 전류를 발생시킨다. 이 전류를 기초로 하여, 펜 내의 공진 회로를 구성하는 코일로부터 유도 자계가 발생하게 되고, 펜 인식 패널(148)은 이 유도 자계를 신호 수신 상태에 있는 루프 코일에서 검출하게 되어 펜의 접근 위치 또는 터치 위치가 감지될 수 있다. 펜 인식 패널(148)은 표시 패널(111)의 하부에 일정 면적, 예를 들어, 표시 패널(111)의 표시 영역을 커버할 수 있는 면적을 가지고 마련될 수 있다.
마이크부(150)는 사용자 음성이나 기타 소리를 입력 받아 오디오 데이터로 변환할 수 있다. 제어부(170)는 마이크 부(150)를 통해 입력되는 사용자 음성을 통화 동작에서 이용하거나, 오디오 데이터로 변환하여 메모리(120)에 저장할 수 있다.
촬상부(155)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬상할 수 있다. 촬상부(155)는 전면 카메라, 후면 카메라와 같이 복수 개로 구현될 수도 있다.
촬상부(155) 및 마이크부(150)가 마련된 경우, 제어부(170)는 마이크부(150)를 통해 입력되는 사용자 음성이나 촬상부(155)에 의해 인식되는 사용자 모션에 따라 제어 동작을 수행할 수도 있다. 예컨대, 디바이스(100B)는 모션 제어 모드나 음성 제어 모드로 동작할 수 있다. 모션 제어 모드로 동작하는 경우, 제어부(170)는 촬상부(155)를 활성화시켜 사용자를 촬상하고, 사용자의 모션 변화를 추적하여 그에 대응되는 제어 동작을 수행할 수 있다. 음성 제어 모드로 동작하는 경우 제어부(170)는 마이크부(150)를 통해 입력된 사용자 음성을 분석하고, 분석된 사용자 음성에 따라 제어 동작을 수행하는 음성 인식 모드로 동작할 수 있다.
움직임 감지부(165)는 디바이스(100B)의 본체 움직임을 감지할 수 있다. 디바이스(100B)는 다양한 방향으로 회전되거나 기울어질 수 있다. 이 때, 움직임 감지부(165)는 지자기 센서, 자이로 센서, 가속도 센서 등과 같은 다양한 센서들 중 적어도 하나를 이용하여 회전 방향 및 각도, 기울기 등과 같은 움직임 특성을 감지할 수 있다.
그 밖에, 도 36에 도시하지는 않았으나, 실시예에는, 디바이스(100B) 내에 USB 커넥터가 연결될 수 있는 USB 포트나, 헤드셋, 마우스, LAN 등과 같은 다양한 외부 단자와 연결하기 위한 다양한 외부 입력 포트, DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 DMB 칩, 다양한 센서 등을 더 포함할 수 있다.
전술한 디바이스(100B)의 구성 요소들의 명칭은 달라질 수 있다. 또한, 본 개시에 따른 디바이스(100B)는 전술한 구성요소들 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
도 37은 본 개시의 일 실시예에 따른 디바이스(100C)의 소프트웨어 구성을 설명하기 위한 블록도이다.
도 37을 참조하면, 메모리(120)는 디바이스(100C)의 자원을 제어하는 운영체제 및 어플리케이션의 동작을 위한 응용 프로그램 등을 저장할 수 있다. 운영체제는 커널, 미들웨어, API 등을 포함할 수 있다. 운영체제로는, 예를 들어, 안드로이드(Android), iOS, 윈도우즈(Windows), 심비안(Symbian), 타이젠(Tizen) 또는 바다(Bada) 운영 체제 등이 있을 수 있다.
커널(121)은 자원을 관리할 수 있는 디바이스 드라이버(121-1) 또는 시스템 리소스 매니저(121-2) 중 적어도 하나를 포함할 수 있다. 디바이스 드라이버(121-1)는 디바이스(100C)의 하드웨어들을 소프트웨어적으로 접근하여 제어하도록 할 수 있다. 이를 위하여, 디바이스 드라이버(121-1)는, 인터페이스와 각 하드웨어 업체가 제공하는 개별 드라이버 모듈로 구분될 수 있다. 디바이스 드라이버(121-1)는, 예로, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버 또는 IPC (inter-process communication) 드라이버 중 적어도 하나를 포함할 수 있다. 시스템 리소스 매니저(121-2)는 프로세스 관리부, 메모리 관리부 또는 파일 시스템 관리부 중 적어도 하나를 포함할 수 있다. 시스템 리소스 메니저(121-2)는 시스템 리소스의 제어, 할당 또는 회수 등의 기능을 수행할 수 있다.
미들웨어(122)는 다양한 어플리케이션들에서 공통적으로 요구되는 기능을 제공하기 위해 미리 구현해 놓은 복수의 모듈들을 포함할 수 있다. 미들웨어(122)는 어플리케이션(124)이 디바이스 내부의 자원을 효율적으로 사용할 수 있도록 API(123)를 통해 기능을 제공할 수 있다. 미들웨어(122)는, 예컨대, 어플리케이션 매니저(122-1), 윈도우 매니저(122-2), 멀티미디어 매니저(122-3), 리소스 매니저(122-4), 파워 매니저(122-5), 데이터베이스 매니저(122-6), 패키지 매니저(122-7), 연결 매니저(122-8), 통지 매니저(122-9), 위치 매니저(122-10), 그래픽 매니저(122-11) 또는 보안 매니저(122-12) 등의 복수의 모듈들 중 적어도 하나 이상을 포함할 수 있다.
어플리케이션 매니저(122-1)는 어플리케이션(124) 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저(122-2)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(122-3)는 다양한 미디어 파일들의 재생에 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저(122-4)는 어플리케이션(124) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다. 파워 매니저(122-5)는 바이오스(BIOS) 등과 함께 동작하여 배터리(battery) 또는 전원을 관리하고, 동작에 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저(122-6)는 어플리케이션(124) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색 또는 변경할 수 있도록 관리할 수 있다. 패키지 매니저(122-7)은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다. 연결 매니저(122-8)는, 예로, WiFi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저(122-9)는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저(122-10)는 디바이스(100C)의 위치 정보를 관리할 수 있다. 그래픽 매니저(122-11)는 사용자에게 제공될 그래픽 효과 및 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(122-12)는 시스템 보안 또는 사용자 인증 등에 요구되는 제반 보안 기능을 제공할 수 있다. 디바이스(100C)가 전화 기능을 구비한 경우에는, 미들웨어(122)는 사용자의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(미도시)를 더 포함할 수 있다.
미들웨어(122)는 런타임 라이브러리(122-13) 또는 다른 라이브러리 모듈들(미도시)를 더 포함할 수 있다. 런타임 라이브러리(122-13)는 어플리케이션이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈이다. 예컨대, 런타임 라이브러리(122-13)는 입출력, 메모리 관리 또는 산술 함수에 대한 기능 등을 수행할 수 있다. 미들웨어(122)는 전술한 내부 구성요소 모듈들의 다양한 기능 조합을 통해 새로운 미들웨어 모듈을 생성하여 사용할 수 있다. 미들웨어(122)는 차별화된 기능을 제공하기 위해 운영체제의 종류별로 특화된 모듈을 제공할 수 있다. 미들웨어(122)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 본 개시의 실시 예에 기재된 구성요소를 일부 생략하거나 다른 구성요소를 더 구비하거나, 또는 유사한 기능을 수행하는 다른 명칭을 갖는 구성요소로 대체할 수 있다.
API(123)는 API 프로그래밍 함수들의 집합으로써 운영체제에 따라 다른 구성으로 제공될 수 있다. 안드로이드 또는 iOS의 경우, 예를 들면, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(Tizen)의 경우, 예를 들면, 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(124)은, 디폴트로 설치되어 있는 프리로드 어플리케이션(preloaded Application) 또는 사용자가 사용 과정에서 설치하여 사용할 수 있는 제 3자 어플리케이션(third party application)을 포함할 수 있다. 어플리케이션(124)은, 예를 들어, 홈 화면으로 돌아가기 위한 홈 어플리케이션(124-1), 상대방과 전화 통화를 할 수 있는 다이얼러(dialer) 어플리케이션(124-2), 전화번호로 식별되는 상대방으로부터 메시지를 수신하는 문자 메시지 어플리케이션(124-3), IM(Instant Message) 어플리케이션(124-4), 브라우저(Browser) 어플리케이션(124-5), 카메라 어플리케이션(124-6), 알람 어플리케이션(124-7), 상대방의 전화번호 또는 주소를 관리하는 폰 북(Phone-Book) 어플리케이션(124-8), 사용자의 통화 로그, 문자 메시지의 수/발신 로그 또는 부재 중 전화 로그 등을 관리하는 콜 로그 어플리케이션(124-9), 이메일(E-mail)로 식별되는 상대방으로부터 메시지를 수신하는 이메일 어플리케이션(124-10), 달력 어플리케이션(124-11), 미디어 플레이어(Media Player) 어플리케이션(124-12), 앨범 어플리케이션(124-13) 또는 시계 어플리케이션(124-14) 중 적어도 하나를 포함할 수 있다. 본 개시에 따른 소프트웨어의 전술한 구성요소들의 명칭은 운영체제의 종류에 달라질 수 있다. 또한, 본 개시에 따른 소프트웨어는 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
도 38은 본 개시의 일 실시예에 따르는 서버(800A)를 나타내는 블록도이다.
도 38을 참조하면, 서버(800A)는 키 생성부(81), 암호화부(82), 저장부(83), 송수신부(84), 키 복원부(85) 및 복호화부(86)를 포함할 수 있다. 서버(800A)는 복수의 디바이스들을 포함하는 보안 그룹이 가상 공간에서 공유 가능한 콘텐트를 암호화할 수 있고, 암호화된 콘텐트를 복호화할 수 있다.
서버(800A)는 도 26의 서버(800)에 적용될 수 있다. 또한, 서버(800A)는 도 1 내지 도 33을 참조하여 상술한 콘텐트 암호화 방법 및 콘텐트 복호화 방법을 수행할 수 있다. 그러므로, 이하에서는, 서버(800A)에서 콘텐트 암호화 동작 및 콘텐트 복호화 동작에 대한 구체적인 설명은 생략하기로 한다.
키 생성부(81)는 소정의 콘텐트에 대한 암호화 키 및 복수의 부분 키들을 생성할 수 있다. 일 실시예에서, 비대칭 암호화 방식을 이용할 경우, 키 생성부(81)는 공개 키 및 개인 키로 구성된 키 쌍을 포함하는 암호화 키를 생성할 수 있다. 이때, 키 생성부(81)는 공개 키 또는 개인 키를 분할하여 복수의 부분 키들을 생성할 수 있다. 다른 실시예에서, 대칭 암호화 방식을 이용할 경우, 키 생성부(81)는 대칭 키를 포함하는 암호화 키를 생성할 수 있다. 이때, 키 생성부(81)는 대칭 키를 분할하여 복수의 부분 키들을 생성할 수 있다.
암호화부(82)는 생성된 암호화 키를 이용하여 콘텐트를 암호화할 수 있다. 구체적으로, 암호화부(82)는 세션 키로 콘텐트를 암호화하고, 암호화 키를 이용하여 세션 키를 암호화할 수 있다. 또한, 암호화부(82)는 생성된 복수의 부분 키들도 암호화할 수 있다. 나아가, 암호화부(82)는 복호화된 콘텐트의 재생 중에, 근접 거리 내에 위치하는 복수의 디바이스들 중 하나가 근접 거리를 벗어나는 경우 재생 중인 콘텐트를 다시 암호화할 수 있다.
일 실시예에서, 비대칭 암호화 방식을 이용할 경우, 암호화부(82)는 공개 키를 이용하여 콘텐트를 암호화할 수 있다. 구체적으로, 암호화부(82)는 세션 키로 콘텐트를 암호화하고, 공개 키를 이용하여 세션 키를 암호화할 수 있다. 다른 실시예에서, 대칭 암호화 방식을 이용할 경우, 암호화부(82)는 대칭 키를 이용하여 콘텐트를 암호화할 수 있다. 구체적으로, 암호화부(82)는 세션 키로 콘텐트를 암호화하고, 대칭 키를 이용하여 세션 키를 암호화할 수 있다.
저장부(83)는 암호화된 콘텐트 및 복호화된 콘텐트 중 적어도 하나를 저장할 수 있다. 또한, 저장부(83)는 암호화 키 및 부분 키 중 적어도 하나를 더 저장할 수 있다. 일 실시예에서, 저장부(83)는 트러스트존(Trust zone)과 같은 보안 구역으로 구현될 수 있으며, 이때, 암호화부(82)에서 콘텐트가 암호화된 이후에, 암호화 키는 삭제될 수 있다.
송수신부(84)는 복수의 디바이스들 중 적어도 하나로부터 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는 것을 알려주는 감지 신호를 수신할 수 있다. 또한, 송수신부(84)는 키 생성부(81)에서 생성된 복수의 부분 키들을 복수의 디바이스들 중 나머지 디바이스들에 각각 전송할 수 있다. 다른 실시예에서, 송수신부(84)는 암호화부(82)에서 암호화된 복수의 부분 키들을 복수의 디바이스들 중 나머지 디바이스들에 각각 전송할 수 있다. 또한, 송수신부(84)는 저장부(83)에 저장된 암호화된 컨텐트를 복수의 디바이스들 중 적어도 하나의 나머지 디바이스에 전송할 수 있다.
키 복원부(85)는 송수신부(84)로부터 감지 신호를 수신한 경우, 즉, 보안 그룹에 포함된 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 근접 거리 내에 위치하는 경우, 임계 개수 이상의 디바이스들에 각각 저장된 복수의 부분 키들로부터 복호화 키를 복원할 수 있다. 여기서, 복호화 키는 키 생성부(81)에서 생성된 암호화 키에 대응될 수 있다.
복호화부(86)는 복원된 복호화 키를 이용하여 암호화된 콘텐트를 복호화할 수 있다. 일 실시예에서, 복호화부(86)는 복원된 복호화 키로, 암호화된 세션 키를 복호화하고, 복호화된 세션 키로, 암호화된 콘텐트를 복호화할 수 있다. 또한, 암호화된 콘텐트를 복호화한 이후에, 복호화 키 및 복호화된 콘텐트 중 적어도 하나는 삭제될 수 있다.
본 실시예에서, 근접 거리 내에 위치하는 복수의 디바이스들 중 적어도 하나가 근접 거리를 벗어나는 경우, 키 복원부(85) 및 복호화부(86) 중 적어도 하나는 동작을 중단하고, 암호화부(82)는 복호화된 콘텐트를 다시 암호화할 수 있다.
본 실시예에 따른 키 생성부(81), 암호화부(82), 키 복원부(85) 및 복호화부(86)는 복수의 프로그램들로 각각 구현되어, 서버 내의 메모리에 각각 저장될 수 있고, 서버 내의 제어부가 상기 메모리에 액세스하여 키 생성 동작, 암호화 동작, 키 복원 동작 및 복호화 동작을 실행할 수 있다. 또한, 본 실시예에 따른 저장부(83)는 서버 내의 메모리의 일부 영역으로 구현될 수 있다. 나아가, 본 실시예에 따른 송수신부(84)는 서버 내의 통신부의 일부로 구현될 수 있다. 따라서, 이하에서는, 도 39를 참조하여 서버의 하드웨어 구현 예에 대해 상술하기로 한다.
도 39는 본 개시의 일 실시예에 따른 서버(800B)의 구성을 설명하기 위한 블록도이다.
도 39를 참조하면, 본 실시예에 따른 서버(800B)는 제어부(810), 메모리(820) 및 송/수신부(830)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 서버(800B)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 클라우드 서버(800B)는 구현될 수 있다. 이하 상기 구성요소들에 대해 차례로 살펴본다.
제어부(810)는, 서버(800B)의 전반적인 동작을 제어할 수 있다. 예를 들어, 저장부(810)에 저장된 프로그램들(또는 모듈들)을 실행함으로써, 디바이스로부터 수신된 적어도 하나의 컨텐트를 암호화/복호화할 수 있다. 구체적으로, 제어부(810)는, 보안 그룹에 포함된 제1 내지 제3 디바이스들이 가상 공간에 접속한 경우, 암호화 키 및 복수의 부분 키들을 생성하고, 가상 공간에서 생성된 콘텐트를 암호화하도록 제어할 수 있다. 또한, 제어부(810)는 제1 내지 제3 디바이스들 모두가 암호화된 콘텐트의 복호화를 승인하는 경우, 또는, 제1 내지 제3 디바이스들 중 미리 설정된 임계치 이상의 디바이스들이 암호화된 콘텐트의 복호화를 승인하는 경우, 암호화된 부분 키들로부터 복호화 키를 복원하고, 복원된 복호화 키를 이용하여 암호화된 콘텐트를 복호화하도록 제어할 수 있다.
메모리(820)는 제어부(810)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들(예컨대, 디바이스로부터 수신된 컨텐트, 디바이스에 관한 정보, 컨텐트에 대한 분석 정보 등)을 저장할 수도 있다. 메모리(820)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, 키 생성 모듈(821), 암호화 모듈(822), 키 복원 모듈(823), 복호화 모듈(824), 확인 공개 키 DB(825), 콘텐트 공개 키 DB(826) 및 콘텐트 DB(827) 등으로 분류할 수 있다.
송/수신부(830)는, 서버(800B)와 복수의 디바이스 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 구체적으로, 송/수신부(830)는, 암호화된 콘텐트, 복호화된 콘텐트, 암호화된 부분 키들 중 적어도 하나를 복수의 디바이스들에 전송할 수 있다. 또한, 송/수신부(830)는 복수의 디바이스들 중 적어도 하나로부터 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는 것을 알려주는 감지 신호를 수신할 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.
100, 200, 300, 400, 500, 600, 700: 디바이스
800: 서버

Claims (73)

  1. 모바일 디바이스로서,
    적어도 하나의 외부 디바이스와 통신하도록 구성된 통신부; 및
    제1 부분 키 및 제2 부분 키를 포함하는 복수의 부분 키들을 생성하고, 상기 제1 부분 키를 상기 적어도 하나의 외부 디바이스에 분배하도록 상기 통신부를 제어하는 제어부; 및
    상기 제2 부분 키를 저장하는 저장부를 포함하고,
    상기 모바일 디바이스가 상기 적어도 하나의 외부 디바이스와 상호 인식 가능한 근접 거리 내에 위치하는 경우, 상기 제어부는 상기 적어도 하나의 외부 디바이스로부터 상기 제1 부분 키를 수신하도록 상기 통신부를 제어하고, 상기 제1 및 제2 부분 키들로부터 복호화 키를 복원하고, 복원된 상기 복호화 키를 이용하여, 암호화된 콘텐트를 복호화하도록 제어하고,
    상기 적어도 하나의 외부 디바이스가 상기 근접 거리를 벗어가는 경우, 상기 제어부는 복호화된 상기 콘텐트를 다시 암호화하도록 제어하는 것을 특징으로 하는 모바일 디바이스.
  2. 제1항에 있어서,
    사용자 입력부를 더 포함하고,
    상기 제어부는, 상기 사용자 입력부를 통해 상기 적어도 하나의 외부 디바이스와 상기 콘텐트를 공유하기 위한 사용자 입력이 입력되면, 상기 콘텐트를 암호화하도록 제어하는 것을 특징으로 하는 모바일 디바이스.
  3. 제2항에 있어서,
    상기 저장부는, 상기 암호화된 콘텐트를 더 저장하는 것을 특징으로 하는 모바일 디바이스.
  4. 제2항에 있어서,
    상기 제어부는, 상기 암호화된 콘텐트를 외부 서버에 저장하도록 제어하는 것을 특징으로 하는 모바일 디바이스.
  5. 제2항에 있어서,
    상기 통신부는, 상기 적어도 하나의 외부 디바이스에 상기 암호화된 콘텐트를 전송하는 것을 특징으로 하는 모바일 디바이스.
  6. 제2항에 있어서,
    상기 제어부는, 상기 콘텐트를 암호화하기 위한 암호화 키를 생성하는 것을 특징으로 하는 모바일 디바이스.
  7. 제6항에 있어서,
    상기 제어부는, 상기 복수의 부분 키들을 암호화하고, 암호화된 상기 복수의 부분 키들을 상기 적어도 하나의 외부 디바이스에 분배하도록 제어하는 것을 특징으로 하는 모바일 디바이스.
  8. 제6항에 있어서,
    상기 저장부는, 상기 암호화 키를 더 저장하는 것을 특징으로 하는 모바일 디바이스.
  9. 제6항에 있어서,
    상기 제어부는, 상기 적어도 하나의 외부 디바이스가 상기 근접 거리 내에 위치하는 경우, 상기 적어도 하나의 디바이스에 분배된 상기 복수의 부분 키들로부터 상기 암호화 키에 대응하는 상기 복호화 키를 복원하고, 복원된 상기 복호화 키를 이용하여 상기 암호화된 콘텐트를 복호화하도록 제어하는 것을 특징으로 하는 모바일 디바이스.
  10. 제9항에 있어서,
    상기 제어부는, 상기 적어도 하나의 외부 디바이스가 상기 근접 거리를 벗어나는 경우, 상기 복호화 키의 복원 동작 및 상기 암호화된 콘텐트의 복호화 동작을 중단하는 것을 특징으로 하는 모바일 디바이스.
  11. 제1항에 있어서,
    사용자 입력부를 더 포함하고,
    상기 적어도 하나의 외부 디바이스는 제1 디바이스 및 제2 디바이스를 포함하며,
    상기 제어부는, 상기 사용자 입력부를 통해 상기 제1 및 제2 디바이스들과 상기 콘텐트를 공유하기 위한 사용자 입력이 입력되면, 상기 콘텐트를 암호화하도록 제어하고, 상기 제1 및 제2 디바이스들 중 적어도 하나가 상기 근접 거리 내에 위치하는 경우 암호화된 상기 콘텐트를 복호화하도록 제어하는 것을 특징으로 하는 모바일 디바이스.
  12. 제1항에 있어서,
    상기 통신부는, 상기 모바일 디바이스가 상기 적어도 하나의 외부 디바이스와 상기 근접 거리 내에 위치하는지 여부를 판단하는 NFC 칩, 블루투스 칩, 와이파이 칩 및 지그비 칩 중 적어도 하나를 포함하는 근거리 무선 통신 모듈을 포함하는 것을 특징으로 하는 모바일 디바이스.
  13. 제1항에 있어서,
    상기 모바일 디바이스가 상기 적어도 하나의 외부 디바이스와 상기 근접 거리 내에 위치하는지 여부를 판단하는 터치 센서 및 근접 센서 중 적어도 하나를 포함하는 감지부를 더 포함하는 것을 특징으로 하는 모바일 디바이스.
  14. 제1항에 있어서,
    디스플레이부 및 스피커부 중 적어도 하나를 더 포함하고,
    상기 제어부는, 복호화된 상기 콘텐트를 상기 디스플레이부 및 상기 스피커부 중 적어도 하나에 출력하도록 제어하는 것을 특징으로 하는 모바일 디바이스.
  15. 복수의 디바이스들을 포함하는 보안 그룹 내에서 콘텐트를 공유하는 방법으로서,
    복수의 부분 키들을 생성하는 단계;
    상기 복수의 부분 키들을 상기 복수의 디바이스들에 분배하는 단계;
    상기 복수의 디바이스들 중 임계 개수 이상의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는지 여부를 판단하는 단계;
    상기 임계 개수 이상의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는 경우, 상기 복수의 디바이스들로부터 상기 복수의 부분 키들을 수신하고, 상기 복수의 부분 키들로부터 복호화 키를 복원하고, 복원된 상기 복호화 키를 이용하여, 상기 복수의 디바이스들에서 공유된 암호화된 콘텐트를 복호화하는 단계; 및
    상기 근접 거리 내에 위치하는 상기 디바이스들 중 적어도 하나가 상기 근접 거리를 벗어나는 경우, 복호화된 상기 콘텐트를 다시 암호화하는 단계를 포함하는 방법.
  16. 제15항에 있어서,
    상기 복수의 디바이스들에서 상기 콘텐트를 공유하기 위한 사용자 입력이 입력되면, 상기 콘텐트를 암호화하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제16항에 있어서,
    상기 복수의 디바이스들 중 적어도 하나에 상기 암호화된 콘텐트를 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 제16항에 있어서,
    외부 서버에 상기 암호화된 콘텐트를 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  19. 제16항에 있어서,
    상기 암호화하는 단계는,
    상기 콘텐트를 암호화하기 위한 암호화 키를 생성하는 단계; 및
    상기 암호화 키를 이용하여 상기 콘텐트를 암호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  20. 제19항에 있어서,
    상기 암호화하는 단계는, 상기 복수의 부분 키들을 암호화하는 단계를 더 포함하고,
    상기 분배하는 단계는, 암호화된 상기 복수의 부분 키들을 상기 복수의 디바이스들에 분배하는 것을 특징으로 하는 방법.
  21. 제20항에 있어서,
    상기 암호화 키 및 상기 분배된 부분 키 중 적어도 하나를 상기 복수의 디바이스들 중 적어도 하나의 보안 구역에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  22. 제19항에 있어서,
    상기 암호화된 콘텐트를 복호화하는 단계는,
    상기 임계 개수 이상의 디바이스들이 상호 인식 가능한 근접 거리 내에 위치하는 경우, 상기 복수의 디바이스들에 분배된 상기 복수의 부분 키들로부터 상기 암호화 키에 대응하는 상기 복호화 키를 복원하는 단계; 및
    복원된 상기 복호화 키를 이용하여 상기 암호화된 콘텐트를 복호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  23. 제22항에 있어서,
    상기 근접 거리 내에 위치하는 상기 디바이스들 중 적어도 하나가 상기 근접 거리를 벗어나는 경우, 상기 복호화 키를 복원하는 단계 및 상기 암호화된 콘텐트를 복호화하는 단계는 중단되는 것을 특징으로 하는 방법.
  24. 제15항에 있어서,
    상기 근접 거리 내에 위치하는지 여부를 판단하는 단계는, NFC 칩, 블루투스 칩, 와이파이 칩 및 지그비 칩 중 적어도 하나를 포함하는 근거리 무선 통신 모듈을 통해 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단하는 것을 특징으로 하는 방법.
  25. 제15항에 있어서,
    상기 근접 거리 내에 위치하는지 여부를 판단하는 단계는, 터치 센서 및 근접 센서 중 적어도 하나를 통해 상기 복수의 디바이스들이 상기 근접 거리 내에 위치하는지 여부를 판단하는 것을 특징으로 하는 방법.
  26. 제15항 내지 제25항 중 어느 한 항의 콘텐트 공유 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
KR1020140052974A 2014-04-25 2014-04-30 콘텐트의 암호화 및 복호화 방법 KR102154737B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP15165030.6A EP2937802B1 (en) 2014-04-25 2015-04-24 Mobile device and method of sharing content
CN201580022041.3A CN106464973B (zh) 2014-04-25 2015-04-27 共享内容的移动设备及方法
US14/696,895 US10171994B2 (en) 2014-04-25 2015-04-27 Mobile device and method of sharing content
PCT/KR2015/004138 WO2015163735A1 (en) 2014-04-25 2015-04-27 Mobile device and method of sharing content

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461984229P 2014-04-25 2014-04-25
US61/984,229 2014-04-25

Publications (2)

Publication Number Publication Date
KR20150123672A KR20150123672A (ko) 2015-11-04
KR102154737B1 true KR102154737B1 (ko) 2020-09-11

Family

ID=54600129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140052974A KR102154737B1 (ko) 2014-04-25 2014-04-30 콘텐트의 암호화 및 복호화 방법

Country Status (2)

Country Link
KR (1) KR102154737B1 (ko)
CN (1) CN106464973B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180081390A (ko) * 2017-01-06 2018-07-16 삼성전자주식회사 전자 장치 및 그 동작방법
US11563567B2 (en) 2017-09-27 2023-01-24 Visa International Service Association Secure shared key establishment for peer to peer communications
KR102142955B1 (ko) * 2019-01-18 2020-08-11 주식회사 블록체인컴퍼니 개인키 관리 방법
CN109933974B (zh) * 2019-02-14 2024-06-18 平安科技(深圳)有限公司 密码初始化方法、装置、计算机设备及存储介质
KR102377987B1 (ko) * 2020-04-03 2022-03-22 디지파이낸스(영업소) 분실된 개인 키를 복원하는 시스템
US20220224530A1 (en) * 2019-05-21 2022-07-14 Digifiance Pte. Ltd. System for restoring lost private key
CN112307488A (zh) * 2019-07-31 2021-02-02 华为技术有限公司 一种认证凭据保护方法和系统
WO2021018306A1 (zh) * 2019-07-31 2021-02-04 华为技术有限公司 一种认证凭据保护方法和系统
CN111290884A (zh) * 2020-02-19 2020-06-16 浙江口碑网络技术有限公司 收银设备的数据备份方法及装置
CN111967033B (zh) * 2020-08-28 2024-04-05 深圳康佳电子科技有限公司 基于人脸识别的图片加密方法、装置、终端及存储介质
US11502830B2 (en) 2020-10-12 2022-11-15 Kyndryl, Inc. Ultrasound split key transmission for enhanced security

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110293093A1 (en) * 2010-06-01 2011-12-01 Rogers Communications Inc. Method and system for identity-based key management
WO2014036689A1 (en) * 2012-09-04 2014-03-13 Nokia Corporation Methods and apparatuses for location-based access management

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636968B1 (en) * 1999-03-25 2003-10-21 Koninklijke Philips Electronics N.V. Multi-node encryption and key delivery
US7257844B2 (en) * 2001-07-31 2007-08-14 Marvell International Ltd. System and method for enhanced piracy protection in a wireless personal communication device
JP2005051558A (ja) * 2003-07-29 2005-02-24 Matsushita Electric Ind Co Ltd 送信装置、受信装置、及び送受信システム
EP2834768B1 (en) * 2012-04-06 2018-05-09 Security First Corp. Systems and methods for securing and restoring virtual machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110293093A1 (en) * 2010-06-01 2011-12-01 Rogers Communications Inc. Method and system for identity-based key management
WO2014036689A1 (en) * 2012-09-04 2014-03-13 Nokia Corporation Methods and apparatuses for location-based access management

Also Published As

Publication number Publication date
CN106464973B (zh) 2020-01-17
CN106464973A (zh) 2017-02-22
KR20150123672A (ko) 2015-11-04

Similar Documents

Publication Publication Date Title
EP2937802B1 (en) Mobile device and method of sharing content
KR102154737B1 (ko) 콘텐트의 암호화 및 복호화 방법
US9781123B2 (en) Methods of providing social network service and server performing the same
CN108595970B (zh) 处理组件的配置方法、装置、终端及存储介质
US10671264B2 (en) Image display and interaction using a mobile device
US11669465B1 (en) Secure storage of data through a multifaceted security scheme
US10586063B2 (en) Method and apparatus for storing file by using a plurality of cloud storages
US20220156391A1 (en) File access right authentication method and electronic device
CN108964903B (zh) 密码存储方法及装置
CN110290146B (zh) 分享口令的生成方法、装置、服务器及存储介质
US20160253519A1 (en) Apparatus and method for trusted execution environment file protection
US9182889B1 (en) Preventing unintentional user activation of user interface elements
KR102428374B1 (ko) 소셜 네트워크 서비스의 제공 방법 및 그를 위한 서버
WO2020125134A1 (zh) 自定义模型防篡改方法、装置、终端设备及存储介质
KR102209840B1 (ko) 가상화 서비스 제공 장치 및 그 방법
KR20160101542A (ko) 복수의 사용자의 활동에 기초하여 콘텐트를 추천하는 방법 및 이를 위한 장치
US10592099B2 (en) Device and method of controlling the device
CN110826103B (zh) 基于区块链的文档权限处理方法、装置、设备及存储介质
US20140258734A1 (en) Data security method and electronic device implementing the same
CN107959727B (zh) 网页与客户端之间进行通讯的方法及装置
US9911009B2 (en) Device and method for providing safety of data by using multiple modes in device
US20160182952A1 (en) Protected Media Decoding System Supporting Metadata
KR102480414B1 (ko) 복수개의 클라우드 스토리지를 이용한 파일 저장 방법 및 이를 위한 장치
EP3284001B1 (en) Device and method of requesting external device to execute task
KR102657388B1 (ko) 암호화될 데이터의 정보량에 기반하여 암호화에 사용될 키를 선택하는 전자 장치 및 전자 장치의 동작 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right