JP5230439B2 - 情報管理システム - Google Patents

情報管理システム Download PDF

Info

Publication number
JP5230439B2
JP5230439B2 JP2008543086A JP2008543086A JP5230439B2 JP 5230439 B2 JP5230439 B2 JP 5230439B2 JP 2008543086 A JP2008543086 A JP 2008543086A JP 2008543086 A JP2008543086 A JP 2008543086A JP 5230439 B2 JP5230439 B2 JP 5230439B2
Authority
JP
Japan
Prior art keywords
information
unit
vector
distribution unit
function
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
JP2008543086A
Other languages
English (en)
Other versions
JPWO2008056667A1 (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.)
Candacs
Original Assignee
Candacs
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 Candacs filed Critical Candacs
Priority to JP2008543086A priority Critical patent/JP5230439B2/ja
Publication of JPWO2008056667A1 publication Critical patent/JPWO2008056667A1/ja
Application granted granted Critical
Publication of JP5230439B2 publication Critical patent/JP5230439B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

この発明は、電子情報の盗難若しくは漏洩を確実に防止するためのシステムに関する。
電子文書化した機密情報が、盗まれたり破壊されたりすることがないようにするため、様々な対策が採られている。例えば、上記機密情報に、簡単にアクセスできないようにし、アクセス時には認証情報の入力を求める方法が知られている。
また、データにアクセスされたり、あるいはインターセプトされたりしても、内容が知られないように、元データを暗号化してから登録したり、暗号化と、認証の両方を利用したりしている。
特開平10−240595号公報
しかしながら、従来から知られているいずれのシステムも、不正アクセスを完全に防止することはできず、しかも、不正アクセスされた場合には、暗号化情報も解読されてしまうことがあった。そこで、現状では、たとえ、不正にアクセスされても、情報が漏洩しないシステムが求められている。
この発明の目的は、電子情報の盗難若しくは漏洩を確実に防止するためのシステムを提供することである。
第1の発明は、情報の登録先を決定する情報登録先決定部と、分散単位情報を生成する分散単位情報生成部と、この分散単位情報生成部と接続可能な複数のストレージグリッドとからなり、上記情報登録先決定部は、分散単位情報生成部で生成される分散単位情報ごとにその登録先のストレージグリッドを特定する機能と、分散単位情報とその登録先であるストレージグリッドとの対応関係にかかわる管理情報を生成する機能と、生成した管理情報を分散単位情報生成部へ通知する機能と、分散数τと要素数εとの最大公約数qが1のとき、多重化数μ<分散数τを満たすという条件1、または、分散数τと要素数εとの最大公約数qが1でないとき、上記分散数τおよび要素数εが互いに割り切れない関係であって、かつ、多重化数μ≦(分散数τ/最大公約数q)を満たすという条件2のいずれかを満たす上記要素数ε、多重化数μおよび分散数τの組み合わせを決定する機能と、決定した要素数εと多重化数μとの組を出力する機能とを備え、上記分散単位情報生成部は、予め設定された単位データ長または予め設定された分割数を基準にして元データを分割して、N∋ε個の要素からなるベクトルA=(a,a・・・,aε)とする機能と、当該分散単位情報生成部に入力された多重化数μ∈Nあるいは予め設定された多重化数μ∈Nのいずれかに基づいて、上記ベクトルAをμ倍してA=A=A=・・・=AμであるベクトルμA=(A‖A‖・・・‖Aμ)とする機能と、この多重化されたベクトルμAの全要素を、当該分散単位情報生成部に入力された分散数τ∈Nあるいは予め設定された分散数τ∈Nに基づいて、上記ベクトルAの全要素が含まれず、かつ、ベクトルAの同一要素が重複しないように、τ個の分散単位情報に分ける機能と、上記情報登録先決定部から通知された分散単位情報とストレージグリッドとの対応関係を定めた管理情報に基づいて上記各分散単位情報を対応するストレージグリッドへ登録する機能とを備えた点に特徴を有する。
なお、上記多重化数μ、分散数τ及び要素数εのそれぞれは自然数であり、しかも、分散数τは2以上でなければならない。
また、上記情報登録先決定部と分散単位情報生成部とは、同一装置に設けてもかまわないし、別装置として通信回線を介して接続するようにしてもかまわない。
さらに、各ストレージグリッドと分散単位情報生成部とは、通信手段を介して接続可能にしてもよいし、あるいは、それらを直接接続可能にしてもよいが、いずれにしても、分散化の効果を発揮させるためには、ストレージグリッドと分散単位情報生成部とは、それぞれ別なハードウエアに搭載し、物理的距離ができるだけ離れるようにして設置し、別々に管理することが望ましい。
上記「‖」は、ベクトルを結合する記号であり、例えば(A‖A)、ベクトルAの次に、ベクトルAを、その順番を変えないで並べて結合した数列ベクトルのことである。
第2の発明は、上記第1の発明を前提とし、上記分散単位情報生成部は、元データを多重化数μで多重化したベクトルの全要素を、その要素順に、行方向あるいは列方向に並べ、それを列方向あるいは行方向に繰り返して、分散数τに応じた列数あるいは行数と、所要の行数または列数とからなるマトリクスを生成する機能と、このマトリクスの各列あるいは各行を、1の分散単位情報とする機能とを備えた点に特徴を有する。
第3の発明は、第1または第2の発明を前提とし、管理情報を記憶する上記情報登録先決定部またはこの情報登録先決定部とは別の管理情報記憶部と、上記分散単位情報から元データを復元する情報復元部とを備え、この情報復元部は、各ストレージグリッドから分散単位情報を収集する機能と、上記管理情報を取得する機能と、上記管理情報から特定した配列順に基づいて、上記収集した分散単位情報を並べる機能とを備えた点に特徴を有する。
なお、上記情報復元部が、ストレージグリッドから分散単位情報を収集するためには、情報復元部が自らストレージグリッドへアクセスして情報を収集する場合と、上記情報登録先決定部または管理情報記憶部からの指示に基づいて、ストレージグリッドが、必要な情報を情報復元部へ送信する場合とがある。
第4の発明は、上記第1〜第3の発明を前提とし、上記分散単位情報生成部に連係する暗号化部を備え、この暗号化部は、元データを暗号化する機能を備え、分散単位情報生成部は、暗号化部が暗号化したデータを多重化数μで多重化する機能を備えた点に特徴を有する。
第1の発明によれば、個々の分散単位情報には、元データに基づいて生成した数列ベクトルの全要素が含まれず、かつ、上記ベクトルの要素が重複しないように含まれているので、この単位で、別々にストレージグリッドに登録したり、通信したりすることによって、元データの情報内容を盗まれることを防止できる。
しかも、一つのストレージグリッドには、元データから生成した数列ベクトルの要素の一部がとびとびに含まれているだけなので、分散単位情報の単位で情報を盗んでも、元データを復元することは100%不可能である。全要素が整っていず、元データの情報が欠落しているので、数列ベクトルの要素を並べ替えても、元データを再生することはできない。すなわち、個々の分散単位情報範囲で、情報量的安全性を確保している。
さらに、全てのストレージグリッドの情報を盗まれても、管理情報であるストレージグリッドと分散単位情報との対応関係が盗まれなければ、分散された要素の組み合わせを試さない限り、情報は盗まれない。分散して登録した分散単位情報の配列を、上記管理情報なしに予測するためには、配列の組み合わせを試す必要があるが、ストレージグリッドの個数をσとしたとき、分散単位情報の配列順を考慮した全ての組み合わせ数はστとなり、そのエントロピーはlogστ)となる。従って、システムが備えたストレージグリッドの個数あるいは分散数τのいずれか一方または両方を大きくすれば、配列を試すための計算量が急激に増えることになる。
一方で、現状のコンピュータの計算能力では、等価安全性が80ビット(80ビット安全性)以上であれば、計算量的に安全と考えられている。そこで、80≦logστ)となるようなσとτを選べば、計算量的安全性も確保できると考えられる。例えば、σ=τの場合、log2424)<80<log2525)であることから、分散数τを25以上となるようにすれば計算量的安全性が得られることになる。なお、等価安全性とは、暗号化方式を共通基準で評価するための値(暗号アルゴリズムの安全性を示す尺度)であり、対称鍵暗号方式即ち共通鍵暗号方式におけるエントロピーに等しい値である。米国立標準技術研究所(NIST)のガイドライン(SP800−57等)では2010年を目処に80ビット安全性を終了し、112ビット安全性を達成するよう勧告している。その場合、上記の例ではlog3030)<112<log3131)なのでτ≧31となるようにするだけでこの基準は容易にクリアされると考えられる。
さらにまた、元データのベクトルを多重化数μで多重化しているので、(μ−1)個までのストレージグリッドの情報、すなわち、分散単位情報を破壊されても、残りのストレージグリッドに、全要素が記憶されているので、この情報から元データを再生することができる。従って、重要な情報を守ることができる。
そして、各分散単位情報に、元データのベクトルAの一部の要素しか含まれず、かつ、同一要素が重複して含まれないという条件を満たさなければならないが、この条件を満たすために、ベクトルAの要素数ε、多重化数μおよび分散数τの組み合わせを、自動的に決定することができる。
第2の発明によれば、一つの分散単位情報に、同一の要素を重複しないように配列することが簡単にできるため、各分散単位情報に、上記ベクトルAの一部の要素しか含まれず、かつ、ベクトルAの同一要素が重複しないように要素を分けることが容易にできるようになる。
第3の発明によれば、分散して登録した分散単位情報を収集して、元データを簡単に復元することができる。
第4の発明によれば、元データを暗号化してから、多重化し、分散単位データを生成するので、管理情報が盗まれるなどして分散単位情報の配列がわかったとしても、元データを復元することが困難になる。
情報管理システムの構成図である。 元データの例を示した図である。 多重化したベクトルの例を示した図である。 分散単位情報を生成するためのマトリクスを示した図である。 個々の分散単位情報を示した図である。 分散単位情報の登録先を示す登録先対応テーブルの例である。 分散単位情報をストレージグリッドに登録した状態を示した図である。 暗号化システムの構成図である。 暗号化の例を示した演算式である。 暗号化システムにおけるデータの流れを示した模式図である。 暗号キーの構成を示した演算式である。 図8に示した暗号化システムにおける復号化の演算式である。 擬似乱数生成手順を示したマトリクスである。 擬似乱数生成手順を示したマトリクスである。 他の暗号化システムにおけるデータの流れを示した模式図である。 図15に示した他の暗号システムにおける暗号キーの構成を示した演算式である。 図15に示した他の暗号化システムにおける復号化の演算式である。
図1〜図7を用いてこの発明の情報管理システムの実施形態を説明する。
このシステムは、図1に示すように、情報登録先決定部2を有する管理サーバー1と、分散単位情報生成部4および情報復元部5を有するユーザー端末3と、この発明のストレージグリッドである複数のストレージグリッドS1,S2,S3,S4,・・・,Sσとからなる。
なお、上記各ストレージグリッドS1,S2,S3,S4,・・・,Sσは、ユーザー端末3からのアクセスに応じて全て同様に機能するので、以下の説明において、個々のストレージグリッドを区別して説明する必要がない場合には、全てのストレージグリッドに符号Sを用いる。各ストレージグリッドに区別が必要な場合には、S1,S2,S3,S4,・・・,Sσのように、Sに数字を付した符号を用いるものとする。そして、このシステムが備えているストレージグリッドSの個数をσとする。
上記ユーザー端末3は、この発明のシステムにおいて、安全に登録したい情報、この発明の元データをもっているユーザーが使用する端末であり、管理サーバー1および複数のストレージグリッドSに接続可能である。そして、このユーザー端末3の分散単位情報生成部4と、情報復元部5とは、それぞれ、管理サーバー1の情報登録先決定部2および各ストレージグリッドSにアクセス可能である。
ただし、この発明のストレージグリッドとしては、上記のように通信手段10に接続したサーバーに限らない。ユーザー端末3に接続できるデータ記憶手段ならどのようなものでもかまわない。
一方、上記管理サーバー1は、各ストレージグリッドSから、ユーザーが登録したデータを入手できないようにしている。
そして、上記ユーザー端末3の分散単位情報生成部4は、後で詳しく説明するが、情報を複数の単位に分割して分散単位情報を生成する機能と、生成した分散単位情報をそれぞれ、別々のストレージグリッドSに登録する機能とを備えている。
また、ユーザー端末3の情報復元部5は、上記分散単位情報生成部4が生成し、各ストレージグリッドSに分散して登録した分散単位情報を収集し、元データに復元する機能を備えている。
さらに、上記管理サーバー1の情報登録先決定部2は、上記分散単位情報生成部4が生成した複数の分散単位情報の登録先を決定する機能を備えている。すなわち、どの分散単位情報をどのストレージグリッドSへ登録すべきかを決定する。そして、各分散単位情報とストレージグリッドSとの対応関係を、ユーザー端末3からのアクセスに応じて当該ユーザー端末3に通知する。
なお、上記情報登録先決定部2は、上記分散単位情報の具体的な内容ではなく、分散単位情報の単位特定コードや、単位名など、その情報の分散単位を特定することができる情報に登録先を対応付けるようにする。
例えば、分散単位情報ごとに番号を付けて第1〜第τのグループとした場合、第1グループはストレージグリッドS1、第2グループはストレージグリッドS2、というように、対応関係を決める。
そして、分散単位情報のグループとストレージグリッドSとの対応関係は、分散単位情報が生成されるごとに情報登録先決定部2がランダムに決定するようにしている。分散単位情報の登録先をランダムに決定するとは、分散単位情報生成部4が生成する分散単位情報の数分の登録先を、複数のストレージグリッドSからランダムに選択するとともに、個々の分散単位情報とストレージグリッドとの対応付けをランダムに行なうということである。
上記分散単位情報と登録先との対応関係が、そのまま分散単位情報の配列順に対応するので、この対応関係をランダムに決定することによって、計算量的に配列順の予測を困難にし、情報をより確実に守ることができる。
上記のようにして決定した、分散単位情報とストレージグリッドとの対応関係を定めた情報が、この発明の管理情報である。
このステムによって、ユーザー端末3が生成した元データを安全に保存し、それを取り出す例を、以下に説明する。
はじめに、ユーザー端末3によって生成した元データから、上記分散単位情報生成部4が分散単位情報を生成する手順を説明する。そして、以下に説明する分散単位情報の生成手順は、ユーザー端末3の分散単位情報生成部4に予め設定したプログラムによって自動的に行なわれるものである。
なお、ここでは、元データは図2に示す「さみだれをあつめてはやしもがみがわばしょう」という42バイトからなるデータとする。
まず、分散単位情報生成部4は、上記元データを、予め設定された単位データ長からなる要素で構成されるベクトルAとした場合の要素数εを算出する。この単位データ長は、上記分散単位情報生成部4が、分散単位情報を生成する際に、予め設定しておくものであるが、その大きさはいくらでもかまわないし、元データに応じて変更してもかまわない。この実施形態では、元データの1文字に対応する「2バイト」を上記単位データ長としている。
そこで、上記単位データ長の要素からなるベクトルAは、図2に示すように、42バイトの元データを、1文字に対応する単位データ長で区切ったものとなり、要素数ε=21個の要素からなるベクトルA=(a,a,a,・・・,a21)となる。
なお、上記単位データ長の分散単位情報生成部4への設定は、人が手入力で行なってもよいし、分散単位情報生成部4が、自動的に決定するようにしてもよい。あるいは、他の装置で単位データ長を決定して、その単位データ長をユーザー端末3の分散単位情報生成部4へ入力するようにしても良い。
また、元データのデータ長と、単位データ長およびベクトルAの要素数εには、(元データのデータ長)/(単位データ長)=(要素数ε)の関係が成り立つ。そこで、分散単位情報生成部4は、必要な要素数εとするために、元データのデータ長を判断し、そのデータ長に応じて単位データ長を決定するようにしてもよい。
また、上記単位データ長を設定する代わりに、要素数εを予め設定しておくようにし、分散単位情報生成部4は、設定された要素数εに基づいて単位データ長を算出するようにしてもよい。
次に、分散単位情報生成部4は、上記ベクトルAを多重化数μで多重化する。この多重化数μは、予め、分散単位情報生成部4に設定しておいてもよいし、その都度、ユーザーが入力してもよく、さらに、他の装置で決定した数値を入力してもよい。
ここでは、多重化数μ=2とし、ベクトルAを2重化したベクトルのベクトル2Aを生成する。このベクトルのベクトル2Aは、A=A1=A2とすると、{A1‖A2}となる。ここで、「‖」はベクトルを結合する記号であり、ベクトル2Aは、図3に示すようにベクトルAの要素「a,a,a,・・・,a21」を2回繰り返したものとなる。従って、この実施形態においては、この発明の多重化数μが2であり、ベクトル2Aは、42個の要素からなるベクトルとなる。
このように、上記ベクトルAを多重化したら、次に、この全要素を、分散数τ個の分散単位情報に分ける。なお、分散数τは、予め分散単位情報生成部4に設定しておいても良いし、その都度ユーザーが入力しても良く、さらに、他の装置で決定した数値を入力しても良い。ただし、以下には、分散数τ=6とし、6個の分散単位情報を生成する場合について説明する。42個の要素を6個の分散単位情報に分けて、各分散単位情報には7個の要素が含まれるようにするが、各分散単位情報には、上記ベクトルAの全要素が含まれないようにするとともに、同一の要素が重複しないようにする。
上記42個の要素を7個に分け、各分散単位情報に、ベクトルAの全要素が含まれず、かつ、同一の要素が重複しないようにするために、例えば、図4に示すような7行6列のマトリクス(bij)の各セルに、上記全要素を、行列順に配置する。
すなわち、上記要素a,a,a,・・・,を、マトリクス(bij)のb11から行方向へ順番に並べ、b16に、要素aを配置したら、第2行の1列b21から行方向へ要素a,a,・・・を並べる。このように、行方向へ並べることを繰り返して、最後のセル、第7行第6列b76にa21をあてはめ、全ての要素を配置する。このようにすると、b11からb43に、ベクトルAの全要素が一通り配置され、b44からb76に、再度、ベクトルAの全要素が配置されることになる。そして、これらの要素で構成されるマトリクス(bij)の各列をそれぞれ、分散単位情報d1,d2,d3,d4,d5,d6とする。つまり、分散単位情報生成部4は、図5に示す6個の分散単位情報d1,d2,d3,d4,d5,d6を生成する。
上記のようにして生成した個々の分散単位情報d1,d2,d3,d4,d5,d6には、それぞれ7個の要素が含まれるが、各分散単位情報d1,d2,d3,d4,d5,d6に、同一の要素が重複して含まれない。
上記ベクトルAを多重化して生成したベクトルの全要素を、分散数τの分散単位情報に分ける方法は上記の方法に限らないが、マトリクス(bij)の行方向へ、各要素をベクトルA内の並び順に並べることによって、一つの分散単位情報に、ベクトルAの全要素が含まれず、同じ要素が重複して含まれない分散単位情報を簡単に生成できる。
また、上記多重化数μおよび分散数τは、どのようにして決めても良いが、「一つの分散単位情報に、ベクトルAの全要素が含まれず、同じ要素が重複して含まれない」という条件を満たすように、上記多重化数μおよび分散数τを決める必要がある。この条件を満たすために、ベクトルAの要素数ε、多重化数μおよび分散数τを、次の条件1または2のいずれかを満たすように決める。
上記条件1は、分散数τと要素数εとの最大公約数qが1のとき、多重化数μ<分散数τであり、上記条件2は、分散数τと要素数εとの最大公約数qが1でないとき、上記分散数τおよび要素数εが互いに割り切れない関係であって、かつ、多重化数μ≦(分散数τ/最大公約数q)である。
上記条件1または2を満たす、分散数τ、要素数ε、多重化数μを採用しなければならない。
この実施形態では、管理サーバー1の情報登録先決定部2が、上記条件を満たす多重化数μと、分散数τとを決定する。
具体的には、ユーザー端末3に元データが入力されたら、分散単位情報生成部4は、上記の手順でベクトルAを生成する。その際に、元データのデータ長と単位データ長とに基づいてベクトルAの要素数εを算出する。分散単位情報生成部4が要素数εを算出したら、ユーザー端末3は、管理サーバー1へアクセスし、上記要素数εを送信する。要素数εを受信した管理サーバー1の情報登録先決定部2は、要素数εに応じて多重化数μ、分散数τを何通りか算定する。なお、上記分散数τは、このシステムのストレージグリッドSの個数σを上限とする。
実際には、上記要素数εに対応して、上記条件1または2のいずれかを満たす多重化数μと分散数τとの組み合わせが複数ある場合があるので、情報登録先決定部2は、可能な組み合わせを特定したら、それをユーザー端末3へ送信してそれを表示させ、その中からユーザーにひとつの組み合わせを選択させるようにする。
情報登録先決定部2が提示した多重化数μと分散数τとの組の中から、ユーザーがいずれかの組み合わせを選択した場合、その選択信号の入力によって対応する多重化数μと分散数τとが、分散単位情報生成部4に設定されるとともに、この設定された多重化数μは、管理サーバー1へも通知され、管理情報とともに情報登録先決定部2に記憶される。つまり、この実施形態では、上記情報登録先決定部2が管理情報を記憶する機能を備えているが、この情報登録先決定部2とは別の管理情報記憶部を備えてもよい。
また、情報登録先決定部2は、分散単位情報と登録先との対応関係を特定した登録先対応テーブルを作成して、このテーブルを上記分散単位情報生成部4へ送信するようにしている。そして、情報登録先決定部2は、この登録先対応テーブルに、元データを特定するための情報を対応付けて管理情報として記憶する。
なお、上記登録先対応テーブルには、分散単位情報の配列順の情報も含まれている。
分散単位情報生成部4は、上記のように決定された多重化数μおよび分散数τに基づき、図4に示すマトリクスを用いて、図5に示す分散単位情報d1,d2,d3,d4,d5,d6を生成する。このとき、上記ベクトルAの要素数ε=21、多重化数μ=2、分散数τ=6は、上記条件2を満たしているので、各分散単位情報d1,d2,d3,・・・には、ベクトルAの全要素は含まれず、かつ、同一要素の重複もない。
分散単位情報生成部4は、分散単位情報を生成したら、上記管理サーバー1の情報登録先決定部2から送信された登録先対応テーブルに基づいて各分散単位情報を登録する。例えば、情報登録先決定部2から、図6に示す分散単位情報と登録先ストレージグリッドSとの登録先対応テーブルが送信された場合、分散単位情報生成部4は、図7に示すように、各ストレージグリッドSに、各分散単位情報を登録する。すなわち、ストレージグリッドS1,S2,S3,S4,S5,S6に、それぞれ、7個の要素からなる分散単位情報d3,d2,d6,d4,d5,d1を登録する。
そして、上記各ストレージグリッドSに登録した分散単位情報には、この情報管理システムとは別の任意の認証システムを使用し、許可された者しかアクセスできないようにするが、それでも、不正アクセスによって分散単位情報が盗まれる可能性はある。しかし、このシステムでは、元データに対応したベクトルAが、分散して登録されるので、いずれかのストレージグリッドSから分散単位情報が盗まれたとしても、その中には、ベクトルAの一部しか含まれていないことになる。そのため、一つのストレージグリッドSから情報を盗んでも、それだけで元データを知ることはできない。つまり、個々のストレージグリッドSあるいは個々の分散単位情報の範囲で、情報量的安全性を確保している。
かりに、複数のストレージグリッドSのセキュリティを破って、全ての分散単位情報を盗めたとしても、分散単位情報の配列が分からなければ、元データを突き止めることはできない。
つまり、上記のように複数のストレージグリッドSに情報を分散して登録することによって、もしも、個々のストレージグリッドSに登録された分散単位情報にアクセスされても、情報を守ることができる。
また、分散して登録した分散単位情報の配列を、上記管理情報なしに予測するためには、配列の組み合わせを試す必要があるが、分散単位情報の配列順を考慮した全ての組み合わせ数はστとなる。従って、システムが備えたストレージグリッドの個数σあるいは分散数τのいずれか一方または両方を大きくすれば、配列を試すための計算量が急激に増えることになる。
一方で、現状のコンピュータの計算能力では、エントロピーが80以上であれば、計算量的安全と言われている。従って、280στとなるようなσとτを選べば、計算量的安全性も確保できる。
例えば、ストレージグリッド個数σ=分散数τの場合、2424<2802525である。つまり、ストレージグリッドの個数σと、分散数τとを25以上にすれば、エントロピーが80を超えることになり、計算量的安全性を得られる。
また、エントロピー80は、2801000となるので、ストレージグリッドの個数σが1000の場合には、分散数τが8で、計算量的安全性を得られる。
次に、上記情報を登録したユーザーが、元データを復元する手順を説明する。
ユーザーが、ユーザー端末3の情報復元部5に対し、特定の情報の復元を指示すると、情報復元部5は、管理サーバー1の情報登録先決定部2へアクセスし、元データを特定するための情報を指定して登録先及び情報の配列順である登録先対応テーブルと、多重化数μとを問い合わせる。なお、上記情報復元部5の指示は、例えば、ユーザー認証によってユーザーが特定されると、そのユーザーの閲覧可能なファイル一覧を管理サーバー1がユーザーに送信し、その中からユーザーがファイルを特定することによって実行される。
情報登録先決定部2は、指定された元データを特定するための情報に対応付けて記憶している登録先対応テーブル(図6参照)と、多重化数μとを上記情報復元部5へ送信する。
ここでは、図6に示す対応テーブルが情報復元部5へ送信されるので、情報復元部5は、この対応テーブルに従ってストレージグリッドS1〜S6から、それぞれ分散単位情報を収集する。このとき、管理サーバーがセッションIDと共に送信先情報とファイル特定情報をグリッドに送信し、それを受けてグリッドがユーザーに該当するファイルを送信する。ユーザー側システムは受信ファイルの正当性をセッションIDによって確認するようにしてもよい。そして、収集した6個の分散単位情報を、d1〜d6の順に並べ替えて、図4に示すマトリクス(bij)を作る。このマトリクス(bij)の要素を、b11から行方向へ繰り返し、順に並べたものが、ベクトルAを繰り返した{A1‖A2}であり、これをそのまま繋げたものが、元データを2回繰り返した情報になる。すなわち、「さみだれをあつめてはやし・・・ばしょうさみだれを・・・ばしょう」となる。
上記分散単位情報の並べ替えによって元データを2回繰り返した情報が生成されるのは、上記分散単位情報生成部4が、ベクトルAを多重化する際に、多重化数μ=2としたためである。上記情報復元部5は、情報登録先決定部2から受信した多重化数μで分割して、上記ベクトル2AをベクトルA、すなわち元データとする。
ただし、管理情報に、元データのデータ長や、元データの要素を含む登録先を特定する情報を含み、情報復元部5が、その管理情報に基づいて、元データを復元するために必要な分散単位データのみを収集するようにしてもよい。例えば、図7に示す6個のストレージグリッドには、二重化した元データの全要素が分散して登録されているが、これらのストレージグリッドのうち、3個のストレージグリッドS3,S4,S5に、元データの全要素が含まれている。従って、元データの復元のためには、全ての情報登録先から分散単位情報を収集しなくても、上記3個のストレージグリッドS3,S4,S5のみから情報を収集すれば足りる。
また、上記実施形態では、情報復元部5が、自ら、ストレージグリッドにアクセスして情報を収集する例を説明したが、ユーザーからの指示に基づいて、情報登録先決定部あるいは管理情報記憶部が、元データの復元に必要な情報を記憶しているストレージグリッド指令を出して、記憶している分散単位情報を上記情報復元部5へ送信させるようにしてもよい。情報復元部5は、ストレージグリッドから送られた情報を、管理情報に基づいて復元する。
上記のように、情報を多重化し、分散して登録することによって、情報を守ることができる。
特に、元データに対応するベクトルAを多重化してから分散するようにしているため、全ストレージグリッドSから見れば、元データに含まれる要素が、それぞれ複数個、登録されていることになる。そのため、一部のストレージグリッドSが破壊されて、そこに登録された分散単位情報が消失したとしても、元データを復元することができる。なぜなら、消失した分散単位情報に含まれる要素と同じ要素が、他の分散単位情報に含まれているからである。厳密には、多重化数μで多重化した場合には、{μ−1}個の分散単位情報が消失しても、残りの分散単位情報から、元データの復元が可能である。
例えば、図7に示すストレージグリッドS1〜S6のうち、ストレージグリッドS1が壊れてしまった場合、分散単位情報d3が消失してしまうことになる。しかし、この分散単位情報d3に含まれる要素と全く同じ要素が、分散単位情報d6に含まれている。この分散単位情報d6は、ストレージグリッドS3に登録されているので、ストレージグリッドS1が破壊されても消失することはない。
従って、上記情報復元部5が、各ストレージグリッドSから収集した分散単位情報を配列順に並べ替えれば、消失して抜けている部分に対応する要素と同一の要素が、他の分散単位情報に含まれていることが分かり、元データを復元することができる。
なお、上記実施形態では、上記分散単位情報生成部4および情報復元部5を同一のユーザー端末3に設けて、このユーザー端末3を用いて、情報の登録と復元とを行なっている。しかし、上記分散単位情報生成部4および情報復元部5は、必ずしも同一端末に備えなくてもよい。例えば、情報を登録する際に使用する端末には、少なくとも分散単位情報生成部4を備え、情報を復元する際に使用する端末には、少なくとも情報復元部5を備えていればよい。
このように、分散単位情報生成部4と情報復元部5とを別の端末に備え、分散単位情報生成部4が登録した情報を、情報復元部5で復元するようにすれば、分散単位情報生成部4側から情報復元部5側へ情報を盗まれることなく送信することができる。
また、この実施形態では、情報登録先決定部2を、ユーザー端末3とは別装置である管理サーバー1に設けているが、情報登録先決定部2をユーザー端末3に設けて、ユーザー端末3で情報登録先を決定するようにしてもよい。ただし、このようにユーザー端末3で、情報と登録先を決定し、管理情報を生成するようにした場合には、その管理情報をユーザー端末3から分離できるメモリなどに記憶させるようにした方が安全である。
なお、情報登録先決定部2をユーザー端末3と別装置の管理サーバー1に設ければ、一つの情報登録先決定部2に、複数の分散単位情報生成部4を接続することができる。
また、上記管理サーバー1の管理者が、ユーザー端末3の使用者とは、別の者であっても、管理サーバー1は、ストレージグリッドSから分散単位情報を入手する機能を備えていないので、管理サーバー1から元データや、分散単位情報などが盗まれることはない。
さらに、分散単位情報生成部4に、データを暗号化する手段を連係して、元データを暗号化し、暗号化した分散単位情報を記憶するようにすれば、多重分散によるエントロピーに暗号化によるエントロピーを加えたエントロピーを確保でき、計算量的安全性をさらに高くすることができる。
さらにまた、情報登録先決定部2に管理情報を暗号化する手段を連係し、暗号化した管理情報を通信するようにすれば、管理情報の通信経路上での安全も保たれる。
次に、上記情報管理システムの元データや分散単位データを暗号化したり、上記管理情報を暗号化したりすることができる図8〜図14に示した暗号化システムについて説明する。
なお、以下の説明において、平文とは、暗号化する前のデータのことである。例えば、安全に保存したい元データをそのまま暗号化する場合は、その元データが平文であるが、元データを多重化したり、分割したり、何らかの加工を加えてから暗号化する場合は、加工後のデータを平文という。また、上記平文には、テキストデータだけでなく、画像データや音データなどが含まれる。
さらに、上記可変擬似乱数、可変シードおよび可変のベクトルの「可変」とは、平文ごとに設定したり、生成したりするものという意味で用い、「固定」は、平文には関係なく固定的に設定されるものの意味である。
すなわち、上記可変ベクトルは、平文ごとに設定するベクトルであり、可変シードは、擬似乱数のシードであって、平文ごとに決まるシードである。
また、可変擬似乱数は、暗号化の都度、平文ごとに生成される擬似乱数であり、上記可変シードを用いて生成する擬似乱数のほか、予め設定された固定のベクトルをシードとする場合においても、生成された擬似乱数はデータ長に応じて値が異なることから可変擬似乱数に含むものとする。
そして、上記固定ベクトルおよび固定のベクトルとは、予め設定した固定値であるベクトルである。
図8は、このシステムを構成する暗号化装置6のブロック図であって、この暗号化装置6は、データ入出力部7と、暗号化部8と、擬似乱数生成部9とからなる。
上記暗号化部8は、データ入出力部7から入力された平文を暗号化して暗号文を生成する機能と、生成した暗号文を、データ入出力部7を介して出力する機能とを備えている。
また、擬似乱数生成部9は、後で説明する方法によって、予測不可能な擬似乱数を生成する機能を備えている。
なお、上記データ入出力部7を介して、平文の入力および暗号文の出力を行なうが、この実施形態では、上記データ入出力部7が、平文入力部である。
そして、上記暗号化部8は、擬似乱数生成部9で生成された擬似乱数に基づいて暗号キーを生成し、この暗号キーを用いて平文を暗号化する。
ここでは、元データを多重化して生成したベクトルを平文Mとし、暗号キーE1を用いて暗号化した暗号文をXとする。上記暗号キーE1は、平文Mのデータ長以上のデータ長をもった擬似乱数からなるベクトルである。暗号化部8は、図9に示す式(i)の演算を行ない、この暗号キーE1と平文Mとのベクトル和のベクトルを生成する。このベクトルが暗号文Xである。
次に、暗号化部8が、暗号キーE1を生成し、暗号文Xを生成する手順を、図10を用いて説明する。
図10に示すように、暗号化部8には、擬似乱数のシードの基になるベクトルR1と、平文Mのデータ長以上のデータ長を持ち、平文Mの不確定性を下回らない不確定性を有するベクトルKとを予め記憶している。
これらの、ベクトルR1とベクトルKとは、予め、設定されたものであり、暗号化処理のたびに変更する必要はない。そして、上記ベクトルR1は、可変シードを生成するための固定のベクトルであり、上記ベクトルKは、上記擬似乱数生成部9で生成された擬似乱数とのベクトル和を演算するための固定ベクトルである
また、擬似乱数生成部9は、入力されたシードを用いて擬似乱数を生成するための擬似乱数生成プログラムを予め記憶している。この擬似乱数生成プログラムの擬似乱数生成手順については、後で詳しく説明するが、この擬似乱数生成プログラムは任意のベクトルからなるシードを用いて、任意のデータ長の擬似乱数を生成できる。そして、この擬似乱数生成プログラムが、シードCを用いて擬似乱数を生成したとき、生成された擬似乱数を関数でE(C)と表わすことにする。
また、平文Mが暗号文Xに暗号化されて出力される際に、暗号化装置6におけるデータの流れを、図10の矢印(1)から(4)で示している。
図10の矢印(1)のように、暗号化すべきベクトルである平文Mが暗号化部8に入力されると、暗号化部8は、次に説明するようにしてベクトルRiを決める。このベクトルRiは、平文Mごとに、暗号化部8で決めるベクトルで、暗号化を行なうたびに異なるものを決定する必要がある。そのためには、暗号化部8が、例えば、現時点の日時、分秒に対応する数字や、物理乱数生成器で生成された乱数や、任意のテキストとデータなどを用いて、ベクトルRiを決めるようにしておけばよい。
暗号化部8は、ベクトルRiを特定したら、図10の矢印(2)に沿って記載したように、このベクトルRiと予め設定された固定のベクトルR1とのベクトル和〔Ri+R1〕を演算し、これを可変シードとして擬似乱数生成部9へ入力する。なお、ここでは、上記「+」は、ベクトル和記号を表わすものとし、図9,11,12,16,17に示す演算式におけるベクトル和記号の代わりに用いる。
つまり、平文Mごとに設定する可変のベクトルRiと固定のベクトルR1とのベクトル和〔Ri+R1〕によって、可変シードを生成する。
さらに、暗号化部8は、入力された平文Mのデータ長を特定する。
暗号化部8は、上記のように可変シードを生成するとともに、平文Mのデータ長を特定したら、生成した可変シードと、平文Mのデータ長とを擬似乱数生成部9へ入力する(矢印(2))。
上記可変シードと、平文Mのデータ長とを入力された擬似乱数生成部9は、入力された可変シードに基づいて、上記平文Mのデータ長以上の擬似乱数E(Ri+R1)を生成し、それを矢印(3)のように、暗号化部8へ返す。この擬似乱数E(Ri+R1)は、平文Mに対応した可変シードに基づいて生成されたもので、これを可変擬似乱数とする
暗号化部8は、擬似乱数生成部9で生成された可変擬似乱数E(Ri+R1)のベクトルに予め記憶しているベクトルKをベクトル和して、図11の式(ii)に示すように暗号キーE1を生成する。さらに、この暗号キーE1を用いて図9の式(i)に従って暗号文Xを生成して出力する(矢印(4))。
なお、このようにして生成された暗号キーE1は、平文Mの不確定性を下回らない不確定性を有する固定ベクトルKを、可変擬似乱数E(Ri+R1)からなるベクトルで置換したベクトルとみなすことができる。従って、上記暗号キーE1の不確定性も、平文Mの不確定性を下回らない。従って情報理論的安全を有する暗号化ができることになる。なおこのとき、暗号キーE1のエントロピーと、Ri,R1,Ri+R1およびE(Ri+R1)のエントロピーは全て等しく、E(Ri+R1)はこのエントロピーにおける全ての値を変数として採り得る。
なお、この実施形態の暗号化システムでは、平文M以上のデータ長を持つベクトルKが必要であるが、データ長の大きな元データを暗号化するためには、元データを、上記ベクトルKのデータ長以下のデータ長を有するデータに分割して、個々の分割データをそれぞれ平文Mとすることにより、この暗号化システムでの暗号化が可能になる。このように、元データを分割して、分割した単位で暗号化するようにすれば、データ長の大きな元データを暗号化するために、巨大なベクトルKを設定しなくても済む。
暗号化手順は、上記のとおりである。このようにして生成された暗号文Xを復号化するためには、上記暗号キーE1が必要であるが、この暗号キーE1は、可変擬似乱数のベクトルと固定ベクトルKとのベクトル和である。また、上記可変擬似乱数は、固定のベクトルR1と可変のベクトルRiとのベクトル和をシードとして生成した擬似乱数である。
従って、復号側にも、上記擬似乱数生成部9を備えるとともに、上記固定ベクトルKと、固定のベクトルR1とを予め設定し、暗号文Xごとに対応する可変のベクトルRiのみを暗号化装置6から受信すれば、上記暗号化装置6と同様に、上記暗号キーE1を生成することができる。そして、生成した暗号キーE1を用いて、図12の式(iii)の演算によって暗号文Xの復号化が可能である。従って、暗号文の送受信の際に、暗号化ごとに異なる暗号キーE1を送受信する必要がない。暗号キーE1そのものを送受信することがないため、暗号キーE1が通信経路中で盗まれる危険もない。攻撃者がシードRiをインターセプトするなどして盗んだとしても、R1及びKが判らなければE1を特定することは数学的に不可能である。
さらに、上記可変のベクトルRiが、通信中に盗まれたとしても、このベクトルRiから上記暗号キーE1を再生されることもないので安全である。
また、この暗号生成システムのように、平文と、平文の不確定性を下回らないベクトルとのベクトル和によって暗号を生成する方式は、ベクトルR1およびベクトルKが漏洩しない限り、シャノン(Shannon)48,49で証明されているように、情報理論的に解読できないという特徴がある。すなわち、平文の不確定性を下回らない擬似乱数、すなわち上記暗号キーE1を用いて暗号化することによって、生成された暗号文の不確定性が、平文の不確定性と同等以上になる。この暗号文は、情報理論的安全性をもち、解読は不可能ということになる。つまり、ベクトルR1およびベクトルKさえ漏洩しなければ、第三者に暗号化した情報内容を盗まれる心配はない。
そして、この暗号化システムにおいては、上記したように、暗号文を、通信手段を用いて送受信する場合にも、暗号キーE1そのものを送受信する必要がないので、通信中に暗号キーが盗まれることはない。また、暗号キーの元になる固定ベクトルKと、可変擬似乱数のシードの基になる固定のベクトルR1も、暗号化のたびに通信する必要のないデータなので、盗まれる危険性が極めて低く、結果として暗号キーE1を第三者に生成される危険性はほとんどない。
つまり、この暗号化システムを用いて情報を暗号化することによって、機密情報などを確実に守ることができる。
次に、上記擬似乱数生成部9が、当該擬似乱数生成部9に予め設定された擬似乱数生成プログラムに基づいて、n進法で表した擬似乱数を生成する手順を、図13、図14に基づいて説明する。なお、この実施形態では、上記nを、n=10とした例である。ただし、nは10に限らず、ゼロ以外の数ならどのような値でもかまわない。
擬似乱数生成部9は、上記暗号化部8から、ベクトルRiとベクトルR1のベクトル和からなる可変シードと、平文Mのデータ長とが入力されたら(図10参照)、上記可変シードを用いて、平文Mのデータ長以上の擬似乱数を生成する。
まず、擬似乱数生成部9は、上記可変シードのベクトルを分割して、図13に示す行見出しiおよび列見出しjに、それぞれ、分割した要素を擬似乱数の種として配置し、マトリクス(rij)の計算表を作成する。
そして、このマトリクス(rij)の各セルに、予め決められた順に数値をあてはめていく。
ただし、最初にあてはめるべきセル、例えば、図13の1行1列のセルr11には、そのセルr11に対応する第1列にあてはめた列見出しの数値と、同じく上記セルr11に対応する第1行にあてはめた行見出しの数値とを加算し、その加算値に対してn=10を法とする演算を行ない、その演算結果をあてはめる。
そして、以後にあてはめるべき、上記セル11以外の全てのセルには、当該セルに対応する行および列において、セルまたは見出しにすでにあてはめられている数値のうち、少なくとも3つ以上の数値の合計に対する10を法とする演算結果をそのセルにあてはめる。
上記の方法を、図13に基づいてさらに具体的に説明する。
この例では、特定の平文Mに対応して生成された上記可変シードとなるベクトル〔Ri+R1〕=(0,5,1,5,0,8)とする。このベクトルを前後に分割して、図13に示すように、行見出しiには「5,0,8」を配置し、列見出しjには「0,5,1」を配置して3行3列のマトリクスを作成する。
上記のように可変シードを行および列の見出しとして、3行3列のマトリクス(rij)のセルを作成したら、以下の演算によって各セルに数値をあてはめる。
まず、第1行第1列のセルr11には、第1行の行見出し「5」と第1列の列見出し「0」の和「5」に対して10を法とする演算を行ない、演算結果である「5」をあてはめる。
次に、上記セルr11以外のセル、例えば、第2行第1列のセルr21には、すでにあてはめられている第2行の行見出し「0」、第1列の列見出し「0」、および第1列のセルr11の数値「5」の和「5」に対して10を法とする演算を行ない、演算結果である「5」をあてはめる。このようにしてまず第1列のセルr12からセルr31の順に数値をあてはめ、それを列ごとに繰り返す。なお、上記セルr11が、最初に数値をあてはめるべき第1のセルである
なお、上記の具体例ではセルr11を、最初に数値をあてはめるべきセルとしているが、最初に数値をあてはめるべきセルは、いずれのセルであってもよい。また、最初のセル以外のセルに数値をあてはめる順序も、どのように決めてもよい。ただし、上記したように、数値をあてはめるべきセルに対応する行または列上のセルまたは見出しにすでにあてはめられている数値のうち、少なくとも3つ以上の数値を加算し、その結果に対して10を法とする演算を行なわなければならない。
そして、図13の例は、数値をあてはめるべきセルに対応する行または列のセルまたは見出しにすでにあてはめられている数値の全ての数値を加算し、その結果に対して10を法とする演算を行ない、演算結果をあてはめたものである。
以上のようにして、全てのセルに数値をあてはめたら、それらを、セルr11から、図12の矢印で示す順に並べて、9桁の擬似乱数のベクトル「5,5,8,5,5,1,6,7,1」を生成する。ただし、上記マトリクスの各数値をどのような順序で並べて擬似乱数のベクトルを生成してもよい。
さらに、桁数の大きな擬似乱数を生成する場合には、セルが多いマトリクスを作成し、上記した手順によって各セルに数値をあてはめる。そして、上記マトリクスの各セルにあてはめられた数値を並べれば、桁数の大きな擬似乱数を単純な方法で生成することもできる。
この暗号化システムでは、上記のようにして3行3列のマトリクスで生成した擬似乱数を行見出しiまたは列見出しjとして、さらに大きな桁数の擬似乱数を生成するようにしている。図14は、図13のマトリクスで生成した9桁の擬似乱数を行見出しiに配置するとともに、列見出しjとして3桁の別のベクトルを配置し、9行3列のマトリクスを作成した例である。
そして、この9行3列のマトリクスを用いて、上記3行3列のマトリクスを用いたときと同様の手順によって各セルに数値をあてはめ、例えば、図に示す矢印のように数値を並べれば、27桁の擬似乱数を生成することができる。
ただし、必要な擬似乱数が27桁未満の場合には、算出した27個の数値を並べる際に、必要な個数だけを並べるようにすればよい。なお、このようにして生成された乱数は、数学的にはシードを高次元に写像変換したものであることから、その不確定性は単純には理論上、シードの不確定性に等しいと考えられる。
また、さらに大きな擬似乱数を生成するためには、図14で示したマトリクスによって生成した擬似乱数からなるベクトルの一部の要素、例えば、最後の3桁分の数値(8,8,5)を列見出しjとし、他の24個の数値を行見出しiとして、24行3列のマトリクスを用い、上記と同様の手順によって擬似乱数を生成する。そして、さらに大きな擬似乱数を生成するためには、上記24行3列のマトリクスによって生成された擬似乱数の一部を列見出しjとし、残りを行見出しとしたマトリクスを用いる。このような手順を繰り返せば、いくらでも大きな擬似乱数を生成することができる。つまり、必要な桁数になるまで上記の手順を繰り返せば、所望の桁数の擬似乱数を得ることができる。従って、平文Mのデータ長が大きな場合には、上記のように擬似乱数の生成を繰り返して、擬似乱数の桁数を大きくし、擬似乱数の長さを平文Mのベクトルの長さ以上にすることができる。なお、このようにして生成された乱数の不確定性は理論上、シードの不確定性に等しい。
なお、上記では、3行3列のマトリクスで生成した9桁の擬似乱数を行見出しとし、新たなベクトルを列見出しとして、27桁の乱数を生成し、それ以上の擬似乱数を生成する際には、既に生成された擬似乱数を行見出しと列見出しに用いるようにしているが、可変シードを用いて9桁の擬似乱数を生成したのち、その擬似乱数を分割して、行見出しと列見出しとに用いるようにしてもよい。このとき、この実施形態のように、最後の3桁分の数値を列見出しとし、残りを行見出しとするという規則を予め定めておけば、桁数の大きな擬似乱数を自動的に生成することができる。このようにすれば、演算途中で、列見出しとなるベクトルを新たに用意する必要がなくなる。
上記の手順は、擬似乱数生成部9に予め設定された擬似乱数生成プログラムによって実行され、所望の擬似乱数が自動的に生成される。
このようにして生成された擬似乱数は、上記いずれの方法によっても、高い一様性と無周期性をもつ。なぜならこれらは多重マルコフ過程であり、かつ、初期値鋭敏性を持つため、この演算結果にはエルゴード性があると認められるからである。また、そのことによって予測性が極めて低いものになる。
もしも、ここで各セルの数値を、単に行見出しと列見出しとの2つの数値の和としたならば、各セルに配置された数値から行見出しや列見出しを予測することが可能になる。
これに対し、この暗号化システムの擬似乱数生成方法では、見出しの数値以外の数値が必ず加算されるので、予測性が極めて低いものになる。例えば、図14に示すマトリクス(rij)において、1行1列のセルr11、2行1列のセルr21、4行1列のセルr41、5行1列のセルr51は、いずれも行見出しが「5」、列見出しが「8」である。このような見出しの数値だけを加算した場合には、各セルに当てはめられる数値はすべて「3」となるが、この実施形態の方法では、図14に示すように上記各セルr11、r21、r41、r51の値は全て異なる。このようにして、予測不可能な擬似乱数を生成できる。
なお、上記のように平文のベクトル以上の長さを有する擬似乱数ベクトルを用いた暗号化を行なう場合、平文のデータ長が大きくなれば、大きな擬似乱数が必要になる。そのため、元データの情報量が多くなると、巨大な擬似乱数が必要になるが、従来は、周期性のない一様な擬似乱数を実用的な時間内に生成することが著しく困難であった
しかし、上記擬似乱数生成部9のように自動的に予測不可能な擬似乱数を生成する機能を備え、第1段階では小さな擬似乱数を生成し、生成した擬似乱数を行見出しや列見出しとして、さらに大きな擬似乱数を生成するようにすれば、いくらでも大きな擬似乱数を自動的に生成できるので、大きな平文を暗号化するための暗号キーを簡単に生成することができる。
そして、この暗号化システムでは、擬似乱数生成部9が、上記の手順に従って生成した擬似乱数を用いて、暗号キーE1を生成するようにしている。
図15〜図17は、暗号化手順を、先の図10とは相違させた他の暗号化システムを示した図である。
この他の暗号化システムも、図8に示すシステムと同様に暗号化装置6を備え、この暗号化装置6には、データ入出力部7、暗号化部8および擬似乱数生成部9を備えている。そして、暗号化部8に平文Mが入力されると、暗号化部8は、擬似乱数生成部9が生成した擬似乱数を利用して、暗号キーE2を生成するとともに、その暗号キーE2によって平文Mを暗号化し、暗号文Xを出力する。
次に、暗号化部8が、暗号キーE2を生成し、暗号文Xを生成する手順を、図15を用いて説明する。
図15に示すように、暗号化部8には、擬似乱数のシードの基になる固定のベクトルR1と、このベクトルR1とは別の固定のベクトルで、上記擬似乱数とは別の擬似乱数のシードとなるベクトルR2とを予め記憶している。これら、ベクトルR1とベクトルR2とは、予め設定されたものであり、暗号化処理のたびに変更する必要はない。但し、ベクトルR1とベクトルR2の次元はベクトルRiに等しいものとする。
また、擬似乱数生成部9は、入力されたシードを用いて擬似乱数を生成するための擬似乱数生成プログラムを予め記憶している。この擬似乱数生成プログラムの擬似乱数生成手順については、図13、図14に基づいて説明した場合と同じであり、この擬似乱数生成プログラムは任意のベクトルからなるシードを用いて、任意のデータ長の擬似乱数を生成できる。そして、この擬似乱数生成プログラムが、シードCを用いて擬似乱数を生成したとき、生成された擬似乱数を関数でE(C)と表わすことにする。
図15の矢印(1)のように、暗号化すべきベクトルである平文Mが暗号化部8に入力されると、暗号化部8は、次に説明するようにしてベクトルRiを決める。このベクトルRiは、平文Mごとに、暗号化部8で決めるベクトルで、暗号化を行なうたびに異なるものを決定する必要がある。そのためには、暗号化部8が、例えば、現時点の日時、分秒に対応する数字や、物理乱数生成器で生成された乱数や、任意のテキストデータなどを用いて、ベクトルRiを決めるようにしておけばよい。
暗号化部8は、ベクトルRiを特定したら、図15の矢印(2)に沿って記載したように、このベクトルRiと予め設定された固定のベクトルR1とのベクトル和〔Ri+R1〕を演算し、これを可変シードとして擬似乱数生成部9へ入力する。
つまり、平文Mごとに設定する可変のベクトルRiと固定のベクトルR1とのベクトル和〔Ri+R1〕で、可変シードを生成する。
さらに、暗号化部8は、入力された平文Mのデータ長を特定する。
そして、暗号化部8は、このように可変シードを生成するとともに、平文Mのデータ長を特定したら、生成した可変シードと、予め設定された固定のベクトルR2からなる固定シードと、平文Mのデータ長とを擬似乱数生成部9へ入力する(矢印(2))。
上記可変シードと、ベクトルR2からなる固定シードと、平文Mのデータ長とが入力された擬似乱数生成部9は、入力された可変シードに基づいて、上記平文Mのデータ長以上の擬似乱数E(Ri+R1)を生成するとともに、上記固定のベクトルR2からなる固定シードに基づいて、上記平文Mのデータ長以上の擬似乱数E(R2)を生成する。なお、上記可変擬似乱数E(R2)は、固定シードを用いているが、平文Mのデータ長に応じた長さに生成される可変擬似乱数である。
上記擬似乱数生成部9は、生成した可変擬似乱数E(Ri+R1)と、可変擬似乱数E(R2)とを、暗号化部8へ入力する(矢印(3))。これらの擬似乱数が入力された暗号化部8は、図16の式(iv)のように、両擬似乱数からなるベクトルのベクトル和を演算して、暗号キーE2を生成するとともに、この暗号キーE2と平文Mとのベクトル和を演算して暗号文Xを生成し、それを出力する(矢印(4))。
つまり、この他の暗号化システムで用いる暗号キーE2は、図11の式(ii)の固定擬似乱数Kに替えて、可変擬似乱数E(R2)を用いたものである。
この暗号化システムでも、暗号化部8が、暗号化するたびに平文Mに応じて暗号キーE2を生成するようにしているが、この暗号キーE2は、予め設定しておくベクトルR1、R2とともに、平文Mに応じて決定する可変のベクトルRiを用いることによって、平文Mごとに可変の暗号キーにできる。また、この暗号キーE2は、2つの擬似乱数ベクトルのベクトル和で生成されるので、一つの擬似乱数のベクトルと比べて、ほぼ2倍のエントロピーを持つことになる。このように、暗号キーE2のエントロピーを大きくすることによって、情報量的安全性を得ることができる。
さらに、上記した暗号化システムの暗号キーE1と同様に、暗号キーE2の通信過程での漏洩を防止できる。このように暗号化した情報を確実に守ることができる点は、先の暗号化システムと同じである。
なお、この他の暗号化システムでは、先に説明した別の暗号化システムで用いた固定のベクトルKの代わりに、固定シードR2を用いた乱数のベクトルを用いるようにしている。そのため、暗号化部8に、予め設定しておく固定のベクトルR2のデータ長を、固定ベクトルKと比べて小さくでき、データ記憶のための負荷を軽くできる。
このように、ベクトルR2のデータ長が小さくてもよいのは、先のシステムでは、暗号キーE1を、平文M以上のデータ長とするために、固定ベクトルKも、平文Mのデータ長以上のデータ長を持つ必要があったが、乱数のシードとなるベクトルR2は、そのデータ長が小さくても、上記疑似乱数生成部9によって、平文M以上のデータ長を持った乱数を生成することができ、暗号キーE2のデータ長を平文M以上にすることができるからである。
また、この暗号化システムでも、暗号キーE2を生成するために用いる2種類の予測不可能な擬似乱数を、上記擬似乱数生成部9が、それぞれ自動的に生成することができる。
なお、上記擬似乱数生成プログラムを備えた擬似乱数生成部9とともに、ベクトルR1、R2を予め設定された復号部を備えれば、この復号部が暗号キーE2を生成し、図17の式(v)の演算によって、このシステムで生成された暗号文Xを復号化することができる。
このように、上記したいずれの暗号化システムを用いた場合にも、生成した暗号を解読される心配はないし、暗号キーを盗まれる危険性も極めて低いので、機密情報などを安全に保存したり、送信したりすることができる。
なお、上記両暗号化システムでは、可変シードを、平文ごとに設定する可変のベクトルと予め設定した固定のベクトルとのベクトル和によって生成するようにしているが、可変シードは、上記可変のベクトルのみで構成するようにしてもよい。要するに、暗号キーが、可変擬似乱数のベクトル和を用いて生成されることによって、平文に対応した可変のキーが生成されればよいのである。
ただし、1つの可変のベクトルのみで可変シードを構成するよりも、固定のベクトルとのベクトル和によって可変シードを生成するようにすれば、可変のベクトルが固定のベクトルによって別のベクトルに置換されることになるので、たとえ該可変ベクトルがインターセプトされるなどして攻撃者に漏洩することがあっても、シードの計算量的安全性は担保される。さらに、可変シードが、1つの可変のベクトルと1つの固定のベクトルとのベクトル和でなく、さらに多くの別のベクトルをベクトル和して生成してもかまわない。
上記した2つの暗号化システムの実施形態では、暗号キーを可変ベクトルと固定ベクトルとのベクトル和で生成し、暗号キーそのものを通信する必要がないようにしている。
しかし、暗号キーを平文に応じて生成する擬似乱数からなる可変ベクトルのみで構成するようにしてもよい。その場合に用いる可変ベクトルは、上記擬似乱数生成部9によって生成され、平文のデータ長以上のデータ長を有する擬似乱数のベクトルでなければならない。
上記のような暗号化システムによれば、規則性が予測困難な擬似乱数のベクトルを用いて暗号化することによって、暗号文の解読を計算量的もしくは情報理論的に解読困難なものにすることができる。
しかも、入力された平文に応じて、擬似乱数生成部が、平文ごとに擬似乱数を自動的に生成し、その擬似乱数で暗号キーを生成するようにしているので、暗号キーを平文に応じて可変にすることができる。異なる平文の暗号化に、同一の暗号キーを用いた場合には、そのキーで暗号化された暗号文を対比することによって暗号キーを予測できることがある。しかし、平文ごとに暗号キーを変更するようにすれば、暗号キーを予測することが不可能となり、暗号を見破られることがなくなる。平文ごとに異なる暗号キーを用いることになって、暗号キーを推測されることも防止できる。このような暗号は、暗号キーがなければ、復号化して平文を生成することができないので、情報の漏洩を防止できる。
上記暗号化システムを利用して、上記情報管理システムの元データや分散単位データを暗号化したり、上記管理情報を暗号化したりすれば、より安全に情報を管理できる。この時のエントロピーは、多重分散化によるエントロピーと暗号化によるエントロピーを足し合わせたものとなる。
2 情報登録先決定部
4 分散単位情報生成部
5 情報復元部
S,S1〜Sσ ストレージグリッド
d1〜d6 分散単位情報
A (元データに基づく)ベクトル
ε (ベクトルAの)要素数
μ 多重化数
τ 分散数
σ ストレージグリッドの数
6 暗号化装置
7 データ入出力部
8 暗号化部
9 擬似乱数生成部
E1,E2 暗号キー
M 平文
N 自然数
E() 擬似乱数を生成する関数
Ri 可変のベクトル
R1,R2 固定のベクトル
K 固定ベクトル
(rij) (擬似乱数の)マトリクス
i 行見出し
j 列見出し
+ ベクトル和をあらわす記号

