JP5076539B2 - 符号化装置および符号化方法 - Google Patents

符号化装置および符号化方法 Download PDF

Info

Publication number
JP5076539B2
JP5076539B2 JP2007037183A JP2007037183A JP5076539B2 JP 5076539 B2 JP5076539 B2 JP 5076539B2 JP 2007037183 A JP2007037183 A JP 2007037183A JP 2007037183 A JP2007037183 A JP 2007037183A JP 5076539 B2 JP5076539 B2 JP 5076539B2
Authority
JP
Japan
Prior art keywords
encoding
data
partial information
encoding matrix
exclusive
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
JP2007037183A
Other languages
English (en)
Other versions
JP2008203369A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007037183A priority Critical patent/JP5076539B2/ja
Priority to KR1020080005706A priority patent/KR100989605B1/ko
Priority to US12/068,976 priority patent/US8812866B2/en
Publication of JP2008203369A publication Critical patent/JP2008203369A/ja
Application granted granted Critical
Publication of JP5076539B2 publication Critical patent/JP5076539B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Description

本発明は、秘密情報を分散して保管するための複数の部分情報を生成する符号化装置および符号化方法に関し、特に、秘密情報を部分情報に分割して管理する際の演算処理量および部分情報のデータ量を削減し、安全かつ柔軟に秘密情報を保管することができる符号化装置および符号化方法に関する。
近年、例えばノートパソコンなどのコンピュータには、セキュリティチップと呼ばれるチップが搭載されることがある。セキュリティチップは、内部に固有の暗号鍵を有しており、暗号鍵によってハードディスクなどに記憶されるデータを自動的に暗号化し、第三者による盗用やウイルス感染などを防止している。すなわち、それぞれのセキュリティチップが有する暗号鍵は、外部から取得することは不可能となっているため、この暗号鍵によって暗号化されたデータが外部に持ち出されたとしても、他のコンピュータにおいてはデータを復号することができない。
このように、セキュリティチップは、堅固なセキュリティをユーザに提供する一方で、セキュリティチップが故障した場合には、正当なユーザであってもデータを復号することができなくなるという危険性を孕んでいる。そこで、緊急時にセキュリティチップの暗号鍵を復元するためのトークンが生成されるようになっているのが一般的である。トークンは、データサイズが小さく例えばUSB(Universal Serial Bus)メモリなどにも保存可能なファイルであり、セキュリティチップの故障時には、トークンが使用されることにより、セキュリティチップ内の暗号鍵が復元される。
したがって、セキュリティチップによってデータの安全性が確保されていても、暗号鍵復元用のトークンが第三者の手に渡ってしまうと、セキュリティチップ内の暗号鍵が復元されてしまうことになる。このため、例えばトークンを分割して、信頼できる複数の人に保管してもらったり、セキュリティチップを備えた複数のコンピュータに分散して記憶しておいたりするなどの対処が必要となる。
具体的には、例えば特許文献1に記載されたデータの暗号化・復号に用いられる一般的な秘密鍵と同様に、秘密鍵の再現に必要な条件をあらかじめ定めておき、複数の人に秘密鍵を分割して得られる部分情報を配布する。そして、秘密鍵を再現する際には、あらかじめ定めた再現条件が満たされる場合にのみ、部分情報から秘密鍵を再現する。また、例えば特許文献2に記載されたように、リードソロモン符号を用いて鍵を誤り訂正符号化し、生成された複数のシェア鍵(部分情報)を分散して保管するなどの方法もある。
特開平9−50236号公報 特開2003−348065号公報
しかしながら、上述した鍵の分散保管においては、鍵の復元に多くの計算を要したり、鍵の部分情報が元の鍵と同サイズとなり保管する側の記憶容量を圧迫したりするという問題がある。すなわち、例えば特許文献1に記載された方法では、秘密鍵を再現する際に、剰余に関する高次連立合同式を解く必要があり、元の鍵と部分情報が同サイズであるとともに、演算処理量が大きくなる。また、特許文献2に記載された方法についても、誤り訂正符号としてリードソロモン符号を用いているため、演算処理量は大きい。
さらに、トークンや鍵のような秘密情報を部分情報に分割して分散保管する場合、すべての部分情報が揃わないと元の秘密情報を復元できなければ、たとえ緊急時であっても1つの部分情報が欠けていれば復元不可能となり柔軟性に乏しい。反対に、非常に少ない部分情報のみから元の秘密情報を復元できれば、安全性が確保されない。したがって、秘密情報から生成する部分情報の数や秘密情報の復元に必要な部分情報の数などを自由に設定できることが望まれる。
本発明はかかる点に鑑みてなされたものであり、秘密情報を部分情報に分割して管理する際の演算処理量および部分情報のデータ量を削減し、安全かつ柔軟に秘密情報を保管することができる符号化装置および符号化方法を提供することを目的とする。
上記課題を解決するために、本発明は、秘密情報を分散して保管するための複数の部分情報を生成する符号化装置であって、行数および列数が2以上であり、各要素に0または1が配置された符号化用行列を提供する提供手段と、符号化対象の秘密情報をこの秘密情報に対応する一時暗号鍵を用いて暗号化し、符号化データを生成する生成手段と、前記生成手段によって生成された符号化データを前記提供手段によって提供される符号化用行列の列数と同数のデータブロックに分割する分割手段と、前記分割手段によって分割されて得られたデータブロックについて符号化用行列の各行に対応する排他的論理和を求め、この排他的論理和を含む部分情報を出力する出力手段とを有する構成を採る。
この構成によれば、秘密情報から符号化データを生成し、符号化データを符号化用行列の列数と同数のデータブロックに分割し、データブロックについて符号化用行列の各行に対応する排他的論理和を求めて部分情報を出力する。このため、部分情報の生成には、データの分割および排他的論理輪の算出が行われるのみであるとともに、部分情報のデータ量は、分割されて得られるデータブロックとほぼ同等となる。したがって、秘密情報を部分情報に分割して管理する際の演算処理量および部分情報のデータ量を削減し、安全かつ柔軟に秘密情報を保管することができる。
また、本発明は、上記構成において、前記生成手段は、秘密情報が暗号化されて得られた暗号化秘密情報と暗号化に用いられた一時暗号鍵とを結合して符号化データを生成する構成を採る。
この構成によれば、暗号化秘密情報と一時暗号鍵を結合して符号化データを生成するため、秘密情報の復元時に符号化データが得られれば、一時暗号鍵によって暗号化秘密情報を復号することができ、元の秘密情報を得ることができる。
また、本発明は、上記構成において、前記出力手段は、符号化用行列の各列にデータブロックを対応付け、行ごとの1の要素に対応するデータブロック間の排他的論理和を求める構成を採る。
この構成によれば、行ごとの1の要素に対応するデータブロック間の排他的論理和を求めるため、1つの部分情報には複数のデータブロックに関する情報が含まれ、効率良く秘密情報を符号化することができる。
また、本発明は、上記構成において、前記出力手段は、符号化用行列の行の各要素からなるヘッダ部と、この行に対応する排他的論理和からなるデータ部とを備える部分情報を出力する構成を採る。
この構成によれば、部分情報のヘッダ部が符号化用行列の行の各要素からなり、データ部がデータブロック間の排他的論理和からなるため、復号時には、複数の部分情報のヘッダ部から構成される行列を例えばガウスの消去法を用いて単位行列とすることにより、そのときのデータ部から各データブロックを得ることができる。
また、本発明は、上記構成において、前記提供手段は、あらかじめ所定の符号化用行列を記憶する構成を採る。
この構成によれば、あらかじめ所定の符号化用行列を記憶するため、符号化の際に、容易かつ迅速に符号化用行列を使用することができる。
また、本発明は、上記構成において、前記提供手段は、前記出力手段によって出力される部分情報の保管に利用可能な記憶容量に応じて符号化用行列を生成する符号化用行列生成手段を含む構成を採る。
この構成によれば、部分情報のための記憶容量に応じて符号化用行列を生成するため、部分情報を保管するコンピュータなどの記憶容量に適したデータ量の部分情報を生成することができる。
また、本発明は、上記構成において、前記符号化用行列生成手段は、部分情報が複数の記憶装置に分配されて記憶される場合に、前記複数の記憶装置それぞれの記憶容量の最小値に対応する部分情報のデータ量および前記生成手段によって生成される符号化データのデータ量からデータブロック数を算出し、算出されたデータブロック数と同数の列数の符号化用行列を生成する構成を採る。
この構成によれば、複数の記憶装置の最小の記憶容量に合わせたデータ量の部分情報が出力されるような符号化用行列を生成するため、例えばコンピュータなどの記憶装置の記憶容量の空き具合に即した部分情報が生成され、生成された部分情報を確実に保管しておくことができる。
また、本発明は、上記構成において、前記符号化用行列生成手段は、部分情報が複数の記憶装置に分配されて記憶される場合に、前記複数の記憶装置それぞれが記憶する部分情報の合計数と同数の行数の符号化用行列を生成する構成を採る。
この構成によれば、複数の記憶装置全体が記憶する数の部分情報が出力されるような符号化用行列を生成するため、例えばコンピュータなどの記憶装置から記憶容量の通知を受け、それぞれの記憶装置に最大限記憶可能な部分情報を分配することができる。
また、本発明は、上記構成において、前記生成手段は、セキュリティチップが備える暗号鍵の復元用のトークンを秘密情報として取得し、取得されたトークンから符号化データを生成する構成を採る。
この構成によれば、セキュリティチップの暗号鍵復元用のトークンから符号化データを生成するため、セキュリティチップの暗号鍵の安全性を確保することができるとともに、セキュリティチップの故障時などには、セキュリティチップの暗号鍵を復元することができる。
また、本発明は、秘密情報を分散して保管するための複数の部分情報を生成する符号化方法であって、符号化対象の秘密情報をこの秘密情報に対応する一時暗号鍵を用いて暗号化し、符号化データを生成する生成工程と、行数および列数が2以上であり、各要素に0または1が配置された符号化用行列を提供する提供工程と、前記生成工程にて生成された符号化データを前記提供工程にて提供される符号化用行列の列数と同数のデータブロックに分割する分割工程と、前記分割工程にて分割されて得られたデータブロックについて符号化用行列の各行に対応する排他的論理和を求め、この排他的論理和を含む部分情報を出力する出力工程とを有するようにした。
この方法によれば、秘密情報から符号化データを生成し、符号化データを符号化用行列の列数と同数のデータブロックに分割し、データブロックについて符号化用行列の各行に対応する排他的論理和を求めて部分情報を出力する。このため、部分情報の生成には、データの分割および排他的論理輪の算出が行われるのみであるとともに、部分情報のデータ量は、分割されて得られるデータブロックとほぼ同等となる。したがって、秘密情報を部分情報に分割して管理する際の演算処理量および部分情報のデータ量を削減し、安全かつ柔軟に秘密情報を保管することができる。
本発明によれば、秘密情報を部分情報に分割して管理する際の演算処理量および部分情報のデータ量を削減し、安全かつ柔軟に秘密情報を保管することができる。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、以下においては、セキュリティチップ内の暗号鍵復元用のトークンを保管する際の例について説明するが、本発明は、通常のデータ暗号化用の暗号鍵を保管する場合などにも適用することができる。
(実施の形態1)
図1は、本発明の実施の形態1に係る符号化装置の要部構成を示すブロック図である。図1に示す符号化装置は、セキュリティチップ101に接続されており、セキュリティチップ101が使用する暗号鍵を復元するためのトークンの情報を含む部分情報を出力する。具体的には、図1に示す符号化装置は、トークン取得部102、暗号化部103、符号化データ生成部104、分割部105、符号化用行列記憶部106、および排他的論理和算出部107を有している。
トークン取得部102は、セキュリティチップ101がデータの暗号化および復号に用いる暗号鍵を復元する際に必要となるトークンを取得する。トークン取得部102は、セキュリティチップ101に新たにトークンを生成させても良いし、あらかじめ生成され記憶されていたトークンを取得しても良い。トークンは、例えば緊急時などにセキュリティチップ101内の暗号鍵を復元するためのファイルであり、比較的小サイズであるため、USBメモリなどに記憶可能である。
暗号化部103は、トークン取得部102によって取得されたトークンを暗号化する。具体的には、暗号化部103は、例えば図2に示すように、一時的に使用する一時暗号鍵によってトークンを暗号化し、暗号化トークンを生成する。そして、暗号化部103は、得られた暗号化トークンを一時暗号鍵とともに符号化データ生成部104へ出力する。なお、暗号化部103が使用する一時暗号鍵は、セキュリティチップ101内に備えられた暗号鍵とは無関係のものであり、トークンの暗号化をするたびに新たな一時暗号鍵が使用される。
符号化データ生成部104は、一時暗号鍵および暗号化トークンから符号化対象となる符号化データを生成する。具体的には、符号化データ生成部104は、例えば図3に示すように、一時暗号鍵とこの一時暗号鍵を使用して暗号化された暗号化トークンとを結合し、符号化データを生成する。
分割部105は、符号化データを同サイズのデータブロックに分割する。このとき、分割部105は、符号化に用いられる符号化用行列の列数に等しい数のデータブロックに分割する。なお、分割部105は、データブロックのサイズを揃えるために、例えば符号化データにダミーデータを付加した上で分割しても良い。
符号化用行列記憶部106は、符号化データの符号化に用いる符号化用行列をあらかじめ記憶する。具体的には、符号化用行列記憶部106は、例えば図4に示すような符号化用行列を記憶している。
符号化用行列は、すべての要素が0または1からなっており、0および1はランダムに配置されている。ただし、完全に同一の行が存在しないように、0および1が配置されている。また、符号化用行列の行数は、符号化装置によって出力される部分情報の数に対応しており、符号化用行列の列数は、任意であるが多いほど復元の効率が良くなる。図4に示した符号化用行列を用いる場合には、符号化データが8(すなわち列数)個のデータブロックに分割され、14(すなわち行数)個の部分情報が出力される。さらに、各列における1の要素の数は、冗長度(符号化データのデータ量に対する部分情報すべてを合計したデータ量の割合)から1を減算した値を列数に乗算した数以上となっている。
排他的論理和算出部107は、符号化用行列記憶部106から符号化用行列を読み出し、符号化用行列の各行の1の位置に従ってデータブロック間の排他的論理和を算出し、部分情報を生成する。すなわち、排他的論理和算出部107は、分割部105によって生成されたデータブロック各々に番号を付与し、符号化用行列の各行の1の位置に対応する番号のデータブロック間の排他的論理和を算出する。そして、排他的論理和算出部107は、符号化用行列の行の各要素をヘッダ部とし、この行に従って算出された排他的論理和をデータ部とした部分情報を生成する。このため、排他的論理和算出部107は、符号化用行列の行数に等しい部分情報を生成することになる。
なお、上記のような符号化をRPS(Random Parity Stream)符号化といい、本実施の形態においては、分割部105、符号化用行列記憶部106、および排他的論理和算出部107がRPS符号化部を構成している。
次いで、上記のように構成された符号化装置によるトークンの符号化について、図5に示すフロー図を参照しながら説明する。
本実施の形態においては、コンピュータ内のセキュリティチップ101が使用する暗号鍵を緊急時などに復元するために、暗号鍵復元用のトークンが生成される。このトークンは、トークン取得部102によって取得され(ステップS101)、暗号化部103へ出力される。上述したように、トークン取得部102は、セキュリティチップ101に新たにトークンを生成させて取得しても良いし、外部にあらかじめ記憶されているトークンを取得しても良い。
トークン取得部102から出力されたトークンは、暗号化部103によって一時暗号鍵が用いられることにより暗号化トークンとなる。すなわち、暗号化部103によって、トークンを暗号化するための一時的な暗号鍵が生成され、この一時暗号鍵によってトークンが暗号化される。そして、暗号化されて得られた暗号化トークンは、暗号化に用いられた一時暗号鍵とともに符号化データ生成部104へ出力され、符号化データ生成部104によって、一時暗号鍵と暗号化トークンが結合された符号化データが生成される(ステップS102)。
そして、符号化データは、分割部105によって符号化用行列の列数と同数のデータブロックに分割される(ステップS103)。すなわち、例えば図4に示す符号化用行列が使用される場合は、符号化データが8個のデータブロックに分割される。各データブロックは、排他的論理和算出部107へ出力され、排他的論理和算出部107によって符号化用行列記憶部106から符号化用行列が読み出されると、符号化用行列の各行の1の要素に対応するデータブロック間の排他的論理和が算出される(ステップS104)。すなわち、例えば図4に示す符号化用行列の最上段の行については、1番目、2番目、5番目、および7番目のデータブロック間の排他的論理和が算出される。算出された排他的論理和には、元のデータブロックの情報が含まれていることになる。
排他的論理和算出部107によってデータブロック間の排他的論理和が算出されると、この排他的論理和がデータ部とされ、排他的論理和に対応する符号化用行列の行がヘッダ部とされた部分情報が出力される(ステップS105)。したがって、排他的論理和算出部107からは、符号化用行列の行数と同数の部分情報が出力される。こうして出力された部分情報は、信頼できる複数の人などに分配されて保管される。また、各部分情報は、1つ以上のハードディスクやフラッシュメモリなどのリムーバブルメディアに保管されても良いし、ネットワーク経由で接続されたストレージに保管されても良い。さらに、他のセキュリティチップが備えられたコンピュータとの間で互いの部分情報を保管しあうようにしても良く、この場合には、部分情報にもセキュリティチップによる暗号化が施され、安全性をより向上することができる。
次に、本実施の形態に係るRPS符号化について、図6を参照しながら具体的な例を説明する。以下では、符号化用行列の列数が4である場合について説明する。
符号化データ生成部104によって一時暗号鍵および暗号化トークンを含む符号化データが生成されると、この符号化データは、分割部105によって分割される。分割部105は、符号化用行列記憶部106にあらかじめ記憶されている符号化用行列の列数と同数のデータブロックに符号化データを分割するため、ここでは図6に示すように、符号化データを4つのデータブロックに分割する。
そして、データブロックは、排他的論理和算出部107へ出力され、符号化用行列に従った排他的論理和が算出され、RPS符号化が行われる。すなわち、例えば図6に示すように、符号化用行列の最上段の行が「1010」であれば、1番目のデータブロックと3番目のデータブロックとの排他的論理和が算出され、算出された排他的論理和にヘッダ部として「1010」が付加された部分情報が生成される。また、符号化用行列の上から2段目の行が「0110」であれば、2番目のデータブロックと3番目のデータブロックとの排他的論理和が算出され、算出された排他的論理和にヘッダ部として「0110」が付加された部分情報が生成される。
このように、RPS符号化においては、データブロック間の排他的論理和を算出することで符号化が行われるため、演算処理量はそれほど大きくならないとともに、それぞれの部分情報のデータ量は、符号化データが分割されたデータブロックのサイズにヘッダ部のサイズを加えた程度である。このため、演算処理量とデータ量の双方を削減することができる。さらに、符号化用行列の列数や行数および1の要素の位置を調整することにより、部分情報の数やデータ量を柔軟に設定することができる。
また、RPS符号化によって得られた部分情報から元の符号化データを得る復号時には、少なくとも符号化用行列の列数と同数の部分情報を集めて縦方向に並べる。そして、各部分情報のヘッダ部から構成される行列にガウスの消去法などを適用することにより、ヘッダ部を単位行列に変換する。ヘッダ部が単位行列となったときのデータ部は、符号化データが分割されて得られたデータブロックとなっており、データブロックを結合することにより、符号化データが得られる。この符号化データには、一時暗号鍵と暗号化トークンが含まれているため、一時暗号鍵によって暗号化トークンを復号することにより、セキュリティチップ101内の暗号鍵を復元するためのトークンが得られることになる。
以上のように、本実施の形態によれば、トークンを一時暗号鍵で暗号化して符号化データを生成し、符号化データを符号化用行列の列数と同数のデータブロックに分割し、データブロックから符号化用行列の各行に対応する排他的論理和を算出して符号化し、符号化用行列および排他的論理和を含む部分情報を出力する。このため、部分情報の生成には、データの分割および排他的論理輪の算出が行われるのみであるとともに、部分情報のデータ量は、分割されて得られるデータブロックとほぼ同等となる。したがって、秘密情報を部分情報に分割して管理する際の演算処理量および部分情報のデータ量を削減し、安全かつ柔軟に秘密情報を保管することができる。
(実施の形態2)
本発明の実施の形態2の特徴は、同一のグループウェアを使用する複数のコンピュータに部分情報を分配する点である。
図7は、本実施の形態に係る符号化装置の要部構成を示すブロック図である。同図において、図1と同じ部分には同じ符号を付し、その説明を省略する。図7に示す符号化装置は、セキュリティチップ101に接続されており、セキュリティチップ101が使用する暗号鍵を復元するためのトークンの情報を含む部分情報をグループウェアへ出力する。具体的には、図7に示す符号化装置は、トークン取得部102、暗号化部103、符号化データ生成部104、符号化用行列生成部201、分割部202、および排他的論理和算出部107を有している。
符号化用行列生成部201は、グループウェアから通知される部分情報の分配割合に応じた符号化用行列を生成する。すなわち、符号化用行列生成部201は、部分情報のデータ量に応じて符号化用行列の列数を決定し、分配される部分情報の数に応じて符号化用行列の行数を決定する。具体的には、符号化用行列生成部201は、グループウェアから通知される部分情報のデータ量に基づいてデータブロックのデータ量を決定し、符号化データのデータ量をデータブロックのデータ量で除算して分割数を求め、この分割数を符号化用行列の列数とする。また、符号化用行列生成部201は、グループウェアから通知される部分情報の合計数を符号化用行列の行数とする。符号化用行列生成部201は、符号化用行列の列数および行数を決定すると、1の要素をランダムに配置するとともに、列数を分割部202へ通知する。
分割部202は、符号化用行列生成部201から符号化用行列の列数が通知されると、符号化データ生成部104によって生成された符号化データを符号化用行列の列数と同数のデータブロックに分割する。
本実施の形態においては、符号化用行列生成部201、分割部202、および排他的論理和算出部107がRPS符号化部を構成している。
一方、図7に示すグループウェアは、分配割合決定部301および部分情報分配部302を有している。
分配割合決定部301は、グループウェアを使用する複数のコンピュータそれぞれが保管可能な部分情報のデータ量を示す持分情報を取得し、各コンピュータに保管する部分情報の数を決定する。すなわち、分配割合決定部301は、各コンピュータから通知される持分情報から保管可能なデータ量の最小値を検出し、検出された最小値を部分情報のデータ量とする。そして、分配割合決定部301は、各コンピュータから通知される持分情報から各コンピュータが保管する部分情報の数を決定し、部分情報分配部302へ通知する。また、分配割合決定部301は、部分情報のデータ量および複数のコンピュータに分配する部分情報の合計数を符号化用行列生成部201へ通知する。
部分情報分配部302は、分配割合決定部301から通知されるコンピュータごとの部分情報の数に応じて、排他的論理和算出部107から出力される部分情報を各コンピュータへ分配する。
次いで、上記のように構成された符号化装置によるトークンの符号化について、図8に示すフロー図を参照しながら説明する。なお、同図において、図5と同じ部分には同じ符号を付す。
本実施の形態においても実施の形態1と同様に、コンピュータ内のセキュリティチップ101が使用する暗号鍵を緊急時などに復元するために、暗号鍵復元用のトークンが生成される。このトークンは、トークン取得部102によって取得され(ステップS101)、暗号化部103へ出力される。トークン取得部102は、セキュリティチップ101に新たにトークンを生成させて取得しても良いし、外部にあらかじめ記憶されているトークンを取得しても良い。
トークン取得部102から出力されたトークンは、暗号化部103によって一時暗号鍵が用いられることにより暗号化トークンとなる。すなわち、暗号化部103によって、トークンを暗号化するための一時的な暗号鍵が生成され、この一時暗号鍵によってトークンが暗号化される。そして、暗号化されて得られた暗号化トークンは、暗号化に用いられた一時暗号鍵とともに符号化データ生成部104へ出力され、符号化データ生成部104によって、一時暗号鍵と暗号化トークンが結合された符号化データが生成される(ステップS102)。
一方、複数のコンピュータが接続するグループウェアにおいては、分配割合決定部301によって、各コンピュータが部分情報として保管可能なデータ量を示す持分情報が収集され、データ量の最小値が部分情報のデータ量に決定される。そして、部分情報のデータ量および各コンピュータが保管する部分情報の合計数が符号化用行列生成部201へ通知される。符号化用行列生成部201では、部分情報のデータ量および部分情報の合計数から符号化用行列が生成される(ステップS201)。
すなわち、符号化用行列生成部201によって、部分情報のデータ量からデータブロックのデータ量が決定され、符号化データのデータ量がデータブロックのデータ量で除算されることにより、符号化データから得られるデータブロックの数が算出される。このデータブロックの数は、符号化用行列の列数となり、分割部202へ通知される。さらに、符号化用行列生成部201によって、部分情報の合計数が符号化用行列の行数とされ、1の要素がランダムに配置されることにより、符号化用行列が生成される。
分割部202に符号化用行列の列数が通知されると、分割部202によって、符号化データが符号化用行列の列数と同数のデータブロックに分割される(ステップS202)。各データブロックは、排他的論理和算出部107へ出力され、排他的論理和算出部107によって符号化用行列生成部201から符号化用行列が読み出されると、符号化用行列の各行の1の要素に対応するデータブロック間の排他的論理和が算出される(ステップS104)。
排他的論理和算出部107によってデータブロック間の排他的論理和が算出されると、この排他的論理和がデータ部とされ、排他的論理和に対応する符号化用行列の行がヘッダ部とされた部分情報が部分情報分配部302へ出力される。したがって、排他的論理和算出部107からは、符号化用行列の行数と同数の部分情報が出力される。上述したように、符号化用行列の行数は、各コンピュータから収集された持分情報に基づいて決定された部分情報の合計数に等しいため、これらの部分情報は、持分情報に応じて各コンピュータへ分配される(ステップS203)。すなわち、分配割合決定部301において決定された部分情報のデータ量から、各コンピュータの持分情報に応じてそれぞれのコンピュータへ分配する部分情報の数が決定され、この分配割合が部分情報分配部302へ通知される。そして、部分情報分配部302によって、排他的論理和算出部107から出力される部分情報が分配割合に従って各コンピュータへ分配される。
以上のように、本実施の形態によれば、同一のグループウェアを使用する複数のコンピュータから持分情報を収集し、持分情報に応じて部分情報のデータ量および各コンピュータへの部分情報の分配割合を決定する。そして、部分情報のデータ量および部分情報の合計数に適した符号化用行列を生成し、生成された符号化用行列を用いて符号化データを符号化し、得られた部分情報を持分情報から決定された分配割合に応じて各コンピュータへ分配する。このため、グループウェアを使用する複数のコンピュータの保管可能なデータ量に応じて動的に符号化用行列が生成され、それぞれのコンピュータの記憶容量に応じて部分情報を分配することができる。
なお、上記各実施の形態においては、符号化装置をセキュリティチップ101に接続するものとしたが、本発明の符号化装置は、例えば通常のデータを暗号化する暗号鍵を記憶するハードディスクに接続したり、その他のリムーバブルメディアに接続したりして、通常の暗号鍵をRPS符号化することも可能である。
(付記1)秘密情報を分散して保管するための複数の部分情報を生成する符号化装置であって、
行数および列数が2以上であり、各要素に0または1が配置された符号化用行列を提供する提供手段と、
符号化対象の秘密情報をこの秘密情報に対応する一時暗号鍵を用いて暗号化し、符号化データを生成する生成手段と、
前記生成手段によって生成された符号化データを前記提供手段によって提供される符号化用行列の列数と同数のデータブロックに分割する分割手段と、
前記分割手段によって分割されて得られたデータブロックについて符号化用行列の各行に対応する排他的論理和を求め、この排他的論理和を含む部分情報を出力する出力手段と
を有することを特徴とする符号化装置。
(付記2)前記生成手段は、
秘密情報が暗号化されて得られた暗号化秘密情報と暗号化に用いられた一時暗号鍵とを結合して符号化データを生成することを特徴とする付記1記載の符号化装置。
(付記3)前記出力手段は、
符号化用行列の各列にデータブロックを対応付け、行ごとの1の要素に対応するデータブロック間の排他的論理和を求めることを特徴とする付記1記載の符号化装置。
(付記4)前記出力手段は、
符号化用行列の行の各要素からなるヘッダ部と、この行に対応する排他的論理和からなるデータ部とを備える部分情報を出力することを特徴とする付記1記載の符号化装置。
(付記5)前記提供手段は、
あらかじめ所定の符号化用行列を記憶することを特徴とする付記1記載の符号化装置。
(付記6)前記提供手段は、
前記出力手段によって出力される部分情報の保管に利用可能な記憶容量に応じて符号化用行列を生成する符号化用行列生成手段を含むことを特徴とする付記1記載の符号化装置。
(付記7)前記符号化用行列生成手段は、
部分情報が複数の記憶装置に分配されて記憶される場合に、前記複数の記憶装置それぞれの記憶容量の最小値に対応する部分情報のデータ量および前記生成手段によって生成される符号化データのデータ量からデータブロック数を算出し、算出されたデータブロック数と同数の列数の符号化用行列を生成することを特徴とする付記6記載の符号化装置。
(付記8)前記符号化用行列生成手段は、
部分情報が複数の記憶装置に分配されて記憶される場合に、前記複数の記憶装置それぞれが記憶する部分情報の合計数と同数の行数の符号化用行列を生成することを特徴とする付記6記載の符号化装置。
(付記9)前記生成手段は、
セキュリティチップが備える暗号鍵の復元用のトークンを秘密情報として取得し、取得されたトークンから符号化データを生成することを特徴とする付記1記載の符号化装置。
(付記10)秘密情報を分散して保管するための複数の部分情報を生成する符号化方法であって、
符号化対象の秘密情報をこの秘密情報に対応する一時暗号鍵を用いて暗号化し、符号化データを生成する生成工程と、
行数および列数が2以上であり、各要素に0または1が配置された符号化用行列を提供する提供工程と、
前記生成工程にて生成された符号化データを前記提供工程にて提供される符号化用行列の列数と同数のデータブロックに分割する分割工程と、
前記分割工程にて分割されて得られたデータブロックについて符号化用行列の各行に対応する排他的論理和を求め、この排他的論理和を含む部分情報を出力する出力工程と
を有することを特徴とする符号化方法。
本発明は、秘密情報を部分情報に分割して管理する際の演算処理量および部分情報のデータ量を削減し、安全かつ柔軟に秘密情報を保管する場合に適用することができる。
実施の形態1に係る符号化装置の要部構成を示すブロック図である。 実施の形態1に係るトークンの暗号化を説明する図である。 実施の形態1に係る符号化データの構成を示す図である。 実施の形態1に係る符号化用行列の一例を示す図である。 実施の形態1に係る符号化装置の動作を示すフロー図である。 実施の形態1に係るRPS符号化の具体例を示す図である。 実施の形態2に係る符号化装置の要部構成を示すブロック図である。 実施の形態2に係る符号化装置の動作を示すフロー図である。
符号の説明
102 トークン取得部
103 暗号化部
104 符号化データ生成部
105、202 分割部
106 符号化用行列記憶部
107 排他的論理和算出部
201 符号化用行列生成部
301 分配割合決定部
302 部分情報分配部

Claims (11)

  1. 秘密情報を分散して保管するための複数の部分情報を生成する符号化装置であって、
    行数および列数が2以上であり、各要素に0または1が配置され、かつ各列における1の要素の数は、符号化データのデータ量に対する部分情報すべてを合計したデータ量の割合から1を減算した値を列数に乗算した数以上である符号化用行列を提供する提供手段と、
    符号化対象の秘密情報をこの秘密情報に対応する一時暗号鍵を用いて暗号化し、符号化データを生成する生成手段と、
    前記生成手段によって生成された符号化データを前記提供手段によって提供される符号化用行列の列数と同数のデータブロックに分割する分割手段と、
    前記分割手段によって分割されて得られたデータブロックについて符号化用行列の各行に対応する排他的論理和を求め、この排他的論理和を含む部分情報を出力する出力手段と
    を有することを特徴とする符号化装置。
  2. 前記提供手段は、
    前記各要素に配置された0または1が、同一の行が存在しないようにランダムに配置された前記符号化用行列を提供することを特徴とする請求項1記載の符号化装置。
  3. 前記生成手段は、
    秘密情報が暗号化されて得られた暗号化秘密情報と暗号化に用いられた一時暗号鍵とを結合して符号化データを生成することを特徴とする請求項1記載の符号化装置。
  4. 前記出力手段は、
    符号化用行列の各列にデータブロックを対応付け、行ごとの1の要素に対応するデータブロック間の排他的論理和を求めることを特徴とする請求項1記載の符号化装置。
  5. 前記出力手段は、
    符号化用行列の行の各要素からなるヘッダ部と、この行に対応する排他的論理和からなるデータ部とを備える部分情報を出力することを特徴とする請求項1記載の符号化装置。
  6. 前記提供手段は、
    あらかじめ所定の符号化用行列を記憶することを特徴とする請求項1記載の符号化装置。
  7. 前記提供手段は、
    前記出力手段によって出力される部分情報の保管に利用可能な記憶容量に応じて符号化用行列を生成する符号化用行列生成手段を含むことを特徴とする請求項1記載の符号化装置。
  8. 前記符号化用行列生成手段は、
    部分情報が複数の記憶装置に分配されて記憶される場合に、前記複数の記憶装置それぞれの記憶容量の最小値に対応する部分情報のデータ量および前記生成手段によって生成される符号化データのデータ量からデータブロック数を算出し、算出されたデータブロック数と同数の列数の符号化用行列を生成することを特徴とする請求項記載の符号化装置。
  9. 前記符号化用行列生成手段は、
    部分情報が複数の記憶装置に分配されて記憶される場合に、前記複数の記憶装置それぞれが記憶する部分情報の合計数と同数の行数の符号化用行列を生成することを特徴とする請求項記載の符号化装置。
  10. 前記生成手段は、
    セキュリティチップが備える暗号鍵の復元用のトークンを秘密情報として取得し、取得されたトークンから符号化データを生成することを特徴とする請求項1記載の符号化装置。
  11. コンピュータを用いて秘密情報を分散して保管するための複数の部分情報を生成する符号化方法であって、
    前記コンピュータが備える生成手段により、符号化対象の秘密情報をこの秘密情報に対応する一時暗号鍵を用いて暗号化し、符号化データを生成する生成工程と、
    前記コンピュータが備える提供手段により、行数および列数が2以上であり、各要素に0または1が配置され、かつ各列における1の要素の数は、符号化データのデータ量に対する部分情報すべてを合計したデータ量の割合から1を減算した値を列数に乗算した数以上である符号化用行列を提供する提供工程と、
    前記コンピュータが備える分割手段により、前記生成工程にて生成された符号化データを前記提供工程にて提供される符号化用行列の列数と同数のデータブロックに分割する分割工程と、
    前記コンピュータが備える出力手段により、前記分割工程にて分割されて得られたデータブロックについて符号化用行列の各行に対応する排他的論理和を求め、この排他的論理和を含む部分情報を出力する出力工程と
    を有することを特徴とする符号化方法。
JP2007037183A 2007-02-16 2007-02-16 符号化装置および符号化方法 Expired - Fee Related JP5076539B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007037183A JP5076539B2 (ja) 2007-02-16 2007-02-16 符号化装置および符号化方法
KR1020080005706A KR100989605B1 (ko) 2007-02-16 2008-01-18 부호화 장치 및 부호화 방법
US12/068,976 US8812866B2 (en) 2007-02-16 2008-02-13 Method and apparatus for storing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007037183A JP5076539B2 (ja) 2007-02-16 2007-02-16 符号化装置および符号化方法

Publications (2)

Publication Number Publication Date
JP2008203369A JP2008203369A (ja) 2008-09-04
JP5076539B2 true JP5076539B2 (ja) 2012-11-21

Family

ID=39707669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007037183A Expired - Fee Related JP5076539B2 (ja) 2007-02-16 2007-02-16 符号化装置および符号化方法

Country Status (3)

Country Link
US (1) US8812866B2 (ja)
JP (1) JP5076539B2 (ja)
KR (1) KR100989605B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015049756A1 (ja) * 2013-10-03 2015-04-09 富士通株式会社 プログラム、符号化装置、及び符号化方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132073B1 (en) * 2009-06-30 2012-03-06 Emc Corporation Distributed storage system with enhanced security
KR101374595B1 (ko) * 2013-04-26 2014-03-17 (주)케이사인 데이터를 블록화하여 블록 토큰을 설계하는 방법
KR101428648B1 (ko) * 2014-01-29 2014-08-13 (주)케이사인 블록 토큰 기반의 암호화 방법 및 블록 토큰 기반의 복호화 방법
KR102334443B1 (ko) * 2019-11-20 2021-12-03 한국산업기술대학교산학협력단 Can 통신 시스템에서 데이터 보안 방법 및 장치
KR102342021B1 (ko) 2019-11-25 2021-12-22 서강대학교 산학협력단 속성을 기반으로 한 블록체인 네트워크에서의 접근 권한 제어 시스템 및 접근 권한 제어 방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05235979A (ja) 1992-02-18 1993-09-10 Nec Corp 非同期転送モード通信方式
US5768389A (en) 1995-06-21 1998-06-16 Nippon Telegraph And Telephone Corporation Method and system for generation and management of secret key of public key cryptosystem
JPH0950236A (ja) 1995-08-10 1997-02-18 Nippon Telegr & Teleph Corp <Ntt> 秘密鍵再現方法及びその装置
JPH09312099A (ja) * 1996-05-21 1997-12-02 Toshiba Microelectron Corp 半導体記憶装置及びそのアクセス方法
US6445717B1 (en) * 1998-05-01 2002-09-03 Niwot Networks, Inc. System for recovering lost information in a data stream
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment
JP2003087236A (ja) * 2001-09-11 2003-03-20 Sony Corp コンテンツ利用回数管理システム、コンテンツ利用回数管理方法、および情報処理装置、並びにコンピュータ・プログラム
US6898288B2 (en) * 2001-10-22 2005-05-24 Telesecura Corporation Method and system for secure key exchange
JP3723960B2 (ja) * 2001-11-19 2005-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 外部記憶装置、外部記憶装置制御方法、プログラム及び記録媒体
JP3943388B2 (ja) * 2001-12-20 2007-07-11 日本電信電話株式会社 秘密情報分散共有方法、これらの装置及びプログラム
JP2003288272A (ja) * 2002-03-28 2003-10-10 Mitsubishi Electric Information Systems Corp ディスク活用仲介サーバ及びディスク活用仲介方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及びプログラム
JP2003348065A (ja) 2002-05-23 2003-12-05 Japan Datacom Co Ltd データ分散保管システム
WO2004030273A1 (ja) * 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム
JP2005223683A (ja) 2004-02-06 2005-08-18 Sony Corp 送受信システム、送信装置および方法、受信装置および方法、送受信装置および方法、並びにプログラム
JP4657619B2 (ja) * 2004-03-31 2011-03-23 富士通株式会社 情報処理装置及びアクセス権管理方法
KR100709758B1 (ko) 2005-06-04 2007-04-19 원광대학교산학협력단 혼합형 암호화 시스템
JP4789536B2 (ja) * 2005-08-02 2011-10-12 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ分割装置、データ分割方法およびコンピュータプログラム
JP2007299088A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd データ保護システム、方法及びプログラム
US9769158B2 (en) * 2006-06-07 2017-09-19 Red Hat, Inc. Guided enrollment and login for token users
US8102999B2 (en) * 2006-08-18 2012-01-24 Medtronic, Inc. Secure telemetric link
JP5235979B2 (ja) 2010-12-28 2013-07-10 中国電力株式会社 ナット止めキャップ取外し用先端工具及び間接活線用作業具

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015049756A1 (ja) * 2013-10-03 2015-04-09 富士通株式会社 プログラム、符号化装置、及び符号化方法
JPWO2015049756A1 (ja) * 2013-10-03 2017-03-09 富士通株式会社 プログラム、符号化装置、及び符号化方法
US9876608B2 (en) 2013-10-03 2018-01-23 Fujitsu Limited Encoding apparatus and encoding method

