[go: up one dir, main page]

JP2011175578A - System and method for data backup - Google Patents

System and method for data backup Download PDF

Info

Publication number
JP2011175578A
JP2011175578A JP2010040665A JP2010040665A JP2011175578A JP 2011175578 A JP2011175578 A JP 2011175578A JP 2010040665 A JP2010040665 A JP 2010040665A JP 2010040665 A JP2010040665 A JP 2010040665A JP 2011175578 A JP2011175578 A JP 2011175578A
Authority
JP
Japan
Prior art keywords
data
backup
stored
variable
storage service
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2010040665A
Other languages
Japanese (ja)
Inventor
Toshiyuki Tsutsumi
俊之 堤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
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 Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2010040665A priority Critical patent/JP2011175578A/en
Publication of JP2011175578A publication Critical patent/JP2011175578A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】第三者が運営するデータ保存サービスシステム上にデータの安全性を確保してデータを保存させることができるようにする。
【解決手段】データを生成するサーバ101と、データを保存する複数のデータ保存サービス103、104と、サーバ101からの保存すべきデータを加工して、複数のデータ保存サービスに分散保存させるバックアップproxy102とを備える。バックアップproxy102が有する暗号化手段は、サーバ101からの保存すべきデータを暗号化し、暗号化したバックアップデータを暗号化処理単位であるブロックを分断するように分割し、分断したデータブロックが連続して含まれないように、分割したデータを組み合わせ、その組み合わせ情報を登録表に記録し、組み合わせたデータを複数のデータ保存サービス103、104に分散保存させる。
【選択図】図1
A data storage service system operated by a third party ensures data safety and allows data to be stored.
A server 101 that generates data, a plurality of data storage services 103 and 104 that store data, and a backup proxy 102 that processes data to be stored from the server 101 and distributes and stores the data in a plurality of data storage services With. The encryption means possessed by the backup proxy 102 encrypts the data to be stored from the server 101, divides the encrypted backup data so as to divide the block that is the encryption processing unit, and the divided data blocks are continuously The divided data is combined so as not to be included, the combination information is recorded in the registration table, and the combined data is distributed and stored in the plurality of data storage services 103 and 104.
[Selection] Figure 1

Description

本発明は、データバックアップシステム及びデータバックアップ方法に係り、特に、アプリケーション等におけるデータを、第三者が運営するデータ保存サービスシステム上に保存させる際に、そのデータの安全性を確保して保存させることができるようにしたデータバックアップシステム及びデータバックアップ方法に関する。   The present invention relates to a data backup system and a data backup method, and in particular, when data in an application or the like is stored on a data storage service system operated by a third party, the data is secured and stored. The present invention relates to a data backup system and a data backup method.

データを安全に保存する方法に関する従来技術として、例えば、特許文献1等に記載された技術が知られている。この従来技術は、マルチメディアデータをネットワーク上の複数個所に分散して保存する場合に、元データに対して暗号化やダミー情報の追加等の処理を行った後で分割したり、元データを分割したデータに対して暗号化やダミー情報の追加等の処理を行うことにより安全なデータの保存を実現しようとするものである。   As a conventional technique related to a method for safely storing data, for example, a technique described in Patent Document 1 is known. In this prior art, when multimedia data is distributed and stored in a plurality of locations on the network, the original data is divided after being processed such as encryption or addition of dummy information, It is intended to realize safe data storage by performing processing such as encryption and addition of dummy information to the divided data.

特開2003−244598号公報JP 2003-244598 A

暗号化されたデータは、暗号文の全文があれば平文の内容と同じ情報量を持つことになり、解読される危険性がある。そして、前述した従来技術は、暗号化したデータを分散保存することにより前述した危険をある程度回避することができるものであるが、分割したデータ片の中に、連続したデータ列が一定数以上含まれていれば、平文の一部を情報として持つことになり、やはり、暗号化データが解読される危険性があるという問題を生じてしまう。   Encrypted data has the same amount of information as the plaintext content if there is the entire ciphertext, and there is a risk of being decrypted. The prior art described above can avoid the above-mentioned danger to some extent by storing the encrypted data in a distributed manner, but the divided data pieces include a certain number of continuous data strings. If this is the case, a part of the plaintext will be held as information, which again causes a problem that the encrypted data may be decrypted.

本発明の目的は、前述した従来技術の問題点を解決し、第三者が運営するデータ保存サービスシステム上にデータの安全性を確保して保存させることができるようにしたデータバックアップシステム及びデータバックアップ方法を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned problems of the prior art, and to ensure that data can be stored and stored on a data storage service system operated by a third party. To provide a backup method.

本発明によれば前記目的は、データを第三者が運営するデータ保存サービスシステム上に保存させるデータバックアップシステムにおいて、アプリケーション等によりバックアップすべきデータを生成する1または複数のサーバと、バックアップデータを保存する複数のデータ保存サービスシステムと、前記サーバからの保存すべきバックアップデータを加工して、前記複数のデータ保存サービスシステムに分散保存させるバックアップproxy とを備え、前記バックアップproxy は、データ暗号化手段と、保存データを登録管理する登録表とを有し、前記暗号化手段は、前記アプリケーションからの保存すべきバックアップデータを暗号化し、暗号化したバックアップデータを暗号化処理単位であるブロックを分断するように分割し、分断したデータブロックが連続して含まれないように、分割したデータを組み合わせ、その組み合わせ情報を前記登録表に記録し、組み合わせたデータを前記複数のデータ保存サービスシステムに分散保存させることにより達成される。   According to the present invention, the object is to provide a data backup system for storing data on a data storage service system operated by a third party, one or a plurality of servers for generating data to be backed up by an application or the like, and backup data. A plurality of data storage service systems to be stored; and a backup proxy that processes backup data to be stored from the server and distributes and stores the backup data in the plurality of data storage service systems, wherein the backup proxy includes data encryption means And a registration table for registering and managing stored data, and the encryption means encrypts backup data to be stored from the application, and divides the encrypted backup data into blocks that are encryption processing units. Divided and divided into As data blocks are not included in succession, combining the divided data, and records the combination information in the registration table and the combined data is accomplished by dispersing stored in the plurality of data storage service system.

本発明によれば、複数のデータ保存サービスシステムに保存されている分割したデータの1つが盗まれ他場合にも、平文を生成するために必要な情報量が揃っていないので、データを復号化することができず、データの安全性を確保することができる。   According to the present invention, even if one of the divided data stored in a plurality of data storage service systems is stolen, the amount of information necessary for generating plaintext is not complete, so the data is decrypted. Data security can be ensured.

本発明の一実施形態によるデータバックアップシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the data backup system by one Embodiment of this invention. バックアップproxy の構成を示すブロック図である。It is a block diagram which shows the structure of backup proxy. Data DB の構成を示す図である。It is a figure which shows the structure of DataDB. Lacate DB の構成を示す図である。It is a figure which shows the structure of Lacate DB. 本発明の実施形態によるデータバックアップシステムでのアプリデータのバックアップ処理を説明するフローチャートである。It is a flowchart explaining the backup process of the application data in the data backup system by embodiment of this invention. 本発明の実施形態によるデータバックアップシステムでのアプリデータのリストア処理を説明するフローチャートである。It is a flowchart explaining the restoration process of application data in the data backup system by embodiment of this invention. データ混合プログラムでの処理動作の詳細を説明するフローチャート(その1)である。It is a flowchart (the 1) explaining the detail of the processing operation by a data mixing program. データ混合プログラムでの処理動作の詳細を説明するフローチャート(その2)である。It is a flowchart (the 2) explaining the detail of the processing operation by a data mixing program. データ回復プログラムでの処理動作の詳細を説明するフローチャートである。It is a flowchart explaining the detail of the processing operation in a data recovery program.