Claims (4)

  1. 情報の登録先を決定する情報登録先決定部と、分散単位情報を生成する分散単位情報生成部と、この分散単位情報生成部と接続可能な複数のストレージグリッドとからなり、
    上記情報登録先決定部は、分散単位情報生成部で生成される分散単位情報ごとにその登録先のストレージグリッドを特定する機能と、分散単位情報とその登録先であるストレージグリッドとの対応関係にかかわる管理情報を生成する機能と、生成した管理情報を分散単位情報生成部へ通知する機能と、分散数τと要素数εとの最大公約数qが1のとき、多重化数μ<分散数τを満たすという条件1、または、分散数τと要素数εとの最大公約数qが1でないとき、上記分散数τおよび要素数εが互いに割り切れない関係であって、かつ、多重化数μ≦(分散数τ/最大公約数q)を満たすという条件2のいずれかを満たす上記要素数ε、多重化数μおよび分散数τの組み合わせを決定する機能と、決定した要素数εと多重化数μとの組を出力する機能とを備え、上記分散単位情報生成部は、予め設定された単位データ長または予め設定された分割数を基準にして元データを分割して、N∋ε個の要素からなるベクトルA=(a,a・・・,aε)とする機能と、当該分散単位情報生成部に入力された多重化数μ∈Nあるいは予め設定された多重化数μ∈Nのいずれかに基づいて、上記ベクトルAをμ倍してA=A=A=・・・=AμであるベクトルμA=(A‖A‖・・・‖Aμ)とする機能と、この多重化されたベクトルμAの全要素を、当該分散単位情報生成部に入力された分散数τ∈Nあるいは予め設定された分散数τ∈Nに基づいて、上記ベクトルAの全要素が含まれず、かつ、ベクトルAの同一要素が重複しないように、τ個の分散単位情報に分ける機能と、上記情報登録先決定部から通知された分散単位情報とストレージグリッドとの対応関係を定めた管理情報に基づいて上記各分散単位情報を対応するストレージグリッドへ登録する機能とを備えた情報管理システム。
  2. 上記分散単位情報生成部は、元データを多重化数μで多重化したベクトルの全要素を、その要素順に、行方向あるいは列方向に並べ、それを列方向あるいは行方向に繰り返して、分散数τに応じた列数あるいは行数と、所要の行数または列数とからなるマトリクスを生成する機能と、このマトリクスの各列あるいは各行を、1の分散単位情報とする機能とを備えた請求項1に記載の情報管理システム。
  3. 管理情報を記憶する上記情報登録先決定部またはこの情報登録先決定部とは別の管理情報記憶部と、上記分散単位情報から元データを復元する情報復元部とを備え、この情報復元部は、各ストレージグリッドから分散単位情報を収集する機能と、上記管理情報を取得する機能と、上記管理情報から特定した配列順に基づいて、上記収集した分散単位情報を並べる機能とを備えた請求項1または2に記載の情報管理システム。
  4. 上記分散単位情報生成部に連係する暗号化部を備え、この暗号化部は、元データを暗号化する機能を備え、分散単位情報生成部は、暗号化部が暗号化したデータを多重化数μで多重化する機能を備えた請求項1〜3のいずれか1に記載の情報管理システム。