Also Published As

Publication number Publication date
US20080201581A1 (en) 2008-08-21
JP2008203369A (ja) 2008-09-04
US8812866B2 (en) 2014-08-19
KR100989605B1 (ko) 2010-10-26
KR20080076721A (ko) 2008-08-20

Similar Documents

Publication Publication Date Title
US11233643B1 (en) Distributed data storage system data decoding and decryption
US8744071B2 (en) Dispersed data storage system data encryption and encoding
JP5076539B2 (ja) 符号化装置および符号化方法
JP5685735B2 (ja) 秘密分散装置、分散装置および秘密分散方法
JP2007299088A (ja) データ保護システム、方法及びプログラム
JP2003348065A (ja) データ分散保管システム
US10985914B2 (en) Key generation device and key generation method
JP5299286B2 (ja) 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム
JP4539952B2 (ja) 情報分散保管システム、その装置、プログラム及び記録媒体
US10650160B2 (en) Enhancing security for multiple storage configurations
JP5251520B2 (ja) 分散情報生成装置、復元装置、復元結果検証装置、秘密情報分散システム、方法およびプログラム
JP2000173178A (ja) デジタルデータ記憶方法および該方法を用いたコンピュータシステム
KR102044519B1 (ko) 데이터 분산 암호화 방법 및 분산 암호화된 데이터 복구 방법
US7313235B2 (en) Device and method of applying a parity to encrypt data for protection
US10853171B2 (en) Encoding data in a dispersed storage network
JP5821040B2 (ja) データ管理装置、データ分割装置およびデータ復元装置
JP2022090362A (ja) メモリシステム、コントローラおよび制御方法
JP2017027566A (ja) 分散保存ストレージにおける機密化方法とコンテンツ分散保存装置
JP5381981B2 (ja) 分散情報生成装置
US7707431B2 (en) Device of applying protection bit codes to encrypt a program for protection
JP5826202B2 (ja) 符号化装置、復号装置、符号化方法、復号方法及びプログラム
US20060177054A1 (en) Data processing apparatus, data recording apparatus, data playback apparatus, and data storage method
JP2005167794A (ja) 秘密情報保管方法及び装置、秘密情報復元方法及び装置、秘密情報保管プログラム並びに秘密情報復元プログラム。
JP2005167794A5 (ja)
US11664976B2 (en) Method and devices for creating redundancy and encryption using Mojette Transform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120709

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

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

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

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees