KR100858304B1 - 데이터 보호 시스템, 방법 및 프로그램을 기록한 컴퓨터로판독가능한 기록매체 - Google Patents

데이터 보호 시스템, 방법 및 프로그램을 기록한 컴퓨터로판독가능한 기록매체 Download PDF

Info

Publication number
KR100858304B1
KR100858304B1 KR1020060092723A KR20060092723A KR100858304B1 KR 100858304 B1 KR100858304 B1 KR 100858304B1 KR 1020060092723 A KR1020060092723 A KR 1020060092723A KR 20060092723 A KR20060092723 A KR 20060092723A KR 100858304 B1 KR100858304 B1 KR 100858304B1
Authority
KR
South Korea
Prior art keywords
data
pieces
exclusive
divided
encoded
Prior art date
Application number
KR1020060092723A
Other languages
English (en)
Other versions
KR20070106369A (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 후지쯔 가부시끼가이샤
Publication of KR20070106369A publication Critical patent/KR20070106369A/ko
Application granted granted Critical
Publication of KR100858304B1 publication Critical patent/KR100858304B1/ko

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity

Abstract

본 발명은 분산 보존하는 분할 데이터의 사이즈를 작게 하여, 분산 보존과 회수 복원을 고속으로 행하는 것을 과제로 한다.
데이터 분할부(26)는 데이터를 n개로 분할한다. 부호화부(28)는, 배타적 논리합(XOR)을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성한다. 분산 보존부(30)는 m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존한다. 복호부(32)는 분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 회수한 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써 원래의 데이터를 복호한다.

Description

데이터 보호 시스템, 방법 및 프로그램을 기록한 컴퓨터로 판독가능한 기록매체{DATA PROTECTION SYSTEM, METHOD, AND COMPUTER READABLE RECORDING MEDIA RECORDED AN PROGRAM}
도 1은 본 발명의 데이터 보호 시스템의 사용 환경의 설명도.
도 2는 본 발명에 의한 데이터 보호 시스템의 실시형태를 도시한 기능 구성의 블록도.
도 3은 본 실시형태의 데이터 보호 프로그램이 실행되는 컴퓨터의 하드웨어 환경의 블록도.
도 4는 본 실시형태에 의한 데이터 보호 처리의 흐름도.
도 5는 도 4의 단계 S2의 부호화 처리의 상세한 것을 도시한 흐름도.
도 6은 도 4의 부호화 처리에 있어서의 보존 데이터의 분할 처리의 설명도.
도 7은 도 4의 부호화 처리에서 생성하는 비트맵 행렬의 설명도.
도 8은 본 실시형태에 의한 부호화 처리, 분산 보존 처리 및 복호를 위한 회수 처리의 설명도.
도 9는 도 8의 회수 처리에 이어지는 복호 처리의 설명도.
도 10은 본 실시형태에 의한 부호화 처리와 복호 처리의 구체적인 설명도.
도 11은 본 실시형태에 있어서의 부호화 데이터의 균등 분산 보존의 설명도.
도 12는 본 실시형태에 있어서의 부호화 데이터를 보존 장소에 따라서 변화시킨 분산 보존의 설명도.
도 13은 보존 데이터를 키에 의해 암호화한 후에 분할하여 부호화하는 다른 실시형태를 도시한 블록도.
도 14는 도 13의 실시형태에 의한 데이터 보호 처리의 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
10 : 퍼스널 컴퓨터 12 : USB 메모리 스틱
14 : 네트워크 16-1, 16-4 : 네트워크 컴퓨터
18-1, 18-2 : 네트워크 스토리지 20 : 데이터 보호부
22 : 원래 데이터 파일 24 : 보존 파일
26 : 데이터 분할부 28 : 부호화부
28-1 : 제1 부호화부 28-2 : 제2 부호화부
30 : 분산 보존부 32 : 복호부
56 : 보존 데이터 58, 58-1∼58-N : 분할원 데이터
60-1∼60-n : 블록 데이터 62 : 비트맵 행렬
66-1∼66-m : 부호화 데이터 68 : 비트맵
70 : XOR 데이터 72 : 회수
74 : 회수 데이터 75 : 복호 처리
76 : 단위 행렬화 78 : 복원 데이터
80 : 단위 행렬 82 : 클라이언트
84 : 사용자 파일 86 : 데이터 보호 서버
88 : 관리 파일 90 : 암호화부
92 : 암호 해독부
본 발명은, 개인 정보 등의 중요한 정보를 분할하여 네트워크 스토리지 장치나 USB 메모리 등의 기억 디바이스에 분산 보존하여, 필요할 때에 모아 복원하는 데이터 보호 시스템, 방법 및 프로그램에 관한 것으로, 특히, 정보를 용장 부호화하여 분산 보존함으로써 일부의 정보가 도난을 당하더라도 누설 방지와 정보 복원을 가능하게 하는 데이터 보호 시스템, 방법 및 프로그램에 관한 것이다.
종래, 기술 정보나 개인 정보 등과 같은 중요한 정보를 안전하게 보관하기 위해서, 키(Key)를 이용한 암호화 알고리즘이 이용되고 있다. 대표적인 키 암호 방식으로서는, 공통 키 암호 방식의 DES(Data Encryption Standard)나 AES(Advanced Encription Standard), 공개 키 암호 방식의 RSA(Rivest, Shamir and Adleman) 등이 있다.
그러나, 이러한 종래의 키를 이용한 암호화 알고리즘은, 계산기의 능력이 높아지면 무차별 대입(Brute Force)에 의해 해독하는 것도 불가능하지 않기 때문에 안전하다고는 단언할 수 없다. 또한, 키를 관리하기 위해서 많은 비용이 드는 점도 문제이다.
이에 대하여 정보를 복수의 파트(할부)로 분산시켜, 파트가 가지런히 갖춰졌을 때에만 정보를 복원할 수 있는 비밀 정보 분산 알고리즘이라는 데이터 보호 기술이 있다. 비밀 정보 분산 알고리즘에서는 키를 사용하지 않고 정보를 복수의 파트에 분산할 뿐이지만, 하나의 파트만을 입수했다고 해도 거기로부터 원래의 정보를 얻는 것은 불가능하며, 도난이나 분실했을 때에도 정보의 누설을 간단하게 방지할 수 있다.
이러한 종래의 비밀 정보 분산 알고리즘으로서는 다음의 것이 있다.
(1) (k,n) 임계치 비밀 분산법이라 불리는 방법이며, 원래의 데이터를 n개의 데이터로 분할하여, 그 중 임의의 k개의 분할 데이터를 모으면 원래 데이터를 복원할 수 있지만, 임의의 (k-1)개 이하의 분할 데이터로는 원래 데이터 S는 복원할 수 없다(특허문헌 1 참조).
(2) (k,n) 임계치 비밀 분산법의 실현 방법으로서, 다항식 연산에 의해 데이터의 분할 및 복원을 행하고 있다(특허문헌 2 참조).
(3) 단순히 데이터를 뿔뿔이 흩어놓고서 그것을 분할 데이터로서 재배열함으로써 정보 분산을 실현하는 방법이다(특허문헌 3 참조).
(4) 원래의 데이터를 분할한 것과 임의의 난수의 배타적 논리합(XOR)을 취한 것을 분할 데이터로서 출력하는 정보 분산 방법이다(특허문헌 4 참조).
<특허문헌 1>
A. Shamir, "How to Share a Secret", Comm. Assoc. Comput. Mach., VoL 22, no.11, pp. 612-613(Nov. 1979)
<특허문헌 2>
Bruce Schneier, "Applied Cryptography, John Wiley & Sons, Inc., pp. 383-384(1994)
<특허문헌 3>
일본 특허 공개 2004-053969호 공보
<특허문헌 4>
일본 특허 공개 2006-018850호 공보
그러나, 이러한 종래의 비밀 정보 분산 알고리즘에 있어서는, 분할이나 복원에 걸리는 계산 시간이 길고, 분할 데이터의 사이즈가 크다는 등의 문제가 있었기 때문에, 데이터 그 자체의 분할이 아니라 데이터를 암호화하여, 암호화에 이용한 키를 분산하여 관리하기 위해서 등과 같이 이용되어 있고, 데이터 그 자체의 보존 관리에는 이용할 수 없다고 하는 문제가 있다.
즉 특허문헌 1, 2의 (k,n) 임계치 비밀 분산법은, 다항식 연산에 의해 데이터의 분할 및 복원을 행하고 있기 때문에, 분할 데이터의 용량이 원래 데이터와 같게 되어 버린다고 하는 문제가 있고, 또한 분할과 복원에 걸리는 시간도 많다.
또한 특허문헌 3의 방법은, 처리는 고속이지만, k=n인 경우 및 k=2, n=3의 임계치 비밀 정보 분산, 즉, 원래의 데이터를 n=3개의 데이터로 분할하여, 그 중 임의의 k=2개의 분할 데이터를 모으면 원래 데이터를 복원할 수 있는 경우밖에 실현할 수 없다고 하는 문제가 있다.
더욱이 특허문헌 4의 방법은, 특허문헌 1, 2의 방법과 마찬가지로 분할 데이터의 용량이 원래의 데이터와 같게 되어 버리는 문제가 있다.
본 발명에서는, 분산 보존하는 분할 데이터의 사이즈를 작게 하여, 분산 보존과 회수 복원을 고속으로 할 수 있는 데이터 보호 시스템, 방법 및 프로그램을 제공하는 것을 목적으로 한다.
(시스템)
본 발명은, 데이터 보호 시스템을 제공한다.
본 발명의 데이터 보호 시스템은,
데이터를 n개로 분할하는 데이터 분할부와, 배타적 논리합(XOR)을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 부호화부와, m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존부와, 분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호하는 복호부를 포함하는 것을 특징으로 한다.
여기서, 부호화부의 비트맵 행렬은, 비트 0과 1로 이루어지는 적어도 m행 n열의 행렬이며, 1행당 적어도 2개의 비트 1을 포함함으로써 2 이상의 분할 데이터의 배타 논리합을 취한 부호화 데이터를 생성한다.
복호부는, 복원 가능한 k개 이상의 부호화 데이터로서 적어도 분할수 n개분 의 부호화 데이터를 회수하여, 회수한 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써 n개의 분할 데이터를 복호한다.
본 발명에 의한 데이터 보호 시스템의 다른 형태에 있어서는,
데이터를 키에 의해 암호화하여 암호화 데이터를 생성하는 암호화부와, 암호화 데이터 및 키의 각각을 n개로 분할하는 데이터 분할부와, 배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 암호화 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제1 부호화 데이터를, 분할수 n 이상의 m개만큼 생성하는 제1 부호화부와, 동일한 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 키의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제2 부호화 데이터를 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 제2 부호화부와, m개의 제1 및 제2 부호화 데이터의 각각을, 2곳 이상이며 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존부와, 분산 보존된 m개의 제1 및 제2 부호화 데이터 중 복원 가능한 k개 이상의 제1 및 제2 부호화 데이터를 회수하여 암호화 데이터 및 키를 복호하는 복호부와, 복원된 키를 이용하여 복원된 암호화 데이터로부터 원래의 데이터를 생성하는 암호 해독부를 구비하는 것을 특징으로 한다.
이 경우도, 부호화부의 비트맵 행렬은 비트 0과 1로 이루어지는 적어도 m행 n열의 행렬이며, 1행당 적어도 2개의 비트 1을 포함함으로써 2 이상의 분할 데이터의 배타 논리합을 취하는 부호화 암호 데이터 및 부호화 키를 생성한다.
또한 복호부는, 복원 가능한 k개 이상의 부호화 데이터로서 적어도 분할수 n 개만큼의 부호화 데이터를 회수하여, 회수한 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써 n개의 분할 암호화 데이터 및 분할 키를 복호한다.
분산 보존부는, 기억 디바이스로서 네트워크 스토리지, 장치 또는 기기에 대하여 착탈이 자유로운 휴대형 기억 매체 등의 외부 기억 장치를 포함한다. 또한 분산 보존부는, 기억 디바이스에 보존하는 부호화 데이터의 수를 기억 디바이스의 기억 용량 또는 필요도에 따라서 변경한다.
(방법)
본 발명은 데이터 보호 방법을 제공한다. 본 발명의 데이터 보호 방법은,
데이터를 n개로 분할하는 데이터 분할 단계와, 배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 부호화 단계와, m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와, 분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호하는 복호 단계를 포함하는 것을 특징으로 한다.
본 발명에 의한 데이터 보호 방법의 다른 형태에 있어서는,
데이터를 키에 의해 암호화하여 암호화 데이터를 생성하는 암호화 단계와, 암호화 데이터 및 키의 각각을 n개로 분할하는 데이터 분할 단계와, 배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 암호화 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제1 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 제1 부호화 단계와, 동일한 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 키의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제2 부호화 데이터를, 분할수 n 이상의 m개만큼 생성하는 제2 부호화 단계와, m개의 제1 및 제2 부호화 데이터의 각각을, 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와, 분산 보존된 m개의 제1 및 제2 부호화 데이터 중 복원 가능한 k개 이상의 제1 및 제2 부호화 데이터를 회수하여 암호화 데이터 및 키를 복호하는 복호 단계와, 복원된 키를 이용하여 복원된 암호화 데이터로부터 원래의 데이터를 생성하는 암호 해독 단계를 구비한 것을 특징으로 한다.
(프로그램)
본 발명은 데이터 보호 프로그램을 제공한다. 본 발명의 데이터 보호 프로그램은, 컴퓨터에 의해서, 데이터를 n개로 분할하는 데이터 분할 단계와, 배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 부호화 단계와, m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와, 분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호하는 복호 단계를 실행시키는 것을 특징으로 한다.
본 발명에 의한 데이터 보호 프로그램의 다른 형태에 있어서는, 컴퓨터에 의해서, 데이터를 키에 의해 암호화하여 암호화 데이터를 생성하는 암호화 단계와, 보호화 데이터 및 키의 각각을 n개로 분할하는 데이터 분할 단계와, 배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 암호화 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제1 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 제1 부호화 단계와, 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 키의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제2 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 제2 부호화 단계와, m개의 제1 및 제2 부호화 데이터의 각각을, 2곳 이상이며 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와, 분산 보존된 m개의 제1 및 제2 부호화 데이터 중 복원 가능한 k개 이상의 제1 및 제2 부호화 데이터를 회수하여 암호화 데이터 및 키를 복호하는 복호 단계와, 복원된 키를 이용하여 복원된 암호화 데이터로부터 원래의 데이터를 생성하는 암호 해독 단계를 실행시키는 것을 특징으로 한다.
도 1은 본 발명의 데이터 보호 시스템의 사용 환경의 설명도이다. 도 1에 있어서, 사용자가 사용하고 있는 퍼스널 컴퓨터(10)에는 본 실시형태의 데이터 보호 시스템을 실현하는 데이터 보호 프로그램이 인스톨되어 있어, 사용자가 중요한 데이터 파일을 보존할 때에 사용된다.
퍼스널 컴퓨터(10)는 하드디스크 드라이브를 내장하고 있고, 또 운반이 자유로운 외부 기억 디바이스로서 USB 메모리 스틱(12)을 사용할 수 있다. 또한 퍼스널 컴퓨터(10)는 네트워크(14)를 통해 네트워크 컴퓨터(16-1, 16-2)에 접속할 수 있다. 네트워크 컴퓨터(16-1, 16-2)는 사용자의 퍼스널 컴퓨터(10)에서 볼때, 내장한 하드디스크 드라이브에 의해 네트워크 스토리지를 구성하고 있다.
도 2는 본 발명에 의한 데이터 보호 시스템의 실시형태를 도시한 기능 구성의 블록도이다. 도 2에 있어서, 사용자가 사용하는 퍼스널 컴퓨터(10)에는 데이터 보호 프로그램의 실행에 의해 실현되는 기능부로서 데이터 보호부(20)가 설치되어 있다. 데이터 보호부(20)에 대해서는 보호 대상으로 하는 중요한 정보를 저장한 원래 데이터 파일(22), 보존 장소의 하나가 되는 보존 파일(24)이 설치된다.
데이터 보호부(20)에는 데이터 분할부(26), 부호화부(28), 분산 보존부(30) 및 복호부(32)가 설치되어 있다. 또한 데이터 보호부(20)에는 외부 기억 장치로서 USB 메모리 스틱(12), 네트워크 스토리지(18-1, 18-2)가 접속되어 있다.
데이터 분할부(26)는 원래 데이터 파일(22)로부터 독출된 보호 대상으로 하는 데이터를 n개의 블록 데이터로 분할한다. 부호화부(28)는 배타적 논리합(XOR)을 취하는 복수의 분할한 블록 데이터를 지정하는 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 데이터 블록의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 미리 정한 용장도 Q에 따른 m개만큼 생성한다.
분산 보존부(30)는 부호화부(28)에서 생성된 m개의 부호화 데이터를 2곳 이상이며 m곳 이내의 기억 디바이스, 본 실시형태에 있어서는 퍼스널 컴퓨터(10) 자신의 보존 파일(24), 착탈이 자유로운 USB 메모리 스틱(12) 및 네트워크(14)를 통 해 접속된 네트워크 스토리지(18-1, 18-2)에 분산하여 보존한다.
복호부(32)는 분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호한다. 구체적으로는, 복호부(32)는 복원 가능한 k개 이상의 부호화 데이터로서 적어도 분할수 n개분의 부호화 데이터를 회수하여, 회수한 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써, m개의 분할된 블록 데이터를 복호한다.
여기서, 부호화부(28)에서 생성하는 부호화 데이터의 수는 분할수 n 이상의 용장도 Q에 따라 m개로 하고 있지만, 이 경우, 용장도 Q는
용장도 Q=m/n
로 나타낼 수 있다.
이 용장도 Q는 부호화율 R의 역수이다. 즉 부호화율 R은
부호화율 R=n/m=1/Q
로 나타낼 수 있다.
용장도 Q는 1 이상의 값이며, 용장도를 크게 할수록 데이터 보호의 신뢰성은 향상되지만, 분산 배치하는 부호화 데이터의 수가 증가한다. 그래서, 신뢰성의 향상과, 부호화 데이터의 수의 밸런스를 고려하여 최적의 값, 예컨대 데이터 분할수 n보다 부호화 데이터의 수 m이 수 퍼센트 정도 많게 되도록 용장도 Q를 결정한다.
또한 분산 보존부(30)에 의한 부호화 데이터의 분산 보존은, 복수의 기억 디바이스에 균등하게 부호화 데이터를 분산 배치하는 방법, 또는 기억 디바이스의 기억 용량이나 필요도에 따라서 부호화 데이터의 분산수를 변경하는 방법 등을 들 수 있다.
예컨대 도 2의 실시형태에 있어서는, USB 메모리 스틱(12)의 기억 용량은 보존 파일(24)이나 네트워크 스토리지(18-1, 18-2)에 비하여 작으므로, 부호화부(28)에서 생성한 m개의 부호화 데이터에 대하여 전체의 기억 용량에 대한 USB 메모리 스틱(12)이 차지하는 비율에 따른 수의 부호화 데이터를 USB 메모리 스틱(12)에 분산 배치한다. 이에 따라, 복수의 분산 보존하는 기억 디바이스의 기억 용량에 차이가 있더라도, 각각의 기억 용량에 따른 수의 부호화 데이터를 적절하게 분산 보존할 수 있다.
도 3은 본 실시형태의 데이터 보호 프로그램이 실행되는 컴퓨터의 하드웨어 환경의 블록도이다. 도 3에 있어서, CPU(34)의 버스(36)에는, RAM(38), ROM(40), 하드디스크 드라이브(42), 키보드(46), 마우스(48), 디스플레이(50)를 접속한 디바이스 인터페이스(44), 네트워크 어댑터(52), 또한 USB 어댑터(54)가 접속되어 있다.
하드디스크 드라이브(42)에는 본 실시형태의 데이터 보호 프로그램이 저장되어 있다. 컴퓨터를 기동하면, ROM(40)의 부팅업 프로그램에 의한 부팅 처리에 의해, 하드디스크 드라이브(42)의 OS가 RAM(38)에 독출되어 실행된 후, 하드디스크 드라이브(42)로부터 본 실시형태의 데이터 보호 프로그램이 RAM(38)에 독출되어, CPU(34)에 의해 실행된다.
도 4는 본 실시형태에 의한 데이터 보호 처리의 흐름도이다. 도 4에 관해서, 도 2를 참조하여 설명하면 다음과 같이 된다. 단계 S1에서 파일 보존 요구를 판별 하면, 단계 S2로 진행하여, 도 2의 데이터 분할부(26) 및 부호화부(28)에 의한 보존 파일의 부호화 처리를 실행한다.
이어서 단계 S3에서 분산 보존부(30)에 의해 부호화 데이터의 분산 처리를 하여, 부호화 처리로 작성된 m개의 부호화 데이터를 보존 장소가 되는 복수의 기억 디바이스에 분산 보존한다.
이어서 단계 S4에서 파일 독출 요구를 판별하면, 단계 S5에서 복호부(32)가 보존처로부터 부호화 데이터를 회수하여, 단계 S6에서 회수한 부호화 데이터에 관해서 가우스 소거법에 의해 비트맵 행렬을 단위 행렬화하여 원래의 파일을 복원한다.
도 5는 도 4의 단계 S2의 부호화 처리의 상세한 것을 도시한 흐름도이다. 도 5에 있어서, 부호화 처리는, 우선 단계 S1에서 처리 대상이 되는 보존 데이터를 부호화 처리에 적합한 사이즈가 되는 데이터(D1∼DN)로 등분할한다.
도 6은 도 5의 단계 S1의 데이터 분할의 설명도이며, 보존 데이터(56)를 부호화 처리에 필요한 소정 사이즈의 분할원 데이터(58-1∼58-N)로 분할한다. 여기서 보존 데이터(56)는 본 실시형태에서 처리 가능한 보호 데이터의 최대 사이즈를 나타내고 있으며, 실제의 보호 데이터는 이 보존 데이터(56)의 사이즈 내에 수습되고 있고, 남은 부분에 대해서는 비트 0으로 매립하고 있으며, 따라서 최대 사이즈 이내의 데이터에 대하여 고정적으로 N개의 분할원 데이터(58-1∼58-N)가 등분할에 의해 생성된다.
다시 도 5를 참조하면, 이어서 단계 S2에서 분할 데이터 번호 i를 i=1로 초 기화한다. 이 분할 데이터 번호 i는 i=1∼N의 값을 취한다. 이어서 단계 S3에서 본 실시형태의 부호화에 사용하는 m행 n열의 비트맵 행렬 M을 생성한다.
도 7은 도 5의 단계 S3에서 생성하는 비트맵 행렬(62)의 설명도이다. 본 실시형태에 있어서는, 도 6과 같이, 보존 데이터(56)로부터 N개로 분할한 분할원 데이터(58-1∼58-N)에 대하여 또, 도 5의 단계 S4에서 예컨대 도 6의 분할원 데이터(58-1)에 대하여 추출하여 나타낸 바와 같이 n개의 블록 데이터(60-1∼60-n)로 분할하고 있으며, 이 블록 데이터(60-1∼60-n)와 용장도 Q로 결정되는 부호화 데이터의 생성수 m개에 기초하여 비트맵 행렬(62)이 작성된다.
비트맵 행렬(62)은 행 번호 x와 열 번호 y를 가지며, 행 번호 x는 부호화 데이터의 생성수 x=1∼m의 값을 취하고, 한편, 열 번호 y는 도 6에 도시한 블록 데이터(60-1∼60-n)의 위치를 나타내는 y=1∼n의 값을 취한다.
비트맵 행렬(62)은, 행 번호 x로 주어지는 각 행마다, 부호화 데이터에 조합하는 배타적 논리합 데이터의 배타적 논리합 계산에 사용하는 블록 데이터의 위치를, 비트 b1∼bn의 비트 1에 의해 나타내고 있다.
예컨대 비트맵 행렬
b1, b2, b 3 ··· bn=110 ··· 0
이라면, 비트 1에 대응한 제1번째 비트 b1과 제2번째 비트 b2의 열 번호 y로 나타내는 도 6의 1번째의 블록 데이터(60-1)와 2번째의 블록 데이터(60-2)의 배타적 논리합을 계산하여 구하게 된다.
비트맵 행렬(62)로서는 비트 0과 1로 이루어지는 임의의 행렬을 작성할 수 있지만, 비트 1이 하나뿐이며 다른 비트가 전부 0으로 되는 경우에는, 배타적 논리합 계산에 있어서는 1곳의 비트 1에 대응한 블록 데이터 그 자체가 배타적 논리합 계산된 데이터가 되어, 이것을 분산 보존하는 경우에는 일부이기는 하지만 블록 데이터 그 자체를 알 수 있게 된다.
그래서 본 실시형태에 있어서의 비트맵 행렬(62)에 있어서는, 반드시 비트 1을 2개 이상 포함하는 비트맵 행렬을 생성한다. 이로써 부호화된 데이터에 포함되는 XOR 데이터는 반드시 2 이상의 블록 데이터의 배타적 논리합으로 되어, 일부의 블록 데이터가 그대로 분산 보존되어, 분실·도난 등이 일어났을 때에, 제3자가 일부의 블록 데이터라도를 그대로 알게 되는 것을 방지한다.
다시 도 5를 참조하면, 단계 S3에서 m행 n열의 비트맵 행렬 M을 생성했다면, 이어서 단계 S4에서 데이터 Di를 도 6의 분할원 데이터(58-1)에 나타내는 바와 같이 n개의 블록 데이터(BL1∼BLn)로 분할한다.
이어서 단계 S5에서 행 번호 x를 x=1로 초기화한다. 계속해서 단계 S6에서 부호화 데이터 P를 P=0으로 초기화하고, 또한 열 번호 y를 y=1로 초기화한다. 이어서 단계 S7에서 비트맵 행렬 Mxy=M11의 비트 b1이 비트 1인지의 여부를 체크한다.
행렬의 비트 b1이 1이라면, 단계 S8에서 이것에 대응한 블록 데이터(BLx)와 단계 S6에서 초기 설정한 부호화 데이터 P와의 배타적 논리합(XOR)을 구하여 새로운 부호화 데이터 P로 한다. 또한, 단계 S7에서 행렬 Mxy=M11이 비트 0이었던 경우에는, 단계 S8은 스킵한다.
이어서 단계 S9에서 열 번호 y를 하나 인크리멘트한 후, 단계 S10에서 최종 치 n을 넘고 있지 않으면 단계 S7로 되돌아가, 다음 행렬 Mxy=M12의 비트 b2가 비트 1인지의 여부를 체크하여, 비트 1이라면, 단계 S8에서 대응하는 블록 데이터(BL2)와 현재 구하고 있는 부호화 데이터 P와의 배타적 논리합(XOR)을 계산한다. 또한 단계 S7에서 지정되는 비트 b2가 비트 0이라면, 단계 S8은 스킵한다.
이러한 단계 S7∼S9의 처리를 단계 S10에서 열 번호 y가 y=n에 달할 때까지 반복하여, n을 초과하는 경우에는 단계 S11로 진행하여, 행 번호 x를 하나 인크리멘트한 후, 단계 12에서, 이 때 단계 S8에서 계산하고 있었던 부호화 데이터 P를 미리 결정된 복수의 분산처의 하나에 균등하게 분산하여 보존한다.
예컨대 도 2와 같이, 부호화 데이터의 분산처가 보존 파일(24), USB 메모리 스틱(12) 및 네트워크 스토리지(18-1, 18-2)의 4개라면, 생성된 부호화 데이터의 생성 번호는 행 번호 x에 일치하므로, 보존 부위의 수 A에 대하여
(x mod A)
를 취함으로써 순서대로 보존 부위를 지정하여, 균등하게 부호화 데이터를 보존할 수 있다.
이어서 단계 S13에서 행 번호 x가 최종치 m을 초과하였는지의 여부를 체크하여, m을 넘고 있지 않으면 단계 S6으로 되돌아가서, 다음 행 번호 x=2의 비트맵 행렬을 이용한 단계 S6∼S12에 의한 부호화와 분산 보존을 행한다.
단계 S6∼S12 처리의 반복에 의해, 단계 S13에서 행 번호 x가 m을 초과하면, 모든 비트맵 행렬(62)에 의한 부호화가 종료되었으므로, 단계 S14로 진행하여, 파일 번호 i를 하나 인크리멘트한 후, 단계 S15에서 최종 파일인지의 여부, 즉 파일 번호 i가 N을 초과하는지의 여부를 체크하여, 초과하고 있지 않으면 단계 S3으로 되돌아가서, 도 6의 다음의 분할원 데이터(58-2)를 대상으로 하고, 단계 S3∼S14에 의한 n개의 부호화 데이터의 생성을 반복한다.
도 6의 분할원 데이터(58-N)의 부호화가 종료되면, 단계 S15에서 최종 파일의 처리 종료가 판별되어, 일련의 부호화 처리를 종료하여 도 4의 메인 루틴으로 되돌아간다.
도 8은 본 실시형태의 데이터 보호 처리에 있어서의 부호화 처리, 분산 보존처리 및 복호를 위한 회수 처리의 설명도이다. 부호화 처리는 도 6과 같이, N개로 분할된 데이터의 하나를 분할원 데이터(58)로 하여, 분할원 데이터(58)를 n개의 블록 데이터(60-1∼60-n)로 분할하고 있다.
이 분할수 n은 예컨대 n=1028, 블록 사이즈=1280 바이트와 같이 고정 설정되어 있으며, 실제의 데이터가 최대 사이즈보다 작은 경우에는, 공간 부분에 비트 0을 넣어 고정적으로 분할수 n의 블록 데이터를 생성한다.
블록 데이터(60-1∼60-n)는 비트맵(68)에 기초한 비트 1에 대응한 복수의 블록 데이터의 배타적 논리합의 계산에 의해, XOR 데이터(70)의 세트로 이루어지는 m개의 부호화 데이터(66-1∼66-m)로 변환된다.
부호화 데이터(66-1)를 예로 들면, 비트맵(68)은 XOR 데이터(70)를 계산하기 위해서 사용하는 원래 데이터(58)에 있어서의 분할한 블록 데이터(60-1∼60-n)의 위치를 나타내는 n 비트의 데이터이다.
예컨대 부호화 데이터(66-1)의 비트맵(68)은 「10000 ··· 001」이며, 좌 단과 우단의 1 비트만이 「1」이고 나머지는 전부 「0」으로 되어 있다. 따라서, 이 비트맵(68)에 기초하여, 비트 1에 대응한 블록 데이터(60-1)와 블록 데이터(60-n)를 선택하여 배타적 논리합(XOR)을 계산하고, XOR 데이터(70)로서 데이터 P1을 계산하여 비트맵(68)에 조합함으로써, 부호화 데이터(66-1)를 생성하고 있다.
부호화 처리에 의해 생성된 m개의 부호화 데이터(66-1∼66-m)는, 기억 장소가 되는 N개의 기억 디바이스(180-1∼180-N)에 균등하게 분산 배치되거나, 기억 용량이나 필요성에 따른 수에 따라서 분산 보존된다. 분산 보존되는 기억 디바이스의 수 N은 N=2 이상이며 m 이내의 수이다.
기억 디바이스(180-1∼180-N)에 분산 보존된 부호화 데이터에 기초한 복호는 부호화 데이터의 회수(72)를 하여 회수 데이터(74)로서 부호화 데이터(66-1∼66-k)를 구하여, 이 k개의 부호화 데이터로부터, 도 9에 도시한 바와 같이 원래의 블록 데이터(60-1∼60-n)를 복호 데이터(78)로서 복호할 수 있다.
도 9에 있어서의 복호 처리는, 회수 데이터(74)로서 얻어진 k개의 부호화 데이터(66-1∼66-k)에 있어서의 비트맵(68)에 대하여, 가우스의 소거법에 의한 단위 행렬화(76)의 처리를 행함으로써, 이것에 부가하고 있는 XOR 데이터(70)에 대응한 값(P1∼Pk)으로부터 원래의 블록 데이터(BL1∼BLn)로서 블록 데이터(60-1∼60-n)를 복호할 수 있다.
도 10은 본 실시형태에 의한 부호화 처리, 분산 보존 처리 및 복호 처리를 구체적으로 나타내고 있다. 도 10에 있어서, 분할원 데이터(58)는 예컨대 2 바이트의 블록 데이터(60-1∼60-4)로 분할된다. 블록 데이터(60-1 내지 60-4)는 16진수 예컨대 「52」, 「70」, 「73」, 「30」이다.
이어서 부호화를 행하여, 용장도 Q에 의해 결정되는 m개의 부호화 데이터(66-1, 66-2, 66-3, 66-4, 66-5, ···)로 변환한다. 부호화 데이터(66-1)를 예로 들면, 비트맵(68)과 XOR(70)로 구성되며, 비트맵(68)과 XOR 데이터(70)를 계산하기 위해서 사용하는 분할원 데이터(58)에 있어서의 분할한 블록 데이터(60-1∼60-4)의 위치를 나타내는 4 비트의 데이터이다.
부호화 데이터의 비트맵(68)은 「1010」이며, 이에 따라서 원래 데이터(58)로부터 대응하는 1번째와 3번째의 블록 데이터(60-1, 60-3)를 선택하여, 배타적 논리합(XOR)을 16진수 계산으로
XOR=52(+)73=21
로서 구하여, XOR 데이터(70)로서 「21」을 얻고 있다.
이와 같이 하여 변환된 부호화 데이터(66-1, 66-2, 66-3, 66-4, 66-5, ···)는, 보존 장소가 되는 복수의 기억 디바이스에 분산 기억되고, 그 후에 독출 요구를 받으면, 복호에 필요한 회수 데이터(74)로서 예컨대 4개의 부호화 데이터(66-1∼66-4)가 회수된다.
복호 처리는, 회수 데이터(74)로서 얻어진 4개의 부호화 데이터(66-1∼66-4)에 있어서의 비트맵(68)에 대하여, 가우스의 소거법에 의한 단위 행렬화 데이터(76)의 처리를 하여 단위 행렬(80)로 함으로써, 단위 행렬(80)에 부가하고 있는 XOR 데이터(70)로부터 원래의 블록 데이터(60-1∼60-4)의 값인 「52」, 「70」, 「73」, 「30」을 복호할 수 있다.
여기서 도 4의 복호 처리를 할 때에, 도 8과 같이 예컨대 기억 디바이스(18-3)를 도난 등에 의해 잃어버려 부호화 데이터의 소실이 발생하고 있었다고 해도, 도 9와 같이 k개의 부호화 데이터를 회수할 수 있으면, 비트맵의 단위 행렬화 데이터(76)에 의해 원래의 블록 데이터(60-1∼60-n)를 복호할 수 있다.
실제의 장치에서는, 도난 등에 의한 데이터의 상실이 예상되는 기억 디바이스, 예컨대 도 1의 시스템 환경에서는 USB 메모리 스틱(12)이 분실이나 도난을 당할 가능성이 가장 높으므로, 이 USB 메모리 스틱(12)에 의해 잃어버리게 되는 부호화 데이터를 고려하여, 블록 데이터의 분할수 n보다 수 퍼센트 정도 여분을 두는 m개의 부호화 데이터를 생성하여 분산 기억해 둔다.
이에 따라 예컨대 USB 메모리 스틱(12)을 도난 혹은 분실 등에 의해 잃어버리더라도, 그 이외의 기억 디바이스로부터 k개의 부호화 데이터를 회수하여 원래 데이터를 복호할 수 있다.
한편, USB 메모리 스틱(12)에 보존하고 있는 부호화 데이터에 대해서는, 예컨대 k개 미만의 부호화 데이터가 보존되어 있을 뿐이며, 이 USB 메모리 스틱(12)의 보존 데이터는 복원에 필요한 k개에 달하고 있지 않으므로, USB 메모리 스틱(12)의 부호화 데이터를 제3자가 부정하게 입수하더라도 원래의 분할 데이터를 복원할 수는 없다.
또 하나, 하나의 부호화 데이터는 적어도 2개의 블록 데이터의 배타적 논리합으로부터 구해지고 있기 때문에, 부호화 데이터에 포함되는 XOR 데이터 그 자체도 직접, 원래 데이터의 일부를 나타내고 있지는 않아서, 일부의 원래 데이터라도 알 수는 없다.
도 11은 본 실시형태에 있어서의 부호화 데이터의 균등 분산 배치의 설명도이다. 도 11에 있어서는, 사용자가 사용하는 클라이언트(82)는 사용자 파일(84)을 갖추고 있고, 클라이언트(82)는 데이터 보호 서버(86)에 액세스 가능하며, 데이터 보호 서버(86)에 본 실시형태에 의한 데이터 보호 프로그램이 인스톨되어 있다. 즉 데이터 보호 서버(86)에는, 도 2의 퍼스널 컴퓨터(10)에 나타낸 데이터 보호부(20)와 동일한 기능이 마련되어 있다.
데이터 보호 서버(86)는 클라이언트(82)로부터 사용자 파일의 보존 요구를 받으면, 도 2의 데이터 보호부(20)의 데이터 분할부(26) 및 부호화부(28)에 의한 사용자 파일 데이터의 분할과 부호화 처리를 실행한 후, 분산 보존부(30)에 의해 예컨대 보존 장소가 되는 네트워크 스토리지(18-1∼18-3)에, 부호화 처리로 생성한 예컨대 12개의 부호화 데이터(P1∼P12)를 4개씩 균등하게 분산 보존한다.
이 때 데이터 보호 서버(86) 자신에게는 부호화 데이터는 보존하고 있지 않고, 관리 파일(88)에 보존처가 되는 네트워크 스토리지(18-1∼18-3)의 어드레스와, 보존하고 있는 부호화 데이터의 수 등의 관리 정보만이 기억되어 있을 뿐이다.
이 때문에, 클라이언트(82)로부터 파일 독출 요구를 받았을 때에, 데이터 보호 서버(86)는 관리 파일(88)을 참조하여, 보존처가 되는 네트워크 스토리지(18-1∼18-3)를 지정하여, 복원에 필요한 k개의 부호화 데이터를 회수하여 복호하여, 클라이언트(82)에 응답하게 된다.
도 12는 본 실시형태에 있어서의 부호화 데이터를 보존 장소에 따라서 변화 시킨 분산 보존의 설명도이다. 도 12에 있어서, 데이터 보호 서버(86)는, 보존처가 되는 예컨대 네트워크 스토리지(18-1∼18-3)의 기억 용량 또는 필요도 등에 따라서, 생성된 m개 예컨대 m=10개의 부호화 데이터(P1∼P10)의 보존수를, 예컨대 네트워크 스토리지(18-1)에 대해서는 5개, 네트워크 스토리지(18-2)에 대해서는 3개, 네트워크 스토리지(18-3)에 대해서는 2개와 같이 정하고 있다.
여기서 데이터 보호 서버(86)에 의한 복원은, m=10개의 부호화 데이터 중의 k=7개의 부호화 데이터를 회수할 수 있으면 복원할 수 있는 것으로 한다. 이러한 경우에는, 3대의 네트워크 스토리지(18-1∼18-3) 중, 네트워크 스토리지(18-2, 18-3) 중 어느 한 쪽이 회수 불능으로 된 경우라도, 데이터 보호 서버(86)로 복원할 수 있다.
즉, 네트워크 스토리지(18-2)의 3개의 부호화 데이터 P6∼P8을 회수할 수 없더라도, 네트워크 스토리지(18-1∼18-3)로부터 7개의 부호화 데이터 P1∼P5, P9∼P10을 회수할 수 있으므로 원래의 분할 데이터를 복원할 수 있다.
또한 네트워크 스토리지(18-3)의 부호화 데이터(P9∼P10)를 회수할 수 없는 경우라도, 네트워크 스토리지(18-1∼18-2)로부터 8개의 부호화 데이터 P1∼P5, P6∼P8을 회수할 수 있으므로 원래의 분할 데이터를 복원할 수 있다.
이에 대하여 네트워크 스토리지(18-1)의 부호화 데이터를 회수할 수 없는 경우에는, 나머지의 네트워크 스토리지(18-2, 18-3)로부터는 5개의 부호화 데이터 P6∼P10밖에 회수할 수 없어, 복원 가능한 k=7개에 달하지 않으므로, 원래의 분할 데이터는 복원할 수 없다.
도 13은 보존 데이터를 키에 의해 암호화한 후에 분할하여 부호화하는 다른 실시형태를 도시한 블록도이다. 도 13에 있어서, 퍼스널 컴퓨터(10)의 데이터 보호부(20)에는, 도 2의 실시형태에 있어서의 데이터 분할부(26), 부호화부(28), 분산 보존부(30), 복호부(32)에 더하여, 또한 암호화부(90)와 암호 해독부(92)가 설치되어 있다. 또 부호화부(28)에는 제1 부호화부(28-1)와 제2 부호화부(28-2)의 기능이 마련된다.
암호화부(90)는, 원래 데이터 파일(22)로부터 독출한 보존하는 파일의 데이터를 키에 의해 암호화하여 암호화 데이터를 생성한다. 데이터 분할부(26)는, 암호화부(90)에서 생성된 암호화 데이터 및 암호화에 사용한 키 각각을 n개의 블록 데이터로 분할한다.
부호화부(28)에 설치한 제1 부호화부(28-1)는 암호화 데이터를 부호화한다. 또한 제2 부호화부(28-2)는 키를 부호화한다. 즉 제1 부호화부(28-1)는, 배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 암호화 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제1 부호화 데이터를 분할수 n 이상의 용장도 Q에 따른 m개만큼 생성한다.
제2 부호화부(28-2)는, 동일한 비트맵 행렬과 이 비트맵 행렬로 지정된 복수의 분할 키의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제2 부호화 데이터를, 분할수 n 이상의 용장도 Q에 따른 m개만큼 생성한다.
분산 보존부(30)는, 부호화부(28)에서 생성한 m개의 제1 부호화 데이터 및 제2 부호화 데이터의 각각을 2곳 이상이며 m곳 이내의 기억 디바이스, 예컨대 보존 파일(24), USB 메모리 스틱(12), 네트워크 스토리지(18-1, 18-2)에 분산하여 보존한다.
복호부(32)는, 분산 보존된 m개의 제1 부호화 데이터 및 제2 부호화 데이터 중의 복원 가능한 k개 이상의 제1 부호화 데이터 및 제2 부호화 데이터를 각각 회수하여, 암호화 데이터 및 키를 복호한다.
구체적으로는, 복호부(32)는 복원 가능한 k개 이상의 제1 부호화 데이터 및 제2 부호화 데이터를 회수하여, 회수한 제1 부호화 데이터 및 제2 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써, m개의 분할 암호화 데이터 및 분할 키를 복호한다. 암호 해독부(92)는 복원된 키를 이용하여 복원된 암호화 데이터로부터 원래의 데이터를 생성한다.
이 실시형태에서 사용하는 암호화 알고리즘은, 공통 키 암호 방식의 DES나 AES, 혹은 공개 키 암호 방식의 RSA 등, 적절한 암호화 알고리즘을 사용할 수 있다.
도 14는 도 13의 실시형태에 의한 데이터 보호 처리의 흐름도이다. 도 14에 있어서 데이터 보호 처리는, 단계 S1에서 파일 보존 요구를 판별하면 단계 S2로 진행하여, 보존 데이터를 키에 의해 암호화한 후, 단계 S3에서 암호화 데이터 및 키의 부호화 처리를 한다. 이어서 단계 S4에서 부호화 데이터 및 부호화 키의 분산 보존 처리를 한다.
한편, 단계 S5에서 파일 독출 요구를 판별하면, 단계 S6에서 보존처로부터 부호화 데이터 및 부호화 키를 회수한 후, 단계 S7에서 각각에 대해 가우스 소거법에 의해 단위 행렬화하여 암호화 데이터 및 키를 복원하고, 또한 단계 S8에서, 복원한 키에 의해 암호화 데이터로부터 원래 데이터를 해독한다. 이러한 단계 S1∼S8의 처리를, 단계 S9에서 정지 지시가 있을 때까지 반복하게 된다.
이 도 13, 도 14의 실시형태에 도시한 보존 데이터를 키에 의해 암호화한 후에 암호화 데이터 및 키를 각각 부호화하여 분산 보존함으로써, 분산 보존한 부호화 데이터는 본 실시형태에 의한 용장 부호화에 더하여 암호화됨으로써 2중의 보호가 걸려 있어, 보존처의 기억 디바이스를 도난 등에 의해 잃어버리더라도, 잃어버린 데이터로부터 원래의 데이터를 복원하는 것은 거의 불가능하여, 분산 보존에 의한 데이터 보호의 비밀성과 신뢰성을 더한층 높일 수 있다.
또한 본 발명은 컴퓨터에 의해 실행되는 데이터 보호 프로그램을 제공하는 것으로, 이 데이터 보호 프로그램은 도 4, 도 5 및 도 14의 흐름도에 도시한 처리내용을 갖추게 된다.
또한 본 발명은, 본 실시형태의 데이터 보호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공한다. 이 기록 매체란, CD-ROM, 플로피 디스크, DVD 디스크, 광자기 디스크, IC 카드 등의 휴대형 기억 매체나, 컴퓨터 시스템의 내외에 구비된 하드디스크 드라이브 등의 기억 장치 외에, 회선을 통해 프로그램을 유지하는 데이터베이스, 혹은 다른 컴퓨터 시스템 및 그 데이터베이스나, 또한 회선상의 전송 매체를 포함하는 것이다.
한편 본 발명은, 그 목적과 이점을 손상하는 일이 없는 적절한 변형을 포함 하며, 더욱이 상기한 실시형태에 나타낸 수치에 의한 한정은 받지 않는다.
여기서 본 발명의 특징을 열거하면, 다음의 부기와 같이 된다.
(부기 1)
데이터를 n개로 분할하는 데이터 분할부와,
배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 부호화부와,
상기 m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존부와,
분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호하는 복호부를 포함하는 것을 특징으로 하는 데이터 보호 시스템.
(부기 2)
부기 1에 기재한 데이터 보호 시스템에 있어서, 상기 부호화부의 비트맵 행렬은, 비트 0과 1로 이루어지는 적어도 m행 n열의 행렬이며, 1행당 적어도 2개의 비트 1을 포함함으로써 2 이상의 분할 데이터의 배타 논리합을 취한 부호화 데이터를 생성하는 것을 특징으로 하는 데이터 보호 시스템.
(부기 3) (복호 상세)
부기 1에 기재한 데이터 보호 시스템에 있어서, 상기 복호부는, 복원 가능한 k개 이상의 부호화 데이터로서 적어도 상기 분할수 n분의 부호화 데이터를 회수하여, 회수한 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써 n개의 분할 데이터를 복호하는 것을 특징으로 하는 데이터 보호 시스템.
(부기 4)
데이터를 키에 의해 암호화하여 암호화 데이터를 생성하는 암호화부와,
상기 암호화 데이터 및 키의 각각을 n개로 분할하는 데이터 분할부와,
배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 암호화 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제1 부호화 데이터를, 분할수 n 이상의 m개만큼 생성하는 제1 부호화부와,
상기 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 키의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제2 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 제2 부호화부와,
상기 m개의 제1 및 제2 부호화 데이터의 각각을, 2곳 이상이며 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존부와,
분산 보존된 m개의 제1 및 제2 부호화 데이터 중 복원 가능한 k개 이상의 제1 및 제2 부호화 데이터를 회수하여 암호화 데이터 및 키를 복호하는 복호부와,
복원된 상기 키를 이용하여 복원된 상기 암호화 데이터로부터 원래의 데이터를 생성하는 암호 해독부를 구비한 것을 특징으로 하는 데이터 보호 시스템. (3)
(부기 5)
부기 4에 기재한 데이터 보호 시스템에 있어서, 상기 부호화부의 비트맵 행렬은, 비트 0과 1로 이루어지는 적어도 m행 n열의 행렬이며, 1행당 적어도 2개의 비트 1을 포함함으로써 2 이상의 분할 데이터의 배타 논리합을 취한 부호화 암호 데이터 및 부호화 키를 생성하는 것을 특징으로 하는 데이터 보호 시스템.
(부기 6)
부기 4에 기재한 데이터 보호 시스템에 있어서, 상기 복호부는, 복원 가능한 k개 이상의 부호화 데이터로서 적어도 상기 분할수 n분의 부호화 데이터를 회수하여, 회수한 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써 n개의 분할 암호화 데이터 및 분할 키를 복호하는 것을 특징으로 하는 데이터 보호 시스템.
(부기 7)
부기 1 또는 4에 기재한 데이터 보호 시스템에 있어서, 상기 분산 보존부는, 상기 기억 디바이스로서 네트워크 스토리지, 장치 또는 기기에 대하여 착탈이 자유로운 휴대형 기억 매체 등의 외부 기억 장치를 포함하는 것을 특징으로 하는 데이터 보호 시스템.
(부기 8)
부기 1 또는 4에 기재한 데이터 보호 시스템에 있어서, 상기 분산 보존부는, 상기 기억 디바이스에 보존하는 부호화 데이터의 수를, 상기 기억 디바이스의 기억 용량 또는 필요도에 따라서 변경하는 것을 특징으로 하는 데이터 보호 시스템.
(부기 9)
데이터를 n개로 분할하는 데이터 분할 단계와,
배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 부호화 단계와,
상기 m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와,
분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호하는 복호 단계를 포함하는 것을 특징으로 하는 데이터 보호 방법.
(부기 10)
부기 9에 기재한 데이터 보호 방법에 있어서, 상기 부호화 단계의 비트맵 행렬은, 비트 0과 1로 이루어지는 적어도 m행 n열의 행렬이며, 1행당 적어도 2개의 비트 1을 포함함으로써 2 이상의 분할 데이터의 배타 논리합을 취한 부호화 데이터를 생성하는 것을 특징으로 하는 데이터 보호 방법.
(부기 11)
부기 9에 기재한 데이터 보호 방법에 있어서, 상기 복호 단계는, 복원 가능한 k개 이상의 부호화 데이터로서 적어도 상기 분할수 n분의 부호화 데이터를 회수하여, 회수한 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써 n개의 분할 데이터를 복호하는 것을 특징으로 하는 데이터 보호 방법.
(부기 12)
데이터를 키에 의해 암호화하여 암호화 데이터를 생성하는 암호화 단계와,
상기 암호화 데이터 및 키의 각각을 n개로 분할하는 데이터 분할 단계와,
배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 암호화 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제1 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 제1 부호화 단계와,
상기 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 키의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제2 부호화 데이터를, 분할수 n 이상의 m개만큼 생성하는 제2 부호화 단계와,
상기 m개의 제1 및 제2 부호화 데이터의 각각을, 2곳 이상이며 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와,
분산 보존된 m개의 제1 및 제2 부호화 데이터 중 복원 가능한 k개 이상의 제1 및 제2 부호화 데이터를 회수하여 암호화 데이터 및 키를 복호하는 복호 단계와,
복원된 상기 키를 이용하여 복원된 상기 암호화 데이터로부터 원래의 데이터를 생성하는 암호 해독 단계를 구비한 것을 특징으로 하는 데이터 보호 방법.
(부기 13)
부기 12에 기재한 데이터 보호 방법에 있어서, 상기 부호화 단계의 비트맵 행렬은, 비트 0과 1로 이루어지는 적어도 m행 n열의 행렬이며, 1행당 적어도 2개의 비트 1을 포함함으로써 2 이상의 분할 데이터의 배타 논리합을 취한 부호화 암호 데이터 및 부호화 키를 생성하는 것을 특징으로 하는 데이터 보호 방법.
(부기 14)
부기 12에 기재한 데이터 보호 방법에 있어서, 상기 복호 단계는, 복원 가능한 k개 이상의 부호화 데이터로서 적어도 상기 분할수 n분의 부호화 데이터를 회수하여, 회수한 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써 n개의 분할 암호화 데이터 및 분할 키를 복호하는 것을 특징으로 하는 데이터 보호 방법.
(부기 15)
부기 9 또는 12에 기재한 데이터 보호 방법에 있어서, 상기 분산 보존 단계는, 상기 기억 디바이스로서 네트워크 스토리지, 장치 또는 기기에 대하여 착탈이 자유로운 휴대형 기억 매체 등의 외부 기억 장치를 포함하는 것을 특징으로 하는 데이터 보호 방법.
(부기 16)
부기 9 또는 12에 기재한 데이터 보호 방법에 있어서, 상기 분산 보존 단계는, 상기 기억 디바이스에 보존하는 부호화 데이터의 수를, 상기 기억 디바이스의 기억 용량 또는 필요도에 따라서 변경하는 것을 특징으로 하는 데이터 보호 방법.
(부기 17)
컴퓨터에,
데이터를 n개로 분할하는 데이터 분할 단계와,
배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 부호화 단계와,
상기 m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와,
분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호하는 복호 단계를 실행시키는 것을 특징으로 하는 데이터 보호 프로그램.
(부기 18)
부기 17에 기재한 데이터 보호 프로그램에 있어서, 상기 부호화 단계의 비트맵 행렬은, 비트 0과 1로 이루어지는 적어도 m행 n열의 행렬이며, 1행당 적어도 2개의 비트 1을 포함함으로써 2 이상의 분할 데이터의 배타 논리합을 취한 부호화 데이터를 생성하는 것을 특징으로 하는 데이터 보호 프로그램.
(부기 19)
부기 17에 기재한 데이터 보호 프로그램에 있어서, 상기 복호 단계는, 복원 가능한 k개 이상의 부호화 데이터로서 적어도 상기 분할수 n분의 부호화 데이터를 회수하여, 회수한 부호화 데이터의 비트맵 행렬을 단위 행렬화함으로써 n개의 분할 데이터를 복호하는 것을 특징으로 하는 데이터 보호 프로그램.
(부기 20)
컴퓨터에,
데이터를 키에 의해 암호화하여 암호화 데이터를 생성하는 암호화 단계와,
상기 암호화 데이터 및 키의 각각을 n개로 분할하는 데이터 분할 단계와,
배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 암호화 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제1 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 제1 부호화 단계와,
상기 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 키의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제2 부호화 데이터를, 분할수 n 이상의 m개만큼 생성하는 제2 부호화 단계와,
상기 m개의 제1 및 제2 부호화 데이터의 각각을, 2곳 이상이며 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와,
분산 보존된 m개의 제1 및 제2 부호화 데이터 중 복원 가능한 k개 이상의 제1 및 제2 부호화 데이터를 회수하여 암호화 데이터 및 키를 복호하는 복호 단계와,
복원된 상기 키를 이용하여 복원된 상기 암호화 데이터로부터 원래의 데이터를 생성하는 암호 해독 단계를 실행시키는 것을 특징으로 하는 데이터 보호 프로그램.
본 발명에 따르면, 정보를 분할하여 용장 부호화된 분할 데이터를 만들기 위한 연산은 배타적 논리합(XOR)뿐이기 때문에, 매우 고속으로 분할 데이터를 생성할 수 있다.
또한, 용장 부호화 데이터로서 생성된 분할 데이터의 기억 디바이스에 대한 분산수는 필요에 따라서 임의로 결정할 수 있기 때문에, 기억 용량이 적은 USB 메 모리 등에도 분할 데이터를 보존할 수 있어, 일반 가정과 같은 컴퓨터의 이용 환경이라도, 복수의 기억 디바이스를 보존 장소로서 용이하게 확보하여 분산 보존에 의한 데이터 보호를 간단하게 이용할 수 있다.
더욱이 분할 데이터로서 생성되는 부호화 데이터의 수는, 원래의 분할 데이터수 n에 대하여 용장도에 따라서 m개 생성되고, 그 중 k개를 회수할 수 있으면 원래의 분할 데이터를 복원할 수 있기 때문에, (m-k)개의 데이터를 도난 등에 의해 잃어버리더라도 복원 가능하여, 데이터 보호의 신뢰성이 높다. 당연히, (m-k)개의 부호화 데이터가 도난을 당하더라도, 이러한 k개 미만의 부호화 데이터로 원래의 분할 데이터를 복원하는 것은 불가능하여, 높은 데이터 보호의 신뢰성을 확보할 수 있다.
더욱이, 키에 의한 암호화를 조합시킨 경우, 암호화 데이터 및 키의 각각을 용장 부호화 데이터로 분할하여 분산 보존해 둠으로써, 분산 보존하고 있는 일부의 부호화 데이터가 도난 등을 당했다고 해도, 데이터 복원과 복원 후의 암호 해독이 불가능하므로, 2중으로 데이터를 보호하여 데이터 보호의 신뢰성을 높일 수 있다.

Claims (5)

  1. 데이터를 n개로 분할하는 데이터 분할부와;
    배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 부호화부와;
    상기 m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스로 분산하여 보존하는 분산 보존부와;
    분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호하는 복호부
    를 포함하는 것을 특징으로 하는 데이터 보호 시스템.
  2. 제1항에 있어서, 상기 부호화부의 비트맵 행렬은 비트 0과 1로 이루어지는 적어도 m행 n열의 행렬이며, 1행당 적어도 2개의 비트 1을 포함함으로써 2 이상의 분할 데이터의 배타 논리합을 취한 부호화 데이터를 생성하는 것을 특징으로 하는 데이터 보호 시스템.
  3. 데이터를 키에 의해 암호화하여 암호화 데이터를 생성하는 암호화부와;
    상기 암호화 데이터 및 키의 각각을 n개로 분할하는 데이터 분할부와;
    배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 암호화 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제1 부호화 데이터를, 분할수 n 이상의 m개만큼 생성하는 제1 부호화부와;
    상기 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 키의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 제2 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 제2 부호화부와;
    상기 m개의 제1 및 제2 부호화 데이터의 각각을, 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존부와;
    분산 보존된 m개의 제1 및 제2 부호화 데이터 중 복원 가능한 k개 이상의 제1 및 제2 부호화 데이터를 회수하여 암호화 데이터 및 키를 복호하는 복호부와;
    상기 복호부에서 복원된 키를 이용하여 복원된 상기 암호화 데이터로부터 원래의 데이터를 생성하는 암호 해독부
    를 포함하는 것을 특징으로 하는 데이터 보호 시스템.
  4. 데이터를 n개로 분할하는 데이터 분할 단계와;
    배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 부호화 단계와;
    상기 m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와;
    분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호하는 복호 단계
    를 포함하는 것을 특징으로 하는 데이터 보호 방법.
  5. 컴퓨터에 의하여,
    데이터를 n개로 분할하는 데이터 분할 단계와;
    배타적 논리합을 취하는 복수의 분할 데이터를 지정하는 비트맵 행렬과 상기 비트맵 행렬로 지정된 복수의 분할 데이터의 배타적 논리합을 취한 배타적 논리합 데이터의 세트로 이루어지는 부호화 데이터를, 분할수 n 이상의 용장도에 따라 m개만큼 생성하는 부호화 단계와;
    상기 m개의 부호화 데이터를 2곳 이상 m곳 이내의 기억 디바이스에 분산하여 보존하는 분산 보존 단계와;
    분산 보존된 m개의 부호화 데이터 중 복원 가능한 k개 이상의 부호화 데이터를 회수하여 원래의 데이터를 복호하는 복호 단계
    를 실행시키는 것을 특징으로 하는 데이터 보호 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
KR1020060092723A 2006-04-28 2006-09-25 데이터 보호 시스템, 방법 및 프로그램을 기록한 컴퓨터로판독가능한 기록매체 KR100858304B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006124791A JP2007299088A (ja) 2006-04-28 2006-04-28 データ保護システム、方法及びプログラム
JPJP-P-2006-00124791 2006-04-28

Publications (2)

Publication Number Publication Date
KR20070106369A KR20070106369A (ko) 2007-11-01
KR100858304B1 true KR100858304B1 (ko) 2008-09-11

Family

ID=38420548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060092723A KR100858304B1 (ko) 2006-04-28 2006-09-25 데이터 보호 시스템, 방법 및 프로그램을 기록한 컴퓨터로판독가능한 기록매체

Country Status (5)

Country Link
US (1) US20070253548A1 (ko)
EP (1) EP1850262A3 (ko)
JP (1) JP2007299088A (ko)
KR (1) KR100858304B1 (ko)
CN (1) CN101064596A (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3010174A1 (en) * 2006-11-07 2016-04-20 Security First Corp. Systems and methods for distributing and securing data
JP2008172617A (ja) 2007-01-12 2008-07-24 Fujitsu Ltd 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム
US8082260B2 (en) * 2007-01-31 2011-12-20 International Business Machines Corporation Handling content of a read-only file in a computer's file system
JP5076539B2 (ja) * 2007-02-16 2012-11-21 富士通株式会社 符号化装置および符号化方法
JP4976891B2 (ja) * 2007-03-15 2012-07-18 富士電機株式会社 Icカードシステム、その分割情報/秘密情報生成端末、プログラム
JP4302150B2 (ja) * 2007-03-23 2009-07-22 株式会社東芝 データ処理装置及びプログラム
JP5134281B2 (ja) * 2007-04-12 2013-01-30 Kddi株式会社 分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラム
JP5189799B2 (ja) * 2007-07-11 2013-04-24 Kddi株式会社 秘密情報復元装置、秘密情報復元方法およびプログラム
US8442070B1 (en) * 2008-02-01 2013-05-14 Hobnob, Inc. Fractional threshold encoding and aggregation
JP5241325B2 (ja) * 2008-05-27 2013-07-17 Kddi株式会社 分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラム
US8630987B2 (en) * 2008-07-16 2014-01-14 Cleversafe, Inc. System and method for accessing a data object stored in a distributed storage network
GB2463078B (en) * 2008-09-02 2013-04-17 Extas Global Ltd Distributed storage
JP2010072994A (ja) * 2008-09-19 2010-04-02 Seiko Epson Corp データ処理のための、装置、方法、および、プログラム
CN101359981B (zh) * 2008-09-27 2011-05-11 腾讯科技(深圳)有限公司 一种数据包冗余编解码的方法、装置及系统
US20100142522A1 (en) * 2008-12-04 2010-06-10 James Gardner Methods and apparatus for adaptive error correction in networks
US9361347B2 (en) 2008-12-31 2016-06-07 Nokia Technologies Oy Method, apparatus, and computer program product for determining data signatures in a dynamic distributed device network
US8990585B2 (en) * 2009-12-29 2015-03-24 Cleversafe, Inc. Time based dispersed storage access
CN102402668B (zh) * 2010-09-14 2015-05-27 中国移动通信集团四川有限公司 一种数据文件的安全保护方法及装置
JP5669101B2 (ja) * 2011-03-25 2015-02-12 パナソニックIpマネジメント株式会社 情報処理装置及び情報処理システム
US9680639B2 (en) * 2011-03-31 2017-06-13 Panasonic Intellectual Property Management Co., Ltd. Secret sharing apparatus and secret sharing method that restores secret data from at least two of generated shared data
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
CN103312494A (zh) * 2012-03-14 2013-09-18 中国人民银行印制科学技术研究所 数据分散存储方法、数据还原方法及数据卡
CN102664928A (zh) * 2012-04-01 2012-09-12 南京邮电大学 一种用于云存储的数据安全存取方法及用户端系统
JP6011775B2 (ja) * 2012-04-23 2016-10-19 パナソニックIpマネジメント株式会社 分散装置、復元装置、分散方法、復元方法及び分散復元システム
JP5732429B2 (ja) * 2012-05-18 2015-06-10 日本電信電話株式会社 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム
US8930623B2 (en) * 2012-06-26 2015-01-06 Transcend Information, Inc. Method of securing data in storage device and storage device thereof
CN104583965B (zh) * 2012-08-16 2017-08-11 英派尔科技开发有限公司 将编码数据文件存储在多个文件服务器上
CN102932140A (zh) * 2012-11-20 2013-02-13 成都卫士通信息产业股份有限公司 一种增强密码机安全的密钥备份方法
JP5603972B1 (ja) * 2013-06-03 2014-10-08 日本電信電話株式会社 データ処理装置、データ処理システム及びデータ処理方法
CN104298926B (zh) * 2013-07-19 2017-11-10 腾讯科技(深圳)有限公司 一种运行加密文件的方法和装置
CN103365789B (zh) * 2013-08-08 2016-12-28 曹乃承 数据存储装置和flash存储装置的块删除块写入方法
GB2514428B (en) * 2013-08-19 2016-01-13 Visa Europe Ltd Enabling access to data
JP2015045961A (ja) * 2013-08-27 2015-03-12 株式会社東芝 情報処理装置、監視カメラ装置、及び映像再生装置
JP5895080B2 (ja) * 2013-10-23 2016-03-30 株式会社インテック データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法
EP2933943A1 (en) * 2014-04-14 2015-10-21 Alcatel Lucent Storage efficient and unconditionally secure private information retrieval
US10430612B2 (en) * 2015-04-08 2019-10-01 Joseph Bryan Wooldridge Electronic preemptive evidentiary escrow platform
CN106209850B (zh) * 2016-07-13 2017-03-22 广西电网有限责任公司 基于可信计算的大数据信息网络自适应安全防护系统
CN106357391B (zh) * 2016-10-28 2020-01-14 上海大学 安全信息分散加密算法
CN108108267B (zh) * 2016-11-25 2021-06-22 北京国双科技有限公司 数据的恢复方法和装置
CN106775463B (zh) * 2016-11-30 2019-08-13 Oppo广东移动通信有限公司 数据存储方法、装置及移动终端
WO2019124610A1 (ko) * 2017-12-21 2019-06-27 문인식 블록체인을 이용한 개인정보 분리 후 분산 저장 및 조합을 통한 인증 방법
CN108365956A (zh) * 2018-02-12 2018-08-03 北京京东尚科信息技术有限公司 用于存储信息的方法和装置
US10084600B1 (en) * 2018-04-16 2018-09-25 Xage Security, Inc. Decentralized information protection for confidentiality and tamper-proofing on distributed database
JP7190336B2 (ja) * 2018-11-15 2022-12-15 富士通株式会社 通信装置、通信方法、および通信プログラム
US11593528B2 (en) * 2019-04-08 2023-02-28 The Regents Of The University Of California Compact key with reusable common key for encryption
CN110289949A (zh) * 2019-05-23 2019-09-27 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密钥管理方法及装置
CN110430042B (zh) * 2019-06-28 2022-11-22 中国人民解放军战略支援部队信息工程大学 一种在异构冗余系统中存储秘钥的装置及方法
WO2021258109A1 (en) * 2020-06-17 2021-12-23 The Regents Of The University Of California Extra-compact key with reusable common key for encryption

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070058508A (ko) * 2004-09-17 2007-06-08 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 및 복호화 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100250803B1 (ko) * 1995-09-05 2000-04-01 다니구찌 이찌로오 데이타 변환장치 및 데이타 변환방법
DE10148415C2 (de) * 2001-09-29 2003-07-31 Univ Braunschweig Tech Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
JP3723960B2 (ja) * 2001-11-19 2005-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 外部記憶装置、外部記憶装置制御方法、プログラム及び記録媒体
WO2004030273A1 (ja) * 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070058508A (ko) * 2004-09-17 2007-06-08 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 및 복호화 방법

Also Published As

Publication number Publication date
CN101064596A (zh) 2007-10-31
EP1850262A3 (en) 2010-01-13
EP1850262A2 (en) 2007-10-31
KR20070106369A (ko) 2007-11-01
US20070253548A1 (en) 2007-11-01
JP2007299088A (ja) 2007-11-15

Similar Documents

Publication Publication Date Title
KR100858304B1 (ko) 데이터 보호 시스템, 방법 및 프로그램을 기록한 컴퓨터로판독가능한 기록매체
US7953937B2 (en) Systems, methods, and apparatus for subdividing data for storage in a dispersed data storage grid
US10721062B2 (en) Utilizing error correction for secure secret sharing
US9419796B2 (en) Method for storing and recovering data, utilization of the method in a storage cloud, storage server and computer program product
KR101405720B1 (ko) 암호화 속성을 이용하는 가속 크립토그래피
US20140331061A1 (en) Drive level encryption key management in a distributed storage system
US9323943B2 (en) Decrypt and encrypt data of storage device
JP2010532880A (ja) データセキュリティのためにデータを処理するシステム及び方法
KR100989605B1 (ko) 부호화 장치 및 부호화 방법
CN102769525A (zh) 一种tcm的用户密钥备份与恢复方法
CN102171701B (zh) 用于访问加密驱动器的sid管理
CN110058820B (zh) 基于固态盘阵列的数据安全写入、删除、读取方法及装置
US10673463B2 (en) Combined blocks of parts of erasure coded data portions
Sassani et al. Evaluating encryption algorithms for sensitive data using different storage devices
Kapusta et al. Circular AON: A very fast scheme to protect encrypted data against key exposure
JP2006048158A (ja) データ格納方法及びデータ処理装置
KR20170005850A (ko) 암호 장치, 기억 시스템, 복호 장치, 암호 방법, 복호 방법, 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
Shen et al. On post-generation data operations in secure distributed storage systems with internal padding
JP7008120B1 (ja) 情報記憶システム、情報処理装置、及び情報記憶方法
CN111291387B (zh) 文件保护方法及其文件处理系统
JP2015102692A (ja) 情報処理装置およびその方法
Kapusta et al. PE-AONT: Partial Encryption All or Nothing Transform
CN114676452A (zh) 一种数据安全存储方法和装置
JP2023142597A (ja) 秘密分散方法
CN116126598A (zh) 加密数据库的数据安全备份方法与装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee