JP2005229178A - 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム - Google Patents

機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム Download PDF

Info

Publication number
JP2005229178A
JP2005229178A JP2004033352A JP2004033352A JP2005229178A JP 2005229178 A JP2005229178 A JP 2005229178A JP 2004033352 A JP2004033352 A JP 2004033352A JP 2004033352 A JP2004033352 A JP 2004033352A JP 2005229178 A JP2005229178 A JP 2005229178A
Authority
JP
Japan
Prior art keywords
data
divided
confidential information
divided data
processing unit
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
Application number
JP2004033352A
Other languages
English (en)
Other versions
JP4602675B2 (ja
JP2005229178A5 (ja
Inventor
Makoto Kagaya
誠 加賀谷
Toshihiko Ogiwara
利彦 荻原
Susumu Nomura
進 野村
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.)
NTT Communications Corp
Original Assignee
NTT Communications 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
Priority to JP2004033352A priority Critical patent/JP4602675B2/ja
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority to PCT/JP2005/002514 priority patent/WO2005076518A1/en
Priority to US10/588,155 priority patent/US8085938B2/en
Priority to EP05710362.4A priority patent/EP1714423B1/en
Priority to CN2005800043932A priority patent/CN1918844B/zh
Publication of JP2005229178A publication Critical patent/JP2005229178A/ja
Publication of JP2005229178A5 publication Critical patent/JP2005229178A5/ja
Priority to HK07105595.1A priority patent/HK1099152A1/xx
Application granted granted Critical
Publication of JP4602675B2 publication Critical patent/JP4602675B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

【課題】 ユーザが保持するサービス利用のための情報を紛失しても、機密情報を変更することなくサービスの提供を受けることができる。
【解決手段】 端末2が機密情報Sを機密情報管理システム1に送信すると、機密情報管理システム1は、秘密分散法Aを用いて機密情報Sを複数のデータに分割し、分割データを保管サーバ3a,3b及び端末2に保管させる。サービス利用時は、端末2から分割データを機密情報管理システム1に送信すると、機密情報管理システム1は、該分割データおよび保管サーバ3a,3bの分割データから秘密分散法Aを用いて機密情報Sを復元し、機密情報Sをサービス提供システム5に送信する。ユーザが分割データを紛失した際は、機密情報管理システム1は、保管サーバ3a,3bの分割データから秘密分散法Aを用いて再分割データを生成し、保管サーバ3a,3b及び端末2に保管させる。
【選択図】 図1

Description

本発明は、利用者の機密情報を管理する機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラムに関する。
IT(Information Technology)技術の発展に伴って、パスワード、クレジット番号などが入った携帯電話および携帯情報端末、並びにPKI秘密鍵が入ったICカードなどを用いて、所望のサービスの提供を受ける機会が増えている。例えば、ユーザのパスワードを使用してログインし、情報を閲覧したり、ユーザのクレジットカード番号を使用して物品購入したりするようなサービスが普及している。
このような機会において、ユーザが上述した機密情報(例えば、パスワード、クレジット番号およびPKI秘密鍵など)が記憶されている携帯電話、携帯情報端末およびICカードなどを紛失した場合には、紛失した旨を発行元に申告して、該機密情報を失効させ、新たに機密情報を再発行してもらう必要がある。
電子認証システム推進検討会、"企業間電子商取引システムにおける電子認証システムの仕様に関するガイドライン"、[Online]、[平成16年1月20日検索]、インターネット<URL:http://www.ecom.or.jp/home/g12.pdf>
そのため、ユーザが保持する機密情報を紛失した際には、セキュリティ維持のため、紛失した機密情報を失効させるとともに、機密情報を変更しなければならないという課題がある。また、機密情報を変更するため、再発行まではサービスの提供を受けることができないという課題もある。
本発明は、上記の課題を解決するためになされたものであり、ユーザが保持する携帯電話、携帯情報端末、ICカードを紛失しても、機密情報を変更することなくサービスの提供を受けることが可能な機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラムを提供することを目的とする。
上記目的を達成するため、請求項1記載の本発明は、利用者の機密情報を秘密分散法を用いて管理する機密情報管理システムであって、前記秘密分散法は、前記機密情報を所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記機密情報を処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記機密情報のビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、前記機密情報を前記秘密分散法を用いて複数の分割データに分割するデータ分割手段と、前記複数の分割データの一部を、前記利用者が保持するための分割データとして第1の記憶部に記憶させるとともに、前記複数の分割データの残りを、1又は複数の第2の記憶部それぞれに記憶させるデータ記憶手段と、必要に応じて前記秘密分散法を用いて、前記第2の記憶部に記憶された各分割データのうち、復元可能な所定の個数の分割データの組み合わせから、複数の再分割データを作成するデータ再分割手段と、前記複数の再分割データの一部を新たな分割データとして前記第1の記憶部に記憶させるとともに、前記第2の記憶部に記憶された各分割データを無効にして、前記複数の再分割データの残りを新たな分割データとして前記第2の記憶部それぞれに記憶させるデータ再記憶手段と、を有することを特徴とする。
請求項2記載の本発明は、請求項1記載の発明において、前記機密情報を使用する場合には、前記利用者が保持する分割データを取得し、該分割データと前記第2の記憶部に記憶された各分割データのうち前記所定の個数の分割データの組み合わせから前記秘密分散法を用いて前記機密情報を復元するデータ復元手段を有することを特徴とする。
請求項3記載の本発明は、請求項2記載の発明において、前記機密情報を使用するときは、使用した事実を使用履歴情報として記憶する使用履歴記憶手段を有することを特徴とする。
請求項4記載の本発明は、請求項1記載の発明において、前記機密情報を使用する場合には、前記第2の記憶部に記憶された各分割データのうち、前記所定の個数から前記利用者が保持する分割データの個数を引いた個数の分割データの組み合わせを前記利用者が有する端末に通信ネットワークを介して送信する分割データ送信手段を有することを特徴とする。
請求項5記載の本発明は、請求項1乃至4のいずれか1項に記載の発明において、前記データ再分割手段は、前記所定の個数の分割データの組み合わせに含まれる各分割データを構成するそれぞれの分割部分データ同士の排他的論理和演算によって、前記利用者が保持した分割データを生成することを特徴とする。
請求項6記載の本発明は、請求項1乃至5のいずれか1項に記載の発明において、前記秘密分散法は、前記各分割部分データと、該各分割部分データを生成する際に用いたそれぞれの乱数部分データに対応する新たな乱数部分データそれぞれとの排他的論理和演算により、各再分割部分データを生成することを特徴とする。
請求項7記載の本発明は、前記秘密分散法は、さらに、前記各再分割部分データと、該各再分割部分データ生成前の各分割部分データを生成する際に用いた古い乱数部分データそれぞれとの排他的論理和演算により、前記再分割部分データから古い乱数部分データを消去することを特徴とする。
請求項8記載の本発明は、請求項1乃至7のいずれか1項に記載の発明において、前記第1の記憶部に記憶される分割データを通信ネットワークを介して前記利用者が有する端末に送信する送信手段を有することを特徴とする。
請求項9記載の本発明は、請求項1乃至8のいずれか1項に記載の発明において、前記機密情報を前記利用者が有する端末から通信ネットワークを介して受信する受信手段を有することを特徴とする機密情報管理システム。
請求項10記載の本発明は、利用者の機密情報を秘密分散法を用いて管理する機密情報管理方法であって、前記秘密分散法は、前記機密情報を所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記機密情報を処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記機密情報のビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、前記機密情報を前記秘密分散法を用いて複数の分割データに分割するデータ分割ステップと、前記複数の分割データの一部を、前記利用者が保持するための分割データとして第1の記憶部に記憶させるとともに、前記複数の分割データの残りを、1又は複数の第2の記憶部それぞれに記憶させるデータ記憶ステップと、必要に応じて前記秘密分散法を用いて、前記第2の記憶部に記憶された各分割データのうち、復元可能な所定の個数の分割データの組み合わせから、複数の再分割データを作成するデータ再分割ステップと、前記複数の再分割データの一部を新たな分割データとして前記第1の記憶部に記憶させるとともに、前記第2の記憶部に記憶された各分割データを無効にして、前記複数の再分割データの残りを新たな分割データとして前記第2の記憶部それぞれに記憶させるデータ再記憶ステップと、を有することを特徴とする。
請求項11記載の本発明は、利用者の機密情報を秘密分散法を用いて管理するためのコンピュータが読み取り可能な機密情報管理プログラムであって、前記秘密分散法は、前記機密情報を所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記機密情報を処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記機密情報のビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、前記機密情報を前記秘密分散法を用いて複数の分割データに分割するデータ分割ステップと、前記複数の分割データの一部を、前記利用者が保持するための分割データとして第1の記憶部に記憶させるとともに、前記複数の分割データの残りを、1又は複数の第2の記憶部それぞれに記憶させるデータ記憶ステップと、必要に応じて前記秘密分散法を用いて、前記第2の記憶部に記憶された各分割データのうち、復元可能な所定の個数の分割データの組み合わせから、複数の再分割データを作成するデータ再分割ステップと、前記複数の再分割データの一部を新たな分割データとして前記第1の記憶部に記憶させるとともに、前記第2の記憶部に記憶された各分割データを無効にして、前記複数の再分割データの残りを新たな分割データとして前記第2の記憶部それぞれに記憶させるデータ再記憶ステップと、を前記コンピュータに実行させることを特徴とする。
請求項12記載の本発明は、請求項11記載の発明において、前記機密情報を使用する場合には、前記利用者が保持する分割データを取得し、該分割データと前記第2の記憶部に記憶された各分割データのうち前記所定の個数の分割データの組み合わせから前記秘密分散法を用いて前記機密情報を復元するデータ復元ステップを前記コンピュータに実行させることを特徴とする。
請求項13記載の本発明は、請求項11記載の発明において、前記機密情報を使用する場合には、前記第2の記憶部に記憶された各分割データのうち、前記所定の個数から前記利用者が保持する分割データの個数を引いた個数の分割データの組み合わせを前記利用者が有する端末に通信ネットワークを介して送信する分割データ送信ステップを前記コンピュータに実行させることを特徴とする。
請求項14記載の本発明は、請求項4記載の機密情報管理システムから送信された分割データを用いて前記利用者の機密情報を使用するための端末が読み取り可能な機密情報管理システム用端末プログラムであって、前記利用者が保持する分割データを取得し、該分割データと送信された分割データの組み合わせから前記秘密分散法を用いて前記機密情報を復元し、前記サービスを提供するシステムに通信ネットワークを介して送信するステップを前記端末に実行させることを特徴とする。
本発明によれば、機密情報を秘密分散法を用いて複数に分割して、そのうちの一部をユーザに保持させるので、ユーザが保持する分割データの紛失があったとしても、残りの分割データから機密情報を復元できるとともに、秘密分散法を用いて新たに再分割データを生成し、該再分割データの一部を新たにユーザに保持させるので、機密情報の変更は不要である。
この結果、ユーザが保持する分割データの紛失があったとしても、機密情報の再発行処理をすることなく、紛失の申告をするだけで、再びサービス提供を受けることができる。
特に、本発明における秘密分散法は、機密情報を所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、機密情報を処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、機密情報のビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、所望の分割数の再分割データを生成するので、機密情報を復元することなく、機密情報を再分割することができる。
これにより、ユーザの機密情報をよりセキュアに管理することができる。
以下、本発明の実施の形態を図面を用いて説明する。
<システム構成>
図1は、本発明の実施の形態に係る機密情報管理システム1が適用されるコンピュータシステム10全体の概略構成を示すブロック図である。
図1に示すように、機密情報管理システム1は、インターネット等の通信ネットワーク4を介してユーザが備えるクライアント端末2(以下、単に端末とよぶ)と接続されているとともに、通信ネットワーク4を介してユーザに所定のサービスを提供するサービス提供システム5と接続されている。また、機密情報管理システム1は、ハードウェア的に互いに独立した複数(本実施の形態では2とする)のデータ保管用サーバコンピュータ(以下、単に保管サーバとよぶ)3a,3bと接続されている。
尚、本実施の形態における機密情報とは、ユーザがサービス提供システム5を利用するために必要なパスワード、クレジットカード番号、PKI秘密鍵などの個人情報をいう。
上記構成のコンピュータシステム10においては、端末2が所定のサービスをサービス提供システム5から受ける際に必要とされる機密情報Sを機密情報管理システム1に送信すると、機密情報管理システム1において後述する独自の秘密分散アルゴリズムによる秘密分散法(以下、秘密分散法Aとよぶ)を用いて該機密情報Sを複数のデータに分割し、該分割データを保管サーバ3a,3bおよび端末2にそれぞれ送信し、保管させるようになっている。この結果、機密情報Sが機密情報管理システム1に登録されたことになり、ユーザはサービス利用の準備が整ったことになる。尚、図1では、機密情報管理システム1は、端末2からの機密情報Sを3つの分割データD(1),D(2) ,D(3)に分割し、それぞれを複数の保管サーバ3a,3bおよび端末2に保管するようになっている。
また、サービス利用時は、端末2から機密情報管理システム1に対して、分割データD(3)を送信すると、機密情報管理システム1は、該分割データD(3)および保管サーバ3a,3bの分割データD(1),D(2)のうち任意の2つから秘密分散法Aを用いてもとの機密情報Sを復元し、該機密情報Sをサービス提供システム5に送信するようになっている。これにより、ユーザは、所定のサービスの提供を受けることができる。
尚、本実施の形態においては、機密情報Sを3分割して保管する場合を例に説明するが、本発明は機密情報Sを3分割する場合に限定されるわけではなく、n分割(n=2以上の整数)の場合にも適用されるものである。また、端末2に送信される分割データは1つとは限らず複数であってもよいものである。さらに、本実施の形態においては、分割データD(1),D(2)を保管サーバ3、分割データD(3)を利用端末2に割り当てたが、どの分割データをどの保管サーバ3および利用端末2に割り当ててもよいものである。
機密情報管理システム1は、詳しくは、機密情報Sから秘密分散法Aを用いて複数の分割データDに分割する分割データ生成部11、複数の分割データDから秘密分散法Aを用いて元データ(機密情報)Sを復元する元データ復元部12、機密情報Sから複数の分割データDを生成するために使用される乱数Rおよび再分割データD’を生成するために使用される乱数R’を発生させる乱数発生部13、ユーザが保持する分割データを紛失した際には、秘密分散法Aを用いて保管サーバ3に保管された分割データから複数の再分割データD’を生成する再分割データ生成部14、機密情報管理システム1が機密情報Sを復元しサービス提供システム5に機密情報Sを送信した事実を使用履歴として生成する使用履歴生成部15、並びに端末2、保管サーバ3a,3b、およびサービス提供システム5とそれぞれとデータの送受信を行う通信部16を具備する構成となっている。
また、端末2は、ユーザが携行可能な携帯情報端末、携帯電話、ICカードなどの携帯記憶媒体などが想定されるが、他にモバイルを用途としないコンピュータ機器であってもよいものである。
ここで、上述した機密情報管理システム1、端末2、保管サーバ3a,3bおよびサービス提供システム5は、それぞれ少なくとも演算機能および制御機能を備えた中央演算装置(CPU)、プログラムやデータを格納する機能を有するRAM等からなる主記憶装置(メモリ)を有する電子的な装置から構成されているものである。また、上記装置およびシステムは、主記憶装置の他、ハードディスクなどの補助記憶装置を具備していてもよい。
また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置またはハードディスクに格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。
<秘密分散法A>
ここで、本実施の形態における独自の秘密分散アルゴリズムによる秘密分散法Aについて説明する。
本実施形態における元データ(機密情報Sに相当する)の分割および復元では、元データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するが、この場合の処理単位ビット長は任意の値に設定することができ、元データを処理単位ビット長毎に区分けして、この元部分データから分割部分データを分割数より1少ない数ずつ生成するので、元データのビット長が処理単位ビット長の(分割数-1)倍の整数倍に一致しない場合は、元データの末尾の部分に0を埋めるなどして元データのビット長を処理単位ビット長の(分割数-1)倍の整数倍に合わせることにより本実施形態を適用することができる。
また、上述した乱数も(分割数-1)個の元部分データの各々に対応して処理単位ビット長のビット長を有する(分割数-1)個の乱数部分データとして乱数発生部13から生成される。すなわち、乱数は処理単位ビット長毎に区分けされて、処理単位ビット長のビット長を有する(分割数-1)個の乱数部分データとして生成される。更に、元データは処理単位ビット長に基づいて所望の分割数の分割データに分割されるが、この分割データの各々も(分割数-1)個の元部分データの各々に対応して処理単位ビット長のビット長を有する(分割数-1)個の分割部分データとして生成される。すなわち、分割データの各々は、処理単位ビット長毎に区分けされて、処理単位ビット長のビット長を有する(分割数-1)個の分割部分データとして生成される。
なお、以下の説明では、上述した元データ、乱数、分割データ、分割数および処理単位ビット長をそれぞれS,R,D,nおよびbで表すとともに、また複数のデータや乱数などのうちの1つを表わす変数としてi(=1〜n)およびj(=1〜n-1)を用い、(分割数n-1)個の元部分データ、(分割数n-1)個の乱数部分データ、および分割数n個の分割データDのそれぞれのうちの1つをそれぞれS (j),R(j)およびD(i)で表記し、更に各分割データD(i)を構成する複数(n-1)の分割部分データをD(i,j)で表記するものとする。すなわち、S (j)は、元データSの先頭から処理単位ビット長毎に区分けして1番から順に採番した時のj番目の元部分データを表すものである。
この表記を用いると、元データ、乱数データ、分割データとこれらをそれぞれ構成する元部分データ、乱数部分データ、分割部分データは、次のように表記される。
元データS=(n-1)個の元部分データS(j)
=S(1),S(2),…,S(n-1)
乱数R=(n-1)個の乱数部分データR(j)
=R(1),R(2),…,R(n-1)
n個の分割データD(i)=D(1),D(2),…,D(n)
各分割部分データD(i,j)
=D(1,1),D(1,2),…,D(1,n-1)
D(2,1),D(2,2),…,D(2,n-1)
… … …
D(n,1),D(n,2),…,D(n,n-1)
(i=1〜n), (j=1〜n-1)
本実施形態は、上述したように処理単位ビット長毎に区分けされる複数の部分データに対して元部分データと乱数部分データの排他的論理和演算(XOR)を行って、詳しくは、元部分データと乱数部分データの排他的論理和演算(XOR)からなる定義式を用いて、元データの分割を行うことを特徴とするものであり、上述したデータ分割処理に多項式や剰余演算を用いる方法に比較して、コンピュータ処理に適したビット演算である排他的論理和(XOR)演算を用いることにより高速かつ高性能な演算処理能力を必要とせず、大容量のデータに対しても簡単な演算処理を繰り返して分割データを生成することができるとともに、また分割データの保管に必要となる記憶容量も分割数に比例した倍数の容量よりも小さくすることができる。更に、任意に定めた一定の長さ毎にデータの先頭から順に演算処理を行うストリーム処理により分割データが生成される。
なお、本実施形態で使用する排他的論理和演算(XOR)は、以下の説明では、「*」なる演算記号で表すことにするが、この排他的論理和演算のビット毎の演算規則での各演算結果は下記のとおりである。
0 * 0 の演算結果は 0
0 * 1 の演算結果は 1
1 * 0 の演算結果は 1
1 * 1 の演算結果は 0
また、XOR演算は交換法則、結合法則が成り立つ。すなわち、
a*b=b*a
(a*b)*c=a*(b*c)が成り立つことが数学的に証明される。
また、a*a=0,a*0=0*a=aが成り立つ。
ここでa,b,cは同じ長さのビット列を表し、0はこれらと同じ長さですべて「0」からなるビット列を表す。
次に、フローチャートなどの図面も参照して、本実施の形態における秘密分散法Aの作用について説明するが、この説明の前に図2乃至6、図8および図10のフローチャートに示す記号の定義について説明する。
(1)Πi=1 nA(i)は、A(1)*A(2)*…A(n)を意味するものとする。
(2)c(j,i,k)を(n-1)×(n-1)行列であるU[n-1,n-1]×(P[n-1,n-1])^(j-1)のi行k列の値と定義する。
このときQ(j,i,k)を下記のように定義する。
c(j,i,k)=1 のとき Q(j,i,k)=R((n-1)×m+k)
c(j,i,k)=0 のとき Q(j,i,k)=0
ただし、mはm≧0の整数を表す。
(3)U[n,n]とは、n×n行列であって、i行j列の値をu(i,j)で表すと、
i+j<=n+1 のとき u(i,j)=1
i+j>n+1 のとき u(i,j)=0
である行列を意味するものとし、「上三角行列」ということとする。具体的には下記のような行列である。
Figure 2005229178
(4)P[n,n]とは、n×n行列であって、i行j列の値をp(i,j)で表すと、
j=i+1 のとき p(i,j)=1
i=1,j=n のとき p(i,j)=1
上記以外のとき p(i,j)=0
である行列を意味するものとし、「回転行列」ということとする。具体的には下記のような行列であり、他の行列の右側からかけると当該他の行列の1列目を2列目へ、2列目を3列目へ、…,n-1列目をn列目へ、n列目を1列目へ移動させる作用がある。つまり、行列Pを他の行列に右側から複数回かけると、その回数分だけ各列を右方向へ回転させるように移動させることができる。
Figure 2005229178
(5)A,Bをn×n行列とすると、A×Bとは行列AとBの積を意味するものとする。行列の成分同士の計算規則は通常の数学で用いるものと同じである。
(6)Aをn×n行列とし、iを整数とすると、A^iとは行列Aのi個の積を意味するものとする。また、A^0とは単位行列Eを意味するものとする。
(7)単位行列E[n,n]とは、n×n行列であって、i行j列の値をe(i,j)で表すと、
i=j のとき e(i,j)=1
上記以外のとき e(i,j)=0
である行列を意味するものとする。具体的には下記のような行列である。Aを任意のn×n行列とすると
A×E=E×A=A
となる性質がある。
Figure 2005229178
次に、図2に示すフローチャートおよび図3および図4に示す具体的データなどを参照して、まず元データSの分割処理について説明する。これは、機密情報管理システム1の分割データ生成部11の機能を説明するものである。
まず、元データSを機密情報管理システム1に与える(図2のステップS201)。なお、本例では、元データSは、16ビットの「10110010 00110111」とする。
次に、機密情報管理システム1は、分割数nとして3と指示する(ステップS203)。なお、この分割数n=3に従って機密情報管理システム1で生成される3個の分割データをD(1),D(2),D(3)とする。この分割データD(1),D(2),D(3)は、すべて元データのビット長と同じ16ビット長のデータである。
それから、元データSを分割するために使用される処理単位ビット長bを8ビットと決定する(ステップS205)。この処理単位ビット長bは、利用者が端末2から機密情報管理システム1に対して指定してもよいし、または機密情報管理システム1において予め定められた値を用いてもよい。なお、処理単位ビット長bは、任意のビット数でよいが、ここでは元データSを割り切れることができる8ビットとしている。従って、上記16ビットの「10110010 00110111」の元データSは、8ビットの処理単位ビット長で区分けされた場合の2個の元分割データS(1)およびS(2)は、それぞれ「10110010」および「00110111」となる。
次のステップS207では、元データSのビット長が8×2の整数倍であるか否かを判定し、整数倍でない場合には、元データSの末尾を0で埋めて、8×2の整数倍に合わせる。なお、本例のように処理単位ビット長bが8ビットおよび分割数nが3に設定された場合における分割処理は、元データSのビット長として16ビットに限られるものでなく、処理単位ビット長b×(分割数n-1)=8×2の整数倍の元データSに対して有効なものである。
次に、ステップS209では、変数m、すなわち上述した整数倍を意味する変数mを0に設定する。本例のように、元データSが処理単位ビット長b×(分割数n-1)=8×2=16ビットである場合には、変数mは0であるが、2倍の32ビットの場合には、変数mは1となり、3倍の48ビットの場合には、変数mは2となる。
次に、元データSの8×2×m+1ビット目から8×2ビット分のデータが存在するか否かが判定される(ステップS211)。これは、このステップS211以降に示す分割処理を元データSの変数mで特定される処理単位ビット長b×(分割数n-1)=8×2=16ビットに対して行った後、元データSとして次の16ビットがあるか否かを判定しているものである。本例のように元データSが16ビットである場合には、16ビットの元データSに対してステップS211以降の分割処理を1回行うと、後述するステップS219で変数mが+1されるが、本例の元データSでは変数mがm+1の場合に相当する17ビット以降のデータは存在しないので、ステップS211からステップS221に進むことになるが、今の場合は、変数mは0であるので、元データSの8×2×m+1ビット目は、8×2×0+1=1となり、元データSの16ビットの1ビット目から8×2ビット分にデータが存在するため、ステップS213に進む。
ステップS213では、変数jを1から2(=分割数n-1)まで変えて、元データSの8×(2×m+j-1)+1ビット目から8ビット分(=処理単位ビット長)のデータを元部分データS(2×m+j)に設定し、これにより元データSを処理単位ビット長で区分けした2(分割数n-1)個の元部分データS(1),S(2)を次のように生成する。
元データS=S(1),S(2)
第1の元部分データS(1)=「10110010」
第2の元部分データS(2)=「00110111」
次に、変数jを1から2(=分割数n-1)まで変えて、乱数部分データR(2×m+j)に乱数発生部13から発生する8ビットの長さの乱数を設定し、これにより乱数Rを処理単位ビット長で区分けした2(分割数n-1)個の乱数部分データR(1),R(2)を次のように生成する(ステップS215)。
乱数R=R(1),R(2)
第1の乱数部分データR(1)=「10110001」
第2の乱数部分データR(2)=「00110101」
次に、ステップS217において、変数iを1から3(=分割数n)まで変えるとともに、更に各変数iにおいて変数jを1から2(=分割数n-1)まで変えながら、ステップS217に示す分割データを生成するための元部分データと乱数部分データの排他的論理和からなる定義式により複数の分割データD(i)の各々を構成する各分割部分データD(i,2×m+j)を生成する。この結果、次に示すような分割データDが生成される。
分割データD
=3個の分割データD(i)=D(1),D(2),D(3)
第1の分割データD(1)
=2個の分割部分データD(1,j)=D(1,1),D(1,2)
=「00110110」,「10110011」
第2の分割データD(2)
=2個の分割部分データD(2,j)=D(2,1),D(2,2)
=「00000011」,「00000010」
第3の分割データD(3)
=2個の分割部分データD(3,j)=D(3,1),D(3,2)
=「10110001」,「00110101」
なお、各分割部分データ(i,j)を生成するためのステップS217に示す定義式は、本例のように分割数n=3の場合には、具体的には図4に示す表に記載されているものとなる。図4に示す表から、分割部分データD(1,1)を生成するための定義式はS(1)*R(1)*R(2)であり、D(1,2)の定義式はS(2)*R(1)*R(2)であり、D(2,1)の定義式はS(1)*R(1)であり、D(2,2)の定義式はS(2)*R(2)であり、D(3,1)の定義式はR(1)であり、D(3,2)の定義式はR(2)である。また、図4に示す表にはm>0の場合の任意の整数についての一般的な定義式も記載されている。
このように整数倍を意味する変数m=0の場合について分割データDを生成した後、次に変数mを1増やし(ステップS219)、ステップS211に戻り、変数m+1に該当する元データSの17ビット以降について同様の分割処理を行おうとするが、本例の元データSは16ビットであり、17ビット以降のデータは存在しないので、ステップS211からステップS221に進み、上述したように生成した分割データD(1),D(2),D(3)を保管サーバ3及び端末2にそれぞれ保存して、分割処理を終了する。なお、このように保管された分割データD(1),D(2),D(3)はそれぞれ単独では元データが推測できない。
ここで、上述した図2のフローチャートのステップS217における定義式による分割データの生成処理、具体的には分割数n=3の場合の分割データの生成処理について詳しく説明する。
まず、整数倍を意味する変数m=0の場合には、ステップS217に示す定義式から各分割データD(i)=D(1)〜D(3)の各々を構成する各分割部分データD(i,2×m+j)=D(i,j)(i=1〜3,j=1〜2)は、次のようになる。
D(1,1)=S(1)*Q(1,1,1)*Q(1,1,2)
D(1,2)=S(2)*Q(2,1,1)*Q(2,1,2)
D(2,1)=S(1)*Q(1,2,1)*Q(1,2,2)
D(2,2)=S(2)*Q(2,2,1)*Q(2,2,2)
D(3,1)=R(1)
D(3,2)=R(2)
上記の6つの式のうち上から4つの式に含まれるQ(j,i,k)を具体的に求める。
これはc(j,i,k)を2×2行列であるU[2,2]×(P[2,2])^(j-1)のi行k列の値としたとき下記のように定義される。
c(j,i,k)=1 のとき Q(j,i,k)=R(k)
c(j,i,k)=0 のとき Q(j,i,k)=0
ここで、
j=1のときは
Figure 2005229178
j=2のときは
Figure 2005229178
これを用いると、各分割部分データD(i,j)は次のような定義式により生成される。
D(1,1)=S(1)*Q(1,1,1)*Q(1,1,2)=S(1)*R(1)*R(2)
D(1,2)=S(2)*Q(2,1,1)*Q(2,1,2)=S(2)*R(1)*R(2)
D(2,1)=S(1)*Q(1,2,1)*Q(1,2,2)=S(1)*R(1)*0=S(1)*R(1)
D(2,2)=S(2)*Q(2,2,1)*Q(2,2,2)=S(2)*0*R(2)=S(2)*R(2)
上述した各分割部分データD(i,j)を生成するための定義式は、図3にも図示されている。
図3は、上述したように16ビットの元データSを8ビットの処理単位ビット長に基づいて分割数n=3で3分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。
ここで、上述した定義式により分割データD(1),D(2),D(3)および各分割部分データD(1,1),D(1,2),D(2,1),D(2,2),D(3,1),D(3,2)を生成する過程と定義式の一般形について説明する。
まず、第1の分割データD(1)に対しては、第1の分割部分データD(1,1)は、上述した定義式S(1)*R(1)*R(2)で定義され、第2の分割部分データD(1,2)は定義式S(2)*R(1)*R(2)で定義される。なお、この定義式の一般形は、D(1,j)に対してはS(j)*R(j)*R(j+1)であり、D(1,j+1)に対してS(j+1)*R(j)*R(j+1)である(jは奇数とする)。定義式に従って計算すると、D(1,1)は00110110, D(1,2)は10110011となるので、D(1)は00110110 10110011である。なお、定義式の一般形は、図4にまとめて示されている。
また、第2の分割データD(2)に対しては、D(2,1)はS(1)*R(1)で定義され、D(2,2)はS(2)*R(2)で定義される。この定義式の一般形は、D(2,j)に対してはS(j)*R(j)であり、D(2,j+1)に対してはS(j+1)*R(j+1)である(jは奇数とする)。定義式に従って計算すると、D(2,1)は00000011, D(2,2)は00000010となるので、D(2)は00000011 00000010である。
更に第3の分割データD(3)に対しては、D(3,1)はR(1)で定義され、D(3,2)はR(2)で定義される。この定義式の一般形は、D(3,j)に対してはR(j)であり、D(3,j+1)に対してはR(j+1)である(jは奇数とする)。定義式に従って計算すると、D(3,1)は10110001, D(3,2)は00110101となるので、D(3)は10110001 00110101である。
上記説明は、S,R,D(1),D(2),D(3)の長さを16ビットとしたが、データの先頭から上記分割処理を繰り返すことにより、どのような長さの元データSからでも分割データD(1),D(2),D(3)を生成することができる。また、処理単位ビット長bは任意にとることができ、元データSの先頭から順にb×2の長さ毎に上記分割処理を繰り返すことにより任意の長さの元データ、具体的には処理単位ビット長b×2の整数倍の長さの元データに対して適用することができる。なお、元データSの長さが処理単位ビット長b×2の整数倍でない場合は、例えば、データ末尾の部分を0で埋めるなどして元データSの長さを処理単位ビット長b×2の整数倍に合わせることにより上述した本実施形態の分割処理を適用することができる。
次に、図3の右側に示す表を参照して、分割データから元データを復元する処理について説明する。これは、機密情報管理システム1の元データ復元部13の機能を説明するものである。
まず、機密情報管理システム1に元データSの復元を要求する。機密情報管理システム1は、保管サーバ3および端末2から分割データD(1),D(2),D(3)を取得し、この取得した分割データD(1),D(2),D(3)から次に示すように元データSを復元する。
まず、分割部分データD(2,1),D(3,1)から第1の元部分データS(1)を次のように生成することができる。
D(2,1)*D(3,1)=(S(1)*R(1))*R(1)
=S(1)*(R(1)*R(1))
=S(1)*0
=S(1)
具体的に計算すると、D(2,1)は00000011, D(3,1)は10110001なので、S(1)は10110010となる。
また、別の分割部分データから次のように第2の元部分データS(2)を生成することができる。
D(2,2)*D(3,2)=(S(2)*R(2))*R(2)
=S(2)*(R(2)*R(2))
=S(2)*0
=S(2)
具体的に計算すると、D(2,2)は00000010, D(3,2)は00110101なので、S(2)は00110111となる。
一般に、jを奇数として、
D(2,j)*D(3,j)=(S(j)*R(j))*R(j)
=S(j)*(R(j)*R(j))
=S(j)*0
=S(j)
であるから、D(2,j)*D(3,j)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D(2,j+1)*D(3,j+1)=(S(j+1)*R(j+1))*R(j+1)
=S(j+1)*(R(j+1)*R(j+1))
=S(j+1)*0
=S(j+1)
であるから、D(2,j+1)*D(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D(1),D(3)を取得してSを復元する場合には、次のようになる。
D(1,1)*D(3,1)*D(3,2)=(S(1)*R(1)*R(2))*R(1)*R(2) =S(1)*(R(1)*R(1))*(R(2)*R(2))
=S(1)*0*0
=S(1)
であるから、D(1,1)*D(3,1)*D(3,2)を計算すれば、S(1)が求まる。具体的に計算すると、D(1,1)は00110110, D(3,1)は10110001, D(3,2)は00110101なので、S(1)は10110010となる。
また同様に、
D(1,2)*D(3,1)*D(3,2)=(S(2)*R(1)*R(2))*R(1)*R(2)
=S(2)*(R(1)*R(1))*(R(2)*R(2))
=S(2)*0*0
=S(2)
であるから、D(1,2)*D(3,1)*D(3,2)を計算すれば、S(2)が求まる。具体的に計算すると、D(1,2)は10110011, D(3,1)は10110001, D(3,2)は00110101なので、S(2)は00110111となる。
一般に、jを奇数として、
D(1,j)*D(3,j)*D(3,j+1)=(S(j)*R(j)*R(j+1))*R(j)*R(j+1)
=S(j)*(R(j)*R(j))*(R(j+1)*R(j+1))
=S(j)*0*0
=S(j)
であるから、D(1,j)*D(3,j)*D(3,j+1)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D(1,j+1)*D(3,j)*D(3,j+1)=(S(j+1)*R(j)*R(j+1))*R(j)*R(j+1)
=S(j+1)*(R(j)*R(j))*(R(j+1)*R(j+1))
=S(j+1)*0*0
=S(j+1)
であるから、D(1,j+1)*D(3,j)*D(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D(1),D(2)を取得してSを復元する場合には、次のようになる。
D(1,1)*D(2,1)=(S(1)*R(1)*R(2))*(S(1)*R(1))
=(S(1)*S(1))*(R(1)*R(1))*R(2)
=0*0*R(2)
=R(2)
であるから、D(1,1)*D(2,1)を計算すれば、R(2)が求まる。具体的に計算すると、D(1,1)は00110110, D(2,1)は00000011なので、R(2)は00110101となる。
また同様に、
D(1,2)*D(2,2)=(S(2)*R(1)*R(2))*(S(2)*R(2))
=(S(2)*S(2))*R(1)*(R(2)*R(2))
=0*R(1)*0
=R(1)
であるから、D(1,2)*D(2,2)を計算すれば、R(1)が求まる。具体的に計算すると、D(1,2)は10110011, D(2,2)は00000010なので、R(1)は10110001となる。
このR(1),R(2)を使用してS(1),S(2)を求める。
D(2,1)*R(1)=(S(1)*R(1))*R(1)
=S(1)*(R(1)*R(1))
=S(1)*0
=S(1)
であるから、D(2,1)*R(1)を計算すれば、S(1)が求まる。具体的に計算すると、D(2,1)は00000011, R(1)は10110001なので、S(1)は10110010となる。
また同様に、
D(2,2)*R(2)=(S(2)*R(2))*R(2)
=S(2)*(R(2)*R(2))
=S(2)*0
=S(2)
であるからD(2,2)*R(2)を計算すればS(2)が求まる。具体的に計算するとD(2,2)は00000010, R(2)は00110101なので、S(2)は00110111となる。
一般に、jを奇数として、
D(1,j)*D(2,j)=(S(j)*R(j)*R(j+1))*(S(j)*R(j))
=(S(j)*S(j))*(R(j)*R(j))*R(j+1)
=0*0*R(j+1)
=R(j+1)
であるからD(1,j)*D(2,j)を計算すればR(j+1)が求まる。
また同様に、
D(1,j+1)*D(2,j+1)=(S(j+1)*R(j)*R(j+1))*(S(j+1)*R(j+1))
=(S(j+1)*S(j+1))*R(j)*(R(j+1)*R(j+1))
=0*R(j)*0
=R(j)
であるからD(1,j+1)*D(2,j+1)を計算すればR(j)が求まる。
このR(j),R(j+1)を使用してS(j),S(j+1)を求める。
D(2,j)*R(j)=(S(j)*R(j))*R(j)
=S(j)*(R(j)*R(j))
=S(j)*0
=S(j)
であるからD(2,j)*R(j)を計算すればS(j)が求まる。
また同様に、
D(2,j+1)*R(j+1)=(S(j+1)*R(j+1))*R(j+1)
=S(j+1)*(R(j+1)*R(j+1))
=S(j+1)*0
=S(j+1)
であるからD(2,j+1)*R(j+1)を計算すればS(j+1)が求まる。
上述したように、元データの先頭から処理単位ビット長bに基づいて分割処理を繰り返し行って、分割データを生成した場合には、3つの分割データD(1),D(2),D(3)のすべてを用いなくても、3つの分割データのうち、2つの分割データを用いて上述したように元データを復元することができる。
本発明の他の方法として、乱数Rのビット長を元データSのビット長よりも短いものを使用して、元データの分割処理を行うことができる。
すなわち、上述した乱数RはS,D(1),D(2),D(3)と同じビット長のデータとしたが、乱数Rを元データSのビット長より短いものとし、分割データD(1),D(2),D(3)の生成にこの短いビット長の乱数Rを繰り返し用いるものである。
尚、本実施の形態に係る機密情報管理システム1においては、3つの分割データD(1),D(2),D(3)を生成するようになっていたので、分割数が3の場合について説明したが、秘密分散法Aは、分割数がnの場合にも適用できるものである。
次に、図5に示すフローチャートを参照して、分割数がnで、処理単位ビット長がbである場合の一般的な分割処理について説明する。
まず、元データSを機密情報管理システム1に与える(ステップS401)。また、機密情報管理システム1に、分割数n(n≧3である任意の整数)を指示する(ステップS403)。処理単位ビット長bを決定する(ステップS405)。なお、bは0より大きい任意の整数である。次に、元データSのビット長がb×(n-1)の整数倍であるか否かを判定し、整数倍でない場合には、元データSの末尾を0で埋める(ステップS407)。また、整数倍を意味する変数mを0に設定する(ステップS409)。
次に、元データSのb×(n-1)×m+1ビット目からb×(n-1)ビット分のデータが存在するか否かが判定される(ステップS411)。この判定の結果、データが存在しない場合は、ステップS421に進むことになるが、今の場合は、ステップS409で変数mは0に設定された場合であるので、データが存在するため、ステップS413に進む。
ステップS413では、変数jを1からn-1まで変えて、元データSのb×((n-1)×m+j-1)+1ビット目からbビット分のデータを元部分データS((n-1)×m+j)に設定する処理を繰り返し、これにより元データSを処理単位ビット長bで区分けした(n-1)個の元部分データS(1),S(2),…S(n-1)が生成される。
次に、変数jを1からn-1まで変えて、乱数部分データR((n-1)×m+j)に乱数発生部15から発生する処理単位ビット長bの乱数を設定し、これにより乱数Rを処理単位ビット長bで区分けしたn-1個の乱数部分データR(1),R(2),…R(n-1)が生成される(ステップS415)。
次に、ステップS417において、変数iを1からnまで変えるとともに、更に各変数iにおいて変数jを1からn-1まで変えながら、ステップS417に示す分割データを生成するための定義式により複数の分割データD(i)の各々を構成する各分割部分データD(i,(n-1)×m+j)を生成する。この結果、次に示すような分割データDが生成される。
分割データD
=n個の分割データD(i)=D(1),D(2),…D(n)
第1の分割データD(1)
=n-1個の分割部分データD(1,j)=D(1,1),D(1,2),…D(1,n-1)
第2の分割データD(2)
=n-1個の分割部分データD(2,j)=D(2,1),D(2,2),…D(2,n-1)
… … …
… … …
第nの分割データD(n)
=n-1個の分割部分データD(n,j)=D(n,1),D(n,2),…D(n,n-1)
このように変数m=0の場合について分割データDを生成した後、次に変数mを1増やし(ステップS419)、ステップS411に戻り、変数m=1に該当する元データSのb×(n-1)ビット以降について同様の分割処理を行う。最後にステップS411の判定の結果、元データSにデータがなくなった場合、ステップS411からステップS421に進み、上述したように生成した分割データD(1), …,D(n)を保管サーバ3および端末2にそれぞれ保存して、分割処理を終了する。
さて、上述した実施形態においては、ここの分割データのみから、それを構成する部分データ間の演算を行うことによって乱数成分が失われる場合がある。即ち、例えば3分割の場合、各分割部分データは次のように定義される。
D(1,1)=S(1)*R(1)*R(2), D(1,2)=S(2)*R(1)*R(2), …
D(2,1)=S(1)*R(1), D(2,2)=S(2)*R(2), …
D(3,1)=R(1), D(3,2)=R(2), …
D(1)について見ると、例えば、D(1,1)、D(1,2)が取得できると、
D(1,1)*D(1,2)=(S(1)*R(1)*R(2))*(S(2)*R(1)*R(2))
=S(1)*S(2)*((R(1)*R(1))*((R(2)*R(2))
=S(1)*S(2)*0*0
=S(1)*S(2)
となる。一般にはD(1,j)*D(1,j+1)=S(j)*S(j+1)である。ここでjはj=2×m+1、mはm≧0の任意の整数である。
D(1,1)、D(1,2)は、上記の定義より、元データと乱数の演算により生成されたものであり、D(1,1)、D(1,2)それぞれを見ても元データの内容は分からないが、D(1,1)*D(1,2)の演算を行うことによりS(1)*S(2)が算出される。これは元データそのものではないが、乱数成分を含んでいない。
このように乱数成分が失われると、個々の元部分データについて、例えばS(2)の一部が既知である場合にはS(1)の一部が復元可能となるので、安全ではないと考えられる。例えば、元データが標準化されたデータフォーマットに従ったデータであって、S(2)がそのデータフォーマット中のヘッダ情報やパディング(例えば、データ領域の一部を0で埋めたもの)などを含む部分であった場合には、これらのデータフォーマット固有のキーワードや固定文字列などを含むため、その内容は予測され得る。また、S(2)のうち既知の部分とS(1)*S(2)の値から、S(1)の一部が復元可能である。
この問題を解決する方法は以下の通りである。図6におけるD(1,j+1)とD(2,j+1)は、図4におけるD(1,j+1)とD(2,j+1)を入れ替えたものである。ここでjはj=2×m+1、mはm≧0の任意の整数である。
この場合、個々の分割データのみでは、それを構成する分割部分データ間で演算を行っても乱数成分が失われない。これは、図6より
D(1,j)*D(1,j+1)=(S(j)*R(j)*R(j+1))*(S(j+1)*R(j+1))
=S(j)*S(j+1)*R(j)*((R(j+1)*R(j+1))
=S(j)*S(j+1)*R(j)*0
=S(j)*S(j+1)*R(j)
D(2,j)*D(2,j+1)=(S(j)*R(j))*(S(j+1)*R(j)*R(j+1))
=S(j)*S(j+1)*(R(j)*R(j))*R(j+1))
=S(j)*S(j+1)*0*R(j+1)
=S(j)*S(j+1)*R(j+1)
D(3,j)*D(3,j+1)=R(j)*R(j+1)
となるからである。
また、この場合、3つの分割データのうち2つから、元データを復元することができるという特性は失われていない。これは、D(1)、D(2)を取得してSを復元する場合には、図6におけるD(1)、D(2)は、図4におけるD(1)、D(2)を構成する分割部分データを入れ替えたものにすぎないので、明らかにこれらから元データを復元することができ、また、D(1)とD(3)またはD(2)とD(3)を取得してSを復元する場合には、D(3)は乱数のみからなる分割データであるので、D(1)またはD(2)の分割部分データ毎に必要な個数の乱数との排他的論理和演算を行うことにより、乱数部分を消去して元データを復元することができるからである。
次に、一旦分割された分割データにさらに乱数を与えて新たな分割データ(再分割データ)を生成する再分割処理について説明する。これは、ユーザが保持する分割データを紛失した場合における機密情報管理システム1の再分割データ生成部14の機能を説明するものであるが、これに関しても、分割数が3の場合を例に説明する。尚、本実施の形態における再分割処理は、2つの方法があるので、以下、それぞれについて説明する。
(乱数追加注入方式)
図7は、乱数追加注入方式におけるデータ再分割処理の概要を説明するフローチャート図である。同図によれば、まず分割データD(1),D(2),D(3)を取得し(ステップS501)、次に、乱数発生部13で再分割の際に用いる乱数R’を発生させる(ステップS503)。
次に、分割データD(1),D(2),D(3)それぞれに乱数R’を所定のルールで注入する(ステップS505)。これは、後述するようなルールにより分割データD(1),D(2),D(3)の分割部分データと乱数R’の乱数部分データの排他的論理和をとり、新たな分割データD’(1),D’(2),D’(3)を生成するものである(ステップS507)。
図8は、元データSを、元データの半分の長さの処理単位ビット長bに基づいて分割数n=3で3分割する場合の分割部分データの定義式、乱数の再注入後の分割部分データの定義式、および各分割部分データから元データを復元する場合の計算式などを示す表である。
ここで、分割部分データD(i,j)の定義式について説明する。
まず、第1の分割データD(1)に対しては、図6に示すように、第1の分割部分データD(1,1)は、定義式S(1)*R(1)*R(2)で定義され、第2の分割部分データD(1,2)は定義式S(2)*R(2)で定義される。なお、この定義式の一般形は、D(1,j)に対してはS(j)*R(j)*R(j+1)であり、D(1,j+1)に対してS(j+1)*R(j+1)である(jは奇数とする)。
また、第2の分割データD(2)に対しては、図6に示すように、D(2,1)はS(1)*R(1)で定義され、D(2,2)はS(2)*R(1)*R(2)で定義される。この定義式の一般形は、D(2,j)に対してはS(j)*R(j)であり、D(2,j+1)に対してはS(j+1)*R(j)*R(j+1)である(jは奇数とする)。
更に第3の分割データD(3)に対しては、図6に示すように、D(3,1)はR(1)で定義され、D(3,2)はR(2)で定義される。この定義式の一般形は、D(3,j)に対してはR(j)であり、D(3,j+1)に対してはR(j+1)である(jは奇数とする)。
次に、新たな乱数R’注入後の分割部分データD’(i,j)の定義式について説明する。
まず、第1の分割データD’(1)に対しては、図8に示すように、第1の分割部分データD’(1,1)は、定義式D(1,1)* R’(1)*R’(2)、即ち、S(1)*R(1)*R(2)*R’(1)*R’(2)で定義され、第2の分割部分データD’(1,2)は、定義式D(1,2)*R’(2)、即ち、S(2)*R(2)* R’(2)で定義される。なお、この定義式の一般形は、D’(1,j)に対してはD(1,j)*R’(j)*R’(j+1)であり、D’(1,j+1)に対してD(1,j+1)*R’(j+1)である(jは奇数とする)。
また、第2の分割データD’(2)に対しては、図8に示すように、D’(2,1)はD(2,1)* R’(1)、即ち、S(1)*R(1)* R’(1)で定義され、D’(2,2)はD (2,2)*R’(1)*R’(2)、即ち、S(2)*R(1)* R(2)*R’(1)*R’(2)で定義される。この定義式の一般形は、D’(2,j)に対してはD(2,j)* R’(j)であり、D’(2,j+1)に対してはD(2,j+1)* R’(j)*R’(j+1)である(jは奇数とする)。
また、第3の分割データD’(3)に対しては、図8に示すように、D’(3,1)はD(3,1)* R’(1)、即ち、R(1)* R’(1)で定義され、D’(3,2)はD (3,2)*R’(2)、即ち、R(2)* R’(2)で定義される。この定義式の一般形は、D’(3,j)に対してはD(3,j)* R’(j)*であり、D’(3,j+1)に対してはD (3,j+1)* R’(j+1)である(jは奇数とする)。
このように、再分割部分データD’(i,j)はそれぞれ、分割部分データD (i,j)に、分割部分データD (i,j)の定義式で注入されていた乱数部分データR(j)に対応する乱数部分データR’(j)を注入して排他的論理和を計算して求めるものである。
尚、ユーザが保持する分割データを紛失した場合には、上述した分割データD(1),D(2),D(3)のうちいずれか1つを紛失しているので、紛失した分割データに関しては、残りの2つの分割データから復元し、その後、再分割データを生成する必要がある。ここで、残りの2つの分割データから紛失した分割データを生成する方法について説明する。
まず、分割データD(3)を紛失し、分割データD(1),D(2)から分割データD(3)を生成する場合について説明する。具体的には、図8の例で説明すると
D(1,1)* D(2,1)=((S(1)*R(1)*R(2))*(S(1)*R(1))
=R(2)* (S(1)* S(1))* (R(1)* R(1))
=R(2)
D(1,2)* D(2,2)=((S(2)*R(2))*(S(2)*R(1)*R(2))
=R(1)* (S(2)* S(2))* (R(2)* R(2))
= R(1)
であり、また、D(3,1)= R(1)、D(3,2)= R(2)であるから、D(1,1)* D(2,1)およびD(1,2)* D(2,2)から分割データD (3)を生成することができる。
また、分割データD(1)を紛失し、分割データD(2),D(3)から分割データD(1)を生成する場合については、
D(1,1)= D(2,1)*R(2)
D(1,2)= D(2,2)*R(1)
であり、また、D(3,1)= R(1)、D(3,2)= R(2)であるから、D(2,1)*R(2)およびD(2,2)*R(1)から分割データD (1)を生成することができる。
また、分割データD(2)を紛失し、分割データD(1),D(3)から分割データD(2)を生成する場合については、
D(2,1)= D(1,1)*R(2)
D(2,2)= D(1,2)*R(1)
であり、また、D(3,1)= R(1)、D(3,2)= R(2)であるから、分割データD (1),D (3)から分割データD (2)を生成することができる。
次に、図8の右側に示す表を参照して、再分割データから元データを復元する処理について説明する。これは、ユーザが再分割データを受け取った後のサービス利用時において、機密情報管理システム1の元データ復元部12の機能を説明するものである。
まず、分割部分データD’(2,1),D’(3,1)から第1の元部分データS(1)を次のように生成することができる。
D’(2,1)*D’(3,1)=(S(1)*R(1)*R’(1))*(R(1)*R’(1))
=S(1)*(R(1)*R(1))* (R’(1)* R’(1))
=S(1)*0*0
=S(1)
また、別の分割部分データから次のように第2の元部分データS(2)を生成することができる。
D’(2,2)*D’(3,1)*D’(3,2)=(S(2)*R(1)*R(2)*R’(1)*R’(2))*
(R(1)* R’(1))* (R(2)* R’(2))
=S(2)*(R(1)*R(1))*(R(2)*R(2))*
(R’(1)* R’(1))* (R’(2)* R’(2))
=S(2)*0*0*0*0
=S(2)
一般に、jを奇数として、
D’(2,j)*D’(3,j)=(S(j)*R(j)*R’(j))*(R(j)* R’(j))
=S(j)*(R(j)*R(j))*(R’(j)*R’(j))
=S(j)*0*0
=S(j)
であるから、D’(2,j)*D’(3,j)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D’(2,j+1)* D’(3,j)*D’(3,j+1)=(S(j+1)*R(j)*R(j+1)*R’(j)*R’(j+1))*
(R(j)* R’(j))*(R(j+1)* R’(j+1))
=S(j+1)*((R(j)*R(j))*(R(j+1)*R(j+1))*
*(R’(j)*R’(j))*(R’(j+1)*R’(j+1))
=S(j+1)*0*0*0*0
=S(j+1)
であるから、D’(2,j+1)* D’(3,j)*D’(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D’(1),D’(3)を取得してSを復元する場合には、次のようになる。
D’(1,1)*D’(3,1)*D’(3,2)=(S(1)*R(1)*R(2)*R’(1)*R’(2))*
(R(1)* R’(1))* (R(2)* R’(2))
= S(1)*(R(1)*R(1))* (R(2)*R(2)) *
(R’(1)* R’(1))* (R’(2)* R’(2))
=S(1)*0*0*0*0
=S(1)
であるから、D’(1,1)*D’(3,1)*D’(3,2)を計算すれば、S(1)が求まる。
また同様に、
D’(1,2)* D’(3,2)=(S(2)*R(2)*R’(2))*(R(2)*R’(2))
=S(2)*(R(2)*R(2))*(R’(2)*R’(2))
=S(2)*0*0
=S(2)
であるから、D’(1,2)* D’(3,2)を計算すれば、S(2)が求まる。
一般に、jを奇数として、
D’(1,j)*D’(3,j)*D’(3,j+1)=(S(j)*R(j)*R(j+1)*R’(j)*R’(j+1))*
(R(j)*R’(j))*(R(j+1)*R’(j+1))
=S(j)*(R(j)*R(j))*(R(j+1)*R(j+1))*
(R’(j)*R’(j))* (R’(j+1)*R’(j+1))
=S(j)*0*0*0*0
=S(j)
であるから、D’(1,j)*D’(3,j)*D’(3,j+1)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D’(1,j+1)* D’(3,j+1)=(S(j+1)*R(j+1)*R’(j+1)) *(R(j+1)*R’(j+1))
=S(j+1)*(R(j+1)*R(j+1))*(R’(j+1)*R’(j+1))
=S(j+1)*0*0
=S(j+1)
であるから、D’(1,j+1)* D’(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D’(1),D’(2)を取得してSを復元する場合には、次のようになる。
D’(1,1)*D’(2,1)=(S(1)*R(1)*R(2)*R’(1)*R’(2))*(S(1)*R(1)*R’(1))
=(S(1)*S(1))*(R(1)*R(1))*(R’(1)*R’(1))*R(2)* R’(2)
=0*0*0*R(2)*R’(2)
=R(2)*R’(2)
であるから、D’(1,1)*D’(2,1)を計算すれば、R(2)*R’(2)が求まる。
また同様に、
D’(1,2)*D’(2,2)=(S(2)*R(2)*R’(2))*(S(2)*R(1)*R(2)*R’(1)*R’(2))
=(S(2)*S(2))*R(1)*R’(1)*(R(2)*R(2))*(R’(2)*R’(2))
=0*R(1)*R’(1)*0*0
=R(1)*R’(1)
であるから、D’(1,2)*D’(2,2)を計算すれば、R(1)*R’(1)が求まる。
このR(1)*R’(1),R(2)*R’(2)を使用してS(1),S(2)を求める。
D’(2,1)* R(1)*R’(1)=(S(1)*R(1)*R’(1))* R(1)*R’(1)
=S(1)*(R(1)*R(1))* (R’(1)*R’(1))
=S(1)*0*0
=S(1)
であるから、D’(2,1)*R(1)*R’(1)を計算すれば、S(1)が求まる。
また同様に、
D’(1,2)*R(2)*R’(2)=(S(2)*R(2)*R’(2))* R(2)*R’(2)
=S(2)*(R(2)*R(2))* (R’(2)*R’(2))
=S(2)*0*0
=S(2)
であるからD’(2,2)*R(2)*R’(2)を計算すればS(2)が求まる。
一般に、jを奇数として、
D’(1,j)*D’(2,j)=(S(j)*R(j)*R(j+1)*R’(j)*R’(j+1))*(S(j)*R(j)*R’(j))
=(S(j)*S(j))*(R(j)*R(j))*(R’(j)*R’(j))*R(j+1) *R’(j+1)
=0*0*0*R(j+1)*R’(j+1)
= R(j+1)*R’(j+1)
であるからD’(1,j)*D’(2,j)を計算すればR(j+1)*R’(j+1)が求まる。
また同様に、
D’(1,j+1)*D’(2,j+1)=(S(j+1)* R(j+1)*R’(j+1))*
(S(j+1)*R(j)*R(j+1)* R’(j)*R’(j+1))
=(S(j+1)*S(j+1))*R(j)* R’(j)*
(R(j+1)*R(j+1))*(R’(j+1)* R’(j+1))
=0* R(j)* R’(j)*0*0
= R(j)* R’(j)
であるからD’(1,j+1)*D’(2,j+1)を計算すればR(j)* R’(j)が求まる。
このR(j)* R’(j),R(j+1)*R’(j+1)を使用してS(j),S(j+1)を求める。
D’(2,j)*R(j)* R’(j)=(S(j)*R(j)*R’(j))*R(j)*R’(j)
=S(j)*(R(j)*R(j))*(R’(j)*R’(j))
=S(j)*0*0
=S(j)
であるからD’(2,j)*R(j)* R’(j)を計算すればS(j)が求まる。
また同様に、
D’(1,j+1)*R(j+1)* R’(j+1)=(S(j+1)*R(j+1)*R’(j+1))*R(j+1)* R’(j+1)
=S(j+1)*(R(j+1)*R(j+1))* (R’(j+1)*R’(j+1))
=S(j+1)*0*0
=S(j+1)
であるからD’(1,j+1)*R(j+1)* R’(j+1)を計算すればS(j+1)が求まる。
以上、乱数追加注入方式により再分割データを生成した場合には、3つの再分割データD’(1),D’(2),D’(3)のすべてを用いなくても、3つの再分割データのうち、2つの再分割データを用いて上述したように元データを復元することができる。
また、乱数追加注入方式においては、一旦元データを復元することなく(元データが見える形で現れない)、データの再分割処理を行うことができるので、よりセキュアなデータ管理が可能となる。
(乱数書き換え方式)
図9は、乱数書き換え方式におけるデータ再分割処理の概要を説明するフローチャート図である。同図によれば、まず分割データD(1),D(2),D(3)を取得し(ステップS601)、次に、乱数発生部13で再分割の際に用いる乱数R’を発生させる(ステップS603)。
次に、分割データD(1),D(2),D(3)それぞれに乱数R’を上述した乱数追加注入方式により注入する(ステップS605)。次に、乱数R’を注入された分割データから旧乱数であるRを消去して、新たな再分割データD’(1),D’(2),D’(3)を生成する(ステップS607,S609)。
図10は、元データSを、元データの半分の長さの処理単位ビット長bに基づいて分割数n=3で3分割する場合の分割部分データの定義式、乱数R’の再注入後の分割部分データの定義式、さらに乱数Rを消去後の分割部分データの定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。
本方式においては、ステップS605までは、上述した乱数追加注入方式と同様であるため、説明は省略し、古い乱数Rを消去した分割部分データの定義式について説明する。
まず、第1の分割データD’(1)に対しては、図10に示すように、第1の分割部分データD’(1,1)は、定義式(S(1)*R(1)*R(2)*R’(1)*R’(2))*(R(1)*R(2))、即ち、S(1)* R’(1)*R’(2)で定義され、第2の分割部分データD’(1,2)は、定義式(S(2)*R(2)* R’(2))*R(2)、即ち、S(2)*R’(2)で定義される。なお、この定義式の一般形は、D’(1,j)に対してはS(j) *R’(j)*R’(j+1)であり、D’(1,j+1)に対してS(j+1)*R’(j+1)である(jは奇数とする)。
また、第2の分割データD’(2)に対しては、図10に示すように、D’(2,1)は(S(1)*R(1)* R’(1))* R(1)、即ち、S(1)* R’(1)で定義され、D’(2,2)は(S(2)*R(1)* R(2)*R’(1)*R’(2))*R(1)*R(2)、即ち、S(2)*R’(1)*R’(2)で定義される。この定義式の一般形は、D’(2,j)に対してはS(j)* R’(j)*であり、D(2,j+1)に対してはS(j+1)* R’(j)*R’(j+1)である(jは奇数とする)。
また、第3の分割データD’(3)に対しては、図10に示すように、D’(3,1)は(R(1)* R’(1))*R(1)、即ち、R’(1)で定義され、D’(3,2)は(R(2)* R’(2))* R(2)、即ち、R’(2)で定義される。この定義式の一般形は、D’(3,j)に対してはR’(j)*であり、D(3,j+1)に対してはR’(j+1)である(jは奇数とする)。
このように、再分割部分データD’(i,j)はそれぞれ、分割部分データD (i,j)に、分割部分データD (i,j)の定義式で注入されていた乱数部分データR(j)に対応する乱数部分データR’(j)を注入した後、さらに乱数部分データR(j)を消去するように乱数部分データR(j)を注入して排他的論理和を計算し、求めるものである。
その結果、もとの分割部分データD (i,j)の定義式において、乱数部分データR(j)を乱数部分データR’(j)に置換したものが、再分割部分データD ’(i,j)の定義式となる。
次に、図10の右側に示す表を参照して、再分割データから元データを復元する処理について説明する。これは、ユーザが再分割データを受け取った後のサービス利用時において、機密情報管理システム1の元データ復元部12の機能を説明するものである。
まず、分割部分データD’(2,1),D’(3,1)から第1の元部分データS(1)を次のように生成することができる。
D’(2,1)*D’(3,1)=(S(1)*R’(1))*R’(1)
=S(1)*(R’(1)*R’(1))
=S(1)*0
=S(1)
また、別の分割部分データから次のように第2の元部分データS(2)を生成することができる。
D’(2,2)*D’(3,1)*D’(3,2)=(S(2)*R’(1)*R’(2))*R’(1)* R’(2)
=S(2)* (R’(1)*R’(1))*(R’(2)* R’(2))
=S(2)*0*0
=S(2)
一般に、jを奇数として、
D’(2,j)*D’(3,j)=(S(j)*R’(j))* R’(j)
=S(j)*(R’(j)*R’(j))
=S(j)*0
=S(j)
であるから、D’(2,j)*D’(3,j)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D’(2,j+1)* D’(3,j)*D’(3,j+1)=(S(j+1)*R’(j)*R’(j+1))* R’(j)* R’(j+1)
=S(j+1)*(R’(j)*R’(j))*(R’(j+1)*R’(j+1))
=S(j+1)*0*0
=S(j+1)
であるから、D’(2,j+1)* D’(3,j)*D’(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D’(1),D’(3)を取得してSを復元する場合には、次のようになる。
D’(1,1)*D’(3,1)*D’(3,2)=(S(1)*R’(1)*R’(2))* R’(1)*R’(2)
= S(1)*(R’(1)* R’(1))* (R’(2)* R’(2))
=S(1)*0*0
=S(1)
であるから、D’(1,1)*D’(3,1)*D’(3,2)を計算すれば、S(1)が求まる。
また同様に、
D’(1,2)* D’(3,2)=(S(2)*R’(2))*R’(2)
=S(2)*(R’(2)*R’(2))
=S(2)*0
=S(2)
であるから、D’(1,2)* D’(3,2)を計算すれば、S(2)が求まる。
一般に、jを奇数として、
D’(1,j)*D’(3,j)*D’(3,j+1)=(S(j)*R’(j)*R’(j+1))* R’(j)*R’(j+1)
=S(j)*(R’(j)*R’(j))*(R’(j+1)*R’(j+1))
=S(j)*0*0
=S(j)
であるから、D’(1,j)*D’(3,j)*D’(3,j+1)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D’(1,j+1)* D’(3,j+1)=(S(j+1)*R’(j+1)) *R’(j+1)
=S(j+1)*(R’(j+1)*R’(j+1))
=S(j+1)*0
=S(j+1)
であるから、D’(1,j+1)* D’(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D’(1),D’(2)を取得してSを復元する場合には、次のようになる。
D’(1,1)*D’(2,1)=(S(1)* R’(1)*R’(2))*(S(1)*R’(1))
=(S(1)*S(1))*(R’(1)*R’(1))*R’(2)
=0*0* R’(2)
= R’(2)
であるから、D’(1,1)*D’(2,1)を計算すれば、R’(2)が求まる。
また同様に、
D’(1,2)*D’(2,2)=(S(2)*R’(2))*(S(2)*R’(1)*R’(2))
=(S(2)*S(2))*(R’(2)*R’(2))*R’(1)
=0*0*R’(1)
= R’(1)
であるから、D’(1,2)*D’(2,2)を計算すれば、R’(1)が求まる。
このR’(1), R’(2)を使用してS(1),S(2)を求める。
D’(2,1)* R’(1)=(S(1)*R’(1))* R’(1)
=S(1)*(R’(1)*R’(1))
=S(1)*0
=S(1)
であるから、D’(2,1)* R’(1)を計算すれば、S(1)が求まる。
また同様に、
D’(1,2)*R’(2)=(S(2)*R’(2))* R’(2)
=S(2)* (R’(2)*R’(2))
=S(2)*0
=S(2)
であるからD’(1,2)* R’(2)を計算すればS(2)が求まる。
一般に、jを奇数として、
D’(1,j)*D’(2,j)=(S(j)*R’(j)*R’(j+1))*(S(j)* R’(j))
=(S(j)*S(j))*(R’(j)*R’(j)) *R’(j+1)
=0*0*R’(j+1)
= R’(j+1)
であるからD’(1,j)*D’(2,j)を計算すればR’(j+1)が求まる。
また同様に、
D’(1,j+1)*D’(2,j+1)=(S(j+1)* R’(j+1))* (S(j+1)*R’(j)*R’(j+1))
=(S(j+1)*S(j+1))*(R’(j+1)* R’(j+1))*R’(j)
=0*0*R’(j)
=R’(j)
であるからD’(1,j+1)*D’(2,j+1)を計算すればR’(j)が求まる。
このR’(j), R’(j+1)を使用してS(j),S(j+1)を求める。
D’(2,j)*R’(j)=(S(j)* R’(j))* R’(j)
=S(j)*(R’(j)*R’(j))
=S(j)*0
=S(j)
であるからD’(2,j)*R’(j)を計算すればS(j)が求まる。
また同様に、
D’(1,j+1)* R’(j+1)=(S(j+1)* R’(j+1))*R’(j+1)
=S(j+1)* (R’(j+1)*R’(j+1))
=S(j+1)*0
=S(j+1)
であるからD’(1,j+1)* R’(j+1)を計算すればS(j+1)が求まる。
以上、乱数書き換え方式により再分割データを生成した場合には、3つの再分割データD’(1),D’(2),D’(3)のすべてを用いなくても、3つの再分割データのうち、2つの再分割データを用いて上述したように元データを復元することができる。
また、乱数書き換え方式においても、一旦元データを復元することなく(元データが見える形で現れない)、データの再分割処理を行うことができるので、よりセキュアなデータ管理が可能となる。
<動作>
次に、本実施の形態に係る機密情報管理システム1が適用されるコンピュータシステム10全体の動作について説明する。ここで、図11は、ユーザが機密情報Sを機密情報管理システム1に登録する動作を説明するシーケンス図であり、図12は、ユーザがサービスを利用する時の機密情報管理システム1の動作を説明するシーケンス図であり、図13は、ユーザが保持する分割データDを紛失したときの機密情報管理システム1の動作を説明するシーケンス図である。
(1) 機密情報登録処理
まず、ユーザが端末2から通信ネットワーク4を介して機密情報管理システム1に機密情報Sを送信する(ステップS10)。機密情報システム1は、機密情報Sを受け取ると、上述した秘密分散法Aを用いて3つのデータ(分割データ)D(1),D(2),D(3)に分割する(ステップS20)。
次に、機密情報管理システム1は、このようにして生成された分割データを各保管サーバ3a,3bおよび端末2にネットワーク4を介して送信する(ステップS30)。
次に、保管サーバ3a,3bは、それぞれ送信されてきた分割データD(1),D(2)をハードディスク等の記憶装置に記憶する(ステップS40)。また、端末2は、送信されてきた分割データD(3)をハードディスク等の記憶装置に記憶する(ステップS50)。
これにより、端末2、保管サーバ3a,3bのうちいずれか1つの分割データに紛失、破壊等があっても、残りの2つの分割データからもとの機密情報Sを復元できる。
(2)サービス利用処理
ユーザがサービス提供システム5を利用する場合には、まず、端末2に保持する分割データD(3)を通信ネットワークを介して機密情報管理システム1に送信する(ステップS110)。
機密情報管理システム1は、端末2から分割データD(3)を受け取ると、残りの分割データD(1), D(2)を保管サーバ3a,3bに要求し、該分割データD(1), D(2)を受け取る(ステップS120)。
次に、機密情報管理システム1は、分割データD(1), D(2),D(3)のいずれか2つから秘密分散法Aを用いて機密情報Sを復元する(ステップS130)。そして、復元した機密情報Sをサービス提供5に送信して(ステップS140)、機密情報Sを復元し送信した事実を使用履歴として生成する(ステップS150)。
サービス提供システム5は、機密情報管理システム1から機密情報Sを受け取ると、該機密情報Sの正当性を判断して、端末2に通信ネットワーク4を介してサービス提供を行う(ステップS160,S170)。これにより、ユーザは所望のサービスの提供を受けることができる。
(3)分割データ紛失時処理
ユーザが分割データD(3)を紛失した場合(例えば、分割データD(3)を記憶している端末2を紛失した場合)には、まず、機密情報管理システム1にその旨を申告する(例えば、機密情報管理システム1の運用者へ電話連絡する)(ステップS210)。
これにより、機密情報管理システム1は、保管サーバ3a,3bに分割データを要求し、保管サーバ3a,3bからそれぞれ分割データD(1), D(2)を受け取る(ステップS220)。
次に、機密情報管理システム1は、分割データD(1),D(2)から秘密分散法Aを用いて、新たに3つのデータ(再分割データ)D’(1),D’(2),D’(3)を生成する(ステップS240)。
ここで、再分割データD’(1),D’(2)に関しては、上述した乱数追加注入方式又は乱数書き換え方式に従って、分割データD(1),D(2)からそれぞれ生成するものである。一方、D’(3)は、まず、分割データD (1),D (2)から分割データD (3)を生成し、その後、乱数追加注入方式又は乱数書き換え方式に従って、分割データD (3)からD’(3)を生成するものである。
次に、機密情報管理システム1は、このようにして生成された再分割データを各保管サーバ3a,3bおよび端末2(例えば、ユーザが分割データD(3)を記憶している端末2を紛失した場合には、ユーザが新たに購入した端末2)にネットワーク4を介して送信する(ステップS250,S260)。
次に、保管サーバ3a,3bは、それぞれ送信されてきた再分割データD’(1),D’(2)をハードディスク等の記憶装置に記憶する(ステップS250)。また、端末2は、送信されてきた分割データD’(3)をハードディスク等の記憶装置に記憶する(ステップS260)。これにより、ユーザは再びサービス利用が可能となる。
従って、本実施の形態によれば、所定のサービスを受ける際に必要とされる機密情報Sを秘密分散法Aを用いて複数に分割して、そのうちの一部をユーザに保持させるので、ユーザが保持する分割データの紛失があったとしても、残りの分割データから機密情報Sを復元できるとともに、秘密分散法Aを用いて新たに再分割データを生成し、該再分割データの一部を新たにユーザに保持させるので、機密情報Sの変更は不要である。
この結果、ユーザが保持する分割データの紛失があったとしても、機密情報Sの再発行処理をすることなく、紛失の申告をするだけで、再びサービス提供を受けることができる。
特に、本発明における秘密分散法は、機密情報を所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、機密情報を処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、機密情報のビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、生成した分割データのうちの所定の個数の分割データから機密情報が復元することができ、また、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、所望の分割数の再分割データを生成するとともに、生成した再分割データのうちの所定の個数の再分割データから機密情報が復元することができるので、機密情報を復元することなく、機密情報を再分割することができる。
これにより、ユーザの機密情報をよりセキュアに管理することができる。
また、紛失した分割データを取得した第3者が機密情報管理システム1にアクセスしても機密情報Sを復元することができないので、サービスを利用することができず、安全性が確保される。
さらに、ユーザの使用履歴が機密情報管理システム1に保管されるので、ユーザが分割データを紛失してから紛失した旨を申告するまでの間に、仮に第3者が機密情報Sを取得して悪用したとしても、使用履歴により悪用の有無を判別することができる。
尚、本実施の形態における秘密分散法Aは、多項式演算・剰余演算などを含む多倍長整数の演算処理を必要としないので、大容量データを多数処理する場合においても簡単かつ迅速にデータの分割および復元を行うことができるという効果を得ることができる。
以上、本発明の実施の形態について説明してきたが、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができる。例えば、上記実施の形態においては、端末2から機密情報Sの機密情報管理システム1への受け渡しを通信ネットワーク4を介して行ったが、本発明はこれに限定されず、例えば、機密情報Sを記録した記録媒体を郵送など通信ネットワーク3以外の手段を介して受け渡してもよい。また、同様に、ユーザが保持する分割データも通信ネットワーク4を介して受け取ったが、本発明はこれに限定されず、例えば、分割データを記録した記録媒体を郵送など通信ネットワーク3以外の手段を介して受け渡してもよい。
また、上記実施の形態においては、ユーザがサービス利用時には、機密情報管理システム1が機密情報を復元したが、本発明はこれに限定されず、ユーザの端末2が、端末2に記憶される分割データと機密情報管理システム1から取得した分割データから、秘密分散法Aを用いて機密情報を復元し、該機密情報をサービス提供システム5に送信してもよいものである。尚、この場合には、復元された機密情報が端末2に記憶されたままユーザが端末2を紛失すると、本発明が解決しようとする課題が解決できないことになるため、該機密情報をサービス提供システム5に送信後すぐに端末2から消去する仕組み、あるいは、端末2のデータの第三者による不正な取り出しを防止する仕組みなどを備えることが必要である。
さらに、上記実施の形態においては、ユーザからの要求により再分割処理を行ったが、機密情報管理システム1が自発的に所定の契機により再分割処理を行ってもよいものである。
本発明の実施の形態に係る機密情報管理システムが適用されるコンピュータシステム全体の概略構成を示すブロック図である。 本発明の実施の形態に係る機密情報管理システムの分割数n=3の場合の分割処理を示すフローチャートである。 16ビットの元データSを8ビットの処理単位ビット長に基づいて分割数n=3で3分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。 分割数n=3の場合の分割データ、分割部分データ、各分割部分データを生成する定義式を示す表である。 本発明の実施の形態に係る機密情報管理システムの分割数がnで処理単位ビット長がbである場合の一般的な分割処理を示すフローチャートである。 分割数n=3の場合の分割データ、分割部分データ、各分割部分データを生成する定義式の別の例を示す表である。 本発明の実施の形態に係る機密情報管理システムにおけるデータ再分割処理(乱数追加注入方式)を示すフローチャートである。 乱数追加注入方式により元データSを元データSの半分の長さの処理単位ビット長に基づいて分割数n=3で再分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。 本発明の実施の形態に係る機密情報管理システムにおけるデータ再分割処理(乱数書き換え方式)を示すフローチャートである。 乱数書き換え方式により元データSを元データSの半分の長さの処理単位ビット長に基づいて分割数n=3で再分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。 本発明の実施の形態に係る機密情報管理システムにおいて機密情報を登録する処理を説明するシーケンス図である。 本発明の実施の形態に係る機密情報管理システムにおいてサービス利用時の処理を説明するシーケンス図である。 本発明の実施の形態に係る機密情報管理システムにおいてユーザが保持する機密情報の一部を紛失したときの処理を説明するシーケンス図である。
符号の説明
1…機密情報管理システム
2…端末
3a,3b…保管サーバ
4…通信ネットワーク
5…サービス提供システム
10…コンピュータシステム
11…分割データ生成部
12…元データ復元部
13…乱数発生部
14…再分割データ生成部
15…使用履歴生成部
16…通信部

Claims (14)

  1. 利用者の機密情報を秘密分散法を用いて管理する機密情報管理システムであって、
    前記秘密分散法は、
    前記機密情報を所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記機密情報を処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記機密情報のビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、
    新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、
    前記機密情報を前記秘密分散法を用いて複数の分割データに分割するデータ分割手段と、
    前記複数の分割データの一部を、前記利用者が保持するための分割データとして第1の記憶部に記憶させるとともに、前記複数の分割データの残りを、1又は複数の第2の記憶部それぞれに記憶させるデータ記憶手段と、
    必要に応じて前記秘密分散法を用いて、前記第2の記憶部に記憶された各分割データのうち、復元可能な所定の個数の分割データの組み合わせから、複数の再分割データを作成するデータ再分割手段と、
    前記複数の再分割データの一部を新たな分割データとして前記第1の記憶部に記憶させるとともに、前記第2の記憶部に記憶された各分割データを無効にして、前記複数の再分割データの残りを新たな分割データとして前記第2の記憶部それぞれに記憶させるデータ再記憶手段と、
    を有することを特徴とする機密情報管理システム。
  2. 前記機密情報を使用する場合には、前記利用者が保持する分割データを取得し、該分割データと前記第2の記憶部に記憶された各分割データのうち前記所定の個数の分割データの組み合わせから前記秘密分散法を用いて前記機密情報を復元するデータ復元手段を有することを特徴とする請求項1記載の機密情報管理システム。
  3. 前記機密情報を使用するときは、使用した事実を使用履歴情報として記憶する使用履歴記憶手段を有することを特徴とする請求項2記載の機密情報管理システム。
  4. 前記機密情報を使用する場合には、前記第2の記憶部に記憶された各分割データのうち、前記所定の個数から前記利用者が保持する分割データの個数を引いた個数の分割データの組み合わせを前記利用者が有する端末に通信ネットワークを介して送信する分割データ送信手段を有することを特徴とする請求項1記載の機密情報管理システム。
  5. 前記データ再分割手段は、前記所定の個数の分割データの組み合わせに含まれる各分割データを構成するそれぞれの分割部分データ同士の排他的論理和演算によって、前記利用者が保持した分割データを生成することを特徴とする請求項1乃至4のいずれか1項に記載の機密情報管理システム。
  6. 前記秘密分散法は、前記各分割部分データと、該各分割部分データを生成する際に用いたそれぞれの乱数部分データに対応する新たな乱数部分データそれぞれとの排他的論理和演算により、各再分割部分データを生成することを特徴とする請求項1乃至5のいずれか1項に記載の機密情報管理システム。
  7. 前記秘密分散法は、さらに、前記各再分割部分データと、該各再分割部分データ生成前の各分割部分データを生成する際に用いた古い乱数部分データそれぞれとの排他的論理和演算により、前記再分割部分データから古い乱数部分データを消去することを特徴とする請求項6記載の機密情報管理システム。
  8. 前記第1の記憶部に記憶される分割データを通信ネットワークを介して前記利用者が有する端末に送信する送信手段を有することを特徴とする請求項1乃至7のいずれか1項に記載の機密情報管理システム。
  9. 前記機密情報を前記利用者が有する端末から通信ネットワークを介して受信する受信手段を有することを特徴とする請求項1乃至8のいずれか1項に記載の機密情報管理システム。
  10. 利用者の機密情報を秘密分散法を用いて管理する機密情報管理方法であって、
    前記秘密分散法は、
    前記機密情報を所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記機密情報を処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記機密情報のビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、
    新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、
    前記機密情報を前記秘密分散法を用いて複数の分割データに分割するデータ分割ステップと、
    前記複数の分割データの一部を、前記利用者が保持するための分割データとして第1の記憶部に記憶させるとともに、前記複数の分割データの残りを、1又は複数の第2の記憶部それぞれに記憶させるデータ記憶ステップと、
    必要に応じて前記秘密分散法を用いて、前記第2の記憶部に記憶された各分割データのうち、復元可能な所定の個数の分割データの組み合わせから、複数の再分割データを作成するデータ再分割ステップと、
    前記複数の再分割データの一部を新たな分割データとして前記第1の記憶部に記憶させるとともに、前記第2の記憶部に記憶された各分割データを無効にして、前記複数の再分割データの残りを新たな分割データとして前記第2の記憶部それぞれに記憶させるデータ再記憶ステップと、
    を有することを特徴とする機密情報管理方法。
  11. 利用者の機密情報を秘密分散法を用いて管理するためのコンピュータが読み取り可能な機密情報管理プログラムであって、
    前記秘密分散法は、
    前記機密情報を所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記機密情報を処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記機密情報のビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、
    新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、
    前記機密情報を前記秘密分散法を用いて複数の分割データに分割するデータ分割ステップと、
    前記複数の分割データの一部を、前記利用者が保持するための分割データとして第1の記憶部に記憶させるとともに、前記複数の分割データの残りを、1又は複数の第2の記憶部それぞれに記憶させるデータ記憶ステップと、
    必要に応じて前記秘密分散法を用いて、前記第2の記憶部に記憶された各分割データのうち、復元可能な所定の個数の分割データの組み合わせから、複数の再分割データを作成するデータ再分割ステップと、
    前記複数の再分割データの一部を新たな分割データとして前記第1の記憶部に記憶させるとともに、前記第2の記憶部に記憶された各分割データを無効にして、前記複数の再分割データの残りを新たな分割データとして前記第2の記憶部それぞれに記憶させるデータ再記憶ステップと、
    を前記コンピュータに実行させることを特徴とする機密情報管理プログラム。
  12. 前記機密情報を使用する場合には、前記利用者が保持する分割データを取得し、該分割データと前記第2の記憶部に記憶された各分割データのうち前記所定の個数の分割データの組み合わせから前記秘密分散法を用いて前記機密情報を復元するデータ復元ステップをを前記コンピュータに実行させることを特徴とする請求項11記載の機密情報管理プログラム。
  13. 前記機密情報を使用する場合には、前記第2の記憶部に記憶された各分割データのうち、前記所定の個数から前記利用者が保持する分割データの個数を引いた個数の分割データの組み合わせを前記利用者が有する端末に通信ネットワークを介して送信する分割データ送信ステップを前記コンピュータに実行させることを特徴とする請求項11記載の機密情報管理プログラム。
  14. 請求項4記載の機密情報管理システムから送信された分割データを用いて前記利用者の機密情報を使用するための端末が読み取り可能な機密情報管理システム用端末プログラムであって、
    前記利用者が保持する分割データを取得し、該分割データと送信された分割データの組み合わせから前記秘密分散法を用いて前記機密情報を復元し、前記サービスを提供するシステムに通信ネットワークを介して送信するステップを
    前記端末に実行させることを特徴とする機密情報管理システム用端末プログラム。

JP2004033352A 2004-02-10 2004-02-10 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム Expired - Lifetime JP4602675B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004033352A JP4602675B2 (ja) 2004-02-10 2004-02-10 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム
US10/588,155 US8085938B2 (en) 2004-02-10 2005-02-10 Secret information management scheme based on secret sharing scheme
EP05710362.4A EP1714423B1 (en) 2004-02-10 2005-02-10 Secret information management scheme based on secret sharing scheme
CN2005800043932A CN1918844B (zh) 2004-02-10 2005-02-10 基于保密共享方案的保密信息管理系统和方法
PCT/JP2005/002514 WO2005076518A1 (en) 2004-02-10 2005-02-10 Secret information management scheme based on secret sharing scheme
HK07105595.1A HK1099152A1 (en) 2004-02-10 2007-05-28 Secret information management system and method based on secret sharing scheme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004033352A JP4602675B2 (ja) 2004-02-10 2004-02-10 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム

Publications (3)

Publication Number Publication Date
JP2005229178A true JP2005229178A (ja) 2005-08-25
JP2005229178A5 JP2005229178A5 (ja) 2006-12-14
JP4602675B2 JP4602675B2 (ja) 2010-12-22

Family

ID=35003572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004033352A Expired - Lifetime JP4602675B2 (ja) 2004-02-10 2004-02-10 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム

Country Status (2)

Country Link
JP (1) JP4602675B2 (ja)
CN (1) CN1918844B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007304962A (ja) * 2006-05-12 2007-11-22 Fujitsu Ltd 情報分散機能を有する情報処理装置
JP2008234017A (ja) * 2007-03-16 2008-10-02 Fuji Electric Holdings Co Ltd Icカードシステム、その情報処理端末、プログラム
JP2009222778A (ja) * 2008-03-13 2009-10-01 Toshiba Corp 分散情報追加装置、方法及びプログラム
US8490164B2 (en) 2006-09-29 2013-07-16 Kabushiki Kaisha Toshiba User authentication method, user authenticating device and program product
JP2014238546A (ja) * 2013-06-10 2014-12-18 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ再生成装置、データ再生成方法およびプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2357753A1 (en) * 2008-11-14 2011-08-17 Oki Semiconductor Co., Ltd. Confidential information transmission method, confidential information transmission system, and confidential information transmission device
CN103141056B (zh) * 2010-10-06 2015-08-26 日本电信电话株式会社 秘密分散系统、秘密分散装置、秘密分散方法、秘密分类方法、秘密分散程序
WO2017134759A1 (ja) * 2016-02-03 2017-08-10 株式会社情報スペース 認証装置、認証システム及び認証プログラム
JP6534478B1 (ja) * 2018-08-16 2019-06-26 行徳紙工株式会社 ファイルの秘匿分散システム及び秘匿分散方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11506222A (ja) * 1995-06-05 1999-06-02 サートコー・エルエルシー マルチステップディジタル署名方法およびそのシステム
JPH11317734A (ja) * 1998-02-13 1999-11-16 Hitachi Ltd デ―タの暗号化復号化方法および、それを用いたネットワ―クシステム
JP2001034164A (ja) * 1999-07-23 2001-02-09 Toshiba Corp 秘密分散システム及び記憶媒体
JP2001103045A (ja) * 1999-09-29 2001-04-13 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 暗号鍵バックアップ記憶装置
JP2002091301A (ja) * 2000-09-19 2002-03-27 Ntt Data Corp 鍵情報分散装置、演算装置および署名検証装置
JP2002312317A (ja) * 2001-04-11 2002-10-25 Casio Comput Co Ltd 認証システムおよび認証方法
JP2004048479A (ja) * 2002-07-12 2004-02-12 Kddi Corp 共有化された暗号化情報の暗号鍵管理方法
JP2004053969A (ja) * 2002-07-22 2004-02-19 Global Friendship Inc 電子割符生成方法およびプログラム
JP2004053968A (ja) * 2002-07-22 2004-02-19 Global Friendship Inc 電子情報送信システム
WO2004057461A2 (en) * 2002-12-19 2004-07-08 Ntt Communications Corporation Data division method and device using exclusive or calculation
JP2004213650A (ja) * 2002-12-19 2004-07-29 Ntt Communications Kk データ分割方法、データ分割装置およびコンピュータプログラム
JP2004336702A (ja) * 2003-04-15 2004-11-25 Ntt Communications Kk データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム
WO2005076518A1 (en) * 2004-02-10 2005-08-18 Ntt Communications Corporation Secret information management scheme based on secret sharing scheme
JP2006513641A (ja) * 2003-01-07 2006-04-20 クゥアルコム・インコーポレイテッド 暗号鍵を入れ替えるためのシステム、装置及び方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5625692A (en) * 1995-01-23 1997-04-29 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
US5675649A (en) * 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
EP1075108A1 (en) * 1999-07-23 2001-02-07 BRITISH TELECOMMUNICATIONS public limited company Cryptographic data distribution

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11506222A (ja) * 1995-06-05 1999-06-02 サートコー・エルエルシー マルチステップディジタル署名方法およびそのシステム
JPH11317734A (ja) * 1998-02-13 1999-11-16 Hitachi Ltd デ―タの暗号化復号化方法および、それを用いたネットワ―クシステム
JP2001034164A (ja) * 1999-07-23 2001-02-09 Toshiba Corp 秘密分散システム及び記憶媒体
JP2001103045A (ja) * 1999-09-29 2001-04-13 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 暗号鍵バックアップ記憶装置
JP2002091301A (ja) * 2000-09-19 2002-03-27 Ntt Data Corp 鍵情報分散装置、演算装置および署名検証装置
JP2002312317A (ja) * 2001-04-11 2002-10-25 Casio Comput Co Ltd 認証システムおよび認証方法
JP2004048479A (ja) * 2002-07-12 2004-02-12 Kddi Corp 共有化された暗号化情報の暗号鍵管理方法
JP2004053969A (ja) * 2002-07-22 2004-02-19 Global Friendship Inc 電子割符生成方法およびプログラム
JP2004053968A (ja) * 2002-07-22 2004-02-19 Global Friendship Inc 電子情報送信システム
WO2004057461A2 (en) * 2002-12-19 2004-07-08 Ntt Communications Corporation Data division method and device using exclusive or calculation
JP2004213650A (ja) * 2002-12-19 2004-07-29 Ntt Communications Kk データ分割方法、データ分割装置およびコンピュータプログラム
JP2006513641A (ja) * 2003-01-07 2006-04-20 クゥアルコム・インコーポレイテッド 暗号鍵を入れ替えるためのシステム、装置及び方法
JP2004336702A (ja) * 2003-04-15 2004-11-25 Ntt Communications Kk データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム
WO2005076518A1 (en) * 2004-02-10 2005-08-18 Ntt Communications Corporation Secret information management scheme based on secret sharing scheme

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007304962A (ja) * 2006-05-12 2007-11-22 Fujitsu Ltd 情報分散機能を有する情報処理装置
US7818579B2 (en) 2006-05-12 2010-10-19 Fujitsu Limited Information processor having information dispersing function
US8490164B2 (en) 2006-09-29 2013-07-16 Kabushiki Kaisha Toshiba User authentication method, user authenticating device and program product
JP2008234017A (ja) * 2007-03-16 2008-10-02 Fuji Electric Holdings Co Ltd Icカードシステム、その情報処理端末、プログラム
JP2009222778A (ja) * 2008-03-13 2009-10-01 Toshiba Corp 分散情報追加装置、方法及びプログラム
JP2014238546A (ja) * 2013-06-10 2014-12-18 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ再生成装置、データ再生成方法およびプログラム

Also Published As

Publication number Publication date
JP4602675B2 (ja) 2010-12-22
CN1918844B (zh) 2010-09-01
CN1918844A (zh) 2007-02-21

Similar Documents

Publication Publication Date Title
EP1714423B1 (en) Secret information management scheme based on secret sharing scheme
US8345876B1 (en) Encryption/decryption system and method
EP2301185B1 (en) Format-preserving cryptographic systems
JP2022509105A (ja) ブロックチェーン上に格納されたデータへのアクセスを可能にするコンピュータにより実施されるシステム及び方法
CN107077469B (zh) 服务器装置、检索系统、终端装置以及检索方法
EP3134994B1 (en) Method of obfuscating data
JP2011041326A (ja) データ分割方法、データ分割装置およびコンピュータプログラム
CN111512590B (zh) 用于密码认证的同态加密
CN111314069A (zh) 基于区块链的摇号系统、方法、电子设备及存储介质
CN108829899B (zh) 数据表储存、修改、查询和统计方法
CN1918844B (zh) 基于保密共享方案的保密信息管理系统和方法
CN103607420A (zh) 面向云存储的安全电子医疗系统
JP4676695B2 (ja) データ分割方法、データ分割装置およびコンピュータプログラム
JP4708713B2 (ja) 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム
JP4486851B2 (ja) 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム
JP2006018850A (ja) データ保管システム
JP4619045B2 (ja) データ秘匿装置、データ秘匿方法、及びデータ秘匿プログラム
JP4664008B2 (ja) アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム
JP2007041199A (ja) データ分割装置、データ分割方法およびコンピュータプログラム
US11809588B1 (en) Protecting membership in multi-identification secure computation and communication
KR102391952B1 (ko) 암호화 분산 처리 시스템, 장치 또는 이를 위한 방법
Rani et al. Piecewise symmetric magic cube: application to text cryptography
CN112291355B (zh) 区块链钱包的密钥备份和恢复方法与装置
Kadam et al. Security Approach for Multi-Cloud Data Storage
Mihailescu et al. E-LEARNING SYSTEM FRAMEWORK USING ELLIPTIC CURVE CRYPTOGRAPHY AND SEARCHABLE ENCRYPTION.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100422

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

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

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4602675

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250