KR101968418B1 - 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법 - Google Patents

데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법 Download PDF

Info

Publication number
KR101968418B1
KR101968418B1 KR1020170140310A KR20170140310A KR101968418B1 KR 101968418 B1 KR101968418 B1 KR 101968418B1 KR 1020170140310 A KR1020170140310 A KR 1020170140310A KR 20170140310 A KR20170140310 A KR 20170140310A KR 101968418 B1 KR101968418 B1 KR 101968418B1
Authority
KR
South Korea
Prior art keywords
data
user terminal
list
identifier
server
Prior art date
Application number
KR1020170140310A
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 KR1020170140310A priority Critical patent/KR101968418B1/ko
Application granted granted Critical
Publication of KR101968418B1 publication Critical patent/KR101968418B1/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
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Technology Law (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법을 개시한다. 본 발명의 일 측면에 따른 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템에서의 데이터의 소유권 관리를 효율적으로 수행하는 방법은, 사용자 단말이, 업로드하고자 하는 파일을 블록으로 나누어 각 블록의 식별자를 생성하고, 생성된 블록의 식별자를 다음 블록의 식별자와 XOR 연산하여 두 블록의 차이값 D를 계산하며, 계산된 차이값 D의 목록을 이용하여 머클 해쉬 트리를 생성한 후, 상기 머클 해쉬 트리의 최상위 노드인 루트(root) 노드와 각 블록의 식별자를 메타데이터 서버로 전송하는 단계; 메타데이터 서버가, 상기 사용자 단말이 전송한 식별자 목록을 이용해 머클 해쉬 트리를 생성하여 식별자 목록과 루트 노드값이 일치하는지 검증하고, 검증이 통과되면, 서버에 보관된 식별자와 사용자 단말이 전송한 식별자 목록을 비교하여 스토리지 서버에 보관되지 않은 데이터와 이미 보관된 데이터의 소유 증명을 수행할 데이터를 목록화하고, 상기 목록화된 데이터를 상기 사용자 단말로 전송하여 소유 증명을 수행할 데이터를 요청하는 단계; 사용자 단말이, 상기 메타데이터 서버에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 상기 메타데이터 서버로 전송하는 단계; 및 메타 데이터 서버가, 상기 사용자 단말로부터 받은 검증 데이터를 이용하여 상기 사용자 단말의 소유 증명의 검증을 수행하고, 검증이 통과된 경우 업로드된 데이터를 스토리지 서버로 전송하여 저장하는 단계;를 포함한다.

Description

데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법{SYSTEM AND METHOD FOR DE-DUPLICATION OF PASSWORD DATA THAT CAN EFFICIENTLY MANAGE OWNERSHIP OF DATA}
본 발명은 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법에 관한 것으로, 더욱 상세하게는 중복제거되어 보관된 암호데이터의 소유권을 효율적으로 관리할 수 있는 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법에 관한 것이다.
최근 데이터 스토리지 기술 및 데이터 통신 기술이 발달함에 따라 데이터를 보관 및 이용하는 방법이 다양화되고 있다. 클라우드 스토리지는 데이터를 보관 및 이용하는 기술의 한 방법으로 네트워크를 통해 원격 스토리지 서버에 접근하여 데이터의 업로드 및 다운로드를 수행할 수 있다. 이러한 클라우드 스토리지는, 사용자가 데이터 통신이 가능할 경우 언제 어디서든 클라우드 스토리지에 보관된 데이터를 이용할 수 있기 때문에 별도의 물리적인 저장매체를 휴대할 필요가 없다. 클라우드 스토리지는 제공 형태의 특성상 다수의 사용자가 동시에 접근하여 다수의 데이터를 이용하게 되며, 이러한 경우 클라우드 스토리지의 사용자 환경에서는 사용자별로 별도의 저장 공간이 구분된 것으로 보이지만, 실제 스토리지 내부에는 모든 사용자가 공통된 저장 공간을 공유하여 각 데이터별로 접근 권한이 제한되는 형태를 갖는다. 한편, 클라우드 스토리지에는 다양한 형태와 종류의 데이터가 보관되는데, 데이터가 완전히 동일하거나 일부만 변경된 데이터가 중복 저장되는 현상이 발생할 수 있다. 이러한 현상은 클라우드 스토리지를 운영하는 관리자 입장에서는 관리적 및/또는 경제적으로 부담이 증가될 수 있다. 따라서, 이를 해결하기 위한 데이터 중복제거 기술이 개발되어 활용되고 있다. 데이터 중복제거 기술은 데이터의 동일 여부를 비교하는 단위 또는 데이터의 중복제거를 수행하는 위치에 따라 분류될 수 있다. 먼저, 데이터의 동일 여부를 비교하는 단위에 따른 데이터 중복제거 기술은 파일 단위 및/또는 블록 단위의 방법으로 분류될 수 있으며, 데이터의 중복제거를 수행하는 위치에 따른 데이터 중복제거 기술은 서버 측면(server-side) 중복제거 방법 및/또는 클라이언트 측면(client-side) 중복제거 방법으로 분류될 수 있다.
한편, 클라우드 스토리지는 원격 서버로 구성되며, 원격 서버는 관리 권한이 위임된 신뢰된 주체에 의해 관리되어지고 있지만, 원격 서버는 내부자 및/또는 외부 공격에 의해 데이터가 유출될 수 있는 가능성이 있기 때문에 데이터 자체의 보호를 위한 암호화 기술이 필수적으로 요구된다. 이때, 일반적인 데이터 암호화 기술은 암호화 키에 따라 결과가 달라지므로, 두 데이터가 존재하는 경우 동일 여부를 판단할 수 없는 문제가 발생한다. 또한, 클라우드 스토리지에 보관된 데이터에 대한 접근 제어는 데이터 소유권에 의해 이루어지므로, 공격자에 의해 소유권을 위조하려는 위협이 발생할 수 있다. 따라서, 소유권을 보다 효율적으로 관리하기 위한 연구가 필요한 실정이다.
한국등록특허 제10-1590270호(2016.02.02 공고)
본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로서, 메타데이터 서버와 스토리지 서버를 구분하여 메타데이터 서버에서는 중복여부 판단과 소유 증명 검증을 수행하고, 스토리지 서버에서는 중복되지 않은 데이터만을 저장하여, 개선된 소유권 관리 방식을 이용해 소유권 정보를 능동적으로 처리할 수 있는 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 일 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 측면에 따른 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템에서의 데이터의 소유권 관리를 효율적으로 수행하는 방법은, 사용자 단말이, 업로드하고자 하는 파일을 블록으로 나누어 각 블록의 식별자를 생성하고, 생성된 블록의 식별자를 다음 블록의 식별자와 XOR 연산하여 두 블록의 차이값 D를 계산하며, 계산된 차이값 D의 목록을 이용하여 머클 해쉬 트리를 생성한 후, 상기 머클 해쉬 트리의 최상위 노드인 루트(root) 노드와 각 블록의 식별자를 메타데이터 서버로 전송하는 단계; 메타데이터 서버가, 상기 사용자 단말이 전송한 식별자 목록을 이용해 머클 해쉬 트리를 생성하여 식별자 목록과 루트 노드값이 일치하는지 검증하고, 검증이 통과되면, 서버에 보관된 식별자와 사용자 단말이 전송한 식별자 목록을 비교하여 스토리지 서버에 보관되지 않은 데이터와 이미 보관된 데이터의 소유 증명을 수행할 데이터를 목록화하고, 상기 목록화된 데이터를 상기 사용자 단말로 전송하여 소유 증명을 수행할 데이터를 요청하는 단계; 사용자 단말이, 상기 메타데이터 서버에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 상기 메타데이터 서버로 전송하는 단계; 및 메타 데이터 서버가, 상기 사용자 단말로부터 받은 검증 데이터를 이용하여 상기 사용자 단말의 소유 증명의 검증을 수행하고, 검증이 통과된 경우 업로드된 데이터를 스토리지 서버로 전송하여 저장하는 단계;를 포함한다.
상기 사용자 단말이, 상기 스토리지 서버에 저장된 데이터를 다운받고자 하는 경우, 상기 스토리지 서버로부터 자신의 비밀키로 암호화되어 저장된 D 목록을 다운받고, 암호화된 D 목록을 복호화하여 초기 블록 식별자와 D 목록을 획득하며, 획득한 초기 블록 식별자와 D 목록을 상기 스토리지 서버로 전송하여 다운로드를 요청하는 단계; 상기 스토리지 서버가, 상기 사용자 단말이 요청한 정보에 해당하는 데이터를 상기 사용자 단말로 전송하는 단계; 및 상기 사용자 단말이, 전송받은 데이터를 복호화하여 원본 데이터를 획득하는 단계;를 더 포함한다.
상기 스토리지 서버가, 상기 사용자 단말이 요청한 정보에 해당하는 데이터를 상기 사용자 단말로 전송하는 단계는, 상기 스토리지 서버가, 상기 사용자 단말로부터 데이터 다운로드 요청과 함께 데이터 경로값을 전송받는 단계; 상기 스토리지 서버가, 전송받은 데이터 경로값을 이용하여 데이터를 탐색하는 단계; 및 상기 스토리지 서버가, 탐색된 데이터를 상기 사용자 단말로 전송하는 단계;를 포함한다.
상기 사용자 단말이, 상기 메타데이터 서버에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 상기 메타데이터 서버로 전송하는 단계는, 상기 사용자 단말이, 상기 메타데이터 서버에게 수신받은 목록에 포함된 데이터의 소유 검증 데이터를 목록화하는 단계; 상기 사용자 단말이, 업로드할 데이터를 암호화하는 단계; 상기 사용자 단말이, 업로드한 파일에 포함된 데이터의 식별자 목록을 사용자의 비밀키로 암호화하는 단계; 및 상기 사용자 단말이, 소유 검증 데이터 목록, 암호화된 데이터, 암호화된 식별자 목록을 상기 메타데이터 서버로 전송하는 단계;를 포함한다.
상기와 같은 목적을 달성하기 위한 본 발명의 다른 측면에 따른 시스템은, 데이터에 대한 업로드 및 다운로드를 수행하는 사용자 단말; 데이터에 대한 중복여부 판단 및 소유 증명의 검증을 수행하는 메타데이터 서버; 및 소유 증명이 검증된 중복제거 데이터를 저장하는 스토리지 서버;를 포함한다.
상기 사용자 단말은, 업로드하고자 하는 파일을 블록으로 나누어 각 블록의 식별자를 생성하고, 생성된 블록의 식별자를 다음 블록의 식별자와 XOR 연산하여 두 블록의 차이값 D를 계산하며, 계산된 차이값 D의 목록을 이용하여 머클 해쉬 트리를 생성한 후, 상기 머클 해쉬 트리의 최상위 노드인 루트(root) 노드와 각 블록의 식별자를 상기 메타데이터 서버로 전송하거나, 상기 메타데이터 서버에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 상기 메타데이터 서버로 전송하는 것을 특징으로 한다.
상기 메타데이터 서버는, 상기 사용자 단말이 전송한 식별자 목록을 이용해 머클 해쉬 트리를 생성하여 식별자 목록과 루트 노드값이 일치하는지 검증하고, 검증이 통과되면, 서버에 보관된 식별자와 상기 사용자 단말이 전송한 식별자 목록을 비교하여 상기 스토리지 서버에 보관되지 않은 데이터와 이미 보관된 데이터의 소유 증명을 수행할 데이터를 목록화하고, 상기 목록화된 데이터를 상기 사용자 단말로 전송하여 소유 증명을 수행할 데이터를 요청하거나, 상기 사용자 단말로부터 받은 검증 데이터를 이용하여 상기 사용자 단말의 소유 증명의 검증을 수행하고, 검증이 통과된 경우 업로드된 데이터를 상기 스토리지 서버로 전송하여 저장하는 것을 특징으로 한다.
상기 사용자 단말은, 상기 스토리지 서버에 저장된 데이터를 다운받고자 하는 경우, 상기 스토리지 서버로부터 자신의 비밀키로 암호화되어 저장된 D 목록을 다운받고, 암호화된 D 목록을 복호화하여 초기 블록 식별자와 D 목록을 획득하며, 획득한 초기 블록 식별자와 D 목록을 상기 스토리지 서버로 전송하여 다운로드를 요청하고, 상기 스토리지 서버로부터 요청한 정보에 해당하는 데이터를 수신하면, 전송받은 데이터를 복호화하여 원본 데이터를 획득하는 것을 특징으로 한다.
상기 스토리지 서버는, 상기 사용자 단말이 요청한 정보에 해당하는 데이터를 상기 사용자 단말로 전송하고, 상기 사용자 단말로부터 데이터 다운로드 요청과 함께 데이터 경로값을 전송받으며, 전송받은 데이터 경로값을 이용하여 데이터를 탐색하여, 탐색된 데이터를 상기 사용자 단말로 전송하는 것을 특징으로 한다.
상기 사용자 단말은, 상기 메타데이터 서버에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 상기 메타데이터 서버로 전송하고, 상기 메타데이터 서버에게 수신받은 목록에 포함된 데이터의 소유 검증 데이터를 목록화하며, 업로드할 데이터를 암호화하고, 업로드한 파일에 포함된 데이터의 식별자 목록을 사용자의 비밀키로 암호화하여, 소유 검증 데이터 목록, 암호화된 데이터, 암호화된 식별자 목록을 상기 메타데이터 서버로 전송하는 것을 특징으로 한다.
본 발명의 일 측면에 따르면, 두 블록의 XOR 차이값 D를 이용하여 root값을 생성하고, D와 root값을 이용하여 소유 증명을 수행하기 때문에 기존방식에서 머클 트리(Merkle Tree)를 이용한 시도-응답 형태의 블록 단위 소유권 증명에 비해 더욱 적은 연산으로도 소유증명을 수행할 수 있다.
또한 초기 블록에서 연결되는 후속 블록의 모든 경로를 알고 있어야만 데이터를 다운로드 받을 수 있기 때문에 전수조사공격을 통해 일부 블록만을 취득하는 공격이 불가능해진다.
이를 통해, 본 발명은 전체 연산량을 줄이면서도 데이터 탈취를 위한 위협에 안전환 환경을 제공할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용들과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 암호데이터 중복제거 시스템의 개략적인 구성도,
도 2는 본 발명의 일 실시예에 따른 Convergent Encryption(CE) 기술의 방법을 도시한 도면,
도 3은 본 발명의 일 실시예에 따른 테이터 블록을 이용하여 소유권 정보를 생성하는 과정을 도시한 도면,
도 4는 본 발명의 일 실시예에 따른 서로 다른 사용자가 동일한 데이터에서 파생된 데이터의 소유권을 구성하는 방법을 도시한 도면,
도 5는 본 발명의 일 실시예에 따른 사용자의 데이터 중복 확인 요청 과정을 도시한 도면,
도 6은 본 발명의 일 실시예에 따른 소유 증명 및 데이터 업로드 수행 과정을 도시한 도면,
도 7은 본 발명의 일 실시예에 따른 데이터의 다운로드를 요청하고 이를 전송하는 과정을 도시한 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “…부” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1 내지 도 7을 참조하여 본 발명에 대해 설명하기에 앞서, 본 발명의 개념에 대해 간략하게 설명하기로 한다.
본 발명은, 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템과 그 방법에 관한 것으로, 사용자 단말의 데이터 중복 확인 요청 단계와 소유 증명 및 데이터 업로드 수행 단계 그리고, 데이터의 다운로드를 요청하고 이를 전송하는 단계를 포함한다.
사용자 단말의 데이터 중복 확인 요청 단계는, 사용자 단말이 업로드 할 데이터 블록의 식별자를 생성하는 단계, 업로드 할 데이터 블록간의 bit 차이값(XOR 연산 결과값)을 계산하는 단계, 블록간의 bit 차이값을 이용하여 머클 해쉬 트리(Merkle Hash Tree : 이하 MHT)를 생성하는 단계, 생성된 root(루트)값과 업로드할 데이터의 식별자를 메타데이터 서버로 전송하는 단계, 메타데이터 서버가 수신된 데이터가 올바른 데이터인지 검증하는 단계, 수신받은 데이터 식별자가 클라우드 스토리지(메타데이터 서버 및/또는 스토리지 서버)엥 포함되어 있는지 확인하고, 포함되지 않은 데이터 및 소유 검증 데이터를 목록화하는 단계 및 목록화된 데이터를 사용자에게 전송하는 단계를 포함할 수 있다.
또한, 소유 증명 및 데이터 업로드 수행 단계는, 사용자 단말이 메타데이터 서버에게 수신받은 목록에 포함된 데이터의 소유 검증 데이터를 목록화하는 단계, 업로드할 데이터를 암호화하는 단계, 업로드한 파일에 포함된 데이터의 식별자 목록을 사용자의 비밀키로 암호화하는 단계, 소유 검증 데이터 목록, 암호화된 데이터, 암호화된 식별자 목록을 메타데이터 서버로 전송하는 단계, 메타데이터 서버가 수신받은 데이터를 검증한 뒤 스토리지 서버와 메타데이터 서버에 데이터를 저장하는 단계를 포함할 수 있다.
마지막으로, 데이터의 다운로드를 요청하고 이를 전송하는 단계는, 사용자 단말이 스토리지 서버에 보관된 암호화된 식별자 목록을 다운로드하는 단계, 사용자 단말이 스토리지 서버에게 데이터의 다운로드를 요청하는 단계, 스토리지 서버가 사용자 단말에게 데이터를 전송하는 단계, 사용자 단말이 다운로드 받은 데이터를 복호화하는 단계를 포함할 수 있다.
본 발명의 실시예를 설명함에 앞서서, 후술하는 내용에서 사용되는 기호들에 대하여 다음과 같이 정의하기로 한다.
· * : 참여 객체(U : 사용자, M : 메타데이터 서버, S : 스토리지 서버)
· f : 원본 파일;
· bn : 원본 파일을 구성하는 블록
· Kn : CE로 생성된 bn의 암호화 키
· Tn : CE로 생성된 bn의 암호화 키
· Cn : CE로 암호화된 bn
· di : bi과 di +1의 차이값; bn bi +1
· Di : H(di)
· Droot : MHT()로부터 생성된 Root값
· MHT() : Merkle Hash Tree의 생성 알고리즘
· H() : 암호학적 해시 함수를 이용한 해시연산
· E* : 대칭키 암호화
· D* : 대칭키 복호화
· Rqdedup : 클라우드 스토리지에 보관되어 있지 않은 데이터 요청 목록
· RqD : 클라우드 스토리지에 보관되어 있는 데이터의 소유 검증 요청 목록
· Rsdedup : Rqdedup의 응답 데이터 목록
· RsD : RqD의 응답 데이터 목록
도 1은 본 발명의 일 실시예에 따른 암호데이터 중복제거 시스템의 개략적인 구성도이다.
도 1을 참조하면, 본 실시예에 따른 암호데이터 중복제거 시스템은 사용자 단말(100), 클라우드 스토리지로 구성되며, 클라우드 스토리지는 메타데이터 서버(210) 및 스토리지 서버(230)를 포함한다. 한편, 클라우드 스토리지 내부에 포함되는 메타데이터 서버(210) 및 스토리지 서버(230)는 서로 내부 통신망 및/또는 네트워크에 의해 연결되어 통신할 수 있다. 이때, 본 발명에 따른 시스템의 구성요소인 사용자 단말(100), 메타데이터 서버(210) 및 스토리지 서버(230)는 각각 유무선을 포함하는 네트워크(N)를 통해 데이터(정보)를 송수신하며, 사전에 구성요소 서로의 식별자(ID), 서로의 공개키, 세션키가 분배되어 있고, 모든 통신은 세션키로 암호화되어 전송되는 것으로 가정한다.
사용자 단말(100)은 데이터에 대한 업로드 및 다운로드를 수행하고, 메타데이터 서버(210)는 데이터에 대한 중복여부 판단 및 소유 증명의 검증을 수행하며, 스토리지 서버(230)는 소유 증명이 검증된 중복제거 데이터를 저장한다.
사용자 단말(100)은 암호화된 데이터의 비교와 중복제거를 위해 클라우드 스토리지 내부의 메타데이터 서버(210)와 통신을 수행하며, 메타데이터 서버(210)와의 통신 결과를 기반으로 스토리지 서버(230)에 해당 파일을 업로드할 수 있다.
한편, 본 실시예에 따른 시스템에서의 전체 과정은 크게 데이터의 업로드 과정과 데이터의 다운로드 과정으로 구분될 수 있다.
먼저, 데이터 업로드 과정에서는, 사용자 단말(100)이 업로드 하고자 하는 파일의 블록(chunk)들의 저장여부를 검증하고 결과를 반환하고, 사용자 단말(100)이 검증 결과를 토대로 중복된 블록들의 소유 증명을 수행하며, 중복되지 않은 블록들을 재구성하여 업로드하고, 업로드된 블록들을 검증하는 동작으로 구성될 수 있다. 또한, 데이터 다운로드 과정에서는 데이터 다운로드를 요청하고, 데이터 다운로드 시 소유권을 검증하며, 데이터를 다운로드 하는 동작으로 구성될 수 있다. 이때, 상술한 과정에 대해 보다 상세히 후술하기로 한다.
<데이터 업로드 과정>
데이터를 업로드하고자 하는 사용자 단말(100)은, 파일을 블록으로 나누어 각 블록의 식별자를 생성한다. 사용자 단말(100)은 생성된 블록의 식별자를 다음 블록의 식별자와 XOR 연상하여 두 블록의 차이값 D를 계산한다. 사용자 단말(100)은 계산된 D의 목록을 이용하여 MHT를 생성한다. 사용자 단말(100)은 MHT 최상위 노드인 루트(root) 노드와 각 블록의 식별자를 메타데이터 서버(210)로 전송한다. 메타데이터 서버(210)는 사용자가 전송한 식별자 목록을 이용해 MHT를 생성하여 식별자 목록과 루트(root) 노드값이 일치하는지를 검증한다. 검증이 통과되면, 메타데이터 서버(210)에 보관된 식별자와 사용자가 전송한 식별자 목록을 비교하여 클라우드 스토리지(자세하게는 스토리지 서버(230))에 보관되지 않은 데이터와 이미 보관된 데이터의 소유 증명을 수행할 데이터를 사용자 단말(100)에게 요청한다. 사용자 단말(100)은 메타데이터 서버(210)에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 메타데이터 서버(210)로 전송한다. 보다 구체적으로, 사용자 단말(100)은 메타데이터 서버(210)에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 메타데이터 서버(210)로 전송하고, 메타데이터 서버(210)에게 수신받은 목록에 포함된 데이터의 소유 검증 데이터를 목록화하며, 업로드할 데이터를 암호화하고, 업로드한 파일에 포함된 데이터의 식별자 목록을 사용자의 비밀키로 암호화하여, 소유 검증 데이터 목록, 암호화된 데이터, 암호화된 식별자 목록을 메타데이터 서버(210)로 전송할 수 있다. 메타데이터 서버(210)는 사용자 단말(100)에게 받은 검증 데이터를 이용하여 사용자 단말(100)의 소유 증명의 검증을 수행하고, 통과하였을 경우 업도드된 데이터를 스토리지 서버(230)에 저장한다.
<데이터 다운로드 과정>
스토리지 서버(230)에 저장된 데이터를 다운로드 받고자 하는 사용자 단말(100)은, 스토리지 서버(230)에 자신의 비밀키로 암호화되어 저장된 D 목록을 다운받는다. 암호화된 D 목록을 복호화하여 초기블록 식별자와 D 목록을 획득한다. 사용자 단말(100)은 획득한 초기블록 식별자와 D 목록을 스토리지 서버(230)에 전송하여 다운로드를 요청한다. 스토리지 서버(230)는 사용자 단말(100)이 요청한 정보에 해당하는 데이터를 사용자에게 전송한다. 이때, 스토리지 서버(230)는, 사용자 단말(100)이 요청한 정보에 해당하는 데이터를 사용자 단말(100)로 전송하고, 사용자 단말(100)로부터 데이터 다운로드 요청과 함께 데이터 경로값을 전송받으며, 전송받은 데이터 경로값을 이용하여 데이터를 탐색하여, 탐색된 데이터를 사용자 단말(100)로 전송할 수 있다.
이하, 도 2 내지 도 7을 참조하여 본 실시예에 따른 시스템에서의 데이터의 소유권 관리를 효율적으로 수행할 수 있는 방법에 대해 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 Convergent Encryption(CE) 기술의 방법을 도시한 도면이다.
본 실시예를 설명함에 있어서, 암호화 기술과 중복제거 기술을 모두 이용하기 위해 Convergent Encryption(CE) 기술을 사용한다. Convergent Encryption(CE) 기술은, 데이터 원본을 해시 알고리즘으로 변환하여 출력된 값을 암호화 키로 사용하는 것으로, 동일한 데이터 원본을 소유한 사용자(사용자 단말(100))은 항상 동일한 암호화 키와 암호문을 생성할 수 있게 되어, 서로 다른 사용자로부터 업로드된 두 데이터의 동일 여부를 판단할 수 있다.
도 2를 참조하면, Convergent Encryption(CE) 암호화 기술은, 원본 파일 f의 데이터 블록 bn을 해시 알고리즘을 통해 해시화한 값 Kn을 대칭키 암호화 키로 사용하는 방식으로 아래의 수학식 1과 같이 계산한다.
[수학식 1]
Figure 112017106098400-pat00001
도 3은 본 발명의 일 실시예에 따른 테이터 블록을 이용하여 소유권 정보를 생성하는 과정을 도시한 도면이다.
도 3을 참조하면, 업로드할 파일 f를 구성하는 블록 bn들의 차이값 di를 계산한 후, MHT를 생성할 수 있으며, 각 블록 bn들의 차이값 di는 아래의 수학식 2와 같이 계산할 수 있다.
[수학식 2]
Figure 112017106098400-pat00002
이때, MHT로부터 생성된 Droot는 파일 f의 식별자 및 소유권 데이터로 이용될 수 있다.
도 4는 본 발명의 일 실시예에 따른 서로 다른 사용자가 동일한 데이터에서 파생된 데이터의 소유권을 구성하는 방법을 도시한 도면이다.
본 실시예에 따르면, 서로 일부가 다른 두 파일에 대한 소유권 정보 및 메타데이터 서버(210) 내에 식별자가 저장되는 방법을 알 수 있다.
도 4를 참조하면, 두 사용자 UA와 UB는 하나의 파일에서 파생된 두 가지 버전의 데이터를 각각 소유하고 있을 경우, b4블록까지는 동일한 형태를 띄고 있기 때문에 동일한 경로값(차이값)을 가지게 되며, 5번째 블록부터는 서로 다른 후속 블록을 가지기 때문에 보유한 경로값이 서로 달라진다. 메타데이터 서버(210)는 File_X_ver1과 File_X_ver2의 초기 블록값만을 식별자로 가지며, 후속 블록의 경로값만을 보관하는 형태를 띤다. 따라서, File_X_ver1의 온전한 데이터를 취득하기 위해서는 File_X_ver1의 초기 블록부터 마지막 블록까지의 경로값을 모두 알고 있어야만 한다. 또한, 메타데이터 서버(210)에는 사용자가 소유한 데이터의 경로값이 사용자의 비밀키로 암호화되어 저장될 수 있다.
도 5는 본 발명의 일 실시예에 따른 사용자의 데이터 중복 확인 요청 과정을 도시한 도면이다.
도 5를 참조하면, 사용자 단말(100)과 클라우드 스토리지 간에 중복 확인 요청 과정을 확인할 수 있다. 이때, 본 실시예에 따른 클라우드 스토리지는 메타데이터 서버(210)일 수 있다.
클라이언트 측면(Client-Side) 중복제거 방식에서는 업로드 할 데이터의 식별자를 이용하여 스토리지 서버(230)에 저장된 데이터의 중복 여부를 확인한 뒤, 이미 저장되어 있는 데이터를 중복제거하여 업로드하는 과정을 갖는다. 이에 따라, 상기 과정에 선행하여 사용자 단말(100)은 메타데이터 서버(210)와 중복 확인 요청 과정을 수행한다.
살펴보면, 중복여부 판단을 위해 업로드 할 데이터의 식별자를 생성하는 과정을 갖는다. 먼저, 사용자 단말(100)은 업로드 할 파일 f를 블록 단위로 나누며, 이를 f={b1, b2, … , bn}라 한다(510). 각 블록은 상술한 수학식 1과 같이 계산하여 암호화 키 Kn을 생성하고, 아래의 수학식 3을 통해 식별자 Tn을 생성한다(520)(530).
[수학식 3]
Figure 112017106098400-pat00003
또한, 사용자 단말(100)은 업로드 할 모든 데이터 블록간의 차이값 di를 상술한 수학식 2를 통해 계산한다(540). 사용자 단말(100)은 생성된 di값을 이용하여 도 3의 MHT를 생성하고, Droot를 획득한다(550)(560). 이어서, 사용자 단말(100)은 Tn의 목록, Di의 목록, Droot를 메타데이터 서버(210)로 전송한다(570). 메타데이터 서버(210)는 전송받은 Di의 목록을 이용하여 Droot'를 생성하고, 사용자 단말(100)이 전송한 Droot와 동일한지 검증을 수행한다. 그리고, 사용자 단말(100)이 업로드 요청한 Tn이 이미 스토리지 서버(230)에 저장되어 있는지 확인한다. Tn이 이미 스토리지 서버(230)에 존재할 경우, bi의 선행, 후행 블록과의 차이값을 RqD에 저장하고, Tn이 서버에 존재하지 않을 경우, Tn을 Rqdedup에 저장한다(580). 그리고, Rqdedup와 RqD를 사용자 단말(100)로 전송한다(590).
도 6은 본 발명의 일 실시예에 따른 소유 증명 및 데이터 업로드 수행 과정을 도시한 도면이다.
도 6을 참조하며, 본 실시예에 따른 소유권 증명 과정을 살펴보기로 한다.
사용자 단말(100)은 상술한 도 5에서 메타데이터 서버(210)에게 전송받은 Rqdedup와 RqD를 확인하여 메타데이터 서버(210)가 요청한 검증데이터와 스토리지 서버(230)에 보관되어 있지 않은 데이터를 식별한다. 이에 따라 사용자 단말(100)은, 스토리지 서버(230)에 보관되어 있지 않은 데이터를 아래의 수학식 4와 같이 암호화하여 암호문 Cj을 생성한다(610).
[수학식 4]
Figure 112017106098400-pat00004
사용자 단말(100)은 메타데이터 서버(210)가 요청한 검증 데이터 dj(Dj∈RqD)를 목록화한다. 그리고, 자신이 업로드하는 파일 블록의 경로값 di를 자신의 비밀키로 암호화한다(620). 사용자 단말(100)은 암호문 Cj의 집합 Rsdedup, 검증데이터 RsD, 암호화된 경로값 Esk({di})를 메타데이터 서버(210)로 전송한다(630).
이에, 메타데이터 서버(210)는 사용자 단말(100)이 전송한 RsD를 이용하여 사용자가 중복 확인 요청한 데이터가 맞는지 검증하며, 검증이 완료되었을 경우 Rsdedup에 포함된 Cj와 암호화된 경로값 Esk({di})를 스토리지 서버(230)에 저장한다(640). 이때, 검증이 완료되었을 경우 Rsdedup에 포함된 Cj와 암호화된 경로값 Esk({di})는 메타데이터 서버(210)에도 저장될 수 있다.
도 7은 본 발명의 일 실시예에 따른 데이터의 다운로드를 요청하고 이를 전송하는 과정을 도시한 도면이다.
본 실시예에 따르면, 사용자 단말(100)은 스토리지 서버(230)에 보관된 암호화된 경로값 Esk({di})를 다운로드 및 복호화하여 파일 f를 구성하는 각 블록의 경로값을 획득하고, 이를 이용하여 데이터 다운로드를 요청한다. 스토리지 서버(230)는, 사용자 단말(100)이 전송한 경로값을 참조하여 데이터를 사용자 단말(100)로 전송한다. 사용자 단말(100)은 전송받은 데이터를 재구성하여 원본 데이터를 획득한다.
도 7을 참조하며, 본 실시예에 따른 업로드 과정을 보다 상세히 살펴보기로 한다.
상술한 도 5 및 6에서의 데이터 업로드 과정이 완료된 후, 사용자 단말(100)은 메타데이터 서버(210)로부터 파일 f에 대한 소유권을 부여받은 상태이다. 이후, 사용자 단말(100)은 스토리지 서버(230)에 보관된 데이터를 다운로드하고자 한다.
이에, 사용자 단말(100)은 스토리지 서버(230)에 보관된 다운로드할 데이터의 암호화된 경로값 Esk({di})를 획득한다. 그리고, 사용자 단말(100)은 암호화된 경로값 Esk({di})를 복호화하여 데이터 블록을 획득하고, 이를 아래의 수학식 5와 같이 계산한 뒤, 스토리지 서버(230)로 전송한다(710)(720).
[수학식 5]
Figure 112017106098400-pat00005
스토리지 서버(230)는, 사용자 단말(100)이 다운로드 요청한 데이터의 경로값을 통해 데이터를 탐색하고, 데이터가 올바르게 구성되어질 경우 사용자 단말(100)이 해당 파일의 소유권을 가지고 있는 것으로 간주하여 파일을 전송한다(730)(740). 파일을 다운로드 받은 사용자 단말(100)은, 암호화된 데이터 {C1, C2, … , Ci}를 복호화하여 {b1, b2, … , bi }를 획득하고, 각 블록을 이용하여 원본 데이터 f를 획득할 수 있다(750).
본 발명의 실시예에 따른 방법들은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는, 본 발명을 위한 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니 된다. 또한, 본 명세서의 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서의 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 앱 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니다.
100 : 사용자 단말
210 : 메타데이터 서버
230 : 스토리지 서버

Claims (10)

  1. 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템에서의 데이터의 소유권 관리를 효율적으로 수행하는 방법에 있어서,
    사용자 단말이, 업로드하고자 하는 파일을 블록으로 나누어 각 블록의 식별자를 생성하고, 생성된 블록의 식별자를 다음 블록의 식별자와 XOR 연산하여 두 블록의 차이값 D를 계산하며, 계산된 차이값 D의 목록을 이용하여 머클 해쉬 트리를 생성한 후, 상기 머클 해쉬 트리의 최상위 노드인 루트(root) 노드와 각 블록의 식별자를 메타데이터 서버로 전송하는 단계;
    메타데이터 서버가, 상기 사용자 단말이 전송한 식별자 목록을 이용해 머클 해쉬 트리를 생성하여 식별자 목록과 루트 노드값이 일치하는지 검증하고, 검증이 통과되면, 서버에 보관된 식별자와 사용자 단말이 전송한 식별자 목록을 비교하여 스토리지 서버에 보관되지 않은 데이터와 이미 보관된 데이터의 소유 증명을 수행할 데이터를 목록화하고, 상기 목록화된 데이터를 상기 사용자 단말로 전송하여 소유 증명을 수행할 데이터를 요청하는 단계;
    사용자 단말이, 상기 메타데이터 서버에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 상기 메타데이터 서버로 전송하는 단계; 및
    메타 데이터 서버가, 상기 사용자 단말로부터 받은 검증 데이터를 이용하여 상기 사용자 단말의 소유 증명의 검증을 수행하고, 검증이 통과된 경우 업로드된 데이터를 스토리지 서버로 전송하여 저장하는 단계;를 포함하는 데이터의 소유권 관리를 효율적으로 수행하는 방법.
  2. 제 1 항에 있어서,
    상기 사용자 단말이, 상기 스토리지 서버에 저장된 데이터를 다운받고자 하는 경우, 상기 스토리지 서버로부터 자신의 비밀키로 암호화되어 저장된 D 목록을 다운받고, 암호화된 D 목록을 복호화하여 초기 블록 식별자와 D 목록을 획득하며, 획득한 초기 블록 식별자와 D 목록을 상기 스토리지 서버로 전송하여 다운로드를 요청하는 단계;
    상기 스토리지 서버가, 상기 사용자 단말이 요청한 정보에 해당하는 데이터를 상기 사용자 단말로 전송하는 단계; 및
    상기 사용자 단말이, 전송받은 데이터를 복호화하여 원본 데이터를 획득하는 단계;를 더 포함하는 데이터의 소유권 관리를 효율적으로 수행하는 방법.
  3. 제 2 항에 있어서,
    상기 스토리지 서버가, 상기 사용자 단말이 요청한 정보에 해당하는 데이터를 상기 사용자 단말로 전송하는 단계는,
    상기 스토리지 서버가, 상기 사용자 단말로부터 데이터 다운로드 요청과 함께 데이터 경로값을 전송받는 단계;
    상기 스토리지 서버가, 전송받은 데이터 경로값을 이용하여 데이터를 탐색하는 단계; 및
    상기 스토리지 서버가, 탐색된 데이터를 상기 사용자 단말로 전송하는 단계;를 포함하는 데이터의 소유권 관리를 효율적으로 수행하는 방법.
  4. 제 1 항에 있어서,
    상기 사용자 단말이, 상기 메타데이터 서버에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 상기 메타데이터 서버로 전송하는 단계는,
    상기 사용자 단말이, 상기 메타데이터 서버에게 수신받은 목록에 포함된 데이터의 소유 검증 데이터를 목록화하는 단계;
    상기 사용자 단말이, 업로드할 데이터를 암호화하는 단계;
    상기 사용자 단말이, 업로드한 파일에 포함된 데이터의 식별자 목록을 사용자의 비밀키로 암호화하는 단계; 및
    상기 사용자 단말이, 소유 검증 데이터 목록, 암호화된 데이터, 암호화된 식별자 목록을 상기 메타데이터 서버로 전송하는 단계;를 포함하는 데이터의 소유권 관리를 효율적으로 수행하는 방법.
  5. 데이터에 대한 업로드 및 다운로드를 수행하는 사용자 단말;
    데이터에 대한 중복여부 판단 및 소유 증명의 검증을 수행하는 메타데이터 서버; 및
    소유 증명이 검증된 중복제거 데이터를 저장하는 스토리지 서버;를 포함하고,
    상기 사용자 단말은,
    상기 메타데이터 서버에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 상기 메타데이터 서버로 전송하고, 상기 메타데이터 서버에게 수신받은 목록에 포함된 데이터의 소유 검증 데이터를 목록화하며, 업로드할 데이터를 암호화하고, 업로드한 파일에 포함된 데이터의 식별자 목록을 사용자의 비밀키로 암호화하여, 소유 검증 데이터 목록, 암호화된 데이터, 암호화된 식별자 목록을 상기 메타데이터 서버로 전송하는 것을 특징으로 하는 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템.
  6. 데이터에 대한 업로드 및 다운로드를 수행하는 사용자 단말;
    데이터에 대한 중복여부 판단 및 소유 증명의 검증을 수행하는 메타데이터 서버; 및
    소유 증명이 검증된 중복제거 데이터를 저장하는 스토리지 서버;를 포함하고,
    상기 사용자 단말은,
    업로드하고자 하는 파일을 블록으로 나누어 각 블록의 식별자를 생성하고, 생성된 블록의 식별자를 다음 블록의 식별자와 XOR 연산하여 두 블록의 차이값 D를 계산하며, 계산된 차이값 D의 목록을 이용하여 머클 해쉬 트리를 생성한 후, 상기 머클 해쉬 트리의 최상위 노드인 루트(root) 노드와 각 블록의 식별자를 상기 메타데이터 서버로 전송하거나, 상기 메타데이터 서버에게 받은 요청을 확인하여 업로드할 데이터 블록의 목록과 검증 데이터를 상기 메타데이터 서버로 전송하는 것을 특징으로 하는 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템.
  7. 제 6 항에 있어서,
    상기 메타데이터 서버는,
    상기 사용자 단말이 전송한 식별자 목록을 이용해 머클 해쉬 트리를 생성하여 식별자 목록과 루트 노드값이 일치하는지 검증하고, 검증이 통과되면, 서버에 보관된 식별자와 상기 사용자 단말이 전송한 식별자 목록을 비교하여 상기 스토리지 서버에 보관되지 않은 데이터와 이미 보관된 데이터의 소유 증명을 수행할 데이터를 목록화하고, 상기 목록화된 데이터를 상기 사용자 단말로 전송하여 소유 증명을 수행할 데이터를 요청하거나, 상기 사용자 단말로부터 받은 검증 데이터를 이용하여 상기 사용자 단말의 소유 증명의 검증을 수행하고, 검증이 통과된 경우 업로드된 데이터를 상기 스토리지 서버로 전송하여 저장하는 것을 특징으로 하는 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템.
  8. 제 7 항에 있어서,
    상기 사용자 단말은,
    상기 스토리지 서버에 저장된 데이터를 다운받고자 하는 경우, 상기 스토리지 서버로부터 자신의 비밀키로 암호화되어 저장된 D 목록을 다운받고, 암호화된 D 목록을 복호화하여 초기 블록 식별자와 D 목록을 획득하며, 획득한 초기 블록 식별자와 D 목록을 상기 스토리지 서버로 전송하여 다운로드를 요청하고, 상기 스토리지 서버로부터 요청한 정보에 해당하는 데이터를 수신하면, 전송받은 데이터를 복호화하여 원본 데이터를 획득하는 것을 특징으로 하는 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템.
  9. 제 8 항에 있어서,
    상기 스토리지 서버는,
    상기 사용자 단말이 요청한 정보에 해당하는 데이터를 상기 사용자 단말로 전송하고, 상기 사용자 단말로부터 데이터 다운로드 요청과 함께 데이터 경로값을 전송받으며, 전송받은 데이터 경로값을 이용하여 데이터를 탐색하여, 탐색된 데이터를 상기 사용자 단말로 전송하는 것을 특징으로 하는 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템.

  10. 삭제
KR1020170140310A 2017-10-26 2017-10-26 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법 KR101968418B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170140310A KR101968418B1 (ko) 2017-10-26 2017-10-26 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170140310A KR101968418B1 (ko) 2017-10-26 2017-10-26 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101968418B1 true KR101968418B1 (ko) 2019-04-11

Family

ID=66167223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170140310A KR101968418B1 (ko) 2017-10-26 2017-10-26 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101968418B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120071193A (ko) * 2010-12-22 2012-07-02 주식회사 케이티 사용자 인증을 위한 해시 트리 기반 아이디(id) 연합 시스템 및 방법
KR20130089925A (ko) * 2012-01-13 2013-08-13 에스케이플래닛 주식회사 메타 클라우드 컴퓨팅 기반의 데이터 관리 시스템, 이를 위한 방법 및 장치
KR101590270B1 (ko) 2014-11-20 2016-02-02 중앙대학교 산학협력단 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120071193A (ko) * 2010-12-22 2012-07-02 주식회사 케이티 사용자 인증을 위한 해시 트리 기반 아이디(id) 연합 시스템 및 방법
KR20130089925A (ko) * 2012-01-13 2013-08-13 에스케이플래닛 주식회사 메타 클라우드 컴퓨팅 기반의 데이터 관리 시스템, 이를 위한 방법 및 장치
KR101590270B1 (ko) 2014-11-20 2016-02-02 중앙대학교 산학협력단 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
클라우드 스토리지 상에서 안전하고 실용적인 암호데이터 중복제거와 소유권 증명 기술(박철희 외 2명, 2016년)* *
클라우드 스토리지 환경을 위한 안전하고 효율적인 암호데이터 중복제거 기술(김원빈 외 1명, 2015년)* *

Similar Documents

Publication Publication Date Title
US11108753B2 (en) Securing files using per-file key encryption
JP6306077B2 (ja) 暗号化データのコミュニティベース重複排除
Kaaniche et al. A secure client side deduplication scheme in cloud storage environments
CN110334526B (zh) 一种支持验证的前向安全可搜索加密存储系统及方法
US10037330B1 (en) Security via dynamic data movement in a cloud-based environment
US8892866B2 (en) Secure cloud storage and synchronization systems and methods
US20100169321A1 (en) Method and apparatus for ciphertext indexing and searching
CN110837491B (zh) 一种区块链金融大数据处理系统及方法
Mukundan et al. Efficient integrity verification of replicated data in cloud using homomorphic encryption
US10664439B2 (en) Security via dynamic data movement in a cloud-based environment
CN115225409B (zh) 基于多备份联合验证的云数据安全去重方法
CN111526197A (zh) 一种云端数据安全共享方法
CN110175169B (zh) 一种加密数据去重方法、系统及相关装置
Giri et al. A survey on data integrity techniques in cloud computing
CN112532650A (zh) 一种基于区块链的多备份安全删除方法、系统
KR20110028968A (ko) 원격 컴퓨팅 환경에서 사용자 데이터의 무결성 검증 방법 및 그 시스템
CN109063496A (zh) 一种数据处理的方法及装置
CN109783456B (zh) 去重结构搭建方法、去重方法、文件取回方法、去重系统
CN112818404B (zh) 数据访问权限的更新方法、装置、设备及可读存储介质
CN109831405B (zh) 一种云平台上的文件保护方法及装置
US20130290732A1 (en) Systems and methods for storing and verifying security information
KR101968418B1 (ko) 데이터의 소유권 관리를 효율적으로 수행할 수 있는 암호데이터 중복제거 시스템 및 방법
CN115086337A (zh) 文件处理方法、装置、存储介质以及电子设备
KR102496436B1 (ko) 블록체인 네트워크에서 저장소에 복수의 데이터 조각들을 저장하는 방법 및 저장된 복수의 데이터 조각들을 수신하는 방법
KR101590270B1 (ko) 중복 제거를 통해 하나의 데이터를 저장하는 클라우드 서비스 프로바이더

Legal Events

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