以下、本発明によるデータバックアップシステム及びデータバックアップ方法の実施形態を図面により詳細に説明する。   Hereinafter, embodiments of a data backup system and a data backup method according to the present invention will be described in detail with reference to the drawings.

図1は本発明の一実施形態によるデータバックアップシステムの構成を示すブロック図である。   FIG. 1 is a block diagram showing a configuration of a data backup system according to an embodiment of the present invention.

本発明の実施形態によるデータバックアップシステムは、図1に示すように、それぞれがCPU、メモリ、HDD等による記憶装置、入出力装置等を備えた情報処理装置である1または複数のサーバ101と、バックアップproxy 102と、複数のオンラインストレージサービスA103、B104とがネットワーク105を介して接続可能に構成されている。   As shown in FIG. 1, a data backup system according to an embodiment of the present invention includes one or a plurality of servers 101 each of which is an information processing device including a storage device such as a CPU, a memory, an HDD, and an input / output device, The backup proxy 102 and a plurality of online storage services A 103 and B 104 are configured to be connectable via the network 105.

前述において、サーバ101は、Webアプリケーション等のサービスシステムが稼動し、保存すべきデータを生成するデスクトップPCやブレードPC等である。また、バックアップproxy 102は、サーバ101からのバックアップすべきデータを加工処理して後述する複数のオンラインストレージサービスにA103、B104に分散して保存する処理を行うサーバ等の情報処理装置である。また、オンランストレージサービスA103、B104は、それぞれ、サーバからのサービス利用者のデータを保存するサービスを提供する情報処理システムであり、通常、第三者が運営するデータ保存サービスシステムである。また、ネットワーク105は、サーバ101、バックアップproxy 102、オンラインストレージサービスA103、B104等が接続されて、相互に通信可能とするインターネット、イントラネット、あるいは、その混合ネットワークである。   In the above description, the server 101 is a desktop PC or blade PC that operates a service system such as a Web application and generates data to be stored. The backup proxy 102 is an information processing apparatus such as a server that processes the data to be backed up from the server 101 and distributes and stores the data in A103 and B104 in a plurality of online storage services described later. The online storage services A103 and B104 are information processing systems that provide services for storing service user data from the server, and are data storage service systems that are usually operated by a third party. The network 105 is the Internet, an intranet, or a mixed network of the servers 101, the backup proxy 102, the online storage services A103, B104, and the like that can communicate with each other.

図2はバックアップproxy 102の構成を示すブロック図である。   FIG. 2 is a block diagram showing the configuration of the backup proxy 102.

バックアップproxy 102は、図2に示すように、プログラムの実行を行うCPU201と、プログラムやデータをロードするメモリ202と、他の情報処理装置との間でデータ交換を行う通信部203と、命令やデータの入力を行う入力部204と、システムの状態等を出力する出力部205と、データ混合プログラム208、データ回復プログラム209、Data DB 210、Locate DB 211、Key 212、File Local213、Data Name214 、num 215が記憶されているHDD等による記憶装置206とがバス207を介して接続されて構成されている。   As shown in FIG. 2, the backup proxy 102 includes a CPU 201 that executes a program, a memory 202 that loads a program and data, a communication unit 203 that exchanges data with other information processing apparatuses, instructions, An input unit 204 that inputs data, an output unit 205 that outputs a system state, a data mixing program 208, a data recovery program 209, a Data DB 210, a Locate DB 211, a Key 212, a File Local 213, a Data Name 214, num A storage device 206 such as an HDD in which 215 is stored is connected via a bus 207.

Data DB 210、Locate DB 211については後述する。   Data DB 210 and Locate DB 211 will be described later.

Key 212は、データ混合プログラム208やデータ回復プログラム209がアプリケーションのデータやバックアップデータに対して暗号化処理、復号化処理を行うときに利用する暗号鍵である。   A key 212 is an encryption key used when the data mixing program 208 and the data recovery program 209 perform encryption processing and decryption processing on application data and backup data.

File Local 213 は、データ混合プログラム208が処理途中でアプリデータを保持するための記憶領域であり、システム起動時には、データを保持していない。   File Local 213 is a storage area for storing application data during processing by data mixing program 208, and does not hold data when the system is activated.

Data Name 214は、データ混合プログラム208が処理途中で保持しているアプリデータのファイル名である。   Data Name 214 is a file name of application data held by the data mixing program 208 during processing.

num 215は、データ混合プログラム208が新たなバックアップデータを作成するときに利用する通番である。   num 215 is a serial number used when the data mixing program 208 creates new backup data.

通信部203は、有線や無線のLAN等を利用し、ネットワーク105を介してサーバ101やオンラインストレージサービスA103、B104との間で通信を行う機能を有する。入力部204は、キーボード、マウス、ペン入力、音声入力、ボタン、ジョグダイヤル、十字キー等の入力手段により構成される。出力部205は、ディスプレイ、印刷装置、音声出力装置等の出力手段により構成される。   The communication unit 203 has a function of performing communication with the server 101 and the online storage services A 103 and B 104 via the network 105 using a wired or wireless LAN. The input unit 204 includes input means such as a keyboard, a mouse, a pen input, a voice input, a button, a jog dial, and a cross key. The output unit 205 includes output means such as a display, a printing device, and an audio output device.

また、データ混合プログラム208は、1または複数のサーバ101から取得したバックアップデータとして保存すべきアプリケーションのデータ(以下、アプリデータという)を暗号化、分解して、複数のバックアップデータに再構成し、複数のオンラインストレージサービスA103、B104に格納する暗号化手段としてのプログラムである。データ回復プログラム209は、指定されたアプリデータに対応する暗号化データの複数をオンラインストレージサービスA103、B104から取得して、分解、復号して、アプリデータを回復するプログラムである。   The data mixing program 208 encrypts and decomposes application data (hereinafter referred to as application data) to be stored as backup data acquired from one or a plurality of servers 101, and reconfigures the data into a plurality of backup data. It is a program as an encryption means for storing in a plurality of online storage services A103 and B104. The data recovery program 209 is a program that acquires a plurality of encrypted data corresponding to designated application data from the online storage services A103 and B104, decomposes and decrypts them, and recovers application data.

Data DB 210は、バックアップproxy 102で管理しているサーバ101からのアプリデータの一覧情報を格納しているデータベースである。   The Data DB 210 is a database that stores application data list information from the server 101 managed by the backup proxy 102.

図3はData DB 210の構成を示す図である。Data DB 210は、テーブル内のレコードを一意に特定する識別子である項番301と、管理対象であるデータのバックアップを取得した日時(年、月、日、時刻)情報を含む識別子であるアプリデータ名302と、前述のアプリデータの送信元サーバのネットワークアドレスであるサーバアドレス303と、対応するアプリデータのデータ混合プログラム208による処理の有無を示す処理フラグ304とによるレコードを複数格納して構成されている。   FIG. 3 is a diagram showing the configuration of the Data DB 210. Data DB 210 is an application data that is an identifier including item number 301 that is an identifier for uniquely identifying a record in the table, and date and time (year, month, day, and time) information when a backup of the data to be managed is acquired. A plurality of records including a name 302, a server address 303 that is a network address of the above-described application data transmission source server, and a processing flag 304 that indicates whether the corresponding application data is mixed by the data mixing program 208 are stored. ing.

Lacate DB 211は、バックアップproxy 102でサーバ101からのアプリデータとオンラインストレージサービスA103、B104に格納されているバックアップデータとの対応情報を格納しているデータベースである。   The Lacate DB 211 is a database that stores correspondence information between application data from the server 101 and backup data stored in the online storage services A 103 and B 104 by the backup proxy 102.

