WO2014126291A1 - 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법 - Google Patents

일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법 Download PDF

Info

Publication number
WO2014126291A1
WO2014126291A1 PCT/KR2013/002084 KR2013002084W WO2014126291A1 WO 2014126291 A1 WO2014126291 A1 WO 2014126291A1 KR 2013002084 W KR2013002084 W KR 2013002084W WO 2014126291 A1 WO2014126291 A1 WO 2014126291A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
unit
blocks
distributed
size
Prior art date
Application number
PCT/KR2013/002084
Other languages
English (en)
French (fr)
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 서울대학교산학협력단
Publication of WO2014126291A1 publication Critical patent/WO2014126291A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Definitions

  • Embodiments relate to a file distribution management apparatus and a method thereof. More specifically, the present invention relates to a file distribution management apparatus and a method for recovering a file share by a predetermined number or more.
  • the secret dispersion method uses a plurality of share information SH (1),... From secret information MSK. , SH (N) are generated, and these are distributed and managed in a plurality of distributed management devices PA (1), ..., PA (N), and these share information SH (1), ..., SH (N) Only when a predetermined number or more of information can be obtained, the secret information MSK can be restored.
  • a file is stored on a single storage device.
  • secret information there may be a problem in the confidentiality, integrity and availability of the stored file. If a virus or worm is infected with the storage device or if the storage device is lost, the contents of the stored file may be exposed. In addition, if the contents of the file are altered or the file is lost due to a loss or mistake of the storage device, there may be a problem with integrity and availability.
  • Korean Patent Laid-Open No. 2012-34156 exists as a prior document.
  • confidentiality may be improved by randomly rearranging the order of file contents during file storage of a file system.
  • a plurality of file shares generated from a file are distributed to n file distributed storage devices, and a plurality of file shares stored in any r (0 ⁇ r ⁇ n) file distributed storage devices are stored.
  • a file distribution management method in which a file can be restored only when acquiring the method comprising: dividing a file into segments having a size of B * nC r-1 bytes, and subdividing each segment into blocks having a size of B bytes.
  • a file that can be restored only when a plurality of file shares are distributed to n file distributed storage devices and a plurality of file shares stored in any r (0 ⁇ r ⁇ n) file distributed storage devices are acquired.
  • a computer readable recording medium for recording a computer program for executing a distributed management method is provided.
  • a plurality of file shares generated from a file are distributed to n file distributed storage devices, and a plurality of file shares stored in an arbitrary number of r (0 ⁇ r ⁇ n) file distributed storage devices.
  • a file distribution management apparatus capable of restoring a file only when acquiring a data file, comprising: dividing a file into segments having a size of B * nC r-1 bytes, and subdividing each segment into blocks having a size of B bytes.
  • a file divider for selecting each unit file share having n-1 C r-1 blocks to be distributed among n file distributed storage devices among the blocks included in the segment for each segment; a file share distributing unit for distributing a file share connecting the unit file share selected to be distributed to the n file distributed storage units in the segment order including the unit file share to each of the n file distributed storage units.
  • a management device is provided.
  • a plurality of file shares generated from a file are distributed to n file distributed storage devices, and a plurality of file shares stored in an arbitrary number of r (0 ⁇ r ⁇ n) file distributed storage devices.
  • the file division unit for dividing the file into blocks having a predetermined size, and generating segments each containing n C r-1 in order
  • a file share selector for selecting each unit file share having n-1 C r-1 blocks to be distributed to n file distributed storage devices among the blocks included in the segment, for each segment, and the unit file share.
  • a file distribution managing device including a file share distribution unit configured to distribute the connected file shares to each of the n file distributed storage devices; And n file distributed storage devices.
  • FIG. 1 is a diagram illustrating a file distribution management system 1000 and its internal configuration according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing the internal configuration of the file distribution management apparatus 100 according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a flow of a file distribution management method according to an embodiment of the present invention.
  • 4A is a diagram illustrating a configuration of a file F according to an embodiment of the present invention.
  • 4B is a diagram illustrating a configuration of a file F 'according to an embodiment of the present invention.
  • Figure 4c is a view showing K, SK, RK according to an embodiment of the present invention.
  • 4D is a diagram illustrating a unit file share according to an embodiment of the present invention.
  • 4E is a diagram illustrating a file share according to an embodiment of the present invention.
  • 4F is a diagram illustrating a restored unit file share according to an embodiment of the present invention.
  • the file distribution management system 100 is composed of a file distribution management device 100 and n file distributed storage device 10.
  • the file distribution management system 1000 When the file distribution management system 1000 obtains a plurality of file shares stored in an arbitrary number of r (0 ⁇ r ⁇ n) file distributed storage devices by distributing and storing a plurality of file shares generated from files into n pieces. It is a system that only manages to restore files.
  • the file distribution management system 1000 may include a file distribution management device 100 and n file distribution storage device 10.
  • the file distribution management apparatus 100 generates a plurality of file shares generated from a file so that the file can be restored only when acquiring a plurality of file shares stored in an arbitrary number of r files (0 ⁇ r ⁇ n). To distribute the n file distributed storage device 100. Details of the file distribution management apparatus 100 will be described later with reference to FIG. 2.
  • the file distribution storage device 10 stores a file share received from the file distribution management device 100. Only when file shares stored in any r file distributed storage devices 10 are collected, the original file can be restored.
  • the file distributed storage device 10 is sufficient to be composed of devices in which the storage of each file share can be separated without any special function. Although the file distributed storage device 10 is represented in a physically separated form in FIG. 1, a logically separated form in one device may be possible.
  • the file distribution storage device 10 may be able to communicate with the file distribution management device 100 to receive the file share.
  • the file distribution management apparatus 100 may include a file division unit 110, a block selection unit 130, a file share distribution unit 140, a communication unit 150, and a storage unit 160, but is not limited thereto. no.
  • the file division unit 110 divides the file into segments having a size of B * nC r-1 bytes, and divides each segment into blocks having a size of B bytes.
  • a file block is a basic unit for dividing a file and its size is constant. In one embodiment, the unit of a file block may be 2 bytes. The total number of divided blocks is n C r-1 * block unit (B) * number of segments (L).
  • the size of the file F is measured in units of 2 bytes, and when the file F in 2-byte units is not a multiple of n C r-1 * blocks of size B,
  • the file division unit 110 may further include a modification file generation unit 111.
  • the modification file generator 111 adds an additional area to the file F to generate the modification file F '.
  • the modification file generating unit 111 may add an additional area including a dummy area of a predetermined size and a size recording area of the original file.
  • the size of the modified file F ' (the sum of the size of the file, the size of the dummy area, and the size recording area of the original file) is a multiple of n C r -1 * size B of blocks.
  • the size of the dummy region can be determined to have a shape (number of segments, L).
  • the dummy area may be a null character, but a dummy value is sufficient, and its form is not particularly limited.
  • the size recording area of the original file may be an area of 4 bytes.
  • the modified file generating unit 111 has the size of the modified file F '(the sum of the size of the file, the size of the dummy area and the recording area of the size of the original file) equal to the size of N ( n C r-1 ) * blocks.
  • the size of the dummy region can be determined to be a multiple of (B) (number of segments, L).
  • the size of the original file size recording area is 4 bytes
  • the size of the dummy area can be calculated as N * B * L-size (F) -4 bytes. Where L is to be.
  • the block selector 130 selects unit file shares having n-1 C r-1 blocks to be distributed to n file distributed storage devices among blocks included in the segment for each segment.
  • the block selector 130 divides n C r -1 consecutive file blocks into block units to generate n unit file shares, and any unit r unit files among the divided n unit file shares are generated.
  • any r-1 unit file share may select n-1 C r-1 blocks such that the original N file blocks do not contain all of the N file blocks.
  • n -1 C r-1 blocks are respectively selected to be distributed to n file distributed storage devices so that each n C r-1 blocks are distributed to r file distributed storage devices of any different combinations. .
  • S ( n-1 C r-1 ), f (S (1)) th block of the n C r-1 blocks to be distributed to the i th file distributed storage device 10, f (S ( 2)) th block,... , f (S ( n-1 C r-1 )) th block can be selected.
  • T ⁇ 1, 2, 3 ⁇ , ⁇ 1, 2, 4 ⁇ , ⁇ 1, 2, 5 ⁇ , ⁇ 1, 3, 4 ⁇ , ⁇ 1, 3, 5 ⁇ , ⁇ 1, 4, 5 ⁇ , ⁇ 2, 3, 4 ⁇ , ⁇ 2, 3, 5 ⁇ , ⁇ 2, 4, 5 ⁇ , ⁇ 3, 4, 5 ⁇
  • f 1 ⁇ 1, 2, 3, 4, 5, 6 ⁇
  • the file share distribution unit 140 distributes the file share, which is the unit file share selected to be distributed to the n file distributed storage devices, to each of the n file distributed storage devices, in the segment order including the unit file share. Do it. According to an embodiment, the file share may be distributed to each of the file distribution storage devices 10 through the communication unit 150.
  • the communicator 150 performs a communication between the file distribution management apparatus 100 and an external object.
  • the file share distribution unit 140 may communicate with the external object, but may also communicate with the external object with the support of the communication unit 150.
  • the communication method may include an object and any communication method capable of networking by the object, and the communication function is not limited to the types of wired / wireless communication, 3G, 4G, or a later method if there is a communication function.
  • the storage unit 160 stores data processing items in the file distribution management apparatus 100.
  • the file division unit 110 and the block selector 130 may store various information obtained during or during the function execution process.
  • FIG. 3 is a diagram illustrating a flow of a file distribution management method according to an embodiment of the present invention.
  • information of the file F, the number n of file distributed storage devices, and the number r of minimum file shares for recovering the original file are input (S1).
  • the file in bytes (F) n C r-1 Just in case it's not a multiple of the number * B (size of the block) (number of segments), Overall size n C r-1
  • a modified file F ' is created in which a dummy area having a predetermined size and a size recording area of the original file are added to the file so as to be a multiple of B (S2).
  • the described embodiments of the present invention may be implemented using a shuffling key and a recovery key. In the following, an actual implementation example is described.
  • n number of file shares
  • K ⁇ K i ⁇ : Seed key. Consists of random rearrangements of integers from 1 to N.
  • RK (i, j) The value of the j th column of the i th row of the matrix RK. Each value is an ordered pair of two values.
  • K, SK, and RK are generated as follows.
  • the goal of this process is to create n file shares by shuffling and dividing the contents of the files in order to distribute them to n file distributed storage devices. To do this, use the file division process. First, let's look at the file division process.
  • the goal of this process is to create n unit file shares by dividing N consecutive file blocks into block units. At this time, any of the r unit file shares among the divided n unit file shares originally include N file blocks, but any r-1 unit file share does not include all of the original N file blocks.
  • the division process is as follows.
  • the file distribution step using the file partitioning process is as follows.
  • the goal of this process is to restore the original file using r file shares.
  • the recovery process is as follows.
  • R is ⁇ s 1 , s 2 ,... , s r ⁇ ;
  • the recovery principle is as follows.
  • the first column of the matrix RK is [(1,2), (2,2), (4,1)] T , where the set ⁇ 1,2,4 ⁇ and the input file share of the preceding numbers in the ordered pair Consider the element of the intersection of ⁇ 2,4,5 ⁇ , which is a set of subscripts. If one of these elements is selected, we choose the ordered pair (4,1). This means that the first block of the original file is in the first block of the fourth file share, so select the first file block [1,2] of f 4 '.
  • the second column of the matrix RK is [(2,4), (3,4), (4,4)] T , with the set ⁇ 2,3,4 ⁇ and the input file share of the preceding numbers in the ordered pair
  • the second column of the matrix RK is [(2,4), (3,4), (4,4)] T , with the set ⁇ 2,3,4 ⁇ and the input file share of the preceding numbers in the ordered pair
  • the corresponding ordered pair is (2,4). This means that the second block of the original file is in the fourth block of the second file share, so select the second file block [3,4] of f 2 '.
  • Embodiments according to the present invention described above may be implemented in the form of program instructions that may be executed by various computer components, and may be recorded in a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the computer-readable recording medium are those specially designed and configured for the present invention, and may be known and available to those skilled in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM ⁇ flash memory, and the like.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법이 개시된다. 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치에 분산하고, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있는 파일 분산 관리 방법이 개시된다.