JP2008543086A 2006-11-10 2007-11-06 情報管理システム Expired - Fee Related JP5230439B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008543086A JP5230439B2 (ja) 2006-11-10 2007-11-06 情報管理システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006304677 2006-11-10
JP2006304677 2006-11-10
PCT/JP2007/071557 WO2008056667A1 (fr) 2006-11-10 2007-11-06 Système de gestion d'informations et système de cryptage
JP2008543086A JP5230439B2 (ja) 2006-11-10 2007-11-06 情報管理システム

Publications (2)

Publication Number Publication Date
JPWO2008056667A1 JPWO2008056667A1 (ja) 2010-02-25
JP5230439B2 true JP5230439B2 (ja) 2013-07-10

Family

ID=39364482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008543086A Expired - Fee Related JP5230439B2 (ja) 2006-11-10 2007-11-06 情報管理システム

Country Status (3)

Country Link
US (1) US20100091986A1 (ja)
JP (1) JP5230439B2 (ja)
WO (1) WO2008056667A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10193873B2 (en) * 2010-09-30 2019-01-29 Comcast Cable Communications, Llc Key derivation for secure communications
WO2012102203A1 (ja) * 2011-01-24 2012-08-02 日本電信電話株式会社 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム
US9064123B2 (en) * 2011-03-10 2015-06-23 Nippon Telegraph And Telephone Corporation Secure product-sum combination system, computing apparatus, secure product-sum combination method and program therefor
US9137304B2 (en) 2011-05-25 2015-09-15 Alcatel Lucent Method and apparatus for achieving data security in a distributed cloud computing environment
CN103455763B (zh) * 2013-07-29 2016-08-31 孙伟力 一种保护用户个人隐私的上网日志记录系统及方法
US9503263B2 (en) * 2014-10-16 2016-11-22 Dyce, Llc Method and apparatus for storing encrypted data files across distributed storage media
US10546138B1 (en) 2016-04-01 2020-01-28 Wells Fargo Bank, N.A. Distributed data security
US10496631B2 (en) * 2017-03-10 2019-12-03 Symphony Communication Services Holdings Llc Secure information retrieval and update
US11151265B2 (en) * 2019-04-29 2021-10-19 International Business Machines Corporation Secure data storage based on obfuscation by distribution
CN117201020B (zh) * 2023-11-08 2024-01-26 陕西元镁体信息科技有限公司 一种网络信息安全加密方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02122745A (ja) * 1988-11-01 1990-05-10 Kokusai Denshin Denwa Co Ltd <Kdd> 暗号鍵管理方式および装置
JPH05211495A (ja) * 1992-01-31 1993-08-20 Nec Corp アナログ秘話装置
JP2000209195A (ja) * 1999-01-14 2000-07-28 Toyo Commun Equip Co Ltd 暗号通信システム
JP2003008593A (ja) * 2001-06-21 2003-01-10 Sharp Corp 擬似乱数発生器、通信装置、ネットワークシステムおよび擬似乱数発生方法
JP2003298573A (ja) * 2002-04-01 2003-10-17 Fdk Corp 暗号生成装置および復号装置および暗号/復号装置
JP2004029934A (ja) * 2002-06-21 2004-01-29 Ntt Me Corp 離散型冗長分散方式のデータ格納方法、離散型冗長分散方式のデータ格納装置および離散型冗長分散方式のデータ格納プログラム
JP2005202757A (ja) * 2004-01-16 2005-07-28 Mitsubishi Electric Corp 擬似乱数生成装置及びプログラム
JP2005215735A (ja) * 2004-01-27 2005-08-11 Hitachi Ltd ファイル入出力制御装置
JP2005322201A (ja) * 2004-04-06 2005-11-17 Hitachi Ltd 暗号処理を行うストレージシステム
JP2006048158A (ja) * 2004-07-30 2006-02-16 Toshiba Corp データ格納方法及びデータ処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1003932A6 (fr) * 1989-04-28 1992-07-22 Musyck Emile Systeme cryptographique par bloc de donnees binaires.
US6185308B1 (en) * 1997-07-07 2001-02-06 Fujitsu Limited Key recovery system
AU2002338042A1 (en) * 2002-09-26 2004-04-19 Mitsubishi Denki Kabushiki Kaisha Cryptographic communication apparatus
US7184551B2 (en) * 2002-09-30 2007-02-27 Micron Technology, Inc. Public key cryptography using matrices
US7596703B2 (en) * 2003-03-21 2009-09-29 Hitachi, Ltd. Hidden data backup and retrieval for a secure device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02122745A (ja) * 1988-11-01 1990-05-10 Kokusai Denshin Denwa Co Ltd <Kdd> 暗号鍵管理方式および装置
JPH05211495A (ja) * 1992-01-31 1993-08-20 Nec Corp アナログ秘話装置
JP2000209195A (ja) * 1999-01-14 2000-07-28 Toyo Commun Equip Co Ltd 暗号通信システム
JP2003008593A (ja) * 2001-06-21 2003-01-10 Sharp Corp 擬似乱数発生器、通信装置、ネットワークシステムおよび擬似乱数発生方法
JP2003298573A (ja) * 2002-04-01 2003-10-17 Fdk Corp 暗号生成装置および復号装置および暗号/復号装置
JP2004029934A (ja) * 2002-06-21 2004-01-29 Ntt Me Corp 離散型冗長分散方式のデータ格納方法、離散型冗長分散方式のデータ格納装置および離散型冗長分散方式のデータ格納プログラム
JP2005202757A (ja) * 2004-01-16 2005-07-28 Mitsubishi Electric Corp 擬似乱数生成装置及びプログラム
JP2005215735A (ja) * 2004-01-27 2005-08-11 Hitachi Ltd ファイル入出力制御装置
JP2005322201A (ja) * 2004-04-06 2005-11-17 Hitachi Ltd 暗号処理を行うストレージシステム
JP2006048158A (ja) * 2004-07-30 2006-02-16 Toshiba Corp データ格納方法及びデータ処理装置

Also Published As

Publication number Publication date
US20100091986A1 (en) 2010-04-15
WO2008056667A1 (fr) 2008-05-15
JPWO2008056667A1 (ja) 2010-02-25

Similar Documents

Publication Publication Date Title
JP5230439B2 (ja) 情報管理システム
KR100363457B1 (ko) 암호체계용매핑레퍼토리
US5987128A (en) Method of effecting communications using common cryptokey
EP0681768B1 (en) A method and apparatus for generating a cipher stream
US7050580B1 (en) Randomization-encryption system
US20090138708A1 (en) Cryptographic module distribution system, apparatus, and program
CN101359991A (zh) 基于标识的公钥密码体制私钥托管系统
CN109902501B (zh) 一种基于云服务平台进行相等性测试的结构化加密方法及系统
CN111404952B (zh) 变电站数据加密传输方法、装置、计算机设备和存储介质
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
WO2016153430A1 (en) Method of obfuscating data
CN102598575B (zh) 用于对密码保护的有效数据单元加速解密的方法和系统
US20080165954A1 (en) System for encrypting and decrypting data using derivative equations and factors
CN117254897B (zh) 基于容错学习的身份基矩阵同态加密方法
CN1820449B (zh) 通过一种通讯网络进行数据加密传输的方法
Ganapathy et al. Add-on security model for public-key cryptosystem based on magic square implementation
Kaushik et al. Secure cloud data using hybrid cryptographic scheme
Bagnall The applications of genetic algorithms in cryptanalysis
Liu et al. Proofs of encrypted data retrievability with probabilistic and homomorphic message authenticators
CN114362912A (zh) 基于分布式密钥中心的标识密码生成方法、电子设备及介质
JP2886517B2 (ja) 共通鍵通信システム
Nazarov et al. An Architecture Model for Active Cyber Attacks on Intelligence Info-communication Systems: Application Based on Advance System Encryption (AES-512) Using Pre-Encrypted Search Table and Pseudo-Random Functions (PRFs)
Kashyap et al. Security techniques using Enhancement of AES Encryption
EP3704617A1 (en) Privacy-preserving log analysis
JP2886516B2 (ja) 暗号鍵共有システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090513

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20090603

AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20090721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091030

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130319

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

Free format text: PAYMENT UNTIL: 20160329

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