JP2005301464A - Backup method and system - Google Patents

Backup method and system Download PDF

Info

Publication number
JP2005301464A
JP2005301464A JP2004113728A JP2004113728A JP2005301464A JP 2005301464 A JP2005301464 A JP 2005301464A JP 2004113728 A JP2004113728 A JP 2004113728A JP 2004113728 A JP2004113728 A JP 2004113728A JP 2005301464 A JP2005301464 A JP 2005301464A
Authority
JP
Japan
Prior art keywords
data
backup server
backup
received
encrypted
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
JP2004113728A
Other languages
Japanese (ja)
Inventor
Junji Ito
淳史 伊藤
Takeshi Teramura
健 寺村
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP2004113728A priority Critical patent/JP2005301464A/en
Priority to PCT/JP2004/019634 priority patent/WO2005101209A1/en
Publication of JP2005301464A publication Critical patent/JP2005301464A/en
Pending legal-status Critical Current

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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve problems in backup such as difficulties of differential backup in data updating when backup is carried out while data are encrypted for securing data secrecy, problems of a communication time and a communication fee, and problems with consistency of differential data when a plurality of backup servers are used in compliance with a network configuration. <P>SOLUTION: In backup of encrypted data, a signature for differential computing is backed up together. In backup for second times and afterward, a differential is calculated by using the signature, and an encrypted differential is backed up with a new signature. In this way, efficient encrypted data backup is carried out. Version information is managed with differential data, and when comparison of the version is carried out between the servers, data can be synchronized between the servers. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、データのバックアップ方法に関し、特にデータを暗号化した状態でバックアップする際の効率のよいバックアップ方法及びシステムに関する。   The present invention relates to a data backup method, and more particularly to an efficient backup method and system for backing up data in an encrypted state.

近年ユビキタス社会の到来に伴い、ノートパソコン・携帯電話・PDAなどいろいろなものにデータが散在し、一元的にバックアップしたいという要求が出てきている。このデータバックアップに際して情報の秘密性を保持したいという要求から、特許文献1のようなユーザのデータをクライアントで暗号化しサーバにバックアップする方法が提案されている。しかし特許文献1の方法では、バックアップするデータをバックアップの度に丸ごと暗号化して送信しているため、データ量が増えるに従って通信量が増え、通信時間や通信料金が増大することになる。   In recent years, with the advent of the ubiquitous society, data is scattered in various things such as notebook computers, mobile phones, and PDAs, and there has been a demand for centralized backup. In order to maintain the confidentiality of information at the time of data backup, a method of encrypting user data as disclosed in Patent Document 1 with a client and backing it up to a server has been proposed. However, in the method of Patent Document 1, since the data to be backed up is encrypted and transmitted every time backup is performed, the amount of communication increases as the amount of data increases, and the communication time and communication charge increase.

この問題を解決するために、特許文献2では更新のあったデータのみバックアップする差分バックアップが提案されている。しかし特許文献2の方法は、一旦バックアップしてあるデータを全てダウンロードするため、全てのデータのダウンロードが必然でないケースでは通信量の削減にはあまり貢献していない。また、一時的にではあるが新旧ファイルが同時にクライアントに存在することになり、クライアントのデータ格納領域が大量に必要になる。   In order to solve this problem, Patent Document 2 proposes a differential backup that backs up only updated data. However, since the method of Patent Document 2 downloads all the data that has been backed up once, it does not contribute much to reducing the amount of communication in cases where downloading of all the data is not necessary. Also, although temporarily, new and old files exist at the same time on the client, a large amount of data storage area for the client is required.

上記課題を解決するために、特許文献3ではシグニチャと呼ばれるデータのブロック毎の特徴値を利用する方法が提案されている。特許文献3に記述されている第一の方法ではバックアップを実施した際に前記バックアップしたデータのシグニチャをクライアントで保存しておき、次回バックアップの際には前記保存しておいたシグニチャと現在バックアップしようとしているデータのシグニチャを比較し、効率よく差分情報を作成する方法が開示されている。また、特許文献3に記述されている第二の方法では、バックアップされているデータのシグニチャをバックアップサーバ側で計算してクライアントに送信し、クライアントは前記受信したシグニチャと現在バックアップしようとしているデータのシグニチャを比較して効率よく差分情報を作成する方法が開示されている。しかし前記第一の方法では、クライアントにシグニチャを保管するデータ格納エリアが必要になり、携帯電話やPDAなどのデータ格納エリアに制限のあるデバイスで実装するためにはよりデータ量の少ない方法が求められている。またデータをフロッピー(登録商標)ディスクなどの媒体をもちいて他のクライアントにコピーした場合などには前記他のクライアントに以前バックアップした際のシグニチャがないため差分バックアップができないなどの課題があった。また前記第二の方法はサーバ側でシグニチャの計算を行っているため、特許文献1に記述されているような暗号化バックアップにおいては利用できなかった。   In order to solve the above-described problem, Patent Document 3 proposes a method of using a feature value for each block of data called a signature. In the first method described in Patent Document 3, the signature of the backed up data is saved on the client when backup is performed, and the saved signature and the current signature are to be backed up at the time of the next backup. And a method of efficiently creating difference information by comparing the data signatures. In the second method described in Patent Document 3, a signature of backed-up data is calculated on the backup server side and transmitted to the client, and the client receives the received signature and data currently being backed up. A method for efficiently creating difference information by comparing signatures is disclosed. However, the first method requires a data storage area for storing the signature in the client, and a method with a smaller amount of data is required for mounting on a device having a limited data storage area such as a mobile phone or a PDA. It has been. Further, when data is copied to another client using a medium such as a floppy (registered trademark) disk, there is a problem that a differential backup cannot be performed because there is no signature when the data is previously backed up to the other client. Further, since the signature calculation is performed on the server side, the second method cannot be used in the encrypted backup as described in Patent Document 1.

