JP4784260B2 - Distributed data storage method, terminal, and program - Google Patents

Distributed data storage method, terminal, and program Download PDF

Info

Publication number
JP4784260B2
JP4784260B2 JP2005312657A JP2005312657A JP4784260B2 JP 4784260 B2 JP4784260 B2 JP 4784260B2 JP 2005312657 A JP2005312657 A JP 2005312657A JP 2005312657 A JP2005312657 A JP 2005312657A JP 4784260 B2 JP4784260 B2 JP 4784260B2
Authority
JP
Japan
Prior art keywords
data
remote
local
remote data
original
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.)
Expired - Fee Related
Application number
JP2005312657A
Other languages
Japanese (ja)
Other versions
JP2007122336A (en
Inventor
徹 浅見
俊昭 田中
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2005312657A priority Critical patent/JP4784260B2/en
Publication of JP2007122336A publication Critical patent/JP2007122336A/en
Application granted granted Critical
Publication of JP4784260B2 publication Critical patent/JP4784260B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データの分散記憶方法、端末及びプログラムに関する。特に、携帯電話機のような携帯端末において、操作性を低減させずに、データを秘匿し且つ保持することに適する。   The present invention relates to a data distributed storage method, a terminal, and a program. In particular, in a mobile terminal such as a mobile phone, it is suitable for concealing and holding data without reducing operability.

携帯端末が普及すると共に、その携帯端末の紛失又は窃盗によってその内部に蓄積されたデータが漏洩することが想定される。近年では、携帯電話機がクレジットカードのような電子決済機能を備える場合も多く、秘匿性を必要とするデータ又は個人情報が携帯端末に蓄積されている。このような状況において、携帯端末は、パスワードのような鍵を用いてこれらデータを暗号化して蓄積することによって、第三者の不正使用を防止しようとしている。   As mobile terminals become widespread, it is assumed that data stored in the mobile terminal leaks due to loss or theft of the mobile terminal. In recent years, mobile phones often have an electronic payment function such as a credit card, and data or personal information that requires confidentiality is stored in mobile terminals. In such a situation, the portable terminal attempts to prevent unauthorized use by a third party by encrypting and storing these data using a key such as a password.

暗号化されたデータを、携帯端末内部の記憶装置に蓄積し、更には、リモートサーバ又はUSB(Universal Serial Bus)メモリのような外部の記憶装置に蓄積することもできる。しかしながら、暗号化されたデータが漏洩した場合、高速演算をするコンピュータによって、ある程度の時間をかければ、合い鍵を検出することは可能である。即ち、1つの装置内で、データを蓄積管理した場合、暗号化耐性が極めて高くなければ、そのデータが復元される恐れがある。   The encrypted data can be stored in a storage device inside the mobile terminal, and further stored in an external storage device such as a remote server or a USB (Universal Serial Bus) memory. However, when the encrypted data leaks, it is possible to detect the matching key by taking a certain amount of time with a computer that performs high-speed computation. That is, when data is stored and managed in one device, the data may be restored if the encryption resistance is not very high.

これに対し、秘密分散法という暗号化方式もある。秘密分散法は、原データを暗号化し、暗号化されたデータを分割し、分割データ(シェア)を別々の場所で管理する。ここで、分割された特定数の分割データが揃わない限り、原データに復号することができない。特定数未満の暗号化データの漏洩では、原データを復号できないように構成されている。   On the other hand, there is an encryption method called a secret sharing method. In the secret sharing method, the original data is encrypted, the encrypted data is divided, and the divided data (share) is managed in different places. Here, unless the specific number of divided data pieces are prepared, the original data cannot be decoded. It is configured so that the original data cannot be decrypted when the encrypted data leaks less than a specific number.

しかしながら、複数の分割データを、ネットワーク上で別々のサーバで管理することは、暗号化耐性の点からは効果があるものの、コストの点からは不都合が多い。例えば、膨大に普及している携帯電話機を対象とすると、その携帯電話機に蓄積されたデータを、複数のサーバで蓄積し管理するためのコストは、膨大なものとならざるを得ない。   However, managing a plurality of pieces of divided data with different servers on the network is effective in terms of encryption resistance, but is inconvenient in terms of cost. For example, if a cellular phone that is widely spread is targeted, the cost for accumulating and managing the data accumulated in the cellular phone by a plurality of servers must be enormous.

一方で、従来技術によれば、1つのサーバでデータを蓄積管理した場合、暗号化がパスワードのような鍵のみに依存するために、暗号化耐性が弱くなるという問題もある。   On the other hand, according to the prior art, when data is stored and managed by one server, there is a problem that encryption resistance is weakened because encryption depends only on a key such as a password.

従って、本発明は、1つの外部記憶装置を備えるだけで、端末の原データに対して極めて高い暗号化耐性を確保することができる、データの分散記憶方法、端末及びプログラムを提供することを目的とする。   Accordingly, an object of the present invention is to provide a distributed data storage method, a terminal, and a program that can ensure extremely high encryption resistance for original data of a terminal only by providing one external storage device. And

本発明によれば、外部記憶装置と接続可能な端末におけるデータの分散記憶方法において、
データの暗号化のために、
原データを第1のローカルデータ及び第1のリモートデータに分割し、該第1のリモートデータの長さを外部記憶装置との間の通信速度に応じて決定する第1のステップと、
第1のローカルデータから第1のリモートデータを鍵として暗号化して第2のローカルデータを生成する第2のステップと、
第1のリモートデータを外部記憶装置へ送信して蓄積させる第3のステップと、
第2のローカルデータをローカルデータ蓄積部に蓄積する第4のステップと
を有することを特徴とする。
According to the present invention, in a distributed data storage method in a terminal connectable to an external storage device,
For data encryption,
Dividing the original data into first local data and first remote data, and determining the length of the first remote data according to the communication speed with the external storage device;
A second step of generating the second local data by encrypting the first remote data from the first local data as a key;
A third step of transmitting and storing the first remote data to an external storage device;
And a fourth step of storing the second local data in the local data storage unit.

また、本発明の分散記憶方法における他の実施形態によれば、
第1のステップは、秘密分散法に基づいて、原データを分割することも好ましい。
According to another embodiment of the distributed storage method of the present invention,
It is also preferable that the first step divides the original data based on a secret sharing method.

更に、本発明の分散記憶方法における他の実施形態によれば、
データの復号のために、
第2のローカルデータをローカルデータ蓄積部から取得する第5のステップと、
第1のリモートデータを外部記憶装置から受信する第6のステップと、
第2のローカルデータから、第1のリモートデータを鍵として復号して第1のローカルデータを生成する第7のステップと、
第1のローカルデータと第1のリモートデータとを合成して、原データを生成する第8のステップと
を更に有することも好ましい。
Furthermore, according to another embodiment of the distributed storage method of the present invention,
For data decryption,
A fifth step of acquiring second local data from the local data storage unit;
A sixth step of receiving first remote data from an external storage device;
A seventh step of generating first local data by decrypting the first remote data from the second local data as a key;
It is preferable that the method further includes an eighth step of combining the first local data and the first remote data to generate original data.

更に、本発明の分散記憶方法における他の実施形態によれば、
第1のステップで、原データを圧縮して原圧縮データを生成し、該原圧縮データを分割し、
第8のステップとして、原圧縮データを解凍して原データを生成する
ことも好ましい。
Furthermore, according to another embodiment of the distributed storage method of the present invention,
In the first step, the original data is compressed to generate original compressed data, the original compressed data is divided,
As an eighth step, it is also preferable to decompress the original compressed data to generate the original data.

更に、本発明の分散記憶方法における他の実施形態によれば、
第1のステップと第2のステップとの間で、第1のリモートデータをスクランブリングして第2のリモートデータを生成するステップを更に有し、
第2のステップは、第1のローカルデータから、第2のリモートデータを鍵として、第2のリモートデータ長ごとにビット列の排他的論理和によって暗号化して第2のローカルデータを生成し、
第3のステップは、第2のリモートデータを外部記憶装置へ送信して蓄積させ、
第6のステップは、第2のリモートデータを外部記憶装置から受信し、
第7のステップは、第2のローカルデータから、第2のリモートデータを鍵として、第2のリモートデータ長ごとにビット列の排他的論理和によって復号して第1のローカルデータを生成し、
第7のステップと第8のステップとの間で、第2のリモートデータを逆スクランブリングして第1のリモートデータを生成する
ことも好ましい。
Furthermore, according to another embodiment of the distributed storage method of the present invention,
And scrambling the first remote data between the first step and the second step to generate the second remote data;
The second step generates second local data from the first local data by using the second remote data as a key and encrypting by exclusive OR of a bit string for each second remote data length,
The third step transmits the second remote data to the external storage device and accumulates it,
The sixth step receives the second remote data from the external storage device,
The seventh step generates the first local data from the second local data by using the second remote data as a key and decrypting by exclusive OR of the bit strings for each second remote data length,
Preferably, the second remote data is descrambled between the seventh step and the eighth step to generate the first remote data.

更に、本発明の分散記憶方法における他の実施形態によれば、
第1のステップについて、外部記憶装置からリモートデータを取得するために許容通信時間が予め決定されており、
外部記憶装置との間の通信速度に基づいて許容通信時間を満たす最大データ長を算出し、
リモートデータの長さは、最大でローカルデータの長さと等しく、且つ、最大データ長以下となるように決定される
ことも好ましい。
Furthermore, according to another embodiment of the distributed storage method of the present invention,
For the first step, an allowable communication time is predetermined to obtain remote data from the external storage device,
Calculate the maximum data length that satisfies the allowable communication time based on the communication speed with the external storage device,
The length of the remote data is preferably determined to be equal to the length of the local data at the maximum and not more than the maximum data length.

本発明によれば、データの分散記憶のために外部記憶装置と接続可能な端末において、
データの暗号化のために、
原データを第1のローカルデータ及び第1のリモートデータに分割し、該第1のリモートデータの長さを外部記憶装置との間の通信速度に応じて決定するデータ分割手段と、
第1のローカルデータから、第1のリモートデータを鍵として暗号化して第2のローカルデータを生成する暗号化手段と、
第1のリモートデータを外部記憶装置へ送信して蓄積させるリモートデータ送信手段と、
第2のローカルデータを蓄積するローカルデータ蓄積手段と
を有することを特徴とする。
According to the present invention, in a terminal that can be connected to an external storage device for distributed storage of data,
For data encryption,
Data dividing means for dividing the original data into first local data and first remote data, and determining the length of the first remote data according to the communication speed with the external storage device;
Encryption means for generating second local data by encrypting the first remote data from the first local data as a key;
Remote data transmission means for transmitting and storing the first remote data to an external storage device;
And local data storage means for storing second local data.

また、本発明の端末における他の実施形態によれば、
データ分割手段は、秘密分散法に基づいて、原データを分割することも好ましい。
Also, according to another embodiment of the terminal of the present invention,
The data dividing means preferably divides the original data based on the secret sharing method.

更に、本発明の端末における他の実施形態によれば、
データの復号のために、
第1のリモートデータを外部記憶装置から受信するリモートデータ受信手段と、
ローカルデータ蓄積手段から取得した第2のローカルデータから、第1のリモートデータを鍵として復号して第1のローカルデータを生成する復号手段と、
第1のローカルデータと第1のリモートデータとを合成して、原データを生成するデータ合成手段と
を更に有することも好ましい。
Furthermore, according to another embodiment of the terminal of the present invention,
For data decryption,
Remote data receiving means for receiving first remote data from an external storage device;
Decryption means for decrypting the first remote data as a key from the second local data acquired from the local data storage means to generate the first local data;
It is also preferable to further include data synthesizing means for synthesizing the first local data and the first remote data to generate original data.

更に、本発明の端末における他の実施形態によれば、
原データを圧縮して原圧縮データを生成し、該原圧縮データをデータ分割手段へ通知するデータ圧縮手段と、
データ合成手段から原圧縮データが通知され、該原圧縮データを解凍して原データを生成するデータ解凍手段と
を有することも好ましい。
Furthermore, according to another embodiment of the terminal of the present invention,
Data compression means for compressing the original data to generate original compressed data, and notifying the original compressed data to the data dividing means;
It is also preferable to have data decompression means for receiving the original compressed data from the data synthesizing means and decompressing the original compressed data to generate original data.

更に、本発明の端末における他の実施形態によれば、
データ分割手段から通知された第1のリモートデータをスクランブリングして第2のリモートデータを生成し、該第2のリモートデータをリモートデータ送信手段へ通知するスクランブル手段と、
リモートデータ受信手段から通知された第2のリモートデータを逆スクランブリングして第1のリモートデータを生成し、該第1のリモートデータを復号手段へ通知する逆スクランブル手段と
を更に有し、
暗号化手段は、第1のローカルデータから、第2のリモートデータを鍵として、第2のリモートデータ長ごとにビット列の排他的論理和によって暗号化して第2のローカルデータを生成し、
復号手段は、第2のローカルデータから、第2のリモートデータを鍵として、第2のリモートデータ長ごとにビット列の排他的論理和によって復号して第1のローカルデータを生成する
ことも好ましい。
Furthermore, according to another embodiment of the terminal of the present invention,
Scrambling means for generating first remote data by scrambling the first remote data notified from the data dividing means, and notifying the second remote data to the remote data transmitting means;
Further comprising: descrambling means for descrambling the second remote data notified from the remote data receiving means to generate first remote data, and notifying the decoding means of the first remote data;
The encryption means generates second local data by encrypting by exclusive OR of a bit string for each second remote data length using the second remote data as a key from the first local data,
The decrypting means preferably generates the first local data from the second local data using the second remote data as a key and decrypting the second remote data by exclusive OR of a bit string for each second remote data length.

更に、本発明の端末における他の実施形態によれば、
データ分割手段は、外部記憶装置からリモートデータを取得するために許容通信時間が予め決定されており、
外部記憶装置との間の通信速度に基づいて許容通信時間を満たす最大データ長を算出し、
リモートデータの長さは、最大でローカルデータの長さと等しく、且つ、最大データ長以下となるように決定される
ことも好ましい。
Furthermore, according to another embodiment of the terminal of the present invention,
The data dividing means has a predetermined allowable communication time for acquiring remote data from the external storage device,
Calculate the maximum data length that satisfies the allowable communication time based on the communication speed with the external storage device,
The length of the remote data is preferably determined to be equal to the length of the local data at the maximum and not more than the maximum data length.

本発明によれば、データの分散記憶のために外部記憶装置と接続可能な端末に搭載されたコンピュータを機能させるプログラムにおいて、
データの暗号化のために、
原データを第1のローカルデータ及び第1のリモートデータに分割し、該第1のリモートデータの長さが、外部記憶装置との間の通信速度に応じて決定されるデータ分割手段と、
第1のローカルデータから、第1のリモートデータを鍵として暗号化して第2のローカルデータを生成する暗号化手段と、
第1のリモートデータを外部記憶装置へ送信して蓄積させるリモートデータ送信手段と、
第2のローカルデータを蓄積するローカルデータ蓄積手段と
してコンピュータを機能させることを特徴とする。
According to the present invention, in a program for functioning a computer mounted on a terminal connectable to an external storage device for distributed storage of data,
For data encryption,
Data dividing means for dividing the original data into first local data and first remote data, the length of the first remote data being determined according to the communication speed with the external storage device;
Encryption means for generating second local data by encrypting the first remote data from the first local data as a key;
Remote data transmission means for transmitting and storing the first remote data to an external storage device;
The computer is caused to function as local data storage means for storing the second local data.

本発明のプログラムにおける他の実施形態によれば、
データの復号のために、
第1のリモートデータを外部記憶装置から受信するリモートデータ受信手段と、
ローカルデータ蓄積手段から取得した第2のローカルデータから、第1のリモートデータを鍵として復号して第1のローカルデータを生成する復号手段と、
第1のローカルデータと第1のリモートデータとを合成して、原データを生成するデータ合成手段と
してコンピュータを更に機能させることも好ましい。
According to another embodiment of the program of the present invention,
For data decryption,
Remote data receiving means for receiving first remote data from an external storage device;
Decryption means for decrypting the first remote data as a key from the second local data acquired from the local data storage means to generate the first local data;
It is also preferable that the computer further function as data synthesizing means for synthesizing the first local data and the first remote data to generate original data.

本発明によれば、1つの外部記憶装置を備えるだけで、端末の原データに対して極めて高い暗号化耐性を確保することができる。   According to the present invention, it is possible to ensure extremely high encryption resistance with respect to original data of a terminal only by providing one external storage device.

本発明によれば、暗号鍵が原データから作成されるために、暗号鍵がその度毎に異なり、暗号化耐性を高める。また、秘密分散法を用いることによって、ローカルデータとリモートデータとを必ず揃えなければ、原データを復号することができない。リモートデータの長さを、ローカルデータの長さと最大で等しくすることによって、バーナム暗号化の近似の効果を得ることができる。更に、外部記憶装置との間の通信速度に応じてリモートデータの長さが決定されるので、リモートデータの長さRが把握できず、更に暗号化耐性を高めることできる。更に、原データを圧縮することによって、原データのビット列(8ビット全体で)の規則性を備えないようにし、暗号化耐性を高めることができる。更に、許容通信時間を考慮して、リモートデータの長さを決定することができるので、端末1の即時性を高めることができる。このように、本発明によれば、ローカルデータ又はリモートデータのいずれか一方が、不正第三者に漏洩したとしても、他方のデータを含めて原圧縮データを復号することはできない。   According to the present invention, since the encryption key is created from the original data, the encryption key is different each time and the encryption resistance is increased. Also, by using the secret sharing method, the original data cannot be decrypted unless the local data and the remote data are aligned. By making the length of the remote data equal to the length of the local data at most, the approximate effect of Burnham encryption can be obtained. Furthermore, since the length of the remote data is determined according to the communication speed with the external storage device, the length R of the remote data cannot be grasped, and the encryption resistance can be further enhanced. Further, by compressing the original data, it is possible to prevent the regularity of the bit string (whole 8 bits) of the original data and to improve the encryption resistance. Furthermore, since the length of the remote data can be determined in consideration of the allowable communication time, the immediacy of the terminal 1 can be improved. Thus, according to the present invention, even if either local data or remote data is leaked to an unauthorized third party, the original compressed data including the other data cannot be decoded.

以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。   Hereinafter, the best mode for carrying out the present invention will be described in detail with reference to the drawings.

図1は、本発明における暗号化のためのフローチャートである。   FIG. 1 is a flowchart for encryption in the present invention.

(S101)原データを圧縮する。圧縮アルゴリズムは、既存の公知の方法であってもよい。 (S101) The original data is compressed. The compression algorithm may be an existing known method.

最初に原データを圧縮する理由は、データ量を小さくすることのみならず、暗号化耐性(暗号を解くための計算量)を高めることに効果がある。通常、原データは、一定の規則性の高い(例えば7ビット単位のテキスト情報)ものが多いために、暗号化されたデータにおいても一定の規則性(周期)を持つ場合もある。一定の規則性を有する暗号化データは、暗号化耐性が弱いといえる。原データを圧縮することによって、原データのビット列(8ビット全体で)の規則性を備えないようにし、暗号化耐性を高めることができる。   The reason for compressing the original data first is not only to reduce the amount of data but also to increase the encryption resistance (the amount of calculation for decrypting the encryption). Usually, since there are many original data having a certain regularity (for example, text information in 7-bit units), even encrypted data may have a certain regularity (period). It can be said that encrypted data having a certain regularity has low encryption resistance. By compressing the original data, regularity of the bit string of the original data (all 8 bits) can be eliminated, and the encryption resistance can be increased.

(S102)原圧縮データを、秘密分散法(SSS:Secret Sharing Schemes)に基づいて、第1のローカルデータ及び第1のリモートデータに分割する。このとき、第1のリモートデータの長さが、外部記憶装置との間の通信速度に応じて決定される。 (S102) The original compressed data is divided into first local data and first remote data based on a secret sharing scheme (SSS). At this time, the length of the first remote data is determined according to the communication speed with the external storage device.

具体的には、最初に、原圧縮データを複数のエレメントに分割し、これらエレメントを、2つの割符(ローカルデータ及びリモートデータ)にランダムに振り分ける。このとき、エレメントの配置は、振り分けテーブルに記録される。振り分けテーブルには、分割数、原圧縮データの長さ、振り分け情報等が含まれる。例えば、エレメントに順にシーケンス番号を付与し、そのシーケンス番号毎に割符識別符号を付与することができる。   Specifically, first, the original compressed data is divided into a plurality of elements, and these elements are randomly allocated to two tally (local data and remote data). At this time, the arrangement of elements is recorded in the sorting table. The distribution table includes the number of divisions, the length of original compressed data, distribution information, and the like. For example, a sequence number can be assigned to an element in order, and a tally identification code can be assigned to each sequence number.

秘密分散法は、電子割符に用いられる技術であって、原データを複数の分割データに分割し、その分割データを特定数だけ集めることによって、原データが復元できるという技術である。これは、分割データを別々のリモートサーバに蓄積した場合に、そのサーバのダウンによって、原データが復元できなくなることを回避する技術である。   The secret sharing method is a technique used for electronic tally, and the original data can be restored by dividing the original data into a plurality of divided data and collecting a specific number of the divided data. This is a technique for avoiding that when divided data is stored in different remote servers, the original data cannot be restored due to the server being down.

秘密分散法は、具体的には、原データをN個の分割データに分割し、任意のK(≦N)個の分散データを集めると原データが復元できる。但し、N個のうち、どのK−1個の分割データをもってしても原データは復元できない。このような秘密分散法を、(K,N)閾値法ともいう。   Specifically, in the secret sharing method, the original data can be restored by dividing the original data into N pieces of divided data and collecting any K (≦ N) pieces of shared data. However, the original data cannot be restored with any K-1 divided data out of N. Such a secret sharing method is also referred to as a (K, N) threshold method.

これに対し、本発明によれば、(2,2)閾値法の秘密分散法を用いて、原圧縮データを分割する。これは、原圧縮データをN=2個に分割し、分割データをK=2個(=N)集めなければ復元できないとする。即ち、いずれか1個の分割データでは、原圧縮データを復号できないことを意味する。   On the other hand, according to the present invention, the original compressed data is divided by using the secret sharing method of the (2, 2) threshold method. This is because the original compressed data is divided into N = 2 and cannot be restored unless K = 2 (= N) pieces of divided data are collected. That is, it means that the original compressed data cannot be decoded with any one piece of divided data.

2つの割符は、ローカルデータとリモートデータと称される。ローカルデータは、当該端末1の記憶装置に記憶される割符であって、リモートデータは、リモートサーバ2の記憶装置に記憶される割符である。   The two tallys are called local data and remote data. Local data is a tally stored in the storage device of the terminal 1, and remote data is a tally stored in the storage device of the remote server 2.

本発明において更に特徴的な点として、リモートデータの長さRは、ローカルデータの長さL(原圧縮データの長さDの半分)以下であって、且つ、ネットワークの通信帯域(伝送速度)に応じて可変となるものである。特に、ネットワークの通信帯域が狭い(伝送速度が遅い)ときには、リモートデータの長さRを短くし、ネットワークの通信帯域が広い(伝送速度が早い)ときには、リモートデータの長さRを長くする。但し、リモートデータの長さRは、最長でもローカルデータの長さLに等しい長さまでである。   As a further characteristic feature of the present invention, the length R of the remote data is equal to or less than the length L of the local data (half the length D of the original compressed data) and the network communication band (transmission speed). It becomes variable according to the above. In particular, when the network communication band is narrow (transmission speed is slow), the remote data length R is shortened, and when the network communication band is wide (transmission speed is fast), the remote data length R is lengthened. However, the length R of the remote data is at most equal to the length L of the local data.

本発明によれば、端末1の存在場所によってネットワークの通信帯域が変動するので、その度毎にリモートデータの長さRは自動的に変化する。従って、端末1の利用者のみならず、第三者においても、リモートデータの長さRは把握できない。リモートデータの長さRが把握できなれければ、原圧縮データを復号することもできず、これも暗号化耐性を高める一因となる。   According to the present invention, since the network communication band varies depending on the location of the terminal 1, the length R of the remote data changes automatically each time. Accordingly, not only the user of the terminal 1 but also the third party cannot grasp the length R of the remote data. If the length R of the remote data cannot be grasped, the original compressed data cannot be decrypted, which also contributes to increase the encryption resistance.

リモートデータの長さRは、具体的には、端末1における復号時間を考慮して、次のような方法で決定される。復号時間は、端末1における復号処理時間と、サーバから暗号化データをダウンロードする通信時間とによって制約される。その通信時間は、以下のように、転送される暗号化データ量と伝送速度との関係式が成立する。
通信時間=暗号化データ量/伝送速度
Specifically, the length R of the remote data is determined by the following method in consideration of the decoding time in the terminal 1. The decryption time is restricted by the decryption processing time in the terminal 1 and the communication time for downloading the encrypted data from the server. As for the communication time, a relational expression between the amount of encrypted data transferred and the transmission speed is established as follows.
Communication time = amount of encrypted data / transmission speed

本発明によれば、外部記憶装置(例えばリモートサーバ)からリモートデータを取得するための許容通信時間が予め決定される。そうすると、リモートサーバとの間の通信速度に基づいて、許容通信時間を満たす最大データ長を算出することができる。従って、リモートデータの長さは、最大で前記ローカルデータの長さと等しく、且つ、最大データ長以下となるように決定される。
最大暗号化データ量=許容通信時間×伝送速度
According to the present invention, the allowable communication time for acquiring remote data from an external storage device (for example, a remote server) is determined in advance. Then, the maximum data length that satisfies the allowable communication time can be calculated based on the communication speed with the remote server. Therefore, the length of the remote data is determined to be equal to the length of the local data at the maximum and not more than the maximum data length.
Maximum amount of encrypted data = allowable communication time x transmission speed

表1は、伝送速度に対する暗号化データ量を表す。許容通信時間を3秒とすると、例えば、以下のようになる。

Figure 0004784260
Table 1 shows the amount of encrypted data with respect to the transmission rate. If the allowable communication time is 3 seconds, for example, the following occurs.
Figure 0004784260

(S103)リモートデータを、スクランブリングし、リモートデータ2(長さR2)を生成する。スクランブルアルゴリズムは、公知のものであってもよく、可変のパラメータを与えることができるものであってもよい。既に圧縮されたリモートデータに対して、スクランブルをかけることによって、規則性(周期)の長い乱数ビット列を導出することができる。また、リモートサーバに蓄積するためにも、リモートデータにスクランブルをかける必要もある。スクランブルアルゴリズムは、少なくとも可逆性を有する必要がある。 (S103) The remote data is scrambled to generate remote data 2 (length R2). The scramble algorithm may be a well-known one or a variable parameter that can be given. A random bit string having a long regularity (period) can be derived by scrambling already compressed remote data. Also, it is necessary to scramble the remote data in order to store it in the remote server. The scramble algorithm needs to have at least reversibility.

ここで、スクランブルアルゴリズムとして、ハッシュ関数を用いることもできる。但し、ハッシュ関数は可逆アルゴリズムでないので、原データをリモートサーバに蓄積しなければならない。   Here, a hash function can be used as the scramble algorithm. However, since the hash function is not a reversible algorithm, the original data must be stored in the remote server.

(S104)ローカルデータを、リモートデータ2で暗号化し、ローカルデータ2(長さL2)を生成する。 (S104) The local data is encrypted with the remote data 2, and the local data 2 (length L2) is generated.

ここでの暗号化としては、例えばバーナム暗号化がある。バーナム暗号化とは、原データと鍵の長さとが等しく、且つ、鍵が十分な乱数系列となっている場合、原データに対して鍵の排他的論理和(XOR)をとることにより、暗号化データのみからは解読不可能であることが証明されているアルゴリズムである。   An example of encryption here is Vernam encryption. With Burnham encryption, if the original data and the key length are equal and the key is a sufficient random number sequence, the key is exclusive ORed (XOR) with the original data. It is an algorithm that has been proven not to be decipherable only from digitized data.

リモートデータの長さが、ローカルデータの長さよりも短ければ、ローカルデータに対して、リモートデータをブロック暗号的に1つずつ当てはめてXORをとることもできる。   If the length of the remote data is shorter than the length of the local data, the remote data can be applied to the local data one by one in block cipher and XORed.

本発明によれば、近似のバーナム暗号化を構成するために、最大でローカルデータの長さLとリモートデータの長さRとを等しくするようにしている。ローカルデータLを暗号化するための鍵として、スクランブリングされたリモートデータ2は、十分な乱数系列となっているといえる。そうすると、ローカルデータを、十分な乱数系列の鍵であるリモートデータ2によって排他的論理和をとれば、近似的にバーナム暗号になっている。従って、その効果も、近似的に、暗号化データのみから解読不可能となる。   According to the present invention, in order to construct approximate Vernam encryption, the length L of the local data and the length R of the remote data are made equal to each other at the maximum. As a key for encrypting the local data L, it can be said that the scrambled remote data 2 is a sufficient random number sequence. Then, if the exclusive OR is performed on the local data with the remote data 2 which is a key of a sufficient random number sequence, the local data is approximately the Burnham cipher. Therefore, the effect is also approximately impossible to decrypt only from the encrypted data.

また、本発明の特徴として、暗号鍵が原圧縮データから作成されるために、暗号鍵がその度毎に異なり、暗号化耐性を高めるという効果もある。   In addition, as a feature of the present invention, since the encryption key is created from the original compressed data, the encryption key is different every time, and there is an effect that the encryption resistance is increased.

(S105)リモートデータ2は、ネットワークを介してリモートサーバ2へ送信される。 (S105) The remote data 2 is transmitted to the remote server 2 via the network.

(S106)端末1は、ローカルデータ蓄積部に、ローカルデータ2を記憶する。このとき、リモートデータ2が蓄積されるリモートサーバ2のURI(Uniform Resource Identifier: RFC3986)が、ローカルデータ2に対応づけて、ローカルデータ蓄積部に蓄積される。 (S106) The terminal 1 stores the local data 2 in the local data storage unit. At this time, the URI (Uniform Resource Identifier: RFC3986) of the remote server 2 in which the remote data 2 is stored is stored in the local data storage unit in association with the local data 2.

図2は、本発明における復号のためのフローチャートである。   FIG. 2 is a flowchart for decoding in the present invention.

(S201)端末1は、ローカルデータ蓄積部から、復号すべきデータのローカルデータ2を検索して取り出す。 (S201) The terminal 1 searches and extracts the local data 2 of the data to be decoded from the local data storage unit.

(S202)端末1は、ローカルデータ蓄積部から、ローカルデータ2と共にURIも取り出す。端末1は、そのURIに基づいて、ネットワークを介してリモートサーバ2へ問い合わせ、リモートサーバ2から復号すべきデータのリモートデータ2を受信する。 (S202) The terminal 1 takes out the URI together with the local data 2 from the local data storage unit. The terminal 1 makes an inquiry to the remote server 2 via the network based on the URI, and receives the remote data 2 of the data to be decrypted from the remote server 2.

(S203)ローカルデータ2に対して、リモートデータ2を鍵として復号する。具体的には、ローカルデータ2に対して、リモートデータ2のブロックごとの排他的論理和(XOR)をとる。 (S203) The local data 2 is decrypted using the remote data 2 as a key. Specifically, an exclusive OR (XOR) is performed on the local data 2 for each block of the remote data 2.

(S204)リモートデータ2を逆スクランブリングし、リモートデータを導出する。 (S204) The remote data 2 is descrambled to derive the remote data.

(S205)ローカルデータに含まれるエレメントと、リモートデータに含まれるエレメントとを、テーブル情報に応じて合成し、原圧縮データに復号する。 (S205) The elements included in the local data and the elements included in the remote data are combined according to the table information and decoded into the original compressed data.

(S206)原圧縮データを解凍し、原データを導出する。 (S206) The original compressed data is decompressed and the original data is derived.

図3は、本発明におけるシステムの機能構成図である。   FIG. 3 is a functional configuration diagram of the system according to the present invention.

図3によれば、端末1は、ネットワークを介してリモートサーバ2に接続される。但し、リモートデータ2は、USBメモリのような外部記憶装置であってもよい。即ち、リモートデータ2は、端末1以外の外部で記憶されればよい。   According to FIG. 3, the terminal 1 is connected to the remote server 2 via a network. However, the remote data 2 may be an external storage device such as a USB memory. That is, the remote data 2 may be stored outside the terminal 1.

プログラムを端末に搭載されたコンピュータによって実行させることによって、以下で説明する端末1の各機能が実現されるものであってもよい。このようなプログラムは、デバイスドライバとして実装されるのが好ましい。   Each function of the terminal 1 described below may be realized by causing the computer to execute the program. Such a program is preferably implemented as a device driver.

端末1は、暗号化のために、データ圧縮部101と、データ分割部102と、スクランブル部103と、暗号化部104と、リモートデータ送信部105と、ローカルデータ蓄積部106と、通信帯域検出部112とを有する。端末1は、更に、復号のために、リモートデータ受信部107と、逆スクランブル部108と、復号部109と、データ合成部110と、データ解凍部111とを有する。   The terminal 1 uses a data compression unit 101, a data division unit 102, a scramble unit 103, an encryption unit 104, a remote data transmission unit 105, a local data storage unit 106, and a communication band detection for encryption. Part 112. The terminal 1 further includes a remote data receiving unit 107, a descrambling unit 108, a decoding unit 109, a data synthesis unit 110, and a data decompression unit 111 for decoding.

データ圧縮部101は、前述したS101のように、原データを圧縮する。   The data compression unit 101 compresses the original data as in S101 described above.

データ分割部102は、前述したS102のように、データ圧縮部101から通知された原圧縮データを、秘密分散法に基づいて、第1のローカルデータ及び第1のリモートデータに分割する。このとき、第1のリモートデータの長さは、通信帯域検出部112によって検出された、外部記憶装置との間の通信速度に応じて決定される。   As in S102 described above, the data dividing unit 102 divides the original compressed data notified from the data compressing unit 101 into first local data and first remote data based on the secret sharing method. At this time, the length of the first remote data is determined according to the communication speed with the external storage device detected by the communication band detection unit 112.

スクランブル部103は、前述したS103のように、データ分割部102から通知されたリモートデータを、スクランブリングし、リモートデータ2を生成する。   The scramble unit 103 scrambles the remote data notified from the data dividing unit 102 to generate remote data 2 as in S103 described above.

暗号化部104は、前述したS104のように、データ分割部102から通知されたローカルデータを、スクランブル部103から通知されたリモートデータ2で暗号化して、ローカルデータ2を生成する。   The encryption unit 104 encrypts the local data notified from the data dividing unit 102 with the remote data 2 notified from the scramble unit 103 to generate local data 2 as in S104 described above.

リモートデータ送信部105は、前述したS105のように、スクランブル部103から通知されたリモートデータ2を、ネットワークを介してリモートサーバ2へ送信する。   The remote data transmission unit 105 transmits the remote data 2 notified from the scramble unit 103 to the remote server 2 via the network as in S105 described above.

ローカルデータ蓄積部106は、前述したS106のように、暗号化部104から通知されたローカルデータ2を記憶する。また、前述したS201のように、そのローカルデータ2を復号部109へ出力する。   The local data storage unit 106 stores the local data 2 notified from the encryption unit 104 as in S106 described above. Further, the local data 2 is output to the decoding unit 109 as in S201 described above.

リモートデータ受信部107は、前述したS202のように、リモートサーバ2から復号すべきデータのリモートデータ2を受信する。   The remote data receiving unit 107 receives the remote data 2 of the data to be decrypted from the remote server 2 as in S202 described above.

逆スクランブル部108は、前述したS204のように、リモートデータ2を逆スクランブリングし、リモートデータを導出する。   The descrambling unit 108 descrambles the remote data 2 to derive remote data as in S204 described above.

復号部109は、前述したS203のように、ローカルデータ2に対して、リモートデータ2を鍵として復号する。   The decrypting unit 109 decrypts the local data 2 using the remote data 2 as a key as in S203 described above.

データ合成部110は、前述したS205のように、ローカルデータに含まれるエレメントと、リモートデータに含まれるエレメントとを、テーブル情報に応じて合成し、原圧縮データに復号する。   The data synthesizing unit 110 synthesizes the elements included in the local data and the elements included in the remote data according to the table information as in S205 described above, and decodes the original compressed data.

データ解凍部111は、前述したS206のように、原圧縮データを解凍し、原データを導出する。   The data decompression unit 111 decompresses the original compressed data and derives the original data as in S206 described above.

通信帯域検出部112は、リモートサーバ2との間の通信帯域(伝送速度)を検出し、その通信帯域情報をデータ分割部102へ通知する。   The communication band detecting unit 112 detects a communication band (transmission speed) with the remote server 2 and notifies the data dividing unit 102 of the communication band information.

前述したように本発明におけるデータの分散記憶方法、端末及びプログラムによれば、1つの外部記憶装置を備えるだけで、端末の原データに対して極めて高い暗号化耐性を確保することができる。   As described above, according to the distributed data storage method, terminal, and program of the present invention, it is possible to ensure extremely high encryption resistance for the original data of the terminal only by providing one external storage device.

本発明によれば、暗号鍵が原データから作成されるために、暗号鍵がその度毎に異なり、暗号化耐性を高める。また、秘密分散法を用いることによって、ローカルデータとリモートデータとを必ず揃えなければ、原データを復号することができない。リモートデータの長さを、ローカルデータの長さと最大で等しくすることによって、バーナム暗号化の近似の効果を得ることができる。更に、外部記憶装置との間の通信速度に応じてリモートデータの長さが決定されるので、リモートデータの長さRが把握できず、更に暗号化耐性を高めることできる。更に、原データを圧縮することによって、原データのビット列(8ビット全体で)の規則性を備えないようにし、暗号化耐性を高めることができる。更に、許容通信時間を考慮して、リモートデータの長さを決定することができるので、端末1の即時性を高めることができる。このように、本発明によれば、ローカルデータ又はリモートデータのいずれか一方が、不正第三者に漏洩したとしても、他方のデータを含めて原圧縮データを復号することはできない。   According to the present invention, since the encryption key is created from the original data, the encryption key is different each time and the encryption resistance is increased. Also, by using the secret sharing method, the original data cannot be decrypted unless the local data and the remote data are aligned. By making the length of the remote data equal to the length of the local data at most, the approximate effect of Burnham encryption can be obtained. Furthermore, since the length of the remote data is determined according to the communication speed with the external storage device, the length R of the remote data cannot be grasped, and the encryption resistance can be further enhanced. Further, by compressing the original data, it is possible to prevent the regularity of the bit string (whole 8 bits) of the original data and to improve the encryption resistance. Furthermore, since the length of the remote data can be determined in consideration of the allowable communication time, the immediacy of the terminal 1 can be improved. Thus, according to the present invention, even if either local data or remote data is leaked to an unauthorized third party, the original compressed data including the other data cannot be decoded.

本発明におけるデータは、例えば携帯端末に蓄積される顧客データであってもよい。一般に、顧客データはサーバに蓄積され、携帯端末からそのサーバを参照することによって実現される。本発明によれば、暗号化耐性が高いために、携帯端末に顧客データの一部をローカルデータとして蓄積することによって、そのデータを参照する際の即時性を高めることができる。   The data in the present invention may be customer data stored in a mobile terminal, for example. Generally, customer data is stored in a server and is realized by referring to the server from a mobile terminal. According to the present invention, since encryption resistance is high, by storing a part of customer data as local data in a mobile terminal, it is possible to improve immediacy when referring to the data.

また、本発明におけるデータは、例えば著作権保護された音楽・映画コンテンツであってもよい。一般に、音楽・映画コンテンツは、携帯端末に蓄積されるものであるが、コピーによって不正利用される恐れもある。本発明のように、携帯端末とリモートサーバとを紐付けすることによって、これらコンテンツの一部が携帯端末に蓄積されるために即時性を確保できると共に、コンテンツの不正利用を防ぐことができる。   The data in the present invention may be, for example, copyrighted music / movie content. In general, music / movie content is stored in a portable terminal, but there is a risk of unauthorized use by copying. As in the present invention, by associating the mobile terminal and the remote server, a part of these contents is accumulated in the mobile terminal, so that immediacy can be secured and unauthorized use of the contents can be prevented.

前述した本発明の種々の実施形態によれば、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略を、当業者は容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。   According to the above-described various embodiments of the present invention, those skilled in the art can easily make various changes, modifications, and omissions in the technical idea and scope of the present invention. The above description is merely an example, and is not intended to be restrictive. The invention is limited only as defined in the following claims and the equivalents thereto.

本発明における暗号化のためのフローチャートである。It is a flowchart for the encryption in this invention. 本発明における復号のためのフローチャートである。It is a flowchart for the decoding in this invention. 本発明におけるシステムの機能構成図である。It is a functional block diagram of the system in this invention.

符号の説明Explanation of symbols

1 端末
101 データ圧縮部
102 データ分割部
103 スクランブル部
104 暗号化部
105 リモートデータ送信部
106 ローカルデータ蓄積部
107 リモートデータ受信部
108 逆スクランブル部
109 復号部
110 データ合成部
111 データ解凍部
112 通信帯域検出部
2 リモートサーバ
DESCRIPTION OF SYMBOLS 1 Terminal 101 Data compression part 102 Data division part 103 Scramble part 104 Encryption part 105 Remote data transmission part 106 Local data storage part 107 Remote data reception part 108 Descramble part 109 Decoding part 110 Data composition part 111 Data decompression part 112 Communication band Detector 2 Remote server

Claims (12)

外部記憶装置と接続可能な端末におけるデータの分散記憶方法において、
前記データの暗号化のために、
前記端末が、原データを第1のローカルデータ及び第1のリモートデータに分割し、前記外部記憶装置から前記第1のリモートデータを取得するために許容通信時間が予め決定されており、前記外部記憶装置との間の通信速度に基づいて前記許容通信時間を満たす最大データ長を算出し、前記第1のリモートデータの長さを、最大で前記第1のローカルデータの長さと等しく、且つ、前記最大データ長以下となるように決定する第1のステップと、
前記端末が、前記第1のローカルデータから前記第1のリモートデータを鍵として暗号化して第2のローカルデータを生成する第2のステップと、
前記端末が、前記第1のリモートデータを外部記憶装置へ送信して蓄積させる第3のステップと、
前記端末が、前記第2のローカルデータをローカルデータ蓄積部に蓄積する第4のステップと
を有することを特徴とするデータの分散記憶方法。
In a distributed storage method of data in a terminal connectable with an external storage device,
For encryption of the data,
The terminal divides the original data into first local data and first remote data, and an allowable communication time is determined in advance for acquiring the first remote data from the external storage device; Calculating a maximum data length that satisfies the allowable communication time based on a communication speed with the storage device, and setting the length of the first remote data equal to the length of the first local data at the maximum, and A first step of determining to be less than or equal to the maximum data length ;
A second step in which the terminal encrypts the first remote data from the first local data as a key to generate second local data;
A third step in which the terminal transmits and accumulates the first remote data to an external storage device;
And a fourth step in which the terminal stores the second local data in a local data storage unit.
前記第1のステップは、秘密分散法に基づいて、前記原データを分割することを特徴とする請求項1に記載のデータの分散記憶方法。   The method according to claim 1, wherein the first step divides the original data based on a secret sharing method. 前記データの復号のために、
前記端末が、前記第2のローカルデータを前記ローカルデータ蓄積部から取得する第5のステップと、
前記端末が、前記第1のリモートデータを前記外部記憶装置から受信する第6のステップと、
前記端末が、前記第2のローカルデータから、前記第1のリモートデータを鍵として復号して前記第1のローカルデータを生成する第7のステップと、
前記端末が、前記第1のローカルデータと前記第1のリモートデータとを合成して、前記原データを生成する第8のステップと
を更に有することを特徴とする請求項1又は2に記載のデータの分散記憶方法。
For decoding the data,
A fifth step in which the terminal acquires the second local data from the local data storage unit;
A sixth step in which the terminal receives the first remote data from the external storage device;
A seventh step for the terminal to generate the first local data by decrypting the second remote data using the first remote data as a key;
The said terminal further has an 8th step which synthesize | combines the said 1st local data and the said 1st remote data, and produces | generates the said original data, The Claim 1 or 2 characterized by the above-mentioned. A distributed storage method for data.
前記第1のステップで、前記原データを圧縮して原圧縮データを生成し、該原圧縮データを分割し、
第8のステップとして、前記原圧縮データを解凍して前記原データを生成する
ことを特徴とする請求項3に記載のデータの分散記憶方法。
In the first step, the original data is compressed to generate original compressed data, the original compressed data is divided,
4. The distributed data storage method according to claim 3, wherein the original data is generated by decompressing the original compressed data as an eighth step.
前記第1のステップと前記第2のステップとの間で、前記第1のリモートデータをスクランブリングして第2のリモートデータを生成するステップを更に有し、
前記第2のステップは、前記第1のローカルデータから、前記第1のリモートデータを鍵として、第2のリモートデータ長ごとにビット列の排他的論理和によって暗号化して第2のローカルデータを生成し、
前記第3のステップは、前記第2のリモートデータを前記外部記憶装置へ送信して蓄積させ、
前記第6のステップは、前記第2のリモートデータを前記外部記憶装置から受信し、
前記第7のステップは、前記第2のローカルデータから、前記第2のリモートデータを鍵として第2のリモートデータ長ごとにビット列の排他的論理和によって復号して前記第1のローカルデータを生成し、
前記第7のステップと前記第8のステップとの間で、前記第2のリモートデータを逆スクランブリングして第1のリモートデータを生成する
ことを特徴とする請求項3又は4に記載のデータの分散記憶方法。
And scrambling the first remote data to generate second remote data between the first step and the second step;
The second step generates second local data from the first local data by encrypting by exclusive OR of a bit string for each second remote data length using the first remote data as a key. And
In the third step, the second remote data is transmitted to and stored in the external storage device,
The sixth step receives the second remote data from the external storage device,
The seventh step generates the first local data from the second local data by decrypting the second remote data as a key by exclusive OR of a bit string for each second remote data length. And
5. The data according to claim 3, wherein first remote data is generated by descrambling the second remote data between the seventh step and the eighth step. 6. Distributed storage method.
データの分散記憶のために外部記憶装置と接続可能な端末において、
前記データの暗号化のために、
原データを第1のローカルデータ及び第1のリモートデータに分割し、前記外部記憶装置から前記第1のリモートデータを取得するために許容通信時間が予め決定されており、前記外部記憶装置との間の通信速度に基づいて前記許容通信時間を満たす最大データ長を算出し、前記第1のリモートデータの長さを、最大で前記第1のローカルデータの長さと等しく、且つ、前記最大データ長以下となるように決定するデータ分割手段と、
前記第1のローカルデータから、前記第1のリモートデータを鍵として暗号化して第2のローカルデータを生成する暗号化手段と、
前記第1のリモートデータを外部記憶装置へ送信して蓄積させるリモートデータ送信手段と、
前記第2のローカルデータを蓄積するローカルデータ蓄積手段と
を有することを特徴とする端末。
In a terminal that can be connected to an external storage device for distributed storage of data,
For encryption of the data,
An allowable communication time is determined in advance to divide the original data into first local data and first remote data, and acquire the first remote data from the external storage device. A maximum data length that satisfies the allowable communication time is calculated based on a communication speed between the first remote data and the length of the first remote data equal to the length of the first local data at the maximum, and Data dividing means for determining to be :
Encryption means for generating second local data by encrypting the first remote data from the first local data as a key;
Remote data transmission means for transmitting and storing the first remote data to an external storage device;
And a local data storage means for storing the second local data.
前記データ分割手段は、秘密分散法に基づいて、前記原データを分割することを特徴とする請求項に記載の端末The terminal according to claim 6 , wherein the data dividing unit divides the original data based on a secret sharing method. 前記データの復号のために、
前記第1のリモートデータを前記外部記憶装置から受信するリモートデータ受信手段と、
前記ローカルデータ蓄積手段から取得した前記第2のローカルデータから、前記第1のリモートデータを鍵として復号して前記第1のローカルデータを生成する復号手段と、
前記第1のローカルデータと前記第1のリモートデータとを合成して、前記原データを生成するデータ合成手段と
を更に有することを特徴とする請求項又はに記載の端末。
For decoding the data,
Remote data receiving means for receiving the first remote data from the external storage device;
Decryption means for decrypting from the second local data acquired from the local data storage means using the first remote data as a key to generate the first local data;
The first by combining said local data first remote data terminal according to claim 6 or 7, further comprising a data combining means for generating the original data.
前記原データを圧縮して原圧縮データを生成し、該原圧縮データを前記データ分割手段へ通知するデータ圧縮手段と、
前記データ合成手段から前記原圧縮データが通知され、該原圧縮データを解凍して前記原データを生成するデータ解凍手段と
を有することを特徴とする請求項に記載の端末。
Data compression means for compressing the original data to generate original compressed data, and notifying the original compressed data to the data dividing means;
9. The terminal according to claim 8 , further comprising: a data decompressing unit that receives the original compressed data from the data synthesizing unit and decompresses the original compressed data to generate the original data.
前記データ分割手段から通知された前記第1のリモートデータをスクランブリングして前記第2のリモートデータを生成し、該第2のリモートデータを前記リモートデータ送信手段へ通知するスクランブル手段と、
前記リモートデータ受信手段から通知された前記第2のリモートデータを逆スクランブリングして前記第1のリモートデータを生成し、該第1のリモートデータを前記復号手段へ通知する逆スクランブル手段と
を更に有し、
前記暗号化手段は、前記第1のローカルデータから、前記第2のリモートデータを鍵として、第2のリモートデータ長ごとのビット列の排他的論理和によって暗号化して第2のローカルデータを生成し、
前記復号手段は、前記第2のローカルデータから、前記第2のリモートデータを鍵として、第2のリモートデータ長ごとのビット列の排他的論理和によって復号して前記第1のローカルデータを生成する
ことを特徴とする請求項又はに記載の端末。
Scrambling means for generating the second remote data by scrambling the first remote data notified from the data dividing means, and notifying the remote data transmission means of the second remote data;
A descrambling means for generating the first remote data by descrambling the second remote data notified from the remote data receiving means, and notifying the decoding means of the first remote data; Have
The encryption means encrypts the first local data by using the second remote data as a key and performs exclusive OR of a bit string for each second remote data length to generate second local data. ,
The decoding means generates the first local data by decoding the second local data by using an exclusive OR of a bit string for each second remote data length using the second remote data as a key. The terminal according to claim 8 or 9 , characterized in that
データの分散記憶のために外部記憶装置と接続可能な端末に搭載されたコンピュータを機能させるプログラムにおいて、
前記データの暗号化のために、
原データを第1のローカルデータ及び第1のリモートデータに分割し、前記外部記憶装置から前記第1のリモートデータを取得するために許容通信時間が予め決定されており、前記外部記憶装置との間の通信速度に基づいて前記許容通信時間を満たす最大データ長を算出し、前記第1のリモートデータの長さを、最大で前記第1のローカルデータの長さと等しく、且つ、前記最大データ長以下となるように決定するデータ分割手段と、
前記第1のローカルデータから、前記第1のリモートデータを鍵として暗号化して第2のローカルデータを生成する暗号化手段と、
前記第1のリモートデータを外部記憶装置へ送信して蓄積させるリモートデータ送信手段と、
前記第2のローカルデータを蓄積するローカルデータ蓄積手段と
してコンピュータを機能させることを特徴とするプログラム。
In a program for functioning a computer mounted on a terminal connectable to an external storage device for distributed storage of data,
For encryption of the data,
An allowable communication time is determined in advance to divide the original data into first local data and first remote data, and acquire the first remote data from the external storage device. A maximum data length that satisfies the allowable communication time is calculated based on a communication speed between the first remote data and the length of the first remote data equal to the length of the first local data at the maximum, and the maximum data length Data dividing means for determining to be :
Encryption means for generating second local data by encrypting the first remote data from the first local data as a key;
Remote data transmission means for transmitting and storing the first remote data to an external storage device;
A program for causing a computer to function as local data storage means for storing the second local data.
前記データの復号のために、
前記第1のリモートデータを前記外部記憶装置から受信するリモートデータ受信手段と、
前記ローカルデータ蓄積手段から取得した前記第2のローカルデータから、前記第1のリモートデータを鍵として復号して前記第1のローカルデータを生成する復号手段と、
前記第1のローカルデータと前記第1のリモートデータとを合成して、前記原データを生成するデータ合成手段と
してコンピュータを更に機能させることを特徴とする請求項1に記載のプログラム。
For decoding the data,
Remote data receiving means for receiving the first remote data from the external storage device;
Decryption means for decrypting from the second local data acquired from the local data storage means using the first remote data as a key to generate the first local data;
The first by combining said local data first remote data, the program according to claim 1 1, characterized in that the computer is further caused to function as a data synthesizing means for generating original data.
JP2005312657A 2005-10-27 2005-10-27 Distributed data storage method, terminal, and program Expired - Fee Related JP4784260B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005312657A JP4784260B2 (en) 2005-10-27 2005-10-27 Distributed data storage method, terminal, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005312657A JP4784260B2 (en) 2005-10-27 2005-10-27 Distributed data storage method, terminal, and program

Publications (2)

Publication Number Publication Date
JP2007122336A JP2007122336A (en) 2007-05-17
JP4784260B2 true JP4784260B2 (en) 2011-10-05

Family

ID=38146130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005312657A Expired - Fee Related JP4784260B2 (en) 2005-10-27 2005-10-27 Distributed data storage method, terminal, and program

Country Status (1)

Country Link
JP (1) JP4784260B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4916915B2 (en) * 2007-02-28 2012-04-18 Kddi株式会社 Terminal device, data management device, and computer program
US8233624B2 (en) * 2007-05-25 2012-07-31 Splitstreem Oy Method and apparatus for securing data in a memory device
JP5065795B2 (en) * 2007-08-03 2012-11-07 Kddi株式会社 Distributed information generating apparatus, secret information restoring apparatus, shared information generating method, secret information restoring method, and program
JP5113630B2 (en) * 2008-05-30 2013-01-09 株式会社日立製作所 Secret sharing method, program, and apparatus
KR101535530B1 (en) * 2013-06-12 2015-07-09 서울대학교산학협력단 File distribution management apparatus and method for recovering original file with at least pre-determined number file fragments
KR101530441B1 (en) * 2013-11-28 2015-06-19 고려대학교 산학협력단 Method and apparatus for processing data based on column
WO2016076460A1 (en) * 2014-11-13 2016-05-19 서울대학교산학협력단 File distribution management apparatus and method enabling restoration with predetermined number of file fragments or more
KR102249826B1 (en) * 2015-01-06 2021-05-11 삼성전자주식회사 Method and electronic device for managing data
JP6221196B1 (en) 2017-03-15 2017-11-01 株式会社ウフル Log management system, log management apparatus, method, and computer program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10336746A (en) * 1997-05-30 1998-12-18 Matsushita Electric Ind Co Ltd Portable terminal equipment and radio data communication system using the same
JP2004029934A (en) * 2002-06-21 2004-01-29 Ntt Me Corp Data storage method and device of discrete redundant distribution system and its program
JP2004048256A (en) * 2002-07-10 2004-02-12 Toshiba Corp Encryption method, encryption system, and storage medium
JP2004053968A (en) * 2002-07-22 2004-02-19 Global Friendship Inc Electronic information transmitting system
JP4245906B2 (en) * 2002-11-20 2009-04-02 アルパイン株式会社 Data distribution system and method
JP3671188B2 (en) * 2003-10-21 2005-07-13 傳田アソシエイツ株式会社 Authentication system and authentication method
JP2006163629A (en) * 2004-12-03 2006-06-22 Oki Electric Ind Co Ltd Information distribution system, information distribution server, user terminal and method of distributing information

Also Published As

Publication number Publication date
JP2007122336A (en) 2007-05-17

Similar Documents

Publication Publication Date Title
JP4784260B2 (en) Distributed data storage method, terminal, and program
US10187200B1 (en) System and method for generating a multi-stage key for use in cryptographic operations
US7260215B2 (en) Method for encryption in an un-trusted environment
JP3339688B2 (en) Non-deterministic mixture generator stream encryption system
AU2008327506B2 (en) Method and system for encryption of data
KR101829267B1 (en) Homomorphic Encryption Method by Which Ciphertext Size Is Reduced
JP6301471B2 (en) ID authentication system, apparatus, method, and ID authentication request apparatus
US20030084308A1 (en) Memory encryption
CN109067517B (en) Encryption and decryption device, encryption and decryption method and communication method of hidden key
KR20150073753A (en) Apparatus and methdo for giving the compressed encryption functionality to integer-based homomorphic encryption schemes
US9059838B2 (en) Encryption algorithm with randomized buffer
KR100826522B1 (en) Apparatus and method for dynamic ciphering in mobile communication system
KR101424972B1 (en) Method for using contents with a mobile card, host device, and mobile card
JP4703805B2 (en) ENCRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION DEVICE, DECRYPTION METHOD, AND COMMUNICATION SYSTEM
Sharma et al. Compression and encryption: An integrated approach
Sharma et al. Digital Image Encryption Techniques: A Review
KR101566416B1 (en) Method and device of data encription with increased security
US8130945B2 (en) Encrypted cryptography system
JP2005114870A (en) Cryptocommunication system
Kim et al. An efficient implementation of RC4 cipher for encrypting multimedia files on mobile devices
TWI665901B (en) Encryption method and decryption method
Arora et al. Performance analysis of cryptography algorithms
CN109962776B (en) Encryption method and decryption method
WO2001041357A1 (en) Encryption of partitioned data blocks utilizing public key methods and random numbers
KR102347605B1 (en) System of block encryption and decryption with weather data based on location and time and operating method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110408

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: 20110614

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110627

R150 Certificate of patent or registration of utility model

Ref document number: 4784260

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees