説明

情報記録媒体のセキュリティ方法、情報処理装置及びプログラム

【課題】煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用する。
【解決手段】各PC10−i(i∈{1,...,n})の記憶部13に各秘密鍵SK(i)をそれぞれ格納する。また、マスター公開鍵MPKと各PC10−iの識別情報ID(i)とを用い、ID-BASE暗号方式によって共通鍵KAを暗号化した各暗号文IBE(MPK, ID(i), KA)をUSBメモリ20に格納する。各PC10−iは、自らの秘密鍵SK(i)を用い、USBメモリ20に格納された暗号文IBE(MPK, ID(i), KA))を復号して共通鍵KAを抽出する。そして、各PC10−iは、抽出した共通鍵KAを用いて平文M(i)の暗号文SE(KA, M(i))を生成してUSBメモリ20に格納し、また、抽出した共通鍵KAを用いてUSBメモリ20から読み込んだ暗号文SE(KA, M(i))を復号する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報を秘匿化する技術に関し、特に、複数の情報処理装置で共用される情報記録媒体に、情報を秘匿化して格納する技術に関する。
【背景技術】
【0002】
USB(universal serial bus)メモリなどの複数の情報処理装置で共用される可搬型の情報記録媒体に格納されたデータの漏えいを防止することは重要である。その対策として、従来は、共通鍵暗号方式によってデータを暗号化して情報記録媒体に格納する方法が使用されてきた。この場合、情報記録媒体に格納するデータMを共通鍵暗号方式の共通鍵Kで暗号化し、その暗号文Cのみを情報記録媒体に格納する方法が一般的であった。また、共通鍵Kは、情報処理装置に格納されるか、パスワードのような形で使用者に記憶されるのが一般的であった。
【0003】
しかし、共通鍵Kを情報処理装置に格納しておく方式の場合、情報記録媒体を共用する複数の情報処理装置で共通鍵Kを共有しておく必要がある。しかし、秘密情報である共通鍵Kを事前に複数の情報処理装置で共有しておく処理は煩雑である。また、パスワードを用いて共通鍵Kを作成する方法の場合、使用者がパスワードを記憶し、情報処理装置毎にパスワードを入力しなければならない。このような処理も煩雑である。さらに、一般に、使用者の利便性を考慮したパスワードの長さは暗号学的には十分な長さではない。よって、このような共通鍵Kを用いて生成された暗号文Cは解読され易く、安全上の問題がある。これらの問題は、複数の情報処理装置が可搬型の情報記録媒体を共用する場合だけではなく、複数の情報処理装置が非可搬型の情報記録媒体を共用する場合にも当てはまる。
【0004】
これに対し、本出願人はこのような問題を解決する方式を考案し、その特許出願を行った〔特願2007-113708(未公開)〕。
特願2007-113708の方式では、まず、登録過程において、情報記録媒体を共用する各情報処理装置PC(i)(i∈{1,...,n}、nは2以上の整数)にそれぞれ対応する公開鍵暗号方式の秘密鍵SK(i)を、当該秘密鍵SK(i)に対応する情報処理装置PC(i)の記憶部にそれぞれ格納し、各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を情報記録媒体に格納する。
【0005】
平文の暗号化を行う情報処理装置PC(p)(p∈{1,...,n})は、情報記録媒体から暗号文PE(PK(p), KA)を読み込み、記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KA)を復号して共通鍵KAを抽出し、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成して、当該暗号文SE(KA, M(p))を情報記録媒体に格納する。
【0006】
そして、暗号文SE(KA, M(p))を復号する情報処理装置PC(q)(q∈{1,...,n})は、情報記録媒体から暗号文PE(PK(q), KA)と暗号文SE(KA, M(p))を読み込み、記憶部に格納された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出し、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する。
【0007】
この処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。
【非特許文献1】「BUFFALO」ホームページ、[平成19年5月18日検索]、インターネット〈URL http://buffalo.jp/products/slw/keitai.html〉
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、特願2007-113708の方式には、さらなる利便性向上の余地がある。
すなわち、特願2007-113708の方式では、登録過程において、登録対象の情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を情報記録媒体に格納する。しかし、公開鍵PK(i)は単なる数字の羅列であり、公開鍵PK(i)をみただけでは、それが真に登録対象の情報処理装置PC(i)のものであるか否かを判断できない。そのため、登録過程の処理を適切に行うためには、登録対象の情報処理装置PC(i)とその公開鍵PK(i)との対応付けを厳格に行わなければならない。
【0009】
特願2007-113708の方式では、以下の方法によって、登録対象の情報処理装置PC(i)とその公開鍵PK(i)との対応付けを行って、登録過程の処理を行っている。
まず、未登録の情報処理装置PC(s)が公開鍵暗号方式の秘密鍵SK(s)と公開鍵PK(s)とを生成し、秘密鍵SK(s)を情報処理装置PC(s)の記憶部に格納し、公開鍵PK(s)を情報記録媒体に格納する(登録申請)。
次に、情報記録媒体に暗号文PE(PK(t), KA)(t∈{1,...,n})が格納され、自らの記憶部に秘密鍵SK(t)が格納された登録済の情報処理装置PC(t)が、情報記録媒体から暗号文PE(PK(t), KA)を読み込み、記憶部に格納された秘密鍵SK(t)を用いて暗号文PE(PK(t), KA)を復号して共通鍵KAを抽出する。さらに、情報処理装置PC(t)は、情報記録媒体から公開鍵PK(s)を読み込み、公開鍵PK(s)を用いて共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成し、暗号文PE(PK(s), KA)を情報記録媒体に格納する(登録承認)。
【0010】
以上のように特願2007-113708の方式では、登録対象の情報処理装置PC(i)とその公開鍵PK(i)との対応付けを厳格に行う必要上、新たに登録を行おうとする情報処理装置PC(s)がその公開鍵PK(s)を情報記録媒体に格納し(登録申請)、登録済の他の情報処理装置PC(t)が情報記録媒体から読み込んだ公開鍵PK(s)を用いて情報処理装置PC(s)の登録を行う(登録承認)という煩雑な処理を行っていた。
【0011】
本発明はこのような点に鑑みてなされたものであり、登録申請、登録承認という煩雑な処理を行うことなく新たな情報処理装置を登録でき、安全に複数の情報処理装置が情報記録媒体を共用できる技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明では、上記課題を解決するために、各情報処理装置PC(i)(i∈{1,...,n}、nは2以上の整数)に対して共通のマスター秘密鍵をMSKとし、マスター秘密鍵MSKを用いて生成された各情報処理装置PC(i)に対して共通のマスター公開鍵をMPKとし、各情報処理装置PC(i)をそれぞれ識別する識別情報ID(i)とマスター秘密鍵MSKとを用いて生成されたID-BASE暗号方式の秘密鍵をSK(i)とする。そして、秘密鍵SK(i)を、当該秘密鍵SK(i)に対応する情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、マスター公開鍵MPKと識別情報ID(i)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(i), KA)を、情報記録媒体に格納する過程とを具備する登録過程と、何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(p), KA)を読み込む過程と、当該情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文IBE(MPK, ID(p), KA)を復号して共通鍵KAを抽出する過程と、当該情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程と、当該情報処理装置PC(p)の外部書き込み部が、当該暗号文SE(KA, M(p))を情報記録媒体に格納する過程と、を具備する書き込み過程と、何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(q), KA)を読み込む過程と、当該情報処理装置PC(q)の外部読み込み部が、情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、当該情報処理装置PC(q)の共通鍵復元部が、記憶部に格納された秘密鍵SK(q)を用いて暗号文IBE(MPK, ID(q), KA)を復号して共通鍵KAを抽出する過程と、当該情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、を実行する。
【0013】
ここで、本発明の登録過程では、登録対象の情報処理装置PC(i)を識別する識別情報ID(i)と、すべての情報処理装置に対して共通のマスター公開鍵MPKとを用い、ID-BASE暗号方式によって暗号文IBE(MPK, ID(i), KA)を生成し、情報記録媒体に格納する。この処理では、特願2007-113708の方式のような、登録対象の情報処理装置が自らの公開鍵を情報記録媒体に格納する登録申請処理が不要となる。例えば、最初に登録を行う情報処理装置PC(r)(r∈{1,...,n})は、共通鍵KAを生成し、マスター公開鍵MPKと何れかの情報処理装置PC(u)(u∈{1,...,n})を識別する識別情報ID(u)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(u), KA)を生成し、暗号文IBE(MPK, ID(u), KA)を情報記録媒体に格納するだけで登録処理を行うことができる。また、情報記録媒体に暗号文IBE(MPK, ID(t), KA)(t∈{1,...,n})が格納され、自らの記憶部に秘密鍵SK(t)が格納された何れかの情報処理装置PC(t)は、情報記録媒体から暗号文IBE(MPK, ID(t), KA)を読み込み、秘密鍵SK(t)を用いて暗号文IBE(MPK, ID(t), KA)を復号して共通鍵KAを抽出し、マスター公開鍵MPKと何れかの情報処理装置PC(g)(g∈{1,...,n})を識別する識別情報ID(g)とを用い、ID-BASE暗号方式によって共通鍵KAを暗号化した各暗号文IBE(MPK, ID(g), KA)を生成し、暗号文IBE(MPK, ID(g), KA)を情報記録媒体に格納するだけで登録処理を行うことができる。
【0014】
また、本発明の処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。
【0015】
また、本発明において好ましくは、情報記録媒体に暗号文IBE(MPK, ID(r), KA)(r∈{1,...,n})が格納され、自らの記憶部に秘密鍵SK(r)が格納された情報処理装置PC(r)が、情報記録媒体から暗号文IBE(MPK, ID(r), KA)を読み込む過程と、記憶部に格納された秘密鍵SK(r)を用いて暗号文IBE(MPK, ID(r), KA)を復号して共通鍵KAを抽出する過程と、新たな共通鍵KAnewを生成する過程と、情報記録媒体から情報処理装置PC(p)(p∈{1,...,n})に対応する暗号文SE(KA, M(p))を読み込む過程と、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、新たな共通鍵KAnewを用いて各平文M(p)を暗号化した暗号文SE(KAnew, M(p))を生成する過程と、当該暗号文SE(KAnew, M(p))を情報記録媒体に格納する過程と、を具備する再暗号化過程を実行し、さらに、マスター公開鍵MPKと識別情報ID(p)とを用い、ID-BASE暗号方式によって新たな共通鍵KAnewを暗号化した暗号文IBE(MPK, ID(p), KAnew)を生成し、暗号文IBE(MPK, ID(p), KAnew)を情報記録媒体に格納する過程と、具備する再登録過程を実行する。
【0016】
これにより、共通鍵を更新することができる。この共通鍵の更新は、例えば登録削除処理に利用することができる。その場合、上記再登録過程を、登録削除対象の情報処理装置PC(w)(w∈{1,...,n})以外の情報処理装置PC(s)について実行し、情報記録媒体に格納された暗号文SE(KA, M(p))(p∈{1,...,n})を情報記録媒体から削除する。この場合、たとえ登録が削除された情報処理装置PC(w)に古い共通鍵KAが残存していたとしても、当該情報処理装置PC(w)は、情報記録媒体に格納された情報から平文M(p)を復号することはできない。その結果、安全性が向上する。
【0017】
また、本発明において好ましくは、上記情報処理装置PC(p)の暗号化部が共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程は、上記暗号化部のブロック分割部が、平文M(p)をX(X≧2)個のブロックMB(p, x)(x∈{1,...,X})に分割する過程と、上記暗号化部の乱数生成部が、平文M(p)毎に乱数E(p)を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、乱数E(p)を上記情報記録媒体に格納する過程と、上記暗号化部の関数演算部が、少なくともブロックMB(p, x)のブロック番号xと乱数E(p)とを所定の関数πに代入した関数値IV =π(x, E(p))を算出する過程と、上記暗号化部のブロック暗号化部が、共通鍵KAを用い、関数値IVを初期ベクトルとして各ブロックMB(p, x)を暗号化し、算出された全ブロックMB(p, x)の暗号文から暗号文SE(KA, M(p))を生成する過程と、を具備する過程である。
【0018】
当該好ましい方法では、平文M(p)毎に乱数E(p)を生成し、ブロック番号xと乱数E(p)とを所定の関数πに代入した関数値IV=π(x, E(p))を用いたブロック暗号により、暗号文SE(KA, M(p))を生成する。この場合、或る平文M(p)を分割して得られたブロック間の値が同一であっても当該ブロック間の暗号文は同一とならない。さらに、平文M(p)を分割して得られたブロック番号xのブロックMB(p, x)と、別の平文M(p’)を分割して得られた同じブロック番号xのブロックMB(p’, x)とが同一であっても、それらの暗号文は同一とならない。これにより、暗号文の同一性から平文の同一性が推測され、安全性が低下することを防止できる。このようなブロック暗号化方法は、複数の平文が同一の共通鍵KAで繰り返し暗号化され、生成された複数の暗号文が同一の情報記録媒体に格納される本発明の用途に特に適している。
【0019】
また、当該乱数E(p)を用いた暗号化を行う場合に好ましくは、登録過程は、マスター公開鍵MPKと識別情報ID(i)とを用い、ID-BASE暗号方式によって暗号文認証用鍵KBを暗号化した各暗号文IBE(MPK, ID(i), KB)を、情報記録媒体に格納する過程を具備する。さらに、書き込み過程は、情報処理装置PC(p)が、情報記録媒体から暗号文IBE(MPK, ID(p), KB)を読み込み、記憶部に格納された秘密鍵SK(p)を用いて暗号文IBE(MPK, ID(p), KB)を復号して暗号文認証用鍵KBを抽出し、少なくとも暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成し、認証子AU(KB, E(p), SE(KA, M(p)))を情報記録媒体に格納する。
【0020】
このように、暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成することにより、暗号文SE(KA, M(p))の信頼性を向上させることができる。さらに、暗号文SE(KA, M(p))の生成に利用した乱数E(p)を認証子AU(KB, E(p), SE(KA, M(p)))の生成に流用しているため、認証子生成用の新たな乱数を生成する処理や、認証子を検証するために乱数E(p)以外の乱数を記憶部に格納しておく処理を必要としない。
【発明の効果】
【0021】
以上のように、本発明では、登録申請、登録承認という煩雑な処理を行うことなく新たな情報処理装置を登録でき、安全に複数の情報処理装置が情報記録媒体を共用できる。
【発明を実施するための最良の形態】
【0022】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【0023】
〔第1の実施形態〕
まず、本発明の第1の実施形態について説明する。
<構成>
図1は、本形態の情報記録媒体共用システム1の全体構成を例示した概念図である。
【0024】
図1に例示するように、情報記録媒体共用システム1は、n(nは2以上の整数)個のパーソナルコンピュータ(以下「PC」と表記する)10−1〜n(「情報処理装置PC(i)(i∈{1,...,n}」に相当)と、これらのPC10−1〜n間で共用されるUSBメモリ20(「情報記録媒体」に相当)と、ID-BASE暗号(IBE: Identity Based Encryption)用の鍵を生成するID−BASE鍵生成装置30とを具備する。
【0025】
PC10−1〜nは、USBメモリ20へ暗号文を格納し、また、USBメモリ20に格納された暗号文から平文を復号することにより相互に情報を共有する。また、本形態のPC10−1〜nとID−BASE鍵生成装置30とは、専用回線又は通信情報の暗号化によって安全性が確保された通信経路によって接続されている。
【0026】
なお、本形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示するが、本発明はこれに限定されるものではない。また、ID-BASE暗号とは、ユーザの固有情報である識別情報(例えば、メールアドレス、URL、利用者名称等)を公開鍵として用いる暗号化方式をいう。ID-BASE暗号については、例えば、「D.Boneh, M. Franklin,“Identity based encryption from the Weil pairing”,Crypto 2001, Lecture Notes in Computer Science, Vol. 2139, Springer-Verlag, pp.213-229, 2001(参考文献1)」等参照。
【0027】
図2(a)は、本形態のPC10−i(i∈{1,...,n})の機能構成を例示したブロック図であり、図2(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
【0028】
図2(a)に示すように、PC10−iは、外部書き込み部11aと、外部読み込み部11bと、内部書き込み部12aと、内部読み込み部12bと、記憶部13と、共通鍵生成部14aと、鍵秘匿化部14cと、共通鍵復元部14dと、暗号化部14eと、復号化部14fと、削除部14gと、アプリケーション実行部14hと、制御部14iと、一時メモリ14jと、入力部15と、出力部16と、通信部17とを有している。また、図2(b)に示すように、USBメモリ20は、インタフェース部21と、記憶部22と、制御部23とを有しており、記憶部22は領域22a〜22cを有している。
【0029】
本形態のPC10−iはCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、LANカード等からなる、通信機能を備えたノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図2(a)に示す機能構成が構築される。
【0030】
具体的には、この例のPC10−iには、OS(Operating System)やアプリケーションソフトウェアがインストールされている。そして、PC10−iのUSBポートにUSBメモリ20が装着・マウントされると、USBメモリ20の記憶部22の領域22aからセキュリティプログラムがPC10−iに読み込まれる。そして、PC10−iのCPUがOS上でセキュリティプログラムやアプリケーションソフトウェアを実行することにより、図2(a)の機能構成が構築される。なお、PC10−iがUSBメモリ20からセキュリティプログラムを読み込むのではなく、各PC10−iが他の記録媒体からセキュリティプログラムを読み込む構成であってもよいし、インターネット等を通じてセキュリティプログラムをダウンロードして読み込む構成であってもよい。このような場合には、USBメモリ20にセキュリティプログラムを格納しておく必要はない。
【0031】
<処理>
次に本形態の処理を説明する。
本形態の処理は、(1)マスター公開鍵MPSや秘密鍵SK(i)を各PC10−iに配送する過程(鍵配送過程)、(2)USBメモリ20を共用するn個のPC10−iを、USBメモリ20に登録する過程(登録過程)、(3)PC10−iがUSBメモリ20に暗号文を書き込む過程(書き込み過程)、(4)PC10−iがUSBメモリ20から暗号文を読み込んで復号する過程(読み込み過程)、(5) USBメモリ20から登録を削除する過程(削除過程)に大別できる。以下、各過程を説明する。
【0032】
[鍵配送過程]
まず、鍵配送過程を説明する。
鍵配送過程では、ID-BASE鍵生成装置30が、公知のID-BASE暗号アルゴリズム(例えば、参考文献1参照)に従い、すべてのPC10−iに対して共通のマスター公開鍵MPKと、各PC10−i固有の秘密鍵SK(i)とを生成し、それらを各PC10−iに配送する。以下にこの処理の一例を説明する。
【0033】
《鍵生成処理の一例》
まず、ID−BASE鍵生成装置30の乱数生成部が楕円曲線E上の点(sx,sy)をランダムに定める。点(sx,sy)の情報は、マスター秘密鍵MSKとしてID−BASE鍵生成装置30のメモリに安全に格納される。また、ID−BASE鍵生成装置30のパラメータ設定部が整数パラメータPを定める。そして、スカラー倍算部がマスター秘密鍵MSKを楕円曲線E上でP倍したスカラー倍算値P・MSK(楕円曲線E上の点)を算出する。そして、ID−BASE鍵生成装置30は、MPK=(P, P・MSK)をマスター公開鍵として出力する。なお、楕円曲線上でのスカラー倍算には、例えは、二進展開法や窓NAF法等の公知の楕円スカラー倍算方法が用いる。また、ID−BASE鍵生成装置30のスカラー倍算部が、各PC10−i固有の情報である識別情報ID(i)と、マスター秘密鍵MSKとを用い、楕円曲線E上でマスター秘密鍵MSKをID(i)倍したスカラー倍算値ID(i)・MSK(楕円曲線E上の点)を求める。ID−BASE鍵生成装置30は、その演算結果を秘密鍵SK(i)として出力する(《鍵生成処理の一例》の説明終わり)。
【0034】
ID−BASE鍵生成装置30は、上述の例のように生成したマスター公開鍵と秘密鍵との各鍵ペア(MPK,SK(i))を、各SK(i)に対応する各PC10−iに送信する。各PC10−iは、鍵ペア(MPK,SK(i))を受信し、自らの記憶部13に格納する。
【0035】
[登録過程]
次に、登録過程を説明する。
図3は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図9は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、PC10−1がPC10−1とPC10−2との登録処理を行う例を示す。また、各処理の前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部14i,23の制御のもと実行され、PC10−i内での演算過程における各データは逐一一時メモリ14jに読み書きされる。
【0036】
まず、PC10−1にUSBメモリ20が装着・マウントされると、PC10−1の出力部16は、登録を行うPC10−iの識別情報ID(i)の入力指示表示を行う。利用者は、この入力指示に従い、入力部15(図3(a))に対し、登録を行うPC10−iの識別情報ID(i)を入力する。本形態の例では、PC10−1,2の識別情報ID(1), ID(2)が入力部15に入力され、これらが記憶部13に格納される(ステップS1)。
【0037】
次に、PC10−1の共通鍵生成部14aが共通鍵KAを生成(例えばランダムに生成)して出力する(ステップS2)。また、内部読み込み部12bが、記憶部13からマスター公開鍵MPKと識別情報ID(1), ID(2)とを読み込む。共通鍵KAとマスター公開鍵MPKと識別情報ID(1), ID(2)とは、鍵秘匿化部14cに入力される。鍵秘匿化部14cは、マスター公開鍵MPKと識別情報ID(1), ID(2)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(1), KA),IBE(MPK, ID(2), KA)を生成する(ステップS3)。以下に、前述の《鍵生成処理の一例》で生成されたマスター公開鍵MPKを用いた場合のステップS3の処理を例示する。なお、この例の識別情報ID(i)は整数であり、例えば、メールアドレスの文字列を数値表現した情報である。
【0038】
《ステップS3の処理の一例》
まず、鍵秘匿化部14cの乱数生成部が前述の楕円曲線E上の点r=(rx,ry)をランダムに定め、鍵秘匿化部14cのスカラー倍算部が楕円曲線E上の点rを楕円曲線E上でID(i)倍したスカラー倍算値ID(i)・r(楕円曲線E上の点)を算出する。さらに、鍵秘匿化部14cのスカラー倍算部は、楕円曲線E上の点rを楕円曲線E上でP(Pはマスター公開鍵MPKの一部)倍したスカラー倍算値P・r(楕円曲線E上の点)を算出する。
【0039】
次に、鍵秘匿化部14cのペアリング演算部が、公知のペアリング関数Pairに、ID(i)・rとP・MSK(マスター公開鍵MPKの一部)とを代入した関数値CK(i)=Pair(ID(i)・r, P・MSK)を算出する。なお、ペアリング関数Pairは、例えば、Weil PairingやTate Pairingであり、Pair(ID(i)・r, P・MSK)= Pair(P・r, ID(i)・MSK)の関係を満たす(参考文献1や「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81(参考文献2)」等参照)。次に、鍵秘匿化部14cの共通鍵暗号部が、関数値CK(i)を鍵とし、共通鍵暗号方式(CamelliaやAES等)によって共通鍵KAを暗号化し、その暗号文CE(CK(i),KA)とスカラー倍算値P・rとの組を暗号文IBE(MPK, ID(i), KA)=(CE(CK(i),KA), P・r)として出力する(《ステップS3の処理の一例》の説明終わり)。
【0040】
内部読み込み部12bが記憶部13から読み込んだ識別情報ID(1),ID(2)と、鍵秘匿化部14cが生成した暗号文IBE(MPK, ID(1), KA) ,IBE(MPK, ID(2), KA)とは、外部書き込み部11aに送られる。外部書き込み部11aは、これらをUSBメモリ20のインタフェース部21(図3(b))に送り、インタフェース部21は、識別情報ID(1)と暗号文IBE(MPK, ID(1), KA)とを関連付け、識別情報ID(2)と暗号文IBE(MPK, ID(2), KA)とを関連付け、それらを記憶部22の領域22bに格納する(ステップS4)。
【0041】
以上により、PC10−1,2の登録が終了する。なお、説明の簡略化のため、ここではPC10−1,2の登録のみを行う場合を例示した。しかし、同様な方法によりPC10−1がその他のPC10−iの登録を行うことも可能である。以下では、全てのPC10−i(i∈{1,...,n})が登録され、各識別情報ID(i)と暗号文IBE(MPK, ID(i), KA)とがUSBメモリ20の記憶部22の領域22bに格納されたものとする。
【0042】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0043】
図4は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図5は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図10は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC10−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC10−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0044】
まず、PC10−1にUSBメモリ20が装着・マウントされているものとする。この状態で、WordやExcel(登録商標)等のアプリケーションソフトウェアを実行するPC10−1のアプリケーション実行部14h(図4(a))が、制御部14iに対し、平文M(1)の暗号文のUSBメモリ20への書き込み要求を行う。これをトリガとして、PC10−1の内部読み込み部12bが記憶部13から識別情報ID(1)を読み込み、これをPC10−1の外部読み込み部11bに送る。当該外部読み込み部11bは、USBメモリ20の記憶部22の領域22b(図4(b))から、識別情報ID(1)に関連付けられている暗号文IBE(MPK, ID(1), KA)を読み込む(ステップS21)。
【0045】
当該暗号文IBE(MPK, ID(1), KA)は、PC10−1の共通鍵復元部14d(図4(a))に送られる。また、これをトリガとして、PC10−1の内部読み込み部12bが、その記憶部13から秘密鍵SK(1)を読み込み、秘密鍵SK(1)を共通鍵復元部14dに送る。共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), IBE(MPK, ID(1), KA))〕を抽出し、共通鍵KAを暗号化部14eに送る(ステップS22)。以下に《ステップS3の処理の一例》で暗号化された暗号文IBE(MPK, ID(1), KA)の復号処理を例示する。
【0046】
《ステップS22の処理の一例》
この例では、まず、共通鍵復元部14dのペアリング演算部が、前述のペアリング関数Pairに、暗号文IBE(MPK, ID(i), KA)=(CE(CK(i),KA), P・r)の一部であるP・rと、秘密鍵SK(1)=ID(1)・MSKとを代入したPair(P・r, ID(1)・MSK)を算出する。ここで、前述したペアリング関数Pairの性質〔Pair(ID(i)・r, P・MSK)= Pair(P・r, ID(i)・MSK)〕より、Pair(P・r, ID(1)・MSK)= Pair(ID(1)・r, P・MSK)= CK(i)を満たす。次に、共通鍵復元部14dの共通鍵復号部が、このPair(P・r, ID(1)・MSK)= CK(i)を用い、暗号文IBE(MPK, ID(i), KA)=(CE(CK(i),KA), P・r) の一部であるCE(CK(i),KA)を復号してKAを抽出する(《ステップS22の処理の一例》の説明終わり)。
【0047】
また、PC10−1のアプリケーション実行部14hは、平文M(1)をその暗号化部14eに送り、当該暗号化部14eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS23)。なお、SE(α, β)は、所定の共通鍵暗号方式により、共通鍵αを用いてβを暗号化した暗号文を意味する。また、共通鍵暗号方式としては、例えばCamelliaやAES等を例示できる。
【0048】
生成された暗号文SE(KA, M(1))は、外部書き込み部11aによって、USBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22c(図4(b))に格納される(ステップS24/書き込み過程終了)。
【0049】
次に、PC10−2にUSBメモリ20が装着・マウントされる。この状態で、PC10−2のアプリケーション実行部14hは、制御部14iに対し、暗号文SE(KA, M(1))のUSBメモリ20からの読み込み要求を行う。これをトリガとして、制御部14iはPC10−2の外部読み込み部11b(図5(a))に指示を与え、PC10−2の外部読み込み部11bは、USBメモリ20の記憶部22の領域22c(図5(b))から暗号文SE(KA, M(1))を読み込み(ステップS25)、さらに、領域22bから暗号文IBE(MPK, ID(2), KA)を読み込む(ステップS26)。次に、PC10−2の内部読み込み部12b(図5(a))が記憶部13から秘密鍵SK(2)を読み込む。そして、PC10−2の共通鍵復元部14dが、当該秘密鍵SK(2)を用いて暗号文IBE(MPK, ID(2), KA)を復号して共通鍵KA〔KA=PD(SK(2), IBE(MPK, ID(2), KA))〕を抽出する(ステップS27)。その後、PC10−2の復号化部14fが、当該共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS28)。なお、SD(α,β)は、共通鍵暗号方式により、共通鍵αによってβを復号化した結果値を意味する。
抽出された平文M(1)は、PC10−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0050】
[削除過程]
次に、本形態の削除過程について説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0051】
図6〜8は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図11は、本形態の削除過程を説明するためのシーケンス図である。
【0052】
本形態の削除過程は、単に登録削除対象のPC10−wのデータをUSBメモリ20から削除するだけではなく、これに併せて平文の暗号化に用いる共通鍵KAを再設定し、USBメモリ20に格納されている暗号文も生成し直す。これにより、登録が削除されたPC10−wが、過去に取得した共通鍵KAを用い、USBメモリ20に格納された暗号文を復号できてしまうという事態を防止できる。以下では、PC10−1がUSBメモリ20からPC10−2の登録を削除する例を示す。
【0053】
まず、PC10−1にUSBメモリ20が装着・マウントされているものとする。この状態で、利用者が登録削除対象を例えば以下のように指定する。まず、外部読み込み部11bがUSBメモリ20の記憶部22の領域22bから全ての識別情報ID(i)を読み込む。各識別情報ID(i)は、出力部16から出力される(例えば、画面上に表示される)。利用者は、出力された識別情報ID(i)を参照しながら、削除対象の識別情報ID(w)を入力部15に入力する。この例では識別情報ID(2)が入力部15に入力されたものにする。制御部14iは、この入力結果に基づき以下のように削除過程を実行させる。
【0054】
まず、PC10−1の内部読み込み部12bが、記憶部13から識別情報ID(1)を読み込み、識別情報ID(1)を外部読み込み部11a(図6(a))に送る。当該外部読み込み部11a(図6(a))は、USBメモリ20の記憶部22の領域22b(図6(b))から、識別情報ID(1)に関連付けられた暗号文IBE(MPK, ID(1), KA)を読み込む(ステップS31)。
【0055】
次に、PC10−1の内部読み込み部12bが、記憶部13から秘密鍵SK(1)を読み込み、秘密鍵SK(1)を共通鍵復元部14dに送る。共通鍵復元部14dは、当該秘密鍵SK(1)を用い、USBメモリ20から読み込まれた暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), IBE(MPK, ID(1), KA))〕を抽出する(ステップS32)。また、PC10−1の共通鍵生成部14aが、新たな共通鍵KAnewを生成する(ステップS33)。
【0056】
また、PC10−1の外部読み込み部11bが、USBメモリ20からPC10−iに対応する暗号文SE(KA, M(i))(i∈{1,...,n})を読み込む(ステップS34)。PC10−1の復号化部14fは、共通鍵復元部14dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS35)。
【0057】
次に、PC10−1の暗号化部14eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部14eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS36)。各暗号文SE(KAnew, M(i))は、PC10−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該暗号文SE(KAnew, M(i))をUSBメモリ20のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図6(b))に格納する(ステップS37)。
【0058】
次に、PC10−1の外部読み込み部11b(図7(a))が、USBメモリ20の記憶部22の領域22bから、登録削除対象のPC10−2以外のPC10−s(s≠2)の識別情報ID(s)を読み込む(ステップS38)。
【0059】
ステップS38で読み込まれた識別情報ID(s)とステップS33で新たに生成された共通鍵KAnewとは鍵秘匿化部14cに入力される。また、内部読み込み部12bが記憶部13からマスター公開鍵MPKを読み込み、当該マスター公開鍵MPKが鍵秘匿化部14cに入力される。そして、鍵秘匿化部14cは、マスター公開鍵MPKと識別情報ID(s)とを用い、ID-BASE暗号方式によって新たな共通鍵KAnewを暗号化した暗号文IBE(MPK, ID(s), KAnew)を生成する(ステップS39)。各暗号文IBE(MPK, ID(s), KAnew)は、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られる。当該インタフェース部21は、各暗号文IBE(MPK, ID(s), KAnew)を、USBメモリ20の記憶部22の領域22bに、それぞれ識別情報ID(s)と対応付けて格納(図7(b))する(ステップS40)。
【0060】
次に、PC10−1の削除部14g(図8(a))が削除命令を出し、これを受けた外部書き込み部11aは、USBメモリ20の記憶部22の領域22c(図8(b))から暗号文SE(KA, M(i))を削除し、領域22bからIBE(MPK, ID(i), KA)、識別情報ID(2)を削除(図8(b))する(ステップS41)。
【0061】
〔第2の実施形態〕
次に本発明の第2の実施形態について説明する。
本形態は第1の実施形態の変形例であり、共通鍵KAを生成したPC10−1以外のPCも登録処理を実行する例である。以下では、本形態の登録処理のみを説明する。
【0062】
[登録過程]
前提として、第1の実施形態のようにPC10−1,2が登録され、USBメモリ20に暗号文IBE(MPK, ID(1), KA), IBE(MPK, ID(2), KA)が格納され、各PC10−iの記憶部に秘密鍵SK(i)が格納されているものとする。本形態では、共通鍵KAを生成したPC10−1以外のPC10−2が、PC10−3の登録処理を行う例を説明する。
【0063】
図12は、本形態の登録過程を説明するためのシーケンス図である。
まず、PC10−2にUSBメモリ20が装着・マウントされると、PC10−2の出力部16(図2)は、登録を行うPC10−iの識別情報ID(i)の入力指示表示を行う。利用者は、この入力指示に従い、入力部15に、登録を行うPC10−iの識別情報ID(i)を入力する。本形態の例では、PC10−3の識別情報ID(3)が入力部15に入力され、これらが記憶部13に格納される(ステップS51)。
【0064】
次に、PC10−2の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから識別情報ID(2)に対応する暗号文IBE(MPK, ID(2), KA)を読み込む(ステップS52)。次に、PC10−2の内部読み込み部12bが記憶部13から秘密鍵SK(2)を読み込む。そして、PC10−2の共通鍵復元部14dが、当該秘密鍵SK(2)を用いて暗号文IBE(MPK, ID(2), KA)を復号し、共通鍵KA〔KA=PD(SK(2), IBE(MPK, ID(2), KA))〕を抽出する(ステップS53)。
【0065】
次に、内部読み込み部12bが、記憶部13からマスター公開鍵MPKと識別情報ID(3)とを読み込む。共通鍵KAとマスター公開鍵MPKと識別情報ID(3)とは、鍵秘匿化部14cに入力される。鍵秘匿化部14cは、マスター公開鍵MPKと識別情報ID(3)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(3), KA)を生成する(ステップS54)。
【0066】
内部読み込み部12bが記憶部13から読み込んだ識別情報ID(3)と、鍵秘匿化部14cが生成した暗号文IBE(MPK, ID(3), KA)とは、外部書き込み部11aに送られる。外部書き込み部11aは、これらをUSBメモリ20のインタフェース部21に送り、インタフェース部21は、識別情報ID(3)と暗号文IBE(MPK, ID(3), KA)とを関連付け、それらを記憶部22の領域22bに格納する(ステップS55)。
【0067】
以上により、PC10−3の登録処理が完了する。なお、登録されたPC10−3は、同様な処理によってその他のPC10の登録処理を実行することができる。また、第2の実施形態の変形例として、共通鍵KAを生成するPC10−1が、暗号文IBE(MPK, ID(1), KA)をUSBメモリ20に格納した後、暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KAを取得し、他のPC10−iに対応する暗号文IBE(MPK, ID(i), KA)を生成してもよい。
【0068】
〔第3の実施形態〕
次に本発明の第3の実施形態について説明する。
本形態は第1の実施形態の変形例であり、USBメモリに格納する暗号文に認証子を付して暗号文の偽造を防止する点、暗号文用の認証子を作成するための鍵を各PCの識別情報IDで暗号化してUSBメモリに格納しておく点が第1の実施形態と相違する。以下では、第1の実施形態との相違点を中心に説明し、第1の実施形態と共通する事項については説明を簡略化する。
【0069】
<構成>
本形態の情報記録媒体共用システムの全体構成は、PC10−1〜nがPC110−1〜nに置き換わり、USBメモリ20がUSBメモリ20に置き換わる点以外、第1の実施形態と同様である。
【0070】
図13は、本形態のPC110−i(i∈{1,...,n})の機能構成を例示したブロック図である。また、図14は、本形態のUSBメモリ20の機能構成を例示したブロック図である。なお、図13,14において第1の実施形態と共通する部分については、第1の実施形態と同じ符号を付している。
【0071】
図13に示すように、PC110−iは、外部書き込み部11aと、外部読み込み部11bと、内部書き込み部12aと、内部読み込み部12bと、記憶部13と、共通鍵生成部114aと、鍵秘匿化部114cと、共通鍵復元部114dと、暗号化部114eと、復号化部114fと、削除部14gと、アプリケーション実行部14hと、制御部14iと、一時メモリ14jと、暗号文認証子生成部114nと、暗号文検証部114pと、入力部15と、出力部16と、通信部17とを有している。また、本形態のPC110−iも通信機能を有するノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図13に示す機能構成が実現される。
【0072】
また、図14に示すように、本形態のUSBメモリ20の機能構成は、第1の実施形態と同様であるが、記憶部22に格納されるデータが第1の実施形態と相違する。
【0073】
<処理>
次に本形態の処理について説明する。
本形態の処理も、(1)鍵配送過程、(2)登録過程、(3)書き込み過程、(4)読み込み過程、(5)削除過程に大別できる。以下、各過程の説明を行う。
【0074】
[鍵配送過程]
鍵配送過程は第1の実施形態と同じである。ここでは説明を省略する。
【0075】
[登録過程]
図15は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図21は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてPC110−1がPC110−1とPC110−2との登録処理を行う例を示す。また、各処理の前提としてPC110−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部14i,23の制御のもと実行され、PC110−i内での演算過程における各データは逐一一時メモリ14jに読み書きされる。
【0076】
まず、第1の実施形態と同様、PC10−1,2の識別情報ID(1), ID(2)が入力部15(図15(a))に入力され、これらが記憶部13に格納される(ステップS61)。
次に、PC110−1の共通鍵生成部114aが共通鍵KA,KBを生成(例えばランダムに生成)して出力する(ステップS62)。また、内部読み込み部12bが、記憶部13からマスター公開鍵MPKと識別情報ID(1), ID(2)とを読み込む。共通鍵KAとマスター公開鍵MPKと識別情報ID(1), ID(2)とは、鍵秘匿化部114cに入力される。鍵秘匿化部114cは、マスター公開鍵MPKと識別情報ID(1), ID(2)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(1), KA),IBE(MPK, ID(2), KA)と、共通鍵KBを暗号化した各暗号文IBE(MPK, ID(1), KB),IBE(MPK, ID(2), KB)とを生成する(ステップS63)。
【0077】
内部読み込み部12bが記憶部13から読み込んだ識別情報ID(1),ID(2)と、鍵秘匿化部14cが生成した暗号文IBE(MPK, ID(1), KA), IBE(MPK, ID(2), KA), IBE(MPK, ID(1), KB),IBE(MPK, ID(2), KB)とは、外部書き込み部11aに送られる。外部書き込み部11aは、これらをUSBメモリ20のインタフェース部21(図15(b))に送り、インタフェース部21は、識別情報ID(1)と暗号文IBE(MPK, ID(1), KA),IBE(MPK, ID(1), KB)とを関連付け、識別情報ID(2)と暗号文IBE(MPK, ID(2), KA),IBE(MPK, ID(2), KB)とを関連付け、それらを記憶部22の領域22bに格納する(ステップS64)。
【0078】
以上により、PC110−1,2の登録が終了する。なお、ここでは説明の簡略化のため、PC110−1,2の登録のみを行う場合を例示した。しかし、説明したのと同様な方法によりPC110−1がその他のPC110−iの登録を行うことも可能である。以下では、全てのPC110−i(i∈{1,...,n})が登録され、各識別情報ID(i)と暗号文IBE(MPK, ID(i), KA), IBE(MPK, ID(i), KB)とがUSBメモリ20の記憶部22の領域22bに格納されたものとする。
【0079】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてPC110−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0080】
図16は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図17は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図22は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC110−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC110−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0081】
まず、PC110−1にUSBメモリ20が装着・マウントされているものとする。この状態で、PC110−1のアプリケーション実行部14h(図16(a))が、制御部14iに対し、平文M(1)の暗号文のUSBメモリ20への書き込み要求を行う。これをトリガとして、PC110−1の内部読み込み部12bが記憶部13から識別情報ID(1)を読み込み、これをPC110−1の外部読み込み部11bに送る。当該外部読み込み部11bは、USBメモリ20の記憶部22の領域22b(図16(b))から、識別情報ID(1)に関連付けられている暗号文IBE(MPK, ID(1), KA), IBE(MPK, ID(1), KB)を読み込む(ステップS71)。
【0082】
当該暗号文IBE(MPK, ID(1), KA), IBE(MPK, ID(1), KB)は、PC110−1の共通鍵復元部114d(図16(a))に送られる。また、これをトリガとして、PC110−1の内部読み込み部12bがその記憶部13から秘密鍵SK(1)を読み込み、秘密鍵SK(1)を共通鍵復元部114dに送る。共通鍵復元部114dは、秘密鍵SK(1)を用いて暗号文IBE(MPK, ID(1), KA) , IBE(MPK, ID(1), KB)を復号して共通鍵KA〔KA=PD(SK(1), IBE(MPK, ID(1), KA))〕, KB〔KB=PD(SK(1), IBE(MPK, ID(1), KB))〕を抽出する(ステップS72)。当該共通鍵KAは、PC110−1の暗号化部114eに送られ、当該共通鍵KBは暗号文認証子生成部114nに送られる。また、PC110−1のアプリケーション実行部14hは、平文M(1)を当該暗号化部114eに送り、当該暗号化部114eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS73)。生成された暗号文SE(KA, M(1))は、暗号文認証子生成部114nに送られる。
【0083】
暗号文認証子生成部114nは、少なくとも共通鍵KBと暗号文SE(KA, M(1))とを用いて暗号文SE(KA, M(1))の暗号文認証子AU(KB, SE(KA, M(1)))を生成する(ステップS74)。なお、暗号文認証子AU(KB, SE(KA, M(1)))は、例えば、以下のように生成する。
【0084】
AU(KB, SE(KA, M(1)))=HMAC(KB, SE(KA, M(1))) …(1)
なお、HMAC(α, β)(mは1以上の整数)は、γ(+)δをγとδとの排他的論理和とし、opad及びipadを定数ビット列とし、H(σ)をσのハッシュ値とし、γ|δをγとδとのビット連結とした場合における、
H((α(+)opad)|H((α(+)ipad)|β)) …(2)
である(「Mihir Bellare, Ran Canetti and Hugo Krawczyk, "Keying Hash Functions for Message Authentication", CRYPTO'96, pp1-15, 1996.」等参照)。
【0085】
なお、暗号文認証子AU(KB, SE(KA, M(1)))は、式(2)に限定されるものではなく、共通鍵KBを用いて暗号文SE(KA, M(1))の正当性を証明できる情報であれば、電子署名等どのようなものであってもよい。
【0086】
このように生成された暗号文SE(KA, M(1))と、その暗号文認証子AU(KB, SE(KA, M(1)))とは、外部書き込み部11aによって、USBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22c(図16(b))に格納される(ステップS75/書き込み過程終了)。
【0087】
次に、PC110−2にUSBメモリ20が装着・マウントされる。この状態で、PC110−2のアプリケーション実行部14hが、制御部14iに対し、USBメモリ20からの暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))との読み込み要求を行う。これをトリガとし、制御部14iの制御のもと、PC110−2の外部読み込み部11b(図17(a))が、USBメモリ20の記憶部22の領域22c(図17(b))から暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))を読み込み(ステップS76)、さらに、領域22bから暗号文IBE(MPK, ID(2), KA), IBE(MPK, ID(2), KB)を読み込む(ステップS77)。次に、PC110−2の内部読み込み部12b(図17(a))が記憶部13から秘密鍵SK(2)を読み込む。そして、PC110−2の共通鍵復元部114dが、当該秘密鍵SK(2)を用いて暗号文IBE(MPK, ID(2), KA), IBE(MPK, ID(2), KB)をそれぞれ復号して共通鍵KA〔KA=PD(SK(2), IBE(MPK, ID(2), KA))〕, KB〔KB=PD(SK(2), IBE(MPK, ID(2), KB))〕を抽出する(ステップS78)。
【0088】
その後、PC110−2の暗号文検証部114pに、共通鍵KBと暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))とが入力され、暗号文検証部114pは、共通鍵KBと暗号文認証子AU(KB, SE(KA, M(1)))とを用い、暗号文SE(KA, M(1))が正当なものであるか否かを検証する(ステップS79)。例えば、ステップS74において前述の式(2)によって証子AU(KB, SE(KA, M(1)))が生成される例の場合、PC110−2の暗号文検証部114pは、入力された共通鍵KBと暗号文SE(KA, M(1))とを用いてHMAC(KB, SE(KA, M(1)))を算出し、その演算結果と入力されたAU(KB, SE(KA, M(1)))=HMAC(KB, SE(KA, M(1)))と等しいか否かを判定する。
【0089】
ここで、これらが等しくないのであれば、暗号文SE(KA, M(1))が不当であるとして、制御部14iは処理をエラー終了させる。一方、これらが等しいのであれば、暗号文SE(KA, M(1))が正当であるとして、PC110−2の復号化部114fが、共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS80)。抽出された平文M(1)は、PC110−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0090】
[削除過程]
次に、本形態の削除過程について説明する。なお、前提としてPC110−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0091】
図18〜20は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図23,24は、本形態の削除過程を説明するためのシーケンス図である。
【0092】
PC110−1にUSBメモリ20が装着・マウントされているものとする。また、本形態でも第1の実施形態と同様にPC110−2の登録を削除するものとする。
【0093】
まず、PC110−1の内部読み込み部12bが記憶部13から識別情報ID(1)を読み込み、外部読み込み部11a(図18)に送る。当該外部読み込み部11aは、USBメモリ20の記憶部22の領域22b(図19)から識別情報ID(1)に関連付けられた暗号文IBE(MPK, ID(1), KA)を読み込む(ステップS91)。
【0094】
次に、PC110−1の内部読み込み部12b(図18)が記憶部13から秘密鍵SK(1)を読み込み、共通鍵復元部14dに送る。共通鍵復元部14dは、当該秘密鍵SK(1)を用い、USBメモリ20から読み込まれた暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), IBE(MPK, ID(1), KA))〕を抽出する(ステップS92)。
【0095】
次に、PC110−1の共通鍵生成部114aが、新たな共通鍵KAnew, KBnewを生成する(ステップS93)。
【0096】
また、PC110−1の外部読み込み部11bが、USBメモリ20からPC110−iに対応する暗号文SE(KA, M(i))(i∈{1,...,n})を読み込み(ステップS94)、復号化部114fに送る。当該復号化部114fは、共通鍵復元部114dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS95)。
【0097】
次に、PC110−1の暗号化部114eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部114eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS96)。さらに、暗号文認証子生成部114nに、当該暗号文SE(KAnew, M(i)) と新たな共通鍵KBnewとが入力され、暗号文認証子生成部114nは、ステップS74と同様に、暗号文SE(KAnew, M(i))の暗号文認証子AU(KBnew, SE(KAnew, M(i)))を生成する(ステップS97)。
【0098】
生成された各暗号文SE(KAnew, M(i))とそれらの暗号文認証子AU(KBnew, SE(KAnew, M(i)))とは、PC110−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該各暗号文SE(KAnew, M(i))とそれらの暗号文認証子AU(KBnew, SE(KAnew, M(i)))とをUSBメモリ20のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図19)に格納する(ステップS98)。
【0099】
次に、PC110−1の外部読み込み部11b(図18)が、USBメモリ20から、削除対象のPC110−2以外の識別情報ID(s)(s∈{1,...,n}、s≠2)を読み込み(ステップS99)、それらを鍵秘匿化部114cに送る。また、内部読み込み部12bが記憶部13からマスター公開鍵MPKを読み込み、それを鍵秘匿化部114cに送る。鍵秘匿化部114cは、各識別情報ID(s)とマスター公開鍵MPKとを用い、共通鍵生成部114aで新たに生成された共通鍵KAnew, KBnewを、それぞれID-BASE暗号方式によって暗号化し、暗号文IBE(MPK, ID(s), KAnew), IBE(MPK, ID(s), KBnew)を生成する(ステップS100)。
【0100】
各暗号文IBE(MPK, ID(s), KAnew), IBE(MPK, ID(s), KBnew)は、PC110−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21(図19)に送られる。そして、当該インタフェース部21は、各暗号文IBE(MPK, ID(s), KAnew), IBE(MPK, ID(s), KBnew)を、USBメモリ20の記憶部22の領域22bに、それぞれ識別情報ID(s)に対応付けて格納(図19)する(ステップS101)。
【0101】
次に、PC110−1の削除部14g(図20(a))が削除命令を出し、これを受けた外部書き込み部11aは、USBメモリ20の記憶部22の領域22c(図20(b))から暗号文SE(KA, M(i))と暗号文認証子AU(KB, SE(KA, M(i)))を削除し、領域22bから暗号文IBE(MPK, ID(i), KA), IBE(MPK, ID(i), KB)と識別情報ID(2)とを削除(図20(b))する(ステップS102)。
【0102】
〔第4の実施形態〕
次に、本発明の第4の実施形態について説明する。本形態は第3の実施形態の変形例である。複数の共通鍵の秘匿化や復号を行う鍵秘匿化部114c及び共通鍵復元部114dの構成を工夫し、演算量を削減する点のみが第3の実施形態と相違する。以下では、本形態の鍵秘匿化部114c及び共通鍵復元部114dのみについて説明する。
【0103】
<鍵秘匿化部114c>
図25(a)は、本形態の鍵秘匿化部114cの構成を示したブロック図である。以下、この図を用い、秘密鍵KA. KBとマスター公開鍵MPKと識別情報ID(1)とが本形態の鍵秘匿化部114cに入力され、当該鍵秘匿化部114cが暗号文IBE(MPK, ID(1),KA), IBE(MPK, ID(1),KB)を算出する処理を例にとって説明する。
【0104】
まず、鍵秘匿化部114cの乱数生成部114caが乱数Z(1)(例えばビット長384bitの整数)を生成し、それを、鍵秘匿化部114cの公開鍵暗号化部114cbと乱数分割部114ccとに送る。公開鍵暗号化部114cbは、入力されたマスター公開鍵MPKと識別情報ID(1)を用い、ID-BASE暗号方式によって乱数Z(1)を暗号化して暗号文C(1)=IBE(MPK, ID(1), Z(1))を生成する。また、当該乱数分割部114ccは、乱数Z(1)を2(Y=2の例)個の乱数Z(1, y)(y∈{1,2})(例えばビット長128bit)に分割する。分割された各乱数Z(1, y)は、鍵秘匿化部114cの共通鍵暗号化部114cdに送られる。共通鍵暗号化部114cdは、乱数Z(1, 1) を鍵とし、共通鍵暗号方式(Camellia, AES等)によって共通鍵KAを暗号化した暗号文SE(Z(1, 1), KA)を生成する。また、共通鍵暗号化部114cdは、乱数Z(1, 2) を鍵とし、共通鍵暗号方式によって共通鍵KBを暗号化した暗号文SE(Z(1, 2), KB)を生成する。
【0105】
そして、鍵秘匿化部114cは、暗号文
IBE(MPK, ID(1), KA)=((C(1), SE(Z(1, 1), KA)))
IBE(MPK, ID(1), KB)=((C(1), SE(Z(1, 2), KB)))
を出力する。
【0106】
<共通鍵復元部114d>
図25(b)は、本形態の共通鍵復元部114dの構成を示したブロック図である。以下、この図を用い、暗号文IBE(MPK, ID(1),KA), IBE(MPK, ID(1),KB)と秘密鍵SK(1)とが本形態の共通鍵復元部114dに入力され、当該共通鍵復元部114dが暗号文IBE(MPK, ID(1),KA), IBE(MPK, ID(1),KB)を復号する処理を例にとって説明する。
【0107】
まず、共通鍵復元部114dの公開鍵復号化部114daが、入力された秘密鍵SK(1)を用いて暗号文C(1)=IBE(MPK, ID(1), Z(1))を復号し、乱数Z(1)〔Z(1)=PD(SK(1), C(1))〕を抽出する。当該乱数Z(1)は、共通鍵復元部114dの乱数分割部114dbに入力され、当該乱数分割部114dbは、乱数分割部114cc(図25(a))と同様に、乱数Z(1)を2(Y=2の例)個の乱数Z(1, y)(y∈{1,2})(例えばビット長128bit)に分割する。
【0108】
次に、共通鍵復元部114dの共通鍵復号化部114dcに、乱数Z(1, y) (y∈{1,2})及び暗号文SE(Z(1, 1), KA), SE(Z(1, 2), KB)が入力される。共通鍵復号化部114dcは、乱数Z(1, 1) を鍵とし、共通鍵暗号方式によって暗号文SE(Z(1, 1), KA)を復号したKAと、乱数Z(1, 2)を鍵とし、共通鍵暗号方式によって暗号文SE(Z(1, 2), KB)を復号したKBとを算出する。そして、共通鍵復元部114dは、共通鍵KA, KBを出力する。
【0109】
以上のように、本形態の鍵秘匿化部114cでは、ID-BASE暗号方式による1回の暗号化処理と、共通鍵暗号化方式による2回の暗号化処理により、秘密鍵SK(1)によって復号可能な暗号文を作成できる。これに必要な演算量は、ID-BASE暗号方式による2回の暗号化処理によって各秘密鍵KA, KBを暗号化する場合の演算量よりも小さい。このような演算量削減の効果は復号時にも得られる。
【0110】
〔第5の実施形態〕
次に、本発明の第5の実施形態について説明する。本形態も第3の実施形態の変形例である。暗号化部114e及び復号化部114fの処理を工夫して安全性を向上させた点と、それらの処理に使用する乱数を暗号文認証子の生成に流用し、演算量の増加を抑制しつつ暗号文認証子の安全性を向上させた点とが、第3の実施形態と相違する。以下では、第3の実施形態との相違点のみを説明する。
【0111】
<本形態の書き込み過程>
図26は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。なお、ここでは、PC110−1がUSBメモリ20に暗号文を書き込む例を示す。
【0112】
PC110−1にUSBメモリ20が装着・マウントされているものとする。まず、PC110−1のアプリケーション実行部14hが、制御部14iに対し、セクタ番号se(1セクタ=512byte)を指定して、平文M(1)の暗号文のUSBメモリ20への書き込み要求を行う。これをトリガとして、第3の実施形態のステップS71,72(図22)と同じ処理が実行される。
【0113】
次に、暗号化部114eに、共通鍵KAと指定されたセクタ番号seと平文M(1)とが入力され、暗号化部114eは、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成し、乱数E(1)と暗号文SE(KA, M(1))とを出力する。以下に暗号化部114eの詳細を説明する。
【0114】
[本形態の暗号化部114eの詳細]
図28(a)は、本形態の暗号化部114eの詳細を示すブロック図である。
まず、暗号化部114eのブロック分割部114eaが、入力された平文M(1)をX(X≧2)個(例えばX=32)のブロックMB(p, x)(x∈{1,...,X})に分割する。各ブロックMB(p, x)はブロック暗号化部114edに送られ、ブロック番号xは関数演算部114ecに送られる。
【0115】
また、暗号化部114eの乱数生成部114ebが、平文M(1)毎に乱数E(1)を生成して出力する。次に、暗号化部114eの関数演算部114ecに、平文M(1)の暗号文を格納するUSBメモリ20の記憶部22のセクタ番号seと、乱数E(1)と、ブロック番号xと、が入力され、関数演算部114ecは、これらを所定の関数πに代入した関数値IV=π(x, E(1), se)をブロック番号x毎に算出する(例えば、x, E(1), seのビット連結をIVとする)。
【0116】
また、暗号化部114eのブロック暗号化部114edには、関数値IVとブロックMB(1, x)と共通鍵KAとが入力される。ブロック暗号化部114edは、共通鍵KAを用い、関数値IVを初期ベクトルとしたブロック暗号方式(カウンタモード等)により、各ブロックMB(1, x)を暗号化する。そして、ブロック暗号化部114edは、算出した全ブロックMB(1, x)の暗号文から暗号文SE(KA, M(1))を生成して(例えば、全ブロックMB(1, x)の暗号文のビット連結値を暗号文SE(KA, M(1))として)出力する([本形態の暗号化部114eの詳細]の説明終わり)。
【0117】
生成された暗号文SE(KA, M(1))は、乱数E(1)とともに暗号文認証子生成部114nに送られる。暗号文認証子生成部114nは、少なくとも共通鍵KBと暗号文SE(KA, M(1))と乱数E(1)とを用い、暗号文SE(KA, M(1))の暗号文認証子AU(KB, E(1), SE(KA, M(1)))を生成する。
【0118】
以上のように生成された暗号文SE(KA, M(1))と、その暗号文認証子AU(KB, SE(KA, M(1)))と、乱数E(1)と、アプリケーション実行部14hから送られたセクタ番号seとは、外部書き込み部11aによって、USBメモリ20のインタフェース部21に送られる(図26(b))。インタフェース部21は、セクタ番号seによって特定される記憶部22の領域22cのセクタに、暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))と乱数E(1)とを格納する。
【0119】
<本形態の読み込み過程>
図27は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。なお、ここでは、PC110−2がUSBメモリ20から暗号文を読み込んで復号する例を示す。
【0120】
まず、PC110−2にUSBメモリ20が装着・マウントされる。そして、PC110−2のアプリケーション実行部14hが、制御部14iに対し、セクタ番号seを指定して、USBメモリ20からの暗号文の読み込みとその復号とを要求する。これをトリガに、まず、PC110−2の外部読み込み部11bが、上記のセクタ番号seを指定し、USBメモリ20の記憶部22の領域22cから、暗号文SE(KA, M(1))と暗号文認証子AU(KB, E(1), SE(KA, M(1)))と乱数E(1)とを読み込み、さらに、領域22bから暗号文IBE(MPK, ID(2), KA), IBE(MPK, ID(2), KB)を読み込む。
【0121】
次に、PC110−2の内部読み込み部12b(図27(a))が、記憶部13から秘密鍵SK(2)を読み込む。そして、PC110−2の共通鍵復元部114dが、当該秘密鍵SK(2)を用いて暗号文IBE(MPK, ID(2), KA), IBE(MPK, ID(2), KB)をそれぞれ復号して共通鍵KA〔KA=PD(SK(2), IBE(MPK, ID(2), KA))〕, KB〔KB=PD(SK(2), IBE(MPK, ID(2), KB))〕を抽出する。
【0122】
その後、PC110−2の暗号文検証部114pに、共通鍵KBと暗号文SE(KA, M(1))と暗号文認証子AU(KB, E(1), SE(KA, M(1)))と乱数E(1)とが入力され、暗号文検証部114pは、これらを用い、暗号文SE(KA, M(1))が正当なものであるか否かを検証する。暗号文SE(KA, M(1))が正当であれば、PC110−2の復号化部114fが、共通鍵KAと乱数E(1)とセクタ番号seとを用いて暗号文SE(KA, M(1))を復号し、平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する。以下、本形態の復号化部114fの詳細を説明する。
【0123】
[本形態の復号化部114fの詳細]
図28(b)は、本形態の復号化部114fの詳細を示すブロック図である。
【0124】
まず、復号化部114fのブロック分割部114faが、暗号文SE(KA, M(1))をX(X≧2)個(例えばX=32)のブロックSEB(KA, M(1), x)(x∈{1,...,X})に分割する。この処理は、図28(a)のブロック暗号化部114edが全ブロックMB(1, x)の暗号文から暗号文SE(KA, M(1))を生成する処理の逆処理である。各ブロックSEB(KA, M(1), x)はブロック復号化部114edに送られ、ブロック番号xは関数演算部114fcに送られる。
【0125】
次に、復号化部114fの関数演算部114fcにセクタ番号seと乱数E(1)とブロック番号xとが入力される。関数演算部114fcは、これらを所定の関数πに代入した関数値IV=π(x, E(1), se)をブロック番号x毎に算出する(例えば、x, E(1), seのビット連結をIVとする)。
【0126】
また、暗号化部114eのブロック復号化部114fdには、関数値IVとブロックSEB(KA, M(1), x)と共通鍵KAとが入力される。ブロック暗号化部114fdは、共通鍵KAを用い、関数値IVを初期ベクトルとしたブロック復号方式(カウンタモード等)により、ブロックSEB(KA, M(1), x)を復号し、各ブロックMB(1, x)を抽出する。なお、この処理は図28(a)のブロック暗号化部114edの処理の逆処理である。そして、ブロック復号化部114fd、算出した全ブロックMB(1, x)から平文M(1)を生成して出力する。出力された平文M(1)は、PC110−2のアプリケーション実行部14hに送られる([本形態の復号化部114fの詳細]の説明終わり)。
【0127】
上述した本形態の暗号化部114e及び復号化部114fは、[削除過程]においても同様に実行されるが、ここでは説明を省略する。また、暗号化部114e及び復号化部114fの暗号化処理や復号化処理にセクタ番号seを用いない構成であってもよいし、関数値IVを生成するためにさらに他の情報を用いる構成であってもよい。
【0128】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、第1の実施形態では、特定のPCを登録から削除する削除過程において共通鍵を再生成し、USBメモリの情報を書き換えることとしたが、特定のPCを登録から削除することなく共通鍵を再生成し、USBメモリの情報を書き換える処理を行ってもよい。このような処理は、例えば、共通鍵が第三者に漏えいした場合等に有効である。
【0129】
また、上述の各実施形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示した。しかし、本発明はこれらに限定されるものではない。例えば、情報処理装置として、携帯電話機、携帯情報端末(PDA)等を用いてもよい。また、情報記録媒体として、DVD−RAM(Random Access Memory)、CD−R(Recordable)/RW(ReWritable)、MO(Magneto-Optical disc)等を用いてもよいし、ハードディスク等の非可搬型の記録媒体を用いてもよい。
【0130】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0131】
また、上述のPCが実行する処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、上述したUSBメモリの他、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0132】
また、このプログラムの流通は、例えば、そのプログラムを記録したUSBメモリ、DVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0133】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。
【0134】
なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0135】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0136】
本発明の利用分野としては、例えば、USBメモリに格納するデータの秘匿化等を例示できる。
【図面の簡単な説明】
【0137】
【図1】図1は、第1の実施形態の情報記録媒体共用システムの全体構成を例示した概念図である。
【図2】図2(a)は、第1の実施形態のPCの機能構成を例示したブロック図であり、図2(b)は、本形態のUSBメモリの機能構成を例示したブロック図である。
【図3】図3は、第1の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図4】図4は、第1の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図5】図5は、第1の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図6】図6は、第1の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図7】図7は、第1の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図8】図8は、第1の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図9】図9は、第1の実施形態の登録過程を説明するためのシーケンス図である。
【図10】図10は、第1の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図11】図11は、第1の実施形態の削除過程を説明するためのシーケンス図である。
【図12】図12は、第2の実施形態の登録過程を説明するためのシーケンス図である。
【図13】図13は、第3の実施形態のPCの機能構成を例示したブロック図である。
【図14】図14は、第3の実施形態のUSBメモリの機能構成を例示したブロック図である。
【図15】図15は、第3の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図16】図16は、第3の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、
【図17】図17は、第3の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図18】図18は、第3の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図19】図19は、第3の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図20】図20は、第3の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図21】図21は、第3の実施形態の登録過程を説明するためのシーケンス図である。
【図22】図22は、第3の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図23】図23は、第3の実施形態の削除過程を説明するためのシーケンス図である。
【図24】図24は、第3の実施形態の削除過程を説明するためのシーケンス図である。
【図25】図25(a)は、第4の実施形態の鍵秘匿化部の構成を示したブロック図である。図25(b)は、第4の実施形態の共通鍵復元部の構成を示したブロック図である。
【図26】図26は、第5の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図27】図27は、第5の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図28】図28(a)は、第5の実施形態の暗号化部の詳細を示すブロック図である。図28(b)は、本形態の復号化部の詳細を示すブロック図である。
【符号の説明】
【0138】
1 情報記録媒体共用システム
10,110 PC(「情報処理装置」に相当)
20 USBメモリ(「情報記録媒体」に相当)