Description

일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법
실시예들은 파일 분산 관리 장치 및 그 방법에 관한 것이다. 보다 구체적으로, 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법에 관한 것이다.
비밀 정보를 보관하는 경우, 비밀 정보가 분실되거나, 파괴될 리스크는 항상 존재한다. 이와 동시에 비밀정보가 도난될 수 있는 리스크 역시 존재한다. 분실 또는 파괴의 리스크는 비밀 정보를 복수 곳의 장소에 보관해 둠으로써 줄일 수 있지만, 이 경우 도난의 리스크가 증가하는 단점이 있다. 이들 리스크를 함께 해결하는 방법의 하나로서 비밀 분산법(Secret Sharing)이 제시되었다.
비밀 분산법은 비밀 정보 MSK로부터 복수의 쉐어 정보 SH(1), … , SH(N)를 생성하고, 이들을 복수의 분산 관리장치 PA(1) ,...,PA(N)에 분산하여 관리시키고, 이들 쉐어 정보 SH(1) ,...,SH(N) 중 소정 수 이상의 정보를 얻을 수 있었던 경우에만, 비밀 정보 MSK를 복원할 수 있는 방식이다.
기존 파일 저장 시스템에서는 파일을 하나의 저장 장치에 저장하는 방식이었다. 하지만, 이 경우 전술한 비밀 정보와 같이, 저장된 파일의 기밀성, 무결성 및 가용성에 문제가 될 수 있다. 저장 장치에 바이러스 또는 웜이 감염되었거나 저장 장치를 분실했을 경우, 저장된 파일의 내용이 노출될 수 있다. 또한, 파일의 내용이 변조되거나 저장장치의 분실 혹은 실수 등으로 파일을 잃어버렸을 경우, 무결성과 가용성에 문제가 있을 수 있다.
비밀 분산법은 다양한 형태로 제시되고 있었지만, 파일 저장 시스템의 특성에 맞게 적절한 형태로 제안되지 못하는 실정이다. 기존의 비밀 분산법은 비밀 정보를 복구하는데 복잡한 계산을 요구하는데, 파일에 적용할 경우 매우 많은 계산량을 요구한다. 이를 해결하기 위하여, 이 특허에서는 경량화된 비밀 분산법을 제안할 것이다.
선행문헌으로 한국 공개특허 제2012-34156호가 존재한다.
본 발명의 일 측면에 의하면, 파일 시스템의 파일 저장시 파일 내용의 순서를 무작위로 재배열하여 기밀성을 향상시킬 수 있다.
본 발명의 다른 측면에 의하면, 파일 시스템의 파일 저장시 파일을 분할하고, 그 중 일부를 이용하여 복구할 수 있게 함으로써, 무결성과 가용성을 모두 보장할 수 있다.
본 발명의 일 측면에 의하면, 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치에 분산하고, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있는 파일 분산 관리 방법에 있어서, 파일을 B * nCr-1바이트의 크기를 갖는 세그먼트로 분할하고, 각 세그먼트를 B바이트의 크기를 갖는 블록으로 재분할하는 단계; 상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 단계; 및 n개의 파일 분산 저장 장치에 분산되도록 선택된 상기 단위 파일 쉐어를 상기 단위 파일 쉐어가 포함되는 상기 세그먼트 순서대로 연결한 파일 쉐어를 n개의 파일 분산 저장 장치 각각에 분산하는 단계를 포함하는, 파일 분산 관리 방법이 제공된다.
본 발명의 다른 측면에 의하면, 파일을 B* nCr-1바이트의 크기를 갖는 세그먼트로 분할하고, 각 세그먼트를 B바이트의 크기를 갖는 블록으로 재분할하는 단계; 상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 단계; 및 n개의 파일 분산 저장 장치에 분산되도록 선택된 상기 단위 파일 쉐어를 상기 단위 파일 쉐어가 포함되는 상기 세그먼트 순서대로 연결한 파일 쉐어를 n개의 파일 분산 저장 장치 각각에 분산하는 단계를 포함하여, 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치에 분산하고, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있는 파일 분산 관리 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체가 제공된다.
본 발명의 또 다른 측면에 의하면, 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치에 분산하고, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있는 파일 분산 관리 장치에 있어서, 파일을 B * nCr-1바이트의 크기를 갖는 세그먼트로 분할하고, 각 세그먼트를 B바이트의 크기를 갖는 블록으로 재분할하는 파일 분할부; 상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 파일 쉐어 선택부; n개의 파일 분산 저장 장치에 분산되도록 선택된 상기 단위 파일 쉐어를 상기 단위 파일 쉐어가 포함되는 상기 세그먼트 순서대로 연결한 파일 쉐어를 n개의 파일 분산 저장 장치 각각에 분산하는 파일 쉐어 분산부를 포함하는, 파일 분산 관리 장치가 제공된다.
본 발명의 또 다른 측면에 의하면, 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치에 분산하고, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있는 파일 분산 관리 시스템에 있어서, 파일을 소정의 크기를 가지는 블록으로 분할하고, 상기 블록을 순서대로 nCr-1개씩 포함하는 세그먼트를 생성하는 파일 분할부, 상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 파일 쉐어 선택부, 상기 단위 파일 쉐어를 모두 연결한 파일 쉐어를 n개의 파일 분산 저장 장치 각각에 분산하는 파일 쉐어 분산부를 포함하는, 파일 분산 관리 장치; 및 n개의 파일 분산 저장 장치를 포함하는, 파일 분산 관리 시스템이 제공된다.
본 발명의 일 측면에 의하면, 하나의 파일이 여러 대의 기기에 나뉘어서 저장되므로 r개 미만의 기기에서 데이터가 유출되었을 경우, 원래 파일의 복원이 불가능하게 하는 효과가 있다.
또한, r개 이상의 기기가 있다고 하더라도, 파일 내용의 순서가 섞여 있으므로 원본 파일을 복구해내기가 매우 어렵게 하여 보안수준을 향상시킬 수 있다.
나아가, 기기의 분실, 실수로 삭제, 또는 바이러스 감염 등으로 인한 파일의 변조로 인하여 파일이 손상되었을 경우, 나머지 r개의 기기를 통하여 원본 파일을 복구할 수 있는 효과가 있다.
또한, 기존의 비밀 분산 기술을 크기가 F인 파일에 적용했을 경우, r의 제곱과 F에 비례하는 연산량이 발생한다. 이로 인하여 불필요한 계산량 소모가 발생할 우려가 있다. 이 특허에서는 조합적인 방법을 이용하여 연산량이 오로지 F에만 비례하는 기술을 제안할 것이다.
즉, 본 발명의 일 측면에 의하면, 파일 시스템의 파일 저장시 파일의 기밀성, 무결성, 가용성을 모두 보장함과 동시에 분산된 파일의 복구를 빠르게 수행할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른, 파일 분산 관리 시스템(1000) 및 그 내부 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른, 파일 분산 관리 장치(100)의 내부 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른, 파일 분산 관리 방법의 일 흐름을 나타낸 도면이다.
도 4a는 본 발명의 일 실시예에 따른, 파일(F)의 구성을 나타낸 도면이다.
도 4b는 본 발명의 일 실시예에 따른, 파일(F')의 구성을 나타낸 도면이다.
도4c는 본 발명의 일 실시예에 따른, K, SK, RK를 나타낸 도면이다.
도4d는 본 발명의 일 실시예에 따른, 단위 파일 쉐어를 나타낸 도면이다.
도4e는 본 발명의 일 실시예에 따른, 파일 쉐어를 나타낸 도면이다.
도4f는 본 발명의 일 실시예에 따른, 복구된 단위 파일 쉐어를 나타낸 도면이다.
[부호의 설명]
10: 파일 분산 저장 장치
100: 파일 분산 관리 장치
110: 파일 분할부
111: 수정 파일 생성부
120: 블록 재배열부
130: 블록 선택부
131: 일대일 대응 관리부
140: 파일 쉐어 분산부
150: 통신부
160: 저장부
1000: 파일 분산 관리 시스템
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
도 1은 본 발명의 일 실시예에 따른, 파일 분산 관리 시스템(1000) 및 그 내부 구성을 나타낸 도면이다. 파일 분산 관리 시스템(100)은 파일 분산 관리 장치(100) 및 n개의 파일 분산 저장 장치(10)로 구성된다.
파일 분산 관리 시스템(1000)은 파일로부터 생성한 복수의 파일 쉐어를 n개로 분산하여 저장함으로써, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있도록 관리하는 시스템이다. 일 실시예에서, 파일 분산 관리 시스템(1000)은 파일 분산 관리 장치(100) 및 n개의 파일 분산 저장 장치(10)를 포함할 수 있다.
파일 분산 관리 장치(100)는 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있도록, 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치(100)에 분산하는 역할을 한다. 파일 분산 관리 장치(100)에 대한 상세한 내용은 도 2를 참조하여 후술하기로 한다.
파일 분산 저장 장치(10)는 파일 분산 관리 장치(100)로부터 수신한 파일 쉐어를 저장하는 역할을 한다. 임의의 r개의 파일 분산 저장 장치(10)에 저장된 파일 쉐어가 모이는 경우에만, 원본 파일을 복원해낼 수 있다. 파일 분산 저장 장치(10)는 특별한 기능이 없이도 각각의 파일 쉐어의 저장이 분리될 수 있는 장치들로 구성되면 충분하다. 파일 분산 저장 장치(10)가 도 1상에서는 물리적으로 분리된 형태로 표현되어 있지만, 1개의 장치에서 논리적으로 분리된 형태도 가능할 것이다.
일 실시예에서, 파일 분산 저장 장치(10)는 파일 쉐어의 수신을 위하여 파일 분산 관리 장치(100)와 통신이 가능할 수 있다.
도 2는 본 발명의 일 실시예에 따른, 파일 분산 관리 장치(100)의 내부 구성을 나타낸 도면이다. 파일 분산 관리 장치(100)는 파일 분할부(110), 블록 선택부(130), 파일 쉐어 분산부(140), 통신부(150), 저장부(160)를 포함할 수 있으나, 이에 제한되는 것은 아니다.
파일 분할부(110)는 파일을 B * nCr-1바이트의 크기를 갖는 세그먼트로 분할하고, 각 세그먼트를 B바이트의 크기를 갖는 블록으로 재분할하는 역할을 한다. 파일 블록은 파일을 나누는 기본 단위로 그 크기는 일정하다. 일 실시예에서, 파일 블록의 단위는 2바이트(Byte)가 될 수 있다. 분할된 블록의 총 수는 nCr-1 * 블록 단위(B) * 세그먼트의 수(L)가 된다.
파일(F)의 크기는 일 실시예에서, 2바이트(Byte) 단위로 측정하며, 2바이트 단위의 파일(F)이 nCr-1개 * 블록의 크기(B)의 배수 형태가 아닌 경우에 대비하여, 파일 분할부(110)는 수정파일 생성부(111)를 더 포함할 수 있다.
수정파일 생성부(111)는 파일(F)에 추가영역을 부가하여 수정 파일(F')을 생성하는 역할을 한다. 일 실시예에서, 수정 파일 생성부(111)는 소정의 크기의 더미영역과 원래 파일의 크기 기록영역을 포함하는 추가영역을 부가할 수 있다. 일 실시예에서, 수정 파일(F')의 크기(파일의 크기, 상기 더미영역의 크기 및 상기 원래 파일의 크기 기록 영역의 합)가 nCr-1개 * 블록의 크기(B)의 배수 형태(세그먼트의 수, L)가 되도록 더미영역의 크기를 결정할 수 있다. 더미영역은 널문자(null character)가 될 수도 있지만, 더미값이라면 충분하며 특별히 그 형태를 제한하지 아니한다. 일 실시예에서, 원래 파일의 크기 기록영역은 4바이트의 영역일 수 있다.
수정파일 생성부(111)는 수정 파일(F')의 크기(파일의 크기, 상기 더미영역의 크기 및 상기 원래 파일의 크기 기록 영역의 합)가 N(nCr-1)* 블록의 크기(B)의 배수(세그먼트의 수, L)형태가 되도록 더미영역의 크기를 결정할 수 있다. 일 실시예에서, 원래 파일의 크기 기록영역의 크기는 4바이트이며, 더미영역의 크기는 N *B * L - size(F)-4바이트로 계산될 수 있다. 여기서 L은
Figure PCTKR2013002084-appb-I000001
이다. 일 실시예에서, n=5, r=3, F의 크기=38바이트, 블록의 크기=2바이트이고, F는 도4a와 같다고 가정하자.
Figure PCTKR2013002084-appb-I000002
이므로, F'의 처음 38바이트는 F의 내용이 그대로 들어가며, 그 다음 18바이트는 널문자(더미영역)가, 그리고 마지막 4바이트는 파일 크기 정보가 들어가서 총 60바이트의 파일이 된다. F'는 도4b와 같다(단, \0은 널문자).
블록 선택부는(130)는 상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 역할을 한다.
일 실시예에서, 블록 선택부(130)는 nCr-1개의 연속한 파일 블록을 블록 단위로 나누어서 n개의 단위 파일 쉐어를 생성하기 위하여, 나뉜 n개의 단위 파일 쉐어 중 임의의 r개의 단위 파일 쉐어가 원래 N개의 파일 블록을 포함하고 있지만, 임의의 r-1개의 단위 파일 쉐어는 원래 N개의 파일 블록 모두를 포함하고 있지는 않도록 n-1Cr-1개의 블록을 선택할 수 있다. 이를 위해, nCr-1개의 블록 각각이 서로 다른 임의의 조합의 r개의 파일 분산 저장 장치에 분산되도록, n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 각각 선택한다.
일 실시예에서, 블록 선택부는(130)는, 집합 {1, 2, … ,n}의 원소 n-r+1개짜리 부분집합의 집합 T와 집합 W={1,2,3,…, nCr-1} 및 일대일대응(f:T -> W)을 생성하는 일대일대응 관리부(131)를 포함하며, i=1, 2, …, n에 대하여, T의 원소 중 i를 포함하는 상기 {1,2,…,n}의 n-1Cr-1개의 부분집합을 선택하여, 이를 S(1), S(2), …, S(n-1Cr-1)라 했을 때, i번째 파일 분산 저장장치(10)에 분산되도록 상기 nCr-1개의 블록 중 f(S(1))번째 블록, f(S(2))번째 블록, …, f(S(n-1Cr-1))번째 블록을 선택할 수 있다.
일 실시예에서, n=5, r=3, F(단위 파일 쉐어)={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}일 때, 집합 {1, 2, 3, 4, 5 }의 원소 5-3+1=3개짜리 부분집합의 집합 T는 수학식 1의 형태, W는 수학식 2의 형태를 갖고, T와 W는 10!의 가지수를 갖는 일대일 대응 관계(f:T -> W)를 갖는다.
[수학식 1]
T= {{1, 2, 3}, {1, 2, 4}, {1, 2, 5}, {1, 3, 4}, {1, 3, 5}, {1, 4, 5}, {2, 3, 4}, {2, 3, 5}, {2, 4, 5}, {3, 4, 5}}
[수학식 2]
W= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
i=1, 2, 3, 4, 5에 대하여 T의 원소 중 i를 포함하는 상기 {1, 2, 3, 4, 5 }의 5-1C3-1=3개의 부분집합을 선택하여, 이를 S(1), S(2), S(3) 라 했을 때, i번째 파일 분산 저장장치(10)에 분산되도록 상기 5C3-1=10개의 블록 중 f(S(1))번째 블록, f(S(2))번째 블록, f(S(3))번째 블록을 i번째 파일 분산 저장 장치에 저장하도록 선택하면, 단위 파일 쉐어는 수학식 3과 같다.
[수학식 3]
f1={1, 2, 3, 4, 5, 6}
f2={1, 2, 3, 7, 8, 9}
f3={1, 4, 5, 7, 8, 10}
f4={2, 4, 6, 7, 9, 10}
f5={3, 5, 6, 8, 9, 10}
파일 쉐어 분산부(140)는 n개의 파일 분산 저장 장치에 분산되도록 선택된 상기 단위 파일 쉐어를 상기 단위 파일 쉐어가 포함되는 상기 세그먼트 순서대로 연결한 파일 쉐어를 n개의 파일 분산 저장 장치 각각에 분산하는 역할을 한다. 실시예에 따라, 통신부(150)를 통해서 파일 쉐어를 파일 분산 저장 장치(10) 각각에 분산할 수도 있다.
통신부(150)는 파일 분산 관리 장치(100)와 외부 객체와의 통신을 수행하는 역할을 한다. 파일 쉐어 분산부(140)는 외부 객체와 통신할 수도 있지만, 통신부(150)의 지원을 받아 외부 객체와의 통신을 수행할 수도 있다. 통신 방법은 객체와 객체가 네트워킹할 수 있는 모든 통신 방법을 포함할 수 있을 것이며, 통신기능이 있다면 유선/무선 통신, 3G, 4G, 혹은 그 이후의 방법의 종류에 제한되지 아니한다.
저장부(160)는 파일 분산 관리 장치(100) 내부의 데이터 처리물을 저장하는 역할을 한다. 구체적으로, 파일 분할부(110), 블록 선택부(130)의 기능 수행 과정 중 또는 기능 수행 과정을 통해 얻어진 제반 정보를 저장할 수 있다.
도 3은 본 발명의 일 실시예에 따른, 파일 분산 관리 방법의 일 흐름을 나타낸 도면이다. 먼저 파일(F)의 정보, 파일 분산 저장 장치의 개수(n), 원래 파일을 복구할 수 있게 하기 위한 최소 파일 쉐어의 수(r)을 입력한다(S1). 바이트 단위의 파일(F)이 nCr-1개 * B(블록의 크기)의 배수(세그먼트 수) 형태가 아닌 경우에 대비하여, 전체크기를 nCr-1 * B 의 배수가 되도록 파일에 소정의 크기의 더미영역과 원래 파일의 크기 기록영역을 부가한 수정파일(F')를 생성한다(S2). 이후, F'를 B * nCr-1바이트의 크기를 갖는 세그먼트로 분할하고, 각 세그먼트를 B바이트의 크기를 갖는 블록으로 재분할한다.(S3). 상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택한다(S4). S4과정에서, 집합 {1, 2, … ,n}의 원소 n-r+1개짜리 부분집합의 집합 T와 집합 W={1,2,3,…, nCr-1} 및 일대일대응(f:T -> W)을 생성하고, i=1, 2, …, n에 대하여, T의 원소 중 i를 포함하는 상기 {1,2,…,n}의 n-1Cr-1개의 부분집합을 선택하여, 이를 S(1), S(2), …, S(n-1Cr-1)라 했을 때, i번째 파일 분산 저장장치(10)에 분산되도록 상기 nCr-1개의 블록 중 f(S(1))번째 블록, f(S(2))번째 블록, …, f(S(n-1Cr-1))번째 블록을 선택할 수 있다. S4과정에서 선택된 단위 파일 쉐어를 단위 파일 쉐어가 포함되는 세그먼트 순서대로 연결한 파일 쉐어를 n개의 파일 분산 저장 장치(10) 각각에 분산한다(S5). 분산이 완료된 이후에, r개의 파일 분산 관리 장치(10)에서 획득한 파일 쉐어를 조합하면, 원래의 파일 블록 모두를 포함하고 있으므로, 원본 파일을 복원할 수 있다.
본 발명의 서술한 실시예들은 셔플링 키와, 리커버리 키를 이용하여 구현될 수도 있다. 이하에는, 실제 구현 사례를 설명한다.
가. 구현 사례 1
(1) 개념 정의 단계
n: 파일 쉐어의 수
r: 원래 파일을 복구할 수 있게 하기 위한 최소 파일 쉐어의 수 (0<r≤n)
N: nCr-1
M: n-1Cr-1
K={Ki}: 시드 키. 1부터 N까지 정수의 무작위 재배열로 구성되어 있음.
Ki: i번째 시드 키 값
SK: Shuffling Key. n * n-1Cr-1짜리 행렬로 구성되어 있음
SK(i, j): 행렬 SK의 i번째 행 j번째 열의 값
RK: Recovery Key. (n-r+1) * N 짜리 행렬로 구성되어 있음.
RK(i, j) : 행렬 RK의 i번째 행 j번째 열의 값. 각각의 값은 두 값의 순서쌍으로 되어 있음.
(2) 키 생성 단계
다음과 같은 방법으로 K, SK, RK를 생성한다.
1: k1, k2 , … , kN에 1, 2, …, N의 재배열을 대입한다;
2: y1, y2 , … , yN에 모두 1을 대입한다;
3: i에 1을 대입한다;
4: (반복문 시작) 모든 {1, 2, …, N } 의 원소가 n-r+1개 짜리인 부분집합 {c1, c2, …, cn-r+1} 에 대하여 다음을 반복한다. (단, c1< c2< … < cn-r+1)
5: (반복문 시작) j=1 부터 n-r+1 까지 반복
6: SK(cj, ycj)에 ki을 대입;
7: RK(j, kj)에 (cj, ycj)을 대입;
8: ycj 에 ycj+1 를 대입;
9: (반복문 끝)
10: (반복문 끝)
11: SK, RK를 모든 분산 저장에 참여하는 파일 분산 저장 장치에 공유;
(3) 파일 분산 단계
이 과정의 목표는 파일을 n개의 파일 분산 저장 장치에 분산 저장하기 위하여 파일의 내용을 섞고 나누어 n개의 파일 쉐어를 생성하는 과정이다. 이를 위하여 파일 분할 과정을 사용한다. 먼저 파일 분할 과정을 살펴본다.
*파일 분할 과정*
이 과정의 목표는 N개의 연속한 파일 블록을 블록 단위로 나누어서 n개의 단위 파일 쉐어를 생성한다. 이 때, 나뉜 n개의 단위 파일 쉐어 중 임의의 r개의 단위 파일 쉐어는 원래 N개의 파일 블록을 포함하고 있지만, 임의의 r-1개의 단위 파일 쉐어는 원래 N개의 파일 블록 모두를 포함하고 있지는 않다. 분할 과정은 다음과 같다.
입력: N개의 연속한 파일 블록 b[1], b[2], … , b[n]
1: n개의 단위 파일 쉐어 f1, f2 , … , fn 을 초기화한다;
2: (반복문 시작) i=1 부터 n까지 반복
3: (반복문 시작) j=1부터 M까지 반복
4: f1에 블록b[SK(i, j)]를 추가한다;
5: (반복문 끝)
6: (반복문 끝)
7: n개의 단위 파일 쉐어 f1, f2 , … , fn 을 반환;
파일 분할 과정을 이용한 파일 분산 단계는 다음과 같다.
입력: 원본 파일 F
1: n개의 파일 쉐어 f1, f2 , … , fn 를 초기화;
2: L에
Figure PCTKR2013002084-appb-I000003
의 값을 대입;
3: F' 에 원본 파일 F, N * B * L - size(F)-4바이트의 널문자, 그리고 4 바이트의 파일 크기 정보를 연결한 값을 대입;
4: (반복문 시작)i=1부터 N까지 다음을 반복
5: Ftmp에 F'의 (i-1_ * N+1번째 블록부터 i * N번째 블록까지 복사;
6: Ftmp에 (n,r)분할 과정을 적용하고, 그 결과물을 (f1', f2' , … , fn') 에 대입;
7: (반복문 시작) j=1부터 n까지 다음을 반복
8: fj에 fj와 fj'를 연결한 것을 대입;
9: (반복문 끝)
10: (반복문 끝)
11: n개의 파일 쉐어 f1, f2 , … , fn 을 반환;
(3) 파일 복구 단계
이 과정의 목표는 r개의 파일 쉐어를 이용하여 원래 파일로 복구하는 것이다. 복구 과정은 다음과 같다.
입력: r개의 단위 파일 쉐어 fs1', fs2', … , fsr'
1: F'를 초기화한다;
2: L에
Figure PCTKR2013002084-appb-I000004
의 값을 대입한다;
3: R을 {s1, s2, …, sr} 로 지정;
4: (반복문 시작) j=1부터 N까지 반복
5: (반복문 시작) i=1부터 n-r+1까지 반복
6: RK(I, j)의 값을 (z, t)에 대입;
7: (조건문) 만일 z ∈ R이라면
8: 반복문 하나를 빠져나간다;
9: (조건문 끝)
10: (반복문 끝)
11: (xj,yj)에 (z, t)의 값을 대입;
12: (반복문 끝)
13: (반복문 시작) l=1부터 L까지 다음을 반복
14: (반복문 시작) j=1부터 N까지 반복
15: F'에 블록fxj[M(l-1)+yj] 를 추가한다;
16: (반복문 끝)
17: (반복문 끝)
18: S에 F'의 마지막 4바이트의 값을 대입한다;
19: SIZE의 값에 S의 값을 정수로 변환한다;
20: F에 F'의 처음 SIZE 바이트를 대입한다;
21: F를 반환한다;
이하에는, 실제 구현 사례1을 적용한 실제 구현 사례2를 설명한다.
2. 구현 사례 2
(1) 개념 정의 단계
n=5, r=3, N=5C3-1=10, M=5-1C3-1=6
(2)키 생성 단계
K= {3, 1, 4, 10, 5, 9, 2, 6, 8, 7}인 경우 도 4c와 같은 결과 값을 얻는다.
(3)파일 분할 단계
F가 도 4a와 같다고 가정하면,
Figure PCTKR2013002084-appb-I000005
이므로, F'의 처음 38바이트는 F의 내용이 그대로 들어가며, 그 다음 18바이트는 널문자(더미영역)가, 그리고 마지막 4바이트(수정파일의 크기 기록 영역)는 파일 크기 정보가 들어가서 총 60바이트의 파일이 된다. F'는 도 4b와 같다. (단, \0은 널문자)
블록의 크기가 2바이트이므로 한 번의 반복문(1세그먼트)에 20바이트씩 파일이 처리되므로 3번의 반복문이 실행된다. 첫 번째 20바이트는 도 4d과 같이 5개의 단위 파일 쉐어로 분할된다.
예를 들어 첫 번째 단위 파일 쉐어는 SK의 첫 번째 행이 3, 1, 4, 1, 5, 9이므로, 파일의 3번째, 1번째, 4번째, 10번째, 5번째, 9번째 블록이 차례로 연결되어 만들어진다. 이와 같은 방법으로 다섯 개의 단위 파일 쉐어가 만들어진다. 이 전체의 과정을 세 번 반복하고, 그 단위 파일 쉐어들을 연결하면 도 4e과 같은 F'에 대한 다섯 개의 파일 쉐어가 만들어진다.
(3) 파일 복구 단계
여기에서는 (2)에서 생성한 다섯 개의 파일 쉐어 중 임의의 세 개를 이용하여 원래 파일을 복구할 것이다. 그 세 개의 파일 쉐어를 두 번째, 네 번째, 다섯 번째 파일 쉐어인 f2, f4, f5라고 하자. 우선, f2, f4, f5를 M=6개의 블록짜리 단위 파일 쉐어로 나눈다. 여기서 첫 번째 단위 파일 쉐어를 각각 f2', f4', f5'라 하자. 그러면 이들은 도 4f과 같이 10개짜리 블록으로 복구된다.
복구 원리는 다음과 같다. 행렬 RK의 첫 번째 열이 [(1,2), (2,2), (4,1) ]T인데, 그 순서쌍에서 앞의 숫자들로 이루어진 집합 {1,2,4}와 입력 파일 쉐어의 첨자들의 집합인 {2,4,5}의 교집합의 원소를 생각한다. 이 원소들 중 하나를 고르면 4이므로 순서쌍 (4,1)을 선택한다. 이는 네 번째 파일 쉐어의 첫 번째 블록에 원본 파일의 첫 번째 블록이 있다는 뜻이므로 f4'의 첫 번째 파일 블록 [1,2]를 선택한다.
원본 파일의 두 번째 블록도 마찬가지로 다음과 같이 찾아낸다. 행렬 RK의 두 번째 열이 [(2,4), (3,4), (4,4)]T인데, 그 순서쌍에서 앞의 숫자들로 이루어진 집합 {2,3,4}와 입력 파일 쉐어의 첨자들의 집합인 {2,4,5}의 교집합의 원소를 생각한다. 이 원소들 중 하나 2를 선택하면, 이에 대응되는 순서쌍은 (2,4)가 된다. 이는 두 번째 파일 쉐어의 네 번째 블록에 원본 파일의 두 번째 블록이 있다는 뜻이므로 f2'의 두 번째 파일 블록 [3,4]를 선택한다.
위의 과정을 반복하면 10개의 블록이 완성된다. 이런 과정을 세 번 거치고, 그 결과들을 차례로 연결하면 도 4b와 같은 결과가 나온다.
이 때, 마지막 네 바이트에 저장된 값이 38이므로 처음 38바이트만 선택하고 나머지는 버린다. 이렇게 해서 최종적으로 도 4a와 같은 파일을 얻어낸다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크 (floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM< 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
본 발명의 일 측면에 의하면, 하나의 파일이 여러 대의 기기에 나뉘어서 저장되므로 r개 미만의 기기에서 데이터가 유출되었을 경우, 원래 파일의 복원이 불가능하게 하는 효과가 있다.
또한, r개 이상의 기기가 있다고 하더라도, 파일 내용의 순서가 섞여 있으므로 원본 파일을 복구해내기가 매우 어렵게 하여 보안수준을 향상시킬 수 있다.
나아가, 기기의 분실, 실수로 삭제, 또는 바이러스 감염 등으로 인한 파일의 변조로 인하여 파일이 손상되었을 경우, 나머지 r개의 기기를 통하여 원본 파일을 복구할 수 있는 효과가 있다.
또한, 기존의 비밀 분산 기술을 크기가 F인 파일에 적용했을 경우, r의 제곱과 F에 비례하는 연산량이 발생한다. 이로 인하여 불필요한 계산량 소모가 발생할 우려가 있다. 이 특허에서는 조합적인 방법을 이용하여 연산량이 오로지 F에만 비례하는 기술을 제안할 것이다.
즉, 본 발명의 일 측면에 의하면, 파일 시스템의 파일 저장시 파일의 기밀성, 무결성, 가용성을 모두 보장함과 동시에 분산된 파일의 복구를 빠르게 수행할 수 있는 효과가 있다.

Claims (14)

  1. 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치에 분산하고, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있는 파일 분산 관리 방법에 있어서,
    파일을 B * nCr-1바이트의 크기를 갖는 세그먼트로 분할하고, 각 세그먼트를 B바이트의 크기를 갖는 블록으로 재분할하는 단계;
    상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 단계; 및
    n개의 파일 분산 저장 장치에 분산되도록 선택된 상기 단위 파일 쉐어를 상기 단위 파일 쉐어가 포함되는 상기 세그먼트 순서대로 연결한 파일 쉐어를 n개의 파일 분산 저장 장치 각각에 분산하는 단계를 포함하는, 파일 분산 관리 방법.
  2. 제1항에 있어서,
    상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 단계는,
    집합 {1, 2, … ,n}의 원소 n-r+1개짜리 부분집합의 집합 T와 집합 W={1,2,3,…, nCr-1} 및 일대일대응(f:T -> W)을 생성하는 단계를 더 포함하는, 파일 분산 관리 방법.
  3. 제1항에 있어서,
    상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 단계는,
    n개의 파일 분산 저장 장치에 분산할 단위 파일 쉐어 중 임의의 r개의 단위 파일 쉐어가 원래 nCr-1개의 파일 블록을 포함하고 있지만, 임의의 r-1개의 단위 파일 쉐어는 원래 nCr-1개의 파일 블록 모두를 포함하고 있지는 않도록 n-1Cr-1개의 블록을 선택하는 단계를 더 포함하는, 파일 분산 관리 방법.
  4. 제 3항에 있어서,
    상기 n개의 파일 분산 저장 장치에 분산할 단위 파일 쉐어 중 임의의 r개의 단위 파일 쉐어가 원래 nCr-1개의 파일 블록을 포함하고 있지만, 임의의 r-1개의 단위 파일 쉐어는 원래 nCr-1개의 파일 블록 모두를 포함하고 있지는 않도록 n-1Cr-1개의 블록을 선택하는 단계는,
    집합 {1, 2, … ,n}의 원소 n-r+1개짜리 부분집합의 집합 T와 집합 W={1,2,3,…, nCr-1} 및 일대일대응(f:T -> W)을 생성하는 단계; 및
    i=1, 2, …, n에 대하여, T의 원소 중 i를 포함하는 상기 {1,2,…,n}의 n-1Cr-1개의 부분집합을 선택하여, 이를 S(1), S(2), …, S(n-1Cr-1)라 했을 때, i번째 파일 분산 저장장치에 분산되도록 상기 nCr-1개의 블록 중 f(S(1))번째 블록, f(S(2))번째 블록, …, f(S(n-1Cr-1))번째 블록을 i번째 파일 분산 저장 장치에 저장하도록 선택하는 단계를 더 포함하는, 파일 분산 관리 방법.
  5. 제1항에 있어서,
    상기 파일을 B * nCr-1바이트의 크기를 갖는 세그먼트로 분할하고, 각 세그먼트를 B바이트의 크기를 갖는 블록으로 재분할하는 단계는,
    파일에 추가영역을 부가하여 수정 파일을 생성하는 단계; 및
    상기 수정 파일을 B바이트의 크기를 가지는 블록으로 분할하는 단계를 더 포함하는, 파일 분산 관리 방법.
  6. 제5항에 있어서,
    상기 파일에 추가영역을 부가하여 수정 파일을 생성하는 단계는,
    상기 파일에 소정의 크기의 더미영역과 파일의 크기 기록영역을 부가하는 단계를 포함하되,
    상기 파일의 크기, 상기 더미영역의 크기 및 상기 파일의 크기 기록 영역의 합이 nCr-1 * 블록의 크기(B)의 배수가 되도록 더미영역의 크기가 결정되는, 파일 분산 관리 방법.
  7. 파일을 B * nCr-1바이트의 크기를 갖는 세그먼트로 분할하고, 각 세그먼트를 B바이트의 크기를 갖는 블록으로 재분할하는 단계; 상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 단계; 및 n개의 파일 분산 저장 장치에 분산되도록 선택된 상기 단위 파일 쉐어를 상기 단위 파일 쉐어가 포함되는 상기 세그먼트 순서대로 연결한 파일 쉐어를 n개의 파일 분산 저장 장치 각각에 분산하는 단계를 포함하여, 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치에 분산하고, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있는 파일 분산 관리 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.
  8. 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치에 분산하고, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있는 파일 분산 관리 장치에 있어서,
    파일을 B * nCr-1바이트의 크기를 갖는 세그먼트로 분할하고, 각 세그먼트를 B바이트의 크기를 갖는 블록으로 재분할하는 파일 분할부;
    상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 파일 쉐어 선택부;
    n개의 파일 분산 저장 장치에 분산되도록 선택된 상기 단위 파일 쉐어를 상기 단위 파일 쉐어가 포함되는 상기 세그먼트 순서대로 연결한 파일 쉐어를 n개의 파일 분산 저장 장치 각각에 분산하는 파일 쉐어 분산부를 포함하는, 파일 분산 관리 장치.
  9. 제8항에 있어서,
    상기 파일 쉐어 선택부는,
    집합 {1, 2, … ,n}의 원소 n-r+1개짜리 부분집합의 집합 T와 집합 W={1,2,3,…, nCr-1} 및 일대일대응(f:T -> W)을 생성하는 일대일 대응 관리부를 더 포함하는, 파일 분산 관리 장치.
  10. 제8항에 있어서,
    상기 파일 쉐어 선택부는,
    n개의 파일 분산 저장 장치에 분산할 단위 파일 쉐어 중 임의의 r개의 단위 파일 쉐어가 원래 nCr-1개의 파일 블록을 포함하고 있지만, 임의의 r-1개의 단위 파일 쉐어는 원래 nCr-1개의 파일 블록 모두를 포함하고 있지는 않도록 n-1Cr-1개의 블록을 선택하는, 파일 분산 관리 장치.
  11. 제10항에 있어서,
    상기 블록 선택부는,
    집합 {1, 2, … ,n}의 원소 n-r+1개짜리 부분집합의 집합 T와 집합 W={1,2,3,…, nCr-1} 및 일대일대응(f:T -> W)을 생성하는 일대일대응 관리부를 포함하며,
    i=1, 2, …, n에 대하여, T의 원소 중 i를 포함하는 상기 {1,2,…,n}의 n-1Cr-1개의 부분집합을 선택하여, 이를 S(1), S(2), …, S(n-1Cr-1)라 했을 때, i번째 파일 분산 저장장치에 분산되도록 상기 nCr-1개의 블록 중 f(S(1))번째 블록, f(S(2))번째 블록, …, f(S(n-1Cr-1))번째 블록을 i번째 파일 분산 저장 장치에 저장하도록 선택하는, 파일 분산 관리 장치.
  12. 제8항에 있어서,
    상기 파일 분할부는,
    파일에 추가영역을 부가하여 수정 파일을 생성하는 수정 파일 생성부를 포함하고,
    상기 수정 파일을 B바이트의 크기를 가지는 블록으로 분할하는, 파일 분산 관리 장치.
  13. 제8항에 있어서,
    상기수정 파일 생성부는,
    상기 파일에 소정의 크기의 더미영역과 파일의 크기 기록영역을 부가하되, 상기 파일의 크기, 상기 더미영역의 크기 및 상기 파일의 크기 기록 영역의 합이 nCr-1 * 블록의 크기(B)의 배수가 되도록 더미영역의 크기를 결정하는 파일 분산 관리 장치.
  14. 파일로부터 생성한 복수의 파일 쉐어를 n개의 파일 분산 저장 장치에 분산하고, 임의의 r개(0<r≤n)의 파일 분산 저장 장치에 저장된 복수의 파일 쉐어를 획득하는 경우에만 파일을 복원할 수 있는 파일 분산 관리 시스템에 있어서,
    파일을 소정의 크기를 가지는 블록으로 분할하고, 상기 블록을 순서대로 nCr-1개씩 포함하는 세그먼트를 생성하는 파일 분할부, 상기 세그먼트 별로, 상기 세그먼트에 포함된 블록 중 n개의 파일 분산 저장 장치에 분산할 n-1Cr-1개의 블록을 갖는 단위 파일 쉐어를 각각 선택하는 파일 쉐어 선택부, 상기 단위 파일 쉐어를 모두 연결한 파일 쉐어를 n개의 파일 분산 저장 장치 각각에 분산하는 파일 쉐어 분산부를 포함하는, 파일 분산 관리 장치; 및
    n개의 파일 분산 저장 장치를 포함하는, 파일 분산 관리 시스템.
PCT/KR2013/002084 2013-02-15 2013-03-15 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법 WO2014126291A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130016390A KR101379848B1 (ko) 2013-02-15 2013-02-15 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법
KR10-2013-0016390 2013-02-15

Publications (1)

Publication Number Publication Date
WO2014126291A1 true WO2014126291A1 (ko) 2014-08-21

Family

ID=50656163

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/002084 WO2014126291A1 (ko) 2013-02-15 2013-03-15 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법

Country Status (2)

Country Link
KR (1) KR101379848B1 (ko)
WO (1) WO2014126291A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016076460A1 (ko) * 2014-11-13 2016-05-19 서울대학교산학협력단 일정 수 이상의 파일 조각으로 복구 가능한 파일 분산 관리 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040022390A1 (en) * 2002-08-02 2004-02-05 Mcdonald Jeremy D. System and method for data protection and secure sharing of information over a computer network
US20090177894A1 (en) * 2008-01-07 2009-07-09 Security First Corporation Systems and methods for securing data using multi-factor or keyed dispersal
KR20120034156A (ko) * 2009-04-24 2012-04-10 니뽄 덴신 덴와 가부시키가이샤 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 그들의 처리 방법, 비밀 분산 방법, 프로그램 및 기록 매체
US20130013931A1 (en) * 2011-03-07 2013-01-10 Security First Corp. Secure file sharing method and system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100122197A (ko) * 2009-05-12 2010-11-22 주식회사 클루넷 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
KR101195123B1 (ko) * 2009-10-15 2012-10-29 주식회사 클루넷 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
KR20110109610A (ko) * 2010-03-31 2011-10-06 주식회사 클루넷 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040022390A1 (en) * 2002-08-02 2004-02-05 Mcdonald Jeremy D. System and method for data protection and secure sharing of information over a computer network
US20090177894A1 (en) * 2008-01-07 2009-07-09 Security First Corporation Systems and methods for securing data using multi-factor or keyed dispersal
KR20120034156A (ko) * 2009-04-24 2012-04-10 니뽄 덴신 덴와 가부시키가이샤 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 그들의 처리 방법, 비밀 분산 방법, 프로그램 및 기록 매체
US20130013931A1 (en) * 2011-03-07 2013-01-10 Security First Corp. Secure file sharing method and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SONG, YU JIN ET AL.: "A study on the secret sharing scheme for managing a large quantity of data including individual information", KOREA INTERNET & SECURITY AGENCY, September 2009 (2009-09-01) *

Also Published As

Publication number Publication date
KR101379848B1 (ko) 2014-04-04

Similar Documents

Publication Publication Date Title
WO2017003051A1 (ko) 랜덤하면서 유일한 코드를 생성하는 전자 장치 및 방법
WO2016056856A1 (ko) 무결성 검증 데이터 생성 방법 및 시스템
WO2020235797A1 (en) Apparatus for processing modular multiply operation and methods thereof
WO2015158038A1 (zh) 可抵御差分功耗分析攻击的加密处理装置及方法
WO2019168315A1 (en) Trustzone graphic rendering method and display device using the same
WO2015016640A1 (ko) 신경망 컴퓨팅 장치 및 시스템과 그 방법
WO2022164000A1 (ko) 배송업체들의 서비스 품질 점수를 기반으로 사용자에게 적절한 배송업체를 추천해주는 배송업체 정보 제공 장치 및 그 동작 방법
WO2017111197A1 (ko) 학습 분석에서 빅데이터 시각화 시스템 및 방법
WO2020189993A1 (ko) 암호화폐 분실 방지 방법 및 시스템
WO2017219636A1 (zh) 数据交互方法、云端服务器以及智能终端
WO2014126291A1 (ko) 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법
WO2022265262A1 (ko) 빅데이터 기반의 인공지능 학습용 데이터 추출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
WO2018093203A1 (ko) 공개키를 이용하여 암호화하는 연산 장치 및 그 암호화 방법
WO2017067284A1 (zh) 一种指纹信息的安全调用方法、装置及移动终端
WO2020246848A1 (ko) 근사 암호화된 암호문에 대한 정렬 장치 및 방법
WO2024043613A1 (ko) 이력서 생성 및 관리 서비스를 제공하기 위한 서버 장치 및 그 동작 방법
WO2016076460A1 (ko) 일정 수 이상의 파일 조각으로 복구 가능한 파일 분산 관리 장치 및 방법
WO2020027618A1 (en) Electronic apparatus including non-volatile memory
WO2012169675A1 (ko) 누적 이동 평균에 기반하여 다원 탐색 트리의 노드를 분할하는 방법 및 장치
WO2021054619A1 (ko) 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법
WO2018191889A1 (zh) 照片处理方法、装置及计算机设备
WO2018199442A1 (en) Apparatus and method for performing operation being secure against side channel attack
WO2018199444A1 (en) Apparatus and method for performing operation being secure against side channel attack
WO2016080569A1 (ko) 일정 수 이상의 파일 조각으로 원본 파일을 복원하는 파일 관리 장치 및 그것의 파일 관리 방법
WO2021256843A1 (ko) 동형 암호문에 대한 통계 연산 수행하는 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13875188

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13875188

Country of ref document: EP

Kind code of ref document: A1