図4はLacate DB 211の構成を示す図である。Lacate DB 211は、分割して暗号化された複数の各アプリケーションの保存データを組み合わせて保存する際の組み合わせを登録管理する登録表であり、テーブル内のレコードを一意に特定する識別子である項番401と、オンラインストレージサービスA103、B104上のデータの識別子であるバックアップファイル名402と、管理対象であるデータの識別子であるアプリデータ名i 403及びアプリデータ名ii404と、アプリデータ格納領域を処理単位で示している格納ブロック数405とによるレコードを複数格納して構成されている。   FIG. 4 is a diagram showing the configuration of Lacate DB 211. The Lacate DB 211 is a registration table for registering and managing a combination when storing the storage data of a plurality of divided and encrypted applications in combination, and is an identifier that uniquely identifies a record in the table 401, a backup file name 402 that is an identifier of data on the online storage services A 103 and B 104, an application data name i 403 and an application data name ii 404 that are identifiers of data to be managed, and an application data storage area. A plurality of records having the storage block number 405 shown in FIG.

図4に示すLacate DB 211における項番1のレコードは、バックアップファイル名として、File(1) 及び図示しないFile(2) を持ち、アプリデータ名i 403及びアプリデータ名ii404として、DateA20090707、DateA20090708を持つの2つのアプリデータが3つのブロックに保存されていることを示している。また、同様に、項番2のレコードは、バックアップファイル名として、File(3) 及び図示しないFile(4) を持ち、アプリデータ名i 403及びアプリデータ名ii404として、DateA20090709、DateA20090710を持つの2つのアプリデータが5つのブロックに保存されていることを示している。   The record of item number 1 in Lacate DB 211 shown in FIG. 4 has File (1) and File (2) (not shown) as backup file names, DateA20090707 and DateA20090708 as application data name i 403 and application data name ii404. It shows that the two application data possessed are stored in three blocks. Similarly, the record of item number 2 has File (3) and File (4) (not shown) as backup file names, and has DateA20090709 and DateA20090710 as application data name i 403 and application data name ii404. It shows that one application data is stored in five blocks.

図5は本発明の実施形態によるデータバックアップシステムでのアプリデータのバックアップ処理を説明するフローチャートであり、次に、これについて説明する。ここでの処理は、サーバ101を使用する利用者から図示しない利用者端末を介してアプリデータの保存が指示されたときに開始される。   FIG. 5 is a flowchart for explaining a backup process of application data in the data backup system according to the embodiment of the present invention. Next, this will be described. This process is started when a user using the server 101 is instructed to save application data via a user terminal (not shown).

(1)まず、1または複数のサーバ101が、サーバ101上でアプリケーションのサービスにより生成されるデータのバックアップを取り、保存すべきアプリデータとしてバックアップproxy 102に送信してくるので、バックアップproxy 102は、そのアプリデータを受信する。バックアップproxy 102は、受信したアプリデータを、図3に示して説明したData DB 210に登録する。その際、バックアップproxy 102は、アプリデータ名302に、送信元サーバ名や受信した日時情報を付加し、また、サーバアドレス303に、送信元サーバのネットワークアドレスを格納すると共に、処理フラグ304に、データ混合プログラム208による処理が行われていないことを示す「×」を設定する(ステップ501)。 (1) First, since one or a plurality of servers 101 backs up data generated by application services on the server 101 and transmits the data to the backup proxy 102 as application data to be stored, the backup proxy 102 , Receive the app data. The backup proxy 102 registers the received application data in the Data DB 210 described with reference to FIG. At that time, the backup proxy 102 adds the transmission source server name and the received date / time information to the application data name 302, stores the network address of the transmission source server in the server address 303, and sets the processing flag 304 in the processing flag 304. “X” indicating that processing by the data mixing program 208 is not performed is set (step 501).

(2)次に、バックアップproxy 102は、Data DB 210に処理フラグ304が「×」となっているエントリが2つ以上あるか否かを確認し、1つしかなかった場合、ステップ501からの処理に戻って、別のアプリデータの受信待つ(ステップ502)。 (2) Next, the backup proxy 102 confirms whether or not there are two or more entries having the processing flag 304 of “x” in the Data DB 210. Returning to the process, reception of another application data is awaited (step 502).

(3)ステップ502の確認で、Data DB 210に処理フラグ304が「×」となっているエントリが2つ以上あった場合、バックアップproxy 102は、Data DB 210から処理フラグ304が「×」となっているエントリを2つ選択して、データ混合プログラム208が、アプリデータの暗号化、分割、再構成を行ってバックアップデータのペアを作成する。データ混合プログラム208は、分割の処理において、暗号化したアプリデータを、暗号化の処理ブロックを跨ぐように分割する(ステップ503)。 (3) If there are two or more entries in the Data DB 210 with the processing flag 304 “x” in the confirmation in step 502, the backup proxy 102 determines that the processing flag 304 is “x” from the Data DB 210. The data mixing program 208 encrypts, divides, and reconstructs the application data to create a backup data pair. In the dividing process, the data mixing program 208 divides the encrypted application data so as to straddle the encryption processing block (step 503).

(4)バックアップproxy 102は、ステップ503の処理で作成したバックアップデータのペアをそれぞれ別のオンラインストレージサービスA103、B104に分散して保存させ、ステップ501からの処理に戻って処理を続ける(ステップ504)。 (4) The backup proxy 102 distributes and stores the backup data pairs created in the process of step 503 in different online storage services A103 and B104, and returns to the process from step 501 to continue the process (step 504). ).

前述した本発明の実施形態によるデータバックアップシステムでのアプリデータのバックアップ処理では、それぞれが独立した2つのアプリデータについて、アプリデータの暗号化、分割、混合再構成を行うとして説明したが、本発明は、1つのアプリデータについて、アプリデータの暗号化、分割、再構成を行うようにしてもよい。また、前述した説明では、処理後のアプリデータを2つのオンラインストレージサービスに分散して保存させるとしているが、本発明は、アプリデータを3つ以上のオンラインストレージサービスに分散して保存させるようにすることもできる。さらに、本発明は、それぞれが独立した3つ以上のアプリデータについて、アプリデータの暗号化、分割、混合再構成を行うようにしてもよい。   In the application data backup process in the data backup system according to the embodiment of the present invention described above, the application data is encrypted, divided, and mixed and reconfigured for two independent application data. The application data may be encrypted, divided, and reconfigured for one application data. In the above description, the processed application data is distributed and stored in two online storage services. However, in the present invention, the application data is distributed and stored in three or more online storage services. You can also Furthermore, according to the present invention, application data may be encrypted, divided, and mixed and reconfigured for three or more pieces of application data that are independent of each other.

図6は本発明の実施形態によるデータバックアップシステムでのアプリデータのリストア処理を説明するフローチャートであり、次に、これについて説明する。ここでの処理は、サーバ101を使用する利用者から図示しない利用者端末を介して保存されているアプリデータの取得が指示されたときに開始される。   FIG. 6 is a flow chart for explaining application data restore processing in the data backup system according to the embodiment of the present invention, which will be described next. This process is started when an instruction to acquire application data stored via a user terminal (not shown) is issued from a user who uses the server 101.

(1)処理が開始されると、バックアップproxy 102のデータ回復プログラム209は、図3に示して説明したData DB 210からアプリデータ名302とサーバアドレス303との組のカラムを取り出して一覧形式で出力部205の表示装置に表示する(ステップ601)。 (1) When the processing is started, the data recovery program 209 of the backup proxy 102 extracts the column of the combination of the application data name 302 and the server address 303 from the Data DB 210 described with reference to FIG. The information is displayed on the display device of the output unit 205 (step 601).

(2)データ回復プログラム209は、出力部205の表示装置に表示された一覧表示から、利用者により指定されたアプリデータ名を取得する(ステップ602)。 (2) The data recovery program 209 obtains the application data name designated by the user from the list display displayed on the display device of the output unit 205 (step 602).

(3)次に、データ回復プログラム209は、ステップ602の処理で取得したアプリデータ名と同じ項目を持つエントリを図4に示して説明したLocate DB 211から検索し、対応するバックアップファイル名のリストを取得する(ステップ603)。 (3) Next, the data recovery program 209 searches the Locate DB 211 described with reference to FIG. 4 for an entry having the same item as the application data name acquired in step 602, and lists corresponding backup file names. Is acquired (step 603).

(4)データ回復プログラム209は、ステップ603の処理で取得したバックアップファイル名のリストに対して、それぞれのファイルをオンラインストレージサービスから取得して、分離、再構成、復号してアプリデータを回復し、ここでの処理を終了する(ステップ604)。 (4) The data recovery program 209 acquires each file from the online storage service for the backup file name list acquired in step 603 and recovers the application data by separating, reconfiguring and decrypting the file. The processing here is terminated (step 604).

図7、図8はデータ混合プログラム208での処理動作の詳細を説明するフローチャートであり、次に、これについて説明する。この図7、図8に示すフローは、一連のものであるので、以下では、図番を区別することなく説明を行う。また、ここでの処理は、図5に示して説明したフローのステップ503での処理の詳細である。   7 and 8 are flowcharts for explaining the details of the processing operation in the data mixing program 208, which will be described next. Since the flow shown in FIGS. 7 and 8 is a series, the following description will be made without distinguishing the figure numbers. The processing here is the details of the processing in step 503 of the flow described with reference to FIG.

(1)処理を開始すると、データ混合プログラム208は、Data DB 210で選択した2つのアプリデータを、それぞれ DataX、DataY として、暗号鍵 Key212を用いて暗号化する。そして、 DataX、DataY のファイル名を、それぞれ変数Data NameX、変数Data NameYに設定する(ステップ701)。 (1) When the process is started, the data mixing program 208 encrypts the two application data selected in the Data DB 210 as DataX and DataY using the encryption key Key212. Then, the file names of DataX and DataY are set to variable Data NameX and variable Data NameY, respectively (step 701).

(2)次に、ステップ701の処理で暗号化したデータEnc(DataX)、Enc(DataY)を、暗号化の処理ブロックを跨ぐように分割する。例えば、処理ブロックが128bitの処理単位であれば、最初の処理ブロックに対して64bit、次に128bit、次に128bitのデータ、……というように分割して、暗号化処理を行うブロックを分断するように分割する(ステップ702)。 (2) Next, the data Enc (DataX) and Enc (DataY) encrypted in the processing of step 701 are divided so as to straddle the encryption processing block. For example, if the processing block is a 128-bit processing unit, the first processing block is divided into 64 bits, then 128 bits, then 128 bits, and so on, and the block to be encrypted is divided. (Step 702).

(3)データ混合プログラム208は、次に、変数File Local213にデータが設定されているか否かを確認し、データが設定されていた場合、変数Loop Again Flag をTRUEに設定する。この変数は、データ混合プログラム208の一部の処理を繰り返し行うことにより、File Localのデータを処理するために設定される変数である(ステップ703、704)。 (3) Next, the data mixing program 208 checks whether or not data is set in the variable File Local 213, and if the data is set, sets the variable Loop Again Flag to TRUE. This variable is a variable set to process the file local data by repeatedly performing a part of the processing of the data mixing program 208 (steps 703 and 704).

(4)次に、データ混合プログラム208は、変数File Localのデータブロック群を配列変数 work ArrayA[]に設定し、ステップ702の処理で分割したEnc(DataX)のデータブロック群を配列変数 work ArrayB[]に設定すると共に、Data Name 214を変数tmp Data NameAに設定し、ステップ701の処理で取得したData NameXをtmp Data NameBに設定する(ステップ705)。 (4) Next, the data mixing program 208 sets the data block group of the variable File Local to the array variable work ArrayA [], and the data block group of Enc (DataX) divided by the processing in step 702 is set to the array variable work ArrayB. In addition to setting to [], the Data Name 214 is set to the variable tmp Data NameA, and the Data NameX acquired in the processing of Step 701 is set to tmp Data NameB (Step 705).

(5)ステップ703の確認で、変数File Local213にデータがなかった場合、変数Loop Again Flag をFALSE に設定する(ステップ714)。 (5) If there is no data in the variable File Local 213 in step 703, the variable Loop Again Flag is set to FALSE (step 714).

(6)その後、データ混合プログラム208は、ステップ702の処理で分割したEnc(DataX)のデータブロック群を配列変数 work ArrayA[]に設定し、ステップ702の処理で分割したEnc(DataY)のデータブロック群を配列変数 workArrayB[]に設定すると共に、ステップ701の処理で取得したDataNameXをtmpDataNameAに設定し、ステップ701の処理で取得したDataNameYをtmp Data NameB に設定する(ステップ715)。 (6) After that, the data mixing program 208 sets the data block group of Enc (DataX) divided by the process of step 702 to the array variable work ArrayA [], and the data of Enc (DataY) divided by the process of step 702 The block group is set in the array variable workArrayB [], DataNameX acquired in the process of step 701 is set in tmpDataNameA, and DataNameY acquired in the process of step 701 is set in tmp Data NameB (step 715).

(7)ステップ705、715の処理の後、データ混合プログラム208は、配列変数 work ArrayA[]と work ArrayB[]との配列数と比較し、配列変数 work ArrayA[]の配列数が work ArrayB[]の配列数より小さいか否かを判定する。この比較の処理は、これから処理するデータブロック数を決めるため、配列変数のうち配列数の小さい方を検出するものである(ステップ706)。 (7) After the processing of steps 705 and 715, the data mixing program 208 compares the number of arrays of the array variables work ArrayA [] and work ArrayB [], and the number of arrays of the array variable work ArrayA [] is set to work ArrayB [ ] Is smaller than the number of arrays. In this comparison process, in order to determine the number of data blocks to be processed, the smaller one of the array variables is detected (step 706).

(8)ステップ706の比較判定で、配列変数 work ArrayA[]の配列数の方が小さかった場合、変数array Len に work ArrayA[]の配列数を設定し、変数arrayA Flag にTRUEを設定する。これらの設定は、これから処理するデータブロック数とどちらの変数の配列数が少なかったかを示すフラグである(ステップ707)。 (8) If the number of arrays in the array variable work ArrayA [] is smaller in the comparison determination in step 706, the number of arrays of work ArrayA [] is set in the variable array Len, and TRUE is set in the variable arrayA Flag. These settings are flags indicating the number of data blocks to be processed from now on and which variable array number is smaller (step 707).

(9)ステップ706の比較判定で、配列変数 work ArrayA[]の配列数が配列変数 work ArrayB[]の配列数と同じか、大きかった場合、変数array Len に work ArrayB[]の配列数を設定し、変数arrayA Flag にFALSE を設定する。これらの設定は、これから処理するデータブロック数とどちらの変数の配列数が少なかったかを示すフラグである(ステップ716)。 (9) If the number of arrays in the array variable work ArrayA [] is the same as or larger than the number of arrays in the array variable work ArrayB [] in the comparison / determination in step 706, the number of arrays in work ArrayB [] is set in the variable array Len. And set the variable arrayA Flag to FALSE. These settings are flags indicating the number of data blocks to be processed from now on and which variable array number is smaller (step 716).