【特許請求の範囲】
【請求項1】
n(nは2以上の整数)個の情報処理装置PC(i)(i∈{1,...,n})が情報記録媒体を共用し、当該情報記録媒体へ暗号文を格納し、当該情報記録媒体に格納された暗号文から平文を復号する、情報記録媒体のセキュリティ方法であって、
各情報処理装置PC(i)に対して共通のマスター秘密鍵をMSKとし、マスター秘密鍵MSKを用いて生成された各情報処理装置PC(i)に対して共通のマスター公開鍵をMPKとし、各情報処理装置PC(i)をそれぞれ識別する識別情報ID(i)とマスター秘密鍵MSKとを用いて生成されたID-BASE暗号方式の秘密鍵をSK(i)とした場合における、秘密鍵SK(i)を、当該秘密鍵SK(i)に対応する情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、マスター公開鍵MPKと識別情報ID(i)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(i), KA)を、上記情報記録媒体に格納する過程と、を具備する登録過程と、
何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(p), KA)を読み込む過程と、当該情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文IBE(MPK, ID(p), KA)を復号して共通鍵KAを抽出する過程と、当該情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程と、当該情報処理装置PC(p)の外部書き込み部が、当該暗号文SE(KA, M(p))を上記情報記録媒体に格納する過程と、を具備する書き込み過程と、
何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(q), KA)を読み込む過程と、当該情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、当該情報処理装置PC(q)の共通鍵復元部が、記憶部に格納された秘密鍵SK(q)を用いて暗号文IBE(MPK, ID(q), KA)を復号して共通鍵KAを抽出する過程と、当該情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項2】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
何れかの情報処理装置PC(r)(r∈{1,...,n})の共通鍵生成部が共通鍵KAを生成する過程と、当該情報処理装置PC(r)の鍵秘匿化部が、マスター公開鍵MPKと何れかの情報処理装置PC(u)(u∈{1,...,n})を識別する識別情報ID(u)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(u), KA)を生成する過程と、当該情報処理装置PC(r)の外部書き込み部が、暗号文IBE(MPK, ID(u), KA)を上記情報記録媒体に格納する過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項3】
請求項1又は2に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
上記情報記録媒体に暗号文IBE(MPK, ID(t), KA)(t∈{1,...,n})が格納され、自らの記憶部に秘密鍵SK(t)が格納された何れかの情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(t), KA)を読み込む過程と、当該情報処理装置PC(t)の共通鍵復元部が、記憶部に格納された秘密鍵SK(t)を用いて暗号文IBE(MPK, ID(t), KA)を復号して共通鍵KAを抽出する過程と、当該情報処理装置PC(t)の鍵秘匿化部が、マスター公開鍵MPKと何れかの情報処理装置PC(g)(g∈{1,...,n})を識別する識別情報ID(g)とを用い、ID-BASE暗号方式によって共通鍵KAを暗号化した各暗号文IBE(MPK, ID(g), KA)を生成する過程と、当該情報処理装置PC(t)の外部書き込み部が、暗号文IBE(MPK, ID(g), KA)を上記情報記録媒体に格納する過程とを、
さらに有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項4】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記情報記録媒体に暗号文IBE(MPK, ID(r), KA)(r∈{1,...,n})が格納され、自らの記憶部に秘密鍵SK(r)が格納された情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(r), KA)を読み込む過程と、当該情報処理装置PC(r)の共通鍵復元部が、記憶部に格納された秘密鍵SK(r)を用いて暗号文IBE(MPK, ID(r), KA)を復号して共通鍵KAを抽出する過程と、当該情報処理装置PC(r)の共通鍵生成部が、新たな共通鍵KAnewを生成する過程と、当該情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から情報処理装置PC(p)(p∈{1,...,n})に対応する暗号文SE(KA, M(p))を読み込む過程と、当該情報処理装置PC(r)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、当該情報処理装置PC(r)の暗号化部が、新たな共通鍵KAnewを用いて各平文M(p)を暗号化した暗号文SE(KAnew, M(p))を生成する過程と、当該情報処理装置PC(r)の外部書き込み部が、当該暗号文SE(KAnew, M(p))を上記情報記録媒体に格納する過程と、を具備する再暗号化過程と、
上記情報処理装置PC(r)の鍵秘匿化部が、マスター公開鍵MPKと識別情報ID(p)とを用い、ID-BASE暗号方式によって新たな共通鍵KAnewを暗号化した暗号文IBE(MPK, ID(p), KAnew)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文IBE(MPK, ID(p), KAnew)を上記情報記録媒体に格納する過程と、具備する再登録過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項5】
請求項4に記載の情報記録媒体のセキュリティ方法であって、
上記再登録過程は、登録削除対象の情報処理装置PC(w)(w∈{1,...,n})以外の情報処理装置PC(s)について実行される過程であり、
当該情報記録媒体のセキュリティ方法は、
情報処理装置PC(r)の削除部が、上記情報記録媒体に格納された暗号文SE(KA, M(p))(p∈{1,...,n})を上記情報記録媒体から削除する削除過程を有する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項6】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程は、
上記暗号化部のブロック分割部が、平文M(p)をX(X≧2)個のブロックMB(p, x)(x∈{1,...,X})に分割する過程と、
上記暗号化部の乱数生成部が、平文M(p)毎に乱数E(p)を生成する過程と、
上記情報処理装置PC(p)の外部書き込み部が、乱数E(p)を上記情報記録媒体に格納する過程と、
上記暗号化部の関数演算部が、少なくともブロックMB(p, x)のブロック番号xと乱数E(p)とを所定の関数πに代入した関数値IV=π(x, E(p))を算出する過程と、
上記暗号化部のブロック暗号化部が、共通鍵KAを用い、関数値IVを初期ベクトルとして各ブロックMB(p, x)を暗号化し、算出された全ブロックMB(p, x)の暗号文から暗号文SE(KA, M(p))を生成する過程と、を具備する過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項7】
請求項6に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
マスター公開鍵MPKと識別情報ID(i)とを用い、ID-BASE暗号方式によって暗号文認証用鍵KBを暗号化した各暗号文IBE(MPK, ID(i), KB)を、上記情報記録媒体に格納する過程を具備し、
上記書き込み過程は、
情報処理装置PC(p)の外部読み出し部が、上記情報記録媒体から暗号文IBE(MPK, ID(p), KB)を読み込む過程と、当該情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文IBE(MPK, ID(p), KB)を復号して暗号文認証用鍵KBを抽出する過程と、当該情報処理装置PC(p)の暗号文認証部が、少なくとも暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて、暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成する過程と、当該情報処理装置PC(p)の外部書き込み部が、認証子AU(KB, E(p), SE(KA, M(p)))を上記情報記録媒体に格納する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項8】
他の情報処理装置PC(q)(q∈{1,...,n})と共用される情報記録媒体へ暗号文を格納する情報処理装置PC(p)(p∈{1,...,n}、q≠p)であって、
ID-BASE暗号方式の秘密鍵SK(p)を格納する記憶部と、
情報処理装置PC(p)を識別する識別情報ID(p)と、マスター公開鍵MPKとを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(p), KA)、及び、マスター公開鍵MPKと他の情報処理装置PC(q)を識別する識別情報ID(q)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(q), KA)が少なくとも格納された上記情報記録媒体から、暗号文IBE(MPK, ID(p), KA)を読み込む外部読み込み部と、
記憶部に格納された秘密鍵SK(p)を用いて暗号文IBE(MPK, ID(p), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する暗号化部と、
暗号文SE(KA, M(p))を上記情報記録媒体に格納する外部書き込み部と、
を有することを特徴とする情報処理装置。
【請求項9】
他の情報処理装置PC(p)(p∈{1,...,n})と共用される情報記録媒体に格納された暗号文から平文を復号する情報処理装置PC(q)(q∈{1,...,n}、q≠p)であって、
ID-BASE暗号方式の秘密鍵SK(q)を格納する記憶部と、
情報処理装置PC(q)を識別する識別情報ID(q)と、マスター公開鍵MPKとを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した暗号文IBE(MPK, ID(q), KA)、及び、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))が少なくとも格納された上記情報記録媒体から、暗号文IBE(MPK, ID(q), KA)と暗号文SE(KA, M(p))とを読み込む外部読み込み部と、
記憶部に格納された秘密鍵SK(q)を用いて暗号文IBE(MPK, ID(q), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する復号化部と、
を有することを特徴とする情報処理装置。
【請求項10】
請求項1から7の何れかに記載された情報記録媒体のセキュリティ方法の各過程をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2008−299683(P2008−299683A)
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願番号】特願2007−146402(P2007−146402)
【出願日】平成19年6月1日(2007.6.1)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】