JP2015148907A - data storage device, method, and program - Google Patents
data storage device, method, and program Download PDFInfo
- Publication number
- JP2015148907A JP2015148907A JP2014020802A JP2014020802A JP2015148907A JP 2015148907 A JP2015148907 A JP 2015148907A JP 2014020802 A JP2014020802 A JP 2014020802A JP 2014020802 A JP2014020802 A JP 2014020802A JP 2015148907 A JP2015148907 A JP 2015148907A
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- aont
- blocks
- storage device
- 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.)
- Granted
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000012217 deletion Methods 0.000 claims description 15
- 230000037430 deletion Effects 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Abstract
Description
本発明は、データ保存装置、方法及びプログラムに関する。 The present invention relates to a data storage device, method, and program.
従来より、サーバ側に保管されているデータの完全性や、サーバ側の処理の完全性を保証する技術は、提案されていた(例えば、非特許文献1)。このようなデータの完全性を保証する技術では、一般的に、保管するデータを符号化することによってデータに冗長性を持たせる。データに冗長性を持たせると、保管されているデータの一部を変更する場合でも大部分を変更する必要がある。このような技術によって、サーバ側がクライアントに無断でデータを変更しようとしてもできないようにしている。 Conventionally, a technique for guaranteeing the integrity of data stored on the server side and the integrity of processing on the server side has been proposed (for example, Non-Patent Document 1). In such a technique for guaranteeing data integrity, data is generally made redundant by encoding data to be stored. If redundancy is given to data, even if a part of stored data is changed, most of the data needs to be changed. Such a technique prevents the server from trying to change data without the permission of the client.
しかしながら、上述の手法では、サーバがデータを正しく保持していることを保証可能であるが、利用者が不要となったデータを削除しても、そのデータが正しく削除されたかどうかを保証することはできない。また、無断でデータがコピーされていた場合、コピーされたデータを保護することはできない。
例えば、パブリッククラウドなどの環境では不正利用者や内部不正者が存在する可能性がある。不正利用者が存在する場合、保管されているデータを無断でコピーし、別のサーバに蓄積するといったことが考えられる。データが無断で他のサーバに蓄積されている場合、利用者がクラウドサービスに保管しているデータを削除したとしても、不正利用者が保管しているデータを削除することは不可能である。また、利用者がデータを暗号化していたとしても、不正利用者が何らかの手法で秘密鍵を入手したり、暗号に対する脆弱性を利用して元のデータを復元すれば、既に削除したはずのデータを攻撃者が入手できる可能性がある。
However, with the method described above, it is possible to guarantee that the server holds the data correctly, but even if the user deletes data that is no longer needed, it ensures that the data was deleted correctly. I can't. In addition, when data is copied without permission, the copied data cannot be protected.
For example, in an environment such as a public cloud, there may be an unauthorized user or an internal unauthorized person. If there are unauthorized users, the stored data can be copied without permission and stored on another server. When data is stored in another server without permission, even if a user deletes data stored in a cloud service, it is impossible to delete data stored by an unauthorized user. Even if the user encrypts the data, if the unauthorized user obtains the secret key by some method or restores the original data using the vulnerability to encryption, the data that should have been deleted May be available to attackers.
このような、従来技術の問題点を解決する装置が望まれている。すなわち、データがサーバから不正利用者によってコピーされたとしても元のデータが取得されないようにすると共に、データがサーバによって正しく削除されなくても元のデータが復元されないようにする装置が望まれている。 Such an apparatus that solves the problems of the prior art is desired. In other words, there is a need for an apparatus that prevents original data from being acquired even if the data is copied from a server by an unauthorized user, and prevents original data from being restored even if the data is not properly deleted by the server. Yes.
本発明は、データがサーバから不正利用者によってコピーされたとしても元のデータが取得されないようにすると共に、データがサーバによって正しく削除されなくても元のデータが復元されないようにするデータ保存装置、方法及びプログラムを提供することを目的とする。 The present invention provides a data storage device that prevents original data from being acquired even if the data is copied from a server by an unauthorized user, and prevents original data from being restored even if the data is not properly deleted by the server. It is an object to provide a method and a program.
具体的には、以下のような解決手段を提供する。
(1) ユーザ端末からのデータをインターネットを介してクラウドサーバに保存するデータ保存装置であって、前記ユーザ端末から前記データを受け付けるデータ受付手段と、前記データ受付手段によって受け付けられた前記データを、AONTアルゴリズムによってn個のブロックから構成されるAONTブロックに変換するデータ変換手段と、前記データ変換手段によって変換された前記AONTブロックを構成する前記ブロックのうち少なくとも1つの前記ブロックと、他の前記ブロックとを分離させて保存する保存手段と、前記保存手段によって分離されて保存された前記ブロックに基づいて前記データを復元するデータ復元手段と、前記保存手段によって分離されて保存された前記データを削除するデータ削除手段と、を備えるデータ保存装置。
Specifically, the following solutions are provided.
(1) A data storage device that stores data from a user terminal in a cloud server via the Internet, the data receiving unit receiving the data from the user terminal, and the data received by the data receiving unit, Data conversion means for converting to an AONT block composed of n blocks by an AONT algorithm, at least one of the blocks constituting the AONT block converted by the data conversion means, and the other blocks A storage means for separating and storing the data, a data restoring means for restoring the data based on the blocks separated and stored by the storage means, and deleting the data separated and stored by the storage means Data deletion means for Data storage device.
(1)の構成によれば、本発明に係るデータ保存装置は、ユーザ端末からデータを受け付け、受け付けたデータを、AONT(all or nothing transform)アルゴリズムによってn個のブロックから構成されるAONTブロックに変換し、変換したAONTブロックを構成するブロックのうち少なくとも1つのブロックと、他のブロックとを分離させて保存し、分離させて保存したブロックに基づいてデータを復元し、分離させて保存したデータを削除する。 According to the configuration of (1), the data storage device according to the present invention receives data from a user terminal, and converts the received data into an AONT block composed of n blocks by an AONT (all or notifying transform) algorithm. Data that has been converted, and at least one of the blocks constituting the converted AONT block and other blocks are separated and saved, data is restored based on the separated and saved blocks, and the separated and saved data Is deleted.
すなわち、本発明に係るデータ保存装置は、受け付けたデータをAONTブロックに変換し、変換したAONTブロックを構成するブロックのうち少なくとも1つのブロックと、他のブロックとを分離させて保存する。
したがって、本発明に係るデータ保存装置は、AONTブロックとして一体化させたデータのうち一部を分離させているので、データがサーバから不正利用者によってコピーされたとしても元のデータが取得されないようにすることが確実にできると共に、データがサーバによって正しく削除されなくても元のデータが復元されないようにすることが確実にできる。
That is, the data storage device according to the present invention converts received data into an AONT block, and separates and stores at least one block among the blocks constituting the converted AONT block.
Therefore, since the data storage device according to the present invention separates a part of the data integrated as an AONT block, even if the data is copied from the server by an unauthorized user, the original data is not acquired. And can ensure that the original data is not restored if the data is not properly deleted by the server.
(2) 前記ブロックを記憶するブロック記憶手段をさらに備え、前記保存手段は、前記少なくとも1つの前記ブロックを前記ブロック記憶手段に保存すると共に、前記他の前記ブロックを前記クラウドサーバに保存し、前記データ削除手段は、前記ブロック記憶手段に保存した前記少なくとも1つの前記ブロックを削除することによってデータを削除する、(1)に記載のデータ保存装置。 (2) further comprising block storage means for storing the block, wherein the storage means stores the at least one block in the block storage means, and stores the other block in the cloud server; The data storage device according to (1), wherein the data deletion unit deletes the data by deleting the at least one block stored in the block storage unit.
したがって、(2)に係るデータ保存装置は、AONTブロックとして一体化したデータのうち一部をデータ保存装置のブロック記憶手段に保存させているので、データがサーバから不正利用者によってコピーされたとしても元のデータが取得されないようにさらに確実にすることができると共に、データがサーバによって正しく削除されなくても、ブロック記憶手段に保存した一部のデータを削除することによって元のデータが復元されないようにさらに確実にすることができる。 Therefore, since the data storage device according to (2) stores a part of the data integrated as an AONT block in the block storage means of the data storage device, it is assumed that the data is copied from the server by an unauthorized user. Can be further ensured that the original data is not acquired, and even if the data is not deleted properly by the server, the original data is not restored by deleting some data stored in the block storage means Can be further ensured.
(3) 前記データ変換手段は、前記データを分割するデータ分割手段をさらに備え、前記データ分割手段は、前記データをk個のグループに分割し、前記データ変換手段は、前記データ分割手段によって分割された前記グループごとを、前記AONTブロックに変換し、前記保存手段は、前記グループごとに、少なくとも1個の前記ブロックを前記ブロック記憶手段に保存すると共に、他の前記ブロックを前記クラウドサーバに保存する、(2)に記載のデータ保存装置。 (3) The data conversion means further includes data division means for dividing the data, the data division means divides the data into k groups, and the data conversion means is divided by the data division means. The group is converted into the AONT block, and the storage unit stores at least one block in the block storage unit and stores the other block in the cloud server for each group. The data storage device according to (2).
すなわち、(3)に係るデータ保存装置は、データをグループに分割し、分割したグループごとにAONTブロックとして一体化させているので、データの更新の場合にオーバヘッドを少なくして、AONTブロックとしてアクセスするデータ量を少なくすることができる。
したがって、(3)に係るデータ保存装置は、データがサーバから不正利用者によってコピーされたり、データがサーバによって正しく削除されなくても、元のデータが復元されないようにすることができると共に、アクセスに必要なデータ量を少なくしかつ高速でデータにアクセスできるようにすることができる。
That is, the data storage device according to (3) divides the data into groups and integrates the divided groups as AONT blocks, so that when updating data, the overhead is reduced and the data is accessed as AONT blocks. The amount of data to be reduced can be reduced.
Therefore, the data storage device according to (3) can prevent the original data from being restored even if the data is copied from the server by an unauthorized user or the data is not properly deleted by the server. Therefore, it is possible to reduce the amount of data required for data access and to access the data at high speed.
(4) 前記データ分割手段は、k個のグループであってそれぞれの前記グループが所定の配列によって構成される前記グループに分割し、前記データ変換手段は、前記データ分割手段によって分割されたそれぞれの前記グループにおいて同じ配列位置に配置されたk個のデータを、前記AONTアルゴリズムによってk個のブロックから構成されるAONTブロックに変換し、前記保存手段は、前記AONTブロックごとの少なくとも1個のブロックを前記ブロック記憶手段に保存すると共に、他の前記ブロックを前記クラウドサーバに保存する、(3)に記載のデータ保存装置。 (4) The data dividing means divides the data into k groups, and each of the groups is configured by a predetermined arrangement, and the data converting means is divided into the groups divided by the data dividing means. The k data arranged in the same array position in the group is converted into an AONT block composed of k blocks by the AONT algorithm, and the storage means converts at least one block for each AONT block. The data storage device according to (3), wherein the data is stored in the block storage unit and the other block is stored in the cloud server.
すなわち、(4)に係るデータ保存装置は、データを所定の配列によって構成されるグループに分割し、分割したそれぞれのグループにおいて同じ配列位置に配置されたk個のデータをAONTブロックとして一体化させているので、データの更新の場合に、AONTブロックとしてアクセスするデータ量をさらに少なくすることができる。
したがって、(4)に係るデータ保存装置は、データがサーバから不正利用者によってコピーされたり、データがサーバによって正しく削除されなくても、元のデータが復元されないようにすることができると共に、アクセスに必要なデータ量をさらに少なくしかつ高速でデータにアクセスできるようにすることができる。
That is, the data storage device according to (4) divides the data into groups constituted by a predetermined arrangement, and integrates k pieces of data arranged at the same arrangement position in each divided group as an AONT block. Therefore, when updating data, the amount of data accessed as an AONT block can be further reduced.
Therefore, the data storage device according to (4) can prevent the original data from being restored even if the data is copied from the server by an unauthorized user or the data is not properly deleted by the server. Therefore, it is possible to further reduce the amount of data required for the access and to access the data at high speed.
(5) 前記データ変換手段は、前記データを分割するデータ分割手段をさらに備え、前記データ分割手段は、前記データをk個のグループに分割し、前記データ変換手段は、前記データ分割手段によって分割された前記グループごとを、前記AONTブロックに変換し、前記保存手段は、それぞれの前記AONTブロックを構成する前記ブロックを分離させて、秘密の関数を用いて互いに混在させて保存し、前記データ削除手段は、前記秘密の関数を削除することによってデータを削除する、(1)に記載のデータ保存装置。 (5) The data conversion means further includes data division means for dividing the data, the data division means divides the data into k groups, and the data conversion means is divided by the data division means. The group is converted into the AONT block, and the storage means separates the blocks constituting each AONT block, stores them in a mixed manner using a secret function, and deletes the data. The data storage device according to (1), wherein the means deletes the data by deleting the secret function.
すなわち、(5)に係るデータ保存装置は、データをグループに分割し、分割したグループごとにAONTブロックとして一体化させ、一体化させたそれぞれのAONTブロックを構成するブロックを分離させて、秘密の関数に基づいて互いに混在させて保存する。
したがって、(5)に係るデータ保存装置は、AONTブロックを構成するブロックを秘密の関数を用いて互いに混在させて保存することによって、データがサーバから不正利用者によってコピーされたとしても元のデータが取得されないようにすることができると共に、データがサーバによって正しく削除されなくても、秘密の関数を削除することによって元のデータが復元されないようにすることができる。
That is, the data storage device according to (5) divides the data into groups, integrates the divided groups as AONT blocks, separates the blocks constituting each integrated AONT block, and Based on the function, it is mixed and saved.
Therefore, the data storage device according to (5) stores the blocks constituting the AONT block in a mixed manner using a secret function, so that even if the data is copied from the server by an unauthorized user, the original data Can be prevented from being obtained, and even if the data is not properly deleted by the server, the original data is not restored by deleting the secret function.
(6) (1)に記載のデータ保存装置が実行する方法であって、前記データ受付手段が、前記ユーザ端末から前記データを受け付けるデータ受付ステップと、前記データ変換手段が、前記データ受付ステップによって受け付けられた前記データを、AONTアルゴリズムによってn個のブロックから構成されるAONTブロックに変換するデータ変換ステップと、前記保存手段が、前記データ変換ステップによって変換された前記AONTブロックを構成する前記ブロックのうち少なくとも1つの前記ブロックと、他の前記ブロックとを分離させて保存する保存ステップと、前記データ復元手段が、前記保存ステップによって分離されて保存された前記ブロックに基づいて前記データを復元するデータ復元ステップと、前記データ削除手段が、前記保存ステップによって分離されて保存された前記データを削除するデータ削除ステップと、を備える方法。 (6) A method executed by the data storage device according to (1), wherein the data receiving unit receives the data from the user terminal, and the data converting unit includes the data receiving step. A data conversion step of converting the received data into an AONT block composed of n blocks by an AONT algorithm, and the storage means of the blocks constituting the AONT block converted by the data conversion step A storage step for separating and storing at least one of the blocks and the other block, and data for restoring the data on the basis of the block separated and saved by the storage step by the data restoration means A restoring step and the data deleting means; The method of and a data deleting step for deleting the data stored being separated by said storing step.
したがって、本発明に係る方法は、データがサーバから不正利用者によってコピーされたとしても元のデータが取得されないようにすることができると共に、データがサーバによって正しく削除されなくても元のデータが復元されないようにすることができる。 Therefore, the method according to the present invention can prevent the original data from being obtained even if the data is copied from the server by an unauthorized user, and the original data is not deleted even if the data is not properly deleted by the server. It can be prevented from being restored.
(7) コンピュータに、(6)に記載の方法の各ステップを実行させるためのプログラム。 (7) A program for causing a computer to execute each step of the method according to (6).
したがって、本発明に係るプログラムは、コンピュータに、データがサーバから不正利用者によってコピーされたとしても元のデータが取得されないようにさせることができると共に、データがサーバによって正しく削除されなくても元のデータが復元されないようにさせることができる。 Therefore, the program according to the present invention can cause the computer to prevent the original data from being acquired even if the data is copied from the server by an unauthorized user, and even if the data is not correctly deleted by the server. Data can be prevented from being restored.
本発明によれば、データがサーバから不正利用者によってコピーされたとしても元のデータが取得されないようにすると共に、データがサーバによって正しく削除されなくても元のデータが復元されないようにすることができる。
本発明によって、クラウド内の内部不正者などが不正にデータをコピーしていたとしても、利用者が削除処理を行うとデータの復元が不可能になることを保証できる。本発明を適用すれば、クラウドの信頼性を向上することができる。
According to the present invention, even if data is copied from a server by an unauthorized user, the original data is not acquired, and the original data is not restored even if the data is not properly deleted by the server. Can do.
According to the present invention, even if an internal unauthorized person or the like in the cloud illegally copies data, it can be guaranteed that the data cannot be restored if the user performs a deletion process. If the present invention is applied, the reliability of the cloud can be improved.
[第1実施形態]
以下、本発明の実施形態について、図を参照しながら説明する。図1は、本発明の第1実施形態に係るデータ保存装置10の構成を示す図である。
データ保存装置10は、ユーザ端末50からのデータをインターネット70を介してクラウドサーバ30に保存する装置であって、データ受付手段11と、データ変換手段12と、保存手段13と、データ復元手段14と、データ削除手段15と、ブロック記憶手段20とを備える。
第1実施形態では、データ保存装置10は、AONTブロックを構成するブロックを分離させて、ブロック記憶手段20とクラウドサーバ30とに保存する。手段ごとに説明する。
[First Embodiment]
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a configuration of a
The
In the first embodiment, the
データ受付手段11は、ユーザ端末50からデータを受け付ける。
The
データ変換手段12は、データ受付手段11によって受け付けられたデータを、AONTアルゴリズムによってn個のブロックから構成されるAONTブロックに変換する。
なお、データ変換手段12は、データを暗号化し、暗号化したデータをAONTブロックに変換するとしてもよい。
The
The data conversion means 12 may encrypt the data and convert the encrypted data into an AONT block.
AONTアルゴリズムは、データを複数のブロックに変換する。その際、AONTアルゴリズムは、そのデータを読み/書きする際には全てのブロックに対してアクセスが必要となるように変換する。この変換によって、変換されたブロックのうち1つのブロックでも削除されれば残りのブロックを全て入手したとしても元のデータを復元することは不可能になる。 The AONT algorithm converts data into a plurality of blocks. At this time, the AONT algorithm performs conversion so that access is required to all blocks when reading / writing the data. If one of the converted blocks is deleted by this conversion, the original data cannot be restored even if all the remaining blocks are obtained.
保存手段13は、データ変換手段12によって変換されたAONTブロックを構成するブロックのうち少なくとも1つのブロックと、他のブロックとを分離させて保存する。
The
例えば、保存手段13は、少なくとも1つのブロックをブロック記憶手段20に保存すると共に、他のブロックをクラウドサーバ30に保存することによって分離させて保存する(後述する図3参照)。なお、保存手段13は、少なくとも1つのブロックをユーザ端末50に保存すると共に、他のブロックをクラウドサーバ30に保存することによって分離させて保存するとしてもよい。
データ復元手段14は、保存手段13によって分離されて保存されたブロック、すなわち全てのブロック、に基づいてデータを復元する。
データ削除手段15は、保存手段13によって分離されて保存されたデータ、例えば、ブロック記憶手段20に保存されたブロックを削除する。すなわち、データ削除手段15は、AONTブロックのうちの少なくとも1つのブロックを削除することによってデータを復元できない状態にする。なお、保存手段13によって少なくとも1つのブロックがユーザ端末50に保存されている場合、データ削除手段15は、ユーザ端末50内のブロックを削除する。もしくは、ユーザ端末50がユーザ端末50内のブロックをローカルで削除してもよい。
For example, the
The
The
さらに、データ変換手段12が、データを分割するデータ分割手段121を備える場合について、説明する。
データ分割手段121は、データをk個のグループに分割する。kの値は、例えば、ユーザによって適切な値が設定されるとしてもよい。また、kの値は、例えば、データがn個のブロックから構成される場合に、√nによって算出されるとしてもよい。
データ変換手段12は、データ分割手段121によって分割されたグループごとを、AONTブロックに変換し、保存手段13は、グループごとに、少なくとも1個のブロックをブロック記憶手段20に保存すると共に、他のブロックをクラウドサーバ30に保存する(後述する図4及び図5参照)。
データ削除手段15は、ブロック記憶手段20に保存した、k個のブロックを全て削除する。すなわち、この処理により、データ削除手段15は、それぞれのAONTブロックのうちの少なくとも1つのブロックを削除することによってそれぞれのAONTブロックを復元できない状態にする。
Furthermore, the case where the data conversion means 12 is provided with the data division means 121 which divides | segments data is demonstrated.
The data dividing unit 121 divides the data into k groups. As the value of k, for example, an appropriate value may be set by the user. Also, the value of k may be calculated by √n when the data is composed of n blocks, for example.
The
The
データ分割手段121は、k個のグループであってそれぞれのグループが所定の配列によって構成されるグループに分割してもよい。
データ変換手段12は、データ分割手段121によって分割されたそれぞれのグループにおいて同じ配列位置に配置されたk個のデータを、AONTアルゴリズムによってk個のブロックから構成されるAONTブロックに変換し、保存手段13は、AONTブロックごとの少なくとも1個のブロックをブロック記憶手段20に保存すると共に、他のブロックをクラウドサーバ30に保存する(後述する図6参照)。所定の配列は、1次元や、2次元(正方形の行列だけでなく長方形の行列でもよい)だけでなく、3次元的に配置されてもよい。
The data dividing unit 121 may divide the data into k groups, each group having a predetermined arrangement.
The data converting means 12 converts k data arranged at the same array position in each group divided by the data dividing means 121 into an AONT block composed of k blocks by the AONT algorithm, and saves the data. 13 stores at least one block for each AONT block in the
図2は、本発明の第1実施形態に係るデータ保存装置10の処理を示すフローチャートである。データ保存装置10は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、それぞれの制御部(例えば、CPU)が所定のソフトウェアに従い実行する処理である。図2(1)は、データ保存装置10のデータ保存処理を示すフローチャートである。
FIG. 2 is a flowchart showing processing of the
ステップS101において、CPU(データ受付手段11)は、データを受け付ける。
ステップS102において、CPU(データ分割手段121)は、ステップS101において受け付けたデータをグループに分割する。
ステップS103において、CPU(データ変換手段12)は、ステップS102において分割したデータを、分割したグループごとにAONTブロックに変換する。
ステップS104において、CPU(保存手段13)は、ステップS103において変換したAONTブロックごとの一部のブロックをブロック記憶手段20に保存し、他のブロックをクラウドサーバ30に保存する。すなわち、CPUは、一部のブロックをブロック記憶手段20に保存し、他のブロックをクラウドサーバ30に送信して保存させる。
In step S101, the CPU (data receiving unit 11) receives data.
In step S102, the CPU (data dividing unit 121) divides the data received in step S101 into groups.
In step S103, the CPU (data conversion unit 12) converts the data divided in step S102 into an AONT block for each divided group.
In step S <b> 104, the CPU (storage unit 13) stores some blocks for each AONT block converted in step S <b> 103 in the
図2(2)は、データ保存装置10のデータ削除処理を示すフローチャートである。
FIG. 2B is a flowchart showing the data deletion process of the
ステップS111において、CPU(データ削除手段15)は、AONTブロックのうちブロック記憶手段20に保存したブロックを削除する。なお、ブロックがユーザ端末50に保存されている場合、CPUは、ユーザ端末50内のブロックを削除する。もしくは、ユーザ端末50がユーザ端末50内のブロックをローカルで削除してもよい。
ステップS112において、CPU(データ削除手段15)は、AONTブロックのうち残りのブロックである他のブロックの削除をクラウドサーバ30に要求する。
In step S111, the CPU (data deletion unit 15) deletes the block saved in the
In step S <b> 112, the CPU (data deletion unit 15) requests the
図3は、本発明の第1実施形態に係るデータ保存装置10が保存するデータの例を示す図である。図3の例は、1つのファイルをAONTアルゴリズムを用いて32個のブロックから構成されるAONTブロック100に変換する例である。データ保存装置10は、AONTブロック100を構成するブロックのうち、例えばブロック番号1のブロックのみをブロック記憶手段20に保存し、ブロック番号2からブロック番号32のブロックをクラウドサーバ30に送信し、クラウドサーバ30が保管する。
不正利用者は、ブロック番号1に対してアクセスできないため、クラウドサーバ30に保管されているブロック番号2〜32の全てのブロックを用いて解析を行ったとしてもファイルに関する情報を得ることはできない。
ユーザがデータを削除する場合、データ保存装置10は、ブロック番号1のブロックのみを削除した後に、クラウドサーバ30に対して削除を要求する。ブロックの削除後であれば、攻撃者が元のデータを復元することは不可能である。
FIG. 3 is a diagram illustrating an example of data stored by the
Since the unauthorized user cannot access the
When the user deletes data, the
図4は、本発明の第1実施形態に係るデータ保存装置10が保存するデータの分割の例を示す図である。図4の例は、1つのファイルをn個のブロックから構成される1個のAONTブロックを作成するのではなく、1つのファイルをk個のグループに分割し、k個のAONTブロックを作成する例である。
図4が示すように、データ保存装置10は、例えば、4つのAONTブロック100,200,300,400を作成する。それぞれのAONTブロックは、AONTブロック100がブロック番号1〜8、AONTブロック200がブロック番号9〜16、AONTブロック300がブロック番号17〜24、AONTブロック400が、ブロック番号25〜32である。データ保存装置10は、ブロック記憶手段20にブロック番号1、ブロック番号9、ブロック番号17、ブロック番号25のブロックを保持し、残りのブロックをクラウドサーバに送信する。これによって保持するデータサイズは増加するが、読み書きに必要なアクセス数を32個のブロックから8個のブロックに削減することができ、高速化が可能である。
ユーザがデータを削除する場合、データ保存装置10は、ブロック番号1、ブロック番号9、ブロック番号17、ブロック番号25を削除した後に、クラウドサーバ30に対して削除を要求する。
FIG. 4 is a diagram illustrating an example of division of data stored by the
As shown in FIG. 4, the
When the user deletes data, the
図5は、本発明の第1実施形態に係るデータ保存装置10が保存するデータの分割の別の例を示す図である。図5の例は、1つのファイルを構成するn個のデータに基づいてAONTブロックを構成するブロック数を算出し、算出したブロック数のブロックを1個のAONTブロックとする例である。図5では、sqrt(n)個のブロックから構成されるAONTブロック、例えば、√32から6を算出し、算出した6個のブロックから構成される6個のAONTブロック100,200,300,400,500,600を作成している(AONTブロック600は2個のブロック(ブロック番号31、ブロック番号32)から構成される)。この手法ではnのサイズが大きくなった場合に有効である。
ユーザがデータを削除する場合、データ保存装置10は、ブロック番号1、ブロック番号7、ブロック番号13、ブロック番号19、ブロック番号25、ブロック番号31を削除した後に、クラウドサーバ30に対して削除を要求する。
FIG. 5 is a diagram illustrating another example of division of data stored by the
When the user deletes the data, the
図6は、本発明の第1実施形態に係るデータ保存装置10が保存するデータの配列による分割の例を示す図である。図6の例は、64個のデータから構成される1つのファイルが、4個のグループ(それぞれのグループが、4×4個の行列によって配置されるデータから構成される)に分割され、分割されたそれぞれのグループにおいて同じ配列位置に配置された4個のデータ(例えば、1行3列目のブロック番号3、ブロック番号19、ブロック番号35、ブロック番号51)を、1個のAONTブロック300に変換した例である。
ユーザがデータを削除する場合、データ保存装置10は、ブロック番号1〜16を削除した後に、クラウドサーバ30に対して削除を要求する。
FIG. 6 is a diagram showing an example of division based on the arrangement of data stored by the
When the user deletes data, the
[第2実施形態]
データ保存装置10は、AONTブロックを構成するブロックを分離させて、クラウドサーバ30に保存する。データ保存装置10の構成は、第1実施形態と同様である。
データ変換手段12は、データを分割するデータ分割手段121を備え、データ分割手段121は、データをk個のグループに分割する。データ変換手段12は、データ分割手段121によって分割されたグループごとを、AONTブロックに変換し、保存手段13は、それぞれのAONTブロックを構成するブロックを分離させて、秘密の関数を用いて互いに混在させて保存する(後述する図8参照)。データ削除手段15は、秘密の関数を削除することによってデータを削除する。なお、秘密の関数は、AONTブロックに対応付けてブロック記憶手段20又はユーザ端末50に記憶されるとしてよい。
[Second Embodiment]
The
The
図7は、本発明の第2実施形態に係るデータ保存装置10の処理を示すフローチャートである。図7(1)は、データ保存装置10のデータ保存処理を示すフローチャートである。
FIG. 7 is a flowchart showing the processing of the
ステップS201において、CPU(データ受付手段11)は、データを受け付ける。
ステップS202において、CPU(データ分割手段121)は、ステップS201において受け付けたデータをグループに分割する。
ステップS203において、CPU(データ変換手段12)は、ステップS202において分割したデータを、分割したグループごとにAONTブロックに変換する。
ステップS204において、CPU(保存手段13)は、AONTブロックを構成するブロックを、秘密の関数を用いて互いに混在させてクラウドサーバ30に保存する。すなわち、CPUは、秘密の関数を用いてブロックを互いに混在させたデータをクラウドサーバ30に送信して保存させる。
In step S201, the CPU (data receiving unit 11) receives data.
In step S202, the CPU (data dividing unit 121) divides the data received in step S201 into groups.
In step S203, the CPU (data conversion means 12) converts the data divided in step S202 into an AONT block for each divided group.
In step S <b> 204, the CPU (storage unit 13) stores the blocks constituting the AONT block in the
図7(2)は、データ保存装置10のデータ削除処理を示すフローチャートである。
FIG. 7B is a flowchart showing the data deletion process of the
ステップS211において、CPU(データ削除手段15)は、ステップS204において用いた秘密の関数を削除する。
ステップS212において、CPU(データ削除手段15)は、データの削除をクラウドサーバ30に要求する。
In step S211, the CPU (data deleting unit 15) deletes the secret function used in step S204.
In step S212, the CPU (data deleting unit 15) requests the
図8は、本発明の第2実施形態に係るデータ保存装置10が保存するデータの例を示す図である。図8(1)の例は、1つのファイルから作成された4つのAONTブロック100,200,300,400の例(AONTブロック100がブロック番号1〜8、AONTブロック200がブロック番号9〜16、AONTブロック300がブロック番号17〜24、AONTブロック400がブロック番号25〜32によって構成される例)である。
図8(2)の例は、4つのAONTブロック100,200,300,400において、それぞれのAONTブロックを構成するブロックを、秘密の関数を用いてシャッフルして互いに混在させている例である。
ただし、データ保存装置10がAONTブロックにアクセスするパターンによって、クラウドサーバ30がAONTブロックを特定できる可能性がある。そのため、この方式を使用する場合はOblivious RAMなどの技術を用いてアクセスパターンを秘匿する必要がある。例えば、データ保存装置10は、1個のAONTブロックを読み込む際に、そのAONTブロックを構成するブロックと、他のAONTブロックを構成するブロックとを互いに読み込んで、そのAONTブロックを構成するブロックがどれであるかを不明にするような読み込み方を行い、アクセスパターンを秘匿する。
ユーザがデータを削除する場合、データ保存装置10は、秘密の関数を削除する。
FIG. 8 is a diagram illustrating an example of data stored by the
The example of FIG. 8 (2) is an example in which, in the four
However, the
When the user deletes data, the
本実施形態1によれば、データ保存装置10は、ユーザ端末50からデータを受け付け、受け付けたデータを、AONT(all or nothing transform)アルゴリズムによってn個のブロックから構成されるAONTブロックに変換し、変換したAONTブロックを構成するブロックのうち少なくとも1つのブロックをブロック記憶手段20に保存すると共に、他のブロックをクラウドサーバ30に保存し、ブロック記憶手段20に保存したブロックを削除することによってデータを削除する。
したがって、データ保存装置10は、AONTブロックとして一体化させたデータのうち一部をブロック記憶手段20に保存させているので、データがクラウドサーバ30から不正利用者によってコピーされたとしても元のデータが取得されないようにすることができると共に、データがクラウドサーバ30によって正しく削除されなくても、ブロック記憶手段20に保存した一部のデータを削除することによって元のデータが復元されないようにすることができる。
さらに、データ保存装置10は、データをk個のグループに分割し、分割したグループごとを、AONTブロックに変換し、グループごとに、少なくとも1個のブロックをブロック記憶手段20に保存すると共に、他のブロックをクラウドサーバ30に保存する。
したがって、データ保存装置10は、データがクラウドサーバ30から不正利用者によってコピーされたり、データがクラウドサーバ30によって正しく削除されなくても、元のデータが復元されないようにすることができると共に、アクセスに必要なデータ量を少なくしかつ高速でデータにアクセスできるようにすることができる。
According to the first embodiment, the
Therefore, since the
Furthermore, the
Therefore, the
本実施形態2によれば、データ保存装置10は、データをグループに分割し、分割したグループごとにAONTブロックとして一体化させ、一体化させたそれぞれのAONTブロックを構成するブロックを分離させて、秘密の関数に基づいて互いに混在させて保存する。
したがって、データ保存装置10は、データがクラウドサーバ30から不正利用者によってコピーされたとしても元のデータが取得されないようにすることができると共に、データがクラウドサーバ30によって正しく削除されなくても、秘密の関数を削除することによって元のデータが復元されないようにすることができる。
According to the second embodiment, the
Therefore, the
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。 As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. The effects described in the embodiments of the present invention are only the most preferable effects resulting from the present invention, and the effects of the present invention are limited to those described in the embodiments of the present invention. is not.
10 データ保存装置
11 データ受付手段
12 データ変換手段
121 データ分割手段
13 保存手段
14 データ復元手段
15 データ削除手段
20 ブロック記憶手段
30 クラウドサーバ
50 ユーザ端末
70 インターネット
100,200,300,400,500,600 AONTブロック
DESCRIPTION OF
Claims (7)
前記ユーザ端末から前記データを受け付けるデータ受付手段と、
前記データ受付手段によって受け付けられた前記データを、AONTアルゴリズムによってn個のブロックから構成されるAONTブロックに変換するデータ変換手段と、
前記データ変換手段によって変換された前記AONTブロックを構成する前記ブロックのうち少なくとも1つの前記ブロックと、他の前記ブロックとを分離させて保存する保存手段と、
前記保存手段によって分離されて保存された前記ブロックに基づいて前記データを復元するデータ復元手段と、
前記保存手段によって分離されて保存された前記データを削除するデータ削除手段と、
を備えるデータ保存装置。 A data storage device that stores data from a user terminal in a cloud server via the Internet,
Data receiving means for receiving the data from the user terminal;
Data converting means for converting the data received by the data receiving means into an AONT block composed of n blocks by an AONT algorithm;
Storage means for separating and storing at least one of the blocks constituting the AONT block converted by the data conversion means and the other blocks;
Data restoration means for restoring the data based on the blocks separated and saved by the storage means;
Data deletion means for deleting the data separated and stored by the storage means;
A data storage device comprising:
前記保存手段は、前記少なくとも1つの前記ブロックを前記ブロック記憶手段に保存すると共に、前記他の前記ブロックを前記クラウドサーバに保存し、
前記データ削除手段は、前記ブロック記憶手段に保存した前記少なくとも1つの前記ブロックを削除することによってデータを削除する、
請求項1に記載のデータ保存装置。 Block storage means for storing the block;
The storage unit stores the at least one block in the block storage unit, and stores the other block in the cloud server;
The data deleting means deletes the data by deleting the at least one block stored in the block storage means;
The data storage device according to claim 1.
前記データ分割手段は、前記データをk個のグループに分割し、
前記データ変換手段は、前記データ分割手段によって分割された前記グループごとを、前記AONTブロックに変換し、
前記保存手段は、前記グループごとに、少なくとも1個の前記ブロックを前記ブロック記憶手段に保存すると共に、他の前記ブロックを前記クラウドサーバに保存する、
請求項2に記載のデータ保存装置。 The data converting means further comprises data dividing means for dividing the data,
The data dividing means divides the data into k groups,
The data converting means converts the group divided by the data dividing means into the AONT block,
The storage unit stores at least one block in the block storage unit and stores the other block in the cloud server for each group.
The data storage device according to claim 2.
前記データ変換手段は、前記データ分割手段によって分割されたそれぞれの前記グループにおいて同じ配列位置に配置されたk個のデータを、前記AONTアルゴリズムによってk個のブロックから構成されるAONTブロックに変換し、
前記保存手段は、前記AONTブロックごとの少なくとも1個のブロックを前記ブロック記憶手段に保存すると共に、他の前記ブロックを前記クラウドサーバに保存する、
請求項3に記載のデータ保存装置。 The data dividing unit divides the data into k groups, and each of the groups is configured by a predetermined arrangement,
The data converting means converts k data arranged at the same array position in each group divided by the data dividing means into AONT blocks composed of k blocks by the AONT algorithm,
The storage unit stores at least one block for each AONT block in the block storage unit, and stores the other block in the cloud server.
The data storage device according to claim 3.
前記データ分割手段は、前記データをk個のグループに分割し、
前記データ変換手段は、前記データ分割手段によって分割された前記グループごとを、前記AONTブロックに変換し、
前記保存手段は、それぞれの前記AONTブロックを構成する前記ブロックを分離させて、秘密の関数を用いて互いに混在させて保存し、
前記データ削除手段は、前記秘密の関数を削除することによってデータを削除する、
請求項1に記載のデータ保存装置。 The data converting means further comprises data dividing means for dividing the data,
The data dividing means divides the data into k groups,
The data converting means converts the group divided by the data dividing means into the AONT block,
The storage means separates the blocks constituting each of the AONT blocks, stores them in a mixed manner using a secret function,
The data deleting means deletes the data by deleting the secret function;
The data storage device according to claim 1.
前記データ受付手段が、前記ユーザ端末から前記データを受け付けるデータ受付ステップと、
前記データ変換手段が、前記データ受付ステップによって受け付けられた前記データを、AONTアルゴリズムによってn個のブロックから構成されるAONTブロックに変換するデータ変換ステップと、
前記保存手段が、前記データ変換ステップによって変換された前記AONTブロックを構成する前記ブロックのうち少なくとも1つの前記ブロックと、他の前記ブロックとを分離させて保存する保存ステップと、
前記データ復元手段が、前記保存ステップによって分離されて保存された前記ブロックに基づいて前記データを復元するデータ復元ステップと、
前記データ削除手段が、前記保存ステップによって分離されて保存された前記データを削除するデータ削除ステップと、
を備える方法。 A method performed by the data storage device according to claim 1, comprising:
A data receiving step in which the data receiving means receives the data from the user terminal;
A data conversion step in which the data conversion means converts the data received in the data reception step into an AONT block composed of n blocks by an AONT algorithm;
A storing step in which the storing unit separates and stores at least one of the blocks constituting the AONT block converted by the data converting step and the other block; and
A data restoring step in which the data restoring means restores the data based on the blocks separated and saved by the saving step;
A data deletion step in which the data deletion means deletes the data separated and stored in the storage step;
A method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014020802A JP6214416B2 (en) | 2014-02-05 | 2014-02-05 | Data storage device, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014020802A JP6214416B2 (en) | 2014-02-05 | 2014-02-05 | Data storage device, method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015148907A true JP2015148907A (en) | 2015-08-20 |
JP6214416B2 JP6214416B2 (en) | 2017-10-18 |
Family
ID=53892229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014020802A Active JP6214416B2 (en) | 2014-02-05 | 2014-02-05 | Data storage device, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6214416B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048158A (en) * | 2004-07-30 | 2006-02-16 | Toshiba Corp | Data storage method and data processing device |
JP2007249507A (en) * | 2006-03-15 | 2007-09-27 | Hitachi Software Eng Co Ltd | Information leakage prevention method, information leakage prevention system and information terminal |
JP2009139990A (en) * | 2007-12-03 | 2009-06-25 | Internatl Business Mach Corp <Ibm> | Technology for preventing unauthorized access to information |
JP2012208670A (en) * | 2011-03-29 | 2012-10-25 | Toshiba Corp | Secrete distribution system, device and program |
-
2014
- 2014-02-05 JP JP2014020802A patent/JP6214416B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048158A (en) * | 2004-07-30 | 2006-02-16 | Toshiba Corp | Data storage method and data processing device |
JP2007249507A (en) * | 2006-03-15 | 2007-09-27 | Hitachi Software Eng Co Ltd | Information leakage prevention method, information leakage prevention system and information terminal |
JP2009139990A (en) * | 2007-12-03 | 2009-06-25 | Internatl Business Mach Corp <Ibm> | Technology for preventing unauthorized access to information |
JP2012208670A (en) * | 2011-03-29 | 2012-10-25 | Toshiba Corp | Secrete distribution system, device and program |
Non-Patent Citations (1)
Title |
---|
手塚 伸: "クラウドファイルバックアップシステムにおける複数ポリシに基づいた削除保証手法", 情報処理学会 論文誌, vol. 54, no. 6, JPN6017016811, 15 June 2013 (2013-06-15), JP, pages 1807 - 1822, ISSN: 0003633367 * |
Also Published As
Publication number | Publication date |
---|---|
JP6214416B2 (en) | 2017-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11108753B2 (en) | Securing files using per-file key encryption | |
US9171145B2 (en) | Protecting cryptographic secrets using file system attributes | |
JP6397590B2 (en) | Security through data hiding | |
US10140370B1 (en) | Systems and methods for maintaining encrypted search indexes on third-party storage systems | |
US10726137B2 (en) | Copy protection for secured files | |
US9363247B2 (en) | Method of securing files under the semi-trusted user threat model using symmetric keys and per-block key encryption | |
JP7102621B2 (en) | API and encryption key secret management system and method | |
US11489660B2 (en) | Re-encrypting data on a hash chain | |
CN110795747A (en) | Data encryption storage method, device, equipment and readable storage medium | |
KR101428649B1 (en) | Encryption system for mass private information based on map reduce and operating method for the same | |
JP6214416B2 (en) | Data storage device, method and program | |
Inamdar et al. | Data Security in Hadoop Distributed File System | |
US20230367886A1 (en) | Fragment and shuffle erasure coding technique | |
JP6047718B2 (en) | License management system, method and module | |
KR102150806B1 (en) | Method for protecting data | |
US20230333993A1 (en) | Bit level sharding of sensitive data for increased security | |
Jiang et al. | Semi-shadow file system: An anonymous files storage solution | |
Joseph et al. | Multimedia encryption in cloud computing: an overview | |
EP2375626A1 (en) | Data storage | |
KR101726512B1 (en) | Improving security of Reed-Solomon Code using code personalization | |
JP5850974B2 (en) | File distribution system, file distribution method, and program | |
Basma et al. | Towards Overcoming Limitations of Current Integrity Schemes in the Cloud Environment | |
Aldakheel et al. | Investigation of security challenges and a novel security mechanism for cloud computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160721 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170626 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170919 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6214416 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |