KR101590270B1 - 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더 - Google Patents

중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더 Download PDF

Info

Publication number
KR101590270B1
KR101590270B1 KR1020140162859A KR20140162859A KR101590270B1 KR 101590270 B1 KR101590270 B1 KR 101590270B1 KR 1020140162859 A KR1020140162859 A KR 1020140162859A KR 20140162859 A KR20140162859 A KR 20140162859A KR 101590270 B1 KR101590270 B1 KR 101590270B1
Authority
KR
South Korea
Prior art keywords
data
key
user
ownership group
encryption
Prior art date
Application number
KR1020140162859A
Other languages
English (en)
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 KR1020140162859A priority Critical patent/KR101590270B1/ko
Application granted granted Critical
Publication of KR101590270B1 publication Critical patent/KR101590270B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더가 개시된다. 개시된 클라우드 서비스 프로바이더는 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더에 있어서, 암호화된 데이터 M i 의 소유권자인 소유권 그룹 G i 에 대한 소유권 그룹 키 GK i 를 생성하는 소유권 그룹 키 생성부; 및 상기 소유권 그룹 키 GK i 를 이용하여 상기 암호화된 데이터 M i 를 재암호화한 암호문
Figure 112014112170911-pat00089
을 생성하는 암호화부;를 포함하는 클라우드 서버; 및 상기 암호문
Figure 112014112170911-pat00090
를 저장하는 클라우드 저장소;를 포함한다.

Description

중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더{Cloud service providers for storing data deduplication}
본 발명의 실시예들은 클라우드 서비스 프로바이더에 관한 것으로서, 더욱 상세하게는, 정당한 사용자에게만 데이터에 대한 접근 권한을 허용하면서 중복 제거를 통해 하나의 데이터를 저장할 수 있는 클라우드 서비스 프로바이더에 관한 것이다.
클라우드 서비스는 개인이 가진 단말기를 통해서는 주로 입/출력 작업만 이루어지고, 정보분석 및 처리, 저장, 관리, 유통 등의 동작은 클라우드(cloud)라고 불리는 제3의 공간에서 이루어지는 컴퓨팅 시스템 형태를 의미한다. 특히, 클라우드 서비스는 사용자로부터 수신된 데이터를 클라우드 시스템에 업로드하여 저장하고, 이 후 저장된 데이터를 사용자로부터 다운로드받은 "데이터 저장" 동작을 주로 수행하고 있다.
이 때, 복수의 사용자가 동일한 데이터를 클라우드 시스템에 저장할 수 있으므로, 클라우드 시스템에 포함하는 클라우드 서비스 프로바이더는 중복 제거(deduplication)를 통해 동일한 복수의 데이터를 하나의 데이터로 저장한다.
한편, 내부 클라우드 서버뿐만 아니라 외부 적에 대한 데이터의 프라이버시를 보호하기 위해, 사용자는 데이터를 암호화하여 클라우드 서비스 프로바이더로 전송할 수 있다. 이 때, 각 사용자는 서로 다른 사용자의 암호화 키를 사용하여 암호화를 수행하고, 암호화 키가 다른 경우 같은 데이터를 포함하고 있다 하더라도 서로 다른 파일로 인식되므로, 중복 제거가 불가능한 문제점이 있다.
따라서, 종래의 암호 기법의 문제점을 해결하기 위해, 컨버전트 암호화 기법이 제공되었다.
보다 상세하게, 메시지 소유자인 사용자는 암호화 해시 함수(H)를 이용하여 암호화된 데이터 M으로부터 암호화 키 K를 도출한다(
Figure 112014112170911-pat00001
). 그 후, 사용자는 암호화 키 K를 이용하여 메시지 M를 암호화(예를 들어, 블록 암호화(E))함으로써 암호문 C를 생성한다(
Figure 112014112170911-pat00002
). 만약, 다른 사용자가 동일한 데이터를 암호화하는 경우, 암호화 키 K가 동일하므로, 사용자가 암호화한 암호문과 다른 사용자가 암호화한 암호문은 동일하다. 따라서, 사용자의 초기 업로드 후에, 또 다른 사용자가 암호문 C를 클라우드 서비스 프로바이더에 업로드하는 경우, 클라우드 서비스 프로바이더는 암호문 C를 저장하지 않고, 추가적인 데이터의 사용자가 있음을 알리는 메타 메시지를 업데이트 한다. 따라서, 정당한 사용자는 암호문 C를 다운로드한 후, 암호화 키 K를 이용하여 복호화 과정을 수행하여 데이터를 추출할 수 있다.
요컨대, 컨버전트 암호화 기법은 데이터 M으로부터 추출한 암호화 키 K를 이용하여 데이터를 암호화하므로, 중복 제거가 가능한 장점이 있다.
그러나, 클라우드 서비스 프로바이더에 데이터 M를 저장한 사용자들 중 어느 한 제1 사용자가 데이터 M를 클라우드 시스템에서 삭제하는 경우, 제1 사용자는 접근 키를 보유할 수 있으므로, 데이터 M에 접근하여 다운로드할 수 있는 문제가 있다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 정당한 사용자에게만 데이터에 대한 접근 권한을 허용하면서 중복 제거를 통해 하나의 데이터를 저장할 수 있는 클라우드 서비스 프로바이더를 제안하고자 한다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더에 있어서, 암호화된 데이터 M i 의 소유권자인 소유권 그룹 G i 에 대한 소유권 그룹 키 GK i 를 생성하는 소유권 그룹 키 생성부; 및 상기 소유권 그룹 키 GK i 를 이용하여 상기 암호화된 데이터 M i 를 재암호화한 암호문
Figure 112014112170911-pat00003
을 생성하는 암호화부;를 포함하는 클라우드 서버; 및 상기 암호문
Figure 112014112170911-pat00004
를 저장하는 클라우드 저장소;를 포함하는 것을 특징으로 하는 클라우드 서비스 프로바이더가 제공된다.
상기 클라우드 서버는 통신부;를 더 포함하되, 상기 암호화된 데이터 M i 의 소유권자인 사용자는, 랜덤 데이터 암호화 키 L를 이용하여 암호화한 데이터 M i 와 대응되는 암호문
Figure 112014112170911-pat00005
및 상기 랜덤 데이터 암호화 키 L와 데이터 M i 부터 추출한 암호키 K i 을 이용하여 생성된 암호문
Figure 112014112170911-pat00006
를 상기 클라우드 서버의 통신부로 전송하고, 상기 랜덤 데이터 암호화 키 L 및 상기 암호화한 데이터 M i 는 저장하지 않고, 상기 암호키 K i 를 저장할 수 있다.
상기 클라우드 서버는, 상기 데이터 M i 의 소유권 그룹 G i 에 속하는 사용자를 식별할 수 있는 식별자인 키암호키 KEK를 하나 이상 생성하는 키암호키 생성부;를 포함하되, 상기 통신부는 상기 하나 이상의 키암호키 KEK를 상기 소유권 그룹 G i 에 속하는 사용자에게 전송하고, 상기 암호화부는 상기 키암호키 KEK를 이용하여 상기 소유권 그룹 키 GK i 를 암호화한 암호문
Figure 112014112170911-pat00007
를 생성하되, 상기 통신부가 상기 소유권 그룹에 속하는 사용자 중 어느 하나의 사용자를 통해 상기 데이터 M i 에 대한 접근 요청을 수신하는 경우, 상기 암호문
Figure 112014112170911-pat00008
, 상기 암호문
Figure 112014112170911-pat00009
및 상기 암호문
Figure 112014112170911-pat00010
를 상기 어느 하나의 사용자로 전송할 수 있다.
상기 어느 하나의 사용자는, 상기 수신된 어느 하나의 사용자의 키암호키 KEK를 이용하여 상기 암호문
Figure 112014112170911-pat00011
를 복호화하여 상기 소유권 그룹 키 GK i 를 복원하고, 상기 소유권 그룹 키 GK i 를 이용하여 상기 암호문
Figure 112014112170911-pat00012
를 복호화하여 상기 암호문
Figure 112014112170911-pat00013
을 복원하고, 상기 저장된 암호키 K i 와 상기 암호문
Figure 112014112170911-pat00014
를 이용하여 상기 랜덤 데이터 암호화 키 L를 복원하고, 상기 랜덤 데이터 암호화 키 L를 이용하여 상기 암호문
Figure 112014112170911-pat00015
을 복호화하여 상기 데이터 M i 을 복원할 수 있다.
상기 소유권 그룹 G i 는 상기 데이터 M i 의 소유권자인 사용자가 추가 및 삭제될 때마다 갱신될 수 있다.
본 발명에 따른 클라우드 서비스 프로바이더는 정당한 사용자에게만 데이터에 대한 접근 권한을 허용하면서 중복 제거를 통해 하나의 데이터를 저장할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 클라우드 시스템의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 클라우드 서비스 프로바이더(120)의 개략적인 구성을 도시한 도면이다.
도 3는 본 발명의 일 실시예에 따른 클라우드 서버(122)의 동작의 흐름도를 도시한 도면이다.
도 4는 본 바이너리 KEK 트리를 이용하여 키암호키 KEK를 생성하는 개념을 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 시스템의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 클라우드 시스템(100)은 복수의 사용자(110) 및 클라우드 서비스 프로바이더(120)를 포함한다.
복수의 사용자(110)는은 자신이 소유하고 있는 데이터를 클라우드 서비스 프로바이더(120)로 업로드하며, 클라우드 서비스 프로바이더(120)는 해당 데이터를 관리하여 저장한다. 여기서, 클라우드 서비스 프로바이더(120)는 클라우드 저장소(121) 및 클라우드 서버(122)를 포함할 수 있다. 클라우드 저장소(121)는 복수의 사용자(110)로부터 수신된 데이터를 포함하는 파일, 즉 암호문을 저장한다. 그리고, 클라우드 서버(122)는 데이터의 저장을 관리 및 유지한다.
그리고, 어느 한 사용자(110)가 데이터를 다운로드 받기를 원하는 경우, 클라우드 서비스 프로바이더(120)는 어느 한 사용자(110)에게로 해당 데이터를 전송한다.
도 2는 본 발명의 일 실시예에 따른 클라우드 서버(122)의 개략적인 구성을 도시한 도면이다. 도 2를 참조하면, 클라우드 서버(122)는 통신부(1221), 소유권 그룹 키 생성부(1222), 암호화부(1223) 및 키암호키 생성부(1224)를 포함한다.
도 3는 본 발명의 일 실시예에 따른 클라우드 서버(122)의 동작의 흐름도를 도시한 도면이다.
이하, 도 2 및 도 3을 참조하여 각 구성 요소 별 기능 및 각 단계별로 수행되는 과정을 상세하게 설명한다.
먼저, 단계(310)에서, 통신부(1221)는 복수의 사용자(110) 중 사용자 u t 부터로 암호화된 데이터 M i 를 수신한다.
즉, 암호화된 데이터 M i 의 소유권자인 사용자 u t 는, 랜덤 데이터 암호화 키 L를 이용하여 암호화한 데이터 M i 와 대응되는 암호문
Figure 112014112170911-pat00016
및 랜덤 데이터 암호화 키 L와 데이터 M i 부터 추출한 암호키 K i 을 이용하여 생성된 암호문
Figure 112014112170911-pat00017
를 통신부(1221)로 전송할 수 있다. 이 때, 사용자 u t 는, 랜덤 데이터 암호화 키 L 및 암호화한 데이터 M i 는 저장하지 않고, 암호키 K i 를 저장할 수 있다.
이에 대해 상세하게 살펴보면 다음과 같다.
데이터 소유자인 사용자 u t 가 클라우드 저장소(121)로 데이터 M i 를 업로드 하고자 하는 경우, 사용자 u t 는 데이터 M i 로부터 추출한 암호키 K i 를 이용하여 데이터 M i 를 암호화한다.
본 발명의 일 실시예에 따르면, 사용자 u t 는 알고리즘 Encrypt(Mi , 1λ)를 수행하여 데이터 M i 를 암호화할 수 있다. 여기서, λ는 파라미터(Secure Parameter)를 나타내고, 1λ는 보안 파라미터에 대한 문자열(string)를 나타낸다.
보다 상세하게, 사용자 u t 는 랜덤 데이터 암호화 키 L(
Figure 112014112170911-pat00018
)를 선택한다. 이 때, k(λ)는 보안 파라미터 λ 하에서 암호화 키의 크기를 결정하는 함수이다.
또한, 사용자 u t 는 암호화 해쉬 함수를 이용하여, 데이터 M i 로부터 암호키 K i 를 생성하고(
Figure 112014112170911-pat00019
). 암호키 K i 로부터 데이터 M i 에 대한 인덱스 정보인 태그 T i 를 생성한다(
Figure 112014112170911-pat00020
).
그리고, 사용자 u t 는 랜덤 데이터 암호화 키 L를 이용하여 데이터 M i 를 암호화한 암호문
Figure 112014112170911-pat00021
를 생성하고(
Figure 112014112170911-pat00022
), 랜덤 데이터 암호화 키 L와 암호키 K i 를 이용하여 암호문
Figure 112014112170911-pat00023
를 생성한다(
Figure 112014112170911-pat00024
). 그리고, 사용자 u t 는 암호문
Figure 112014112170911-pat00025
와 암호문
Figure 112014112170911-pat00026
를 연결(concatenation)하여 암호문 C i 를 생성한다(
Figure 112014112170911-pat00027
).
C i 의 생성이 완료된 후, 사용자 u t 는 클라우드 저장소로
Figure 112014112170911-pat00028
를 전송한다. 여기서, ID t 는 사용자의 식별정보를 의미한다. 그 후, 사용자 u t M i 를 삭제하고, 저장소의 절약을 위해 태그 T i 와 암호키 K i 만을 저장한다.
한편, 클라우드 서버(122)가
Figure 112014112170911-pat00029
를 수신하는 경우에 있어, 사용자 u t 가 데이터 M i 의 첫번째 업로더인 경우, 즉 사용자 u t 가 이니셜 업로더인 경우, 클라우드 서버(122)는 데이터 M i 의 소유권 그룹 G i ID t 를 추가하고, 데이터 M i 에 대한 소유권 리스트 L i 를 생성하며(
Figure 112014112170911-pat00030
), 클라우드 저장소(121)에
Figure 112014112170911-pat00031
를 저장한다. 만약, 소유권 리스트 L i 가 이미 존재하는 경우, 즉 사용자 u t 가 서브시퀀스 업로더인 경우, 클라우드 서버(122)는 클라우드 저장소(121)에
Figure 112014112170911-pat00032
를 저장하지 않고, 소유권 그룹 G i 에 사용자의 식별정보 ID t 를 삽입한다.
다음으로, 단계(320)에서, 소유권 그룹 키 생성부(1222)는 암호화된 데이터 M i 의 소유권자인 소유권 그룹 G i 에 대한 소유권 그룹 키 GK i 를 생성한다.
계속하여, 단계(330)에서, 암호화부(1223)는 소유권 그룹 키 GK i 를 이용하여 암호화된 데이터 M i (즉,
Figure 112014112170911-pat00033
)를 재암호화한 암호문
Figure 112014112170911-pat00034
을 생성한다(
Figure 112014112170911-pat00035
). 암호문
Figure 112014112170911-pat00036
는 클라우드 저장소(121)에 저장된다.
그 후, 단계(340)에서, 키암호키 생성부(1224)는 데이터 M i 의 소유권 그룹 G i 에 속하는 사용자를 식별할 수 있는 식별자인 키암호키 KEK(Key Encryption Key)를 하나 이상 생성하고, 통신부(1221)는 하나 이상의 키암호키 KEK를 소유권 그룹 G i 에 속하는 사용자에게 전송한다. 이에 대해 보다 상세하게 설명하면 다음과 같다. 이 때, 소유권 그룹 G i 는 데이터 M i 의 소유권자인 사용자가 추가 및 삭제될 때마다 갱신될 수 있다.
본 발명의 일 실시예에 따르면, 키암호키 생성부(1224)는 알고리즘 KEKGen(U)를 수행하여 정당한 사용자 세트 U에 대해 키암호키 KEK를 생성할 수 있다. 여기서, 키암호키 KEK는 데이터 재 암호화 단계에서 소유권 그룹 키 GK i 를 암호화하는데 이용될 수 있다. 이 때, 하나의 이상의 키암호키의 개수는 소유권 그룹 G i 에 속하는 사용자의 개수의 이하일 수 있다.
본 발명의 일 실시예에 따르면, 키암호키 생성부(1224)는 도 4에 도시된 바이너리 KEK 트리를 이용하여 키암호키 KEK를 생성할 수 있다.
보다 상세하게, 키암호키 생성부(1224)는 모든 사용자 세트
Figure 112014112170911-pat00037
을 대상으로 바이너리 KEK 트리를 생성한다. 이 때, 바이너리 KEK 트리는 정당한 사용자 세트 U에 속하는 사용자들에게 소유권 그룹 키 GK i 를 배포 내지 공유하는데 이용될 수 있다.
그리고, 바이너리 KEK 트리 내의 각각의 노드 υj대응되는 키암호키 즉, KEK j 를 가지고 있다. 이 때, 사용자는 바이너리 KEK 트리 구조 안에서 잎 노드(leaf)로 표현되되, 루트로부터 잎 노드까지의 경로 노드의 KEK들인 패스 키(PK: Path Key)를 저장한다. 예를 들어, 사용자 u 2 KEK 9 , KEK 4 , KEK 2 KEK 1 를 저장할 수 있으며, 이는 패스 키 PK 2 로 표현된다. 즉, 사용자 u t 는 패스 키 PK t 를 가진다.
이 때, 소유권 그룹 G i 에 속하는 사용자와 연관된 잎 노드의 전부를 커버할 수 있는 바이너리 KEK 트리의 최소 커버 세트의 루트 노드들(root nodes of the minimum cover sets), 즉 KEK( G i )을 선택하고, 상기 루트 노드들에 대응되는 키암호키가 상기의 하나의 이상의 키암호키 KEK가 된다. 예를 들어, 소유권 그룹 G i
Figure 112014112170911-pat00038
인 경우, υ2와 υ7이 소유권 그룹 G i 내의 사용자들을 모두 포함할 수 있는 최소 커버 세트의 루트 노드들이므로,
Figure 112014112170911-pat00039
가 선택된다.
계속하여, 단계(350)에서, 암호화부(1223)는 키암호키 KEK를 이용하여 소유권 그룹 키 GK i 를 암호화한 암호문
Figure 112014112170911-pat00040
을 생성한다(
Figure 112014112170911-pat00041
). 여기서, 암호문
Figure 112014112170911-pat00042
는 정당한 소유자에게 소유권 그룹 키를 전달하기 위해 이용된다.
그 후, 단계(360)에서, 통신부(1221)는 소유권 그룹에 속하는 사용자 중 어느 하나의 사용자 u j 를 통해 데이터 M i 에 대한 접근 요청을 수신한다.
그 후, 단계(370)에서, 통신부(1221)는 암호문
Figure 112014112170911-pat00043
, 암호문
Figure 112014112170911-pat00044
(단계(310)에서 수신) 및 암호문
Figure 112014112170911-pat00045
를 상기 어느 하나의 사용자 u j 로 전송한다.
즉, 소유권 그룹 G i 에 속하는 사용자 u j 가 데이터 M i 에 대한 요청 쿼리
Figure 112014112170911-pat00046
를 수신하는 경우, 클라우드 서버(122)는 소유권 리스트 L i 를 검색하고, 사용자 u j 에게 데이터 M i 에 대한 응답
Figure 112014112170911-pat00047
를 전송한다. 여기서,
Figure 112014112170911-pat00048
Figure 112014112170911-pat00049
를 의미한다. 만약, 그렇지 않는 경우, 아무런 동작도 수행되지 않는다. 여기서, 전자는 사용자가 데이터를 업로드한 후 취소되지 않은 경우를 의미하며, 후자는 사용자가 데이터를 업로드하지 않거나 이 시점에서 취소되는 경우를 나타낸다.
한편, 사용자 u j 가 클라우드 서버(122)로부터 암호문을 수신하는 경우, 암호문에 대한 복호화 과정을 수행한다. 여기서, 복호화 과정는 소유권 그룹 키 복호화 과정 및 데이터 복호화 과정을 포함한다. 일례로서, 사용자 u j
Figure 112014112170911-pat00050
를 수행하여 데이터를 복호화할 수 있다. 이하, 소유권 그룹 키 복호화 과정 및 데이터 복호화 과정을 보다 상세하게 설명한다.
사용자 u j 가 데이터 M i 에 대한 요청 쿼리를 전송하고, 데이터 M i 에 대한 응답
Figure 112014112170911-pat00051
를 클라우드 서버(122)로부터 전송받은 경우, 사용자 u j T i ,
Figure 112014112170911-pat00052
,
Figure 112014112170911-pat00053
,
Figure 112014112170911-pat00054
에 대한 구문 분석(parse)를 수행하고,
Figure 112014112170911-pat00055
로부터 소유권 그룹 키 GK i 를 획득한다. 만약, 사용자 u j 가 정당한 소유자인 경우, 사용자 u t 는 아래의 수학식 1을 이용하여 소유권 그룹 키 GK i 를 획득한다.
Figure 112014112170911-pat00056
그 후, 사용자 u j 는 아래의 수학식 2과 같이 암호문을 복호화하여 데이터 M i 를 획득한다.
Figure 112014112170911-pat00057
만약, 사용자 u j 에 저장되어 있는 태그 T i 와 복호화 과정에서 생성되는 태그 T i '가 동일하지 않는 경우(
Figure 112014112170911-pat00058
), 포아송 어택에 노출될 가능성이 있으므로, 사용자 u j 는 데이터를 삭제한다. 반대로, 사용자 u j 에 저장되어 있는 태그 T i 와 복호화 과정에서 생성되는 태그 T i '가 동일한 경우(
Figure 112014112170911-pat00059
), 사용자 u j 가 클라우드 서버로 전송한 데이터와 동일한 데이터인 것으로 판단한다.
정리하면, 사용자 u j 는 클라우드 서버(122)에서 수신된 어느 하나의 사용자의 키암호키 KEK를 이용하여 암호문
Figure 112014112170911-pat00060
를 복호화하여 소유권 그룹 키 GK i 를 복원하고, 소유권 그룹 키 GK i 를 이용하여 암호문
Figure 112014112170911-pat00061
를 복호화하여 암호문
Figure 112014112170911-pat00062
을 복원하고, 사용자 u j 에 저장된 암호키 K i 와 암호문
Figure 112014112170911-pat00063
를 이용하여 랜덤 데이터 암호화 키 L를 복원하고, 랜덤 데이터 암호화 키 L를 이용하여 암호문
Figure 112014112170911-pat00064
을 복호화하여 데이터 M i 을 복원할 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 클라우드 서비스 프로바이더(120)는 정당한 사용자에게만 데이터에 대한 접근 권한을 허용하면서 중복 제거를 통해 하나의 데이터를 저장할 수 있게 된다.
한편, 서브시퀀스 업로더인 사용자가 업로드한 데이터가 이니셜 업로더인 사용자가 업로드한 데이터와 동일한 경우, 대응되는 암호문은 서브시퀀스 업로더인 사용자가 backward secrecy를 통해 이전의 암호화된 데이터의 접근을 방지하기 위해 재암호화되어야 한다. 반면에, 정당한 사용자가 클라우드 서비스 프로바이더로 데이터의 삭제 또는 수정의 요청을 전송하는 경우, 정당한 사용자는 소유권 리스트에서 소유권 취소를 수행하고, forward secrecy의 요청 후에 대응되는 데이터(삭제 또는 수정되는 데이터)의 접근을 방지할 수 있다. 이에 대해 보다 상세하게 살펴보면 다음과 같다.
1. 서브시퀀스 업로드
사용자 u s 가 데이터 M i 및 이에 대응되는 소유권 리스트 L i (
Figure 112014112170911-pat00065
) 를 클라우드 저장소에 업로드 하고자 하는 경우, 암호문 C i 는 이니셜 업로더인 사용자에 의해 클라우드 저장소에 이미 저장되어 있는 것으로 가정한다.
이 경우, 사용자 u s 는 일례로, 알고리즘 Encrypt(Mi , 1λ)를 수행하여 데이터 M i 를 암호화할 수 있다. 그 후,
Figure 112014112170911-pat00066
가 구축된 후, 사용자 u s
Figure 112014112170911-pat00067
를 클라우드 서버로 전송한다. 그 후, 키 업데이트 및 재암호화 동작이 수행된다. 즉, 사용자 u s 에 저장되어 있는 태그 T i 와 복호화 과정에서 생성되는 태그 T i '가 동일한 경우(
Figure 112014112170911-pat00068
), 클라우드 서버는 소유권 그룹 G i 에 사용자 u s 의 식별정보(ID s )를 삽입한다. 그리고, 클라우드 서버는 랜덤 소유권 그룹 키를 선택하고, 재암호화 알고리즘, 일례로, backward secrecy를 보장하기 위한 업데이트된 소유권 그룹 G i 을 이용한 알고리즘
Figure 112014112170911-pat00069
를 수행한다.
2. 데이터 삭제
사용자 u i 가 데이터 M i 를 클라우드 저장소에서 삭제하고자 하는 경우, 사용자 u i 는 클라우드 서버로 삭제 요청 메시지
Figure 112014112170911-pat00070
를 전송한다. 그 후, 클라우드 서버는 아래와 같은 절차들을 수행한다.
만약, 소유권 그룹 G i 에 사용자 u i 의 식별정보(ID i )를 포함되어 있는 경우, 클라우드 서버는 소유권 그룹 G i 에서 사용자 u i 의 식별정보(ID i )를 삭제한다. 그 후, 클라우드 서버는 랜덤 소유권 그룹 키를 선택하고, 재암호화 알고리즘, 일례로, forward secrecy를 보장하기 위한 업데이트된 소유권 그룹 G i 을 이용한 알고리즘
Figure 112014112170911-pat00071
를 수행한다. 반대로, 소유권 그룹 G i 에 사용자 u i 의 식별정보(ID i )를 포함되어 있지 않는 경우, 아무런 동작도 수행되지 않는다.
3. 데이터 수정
사용자 u i 가 데이터 M i 를 데이터 M i '로 수정하고자 하는 경우, 사용자 u i 는 일례로, 알고리즘 Encrypt(Mi , 1λ)를 수행하여, 데이터 M i '를 암호화하고, 암호문 C i '를 구축하고, 이와 대응되는 태그 T i '를 생성한다. 그 후, 사용자 u i 는 데이터 수정 요청 메시지인
Figure 112014112170911-pat00072
를 클라우드 서비스 프로바이더로 전송한다. 그 후, 클라우드 서비스 프로바이더는 아래에서 설명하는 데이터 삭제 및 업로드 과정을 수행한다.
즉, 소유권 그룹 G i 에 사용자 u i 의 식별정보(ID i )를 포함되어 있는 경우, 클라우드 서비스 프로바이더는 소유권 그룹 G i 에서 사용자 u i 의 식별정보(ID i )를 삭제한다. 그 후, 클라우드 서버는 랜덤 소유권 그룹 키를 선택하고, 재암호화 알고리즘, 일례로, forward secrecy를 보장하기 위한 업데이트된 소유권 그룹 G i 을 이용한 알고리즘
Figure 112014112170911-pat00073
를 수행한다. 반대로, 소유권 그룹 G i 에 사용자 u i 의 식별정보(ID i )를 포함되어 있지 않는 경우, 아무런 동작도 수행되지 않는다(데이터 삭제 과정).
그 후, 클라우드 저장소 내에
Figure 112014112170911-pat00074
에 따른 T i '가 존재하는 경우, 클라우드 서버는 상기의 서브시퀀스 업로드의 키 업데이트 과정을 수행한다. 만약, 클라우드 저장소 내에
Figure 112014112170911-pat00075
에 따른 T i '가 존재하지 않는 경우, 클라우드 서버는 이니셜 업로드 과정을 수행한다.
또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (5)

  1. 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더에 있어서,
    암호화된 데이터 Mi 의 소유권자인 소유권 그룹 Gi 에 대한 소유권 그룹 키 GKi 를 생성하는 소유권 그룹 키 생성부; 상기 소유권 그룹 키 GKi 를 이용하여 상기 암호화된 데이터 Mi 를 재암호화한 암호문
    Figure 112015103692348-pat00095
    을 생성하는 암호화부; 및 통신부; 를 포함하는 클라우드 서버; 및
    상기 암호문
    Figure 112015103692348-pat00096
    를 저장하는 클라우드 저장소;를 포함하고,
    상기 암호화된 데이터 Mi 의 소유권자인 사용자는, 랜덤 데이터 암호화 키 L를 이용하여 암호화한 데이터 Mi 와 대응되는 암호문
    Figure 112015103692348-pat00097
    및 상기 랜덤 데이터 암호화 키 L와 데이터 Mi 부터 추출한 암호키 Ki 을 이용하여 생성된 암호문
    Figure 112015103692348-pat00098
    를 상기 클라우드 서버의 통신부로 전송하고, 상기 랜덤 데이터 암호화 키 L 및 상기 암호화한 데이터 Mi 는 저장하지 않고, 상기 암호키 Ki 를 저장하는 것을 특징으로 하는 클라우드 서비스 프로바이더.
  2. 삭제
  3. 제1항에 있어서,
    상기 클라우드 서버는, 상기 데이터 Mi 의 소유권 그룹 Gi 에 속하는 사용자를 식별할 수 있는 식별자인 키암호키 KEK를 하나 이상 생성하는 키암호키 생성부;를 포함하되, 상기 통신부는 상기 하나 이상의 키암호키 KEK를 상기 소유권 그룹 Gi 에 속하는 사용자에게 전송하고,
    상기 암호화부는 상기 키암호키 KEK를 이용하여 상기 소유권 그룹 키 GKi 를 암호화한 암호문
    Figure 112015103692348-pat00080
    를 생성하되, 상기 통신부가 상기 소유권 그룹에 속하는 사용자 중 어느 하나의 사용자를 통해 상기 데이터 Mi 에 대한 접근 요청을 수신하는 경우, 상기 암호문
    Figure 112015103692348-pat00081
    , 상기 암호문
    Figure 112015103692348-pat00082
    및 상기 암호문
    Figure 112015103692348-pat00083
    를 상기 어느 하나의 사용자로 전송하는 것을 특징으로 하는 클라우드 서비스 프로바이더.
  4. 제3항에 있어서,
    상기 어느 하나의 사용자는,
    상기 수신된 어느 하나의 사용자의 키암호키 KEK를 이용하여 상기 암호문
    Figure 112014112170911-pat00084
    를 복호화하여 상기 소유권 그룹 키 GK i 를 복원하고,
    상기 소유권 그룹 키 GK i 를 이용하여 상기 암호문
    Figure 112014112170911-pat00085
    를 복호화하여 상기 암호문
    Figure 112014112170911-pat00086
    을 복원하고, 상기 저장된 암호키 K i 와 상기 암호문
    Figure 112014112170911-pat00087
    를 이용하여 상기 랜덤 데이터 암호화 키 L를 복원하고, 상기 랜덤 데이터 암호화 키 L를 이용하여 상기 암호문
    Figure 112014112170911-pat00088
    을 복호화하여 상기 데이터 M i 을 복원하는 것을 특징으로 하는 클라우드 서비스 프로바이더.
  5. 제4항에 있어서,
    상기 소유권 그룹 G i 는 상기 데이터 M i 의 소유권자인 사용자가 추가 및 삭제될 때마다 갱신되는 것을 특징으로 하는 클라우드 서비스 프로바이더.
KR1020140162859A 2014-11-20 2014-11-20 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더 KR101590270B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140162859A KR101590270B1 (ko) 2014-11-20 2014-11-20 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140162859A KR101590270B1 (ko) 2014-11-20 2014-11-20 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더

Publications (1)

Publication Number Publication Date
KR101590270B1 true KR101590270B1 (ko) 2016-02-02

Family

ID=55354642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140162859A KR101590270B1 (ko) 2014-11-20 2014-11-20 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더

Country Status (1)

Country Link
KR (1) KR101590270B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101895895B1 (ko) 2017-03-03 2018-09-07 순천향대학교 산학협력단 데이터 중복 제거 방법 및 시스템
KR101968418B1 (ko) 2017-10-26 2019-04-11 순천향대학교 산학협력단 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Piotr K. Tysowski 외 1인, IACR Cryptology ePrint Archive, "Re-Encryption-Based Key Management Towards Secure and Scalable Mobile Applications in Clouds" (2011.01. 공개)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101895895B1 (ko) 2017-03-03 2018-09-07 순천향대학교 산학협력단 데이터 중복 제거 방법 및 시스템
KR101968418B1 (ko) 2017-10-26 2019-04-11 순천향대학교 산학협력단 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법

Similar Documents

Publication Publication Date Title
JP4958246B2 (ja) 高速検索可能な暗号化のための方法、装置およびシステム
Hur et al. Secure data deduplication with dynamic ownership management in cloud storage
US20200034550A1 (en) System and method to protect data privacy of lightweight devices using blockchain and multi-party computation
US20140143541A1 (en) Method and Apparatus for Managing Encrypted Files in Network System
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
JP6567683B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及び、プログラム
CN104780161A (zh) 一种云存储中支持多用户的可搜索加密方法
US20100169321A1 (en) Method and apparatus for ciphertext indexing and searching
KR20190018869A (ko) 블록체인 기반의 스토리지 서비스 제공 시스템 및 방법
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
CN103392178A (zh) 数据库加密系统、方法和程序
US20160112413A1 (en) Method for controlling security of cloud storage
JP6341599B2 (ja) 暗号データ更新システム、暗号データ更新方法
US10116442B2 (en) Data storage apparatus, data updating system, data processing method, and computer readable medium
KR101979267B1 (ko) 클라우드 저장 기반 암호화 시스템 및 방법
CN115225409B (zh) 基于多备份联合验证的云数据安全去重方法
CN108777685B (zh) 用于处理信息的方法和装置
CN103236934A (zh) 一种云存储安全控制的方法
CN112685753A (zh) 一种用于加密数据存储的方法及设备
CN109831405B (zh) 一种云平台上的文件保护方法及装置
JP2017044779A (ja) 検索可能暗号処理システム
KR20210058313A (ko) 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템
KR101590270B1 (ko) 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더
CN104794243B (zh) 基于文件名的第三方密文检索方法
CN105208017B (zh) 一种存储器信息获取方法

Legal Events

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