(10)ステップ707、あるいは、ステップ716の処理の後、Local DB211に、新たなエントリを追加する。追加するエントリには、バックアップファイル名402として文字列“File (num)”を設定し、アプリデータ名i 403として変数tmp Data NameAの値を設定すると共に、アプリデータ名ii404として変数tmp Data NameBの値を設定し、格納ブロック数405として変数array Len を設定する。ちなみに、文字列“File (num)”のnum の部分には変数num 215の値が入る(ステップ708)。 (10) After step 707 or step 716, a new entry is added to Local DB 211. In the entry to be added, the character string “File (num)” is set as the backup file name 402, the value of the variable tmp Data NameA is set as the application data name i 403, and the variable tmp Data NameB is set as the application data name ii404. A value is set, and the variable array Len is set as the number of storage blocks 405. Incidentally, the value of the variable num 215 is entered in the num portion of the character string “File (num)” (step 708).

(11)次に、データ混合プログラム208は、数i に0を代入し、変数i がステップ707の処理で設定した変数array Len よりも小さいか否かを判定し、変数i が変数array Len よりも小さかった場合、変数i が偶数であるか否かを検証する(ステップ709〜711)。 (11) Next, the data mixing program 208 assigns 0 to the number i, determines whether the variable i is smaller than the variable array Len set in step 707, and the variable i is smaller than the variable array Len. Is smaller, it is verified whether or not the variable i is an even number (steps 709 to 711).

(12)ステップ711の判定で、変数i が偶数であった場合、ファイルFile (num)に、配列変数 work ArrayA[]のi 番目のブロックデータを追加すると共に、ファイルFile (num+1)に、配列変数 work ArrayB[]のi 番目ブロックデータを追加する(ステップ712)。 (12) If the variable i is an even number in step 711, the i-th block data of the array variable work ArrayA [] is added to the file File (num) and the file File (num + 1) is added. The i-th block data of the array variable work ArrayB [] is added (step 712).

(13)ステップ711の判定で、変数i が偶数でなかった、すなわち、奇数であった場合、ファイルFile (num)に、配列変数 work ArrayB[]のi 番目のブロックデータを追加すると共に、ファイルFile (num+1)に、配列変数 work ArrayA[]のi 番目のブロックデータを追加する(ステップ717)。 (13) If it is determined in step 711 that the variable i is not an even number, that is, an odd number, the i-th block data of the array variable work ArrayB [] is added to the file File (num) and the file The i-th block data of the array variable work ArrayA [] is added to File (num + 1) (step 717).

(14)ステップ712、あるいは、ステップ717の処理の後、変数i に1を加え、ステップ710からの処理に戻って処理を続ける(ステップ713)。 (14) After the process of step 712 or step 717, 1 is added to the variable i, and the process returns to the process from step 710 to continue the process (step 713).

(15)ステップ710の判定で、変数i がステップ707の処理で設定した変数array Len 以上であった場合、ファイルFile(num) をオンラインストレージサービスA103にアップロードして保存させ、ファイルFile(num+1) をオンラインストレージサービスB104にアップロードして保存させる(ステップ817)。 (15) If it is determined in step 710 that the variable i is equal to or greater than the variable array Len set in step 707, the file File (num) is uploaded to the online storage service A103 and saved, and the file File (num + 1) is uploaded and stored in the online storage service B104 (step 817).

(16)次に、変数num 215の値を2増加させて保存し、変数Loop Again Flag にTRUEが設定されているか否かを確認し、TRUEが設定されていた場合、変数Loop Again Flag にFALSE を設定する(ステップ818、801、802)。 (16) Next, increase the value of the variable num 215 by 2 and check whether TRUE is set for the variable Loop Again Flag. If TRUE is set, set the variable Loop Again Flag to FALSE. Is set (steps 818, 801, 802).

(17)次に、データ混合プログラム208は、変数arrayA Flag にTRUEが設定されているか否かを確認し、TRUEが設定されていた場合、Data DB 210上のアプリデータ名302の中のtmp Data NameAと同じエントリの処理フラグ304を「○」に設定する(ステップ803、825)。 (17) Next, the data mixing program 208 checks whether TRUE is set in the variable arrayA Flag. If TRUE is set, tmp Data in the application data name 302 on the Data DB 210 is set. The processing flag 304 of the same entry as NameA is set to “◯” (steps 803 and 825).

(18)次に、変数tmp Data NameBと変数data Name とが同一であるか否かを確認し、これらの2つの変数が同一でなかった場合、変数data Name に変数tmp Data NameBの値を設定する(ステップ804、806)。 (18) Next, check whether the variable tmp Data NameB and the variable data Name are the same. If these two variables are not the same, set the value of the variable tmp Data NameB to the variable data Name. (Steps 804 and 806).

(19)ステップ804の確認で、変数tmp Data NameBと変数data Name とが同一であであった場合、あるいは、ステップ806の処理の後、ステップ702の処理で分割したEnc(DataY)のデータブロック群を配列変数 work ArrayA[]に設定し、配列変数 work ArrayB[]のi 番目以降のブロックデータ群を配列変数 work ArrayB[]に設定する(ステップ805)。 (19) If the variable tmp Data NameB and the variable data Name are the same in the confirmation in step 804, or after the processing in step 806, the data block of Enc (DataY) divided in the processing in step 702 The group is set to the array variable work ArrayA [], and the i-th and subsequent block data groups of the array variable work ArrayB [] are set to the array variable work ArrayB [] (step 805).

(20)ステップ803の確認で、変数arrayA Flag にTRUEが設定されていなかった場合、Data DB 210上のアプリデータ名302の中のtmp Data NameBと同じエントリの処理フラグ304を「○」に設定する(ステップ826)。 (20) If TRUE is not set in the variable arrayA Flag in the confirmation in step 803, the processing flag 304 of the same entry as the tmp Data NameB in the application data name 302 on the Data DB 210 is set to “O”. (Step 826).

(21)次に、変数tmp Data NameAと変数data Name とが同一であるか否かを確認し、これらの2つの変数が同一でなかった場合、変数data Name に変数tmp Data NameAの値を設定する(ステップ808、810)。 (21) Next, check whether the variable tmp Data NameA and the variable data Name are the same. If these two variables are not the same, set the value of the variable tmp Data NameA to the variable data Name. (Steps 808 and 810).

(22)ステップ808の確認で、変数tmp Data NameAと変数data Name とが同一であであった場合、あるいは、ステップ810の処理の後、配列変数work ArrayA[]のi番目以降のブロックデータ群を配列変数 work ArrayA[]に設定し、ステップ702の処理で分割したEnc(DataY)のデータブロック群を配列変数 work ArrayB[]に設定する(ステップ809)。 (22) If the variable tmp Data NameA and the variable data Name are the same in the confirmation in step 808, or after the processing in step 810, the i-th and subsequent block data groups of the array variable work ArrayA [] Is set in the array variable work ArrayA [], and the data block group of Enc (DataY) divided in the processing in step 702 is set in the array variable work ArrayB [] (step 809).

(23)ステップ805の処理の後、配列変数 work ArrayB[]が空き配列であるか否かを確認し、この確認で、配列変数 work ArrayB[]が空き配列でなかった場合、あるいは、ステップ809の処理の後、配列変数 work ArrayA[]が空き配列であるか否かを確認し、この確認で、配列変数 work ArrayA[]が空き配列でなかった場合、ステップ706からの処理に戻って処理を続ける(ステップ807、811)。 (23) After the processing in step 805, it is confirmed whether or not the array variable work ArrayB [] is a free array. If the array variable work ArrayB [] is not a free array in this confirmation, or step 809 After the process of (2), it is confirmed whether or not the array variable work ArrayA [] is an empty array. If the array variable work ArrayA [] is not an empty array in this confirmation, the process returns to the process from step 706 and processed. (Steps 807 and 811).

