KR20190022344A - Method and apparatus for securing data - Google Patents

Method and apparatus for securing data Download PDF

Info

Publication number
KR20190022344A
KR20190022344A KR1020180096360A KR20180096360A KR20190022344A KR 20190022344 A KR20190022344 A KR 20190022344A KR 1020180096360 A KR1020180096360 A KR 1020180096360A KR 20180096360 A KR20180096360 A KR 20180096360A KR 20190022344 A KR20190022344 A KR 20190022344A
Authority
KR
South Korea
Prior art keywords
data
processor
partial
noise
protection device
Prior art date
Application number
KR1020180096360A
Other languages
Korean (ko)
Other versions
KR102153993B1 (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 US16/113,530 priority Critical patent/US10902144B2/en
Publication of KR20190022344A publication Critical patent/KR20190022344A/en
Application granted granted Critical
Publication of KR102153993B1 publication Critical patent/KR102153993B1/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
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Abstract

The present invention may provide an efficient data polymorphic dispersion technique for providing the confidentiality and the stability of the entire data and minimizing amount of computation required to protect data since the entire original data is prevented from being restored when an attacker obtains a part of distributed data and a legitimate user may accurately restore original data when distributed some data is damaged by providing a data protection device. The data protection device comprises: a memory storing information for data processing; a processor dividing original data into a plurality of pieces of partial data and generating a plurality of pieces of partitioned data by arbitrarily determining positions in each original data of the partial data; and a communication unit transmitting the partitioned data to each of the servers.

Description

데이터 보호 방법 및 장치{METHOD AND APPARATUS FOR SECURING DATA}[0001] METHOD AND APPARATUS FOR SECURING DATA [0002]

본 발명은 데이터 보호 방법 및 데이터를 보호하는 장치에 관한 것이다.The present invention relates to a data protection method and an apparatus for protecting data.

인간의 모든 생활이 정보가 되어 수집되고 활용되는 IoT 기반의 빅데이터 환경에서, 서버에 수집된 데이터에 대한 공격 기법이 날이 갈수록 지능화되고 다양해지고 있다. 기존의 공격 기법에 대하여 지금까지 알려진 대응 방법은 데이터에 대한 위협을 완벽하게 차단하는 데에 한계가 있다. 또한, 빈번히 발생하는 개인 정보 유출 사례에서 알 수 있듯이, 해킹을 원천적으로 방지하는 것은 매우 어려우며, 따라서 데이터가 관리되는 서버의 권한을 해킹 등을 통해서 공격자가 획득한 경우에 대해서도 데이터를 보호하기 위한 대비책이 요구되고 있다.In an IoT-based big data environment where all human lives are gathered and utilized as information, attack techniques against data collected on servers are getting more intelligent and diverse. Known countermeasures against existing attack techniques have a limitation in completely blocking data threats. In addition, as can be seen from the frequent occurrence of personal information leakage, it is very difficult to prevent hacking at its source. Therefore, even if an attacker acquires the authority of the server on which data is managed, .

데이터에 대한 공격이나 데이터의 유출을 근본적으로 방어하기 위한 방법으로서, 다양한 형태의 암호화 기술 중심의 연구가 진행되어 왔다. 그 예로, 검색 가능 암호, 순서 보존 암호, 암호데이터 중복 처리 및 소유권 관리 기술 등이 있으며, 데이터 암호화를 기반으로 암호 데이터 활용을 위한 부가 기능 제공이 주요 연구 주제라고 할 수 있다. 하지만, 상기한 예와 같은 암호화 기반의 보호 방법들은 저장된 데이터를 활용하는 데에 큰 제약이 발생하기 때문에 적용 범위가 제한되며 최근 발생하는 랜섬웨어 등의 데이터 훼손 공격에 무력화되는 단점을 지니고 있다. As a method to fundamentally defend against attacks on data or leakage of data, various types of encryption technologies have been studied. For example, searchable ciphers, order preservation ciphers, cipher data duplication processing, and proprietary management techniques, and providing additional functions for cipher data based on data encryption are the main research topics. However, the encryption-based protection methods as described above have a disadvantage in that they are limited in their application range because they have a great restriction to utilize the stored data, and they are ineffective in recent data attack such as Raman software.

반면, 서버에 저장된 데이터에 대한 복원성 검증과 관련된 분야도 연구가 되고 있다. 대표적으로 PDP(Provable Data Possession)와 PoR(Proof of Retrievability) 기술이 있다. PDP 기술은 서버가 실제 저장하고 있는 데이터의 존재성만을 제공하는 반면, PoR 기술은 데이터가 일부 훼손되는 경우 원본 데이터에 대한 복원 기능을 제공한다. PoR 기술의 데이터 복원 기술은 오류 정정 코드(ECC, error correcting code)를 적용하는 방법에 기반하고 있다. On the other hand, research related to the verification of stability of data stored in the server is also being studied. Typically, there are PDP (Provable Data Possession) and PoR (Proof of Retrievability) technologies. While the PDP technology provides only the presence of the data that the server actually stores, PoR technology provides a restore function to the original data when the data is partially damaged. Data restoration technology of PoR technology is based on applying error correcting code (ECC).

단말(데이터 소유자)은 자신의 데이터를 가공하여, 데이터가 일부 훼손되는 경우에도 복원 가능한 부호화 데이터를 생성한다. 이러한 부호화 기법으로는 다양한 오류 정정 코드 기법이 사용되고 있다. 이러한 부호화 데이터는 일부 데이터 훼손에 대한 원본 데이터 복원 기능을 제공하여, 네트워크 전송 오류나 디스크의 일부 부분에서의 물리적인 오류에 대한 데이터 보호 기능으로 활용된다. The terminal (data owner) processes its own data and generates recoverable encoded data even if the data is partially damaged. Various error correcting code schemes have been used as such coding schemes. This coded data provides original data restoration function for some data corruption, and is used as a data protection function for a network transmission error or a physical error in a part of the disk.

다만, 공격자가 해킹 등의 공격을 통해 특정 서버의 권한을 획득한 상황에서 공격자는 그 서버에 저장된 모든 데이터를 훼손하는 것이 가능하기 때문에, 일반적인 오류 정정 코드 적용 방식으로는 이러한 공격을 대응할 수 없다. 또한, 오류 정정 코드는 데이터의 기밀성을 보장하지 않기 때문에, 전체 부호화된 데이터를 공격자가 획득한 경우 손쉽게 원본 데이터를 복원할 수 있다는 단점이 있다. 특히, 최근 문제가 되고 있는 랜섬웨어의 경우, 공격한 서버의 모든 데이터를 훼손하기 때문에 일반적인 방식의 오류 정정 코드 적용 방식으로는 랜섬웨어 공격을 방지하기는 어렵다. However, since an attacker can compromise all the data stored in the server in the situation where an attacker has acquired the privilege of a specific server through an attack such as a hacking, a general error correcting code application method can not cope with such an attack. In addition, since the error correction code does not guarantee the confidentiality of data, there is a disadvantage that the original data can be easily restored when the entire encoded data is acquired by an attacker. In particular, in case of Ransomware, which is a recent problem, it is difficult to prevent the Ransomware attack by applying the general error correction code because it corrupts all the data of the attacked server.

즉, 데이터 암호화 기술은 서버에 저장된 데이터에 대한 원천적인 보호 기능을 제공하지만, 데이터 활용성을 저하시킨다는 문제를 내포하고 있으며, 최근 랜섬웨어 등의 데이터 훼손 공격에 대한 해결책을 제시하지 못하고 있다.In other words, although the data encryption technology provides original protection function for the data stored in the server, it has a problem of deteriorating the data utilization, and recently it can not provide a solution against the data corruption attack such as Ransomware.

본 발명의 실시예는 서버에 분산되어 저장되는 데이터에 대한 보안성의 문제와 분산된 데이터에 대한 활용성의 문제를 해결하는 방법 및 장치를 제공하는 것이다.Embodiments of the present invention provide a method and apparatus for solving the problem of security for data distributed and stored in a server and the problem of usability for distributed data.

본 발명의 실시예에 따른 데이터 보호 장치는 데이터 처리를 위한 정보를 저장하는 메모리; 원본 데이터를 복수의 부분 데이터로 분할하고, 상기 복수의 부분 데이터 각각의 상기 원본 데이터 내에서의 위치를 무작위로 결정하여 복수의 분할 데이터들을 생성하는 프로세서; 및 상기 복수의 분할 데이터들을 각각 복수의 서버로 전송하는 통신부를 포함할 수 있다.A data protection apparatus according to an embodiment of the present invention includes a memory for storing information for data processing; A processor for dividing original data into a plurality of partial data and randomly determining positions of the plurality of partial data in the original data to generate a plurality of divided data; And a communication unit for transmitting the plurality of divided data to a plurality of servers, respectively.

상기 프로세서는 상기 복수의 부분 데이터들 중 서로 다른 부분 데이터의 위치를 서로 치환할 수 있다.The processor may replace the positions of different partial data among the plurality of partial data with each other.

상기 프로세서는 상기 메모리에 저장된 비밀키를 획득하고, 상기 비밀키를 이용하여 의사 난수를 생성하며, 상기 의사 난수를 이용하여 상기 복수의 부분 데이터들의 위치를 무작위로 결정할 수 있다.The processor may obtain a secret key stored in the memory, generate a pseudo-random number using the secret key, and randomly determine the location of the plurality of partial data using the pseudo-random number.

상기 프로세서는 상기 원본 데이터에 오류 정정 코드(ECC, error correcting code)를 적용하여 부호화 데이터를 획득하고, 상기 비밀키를 이용하여 복수의 노이즈 조각들을 생성하며, 상기 노이즈 조각들을 상기 부호화 데이터에 무작위로 삽입하고, 상기 부호화 데이터를 복수의 부호화 부분 데이터들로 분할하며, 상기 복수의 부호화 부분 데이터들의 위치를 무작위로 결정하여 상기 복수의 분할 데이터들을 생성할 수 있다.Wherein the processor obtains encoded data by applying an error correcting code (ECC) to the original data, generates a plurality of noise fragments using the secret key, and randomly assigns the noise fragments to the encoded data The encoded data may be divided into a plurality of encoded partial data, and the plurality of divided data may be generated by randomly determining the positions of the plurality of encoded partial data.

상기 프로세서는 상기 비밀키를 이용하여 노이즈 스트링을 생성하고, 상기 노이즈 스트링에 기반하여, 상기 노이즈 조각들이 삽입될 위치와 값을 결정할 수 있다.The processor may generate the noise string using the secret key, and determine, based on the noise string, the location and value at which the noise fragments are to be inserted.

상기 통신부는 상기 복수의 서버로부터 상기 복수의 분할 데이터들을 수신하고, 상기 프로세서는 상기 복수의 분할 데이터들에 포함된 상기 복수의 부분 데이터들의 위치를 상기 원본 데이터 내에서의 변경 전 위치로 복원할 수 있다.Wherein the communication unit receives the plurality of divided data from the plurality of servers and the processor can restore the position of the plurality of partial data included in the plurality of divided data to a position before the change in the original data have.

상기 프로세서는 상기 비밀키를 이용하여 상기 복수의 분할 데이터들로부터 상기 복수의 노이즈 조각들을 제거할 수 있다.The processor may remove the plurality of noise fragments from the plurality of partitioned data using the secret key.

본 발명의 실시예에 따르면, 문서 파쇄기와 유사하게 디지털 정보를 작은 조각으로 분해하여, 데이터를 복수의 장소에 분산시켜 저장함으로써, 공격자가 분산된 데이터의 일부를 획득한 경우에도 전체 원본 데이터를 복원하는 것을 방지하고, 정당한 사용자는 분산된 일부 데이터가 훼손된 경우에도 원본 데이터를 정확하게 복원할 수 있어, 전체 데이터의 기밀성과 복원성을 제공할 수 있다.According to the embodiment of the present invention, similar to the document shredder, digital information is decomposed into small pieces and the data is distributed and stored in a plurality of places, so that even if the attacker acquires a part of the distributed data, And a legitimate user can accurately restore the original data even if some distributed data is damaged, thereby providing the confidentiality and resilience of the entire data.

또한, 데이터 암호화 기법을 사용하지 않음으로써, 데이터를 보호하는 데에 필요한 연산량을 최소화할 수 있는 효율적인 데이터 다형 분산 기술을 제공할 수 있다.In addition, by not using the data encryption technique, it is possible to provide an efficient data polymorphic dispersion technique that minimizes the amount of computation required to protect data.

도 1은 본 발명의 실시 예에 따른 데이터 보호 시스템을 도시한다.
도 2는 본 발명의 실시 예에 따른 데이터 분할 방법을 나타낸 흐름도이다.
도 3은 본 발명의 실시 예에 따른 노이즈 조각 추가 방법을 나타낸 흐름도이다.
도 4는 본 발명의 실시 예에 따른 데이터 치환 방법을 나타낸 흐름도이다.
도 5는 본 발명의 실시 예에 따른 데이터 복원 방법을 나타낸 흐름도이다.
도 6은 본 발명의 실시예에 따른 데이터 보호 과정을 도시한다.
Figure 1 illustrates a data protection system in accordance with an embodiment of the present invention.
2 is a flowchart illustrating a data dividing method according to an embodiment of the present invention.
3 is a flowchart illustrating a method of adding a noise piece according to an embodiment of the present invention.
4 is a flowchart illustrating a data replacement method according to an embodiment of the present invention.
5 is a flowchart illustrating a data restoration method according to an embodiment of the present invention.
FIG. 6 illustrates a data protection process according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

도 1은 본 발명의 실시 예에 따른 데이터 보호 시스템을 도시한다.Figure 1 illustrates a data protection system in accordance with an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터 보호 시스템(100)은 데이터를 소유하는 단말(110) 그리고 데이터를 저장하는 복수의 서버들(121, 122, 123, 124)을 포함할 수 있다. 단말(110)은 통신부(111), 메모리(113) 그리고 통신부(111) 및 메모리(113)를 제어하기 위한 프로세서(112)를 포함할 수 있다. 1, a data protection system 100 according to an embodiment of the present invention includes a terminal 110 that owns data and a plurality of servers 121, 122, 123, and 124 that store data. can do. The terminal 110 may include a communication unit 111, a memory 113, a communication unit 111, and a processor 112 for controlling the memory 113.

통신부(111)는 각 서버들(121, 122, 123, 124)과 통신(예를 들면, 무선 통신) 방식을 설정하고, 설정된 통신 방식을 이용하여 데이터를 각 서버들(121, 122, 123, 124)로 전송할 수 있다.The communication unit 111 sets a communication method (for example, a wireless communication) with each of the servers 121, 122, 123 and 124 and transmits data to the servers 121, 122, 123, 124).

