情報記録媒体のセキュリティ方法、情報処理装置、プログラム及び記録媒体
【課題】煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用する。
【解決手段】各PC10−iの記憶部13に各秘密鍵SK(i)の分散情報SSK(i,1)をそれぞれ格納し、各公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAをそれぞれ暗号化した各暗号文PE(PK(i), KA)と分散情報SSK(i,2)とをUSBメモリ20に格納しておく。各PC10−iは、分散情報SSK(i,1)と分散情報SSK(i,2)とを用いて秘密鍵SK(i)を復元し、それを用いてUSBメモリ20に格納された暗号文PE(PK(i), KA)を復号して共通鍵KAを抽出する。そして、各PC10−iは、抽出した共通鍵KAを用いて平文M(i)の暗号文SE(KA, M(i))を生成してUSBメモリ20に格納し、また、抽出した共通鍵KAを用いてUSBメモリ20から読み込んだ暗号文SE(KA, M(i))を復号する。
【解決手段】各PC10−iの記憶部13に各秘密鍵SK(i)の分散情報SSK(i,1)をそれぞれ格納し、各公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAをそれぞれ暗号化した各暗号文PE(PK(i), KA)と分散情報SSK(i,2)とをUSBメモリ20に格納しておく。各PC10−iは、分散情報SSK(i,1)と分散情報SSK(i,2)とを用いて秘密鍵SK(i)を復元し、それを用いてUSBメモリ20に格納された暗号文PE(PK(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)メモリなどの複数の情報処理装置で共用される可搬型の情報記録媒体に格納されたデータの漏えいを防止することは重要である。その対策として、従来は、共通鍵暗号方式によってデータを暗号化して情報記録媒体に格納する方法が使用されてきた(例えば、非特許文献1参照)。この場合、情報記録媒体に格納するデータMを共通鍵暗号方式の共通鍵Kで暗号化し、その暗号文Cのみを情報記録媒体に格納する方法が一般的であった。また、共通鍵Kは、情報処理装置に格納されるか、パスワードのような形で使用者に記憶されるのが一般的であった。
【0003】
また、特許文献1には、暗号化されたファイルを暗号解読するための第1の暗号解読鍵を着脱可能メモリに格納しておく方式が開示されている。
【0004】
しかし、共通鍵Kを情報処理装置に格納しておく方式の場合、情報記録媒体を共用する複数の情報処理装置で共通鍵Kを共有しておく必要がある。しかし、秘密情報である共通鍵Kを事前に複数の情報処理装置で共有しておく処理は煩雑である。また、パスワードを用いて共通鍵Kを作成する方法の場合、使用者がパスワードを記憶し、情報処理装置毎にパスワードを入力しなければならない。このような処理も煩雑である。さらに、一般に、使用者の利便性を考慮したパスワードの長さは暗号学的には十分な長さではない。よって、このような共通鍵Kを用いて生成された暗号文Cは解読され易く、安全上の問題がある。
【0005】
また、特許文献1のように、暗号化されたファイルを暗号解読するための第1の暗号解読鍵を着脱可能メモリのような可搬型の情報記録媒体に格納しておく方式の場合、当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした者は、誰でも暗号化されたファイルの暗号解読が出来てしまう。
【0006】
これらの問題は、複数の情報処理装置が可搬型の情報記録媒体を共用する場合だけではなく、複数の情報処理装置が非可搬型の情報記録媒体を共用する場合にも当てはまる。
【0007】
これに対し、本出願人はこのような問題を解決する方式を考案し、その特許出願を行った〔特願2007-113708(未公開)〕。
【0008】
特願2007-113708(未公開)の方式では、まず、登録過程において、情報記録媒体を共用する各情報処理装置PC(i)(i∈{1,...,n}、nは2以上の整数)にそれぞれ対応する公開鍵暗号方式の秘密鍵SK(i)を、当該秘密鍵SK(i)に対応する情報処理装置PC(i)の記憶部にそれぞれ格納し、各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を情報記録媒体に格納する。
【0009】
平文の暗号化を行う情報処理装置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))を情報記録媒体に格納する。
【0010】
そして、暗号文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)を抽出する。
【0011】
この処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。さらに、この処理では、平文の暗号文を復号するための共通鍵KAを情報記録媒体に格納するのではなく、共通鍵KAを公開鍵によって暗号化した暗号文を情報記録媒体に格納しておく。そのため、弟三者が当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした場合でも、当該第三者は、平文の暗号文を復号することができない。
【非特許文献1】「BUFFALO」ホームページ、[平成19年7月30日検索]、インターネット〈URL http://buffalo.jp/products/slw/keitai.html〉
【特許文献1】特開2006−67313号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
しかし、特願2007-113708(未公開)の方式の場合、情報処理装置PCの紛失・盗難・不正アクセス等によって情報処理装置PC(i)の記憶部に格納された情報が第三者に盗聴された場合には安全性を確保できない。情報処理装置PC(i)の記憶部には、秘密鍵SK(i)が格納されており、秘密鍵SK(i)と暗号文PE(PK(i), KA)とを入手した第三者は、共通鍵KAを不正に復元できてしまうからである。
【0013】
本発明はこのような点に鑑みてなされたものであり、煩雑な処理を必要とせず、情報処理装置の記憶部に格納された情報が第三者に盗聴された場合であっても、安全に複数の情報処理装置が情報記録媒体を共用できる技術を提供することを目的とする。
【課題を解決するための手段】
【0014】
第1の本発明では、まず、情報処理装置PC(i)に対応する公開鍵暗号方式の秘密鍵SK(i)の分散情報SSK(i,1)を情報処理装置PC(i)の記憶部に格納する過程と、当該秘密鍵SK(i)の分散情報SSK(i,2)を情報記録媒体に格納する過程と、情報処理装置PC(i)に対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(i), KA)を情報記録媒体に格納する過程と、を具備する登録過程を実行する。そして、情報記録媒体に暗号文PE(PK(p), KA)と分散情報SSK(p,2)とが格納され、自らの記憶部に分散情報SSK(p,1)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文PE(PK(p), KA)を読み込む過程と、情報処理装置PC(p)の内部読み込み部が、情報処理装置PC(p)の記憶部から分散情報SSK(p,1)を読み込む過程と、情報処理装置PC(p)の外部読み込み部が、情報記録媒体から分散情報SSK(p,2)を読み込む過程と、情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて情報処理装置PC(p)の秘密鍵SK(p)を復元する過程と、情報処理装置PC(p)の共通鍵復元部が、復元された秘密鍵SK(p)を用いて暗号文PE(PK(p), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程と、情報処理装置PC(p)の外部書き込み部が、当該暗号文SE(KA, M(p))を情報記録媒体に格納する過程と、を具備する書き込み過程を実行する。そして、情報記録媒体に暗号文PE(PK(q), KA)と分散情報SSK(q,2)とが格納され、自らの記憶部に分散情報SSK(q,1)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文PE(PK(q), KA)を読み込む過程と、情報処理装置PC(q)の外部読み込み部が、情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、情報処理装置PC(q)の内部読み込み部が、情報処理装置PC(q)の記憶部から分散情報SSK(q,1)を読み込む過程と、情報処理装置PC(q)の外部読み込み部が、情報記録媒体から分散情報SSK(q,2)を読み込む過程と、情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて情報処理装置PC(q)の秘密鍵SK(q)を復元する過程と、情報処理装置PC(q)の共通鍵復元部が、復元された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、を実行する。
【0015】
ここで、情報処理装置PC(i)の記憶部には、秘密鍵SK(i)の分散情報SSK(i,1)が格納される。また、情報記録媒体には秘密鍵SK(i)の分散情報SSK(i,2)が格納される。この場合、情報処理装置PC(i)の記憶部に格納された情報が第三者に盗聴された場合であっても、直ちに秘密鍵SK(i)が第三者に知られることはない。これにより安全性を向上させることができる。
【0016】
また、第1の本発明では、登録過程において、各公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAをそれぞれ暗号化した各暗号文PE(PK(i), KA)を情報記録媒体に格納しておく。これにより、情報処理装置PC(p)(p=1,...,n)は、少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて復元した自らの秘密鍵SK(p)を用い、情報記録媒体に格納された暗号文PE(PK(p), KA)から共通鍵KAを復号できる。同様に、情報処理装置PC(q)(q=1,...,n)は、少なくとも分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて復元した自らの秘密鍵SK(q)を用い、情報記録媒体に格納された暗号文PE(PK(q), KA)から共通鍵KAを復号できる。これにより、情報処理装置PC(p)と情報処理装置PC(q)との間で共通鍵KAを用いた共通鍵暗号方式による暗号化及び復号化が可能となる。
【0017】
この処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。さらに、本発明では、平文の暗号文を復号するための共通鍵KAを情報記録媒体に格納するのではなく、共通鍵KAを公開鍵によって暗号化した暗号文を情報記録媒体に格納しておく。そのため、弟三者が当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした場合でも、当該第三者は、平文の暗号文を復号することができない。
【0018】
また、第1の本発明において好ましくは、登録過程において、まず、何れかの情報処理装置PC(r)(r=1,...,n)の共通鍵生成部が共通鍵KAを生成する過程と、情報処理装置PC(r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(r)と公開鍵PK(r)とを生成する過程と、情報処理装置PC(r)の内部書き込み部が、秘密鍵SK(r)の分散情報SSK(r,1)を情報処理装置PC(r)の記憶部に格納する過程と、情報処理装置PC(r)の外部書き込み部が、当該秘密鍵SK(r)の分散情報SSK(r,2)を情報記録媒体に格納する過程と、情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程と、情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(r), KA)を情報記録媒体に格納する過程とを実行する。
【0019】
次に、情報処理装置PC(r)以外の情報処理装置PC(s)(s=1,...,n、s≠r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(s)と公開鍵PK(s)とを生成する過程と、秘密鍵SK(s)の分散情報SSK(s,1)を情報処理装置PC(s)の記憶部に格納する過程と、情報処理装置PC(s)の外部書き込み部が、当該秘密鍵SK(s)の分散情報SSK(s,2)を情報記録媒体に格納する過程と、情報処理装置PC(s)の外部書き込み部が、公開鍵PK(s)を情報記録媒体に格納する過程とを事項する。
【0020】
そして、情報記録媒体に暗号文PE(PK(t), KA)と分散情報SSK(t,2) とが格納され、自らの記憶部に分散情報SSK(t,1)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文PE(PK(t), KA)を読み込む過程と、情報処理装置PC(t)の内部読み込み部が、情報処理装置PC(t)の記憶部から分散情報SSK(t,1)を読み込む過程と、情報処理装置PC(t)の外部読み込み部が、情報記録媒体から分散情報SSK(t,2)を読み込む過程と、情報処理装置PC(t)の秘密鍵復元部が、少なくとも当該分散情報SSK(t,1)と分散情報SSK(t,2)とを用いて情報処理装置PC(t)の秘密鍵SK(t)を復元する過程と、情報処理装置PC(t)の共通鍵復元部が、復元された秘密鍵SK(t)を用いて暗号文PE(PK(t), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(t)の外部読み込み部が、情報記録媒体から公開鍵PK(s)を読み込む過程と、情報処理装置PC(t)の鍵秘匿化部が、公開鍵PK(s)を用いて共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成する過程と、情報処理装置PC(t)の外部書き込み部が、暗号文PE(PK(s), KA)を情報記録媒体に格納する過程とを実行する。
【0021】
当該好ましい登録過程の場合、情報処理装置PC(s)がその公開鍵PK(s)を情報記録媒体に格納おくことにより、既に情報記録媒体に暗号文PE(PK(t), KA)が格納され、自らの記憶部に分散情報SSK(t,1)が格納された情報処理装置PC(t)が、共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成し、情報記録媒体に格納することができる。すなわち、当該好ましい登録過程では、特別な登録用の装置を用いることなく、情報処理装置間で情報処理装置の登録処理を実行できる。これにより、高い利便性を実現できる。
【0022】
また、第1の本発明において好ましくは、情報記録媒体に暗号文PE(PK(r), KA)と分散情報SSK(r,2) とが格納され、自らの記憶部に分散情報SSK(r,1)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文PE(PK(r), KA)を読み込む過程と、情報処理装置PC(r)の内部読み込み部が、情報処理装置PC(r)の記憶部から分散情報SSK(r,1)を読み込む過程と、情報処理装置PC(r)の外部読み込み部が、情報記録媒体から分散情報SSK(r,2)を読み込む過程と、情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて情報処理装置PC(r)の秘密鍵SK(r)を復元する過程と、情報処理装置PC(r)の共通鍵復元部が、復元された秘密鍵SK(r)を用いて暗号文PE(PK(r), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(r)の共通鍵生成部が、新たな共通鍵KAnewを生成する過程と、情報処理装置PC(r)の外部読み込み部が、情報記録媒体から何れかの情報処理装置PC(s)(s=1,...,n)に対応する暗号文SE(KA, M(s))を読み込む過程と、情報処理装置PC(r)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(s))を復号して平文M(s)を抽出する過程と、情報処理装置PC(r)の暗号化部が、新たな共通鍵KAnewを用いて平文M(s)を暗号化した暗号文SE(KAnew, M(s))を生成する過程と、情報処理装置PC(r)の外部書き込み部が、当該暗号文SE(KAnew, M(s))を情報記録媒体に格納する過程と、を具備する再暗号化過程と、情報処理装置PC(r)の外部読み込み部が、情報記録媒体から情報処理装置PC(s)に対応する公開鍵PK(s)(s=1,...,n)を読み込む過程と、情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(s)を用いて新たな共通鍵KAnewを暗号化した暗号文PE(PK(s), KAnew)を生成する過程と、情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(s), KAnew)を情報記録媒体に格納する過程と、具備する再登録過程とをさらに実行する。
【0023】
これにより、共通鍵を更新することができる。この共通鍵の更新は、例えば登録削除処理に利用することができる。その場合、上記再登録過程を、登録削除対象の情報処理装置PC(w)(w=1,...,n)以外の情報処理装置PC(s)について実行し、上記情報記録媒体に格納された暗号文SE(KA, M(p))(p=1,...,n)を上記情報記録媒体から削除する。この場合、たとえ登録が削除された情報処理装置PC(w)に古い共通鍵KAが残存していたとしても、上記情報処理装置PC(w)は、上記情報記録媒体に格納された情報から平文M(p)を復号することはできない。その結果、安全性が向上する。
【0024】
また、第2の本発明では、まず、各情報処理装置PC(i)に対して共通のマスター秘密鍵をMSKとし、マスター秘密鍵MSKを用いて生成された各情報処理装置PC(i)に対して共通のマスター公開鍵をMPKとし、各情報処理装置PC(i)をそれぞれ識別する識別情報ID(i)とマスター秘密鍵MSKとを用いて生成されたID-BASE暗号方式の秘密鍵をSK(i)とした場合における、秘密鍵SK(i)の分散情報SSK(i,1)を情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、当該秘密鍵SK(i)の分散情報SSK(i,2)を情報記録媒体に格納する過程と、マスター公開鍵MPKと識別情報ID(i)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(i), KA)を、情報記録媒体に格納する過程と、を具備する登録過程を実行する。そして、情報記録媒体に暗号文IBE(MPK, ID(p), KA)と分散情報SSK(p,2)とが格納され、自らの記憶部に分散情報SSK(p,1)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(p), KA)を読み込む過程と、情報処理装置PC(p)の内部読み込み部が、情報処理装置PC(p)の記憶部から分散情報SSK(p,1)を読み込む過程と、情報処理装置PC(p)の外部読み込み部が、情報記録媒体から分散情報SSK(p,2)を読み込む過程と、情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて情報処理装置PC(p)の秘密鍵SK(p)を復元する過程と、情報処理装置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))を情報記録媒体に格納する過程と、を具備する書き込み過程とを実行する。そして、情報記録媒体に暗号文PE(PK(q), KA)と分散情報SSK(q,2)とが格納され、自らの記憶部に分散情報SSK(q,1)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(q), KA)を読み込む過程と、情報処理装置PC(q)の外部読み込み部が、情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、情報処理装置PC(q)の内部読み込み部が、情報処理装置PC(q)の記憶部から分散情報SSK(q,1)を読み込む過程と、情報処理装置PC(q)の外部読み込み部が、情報記録媒体から分散情報SSK(q,2)を読み込む過程と、情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて情報処理装置PC(q)の秘密鍵SK(q)を復元する過程と、情報処理装置PC(q)の共通鍵復元部が、復元された秘密鍵SK(q)を用いて暗号文IBE(MPK, ID(q), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程とを実行する。
【0025】
ここで、情報処理装置PC(i)の記憶部には、秘密鍵SK(i)の分散情報SSK(i,1)を格納しておく。また、情報記録媒体には秘密鍵SK(i)の分散情報SSK(i,2)を格納しておく。この場合、情報処理装置PC(i)の記憶部に格納された情報が第三者に盗聴された場合であっても、直ちに秘密鍵SK(i)が第三者に知られることはない。これにより安全性を向上させることができる。
【0026】
また、第2の本発明の登録過程では、登録対象の情報処理装置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)が格納され、自らの記憶部に秘密鍵SK(t)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})は、情報記録媒体から暗号文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)を情報記録媒体に格納するだけで登録処理を行うことができる。
【0027】
また、第2の本発明の処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。
【0028】
また、第2の本発明の登録過程は、例えば、情報記録媒体に暗号文IBE(MPK, ID(t), KA)と分散情報SSK(t,2) とが格納され、自らの記憶部に分散情報SSK(t,1)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(t), KA)を読み込む過程と、情報処理装置PC(t)の内部読み込み部が、情報処理装置PC(t)の記憶部から分散情報SSK(t,1)を読み込む過程と、情報処理装置PC(t)の外部読み込み部が、情報記録媒体から分散情報SSK(t,2)を読み込む過程と、情報処理装置PC(t)の秘密鍵復元部が、少なくとも当該分散情報SSK(t,1)と分散情報SSK(t,2)とを用いて情報処理装置PC(t)の秘密鍵SK(t)を復元する過程と、情報処理装置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)を情報記録媒体に格納する過程とを、さらに有する。
【0029】
また、第2の本発明において好ましくは、情報記録媒体に暗号文IBE(MPK, ID(r), KA)と分散情報SSK(r,2) とが格納され、自らの記憶部に分散情報SSK(r,1)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(r), KA)を読み込む過程と、情報処理装置PC(r)の内部読み込み部が、情報処理装置PC(r)の記憶部から分散情報SSK(r,1)を読み込む過程と、情報処理装置PC(r)の外部読み込み部が、情報記録媒体から分散情報SSK(r,2)を読み込む過程と、情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて情報処理装置PC(r)の秘密鍵SK(r)を復元する過程と、情報処理装置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)を情報記録媒体に格納する過程と、具備する再登録過程とを実行する。
【0030】
これにより、共通鍵を更新することができる。この共通鍵の更新は、例えば登録削除処理に利用することができる。その場合、上記再登録過程を、登録削除対象の情報処理装置PC(w)(w=1,...,n)以外の情報処理装置PC(s)について実行し、上記情報記録媒体に格納された暗号文SE(KA, M(p))(p=1,...,n)を上記情報記録媒体から削除する。この場合、たとえ登録が削除された情報処理装置PC(w)に古い共通鍵KAが残存していたとしても、上記情報処理装置PC(w)は、上記情報記録媒体に格納された情報から平文M(p)を復号することはできない。その結果、安全性が向上する。
【0031】
また、第1,2の本発明において好ましくは、登録過程は、秘密鍵SK(i)の分散情報SSK(i,3)を情報記録媒体とは異なる第2情報記録媒体に格納する過程をさらに具備し、書き込み過程は、情報処理装置PC(p)の外部読み込み部が、第2情報記録媒体から分散情報SSK(p,3)を読み込む過程をさらに有し、情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて情報処理装置PC(p)の秘密鍵SK(p)を復元する過程は、少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)と分散情報SSK(p,3)とを用いて情報処理装置PC(p)の秘密鍵SK(p)を復元する過程であり、読み込み過程は、情報処理装置PC(q)の外部読み込み部が、第2情報記録媒体から分散情報SSK(q,3)を読み込む過程をさらに有し、情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて情報処理装置PC(q)の秘密鍵SK(q)を復元する過程は、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)と分散情報SSK(q,3)とを用いて情報処理装置PC(q)の秘密鍵SK(q)を復元する過程である。
【0032】
また、第1,2の本発明において好ましくは、再暗号化過程は、情報処理装置PC(r)の外部読み込み部が、第2情報記録媒体から分散情報SSK(r,3)を読み込む過程をさらに有し、情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて情報処理装置PC(r)の秘密鍵SK(r)を復元する過程は、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)と分散情報SSK(r,3)とを用いて情報処理装置PC(r)の秘密鍵SK(r)を復元する過程である。
【0033】
このように、分散情報を情報記録媒体とは異なる第2情報記録媒体に格納しておき、少なくとも情報処理装置の記憶部に格納された分散情報と、情報記録媒体に格納された分散情報と、第2情報記録媒体に格納された分散情報とを用いて秘密鍵を復元可能な構成としておくことにより、情報処理装置の記憶部の情報と情報記録媒体に格納された情報の両方が第三者に盗聴され、それらの対応関係が第三者に知られた場合であっても、第三者によって直ちに秘密鍵が知られることはない。これにより、よりいっそう安全性が向上する。
【発明の効果】
【0034】
以上のように、本発明では、煩雑な処理を必要とせず、情報処理装置の記憶部に格納された情報が第三者に盗聴された場合であっても、安全に複数の情報処理装置が情報記録媒体を共用できる。
【発明を実施するための最良の形態】
【0035】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【0036】
〔第1の実施形態〕
まず、本発明の第1の実施形態について説明する。
【0037】
<構成>
図1は、本形態の情報記録媒体共用システム1の全体構成を例示した概念図である。
図1に例示するように、情報記録媒体共用システム1は、n(nは2以上の整数)個のパーソナルコンピュータ(以下「PC」と表記する)10−1〜n(「情報処理装置PC(i)(i=1,...,n)」に相当)と、これらのPC10−1〜n間で共用されるUSBメモリ20(「情報記録媒体」に相当)とを具備する。PC10−1〜nは、USBメモリ20へ暗号文を格納し、また、USBメモリ20に格納された暗号文から平文を復号することにより相互に情報を共有する。なお、本形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示するが、本発明はこれに限定されるものではない。
【0038】
図2(a)は、本形態のPC10−i(i=1,...,n)の機能構成を例示したブロック図であり、図2(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
【0039】
図2(a)に示すように、PC10−iは、外部書き込み部11aと、外部読み込み部11bと、内部書き込み部12aと、内部読み込み部12bと、記憶部13と、共通鍵生成部14aと、鍵ペア生成部14b、鍵秘匿化部14cと、共通鍵復元部14dと、暗号化部14eと、復号化部14fと、削除部14gと、アプリケーション実行部14hと、制御部14iと、一時メモリ14jと、秘密鍵分散部14kと、秘密鍵復元部14mと、入力部15と、出力部16とを有している。また、図2(b)に示すように、USBメモリ20は、インタフェース部21と、記憶部22と、制御部23とを有しており、記憶部22は領域22a〜22cを有している。
【0040】
本形態のPC10−iはCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等からなるノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図2(a)に示す機能構成が実現される。
【0041】
具体的には、この例のPC10−iには、OS(Operating System)やアプリケーションソフトウェアがインストールされている。そして、PC10−iのUSBポートにUSBメモリ20が装着・マウントされ、USBメモリ20がPC10−iにマウントされると、USBメモリ20の記憶部22の領域22aからセキュリティプログラムがPC10−iに読み込まれる。そして、PC10−iのCPUがOS上でセキュリティプログラムやアプリケーションソフトウェアを実行することにより、図2(a)の機能構成が実現される。なお、PC10−iがUSBメモリ20からセキュリティプログラムを読み込むのではなく、各PC10−iが他の記録媒体からセキュリティプログラムを読み込む構成であってもよいし、インターネット等を通じてセキュリティプログラムをダウンロードして読み込む構成であってもよい。このような場合には、USBメモリ20にセキュリティプログラムを格納しておかなくてもよい。
【0042】
<処理>
次に本形態の処理を説明する。
本形態の処理は、(1)USBメモリ20を共用するn個のPC10−iをUSBメモリ20に登録する過程(登録過程)、(2)PC10−iがUSBメモリ20に暗号文を書き込む過程(書き込み過程)、(3)PC10−iがUSBメモリ20から暗号文を読み込んで復号する過程(読み込み過程)、(4) USBメモリ20から登録を削除する過程(削除過程)に大別できる。以下、各過程を説明する。
【0043】
[登録過程]
まず、登録過程を説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部14i,23の制御のもと実行され、PC10−i内での各演算で得られる各データは逐一一時メモリ14jに書き込まれ、必要に応じて他の演算のために読み出される。
【0044】
図3〜5は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図11及び図12は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてPC10−1が最初に登録を行い、次にPC10−2が登録申請を行い、PC10−1がそれを承認することによってPC10−2が登録される処理を例示する。
【0045】
まず、前処理としてPC10−1にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名〔ワークグループ名を含む(以下同様)〕とを取得し、それらを示すID(1)を生成してPC10−1の記憶部13(図3(a))に格納する。なお、既にID(1)が既に記憶部13に格納されていた場合には登録過程を実行しない。
【0046】
その後、PC10−1にUSBメモリ20が装着・マウントされると、PC10−1の共通鍵生成部14a(図3(a))が共通鍵KAを生成(例えばランダムに生成)して出力する(ステップS1)。また、PC10−1の鍵ペア生成部14bが、公開鍵暗号方式の秘密鍵SK(1)と公開鍵PK(1)とを生成して出力する(ステップS2)。なお、公開鍵暗号方式としては、例えば、PSEC-KEMやRSA等を例示できる。
【0047】
生成された秘密鍵SK(1)は、PC10−1の秘密鍵分散部14kに入力され、秘密鍵分散部14kは、秘密鍵SK(1)から分散情報SSK(1,1)と分散情報SSK(1,2)を生成して出力する(ステップS3)。分散情報SSK(1,1), SSK(1,2)は、それらから秘密鍵SK(1)を復元可能な値である。以下、このような分散情報を例示する。
【0048】
《分散情報の例1》
分散情報の例1では、秘密鍵SK(1)=SSK(1,1)(+)SSK(1,2)を満たすSSK(1,1),SSK(1,2)を分散情報SSK(1,1),SSK(1,2)とする。なお、α(+)βは、αとβとの排他的論理和演算を意味する。また、このような分散情報SSK(1,1),SSK(1,2)の生成手順としては、例えば、ランダムにSSK(1,1)の値を生成し、SSK(1,2)= SK(1)(+)SSK(1,1)としてSSK(1,2)を求め、SSK(1,1),SSK(1,2)を分散情報SSK(1,1),SSK(1,2)とするか、ランダムにSSK(1,2)の値を生成し、SSK(1,1)= SK(1)(+)SSK(1,2)としてSSK(1,1)を求め、SSK(1,1),SSK(1,2)を分散情報SSK(1,1),SSK(1,2)とする手順を例示できる。
【0049】
このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、SK(1)= SSK(1,1)(+)SSK(1,2)によって可能である。
【0050】
《分散情報の例2》
分散情報の例2では、SSK(1,1)を共通鍵とし、共通鍵暗号方式(CamelliaやAES等)によって秘密鍵SK(1)を暗号化した暗号文をSSK(1,2)とする(方式1)か、SSK(1,2)を共通鍵とし、共通鍵暗号方式によって秘密鍵SK(1)を暗号化した暗号文をSSK(1,1)とする(方式2)。
【0051】
なお、方式1の場合、ランダムにSSK(1,1)の値を生成し、SSK(1,1)を共通鍵としてSK(1)を暗号化して暗号文SSK(1,2)を生成し、分散情報SSK(1,1),SSK(1,2)を生成することができる。また、このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、SSK(1,1)を共通鍵としてSSK(1,2)を復号することによって可能である。
【0052】
一方、方式2の場合、ランダムにSSK(1,2)の値を生成し、SSK(1,2)を共通鍵としてSK(1)を暗号化して暗号文SSK(1,1)を生成し、分散情報SSK(1,1),SSK(1,2)を生成することができる。また、このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、SSK(1,2)を共通鍵としてSSK(1,1)を復号することによって可能である。
【0053】
《分散情報の例3》
分散情報の例3では、公知の秘密分散方法(岡本龍明、山本博資、「現代暗号」、pp.209-219、産業図書、ISBN 4-7828-5353-X(参考文献1)等参照)を用いて、秘密鍵SK(1)を秘密分散した値を分散情報SSK(1,1),SSK(1,2)とする。単純な例としては、秘密鍵SK(1)の上位数ビットを係数aとし、秘密鍵SK(1)の残りの下位ビットを係数bとし、多項式y=a・x+b上の1つの点(x,y)=(x1,y1)を分散情報SSK(1,1)とし、他の点(x,y)=(x2,y2)を分散情報SSK(1,2)とする方法を例示できる。このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、分散情報SSK(1,1)である点(x1,y1)と分散情報SSK(1,2)である点(x2,y2)とを通る多項式y=a・x+bの係数a,bを求め、それらa,bをビット結合して行うことができる(分散情報の例の説明終わり)。
【0054】
PC10−1の秘密鍵分散部14kから出力された分散情報SSK(1,1)は、内部書き込み部12aに送られ、そこからPC10−1の記憶部13に格納される(ステップS4)。秘密鍵分散部14kから出力された分散情報SSK(1,2)は、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21(図3(b))に送られ、そこから記憶部22の領域22bに格納される(ステップS5)。
【0055】
また、共通鍵生成部14aから出力された共通鍵KAと、鍵ペア生成部14bから出力された公開鍵PK(1)とはPC10−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(1)を用いて共通鍵KAを暗号化した暗号文PE(PK(1), KA)を生成し、出力する(ステップS6)。なお、PE(α, β)は、所定の公開鍵暗号方式により、公開鍵αを用いてβを暗号化した暗号文を意味する。
【0056】
上記の公開鍵PK(1)と暗号文PE(PK(1), KA)と内部読み込み部12bから読み込まれたID(1)とは、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21(図3(b))に送られ、そこから記憶部22の領域22bに分散情報SSK(1,2)とともに相互に関連付けられて格納される(ステップS7/PC10−1の登録完了)。
【0057】
次に、当該USBメモリ20がPC10−2に装着・マウントされると、PC10−2にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(2)を生成してPC10−2の記憶部13(図4(a))に格納する。
【0058】
次に、PC10−2の鍵ペア生成部14b(図4(a))が、公開鍵暗号方式の秘密鍵SK(2)と公開鍵PK(2)とを生成し、出力する(ステップS8)。
【0059】
生成された秘密鍵SK(2)は、PC10−2の秘密鍵分散部14kに入力され、秘密鍵分散部14kは、秘密鍵SK(2)から分散情報SSK(2,1)と分散情報SSK(2,2)を生成して出力する(ステップS9)。分散情報SSK(2,1), SSK(2,2)は、それらから秘密鍵SK(2)を復元可能な値である。その具体例は、上述の分散情報SSK(1,1), SSK(1,2)と同様であるため省略する。
【0060】
PC10−2の秘密鍵分散部14kから出力された分散情報SSK(2,1)は、内部書き込み部12aに送られ、そこからPC10−2の記憶部13に格納される(ステップS10)。一方、PC10−2の秘密鍵分散部14kから出力された分散情報SSK(2,2)は、PC10−2の鍵ペア生成部14bで生成された公開鍵PK(2)と、PC10−2の内部読み込み部12bによって記憶部13から読み込まれた識別子ID(2)とともに、その外部書き込み部11aからUSBメモリ20のインタフェース部21(図4(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS11/PC10−2の登録申請)。
【0061】
次に、当該USBメモリ20がPC10−1に装着・マウントされると、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている暗号文PE(PK(1), KA)を読み込み、それをPC10−1の共通鍵復元部14d(図5(a))に送る(ステップS12)。また、PC10−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC10−1の秘密鍵復元部14mに送る(ステップS13)。さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC10−1の秘密鍵復元部14mに送る(ステップS14)。PC10−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC10−1の秘密鍵SK(1)を復元する(ステップS15)。
【0062】
復元された秘密鍵SK(1)は、PC10−1の共通鍵復元部14dに読み込まれる。PC10−1の共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号し〔KA=PD(SK(1), PE(PK(1), KA))〕、共通鍵KAを抽出する(ステップS16)。なお、PD(α, β)は、所定の公開鍵暗号方式により、秘密鍵αを用いてβを復号化した結果値を意味する。
【0063】
さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22a(図5(b))から公開鍵PK(2)を読み込む(ステップS17)。共通鍵KA及び公開鍵PK(2)は、PC10−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(2)を用い、公開鍵暗号方式によって共通鍵KAを暗号化した暗号文PE(PK(2), KA)を生成し、出力する(ステップS18)。暗号文PE(PK(2), KA)は、外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22b(図5(b))に識別子ID(2)と関連付けて格納される(ステップS19/PC10−1による承認完了)。これにより、PC10−2の登録が終了する。
【0064】
その後、PC10−2と同様にその他のPC10−iが登録申請を行い(ステップS8〜S11参照)、PC10−1等の登録済のPC10−t(t=1,...,n)(USBメモリ20に暗号文PE(PK(t), KA)が格納され、自らの記憶部13に秘密鍵SK(t)が格納された何れかのPC10−t)が上述のように承認を行い(ステップS12〜S19参照)、全てのPC10−i(i=1,...,n)の登録がなされる。
【0065】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0066】
図6は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図7は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図13は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC10−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC10−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0067】
まず、PC10−1にUSBメモリ20が装着・マウントされているものとする。この状態で、WordやExcel(登録商標)等のアプリケーションソフトウェアを実行するPC10−1のアプリケーション実行部14h(図6(a))が、平文M(1)の暗号文のUSBメモリ20への書き込み要求を制御部14iに行う。これをトリガとして、PC10−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、これをPC10−1の外部読み込み部11bに送る。当該外部読み込み部11bは、USBメモリ20の記憶部22の領域22b(図6(b))から識別子ID(1)に関連付けられている暗号文PE(PK(1), KA)を読み込む(ステップS21)。当該暗号文PE(PK(1), KA)は、PC10−1の共通鍵復元部14d(図6(a))に送られる。
【0068】
また、これをトリガとして、PC10−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC10−1の秘密鍵復元部14mに送る(ステップS22)。さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC10−1の秘密鍵復元部14mに送る(ステップS23)。PC10−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC10−1の秘密鍵SK(1)を復元する(ステップS24)。
【0069】
復元された秘密鍵SK(1)は、PC10−1の共通鍵復元部14dに送られる。共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出し、共通鍵KAを暗号化部14eに送る(ステップS25)。また、PC10−1のアプリケーション実行部14hは、平文M(1)をその暗号化部14eに送り、当該暗号化部14eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS26)。なお、SE(α, β)は、所定の共通鍵暗号方式により、共通鍵αを用いてβを暗号化した暗号文を意味する。また、共通鍵暗号方式としては、例えばCamelliaやAES等を例示できる。
【0070】
生成された暗号文SE(KA, M(1))は、外部書き込み部11aによって、USBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22c(図6(b))に格納される(ステップS27/書き込み過程終了)。
【0071】
次に、PC10−2にUSBメモリ20が装着・マウントされる。この状態で、PC10−2のアプリケーション実行部14hが、USBメモリ20からの暗号文SE(KA, M(1))の読み込み要求を制御部14iに行うと、まず、PC10−2の外部読み込み部11b(図7(a))が、USBメモリ20の記憶部22の領域22c(図7(b))から暗号文SE(KA, M(1))を読み込み(ステップS28)、さらに、領域22bから暗号文PE(PK(2), KA)を読み込む(ステップS29)。
【0072】
次に、PC10−2の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC10−2の秘密鍵復元部14mに送る(ステップS30)。さらに、PC10−2の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC10−2の秘密鍵復元部14mに送る(ステップS31)。PC10−2の秘密鍵復元部14mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)とを用いてPC10−2の秘密鍵SK(2)を復元する(ステップS32)。
【0073】
復元された秘密鍵SK(2)は、PC10−2の共通鍵復元部14dに送られる。そして、PC10−2の共通鍵復元部14dが、当該秘密鍵SK(2)を用いて暗号文PE(PK(2), KA)を復号して共通鍵KA〔KA=PD(SK(2), PE(PK(2), KA))〕を抽出する(ステップS33)。その後、PC10−2の復号化部14fが、当該共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS34)。なお、SD(α,β)は、共通鍵暗号方式により、共通鍵αによってβを復号化した結果値を意味する。
【0074】
抽出された平文M(1)は、PC10−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0075】
[削除過程]
次に、本形態の削除過程について説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0076】
図8〜10は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図14は、本形態の削除過程を説明するためのシーケンス図である。
【0077】
本形態の削除過程は、単に登録削除対象のPC10−wのデータをUSBメモリ20から削除するだけではなく、これに併せて平文の暗号化に用いる共通鍵KAを再設定し、USBメモリ20に格納されている暗号文も生成し直す。これにより、登録が削除されたPC10−wが、過去に取得した共通鍵KAを用い、USBメモリ20に格納された暗号文を復号できてしまうという事態を防止できる。以下では、PC10−1がUSBメモリ20からPC10−2の登録を削除する例を示す。
【0078】
まず、PC10−1にUSBメモリ20が装着・マウントされているものとする。この状態で、利用者が登録削除対象を例えば以下のように指定する。まず、外部読み込み部11bがUSBメモリ20の記憶部22の領域22bから全ての識別子ID(i)を読み込み、それらが示すホスト名及びユーザ名を出力部16から出力する(例えば、画面上に表示する)。利用者は、出力されたホスト名及びユーザ名を参照しながら、削除対象のホスト名及びユーザ名を入力部15から入力する。この例では識別子ID(2)に対応するホスト名及びユーザ名が入力されたものにする。制御部14iは、この入力結果に基づき以下のように削除過程を実行させる。
【0079】
まず、PC10−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、外部読み込み部11b(図8(a))に送る。当該外部読み込み部11b(図8(a))は、USBメモリ20の記憶部22の領域22b(図8(b))から識別子ID(1)に関連付けられた暗号文PE(PK(1), KA)を読み込む(ステップS41)。
【0080】
また、PC10−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC10−1の秘密鍵復元部14mに送る(ステップS42)。さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC10−1の秘密鍵復元部14mに送る(ステップS43)。PC10−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC10−1の秘密鍵SK(1)を復元する(ステップS44)。
【0081】
復元された秘密鍵SK(1)は、PC10−1の共通鍵復元部14dに送られる。共通鍵復元部14dは、当該秘密鍵SK(1)を用い、USBメモリ20から読み込まれた暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出する(ステップS45)。また、PC10−1の共通鍵生成部14aが、新たな共通鍵KAnewを生成する(ステップS46)。
【0082】
また、PC10−1の外部読み込み部11bが、USBメモリ20からPC10−iに対応する暗号文SE(KA, M(i))(i=1,...,n)を読み込む(ステップS47)。PC10−1の復号化部14fは、共通鍵復元部14dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS48)。
【0083】
次に、PC10−1の暗号化部14eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部14eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS49)。各暗号文SE(KAnew, M(i))は、PC10−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該暗号文SE(KAnew, M(i))をUSBメモリ20のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図8(b))に格納する(ステップS50)。
【0084】
また、PC10−1の外部読み込み部11b(図9(a))が、USBメモリ20から各PC10−s(s=1,...,n、s≠2)に対応する公開鍵PK(s)を読み込み(ステップS51)、それらをPC10−1の鍵秘匿化部14に送る。そして、当該鍵秘匿化部14cは、読み込まれた各公開鍵PK(s)を用い、共通鍵生成部14aで新たに生成された(ステップS46)共通鍵KAnewを公開鍵暗号方式によって暗号化し、暗号文PE(PK(s), KAnew)を生成する(ステップS52)。各暗号文PE(PK(s), KAnew)は、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られる。当該インタフェース部21は、各暗号文PE(PK(s), KAnew)を、USBメモリ20の記憶部22の領域22bに、それぞれ識別子ID(s)と対応付けて格納(図9(b))する(ステップS53)。
【0085】
次に、PC10−1の削除部14g(図10(a))が削除命令を出し、これを受けた外部書き込み部11aは、USBメモリ20の記憶部22の領域22c(図9(b))から暗号文SE(KA, M(i))を削除し、領域22bからPE(PK(i), KA)、識別子ID(2)、公開鍵PK(2)、分散情報SSK(2,2)を削除(図10(b))する(ステップS54)。
【0086】
<本形態の特徴>
以上のように、本形態では、秘密鍵の分散情報をPCとUSBメモリとに分散して格納することとしたため、PCに格納された情報が第三者に盗聴された場合であっても、直ちに秘密鍵が第三者に知られることはない。これにより安全性を向上させることができる。また、本形態では、PC間で事前に共通鍵を共有するための煩雑な処理は不要である。また、本形態の処理の場合、共通鍵のデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。さらに、本発明では、平文の暗号文を復号するための共通鍵をUSBメモリに格納するのではなく、共通鍵を公開鍵によって暗号化した暗号文をUSBメモリに格納しておく。そのため、弟三者が当該USBメモリを取得したり、当該USBメモリからデータを読み取ったりした場合でも、当該第三者は、平文の暗号文を復号することができない。
【0087】
なお、第1の実施形態では、鍵ペアSK(1),PK(1)を生成(ステップS2)した後に、秘密鍵SK(1)の分散情報SSK(1,1)及びSSK(1,2)を生成(ステップS3)することとした。しかし、鍵ペアSK(i),PK(i)を生成する過程で分散情報SSK(i,1)及びSSK(i,2)を生成してもよい。具体的には、例えば、ランダムに分散情報SSK(i,1)及びSSK(i,2)生成し、それらを用いて秘密鍵SK(i)を生成し、生成した秘密鍵SK(i)を用いて公開鍵PK(i)を生成してもよい。なお、分散情報SSK(i,1)及びSSK(i,2)からの秘密鍵SK(i)の生成方式としては、例えば、SK(i)= SSK(i,1)(+)SSK(i,2)とする方式、SSK(i,1)を共通鍵としてSSK(i,2)を暗号化した暗号文をSK(i)とする方式、その逆にSSK(i,2)を共通鍵としてSSK(i,1)を暗号化した暗号文をSK(i)とする方式、SSK(i,1)及びSSK(i,2)のビット結合値SSK(i,1)|SSK(i,2)のハッシュ値H(SSK(i,1)|SSK(i,2))を秘密鍵SK(i)とする方式等を例示できる。
【0088】
また、分散情報SSK(i,1)及びSSK(i,2)のみによって秘密鍵SK(i)を復元するのではなく、分散情報SSK(i,1)及びSSK(i,2)とその他の情報(PCの固有値等)とによって秘密鍵SK(i)を復元する構成であってもよい。例えば、その他の情報Aを用い、SK(i)= SSK(i,1)(+)SSK(i,2)(+)Aとする方式、SSK(i,1)を共通鍵としてSSK(i,2)|Aを暗号化した暗号文をSK(i)とする方式、その逆にSSK(i,2)|Aを共通鍵としてSSK(i,1)を暗号化した暗号文をSK(i)とする方式、SSK(i,1)、SSK(i,2)及びAのビット結合値SSK(i,1)|SSK(i,2)|Aのハッシュ値H(SSK(i,1)|SSK(i,2)|A)を秘密鍵SK(i)とする方式等を例示できる。
【0089】
また、本形態では、USBメモリに格納にする分散情報SSK(i,2)をPC-i毎に設定することとしたが、複数のPC-iに共通の分散情報SSK(i,2)を用いる構成としてもよく、全てのPC-iに共通の分散情報SSK(i,2)を用いる構成としてもよい。
【0090】
また、各情報処理装置は必ずしも1つの筐体内に構成される必要はない。例えば、公開鍵と秘密鍵との鍵ペアを生成する鍵ペア生成部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の鍵ペア生成部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの鍵ペア生成部を相互に共用する構成であってもよい。同様に、秘密鍵分散部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の秘密鍵分散部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの秘密鍵分散部を相互に共用する構成であってもよい。
【0091】
〔第2の実施形態〕
次に、本発明の第2の実施形態について説明する。本形態は第1の実施形態の変形例であり、PC-i(「情報処理装置」に相当)の記憶部に格納された分散情報SSK(i,1)と、USBメモリ(「情報記録媒体」に相当)に格納された分散情報SSK(i,2)と、サーバ装置120の120のハードディスク122(「第2情報記録媒体」に相当)に格納された分散情報SSK(i,3)とから秘密鍵SK(i)を復元する形態である。以下では、第1の実施形態との相違点を中心に説明を行い、第1の実施形態と共通する事項については説明を省略する。
【0092】
<構成>
図15は、本形態の情報記録媒体共用システム100の全体構成を例示した概念図である。なお、以下、第1の実施形態との共通部分については第1の実施形態と同じ符号を付す。
【0093】
図15に例示するように、情報記録媒体共用システム1は、n(nは2以上の整数)個のPC110−1〜n(「情報処理装置PC(i)(i=1,...,n)」に相当)と、これらのPC110−1〜n間で共用されるUSBメモリ20(「情報記録媒体」に相当)と、ハードディスク122(「第2情報記録媒体」に相当)を具備するサーバ装置120とを具備する。PC110−1〜nは、USBメモリ20へ暗号文を格納し、また、USBメモリ20に格納された暗号文から平文を復号することにより相互に情報を共有する。また、サーバ装置120は、ネットワークを通じてPC110−1〜nと通信可能に構成され、各PC110−1〜nの外部書き込み部11aは、サーバ装置120のハードディスク122にデータの書き込みが可能なように構成され、外部読み込み部11bは、サーバ装置120のハードディスク122からデータの読み込みが可能なように構成される。
【0094】
なお、本形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示し、第2情報記録媒体の一例としてハードディスクを例示するが、本発明はこれに限定されるものではない。
【0095】
図16(a)は、本形態のPC110−i(i=1,...,n)の機能構成を例示したブロック図であり、図16(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
【0096】
図16(a)に示すように、本形態のPC110−iは、第1の実施形態のPC10−iの秘密鍵分散部14kが秘密鍵分散部114kに置換され、秘密鍵復元部14mが秘密鍵復元部114mに置換された構成である。また、図16(b)に示すように、本形態のUSBメモリ20の機能構成は第1の実施形態と同様であるが、記憶部22に格納されるデータが相違する。
【0097】
図17は、本形態のサーバ装置120の機能構成を例示したブロック図である。
図17に例示するように、本形態のサーバ装置120は、インタフェース部121と、ハードディスク122と制御部123とを有している。本形態のサーバ装置120は、CPU、RAM、ROM、LANカード等からなる、通信機能を備えたノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図17に示す機能構成が構築される。
【0098】
<処理>
次に本形態の処理を説明する。
本形態の処理も、(1)登録過程、(2)書き込み過程、(3)読み込み過程、(4)削除過程に大別できる。以下、各過程を説明する。
【0099】
[登録過程]
まず、登録過程を説明する。図18〜20は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図24及び図25は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてPC110−1が最初に登録を行い、次にPC110−2が登録申請を行い、PC110−1がそれを承認することによってPC110−2が登録される処理を例示する。
【0100】
まず、PC110−1が第1の実施形態のステップS1,S2と同じ処理を実行する。次に、ステップS2で生成された秘密鍵SK(1)は、PC110−1の秘密鍵分散部114kに入力され、秘密鍵分散部114kは、秘密鍵SK(1)から分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)を生成して出力する(ステップS101)。分散情報SSK(1,1), SSK(1,2), SSK(1,3)は、それらから秘密鍵SK(1)を復元可能な値である。以下に、このような分散情報SSK(1,1), SSK(1,2), SSK(1,3)の具体例を示す。
【0101】
《分散情報の例4》
分散情報の例4では、秘密鍵SK(1)= SSK(1,1)(+)SSK(1,2)(+)SSK(1,3)を満たすSSK(1,1),SSK(1,2),SSK(1,3)を分散情報SSK(1,1),SSK(1,2),SSK(1,3)とする。
【0102】
このような分散情報SSK(1,1),SSK(1,2), SSK(1,3)の生成手順としては、例えば、ランダムにSSK(1,1)とSSK(1,2)の値を生成し、SSK(1,3)= SK(1)(+)SSK(1,1)(+)SSK(1,3)としてSSK(1,3)を求め、SSK(1,1),SSK(1,2),SSK(1,3)を分散情報SSK(1,1),SSK(1,2),SSK(1,3)とする手順を例示できる。
【0103】
このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、SK(1)= SSK(1,1)(+)SSK(1,2)(+)SSK(1,3)によって可能である。
【0104】
《分散情報の例5》
分散情報の例5では、SSK(1,1)とSSK(1,2)とのビット結合値SSK(1,1)|SSK(1,2)を共通鍵とし、共通鍵暗号方式によって秘密鍵SK(1)を暗号化した暗号文をSSK(1,3)とする。この場合、ランダムにSSK(1,1),SSK(1,2)の値を生成し、ビット結合値SSK(1,1)|SSK(1,2)を共通鍵としてSK(1)を暗号化して暗号文SSK(1,3)を生成し、分散情報SSK(1,1),SSK(1,2),SSK(1,3)を生成することができる。また、このような分散情報SSK(1,1),SSK(1,2),SSK(1,3)からの秘密鍵SK(1)の復元は、ビット結合値SSK(1,1)|SSK(1,2)を共通鍵としてSSK(1,3)を復号することによって可能である。
【0105】
《分散情報の例6》
分散情報の例6では、公知の秘密分散方法(参考文献1)を用いて、秘密鍵SK(1)を秘密分散した値を分散情報SSK(1,1),SSK(1,2),SSK(1,3)とする(分散情報の例の説明終わり)。
【0106】
PC110−1の秘密鍵分散部114kから出力された分散情報SSK(1,1)は、内部書き込み部12aに送られ、そこからPC110−1の記憶部13に格納される(ステップS102)。秘密鍵分散部114kから出力された分散情報SSK(1,2)は、PC110−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21(図18(b))に送られ、そこから記憶部22の領域22bに格納される(ステップS103)。また、秘密鍵分散部114kから出力された分散情報SSK(1,3)は、PC110−1の外部書き込み部11aによってサーバ装置120のインタフェース部121(図18(c))に送られ、そこからハードディスク122に格納される(ステップS104)。
【0107】
その後、PC110−1とUSBメモリ20とPC110−2が、第1の実施形態のステップS6〜S8と同じ処理が実行される。
【0108】
次に、ステップS8で生成された秘密鍵SK(2)が、PC110−1の秘密鍵分散部114kに入力され、秘密鍵分散部114kは、秘密鍵SK(2)から分散情報SSK(2,1)と分散情報SSK(2,2)と分散情報SSK(2,3)とを生成して出力する(ステップS105)。分散情報SSK(2,1), SSK(2,2), SSK(2,3)は、それらから秘密鍵SK(2)を復元可能な値である。その具体例は、上述の分散情報SSK(1,1), SSK(1,2), SSK(1,3)と同様であるため省略する。
【0109】
PC110−2の秘密鍵分散部114kから出力された分散情報SSK(2,1)は、内部書き込み部12aに送られ、そこからPC110−2の記憶部13に格納される(ステップS106)。また、PC110−2の秘密鍵分散部114kから出力された分散情報SSK(2,2)は、PC110−2の鍵ペア生成部14bで生成された公開鍵PK(2)と、PC110−2の内部読み込み部12bによって記憶部13から読み込まれた識別子ID(2)とともに、その外部書き込み部11aからUSBメモリ20のインタフェース部21(図19(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS107)。一方、PC110−2の秘密鍵分散部114kから出力された分散情報SSK(2,3)は、PC110−2の外部書き込み部11aによってサーバ装置120のインタフェース部121(図19(c))に送られ、そこからハードディスク122に格納される(ステップS108/PC110−2の登録申請)。
【0110】
次に、PC110−1とUSBメモリ20とによって第1の実施形態のステップS12と同じ処理が実行された後、PC110−1(図20(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC110−1の秘密鍵復元部114mに送る(ステップS109)。さらに、PC110−1の外部読み込み部11bが、USBメモリ20(図20(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS110)。また、PC110−1の外部読み込み部11bが、サーバ装置120(図20(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS111)。
【0111】
PC110−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC110−1の秘密鍵SK(1)を復元する(ステップS112)。
【0112】
復元された秘密鍵SK(1)は、PC110−1の共通鍵復元部14dに読み込まれ、その後、PC110−1とUSBメモリ20とによって第1の実施形態のステップS16〜S19と同じ処理が実行される。
【0113】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。
図21は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図22は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図26は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC110−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC110−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0114】
PC110−1とUSBメモリ20とによって第1の実施形態のステップS21と同じ処理が実行された後、PC110−1(図21(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC110−1の秘密鍵復元部114mに送る(ステップS121)。さらに、PC110−1の外部読み込み部11bが、USBメモリ20(図21(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS122)。また、PC110−1の外部読み込み部11bが、サーバ装置120(図21(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS123)。PC110−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC110−1の秘密鍵SK(1)を復元する(ステップS124)。
【0115】
その後、PC110−1とUSBメモリ20とPC110−2とによって、第1の実施形態のステップS25〜S29と同じ処理を実行する。
【0116】
次に、PC110−2(図22(a))の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC110−2の秘密鍵復元部114mに送る(ステップS125)。さらに、PC110−2の外部読み込み部11bが、USBメモリ20(図22(b))の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC110−2の秘密鍵復元部114mに送る(ステップS126)。また、PC110−2の外部読み込み部11bが、サーバ装置120(図22(c))のハードディスク122から、識別子ID(2)に関連付けられている分散情報SSK(2,3)を読み込み、それをPC110−2の秘密鍵復元部114mに送る(ステップS127)。PC110−2の秘密鍵復元部114mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)と分散情報SSK(2,3)とを用いてPC110−2の秘密鍵SK(2)を復元する(ステップS128)。
【0117】
その後、PC110−2によって、第1の実施形態のステップS33〜S34と同じ処理が実行される。
【0118】
[削除過程]
次に、本形態の削除過程について説明する。
図23は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図27は、本形態の削除過程を説明するためのシーケンス図である。
【0119】
PC110−1とUSBメモリ20とによって第1の実施形態のステップS41と同じ処理が実行された後、PC110−1(図23(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC110−1の秘密鍵復元部114mに送る(ステップS131)。さらに、PC110−1の外部読み込み部11bが、USBメモリ20(図23(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS132)。また、PC110−1の外部読み込み部11bが、サーバ装置120(図23(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS133)。PC110−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC110−1の秘密鍵SK(1)を復元する(ステップS134)。
【0120】
その後、PC110−1とUSBメモリ20とによって、第1の実施形態のステップS45〜S54と同じ処理が実行される。
【0121】
<本形態の特徴>
以上のように、本形態では、秘密鍵の分散情報をPCとUSBメモリとサーバ装置のハードディスクとに分散して格納することとしたため、より安全性を向上させることができる。
【0122】
なお、第2の実施形態では、秘密鍵の分散情報をPCとUSBメモリとサーバ装置のハードディスクとに分散して格納することとしたが、秘密鍵の分散情報をPCと複数のUSBメモリとに分散して格納することとしてもよいし、複数のサーバ装置のハードディスクに分散して格納することとしてもよい。さらには、秘密鍵の分散情報をPCと複数のUSBメモリと複数のサーバ装置のハードディスクとに分散して格納することとしてもよい。
【0123】
また、第2の実施形態では、鍵ペアSK(1),PK(1)を生成(ステップS2)した後に、秘密鍵SK(1)の分散情報SSK(1,1),SSK(1,2)及びSSK(1,3)を生成(ステップS101)することとした。しかし、鍵ペアSK(i),PK(i)を生成する過程で分散情報SSK(1,1),SSK(1,2)及びSSK(1,3)を生成してもよい。具体的には、例えば、ランダムに分散情報SSK(1,1),SSK(1,2)及びSSK(1,3)生成し、それらを用いて秘密鍵SK(i)を生成し、生成した秘密鍵SK(i)を用いて公開鍵PK(i)を生成してもよい。なお、SSK(1,1),SSK(1,2)及びSSK(1,3)からの秘密鍵SK(i)の生成方式としては、例えば、SK(i)= SSK(i,1)(+)SSK(i,2)(+)SSK(i,3)とする方式、ビット結合値SSK(i,1)|SSK(i,2)を共通鍵としてSSK(i,3)を暗号化した暗号文をSK(i)とする方式、SSK(i,1)を共通鍵としてビット結合値SSK(i,2)|SSK(i,3)を暗号化した暗号文をSK(i)とする方式、SSK(1,1),SSK(1,2)及びSSK(1,3)のビット結合値SSK(i,1)|SSK(i,2)|SSK(i,3)のハッシュ値H(SSK(i,1)|SSK(i,2)|SSK(i,3))を秘密鍵SK(i)とする方式等を例示できる。
【0124】
また、散情報SSK(1,1),SSK(1,2)及びSSK(1,3)のみによって秘密鍵SK(i)を復元するのではなく、散情報SSK(1,1),SSK(1,2)及びSSK(1,3)とその他の情報(PCの固有値等)とによって秘密鍵SK(i)を復元する構成であってもよい。例えば、その他の情報Aを用い、SK(i)= SSK(i,1)(+)SSK(i,2)(+)SSK(i,3)(+)Aとする方式、SSK(i,1)を共通鍵としてSSK(i,2)|SSK(i,3)|Aを暗号化した暗号文をSK(i)とする方式、SSK(i,2)|SSK(i,3)|Aを共通鍵としてSSK(i,1)を暗号化した暗号文をSK(i)とする方式、SSK(i,1)、SSK(i,2)、SSK(i,3)及びAのビット結合値SSK(i,1)|SSK(i,2)|SSK(i,3)|Aのハッシュ値H(SSK(i,1)|SSK(i,2)|SSK(i,3)|A)を秘密鍵SK(i)とする方式等を例示できる。
【0125】
また、本形態では、USBメモリに格納にする分散情報SSK(i,2)をPC-i毎に設定することとしたが、複数のPC-iに共通の分散情報SSK(i,2)を用いる構成としてもよく、全てのPC-iに共通の分散情報SSK(i,2)を用いる構成としてもよい。同様に、本形態では、サーバ装置のハードディスクに格納にする分散情報SSK(i,3)をPC-i毎に設定することとしたが、複数のPC-iに共通の分散情報SSK(i,3)を用いる構成としてもよく、全てのPC-iに共通の分散情報SSK(i,3)を用いる構成としてもよい。
【0126】
また、各情報処理装置は必ずしも1つの筐体内に構成される必要はない。例えば、公開鍵と秘密鍵との鍵ペアを生成する鍵ペア生成部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の鍵ペア生成部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの鍵ペア生成部を相互に共用する構成であってもよい。同様に、秘密鍵分散部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の秘密鍵分散部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの秘密鍵分散部を相互に共用する構成であってもよい。
【0127】
〔第3の実施形態〕
次に、本発明の第3の実施形態について説明する。本形態は第1の実施形態の変形例であり、公開鍵暗号方式としてID-BASE暗号(IBE: Identity Based Encryption)を用いることにより、登録過程の処理を簡略化可能な形態である。以下、第1の実施形態との相違点を中心に説明を行う。なお、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(参考文献2)」等参照。
【0128】
<構成>
図28は、本形態の情報記録媒体共用システム200の全体構成を例示した概念図である。
【0129】
図28に例示するように、情報記録媒体共用システム200は、n(nは2以上の整数)個のPC210−1〜n(「情報処理装置PC(i)(i∈{1,...,n}」に相当)と、これらのPC210−1〜n間で共用されるUSBメモリ20(「情報記録媒体」に相当)と、ID-BASE暗号用の鍵を生成するID−BASE鍵生成装置230とを具備する。
【0130】
PC210−1〜nは、USBメモリ20へ暗号文を格納し、また、USBメモリ20に格納された暗号文から平文を復号することにより相互に情報を共有する。また、本形態のPC210−1〜nとID−BASE鍵生成装置230とは、専用回線又は通信情報の暗号化によって安全性が確保された通信経路によって接続されている。
【0131】
図29(a)は、本形態のPC210−i(i∈{1,...,n})の機能構成を例示したブロック図であり、図29(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
【0132】
図29(a)に示すように、PC210−iと第1の実施形態のPC10−iとの相違点は、PC210−iが鍵ペア生成部14b及び秘密鍵分散部14kを具備せず、通信部17を具備し、鍵秘匿化部14cが鍵秘匿化部114cに置換され、共通鍵復元部14dが共通鍵復元部214dに置換された点である。また、図29(b)に示すように、本形態のUSBメモリ20の機能構成は第1の実施形態と同様であるが、記憶部22に格納されるデータが相違する。
【0133】
図30は、本形態のID−BASE鍵生成装置230の機能構成を例示したブロック図である。
【0134】
図30に示すように、ID−BASE鍵生成装置230は、乱数生成部231aと、パラメータ設定部231bと、スカラー倍算部231cと、制御部231dと、一時メモリ231eと、秘密鍵分散部231kと、内部書き込み部232aと、内部読み込み部232bと、記憶部233と、通信部234とを有している。本形態のID−BASE鍵生成装置230はCPU、RAM、ROM、LANカード等からなる、通信機能を備えたノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図30に示す機能構成が構築される。
【0135】
<処理>
次に本形態の処理を説明する。
本形態の処理は、(1)マスター公開鍵MPSや秘密鍵SK(i)を各PC210−iに配送する過程(鍵配送過程)、(2)USBメモリ20を共用するn個のPC210−iを、USBメモリ20に登録する過程(登録過程)、(3)PC210−iがUSBメモリ20に暗号文を書き込む過程(書き込み過程)、(4)PC210−iがUSBメモリ20から暗号文を読み込んで復号する過程(読み込み過程)、(5)USBメモリ20から登録を削除する過程(削除過程)に大別できる。以下、各過程を説明する。
【0136】
[鍵配送過程]
まず、鍵配送過程を説明する。
鍵配送過程では、ID-BASE鍵生成装置230が、公知のID-BASE暗号アルゴリズム(例えば、参考文献2参照)に従い、すべてのPC210−iに対して共通のマスター公開鍵MPKと、各PC210−i固有の秘密鍵SK(i)とを生成する。そして、各秘密鍵SK(i)の分散情報SSK(i,1)及びSSK(i,2)を生成し、マスター公開鍵MPKと分散情報SSK(i,1)及びSSK(i,2)との配送を行う。以下にこの処理の一例を説明する。
【0137】
《鍵生成処理の一例》
まず、ID−BASE鍵生成装置230(図30)の乱数生成部231aが楕円曲線E上の点(sx,sy)をランダムに定める。内部書き込み部232aは、当該点(sx,sy)の情報を、マスター秘密鍵MSKとして、ID−BASE鍵生成装置230の記憶部233に安全に格納する。また、ID−BASE鍵生成装置230のパラメータ設定部231bが整数パラメータPを定める。そして、スカラー倍算部231cがマスター秘密鍵MSKを楕円曲線E上でP倍したスカラー倍算値P・MSK(楕円曲線E上の点)を算出する。なお、楕円曲線上でのスカラー倍算には、例えは、二進展開法や窓NAF法等の公知の楕円スカラー倍算方法を用いる。そして、ID−BASE鍵生成装置230の内部書き込み部232aは、MPK=(P, P・MSK)をマスター公開鍵として記憶部233に格納する。
【0138】
また、ID−BASE鍵生成装置30の内部読み込み部232bが、記憶部233から、マスター公開鍵MPKと予め格納しておいた各PC210−i固有の情報である識別情報ID(i)とを読み込み、スカラー倍算部231cに送る。スカラー倍算部231cは、各識別情報ID(i)とマスター秘密鍵MSKとを用い、楕円曲線E上でマスター秘密鍵MSKをID(i)倍したスカラー倍算値ID(i)・MSK(楕円曲線E上の点)を求める。ID−BASE鍵生成装置230の内部書き込み部232aは、その演算結果を各PC210−i固有の秘密鍵SK(i)として記憶部233に格納する。
【0139】
また、ID−BASE鍵生成装置30の内部読み込み部232bが、記憶部233から各PC210−i固有の秘密鍵SK(i)を読み込み、秘密鍵分散部231kに送る。秘密鍵分散部231kは、秘密鍵SK(i)から分散情報SSK(i,1),SSK(i,2)を生成する。
【0140】
そして、ID−BASE鍵生成装置230の通信部234は、上述の例のように生成したマスター公開鍵MPKと分散情報SSK(i,1)とを、各SSK(i,1)に対応する各PC210−iに送信する。各PC210−iは、マスター公開鍵MPKと分散情報SSK(i,1)とを受信し、自らの記憶部13に格納する。さらに、ID−BASE鍵生成装置230の通信部234は、上述の例のように生成した全ての分散情報SSK(i,2)を、登録処理を行うPC210−1に送信する。PC210−1は、全ての分散情報SSK(i,2)を受信し、自らの記憶部13に格納する(《鍵生成処理の一例》の説明終わり)。
【0141】
[登録過程]
次に、登録過程を説明する。
図31は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図37は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、PC210−1がPC210−1とPC210−2との登録処理を行う例を示す。また、各処理の前提としてPC210−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0142】
まず、PC210−1にUSBメモリ20が装着・マウントされると、PC210−1の出力部16は、登録を行うPC210−iの識別情報ID(i)の入力指示表示を行う。利用者は、この入力指示に従い、入力部15(図31(a))に対し、登録を行うPC210−iの識別情報ID(i)を入力する。本形態の例では、PC210−1,2の識別情報ID(1), ID(2)が入力部15に入力され、これらが記憶部13に格納される(ステップS201)。
【0143】
次に、PC210−1の共通鍵生成部14aが共通鍵KAを生成(例えばランダムに生成)して出力する(ステップS202)。また、内部読み込み部12bが、記憶部13からマスター公開鍵MPKと識別情報ID(1), ID(2)とを読み込む。共通鍵KAとマスター公開鍵MPKと識別情報ID(1), ID(2)とは、鍵秘匿化部214cに入力される。鍵秘匿化部214cは、マスター公開鍵MPKと識別情報ID(1), ID(2)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(1), KA),IBE(MPK, ID(2), KA)を生成する(ステップS203)。以下に、前述の《鍵生成処理の一例》で生成されたマスター公開鍵MPKを用いた場合のステップS203の処理を例示する。なお、この例の識別情報ID(i)は整数であり、例えば、メールアドレスの文字列を数値表現した情報である。
【0144】
《ステップS203の処理の一例》
まず、鍵秘匿化部214cの乱数生成部214ca(図31(a))が前述の楕円曲線E上の点r=(rx,ry)をランダムに定め、鍵秘匿化部214cのスカラー倍算部214cbが楕円曲線E上の点rを楕円曲線E上でID(i)倍したスカラー倍算値ID(i)・r(楕円曲線E上の点)を算出する。さらに、鍵秘匿化部214cのスカラー倍算部214cbは、楕円曲線E上の点rを楕円曲線E上でP(Pはマスター公開鍵MPKの一部)倍したスカラー倍算値P・r(楕円曲線E上の点)を算出する。
【0145】
次に、鍵秘匿化部214cのペアリング演算部214ccが、公知のペアリング関数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)の関係を満たす(参考文献2や「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81(参考文献3)」等参照)。次に、鍵秘匿化部214cの共通鍵暗号部14cdが、関数値CK(i)を鍵とし、共通鍵暗号方式(CamelliaやAES等)によって共通鍵KAを暗号化し、その暗号文CE(CK(i),KA)とスカラー倍算値P・rとの組を暗号文IBE(MPK, ID(i), KA)=(CE(CK(i),KA), P・r)として出力する(《ステップS203の処理の一例》の説明終わり)。
【0146】
また、PC210−1の内部読み込み部12bは記憶部13からさらに分散情報SSK(1,2), SSK(2,2)を読み込み、分散情報SSK(1,2), SSK(2,2)と識別情報ID(1),ID(2)と暗号文IBE(MPK, ID(1), KA) ,IBE(MPK, ID(2), KA)とは、外部書き込み部11aに送られる。外部書き込み部11aは、これらをUSBメモリ20のインタフェース部21(図31(b))に送り、インタフェース部21は、識別情報ID(1)と暗号文IBE(MPK, ID(1), KA)と分散情報SSK(1,2)とを関連付け、識別情報ID(2)と暗号文IBE(MPK, ID(2), KA)と分散情報SSK(2,2)とを関連付け、それらを記憶部22の領域22bに格納する(ステップS204)。これらの情報がUSBメモリ20に格納されると、PC210−1の内部書き込み部12aは、記憶部13から分散情報SSK(1,2), SSK(2,2)を削除する。
【0147】
以上により、PC210−1,2の登録が終了する。なお、説明の簡略化のため、ここではPC210−1,2の登録のみを行う場合を例示した。しかし、同様な方法によりPC210−1がその他のPC210−iの登録を行うことも可能である。以下では、全てのPC210−i(i∈{1,...,n})が登録され、各識別情報ID(i)と暗号文IBE(MPK, ID(i), KA)と分散情報SSK(i,2)がUSBメモリ20の記憶部22の領域22bに格納されたものとする。
【0148】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。
図32は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図33は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図38は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC210−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC210−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0149】
まず、PC210−1にUSBメモリ20が装着・マウントされているものとする。この状態で、WordやExcel(登録商標)等のアプリケーションソフトウェアを実行するPC210−1のアプリケーション実行部14h(図32(a))が、制御部14iに対し、平文M(1)の暗号文のUSBメモリ20への書き込み要求を行う。これをトリガとして、PC210−1の内部読み込み部12bが記憶部13から識別情報ID(1)を読み込み、これをPC210−1の外部読み込み部11bに送る。当該外部読み込み部11bは、USBメモリ20の記憶部22の領域22b(図32(b))から、識別情報ID(1)に関連付けられている暗号文IBE(MPK, ID(1), KA)を読み込む(ステップS211)。
【0150】
当該暗号文IBE(MPK, ID(1), KA)は、PC210−1の共通鍵復元部214d(図32(a))に送られる。また、これをトリガとして、PC210−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC210−1の秘密鍵復元部14mに送る(ステップS212)。さらに、PC210−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC210−1の秘密鍵復元部14mに送る(ステップS213)。PC210−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC210−1の秘密鍵SK(1)を復元する(ステップS214)。
【0151】
復元された秘密鍵SK(1)は共通鍵復元部214dに送られる。共通鍵復元部214dは、秘密鍵SK(1)を用いて暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), IBE(MPK, ID(1), KA))〕を抽出し、共通鍵KAを暗号化部14eに送る(ステップS215)。以下に《ステップS203の処理の一例》で暗号化された暗号文IBE(MPK, ID(1), KA)の復号処理を例示する。
【0152】
《ステップS215の処理の一例》
この例では、まず、共通鍵復元部214dのペアリング演算部214da(図32(a))が、前述のペアリング関数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)を満たす。次に、共通鍵復元部214dの共通鍵復号部214dbが、このPair(P・r, ID(1)・MSK)= CK(i)を用い、暗号文IBE(MPK, ID(i), KA)=(CE(CK(i),KA), P・r) の一部であるCE(CK(i),KA)を復号してKAを抽出する(《ステップS215の処理の一例》の説明終わり)。
【0153】
また、PC210−1のアプリケーション実行部14hは、平文M(1)をその暗号化部14eに送り、当該暗号化部14eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS216)。
【0154】
生成された暗号文SE(KA, M(1))は、外部書き込み部11aによって、USBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22c(図32(b))に格納される(ステップS217/書き込み過程終了)。
【0155】
次に、PC210−2にUSBメモリ20が装着・マウントされる。この状態で、PC210−2のアプリケーション実行部14hは、制御部14iに対し、暗号文SE(KA, M(1))のUSBメモリ20からの読み込み要求を行う。これをトリガとして、制御部14iはPC210−2の外部読み込み部11b(図33(a))に指示を与え、PC210−2の外部読み込み部11bは、USBメモリ20の記憶部22の領域22c(図33(b))から暗号文SE(KA, M(1))を読み込み(ステップS218)、さらに、領域22bから暗号文IBE(MPK, ID(2), KA)を読み込む(ステップS219)。
【0156】
次に、PC210−2の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC210−2の秘密鍵復元部14mに送る(ステップS220)。さらに、PC210−2の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC210−2の秘密鍵復元部14mに送る(ステップS221)。PC210−2の秘密鍵復元部14mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)とを用いてPC210−2の秘密鍵SK(2)を復元する(ステップS222)。
【0157】
次に、PC210−2の共通鍵復元部214dが、復元された秘密鍵SK(2)を用いて暗号文IBE(MPK, ID(2), KA)を復号して共通鍵KA〔KA=PD(SK(2), IBE(MPK, ID(2), KA))〕を抽出する(ステップS223)。その後、PC210−2の復号化部14fが、当該共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS224)。
【0158】
抽出された平文M(1)は、PC210−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0159】
[削除過程]
次に、本形態の削除過程について説明する。
図34〜36は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図39は、本形態の削除過程を説明するためのシーケンス図である。
【0160】
本形態の削除過程は、単に登録削除対象のPC210−wのデータをUSBメモリ20から削除するだけではなく、これと併せて平文の暗号化に用いる共通鍵KAを再設定し、USBメモリ20に格納されている暗号文も生成し直す。これにより、登録が削除されたPC210−wが、過去に取得した共通鍵KAを用い、USBメモリ20に格納された暗号文を復号できてしまうという事態を防止できる。以下では、PC210−1がUSBメモリ20からPC210−2の登録を削除する例を示す。
【0161】
まず、PC210−1にUSBメモリ20が装着・マウントされているものとする。この状態で、利用者が登録削除対象を例えば以下のように指定する。まず、外部読み込み部11bがUSBメモリ20の記憶部22の領域22bから全ての識別情報ID(i)を読み込む。各識別情報ID(i)は、出力部16から出力される(例えば、画面上に表示される)。利用者は、出力された識別情報ID(i)を参照しながら、削除対象の識別情報ID(w)を入力部15に入力する。この例では識別情報ID(2)が入力部15に入力されたものにする。制御部14iは、この入力結果に基づき以下のように削除過程を実行させる。
【0162】
まず、PC210−1の内部読み込み部12bが、記憶部13から識別情報ID(1)を読み込み、識別情報ID(1)を外部読み込み部11b(図34(a))に送る。当該外部読み込み部11b(図34(a))は、USBメモリ20の記憶部22の領域22b(図34(b))から、識別情報ID(1)に関連付けられた暗号文IBE(MPK, ID(1), KA)を読み込む(ステップS231)。
【0163】
次に、PC210−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC210−1の秘密鍵復元部14mに送る(ステップS232)。さらに、PC210−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC210−1の秘密鍵復元部14mに送る(ステップS233)。PC210−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC210−1の秘密鍵SK(1)を復元する(ステップS234)。
【0164】
共通鍵復元部214dは、復元された秘密鍵SK(1)を用い、USBメモリ20から読み込まれた暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), IBE(MPK, ID(1), KA))〕を抽出する(ステップS235)。また、PC210−1の共通鍵生成部14aが、新たな共通鍵KAnewを生成する(ステップS236)。
【0165】
また、PC210−1の外部読み込み部11bが、USBメモリ20からPC210−iに対応する暗号文SE(KA, M(i))(i∈{1,...,n})を読み込む(ステップS237)。PC210−1の復号化部14fは、共通鍵復元部214dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS238)。
【0166】
次に、PC210−1の暗号化部14eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部14eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS239)。各暗号文SE(KAnew, M(i))は、PC210−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該暗号文SE(KAnew, M(i))をUSBメモリ20のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図34(b))に格納する(ステップS240)。
【0167】
次に、PC210−1の外部読み込み部11b(図35(a))が、USBメモリ20の記憶部22の領域22bから、登録削除対象のPC210−2以外のPC210−s(s≠2)の識別情報ID(s)を読み込む(ステップS241)。
【0168】
ステップS241で読み込まれた識別情報ID(s)とステップS236で新たに生成された共通鍵KAnewとは鍵秘匿化部214cに入力される。また、内部読み込み部12bが記憶部13からマスター公開鍵MPKを読み込み、当該マスター公開鍵MPKが鍵秘匿化部214cに入力される。そして、鍵秘匿化部214cは、マスター公開鍵MPKと識別情報ID(s)とを用い、ID-BASE暗号方式によって新たな共通鍵KAnewを暗号化した暗号文IBE(MPK, ID(s), KAnew)を生成する(ステップS242)。各暗号文IBE(MPK, ID(s), KAnew)は、PC210−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られる。当該インタフェース部21は、各暗号文IBE(MPK, ID(s), KAnew)を、USBメモリ20の記憶部22の領域22bに、それぞれ識別情報ID(s)と対応付けて格納(図35(b))する(ステップS243)。
【0169】
次に、PC210−1の削除部14g(図36(a))が削除命令を出し、これを受けた外部書き込み部11aは、USBメモリ20の記憶部22の領域22c(図36(b))から暗号文SE(KA, M(i))を削除し、領域22bからIBE(MPK, ID(i), KA)、識別情報ID(2)を削除する(ステップS244)。
【0170】
<本形態の特徴>
以上のように、本形態では、秘密鍵の分散情報をPCとUSBメモリとに分散して格納することとしたため、PCに格納された情報が第三者に盗聴された場合であっても、直ちに秘密鍵が第三者に知られることはない。これにより安全性を向上させることができる。また、本形態では、公開鍵暗号方式としてID-BASE暗号を用いることとしたため、登録過程の処理を簡略化できる。
【0171】
〔第4の実施形態〕
次に本発明の第4の実施形態について説明する。
本形態は第3の実施形態の変形例であり、共通鍵KAを生成したPC210−1以外のPCも登録処理を実行する例である。以下では、本形態の登録処理のみを説明する。
【0172】
[登録過程]
前提として、第1の実施形態のようにPC210−1,2が登録され、USBメモリ20に暗号文IBE(MPK, ID(1), KA), IBE(MPK, ID(2), KA)と分散情報SSK(1,2), SSK(2,2)が格納され、各PC210−iの記憶部に分散情報SSK(i,1)が格納されているものとする。本形態では、共通鍵KAを生成したPC210−1以外のPC210−2が、PC210−3の登録処理を行う例を説明する。
【0173】
図40は、本形態の登録過程を説明するためのシーケンス図である。
【0174】
まず、PC210−2にUSBメモリ20が装着・マウントされると、PC210−2の出力部16(図29)は、登録を行うPC210−iの識別情報ID(i)の入力指示表示を行う。利用者は、この入力指示に従い、入力部15に、登録を行うPC210−iの識別情報ID(i)を入力する。本形態の例では、PC210−3の識別情報ID(3)が入力部15に入力され、これらが記憶部13に格納される(ステップS251)。
【0175】
次に、PC210−2の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから識別情報ID(2)に対応する暗号文IBE(MPK, ID(2), KA)を読み込む(ステップS252)。また、PC210−2の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC210−2の秘密鍵復元部14mに送る(ステップS253)。さらに、PC210−2の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC210−2の秘密鍵復元部14mに送る(ステップS254)。PC210−2の秘密鍵復元部14mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)とを用いてPC210−2の秘密鍵SK(2)を復元する(ステップS255)。
【0176】
そして、PC210−2の共通鍵復元部214dが、復元された秘密鍵SK(2)を用いて暗号文IBE(MPK, ID(2), KA)を復号し、共通鍵KA〔KA=PD(SK(2), IBE(MPK, ID(2), KA))〕を抽出する(ステップS256)。
【0177】
次に、内部読み込み部12bが、記憶部13からマスター公開鍵MPKと識別情報ID(3)とを読み込む。共通鍵KAとマスター公開鍵MPKと識別情報ID(3)とは、鍵秘匿化部214cに入力される。鍵秘匿化部214cは、マスター公開鍵MPKと識別情報ID(3)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(3), KA)を生成する(ステップS257)。
【0178】
内部読み込み部12bが記憶部13から読み込んだ識別情報ID(3)と、鍵秘匿化部214cが生成した暗号文IBE(MPK, ID(3), KA)とは、外部書き込み部11aに送られる。外部書き込み部11aは、これらをUSBメモリ20のインタフェース部21に送り、インタフェース部21は、識別情報ID(3)と暗号文IBE(MPK, ID(3), KA)とを関連付け、それらを記憶部22の領域22bに格納する(ステップS258)。
【0179】
以上により、PC210−3の登録処理が完了する。なお、登録されたPC210−3は、同様な処理によってその他のPC210の登録処理を実行することができる。また、第4の実施形態の変形例として、共通鍵KAを生成するPC210−1が、暗号文IBE(MPK, ID(1), KA)をUSBメモリ20に格納した後、暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KAを取得し、他のPC210−iに対応する暗号文IBE(MPK, ID(i), KA)を生成してもよい。
【0180】
〔第5の実施形態〕
次に、本発明の第5の実施形態について説明する。本形態は第3の実施形態の変形例であり、PC-i(「情報処理装置」に相当)の記憶部に格納された分散情報SSK(i,1)と、USBメモリ(「情報記録媒体」に相当)に格納された分散情報SSK(i,2)と、サーバ装置120の122(「第2情報記録媒体」に相当)に格納された分散情報SSK(i,3)とから秘密鍵SK(i)を復元する形態である。以下では、第2、3の実施形態との相違点を中心に説明を行い、第3の実施形態と共通する事項については説明を省略する。
【0181】
<構成>
図41は、本形態の情報記録媒体共用システム300の全体構成を例示した概念図である。
【0182】
図41に例示するように、情報記録媒体共用システム300は、n(nは2以上の整数)個のPC310−1〜n(「情報処理装置PC(i)(i∈{1,...,n}」に相当)と、これらのPC310−1〜n間で共用されるUSBメモリ20(「情報記録媒体」に相当)と、ハードディスク122(「第2情報記録媒体」に相当)を具備するサーバ装置120と、ID-BASE暗号用の鍵を生成するID−BASE鍵生成装置330とを具備する。
【0183】
図42(a)は、本形態のPC310−i(i∈{1,...,n})の機能構成を例示したブロック図であり、図42(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
【0184】
図42(a)に示すように、PC310−iと第3の実施形態のPC10−iとの相違点は、秘密鍵復元部14mが秘密鍵復元部114mに置換された点である。また、図42(b)に示すように、本形態のUSBメモリ20の機能構成は第1の実施形態と同様であるが、記憶部22に格納されるデータが相違する。
【0185】
図43は、本形態のID−BASE鍵生成装置330の機能構成を例示したブロック図である。
【0186】
図43に示すように、本形態のID−BASE鍵生成装置330と第3の実施形態のID−BASE鍵生成装置230との相違点は、秘密鍵分散部231kが秘密鍵分散部331kに置換された点である。
【0187】
<処理>
次に本形態の処理を説明する。
本形態の処理は、(1)鍵配送過程 、(2)登録過程、(3)書き込み過程、(4)読み込み過程、(5)削除過程に大別できる。以下、各過程を説明する。
【0188】
[鍵配送過程]
まず、鍵配送過程を説明する。
鍵配送過程では、ID-BASE鍵生成装置330が、公知のID-BASE暗号アルゴリズム(例えば、参考文献2参照)に従い、すべてのPC310−iに対して共通のマスター公開鍵MPKと、各PC310−i固有の秘密鍵SK(i)とを生成する。そして、各秘密鍵SK(i)の分散情報SSK(i,1),SSK(i,2)及びSSK(i,3)を生成し、マスター公開鍵MPKと分散情報SSK(i,1),SSK(i,2)及びSSK(i,3)との配送を行う。
【0189】
具体的には、まず、第3の実施形態と同様な手順により、マスター公開鍵MPKと、各PC310−i固有の秘密鍵SK(i)とを生成する。そして、ID−BASE鍵生成装置330の秘密鍵分散部331kは、秘密鍵SK(i)から分散情報SSK(i,1),SSK(i,2), SSK(i,3)を生成する。
【0190】
そして、ID−BASE鍵生成装置330の通信部234は、上述の例のように生成したマスター公開鍵MPKと分散情報SSK(i,1)とを、各SSK(i,1)に対応する各PC310−iに送信する。各PC310−iは、マスター公開鍵MPKと分散情報SSK(i,1)とを受信し、自らの記憶部13に格納する。さらに、ID−BASE鍵生成装置330の通信部234は、上述の例のように生成した全ての分散情報SSK(i,2)及びSSK(i,3)を、登録処理を行うPC310−1に送信する。PC310−1は、全ての分散情報SSK(i,2)及びSSK(i,3)を受信し、自らの記憶部13に格納する。
【0191】
[登録過程]
次に、登録過程を説明する。
図44は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図48は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、PC310−1がPC310−1とPC310−2との登録処理を行う例を示す。
【0192】
まず、第3の実施形態と同様に、PC310−1,2の識別情報ID(1), ID(2)がPC310−1(図44(a))の入力部15に入力され、これらが記憶部13に格納される(ステップS261)。次に、PC310−1の共通鍵生成部14aが共通鍵KAを生成し(ステップS262)、鍵秘匿化部214cが、マスター公開鍵MPKと識別情報ID(1), ID(2)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(1), KA),IBE(MPK, ID(2), KA)を生成する(ステップS263)。そして、第3の実施形態と同様に、分散情報SSK(1,2), SSK(2,2)と識別情報ID(1),ID(2)と暗号文IBE(MPK, ID(1), KA) ,IBE(MPK, ID(2), KA)とが、外部書き込み部11aに送られる。外部書き込み部11aは、これらをUSBメモリ20(図44(b))のインタフェース部21に送り、インタフェース部21は、識別情報ID(1)と暗号文IBE(MPK, ID(1), KA)と分散情報SSK(1,2)とを関連付け、識別情報ID(2)と暗号文IBE(MPK, ID(2), KA)と分散情報SSK(2,2)とを関連付け、それらを記憶部22の領域22bに格納する(ステップS264)。さらに、PC310−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,3), SSK(2,3)と識別情報ID(1),ID(2)とを読み込み、これらの分散情報SSK(1,3), SSK(2,3)と識別情報ID(1),ID(2)とは外部書き込み部11aに送られる。外部書き込み部11aは、これらを相互に関連付けてサーバ装置120(図44(c))のハードディスク122に格納する(ステップS265)。その後、PC210−1の内部書き込み部12aは、記憶部13から分散情報SSK(1,2), SSK(2,2), SSK(1,3), SSK(2,3)を削除する。
【0193】
以上により、PC310−1,2の登録が終了する。なお、説明の簡略化のため、ここではPC310−1,2の登録のみを行う場合を例示した。しかし、同様な方法によりPC310−1がその他のPC310−iの登録を行うことも可能である。以下では、全てのPC310−i(i∈{1,...,n})が登録され、各識別情報ID(i)と暗号文IBE(MPK, ID(i), KA)と分散情報SSK(i,2)がUSBメモリ20の記憶部22の領域22bに格納され、各識別情報ID(i)と分散情報SSK(i,3)がサーバ装置120のハードディスク122に格納されたものとする。
【0194】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。
図45は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図46は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図49は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC310−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC310−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0195】
まず、PC310−1とUSBメモリ20によって、第3の実施形態のステップS211と同じ処理が実行される。その後、PC310−1(図45(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC310−1の秘密鍵復元部114mに送る(ステップS271)。さらに、PC310−1の外部読み込み部11bが、USBメモリ20(図45(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC310−1の秘密鍵復元部114mに送る(ステップS272)。また、PC310−1の外部読み込み部11bが、サーバ装置120(図45(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC310−1の秘密鍵復元部114mに送る(ステップS273)。PC310−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC310−1の秘密鍵SK(1)を復元する(ステップS274)。
【0196】
次に、PC310−1とUSBメモリ20とPC310−2において、第3の実施形態のステップS215〜S219の処理を行う。その後、PC310−2(図46(a))の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC310−2の秘密鍵復元部114mに送る(ステップS275)。さらに、PC310−2の外部読み込み部11bが、USBメモリ20(図46(b))の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC310−2の秘密鍵復元部114mに送る(ステップS276)。また、PC310−2の外部読み込み部11bが、サーバ装置120(図46(c))のハードディスク122から、識別子ID(2)に関連付けられている分散情報SSK(2,3)を読み込み、それをPC310−2の秘密鍵復元部114mに送る(ステップS277)。PC310−2の秘密鍵復元部114mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)と分散情報SSK(2,3)とを用いてPC310−2の秘密鍵SK(2)を復元する(ステップS278)。
【0197】
その後、第3の実施形態のステップS224〜S225と同じ処理を実行する。
【0198】
[削除過程]
次に、本形態の削除過程について説明する。
図47は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図50は、本形態の削除過程を説明するためのシーケンス図である。
【0199】
まず、PC310−1とUSBメモリ20とによって、第3の実施形態のステップS231と同じ処理が実行される。その後、PC310−1(図47(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC310−1の秘密鍵復元部114mに送る(ステップS281)。さらに、PC310−1の外部読み込み部11bが、USBメモリ20(図47(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC310−1の秘密鍵復元部114mに送る(ステップS282)。また、PC310−1の外部読み込み部11bが、サーバ装置120(図47(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC310−1の秘密鍵復元部114mに送る(ステップS283)。PC310−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC310−1の秘密鍵SK(1)を復元する(ステップS284)。
【0200】
その後、PC310−1とUSBメモリ20とによって、第3の実施形態のステップS235〜S244と同じ処理が実行される。
【0201】
<本形態の特徴>
以上のように、本形態では、秘密鍵の分散情報をPCとUSBメモリとサーバ装置のハードディスクとに分散して格納することとしたため、より安全性を向上させることができる。
【0202】
なお、第5の実施形態では、秘密鍵の分散情報をPCとUSBメモリとサーバ装置のハードディスクとに分散して格納することとしたが、秘密鍵の分散情報をPCと複数のUSBメモリとに分散して格納することとしてもよいし、複数のサーバ装置のハードディスクに分散して格納することとしてもよい。さらには、秘密鍵の分散情報をPCと複数のUSBメモリと複数のサーバ装置のハードディスクとに分散して格納することとしてもよい。
【0203】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施形態では、特定のPCを登録から削除する削除過程において共通鍵を再生成し、USBメモリの情報を書き換えることとしたが、特定のPCを登録から削除することなく共通鍵を再生成し、USBメモリの情報を書き換える処理を行ってもよい。このような処理は、例えば、共通鍵が第三者に漏えいした場合等に有効である。
【0204】
また、上述の各実施形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示し、第2情報記録媒体の一例としてハードディスクを例示した。しかし、本発明はこれらに限定されるものではない。例えば、情報処理装置として、携帯電話機、携帯情報端末(PDA)等を用いてもよい。また、情報記録媒体として、DVD−RAM(Random Access Memory)、CD−R(Recordable)/RW(ReWritable)、MO(Magneto-Optical disc)等を用いてもよいし、ハードディスク等の非可搬型の記録媒体を用いてもよいし、携帯電話機、携帯情報端末(PDA)、パーソナルコンピュータ等の計算装置を具備する装置のメモリを用いてもよい。また、第2情報記録媒体として、DVD−RAM、CD−R/RW、MO等を用いてもよいし、USBメモリ等の可搬型記録媒体を用いてもよいし、携帯電話機、携帯情報端末(PDA)、パーソナルコンピュータ等の計算装置を具備する装置のメモリを用いてもよい。
【0205】
また、複数の情報記録媒体を用い、情報記録媒体に格納される情報を分散して格納してもよい。例えば、USBメモリ20の記憶部22の領域22bに格納される情報と領域22cに格納される情報とを、複数の情報記録媒体に分散して格納することとしてもよい。これにより安全性が向上する。
【0206】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0207】
また、上述の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)等を用いることができる。
【0208】
また、このプログラムの流通は、例えば、そのプログラムを記録したUSBメモリ、DVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0209】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。
【0210】
なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0211】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0212】
本発明の利用分野としては、例えば、USBメモリに格納するデータの秘匿化等を例示できる。
【図面の簡単な説明】
【0213】
【図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は、第1の実施形態の登録過程を説明するためのシーケンス図である。
【図13】図13は、第1の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図14】図14は、第1の実施形態の削除過程を説明するためのシーケンス図である。
【図15】図15は、第2の実施形態の情報記録媒体共用システムの全体構成を例示した概念図である。
【図16】図16(a)は、第2の実施形態のPCの機能構成を例示したブロック図であり、図16(b)は、本形態のUSBメモリの機能構成を例示したブロック図である。
【図17】図17は、第2の実施形態のサーバ装置の機能構成を例示したブロック図である。
【図18】図18は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図19】図19は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図20】図20は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図21】図21は、第2の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図22】図22は、第2の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図23】図23は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図24】図24は、第2の実施形態の登録過程を説明するためのシーケンス図である。
【図25】図25は、第2の実施形態の登録過程を説明するためのシーケンス図である。
【図26】図26は、第2の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図27】図27は、第2の実施形態の削除過程を説明するためのシーケンス図である。
【図28】図28は、第3の実施形態の情報記録媒体共用システムの全体構成を例示した概念図である。
【図29】図29(a)は、第3の実施形態のPCの機能構成を例示したブロック図であり、図29(b)は、本形態のUSBメモリの機能構成を例示したブロック図である。
【図30】図30は、第3の実施形態のID−BASE鍵生成装置の機能構成を例示したブロック図である。
【図31】図31は、第3の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図32】図32は、第3の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図33】図33は、第3の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図34】図34は、第3の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図35】図35は、第3の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図36】図36は、第3の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図37】図37は、第3の実施形態の登録過程を説明するためのシーケンス図である。
【図38】図38は、第3の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図39】図39は、第3の実施形態の削除過程を説明するためのシーケンス図である。
【図40】図40は、第4の実施形態の登録過程を説明するためのシーケンス図である。
【図41】図41は、第5の実施形態の情報記録媒体共用システムの全体構成を例示した概念図である。
【図42】図42(a)は、第5の実施形態のPCの機能構成を例示したブロック図であり、図42(b)は、本形態のUSBメモリの機能構成を例示したブロック図である。
【図43】図43は、第5の実施形態のID−BASE鍵生成装置の機能構成を例示したブロック図である。
【図44】図44は、第5の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図45】図45は、第5の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図46】図46は、第5の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図47】図47は、第5の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図48】図48は、第5の実施形態の登録過程を説明するためのシーケンス図である。
【図49】図49は、第5の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図50】図50は、第5の実施形態の削除過程を説明するためのシーケンス図である。
【符号の説明】
【0214】
1,100,200,300 情報記録媒体共用システム
10,110,210,310 PC(「情報処理装置」に相当)
20 USBメモリ(「情報記録媒体」に相当)
120 サーバ装置
122 ハードディスク(「第2の情報記録媒体」に相当)
【技術分野】
【0001】
本発明は、情報を秘匿化する技術に関し、特に、複数の情報処理装置で共用される情報記録媒体に情報を秘匿化して格納する技術に関する。
【背景技術】
【0002】
USB(universal serial bus)メモリなどの複数の情報処理装置で共用される可搬型の情報記録媒体に格納されたデータの漏えいを防止することは重要である。その対策として、従来は、共通鍵暗号方式によってデータを暗号化して情報記録媒体に格納する方法が使用されてきた(例えば、非特許文献1参照)。この場合、情報記録媒体に格納するデータMを共通鍵暗号方式の共通鍵Kで暗号化し、その暗号文Cのみを情報記録媒体に格納する方法が一般的であった。また、共通鍵Kは、情報処理装置に格納されるか、パスワードのような形で使用者に記憶されるのが一般的であった。
【0003】
また、特許文献1には、暗号化されたファイルを暗号解読するための第1の暗号解読鍵を着脱可能メモリに格納しておく方式が開示されている。
【0004】
しかし、共通鍵Kを情報処理装置に格納しておく方式の場合、情報記録媒体を共用する複数の情報処理装置で共通鍵Kを共有しておく必要がある。しかし、秘密情報である共通鍵Kを事前に複数の情報処理装置で共有しておく処理は煩雑である。また、パスワードを用いて共通鍵Kを作成する方法の場合、使用者がパスワードを記憶し、情報処理装置毎にパスワードを入力しなければならない。このような処理も煩雑である。さらに、一般に、使用者の利便性を考慮したパスワードの長さは暗号学的には十分な長さではない。よって、このような共通鍵Kを用いて生成された暗号文Cは解読され易く、安全上の問題がある。
【0005】
また、特許文献1のように、暗号化されたファイルを暗号解読するための第1の暗号解読鍵を着脱可能メモリのような可搬型の情報記録媒体に格納しておく方式の場合、当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした者は、誰でも暗号化されたファイルの暗号解読が出来てしまう。
【0006】
これらの問題は、複数の情報処理装置が可搬型の情報記録媒体を共用する場合だけではなく、複数の情報処理装置が非可搬型の情報記録媒体を共用する場合にも当てはまる。
【0007】
これに対し、本出願人はこのような問題を解決する方式を考案し、その特許出願を行った〔特願2007-113708(未公開)〕。
【0008】
特願2007-113708(未公開)の方式では、まず、登録過程において、情報記録媒体を共用する各情報処理装置PC(i)(i∈{1,...,n}、nは2以上の整数)にそれぞれ対応する公開鍵暗号方式の秘密鍵SK(i)を、当該秘密鍵SK(i)に対応する情報処理装置PC(i)の記憶部にそれぞれ格納し、各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を情報記録媒体に格納する。
【0009】
平文の暗号化を行う情報処理装置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))を情報記録媒体に格納する。
【0010】
そして、暗号文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)を抽出する。
【0011】
この処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。さらに、この処理では、平文の暗号文を復号するための共通鍵KAを情報記録媒体に格納するのではなく、共通鍵KAを公開鍵によって暗号化した暗号文を情報記録媒体に格納しておく。そのため、弟三者が当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした場合でも、当該第三者は、平文の暗号文を復号することができない。
【非特許文献1】「BUFFALO」ホームページ、[平成19年7月30日検索]、インターネット〈URL http://buffalo.jp/products/slw/keitai.html〉
【特許文献1】特開2006−67313号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
しかし、特願2007-113708(未公開)の方式の場合、情報処理装置PCの紛失・盗難・不正アクセス等によって情報処理装置PC(i)の記憶部に格納された情報が第三者に盗聴された場合には安全性を確保できない。情報処理装置PC(i)の記憶部には、秘密鍵SK(i)が格納されており、秘密鍵SK(i)と暗号文PE(PK(i), KA)とを入手した第三者は、共通鍵KAを不正に復元できてしまうからである。
【0013】
本発明はこのような点に鑑みてなされたものであり、煩雑な処理を必要とせず、情報処理装置の記憶部に格納された情報が第三者に盗聴された場合であっても、安全に複数の情報処理装置が情報記録媒体を共用できる技術を提供することを目的とする。
【課題を解決するための手段】
【0014】
第1の本発明では、まず、情報処理装置PC(i)に対応する公開鍵暗号方式の秘密鍵SK(i)の分散情報SSK(i,1)を情報処理装置PC(i)の記憶部に格納する過程と、当該秘密鍵SK(i)の分散情報SSK(i,2)を情報記録媒体に格納する過程と、情報処理装置PC(i)に対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(i), KA)を情報記録媒体に格納する過程と、を具備する登録過程を実行する。そして、情報記録媒体に暗号文PE(PK(p), KA)と分散情報SSK(p,2)とが格納され、自らの記憶部に分散情報SSK(p,1)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文PE(PK(p), KA)を読み込む過程と、情報処理装置PC(p)の内部読み込み部が、情報処理装置PC(p)の記憶部から分散情報SSK(p,1)を読み込む過程と、情報処理装置PC(p)の外部読み込み部が、情報記録媒体から分散情報SSK(p,2)を読み込む過程と、情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて情報処理装置PC(p)の秘密鍵SK(p)を復元する過程と、情報処理装置PC(p)の共通鍵復元部が、復元された秘密鍵SK(p)を用いて暗号文PE(PK(p), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程と、情報処理装置PC(p)の外部書き込み部が、当該暗号文SE(KA, M(p))を情報記録媒体に格納する過程と、を具備する書き込み過程を実行する。そして、情報記録媒体に暗号文PE(PK(q), KA)と分散情報SSK(q,2)とが格納され、自らの記憶部に分散情報SSK(q,1)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文PE(PK(q), KA)を読み込む過程と、情報処理装置PC(q)の外部読み込み部が、情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、情報処理装置PC(q)の内部読み込み部が、情報処理装置PC(q)の記憶部から分散情報SSK(q,1)を読み込む過程と、情報処理装置PC(q)の外部読み込み部が、情報記録媒体から分散情報SSK(q,2)を読み込む過程と、情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて情報処理装置PC(q)の秘密鍵SK(q)を復元する過程と、情報処理装置PC(q)の共通鍵復元部が、復元された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、を実行する。
【0015】
ここで、情報処理装置PC(i)の記憶部には、秘密鍵SK(i)の分散情報SSK(i,1)が格納される。また、情報記録媒体には秘密鍵SK(i)の分散情報SSK(i,2)が格納される。この場合、情報処理装置PC(i)の記憶部に格納された情報が第三者に盗聴された場合であっても、直ちに秘密鍵SK(i)が第三者に知られることはない。これにより安全性を向上させることができる。
【0016】
また、第1の本発明では、登録過程において、各公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAをそれぞれ暗号化した各暗号文PE(PK(i), KA)を情報記録媒体に格納しておく。これにより、情報処理装置PC(p)(p=1,...,n)は、少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて復元した自らの秘密鍵SK(p)を用い、情報記録媒体に格納された暗号文PE(PK(p), KA)から共通鍵KAを復号できる。同様に、情報処理装置PC(q)(q=1,...,n)は、少なくとも分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて復元した自らの秘密鍵SK(q)を用い、情報記録媒体に格納された暗号文PE(PK(q), KA)から共通鍵KAを復号できる。これにより、情報処理装置PC(p)と情報処理装置PC(q)との間で共通鍵KAを用いた共通鍵暗号方式による暗号化及び復号化が可能となる。
【0017】
この処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。さらに、本発明では、平文の暗号文を復号するための共通鍵KAを情報記録媒体に格納するのではなく、共通鍵KAを公開鍵によって暗号化した暗号文を情報記録媒体に格納しておく。そのため、弟三者が当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした場合でも、当該第三者は、平文の暗号文を復号することができない。
【0018】
また、第1の本発明において好ましくは、登録過程において、まず、何れかの情報処理装置PC(r)(r=1,...,n)の共通鍵生成部が共通鍵KAを生成する過程と、情報処理装置PC(r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(r)と公開鍵PK(r)とを生成する過程と、情報処理装置PC(r)の内部書き込み部が、秘密鍵SK(r)の分散情報SSK(r,1)を情報処理装置PC(r)の記憶部に格納する過程と、情報処理装置PC(r)の外部書き込み部が、当該秘密鍵SK(r)の分散情報SSK(r,2)を情報記録媒体に格納する過程と、情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程と、情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(r), KA)を情報記録媒体に格納する過程とを実行する。
【0019】
次に、情報処理装置PC(r)以外の情報処理装置PC(s)(s=1,...,n、s≠r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(s)と公開鍵PK(s)とを生成する過程と、秘密鍵SK(s)の分散情報SSK(s,1)を情報処理装置PC(s)の記憶部に格納する過程と、情報処理装置PC(s)の外部書き込み部が、当該秘密鍵SK(s)の分散情報SSK(s,2)を情報記録媒体に格納する過程と、情報処理装置PC(s)の外部書き込み部が、公開鍵PK(s)を情報記録媒体に格納する過程とを事項する。
【0020】
そして、情報記録媒体に暗号文PE(PK(t), KA)と分散情報SSK(t,2) とが格納され、自らの記憶部に分散情報SSK(t,1)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文PE(PK(t), KA)を読み込む過程と、情報処理装置PC(t)の内部読み込み部が、情報処理装置PC(t)の記憶部から分散情報SSK(t,1)を読み込む過程と、情報処理装置PC(t)の外部読み込み部が、情報記録媒体から分散情報SSK(t,2)を読み込む過程と、情報処理装置PC(t)の秘密鍵復元部が、少なくとも当該分散情報SSK(t,1)と分散情報SSK(t,2)とを用いて情報処理装置PC(t)の秘密鍵SK(t)を復元する過程と、情報処理装置PC(t)の共通鍵復元部が、復元された秘密鍵SK(t)を用いて暗号文PE(PK(t), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(t)の外部読み込み部が、情報記録媒体から公開鍵PK(s)を読み込む過程と、情報処理装置PC(t)の鍵秘匿化部が、公開鍵PK(s)を用いて共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成する過程と、情報処理装置PC(t)の外部書き込み部が、暗号文PE(PK(s), KA)を情報記録媒体に格納する過程とを実行する。
【0021】
当該好ましい登録過程の場合、情報処理装置PC(s)がその公開鍵PK(s)を情報記録媒体に格納おくことにより、既に情報記録媒体に暗号文PE(PK(t), KA)が格納され、自らの記憶部に分散情報SSK(t,1)が格納された情報処理装置PC(t)が、共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成し、情報記録媒体に格納することができる。すなわち、当該好ましい登録過程では、特別な登録用の装置を用いることなく、情報処理装置間で情報処理装置の登録処理を実行できる。これにより、高い利便性を実現できる。
【0022】
また、第1の本発明において好ましくは、情報記録媒体に暗号文PE(PK(r), KA)と分散情報SSK(r,2) とが格納され、自らの記憶部に分散情報SSK(r,1)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文PE(PK(r), KA)を読み込む過程と、情報処理装置PC(r)の内部読み込み部が、情報処理装置PC(r)の記憶部から分散情報SSK(r,1)を読み込む過程と、情報処理装置PC(r)の外部読み込み部が、情報記録媒体から分散情報SSK(r,2)を読み込む過程と、情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて情報処理装置PC(r)の秘密鍵SK(r)を復元する過程と、情報処理装置PC(r)の共通鍵復元部が、復元された秘密鍵SK(r)を用いて暗号文PE(PK(r), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(r)の共通鍵生成部が、新たな共通鍵KAnewを生成する過程と、情報処理装置PC(r)の外部読み込み部が、情報記録媒体から何れかの情報処理装置PC(s)(s=1,...,n)に対応する暗号文SE(KA, M(s))を読み込む過程と、情報処理装置PC(r)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(s))を復号して平文M(s)を抽出する過程と、情報処理装置PC(r)の暗号化部が、新たな共通鍵KAnewを用いて平文M(s)を暗号化した暗号文SE(KAnew, M(s))を生成する過程と、情報処理装置PC(r)の外部書き込み部が、当該暗号文SE(KAnew, M(s))を情報記録媒体に格納する過程と、を具備する再暗号化過程と、情報処理装置PC(r)の外部読み込み部が、情報記録媒体から情報処理装置PC(s)に対応する公開鍵PK(s)(s=1,...,n)を読み込む過程と、情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(s)を用いて新たな共通鍵KAnewを暗号化した暗号文PE(PK(s), KAnew)を生成する過程と、情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(s), KAnew)を情報記録媒体に格納する過程と、具備する再登録過程とをさらに実行する。
【0023】
これにより、共通鍵を更新することができる。この共通鍵の更新は、例えば登録削除処理に利用することができる。その場合、上記再登録過程を、登録削除対象の情報処理装置PC(w)(w=1,...,n)以外の情報処理装置PC(s)について実行し、上記情報記録媒体に格納された暗号文SE(KA, M(p))(p=1,...,n)を上記情報記録媒体から削除する。この場合、たとえ登録が削除された情報処理装置PC(w)に古い共通鍵KAが残存していたとしても、上記情報処理装置PC(w)は、上記情報記録媒体に格納された情報から平文M(p)を復号することはできない。その結果、安全性が向上する。
【0024】
また、第2の本発明では、まず、各情報処理装置PC(i)に対して共通のマスター秘密鍵をMSKとし、マスター秘密鍵MSKを用いて生成された各情報処理装置PC(i)に対して共通のマスター公開鍵をMPKとし、各情報処理装置PC(i)をそれぞれ識別する識別情報ID(i)とマスター秘密鍵MSKとを用いて生成されたID-BASE暗号方式の秘密鍵をSK(i)とした場合における、秘密鍵SK(i)の分散情報SSK(i,1)を情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、当該秘密鍵SK(i)の分散情報SSK(i,2)を情報記録媒体に格納する過程と、マスター公開鍵MPKと識別情報ID(i)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(i), KA)を、情報記録媒体に格納する過程と、を具備する登録過程を実行する。そして、情報記録媒体に暗号文IBE(MPK, ID(p), KA)と分散情報SSK(p,2)とが格納され、自らの記憶部に分散情報SSK(p,1)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(p), KA)を読み込む過程と、情報処理装置PC(p)の内部読み込み部が、情報処理装置PC(p)の記憶部から分散情報SSK(p,1)を読み込む過程と、情報処理装置PC(p)の外部読み込み部が、情報記録媒体から分散情報SSK(p,2)を読み込む過程と、情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて情報処理装置PC(p)の秘密鍵SK(p)を復元する過程と、情報処理装置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))を情報記録媒体に格納する過程と、を具備する書き込み過程とを実行する。そして、情報記録媒体に暗号文PE(PK(q), KA)と分散情報SSK(q,2)とが格納され、自らの記憶部に分散情報SSK(q,1)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(q), KA)を読み込む過程と、情報処理装置PC(q)の外部読み込み部が、情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、情報処理装置PC(q)の内部読み込み部が、情報処理装置PC(q)の記憶部から分散情報SSK(q,1)を読み込む過程と、情報処理装置PC(q)の外部読み込み部が、情報記録媒体から分散情報SSK(q,2)を読み込む過程と、情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて情報処理装置PC(q)の秘密鍵SK(q)を復元する過程と、情報処理装置PC(q)の共通鍵復元部が、復元された秘密鍵SK(q)を用いて暗号文IBE(MPK, ID(q), KA)を復号して共通鍵KAを抽出する過程と、情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程とを実行する。
【0025】
ここで、情報処理装置PC(i)の記憶部には、秘密鍵SK(i)の分散情報SSK(i,1)を格納しておく。また、情報記録媒体には秘密鍵SK(i)の分散情報SSK(i,2)を格納しておく。この場合、情報処理装置PC(i)の記憶部に格納された情報が第三者に盗聴された場合であっても、直ちに秘密鍵SK(i)が第三者に知られることはない。これにより安全性を向上させることができる。
【0026】
また、第2の本発明の登録過程では、登録対象の情報処理装置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)が格納され、自らの記憶部に秘密鍵SK(t)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})は、情報記録媒体から暗号文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)を情報記録媒体に格納するだけで登録処理を行うことができる。
【0027】
また、第2の本発明の処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。
【0028】
また、第2の本発明の登録過程は、例えば、情報記録媒体に暗号文IBE(MPK, ID(t), KA)と分散情報SSK(t,2) とが格納され、自らの記憶部に分散情報SSK(t,1)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(t), KA)を読み込む過程と、情報処理装置PC(t)の内部読み込み部が、情報処理装置PC(t)の記憶部から分散情報SSK(t,1)を読み込む過程と、情報処理装置PC(t)の外部読み込み部が、情報記録媒体から分散情報SSK(t,2)を読み込む過程と、情報処理装置PC(t)の秘密鍵復元部が、少なくとも当該分散情報SSK(t,1)と分散情報SSK(t,2)とを用いて情報処理装置PC(t)の秘密鍵SK(t)を復元する過程と、情報処理装置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)を情報記録媒体に格納する過程とを、さらに有する。
【0029】
また、第2の本発明において好ましくは、情報記録媒体に暗号文IBE(MPK, ID(r), KA)と分散情報SSK(r,2) とが格納され、自らの記憶部に分散情報SSK(r,1)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、情報記録媒体から暗号文IBE(MPK, ID(r), KA)を読み込む過程と、情報処理装置PC(r)の内部読み込み部が、情報処理装置PC(r)の記憶部から分散情報SSK(r,1)を読み込む過程と、情報処理装置PC(r)の外部読み込み部が、情報記録媒体から分散情報SSK(r,2)を読み込む過程と、情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて情報処理装置PC(r)の秘密鍵SK(r)を復元する過程と、情報処理装置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)を情報記録媒体に格納する過程と、具備する再登録過程とを実行する。
【0030】
これにより、共通鍵を更新することができる。この共通鍵の更新は、例えば登録削除処理に利用することができる。その場合、上記再登録過程を、登録削除対象の情報処理装置PC(w)(w=1,...,n)以外の情報処理装置PC(s)について実行し、上記情報記録媒体に格納された暗号文SE(KA, M(p))(p=1,...,n)を上記情報記録媒体から削除する。この場合、たとえ登録が削除された情報処理装置PC(w)に古い共通鍵KAが残存していたとしても、上記情報処理装置PC(w)は、上記情報記録媒体に格納された情報から平文M(p)を復号することはできない。その結果、安全性が向上する。
【0031】
また、第1,2の本発明において好ましくは、登録過程は、秘密鍵SK(i)の分散情報SSK(i,3)を情報記録媒体とは異なる第2情報記録媒体に格納する過程をさらに具備し、書き込み過程は、情報処理装置PC(p)の外部読み込み部が、第2情報記録媒体から分散情報SSK(p,3)を読み込む過程をさらに有し、情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて情報処理装置PC(p)の秘密鍵SK(p)を復元する過程は、少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)と分散情報SSK(p,3)とを用いて情報処理装置PC(p)の秘密鍵SK(p)を復元する過程であり、読み込み過程は、情報処理装置PC(q)の外部読み込み部が、第2情報記録媒体から分散情報SSK(q,3)を読み込む過程をさらに有し、情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて情報処理装置PC(q)の秘密鍵SK(q)を復元する過程は、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)と分散情報SSK(q,3)とを用いて情報処理装置PC(q)の秘密鍵SK(q)を復元する過程である。
【0032】
また、第1,2の本発明において好ましくは、再暗号化過程は、情報処理装置PC(r)の外部読み込み部が、第2情報記録媒体から分散情報SSK(r,3)を読み込む過程をさらに有し、情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて情報処理装置PC(r)の秘密鍵SK(r)を復元する過程は、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)と分散情報SSK(r,3)とを用いて情報処理装置PC(r)の秘密鍵SK(r)を復元する過程である。
【0033】
このように、分散情報を情報記録媒体とは異なる第2情報記録媒体に格納しておき、少なくとも情報処理装置の記憶部に格納された分散情報と、情報記録媒体に格納された分散情報と、第2情報記録媒体に格納された分散情報とを用いて秘密鍵を復元可能な構成としておくことにより、情報処理装置の記憶部の情報と情報記録媒体に格納された情報の両方が第三者に盗聴され、それらの対応関係が第三者に知られた場合であっても、第三者によって直ちに秘密鍵が知られることはない。これにより、よりいっそう安全性が向上する。
【発明の効果】
【0034】
以上のように、本発明では、煩雑な処理を必要とせず、情報処理装置の記憶部に格納された情報が第三者に盗聴された場合であっても、安全に複数の情報処理装置が情報記録媒体を共用できる。
【発明を実施するための最良の形態】
【0035】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【0036】
〔第1の実施形態〕
まず、本発明の第1の実施形態について説明する。
【0037】
<構成>
図1は、本形態の情報記録媒体共用システム1の全体構成を例示した概念図である。
図1に例示するように、情報記録媒体共用システム1は、n(nは2以上の整数)個のパーソナルコンピュータ(以下「PC」と表記する)10−1〜n(「情報処理装置PC(i)(i=1,...,n)」に相当)と、これらのPC10−1〜n間で共用されるUSBメモリ20(「情報記録媒体」に相当)とを具備する。PC10−1〜nは、USBメモリ20へ暗号文を格納し、また、USBメモリ20に格納された暗号文から平文を復号することにより相互に情報を共有する。なお、本形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示するが、本発明はこれに限定されるものではない。
【0038】
図2(a)は、本形態のPC10−i(i=1,...,n)の機能構成を例示したブロック図であり、図2(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
【0039】
図2(a)に示すように、PC10−iは、外部書き込み部11aと、外部読み込み部11bと、内部書き込み部12aと、内部読み込み部12bと、記憶部13と、共通鍵生成部14aと、鍵ペア生成部14b、鍵秘匿化部14cと、共通鍵復元部14dと、暗号化部14eと、復号化部14fと、削除部14gと、アプリケーション実行部14hと、制御部14iと、一時メモリ14jと、秘密鍵分散部14kと、秘密鍵復元部14mと、入力部15と、出力部16とを有している。また、図2(b)に示すように、USBメモリ20は、インタフェース部21と、記憶部22と、制御部23とを有しており、記憶部22は領域22a〜22cを有している。
【0040】
本形態のPC10−iはCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等からなるノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図2(a)に示す機能構成が実現される。
【0041】
具体的には、この例のPC10−iには、OS(Operating System)やアプリケーションソフトウェアがインストールされている。そして、PC10−iのUSBポートにUSBメモリ20が装着・マウントされ、USBメモリ20がPC10−iにマウントされると、USBメモリ20の記憶部22の領域22aからセキュリティプログラムがPC10−iに読み込まれる。そして、PC10−iのCPUがOS上でセキュリティプログラムやアプリケーションソフトウェアを実行することにより、図2(a)の機能構成が実現される。なお、PC10−iがUSBメモリ20からセキュリティプログラムを読み込むのではなく、各PC10−iが他の記録媒体からセキュリティプログラムを読み込む構成であってもよいし、インターネット等を通じてセキュリティプログラムをダウンロードして読み込む構成であってもよい。このような場合には、USBメモリ20にセキュリティプログラムを格納しておかなくてもよい。
【0042】
<処理>
次に本形態の処理を説明する。
本形態の処理は、(1)USBメモリ20を共用するn個のPC10−iをUSBメモリ20に登録する過程(登録過程)、(2)PC10−iがUSBメモリ20に暗号文を書き込む過程(書き込み過程)、(3)PC10−iがUSBメモリ20から暗号文を読み込んで復号する過程(読み込み過程)、(4) USBメモリ20から登録を削除する過程(削除過程)に大別できる。以下、各過程を説明する。
【0043】
[登録過程]
まず、登録過程を説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部14i,23の制御のもと実行され、PC10−i内での各演算で得られる各データは逐一一時メモリ14jに書き込まれ、必要に応じて他の演算のために読み出される。
【0044】
図3〜5は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図11及び図12は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてPC10−1が最初に登録を行い、次にPC10−2が登録申請を行い、PC10−1がそれを承認することによってPC10−2が登録される処理を例示する。
【0045】
まず、前処理としてPC10−1にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名〔ワークグループ名を含む(以下同様)〕とを取得し、それらを示すID(1)を生成してPC10−1の記憶部13(図3(a))に格納する。なお、既にID(1)が既に記憶部13に格納されていた場合には登録過程を実行しない。
【0046】
その後、PC10−1にUSBメモリ20が装着・マウントされると、PC10−1の共通鍵生成部14a(図3(a))が共通鍵KAを生成(例えばランダムに生成)して出力する(ステップS1)。また、PC10−1の鍵ペア生成部14bが、公開鍵暗号方式の秘密鍵SK(1)と公開鍵PK(1)とを生成して出力する(ステップS2)。なお、公開鍵暗号方式としては、例えば、PSEC-KEMやRSA等を例示できる。
【0047】
生成された秘密鍵SK(1)は、PC10−1の秘密鍵分散部14kに入力され、秘密鍵分散部14kは、秘密鍵SK(1)から分散情報SSK(1,1)と分散情報SSK(1,2)を生成して出力する(ステップS3)。分散情報SSK(1,1), SSK(1,2)は、それらから秘密鍵SK(1)を復元可能な値である。以下、このような分散情報を例示する。
【0048】
《分散情報の例1》
分散情報の例1では、秘密鍵SK(1)=SSK(1,1)(+)SSK(1,2)を満たすSSK(1,1),SSK(1,2)を分散情報SSK(1,1),SSK(1,2)とする。なお、α(+)βは、αとβとの排他的論理和演算を意味する。また、このような分散情報SSK(1,1),SSK(1,2)の生成手順としては、例えば、ランダムにSSK(1,1)の値を生成し、SSK(1,2)= SK(1)(+)SSK(1,1)としてSSK(1,2)を求め、SSK(1,1),SSK(1,2)を分散情報SSK(1,1),SSK(1,2)とするか、ランダムにSSK(1,2)の値を生成し、SSK(1,1)= SK(1)(+)SSK(1,2)としてSSK(1,1)を求め、SSK(1,1),SSK(1,2)を分散情報SSK(1,1),SSK(1,2)とする手順を例示できる。
【0049】
このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、SK(1)= SSK(1,1)(+)SSK(1,2)によって可能である。
【0050】
《分散情報の例2》
分散情報の例2では、SSK(1,1)を共通鍵とし、共通鍵暗号方式(CamelliaやAES等)によって秘密鍵SK(1)を暗号化した暗号文をSSK(1,2)とする(方式1)か、SSK(1,2)を共通鍵とし、共通鍵暗号方式によって秘密鍵SK(1)を暗号化した暗号文をSSK(1,1)とする(方式2)。
【0051】
なお、方式1の場合、ランダムにSSK(1,1)の値を生成し、SSK(1,1)を共通鍵としてSK(1)を暗号化して暗号文SSK(1,2)を生成し、分散情報SSK(1,1),SSK(1,2)を生成することができる。また、このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、SSK(1,1)を共通鍵としてSSK(1,2)を復号することによって可能である。
【0052】
一方、方式2の場合、ランダムにSSK(1,2)の値を生成し、SSK(1,2)を共通鍵としてSK(1)を暗号化して暗号文SSK(1,1)を生成し、分散情報SSK(1,1),SSK(1,2)を生成することができる。また、このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、SSK(1,2)を共通鍵としてSSK(1,1)を復号することによって可能である。
【0053】
《分散情報の例3》
分散情報の例3では、公知の秘密分散方法(岡本龍明、山本博資、「現代暗号」、pp.209-219、産業図書、ISBN 4-7828-5353-X(参考文献1)等参照)を用いて、秘密鍵SK(1)を秘密分散した値を分散情報SSK(1,1),SSK(1,2)とする。単純な例としては、秘密鍵SK(1)の上位数ビットを係数aとし、秘密鍵SK(1)の残りの下位ビットを係数bとし、多項式y=a・x+b上の1つの点(x,y)=(x1,y1)を分散情報SSK(1,1)とし、他の点(x,y)=(x2,y2)を分散情報SSK(1,2)とする方法を例示できる。このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、分散情報SSK(1,1)である点(x1,y1)と分散情報SSK(1,2)である点(x2,y2)とを通る多項式y=a・x+bの係数a,bを求め、それらa,bをビット結合して行うことができる(分散情報の例の説明終わり)。
【0054】
PC10−1の秘密鍵分散部14kから出力された分散情報SSK(1,1)は、内部書き込み部12aに送られ、そこからPC10−1の記憶部13に格納される(ステップS4)。秘密鍵分散部14kから出力された分散情報SSK(1,2)は、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21(図3(b))に送られ、そこから記憶部22の領域22bに格納される(ステップS5)。
【0055】
また、共通鍵生成部14aから出力された共通鍵KAと、鍵ペア生成部14bから出力された公開鍵PK(1)とはPC10−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(1)を用いて共通鍵KAを暗号化した暗号文PE(PK(1), KA)を生成し、出力する(ステップS6)。なお、PE(α, β)は、所定の公開鍵暗号方式により、公開鍵αを用いてβを暗号化した暗号文を意味する。
【0056】
上記の公開鍵PK(1)と暗号文PE(PK(1), KA)と内部読み込み部12bから読み込まれたID(1)とは、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21(図3(b))に送られ、そこから記憶部22の領域22bに分散情報SSK(1,2)とともに相互に関連付けられて格納される(ステップS7/PC10−1の登録完了)。
【0057】
次に、当該USBメモリ20がPC10−2に装着・マウントされると、PC10−2にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(2)を生成してPC10−2の記憶部13(図4(a))に格納する。
【0058】
次に、PC10−2の鍵ペア生成部14b(図4(a))が、公開鍵暗号方式の秘密鍵SK(2)と公開鍵PK(2)とを生成し、出力する(ステップS8)。
【0059】
生成された秘密鍵SK(2)は、PC10−2の秘密鍵分散部14kに入力され、秘密鍵分散部14kは、秘密鍵SK(2)から分散情報SSK(2,1)と分散情報SSK(2,2)を生成して出力する(ステップS9)。分散情報SSK(2,1), SSK(2,2)は、それらから秘密鍵SK(2)を復元可能な値である。その具体例は、上述の分散情報SSK(1,1), SSK(1,2)と同様であるため省略する。
【0060】
PC10−2の秘密鍵分散部14kから出力された分散情報SSK(2,1)は、内部書き込み部12aに送られ、そこからPC10−2の記憶部13に格納される(ステップS10)。一方、PC10−2の秘密鍵分散部14kから出力された分散情報SSK(2,2)は、PC10−2の鍵ペア生成部14bで生成された公開鍵PK(2)と、PC10−2の内部読み込み部12bによって記憶部13から読み込まれた識別子ID(2)とともに、その外部書き込み部11aからUSBメモリ20のインタフェース部21(図4(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS11/PC10−2の登録申請)。
【0061】
次に、当該USBメモリ20がPC10−1に装着・マウントされると、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている暗号文PE(PK(1), KA)を読み込み、それをPC10−1の共通鍵復元部14d(図5(a))に送る(ステップS12)。また、PC10−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC10−1の秘密鍵復元部14mに送る(ステップS13)。さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC10−1の秘密鍵復元部14mに送る(ステップS14)。PC10−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC10−1の秘密鍵SK(1)を復元する(ステップS15)。
【0062】
復元された秘密鍵SK(1)は、PC10−1の共通鍵復元部14dに読み込まれる。PC10−1の共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号し〔KA=PD(SK(1), PE(PK(1), KA))〕、共通鍵KAを抽出する(ステップS16)。なお、PD(α, β)は、所定の公開鍵暗号方式により、秘密鍵αを用いてβを復号化した結果値を意味する。
【0063】
さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22a(図5(b))から公開鍵PK(2)を読み込む(ステップS17)。共通鍵KA及び公開鍵PK(2)は、PC10−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(2)を用い、公開鍵暗号方式によって共通鍵KAを暗号化した暗号文PE(PK(2), KA)を生成し、出力する(ステップS18)。暗号文PE(PK(2), KA)は、外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22b(図5(b))に識別子ID(2)と関連付けて格納される(ステップS19/PC10−1による承認完了)。これにより、PC10−2の登録が終了する。
【0064】
その後、PC10−2と同様にその他のPC10−iが登録申請を行い(ステップS8〜S11参照)、PC10−1等の登録済のPC10−t(t=1,...,n)(USBメモリ20に暗号文PE(PK(t), KA)が格納され、自らの記憶部13に秘密鍵SK(t)が格納された何れかのPC10−t)が上述のように承認を行い(ステップS12〜S19参照)、全てのPC10−i(i=1,...,n)の登録がなされる。
【0065】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0066】
図6は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図7は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図13は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC10−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC10−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0067】
まず、PC10−1にUSBメモリ20が装着・マウントされているものとする。この状態で、WordやExcel(登録商標)等のアプリケーションソフトウェアを実行するPC10−1のアプリケーション実行部14h(図6(a))が、平文M(1)の暗号文のUSBメモリ20への書き込み要求を制御部14iに行う。これをトリガとして、PC10−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、これをPC10−1の外部読み込み部11bに送る。当該外部読み込み部11bは、USBメモリ20の記憶部22の領域22b(図6(b))から識別子ID(1)に関連付けられている暗号文PE(PK(1), KA)を読み込む(ステップS21)。当該暗号文PE(PK(1), KA)は、PC10−1の共通鍵復元部14d(図6(a))に送られる。
【0068】
また、これをトリガとして、PC10−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC10−1の秘密鍵復元部14mに送る(ステップS22)。さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC10−1の秘密鍵復元部14mに送る(ステップS23)。PC10−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC10−1の秘密鍵SK(1)を復元する(ステップS24)。
【0069】
復元された秘密鍵SK(1)は、PC10−1の共通鍵復元部14dに送られる。共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出し、共通鍵KAを暗号化部14eに送る(ステップS25)。また、PC10−1のアプリケーション実行部14hは、平文M(1)をその暗号化部14eに送り、当該暗号化部14eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS26)。なお、SE(α, β)は、所定の共通鍵暗号方式により、共通鍵αを用いてβを暗号化した暗号文を意味する。また、共通鍵暗号方式としては、例えばCamelliaやAES等を例示できる。
【0070】
生成された暗号文SE(KA, M(1))は、外部書き込み部11aによって、USBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22c(図6(b))に格納される(ステップS27/書き込み過程終了)。
【0071】
次に、PC10−2にUSBメモリ20が装着・マウントされる。この状態で、PC10−2のアプリケーション実行部14hが、USBメモリ20からの暗号文SE(KA, M(1))の読み込み要求を制御部14iに行うと、まず、PC10−2の外部読み込み部11b(図7(a))が、USBメモリ20の記憶部22の領域22c(図7(b))から暗号文SE(KA, M(1))を読み込み(ステップS28)、さらに、領域22bから暗号文PE(PK(2), KA)を読み込む(ステップS29)。
【0072】
次に、PC10−2の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC10−2の秘密鍵復元部14mに送る(ステップS30)。さらに、PC10−2の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC10−2の秘密鍵復元部14mに送る(ステップS31)。PC10−2の秘密鍵復元部14mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)とを用いてPC10−2の秘密鍵SK(2)を復元する(ステップS32)。
【0073】
復元された秘密鍵SK(2)は、PC10−2の共通鍵復元部14dに送られる。そして、PC10−2の共通鍵復元部14dが、当該秘密鍵SK(2)を用いて暗号文PE(PK(2), KA)を復号して共通鍵KA〔KA=PD(SK(2), PE(PK(2), KA))〕を抽出する(ステップS33)。その後、PC10−2の復号化部14fが、当該共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS34)。なお、SD(α,β)は、共通鍵暗号方式により、共通鍵αによってβを復号化した結果値を意味する。
【0074】
抽出された平文M(1)は、PC10−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0075】
[削除過程]
次に、本形態の削除過程について説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0076】
図8〜10は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図14は、本形態の削除過程を説明するためのシーケンス図である。
【0077】
本形態の削除過程は、単に登録削除対象のPC10−wのデータをUSBメモリ20から削除するだけではなく、これに併せて平文の暗号化に用いる共通鍵KAを再設定し、USBメモリ20に格納されている暗号文も生成し直す。これにより、登録が削除されたPC10−wが、過去に取得した共通鍵KAを用い、USBメモリ20に格納された暗号文を復号できてしまうという事態を防止できる。以下では、PC10−1がUSBメモリ20からPC10−2の登録を削除する例を示す。
【0078】
まず、PC10−1にUSBメモリ20が装着・マウントされているものとする。この状態で、利用者が登録削除対象を例えば以下のように指定する。まず、外部読み込み部11bがUSBメモリ20の記憶部22の領域22bから全ての識別子ID(i)を読み込み、それらが示すホスト名及びユーザ名を出力部16から出力する(例えば、画面上に表示する)。利用者は、出力されたホスト名及びユーザ名を参照しながら、削除対象のホスト名及びユーザ名を入力部15から入力する。この例では識別子ID(2)に対応するホスト名及びユーザ名が入力されたものにする。制御部14iは、この入力結果に基づき以下のように削除過程を実行させる。
【0079】
まず、PC10−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、外部読み込み部11b(図8(a))に送る。当該外部読み込み部11b(図8(a))は、USBメモリ20の記憶部22の領域22b(図8(b))から識別子ID(1)に関連付けられた暗号文PE(PK(1), KA)を読み込む(ステップS41)。
【0080】
また、PC10−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC10−1の秘密鍵復元部14mに送る(ステップS42)。さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC10−1の秘密鍵復元部14mに送る(ステップS43)。PC10−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC10−1の秘密鍵SK(1)を復元する(ステップS44)。
【0081】
復元された秘密鍵SK(1)は、PC10−1の共通鍵復元部14dに送られる。共通鍵復元部14dは、当該秘密鍵SK(1)を用い、USBメモリ20から読み込まれた暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出する(ステップS45)。また、PC10−1の共通鍵生成部14aが、新たな共通鍵KAnewを生成する(ステップS46)。
【0082】
また、PC10−1の外部読み込み部11bが、USBメモリ20からPC10−iに対応する暗号文SE(KA, M(i))(i=1,...,n)を読み込む(ステップS47)。PC10−1の復号化部14fは、共通鍵復元部14dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS48)。
【0083】
次に、PC10−1の暗号化部14eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部14eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS49)。各暗号文SE(KAnew, M(i))は、PC10−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該暗号文SE(KAnew, M(i))をUSBメモリ20のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図8(b))に格納する(ステップS50)。
【0084】
また、PC10−1の外部読み込み部11b(図9(a))が、USBメモリ20から各PC10−s(s=1,...,n、s≠2)に対応する公開鍵PK(s)を読み込み(ステップS51)、それらをPC10−1の鍵秘匿化部14に送る。そして、当該鍵秘匿化部14cは、読み込まれた各公開鍵PK(s)を用い、共通鍵生成部14aで新たに生成された(ステップS46)共通鍵KAnewを公開鍵暗号方式によって暗号化し、暗号文PE(PK(s), KAnew)を生成する(ステップS52)。各暗号文PE(PK(s), KAnew)は、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られる。当該インタフェース部21は、各暗号文PE(PK(s), KAnew)を、USBメモリ20の記憶部22の領域22bに、それぞれ識別子ID(s)と対応付けて格納(図9(b))する(ステップS53)。
【0085】
次に、PC10−1の削除部14g(図10(a))が削除命令を出し、これを受けた外部書き込み部11aは、USBメモリ20の記憶部22の領域22c(図9(b))から暗号文SE(KA, M(i))を削除し、領域22bからPE(PK(i), KA)、識別子ID(2)、公開鍵PK(2)、分散情報SSK(2,2)を削除(図10(b))する(ステップS54)。
【0086】
<本形態の特徴>
以上のように、本形態では、秘密鍵の分散情報をPCとUSBメモリとに分散して格納することとしたため、PCに格納された情報が第三者に盗聴された場合であっても、直ちに秘密鍵が第三者に知られることはない。これにより安全性を向上させることができる。また、本形態では、PC間で事前に共通鍵を共有するための煩雑な処理は不要である。また、本形態の処理の場合、共通鍵のデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。さらに、本発明では、平文の暗号文を復号するための共通鍵をUSBメモリに格納するのではなく、共通鍵を公開鍵によって暗号化した暗号文をUSBメモリに格納しておく。そのため、弟三者が当該USBメモリを取得したり、当該USBメモリからデータを読み取ったりした場合でも、当該第三者は、平文の暗号文を復号することができない。
【0087】
なお、第1の実施形態では、鍵ペアSK(1),PK(1)を生成(ステップS2)した後に、秘密鍵SK(1)の分散情報SSK(1,1)及びSSK(1,2)を生成(ステップS3)することとした。しかし、鍵ペアSK(i),PK(i)を生成する過程で分散情報SSK(i,1)及びSSK(i,2)を生成してもよい。具体的には、例えば、ランダムに分散情報SSK(i,1)及びSSK(i,2)生成し、それらを用いて秘密鍵SK(i)を生成し、生成した秘密鍵SK(i)を用いて公開鍵PK(i)を生成してもよい。なお、分散情報SSK(i,1)及びSSK(i,2)からの秘密鍵SK(i)の生成方式としては、例えば、SK(i)= SSK(i,1)(+)SSK(i,2)とする方式、SSK(i,1)を共通鍵としてSSK(i,2)を暗号化した暗号文をSK(i)とする方式、その逆にSSK(i,2)を共通鍵としてSSK(i,1)を暗号化した暗号文をSK(i)とする方式、SSK(i,1)及びSSK(i,2)のビット結合値SSK(i,1)|SSK(i,2)のハッシュ値H(SSK(i,1)|SSK(i,2))を秘密鍵SK(i)とする方式等を例示できる。
【0088】
また、分散情報SSK(i,1)及びSSK(i,2)のみによって秘密鍵SK(i)を復元するのではなく、分散情報SSK(i,1)及びSSK(i,2)とその他の情報(PCの固有値等)とによって秘密鍵SK(i)を復元する構成であってもよい。例えば、その他の情報Aを用い、SK(i)= SSK(i,1)(+)SSK(i,2)(+)Aとする方式、SSK(i,1)を共通鍵としてSSK(i,2)|Aを暗号化した暗号文をSK(i)とする方式、その逆にSSK(i,2)|Aを共通鍵としてSSK(i,1)を暗号化した暗号文をSK(i)とする方式、SSK(i,1)、SSK(i,2)及びAのビット結合値SSK(i,1)|SSK(i,2)|Aのハッシュ値H(SSK(i,1)|SSK(i,2)|A)を秘密鍵SK(i)とする方式等を例示できる。
【0089】
また、本形態では、USBメモリに格納にする分散情報SSK(i,2)をPC-i毎に設定することとしたが、複数のPC-iに共通の分散情報SSK(i,2)を用いる構成としてもよく、全てのPC-iに共通の分散情報SSK(i,2)を用いる構成としてもよい。
【0090】
また、各情報処理装置は必ずしも1つの筐体内に構成される必要はない。例えば、公開鍵と秘密鍵との鍵ペアを生成する鍵ペア生成部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の鍵ペア生成部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの鍵ペア生成部を相互に共用する構成であってもよい。同様に、秘密鍵分散部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の秘密鍵分散部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの秘密鍵分散部を相互に共用する構成であってもよい。
【0091】
〔第2の実施形態〕
次に、本発明の第2の実施形態について説明する。本形態は第1の実施形態の変形例であり、PC-i(「情報処理装置」に相当)の記憶部に格納された分散情報SSK(i,1)と、USBメモリ(「情報記録媒体」に相当)に格納された分散情報SSK(i,2)と、サーバ装置120の120のハードディスク122(「第2情報記録媒体」に相当)に格納された分散情報SSK(i,3)とから秘密鍵SK(i)を復元する形態である。以下では、第1の実施形態との相違点を中心に説明を行い、第1の実施形態と共通する事項については説明を省略する。
【0092】
<構成>
図15は、本形態の情報記録媒体共用システム100の全体構成を例示した概念図である。なお、以下、第1の実施形態との共通部分については第1の実施形態と同じ符号を付す。
【0093】
図15に例示するように、情報記録媒体共用システム1は、n(nは2以上の整数)個のPC110−1〜n(「情報処理装置PC(i)(i=1,...,n)」に相当)と、これらのPC110−1〜n間で共用されるUSBメモリ20(「情報記録媒体」に相当)と、ハードディスク122(「第2情報記録媒体」に相当)を具備するサーバ装置120とを具備する。PC110−1〜nは、USBメモリ20へ暗号文を格納し、また、USBメモリ20に格納された暗号文から平文を復号することにより相互に情報を共有する。また、サーバ装置120は、ネットワークを通じてPC110−1〜nと通信可能に構成され、各PC110−1〜nの外部書き込み部11aは、サーバ装置120のハードディスク122にデータの書き込みが可能なように構成され、外部読み込み部11bは、サーバ装置120のハードディスク122からデータの読み込みが可能なように構成される。
【0094】
なお、本形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示し、第2情報記録媒体の一例としてハードディスクを例示するが、本発明はこれに限定されるものではない。
【0095】
図16(a)は、本形態のPC110−i(i=1,...,n)の機能構成を例示したブロック図であり、図16(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
【0096】
図16(a)に示すように、本形態のPC110−iは、第1の実施形態のPC10−iの秘密鍵分散部14kが秘密鍵分散部114kに置換され、秘密鍵復元部14mが秘密鍵復元部114mに置換された構成である。また、図16(b)に示すように、本形態のUSBメモリ20の機能構成は第1の実施形態と同様であるが、記憶部22に格納されるデータが相違する。
【0097】
図17は、本形態のサーバ装置120の機能構成を例示したブロック図である。
図17に例示するように、本形態のサーバ装置120は、インタフェース部121と、ハードディスク122と制御部123とを有している。本形態のサーバ装置120は、CPU、RAM、ROM、LANカード等からなる、通信機能を備えたノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図17に示す機能構成が構築される。
【0098】
<処理>
次に本形態の処理を説明する。
本形態の処理も、(1)登録過程、(2)書き込み過程、(3)読み込み過程、(4)削除過程に大別できる。以下、各過程を説明する。
【0099】
[登録過程]
まず、登録過程を説明する。図18〜20は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図24及び図25は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてPC110−1が最初に登録を行い、次にPC110−2が登録申請を行い、PC110−1がそれを承認することによってPC110−2が登録される処理を例示する。
【0100】
まず、PC110−1が第1の実施形態のステップS1,S2と同じ処理を実行する。次に、ステップS2で生成された秘密鍵SK(1)は、PC110−1の秘密鍵分散部114kに入力され、秘密鍵分散部114kは、秘密鍵SK(1)から分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)を生成して出力する(ステップS101)。分散情報SSK(1,1), SSK(1,2), SSK(1,3)は、それらから秘密鍵SK(1)を復元可能な値である。以下に、このような分散情報SSK(1,1), SSK(1,2), SSK(1,3)の具体例を示す。
【0101】
《分散情報の例4》
分散情報の例4では、秘密鍵SK(1)= SSK(1,1)(+)SSK(1,2)(+)SSK(1,3)を満たすSSK(1,1),SSK(1,2),SSK(1,3)を分散情報SSK(1,1),SSK(1,2),SSK(1,3)とする。
【0102】
このような分散情報SSK(1,1),SSK(1,2), SSK(1,3)の生成手順としては、例えば、ランダムにSSK(1,1)とSSK(1,2)の値を生成し、SSK(1,3)= SK(1)(+)SSK(1,1)(+)SSK(1,3)としてSSK(1,3)を求め、SSK(1,1),SSK(1,2),SSK(1,3)を分散情報SSK(1,1),SSK(1,2),SSK(1,3)とする手順を例示できる。
【0103】
このような分散情報SSK(1,1),SSK(1,2)からの秘密鍵SK(1)の復元は、SK(1)= SSK(1,1)(+)SSK(1,2)(+)SSK(1,3)によって可能である。
【0104】
《分散情報の例5》
分散情報の例5では、SSK(1,1)とSSK(1,2)とのビット結合値SSK(1,1)|SSK(1,2)を共通鍵とし、共通鍵暗号方式によって秘密鍵SK(1)を暗号化した暗号文をSSK(1,3)とする。この場合、ランダムにSSK(1,1),SSK(1,2)の値を生成し、ビット結合値SSK(1,1)|SSK(1,2)を共通鍵としてSK(1)を暗号化して暗号文SSK(1,3)を生成し、分散情報SSK(1,1),SSK(1,2),SSK(1,3)を生成することができる。また、このような分散情報SSK(1,1),SSK(1,2),SSK(1,3)からの秘密鍵SK(1)の復元は、ビット結合値SSK(1,1)|SSK(1,2)を共通鍵としてSSK(1,3)を復号することによって可能である。
【0105】
《分散情報の例6》
分散情報の例6では、公知の秘密分散方法(参考文献1)を用いて、秘密鍵SK(1)を秘密分散した値を分散情報SSK(1,1),SSK(1,2),SSK(1,3)とする(分散情報の例の説明終わり)。
【0106】
PC110−1の秘密鍵分散部114kから出力された分散情報SSK(1,1)は、内部書き込み部12aに送られ、そこからPC110−1の記憶部13に格納される(ステップS102)。秘密鍵分散部114kから出力された分散情報SSK(1,2)は、PC110−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21(図18(b))に送られ、そこから記憶部22の領域22bに格納される(ステップS103)。また、秘密鍵分散部114kから出力された分散情報SSK(1,3)は、PC110−1の外部書き込み部11aによってサーバ装置120のインタフェース部121(図18(c))に送られ、そこからハードディスク122に格納される(ステップS104)。
【0107】
その後、PC110−1とUSBメモリ20とPC110−2が、第1の実施形態のステップS6〜S8と同じ処理が実行される。
【0108】
次に、ステップS8で生成された秘密鍵SK(2)が、PC110−1の秘密鍵分散部114kに入力され、秘密鍵分散部114kは、秘密鍵SK(2)から分散情報SSK(2,1)と分散情報SSK(2,2)と分散情報SSK(2,3)とを生成して出力する(ステップS105)。分散情報SSK(2,1), SSK(2,2), SSK(2,3)は、それらから秘密鍵SK(2)を復元可能な値である。その具体例は、上述の分散情報SSK(1,1), SSK(1,2), SSK(1,3)と同様であるため省略する。
【0109】
PC110−2の秘密鍵分散部114kから出力された分散情報SSK(2,1)は、内部書き込み部12aに送られ、そこからPC110−2の記憶部13に格納される(ステップS106)。また、PC110−2の秘密鍵分散部114kから出力された分散情報SSK(2,2)は、PC110−2の鍵ペア生成部14bで生成された公開鍵PK(2)と、PC110−2の内部読み込み部12bによって記憶部13から読み込まれた識別子ID(2)とともに、その外部書き込み部11aからUSBメモリ20のインタフェース部21(図19(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS107)。一方、PC110−2の秘密鍵分散部114kから出力された分散情報SSK(2,3)は、PC110−2の外部書き込み部11aによってサーバ装置120のインタフェース部121(図19(c))に送られ、そこからハードディスク122に格納される(ステップS108/PC110−2の登録申請)。
【0110】
次に、PC110−1とUSBメモリ20とによって第1の実施形態のステップS12と同じ処理が実行された後、PC110−1(図20(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC110−1の秘密鍵復元部114mに送る(ステップS109)。さらに、PC110−1の外部読み込み部11bが、USBメモリ20(図20(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS110)。また、PC110−1の外部読み込み部11bが、サーバ装置120(図20(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS111)。
【0111】
PC110−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC110−1の秘密鍵SK(1)を復元する(ステップS112)。
【0112】
復元された秘密鍵SK(1)は、PC110−1の共通鍵復元部14dに読み込まれ、その後、PC110−1とUSBメモリ20とによって第1の実施形態のステップS16〜S19と同じ処理が実行される。
【0113】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。
図21は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図22は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図26は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC110−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC110−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0114】
PC110−1とUSBメモリ20とによって第1の実施形態のステップS21と同じ処理が実行された後、PC110−1(図21(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC110−1の秘密鍵復元部114mに送る(ステップS121)。さらに、PC110−1の外部読み込み部11bが、USBメモリ20(図21(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS122)。また、PC110−1の外部読み込み部11bが、サーバ装置120(図21(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS123)。PC110−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC110−1の秘密鍵SK(1)を復元する(ステップS124)。
【0115】
その後、PC110−1とUSBメモリ20とPC110−2とによって、第1の実施形態のステップS25〜S29と同じ処理を実行する。
【0116】
次に、PC110−2(図22(a))の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC110−2の秘密鍵復元部114mに送る(ステップS125)。さらに、PC110−2の外部読み込み部11bが、USBメモリ20(図22(b))の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC110−2の秘密鍵復元部114mに送る(ステップS126)。また、PC110−2の外部読み込み部11bが、サーバ装置120(図22(c))のハードディスク122から、識別子ID(2)に関連付けられている分散情報SSK(2,3)を読み込み、それをPC110−2の秘密鍵復元部114mに送る(ステップS127)。PC110−2の秘密鍵復元部114mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)と分散情報SSK(2,3)とを用いてPC110−2の秘密鍵SK(2)を復元する(ステップS128)。
【0117】
その後、PC110−2によって、第1の実施形態のステップS33〜S34と同じ処理が実行される。
【0118】
[削除過程]
次に、本形態の削除過程について説明する。
図23は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図27は、本形態の削除過程を説明するためのシーケンス図である。
【0119】
PC110−1とUSBメモリ20とによって第1の実施形態のステップS41と同じ処理が実行された後、PC110−1(図23(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC110−1の秘密鍵復元部114mに送る(ステップS131)。さらに、PC110−1の外部読み込み部11bが、USBメモリ20(図23(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS132)。また、PC110−1の外部読み込み部11bが、サーバ装置120(図23(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC110−1の秘密鍵復元部114mに送る(ステップS133)。PC110−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC110−1の秘密鍵SK(1)を復元する(ステップS134)。
【0120】
その後、PC110−1とUSBメモリ20とによって、第1の実施形態のステップS45〜S54と同じ処理が実行される。
【0121】
<本形態の特徴>
以上のように、本形態では、秘密鍵の分散情報をPCとUSBメモリとサーバ装置のハードディスクとに分散して格納することとしたため、より安全性を向上させることができる。
【0122】
なお、第2の実施形態では、秘密鍵の分散情報をPCとUSBメモリとサーバ装置のハードディスクとに分散して格納することとしたが、秘密鍵の分散情報をPCと複数のUSBメモリとに分散して格納することとしてもよいし、複数のサーバ装置のハードディスクに分散して格納することとしてもよい。さらには、秘密鍵の分散情報をPCと複数のUSBメモリと複数のサーバ装置のハードディスクとに分散して格納することとしてもよい。
【0123】
また、第2の実施形態では、鍵ペアSK(1),PK(1)を生成(ステップS2)した後に、秘密鍵SK(1)の分散情報SSK(1,1),SSK(1,2)及びSSK(1,3)を生成(ステップS101)することとした。しかし、鍵ペアSK(i),PK(i)を生成する過程で分散情報SSK(1,1),SSK(1,2)及びSSK(1,3)を生成してもよい。具体的には、例えば、ランダムに分散情報SSK(1,1),SSK(1,2)及びSSK(1,3)生成し、それらを用いて秘密鍵SK(i)を生成し、生成した秘密鍵SK(i)を用いて公開鍵PK(i)を生成してもよい。なお、SSK(1,1),SSK(1,2)及びSSK(1,3)からの秘密鍵SK(i)の生成方式としては、例えば、SK(i)= SSK(i,1)(+)SSK(i,2)(+)SSK(i,3)とする方式、ビット結合値SSK(i,1)|SSK(i,2)を共通鍵としてSSK(i,3)を暗号化した暗号文をSK(i)とする方式、SSK(i,1)を共通鍵としてビット結合値SSK(i,2)|SSK(i,3)を暗号化した暗号文をSK(i)とする方式、SSK(1,1),SSK(1,2)及びSSK(1,3)のビット結合値SSK(i,1)|SSK(i,2)|SSK(i,3)のハッシュ値H(SSK(i,1)|SSK(i,2)|SSK(i,3))を秘密鍵SK(i)とする方式等を例示できる。
【0124】
また、散情報SSK(1,1),SSK(1,2)及びSSK(1,3)のみによって秘密鍵SK(i)を復元するのではなく、散情報SSK(1,1),SSK(1,2)及びSSK(1,3)とその他の情報(PCの固有値等)とによって秘密鍵SK(i)を復元する構成であってもよい。例えば、その他の情報Aを用い、SK(i)= SSK(i,1)(+)SSK(i,2)(+)SSK(i,3)(+)Aとする方式、SSK(i,1)を共通鍵としてSSK(i,2)|SSK(i,3)|Aを暗号化した暗号文をSK(i)とする方式、SSK(i,2)|SSK(i,3)|Aを共通鍵としてSSK(i,1)を暗号化した暗号文をSK(i)とする方式、SSK(i,1)、SSK(i,2)、SSK(i,3)及びAのビット結合値SSK(i,1)|SSK(i,2)|SSK(i,3)|Aのハッシュ値H(SSK(i,1)|SSK(i,2)|SSK(i,3)|A)を秘密鍵SK(i)とする方式等を例示できる。
【0125】
また、本形態では、USBメモリに格納にする分散情報SSK(i,2)をPC-i毎に設定することとしたが、複数のPC-iに共通の分散情報SSK(i,2)を用いる構成としてもよく、全てのPC-iに共通の分散情報SSK(i,2)を用いる構成としてもよい。同様に、本形態では、サーバ装置のハードディスクに格納にする分散情報SSK(i,3)をPC-i毎に設定することとしたが、複数のPC-iに共通の分散情報SSK(i,3)を用いる構成としてもよく、全てのPC-iに共通の分散情報SSK(i,3)を用いる構成としてもよい。
【0126】
また、各情報処理装置は必ずしも1つの筐体内に構成される必要はない。例えば、公開鍵と秘密鍵との鍵ペアを生成する鍵ペア生成部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の鍵ペア生成部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの鍵ペア生成部を相互に共用する構成であってもよい。同様に、秘密鍵分散部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の秘密鍵分散部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの秘密鍵分散部を相互に共用する構成であってもよい。
【0127】
〔第3の実施形態〕
次に、本発明の第3の実施形態について説明する。本形態は第1の実施形態の変形例であり、公開鍵暗号方式としてID-BASE暗号(IBE: Identity Based Encryption)を用いることにより、登録過程の処理を簡略化可能な形態である。以下、第1の実施形態との相違点を中心に説明を行う。なお、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(参考文献2)」等参照。
【0128】
<構成>
図28は、本形態の情報記録媒体共用システム200の全体構成を例示した概念図である。
【0129】
図28に例示するように、情報記録媒体共用システム200は、n(nは2以上の整数)個のPC210−1〜n(「情報処理装置PC(i)(i∈{1,...,n}」に相当)と、これらのPC210−1〜n間で共用されるUSBメモリ20(「情報記録媒体」に相当)と、ID-BASE暗号用の鍵を生成するID−BASE鍵生成装置230とを具備する。
【0130】
PC210−1〜nは、USBメモリ20へ暗号文を格納し、また、USBメモリ20に格納された暗号文から平文を復号することにより相互に情報を共有する。また、本形態のPC210−1〜nとID−BASE鍵生成装置230とは、専用回線又は通信情報の暗号化によって安全性が確保された通信経路によって接続されている。
【0131】
図29(a)は、本形態のPC210−i(i∈{1,...,n})の機能構成を例示したブロック図であり、図29(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
【0132】
図29(a)に示すように、PC210−iと第1の実施形態のPC10−iとの相違点は、PC210−iが鍵ペア生成部14b及び秘密鍵分散部14kを具備せず、通信部17を具備し、鍵秘匿化部14cが鍵秘匿化部114cに置換され、共通鍵復元部14dが共通鍵復元部214dに置換された点である。また、図29(b)に示すように、本形態のUSBメモリ20の機能構成は第1の実施形態と同様であるが、記憶部22に格納されるデータが相違する。
【0133】
図30は、本形態のID−BASE鍵生成装置230の機能構成を例示したブロック図である。
【0134】
図30に示すように、ID−BASE鍵生成装置230は、乱数生成部231aと、パラメータ設定部231bと、スカラー倍算部231cと、制御部231dと、一時メモリ231eと、秘密鍵分散部231kと、内部書き込み部232aと、内部読み込み部232bと、記憶部233と、通信部234とを有している。本形態のID−BASE鍵生成装置230はCPU、RAM、ROM、LANカード等からなる、通信機能を備えたノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図30に示す機能構成が構築される。
【0135】
<処理>
次に本形態の処理を説明する。
本形態の処理は、(1)マスター公開鍵MPSや秘密鍵SK(i)を各PC210−iに配送する過程(鍵配送過程)、(2)USBメモリ20を共用するn個のPC210−iを、USBメモリ20に登録する過程(登録過程)、(3)PC210−iがUSBメモリ20に暗号文を書き込む過程(書き込み過程)、(4)PC210−iがUSBメモリ20から暗号文を読み込んで復号する過程(読み込み過程)、(5)USBメモリ20から登録を削除する過程(削除過程)に大別できる。以下、各過程を説明する。
【0136】
[鍵配送過程]
まず、鍵配送過程を説明する。
鍵配送過程では、ID-BASE鍵生成装置230が、公知のID-BASE暗号アルゴリズム(例えば、参考文献2参照)に従い、すべてのPC210−iに対して共通のマスター公開鍵MPKと、各PC210−i固有の秘密鍵SK(i)とを生成する。そして、各秘密鍵SK(i)の分散情報SSK(i,1)及びSSK(i,2)を生成し、マスター公開鍵MPKと分散情報SSK(i,1)及びSSK(i,2)との配送を行う。以下にこの処理の一例を説明する。
【0137】
《鍵生成処理の一例》
まず、ID−BASE鍵生成装置230(図30)の乱数生成部231aが楕円曲線E上の点(sx,sy)をランダムに定める。内部書き込み部232aは、当該点(sx,sy)の情報を、マスター秘密鍵MSKとして、ID−BASE鍵生成装置230の記憶部233に安全に格納する。また、ID−BASE鍵生成装置230のパラメータ設定部231bが整数パラメータPを定める。そして、スカラー倍算部231cがマスター秘密鍵MSKを楕円曲線E上でP倍したスカラー倍算値P・MSK(楕円曲線E上の点)を算出する。なお、楕円曲線上でのスカラー倍算には、例えは、二進展開法や窓NAF法等の公知の楕円スカラー倍算方法を用いる。そして、ID−BASE鍵生成装置230の内部書き込み部232aは、MPK=(P, P・MSK)をマスター公開鍵として記憶部233に格納する。
【0138】
また、ID−BASE鍵生成装置30の内部読み込み部232bが、記憶部233から、マスター公開鍵MPKと予め格納しておいた各PC210−i固有の情報である識別情報ID(i)とを読み込み、スカラー倍算部231cに送る。スカラー倍算部231cは、各識別情報ID(i)とマスター秘密鍵MSKとを用い、楕円曲線E上でマスター秘密鍵MSKをID(i)倍したスカラー倍算値ID(i)・MSK(楕円曲線E上の点)を求める。ID−BASE鍵生成装置230の内部書き込み部232aは、その演算結果を各PC210−i固有の秘密鍵SK(i)として記憶部233に格納する。
【0139】
また、ID−BASE鍵生成装置30の内部読み込み部232bが、記憶部233から各PC210−i固有の秘密鍵SK(i)を読み込み、秘密鍵分散部231kに送る。秘密鍵分散部231kは、秘密鍵SK(i)から分散情報SSK(i,1),SSK(i,2)を生成する。
【0140】
そして、ID−BASE鍵生成装置230の通信部234は、上述の例のように生成したマスター公開鍵MPKと分散情報SSK(i,1)とを、各SSK(i,1)に対応する各PC210−iに送信する。各PC210−iは、マスター公開鍵MPKと分散情報SSK(i,1)とを受信し、自らの記憶部13に格納する。さらに、ID−BASE鍵生成装置230の通信部234は、上述の例のように生成した全ての分散情報SSK(i,2)を、登録処理を行うPC210−1に送信する。PC210−1は、全ての分散情報SSK(i,2)を受信し、自らの記憶部13に格納する(《鍵生成処理の一例》の説明終わり)。
【0141】
[登録過程]
次に、登録過程を説明する。
図31は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図37は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、PC210−1がPC210−1とPC210−2との登録処理を行う例を示す。また、各処理の前提としてPC210−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0142】
まず、PC210−1にUSBメモリ20が装着・マウントされると、PC210−1の出力部16は、登録を行うPC210−iの識別情報ID(i)の入力指示表示を行う。利用者は、この入力指示に従い、入力部15(図31(a))に対し、登録を行うPC210−iの識別情報ID(i)を入力する。本形態の例では、PC210−1,2の識別情報ID(1), ID(2)が入力部15に入力され、これらが記憶部13に格納される(ステップS201)。
【0143】
次に、PC210−1の共通鍵生成部14aが共通鍵KAを生成(例えばランダムに生成)して出力する(ステップS202)。また、内部読み込み部12bが、記憶部13からマスター公開鍵MPKと識別情報ID(1), ID(2)とを読み込む。共通鍵KAとマスター公開鍵MPKと識別情報ID(1), ID(2)とは、鍵秘匿化部214cに入力される。鍵秘匿化部214cは、マスター公開鍵MPKと識別情報ID(1), ID(2)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(1), KA),IBE(MPK, ID(2), KA)を生成する(ステップS203)。以下に、前述の《鍵生成処理の一例》で生成されたマスター公開鍵MPKを用いた場合のステップS203の処理を例示する。なお、この例の識別情報ID(i)は整数であり、例えば、メールアドレスの文字列を数値表現した情報である。
【0144】
《ステップS203の処理の一例》
まず、鍵秘匿化部214cの乱数生成部214ca(図31(a))が前述の楕円曲線E上の点r=(rx,ry)をランダムに定め、鍵秘匿化部214cのスカラー倍算部214cbが楕円曲線E上の点rを楕円曲線E上でID(i)倍したスカラー倍算値ID(i)・r(楕円曲線E上の点)を算出する。さらに、鍵秘匿化部214cのスカラー倍算部214cbは、楕円曲線E上の点rを楕円曲線E上でP(Pはマスター公開鍵MPKの一部)倍したスカラー倍算値P・r(楕円曲線E上の点)を算出する。
【0145】
次に、鍵秘匿化部214cのペアリング演算部214ccが、公知のペアリング関数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)の関係を満たす(参考文献2や「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81(参考文献3)」等参照)。次に、鍵秘匿化部214cの共通鍵暗号部14cdが、関数値CK(i)を鍵とし、共通鍵暗号方式(CamelliaやAES等)によって共通鍵KAを暗号化し、その暗号文CE(CK(i),KA)とスカラー倍算値P・rとの組を暗号文IBE(MPK, ID(i), KA)=(CE(CK(i),KA), P・r)として出力する(《ステップS203の処理の一例》の説明終わり)。
【0146】
また、PC210−1の内部読み込み部12bは記憶部13からさらに分散情報SSK(1,2), SSK(2,2)を読み込み、分散情報SSK(1,2), SSK(2,2)と識別情報ID(1),ID(2)と暗号文IBE(MPK, ID(1), KA) ,IBE(MPK, ID(2), KA)とは、外部書き込み部11aに送られる。外部書き込み部11aは、これらをUSBメモリ20のインタフェース部21(図31(b))に送り、インタフェース部21は、識別情報ID(1)と暗号文IBE(MPK, ID(1), KA)と分散情報SSK(1,2)とを関連付け、識別情報ID(2)と暗号文IBE(MPK, ID(2), KA)と分散情報SSK(2,2)とを関連付け、それらを記憶部22の領域22bに格納する(ステップS204)。これらの情報がUSBメモリ20に格納されると、PC210−1の内部書き込み部12aは、記憶部13から分散情報SSK(1,2), SSK(2,2)を削除する。
【0147】
以上により、PC210−1,2の登録が終了する。なお、説明の簡略化のため、ここではPC210−1,2の登録のみを行う場合を例示した。しかし、同様な方法によりPC210−1がその他のPC210−iの登録を行うことも可能である。以下では、全てのPC210−i(i∈{1,...,n})が登録され、各識別情報ID(i)と暗号文IBE(MPK, ID(i), KA)と分散情報SSK(i,2)がUSBメモリ20の記憶部22の領域22bに格納されたものとする。
【0148】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。
図32は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図33は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図38は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC210−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC210−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0149】
まず、PC210−1にUSBメモリ20が装着・マウントされているものとする。この状態で、WordやExcel(登録商標)等のアプリケーションソフトウェアを実行するPC210−1のアプリケーション実行部14h(図32(a))が、制御部14iに対し、平文M(1)の暗号文のUSBメモリ20への書き込み要求を行う。これをトリガとして、PC210−1の内部読み込み部12bが記憶部13から識別情報ID(1)を読み込み、これをPC210−1の外部読み込み部11bに送る。当該外部読み込み部11bは、USBメモリ20の記憶部22の領域22b(図32(b))から、識別情報ID(1)に関連付けられている暗号文IBE(MPK, ID(1), KA)を読み込む(ステップS211)。
【0150】
当該暗号文IBE(MPK, ID(1), KA)は、PC210−1の共通鍵復元部214d(図32(a))に送られる。また、これをトリガとして、PC210−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC210−1の秘密鍵復元部14mに送る(ステップS212)。さらに、PC210−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC210−1の秘密鍵復元部14mに送る(ステップS213)。PC210−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC210−1の秘密鍵SK(1)を復元する(ステップS214)。
【0151】
復元された秘密鍵SK(1)は共通鍵復元部214dに送られる。共通鍵復元部214dは、秘密鍵SK(1)を用いて暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), IBE(MPK, ID(1), KA))〕を抽出し、共通鍵KAを暗号化部14eに送る(ステップS215)。以下に《ステップS203の処理の一例》で暗号化された暗号文IBE(MPK, ID(1), KA)の復号処理を例示する。
【0152】
《ステップS215の処理の一例》
この例では、まず、共通鍵復元部214dのペアリング演算部214da(図32(a))が、前述のペアリング関数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)を満たす。次に、共通鍵復元部214dの共通鍵復号部214dbが、このPair(P・r, ID(1)・MSK)= CK(i)を用い、暗号文IBE(MPK, ID(i), KA)=(CE(CK(i),KA), P・r) の一部であるCE(CK(i),KA)を復号してKAを抽出する(《ステップS215の処理の一例》の説明終わり)。
【0153】
また、PC210−1のアプリケーション実行部14hは、平文M(1)をその暗号化部14eに送り、当該暗号化部14eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS216)。
【0154】
生成された暗号文SE(KA, M(1))は、外部書き込み部11aによって、USBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22c(図32(b))に格納される(ステップS217/書き込み過程終了)。
【0155】
次に、PC210−2にUSBメモリ20が装着・マウントされる。この状態で、PC210−2のアプリケーション実行部14hは、制御部14iに対し、暗号文SE(KA, M(1))のUSBメモリ20からの読み込み要求を行う。これをトリガとして、制御部14iはPC210−2の外部読み込み部11b(図33(a))に指示を与え、PC210−2の外部読み込み部11bは、USBメモリ20の記憶部22の領域22c(図33(b))から暗号文SE(KA, M(1))を読み込み(ステップS218)、さらに、領域22bから暗号文IBE(MPK, ID(2), KA)を読み込む(ステップS219)。
【0156】
次に、PC210−2の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC210−2の秘密鍵復元部14mに送る(ステップS220)。さらに、PC210−2の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC210−2の秘密鍵復元部14mに送る(ステップS221)。PC210−2の秘密鍵復元部14mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)とを用いてPC210−2の秘密鍵SK(2)を復元する(ステップS222)。
【0157】
次に、PC210−2の共通鍵復元部214dが、復元された秘密鍵SK(2)を用いて暗号文IBE(MPK, ID(2), KA)を復号して共通鍵KA〔KA=PD(SK(2), IBE(MPK, ID(2), KA))〕を抽出する(ステップS223)。その後、PC210−2の復号化部14fが、当該共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS224)。
【0158】
抽出された平文M(1)は、PC210−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0159】
[削除過程]
次に、本形態の削除過程について説明する。
図34〜36は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図39は、本形態の削除過程を説明するためのシーケンス図である。
【0160】
本形態の削除過程は、単に登録削除対象のPC210−wのデータをUSBメモリ20から削除するだけではなく、これと併せて平文の暗号化に用いる共通鍵KAを再設定し、USBメモリ20に格納されている暗号文も生成し直す。これにより、登録が削除されたPC210−wが、過去に取得した共通鍵KAを用い、USBメモリ20に格納された暗号文を復号できてしまうという事態を防止できる。以下では、PC210−1がUSBメモリ20からPC210−2の登録を削除する例を示す。
【0161】
まず、PC210−1にUSBメモリ20が装着・マウントされているものとする。この状態で、利用者が登録削除対象を例えば以下のように指定する。まず、外部読み込み部11bがUSBメモリ20の記憶部22の領域22bから全ての識別情報ID(i)を読み込む。各識別情報ID(i)は、出力部16から出力される(例えば、画面上に表示される)。利用者は、出力された識別情報ID(i)を参照しながら、削除対象の識別情報ID(w)を入力部15に入力する。この例では識別情報ID(2)が入力部15に入力されたものにする。制御部14iは、この入力結果に基づき以下のように削除過程を実行させる。
【0162】
まず、PC210−1の内部読み込み部12bが、記憶部13から識別情報ID(1)を読み込み、識別情報ID(1)を外部読み込み部11b(図34(a))に送る。当該外部読み込み部11b(図34(a))は、USBメモリ20の記憶部22の領域22b(図34(b))から、識別情報ID(1)に関連付けられた暗号文IBE(MPK, ID(1), KA)を読み込む(ステップS231)。
【0163】
次に、PC210−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC210−1の秘密鍵復元部14mに送る(ステップS232)。さらに、PC210−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC210−1の秘密鍵復元部14mに送る(ステップS233)。PC210−1の秘密鍵復元部14mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)とを用いてPC210−1の秘密鍵SK(1)を復元する(ステップS234)。
【0164】
共通鍵復元部214dは、復元された秘密鍵SK(1)を用い、USBメモリ20から読み込まれた暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), IBE(MPK, ID(1), KA))〕を抽出する(ステップS235)。また、PC210−1の共通鍵生成部14aが、新たな共通鍵KAnewを生成する(ステップS236)。
【0165】
また、PC210−1の外部読み込み部11bが、USBメモリ20からPC210−iに対応する暗号文SE(KA, M(i))(i∈{1,...,n})を読み込む(ステップS237)。PC210−1の復号化部14fは、共通鍵復元部214dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS238)。
【0166】
次に、PC210−1の暗号化部14eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部14eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS239)。各暗号文SE(KAnew, M(i))は、PC210−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該暗号文SE(KAnew, M(i))をUSBメモリ20のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図34(b))に格納する(ステップS240)。
【0167】
次に、PC210−1の外部読み込み部11b(図35(a))が、USBメモリ20の記憶部22の領域22bから、登録削除対象のPC210−2以外のPC210−s(s≠2)の識別情報ID(s)を読み込む(ステップS241)。
【0168】
ステップS241で読み込まれた識別情報ID(s)とステップS236で新たに生成された共通鍵KAnewとは鍵秘匿化部214cに入力される。また、内部読み込み部12bが記憶部13からマスター公開鍵MPKを読み込み、当該マスター公開鍵MPKが鍵秘匿化部214cに入力される。そして、鍵秘匿化部214cは、マスター公開鍵MPKと識別情報ID(s)とを用い、ID-BASE暗号方式によって新たな共通鍵KAnewを暗号化した暗号文IBE(MPK, ID(s), KAnew)を生成する(ステップS242)。各暗号文IBE(MPK, ID(s), KAnew)は、PC210−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られる。当該インタフェース部21は、各暗号文IBE(MPK, ID(s), KAnew)を、USBメモリ20の記憶部22の領域22bに、それぞれ識別情報ID(s)と対応付けて格納(図35(b))する(ステップS243)。
【0169】
次に、PC210−1の削除部14g(図36(a))が削除命令を出し、これを受けた外部書き込み部11aは、USBメモリ20の記憶部22の領域22c(図36(b))から暗号文SE(KA, M(i))を削除し、領域22bからIBE(MPK, ID(i), KA)、識別情報ID(2)を削除する(ステップS244)。
【0170】
<本形態の特徴>
以上のように、本形態では、秘密鍵の分散情報をPCとUSBメモリとに分散して格納することとしたため、PCに格納された情報が第三者に盗聴された場合であっても、直ちに秘密鍵が第三者に知られることはない。これにより安全性を向上させることができる。また、本形態では、公開鍵暗号方式としてID-BASE暗号を用いることとしたため、登録過程の処理を簡略化できる。
【0171】
〔第4の実施形態〕
次に本発明の第4の実施形態について説明する。
本形態は第3の実施形態の変形例であり、共通鍵KAを生成したPC210−1以外のPCも登録処理を実行する例である。以下では、本形態の登録処理のみを説明する。
【0172】
[登録過程]
前提として、第1の実施形態のようにPC210−1,2が登録され、USBメモリ20に暗号文IBE(MPK, ID(1), KA), IBE(MPK, ID(2), KA)と分散情報SSK(1,2), SSK(2,2)が格納され、各PC210−iの記憶部に分散情報SSK(i,1)が格納されているものとする。本形態では、共通鍵KAを生成したPC210−1以外のPC210−2が、PC210−3の登録処理を行う例を説明する。
【0173】
図40は、本形態の登録過程を説明するためのシーケンス図である。
【0174】
まず、PC210−2にUSBメモリ20が装着・マウントされると、PC210−2の出力部16(図29)は、登録を行うPC210−iの識別情報ID(i)の入力指示表示を行う。利用者は、この入力指示に従い、入力部15に、登録を行うPC210−iの識別情報ID(i)を入力する。本形態の例では、PC210−3の識別情報ID(3)が入力部15に入力され、これらが記憶部13に格納される(ステップS251)。
【0175】
次に、PC210−2の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから識別情報ID(2)に対応する暗号文IBE(MPK, ID(2), KA)を読み込む(ステップS252)。また、PC210−2の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC210−2の秘密鍵復元部14mに送る(ステップS253)。さらに、PC210−2の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC210−2の秘密鍵復元部14mに送る(ステップS254)。PC210−2の秘密鍵復元部14mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)とを用いてPC210−2の秘密鍵SK(2)を復元する(ステップS255)。
【0176】
そして、PC210−2の共通鍵復元部214dが、復元された秘密鍵SK(2)を用いて暗号文IBE(MPK, ID(2), KA)を復号し、共通鍵KA〔KA=PD(SK(2), IBE(MPK, ID(2), KA))〕を抽出する(ステップS256)。
【0177】
次に、内部読み込み部12bが、記憶部13からマスター公開鍵MPKと識別情報ID(3)とを読み込む。共通鍵KAとマスター公開鍵MPKと識別情報ID(3)とは、鍵秘匿化部214cに入力される。鍵秘匿化部214cは、マスター公開鍵MPKと識別情報ID(3)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(3), KA)を生成する(ステップS257)。
【0178】
内部読み込み部12bが記憶部13から読み込んだ識別情報ID(3)と、鍵秘匿化部214cが生成した暗号文IBE(MPK, ID(3), KA)とは、外部書き込み部11aに送られる。外部書き込み部11aは、これらをUSBメモリ20のインタフェース部21に送り、インタフェース部21は、識別情報ID(3)と暗号文IBE(MPK, ID(3), KA)とを関連付け、それらを記憶部22の領域22bに格納する(ステップS258)。
【0179】
以上により、PC210−3の登録処理が完了する。なお、登録されたPC210−3は、同様な処理によってその他のPC210の登録処理を実行することができる。また、第4の実施形態の変形例として、共通鍵KAを生成するPC210−1が、暗号文IBE(MPK, ID(1), KA)をUSBメモリ20に格納した後、暗号文IBE(MPK, ID(1), KA)を復号して共通鍵KAを取得し、他のPC210−iに対応する暗号文IBE(MPK, ID(i), KA)を生成してもよい。
【0180】
〔第5の実施形態〕
次に、本発明の第5の実施形態について説明する。本形態は第3の実施形態の変形例であり、PC-i(「情報処理装置」に相当)の記憶部に格納された分散情報SSK(i,1)と、USBメモリ(「情報記録媒体」に相当)に格納された分散情報SSK(i,2)と、サーバ装置120の122(「第2情報記録媒体」に相当)に格納された分散情報SSK(i,3)とから秘密鍵SK(i)を復元する形態である。以下では、第2、3の実施形態との相違点を中心に説明を行い、第3の実施形態と共通する事項については説明を省略する。
【0181】
<構成>
図41は、本形態の情報記録媒体共用システム300の全体構成を例示した概念図である。
【0182】
図41に例示するように、情報記録媒体共用システム300は、n(nは2以上の整数)個のPC310−1〜n(「情報処理装置PC(i)(i∈{1,...,n}」に相当)と、これらのPC310−1〜n間で共用されるUSBメモリ20(「情報記録媒体」に相当)と、ハードディスク122(「第2情報記録媒体」に相当)を具備するサーバ装置120と、ID-BASE暗号用の鍵を生成するID−BASE鍵生成装置330とを具備する。
【0183】
図42(a)は、本形態のPC310−i(i∈{1,...,n})の機能構成を例示したブロック図であり、図42(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
【0184】
図42(a)に示すように、PC310−iと第3の実施形態のPC10−iとの相違点は、秘密鍵復元部14mが秘密鍵復元部114mに置換された点である。また、図42(b)に示すように、本形態のUSBメモリ20の機能構成は第1の実施形態と同様であるが、記憶部22に格納されるデータが相違する。
【0185】
図43は、本形態のID−BASE鍵生成装置330の機能構成を例示したブロック図である。
【0186】
図43に示すように、本形態のID−BASE鍵生成装置330と第3の実施形態のID−BASE鍵生成装置230との相違点は、秘密鍵分散部231kが秘密鍵分散部331kに置換された点である。
【0187】
<処理>
次に本形態の処理を説明する。
本形態の処理は、(1)鍵配送過程 、(2)登録過程、(3)書き込み過程、(4)読み込み過程、(5)削除過程に大別できる。以下、各過程を説明する。
【0188】
[鍵配送過程]
まず、鍵配送過程を説明する。
鍵配送過程では、ID-BASE鍵生成装置330が、公知のID-BASE暗号アルゴリズム(例えば、参考文献2参照)に従い、すべてのPC310−iに対して共通のマスター公開鍵MPKと、各PC310−i固有の秘密鍵SK(i)とを生成する。そして、各秘密鍵SK(i)の分散情報SSK(i,1),SSK(i,2)及びSSK(i,3)を生成し、マスター公開鍵MPKと分散情報SSK(i,1),SSK(i,2)及びSSK(i,3)との配送を行う。
【0189】
具体的には、まず、第3の実施形態と同様な手順により、マスター公開鍵MPKと、各PC310−i固有の秘密鍵SK(i)とを生成する。そして、ID−BASE鍵生成装置330の秘密鍵分散部331kは、秘密鍵SK(i)から分散情報SSK(i,1),SSK(i,2), SSK(i,3)を生成する。
【0190】
そして、ID−BASE鍵生成装置330の通信部234は、上述の例のように生成したマスター公開鍵MPKと分散情報SSK(i,1)とを、各SSK(i,1)に対応する各PC310−iに送信する。各PC310−iは、マスター公開鍵MPKと分散情報SSK(i,1)とを受信し、自らの記憶部13に格納する。さらに、ID−BASE鍵生成装置330の通信部234は、上述の例のように生成した全ての分散情報SSK(i,2)及びSSK(i,3)を、登録処理を行うPC310−1に送信する。PC310−1は、全ての分散情報SSK(i,2)及びSSK(i,3)を受信し、自らの記憶部13に格納する。
【0191】
[登録過程]
次に、登録過程を説明する。
図44は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図48は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、PC310−1がPC310−1とPC310−2との登録処理を行う例を示す。
【0192】
まず、第3の実施形態と同様に、PC310−1,2の識別情報ID(1), ID(2)がPC310−1(図44(a))の入力部15に入力され、これらが記憶部13に格納される(ステップS261)。次に、PC310−1の共通鍵生成部14aが共通鍵KAを生成し(ステップS262)、鍵秘匿化部214cが、マスター公開鍵MPKと識別情報ID(1), ID(2)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(1), KA),IBE(MPK, ID(2), KA)を生成する(ステップS263)。そして、第3の実施形態と同様に、分散情報SSK(1,2), SSK(2,2)と識別情報ID(1),ID(2)と暗号文IBE(MPK, ID(1), KA) ,IBE(MPK, ID(2), KA)とが、外部書き込み部11aに送られる。外部書き込み部11aは、これらをUSBメモリ20(図44(b))のインタフェース部21に送り、インタフェース部21は、識別情報ID(1)と暗号文IBE(MPK, ID(1), KA)と分散情報SSK(1,2)とを関連付け、識別情報ID(2)と暗号文IBE(MPK, ID(2), KA)と分散情報SSK(2,2)とを関連付け、それらを記憶部22の領域22bに格納する(ステップS264)。さらに、PC310−1の内部読み込み部12bが、記憶部13から分散情報SSK(1,3), SSK(2,3)と識別情報ID(1),ID(2)とを読み込み、これらの分散情報SSK(1,3), SSK(2,3)と識別情報ID(1),ID(2)とは外部書き込み部11aに送られる。外部書き込み部11aは、これらを相互に関連付けてサーバ装置120(図44(c))のハードディスク122に格納する(ステップS265)。その後、PC210−1の内部書き込み部12aは、記憶部13から分散情報SSK(1,2), SSK(2,2), SSK(1,3), SSK(2,3)を削除する。
【0193】
以上により、PC310−1,2の登録が終了する。なお、説明の簡略化のため、ここではPC310−1,2の登録のみを行う場合を例示した。しかし、同様な方法によりPC310−1がその他のPC310−iの登録を行うことも可能である。以下では、全てのPC310−i(i∈{1,...,n})が登録され、各識別情報ID(i)と暗号文IBE(MPK, ID(i), KA)と分散情報SSK(i,2)がUSBメモリ20の記憶部22の領域22bに格納され、各識別情報ID(i)と分散情報SSK(i,3)がサーバ装置120のハードディスク122に格納されたものとする。
【0194】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。
図45は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図46は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図49は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC310−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC310−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0195】
まず、PC310−1とUSBメモリ20によって、第3の実施形態のステップS211と同じ処理が実行される。その後、PC310−1(図45(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC310−1の秘密鍵復元部114mに送る(ステップS271)。さらに、PC310−1の外部読み込み部11bが、USBメモリ20(図45(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC310−1の秘密鍵復元部114mに送る(ステップS272)。また、PC310−1の外部読み込み部11bが、サーバ装置120(図45(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC310−1の秘密鍵復元部114mに送る(ステップS273)。PC310−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC310−1の秘密鍵SK(1)を復元する(ステップS274)。
【0196】
次に、PC310−1とUSBメモリ20とPC310−2において、第3の実施形態のステップS215〜S219の処理を行う。その後、PC310−2(図46(a))の内部読み込み部12bが、記憶部13から分散情報SSK(2,1)を読み込み、分散情報SSK(2,1)をPC310−2の秘密鍵復元部114mに送る(ステップS275)。さらに、PC310−2の外部読み込み部11bが、USBメモリ20(図46(b))の記憶部22の領域22bから、識別子ID(2)に関連付けられている分散情報SSK(2,2)を読み込み、それをPC310−2の秘密鍵復元部114mに送る(ステップS276)。また、PC310−2の外部読み込み部11bが、サーバ装置120(図46(c))のハードディスク122から、識別子ID(2)に関連付けられている分散情報SSK(2,3)を読み込み、それをPC310−2の秘密鍵復元部114mに送る(ステップS277)。PC310−2の秘密鍵復元部114mは、当該分散情報SSK(2,1)と分散情報SSK(2,2)と分散情報SSK(2,3)とを用いてPC310−2の秘密鍵SK(2)を復元する(ステップS278)。
【0197】
その後、第3の実施形態のステップS224〜S225と同じ処理を実行する。
【0198】
[削除過程]
次に、本形態の削除過程について説明する。
図47は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図50は、本形態の削除過程を説明するためのシーケンス図である。
【0199】
まず、PC310−1とUSBメモリ20とによって、第3の実施形態のステップS231と同じ処理が実行される。その後、PC310−1(図47(a))の内部読み込み部12bが、記憶部13から分散情報SSK(1,1)を読み込み、分散情報SSK(1,1)をPC310−1の秘密鍵復元部114mに送る(ステップS281)。さらに、PC310−1の外部読み込み部11bが、USBメモリ20(図47(b))の記憶部22の領域22bから、識別子ID(1)に関連付けられている分散情報SSK(1,2)を読み込み、それをPC310−1の秘密鍵復元部114mに送る(ステップS282)。また、PC310−1の外部読み込み部11bが、サーバ装置120(図47(c))のハードディスク122から、識別子ID(1)に関連付けられている分散情報SSK(1,3)を読み込み、それをPC310−1の秘密鍵復元部114mに送る(ステップS283)。PC310−1の秘密鍵復元部114mは、当該分散情報SSK(1,1)と分散情報SSK(1,2)と分散情報SSK(1,3)とを用いてPC310−1の秘密鍵SK(1)を復元する(ステップS284)。
【0200】
その後、PC310−1とUSBメモリ20とによって、第3の実施形態のステップS235〜S244と同じ処理が実行される。
【0201】
<本形態の特徴>
以上のように、本形態では、秘密鍵の分散情報をPCとUSBメモリとサーバ装置のハードディスクとに分散して格納することとしたため、より安全性を向上させることができる。
【0202】
なお、第5の実施形態では、秘密鍵の分散情報をPCとUSBメモリとサーバ装置のハードディスクとに分散して格納することとしたが、秘密鍵の分散情報をPCと複数のUSBメモリとに分散して格納することとしてもよいし、複数のサーバ装置のハードディスクに分散して格納することとしてもよい。さらには、秘密鍵の分散情報をPCと複数のUSBメモリと複数のサーバ装置のハードディスクとに分散して格納することとしてもよい。
【0203】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施形態では、特定のPCを登録から削除する削除過程において共通鍵を再生成し、USBメモリの情報を書き換えることとしたが、特定のPCを登録から削除することなく共通鍵を再生成し、USBメモリの情報を書き換える処理を行ってもよい。このような処理は、例えば、共通鍵が第三者に漏えいした場合等に有効である。
【0204】
また、上述の各実施形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示し、第2情報記録媒体の一例としてハードディスクを例示した。しかし、本発明はこれらに限定されるものではない。例えば、情報処理装置として、携帯電話機、携帯情報端末(PDA)等を用いてもよい。また、情報記録媒体として、DVD−RAM(Random Access Memory)、CD−R(Recordable)/RW(ReWritable)、MO(Magneto-Optical disc)等を用いてもよいし、ハードディスク等の非可搬型の記録媒体を用いてもよいし、携帯電話機、携帯情報端末(PDA)、パーソナルコンピュータ等の計算装置を具備する装置のメモリを用いてもよい。また、第2情報記録媒体として、DVD−RAM、CD−R/RW、MO等を用いてもよいし、USBメモリ等の可搬型記録媒体を用いてもよいし、携帯電話機、携帯情報端末(PDA)、パーソナルコンピュータ等の計算装置を具備する装置のメモリを用いてもよい。
【0205】
また、複数の情報記録媒体を用い、情報記録媒体に格納される情報を分散して格納してもよい。例えば、USBメモリ20の記憶部22の領域22bに格納される情報と領域22cに格納される情報とを、複数の情報記録媒体に分散して格納することとしてもよい。これにより安全性が向上する。
【0206】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0207】
また、上述の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)等を用いることができる。
【0208】
また、このプログラムの流通は、例えば、そのプログラムを記録したUSBメモリ、DVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0209】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。
【0210】
なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0211】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0212】
本発明の利用分野としては、例えば、USBメモリに格納するデータの秘匿化等を例示できる。
【図面の簡単な説明】
【0213】
【図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は、第1の実施形態の登録過程を説明するためのシーケンス図である。
【図13】図13は、第1の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図14】図14は、第1の実施形態の削除過程を説明するためのシーケンス図である。
【図15】図15は、第2の実施形態の情報記録媒体共用システムの全体構成を例示した概念図である。
【図16】図16(a)は、第2の実施形態のPCの機能構成を例示したブロック図であり、図16(b)は、本形態のUSBメモリの機能構成を例示したブロック図である。
【図17】図17は、第2の実施形態のサーバ装置の機能構成を例示したブロック図である。
【図18】図18は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図19】図19は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図20】図20は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図21】図21は、第2の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図22】図22は、第2の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図23】図23は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図24】図24は、第2の実施形態の登録過程を説明するためのシーケンス図である。
【図25】図25は、第2の実施形態の登録過程を説明するためのシーケンス図である。
【図26】図26は、第2の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図27】図27は、第2の実施形態の削除過程を説明するためのシーケンス図である。
【図28】図28は、第3の実施形態の情報記録媒体共用システムの全体構成を例示した概念図である。
【図29】図29(a)は、第3の実施形態のPCの機能構成を例示したブロック図であり、図29(b)は、本形態のUSBメモリの機能構成を例示したブロック図である。
【図30】図30は、第3の実施形態のID−BASE鍵生成装置の機能構成を例示したブロック図である。
【図31】図31は、第3の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図32】図32は、第3の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図33】図33は、第3の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図34】図34は、第3の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図35】図35は、第3の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図36】図36は、第3の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図37】図37は、第3の実施形態の登録過程を説明するためのシーケンス図である。
【図38】図38は、第3の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図39】図39は、第3の実施形態の削除過程を説明するためのシーケンス図である。
【図40】図40は、第4の実施形態の登録過程を説明するためのシーケンス図である。
【図41】図41は、第5の実施形態の情報記録媒体共用システムの全体構成を例示した概念図である。
【図42】図42(a)は、第5の実施形態のPCの機能構成を例示したブロック図であり、図42(b)は、本形態のUSBメモリの機能構成を例示したブロック図である。
【図43】図43は、第5の実施形態のID−BASE鍵生成装置の機能構成を例示したブロック図である。
【図44】図44は、第5の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図45】図45は、第5の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図46】図46は、第5の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図47】図47は、第5の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図48】図48は、第5の実施形態の登録過程を説明するためのシーケンス図である。
【図49】図49は、第5の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図50】図50は、第5の実施形態の削除過程を説明するためのシーケンス図である。
【符号の説明】
【0214】
1,100,200,300 情報記録媒体共用システム
10,110,210,310 PC(「情報処理装置」に相当)
20 USBメモリ(「情報記録媒体」に相当)
120 サーバ装置
122 ハードディスク(「第2の情報記録媒体」に相当)
【特許請求の範囲】
【請求項1】
n(nは2以上の整数)個の情報処理装置PC(i)(i=1,...,n)が情報記録媒体を共用し、当該情報記録媒体へ暗号文を格納し、当該情報記録媒体に格納された暗号文から平文を復号する、情報記録媒体のセキュリティ方法であって、
情報処理装置PC(i)に対応する公開鍵暗号方式の秘密鍵SK(i)の分散情報SSK(i,1)を上記情報処理装置PC(i)の記憶部に格納する過程と、当該秘密鍵SK(i)の分散情報SSK(i,2)を上記情報記録媒体に格納する過程と、情報処理装置PC(i)に対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程と、を具備する登録過程と、
上記情報記録媒体に暗号文PE(PK(p), KA)と分散情報SSK(p,2)とが格納され、自らの記憶部に分散情報SSK(p,1)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(p), KA)を読み込む過程と、上記情報処理装置PC(p)の内部読み込み部が、上記情報処理装置PC(p)の記憶部から分散情報SSK(p,1)を読み込む過程と、上記情報処理装置PC(p)の外部読み込み部が、上記情報記録媒体から分散情報SSK(p,2)を読み込む過程と、上記情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記情報処理装置PC(p)の秘密鍵SK(p)を復元する過程と、上記情報処理装置PC(p)の共通鍵復元部が、復元された秘密鍵SK(p)を用いて暗号文PE(PK(p), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、当該暗号文SE(KA, M(p))を上記情報記録媒体に格納する過程と、を具備する書き込み過程と、
上記情報記録媒体に暗号文PE(PK(q), KA)と分散情報SSK(q,2)とが格納され、自らの記憶部に分散情報SSK(q,1)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(q), KA)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、上記情報処理装置PC(q)の内部読み込み部が、上記情報処理装置PC(q)の記憶部から分散情報SSK(q,1)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から分散情報SSK(q,2)を読み込む過程と、上記情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記情報処理装置PC(q)の秘密鍵SK(q)を復元する過程と、上記情報処理装置PC(q)の共通鍵復元部が、復元された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項2】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
何れかの情報処理装置PC(r)(r=1,...,n)が実行する、
上記情報処理装置PC(r)の共通鍵生成部が共通鍵KAを生成する過程と、上記情報処理装置PC(r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(r)と公開鍵PK(r)とを生成する過程と、上記情報処理装置PC(r)の内部書き込み部が、上記秘密鍵SK(r)の分散情報SSK(r,1)を上記情報処理装置PC(r)の記憶部に格納する過程と、上記情報処理装置PC(r)の外部書き込み部が、当該秘密鍵SK(r)の分散情報SSK(r,2)を上記情報記録媒体に格納する過程と、上記情報処理装置PC(r)の鍵秘匿化部が、上記公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(r), KA)を上記情報記録媒体に格納する過程と、
情報処理装置PC(r)以外の情報処理装置PC(s)(s=1,...,n、s≠r)が実行する、
上記情報処理装置PC(s)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(s)と公開鍵PK(s)とを生成する過程と、上記秘密鍵SK(s)の分散情報SSK(s,1)を上記情報処理装置PC(s)の記憶部に格納する過程と、上記情報処理装置PC(s)の外部書き込み部が、当該秘密鍵SK(s)の分散情報SSK(s,2)を上記情報記録媒体に格納する過程と、上記情報処理装置PC(s)の外部書き込み部が、公開鍵PK(s)を上記情報記録媒体に格納する過程と、
上記情報記録媒体に暗号文PE(PK(t), KA)と分散情報SSK(t,2)とが格納され、自らの記憶部に分散情報SSK(t,1)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})が実行する、
上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(t), KA)を読み込む過程と、上記情報処理装置PC(t)の内部読み込み部が、上記情報処理装置PC(t)の記憶部から分散情報SSK(t,1)を読み込む過程と、上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から分散情報SSK(t,2)を読み込む過程と、上記情報処理装置PC(t)の秘密鍵復元部が、少なくとも当該分散情報SSK(t,1)と分散情報SSK(t,2)とを用いて上記情報処理装置PC(t)の秘密鍵SK(t)を復元する過程と、上記情報処理装置PC(t)の共通鍵復元部が、復元された秘密鍵SK(t)を用いて暗号文PE(PK(t), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から公開鍵PK(s)を読み込む過程と、上記情報処理装置PC(t)の鍵秘匿化部が、公開鍵PK(s)を用いて共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成する過程と、上記情報処理装置PC(t)の外部書き込み部が、暗号文PE(PK(s), KA)を上記情報記録媒体に格納する過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項3】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記情報記録媒体に暗号文PE(PK(r), KA)と分散情報SSK(r,2)とが格納され、自らの記憶部に分散情報SSK(r,1)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(r), KA)を読み込む過程と、上記情報処理装置PC(r)の内部読み込み部が、上記情報処理装置PC(r)の記憶部から分散情報SSK(r,1)を読み込む過程と、上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から分散情報SSK(r,2)を読み込む過程と、上記情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて上記情報処理装置PC(r)の秘密鍵SK(r)を復元する過程と、上記情報処理装置PC(r)の共通鍵復元部が、復元された秘密鍵SK(r)を用いて暗号文PE(PK(r), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(r)の共通鍵生成部が、新たな共通鍵KAnewを生成する過程と、上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から何れかの情報処理装置PC(s)(s=1,...,n)に対応する暗号文SE(KA, M(s))を読み込む過程と、上記情報処理装置PC(r)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(s))を復号して平文M(s)を抽出する過程と、上記情報処理装置PC(r)の暗号化部が、新たな共通鍵KAnewを用いて平文M(s)を暗号化した暗号文SE(KAnew, M(s))を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、当該暗号文SE(KAnew, M(s))を上記情報記録媒体に格納する過程と、を具備する再暗号化過程と、
上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から上記情報処理装置PC(s)に対応する公開鍵PK(s)(s=1,...,n)を読み込む過程と、上記情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(s)を用いて新たな共通鍵KAnewを暗号化した暗号文PE(PK(s), KAnew)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(s), KAnew)を上記情報記録媒体に格納する過程と、具備する再登録過程と、
をさらに有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項4】
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)の分散情報SSK(i,1)を上記情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、当該秘密鍵SK(i)の分散情報SSK(i,2)を上記情報記録媒体に格納する過程と、マスター公開鍵MPKと識別情報ID(i)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(i), KA)を、上記情報記録媒体に格納する過程と、を具備する登録過程と、
上記情報記録媒体に暗号文IBE(MPK, ID(p), KA)と分散情報SSK(p,2)とが格納され、自らの記憶部に分散情報SSK(p,1)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(p), KA)を読み込む過程と、上記情報処理装置PC(p)の内部読み込み部が、上記情報処理装置PC(p)の記憶部から分散情報SSK(p,1)を読み込む過程と、上記情報処理装置PC(p)の外部読み込み部が、上記情報記録媒体から分散情報SSK(p,2)を読み込む過程と、上記情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記情報処理装置PC(p)の秘密鍵SK(p)を復元する過程と、上記情報処理装置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))を上記情報記録媒体に格納する過程と、を具備する書き込み過程と、
上記情報記録媒体に暗号文PE(PK(q), KA)と分散情報SSK(q,2)とが格納され、自らの記憶部に分散情報SSK(q,1)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(q), KA)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、上記情報処理装置PC(q)の内部読み込み部が、上記情報処理装置PC(q)の記憶部から分散情報SSK(q,1)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から分散情報SSK(q,2)を読み込む過程と、上記情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記情報処理装置PC(q)の秘密鍵SK(q)を復元する過程と、上記情報処理装置PC(q)の共通鍵復元部が、復元された秘密鍵SK(q)を用いて暗号文IBE(MPK, ID(q), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項5】
請求項4に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
上記情報記録媒体に暗号文IBE(MPK, ID(t), KA)と分散情報SSK(t,2) とが格納され、自らの記憶部に分散情報SSK(t,1)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(t), KA)を読み込む過程と、上記情報処理装置PC(t)の内部読み込み部が、上記情報処理装置PC(t)の記憶部から分散情報SSK(t,1)を読み込む過程と、上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から分散情報SSK(t,2)を読み込む過程と、上記情報処理装置PC(t)の秘密鍵復元部が、少なくとも当該分散情報SSK(t,1)と分散情報SSK(t,2)とを用いて上記情報処理装置PC(t)の秘密鍵SK(t)を復元する過程と、上記情報処理装置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)を上記情報記録媒体に格納する過程とを、
さらに有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項6】
請求項4に記載の情報記録媒体のセキュリティ方法であって、
上記情報記録媒体に暗号文IBE(MPK, ID(r), KA)と分散情報SSK(r,2) とが格納され、自らの記憶部に分散情報SSK(r,1)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(r), KA)を読み込む過程と、上記情報処理装置PC(r)の内部読み込み部が、上記情報処理装置PC(r)の記憶部から分散情報SSK(r,1)を読み込む過程と、上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から分散情報SSK(r,2)を読み込む過程と、上記情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて上記情報処理装置PC(r)の秘密鍵SK(r)を復元する過程と、上記情報処理装置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)を上記情報記録媒体に格納する過程と、具備する再登録過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項7】
請求項1又は4に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
上記秘密鍵SK(i)の分散情報SSK(i,3)を上記情報記録媒体とは異なる第2情報記録媒体に格納する過程をさらに具備し、
上記書き込み過程は、
上記情報処理装置PC(p)の外部読み込み部が、上記第2情報記録媒体から分散情報SSK(p,3)を読み込む過程をさらに有し、
上記情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記情報処理装置PC(p)の秘密鍵SK(p)を復元する過程は、
少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)と分散情報SSK(p,3)とを用いて上記情報処理装置PC(p)の秘密鍵SK(p)を復元する過程であり、
上記読み込み過程は、
上記情報処理装置PC(q)の外部読み込み部が、上記第2情報記録媒体から分散情報SSK(q,3)を読み込む過程をさらに有し、
上記情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記情報処理装置PC(q)の秘密鍵SK(q)を復元する過程は、
少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)と分散情報SSK(q,3)とを用いて上記情報処理装置PC(q)の秘密鍵SK(q)を復元する過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項8】
請求項3又は6に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
上記秘密鍵SK(i)の分散情報SSK(i,3)を上記情報記録媒体とは異なる第2情報記録媒体に格納する過程をさらに具備し、
上記再暗号化過程は、
上記情報処理装置PC(r)の外部読み込み部が、上記第2情報記録媒体から分散情報SSK(r,3)を読み込む過程をさらに有し、
上記情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて上記情報処理装置PC(r)の秘密鍵SK(r)を復元する過程は、
少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)と分散情報SSK(r,3)とを用いて上記情報処理装置PC(r)の秘密鍵SK(r)を復元する過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項9】
他の情報処理装置PC(q)(q=1,...,n)と共用される情報記録媒体へ暗号文を格納する情報処理装置PC(p)(p=1,...,n、q≠p)であって、
情報処理装置PC(p)に対応する公開鍵暗号方式の秘密鍵SK(p)の分散情報SSK(p,1)を格納する記憶部と、
上記秘密鍵SK(p)の分散情報SSK(p,2)、及び、上記秘密鍵SK(p)に対応する公開鍵PK(p)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(p), KA)が少なくとも格納された上記情報記録媒体から、当該分散情報SSK(p,2)と暗号文PE(PK(p), KA)とを読み込む外部読み込み部と、
上記記憶部から分散情報SSK(p,1)を読み込む内部読み込み部と、
少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記秘密鍵SK(p)を復元する秘密鍵復元部と、
復元された秘密鍵SK(p)を用いて暗号文PE(PK(p), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する暗号化部と、
暗号文SE(KA, M(p))を上記情報記録媒体に格納する外部書き込み部と、
を有することを特徴とする情報処理装置。
【請求項10】
他の情報処理装置PC(p)(p=1,...,n)と共用される情報記録媒体に格納された暗号文から平文を復号する情報処理装置PC(q)(q=1,...,n、q≠p)であって、
情報処理装置PC(q)に対応する公開鍵暗号方式の秘密鍵SK(q)の分散情報SSK(q,1)を格納する記憶部と、
上記秘密鍵SK(q)の分散情報SSK(q,2)、上記秘密鍵SK(q)に対応する公開鍵PK(q)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(q), KA)、及び、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))が格納された上記情報記録媒体から、分散情報SSK(q,2)と暗号文PE(PK(q), KA)と暗号文SE(KA, M(p))とを読み込む外部読み込み部と、
上記記憶部から分散情報SSK(q,1)を読み込む内部読み込み部と、
少なくとも分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記秘密鍵SK(q)を復元する秘密鍵復元部と、
復元された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する復号化部と、
を有することを特徴とする情報処理装置。
【請求項11】
他の情報処理装置PC(q)(q∈{1,...,n})と共用される情報記録媒体へ暗号文を格納する情報処理装置PC(p)(p∈{1,...,n}、q≠p)であって、
情報処理装置PC(p)に対応するID-BASE暗号方式の秘密鍵SK(p)の分散情報SSK(p,1)を格納する記憶部と、
情報処理装置PC(p)を識別する識別情報ID(p)とマスター公開鍵MPKとを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した暗号文IBE(MPK, ID(p), KA)、及び、上記秘密鍵SK(p)の分散情報SSK(p,2)が少なくとも格納された上記情報記録媒体から、当該暗号文IBE(MPK, ID(p), KA)と分散情報SSK(p,2)とを読み込む外部読み込み部と、
上記記憶部から分散情報SSK(p,1)を読み込む内部読み込み部と、
少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記秘密鍵SK(p)を復元する秘密鍵復元部と、
復元された秘密鍵SK(p)を用いて暗号文IBE(MPK, ID(p), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する暗号化部と、
暗号文SE(KA, M(p))を上記情報記録媒体に格納する外部書き込み部と、
を有することを特徴とする情報処理装置。
【請求項12】
他の情報処理装置PC(p)(p∈{1,...,n})と共用される情報記録媒体に格納された暗号文から平文を復号する情報処理装置PC(q)(q∈{1,...,n}、q≠p)であって、
情報処理装置PC(q)に対応する公開鍵暗号方式の秘密鍵SK(q)の分散情報SSK(q,1)を格納する記憶部と、
情報処理装置PC(q)を識別する識別情報ID(q)とマスター公開鍵MPKとを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した暗号文IBE(MPK, ID(q), KA)、上記秘密鍵SK(q)の分散情報SSK(q,2)、及び、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))が少なくとも格納された上記情報記録媒体から、暗号文IBE(MPK, ID(q), KA)と分散情報SSK(q,2)と暗号文SE(KA, M(p))とを読み込む外部読み込み部と、
上記記憶部から分散情報SSK(q,1)を読み込む内部読み込み部と、
少なくとも分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記秘密鍵SK(q)を復元する秘密鍵復元部と、
復元された秘密鍵SK(q)を用いて暗号文IBE(MPK, ID(q), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する復号化部と、
を有することを特徴とする情報処理装置。
【請求項13】
請求項9から12の何れかに記載された情報処理装置としてコンピュータを機能させるためのプログラム。
【請求項14】
請求項13に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項1】
n(nは2以上の整数)個の情報処理装置PC(i)(i=1,...,n)が情報記録媒体を共用し、当該情報記録媒体へ暗号文を格納し、当該情報記録媒体に格納された暗号文から平文を復号する、情報記録媒体のセキュリティ方法であって、
情報処理装置PC(i)に対応する公開鍵暗号方式の秘密鍵SK(i)の分散情報SSK(i,1)を上記情報処理装置PC(i)の記憶部に格納する過程と、当該秘密鍵SK(i)の分散情報SSK(i,2)を上記情報記録媒体に格納する過程と、情報処理装置PC(i)に対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程と、を具備する登録過程と、
上記情報記録媒体に暗号文PE(PK(p), KA)と分散情報SSK(p,2)とが格納され、自らの記憶部に分散情報SSK(p,1)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(p), KA)を読み込む過程と、上記情報処理装置PC(p)の内部読み込み部が、上記情報処理装置PC(p)の記憶部から分散情報SSK(p,1)を読み込む過程と、上記情報処理装置PC(p)の外部読み込み部が、上記情報記録媒体から分散情報SSK(p,2)を読み込む過程と、上記情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記情報処理装置PC(p)の秘密鍵SK(p)を復元する過程と、上記情報処理装置PC(p)の共通鍵復元部が、復元された秘密鍵SK(p)を用いて暗号文PE(PK(p), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、当該暗号文SE(KA, M(p))を上記情報記録媒体に格納する過程と、を具備する書き込み過程と、
上記情報記録媒体に暗号文PE(PK(q), KA)と分散情報SSK(q,2)とが格納され、自らの記憶部に分散情報SSK(q,1)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(q), KA)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、上記情報処理装置PC(q)の内部読み込み部が、上記情報処理装置PC(q)の記憶部から分散情報SSK(q,1)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から分散情報SSK(q,2)を読み込む過程と、上記情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記情報処理装置PC(q)の秘密鍵SK(q)を復元する過程と、上記情報処理装置PC(q)の共通鍵復元部が、復元された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項2】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
何れかの情報処理装置PC(r)(r=1,...,n)が実行する、
上記情報処理装置PC(r)の共通鍵生成部が共通鍵KAを生成する過程と、上記情報処理装置PC(r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(r)と公開鍵PK(r)とを生成する過程と、上記情報処理装置PC(r)の内部書き込み部が、上記秘密鍵SK(r)の分散情報SSK(r,1)を上記情報処理装置PC(r)の記憶部に格納する過程と、上記情報処理装置PC(r)の外部書き込み部が、当該秘密鍵SK(r)の分散情報SSK(r,2)を上記情報記録媒体に格納する過程と、上記情報処理装置PC(r)の鍵秘匿化部が、上記公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(r), KA)を上記情報記録媒体に格納する過程と、
情報処理装置PC(r)以外の情報処理装置PC(s)(s=1,...,n、s≠r)が実行する、
上記情報処理装置PC(s)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(s)と公開鍵PK(s)とを生成する過程と、上記秘密鍵SK(s)の分散情報SSK(s,1)を上記情報処理装置PC(s)の記憶部に格納する過程と、上記情報処理装置PC(s)の外部書き込み部が、当該秘密鍵SK(s)の分散情報SSK(s,2)を上記情報記録媒体に格納する過程と、上記情報処理装置PC(s)の外部書き込み部が、公開鍵PK(s)を上記情報記録媒体に格納する過程と、
上記情報記録媒体に暗号文PE(PK(t), KA)と分散情報SSK(t,2)とが格納され、自らの記憶部に分散情報SSK(t,1)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})が実行する、
上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(t), KA)を読み込む過程と、上記情報処理装置PC(t)の内部読み込み部が、上記情報処理装置PC(t)の記憶部から分散情報SSK(t,1)を読み込む過程と、上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から分散情報SSK(t,2)を読み込む過程と、上記情報処理装置PC(t)の秘密鍵復元部が、少なくとも当該分散情報SSK(t,1)と分散情報SSK(t,2)とを用いて上記情報処理装置PC(t)の秘密鍵SK(t)を復元する過程と、上記情報処理装置PC(t)の共通鍵復元部が、復元された秘密鍵SK(t)を用いて暗号文PE(PK(t), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から公開鍵PK(s)を読み込む過程と、上記情報処理装置PC(t)の鍵秘匿化部が、公開鍵PK(s)を用いて共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成する過程と、上記情報処理装置PC(t)の外部書き込み部が、暗号文PE(PK(s), KA)を上記情報記録媒体に格納する過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項3】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記情報記録媒体に暗号文PE(PK(r), KA)と分散情報SSK(r,2)とが格納され、自らの記憶部に分散情報SSK(r,1)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(r), KA)を読み込む過程と、上記情報処理装置PC(r)の内部読み込み部が、上記情報処理装置PC(r)の記憶部から分散情報SSK(r,1)を読み込む過程と、上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から分散情報SSK(r,2)を読み込む過程と、上記情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて上記情報処理装置PC(r)の秘密鍵SK(r)を復元する過程と、上記情報処理装置PC(r)の共通鍵復元部が、復元された秘密鍵SK(r)を用いて暗号文PE(PK(r), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(r)の共通鍵生成部が、新たな共通鍵KAnewを生成する過程と、上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から何れかの情報処理装置PC(s)(s=1,...,n)に対応する暗号文SE(KA, M(s))を読み込む過程と、上記情報処理装置PC(r)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(s))を復号して平文M(s)を抽出する過程と、上記情報処理装置PC(r)の暗号化部が、新たな共通鍵KAnewを用いて平文M(s)を暗号化した暗号文SE(KAnew, M(s))を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、当該暗号文SE(KAnew, M(s))を上記情報記録媒体に格納する過程と、を具備する再暗号化過程と、
上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から上記情報処理装置PC(s)に対応する公開鍵PK(s)(s=1,...,n)を読み込む過程と、上記情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(s)を用いて新たな共通鍵KAnewを暗号化した暗号文PE(PK(s), KAnew)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(s), KAnew)を上記情報記録媒体に格納する過程と、具備する再登録過程と、
をさらに有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項4】
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)の分散情報SSK(i,1)を上記情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、当該秘密鍵SK(i)の分散情報SSK(i,2)を上記情報記録媒体に格納する過程と、マスター公開鍵MPKと識別情報ID(i)とを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した各暗号文IBE(MPK, ID(i), KA)を、上記情報記録媒体に格納する過程と、を具備する登録過程と、
上記情報記録媒体に暗号文IBE(MPK, ID(p), KA)と分散情報SSK(p,2)とが格納され、自らの記憶部に分散情報SSK(p,1)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(p), KA)を読み込む過程と、上記情報処理装置PC(p)の内部読み込み部が、上記情報処理装置PC(p)の記憶部から分散情報SSK(p,1)を読み込む過程と、上記情報処理装置PC(p)の外部読み込み部が、上記情報記録媒体から分散情報SSK(p,2)を読み込む過程と、上記情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記情報処理装置PC(p)の秘密鍵SK(p)を復元する過程と、上記情報処理装置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))を上記情報記録媒体に格納する過程と、を具備する書き込み過程と、
上記情報記録媒体に暗号文PE(PK(q), KA)と分散情報SSK(q,2)とが格納され、自らの記憶部に分散情報SSK(q,1)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(q), KA)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、上記情報処理装置PC(q)の内部読み込み部が、上記情報処理装置PC(q)の記憶部から分散情報SSK(q,1)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から分散情報SSK(q,2)を読み込む過程と、上記情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記情報処理装置PC(q)の秘密鍵SK(q)を復元する過程と、上記情報処理装置PC(q)の共通鍵復元部が、復元された秘密鍵SK(q)を用いて暗号文IBE(MPK, ID(q), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項5】
請求項4に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
上記情報記録媒体に暗号文IBE(MPK, ID(t), KA)と分散情報SSK(t,2) とが格納され、自らの記憶部に分散情報SSK(t,1)が格納された何れかの情報処理装置PC(t)(t∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(t), KA)を読み込む過程と、上記情報処理装置PC(t)の内部読み込み部が、上記情報処理装置PC(t)の記憶部から分散情報SSK(t,1)を読み込む過程と、上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から分散情報SSK(t,2)を読み込む過程と、上記情報処理装置PC(t)の秘密鍵復元部が、少なくとも当該分散情報SSK(t,1)と分散情報SSK(t,2)とを用いて上記情報処理装置PC(t)の秘密鍵SK(t)を復元する過程と、上記情報処理装置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)を上記情報記録媒体に格納する過程とを、
さらに有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項6】
請求項4に記載の情報記録媒体のセキュリティ方法であって、
上記情報記録媒体に暗号文IBE(MPK, ID(r), KA)と分散情報SSK(r,2) とが格納され、自らの記憶部に分散情報SSK(r,1)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文IBE(MPK, ID(r), KA)を読み込む過程と、上記情報処理装置PC(r)の内部読み込み部が、上記情報処理装置PC(r)の記憶部から分散情報SSK(r,1)を読み込む過程と、上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から分散情報SSK(r,2)を読み込む過程と、上記情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて上記情報処理装置PC(r)の秘密鍵SK(r)を復元する過程と、上記情報処理装置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)を上記情報記録媒体に格納する過程と、具備する再登録過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項7】
請求項1又は4に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
上記秘密鍵SK(i)の分散情報SSK(i,3)を上記情報記録媒体とは異なる第2情報記録媒体に格納する過程をさらに具備し、
上記書き込み過程は、
上記情報処理装置PC(p)の外部読み込み部が、上記第2情報記録媒体から分散情報SSK(p,3)を読み込む過程をさらに有し、
上記情報処理装置PC(p)の秘密鍵復元部が、少なくとも当該分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記情報処理装置PC(p)の秘密鍵SK(p)を復元する過程は、
少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)と分散情報SSK(p,3)とを用いて上記情報処理装置PC(p)の秘密鍵SK(p)を復元する過程であり、
上記読み込み過程は、
上記情報処理装置PC(q)の外部読み込み部が、上記第2情報記録媒体から分散情報SSK(q,3)を読み込む過程をさらに有し、
上記情報処理装置PC(q)の秘密鍵復元部が、少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記情報処理装置PC(q)の秘密鍵SK(q)を復元する過程は、
少なくとも当該分散情報SSK(q,1)と分散情報SSK(q,2)と分散情報SSK(q,3)とを用いて上記情報処理装置PC(q)の秘密鍵SK(q)を復元する過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項8】
請求項3又は6に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
上記秘密鍵SK(i)の分散情報SSK(i,3)を上記情報記録媒体とは異なる第2情報記録媒体に格納する過程をさらに具備し、
上記再暗号化過程は、
上記情報処理装置PC(r)の外部読み込み部が、上記第2情報記録媒体から分散情報SSK(r,3)を読み込む過程をさらに有し、
上記情報処理装置PC(r)の秘密鍵復元部が、少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)とを用いて上記情報処理装置PC(r)の秘密鍵SK(r)を復元する過程は、
少なくとも当該分散情報SSK(r,1)と分散情報SSK(r,2)と分散情報SSK(r,3)とを用いて上記情報処理装置PC(r)の秘密鍵SK(r)を復元する過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項9】
他の情報処理装置PC(q)(q=1,...,n)と共用される情報記録媒体へ暗号文を格納する情報処理装置PC(p)(p=1,...,n、q≠p)であって、
情報処理装置PC(p)に対応する公開鍵暗号方式の秘密鍵SK(p)の分散情報SSK(p,1)を格納する記憶部と、
上記秘密鍵SK(p)の分散情報SSK(p,2)、及び、上記秘密鍵SK(p)に対応する公開鍵PK(p)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(p), KA)が少なくとも格納された上記情報記録媒体から、当該分散情報SSK(p,2)と暗号文PE(PK(p), KA)とを読み込む外部読み込み部と、
上記記憶部から分散情報SSK(p,1)を読み込む内部読み込み部と、
少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記秘密鍵SK(p)を復元する秘密鍵復元部と、
復元された秘密鍵SK(p)を用いて暗号文PE(PK(p), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する暗号化部と、
暗号文SE(KA, M(p))を上記情報記録媒体に格納する外部書き込み部と、
を有することを特徴とする情報処理装置。
【請求項10】
他の情報処理装置PC(p)(p=1,...,n)と共用される情報記録媒体に格納された暗号文から平文を復号する情報処理装置PC(q)(q=1,...,n、q≠p)であって、
情報処理装置PC(q)に対応する公開鍵暗号方式の秘密鍵SK(q)の分散情報SSK(q,1)を格納する記憶部と、
上記秘密鍵SK(q)の分散情報SSK(q,2)、上記秘密鍵SK(q)に対応する公開鍵PK(q)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(q), KA)、及び、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))が格納された上記情報記録媒体から、分散情報SSK(q,2)と暗号文PE(PK(q), KA)と暗号文SE(KA, M(p))とを読み込む外部読み込み部と、
上記記憶部から分散情報SSK(q,1)を読み込む内部読み込み部と、
少なくとも分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記秘密鍵SK(q)を復元する秘密鍵復元部と、
復元された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する復号化部と、
を有することを特徴とする情報処理装置。
【請求項11】
他の情報処理装置PC(q)(q∈{1,...,n})と共用される情報記録媒体へ暗号文を格納する情報処理装置PC(p)(p∈{1,...,n}、q≠p)であって、
情報処理装置PC(p)に対応するID-BASE暗号方式の秘密鍵SK(p)の分散情報SSK(p,1)を格納する記憶部と、
情報処理装置PC(p)を識別する識別情報ID(p)とマスター公開鍵MPKとを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した暗号文IBE(MPK, ID(p), KA)、及び、上記秘密鍵SK(p)の分散情報SSK(p,2)が少なくとも格納された上記情報記録媒体から、当該暗号文IBE(MPK, ID(p), KA)と分散情報SSK(p,2)とを読み込む外部読み込み部と、
上記記憶部から分散情報SSK(p,1)を読み込む内部読み込み部と、
少なくとも分散情報SSK(p,1)と分散情報SSK(p,2)とを用いて上記秘密鍵SK(p)を復元する秘密鍵復元部と、
復元された秘密鍵SK(p)を用いて暗号文IBE(MPK, ID(p), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する暗号化部と、
暗号文SE(KA, M(p))を上記情報記録媒体に格納する外部書き込み部と、
を有することを特徴とする情報処理装置。
【請求項12】
他の情報処理装置PC(p)(p∈{1,...,n})と共用される情報記録媒体に格納された暗号文から平文を復号する情報処理装置PC(q)(q∈{1,...,n}、q≠p)であって、
情報処理装置PC(q)に対応する公開鍵暗号方式の秘密鍵SK(q)の分散情報SSK(q,1)を格納する記憶部と、
情報処理装置PC(q)を識別する識別情報ID(q)とマスター公開鍵MPKとを用い、ID-BASE暗号方式によって共通鍵暗号方式の共通鍵KAを暗号化した暗号文IBE(MPK, ID(q), KA)、上記秘密鍵SK(q)の分散情報SSK(q,2)、及び、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))が少なくとも格納された上記情報記録媒体から、暗号文IBE(MPK, ID(q), KA)と分散情報SSK(q,2)と暗号文SE(KA, M(p))とを読み込む外部読み込み部と、
上記記憶部から分散情報SSK(q,1)を読み込む内部読み込み部と、
少なくとも分散情報SSK(q,1)と分散情報SSK(q,2)とを用いて上記秘密鍵SK(q)を復元する秘密鍵復元部と、
復元された秘密鍵SK(q)を用いて暗号文IBE(MPK, ID(q), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する復号化部と、
を有することを特徴とする情報処理装置。
【請求項13】
請求項9から12の何れかに記載された情報処理装置としてコンピュータを機能させるためのプログラム。
【請求項14】
請求項13に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【公開番号】特開2009−87183(P2009−87183A)
【公開日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願番号】特願2007−258344(P2007−258344)
【出願日】平成19年10月2日(2007.10.2)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願日】平成19年10月2日(2007.10.2)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]