(24)ステップ801の変数Loop Again Flag にTRUEが設定されているか否かの確認で、変数Loop Again Flag にTRUEが設定されていなかった場合、arrayA Flag がTRUEに設定されているか否か確認する(ステップ812)。 (24) If TRUE is set in the variable Loop Again Flag in step 801 and if TRUE is not set in the variable Loop Again Flag, it is checked whether arrayA Flag is set to TRUE. (Step 812).

(25)ステップ812の確認で、arrayA Flag がTRUEに設定されていた場合、あるいは、ステップ811の確認で、配列変数 work ArrayA[]が空き配列であった場合、変数 work ArrayB[]のi 番目以降のブロックデータ群を配列変数File Localに設定し、配列変数File Localが空き配列か否かを確認する(ステップ813、814)。 (25) If arrayA Flag is set to TRUE in the confirmation in step 812, or if the array variable work ArrayA [] is an empty array in the confirmation in step 811, the i-th variable work ArrayB [] The subsequent block data group is set in the array variable File Local, and it is confirmed whether or not the array variable File Local is an empty array (steps 813 and 814).

(26)ステップ812の確認で、arrayA Flag がTRUEに設定されていなかった場合、あるいは、ステップ807の確認で、配列変数 work ArrayB[]が空き配列であった場合、変数 work ArrayA[]のi 番目以降のブロックデータ群を配列変数File Localに設定し、配列変数File Localが空き配列か否かを確認する(ステップ821、822)。 (26) If arrayA Flag is not set to TRUE in step 812, or if array variable work ArrayB [] is an empty array in step 807, i of variable work ArrayA [] The block data group after the th is set in the array variable File Local, and it is confirmed whether or not the array variable File Local is an empty array (steps 821 and 822).

(26)ステップ814あるいはステップ822の確認で、配列変数File Localが空き配列であった場合、変数data Name を空(NULL)にし、Data DB 210上のアプリデータ名302の中のtmp Data NameAと同じエントリの処理フラグ304を「○」に設定すると共に、Data DB 210上のアプリデータ名302の中のtmp Data NameBと同じエントリの処理フラグ304を「○」に設定して、ここでの処理を終了する(ステップ815、816)。 (26) If the array variable File Local is an empty array in the confirmation in step 814 or step 822, the variable data Name is made empty (NULL), and tmp Data NameA in the application data name 302 on the Data DB 210 is set. The processing flag 304 of the same entry is set to “O”, and the processing flag 304 of the same entry as the tmp Data NameB in the application data name 302 on the Data DB 210 is set to “O”. Is finished (steps 815 and 816).

(27)ステップ814の確認で、配列変数File Localが空き配列でなかった場合、変数data Name に変数tmp Data NameBの値を設定し、Data DB 210上のアプリデータ名302の中のtmp Data NameAと同じエントリの処理フラグ304を「○」に設定して、ここでの処理を終了する(ステップ819、820)。 (27) If the array variable File Local is not an empty array in the confirmation in step 814, the value of the variable tmp Data NameB is set in the variable data Name, and tmp Data NameA in the application data name 302 on the Data DB 210 is set. The processing flag 304 of the same entry is set to “◯”, and the processing here ends (steps 819 and 820).

(28)ステップ814の確認で、配列変数File Localが空き配列でなかった場合、変数data Name に変数tmp Data NameAの値を設定し、Data DB 210上のアプリデータ名302の中のtmp Data NameBと同じエントリの処理フラグ304を「○」に設定して、ここでの処理を終了する(ステップ823、824)。 (28) If the array variable File Local is not an empty array in the confirmation in step 814, the value of the variable tmp Data NameA is set to the variable data Name, and tmp Data NameB in the application data name 302 on the Data DB 210 is set. The processing flag 304 of the same entry is set to “◯”, and the processing here ends (steps 823 and 824).

図9はデータ回復プログラム209での処理動作の詳細を説明するフローチャートであり、次に、これについて説明する。なお、ここでの処理は、図6に示して説明したフローのステップ604での処理の詳細である。   FIG. 9 is a flowchart for explaining the details of the processing operation in the data recovery program 209. Next, this will be described. The processing here is the details of the processing in step 604 of the flow described with reference to FIG.

(1)データ回復プログラム209は、図6に示して説明したリストア処理におけるステップ603の処理で取得したバックアップファイルリストの先頭ファイル名に対応するバックアップファイル File(x)、 File(x+1)をオンラインストレージサービスA103、B104のそれぞれからダウンロードして取得する(ステップ901)
(2)変数tmp Array を空(NULL)にし、Local DB211からステップ901の処理で取得したファイル名 File(x)のエントリのデータを取得し、取得したデータのどのカラムに、回復するアプリデータ名があるかを調べる(ステップ902〜904)。
(1) The data recovery program 209 stores the backup files File (x) and File (x + 1) corresponding to the first file name in the backup file list acquired in step 603 in the restore process illustrated in FIG. Download and obtain from each of the online storage services A103 and B104 (step 901)
(2) The variable tmp Array is made empty (NULL), the data of the entry of the file name File (x) acquired by the processing of Step 901 from the Local DB 211, and the column of the application data to be recovered in which column of the acquired data (Steps 902 to 904).

(3)ステップ904の調べで、回復するアプリデータ名がアプリデータ名i 403にあった場合、変数yに変数xの値を代入し、変数zに変数x+1の値を代入し、また、ステップ904の調べで、回復するアプリデータ名がアプリデータ名ii404にあった場合、変数yに変数x+1の値を代入し、変数zに変数xの値を代入し、その後、変数jに0を代入する(ステップ905〜907)。 (3) If the application data name to be recovered is found in application data name i 403 in step 904, the value of variable x is assigned to variable y, the value of variable x + 1 is assigned to variable z, and step If the application data name to be recovered is found in application data name ii404 in the examination of 904, the value of variable x + 1 is assigned to variable y, the value of variable x is assigned to variable z, and then 0 is assigned to variable j. (Steps 905 to 907).

(4)ステップ903の処理で取得したデータの格納ブロック数が変数jよりも大きいか否かを確認し、取得したデータの格納ブロック数が変数jよりも大きかった場合、変数jが偶数であるか否かを確認する(ステップ908、909)。 (4) It is confirmed whether or not the number of storage blocks of data acquired in the processing of Step 903 is larger than the variable j. If the number of storage blocks of acquired data is larger than the variable j, the variable j is an even number. (Steps 908 and 909).

(5)ステップ909の確認で、変数jが偶数であった場合、ステップ901の処理で取得した File(y)のj番目のデータブロックを変数 tmp Arrayに追加し、また、ステップ909の確認で、変数jが偶数ではなく奇数であった場合、ステップ901の処理で取得した File(z)のj番目のデータブロックを変数 tmp Arrayに追加し、その後、変数jに1を加算して、ステップ908からの処理に戻って処理を続ける(ステップ910、912、911)。 (5) If the variable j is an even number in the confirmation in step 909, the jth data block of File (y) acquired in the processing in step 901 is added to the variable tmp Array. If the variable j is an odd number instead of an even number, the jth data block of File (z) obtained in step 901 is added to the variable tmp Array, and then 1 is added to the variable j. Returning to the processing from 908, the processing is continued (steps 910, 912, 911).