메모리(113)는 외부로부터 데이터를 획득하여 저장할 수 있다. 메모리(113)는 데이터를 본 발명의 데이터 보호 방법에 따라 가공하기 위한 정보들(예를 들면, 비밀키 등)을 저장할 수 있다.The memory 113 can acquire and store data from the outside. The memory 113 may store information (e.g., secret keys, etc.) for processing data according to the data protection method of the present invention.

프로세서(112)는 메모리(113)에 저장된 데이터를 가공 및 분할하여 각 서버들(121, 122, 123, 124)로 전송할 수 있다. 이를 위해, 프로세서(112)는 메모리(113)에 저장된 데이터에 대하여 오류 정정 코드(ECC, error correcting code)를 적용하고, 오류 정정 코드가 적용된 부호화 데이터(encoded data)를 분할하며, 분할된 각 분할 데이터들을 각 서버들(121, 122, 123, 124)로 전송할 수 있다. 이러한 오류 정정 코드 적용 기법(부호화 기법)으로는 다양한 오류 정정 코드 적용 방식을 사용하며, 본 발명에서는 특정 오류 정정 코드 적용 알고리즘으로 한정하지 않는다. The processor 112 may process and divide the data stored in the memory 113 and send it to the respective servers 121, 122, 123, To this end, the processor 112 applies an error correcting code (ECC) to the data stored in the memory 113, divides the encoded data to which the error correction code is applied, Data can be transmitted to each of the servers 121, 122, 123, Various error correcting code applying methods are used as the error correcting code applying method (encoding method), and the present invention is not limited to the specific error correcting code applying algorithm.

각 서버들(121, 122, 123, 124)는 분할된 각 분할 데이터들을 각 서버에 포함된 저장 장치(미도시)에 저장할 수 있다.Each of the servers 121, 122, 123, and 124 may store the divided divided data in a storage device (not shown) included in each server.

단말(110)로부터 수신된 각 분할 데이터들을 저장한 후에 다시 단말(110)로부터 각 분할 데이터들에 대한 요청이 획득되면, 각 서버들(121, 122, 123, 124)은 각 분할 데이터들을 단말(110)로 전송한다. 단말(110)은 수신된 분할 데이터들을 취합하여 원본 데이터를 복원할 수 있다. Each of the servers 121, 122, 123, and 124 transmits the divided data to the terminal 110. The divided data is then transmitted to the terminal 110, 110). The terminal 110 can recover the original data by collecting the received divided data.

도 2는 본 발명의 실시 예에 따른 데이터 분할 방법을 나타낸 흐름도이다. 2 is a flowchart illustrating a data dividing method according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터 보호 방법은 원본 데이터 획득 단계(S201), 분할 단계(S203) 및 데이터 전송 단계(S205)을 포함할 수 있다. As shown in FIG. 2, the data protection method according to the embodiment of the present invention may include an original data acquisition step (S201), a separation step (S203), and a data transmission step (S205).

S201 단계에서, 단말(예: 도 1의 단말(110))은 복수의 부분 데이터들이 일정한 순서로 배열된 원본 데이터를 획득할 수 있다. In step S201, the terminal (e.g., the terminal 110 in FIG. 1) can acquire original data in which a plurality of partial data are arranged in a predetermined order.

먼저, 프로세서(112)는 데이터의 가공에 이용하기 위한 X-bits의 비밀키(SK)를 메모리(113)로부터 획득할 수 있다. First, the processor 112 may obtain from the memory 113 a secret key (SK) of X-bits for use in processing data.

그 다음, 프로세서(112)는 변수 S(제1 변수), L(제2 변수), K(제3 변수), N(제4 변수)의 값을 선택할 수 있다. S(제1 변수)는 원본 데이터를 저장하기 위한 서버의 수를 의미한다. L(제2 변수)은 원본 데이터를 처리하기 위한 최소 단위 비트열의 크기를 의미한다. 즉, 프로세서(112)는 L-bits의 비트열을 부분 데이터를 구성하는 하나의 문자로 취급한다. 프로세서(112)는 원본 데이터를 L-bits 단위의 부분 데이터로 분할하여 처리한다. K(제3 변수)는 오류 정정 코드를 위한 변수이며, 하나의 블록 데이터에 포함되는 부분 데이터의 개수이다. 즉, 하나의 블록 데이터는 하나의 블록 데이터에 포함되는 부분 데이터의 개수 K와 부분 데이터 당 최소 단위 비트열의 크기 L의 곱한 값만큼의 비트열인 K*L bits의 비트열을 포함하며, 원본 데이터의 전체 bits는 K*L의 배수가 될 수 있다. N(제4 변수)은 오류 정정 코드를 위한 변수이며, 오류 정정 범위(error correcting bound)를 결정하는 변수로, 원하는 오류 정정 범위와 K(제3 변수)로부터 결정된다. N(제4 변수)는 오류 정정 코드에 기반하여 생성된다. The processor 112 may then select the values of the variables S (first variable), L (second variable), K (third variable), N (fourth variable). S (first variable) means the number of servers for storing original data. L (second variable) denotes the size of the minimum unit bit string for processing the original data. That is, the processor 112 treats the bit string of L-bits as one character constituting the partial data. The processor 112 divides the original data into partial data of L-bits units and processes the partial data. K (third variable) is a variable for an error correction code, and is the number of partial data included in one block data. That is, one block data includes a bit string of K * L bits, which is a bit string as many as the number K of partial data included in one block data and the size L of the minimum unit bit string per partial data, Can be a multiple of K * L. N (fourth variable) is a parameter for an error correction code, which is a parameter for determining an error correcting bound and is determined from a desired error correction range and K (third variable). N (fourth variable) is generated based on the error correction code.

프로세서(112)는 오류 정정 코드를 원본 데이터에 적용하여 N개의 부분 데이터를 포함하는 복수의 블록을 포함하는 부호화 데이터를 생성한다. 즉, KL-bits로 구성된 각각의 블록들이 NL-bits로 확장되며, 이를 통해 전체 부호화 데이터의 길이 또한 원본 데이터에 비해 N/K의 비율로 확장된다. The processor 112 applies the error correcting code to the original data to generate encoded data including a plurality of blocks including N partial data. That is, each block composed of KL-bits is extended to NL-bits, so that the length of the entire encoded data is extended to N / K ratio as compared with the original data.

프로세서(112)는 부호화 데이터에 본 발명의 실시예에 따라 생성되는 노이즈 조각들을 추가할 수 있다. The processor 112 may add noise fragments generated according to an embodiment of the present invention to the encoded data.

단계 S203에서, 프로세서(112)는 부분 데이터들을 무작위로 분할하여 복수의 분할 데이터를 생성할 수 있다. In step S203, the processor 112 may randomly divide the partial data to generate a plurality of divided data.

예를 들면, 프로세서(112)는 원본 데이터를 복수의 부분 데이터로 분할하고, 복수의 부분 데이터들의 위치를 무작위로 결정하며, 복수의 부분 데이터들을 이용하여 복수의 분할 데이터들을 생성할 수 있다.For example, the processor 112 may divide the original data into a plurality of partial data, randomly determine positions of the plurality of partial data, and generate a plurality of divided data using the plurality of partial data.

예를 들면, 노이즈 조각을 추가하여 생성된 부호화 데이터 F'를 F' = F'[1] || F'[2] || F'[3] || ... F'[S] || F'[S+1] || F'[S+2] ...와 같이 정의할 수 있다. 각각의 F'[i]는 부분 데이터를 의미한다. For example, if the encoded data F 'generated by adding noise fragments is F' = F '[1] || F '[2] || F '[3] || ... F '[S] || F '[S + 1] || F '[S + 2] .... Each F '[i] means partial data.

예를 들면, 프로세서(112)는 각 부분 데이터를 저장할 서버에 대한 분할 방식을 결정할 수 있다. For example, the processor 112 may determine the partitioning scheme for the server to store each partial data.

예를 들면, 프로세서(112)는 순차적 분할 방식을 선택할 수 있다. 순차적 분할 방식이란, 프로세서(112)이 L-bits 길이의 부분 데이터로 구성된 부분 데이터들을 부분 데이터들의 원본 데이터 내에서의 미리 결정된 최초 순서에 기반하여 각 서버에 순차적으로 배정하는 방식이다.For example, the processor 112 may select a sequential partitioning scheme. The sequential division scheme is a scheme in which the processor 112 sequentially allocates partial data composed of partial data of L-bits length to each server based on a predetermined initial sequence in the original data of the partial data.

순차적 분할 방식에서, 프로세서(112)는 첫 번째 서버로 전송할 첫번째 분할 데이터를 F'1 = F'[1] || F'[S+1] || ... || F'[tS+1] || ...와 같이 매 S번째 부분 데이터로 구성할 수 있다. 마찬가지로 프로세서(112)는 a번째 서버로 전송할 a번째 부분데이터를 F'a = F'[a] || F'[S+a] || ... || F'[tS+a] || ...로 구성할 수 있다.In a sequential partitioning scheme, the processor 112 divides the first partitioned data to be transferred to the first server into F'1 = F '[1] || F '[S + 1] || ... || F '[tS + 1] || ... < / RTI > Similarly, the processor 112 converts the a-th partial data to be transmitted to the a-th server into F'a = F '[a] || F '[S + a] || ... || F '[tS + a] || ... can be configured.

또한, 상기한 순차적 분할 방식과 다르게, 프로세서(112)는 무작위 분할 방식을 결정할 수 있다. Also, unlike the sequential division method, the processor 112 can determine a random division method.

예를 들면, 무작위 분할 방식에 따르면, 프로세서(112)는 의사 난수 생성 함수(Pseudorandom generating function)을 이용하여 함수 P를 획득할 수 있다. 함수 P는 메모리(113)로부터 획득한 비밀키(SK)로부터 랜덤 비트열과 암호학적으로 구별할 수 없는 고정된 비트열을 생성하는 함수이다. 함수 P는 해쉬 함수, 대칭키 암호 등의 암호 기반 기술이 지니는 일방향성을 이용하여 생성될 수 있다. For example, according to the random partitioning scheme, the processor 112 may obtain the function P using a pseudorandom generating function. The function P is a function for generating a fixed bit stream which can not be cryptographically distinguished from the random bit string from the secret key SK obtained from the memory 113. The function P can be generated using the unidirectionality of a cryptographic based technique such as a hash function, symmetric key cryptography, and the like.

P: {0,1}X -> {1, 2, ..., S}로 정의하고, X는 비밀키(SK)의 길이로 정의할 수 있다. P: {0,1} X -> {1, 2, ..., S}, and X can be defined as the length of the secret key (SK).

단말은 F' = F'[1] || F'[2] || F'[3] || ... F'[S] || F'[S+1] || F'[S+2] || ...에 대해서 i번째 부분 데이터 F'[i]를 P(SK + i)번째 서버로 전송할 수 있다. 즉, 인덱스 집합 A = {i | P(SK + i) = a}에 대해서 A = {a1, a2, a3, ...}라고 가정하면, a번째 부분 데이터는 F' a = F'[a1] || F'[a2] || F'[a3] || ...로 구성될 수 있다. The terminal is F '= F' [1] || F '[2] || F '[3] || ... F '[S] || F '[S + 1] || F '[S + 2] || ..., i-th partial data F '[i] to the P (SK + i) th server. That is, the index set A = {i | Assuming that A = {a1, a2, a3, ...} for P (SK + i) = a}, the ath partial data is F 'a = F' [a1] || F '[a2] || F '[a3] || ... < / RTI >

함수 P가 암호학적으로 안전한 의사 함수(pseudorandom function)이며 원본 데이터 F가 충분한 길이(예를 들면, 미리 설정된 비트 이상의 크기)를 가진다면, 각각의 서버에 저장되는 부분 데이터의 양은 유사하게 분할된다. If the function P is a cryptographically secure pseudorandom function and the original data F has a sufficient length (e.g., a size greater than a predetermined bit), then the amount of partial data stored in each server is similarly divided.

단계 S307에서, 프로세서(112)는 복수의 분할 데이터들을 서버들(예: 도 1의 서버들(121, 122, 123, 124))로 전송할 수 있다. 프로세서(112)는 분할 데이터들을 전송한 후, 메모리(113)에 저장된 분할 데이터들을 삭제할 수 있고, 서버(120)는 전송된 분할 데이터들을 저장할 수 있다. In step S307, the processor 112 may transmit the plurality of divided data to the servers (e.g., the servers 121, 122, 123, and 124 of FIG. 1). The processor 112 may delete the partitioned data stored in the memory 113 after transmitting the partitioned data, and the server 120 may store the partitioned data transmitted.

도 3은 본 발명의 실시 예에 따른 노이즈 조각 추가 방법을 나타낸 흐름도이다. 3 is a flowchart illustrating a method of adding a noise piece according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 단계 S301에서, 프로세서(112)는 부호화 데이터를 획득하고, 메모리(113)에 저장된 비밀키를 획득할 수 있다. 먼저, 프로세서(112)는 부호화 데이터 EF = EF[1] || EF[2] || EF[3] || ..., |EF[i]| = L을 획득하고 난 후 부호화 데이터에 노이즈 조각을 추가하기 위해 비밀키를 획득할 수 있다.As shown in Fig. 3, in step S301, the processor 112 can acquire the encoded data and obtain the secret key stored in the memory 113. Fig. First, the processor 112 converts the encoded data EF = EF [1] || EF [2] || EF [3] || ..., | EF [i] | = L, and then obtain the secret key to add noise fragments to the encoded data.

단계 S303에서, 프로세서(112)는 비밀키를 의사 난수 생성 함수에 적용하여 노이즈 스트링(noise string)을 생성할 수 있다. 먼저, 프로세서(112)는 의사 난수 생성 함수(Pseudorandom generating function) P를 결정한다. 여기에서 P는 주어진 비밀키(SK)로부터 노이즈 스트링을 생성하는 함수로 편의상 P: {0,1}X -> {0,1}*로 정의한다. 프로세서(112)는 비밀키(SK)로부터 노이즈 스트링 RT = P(SK)를 생성한다. In step S303, the processor 112 may apply the secret key to a pseudo-random number generation function to generate a noise string. First, the processor 112 determines a pseudorandom generating function P. Where P is a function that generates a noise string from a given secret key (SK) and is defined as P: {0,1} X -> {0,1} * for convenience. Processor 112 generates a noise string RT = P (SK) from the secret key SK.

단계 S305에서, 프로세서(112)는 노이즈 스트링을 분할하여 복수의 노이즈 조각을 생성할 수 있다. 프로세서(112)는 변수 Y를 선택하고, 노이즈 스트링 RT = j1 || v1 || j2 || v2 || j3 || v3 ...를 분할하여 노이즈 조각들을 생성할 수 있다. 각각의 j는 Y-bits 노이즈 스트링이며, 각각의 v는 L-bits 노이즈 스트링이다. 프로세서(112)는 노이즈 스트링 RT로부터 노이즈 조각의 집합 RS = {(j1, v1), (j2, v2), (j3, v3) ...}을 생성한다. In step S305, the processor 112 may divide the noise string to generate a plurality of noise fragments. Processor 112 selects variable Y, and the noise string RT = j1 || v1 || j2 || v2 || j3 || v3 ... to generate noise fragments. Each j is a Y-bits noise string, and each v is an L-bits noise string. The processor 112 generates a set of noise fragments RS = {(j1, v1), (j2, v2), (j3, v3) ...} from the noise string RT.

단계 S307에서, 프로세서(112)는 노이즈 조각들을 부호화 데이터에 삽입할 수 있다. 먼저, 프로세서(112)는 INS함수를 정의한다. 프로세서(112)는 EF = EF[1] || EF[2] || EF[3] || ...에 대해 원소 (j, v)를 추가하는 경우, INS(EF, (j,v))는 모든 i > j에 대해서 EF[i] = EF[i-1]으로 값을 변경하고, EF[j] = v로 값을 추가한다. 즉, 프로세서(112)는 j번째 부분 데이터의 위치에 v 값을 지니는 노이즈 조각을 삽입하고 그 이후의 모든 부분 데이터의 인덱스를 1만큼 증가시킨다. 프로세서(112)는 노이즈 조각들 RS의 첫 번째 원소부터 순차적으로 부호화 데이터에 추가하며, 최초 추가되는 첫 번째 원소(j1, v1)의 경우 INS(EF, (j1,v1))를 수행한다. 프로세서(112)는 노이즈 조각들 중 두 번째 이후의 원소는 각 원소의 첫 번째 인덱스를 누적하여 부호화 데이터에 추가할 수 있다. 즉, 프로세서(112)는 두 번째 원소(j2, v2)에 대해서는 INS(EF, (j1+j2, v2))를 수행하며, (ji, vi)에 대해서는 INS(EF, (j1+j2+...+ ji, vi))를 수행한다. In step S307, the processor 112 may insert noise fragments into the encoded data. First, the processor 112 defines an INS function. The processor 112 determines EF = EF [1] || EF [2] || EF [3] || (J, v) is added to EF [i] = EF [i-1] for all i> j, Add a value with EF [j] = v. That is, the processor 112 inserts a noise piece having a value of v at the position of the jth partial data, and increments the index of all the partial data thereafter by one. The processor 112 sequentially adds the encoded data to the encoded data starting from the first element of the noise fragments RS and performs INS (E1, (j1, v1)) for the first element j1, v1 added first. The processor 112 may add the second and subsequent elements of the noise fragments to the encoded data by accumulating the first index of each element. In other words, the processor 112 performs INS (EF, (j1 + j2, v2) for the second element j2, v2 and INS . + ji, vi).

프로세서(112)는 노이즈 조각들이 추가된 부호화 데이터 F'을 상기 도 2를 통해 설명한 분할 방식에 따라 분할한 후 서버로 전송할 수 있다.The processor 112 may divide the encoded data F 'to which noise fragments have been added according to the division scheme described above with reference to FIG. 2, and then transmit the divided data F' to the server.

한편, 기존의 부호화 데이터에 각각의 노이즈 조각을 삽입하는 것은 단말의 계산량을 증가시킬 수 있기 때문에, 프로세서(112)는 하나의 부분 데이터(j,v)에 대해 EF[j] = v로 값을 변경하고, 다른 부분 데이터에 대해서는 데이터를 변경하지 않을 수 있다. On the other hand, since inserting the individual noise fragments into the existing encoded data can increase the amount of computation of the terminal, the processor 112 calculates the value of EF [j] = v for one partial data (j, v) And the data may not be changed for other partial data.

도 4는 본 발명의 실시 예에 따른 데이터 치환 방법을 나타낸 흐름도이다. 4 is a flowchart illustrating a data replacement method according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 단계 S401에서, 프로세서(112)는 비밀키를 선택하고, 단계 S403에서, 비밀키를 이용하여 노이즈 스트링을 생성할 수 있다. 프로세서(112)는 의사 난수 생성 함수(Pseudorandom generating function) P를 결정한다. P는 P : {0,1}X -> {0, 1, ..., M}로 정의한다. M은 F' = F'[1] || F'[2] || F'[3] || ... || F'[M]에 포함된 모든 부분 데이터의 수 이다.As shown in FIG. 4, in step S401, the processor 112 selects a secret key, and in step S403, the secret key may be used to generate a noise string. The processor 112 determines a pseudorandom generating function P. P is defined as P: {0, 1} X -> {0, 1, ..., M}. M is F '= F' [1] || F '[2] || F '[3] || ... || Is the number of all partial data included in F '[M].

단계 S405에서, 프로세서(112)는 노이즈 스트링을 이용하여 의사 난수 Pi를 생성할 수 있다. 프로세서(112)는 노이즈 스트링을 의사 난수 생성 함수에 적용하여 의사 난수 Pi = P(SK + i)를 생성할 수 있다. In step S405, the processor 112 may generate the pseudo-random number Pi using the noise string. The processor 112 may apply the noise string to a pseudorandom number generation function to generate a pseudo-random number Pi = P (SK + i).

단계 S407에서, 프로세서(112)는 의사 난수를 이용하여 각 부분 데이터들의 데이터 값을 변경할 수 있다. 구체적으로, 프로세서(112)는 각 부분 데이터들의 위치를 치환할 수 있다. 프로세서(112)는 F'[i] 부분 데이터와 F'[Pi] 부분 데이터의 값의 위치를 서로 바꿀 수 있다. 프로세서(112)는 F'[i]를 F'[Pi] 값으로 치환하고, F'[Pi]를 F'[i] 값으로 치환할 수 있다. In step S407, the processor 112 may change the data value of each partial data using the pseudo-random number. Specifically, the processor 112 may replace the position of each partial data. Processor 112 may replace the positions of the values of F '[i] partial data and F' [Pi] partial data. Processor 112 may replace F '[i] with F' [Pi] values and F '[Pi] with F' [i] values.

도 5는 본 발명의 실시 예에 따른 데이터 복원 방법을 나타낸 흐름도이다. 5 is a flowchart illustrating a data restoration method according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 프로세서(112)는 단계 S501에서 원본 데이터에 대해 오류 정정 부호화를 적용하고, 단계 S503에서 비밀키를 이용하여 오류 정정 부호화가 적용된 원본 데이터인 부호화 데이터에 노이즈를 적용하며, 단계 S505에서 일정한 순서로 배열된 복수의 부분 데이터를 비밀키를 이용하여 무작위로 분할하며, 단계 S507에서 복수의 부분 데이터들을 포함하는 분할 데이터들을 복수의 서버들로 전송할 수 있다.As shown in FIG. 5, the processor 112 applies error correction coding to the original data in step S501, applies noise to the encoded data that is original data to which error correction coding is applied using the secret key in step S503 , A plurality of partial data arranged in a predetermined order in step S505 is randomly divided using a secret key, and in step S507, the divided data including a plurality of partial data can be transmitted to a plurality of servers.

상기 단계 S501 내지 단계 S507을 통해 원본 데이터를 분할하여 각 서버로 전송한 후, 단계 S509에서, 프로세서(112)는 복수의 분할 데이터에 포함된 복수의 부분 데이터를 복수의 서버들로부터 수신할 수 있다. After the original data is divided and transmitted to the respective servers through the steps S501 to S507, the processor 112 may receive a plurality of partial data included in the plurality of divided data from the plurality of servers in step S509 .

단계 S511에서, 프로세서(112)는 복수의 부분 데이터 사이의 순서를 비밀키를 이용하여 원본 데이터 내의 최초 순서대로 복원할 수 있다. 데이터 분할이 순차 분할로 이루어진 경우, 프로세서(112)는 a 번째 서버가 저장하는 a번째 부분 데이터 F'a = F'a[1] || F'a[2] || F'a[3] ...를 F' = F'1[1] || F'2[1] || F'3[1] || ... || F'S[1] || F'1[2] || ...와 같이 순차적으로 결합하여 F'을 재구성한다. 무작위 분할 방식이 적용된 경우, 프로세서(112)는 분할을 위해 사용한 의사 난수 생성 함수(Pseudorandom generating function) P : {0,1}X -> {1, 2, ..., S}와 동일한 비밀키(SK)를 이용하여 복원한다. 예를 들면, 프로세서(112)는 F'의 첫 번째 부분 데이터를 얻기 위해서 P(SK + 1) = a를 계산하고 F'a의 첫 번째 부분 데이터인 F'a[1]의 값을 F'[1]로 설정한 후, F'a에서 F'a[1]을 삭제한다. 마찬가지로, 프로세서(112)는 i번째 부분 데이터 F'[i]를 얻기 위해서 P(SK + i) = ai를 계산하여 F'ai의 첫 번째 부분 데이터를 획득한다. 이러한 과정을 F'[1] 부터 F'[M]까지 순차적으로 수행하여 전체 F'을 재구성 할 수 있다. In step S511, the processor 112 can restore the order among the plurality of partial data in the original order in the original data using the secret key. If the data partitioning is sequential partitioning, the processor 112 determines that the a-th partial data F'a = F'a [1] || F'a [2] || F'a [3] ... F '= F'1 [1] || F'2 [1] || F'3 [1] || ... || F'S [1] || F'1 [2] || ... and so on to reconstruct F '. If a random partitioning scheme is applied, the processor 112 generates a pseudorandom generating function P: {0,1} X -> {1, 2, ..., S} (SK). For example, the processor 112 calculates P (SK + 1) = a to obtain the first partial data of F 'and sets the value of F'a [1] as the first partial data of F'a to F' After setting to [1], delete F'a [1] from F'a. Similarly, the processor 112 calculates P (SK + i) = ai to obtain the first partial data of F'ai to obtain the i-th partial data F '[i]. This process can be performed sequentially from F '[1] to F' [M] to reconstruct the entire F '.

단계 S513에서, 프로세서(112)는 F'에서 노이즈 조각을 제거하여 부호화 데이터를 구성한다. 예를 들면, 노이즈 조각이 부분 데이터의 사이에 추가된 경우, 프로세서(112)는 단계 S503에서 이용된 P와 비밀키(SK)를 이용하여 동일한 노이즈 스트링 RT = P(SK)를 생성한다. 또한, 프로세서(112)는 노이즈 스트링 RT를 노이즈 조각들 RS = {(j1, v1), (j2, v2), (j3, v3), ... }로 분해하고, 노이즈 조각 추가 과정(단계S503)과 반대로 노이즈 조각들 RS의 마지막 원소에서부터 부분 데이터로부터 노이즈 조각들의 제거를 수행하며, 원소 (ji, vi)에 대해서 F'[j1+ j2 + ... ji]의 조각을 제거하고 이 후의 부분 데이터의 인덱스를 하나씩 감소하는 과정을 반복하여 부호화 데이터를 획득한다. In step S513, the processor 112 removes a noise piece from F 'to construct encoded data. For example, if a noise piece is added between partial data, the processor 112 generates the same noise string RT = P (SK) using P and the secret key SK used in step S503. The processor 112 further decomposes the noise string RT into noise fragments RS = {(j1, v1), (j2, v2), (j3, v3), ...} ), The removal of the noise fragments from the partial data is performed from the last element of the noise pieces RS, and the piece of F '[j1 + j2 + ... ji] is removed with respect to the element ji, vi, To obtain the encoded data.

단계 S515에서, 프로세서(112)는 단계 S501에서 원본 데이터에 적용한 오류 정정 코드를 부호화 데이터에 동일하게 적용하여 원본 데이터를 획득할 수 있다. 예를 들면, 일반적인 오류 정정 코드 적용 방식 대신 삭제 코드(erasure code)를 적용하여 단계 S501이 수행된 경우, 복수 서버에 저장된 데이터들 중 기 설정된 수 이상의 부분 데이터들로부터 전체 데이터를 복원할 수 있다. In step S515, the processor 112 can acquire the original data by equally applying the error correction code applied to the original data in step S501 to the encoded data. For example, if step S501 is performed by applying an erasure code instead of a general error correction code applying method, the entire data can be restored from a predetermined number of partial data among the data stored in a plurality of servers.