なお特許文献3で利用されるシグニチャの例としては、非特許文献1で開示されているrsyncアルゴリズムが広く知られている。   As an example of the signature used in Patent Document 3, the rsync algorithm disclosed in Non-Patent Document 1 is widely known.

また、特許文献3の方式では全てのクライアントからのバックアップは1つのバックアップサーバに集約されている。しかし、携帯電話、社内パソコン、PDAなどさまざまな環境が混在する状況では必ずしも全てのクライアントが特定のサーバに接続可能ではなく、その時々に応じたネットワーク環境におけるバックアップサーバへバックアップしておき、前記複数のバックアップサーバ間でデータの同期を取ることが求められている。   In the method of Patent Document 3, backups from all clients are collected on one backup server. However, in a situation where various environments such as mobile phones, in-house computers, and PDAs are mixed, not all clients can be connected to a specific server, and backup to a backup server in a network environment according to the situation is performed. There is a need to synchronize data between backup servers.

特開2002−351722号公報JP 2002-351722 A 特開2001−34580号公報JP 2001-34580 A USP5,765,173USP 5,765,173 Andrew Tridgell 1999 "Efficient Algorithms for Sorting and Synchronization" PhD thesis, The Australian National UniversityAndrew Tridgell 1999 "Efficient Algorithms for Sorting and Synchronization" PhD thesis, The Australian National University

本発明の目的は、クライアントのデータ格納領域を圧迫せず、データの秘密性を守ったまま効率よく差分バックアップを行う方法を提供することにある。また本発明の別の目的は、データの秘密性を守ったまま複数のバックアップサーバ間で同期を取る方法を提供することにある。   An object of the present invention is to provide a method for efficiently performing differential backup while keeping the confidentiality of data without squeezing the data storage area of the client. Another object of the present invention is to provide a method for synchronizing a plurality of backup servers while maintaining the confidentiality of data.

上記目的を実現するために、本発明におけるクライアント端末は初回バックアップを実施する際に、バックアップするデータを暗号化したもの(暗号化データ)と一緒に、差分計算のためのシグニチャを計算して前記暗号化データとともにサーバへ送信する。二回目以降は、サーバから前回受信したシグニチャをクライアントに送信し、クライアントはそのシグニチャを利用して差分を計算するとともに、バックアップしたいデータのシグニチャを計算し、前記差分を暗号化したものと前記計算したシグニチャを現サーバへ送信する。   In order to achieve the above object, the client terminal according to the present invention calculates the signature for the difference calculation together with the encrypted data to be backed up (encrypted data) when performing the initial backup. Send it to the server along with the encrypted data. From the second time on, the signature received last time from the server is sent to the client, the client calculates the difference using the signature, calculates the signature of the data to be backed up, and calculates the difference as encrypted Send the signature to the current server.

また上記別の目的を実現するために、バックアップサーバにおいて暗号化差分データとシグニチャとともに、例えば日時などのデータのバージョンを特定するデータを一緒のレコードに格納しておき、第一のバックアップサーバは自分が持っているバージョンデータを第二のバックアップサーバに送信し、前記第二のバックアップサーバは前記受信したバージョンデータのうち、自分が持っていないものを要求するとともに、自分が持っているバージョンデータのうち、前記第一のバックアップサーバが持っていないデータを送信することによって、サーバ間の同期を実現する。   In order to achieve the above-mentioned another purpose, the backup server stores, together with the encrypted differential data and the signature, for example, data that specifies the version of the data such as date and time in a record together, and the first backup server Is sent to the second backup server, and the second backup server requests the received version data that the user does not have, and the version data Among these, the data which the said 1st backup server does not have is transmitted, and the synchronization between servers is implement | achieved.

本発明によれば、クライアントのデータ格納領域を圧迫せずにデータの秘密性を守ったまま効率よく差分バックアップを実現できる。   According to the present invention, it is possible to efficiently implement differential backup while maintaining the confidentiality of data without squeezing the data storage area of the client.

また複数のバックアップサーバ間の同期を実現することにより、パソコン、携帯電話など異なる環境からバックアップした場合にも正常にバックアップが取れることを保障する。   In addition, by realizing synchronization between multiple backup servers, it is guaranteed that backups can be taken normally even when backup is performed from different environments such as personal computers and mobile phones.

以下本発明を実施する為の最良な形態を詳細に説明する。第1図は本実施例におけるシステム構成である。バックアップサーバ110はデータ格納装置111を有し、ネットワーク160を介してクライアント130と接続されており、またネットワーク150を介してバックアップサーバ120と接続されている。バックアップサーバ120も前記バックアップサーバ110と同様にデータ格納装置121を有し、ネットワーク170を介してクライアント140と、ネットワーク150を介してバックアップサーバ110と接続されている。   Hereinafter, the best mode for carrying out the present invention will be described in detail. FIG. 1 shows a system configuration in this embodiment. The backup server 110 has a data storage device 111, is connected to the client 130 via the network 160, and is connected to the backup server 120 via the network 150. Like the backup server 110, the backup server 120 also has a data storage device 121, and is connected to the client 140 via the network 170 and the backup server 110 via the network 150.

クライアント130は演算装置132とデータ格納装置131を有し、クライアント140は演算装置142とデータ格納装置141を有している。例えばクライアント130はパソコン、ネットワーク160は社内LAN、バックアップサーバ110は社内サーバ、ネットワーク150はインターネット、バックアップサーバ120は携帯キャリア内のサーバ、ネットワーク170は携帯電話網、クライアント140は携帯電話である。この例ではネットワーク150、160、170は別々のネットワークであったが必ずしもその必要はなく、例えばすべてのサーバとクライアントがインターネットで接続されていたり、サーバ間のネットワークだけが高速なストレージネットワークであったりすることも考えられる。   The client 130 has an arithmetic device 132 and a data storage device 131, and the client 140 has an arithmetic device 142 and a data storage device 141. For example, the client 130 is a personal computer, the network 160 is an in-house LAN, the backup server 110 is an in-house server, the network 150 is the Internet, the backup server 120 is a server in a mobile carrier, the network 170 is a mobile phone network, and the client 140 is a mobile phone. In this example, the networks 150, 160, and 170 are separate networks, but it is not always necessary. For example, all servers and clients are connected via the Internet, or only the network between servers is a high-speed storage network. It is also possible to do.

図2はバックアップ処理フローである。ステップ210においてクライアント130はバックアップするファイル名、最終更新日時、ファイルサイズなどを含むバックアップ開始要求メッセージを送信する。ステップ220で前記バックアップ開始要求メッセージを受信したサーバ110は、ステップ230においてデータ格納装置111に格納されているデータに前記ファイルが存在するかどうか確認し、存在しない場合にはステップ240の初期登録処理(図3にて後述する。)を実行する。ステップ230においてすでに存在した場合には、ステップ250においてデータ格納装置111に格納されたデータが送信されてきた最終更新日時より古いかどうか判定し、古い場合には更新が必要とみなしてステップ260において差分更新処理(図4にて後述する。)を実行する。ステップ230においてデータ格納装置111にあるデータがクライアント130のデータ格納装置131にあるデータと同じか新しい場合にはステップ270において更新不要処理(図5にて後述する。)を実行して終了する。   FIG. 2 is a backup processing flow. In step 210, the client 130 transmits a backup start request message including the name of the file to be backed up, the last update date and time, the file size, and the like. The server 110 that has received the backup start request message in step 220 checks whether or not the file exists in the data stored in the data storage device 111 in step 230. If not, the initial registration process in step 240 is performed. (Described later in FIG. 3). If it has already existed in step 230, it is determined in step 250 whether the data stored in the data storage device 111 is older than the last update date / time transmitted. Difference update processing (described later in FIG. 4) is executed. If the data in the data storage device 111 is the same as or newer than the data in the data storage device 131 of the client 130 in step 230, an update unnecessary process (described later in FIG. 5) is executed in step 270 and the process ends.

上記ではクライアント130、サーバ110を例に説明したがクライアント140、サーバ120の組み合わせでも同様である。また、上記説明ではバックアップ開始要求メッセージにファイルサイズを含んでいるが、バックアップの実施には必ずしも必要でない。   In the above description, the client 130 and the server 110 have been described as an example, but the same applies to a combination of the client 140 and the server 120. Further, in the above description, the file size is included in the backup start request message, but this is not always necessary for performing the backup.

図3はステップ240の初期登録処理を詳細に説明した処理フローである。ステップ230で初期登録が必要と判断したサーバ110はステップ310でクライアント130に対して初期登録要求を送信する。ステップ320で上記初期登録要求を受信したクライアント130は、ステップ330で上記バックアップするファイルのシグニチャを計算し、ステップ340で上記バックアップするファイルを暗号化し、ステップ350で前記暗号化したデータとシグニチャをサーバ110へ送信する。ここで、ステップ330とステップ340の順番は逆でもよい。ステップ360で上記メッセージを受信したサーバ110はステップ370において上記受信したファイル名、最終更新日時、暗号化データ、シグニチャをデータ格納装置111に格納する。   FIG. 3 is a process flow illustrating the initial registration process in step 240 in detail. The server 110 that determines that initial registration is necessary in step 230 transmits an initial registration request to the client 130 in step 310. The client 130 receiving the initial registration request in step 320 calculates the signature of the file to be backed up in step 330, encrypts the file to be backed up in step 340, and stores the encrypted data and signature in step 350. 110. Here, the order of step 330 and step 340 may be reversed. The server 110 that has received the message in step 360 stores the received file name, last update date, encrypted data, and signature in the data storage device 111 in step 370.

図4はステップ260の差分更新処理を詳細に説明した処理フローである。ステップ250で更新が必要と判断したサーバ110はステップ410でデータ格納装置111に格納されているシグニチャを含む更新要求メッセージをクライアント130へ送信する。ステップ420で上記更新要求メッセージを受信したクライアント130は、ステップ430で前記受信したシグニチャを元に差分を計算し、ステップ440で前記計算した差分を暗号化し、ステップ450でバックアップするファイルのシグニチャを計算して、ステップ460で前記暗号化した差分と前記計算したシグニチャを送信する。ここで算出される差分はファイルのデータに追加、変更、削除の箇所がある場合の当該箇所を意味する。また、ステップ450で算出されるシグニチャは、更新後のファイルをブロック単位に再計算されるものであり、1つ前のシグニチャとは異なるシグニチャとなる。ここでステップ430−440の差分暗号化の処理とステップ450のシグニチャの計算との順番は逆でも良い。ステップ470で上記メッセージを受信したサーバ110はステップ480において上記受信した最終更新日時、暗号化差分データ、シグニチャをデータ格納装置111に格納する。   FIG. 4 is a process flow illustrating the difference update process in step 260 in detail. The server 110 that has determined that the update is necessary at step 250 transmits an update request message including the signature stored in the data storage device 111 to the client 130 at step 410. The client 130 that has received the update request message in step 420 calculates a difference based on the received signature in step 430, encrypts the calculated difference in step 440, and calculates the signature of the file to be backed up in step 450. In step 460, the encrypted difference and the calculated signature are transmitted. The difference calculated here means a portion where addition, change, or deletion is present in the file data. In addition, the signature calculated in step 450 is a recalculation of the updated file in units of blocks, and is a different signature from the previous signature. Here, the order of the differential encryption processing in steps 430 to 440 and the signature calculation in step 450 may be reversed. The server 110 that has received the message in step 470 stores the received last update date, encrypted differential data, and signature in the data storage device 111 in step 480.

図5はステップ270の更新不要処理を詳細に説明した処理フローである。ステップ250で更新が不要と判断したサーバ110はステップ510で更新不要通知を送信し、ステップ520で前記更新不要通知を受信したクライアント130は上記該当するファイルのバックアップを終了する。   FIG. 5 is a process flow illustrating in detail the update unnecessary process in step 270. The server 110 that has determined that the update is unnecessary in step 250 transmits an update unnecessary notification in step 510, and the client 130 that has received the update unnecessary notification in step 520 ends the backup of the corresponding file.

図6はデータ格納装置111に格納されるバックアップデータのうち、特定のファイルに関するデータ構造を示した図である。図6に示されるバックアップデータテーブルには最終更新日時610、バックアップ前の更新日時620、ファイルサイズ630、データ部640、シグニチャ650などが含まれる。初回登録時には更新前日時620は存在せず、データ部にはファイル全部を暗号化した暗号化初期データが格納される。それ以外の場合には更新前日時620に差分の元になったファイルの更新日時が記述され、データ部には上記ステップ430、440で計算された暗号化差分データが格納される。   FIG. 6 is a diagram showing a data structure related to a specific file among backup data stored in the data storage device 111. The backup data table shown in FIG. 6 includes a last update date and time 610, an update date and time 620 before backup, a file size 630, a data portion 640, a signature 650, and the like. At the time of initial registration, the pre-update date and time 620 does not exist, and encrypted initial data obtained by encrypting the entire file is stored in the data portion. In other cases, the update date / time of the file that is the source of the difference is described in the pre-update date / time 620, and the encrypted differential data calculated in steps 430 and 440 are stored in the data portion.

図7はステップ210でバックアップ開始要求を送信した後のクライアント130の処理フローである。バックアップサーバ110から受信したメッセージをステップ710で判断し、初回登録要求だった場合ステップ330でシグニチャを計算し、ステップ340でファイル全体を暗号化し、ステップ350でサーバに送信する。上記受信したメッセージが更新要求だった場合、ステップ430で差分を計算し、ステップ440で前記差分を暗号化し、ステップ450でシグニチャを計算した後にステップ460でサーバに送信する。上記受信したメッセージが更新不要通知だった場合は、クライアント130は何もせず終了する。   FIG. 7 is a processing flow of the client 130 after transmitting the backup start request in step 210. The message received from the backup server 110 is determined in step 710, and if it is an initial registration request, the signature is calculated in step 330, the entire file is encrypted in step 340, and transmitted to the server in step 350. If the received message is an update request, the difference is calculated in step 430, the difference is encrypted in step 440, the signature is calculated in step 450, and then transmitted to the server in step 460. If the received message is an update unnecessary notification, the client 130 ends without doing anything.

図8は複数のバックアップサーバ間の同期の処理フローをあらわした図である。ステップ810においてサーバ110は対象ファイルに関して、データ格納装置111内に存在するデータの更新日時のリストをサーバ120へ送信する。ステップ820で上記更新日時のリストを受信したサーバ120は、ステップ830でデータ格納装置121内に存在する更新日時のリストと前記受信した更新日時のリストを比較し、ステップ840において、データ格納装置121に存在してデータ格納装置111に存在しない更新日時に対応するデータのリストと、データ格納装置111に存在してデータ格納装置121に存在しないデータを要求するための更新日時リストを送信する。ステップ850で前記メッセージを受信したサーバ110は、ステップ860で前記受信した不足分データをデータ格納装置111に格納し、ステップ870で前記要求された更新日時リストに対応するデータを送信する。ステップ880で前記メッセージを受信したサーバ120はステップ890で前記受信した不足分データを格納装置121に格納する。   FIG. 8 is a diagram showing a processing flow for synchronization between a plurality of backup servers. In step 810, the server 110 transmits a list of update dates and times of data existing in the data storage device 111 to the server 120 regarding the target file. The server 120 that has received the update date list in step 820 compares the update date list existing in the data storage device 121 with the received update date list in step 830, and in step 840 the data storage device 121. The data list corresponding to the update date and time that does not exist in the data storage device 111 and the update date and time list for requesting data that exists in the data storage device 111 but does not exist in the data storage device 121 are transmitted. The server 110 that has received the message in step 850 stores the received shortage data in the data storage device 111 in step 860 and transmits data corresponding to the requested update date list in step 870. The server 120 that has received the message at step 880 stores the received shortage data in the storage device 121 at step 890.

図9はステップ830の過不足判定の方法を示した図である。サーバ120はステップ810で受信したバージョンリスト910とデータ格納装置121に格納されているバージョンリスト920を比較し、同じ物が存在する912と922に関しては更新不要、920にのみ存在する921、923に関してはサーバ110へデータ送信し、910にのみ存在する911、913に関してはサーバ110へデータ要求を行う。   FIG. 9 is a diagram showing an excess / deficiency determination method in step 830. The server 120 compares the version list 910 received in step 810 with the version list 920 stored in the data storage device 121, no update is required for 912 and 922 where the same thing exists, and 921 and 923 that exist only in 920. Transmits data to the server 110, and requests data to the server 110 for 911 and 913 that exist only in 910.

図9ではバックアップサーバにおいて全ての時点の差分データを保持しつづける場合を説明したが、最新のデータだけを保持すればいいようなケースでは以下に説明する方法によりデータベースのサイズとサーバ間通信データ量を削減することが可能である。図10は最新のデータだけを保持すればいいケースにおけるステップ830の過不足判定の方法を示した図である。図10ではサーバ120が保持するデータの方が、サーバ110が保持するデータよりも新しいので、サーバ120が保持するデータを最新のものから順にサーバ110が保持しているものを検索していく。すると差分データ922に相当する差分データ912が存在することがわかるので、差分データ922の更新日時とそれ以降の差分データ923を送信する。ステップ850で差分データ922の更新日時と、差分データ923を受信したバックアップサーバ110は、差分データ922の更新日時を元に、差分データ912より新しいデータは不要であることを認識して差分データ913を削除し、前記受信した差分データ923をデータ格納装置111に格納する。サーバ110に送信する差分データ923は、差分データ922(サーバ110の差分データ912と同一内容)との差分であり、差分データ913は不要であると判断できる。この場合、同期後にはサーバ110には差分データ911、912(922)、923が、またサーバ120には差分データ921、922(912)、923が存在することになり、二つのサーバで保持するデータは必ずしも一致しないが、最新バージョンである923を復元するという目的のためには問題ない。また図10とは逆にサーバ110が保持するデータの方が、サーバ120が保持するデータよりも新しい場合には、サーバ120はステップ840で、サーバ110が保持するデータのうちサーバ120が保持する最大のデータの更新日時(上記例における922に相当)をサーバ110に通知することによってサーバ120にないデータを要求し、ステップ890においてステップ880で受信した不足データをデータ格納装置121に格納するとともに、必要のないデータを削除することも可能である。   Although FIG. 9 illustrates the case where the backup server keeps the differential data at all points in time, in the case where only the latest data needs to be retained, the database size and the amount of communication data between servers are explained by the method described below. Can be reduced. FIG. 10 is a diagram showing an excess / deficiency determination method in step 830 in a case where only the latest data need be retained. In FIG. 10, since the data held by the server 120 is newer than the data held by the server 110, the data held by the server 110 is searched in order from the latest data held by the server 120. Then, since it can be seen that the difference data 912 corresponding to the difference data 922 exists, the update date and time of the difference data 922 and the subsequent difference data 923 are transmitted. The backup server 110 that has received the update date and time of the difference data 922 and the difference data 923 in step 850 recognizes that data newer than the difference data 912 is unnecessary based on the update date and time of the difference data 922, and the difference data 913. And the received difference data 923 is stored in the data storage device 111. The difference data 923 transmitted to the server 110 is a difference from the difference data 922 (the same content as the difference data 912 of the server 110), and it can be determined that the difference data 913 is unnecessary. In this case, the difference data 911, 912 (922), and 923 exist in the server 110 after synchronization, and the difference data 921, 922 (912), and 923 exist in the server 120 and are held by the two servers. The data does not necessarily match, but there is no problem for the purpose of restoring the latest version 923. Contrary to FIG. 10, when the data held by the server 110 is newer than the data held by the server 120, the server 120 holds the server 120 among the data held by the server 110 in step 840. By notifying the server 110 of the maximum data update date and time (corresponding to 922 in the above example), the server 120 requests data that does not exist in the server 120 and stores the insufficient data received in step 880 in the data storage device 121 in step 890. It is also possible to delete unnecessary data.

以上の例ではファイルの更新に枝分かれがない場合について説明したが、バージョン管理システムで一般的に用いられている枝分かれするような更新についても同様である。この場合には更新開始要求に枝名などが追加されるとともにデータ格納装置111、121に格納されるデータにも枝を識別するデータが追加されることになる。   Although the case where there is no branching in the file update has been described in the above example, the same applies to the branching update generally used in the version management system. In this case, a branch name or the like is added to the update start request, and data for identifying the branch is also added to the data stored in the data storage devices 111 and 121.

されに以上の例では簡略化のためにデータのバックアップは1つのデータごとに行っているが、通信回数の削減のために一度に複数のファイルについてバックアップすることも考えられる。   In the above example, for simplification, data is backed up for each piece of data, but it is also conceivable to back up a plurality of files at a time to reduce the number of communications.

また、バックアップデータの暗号化のための鍵の管理や暗号化機能はICカードなどのセキュリティが高いデバイスに格納することが望ましい。   Further, it is desirable to store a key management and encryption function for encrypting backup data in a high security device such as an IC card.

本発明に記載の方法によれば携帯電話、パソコン等に分散したデータをデータの守秘性を保持したままいつでもどこからでもバックアップするサービスを実現することが可能になる。   According to the method described in the present invention, it is possible to realize a service for backing up data distributed to a mobile phone, a personal computer, etc. anytime and anywhere while maintaining the confidentiality of the data.

本発明の一実施例におけるシステム構成図であるIt is a system configuration figure in one example of the present invention. 本発明の一実施例におけるバックアップ処理フローであるIt is the backup processing flow in one Example of this invention. 本発明の一実施例におけるバックアップ初期登録時の詳細処理フローであるIt is a detailed processing flow at the time of backup initial registration in one embodiment of the present invention. 本発明の一実施例における差分バックアップ時の詳細処理フローであるIt is a detailed processing flow at the time of differential backup in one Example of this invention. 本発明の一実施例におけるバックアップ不要時の詳細処理フローであるIt is a detailed processing flow when backup is unnecessary in an embodiment of the present invention. 本発明の一実施例においてバックアップサーバが保持するデータ項目を表した図であるIt is a figure showing the data item which a backup server hold | maintains in one Example of this invention. 本発明の一実施例におけるバックアップ時のクライアントの処理フローである4 is a processing flow of a client at the time of backup in one embodiment of the present invention. 本発明の一実施例におけるサーバ間同期の処理フローであるIt is a processing flow of the synchronization between servers in one Example of this invention. 本発明の一実施例におけるサーバ間同期時の過不足判断の処理を表した図であるIt is a figure showing the process of the excess and deficiency determination at the time of the synchronization between servers in one Example of this invention. 本発明の一実施例におけるサーバ間同期時の過不足判断の処理の別の方式を表した図である。It is a figure showing another system of the process of the excess and deficiency judgment at the time of the synchronization between servers in one Example of this invention.

符号の説明Explanation of symbols

110、120…バックアップサーバ 130,140…クライアント 111、121、131、141…データ格納装置 132、142…演算装置 150、160、170…ネットワーク 610…最終更新日時 620…前回バックアップ日時 630…サイズ 640…データ 650…シグニチャ 110, 120 ... backup server 130, 140 ... client 111, 121, 131, 141 ... data storage device 132, 142 ... computing device 150, 160, 170 ... network 610 ... last update date / time 620 ... last backup date / time 630 ... size 640 ... Data 650 ... Signature

Claims (7)

バックアップサーバと一つ以上のクライアントがネットワークを経由して接続されており、クライアントデータを暗号化した状態で前記バックアップサーバに送信し、暗号化されたままバックアップする方法において、
クライアントはバックアップするデータを表す識別子と、前記データのバージョンを示す情報を前記バックアップサーバに送信し、
前記バックアップサーバは前記受信したバージョンを示す情報と現在バックアップサーバ内に格納されているデータのバージョンを比較し、
バックアップサーバ内に該当データがバックアップされていない場合には、前記クライアントに初回登録要求を送信し、
前記初回登録要求を受信したクライアントは前記バックアップするデータを暗号化し、前記バックアップするデータの差分計算に用いる特徴値を演算処理部により計算し、前記暗号化されたデータと前記特徴値をバックアップサーバに送信し、バックアップサーバは前記受信したバージョン情報と前記暗号化されたデータと前記特徴値を格納し、
バックアップサーバ内に該当データがバックアップされており、前記受信したバージョン情報より古い場合には、前記クライアントにバックアップされている差分計算に用いる特徴値を送信し、
前記クライアントは前記受信した特徴値を元に差分を計算し、前記差分を暗号化するとともに、前記バックアップするデータの差分計算に用いる特徴値を演算処理部により計算し、前記暗号化された差分データと前記特徴値をバックアップサーバに送信し、バックアップサーバは前記受信したバージョン情報と前記暗号化された差分データと前記特徴値を格納し、
バックアップサーバ内の該当データが前記受信したバージョン情報と等しい場合には、前記クライアントに更新不要通知を送信する、
ことを特徴とする暗号化バックアップ方法。
In a method in which a backup server and one or more clients are connected via a network, the client data is transmitted to the backup server in an encrypted state, and the encrypted data is backed up.
The client sends an identifier indicating data to be backed up and information indicating the version of the data to the backup server,
The backup server compares the information indicating the received version with the version of the data currently stored in the backup server,
If the corresponding data is not backed up in the backup server, send an initial registration request to the client,
The client that has received the initial registration request encrypts the data to be backed up, calculates a feature value to be used for calculating the difference between the data to be backed up, and calculates the encrypted data and the feature value to the backup server. The backup server stores the received version information, the encrypted data, and the feature value;
If the corresponding data is backed up in the backup server and is older than the received version information, the feature value used for the difference calculation backed up to the client is transmitted,
The client calculates a difference based on the received feature value, encrypts the difference, calculates a feature value used for difference calculation of the data to be backed up by an arithmetic processing unit, and the encrypted difference data And the feature value to the backup server, the backup server stores the received version information, the encrypted difference data, and the feature value,
When the corresponding data in the backup server is equal to the received version information, an update unnecessary notification is transmitted to the client.
An encryption backup method characterized by the above.
通信手段と演算手段を備え、前記通信手段を通じてバックアップサーバと通信可能なクライアント装置において、
バックアップするデータの識別子とバージョン情報を送信する機能と、
前記バックアップサーバからの応答を受信する機能と、
前記応答が初回登録要求だった場合には、前記バックアップするデータを暗号化し、前記バックアップするデータの差分を計算するための特徴値を計算し、前記暗号化したデータと前記特徴値を前記バックアップサーバに送信する機能と、
前記バックアップサーバからの応答が差分計算のための特徴値を含む更新要求の場合には、前記受信した特徴値を元に前記バックアップするデータの差分を計算し、暗号化し、前記バックアップするデータの差分を計算するための特徴値を計算し、前記暗号化した差分データと前記特徴値を前記バックアップサーバに送信する機能と、
前記バックアップサーバからの応答が更新不要通知だった場合には、バックアップ処理を終了する機能と、
を有することを特徴とするクライアント装置。
In a client device comprising a communication means and a calculation means, and capable of communicating with a backup server through the communication means,
A function to send the identifier and version information of the data to be backed up
A function of receiving a response from the backup server;
When the response is an initial registration request, the backup data is encrypted, a feature value for calculating a difference between the backup data is calculated, and the encrypted data and the feature value are stored in the backup server. With the ability to send to
If the response from the backup server is an update request including a feature value for difference calculation, the difference of the data to be backed up is calculated based on the received feature value, encrypted, and the difference of the data to be backed up A feature value for calculating the function, and the function of transmitting the encrypted difference data and the feature value to the backup server;
When the response from the backup server is an update unnecessary notification, a function to end the backup process;
A client device comprising:
前記バージョン情報としてデータの更新日時を利用することを特徴とした請求項2に記載のクライアント装置。   The client apparatus according to claim 2, wherein an update date of data is used as the version information. 前記差分のための特徴値が暗号化されていることを特徴とした請求項2乃至3に記載のクライアント装置。   The client apparatus according to claim 2, wherein the feature value for the difference is encrypted. 暗号化のために分離可能デバイスを用いることを特徴とした請求項2乃至4に記載のクライアント装置。   5. The client apparatus according to claim 2, wherein a separable device is used for encryption. 通信手段と演算手段とデータ格納手段を備え、前記通信手段を通じてクライアントと通信可能なバックアップサーバにおいて、
データの識別子とバージョン情報を受信する機能と、
前記受信した識別子を元にデータ格納手段を検索し、データ格納手段に前記識別しに該当するデータが存在しない場合には初期登録要求を送信するステップと、暗号化データと特徴値を受信するステップと、前記受信した識別子とバージョン情報と暗号化データと特徴値を一緒に前記データ格納手段に格納する機能と、
前記受信した識別子に該当するデータが存在する場合には、該当するデータのバーン情報と前記受信したバージョン情報を比較し、前記受信したバージョン情報のほうが新しい場合には、前記検索したレコード内の特徴値を送信するステップと、暗号差分データと特徴値を受信するステップと、前記受信した識別子とバージョン情報と暗号化差分データと特徴値を一緒に前記データ格納手段に格納する機能と、
前記受信した識別しに該当するデータが存在し、該当するデータのバージョン情報が前記受診したバージョン情報と等しいか新しい場合には、更新不要通知を送信する機能と、
を有することを特徴とするバックアップサーバ。
In a backup server comprising communication means, calculation means and data storage means, and capable of communicating with a client through the communication means,
The ability to receive data identifiers and version information;
Searching the data storage means based on the received identifier, and transmitting the initial registration request when the data corresponding to the identification does not exist in the data storage means; and receiving the encrypted data and the characteristic value A function for storing the received identifier, version information, encrypted data, and feature value together in the data storage means;
When there is data corresponding to the received identifier, the burn information of the corresponding data is compared with the received version information, and when the received version information is newer, the feature in the searched record A step of transmitting a value; a step of receiving encrypted differential data and a characteristic value; a function of storing the received identifier, version information, encrypted differential data, and characteristic value together in the data storage means;
When there is data corresponding to the received identification, and the version information of the corresponding data is equal to or newer than the version information received, a function of sending an update unnecessary notification;
A backup server characterized by comprising:
通信手段とデータ格納手段と演算手段を有す第一のバックアップサーバと、
通信手段とデータ格納手段と演算手段を有す第二のバックアップサーバとが、
ネットワークで接続されているシステムにおいて
前記第一、第二のバックアップサーバのデータ格納手段には、少なくともデータを表す識別子と、バージョン情報と、暗号化されたデータまたは暗号化された差分データと、差分計算のための特徴値からなるレコードが複数存在し、
前記第一のバックアップサーバが、前記第一のデータ格納手段内に存在する、同期するデータの識別子に関するバージョン番号のリストを送信するステップと、
前記第二のバックアップサーバが前記バージョン番号のリストを受信するステップと、
前記第二のバックアップサーバが前記受信したバージョン番号のリストと、概データの識別子に関する前記第二のデータ格納手段に存在するバージョン番号のリストとを比較するステップと、
前記第二のバックアップサーバが前記比較結果に基づき必要なレコードを送信するステップと、前記第二のバックアップサーバが前記比較結果に基づき必要なレコードを要求するステップと、
前記第一のバックアップサーバは前記受信したレコードによってデータを更新するステップと、
前記第一のバックアップサーバは前記受信したレコード要求に応じたレコードを送信するステップと、
前記第二のバックアップサーバは前記受信したレコードを元にデータを更新するステップと
を有するバックアップサーバの同期処理機能を有することを特徴とするバックアップシステム。
A first backup server having communication means, data storage means and calculation means;
A second backup server having communication means, data storage means and calculation means,
In a system connected by a network, the data storage means of the first and second backup servers include at least an identifier representing data, version information, encrypted data or encrypted differential data, and differential There are multiple records consisting of feature values for calculation,
Said first backup server transmitting a list of version numbers relating to identifiers of data to be synchronized, present in said first data storage means;
The second backup server receiving the list of version numbers;
The second backup server comparing the received list of version numbers with a list of version numbers present in the second data storage means relating to an identifier of approximate data;
The second backup server transmitting a necessary record based on the comparison result; and the second backup server requesting a necessary record based on the comparison result;
The first backup server updates data with the received record;
The first backup server transmits a record according to the received record request;
The second backup server has a backup server synchronization processing function including a step of updating data based on the received record.
JP2004113728A 2004-04-08 2004-04-08 Backup method and system Pending JP2005301464A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004113728A JP2005301464A (en) 2004-04-08 2004-04-08 Backup method and system
PCT/JP2004/019634 WO2005101209A1 (en) 2004-04-08 2004-12-28 Backup method and backup system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004113728A JP2005301464A (en) 2004-04-08 2004-04-08 Backup method and system

Publications (1)

Publication Number Publication Date
JP2005301464A true JP2005301464A (en) 2005-10-27

Family

ID=35150173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004113728A Pending JP2005301464A (en) 2004-04-08 2004-04-08 Backup method and system

Country Status (2)

Country Link
JP (1) JP2005301464A (en)
WO (1) WO2005101209A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181308A (en) * 2008-01-30 2009-08-13 Hamamatsu Photonics Kk Storage system
JP2010067055A (en) * 2008-09-11 2010-03-25 Ri Co Ltd Backup program
WO2010114777A3 (en) * 2009-04-03 2011-02-03 Microsoft Corporation Differential file and system restores from peers and the cloud
CN102609333A (en) * 2011-11-25 2012-07-25 无锡华御信息技术有限公司 System and method for ensuring file backup integrity in encrypted environment
JP5029685B2 (en) * 2007-02-28 2012-09-19 富士通株式会社 Backup device
JP2014089685A (en) * 2012-10-29 2014-05-15 Walton Advanced Engineering Inc Data sharing system having safety and execution method
JP6152504B1 (en) * 2016-08-22 2017-06-21 楽天株式会社 Management system, management apparatus, management method, program, and non-transitory computer-readable information recording medium
WO2018042469A1 (en) * 2016-09-05 2018-03-08 Hitachi, Ltd. Information processing system
KR102307363B1 (en) * 2020-10-28 2021-09-30 주식회사 스파이스웨어 Method and device for encryption and decrytion using signature code based on deep learning
WO2023048344A1 (en) * 2021-09-24 2023-03-30 주식회사 스파이스웨어 Artificial intelligence post-quantum cryptography method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146810A (en) * 1993-09-27 1995-06-06 Toshiba Corp Computer system
ATE204089T1 (en) * 1994-01-03 2001-08-15 Norton Lambert Corp DATA TRANSMISSION METHOD AND APPARATUS USING HASH NUMBERS
US5765173A (en) * 1996-01-11 1998-06-09 Connected Corporation High performance backup via selective file saving which can perform incremental backups and exclude files and uses a changed block signature list
JP3654795B2 (en) * 1999-07-15 2005-06-02 日本電信電話株式会社 File encryption backup method and system apparatus

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5029685B2 (en) * 2007-02-28 2012-09-19 富士通株式会社 Backup device
JP2009181308A (en) * 2008-01-30 2009-08-13 Hamamatsu Photonics Kk Storage system
JP2010067055A (en) * 2008-09-11 2010-03-25 Ri Co Ltd Backup program
US8805953B2 (en) 2009-04-03 2014-08-12 Microsoft Corporation Differential file and system restores from peers and the cloud
WO2010114777A3 (en) * 2009-04-03 2011-02-03 Microsoft Corporation Differential file and system restores from peers and the cloud
CN102609333A (en) * 2011-11-25 2012-07-25 无锡华御信息技术有限公司 System and method for ensuring file backup integrity in encrypted environment
JP2014089685A (en) * 2012-10-29 2014-05-15 Walton Advanced Engineering Inc Data sharing system having safety and execution method
JP6152504B1 (en) * 2016-08-22 2017-06-21 楽天株式会社 Management system, management apparatus, management method, program, and non-transitory computer-readable information recording medium
WO2018037439A1 (en) * 2016-08-22 2018-03-01 楽天株式会社 Management system, management device, management method, program, and non-transitory computer-readable information recording medium
WO2018042469A1 (en) * 2016-09-05 2018-03-08 Hitachi, Ltd. Information processing system
KR102307363B1 (en) * 2020-10-28 2021-09-30 주식회사 스파이스웨어 Method and device for encryption and decrytion using signature code based on deep learning
WO2022092345A1 (en) * 2020-10-28 2022-05-05 주식회사 스파이스웨어 Deep-learning-based encryption and decryption method and apparatus using signature code
WO2023048344A1 (en) * 2021-09-24 2023-03-30 주식회사 스파이스웨어 Artificial intelligence post-quantum cryptography method and device
KR20230043393A (en) * 2021-09-24 2023-03-31 주식회사 스파이스웨어 Method and Apparatus for Data encryption using Artificial Intelligence-based Post-Quantum Cryptography in Cloud Environment
KR102525749B1 (en) 2021-09-24 2023-04-26 주식회사 스파이스웨어 Method and Apparatus for Artificial Intelligence Post-Quantum Cryptography

Also Published As

Publication number Publication date
WO2005101209A1 (en) 2005-10-27

Similar Documents

Publication Publication Date Title
CN111104386B (en) File storage method, terminal and storage medium
EP1938192B1 (en) Peer-to-peer distributed backup system for mobile devices
Batten et al. pStore: A secure peer-to-peer backup system
US6694335B1 (en) Method, computer readable medium, and system for monitoring the state of a collection of resources
US8885832B2 (en) Secure peer-to-peer distribution of an updatable keyring
US20070168721A1 (en) Method, network entity, system, electronic device and computer program product for backup and restore provisioning
US20150293985A1 (en) Distribution and synchronization of digital objects
US20050015461A1 (en) Distributed file system
US20060130045A1 (en) Systems and methods for dynamically updating computer systems
EP2852093B1 (en) Method, system, and device for sharing documents
US7584196B2 (en) Systems and methods for remote storage of electronic data
JP2006319811A (en) Data backup system
US9390101B1 (en) Social deduplication using trust networks
JP2005301464A (en) Backup method and system
JP2019079280A (en) File verification device, file transfer system and program
JP2000200208A (en) Method and device for file backup, and program recording medium
CN114466015A (en) Data storage system and method based on multi-cloud architecture
US20050138082A1 (en) Method, data transfer arrangement, server and terminal device for updating information in a terminal device
WO2013065545A1 (en) Data sharing system
KR101638689B1 (en) System and method for providing client terminal to user customized synchronization service
WO2016132546A1 (en) Data storage device, data processing method, and data processing program
KR20080049455A (en) Data synchronization system
JP2008225740A (en) Information processor and information processing method
CN111565144A (en) Data layered storage management method for instant communication tool
EP1387296A1 (en) Distributed file system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424