(6)ステップ908の確認で、ステップ903の処理で取得したデータの格納ブロック数が変数jと同じか小さかった場合、図6に示して説明したリストア処理のステップ603の処理で取得したバックアップファイルリストの次のファイル名があるか否かを確認する(ステップ913)。 (6) When the number of storage blocks of the data acquired in the process of step 903 is equal to or smaller than the variable j in the confirmation of step 908, the backup file acquired in the process of step 603 of the restore process described with reference to FIG. It is checked whether there is a next file name in the list (step 913).

(7)ステップ913の確認で、ステップ603の処理で取得したバックアップファイルリストの次のファイル名があった場合、対応するファイル名に対応するファイル File(x)、 File(x+1)をオンラインストレージサービスA103、B104のそれぞれからダウンロードし、ステップ903からの処理に戻って処理を続ける(ステップ914)。 (7) If there is a next file name in the backup file list obtained in step 603 in the confirmation in step 913, the files File (x) and File (x + 1) corresponding to the corresponding file name are online. Download from each of the storage services A103 and B104, return to the processing from step 903 and continue the processing (step 914).

(8)ステップ913の確認で、ステップ603の処理で取得したバックアップファイルリストの次のファイル名がなかった場合、Data Name 214と回復するアプリデータ名とが同一か否かを確認し、同一であった場合、tmp Array にFile Localのデータを追加する(ステップ915、916)。 (8) If there is no next file name in the backup file list acquired in the processing of step 603 in the confirmation in step 913, it is confirmed whether the data name 214 and the application data name to be recovered are the same. If there is, File Local data is added to tmp Array (steps 915 and 916).

(9)ステップ915の確認で、Data Name 214と回復するアプリデータ名とが同一でなかった場合、あるいは、ステップ916の処理の後、tmp Array をkey 212を用いて復号し、回復したいアプリデータ名のファイルとして、ここでの処理を終了する(ステップ917)。 (9) If the data name 214 and the application data name to be recovered are not the same in the confirmation at step 915, or after the process at step 916, the tmp Array is decrypted using the key 212 and the application data to be recovered The processing here ends as a name file (step 917).

前述した本発明の実施形態における各処理は、処理プログラムとして構成し、装置が備えるCPUに実行させることができ、また、この処理プログラムは、HD、DAT、FD、MO、DVD−ROM、CD−ROM等の記録媒体に格納して、あるいは、通信回線を介したデジタルデータとして提供することができる。   Each processing in the above-described embodiment of the present invention is configured as a processing program and can be executed by a CPU provided in the apparatus, and this processing program is HD, DAT, FD, MO, DVD-ROM, CD- It can be stored in a recording medium such as a ROM or provided as digital data via a communication line.

前述した本発明の実施形態によれば、保存すべきバックアップデータを暗号化し、暗号処理単位であるブロックを分断するように複数に分割して、第三者が運営するデータ保存サービスシステム上に保存することとしているので、保存されている分割されたデータの1つが盗まれてたとしても、平文を生成するために必要な情報量が揃っていないため、データ復号化の試みを無効にし、安全にデータの保存を行うことができる。   According to the above-described embodiment of the present invention, the backup data to be stored is encrypted, divided into a plurality of blocks so as to divide blocks that are encryption processing units, and stored on a data storage service system operated by a third party. Therefore, even if one of the stored divided data is stolen, the amount of information necessary to generate plaintext is not complete, so the data decryption attempt is invalidated and secure Data can be stored in

また、本発明の実施形態は、さらに、暗号化して複数に分割したバックアップデータを同じバックアップデータの分断したデータブロックが連続して含まれないように、他のバックアップデータと組み合わせて、第三者が運営するデータ保存サービスシステム上に保存することとしているので、より安全にデータの保存を行うことができる。   In addition, the embodiment of the present invention can be further combined with other backup data so that the backup data divided into a plurality of encrypted data is not continuously included in the divided backup data block. Since the data is stored on the data storage service system operated by, data can be stored more safely.

101 サーバ
102 バックアップproxy
103、104 オンラインストレージサービスA、B
105 がネットワーク
201 CPU
202 メモリ
203 通信部
204 入力部
205 出力部
206 記憶装置
207 バス
208 データ混合プログラム
209 データ回復プログラム
210 Data DB
211 Locate DB
212 Key
213 File Local
214 Data Name
215 num
101 Server 102 Backup proxy
103, 104 Online storage service A, B
105 is the network 201 CPU
202 Memory 203 Communication Unit 204 Input Unit 205 Output Unit 206 Storage Device 207 Bus 208 Data Mixing Program 209 Data Recovery Program 210 Data DB
211 Locate DB
212 Key
213 File Local
214 Data Name
215 num

Claims (5)

データを第三者が運営するデータ保存サービスシステム上に保存させるデータバックアップシステムにおいて、
アプリケーション等によりバックアップすべきデータを生成する1または複数のサーバと、バックアップデータを保存する複数のデータ保存サービスシステムと、前記サーバからの保存すべきバックアップデータを加工して、前記複数のデータ保存サービスシステムに分散保存させるバックアップproxy とを備え、
前記バックアップproxy は、データ暗号化手段と、保存データを登録管理する登録表とを有し、
前記暗号化手段は、前記アプリケーションからの保存すべきバックアップデータを暗号化し、暗号化したバックアップデータを暗号化処理単位であるブロックを分断するように分割し、分断したデータブロックが連続して含まれないように、分割したデータを組み合わせ、その組み合わせ情報を前記登録表に記録し、組み合わせたデータを前記複数のデータ保存サービスシステムに分散保存させることを特徴とするデータバックアップシステム。
In a data backup system that stores data on a data storage service system operated by a third party,
One or a plurality of servers for generating data to be backed up by an application, a plurality of data storage service systems for storing backup data, and a plurality of data storage services by processing backup data to be stored from the server With backup proxy for distributed storage in the system,
The backup proxy has data encryption means and a registration table for registering and managing stored data,
The encryption unit encrypts backup data to be stored from the application, divides the encrypted backup data so as to divide a block which is an encryption processing unit, and includes divided data blocks continuously. A data backup system, wherein the divided data is combined, the combination information is recorded in the registration table, and the combined data is distributed and stored in the plurality of data storage service systems.
データを第三者が運営するデータ保存サービスシステム上に保存させるデータバックアップシステムにおいて、
アプリケーション等によりバックアップすべきデータを生成する1または複数のサーバと、バックアップデータを保存する複数のデータ保存サービスシステムと、前記サーバからの保存すべきバックアップデータを加工して、前記複数のデータ保存サービスシステムに分散保存させるバックアップproxy とを備え、
前記バックアップproxy は、データ暗号化手段と、保存データを登録管理する登録表とを有し、
前記暗号化手段は、1または複数のアプリケーションからの保存すべき複数のバックアップデータのそれぞれを暗号化し、暗号化した複数のバックアップデータのそれぞれを暗号化処理単位であるブロックを分断するように分割し、同一のバックアップデータの分断したデータブロックが連続して含まれないように、他のバックアップデータと組み合わせ、その組み合わせ情報を前記登録表に記録し、組み合わせたデータを前記複数のデータ保存サービスシステムに分散保存させることを特徴とするデータバックアップシステム。
In a data backup system that stores data on a data storage service system operated by a third party,
One or a plurality of servers for generating data to be backed up by an application, a plurality of data storage service systems for storing backup data, and a plurality of data storage services by processing backup data to be stored from the server With backup proxy for distributed storage in the system,
The backup proxy has data encryption means and a registration table for registering and managing stored data,
The encryption unit encrypts each of a plurality of backup data to be stored from one or a plurality of applications, and divides each of the plurality of encrypted backup data so as to divide a block which is an encryption processing unit. , Combined with other backup data so that the divided data blocks of the same backup data are not continuously included, the combination information is recorded in the registration table, and the combined data is stored in the plurality of data storage service systems. A data backup system characterized by distributed storage.
前記バックアップproxy は、データ回復手段を有し、該、データ回復手段は、指定されたアプリケーションのバックアップデータを、前記管理表の情報に基づいて前記複数のデータ保存サービスシステムから取得し、取得したデータのブロックの再構成、データの復号を行ってデータを回復させることを特徴とする請求項1または2記載のデータバックアップシステム。   The backup proxy has data recovery means. The data recovery means acquires backup data of a designated application from the plurality of data storage service systems based on the information in the management table, and acquires the acquired data. 3. The data backup system according to claim 1, wherein the data is recovered by reconfiguring the block and decoding the data. データを第三者が運営するデータ保存サービスシステム上に保存させるデータバックアップ方法において、
アプリケーション等によりバックアップすべきデータを生成する1または複数のサーバと、バックアップデータを保存する複数のデータ保存サービスシステムと、前記サーバからの保存すべきバックアップデータを加工して、前記複数のデータ保存サービスシステムに分散保存させるバックアップproxy とを備え、
前記バックアップproxy は、データ暗号化手段と、保存データを登録管理する登録表とを有し、
前記暗号化手段は、前記アプリケーションからの保存すべきバックアップデータを暗号化し、暗号化したバックアップデータを暗号化処理単位であるブロックを分断するように分割し、分断したデータブロックが連続して含まれないように、分割したデータを組み合わせ、その組み合わせ情報を前記登録表に記録し、組み合わせたデータを前記複数のデータ保存サービスシステムに分散保存させることを特徴とするデータバック方法。
In a data backup method for storing data on a data storage service system operated by a third party,
One or a plurality of servers for generating data to be backed up by an application, a plurality of data storage service systems for storing backup data, and a plurality of data storage services by processing backup data to be stored from the server With backup proxy for distributed storage in the system,
The backup proxy has data encryption means and a registration table for registering and managing stored data,
The encryption unit encrypts backup data to be stored from the application, divides the encrypted backup data so as to divide a block which is an encryption processing unit, and includes divided data blocks continuously. A data back method comprising: combining divided data, recording the combination information in the registration table, and distributing and storing the combined data in the plurality of data storage service systems.
データを第三者が運営するデータ保存サービスシステム上に保存させるデータバックアップ方法において、
アプリケーション等によりバックアップすべきデータを生成する1または複数のサーバと、バックアップデータを保存する複数のデータ保存サービスシステムと、前記サーバからの保存すべきバックアップデータを加工して、前記複数のデータ保存サービスシステムに分散保存させるバックアップproxy とを備え、
前記バックアップproxy は、データ暗号化手段と、保存データを登録管理する登録表とを有し、
前記暗号化手段は、1または複数のアプリケーションからの保存すべき複数のバックアップデータのそれぞれを暗号化し、暗号化した複数のバックアップデータのそれぞれを暗号化処理単位であるブロックを分断するように分割し、同一のバックアップデータの分断したデータブロックが連続して含まれないように、他のバックアップデータと組み合わせ、その組み合わせ情報を前記登録表に記録し、組み合わせたデータを前記複数のデータ保存サービスシステムに分散保存させることを特徴とするデータバックアップ方法。
In a data backup method for storing data on a data storage service system operated by a third party,
One or a plurality of servers for generating data to be backed up by an application, a plurality of data storage service systems for storing backup data, and a plurality of data storage services by processing backup data to be stored from the server With backup proxy for distributed storage in the system,
The backup proxy has data encryption means and a registration table for registering and managing stored data,
The encryption unit encrypts each of a plurality of backup data to be stored from one or a plurality of applications, and divides each of the plurality of encrypted backup data so as to divide a block which is an encryption processing unit. , Combined with other backup data so that the divided data blocks of the same backup data are not continuously included, the combination information is recorded in the registration table, and the combined data is stored in the plurality of data storage service systems. A data backup method characterized by distributed storage.
JP2010040665A 2010-02-25 2010-02-25 System and method for data backup Pending JP2011175578A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010040665A JP2011175578A (en) 2010-02-25 2010-02-25 System and method for data backup

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010040665A JP2011175578A (en) 2010-02-25 2010-02-25 System and method for data backup

Publications (1)

Publication Number Publication Date
JP2011175578A true JP2011175578A (en) 2011-09-08

Family

ID=44688359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010040665A Pending JP2011175578A (en) 2010-02-25 2010-02-25 System and method for data backup

Country Status (1)

Country Link
JP (1) JP2011175578A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018057045A (en) * 2013-07-01 2018-04-05 アマゾン テクノロジーズ インコーポレイテッド Virtual service provider zones
US10474829B2 (en) 2012-06-07 2019-11-12 Amazon Technologies, Inc. Virtual service provider zones
US10834139B2 (en) 2012-06-07 2020-11-10 Amazon Technologies, Inc. Flexibly configurable data modification services
JP2021513712A (en) * 2018-02-07 2021-05-27 メディキャプチャー・インコーポレイテッド Systems and methods for distributed data storage

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10474829B2 (en) 2012-06-07 2019-11-12 Amazon Technologies, Inc. Virtual service provider zones
US10834139B2 (en) 2012-06-07 2020-11-10 Amazon Technologies, Inc. Flexibly configurable data modification services
JP2018057045A (en) * 2013-07-01 2018-04-05 アマゾン テクノロジーズ インコーポレイテッド Virtual service provider zones
JP2020141424A (en) * 2013-07-01 2020-09-03 アマゾン テクノロジーズ インコーポレイテッド Virtual service provider zone
US11323479B2 (en) 2013-07-01 2022-05-03 Amazon Technologies, Inc. Data loss prevention techniques
JP2021513712A (en) * 2018-02-07 2021-05-27 メディキャプチャー・インコーポレイテッド Systems and methods for distributed data storage

Similar Documents

Publication Publication Date Title
US9922207B2 (en) Storing user data in a service provider cloud without exposing user-specific secrets to the service provider
CN109643285B (en) Encrypted user data transmission and storage
US10097522B2 (en) Encrypted query-based access to data
JP4610176B2 (en) Data originality ensuring method and system, and data originality ensuring program
JP6900524B2 (en) Access control methods, information processing devices, programs, and recording media
JP2008103936A (en) Secret information management apparatus and secret information management system
CN101964080A (en) Be used for file as method and the system thereof of fragments store on memory element
CN111292041A (en) Electronic contract generating method, device, equipment and storage medium
KR20200085095A (en) Electronic apparatus and method for managing data based on block chain
CN109802832A (en) A kind of processing method of data file, system, big data processing server and computer storage medium
JP2011175578A (en) System and method for data backup
JP6272546B2 (en) Data storage device, data processing method, and data processing program
JP5749368B2 (en) Data originality ensuring method and system, and data originality ensuring program
CN112463454A (en) Data recovery method, server, terminal device and storage medium
US10853388B2 (en) Rebuilding data in a dispersed storage network
CN108900510A (en) Off-line data storage method, device, computer equipment and storage medium
CN118233098A (en) Json field data encryption method and device based on cryptographic algorithm and storage medium
KR20160129318A (en) Method for uploading and downloading contents in collaboration folder based on block, and system for encoding contents in collaboration folder based on block
CN109871697A (en) Electronic file encryption and browsing method, device, server, terminal and medium
CN114978738A (en) Encryption processing method of interface message, client and server
CN114978620A (en) Encryption method and decryption method for identification number
JP3815107B2 (en) Method for generating and browsing encrypted file using common key
US20200382319A1 (en) Digital data management
CN114116855A (en) Blockchain-based data circulation system, method and device
JP7588364B1 (en) Program, server, method, and system