도 6은 본 발명의 실시예에 따른 데이터 보호 과정을 도시한다.FIG. 6 illustrates a data protection process according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 단말(110)은 데이터(610)를 획득하고, 데이터(610)에 대하여 부호화(예를 들면, 오류 정정 코드 적용)하여 부호화 데이터(620)를 생성할 수 있다.6, the terminal 110 may acquire the data 610 and generate the encoded data 620 by encoding (for example, applying an error correction code) to the data 610. [

한편, 단말(110)은 비밀키(630)를 획득하고, 비밀키(630)를 이용하여 의사 난수 생성 함수(640)를 통해 복수의 노이즈 조각들(650)을 생성할 수 있다.The terminal 110 may obtain the secret key 630 and generate the plurality of noise fragments 650 through the pseudo random number generation function 640 using the secret key 630. [

다음, 단말(110)은 노이즈 조각들(650)을 부호화 데이터(620)에 추가할 수 있다. Next, the terminal 110 may add the noise fragments 650 to the encoded data 620.

마지막으로, 단말(110)은 노이즈 조각들이 추가된 부호화 데이터(660)를 각 서버들(670)로 전송하기 위해 복수의 분할 데이터로 분할할 수 있다. 다만, 분할할 때, 단말(110)은 부호화 데이터(660)의 복수의 부분 데이터들이 최초로 배열된 순서대로 분할하여 서버들로 전송하는 순차적 분할 방법이 있으나, 본 발명에 있어서는 복수의 부분 데이터들의 최초로 배열된 순서와 상관없이 무작위로 분할하여 각 서버들(670)로 전송할 수 있다. Lastly, the terminal 110 may divide the encoded data 660 to which noise fragments have been added into a plurality of divided data for transmission to each of the servers 670. However, in the division, the terminal 110 has a sequential division method in which a plurality of partial data of the encoded data 660 are firstly arranged in order and transmitted to the servers, but in the present invention, It can be randomly divided and transmitted to each of the servers 670 irrespective of the arranged order.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (7)

데이터 처리를 위한 정보를 저장하는 메모리;
원본 데이터를 복수의 부분 데이터로 분할하고, 상기 복수의 부분 데이터 각각의 상기 원본 데이터 내에서의 위치를 무작위로 결정하여 복수의 분할 데이터들을 생성하는 프로세서; 및
상기 복수의 분할 데이터들을 각각 복수의 서버로 전송하는 통신부를 포함하는
데이터 보호 장치.
A memory for storing information for data processing;
A processor for dividing original data into a plurality of partial data and randomly determining positions of the plurality of partial data in the original data to generate a plurality of divided data; And
And a communication unit for transmitting the plurality of divided data to a plurality of servers, respectively
Data protection device.
제1항에 있어서,
상기 프로세서는 상기 복수의 부분 데이터들 중 서로 다른 부분 데이터의 위치를 서로 치환하는
데이터 보호 장치.
The method according to claim 1,
Wherein the processor replaces the positions of different partial data among the plurality of partial data with each other
Data protection device.
제2항에 있어서,
상기 프로세서는 상기 메모리에 저장된 비밀키를 획득하고, 상기 비밀키를 이용하여 의사 난수를 생성하며, 상기 의사 난수를 이용하여 상기 복수의 부분 데이터들의 위치를 무작위로 결정하는
데이터 보호 장치.
3. The method of claim 2,
Wherein the processor obtains a secret key stored in the memory, generates a pseudo-random number using the secret key, and randomly determines a position of the plurality of partial data using the pseudo-random number
Data protection device.
제3항에 있어서,
상기 프로세서는 상기 원본 데이터에 오류 정정 코드(ECC, error correcting code)를 적용하여 부호화 데이터를 획득하고, 상기 비밀키를 이용하여 복수의 노이즈 조각들을 생성하며, 상기 노이즈 조각들을 상기 부호화 데이터에 무작위로 삽입하고, 상기 부호화 데이터를 복수의 부호화 부분 데이터들로 분할하며, 상기 복수의 부호화 부분 데이터들의 위치를 무작위로 결정하여 상기 복수의 분할 데이터들을 생성하는
데이터 보호 장치.
The method of claim 3,
Wherein the processor obtains encoded data by applying an error correcting code (ECC) to the original data, generates a plurality of noise fragments using the secret key, and randomly assigns the noise fragments to the encoded data And dividing the encoded data into a plurality of encoded partial data, and generating the plurality of divided data by randomly determining a position of the plurality of encoded partial data
Data protection device.
제4항에 있어서,
상기 프로세서는 상기 비밀키를 이용하여 노이즈 스트링을 생성하고, 상기 노이즈 스트링에 기반하여, 상기 노이즈 조각들이 삽입될 위치와 값을 결정하는
데이터 보호 장치.
5. The method of claim 4,
The processor generates a noise string using the secret key, and based on the noise string, determines a position and a value at which the noise fragments are to be inserted
Data protection device.
제1항에 있어서,
상기 통신부는 상기 복수의 서버로부터 상기 복수의 분할 데이터들을 수신하고,
상기 프로세서는 상기 복수의 분할 데이터들에 포함된 상기 복수의 부분 데이터들의 위치를 상기 원본 데이터 내에서의 변경 전 위치로 복원하는
데이터 보호 장치.
The method according to claim 1,
Wherein the communication unit receives the plurality of divided data from the plurality of servers,
Wherein the processor restores the position of the plurality of partial data included in the plurality of divided data to a position before the change in the original data
Data protection device.
제6항에 있어서,
상기 프로세서는 상기 비밀키를 이용하여 상기 복수의 분할 데이터들로부터 상기 복수의 노이즈 조각들을 제거하는
데이터 보호 장치.
The method according to claim 6,
Wherein the processor removes the plurality of noise fragments from the plurality of divided data using the secret key
Data protection device.
KR1020180096360A 2017-08-25 2018-08-17 Method and apparatus for securing data KR102153993B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/113,530 US10902144B2 (en) 2017-08-25 2018-08-27 Method and apparatus for securing data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170108233 2017-08-25
KR1020170108233 2017-08-25

Publications (2)

Publication Number Publication Date
KR20190022344A true KR20190022344A (en) 2019-03-06
KR102153993B1 KR102153993B1 (en) 2020-09-09

Family

ID=65761353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180096360A KR102153993B1 (en) 2017-08-25 2018-08-17 Method and apparatus for securing data

Country Status (1)

Country Link
KR (1) KR102153993B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102153342B1 (en) * 2019-06-13 2020-09-08 유메이 주식회사 System for achieving processed data by removing noise from raw data of terminal of IoT

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090052130A (en) * 2007-11-20 2009-05-25 주식회사 안철수연구소 Data protection method using data partition
KR20140134796A (en) * 2013-05-14 2014-11-25 서울대학교산학협력단 Method and apparatus for managing distribution of file to recover original file with at least pre-determined number file fragments with random sizes
KR20150107062A (en) * 2014-03-13 2015-09-23 한국과학기술연구원 Data communication apparatus using cloud service and method for data processing thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090052130A (en) * 2007-11-20 2009-05-25 주식회사 안철수연구소 Data protection method using data partition
KR20140134796A (en) * 2013-05-14 2014-11-25 서울대학교산학협력단 Method and apparatus for managing distribution of file to recover original file with at least pre-determined number file fragments with random sizes
KR20150107062A (en) * 2014-03-13 2015-09-23 한국과학기술연구원 Data communication apparatus using cloud service and method for data processing thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102153342B1 (en) * 2019-06-13 2020-09-08 유메이 주식회사 System for achieving processed data by removing noise from raw data of terminal of IoT

Also Published As

Publication number Publication date
KR102153993B1 (en) 2020-09-09

Similar Documents

Publication Publication Date Title
US9898473B2 (en) Security via data concealment
JP5194094B2 (en) Data division method, data division apparatus, and computer program
US9817953B2 (en) Systems and methods for establishing and using distributed key servers
EP2953052B1 (en) Systems and methods for dynamic data storage
WO2001076130B1 (en) Authentication method and schemes for data integrity protection
CN109726567B (en) Moving target encryption method based on homomorphic encryption
CN104704501B (en) Securely generate and store in computer systems password
CN104969508A (en) Method for protecting the integrity of a fixed-length data structure
EP3163789B1 (en) Forward-secure crash-resilient logging device
CN107592298B (en) Sequence comparison algorithm secure outsourcing method based on single server model, user terminal and server
CN104660590A (en) Cloud storage scheme for file encryption security
KR102656403B1 (en) Generate keys for use in secure communications
CN116488814A (en) FPGA-based data encryption secure computing method
Nishanth et al. Improved signcryption algorithm for information security in networks
KR20190022344A (en) Method and apparatus for securing data
Li et al. A data assured deletion scheme in cloud storage
Reddy et al. Enhanced key establishment technique for secure data access in cloud
CN112970022A (en) Inadvertent screening of data streams
KR101687492B1 (en) Storing method of data dispersively and credential processing unit
US10902144B2 (en) Method and apparatus for securing data
KR101048661B1 (en) Method, apparatus and computer readable recording medium for compression and encryption operations on data
CN112947855B (en) Efficient encryption repeated data deleting method based on hardware security zone
CN110855622A (en) Method and device for protecting sensitive data transmission of distributed system
Wang et al. Secure dynamic SSE via access indistinguishable storage
Jacob et al. Secured and reliable file sharing system with de-duplication using erasure correction code

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant