KR101595065B1 - Server and method for data dedeplication - Google Patents

Server and method for data dedeplication Download PDF

Info

Publication number
KR101595065B1
KR101595065B1 KR1020140105931A KR20140105931A KR101595065B1 KR 101595065 B1 KR101595065 B1 KR 101595065B1 KR 1020140105931 A KR1020140105931 A KR 1020140105931A KR 20140105931 A KR20140105931 A KR 20140105931A KR 101595065 B1 KR101595065 B1 KR 101595065B1
Authority
KR
South Korea
Prior art keywords
terminal
value
message
server
tag
Prior art date
Application number
KR1020140105931A
Other languages
Korean (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 KR1020140105931A priority Critical patent/KR101595065B1/en
Application granted granted Critical
Publication of KR101595065B1 publication Critical patent/KR101595065B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity

Abstract

Disclosed is a method for removing data duplication. The method for removing data duplication includes a step of allowing a server to receive a tag from a terminal, a step of determining whether the duplication of a cryptogram for a message which the terminal will upload, is generated by using the tag, a step of transmitting an upload request for the message to the terminal when the duplication of the cryptogram is not generated, and a step of receiving the cryptogram from the terminal.

Description

데이터 중복 제거 서버 및 데이터 중복 제거 방법{SERVER AND METHOD FOR DATA DEDEPLICATION}≪ Desc / Clms Page number 1 > SERVER AND METHOD FOR DATA DEDEPLICATION < RTI ID =

본 발명의 개념에 따른 실시 예는 데이터 중복 제거 서버에 관한 것으로, 특히 서버에 암호문이 존재하는지 여부를 확인함으로써 사용자의 데이터가 분실되는 것을 방지할 수 있는 데이터 중복 제거 서버 및 데이터 중복 제거 방법에 관한 것이다.An embodiment according to the concept of the present invention relates to a data deduplication server, and more particularly, to a data deduplication server and a data deduplication method that can prevent a user's data from being lost by checking whether a cipher text exists in a server will be.

데이터 중복제거(data deduplication)는 내용이 동일한 데이터를 하나만 저장하여 서버의 저장 공간을 효율적으로 관리하는 기술로써, 클라우드 스토리지(cloud storage)와 같이 동일한 데이터가 대량으로 삽입(또는 저장)되는 환경에서 유용하게 활용될 수 있다. 그러나 최근 신뢰할 수 없는 서버에 대한 보안 문제가 부각되면서 데이터를 암호화하여 저장하는 것이 필수적으로 요구되는데, 암호화는 데이터를 난수화하기 때문에 서버에서 해당 암호문이 동일한 데이터에 대한 정보인지를 판단하기 어려우며 암호화에 사용된 키를 공유하는 문제도 발생한다. 이를 해결하기 위해 암호화에 사용되는 키나 동일성 검사에 사용되는 태그를 데이터로부터 결정적(deterministic)으로 생성되도록 구성하는 기술들이 제안되고 있다.Data deduplication is a technology that efficiently manages server storage space by storing only one identical data. It is useful in environments where the same data is inserted (or stored) in a large amount, such as cloud storage. . However, recently, it is necessary to encrypt and store the data as the security problem for the unreliable server becomes more and more important. Since the encryption hardly data, it is difficult for the server to judge whether the corresponding ciphertext is the same data or not. The problem of sharing the used key also occurs. In order to solve this problem, there have been proposed techniques for constructing a key used for encryption or a tag used for the identity check to be generated from data deterministically.

데이터 중복 제거 기법은 데이터 중복 제거를 위해 수행되는 프로토콜에 따라 사용자가 직접 데이터를 암호화하여 서버에 업로드하면 서버 측에서 동일성 여부를 판단한 뒤 하나의 데이터만 저장하는 서버측 중복제거(server-side deduplication)와 사용자가 서버에 동일한 데이터가 사전에 저장되어 있는지 확인한 뒤, 저장이 되어 있으면 해당 데이터에 접근할 수 있는 권한만 획득하고 데이터를 업로드하지 않는 사용자측 중복제거(client-side deduplication)로 나눌 수 있다. 전자의 경우 서버에 저장 공간에 대한 효율성만 제공하는 반면에 후자의 경우 저장 공간 효율성뿐만 아니라 사용자가 서버에 암호문을 업로드하는 전송량을 줄일 수 있는 장점이 있다.Data deduplication is a server-side deduplication that encrypts data and uploads it to the server according to the protocol that is performed for data deduplication. The server-side deduplication, And client-side deduplication that does not upload data when the user confirms that the same data is stored in advance in the server, and if the stored data is stored, only the right to access the data is acquired. In the former case, the server only provides efficiency for storage space, while the latter has the advantage of not only storage efficiency but also the amount of data that the user uploads the ciphertext to the server.

Message-Locked Encryption and Secure Deduplication(M. Bellare, et al., EUROCRYPT 2013)Message-Locked Encryption and Secure Deduplication (M. Bellare, et al., EUROCRYPT 2013)

본 발명이 이루고자 하는 기술적인 과제는 데이터를 전송하는 과정에서 서버에 암호문의 존재 여부를 확인함으로써 사용자의 데이터가 분실되는 것을 방지할 수 있는 중복 제거 서버 및 중복 제거 방법을 제공하는 것이다.Disclosure of Invention Technical Problem [8] The present invention provides a duplication elimination server and a deduplication method that can prevent loss of user data by checking whether a cipher text is present in a server during data transmission.

본 발명의 일 실시 예에 따른 데이터 중복 제거 방법은, 서버가 단말기로부터 태그를 수신하는 단계, 상기 태그를 이용하여 상기 단말기가 업로드 하려는 메시지에 대한 암호문의 중복 여부를 결정하는 단계, 상기 암호문이 중복되지 않는 경우, 상기 단말기로 상기 메시지에 대한 업로드 요청을 송신하는 단계, 및 상기 단말기로부터 상기 암호문을 수신하는 단계를 포함한다.According to an embodiment of the present invention, there is provided a data deduplication method comprising: receiving a tag from a terminal by a server; determining whether a cipher text of a message to be uploaded by the terminal is duplicated using the tag; Transmitting an upload request for the message to the terminal, and receiving the ciphertext from the terminal.

또한, 본 발명의 다른 실시 예에 따른 데이터 중복 제거 방법은, 단말기가 메시지에 대한 해시값인 암호화키와 상기 암호화키에 대한 해시값인 태그를 생성하는 단계, 상기 단말기가 임의의 난수인 질의값과 상기 태그를 서버로 송신하는 단계, 상기 단말기가 상기 서버로부터 상기 질의값에 대응하는 응답값을 수신하는 단계, 상기 단말기가 상기 메시지에 대한 암호문과 상기 질의값을 입력으로 하는 해시값과 상기 응답값을 비교하여, 상기 서버에 상기 메시지에 대한 암호문이 존재하는 여부를 검증하는 단계, 및 상기 단말기가, 상기 메시지에 대한 암호문과 상기 질의값을 입력으로 하는 해시값과 상기 응답값이 일치하는 경우, 중복 제거 요청을 상기 서버로 송신하는 단계를 포함한다.According to another embodiment of the present invention, there is provided a method for deduplicating data, the method comprising: generating a tag, which is a hash value for an encryption key and a hash value for a message, And transmitting the tag to a server, the terminal receiving a response value corresponding to the query value from the server, the terminal including a hash value inputting the ciphertext and the query value for the message, Verifying whether a cipher text for the message exists in the server by comparing the hash value of the message with the hash value inputting the cipher text and the query value of the message, , And sending a deduplication request to the server.

또한, 본 발명의 일 실시 예에 따른 데이터 중복 제거 서버는 DB, 단말기로부터 태그를 수신하고, 상기 태그를 이용하여 상기 단말기가 업로드 하려는 메시지가 상기 DB에 저장되어 있는지 여부를 결정하기 위한 중복 확인 모듈, 및 상기 암호문이 상기 DB에 저장되어 있지 않은 경우, 상기 메시지에 대한 업로드 요청을 상기 단말기로 송신하고, 상기 단말기로부터 상기 암호문을 수신하기 위한 중복 제거 모듈을 포함한다.In addition, the data de-duplication server according to an embodiment of the present invention includes a DB, a duplication confirmation module for receiving a tag from the terminal, and determining whether a message to be uploaded by the terminal is stored in the DB And a duplicate removal module for sending an upload request for the message to the terminal and receiving the ciphertext from the terminal if the cipher text is not stored in the DB.

본 발명의 실시 예에 따른 데이터 중복 제거 서버는 서버에 암호문의 존재 여부를 확인함으로써 중복 위장 공격(duplicate faking attack)으로 인해 사용자의 데이터가 분실되는 것을 방지할 수 있는 효과가 있다.The data deduplication server according to the embodiment of the present invention can prevent the loss of user data due to a duplicate faking attack by checking whether a cipher text exists in the server.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 중복 제거 시스템을 도시한다.
도 2는 도 1에 도시된 중복 제거 서버의 기능 블럭도이다.
도 3과 도 4는 도 1에 도시된 중복 제거 시스템의 동작 방법을 설명하기 위한 흐름도로써, 도 3은 최초 업로더를 대상으로 하는 동작 방법을 설명하기 위한 흐름도이고, 도 4는 이차 사용자를 대상으로 하는 동작 방법을 설명하기 위한 흐름도이다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In order to more fully understand the drawings recited in the detailed description of the present invention, a detailed description of each drawing is provided.
Figure 1 illustrates a de-duplication system in accordance with an embodiment of the present invention.
2 is a functional block diagram of the deduplication server shown in FIG.
3 and 4 are flowcharts for explaining an operation method of the deduprection system shown in FIG. 1, wherein FIG. 3 is a flowchart for explaining an operation method for an initial uploader, FIG. Fig. 2 is a flowchart for explaining an operation method for setting an operation mode.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.It is to be understood that the specific structural or functional description of embodiments of the present invention disclosed herein is for illustrative purposes only and is not intended to limit the scope of the inventive concept But may be embodied in many different forms and is not limited to the embodiments set forth herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.The embodiments according to the concept of the present invention can make various changes and can take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It should be understood, however, that it is not intended to limit the embodiments according to the concepts of the present invention to the particular forms disclosed, but includes all modifications, equivalents, or alternatives falling within the spirit and scope of the invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the present invention, the first element may be referred to as a second element, The component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like are used to specify that there are features, numbers, steps, operations, elements, parts or combinations thereof described herein, But do not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings attached hereto.

도 1은 본 발명의 일 실시 예에 따른 중복 제거 시스템을 도시한다.Figure 1 illustrates a de-duplication system in accordance with an embodiment of the present invention.

도 1을 참조하면, 중복 제거 시스템(10)은 중복 제거 서버(100), 제1 단말기(200), 및 제2 단말기(300)를 포함한다. 도 1에는 두 개의 단말기(200, 300)만이 도시되어 있으나, 중복 제거 시스템(10)에 포함되는 단말기는 두 개 이상으로 구현될 수 있다.Referring to FIG. 1, a deduplication system 10 includes a deduplication server 100, a first terminal 200, and a second terminal 300. Although only two terminals 200 and 300 are shown in FIG. 1, more than two terminals included in the deduplication system 10 may be implemented.

중복 제거 서버(100)는 제1 사용자의 단말기, 즉 제1 단말기(200)와 제2 사용자의 단말기, 즉 제2 단말기(300) 각각으로부터 데이터를 수신하고, 수신된 데이터를 내부의 DB(database)에 저장한다. 이 때, 중복 제거 서버(100)는 저장하려는 데이터가 상기 DB에 이미 저장되어 있는 경우, 데이터 중복 제거(data deduplication)를 수행할 수 있다. 즉, 중복 제거 서버(100)는 상기 DB에 저장된 데이터와 동일한 데이터를 수신하지 않음으로써, 상기 DB의 저장 공간을 효율적으로 활용할 수 있다.The deduplication server 100 receives data from each of the terminals of the first user, i.e., the first terminal 200 and the second user terminal, i.e., the second terminal 300, and transmits the received data to an internal DB ). At this time, the deduplication server 100 can perform data deduplication if the data to be stored is already stored in the DB. That is, since the deduplication server 100 does not receive the same data as the data stored in the DB, the deduplication server 100 can efficiently utilize the storage space of the DB.

제1 단말기(200)와 제2 단말기(300)는 PC(personal computer), 태블릿(tablet) PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어와 같은 데이터 처리 장치로 구현될 수 있다. 실시 예에 따라, 제1 단말기(200)와 제2 단말기(300)는 모바일폰(mobile phone), 또는 스마트폰(smart phone)과 같은 핸드헬드 장치(handheld device)로 구현될 수 있다.The first terminal 200 and the second terminal 300 may be a personal computer, a tablet PC, a notebook, a net-book, an e-reader, a PDA a personal digital assistant (PMP), a portable multimedia player (PMP), an MP3 player, or an MP4 player. The first terminal 200 and the second terminal 300 may be implemented as a handheld device such as a mobile phone or a smart phone.

본 발명은 메시지 고정 암호(Message-Locked Encryption) 기법을 이용하여 데이터 중복 제거를 수행한다. 메시지 고정 암호 기법의 하나로써, Bellare 등이 제안한 HCE(Hash and Convergent Encryption) 기법은 PGen 알고리즘(시스템 파라미터 생성 알고리즘), KGen 알고리즘(키 생성 알고리즘), TGen 알고리즘(태그 생성 알고리즘), Enc 알고리즘(암호화 알고리즘), 및 Dec 알고리즘(복호화 알고리즘)으로 구성된다. The present invention performs data de-duplication using a Message-Locked Encryption scheme. The Hase and Convergent Encryption (HCE) method proposed by Bellare et al. Is one of the fixed message encryption schemes. The Hence and Convergent Encryption (HCE) method is composed of PGen algorithm (system parameter generation algorithm), KGen algorithm (key generation algorithm), TGen algorithm Algorithm), and a Dec algorithm (decryption algorithm).

HCE 기법에 포함된 각각의 알고리즘에 대해 설명하면, PGen 알고리즘은 다음과 같이 정의될 수 있다.Describing each algorithm included in the HCE technique, the PGen algorithm can be defined as follows.

PGen(1λ) → P PGen (1 ? )? P

즉, PGen 알고리즘은 보안상수(λ)를 입력받아 시스템 파라미터(P)를 생성하는 알고리즘이다. 시스템 파라미터(P)는 암호학적 해시함수(H)와 암호화에 사용되는 결정적 대칭키 암호(Deterministic Symmetric Encryption; SE)에 대한 정의를 포함한다.That is, the PGen algorithm is an algorithm that receives the security constant (?) And generates the system parameter (P). The system parameter P includes definitions for the cryptographic hash function H and deterministic symmetric encryption (SE) used for encryption.

KGen 알고리즘은 다음과 같이 정의될 수 있다.The KGen algorithm can be defined as follows.

KGen(P,M) → KKGen (P, M) K

즉, KGen 알고리즘은 시스템 파라미터(P)와 메시지(M)을 입력받아 키(K)를 생성하는 알고리즘이다. 메시지(M)에 대한 해시값을 생성하여 H(M)을 키(K)로 출력한다.That is, the KGen algorithm is an algorithm for generating the key K by receiving the system parameter P and the message M. Generates a hash value for the message M, and outputs H (M) as a key K.

TGen 알고리즘은 다음과 같이 정의될 수 있다.The TGen algorithm can be defined as follows.

TGen(P,K) → TTGen (P, K) T

즉, TGen 알고리즘은 시스템 파라미터(P)와 키(K)를 입력받아 태그(T)를 생성하는 알고리즘이다. 키(K)에 대한 해시값을 생성하여 H(K)를 태그(T)로 출력한다.That is, the TGen algorithm is an algorithm for generating the tag T by receiving the system parameter P and the key K. Generates a hash value for the key K and outputs H (K) to the tag T. [

Enc 알고리즘은 다음과 같이 정의될 수 있다.The Enc algorithm can be defined as follows.

Enc(P,K,M) → CEnc (P, K, M) C

즉, Enc 알고리즘은 시스템 파라미터(P), 키(K), 및 메시지(M)을 입력받아 메시지(M)를 암호화하는 알고리즘이다. 초기에 정의된 대칭키 암호를 사용하여 생성된 암호문을 출력한다. That is, the Enc algorithm is an algorithm for encrypting the message M by receiving the system parameter P, the key K, and the message M. [ Outputs the generated ciphertext using the initially defined symmetric key cipher.

Dec 알고리즘은 다음과 같이 정의될 수 있다.Dec algorithm can be defined as follows.

Dec(P,K,C) → MDec (P, K, C) M

즉, Dec 알고리즘은 시스템 파라미터(P), 키(K), 및 암호문(C)을 입력받아 복호화하는 알고리즘이다.That is, the Dec algorithm is an algorithm that receives and decrypts the system parameter P, the key K, and the cipher text C.

상기와 같은 메시지 고정 암호 기법은 메시지로부터 추출된 키를 사용하여 결정적 대칭키 암호화를 수행하기 때문에 동일한 메시지는 언제나 동일한 암호문을 생성한다.Since the message fixed cryptosystem performs deterministic symmetric key encryption using the key extracted from the message, the same message always generates the same ciphertext.

메시지 고정 암호 기법에 대한 보다 자세한 내용은 "Message-Locked Encryption and Secure Deduplication(M. Bellare, et al., EUROCRYPT 2013)"가 참조될 수 있다.For more information on message-locked cryptography, see "Message-Locked Encryption and Secure Deduplication" (M. Bellare, et al., EUROCRYPT 2013).

또한, 본 발명에서 이용되는 해시함수, 특히 충돌 저항(collision resistance) 해시 함수는 H:{0,1}* → {0,1}n(SHA256의 경우 n=256)로 정의될 수 있다.In addition, the hash function used in the present invention, in particular, the collision resistance hash function can be defined as H: {0,1} * - {0,1} n (n = 256 in the case of SHA256).

도 2는 도 1에 도시된 중복 제거 서버의 기능 블럭도이다.2 is a functional block diagram of the deduplication server shown in FIG.

도 1과 도 2를 참조하면, 중복 제거 서버(10)는 중복 확인 모듈(110), 중복 제거 모듈(130), 및 DB(150)를 포함한다.Referring to FIG. 1 and FIG. 2, the deduplication server 10 includes a duplication checking module 110, a deduplication module 130, and a DB 150.

중복 확인 모듈(110)은 제1 단말기(200) 또는 제2 단말기(300)로부터 태그(Tag)와 질의값(R)을 수신한다. 중복 확인 모듈(110)은 수신된 태그(Tag)를 이용하여 제1 단말기(200) 또는 제2 단말기(300)가 업로드 하려는 데이터의 중복 여부, 즉 상기 데이터가 DB(150)에 저장되어 있는지 여부를 확인한다.The redundancy checking module 110 receives a tag and a query value R from the first terminal 200 or the second terminal 300. The duplicate confirmation module 110 determines whether the data to be uploaded by the first terminal 200 or the second terminal 300 is duplicated using the received tag or whether the data is stored in the DB 150 .

중복 확인 모듈(110)은 소정의 룩업 테이블(lookup table)을 이용하여 데이터의 중복 여부를 확인할 수 있다. 즉, 중복 확인 모듈(110)은 수신된 태그(Tag)가 상기 룩업 테이블에 포함되어 있는 경우 상기 업로드하려는 데이터와 동일한 데이터가 DB(150)에 저장되어 있는 것으로 결정하고, 수신된 태그(Tag)가 상기 룩업 데이블에 포함되어 있지 않은 경우 상기 업로드하려는 데이터와 동일한 데이터가 DB(150)에 저장되어 있지 않은 것으로 결정할 수 있다.The redundancy checking module 110 can check whether data is duplicated using a predetermined lookup table. That is, when the received tag is included in the lookup table, the duplication checking module 110 determines that the same data as the data to be uploaded is stored in the DB 150, Is not included in the lookup table, it can be determined that the same data as the data to be uploaded is not stored in the DB 150.

또한, 중복 확인 모듈(110)은 질의값(R)에 대한 응답으로 응답값(H(CT,R)을 제1 단말기(200) 또는 제2 단말기(300)로 송신함으로써, 중복 제거 서버(100)에 암호문이 존재함을 증명할 수 있다.The redundancy checking module 110 transmits the response value H (CT, R) to the first terminal 200 or the second terminal 300 in response to the query value R, ) Can prove that a cipher text exists.

중복 제거 모듈(130)은 제1 단말기(200) 또는 제2 단말기(300)로 데이터의 업로드 요청(Reg1)을 송신하고, 제1 단말기(200) 또는 제2 단말기(300)로부터 암호문(CT)을 수신할 수 있다. 즉, 중복 제거 모듈(130)은 업로드하려는 데이터가 중복 저장되어 있지 않다고 판단되는 경우, 데이터의 업로드를 요청하는 업로드 요청(Req1)을 제1 단말기(200) 또는 제2 단말기(300)로 송신할 수 있다. 또한, 업로드 요청(Req1)을 수신한 제1 단말기(200) 또는 제2 단말기(300)는 메시지에 대한 암호문(CT)을 중복 제거 모듈(130)로 송신할 수 있다. 암호문(CT)을 수신한 중복 제거 모듈(130)은 수신된 암호문(CT)을 DB(150)에 저장할 수 있다. 이때, 중복 제거 모듈(130)은 룩업 테이블을 업데이트하여, 이후에 암호문(CT)의 중복 저장 여부를 판단 때 이용할 수 있다.The duplicate removal module 130 transmits a data upload request Reg1 to the first terminal 200 or the second terminal 300 and receives a ciphertext CT from the first terminal 200 or the second terminal 300. [ Lt; / RTI > That is, when it is determined that the data to be uploaded is not redundantly stored, the duplicate removal module 130 transmits an upload request (Req1) requesting upload of data to the first terminal 200 or the second terminal 300 . In addition, the first terminal 200 or the second terminal 300 receiving the upload request Req1 may transmit the ciphertext (CT) for the message to the deduplication module 130. [ Upon receiving the ciphertext (CT), the deduplication module 130 may store the received ciphertext (CT) in the DB 150. At this time, the de-duplication module 130 may update the look-up table and use it later to determine whether to store the ciphertext (CT) redundantly.

실시 예에 따라, 중복 제거 모듈(130)은 제1 단말기(200) 또는 제2 단말기(300)로부터 중복 제거 요청(Reg2) 또는 중복 저장 요청(Reg3)을 수신할 수 있다.According to an embodiment, the deduplication module 130 may receive a duplicate removal request (Reg2) or a duplicate storage request (Reg3) from the first terminal 200 or the second terminal 300. [

구체적으로, 중복 제거 모듈(130)이 중복 제거 요청(Req2)을 수신한 경우는, 업로드하려는 데이터가 DB(150)에 이미 저장되어 있는 경우이다. 이 때, 중복 제거 모듈(130)은 업로드하려는 데이터를 수신하지 않음으로써, 저장 공간을 효율적으로 활용할 수 있다.Specifically, when the duplicate removal module 130 receives the duplicate removal request (Req2), the data to be uploaded is already stored in the DB 150. [ At this time, the deduplication module 130 does not receive the data to be uploaded, so that the storage space can be efficiently utilized.

중복 제거 모듈(130)이 중복 저장 요청(Req3)을 수신한 경우는, 업로드하려는 데이터가 DB(150)에 저장되어 있지 않은 경우이다. 이 때, 중복 제거 모듈(130)을 제1 단말기(200) 또는 제2 단말기(300)로부터 메시지에 대한 암호문(CT)을 수신하고, 수신된 암호문(CT)을 DB(150)에 저장한다. 또한, 암호문(CT)은 중복 제거 모듈(130)이 제1 단말기(200) 또는 제2 단말기(300)로 송신한 업로드 요청(Req1)에 대한 응답으로 수신될 수도 있다.When the duplicate removal module 130 receives the duplicate storage request Req3, the data to be uploaded is not stored in the DB 150. [ At this time, the deduplication module 130 receives the ciphertext (CT) for the message from the first terminal 200 or the second terminal 300, and stores the received ciphertext (CT) in the DB 150. The ciphertext CT may also be received in response to an upload request Req1 transmitted from the de-duplication module 130 to the first terminal 200 or the second terminal 300. [

실시 예에 따라, 중복 제거 모듈(130)은 업로드하려는 데이터가 DB(150)에 이미 저장되어 있는 경우라도, 제1 단말기(200) 또는 제2 단말기(300)의 중복 저장 요청(Req3)에 응답하여, 메시지에 대한 암호문(CT)을 수신하고, 수신된 암호문(CT)을 DB(150)에 저장할 수도 있다.The duplication elimination module 130 may respond to the duplicate storage request Req3 of the first terminal 200 or the second terminal 300 even if the data to be uploaded is already stored in the DB 150 (CT) for the message, and store the received ciphertext (CT) in the DB 150. [

도 2에 도시된 중복 제거 서버(100)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.Each of the configurations of the deduplication server 100 shown in FIG. 2 indicates that it is functionally and logically separable, and does not necessarily mean that each configuration is divided into separate physical devices or written in separate codes. May be easily deduced by the average expert in the field of the present invention.

또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아니다.In this specification, a module may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and does not necessarily mean a physically connected code or a kind of hardware.

또한, 본 명세서에서 DB라 함은, 각각의 DB에 대응되는 정보를 저장하는 소프트웨어 및 하드웨어의 기능적 구조적 결합을 의미할 수 있다. DB는 적어도 하나의 테이블로 구현될 수도 있으며, 상기 DB에 저장된 정보를 검색, 저장, 및 관리하기 위한 별도의 DBMS(Database Management System)를 더 포함할 수도 있다. 또한, 링크드 리스트(linked-list), 트리(Tree), 관계형 DB의 형태 등 다양한 방식으로 구현될 수 있으며, 상기 DB에 대응되는 정보를 저장할 수 있는 모든 데이터 저장매체 및 데이터 구조를 포함한다.Also, in this specification, a DB may mean functional and structural combination of software and hardware for storing information corresponding to each DB. The DB may be implemented as at least one table, and may further include a separate DBMS (Database Management System) for searching, storing, and managing information stored in the DB. In addition, it can be implemented in various ways such as a linked-list, a tree, and a relational DB, and includes all data storage media and data structures capable of storing information corresponding to the DB.

도 3과 도 4는 도 1에 도시된 중복 제거 시스템의 동작 방법을 설명하기 위한 흐름도로써, 도 3은 최초 업로더를 대상으로 하는 동작 방법을 설명하기 위한 흐름도이고, 도 4는 이차 사용자를 대상으로 하는 동작 방법을 설명하기 위한 흐름도이다.3 and 4 are flowcharts for explaining an operation method of the deduprection system shown in FIG. 1, wherein FIG. 3 is a flowchart for explaining an operation method for an initial uploader, FIG. Fig. 2 is a flowchart for explaining an operation method for setting an operation mode.

도 1 내지 도 4를 참조하면, 제1 단말기(200)는 메시지(M1)에 대한 해시값으로 암호화키(K1=H(M1))를 생성하고, 메시지(M1)와 암호화키(K1)에 대한 해시값으로 태그(Tag1=H(M1,K1))를 생성한다(S110). 본 발명에서 이용되는 태그와 암호화키는 데이터로부터 결정적(deterministic)이다. 즉, 암호화키와 태그는 데이터에 따라 결정되므로 동일한 데이터를 소유하는 자는 누구라도 동일한 암호화키와 태그를 생성할 수 있다. 1 to 4, the first terminal 200 generates an encryption key (K1 = H (M1)) as a hash value for the message M1 and transmits the message M1 and the encryption key K1 (Tag1 = H (M1, K1)) as the hash value of the hash value (S110). The tags and encryption keys used in the present invention are deterministic from the data. That is, the encryption key and the tag are determined according to the data, so that anyone possessing the same data can generate the same encryption key and tag.

또한, 제1 단말기(200)는 질의(challenge)값으로 사용할 난수(R1)를 선택하고, 태그(Tag1)와 난수(R1)를 중복 제거 서버(100)로 전송한다(S130). 상기 질의값은 중복 제거 서버(100)가 메시지(M1) 또는 메시지(M1)에 대한 암호문(CT1)을 보유하고 있는지 여부를 확인하기 위한 용도로 활용된다.Also, the first terminal 200 selects a random number R1 to be used as a challenge value, and transmits the tag Tag1 and the random number R1 to the deduplication server 100 (S130). The query value is used for checking whether the de-duplication server 100 holds the message M1 or the ciphertext CT1 for the message M1.

중복 제거 서버(100)는 태그(Tag1)와 난수(R1)를 수신하고, 수신된 태그(Tag1)에 기초하여 중복 제거 여부를 결정한다(S150). 즉, 수신된 태그(Tag1)의 값과 동일한 값이 존재하는 경우, 제1 단말기(100)의 사용자, 즉 제1 사용자는 최초 업로더(first uploader)가 되고, 수신된 태그(Tag1)와 동일한 값이 존재하지 않는 경우, 상기 제1 사용자는 이차 사용자(secondary user)가 된다. 이와 같이, 태그(Tag1)를 통하여 메시지의 중복 여부가 판단될 수 있다. 또한, 상기 비교는 룩업 테이블을 통하여 수행될 수 있다.The deduplication server 100 receives the tag Tag1 and the random number R1 and determines whether or not to remove the tag based on the received tag Tag1 in operation S150. That is, when there is a value equal to the value of the received tag (Tag1), the user of the first terminal 100, that is, the first user becomes the first uploader, and the same as the received tag (Tag1) If there is no value, the first user is a secondary user. Thus, it is possible to determine whether the message is duplicated through the tag Tag1. Also, the comparison may be performed through a look-up table.

상기 제1 사용자가 최초 업로더로 결정된 경우, 중복 제거 서버(100)는 제1 단말기(200)로 데이터의 업로드 요청(Req1)을 송신한다(S170). If the first user is determined as the initial uploader, the deduplication server 100 transmits a data upload request (Req1) to the first terminal 200 (S170).

업로드 요청(Req1)을 수신한 제1 단말기(200)는 암호화키(K1)를 이용하여 메시지(M1)을 암호화하여 암호문(CT1=SE(K1,M1))을 생성할 수 있다. 또한, 제1 단말기(200)는 생성된 암호문(CT1)을 중복 제거 서버(100)로 송신한다(S190).The first terminal 200 receiving the upload request Req1 can generate the ciphertext CT1 = SE (K1, M1) by encrypting the message M1 using the encryption key K1. Also, the first terminal 200 transmits the generated ciphertext CT1 to the deduplication server 100 (S190).

암호문(CT1)를 수신한 중복 제거 서버(100)는 수신된 암호문(CT1)과 태그(Tag1)를 DB에 저장한다. Upon receiving the ciphertext CT1, the deduplication server 100 stores the received ciphertext CT1 and the tag Tag1 in the DB.

이와 같은 과정을 통하여 최초 업로더의 데이터는 중복 제거 서버(100)에 저장된다. 이하에서는 제2 단말기(300)를 이차 사용자로 가정하여 기술하기로 한다.Through this process, the data of the initial uploader is stored in the deduplication server 100. Hereinafter, the second terminal 300 will be described as a secondary user.

제2 단말기(300)는 메시지(M2)에 대한 해시값으로 암호화키(K2=H(M2))를 생성하고, 메시지(M2)와 암호화키(K2)에 대한 해시값으로 태그(Tag2=H(M2,K2))를 생성한다(S310). 또한, 제2 단말기(300)는 질의값으로 사용할 난수(R2)를 선택한 뒤, 태그(Tag2)와 질의값(R2)를 중복 제거 서버(100)로 전송한다(S330). The second terminal 300 generates an encryption key (K2 = H (M2)) as a hash value for the message M2 and generates a hash value for the message M2 and the encryption key K2 (M2, K2)) (S310). Also, the second terminal 300 selects a random number R2 to be used as a query value, and transmits the tag (Tag2) and the query value R2 to the deduplication server 100 (S330).

태그(Tag2)와 질의값(R2)을 수신한 중복 제거 서버(100)는 수신된 태그(Tag2)를 이용하여 제2 단말기(300)가 업로드 하려는 데이터(M2)가 DB(150)에 이미 저장되어 있는지 여부를 결정한다(S350).Upon receiving the tag (Tag2) and the query value (R2), the deduplication server (100) stores the data (M2) to be uploaded by the second terminal (300) in the DB (150) (S350).

태그(Tag2)와 일치하는 태그가 존재하는 경우, 제2 단말기(300)의 사용자, 즉 제2 사용자는 최초 업로더가 된다. 이 경우, 상술한 바와 같이, 제1 단말기(100)와의 송수신 과정을 반복하게 된다. 태그(Tag2)와 일치하는 태그가 존재하지 않는 경우, 상기 제2 사용자는 이차 사용자가 되므로, 중복 제거 수행 여부가 결정되어야 한다.If there is a tag that matches the tag (Tag2), the user of the second terminal 300, that is, the second user, becomes the initial uploader. In this case, the transmission / reception process with the first terminal 100 is repeated as described above. If there is no tag corresponding to the tag (Tag2), the second user is a secondary user, and thus it is determined whether or not to perform deduplication.

우선, 중복 제거 서버(100)는 메시지(M2)의 존재 여부를 증명하기 위하여, 제2 단말기(300)로부터 수신한 질의값(R2)과 메시지(M2)에 대한 암호문(CT2)에 대한 해시값을(H(CT,R2))을 생성한다. 중복 제거 서버(100)는 생성된 해시값을 응답값으로 하여 제2 단말기(300)로 송신한다(S370).First, the deduplication server 100 extracts a hash value R2 for the query value R2 received from the second terminal 300 and a cipher text CT2 for the message M2 to verify whether the message M2 exists. (H (CT, R2)). The deduplication server 100 transmits the generated hash value as a response value to the second terminal 300 (S370).

제2 단말기(300)는 메시지(M2)가 중복 제거 서버(100)에 존재하는지 여부, 즉 메시지의 중복 여부를 검증한다(S380). 구체적으로, 제2 단말기(300)는 암호화키(K2)로 대칭키 암호화하여 메시지(M2)에 대한 암호문(CT2=SE(K2,M2)를 생성한다. 제2 단말기(300)는 암호문(CT2)과 질의값(R2)을 해시함수의 입력값으로 하여 H(CT2,R2)를 생성한다. 제2 단말기(300)는 생성된 해시값(H(CT2,R2))과 중복 제거 서버(100)로부터 수신된 응답값(H(CT2,R2))을 비교함으로써, 메시지(M2)가 중복 제거 서버(100)에 존재하는지 여부를 검증할 수 있다. 즉, 제2 단말기(300)는 생성된 해시값(H(CT2,R2))과 수신된 응답값(H(CT2,R2))의 값이 동일한 경우, 메시지(M2)가 중복 제거 서버(100)에 존재하는 것으로 판단하고, 생성된 해시값(H(CT2,R2))과 수신된 응답값(H(CT,R2))이 동일하지 않는 경우, 메시지(M2)가 중복 제거 서버(100)에 존재하지 않는 것으로 판단할 수 있다.The second terminal 300 verifies whether the message M2 exists in the deduplication server 100, that is, whether the message is duplicated (S380). Specifically, the second terminal 300 generates a ciphertext (CT2 = SE (K2, M2) for the message M2 by symmetric key encryption with the encryption key K2. The second terminal 300 transmits the ciphertext CT2 The second terminal 300 generates the hash value H (CT2, R2) and the generated hash value H (CT2, R2) using the hash value R2 and the query value R2 as input values of the hash function. The second terminal 300 can verify whether or not the message M2 exists in the deduplication server 100 by comparing the response value H (CT2, R2) It is determined that the message M2 exists in the deduplication server 100 when the hash value H (CT2, R2) and the received response value H (CT2, R2) are equal to each other, It can be determined that the message M2 does not exist in the deduplication server 100 when the value H (CT2, R2) and the received response value H (CT, R2) are not the same.

제2 단말기(300)는 생성된 해시값(H(CT2,R2))과 수신된 응답값(H(CT,R2))이 동일한 경우, 중복 제거 요청(Req2)을 중복 제거 서버(100)로 전송하고, 생성된 해시값(H(CT2,R2))과 수신된 응답값(H(CT,R2))이 동일하지 않은 경우, 중복 저장 요청(Req3)을 중복 제거 서버(100)로 전송한다(S390). 또한, 중복 제거 서버(100)는 제2 단말기(300)로부터 메시지(M2)에 대한 암호문(CT2)을 수신하고, 수신된 암호문(CT2)을 DB(150)에 저장한다. 이 때, 제2 단말기(300)는 중복 제거 서버(100)가 제2 단말기(300)로 송신한 업로드 요청에 대한 응답으로 암호문(CT2)을 송신할 수도 있다.The second terminal 300 transmits the duplicate removal request Req2 to the deduplication server 100 when the generated hash value H (CT2, R2) and the received response value H (CT, R2) And transmits the duplicate storage request Req3 to the deduplication server 100 when the generated hash value H (CT2, R2) and the received response value H (CT, R2) are not the same (S390). The deduplication server 100 also receives the cipher text CT2 for the message M2 from the second terminal 300 and stores the received cipher text CT2 in the DB 150. [ At this time, the second terminal 300 may transmit the cipher text (CT2) in response to the upload request transmitted from the de-duplication server 100 to the second terminal 300. [

상술한 바와 같이, 중복 제거 시스템(10)은 사용자측 중복 제거 기술에서 악의적인 최초 업로더의 중복 위장 공격으로부터 이차 사용자의 데이터를 보호할 수 있다. As described above, the deduplication system 10 can protect the secondary user's data from the duplicate spoofing attack of the malicious initial uploader in the user side deduplication technology.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

10 : 중복 제거 시스템
100 : 중복 제거 서버
110 : 중복 확인 모듈
130 : 중복 제거 모듈
150 : DB
200 : 제1 단말기
300 : 제2 단말기
10: Deduplication system
100: Deduplication server
110: Redundancy check module
130: Deduplication module
150: DB
200: first terminal
300: second terminal

Claims (7)

서버가 단말기로부터 태그와 질의값을 수신하는 단계;
상기 태그를 이용하여 상기 단말기가 업로드 하려는 메시지에 대한 암호문의 중복 여부를 결정하는 단계;
상기 암호문이 중복되지 않는 경우,
상기 단말기로 상기 메시지에 대한 업로드 요청을 송신하는 단계;
상기 단말기로부터 상기 암호문을 수신하는 단계;
상기 암호문이 중복되는 경우,
상기 질의값과 상기 암호문을 입력으로 하는 해시값인 응답값을 생성하는 단계; 및
상기 응답값을 상기 단말기로 송신하는 단계를 포함하는 중복 제거 방법.
The server receiving a tag and a query value from the terminal;
Determining whether a cipher text of the message to be uploaded by the terminal is duplicated using the tag;
If the encrypted text does not overlap,
Transmitting an upload request for the message to the terminal;
Receiving the cipher text from the terminal;
If the encrypted text is duplicated,
Generating a response value that is a hash value based on the query value and the cipher text; And
And transmitting the response value to the terminal.
제1항에 있어서,
상기 태그는 상기 메시지를 입력으로 하는 해시값인 암호화키를 입력으로 하는 해시값인,
중복 제거 방법.
The method according to claim 1,
Wherein the tag is a hash value having an encryption key as a hash value,
Deduplication method.
삭제delete 제1항에 있어서,
상기 암호문이 중복되는 경우, 상기 단말기로부터 중복 제거 요청을 수신하는 단계를 더 포함하는 중복 제거 방법.
The method according to claim 1,
Further comprising receiving a deduplication request from the terminal if the cipher text is duplicated.
단말기가 메시지에 대한 해시값인 암호화키와 상기 암호화키에 대한 해시값인 태그를 생성하는 단계;
상기 단말기가 질의값과 상기 태그를 서버로 송신하는 단계;
상기 단말기가 상기 서버로부터 상기 메시지에 대한 암호문과 상기 질의값을 입력으로 하는 해시값인 응답값을 수신하는 단계;
상기 단말기가 상기 암호문과 상기 질의값을 입력으로 하는 해시값과 상기 응답값을 비교하여, 상기 서버에 상기 메시지에 대한 암호문이 존재하는 여부를 검증하는 단계; 및
상기 단말기가, 상기 메시지에 대한 암호문과 상기 질의값을 입력으로 하는 해시값과 상기 응답값이 일치하는 경우, 중복 제거 요청을 상기 서버로 송신하는 단계를 포함하는 중복 제거 방법.
Generating a tag that is a hash value for the message and a hash value for the message;
The terminal transmitting a query value and the tag to a server;
Receiving, by the terminal, a response value which is a hash value for inputting the cipher text and the query value for the message from the server;
Comparing the response value with a hash value in which the terminal inputs the ciphertext and the query value and verifying whether the ciphertext for the message exists in the server; And
And transmitting, by the terminal, a duplicate removal request to the server when the hash value and the response value match the ciphertext and the query value for the message.
제5항에 있어서,
상기 메시지에 대한 암호문과 상기 질의값을 입력으로 하는 해시값과 상기 응답값이 일치하지 않는 경우, 중복저장요청을 상기 서버로 송신하는 단계를 더 포함하는, 중복 제거 방법.
6. The method of claim 5,
Further comprising the step of transmitting a duplicate storage request to the server when the hash value and the response value do not match the ciphertext and the query value of the message.
DB(database);
단말기로부터 태그를 수신하고, 상기 태그를 이용하여 상기 단말기가 업로드 하려는 메시지에 대한 암호문이 상기 DB에 저장되어 있는지 여부를 결정하기 위한 중복 확인 모듈; 및
상기 암호문이 상기 DB에 저장되어 있지 않은 경우, 상기 메시지에 대한 업로드 요청을 상기 단말기로 송신하고, 상기 단말기로부터 상기 암호문을 수신하기 위한 중복 제거 모듈을 포함하고,
상기 암호문이 상기 DB에 저장되어 있는 경우,
상기 중복 확인 모듈은 상기 단말기로부터 수신된 질의값과 상기 암호문을 입력으로 하는 해시값인 응답값을 생성하고, 상기 응답값을 상기 단말기로 송신하고,
상기 중복 제거 모듈은 상기 단말기로부터 중복 제거 요청 또는 중복 저장 요청을 수신하는,
데이터 중복 제거 서버.
DB (database);
A duplicate checking module for receiving a tag from a terminal and determining whether a cipher text for a message to be uploaded by the terminal is stored in the DB using the tag; And
And a duplicate removal module for sending an upload request for the message to the terminal and receiving the cipher text from the terminal if the cipher text is not stored in the DB,
If the encrypted text is stored in the DB,
Wherein the duplicate confirmation module generates a response value that is a hash value that receives the query value received from the terminal and the ciphertext, transmits the response value to the terminal,
Wherein the de-duplication module receives a de-duplication request or a de-duplication request from the terminal,
Data deduplication server.
KR1020140105931A 2014-08-14 2014-08-14 Server and method for data dedeplication KR101595065B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140105931A KR101595065B1 (en) 2014-08-14 2014-08-14 Server and method for data dedeplication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140105931A KR101595065B1 (en) 2014-08-14 2014-08-14 Server and method for data dedeplication

Publications (1)

Publication Number Publication Date
KR101595065B1 true KR101595065B1 (en) 2016-02-29

Family

ID=55448487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140105931A KR101595065B1 (en) 2014-08-14 2014-08-14 Server and method for data dedeplication

Country Status (1)

Country Link
KR (1) KR101595065B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140034222A (en) * 2011-05-14 2014-03-19 비트카사, 인코포레이티드 Cloud file system with server-side deduplication of user-agnostic encrypted files

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140034222A (en) * 2011-05-14 2014-03-19 비트카사, 인코포레이티드 Cloud file system with server-side deduplication of user-agnostic encrypted files

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Message-Locked Encryption and Secure Deduplication(M. Bellare, et al., EUROCRYPT 2013)

Similar Documents

Publication Publication Date Title
US10402571B2 (en) Community-based de-duplication for encrypted data
KR101190059B1 (en) Method for data encryption and method for conjunctive keyword search of encrypted data
EP3375129B1 (en) Method for re-keying an encrypted data file
US10361840B2 (en) Server apparatus, search system, terminal apparatus, search method, non-transitory computer readable medium storing server program, and non-transitory computer readable medium storing terminal program
US11296879B2 (en) Encrypted search
CN105656624A (en) Client side, server and data transmission method and system
CN104967693A (en) Document similarity calculation method facing cloud storage based on fully homomorphic password technology
CN111294203B (en) Information transmission method
US9037846B2 (en) Encoded database management system, client and server, natural joining method and program
CN101784045A (en) Method and device for generating secrete key and method and device for loading secrete key
WO2018047698A1 (en) Encoded message retrieval method, message transmission/reception system, server, terminal, and program
Clarke et al. Cryptanalysis of the dragonfly key exchange protocol
CN102811212A (en) Data encryption method with repetitive data deleting function and system thereof
CN108141364A (en) Message authentication
Luo et al. A security communication model based on certificateless online/offline signcryption for Internet of Things
US11582028B1 (en) Sharing grouped data in an organized storage system
KR101595065B1 (en) Server and method for data dedeplication
KR101388452B1 (en) Method of migrating certificate to mobile terminal using certificate transmission server based on one-time public information and apparatus using the same
CN111131158A (en) Single byte symmetric encryption and decryption method, device and readable medium
Yoo et al. Confidential information protection system for mobile devices
KR102528441B1 (en) Wireless sensor network system generating a dynamic encryption key using blockchain and method for generating a dynamic encryption key in the system
US11888971B2 (en) Sharing access to data externally
CN113472728B (en) Communication method and device
CN117150561A (en) Information query method and device based on blockchain and storage medium
JP6538923B2 (en) Authentication system, method, program and server

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200128

Year of fee payment: 5