情報記録媒体のセキュリティ方法、情報処理装置、プログラム及び記録媒体
【課題】煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用する。
【解決手段】各PC10−i(i=1,...,n)の記憶部13に各秘密鍵SK(i)をそれぞれ格納し、各公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAをそれぞれ暗号化した各暗号文PE(PK(i), KA)をUSBメモリ20に格納しておく。各PC10−iは、自らの秘密鍵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(i=1,...,n)の記憶部13に各秘密鍵SK(i)をそれぞれ格納し、各公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAをそれぞれ暗号化した各暗号文PE(PK(i), KA)をUSBメモリ20に格納しておく。各PC10−iは、自らの秘密鍵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の暗号解読鍵を着脱可能メモリに格納しておく方式が開示されている。
【非特許文献1】「BUFFALO」ホームページ、[平成19年4月16日検索]、インターネット〈URL http://buffalo.jp/products/slw/keitai.html〉
【特許文献1】特開2006−67313号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、情報記録媒体に格納したいデータMを共通鍵暗号方式の共通鍵Kで暗号化し、その暗号文Cのみを情報処理装置に格納しておく方式の場合、複数の情報処理装置が情報記録媒体に格納された暗号文Cからデータを復号するためには、当該暗号化に用いられた共通鍵Kを複数の情報処理装置で共有しておく必要がある。しかし、秘密情報である共通鍵Kを事前に複数の情報処理装置で共有しておく処理は煩雑である。
また、パスワードを用いて共通鍵Kを作成する方法の場合、使用者がパスワードを記憶し、情報処理装置毎にパスワードを入力しなければならない。このような処理も煩雑である。さらに、一般に、使用者の利便性を考慮したパスワードの長さは暗号学的には十分な長さではない。よって、このような共通鍵Kを用いて生成された暗号文Cは解読され易く、安全上の問題がある。
【0005】
また、特許文献1のように、暗号化されたファイルを暗号解読するための第1の暗号解読鍵を着脱可能メモリのような可搬型の情報記録媒体に格納しておく方式の場合、当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした者は、誰でも暗号化されたファイルの暗号解読が出来てしまう。
なお、これらの問題は、複数の情報処理装置が可搬型の情報記録媒体を共用する場合だけではなく、複数の情報処理装置が非可搬型の情報記録媒体を共用する場合にも当てはまる。
【0006】
本発明はこのような点に鑑みてなされたものであり、煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用できる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明では、n(nは2以上の整数)個の情報処理装置PC(i)(i=1,...,n)が情報記録媒体を共用し、当該情報記録媒体へ暗号文を格納し、当該情報記録媒体に格納された暗号文から平文を復号する。そして、本発明では上述の課題を解決するために、各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の秘密鍵SK(i)を、当該秘密鍵SK(i)に対応する情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程と、を具備する登録過程と、上記情報記録媒体に暗号文PE(PK(p), KA)が格納され、自らの記憶部に秘密鍵SK(p)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(p), KA)を読み込む過程と、上記情報処理装置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)が格納され、自らの記憶部に秘密鍵SK(q)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(q), KA)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、上記情報処理装置PC(q)の共通鍵復元部が、記憶部に格納された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、を実行する。
【0008】
このように本発明では、登録過程において、各秘密鍵SK(i)(i=1,...,n)を各情報処理装置PC(i)の記憶部にそれぞれ格納し、各公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAをそれぞれ暗号化した各暗号文PE(PK(i), KA)を情報記録媒体に格納しておく。これにより、情報処理装置PC(p)(p=1,...,n)は、自らの秘密鍵SK(p)を用い、情報記録媒体に格納された暗号文PE(PK(p), KA)から共通鍵KAを復号できる。同様に、情報処理装置PC(q)(q=1,...,n)は、自らの秘密鍵SK(q)を用い、情報記録媒体に格納された暗号文PE(PK(q), KA)から共通鍵KAを復号できる。これにより、情報処理装置PC(p)と情報処理装置PC(q)との間で共通鍵KAを用いた共通鍵暗号方式による暗号化及び復号化が可能となる。
【0009】
この処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。さらに、本発明では、平文の暗号文を復号するための共通鍵KAを情報記録媒体に格納するのではなく、共通鍵KAを公開鍵によって暗号化した暗号文を情報記録媒体に格納しておく。そのため、弟三者が当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした場合でも、当該第三者は、平文の暗号文を復号することができない。
【0010】
また、本発明において好ましくは、上記登録過程では、まず、何れかの情報処理装置PC(r)(r=1,...,n)の共通鍵生成部が共通鍵KAを生成する過程と、上記情報処理装置PC(r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(r)と公開鍵PK(r)とを生成する過程と、上記情報処理装置PC(r)の内部書き込み部が、秘密鍵SK(r)を上記情報処理装置PC(r)の記憶部に格納する過程と、上記情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(r), KA)を上記情報記録媒体に格納する過程と、を実行する。
【0011】
次に、情報処理装置PC(r)以外の情報処理装置PC(s)(s=1,...,n、s≠r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(s)と公開鍵PK(s)とを生成する過程と、上記情報処理装置PC(s)の内部書き込み部が、秘密鍵SK(s)を上記情報処理装置PC(s)の記憶部に格納する過程と、上記情報処理装置PC(s)の外部書き込み部が、公開鍵PK(s)を上記情報記録媒体に格納する過程と、を実行する。
【0012】
そして、上記情報記録媒体に暗号文PE(PK(t), KA)(t=1,...,n)が格納され、自らの記憶部に秘密鍵SK(t)が格納された何れかの情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(t), KA)を読み込む過程と、上記情報処理装置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)を上記情報記録媒体に格納する過程と、を実行する。
【0013】
当該好ましい登録過程の場合、情報処理装置PC(s)がその公開鍵PK(s)を情報記録媒体に格納おくことにより、既に情報記録媒体に暗号文PE(PK(t), KA)が格納され、自らの記憶部に秘密鍵SK(t)が格納された情報処理装置PC(t)が、共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成し、情報記録媒体に格納することができる。すなわち、当該好ましい登録過程では、特別な登録用の装置を用いることなく、情報処理装置間で情報処理装置の登録処理を実行できる。これにより、高い利便性を実現できる。
【0014】
また、当該登録過程においてより好ましくは、上記情報処理装置PC(r)の鍵秘匿化部が公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程は、上記情報処理装置PC(r)の鍵秘匿化部の乱数生成部が、乱数Z(r)を生成する過程と、上記情報処理装置PC(r)の鍵秘匿化部の公開鍵暗号化部が、公開鍵PK(r)を用いて乱数Z(r)を暗号化して暗号文C(r)=PE(PK(r), Z(r))を生成する過程と、上記情報処理装置PC(r)の鍵秘匿化部の乱数分割部が、乱数Z(r)をY(Y≧2)個の乱数Z(r ,y)(y=1,...,Y)に分割する過程と、上記情報処理装置PC(r)の鍵秘匿化部の共通鍵暗号化部が、何れかの乱数Z(r ,y1)(y1=1,...,Y)を鍵とし、共通鍵暗号方式によって共通鍵KAを暗号化した暗号文SE(Z(r, y1), KA)を算出し、上記暗号文C(r)と暗号文SE(Z(r, y1), KA)とを有する情報(C(r), SE(Z(r, y1), KA))を暗号文PE(PK(r), KA)として出力する過程と、上記情報処理装置PC(r)の鍵秘匿化部の共通鍵暗号化部が、分割された他の乱数Z(r ,y2)(y2=1,...,Y、y2≠y1)を鍵とし、共通鍵暗号方式によって他の情報K’を暗号化した暗号文SE(Z(r, y2), K’)を算出する過程と、を具備する。また、上記情報処理装置PC(t)(t=1,...,n)の共通鍵復元部が、記憶部に格納された秘密鍵SK(t)を用いて暗号文PE(PK(t), KA)を復号して共通鍵KAを抽出する過程は、上記共通鍵復元部の公開鍵復号化部が、秘密鍵SK(t)を用いて暗号文C(t)を復号して乱数Z(t)を抽出する過程と、上記共通鍵復元部の乱数分割部が、乱数Z(t)をY個の乱数Z(t ,y)に分割する過程と、上記共通鍵復元部の共通鍵復号化部が、乱数Z(t ,y1)を鍵とし、共通鍵暗号方式によって暗号文SE(Z(t, y1), KA)を復号して共通鍵KAを抽出する過程と、分割された他の乱数Z(t ,y2)を鍵とし、共通鍵暗号方式によって暗号文SE(Z(t, y2), K’)を復号して他の情報K’を抽出する過程と、を具備する。さらに、上記情報処理装置PC(t)の鍵秘匿化部が公開鍵PK(s)を用いて共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成する過程は、上記情報処理装置PC(t)の鍵秘匿化部の乱数生成部が、乱数Z(s)を生成する過程と、上記情報処理装置PC(t)の鍵秘匿化部の公開鍵暗号化部が、公開鍵PK(s)を用いて乱数Z(s)を暗号化して暗号文C(s)=PE(PK(s), Z(s))を生成する過程と、上記情報処理装置PC(t)の鍵秘匿化部の乱数分割部が、乱数Z(s)をY(Y≧2)個の乱数Z(s ,y)(y=1,...,Y)に分割する過程と、上記情報処理装置PC(t)の鍵秘匿化部の共通鍵暗号化部が、何れかの乱数Z(s ,y1)(y1=1,...,Y)を鍵とし、共通鍵暗号方式によって共通鍵KAを暗号化した暗号文SE(Z(s, y1), KA)を算出し、C(s)と SE(Z(s, y1), KA)とを有する情報(C(s), SE(Z(s, y1), KA))を暗号文PE(PK(s), KA)として出力する過程と、上記情報処理装置PC(t)の鍵秘匿化部の共通鍵暗号化部が、分割された他の乱数Z(s ,y2)(y2=1,...,Y、y2≠y1)を鍵とし、共通鍵暗号方式によって他の情報K’を暗号化した暗号文SE(Z(s, y2), K’)を算出する過程と、を具備する。なお、他の情報K’としては、例えば鍵認証用鍵KCや暗号文認証用鍵KBを例示できる。
【0015】
この方式では、公開鍵を用い、演算量が大きい公開鍵暗号化方式による暗号化処理・復号化処理を複数回行うことなく、複数の情報(共通鍵KAと他の情報K’)を暗号化・復号化することができる。これにより、複数の情報を暗号化・復号化する必要がある場合における処理速度が向上する。
また、本発明において好ましくは、上記各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程は、上記各情報処理装置PC(i)に対応する公開鍵PK(i)と暗号文PE(PK(i), KA)とを対応付けて上記情報記録媒体に格納する過程である。
【0016】
そして、上記情報記録媒体に暗号文PE(PK(r), KA)(r∈{1,...,n})が格納され、自らの記憶部に秘密鍵SK(r)が格納された何れかの情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(r), KA)を読み込む過程と、上記情報処理装置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))を上記情報記録媒体に格納する過程と、を具備する再暗号化過程を実行する。
【0017】
さらに、上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から上記情報処理装置PC(s)に対応する公開鍵PK(s)を読み込む過程と、上記情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(s)を用いて新たな共通鍵KAnewを暗号化した暗号文PE(PK(s), KAnew)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(s), KAnew)を上記情報記録媒体に格納する過程と、具備する再登録過程を実行する。
【0018】
これにより、共通鍵を更新することができる。この共通鍵の更新は、例えば登録削除処理に利用することができる。その場合、上記再登録過程を、登録削除対象の情報処理装置PC(w)(w=1,...,n)以外の情報処理装置PC(s)について実行し、上記情報記録媒体に格納された暗号文SE(KA, M(w))を上記情報記録媒体から削除する。この場合、たとえ登録が削除された情報処理装置PC(w)に古い共通鍵KAが残存していたとしても、上記情報処理装置PC(w)は、上記情報記録媒体に格納された情報から平文M(p)を復号することはできない。その結果、安全性が向上する。
【0019】
また、上記再暗号化過程と上記再登録過程とを実行する場合において好ましくは、上記登録過程において、各公開鍵PK(i)を用いて鍵認証用鍵KCを暗号化した各暗号文PE(PK(i), KC)を上記情報記録媒体に格納する過程と、少なくとも鍵認証用鍵KCと公開鍵PK(i)とを用いて生成された公開鍵PK(i)の認証子AU(KC, PK(i))を、上記情報記録媒体に格納する過程と、を実行しておく。
【0020】
そして、上記情報処理装置PC(r)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(r), KC)を読み込む過程と、上記情報処理装置PC(r)の共通鍵復元部が、記憶部に格納された秘密鍵SK(r)を用いて暗号文PE(PK(r), KC)を復号して鍵認証用鍵KCを抽出する過程と、上記情報処理装置PC(r)の公開鍵検証部が、少なくとも鍵認証用鍵KCと公開鍵PK(s)と認証子AU(KC, PK(s))とを用いて当該公開鍵PK(s)が正当であるか否かを検証する過程と、をさらに実行する。そして、上記再登録過程は、公開鍵PK(s)が正当であると判定された情報処理装置PC(s)のみについて実行される。なお、本発明の「認証子」とは、データの正当性を証明するためのデータを意味し、この定義に含まれるすべてのものを包含する概念である。
【0021】
これにより、上記再登録過程が実行される前に上記情報記録媒体に格納されていた公開鍵PK(i)が改ざんされ、上記再登録過程によって、不正な情報処理装置が上記情報記録媒体に格納された暗号文を復号できるようになるといった事態を防止できる。その結果、安全性が向上する。また、この公開鍵PK(i)の検証処理は、登録された情報処理装置PC(r)〔自らの記憶部に秘密鍵SK(r)が格納され、暗号文PE(PK(r), KC)を復号可能な情報処理装置PC(r)〕であれば可能であり、検証装置用の特別な装置を用意する必要はない。よって、利便性が高い。
【0022】
また、本発明において好ましくは、上記登録過程は、各公開鍵PK(i)を用いて暗号文認証用鍵KBを暗号化した各暗号文PE(PK(i), KB)を上記情報記録媒体に格納する過程を具備する。そして、上記書き込み過程は、情報処理装置PC(p)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(p), KB)を読み込む過程と、上記情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KB)を復号して暗号文認証用鍵KBを抽出する過程と、上記情報処理装置PC(p)の暗号文認証部が、少なくとも暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、認証子AU(KB, E(p), SE(KA, M(p)))を上記情報記録媒体に格納する過程と、を具備する。
【0023】
このように暗号文SE(KA, M(p))の認証子AU(KB, SE(KA, M(p)))を生成し、情報記録媒体に格納しておくことにより、暗号文SE(KA, M(p))の改ざんを検出することができる。また、この場合も登録された情報処理装置であれば、認証子AU(KB, SE(KA, M(p)))の検証が可能であり、検証装置用の特別な装置を用意する必要はない。よって、利便性が高い。
【0024】
また、本発明において好ましくは、上記情報処理装置PC(p)の暗号化部が共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程は、上記暗号化部のブロック分割部が、平文M(p)をX(X≧2)個のブロックMB(p, x)(x=1,...,X)に分割する過程と、上記暗号化部の乱数生成部が、平文M(p)毎に乱数E(p)を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、乱数E(p)を上記情報記録媒体に格納する過程と、上記暗号化部の関数演算部が、少なくともブロックMB(p, x)のブロック番号xと乱数E(p)とを所定の関数πに代入した関数値IV =π(x, E(p))を算出する過程と、上記暗号化部のブロック暗号化部が、共通鍵KAを用い、関数値IVを初期ベクトルとして各ブロックMB(p, x)を暗号化し、算出された全ブロックMB(p, x)の暗号文から暗号文SE(KA, M(p))を生成する過程と、を具備する過程である。
【0025】
当該好ましい方法では、平文M(p)毎に乱数E(p)を生成し、ブロック番号xと乱数E(p)とを所定の関数πに代入した関数値IV=π(x, E(p))を用いたブロック暗号により、暗号文SE(KA, M(p))を生成する。この場合、或る平文M(p)を分割して得られたブロック間の値が同一であっても当該ブロック間の暗号文は同一とならないだけではなく、平文M(p) を分割して得られたブロック番号xのブロックMB(p, x)と、別の平文M(p’)を分割して得られた同じブロック番号xのブロックMB(p’, x)とが同一であっても、それらの暗号文は同一とならない。これにより、暗号文の同一性から平文の同一性が推測され、安全性が低下することを防止できる。このようなブロック暗号化方法は、複数の平文が同一の共通鍵KAで繰り返し暗号化され、生成された複数の暗号文が格納される情報記録媒体には特に有効な方法である。
【0026】
また、当該乱数E(p)を用いた暗号化を行う場合に好ましくは、上記登録過程において、各公開鍵PK(i)を用いて暗号文認証用鍵KBを暗号化した各暗号文PE(PK(i), KB)を上記情報記録媒体に格納する過程を実行し、上記書き込み過程において、情報処理装置PC(p)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(p), KB)を読み込む過程と、上記情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KB)を復号して暗号文認証用鍵KBを抽出する過程と、上記情報処理装置PC(p)の暗号文認証部が、少なくとも暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、認証子AU(KB, E(p), SE(KA, M(p)))を上記情報記録媒体に格納する過程と、を実行する。
【0027】
このように、暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成することにより、認証子AU(KB, E(p), SE(KA, M(p)))の信頼性を向上させることができる。さらに、暗号文SE(KA, M(p))の生成に利用した乱数E(p)を認証子AU(KB, E(p), SE(KA, M(p)))の生成に流用しているため、認証子生成のために新たに乱数を生成する演算や、認証子を検証するために乱数E(p)以外の乱数を格納しておく処理を必要としない。
【発明の効果】
【0028】
以上のように、本発明では、煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用できる。
【発明を実施するための最良の形態】
【0029】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
〔第1の実施形態〕
まず、本発明の第1の実施形態について説明する。
<構成>
図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メモリを例示するが、本発明はこれに限定されるものではない。
【0030】
図2(a)は、本形態のPC10−i(i=1,...,n)の機能構成を例示したブロック図であり、図2(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
図2(a)に示すように、PC10−iは、外部書き込み部11aと、外部読み込み部11bと、内部書き込み部12aと、内部読み込み部12bと、記憶部13と、共通鍵生成部14aと、鍵ペア生成部14b、鍵秘匿化部14cと、共通鍵復元部14dと、暗号化部14eと、復号化部14fと、削除部14gと、アプリケーション実行部14hと、制御部14iと、一時メモリ14jと、入力部15と、出力部16とを有している。また、図2(b)に示すように、USBメモリ20は、インタフェース部21と、記憶部22と、制御部23とを有しており、記憶部22は領域22a〜22cを有している。
【0031】
本形態のPC10−iはCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等からなるノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図2(a)に示す機能構成が実現される。
具体的には、この例の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にセキュリティプログラムを格納しておかなくてもよい。
【0032】
<処理>
次に本形態の処理を説明する。
本形態の処理は、(1)USBメモリ20を共用するn個のPC10−iをUSBメモリ20に登録する過程(登録過程)、(2)PC10−iがUSBメモリ20に暗号文を書き込む過程(書き込み過程)、(3)PC10−iがUSBメモリ20から暗号文を読み込んで復号する過程(読み込み過程)、(4) USBメモリ20から登録を削除する過程(削除過程)に大別できる。以下、各過程を説明する。
【0033】
[登録過程]
まず、登録過程を説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部14i,23の制御のもと実行され、PC10−i内での各演算で得られる各データは逐一一時メモリ14jに書き込まれ、必要に応じて他の演算のために読み出される。また、或る演算部から他の演算部へデータを送るとは、或る演算部で算出された演算結果を一時メモリ14jに格納し、他の演算部が一時メモリ14jから当該演算結果を読み込むことを意味する。
【0034】
図3〜5は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図11は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてPC10−1が最初に登録を行い、次にPC10−2が登録申請を行い、PC10−1がそれを承認することによってPC10−2が登録される処理を例示する。
まず、前処理としてPC10−1にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名〔ワークグループ名を含む(以下同様)〕とを取得し、それらを示すID(1)を生成してPC10−1の記憶部13(図3(a))に格納する。なお、既にID(1)が既に記憶部13に格納されていた場合には登録過程を実行しない。
【0035】
その後、PC10−1にUSBメモリ20が装着・マウントされると、PC10−1の共通鍵生成部14a(図3(a))が共通鍵KAを生成(例えばランダムに生成)して出力する(ステップS1)。また、PC10−1の鍵ペア生成部14bが、公開鍵暗号方式の秘密鍵SK(1)と公開鍵PK(1)とを生成して出力する(ステップS2)。なお、公開鍵暗号方式としては、例えば、PSEC-KEMやRSA等を例示できる。生成された秘密鍵SK(1)は、PC10−1の内部書き込み部12aに送られ、そこからPC10−1の記憶部13に格納される(ステップS3)。また、共通鍵生成部14aから出力された共通鍵KAと、鍵ペア生成部14bから出力された公開鍵PK(1)とはPC10−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(1)を用いて共通鍵KAを暗号化した暗号文PE(PK(1), KA)を生成し、出力する(ステップS4)。なお、PE(α, β)は、所定の公開鍵暗号方式により、公開鍵αを用いてβを暗号化した暗号文を意味する。
【0036】
上記の公開鍵PK(1)と暗号文PE(PK(1), KA)と内部読み込み部12bから読み込まれたID(1)とは、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21(図3(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS5/PC10−1の登録完了)。
次に、当該USBメモリ20がPC10−2に装着・マウントされると、PC10−2にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(2)を生成してPC10−2の記憶部13(図4(a))に格納する。
【0037】
次に、PC10−2の鍵ペア生成部14b(図4(a))が、公開鍵暗号方式の秘密鍵SK(2)と公開鍵PK(2)とを生成し、出力する(ステップS6)。秘密鍵SK(2)は、PC10−2の内部書き込み部12aによってその記憶部13に書き込まれる(ステップS7)。一方、公開鍵PK(2)は、PC10−2の内部読み込み部12bによって記憶部13から読み込まれた識別子ID(2)とともに、その外部書き込み部11aからUSBメモリ20のインタフェース部21(図4(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS8/PC10−2の登録申請)。
【0038】
次に、当該USBメモリ20がPC10−1に装着・マウントされると、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている暗号文PE(PK(1), KA)を読み込み、それをPC10−1の共通鍵復元部14d(図5(a))に送る(ステップS9)。PC10−1の共通鍵復元部14dには、さらにPC10−1の内部読み込み部12bによってPC10−1の記憶部13から秘密鍵SK(1)が読み込まれる。PC10−1の共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号し〔KA=PD(SK(1), PE(PK(1), KA))〕、共通鍵KAを抽出する(ステップS10)。なお、PD(α, β)は、所定の公開鍵暗号方式により、秘密鍵αを用いてβを復号化した結果値を意味する。
【0039】
さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22a(図5(b))から公開鍵PK(2)を読み込む(ステップS11)。共通鍵KA及び公開鍵PK(2)は、PC10−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(2)を用い、公開鍵暗号方式によって共通鍵KAを暗号化した暗号文PE(PK(2), KA)を生成し、出力する(ステップS12)。暗号文PE(PK(2), KA)は、外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22b(図5(b))に識別子ID(2)と関連付けて格納される(ステップS13/PC10−1による承認完了)。これにより、PC10−2の登録が終了する。
【0040】
その後、PC10−2と同様にその他のPC10−iが登録申請(ステップS6〜S8参照)を行い、PC10−1等の登録済のPC10−t(t=1,...,n)(USBメモリ20に暗号文PE(PK(t), KA)が格納され、自らの記憶部13に秘密鍵SK(t)が格納された何れかのPC10−t)が上述のように承認を行い(ステップS9〜S13参照)、全てのPC10−i(i=1,...,n)の登録がなされる。
【0041】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0042】
図6は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図7は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図12は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC10−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC10−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0043】
まず、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)。
【0044】
当該暗号文PE(PK(1), KA)は、PC10−1の共通鍵復元部14d(図6(a))に送られる。また、これをトリガとして、PC10−1の内部読み込み部12bがその記憶部13から秘密鍵SK(1)を読み込み、秘密鍵SK(1)を共通鍵復元部14dに送る。共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出し、共通鍵KAを暗号化部14eに送る(ステップS22)。また、PC10−1のアプリケーション実行部14hは、平文M(1)をその暗号化部14eに送り、当該暗号化部14eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS23)。なお、SE(α, β)は、所定の共通鍵暗号方式により、共通鍵αを用いてβを暗号化した暗号文を意味する。また、共通鍵暗号方式としては、例えばCamelliaやAES等を例示できる。
【0045】
生成された暗号文SE(KA, M(1))は、外部書き込み部11aによって、USBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22c(図6(b))に格納される(ステップS24/書き込み過程終了)。
【0046】
次に、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))を読み込み(ステップS25)、さらに、領域22bから暗号文PE(PK(2), KA)を読み込む(ステップS26)。次に、PC10−2の内部読み込み部12b(図7(a))が記憶部13から秘密鍵SK(2)を読み込む。そして、PC10−2の共通鍵復元部14dが、当該秘密鍵SK(2)を用いて暗号文PE(PK(2), KA)を復号して共通鍵KA〔KA=PD(SK(2), PE(PK(2), KA))〕を抽出する(ステップS27)。その後、PC10−2の復号化部14fが、当該共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS28)。なお、SD(α,β)は、共通鍵暗号方式により、共通鍵αによってβを復号化した結果値を意味する。
抽出された平文M(1)は、PC10−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0047】
[削除過程]
次に、本形態の削除過程について説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
図8〜10は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図13は、本形態の削除過程を説明するためのシーケンス図である。
【0048】
本形態の削除過程は、単に登録削除対象のPC10−wのデータをUSBメモリ20から削除するだけではなく、これに併せて平文の暗号化に用いる共通鍵KAを再設定し、USBメモリ20に格納されている暗号文も生成し直す。これにより、登録が削除されたPC10−wが、過去に取得した共通鍵KAを用い、USBメモリ20に格納された暗号文を復号できてしまうという事態を防止できる。以下では、PC10−1がUSBメモリ20からPC10−2の登録を削除する例を示す。
【0049】
まず、PC10−1にUSBメモリ20が装着・マウントされているものとする。この状態で、利用者が登録削除対象を例えば以下のように指定する。まず、外部読み込み部11bがUSBメモリ20の記憶部22の領域22bから全ての識別子ID(i)を読み込み、それらが示すホスト名及びユーザ名を出力部16から出力する(例えば、画面上に表示する)。利用者は、出力されたホスト名及びユーザ名を参照しながら、削除対象のホスト名及びユーザ名を入力部15から入力する。この例では識別子ID(2)に対応するホスト名及びユーザ名が入力されたものにする。制御部14iは、この入力結果に基づき以下のように削除過程を実行させる。
【0050】
まず、PC10−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、外部読み込み部11b(図8(a))に送る。当該外部読み込み部11b(図8(a))は、USBメモリ20の記憶部22の領域22b(図8(b))から識別子ID(1)に関連付けられた暗号文PE(PK(1), KA)を読み込み(ステップS31)、共通鍵復元部14dに送る。
【0051】
次に、PC10−1の内部読み込み部12bが記憶部13から秘密鍵SK(1)を読み込み、共通鍵復元部14dに送る。共通鍵復元部14dは、当該秘密鍵SK(1)を用い、USBメモリ20から読み込まれた暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出する(ステップS32)。また、PC10−1の共通鍵生成部14aが、新たな共通鍵KAnewを生成する(ステップS33)。
【0052】
また、PC10−1の外部読み込み部11bが、USBメモリ20からPC10−iに対応する暗号文SE(KA, M(i))(i=1,...,n)を読み込む(ステップS34)。PC10−1の復号化部14fは、共通鍵復元部14dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS35)。
【0053】
次に、PC10−1の暗号化部14eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部14eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS36)。各暗号文SE(KAnew, M(i))は、PC10−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該暗号文SE(KAnew, M(i))をUSBメモリ20のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図8(b))に格納する(ステップS37)。
【0054】
また、PC10−1の外部読み込み部11b(図9(a))が、USBメモリ20から各PC10−s(s=1,...,n、s≠2)に対応する公開鍵PK(s)を読み込み(ステップS38)、それらをPC10−1の鍵秘匿化部14に送る。そして、当該鍵秘匿化部14cは、読み込まれた各公開鍵PK(s)を用い、共通鍵生成部14aで新たに生成された(ステップS33)共通鍵KAnewを公開鍵暗号方式によって暗号化し、暗号文PE(PK(s), KAnew)を生成する(ステップS39)。各暗号文PE(PK(s), KAnew)は、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られる。当該インタフェース部21は、各暗号文PE(PK(s), KAnew)を、USBメモリ20の記憶部22の領域22bに、それぞれ識別子ID(s)と対応付けて格納(図9(b))する(ステップS40)。
【0055】
次に、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)を削除(図10(b))する(ステップS41)。
【0056】
〔第2の実施形態〕
次に本発明の第2の実施形態について説明する。
本形態は第1の実施形態の変形例であり、USBメモリに格納する公開鍵や暗号文に認証子を付して公開鍵や暗号文の偽造を防止する点、公開鍵や暗号文用の認証子を作成するための鍵を各PCの公開鍵で暗号化してUSBメモリに格納しておく点、平文を暗号化するための共通鍵及び公開鍵や暗号文用の認証子を作成するための鍵を効率よく暗号化するための工夫を行っている点、平文の暗号化方法を工夫している点が第1の実施形態と相違する。以下では、第1の実施形態との相違点を中心に説明し、第1の実施形態と共通する事項については説明を簡略化する。
【0057】
<構成>
本形態の情報記録媒体共用システムの全体構成は、PC10−1〜nがPC110−1〜nに置き換わり、USBメモリ120がUSBメモリ120に置き換わる点以外、第1の実施形態と同様である。
図14は、本形態のPC110−i(i=1,...,n)の機能構成を例示したブロック図である。また、図15は、本形態のUSBメモリ120の機能構成を例示したブロック図である。なお、図14,15において第1の実施形態と共通する部分については、第1の実施形態と同じ符号を付している。
【0058】
図14に示すように、PC110−iは、外部書き込み部11aと、外部読み込み部11bと、内部書き込み部12aと、内部読み込み部12bと、記憶部13と、共通鍵生成部114aと、鍵ペア生成部14b、鍵秘匿化部114cと、共通鍵復元部114dと、暗号化部114eと、復号化部114fと、削除部14gと、アプリケーション実行部14hと、制御部14iと、一時メモリ14jと、公開鍵認証子生成部114kと、公開鍵検証部114mと、暗号文認証子生成部114nと、暗号文検証部114pと、入力部15と、出力部16とを有している。また、本形態のPC110−iもCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等からなるノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図14に示す機能構成が実現される。
【0059】
また、図15に示すように、本形態のUSBメモリ120の機能構成は、第1の実施形態と同様であるが、記憶部22に格納されるデータが第1の実施形態と相違する。
<処理>
次に本形態の処理について説明する。
本形態の処理も、(1)登録過程、(2)書き込み過程、(3)読み込み過程、(4)削除過程に大別できる。以下、各過程の説明を行う。
【0060】
[登録過程]
まず、登録過程を説明する。なお、前提としてPC110−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部14i,23の制御のもと実行され、PC110−i内での各演算で得られる各データは逐一一時メモリ14jに書き込まれ、必要に応じて他の演算のために読み出される。
【0061】
図16〜18は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図25及び26は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてPC110−1が最初に登録を行い、次にPC110−2が登録申請を行い、PC110−1がそれを承認することによってPC110−2が登録される処理を例示する。
まず、前処理としてPC110−1にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(1)を生成してPC110−1の記憶部13(図16(a))に格納する。なお、既にID(1)が既に記憶部13に格納されていた場合には登録過程を実行しない。
【0062】
PC110−1にUSBメモリ120が装着・マウントされると、PC110−1の共通鍵生成部114a(図16(a))が3つの共通鍵KA, KB, KCを生成(例えばランダムに生成)、出力する(ステップS51)。なお、共通鍵KAはメッセージである平文を暗号化するための鍵であり、共通鍵KBは暗号文の認証子を生成するための暗号文認証用鍵であり、共通鍵KCは公開鍵の認証子を生成するための鍵認証用鍵KCである。
また、PC110−1の鍵ペア生成部14bが、公開鍵暗号方式の秘密鍵SK(1)と公開鍵PK(1)とを生成して出力する(ステップS52)。なお、公開鍵暗号方式としては、例えば、PSEC-KEMやRSA等を例示できる。生成された秘密鍵SK(1)は、PC110−1の内部書き込み部12aに送られ、そこからPC110−1の記憶部13に格納される(ステップS53)。
【0063】
また、共通鍵生成部14aから出力された共通鍵KA, KB, KCと、鍵ペア生成部14bから出力された公開鍵PK(1)とはPC110−1の鍵秘匿化部114cに送られ、当該鍵秘匿化部114cは、公開鍵PK(1)を用いて共通鍵KA, KB, KCをそれぞれ暗号化した暗号文PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)を生成し、出力する(ステップS54)。
【0064】
さらに、PC110−1の公開鍵認証子生成部114kに、共通鍵生成部114aで生成された共通鍵KCと、鍵ペア生成部14bで生成された公開鍵PK(1)と、鍵秘匿化部114cで生成された暗号文PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)と、内部読み込み部12bが記憶部13から読み込んだ識別子ID(1)とが入力される。そして、当該公開鍵認証子生成部114kは、これらを用いて公開鍵PK(1)の公開鍵認証子AU(KC, PK(1))を生成する(ステップS55)。なお、公開鍵認証子AU(KC, PK(1))は、例えば、
AU(KC, PK(1))=HMAC(KC, PK(1), ID(1), PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)) …(1)
等によって生成する。なお、HMAC(α, β1, β2, ...,βm)(mは1以上の整数)は、β1, β2, ...,βmのビット連結β1|β2|...|βmをβとし、γ(+)δをγとδとの排他的論理和とし、opad及びipadを定数ビット列とし、H(σ)をσのハッシュ値とした場合における、
H((α(+)opad)|H((α(+)ipad)|β)) …(2)
である(「Mihir Bellare, Ran Canetti and Hugo Krawczyk, "Keying Hash Functions for Message Authentication", CRYPTO'96, pp1-15, 1996.」等参照)。しかし、これは一例であり、少なくとも鍵認証用鍵KCと公開鍵PK(i)とを用いて生成された公開鍵PK(i)の公開鍵認証子AU(KC, PK(i))であればよい。例えば、HMAC(KC, PK(1))や、鍵認証用鍵KCを用いた公開鍵PK(i)の電子署名等を、公開鍵認証子AU(KC, PK(1))としてもよい。
【0065】
上記の公開鍵PK(1)と暗号文PE(PK(1), KA),PE(PK(1), KB),PE(PK(1), KC)と公開鍵認証子AU(KC, PK(1))と内部読み込み部12bから読み込まれたID(1)とは、PC110−1の外部書き込み部11aによってUSBメモリ120のインタフェース部21(図16(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS56/PC110−1の登録完了)。
次に、当該USBメモリ120がPC110−2に装着・マウントされると、PC110−2にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(2)を生成してPC110−2の記憶部13(図17(a))に格納する。
【0066】
次に、PC110−2の鍵ペア生成部14b(図17(a))が、公開鍵暗号方式の秘密鍵SK(2)と公開鍵PK(2)とを生成し、出力する(ステップS57)。秘密鍵SK(2)は、PC110−2の内部書き込み部12aによってその記憶部13に書き込まれる(ステップS58)。
一方、公開鍵PK(2)は、PC110−2の内部読み込み部12bによって記憶部13から読み込まれた識別子ID(2)とともに、その外部書き込み部11aからUSBメモリ120のインタフェース部21(図17(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS59/PC110−2の登録申請)。
【0067】
次に、当該USBメモリ120がPC110−1に装着・マウントされると、PC110−1の外部読み込み部11bが、USBメモリ120の記憶部22の領域22bから、識別子ID(1)に関連付けられている暗号文PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)を読み込み、それらをPC110−1の共通鍵復元部114d(図18(a))に送る(ステップS60)。PC110−1の共通鍵復元部114dには、さらにPC110−1の内部読み込み部12bによってPC110−1の記憶部13から秘密鍵SK(1)が読み込まれる。PC110−1の共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA) , PE(PK(1), KB), PE(PK(1), KC)を復号し、共通鍵KA, KB, KC〔KA=PD(SK(1), PE(PK(1), KA)), KB=PD(SK(1), PE(PK(1), KB)), KC=PD(SK(1), PE(PK(1), KC))〕を抽出する(ステップS61)。さらに、PC110−1の外部読み込み部11bが、USBメモリ120の記憶部22の領域22a(図18(b))から、識別子ID(2)と公開鍵PK(2)を読み込む(ステップS62)。
【0068】
これらの共通鍵KA, KB, KC及び公開鍵PK(2)は、PC110−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(2)を用い、公開鍵暗号方式によって共通鍵KA, KB, KCをそれぞれ暗号化した暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)を生成し、出力する(ステップS63)。
さらに、PC110−2の公開鍵認証子生成部114kに、共通鍵KCと公開鍵PK(2)と暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)と識別子ID(2)とが入力される。そして、当該公開鍵認証子生成部114kは、これらを用い、ステップS55と同様に、公開鍵PK(2)の公開鍵認証子AU(KC, PK(2))を生成する(ステップS64)。
【0069】
そして、暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)と公開鍵認証子AU(KC, PK(2))は、外部書き込み部11aによってUSBメモリ120のインタフェース部21に送られ、そこから記憶部22の領域22b(図18(b))に識別子ID(2)と関連付けて格納される(ステップS65/PC110−1による承認完了)。これにより、PC110−2の登録が終了する。
【0070】
その後、PC110−2と同様にその他のPC110−iが登録申請を行い(ステップS57〜S59参照)、PC110−1等の登録済のPC110−t(t=1,...,n)(USBメモリ120に暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)が格納され、自らの記憶部13に秘密鍵SK(t)が格納された何れかのPC110−t)が上述のように承認を行い(ステップS60〜S65参照)、全てのPC110−i(i=1,...,n)の登録がなされる。
【0071】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてPC110−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
図19は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図20は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図27は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC110−1がUSBメモリ120に暗号文を書き込み(書き込み過程)、PC110−2がUSBメモリ120から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0072】
まず、PC110−1にUSBメモリ120が装着・マウントされているものとする。この状態で、PC110−1のアプリケーション実行部14h(図19(a))が、平文M(1)の暗号文のUSBメモリ120への書き込み要求を制御部14iに行う。これをトリガとして、PC110−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、これをPC110−1の外部読み込み部11bに送る。当該外部読み込み部11bは、USBメモリ120の記憶部22の領域22b(図19(b))から識別子ID(1)に関連付けられている暗号文PE(PK(1), KA), PE(PK(1), KB)を読み込む(ステップS71)。
【0073】
当該暗号文PE(PK(1), KA), PE(PK(1), KB)は、PC110−1の共通鍵復元部114d(図19(a))に送られる。また、これをトリガとして、PC110−1の内部読み込み部12bがその記憶部13から秘密鍵SK(1)を読み込み、秘密鍵SK(1)を共通鍵復元部114dに送る。共通鍵復元部114dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA) , PE(PK(1), KB)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕, KB〔KB=PD(SK(1), PE(PK(1), KB))〕を抽出する(ステップS72)。当該共通鍵KAは、PC110−1の暗号化部114eに送られ、当該共通鍵KBは暗号文認証子生成部114nに送られる。また、PC110−1のアプリケーション実行部14hは、平文M(1)を当該暗号化部114eに送り、当該暗号化部114eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS73)。
【0074】
生成された暗号文SE(KA, M(1))は暗号文認証子生成部114nに送られ、暗号文認証子生成部114nは、少なくとも共通鍵KBと暗号文SE(KA, M(1))とを用いて暗号文SE(KA, M(1))の暗号文認証子AU(KB, SE(KA, M(1)))を生成する(ステップS74)。なお、暗号文認証子AU(KB, SE(KA, M(1)))は、例えば、以下のように生成する。
AU(KB, SE(KA, M(1)))=HMAC(KB, SE(KA, M(1))) …(3)
なお、暗号文認証子AU(KB, SE(KA, M(1)))は、式(3)に限定されるものではなく、共通鍵KBを用いて暗号文SE(KA, M(1))の正当性を証明できる情報であれば、電子署名等どのようなものであってもよい。
【0075】
このように生成された暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))とは、外部書き込み部11aによって、USBメモリ120のインタフェース部21に送られ、そこから記憶部22の領域22c(図19(b))に格納される(ステップS75/書き込み過程終了)。
【0076】
次に、PC110−2にUSBメモリ120が装着・マウントされる。この状態で、PC110−2のアプリケーション実行部14hが、USBメモリ120からの暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))の読み込み要求を制御部14iに行うと、まず、PC110−2の外部読み込み部11b(図20(a))が、USBメモリ120の記憶部22の領域22c(図20(b))から暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))を読み込み(ステップS76)、さらに、領域22bから暗号文PE(PK(2), KA), PE(PK(2), KB)を読み込む(ステップS77)。次に、PC110−2の内部読み込み部12b(図20(a))が記憶部13から秘密鍵SK(2)を読み込む。そして、PC110−2の共通鍵復元部114dが、当該秘密鍵SK(2)を用いて暗号文PE(PK(2), KA), PE(PK(2), KB)をそれぞれ復号して共通鍵KA〔KA=PD(SK(2), PE(PK(2), KA))〕, KB〔KB=PD(SK(2), PE(PK(2), KB))〕を抽出する(ステップS78)。
【0077】
その後、PC110−2の暗号文検証部114pに、共通鍵KBと暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))とが入力され、暗号文検証部114pは、共通鍵KBと暗号文認証子AU(KB, SE(KA, M(1)))とを用い、暗号文SE(KA, M(1))が正当なものであるか否かを検証する(ステップS79)。例えば、ステップS73において前述の式(3)によって証子AU(KB, SE(KA, M(1)))が生成される例の場合、PC110−2の暗号文検証部114pは、入力された共通鍵KBと暗号文SE(KA, M(1))とを用いてHMAC(KB, SE(KA, M(1)))を算出し、その演算結果と入力されたHMAC(KB, SE(KA, M(1)))と等しいか否かを判定する。
【0078】
ここで、これらが等しくないのであれば、暗号文SE(KA, M(1))が不当であるとして、制御部14iは処理をエラー終了させる。一方、これらが等しいのであれば、暗号文SE(KA, M(1))が正当であるとして、PC110−2の復号化部114fが、共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS80)。抽出された平文M(1)は、PC110−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0079】
[削除過程]
次に、本形態の削除過程について説明する。なお、前提としてPC110−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
図21〜24は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図28,29は、本形態の削除過程を説明するためのシーケンス図である。
PC110−1にUSBメモリ120が装着・マウントされているものとする。また、本形態でも第1の実施形態と同様にPC110−2の登録を削除するものとする。
【0080】
まず、PC110−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、外部読み込み部11b(図21)に送る。当該外部読み込み部11bは、USBメモリ120の記憶部22の領域22b(図22)から識別子ID(1)に関連付けられた暗号文PE(PK(1), KA), PE(PK(1), KC)を読み込む(ステップS91)。
【0081】
次に、PC110−1の内部読み込み部12b(図21)が記憶部13から秘密鍵SK(1)を読み込み、共通鍵復元部14dに送る。共通鍵復元部14dは、当該秘密鍵SK(1)を用い、USBメモリ120から読み込まれた暗号文PE(PK(1), KA) , PE(PK(1), KC)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕, KC〔KC=PD(SK(1), PE(PK(1), KC))〕を抽出する(ステップS92)。
【0082】
次に、PC110−1の外部読み込み部11bが、USBメモリ120から削除対象のPC110−2以外の識別子ID(s)(s=1,...,n、s≠2)と公開鍵PK(s)と公開鍵認証子AU(KC, PK(s))と暗号文PE(PK(s), KA), PE(PK(s), KB), PE(PK(s), KC)を読み込み(ステップS93)、これらを公開鍵検証部114mに送る。公開鍵検証部114mには、さらに共通鍵KCが入力され、公開鍵検証部114mは、これらの情報を用いて公開鍵PK(s)の正当性を検証する(ステップS94)。例えば、公開鍵認証子AU(KC, PK(s))がAU(KC, PK(s))=HMAC(KC, PK(s), ID(s), PE(PK(s), KA), PE(PK(s), KB), PE(PK(s), KC))と生成される場合には、公開鍵検証部114mは、入力された情報を用いてHMAC(KC, PK(s), ID(s), PE(PK(s), KA), PE(PK(s), KB), PE(PK(s), KC))を計算し、その計算結果と、入力された公開鍵認証子AU(KC, PK(s))と、が等しいか否かを判定する。
【0083】
ここで正当でないと判定された公開鍵PK(s’)に対応するPC110−s’は、すべて登録削除対象に加える。すなわち、ステップS94以降、s=1,...,n、s≠2、s≠s’となる。
次に、PC110−1の共通鍵生成部114aが、新たな共通鍵KAnew, KBnew, KCnewを生成する(ステップS95)。
また、PC110−1の外部読み込み部11bが、USBメモリ120からPC110−iに対応する暗号文SE(KA, M(i))(i=1,...,n)を読み込み(ステップS96)、復号化部114fに送る。当該復号化部114fは、共通鍵復元部114dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS97)。
【0084】
次に、PC110−1の暗号化部114eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部114eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS98)。さらに、暗号文認証子生成部114nに、当該暗号文SE(KAnew, M(i)) と新たな共通鍵KAnew,KBnewとが入力され、暗号文認証子生成部114nは、ステップS74と同様に、暗号文SE(KAnew, M(i))の暗号文認証子AU(KBnew, SE(KAnew, M(i)))を生成する(ステップS99)。
【0085】
生成された各暗号文SE(KAnew, M(i))とそれらの暗号文認証子AU(KBnew, SE(KAnew, M(i)))とは、PC110−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該各暗号文SE(KAnew, M(i))とそれらの暗号文認証子AU(KBnew, SE(KAnew, M(i)))とをUSBメモリ120のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図22)に格納する(ステップS100)。
【0086】
次に、PC110−1の外部読み込み部11b(図23(a))が、USBメモリ120から、各PC110−sに対応する公開鍵PK(s)と識別子ID(s)を読み込み(ステップS101)、それらを鍵秘匿化部114cに送る。当該鍵秘匿化部114cは、読み込まれた各公開鍵PK(s)を用い、共通鍵生成部114aで新たに生成された共通鍵KAnew, KBnew, KCnewを公開鍵暗号方式によって暗号化し、暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)を生成する(ステップS102)。
さらに、公開鍵認証子生成部114kに、新たに生成された共通鍵KCnewと暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)と公開鍵PK(s)と識別子ID(s)が入力され、ステップS55と同様に、各公開鍵PK(s)の公開鍵認証子AU(KC, PK(s))を生成する(ステップS103)。
【0087】
各暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)と公開鍵認証子AU(KC, PK(s))とは、PC110−1の外部書き込み部11aによってUSBメモリ120のインタフェース部21(図23(b))に送られる。そして、当該インタフェース部21は、各暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)と公開鍵認証子AU(KC, PK(s))とを、USBメモリ120の記憶部22の領域22bに、それぞれ識別子ID(s)に対応付けて格納(図23(b))する(ステップS104)。
【0088】
次に、PC110−1の削除部14g(図24(a))が削除命令を出し、これを受けた外部書き込み部11aは、USBメモリ120の記憶部22の領域22c(図23(b))から暗号文SE(KA, M(i))と暗号文認証子AU(KB, SE(KA, M(i)))を削除し、領域22bから暗号文PE(PK(i), KA), PE(PK(i), KB), PE(PK(i), KC)と公開鍵認証子AU(KC, PK(i))と識別子ID(2),ID(s’)と公開鍵PK(2),PK(s’)を削除(図24(b))する(ステップS105)。なお、識別子ID(s’)及び公開鍵PK(s’)は、ステップS94で公開鍵PK(s’)が正当でないと判定されたPC110−s’に対応する。
【0089】
〔第3の実施形態〕
次に、本発明の第3の実施形態について説明する。本形態は第2の実施形態の変形例である。複数の共通鍵の秘匿化や復号を行う鍵秘匿化部114c及び共通鍵復元部114dの構成を工夫し、演算量の削減を可能とした点のみが第2の実施形態と相違する。以下では、本形態の鍵秘匿化部114c及び共通鍵復元部114dのみについて説明する。
【0090】
<鍵秘匿化部114c>
図30(a)は、本形態の鍵秘匿化部114cの構成を示したブロック図である。また、図31は、本形態の鍵秘匿化処理を説明するためのフローチャートである。以下、これらの図を用い、秘密鍵KA. KB, KCと公開鍵PK(1)とが本形態の鍵秘匿化部114cに入力され、当該鍵秘匿化部114cが暗号文PE(PK(1),KA), PE(PK(1),KB), PE(PK(1),KC)を算出する処理を例にとって説明する。
【0091】
まず、鍵秘匿化部114cの乱数生成部114caが乱数Z(1)(例えばビット長384bit)を生成し(ステップS121)、それを、鍵秘匿化部114cの公開鍵暗号化部114cbと乱数分割部114ccとに送る。当該公開鍵暗号化部114cbは、入力された公開鍵PK(1)を用いて乱数Z(1)を公開鍵暗号方式によって暗号化して暗号文C(1)=PE(PK(1), Z(1))を生成する(ステップS122)。また、当該乱数分割部114ccは、乱数Z(1)を3(Y=3の例)個の乱数Z(1, y)(y=1,2,3)(例えばビット長128bit)に分割する(ステップS123)。分割された各乱数Z(1, y)は、鍵秘匿化部114cの共通鍵暗号化部114cdに送られる。共通鍵暗号化部114cdは、乱数Z(1, 1) を鍵とし、共通鍵暗号方式(Camellia, AES等)によって共通鍵KAを暗号化した暗号文SE(Z(1, 1), KA)と、乱数Z(1, 2) を鍵とし、共通鍵暗号方式によって共通鍵KBを暗号化した暗号文SE(Z(1, 2), KB)と、乱数Z(1, 3) を鍵とし、共通鍵暗号方式によって共通鍵KCを暗号化した暗号文SE(Z(1, 3), KC)とを算出する(ステップS124〜S126)。そして、鍵秘匿化部114cは、暗号文
PE(PK(1), KA)=(C(1), SE(Z(1, 1), KA))
PE(PK(1), KB)=(C(1), SE(Z(1, 2), KB))
PE(PK(1), KC)=(C(1), SE(Z(1, 3), KC))
を出力する(ステップS127)。なお、(C(1), SE(Z(1, 1), KA))は、C(1)とSE(Z(1, 1), KA)とを有する情報を意味し、(C(1), SE(Z(1, 2), KB))は、C(1)と SE(Z(1, 2), KB)とを有する情報を意味し、(C(1), SE(Z(1, 3), KC))は、C(1)とSE(Z(1, 3), KC)とを有する情報を意味する。また、「αとβとを有する情報」の具体例としては、αとβとのビット結合や、当該ビット結合と他のデータとのビット結合等を例示できる。
【0092】
<共通鍵復元部114d>
図30(b)は、本形態の共通鍵復元部114dの構成を示したブロック図である。また、図32は、本形態の鍵復元処理を説明するためのフローチャートである。以下、これらの図を用い、暗号文PE(PK(1),KA), PE(PK(1),KB), PE(PK(1),KC)と秘密鍵SK(1)とが本形態の共通鍵復元部114dに入力され、当該共通鍵復元部114dが暗号文PE(PK(1),KA), PE(PK(1),KB), PE(PK(1),KC)を復号する処理を例にとって説明する。
まず、共通鍵復元部114dの公開鍵復号化部114daが、入力された秘密鍵SK(1)を用いて暗号文C(1)=PE(PK(1), Z(1))を復号し、乱数Z(1)〔Z(1)=PD(SK(1), C(1))〕を抽出する(ステップS131)。当該乱数Z(1)は、共通鍵復元部114dの乱数分割部114dbに入力され、当該乱数分割部114dbは、乱数Z(1)を3(Y=3の例)個の乱数Z(1, y)(y=1,2,3)(例えばビット長128bit)に分割する(ステップS132)。次に、共通鍵復元部114dの共通鍵復号化部114dcに、乱数Z(1, y) (y=1,2,3)及び暗号文SE(Z(1, 1), KA), SE(Z(1, 2), KB), SE(Z(1, 3), KC)が入力される。共通鍵復号化部114dcは、乱数Z(1, 1) を鍵とし、共通鍵暗号方式によって暗号文SE(Z(1, 1), KA)を復号したKAと、乱数Z(1, 2) を鍵とし、共通鍵暗号方式によって暗号文SE(Z(1, 2), KB)を復号したKBと、乱数Z(1, 3) を鍵とし、共通鍵暗号方式によって暗号文SE(Z(1, 3), KC)を復号したKCとを算出する(ステップS133〜S135)。そして、共通鍵復元部114dは、共通鍵KA, KB, KCを出力する(ステップS136)。
【0093】
以上のように、本形態の鍵秘匿化部114cでは、公開鍵暗号方式による1回の暗号化処理と、共通鍵暗号化方式による3回の暗号化処理により、秘密鍵SK(1)を用いて復号可能な各秘密鍵KA, KB, KCの暗号文PE(PK(1), KA),PE(PK(1), KB),PE(PK(1), KC)が作成できる。これに必要な演算量は、公開鍵暗号方式による3回の暗号化処理によって各秘密鍵KA, KB, KCを暗号化する場合の演算量よりも小さい。このような演算量削減の効果は復号時にも得られる。
【0094】
〔第4の実施形態〕
次に、本発明の第4の実施形態について説明する。本形態も第2の実施形態の変形例である。暗号化部114e及び復号化部114fの処理を工夫して安全性を向上させた点と、それらの処理に使用する乱数を暗号文認証子の生成に流用し、演算量の増加を抑制しつつ暗号文認証子の安全性を向上させた点とが、第2の実施形態と相違する。以下では、第2の実施形態との相違点のみを説明する。
【0095】
<本形態の書き込み過程>
図33は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。なお、ここでは、PC110−1がUSBメモリ120に暗号文を書き込む例を示す。
PC110−1にUSBメモリ120が装着・マウントされているものとする。まず、PC110−1のアプリケーション実行部14hが、セクタ番号se(1セクタ=512byte)を指定して平文M(1)の暗号文のUSBメモリ120への書き込み要求を制御部14iに行う。これをトリガとして、第2の実施形態のステップS71,72(図27)と同じ処理が実行される。
次に、暗号化部114eに、共通鍵KAと指定されたセクタ番号seと平文M(1)とが入力され、暗号化部114eは、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成し、乱数E(1)と暗号文SE(KA, M(1))とを出力する。以下に暗号化部114eの詳細を説明する。
【0096】
[本形態の暗号化部114eの詳細]
図35(a)は、本形態の暗号化部114eの詳細を示すブロック図である。また、図36(a)は、本形態の暗号化処理を説明するためのフローチャートである。
まず、暗号化部114eのブロック分割部114eaが、入力された平文M(1)をX(X≧2)個(例えばX=32)のブロックMB(p, x)(x=1,...,X)に分割する(ステップS141)。各ブロックMB(p, x)はブロック暗号化部114edに送られ、ブロック番号xは関数演算部114ecに送られる。
【0097】
また、暗号化部114eの乱数生成部114ebが、平文M(1)毎に乱数E(1)を生成して出力する(ステップS142)。次に、暗号化部114eの関数演算部114ecに、平文M(1)の暗号文を格納するUSBメモリ120の記憶部22のセクタ番号seと乱数E(1)とブロック番号xとが入力され、関数演算部114ecは、これらを所定の関数πに代入した関数値IV=π(x, E(1), se)をブロック番号x毎に算出する(例えば、x, E(1), seのビット連結をIVとする)(ステップS143)。
【0098】
また、暗号化部114eのブロック暗号化部114edには、関数値IVとブロックMB(1, x)と共通鍵KAとが入力される。ブロック暗号化部114edは、共通鍵KAを用い、関数値IVを初期ベクトルとしたブロック暗号方式(カウンタモード等)により、各ブロックMB(1, x)を暗号化する。そして、ブロック暗号化部114edは、算出した全ブロックMB(1, x)の暗号文から暗号文SE(KA, M(1))を生成して(例えば、全ブロックMB(1, x)の暗号文のビット連結値を暗号文SE(KA, M(1))として)出力する(ステップS144)。
生成された暗号文SE(KA, M(1))は乱数E(1)とともに暗号文認証子生成部114nに送られ、暗号文認証子生成部114nは、少なくとも共通鍵KBと暗号文SE(KA, M(1))と乱数E(1)とを用いて暗号文SE(KA, M(1))の暗号文認証子AU(KB, E(1), SE(KA, M(1)))を生成する。
【0099】
以上のように生成された暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))と乱数E(1)とアプリケーション実行部14hから送られたセクタ番号seとは、外部書き込み部11aによって、USBメモリ120のインタフェース部21に送られる。インタフェース部21は、セクタ番号seによって特定される記憶部22の領域22cのセクタに、暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))と乱数E(1)とを格納する(ステップS145)([本形態の暗号化部114eの詳細]の説明終わり)。
【0100】
<本形態の読み込み過程>
図34は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。なお、ここでは、PC110−2がUSBメモリ120から暗号文を読み込んで復号する例を示す。
まず、PC110−2にUSBメモリ120が装着・マウントされる。そして、PC110−2のアプリケーション実行部14hが、セクタ番号seを指定し、USBメモリ120からの暗号文の読み込みとその復号とを制御部14iに要求する。これをトリガに、まず、PC110−2の外部読み込み部11bが、上記のセクタ番号seを指定し、USBメモリ120の記憶部22の領域22cから、暗号文SE(KA, M(1))と暗号文認証子AU(KB, E(1), SE(KA, M(1)))と乱数E(1)とを読み込み、さらに、領域22bから暗号文PE(PK(2), KA), PE(PK(2), KB)を読み込む。
【0101】
次に、PC110−2の内部読み込み部12b(図20(a))が、記憶部13から秘密鍵SK(2)を読み込む。そして、PC110−2の共通鍵復元部114dが、当該秘密鍵SK(2)を用いて暗号文PE(PK(2), KA), PE(PK(2), KB)をそれぞれ復号して共通鍵KA〔KA=PD(SK(2), PE(PK(2), KA))〕, KB〔KB=PD(SK(2), PE(PK(2), KB))〕を抽出する。
【0102】
その後、PC110−2の暗号文検証部114pに、共通鍵KBと暗号文SE(KA, M(1))と暗号文認証子AU(KB, E(1), SE(KA, M(1)))と乱数E(1)とセクタ番号seとが入力され、暗号文検証部114pは、これらを用い、暗号文SE(KA, M(1))が正当なものであるか否かを検証する。暗号文SE(KA, M(1))が正当であれば、PC110−2の復号化部114fが、共通鍵KAと乱数E(1)とセクタ番号seとを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する。以下、本形態の復号化部114fの詳細を説明する。
【0103】
[本形態の復号化部114fの詳細]
図35(b)は、本形態の復号化部114fの詳細を示すブロック図である。また、図36(b)は、本形態の復号化処理を説明するためのフローチャートである。
まず、復号化部114fのブロック分割部114faが、暗号文SE(KA, M(1))をX(X≧2)個(例えばX=32)のブロックSEB(KA, M(1), x)(x=1,...,X)に分割する(ステップS151)。この処理は、図35(a)のブロック暗号化部114edが全ブロックMB(1, x)の暗号文から暗号文SE(KA, M(1))を生成する処理の逆処理である。各ブロックSEB(KA, M(1), x)はブロック復号化部114fdに送られ、ブロック番号xは関数演算部114fcに送られる。
【0104】
次に、復号化部114fの関数演算部114fcにセクタ番号seと乱数E(1)とブロック番号xとが入力され、関数演算部114fcは、これらを所定の関数πに代入した関数値IV=π(x, E(1), se)をブロック番号x毎に算出する(例えば、x, E(1), seのビット連結をIVとする)(ステップS152)。
【0105】
また、暗号化部114eのブロック復号化部114fdには、関数値IVとブロックSEB(KA, M(1), x)と共通鍵KAとが入力される。ブロック復号化部114fdは、共通鍵KAを用い、関数値IVを初期ベクトルとしたブロック復号方式(カウンタモード等)により、ブロックSEB(KA, M(1), x)を復号化して各ブロックMB(1, x)を抽出する。なお、この処理は図35(a)のブロック暗号化部114edの処理の逆処理である。そして、ブロック復号化部114fd、算出した全ブロックMB(1, x)から平文M(1)を生成して出力する(ステップS153)。出力された平文M(1)は、PC110−2のアプリケーション実行部14hに送られる([本形態の復号化部114fの詳細]の説明終わり)。
【0106】
上述した本形態の暗号化部114e及び復号化部114fは[削除過程]においても同様に実行されるが、ここでは説明を省略する。また、暗号化部114e及び復号化部114fの暗号化処理や復号化処理にセクタ番号seを用いない構成であってもよいし、関数値IVを生成するためにさらに他の情報を用いる構成であってもよい。
【0107】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、第1の実施形態では、特定のPCを登録から削除する削除過程において共通鍵を再生成し、USBメモリの情報を書き換えることとしたが、特定のPCを登録から削除することなく共通鍵を再生成し、USBメモリの情報を書き換える処理を行ってもよい。このような処理は、例えば、共通鍵が第三者に漏えいした場合等に有効である。
【0108】
また、各情報処理装置は必ずしも1つの筐体内に構成される必要はない。例えば、公開鍵と秘密鍵との鍵ペアを生成する鍵ペア生成部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の鍵ペア生成部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの鍵ペア生成部を相互に共用する構成であってもよい。
【0109】
また、上述の各実施形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示した。しかし、本発明はこれらに限定されるものではない。例えば、情報処理装置として、携帯電話機、携帯情報端末(PDA)等を用いてもよい。また、情報記録媒体として、DVD−RAM(Random Access Memory)、CD−R(Recordable)/RW(ReWritable)、MO(Magneto-Optical disc)等を用いてもよいし、ハードディスク装置等の非可搬型の記録媒体を用いてもよい。さらには、情報記録媒体として、携帯電話機、携帯情報端末(PDA)、パーソナルコンピュータ等の計算装置を具備する装置のメモリを用いてもよい。
【0110】
図37は、非可搬型の記録媒体を情報記録媒体とした情報記録媒体共用システム201を例示した概念図である。
図37の例は、サーバ装置220が具備するハードディスク装置221を情報記録媒体とした例である。サーバ装置220と前述した複数のPC10−1〜nとは通信可能に接続されており、各PC10−iの外部書き込み部11a(図2(a))は、各種のデータをハードディスク装置221に書き込み可能に構成されており、各PC10−iの外部読み込み部11bは、ハードディスク装置221から各種のデータの読み込みが可能に構成されている。なお、サーバ装置221とPC10−1〜nとは、ローカルネットワークを通じて接続されていてもよいし、グローバルネットワークを通じて接続されていてもよい。そして、情報記録媒体としてUSBメモリ20やUSBメモリ120ではなく、ハードディスク装置221を用い、前述の各実施形態と同様な処理を実行する。その他の構成及び処理は前述の各実施形態と同様である。
【0111】
また、複数の情報記録媒体を用い、情報記録媒体に格納される情報を分散して格納してもよい。
図38は、複数の情報記録媒体を用いた情報記録媒体共用システム301を例示した概念図である。また、図39は、図38のUSBメモリ320,330を例示したブロック図である。
図38,図39の例では、2つのUSBメモリ320,330を情報記録媒体として本発明を実施する。図39(a)に例示するように、USBメモリ320,330は、ともに前述したUSBメモリ20と同様に構成される。しかし、USBメモリ320の記憶部22には、{ ID(1), PK(1), PE(PK(1), KA) }・・・{ ID(n), PK(n), PE(PK(n), KA) }及びセキュリティプログラムのみが格納され、{ SE(KA, M(1)) }・・・{ SE(KA, M(n)) }は格納されない。一方、USBメモリ330の記憶部22には、{ SE(KA, M(1)) }・・・{ SE(KA, M(n)) }のみが格納され、{ ID(1), PK(1), PE(PK(1), KA) }・・・{ ID(n), PK(n), PE(PK(n), KA) }及びセキュリティプログラムは格納されない。なお、各情報を格納する手順は前述した通りである。また、複数の情報記録媒体を用いた情報記録媒体共用システムを構成する場合、それらの情報記録媒体が相互に異なる記録媒体であってもよく、さらには、複数の情報記録媒体の一部を可搬型の情報記録媒体とし、他の情報記録媒体を非可搬型の記録媒体としてもよい。例えば、PCに脱着可能なUSBメモリと、ネットワークを通じて接続されたサーバ装置が具備するハードディスクとを情報記録媒体として本発明を実施してもよい。
【0112】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の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)等を用いることができる。
【0113】
また、このプログラムの流通は、例えば、そのプログラムを記録したUSBメモリ、DVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。
【0114】
なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0115】
本発明の利用分野としては、例えば、USBメモリに格納するデータの秘匿化等を例示できる。
【図面の簡単な説明】
【0116】
【図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は、第2の実施形態のPCの機能構成を例示したブロック図である。
【図15】図15は、第2の実施形態のUSBメモリの機能構成を例示したブロック図である。
【図16】図16は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図17】図17は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図18】図18は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図19】図19は、第2の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、
【図20】図20は、第2の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図21】図21は、第2の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図22】図22は、第2の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図23】図23は、第2の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図24】図24は、第2の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図25】図25は、第2の実施形態の登録過程を説明するためのシーケンス図である。
【図26】図26は、第2の実施形態の登録過程を説明するためのシーケンス図である。
【図27】図27は、第2の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図28】図28は、第2の実施形態の削除過程を説明するためのシーケンス図である。
【図29】図29は、第2の実施形態の削除過程を説明するためのシーケンス図である。
【図30】図30(a)は、第3の実施形態の鍵秘匿化部の構成を示したブロック図である。図30(b)は、第3の実施形態の共通鍵復元部の構成を示したブロック図である。
【図31】図31は、第3実施形態の鍵秘匿化処理を説明するためのフローチャートである。
【図32】図32は、第3実施形態の鍵復元処理を説明するためのフローチャートである。
【図33】図33は、第4の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図34】図34は、第4の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図35】図35(a)は、第4の実施形態の暗号化部の詳細を示すブロック図である。図35(b)は、本形態の復号化部の詳細を示すブロック図である。
【図36】図36(a)は、第4の実施形態の暗号化処理を説明するためのフローチャートである。図36(b)は、本形態の復号化処理を説明するためのフローチャートである。
【図37】図37は、非可搬型の記録媒体を情報記録媒体とした情報記録媒体共用システムを例示した概念図である。
【図38】図38は、複数の情報記録媒体を用いた情報記録媒体共用システムを例示した概念図である。
【図39】図39は、図38の各情報記録媒体を例示したブロック図である。
【符号の説明】
【0117】
1,200,300 情報記録媒体共用システム
10,110 PC(「情報処理装置」に相当)
20,120 USBメモリ(「情報記録媒体」に相当)
220 ハードディスク装置(「情報記録媒体」に相当)
【技術分野】
【0001】
本発明は、情報を秘匿化する技術に関し、特に、複数の情報処理装置で共用される情報記録媒体に情報を秘匿化して格納する技術に関する。
【背景技術】
【0002】
複数の情報処理装置で共用されるUSB(universal serial bus)メモリなどの可搬型の情報記録媒体において、当該情報記録媒体を紛失したり盗難されたりした場合に、当該情報記録媒体に格納されていたデータが漏えいしてしまうことを防止することは重要である。
このような事態を防止するため、従来、共通鍵暗号方式によってデータを暗号化して情報記録媒体に格納する方法が使用されてきた(例えば、非特許文献1参照)。この場合、情報記録媒体に格納したいデータMを共通鍵暗号方式の共通鍵Kで暗号化し、その暗号文Cのみを情報記録媒体に格納する方法が一般的である。また、共通鍵Kは、情報記録媒体に対して読み書きを行う情報処理装置に格納されるか、パスワードのような形で使用者に記憶されるのが一般的である。
【0003】
また、特許文献1には、暗号化されたファイルを暗号解読するための第1の暗号解読鍵を着脱可能メモリに格納しておく方式が開示されている。
【非特許文献1】「BUFFALO」ホームページ、[平成19年4月16日検索]、インターネット〈URL http://buffalo.jp/products/slw/keitai.html〉
【特許文献1】特開2006−67313号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、情報記録媒体に格納したいデータMを共通鍵暗号方式の共通鍵Kで暗号化し、その暗号文Cのみを情報処理装置に格納しておく方式の場合、複数の情報処理装置が情報記録媒体に格納された暗号文Cからデータを復号するためには、当該暗号化に用いられた共通鍵Kを複数の情報処理装置で共有しておく必要がある。しかし、秘密情報である共通鍵Kを事前に複数の情報処理装置で共有しておく処理は煩雑である。
また、パスワードを用いて共通鍵Kを作成する方法の場合、使用者がパスワードを記憶し、情報処理装置毎にパスワードを入力しなければならない。このような処理も煩雑である。さらに、一般に、使用者の利便性を考慮したパスワードの長さは暗号学的には十分な長さではない。よって、このような共通鍵Kを用いて生成された暗号文Cは解読され易く、安全上の問題がある。
【0005】
また、特許文献1のように、暗号化されたファイルを暗号解読するための第1の暗号解読鍵を着脱可能メモリのような可搬型の情報記録媒体に格納しておく方式の場合、当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした者は、誰でも暗号化されたファイルの暗号解読が出来てしまう。
なお、これらの問題は、複数の情報処理装置が可搬型の情報記録媒体を共用する場合だけではなく、複数の情報処理装置が非可搬型の情報記録媒体を共用する場合にも当てはまる。
【0006】
本発明はこのような点に鑑みてなされたものであり、煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用できる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明では、n(nは2以上の整数)個の情報処理装置PC(i)(i=1,...,n)が情報記録媒体を共用し、当該情報記録媒体へ暗号文を格納し、当該情報記録媒体に格納された暗号文から平文を復号する。そして、本発明では上述の課題を解決するために、各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の秘密鍵SK(i)を、当該秘密鍵SK(i)に対応する情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程と、を具備する登録過程と、上記情報記録媒体に暗号文PE(PK(p), KA)が格納され、自らの記憶部に秘密鍵SK(p)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(p), KA)を読み込む過程と、上記情報処理装置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)が格納され、自らの記憶部に秘密鍵SK(q)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(q), KA)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、上記情報処理装置PC(q)の共通鍵復元部が、記憶部に格納された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する過程と、上記情報処理装置PC(q)の復号化部が、共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する過程と、を具備する読み込み過程と、を実行する。
【0008】
このように本発明では、登録過程において、各秘密鍵SK(i)(i=1,...,n)を各情報処理装置PC(i)の記憶部にそれぞれ格納し、各公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAをそれぞれ暗号化した各暗号文PE(PK(i), KA)を情報記録媒体に格納しておく。これにより、情報処理装置PC(p)(p=1,...,n)は、自らの秘密鍵SK(p)を用い、情報記録媒体に格納された暗号文PE(PK(p), KA)から共通鍵KAを復号できる。同様に、情報処理装置PC(q)(q=1,...,n)は、自らの秘密鍵SK(q)を用い、情報記録媒体に格納された暗号文PE(PK(q), KA)から共通鍵KAを復号できる。これにより、情報処理装置PC(p)と情報処理装置PC(q)との間で共通鍵KAを用いた共通鍵暗号方式による暗号化及び復号化が可能となる。
【0009】
この処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。さらに、本発明では、平文の暗号文を復号するための共通鍵KAを情報記録媒体に格納するのではなく、共通鍵KAを公開鍵によって暗号化した暗号文を情報記録媒体に格納しておく。そのため、弟三者が当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした場合でも、当該第三者は、平文の暗号文を復号することができない。
【0010】
また、本発明において好ましくは、上記登録過程では、まず、何れかの情報処理装置PC(r)(r=1,...,n)の共通鍵生成部が共通鍵KAを生成する過程と、上記情報処理装置PC(r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(r)と公開鍵PK(r)とを生成する過程と、上記情報処理装置PC(r)の内部書き込み部が、秘密鍵SK(r)を上記情報処理装置PC(r)の記憶部に格納する過程と、上記情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(r), KA)を上記情報記録媒体に格納する過程と、を実行する。
【0011】
次に、情報処理装置PC(r)以外の情報処理装置PC(s)(s=1,...,n、s≠r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(s)と公開鍵PK(s)とを生成する過程と、上記情報処理装置PC(s)の内部書き込み部が、秘密鍵SK(s)を上記情報処理装置PC(s)の記憶部に格納する過程と、上記情報処理装置PC(s)の外部書き込み部が、公開鍵PK(s)を上記情報記録媒体に格納する過程と、を実行する。
【0012】
そして、上記情報記録媒体に暗号文PE(PK(t), KA)(t=1,...,n)が格納され、自らの記憶部に秘密鍵SK(t)が格納された何れかの情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(t), KA)を読み込む過程と、上記情報処理装置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)を上記情報記録媒体に格納する過程と、を実行する。
【0013】
当該好ましい登録過程の場合、情報処理装置PC(s)がその公開鍵PK(s)を情報記録媒体に格納おくことにより、既に情報記録媒体に暗号文PE(PK(t), KA)が格納され、自らの記憶部に秘密鍵SK(t)が格納された情報処理装置PC(t)が、共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成し、情報記録媒体に格納することができる。すなわち、当該好ましい登録過程では、特別な登録用の装置を用いることなく、情報処理装置間で情報処理装置の登録処理を実行できる。これにより、高い利便性を実現できる。
【0014】
また、当該登録過程においてより好ましくは、上記情報処理装置PC(r)の鍵秘匿化部が公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程は、上記情報処理装置PC(r)の鍵秘匿化部の乱数生成部が、乱数Z(r)を生成する過程と、上記情報処理装置PC(r)の鍵秘匿化部の公開鍵暗号化部が、公開鍵PK(r)を用いて乱数Z(r)を暗号化して暗号文C(r)=PE(PK(r), Z(r))を生成する過程と、上記情報処理装置PC(r)の鍵秘匿化部の乱数分割部が、乱数Z(r)をY(Y≧2)個の乱数Z(r ,y)(y=1,...,Y)に分割する過程と、上記情報処理装置PC(r)の鍵秘匿化部の共通鍵暗号化部が、何れかの乱数Z(r ,y1)(y1=1,...,Y)を鍵とし、共通鍵暗号方式によって共通鍵KAを暗号化した暗号文SE(Z(r, y1), KA)を算出し、上記暗号文C(r)と暗号文SE(Z(r, y1), KA)とを有する情報(C(r), SE(Z(r, y1), KA))を暗号文PE(PK(r), KA)として出力する過程と、上記情報処理装置PC(r)の鍵秘匿化部の共通鍵暗号化部が、分割された他の乱数Z(r ,y2)(y2=1,...,Y、y2≠y1)を鍵とし、共通鍵暗号方式によって他の情報K’を暗号化した暗号文SE(Z(r, y2), K’)を算出する過程と、を具備する。また、上記情報処理装置PC(t)(t=1,...,n)の共通鍵復元部が、記憶部に格納された秘密鍵SK(t)を用いて暗号文PE(PK(t), KA)を復号して共通鍵KAを抽出する過程は、上記共通鍵復元部の公開鍵復号化部が、秘密鍵SK(t)を用いて暗号文C(t)を復号して乱数Z(t)を抽出する過程と、上記共通鍵復元部の乱数分割部が、乱数Z(t)をY個の乱数Z(t ,y)に分割する過程と、上記共通鍵復元部の共通鍵復号化部が、乱数Z(t ,y1)を鍵とし、共通鍵暗号方式によって暗号文SE(Z(t, y1), KA)を復号して共通鍵KAを抽出する過程と、分割された他の乱数Z(t ,y2)を鍵とし、共通鍵暗号方式によって暗号文SE(Z(t, y2), K’)を復号して他の情報K’を抽出する過程と、を具備する。さらに、上記情報処理装置PC(t)の鍵秘匿化部が公開鍵PK(s)を用いて共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成する過程は、上記情報処理装置PC(t)の鍵秘匿化部の乱数生成部が、乱数Z(s)を生成する過程と、上記情報処理装置PC(t)の鍵秘匿化部の公開鍵暗号化部が、公開鍵PK(s)を用いて乱数Z(s)を暗号化して暗号文C(s)=PE(PK(s), Z(s))を生成する過程と、上記情報処理装置PC(t)の鍵秘匿化部の乱数分割部が、乱数Z(s)をY(Y≧2)個の乱数Z(s ,y)(y=1,...,Y)に分割する過程と、上記情報処理装置PC(t)の鍵秘匿化部の共通鍵暗号化部が、何れかの乱数Z(s ,y1)(y1=1,...,Y)を鍵とし、共通鍵暗号方式によって共通鍵KAを暗号化した暗号文SE(Z(s, y1), KA)を算出し、C(s)と SE(Z(s, y1), KA)とを有する情報(C(s), SE(Z(s, y1), KA))を暗号文PE(PK(s), KA)として出力する過程と、上記情報処理装置PC(t)の鍵秘匿化部の共通鍵暗号化部が、分割された他の乱数Z(s ,y2)(y2=1,...,Y、y2≠y1)を鍵とし、共通鍵暗号方式によって他の情報K’を暗号化した暗号文SE(Z(s, y2), K’)を算出する過程と、を具備する。なお、他の情報K’としては、例えば鍵認証用鍵KCや暗号文認証用鍵KBを例示できる。
【0015】
この方式では、公開鍵を用い、演算量が大きい公開鍵暗号化方式による暗号化処理・復号化処理を複数回行うことなく、複数の情報(共通鍵KAと他の情報K’)を暗号化・復号化することができる。これにより、複数の情報を暗号化・復号化する必要がある場合における処理速度が向上する。
また、本発明において好ましくは、上記各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程は、上記各情報処理装置PC(i)に対応する公開鍵PK(i)と暗号文PE(PK(i), KA)とを対応付けて上記情報記録媒体に格納する過程である。
【0016】
そして、上記情報記録媒体に暗号文PE(PK(r), KA)(r∈{1,...,n})が格納され、自らの記憶部に秘密鍵SK(r)が格納された何れかの情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(r), KA)を読み込む過程と、上記情報処理装置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))を上記情報記録媒体に格納する過程と、を具備する再暗号化過程を実行する。
【0017】
さらに、上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から上記情報処理装置PC(s)に対応する公開鍵PK(s)を読み込む過程と、上記情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(s)を用いて新たな共通鍵KAnewを暗号化した暗号文PE(PK(s), KAnew)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(s), KAnew)を上記情報記録媒体に格納する過程と、具備する再登録過程を実行する。
【0018】
これにより、共通鍵を更新することができる。この共通鍵の更新は、例えば登録削除処理に利用することができる。その場合、上記再登録過程を、登録削除対象の情報処理装置PC(w)(w=1,...,n)以外の情報処理装置PC(s)について実行し、上記情報記録媒体に格納された暗号文SE(KA, M(w))を上記情報記録媒体から削除する。この場合、たとえ登録が削除された情報処理装置PC(w)に古い共通鍵KAが残存していたとしても、上記情報処理装置PC(w)は、上記情報記録媒体に格納された情報から平文M(p)を復号することはできない。その結果、安全性が向上する。
【0019】
また、上記再暗号化過程と上記再登録過程とを実行する場合において好ましくは、上記登録過程において、各公開鍵PK(i)を用いて鍵認証用鍵KCを暗号化した各暗号文PE(PK(i), KC)を上記情報記録媒体に格納する過程と、少なくとも鍵認証用鍵KCと公開鍵PK(i)とを用いて生成された公開鍵PK(i)の認証子AU(KC, PK(i))を、上記情報記録媒体に格納する過程と、を実行しておく。
【0020】
そして、上記情報処理装置PC(r)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(r), KC)を読み込む過程と、上記情報処理装置PC(r)の共通鍵復元部が、記憶部に格納された秘密鍵SK(r)を用いて暗号文PE(PK(r), KC)を復号して鍵認証用鍵KCを抽出する過程と、上記情報処理装置PC(r)の公開鍵検証部が、少なくとも鍵認証用鍵KCと公開鍵PK(s)と認証子AU(KC, PK(s))とを用いて当該公開鍵PK(s)が正当であるか否かを検証する過程と、をさらに実行する。そして、上記再登録過程は、公開鍵PK(s)が正当であると判定された情報処理装置PC(s)のみについて実行される。なお、本発明の「認証子」とは、データの正当性を証明するためのデータを意味し、この定義に含まれるすべてのものを包含する概念である。
【0021】
これにより、上記再登録過程が実行される前に上記情報記録媒体に格納されていた公開鍵PK(i)が改ざんされ、上記再登録過程によって、不正な情報処理装置が上記情報記録媒体に格納された暗号文を復号できるようになるといった事態を防止できる。その結果、安全性が向上する。また、この公開鍵PK(i)の検証処理は、登録された情報処理装置PC(r)〔自らの記憶部に秘密鍵SK(r)が格納され、暗号文PE(PK(r), KC)を復号可能な情報処理装置PC(r)〕であれば可能であり、検証装置用の特別な装置を用意する必要はない。よって、利便性が高い。
【0022】
また、本発明において好ましくは、上記登録過程は、各公開鍵PK(i)を用いて暗号文認証用鍵KBを暗号化した各暗号文PE(PK(i), KB)を上記情報記録媒体に格納する過程を具備する。そして、上記書き込み過程は、情報処理装置PC(p)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(p), KB)を読み込む過程と、上記情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KB)を復号して暗号文認証用鍵KBを抽出する過程と、上記情報処理装置PC(p)の暗号文認証部が、少なくとも暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、認証子AU(KB, E(p), SE(KA, M(p)))を上記情報記録媒体に格納する過程と、を具備する。
【0023】
このように暗号文SE(KA, M(p))の認証子AU(KB, SE(KA, M(p)))を生成し、情報記録媒体に格納しておくことにより、暗号文SE(KA, M(p))の改ざんを検出することができる。また、この場合も登録された情報処理装置であれば、認証子AU(KB, SE(KA, M(p)))の検証が可能であり、検証装置用の特別な装置を用意する必要はない。よって、利便性が高い。
【0024】
また、本発明において好ましくは、上記情報処理装置PC(p)の暗号化部が共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程は、上記暗号化部のブロック分割部が、平文M(p)をX(X≧2)個のブロックMB(p, x)(x=1,...,X)に分割する過程と、上記暗号化部の乱数生成部が、平文M(p)毎に乱数E(p)を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、乱数E(p)を上記情報記録媒体に格納する過程と、上記暗号化部の関数演算部が、少なくともブロックMB(p, x)のブロック番号xと乱数E(p)とを所定の関数πに代入した関数値IV =π(x, E(p))を算出する過程と、上記暗号化部のブロック暗号化部が、共通鍵KAを用い、関数値IVを初期ベクトルとして各ブロックMB(p, x)を暗号化し、算出された全ブロックMB(p, x)の暗号文から暗号文SE(KA, M(p))を生成する過程と、を具備する過程である。
【0025】
当該好ましい方法では、平文M(p)毎に乱数E(p)を生成し、ブロック番号xと乱数E(p)とを所定の関数πに代入した関数値IV=π(x, E(p))を用いたブロック暗号により、暗号文SE(KA, M(p))を生成する。この場合、或る平文M(p)を分割して得られたブロック間の値が同一であっても当該ブロック間の暗号文は同一とならないだけではなく、平文M(p) を分割して得られたブロック番号xのブロックMB(p, x)と、別の平文M(p’)を分割して得られた同じブロック番号xのブロックMB(p’, x)とが同一であっても、それらの暗号文は同一とならない。これにより、暗号文の同一性から平文の同一性が推測され、安全性が低下することを防止できる。このようなブロック暗号化方法は、複数の平文が同一の共通鍵KAで繰り返し暗号化され、生成された複数の暗号文が格納される情報記録媒体には特に有効な方法である。
【0026】
また、当該乱数E(p)を用いた暗号化を行う場合に好ましくは、上記登録過程において、各公開鍵PK(i)を用いて暗号文認証用鍵KBを暗号化した各暗号文PE(PK(i), KB)を上記情報記録媒体に格納する過程を実行し、上記書き込み過程において、情報処理装置PC(p)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(p), KB)を読み込む過程と、上記情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KB)を復号して暗号文認証用鍵KBを抽出する過程と、上記情報処理装置PC(p)の暗号文認証部が、少なくとも暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、認証子AU(KB, E(p), SE(KA, M(p)))を上記情報記録媒体に格納する過程と、を実行する。
【0027】
このように、暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成することにより、認証子AU(KB, E(p), SE(KA, M(p)))の信頼性を向上させることができる。さらに、暗号文SE(KA, M(p))の生成に利用した乱数E(p)を認証子AU(KB, E(p), SE(KA, M(p)))の生成に流用しているため、認証子生成のために新たに乱数を生成する演算や、認証子を検証するために乱数E(p)以外の乱数を格納しておく処理を必要としない。
【発明の効果】
【0028】
以上のように、本発明では、煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用できる。
【発明を実施するための最良の形態】
【0029】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
〔第1の実施形態〕
まず、本発明の第1の実施形態について説明する。
<構成>
図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メモリを例示するが、本発明はこれに限定されるものではない。
【0030】
図2(a)は、本形態のPC10−i(i=1,...,n)の機能構成を例示したブロック図であり、図2(b)は、本形態のUSBメモリ20の機能構成を例示したブロック図である。
図2(a)に示すように、PC10−iは、外部書き込み部11aと、外部読み込み部11bと、内部書き込み部12aと、内部読み込み部12bと、記憶部13と、共通鍵生成部14aと、鍵ペア生成部14b、鍵秘匿化部14cと、共通鍵復元部14dと、暗号化部14eと、復号化部14fと、削除部14gと、アプリケーション実行部14hと、制御部14iと、一時メモリ14jと、入力部15と、出力部16とを有している。また、図2(b)に示すように、USBメモリ20は、インタフェース部21と、記憶部22と、制御部23とを有しており、記憶部22は領域22a〜22cを有している。
【0031】
本形態のPC10−iはCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等からなるノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図2(a)に示す機能構成が実現される。
具体的には、この例の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にセキュリティプログラムを格納しておかなくてもよい。
【0032】
<処理>
次に本形態の処理を説明する。
本形態の処理は、(1)USBメモリ20を共用するn個のPC10−iをUSBメモリ20に登録する過程(登録過程)、(2)PC10−iがUSBメモリ20に暗号文を書き込む過程(書き込み過程)、(3)PC10−iがUSBメモリ20から暗号文を読み込んで復号する過程(読み込み過程)、(4) USBメモリ20から登録を削除する過程(削除過程)に大別できる。以下、各過程を説明する。
【0033】
[登録過程]
まず、登録過程を説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部14i,23の制御のもと実行され、PC10−i内での各演算で得られる各データは逐一一時メモリ14jに書き込まれ、必要に応じて他の演算のために読み出される。また、或る演算部から他の演算部へデータを送るとは、或る演算部で算出された演算結果を一時メモリ14jに格納し、他の演算部が一時メモリ14jから当該演算結果を読み込むことを意味する。
【0034】
図3〜5は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図11は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてPC10−1が最初に登録を行い、次にPC10−2が登録申請を行い、PC10−1がそれを承認することによってPC10−2が登録される処理を例示する。
まず、前処理としてPC10−1にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名〔ワークグループ名を含む(以下同様)〕とを取得し、それらを示すID(1)を生成してPC10−1の記憶部13(図3(a))に格納する。なお、既にID(1)が既に記憶部13に格納されていた場合には登録過程を実行しない。
【0035】
その後、PC10−1にUSBメモリ20が装着・マウントされると、PC10−1の共通鍵生成部14a(図3(a))が共通鍵KAを生成(例えばランダムに生成)して出力する(ステップS1)。また、PC10−1の鍵ペア生成部14bが、公開鍵暗号方式の秘密鍵SK(1)と公開鍵PK(1)とを生成して出力する(ステップS2)。なお、公開鍵暗号方式としては、例えば、PSEC-KEMやRSA等を例示できる。生成された秘密鍵SK(1)は、PC10−1の内部書き込み部12aに送られ、そこからPC10−1の記憶部13に格納される(ステップS3)。また、共通鍵生成部14aから出力された共通鍵KAと、鍵ペア生成部14bから出力された公開鍵PK(1)とはPC10−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(1)を用いて共通鍵KAを暗号化した暗号文PE(PK(1), KA)を生成し、出力する(ステップS4)。なお、PE(α, β)は、所定の公開鍵暗号方式により、公開鍵αを用いてβを暗号化した暗号文を意味する。
【0036】
上記の公開鍵PK(1)と暗号文PE(PK(1), KA)と内部読み込み部12bから読み込まれたID(1)とは、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21(図3(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS5/PC10−1の登録完了)。
次に、当該USBメモリ20がPC10−2に装着・マウントされると、PC10−2にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(2)を生成してPC10−2の記憶部13(図4(a))に格納する。
【0037】
次に、PC10−2の鍵ペア生成部14b(図4(a))が、公開鍵暗号方式の秘密鍵SK(2)と公開鍵PK(2)とを生成し、出力する(ステップS6)。秘密鍵SK(2)は、PC10−2の内部書き込み部12aによってその記憶部13に書き込まれる(ステップS7)。一方、公開鍵PK(2)は、PC10−2の内部読み込み部12bによって記憶部13から読み込まれた識別子ID(2)とともに、その外部書き込み部11aからUSBメモリ20のインタフェース部21(図4(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS8/PC10−2の登録申請)。
【0038】
次に、当該USBメモリ20がPC10−1に装着・マウントされると、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22bから、識別子ID(1)に関連付けられている暗号文PE(PK(1), KA)を読み込み、それをPC10−1の共通鍵復元部14d(図5(a))に送る(ステップS9)。PC10−1の共通鍵復元部14dには、さらにPC10−1の内部読み込み部12bによってPC10−1の記憶部13から秘密鍵SK(1)が読み込まれる。PC10−1の共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号し〔KA=PD(SK(1), PE(PK(1), KA))〕、共通鍵KAを抽出する(ステップS10)。なお、PD(α, β)は、所定の公開鍵暗号方式により、秘密鍵αを用いてβを復号化した結果値を意味する。
【0039】
さらに、PC10−1の外部読み込み部11bが、USBメモリ20の記憶部22の領域22a(図5(b))から公開鍵PK(2)を読み込む(ステップS11)。共通鍵KA及び公開鍵PK(2)は、PC10−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(2)を用い、公開鍵暗号方式によって共通鍵KAを暗号化した暗号文PE(PK(2), KA)を生成し、出力する(ステップS12)。暗号文PE(PK(2), KA)は、外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22b(図5(b))に識別子ID(2)と関連付けて格納される(ステップS13/PC10−1による承認完了)。これにより、PC10−2の登録が終了する。
【0040】
その後、PC10−2と同様にその他のPC10−iが登録申請(ステップS6〜S8参照)を行い、PC10−1等の登録済のPC10−t(t=1,...,n)(USBメモリ20に暗号文PE(PK(t), KA)が格納され、自らの記憶部13に秘密鍵SK(t)が格納された何れかのPC10−t)が上述のように承認を行い(ステップS9〜S13参照)、全てのPC10−i(i=1,...,n)の登録がなされる。
【0041】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【0042】
図6は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図7は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図12は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC10−1がUSBメモリ20に暗号文を書き込み(書き込み過程)、PC10−2がUSBメモリ20から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0043】
まず、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)。
【0044】
当該暗号文PE(PK(1), KA)は、PC10−1の共通鍵復元部14d(図6(a))に送られる。また、これをトリガとして、PC10−1の内部読み込み部12bがその記憶部13から秘密鍵SK(1)を読み込み、秘密鍵SK(1)を共通鍵復元部14dに送る。共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出し、共通鍵KAを暗号化部14eに送る(ステップS22)。また、PC10−1のアプリケーション実行部14hは、平文M(1)をその暗号化部14eに送り、当該暗号化部14eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS23)。なお、SE(α, β)は、所定の共通鍵暗号方式により、共通鍵αを用いてβを暗号化した暗号文を意味する。また、共通鍵暗号方式としては、例えばCamelliaやAES等を例示できる。
【0045】
生成された暗号文SE(KA, M(1))は、外部書き込み部11aによって、USBメモリ20のインタフェース部21に送られ、そこから記憶部22の領域22c(図6(b))に格納される(ステップS24/書き込み過程終了)。
【0046】
次に、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))を読み込み(ステップS25)、さらに、領域22bから暗号文PE(PK(2), KA)を読み込む(ステップS26)。次に、PC10−2の内部読み込み部12b(図7(a))が記憶部13から秘密鍵SK(2)を読み込む。そして、PC10−2の共通鍵復元部14dが、当該秘密鍵SK(2)を用いて暗号文PE(PK(2), KA)を復号して共通鍵KA〔KA=PD(SK(2), PE(PK(2), KA))〕を抽出する(ステップS27)。その後、PC10−2の復号化部14fが、当該共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS28)。なお、SD(α,β)は、共通鍵暗号方式により、共通鍵αによってβを復号化した結果値を意味する。
抽出された平文M(1)は、PC10−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0047】
[削除過程]
次に、本形態の削除過程について説明する。なお、前提としてPC10−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
図8〜10は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図13は、本形態の削除過程を説明するためのシーケンス図である。
【0048】
本形態の削除過程は、単に登録削除対象のPC10−wのデータをUSBメモリ20から削除するだけではなく、これに併せて平文の暗号化に用いる共通鍵KAを再設定し、USBメモリ20に格納されている暗号文も生成し直す。これにより、登録が削除されたPC10−wが、過去に取得した共通鍵KAを用い、USBメモリ20に格納された暗号文を復号できてしまうという事態を防止できる。以下では、PC10−1がUSBメモリ20からPC10−2の登録を削除する例を示す。
【0049】
まず、PC10−1にUSBメモリ20が装着・マウントされているものとする。この状態で、利用者が登録削除対象を例えば以下のように指定する。まず、外部読み込み部11bがUSBメモリ20の記憶部22の領域22bから全ての識別子ID(i)を読み込み、それらが示すホスト名及びユーザ名を出力部16から出力する(例えば、画面上に表示する)。利用者は、出力されたホスト名及びユーザ名を参照しながら、削除対象のホスト名及びユーザ名を入力部15から入力する。この例では識別子ID(2)に対応するホスト名及びユーザ名が入力されたものにする。制御部14iは、この入力結果に基づき以下のように削除過程を実行させる。
【0050】
まず、PC10−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、外部読み込み部11b(図8(a))に送る。当該外部読み込み部11b(図8(a))は、USBメモリ20の記憶部22の領域22b(図8(b))から識別子ID(1)に関連付けられた暗号文PE(PK(1), KA)を読み込み(ステップS31)、共通鍵復元部14dに送る。
【0051】
次に、PC10−1の内部読み込み部12bが記憶部13から秘密鍵SK(1)を読み込み、共通鍵復元部14dに送る。共通鍵復元部14dは、当該秘密鍵SK(1)を用い、USBメモリ20から読み込まれた暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出する(ステップS32)。また、PC10−1の共通鍵生成部14aが、新たな共通鍵KAnewを生成する(ステップS33)。
【0052】
また、PC10−1の外部読み込み部11bが、USBメモリ20からPC10−iに対応する暗号文SE(KA, M(i))(i=1,...,n)を読み込む(ステップS34)。PC10−1の復号化部14fは、共通鍵復元部14dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS35)。
【0053】
次に、PC10−1の暗号化部14eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部14eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS36)。各暗号文SE(KAnew, M(i))は、PC10−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該暗号文SE(KAnew, M(i))をUSBメモリ20のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図8(b))に格納する(ステップS37)。
【0054】
また、PC10−1の外部読み込み部11b(図9(a))が、USBメモリ20から各PC10−s(s=1,...,n、s≠2)に対応する公開鍵PK(s)を読み込み(ステップS38)、それらをPC10−1の鍵秘匿化部14に送る。そして、当該鍵秘匿化部14cは、読み込まれた各公開鍵PK(s)を用い、共通鍵生成部14aで新たに生成された(ステップS33)共通鍵KAnewを公開鍵暗号方式によって暗号化し、暗号文PE(PK(s), KAnew)を生成する(ステップS39)。各暗号文PE(PK(s), KAnew)は、PC10−1の外部書き込み部11aによってUSBメモリ20のインタフェース部21に送られる。当該インタフェース部21は、各暗号文PE(PK(s), KAnew)を、USBメモリ20の記憶部22の領域22bに、それぞれ識別子ID(s)と対応付けて格納(図9(b))する(ステップS40)。
【0055】
次に、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)を削除(図10(b))する(ステップS41)。
【0056】
〔第2の実施形態〕
次に本発明の第2の実施形態について説明する。
本形態は第1の実施形態の変形例であり、USBメモリに格納する公開鍵や暗号文に認証子を付して公開鍵や暗号文の偽造を防止する点、公開鍵や暗号文用の認証子を作成するための鍵を各PCの公開鍵で暗号化してUSBメモリに格納しておく点、平文を暗号化するための共通鍵及び公開鍵や暗号文用の認証子を作成するための鍵を効率よく暗号化するための工夫を行っている点、平文の暗号化方法を工夫している点が第1の実施形態と相違する。以下では、第1の実施形態との相違点を中心に説明し、第1の実施形態と共通する事項については説明を簡略化する。
【0057】
<構成>
本形態の情報記録媒体共用システムの全体構成は、PC10−1〜nがPC110−1〜nに置き換わり、USBメモリ120がUSBメモリ120に置き換わる点以外、第1の実施形態と同様である。
図14は、本形態のPC110−i(i=1,...,n)の機能構成を例示したブロック図である。また、図15は、本形態のUSBメモリ120の機能構成を例示したブロック図である。なお、図14,15において第1の実施形態と共通する部分については、第1の実施形態と同じ符号を付している。
【0058】
図14に示すように、PC110−iは、外部書き込み部11aと、外部読み込み部11bと、内部書き込み部12aと、内部読み込み部12bと、記憶部13と、共通鍵生成部114aと、鍵ペア生成部14b、鍵秘匿化部114cと、共通鍵復元部114dと、暗号化部114eと、復号化部114fと、削除部14gと、アプリケーション実行部14hと、制御部14iと、一時メモリ14jと、公開鍵認証子生成部114kと、公開鍵検証部114mと、暗号文認証子生成部114nと、暗号文検証部114pと、入力部15と、出力部16とを有している。また、本形態のPC110−iもCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等からなるノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図14に示す機能構成が実現される。
【0059】
また、図15に示すように、本形態のUSBメモリ120の機能構成は、第1の実施形態と同様であるが、記憶部22に格納されるデータが第1の実施形態と相違する。
<処理>
次に本形態の処理について説明する。
本形態の処理も、(1)登録過程、(2)書き込み過程、(3)読み込み過程、(4)削除過程に大別できる。以下、各過程の説明を行う。
【0060】
[登録過程]
まず、登録過程を説明する。なお、前提としてPC110−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部14i,23の制御のもと実行され、PC110−i内での各演算で得られる各データは逐一一時メモリ14jに書き込まれ、必要に応じて他の演算のために読み出される。
【0061】
図16〜18は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図25及び26は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてPC110−1が最初に登録を行い、次にPC110−2が登録申請を行い、PC110−1がそれを承認することによってPC110−2が登録される処理を例示する。
まず、前処理としてPC110−1にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(1)を生成してPC110−1の記憶部13(図16(a))に格納する。なお、既にID(1)が既に記憶部13に格納されていた場合には登録過程を実行しない。
【0062】
PC110−1にUSBメモリ120が装着・マウントされると、PC110−1の共通鍵生成部114a(図16(a))が3つの共通鍵KA, KB, KCを生成(例えばランダムに生成)、出力する(ステップS51)。なお、共通鍵KAはメッセージである平文を暗号化するための鍵であり、共通鍵KBは暗号文の認証子を生成するための暗号文認証用鍵であり、共通鍵KCは公開鍵の認証子を生成するための鍵認証用鍵KCである。
また、PC110−1の鍵ペア生成部14bが、公開鍵暗号方式の秘密鍵SK(1)と公開鍵PK(1)とを生成して出力する(ステップS52)。なお、公開鍵暗号方式としては、例えば、PSEC-KEMやRSA等を例示できる。生成された秘密鍵SK(1)は、PC110−1の内部書き込み部12aに送られ、そこからPC110−1の記憶部13に格納される(ステップS53)。
【0063】
また、共通鍵生成部14aから出力された共通鍵KA, KB, KCと、鍵ペア生成部14bから出力された公開鍵PK(1)とはPC110−1の鍵秘匿化部114cに送られ、当該鍵秘匿化部114cは、公開鍵PK(1)を用いて共通鍵KA, KB, KCをそれぞれ暗号化した暗号文PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)を生成し、出力する(ステップS54)。
【0064】
さらに、PC110−1の公開鍵認証子生成部114kに、共通鍵生成部114aで生成された共通鍵KCと、鍵ペア生成部14bで生成された公開鍵PK(1)と、鍵秘匿化部114cで生成された暗号文PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)と、内部読み込み部12bが記憶部13から読み込んだ識別子ID(1)とが入力される。そして、当該公開鍵認証子生成部114kは、これらを用いて公開鍵PK(1)の公開鍵認証子AU(KC, PK(1))を生成する(ステップS55)。なお、公開鍵認証子AU(KC, PK(1))は、例えば、
AU(KC, PK(1))=HMAC(KC, PK(1), ID(1), PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)) …(1)
等によって生成する。なお、HMAC(α, β1, β2, ...,βm)(mは1以上の整数)は、β1, β2, ...,βmのビット連結β1|β2|...|βmをβとし、γ(+)δをγとδとの排他的論理和とし、opad及びipadを定数ビット列とし、H(σ)をσのハッシュ値とした場合における、
H((α(+)opad)|H((α(+)ipad)|β)) …(2)
である(「Mihir Bellare, Ran Canetti and Hugo Krawczyk, "Keying Hash Functions for Message Authentication", CRYPTO'96, pp1-15, 1996.」等参照)。しかし、これは一例であり、少なくとも鍵認証用鍵KCと公開鍵PK(i)とを用いて生成された公開鍵PK(i)の公開鍵認証子AU(KC, PK(i))であればよい。例えば、HMAC(KC, PK(1))や、鍵認証用鍵KCを用いた公開鍵PK(i)の電子署名等を、公開鍵認証子AU(KC, PK(1))としてもよい。
【0065】
上記の公開鍵PK(1)と暗号文PE(PK(1), KA),PE(PK(1), KB),PE(PK(1), KC)と公開鍵認証子AU(KC, PK(1))と内部読み込み部12bから読み込まれたID(1)とは、PC110−1の外部書き込み部11aによってUSBメモリ120のインタフェース部21(図16(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS56/PC110−1の登録完了)。
次に、当該USBメモリ120がPC110−2に装着・マウントされると、PC110−2にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(2)を生成してPC110−2の記憶部13(図17(a))に格納する。
【0066】
次に、PC110−2の鍵ペア生成部14b(図17(a))が、公開鍵暗号方式の秘密鍵SK(2)と公開鍵PK(2)とを生成し、出力する(ステップS57)。秘密鍵SK(2)は、PC110−2の内部書き込み部12aによってその記憶部13に書き込まれる(ステップS58)。
一方、公開鍵PK(2)は、PC110−2の内部読み込み部12bによって記憶部13から読み込まれた識別子ID(2)とともに、その外部書き込み部11aからUSBメモリ120のインタフェース部21(図17(b))に送られ、そこから記憶部22の領域22bに相互に関連付けられて格納される(ステップS59/PC110−2の登録申請)。
【0067】
次に、当該USBメモリ120がPC110−1に装着・マウントされると、PC110−1の外部読み込み部11bが、USBメモリ120の記憶部22の領域22bから、識別子ID(1)に関連付けられている暗号文PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)を読み込み、それらをPC110−1の共通鍵復元部114d(図18(a))に送る(ステップS60)。PC110−1の共通鍵復元部114dには、さらにPC110−1の内部読み込み部12bによってPC110−1の記憶部13から秘密鍵SK(1)が読み込まれる。PC110−1の共通鍵復元部14dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA) , PE(PK(1), KB), PE(PK(1), KC)を復号し、共通鍵KA, KB, KC〔KA=PD(SK(1), PE(PK(1), KA)), KB=PD(SK(1), PE(PK(1), KB)), KC=PD(SK(1), PE(PK(1), KC))〕を抽出する(ステップS61)。さらに、PC110−1の外部読み込み部11bが、USBメモリ120の記憶部22の領域22a(図18(b))から、識別子ID(2)と公開鍵PK(2)を読み込む(ステップS62)。
【0068】
これらの共通鍵KA, KB, KC及び公開鍵PK(2)は、PC110−1の鍵秘匿化部14cに送られ、当該鍵秘匿化部14cは、公開鍵PK(2)を用い、公開鍵暗号方式によって共通鍵KA, KB, KCをそれぞれ暗号化した暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)を生成し、出力する(ステップS63)。
さらに、PC110−2の公開鍵認証子生成部114kに、共通鍵KCと公開鍵PK(2)と暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)と識別子ID(2)とが入力される。そして、当該公開鍵認証子生成部114kは、これらを用い、ステップS55と同様に、公開鍵PK(2)の公開鍵認証子AU(KC, PK(2))を生成する(ステップS64)。
【0069】
そして、暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)と公開鍵認証子AU(KC, PK(2))は、外部書き込み部11aによってUSBメモリ120のインタフェース部21に送られ、そこから記憶部22の領域22b(図18(b))に識別子ID(2)と関連付けて格納される(ステップS65/PC110−1による承認完了)。これにより、PC110−2の登録が終了する。
【0070】
その後、PC110−2と同様にその他のPC110−iが登録申請を行い(ステップS57〜S59参照)、PC110−1等の登録済のPC110−t(t=1,...,n)(USBメモリ120に暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)が格納され、自らの記憶部13に秘密鍵SK(t)が格納された何れかのPC110−t)が上述のように承認を行い(ステップS60〜S65参照)、全てのPC110−i(i=1,...,n)の登録がなされる。
【0071】
[書き込み過程・読み込み過程]
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてPC110−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
図19は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図20は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図27は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、PC110−1がUSBメモリ120に暗号文を書き込み(書き込み過程)、PC110−2がUSBメモリ120から暗号文を読み込んで復号する(読み込み過程)例を示す。
【0072】
まず、PC110−1にUSBメモリ120が装着・マウントされているものとする。この状態で、PC110−1のアプリケーション実行部14h(図19(a))が、平文M(1)の暗号文のUSBメモリ120への書き込み要求を制御部14iに行う。これをトリガとして、PC110−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、これをPC110−1の外部読み込み部11bに送る。当該外部読み込み部11bは、USBメモリ120の記憶部22の領域22b(図19(b))から識別子ID(1)に関連付けられている暗号文PE(PK(1), KA), PE(PK(1), KB)を読み込む(ステップS71)。
【0073】
当該暗号文PE(PK(1), KA), PE(PK(1), KB)は、PC110−1の共通鍵復元部114d(図19(a))に送られる。また、これをトリガとして、PC110−1の内部読み込み部12bがその記憶部13から秘密鍵SK(1)を読み込み、秘密鍵SK(1)を共通鍵復元部114dに送る。共通鍵復元部114dは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA) , PE(PK(1), KB)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕, KB〔KB=PD(SK(1), PE(PK(1), KB))〕を抽出する(ステップS72)。当該共通鍵KAは、PC110−1の暗号化部114eに送られ、当該共通鍵KBは暗号文認証子生成部114nに送られる。また、PC110−1のアプリケーション実行部14hは、平文M(1)を当該暗号化部114eに送り、当該暗号化部114eは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する(ステップS73)。
【0074】
生成された暗号文SE(KA, M(1))は暗号文認証子生成部114nに送られ、暗号文認証子生成部114nは、少なくとも共通鍵KBと暗号文SE(KA, M(1))とを用いて暗号文SE(KA, M(1))の暗号文認証子AU(KB, SE(KA, M(1)))を生成する(ステップS74)。なお、暗号文認証子AU(KB, SE(KA, M(1)))は、例えば、以下のように生成する。
AU(KB, SE(KA, M(1)))=HMAC(KB, SE(KA, M(1))) …(3)
なお、暗号文認証子AU(KB, SE(KA, M(1)))は、式(3)に限定されるものではなく、共通鍵KBを用いて暗号文SE(KA, M(1))の正当性を証明できる情報であれば、電子署名等どのようなものであってもよい。
【0075】
このように生成された暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))とは、外部書き込み部11aによって、USBメモリ120のインタフェース部21に送られ、そこから記憶部22の領域22c(図19(b))に格納される(ステップS75/書き込み過程終了)。
【0076】
次に、PC110−2にUSBメモリ120が装着・マウントされる。この状態で、PC110−2のアプリケーション実行部14hが、USBメモリ120からの暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))の読み込み要求を制御部14iに行うと、まず、PC110−2の外部読み込み部11b(図20(a))が、USBメモリ120の記憶部22の領域22c(図20(b))から暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))を読み込み(ステップS76)、さらに、領域22bから暗号文PE(PK(2), KA), PE(PK(2), KB)を読み込む(ステップS77)。次に、PC110−2の内部読み込み部12b(図20(a))が記憶部13から秘密鍵SK(2)を読み込む。そして、PC110−2の共通鍵復元部114dが、当該秘密鍵SK(2)を用いて暗号文PE(PK(2), KA), PE(PK(2), KB)をそれぞれ復号して共通鍵KA〔KA=PD(SK(2), PE(PK(2), KA))〕, KB〔KB=PD(SK(2), PE(PK(2), KB))〕を抽出する(ステップS78)。
【0077】
その後、PC110−2の暗号文検証部114pに、共通鍵KBと暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))とが入力され、暗号文検証部114pは、共通鍵KBと暗号文認証子AU(KB, SE(KA, M(1)))とを用い、暗号文SE(KA, M(1))が正当なものであるか否かを検証する(ステップS79)。例えば、ステップS73において前述の式(3)によって証子AU(KB, SE(KA, M(1)))が生成される例の場合、PC110−2の暗号文検証部114pは、入力された共通鍵KBと暗号文SE(KA, M(1))とを用いてHMAC(KB, SE(KA, M(1)))を算出し、その演算結果と入力されたHMAC(KB, SE(KA, M(1)))と等しいか否かを判定する。
【0078】
ここで、これらが等しくないのであれば、暗号文SE(KA, M(1))が不当であるとして、制御部14iは処理をエラー終了させる。一方、これらが等しいのであれば、暗号文SE(KA, M(1))が正当であるとして、PC110−2の復号化部114fが、共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する(ステップS80)。抽出された平文M(1)は、PC110−2のアプリケーション実行部14hに送られる(読み込み過程終了)。
【0079】
[削除過程]
次に、本形態の削除過程について説明する。なお、前提としてPC110−iには、OSやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
図21〜24は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図28,29は、本形態の削除過程を説明するためのシーケンス図である。
PC110−1にUSBメモリ120が装着・マウントされているものとする。また、本形態でも第1の実施形態と同様にPC110−2の登録を削除するものとする。
【0080】
まず、PC110−1の内部読み込み部12bが記憶部13から識別子ID(1)を読み込み、外部読み込み部11b(図21)に送る。当該外部読み込み部11bは、USBメモリ120の記憶部22の領域22b(図22)から識別子ID(1)に関連付けられた暗号文PE(PK(1), KA), PE(PK(1), KC)を読み込む(ステップS91)。
【0081】
次に、PC110−1の内部読み込み部12b(図21)が記憶部13から秘密鍵SK(1)を読み込み、共通鍵復元部14dに送る。共通鍵復元部14dは、当該秘密鍵SK(1)を用い、USBメモリ120から読み込まれた暗号文PE(PK(1), KA) , PE(PK(1), KC)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕, KC〔KC=PD(SK(1), PE(PK(1), KC))〕を抽出する(ステップS92)。
【0082】
次に、PC110−1の外部読み込み部11bが、USBメモリ120から削除対象のPC110−2以外の識別子ID(s)(s=1,...,n、s≠2)と公開鍵PK(s)と公開鍵認証子AU(KC, PK(s))と暗号文PE(PK(s), KA), PE(PK(s), KB), PE(PK(s), KC)を読み込み(ステップS93)、これらを公開鍵検証部114mに送る。公開鍵検証部114mには、さらに共通鍵KCが入力され、公開鍵検証部114mは、これらの情報を用いて公開鍵PK(s)の正当性を検証する(ステップS94)。例えば、公開鍵認証子AU(KC, PK(s))がAU(KC, PK(s))=HMAC(KC, PK(s), ID(s), PE(PK(s), KA), PE(PK(s), KB), PE(PK(s), KC))と生成される場合には、公開鍵検証部114mは、入力された情報を用いてHMAC(KC, PK(s), ID(s), PE(PK(s), KA), PE(PK(s), KB), PE(PK(s), KC))を計算し、その計算結果と、入力された公開鍵認証子AU(KC, PK(s))と、が等しいか否かを判定する。
【0083】
ここで正当でないと判定された公開鍵PK(s’)に対応するPC110−s’は、すべて登録削除対象に加える。すなわち、ステップS94以降、s=1,...,n、s≠2、s≠s’となる。
次に、PC110−1の共通鍵生成部114aが、新たな共通鍵KAnew, KBnew, KCnewを生成する(ステップS95)。
また、PC110−1の外部読み込み部11bが、USBメモリ120からPC110−iに対応する暗号文SE(KA, M(i))(i=1,...,n)を読み込み(ステップS96)、復号化部114fに送る。当該復号化部114fは、共通鍵復元部114dで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する(ステップS97)。
【0084】
次に、PC110−1の暗号化部114eに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部114eは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する(ステップS98)。さらに、暗号文認証子生成部114nに、当該暗号文SE(KAnew, M(i)) と新たな共通鍵KAnew,KBnewとが入力され、暗号文認証子生成部114nは、ステップS74と同様に、暗号文SE(KAnew, M(i))の暗号文認証子AU(KBnew, SE(KAnew, M(i)))を生成する(ステップS99)。
【0085】
生成された各暗号文SE(KAnew, M(i))とそれらの暗号文認証子AU(KBnew, SE(KAnew, M(i)))とは、PC110−1の外部書き込み部11aに送られる。当該外部書き込み部11aは、当該各暗号文SE(KAnew, M(i))とそれらの暗号文認証子AU(KBnew, SE(KAnew, M(i)))とをUSBメモリ120のインタフェース部21に送り、インタフェース部21は、これらを記憶部22の領域22c(図22)に格納する(ステップS100)。
【0086】
次に、PC110−1の外部読み込み部11b(図23(a))が、USBメモリ120から、各PC110−sに対応する公開鍵PK(s)と識別子ID(s)を読み込み(ステップS101)、それらを鍵秘匿化部114cに送る。当該鍵秘匿化部114cは、読み込まれた各公開鍵PK(s)を用い、共通鍵生成部114aで新たに生成された共通鍵KAnew, KBnew, KCnewを公開鍵暗号方式によって暗号化し、暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)を生成する(ステップS102)。
さらに、公開鍵認証子生成部114kに、新たに生成された共通鍵KCnewと暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)と公開鍵PK(s)と識別子ID(s)が入力され、ステップS55と同様に、各公開鍵PK(s)の公開鍵認証子AU(KC, PK(s))を生成する(ステップS103)。
【0087】
各暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)と公開鍵認証子AU(KC, PK(s))とは、PC110−1の外部書き込み部11aによってUSBメモリ120のインタフェース部21(図23(b))に送られる。そして、当該インタフェース部21は、各暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)と公開鍵認証子AU(KC, PK(s))とを、USBメモリ120の記憶部22の領域22bに、それぞれ識別子ID(s)に対応付けて格納(図23(b))する(ステップS104)。
【0088】
次に、PC110−1の削除部14g(図24(a))が削除命令を出し、これを受けた外部書き込み部11aは、USBメモリ120の記憶部22の領域22c(図23(b))から暗号文SE(KA, M(i))と暗号文認証子AU(KB, SE(KA, M(i)))を削除し、領域22bから暗号文PE(PK(i), KA), PE(PK(i), KB), PE(PK(i), KC)と公開鍵認証子AU(KC, PK(i))と識別子ID(2),ID(s’)と公開鍵PK(2),PK(s’)を削除(図24(b))する(ステップS105)。なお、識別子ID(s’)及び公開鍵PK(s’)は、ステップS94で公開鍵PK(s’)が正当でないと判定されたPC110−s’に対応する。
【0089】
〔第3の実施形態〕
次に、本発明の第3の実施形態について説明する。本形態は第2の実施形態の変形例である。複数の共通鍵の秘匿化や復号を行う鍵秘匿化部114c及び共通鍵復元部114dの構成を工夫し、演算量の削減を可能とした点のみが第2の実施形態と相違する。以下では、本形態の鍵秘匿化部114c及び共通鍵復元部114dのみについて説明する。
【0090】
<鍵秘匿化部114c>
図30(a)は、本形態の鍵秘匿化部114cの構成を示したブロック図である。また、図31は、本形態の鍵秘匿化処理を説明するためのフローチャートである。以下、これらの図を用い、秘密鍵KA. KB, KCと公開鍵PK(1)とが本形態の鍵秘匿化部114cに入力され、当該鍵秘匿化部114cが暗号文PE(PK(1),KA), PE(PK(1),KB), PE(PK(1),KC)を算出する処理を例にとって説明する。
【0091】
まず、鍵秘匿化部114cの乱数生成部114caが乱数Z(1)(例えばビット長384bit)を生成し(ステップS121)、それを、鍵秘匿化部114cの公開鍵暗号化部114cbと乱数分割部114ccとに送る。当該公開鍵暗号化部114cbは、入力された公開鍵PK(1)を用いて乱数Z(1)を公開鍵暗号方式によって暗号化して暗号文C(1)=PE(PK(1), Z(1))を生成する(ステップS122)。また、当該乱数分割部114ccは、乱数Z(1)を3(Y=3の例)個の乱数Z(1, y)(y=1,2,3)(例えばビット長128bit)に分割する(ステップS123)。分割された各乱数Z(1, y)は、鍵秘匿化部114cの共通鍵暗号化部114cdに送られる。共通鍵暗号化部114cdは、乱数Z(1, 1) を鍵とし、共通鍵暗号方式(Camellia, AES等)によって共通鍵KAを暗号化した暗号文SE(Z(1, 1), KA)と、乱数Z(1, 2) を鍵とし、共通鍵暗号方式によって共通鍵KBを暗号化した暗号文SE(Z(1, 2), KB)と、乱数Z(1, 3) を鍵とし、共通鍵暗号方式によって共通鍵KCを暗号化した暗号文SE(Z(1, 3), KC)とを算出する(ステップS124〜S126)。そして、鍵秘匿化部114cは、暗号文
PE(PK(1), KA)=(C(1), SE(Z(1, 1), KA))
PE(PK(1), KB)=(C(1), SE(Z(1, 2), KB))
PE(PK(1), KC)=(C(1), SE(Z(1, 3), KC))
を出力する(ステップS127)。なお、(C(1), SE(Z(1, 1), KA))は、C(1)とSE(Z(1, 1), KA)とを有する情報を意味し、(C(1), SE(Z(1, 2), KB))は、C(1)と SE(Z(1, 2), KB)とを有する情報を意味し、(C(1), SE(Z(1, 3), KC))は、C(1)とSE(Z(1, 3), KC)とを有する情報を意味する。また、「αとβとを有する情報」の具体例としては、αとβとのビット結合や、当該ビット結合と他のデータとのビット結合等を例示できる。
【0092】
<共通鍵復元部114d>
図30(b)は、本形態の共通鍵復元部114dの構成を示したブロック図である。また、図32は、本形態の鍵復元処理を説明するためのフローチャートである。以下、これらの図を用い、暗号文PE(PK(1),KA), PE(PK(1),KB), PE(PK(1),KC)と秘密鍵SK(1)とが本形態の共通鍵復元部114dに入力され、当該共通鍵復元部114dが暗号文PE(PK(1),KA), PE(PK(1),KB), PE(PK(1),KC)を復号する処理を例にとって説明する。
まず、共通鍵復元部114dの公開鍵復号化部114daが、入力された秘密鍵SK(1)を用いて暗号文C(1)=PE(PK(1), Z(1))を復号し、乱数Z(1)〔Z(1)=PD(SK(1), C(1))〕を抽出する(ステップS131)。当該乱数Z(1)は、共通鍵復元部114dの乱数分割部114dbに入力され、当該乱数分割部114dbは、乱数Z(1)を3(Y=3の例)個の乱数Z(1, y)(y=1,2,3)(例えばビット長128bit)に分割する(ステップS132)。次に、共通鍵復元部114dの共通鍵復号化部114dcに、乱数Z(1, y) (y=1,2,3)及び暗号文SE(Z(1, 1), KA), SE(Z(1, 2), KB), SE(Z(1, 3), KC)が入力される。共通鍵復号化部114dcは、乱数Z(1, 1) を鍵とし、共通鍵暗号方式によって暗号文SE(Z(1, 1), KA)を復号したKAと、乱数Z(1, 2) を鍵とし、共通鍵暗号方式によって暗号文SE(Z(1, 2), KB)を復号したKBと、乱数Z(1, 3) を鍵とし、共通鍵暗号方式によって暗号文SE(Z(1, 3), KC)を復号したKCとを算出する(ステップS133〜S135)。そして、共通鍵復元部114dは、共通鍵KA, KB, KCを出力する(ステップS136)。
【0093】
以上のように、本形態の鍵秘匿化部114cでは、公開鍵暗号方式による1回の暗号化処理と、共通鍵暗号化方式による3回の暗号化処理により、秘密鍵SK(1)を用いて復号可能な各秘密鍵KA, KB, KCの暗号文PE(PK(1), KA),PE(PK(1), KB),PE(PK(1), KC)が作成できる。これに必要な演算量は、公開鍵暗号方式による3回の暗号化処理によって各秘密鍵KA, KB, KCを暗号化する場合の演算量よりも小さい。このような演算量削減の効果は復号時にも得られる。
【0094】
〔第4の実施形態〕
次に、本発明の第4の実施形態について説明する。本形態も第2の実施形態の変形例である。暗号化部114e及び復号化部114fの処理を工夫して安全性を向上させた点と、それらの処理に使用する乱数を暗号文認証子の生成に流用し、演算量の増加を抑制しつつ暗号文認証子の安全性を向上させた点とが、第2の実施形態と相違する。以下では、第2の実施形態との相違点のみを説明する。
【0095】
<本形態の書き込み過程>
図33は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。なお、ここでは、PC110−1がUSBメモリ120に暗号文を書き込む例を示す。
PC110−1にUSBメモリ120が装着・マウントされているものとする。まず、PC110−1のアプリケーション実行部14hが、セクタ番号se(1セクタ=512byte)を指定して平文M(1)の暗号文のUSBメモリ120への書き込み要求を制御部14iに行う。これをトリガとして、第2の実施形態のステップS71,72(図27)と同じ処理が実行される。
次に、暗号化部114eに、共通鍵KAと指定されたセクタ番号seと平文M(1)とが入力され、暗号化部114eは、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成し、乱数E(1)と暗号文SE(KA, M(1))とを出力する。以下に暗号化部114eの詳細を説明する。
【0096】
[本形態の暗号化部114eの詳細]
図35(a)は、本形態の暗号化部114eの詳細を示すブロック図である。また、図36(a)は、本形態の暗号化処理を説明するためのフローチャートである。
まず、暗号化部114eのブロック分割部114eaが、入力された平文M(1)をX(X≧2)個(例えばX=32)のブロックMB(p, x)(x=1,...,X)に分割する(ステップS141)。各ブロックMB(p, x)はブロック暗号化部114edに送られ、ブロック番号xは関数演算部114ecに送られる。
【0097】
また、暗号化部114eの乱数生成部114ebが、平文M(1)毎に乱数E(1)を生成して出力する(ステップS142)。次に、暗号化部114eの関数演算部114ecに、平文M(1)の暗号文を格納するUSBメモリ120の記憶部22のセクタ番号seと乱数E(1)とブロック番号xとが入力され、関数演算部114ecは、これらを所定の関数πに代入した関数値IV=π(x, E(1), se)をブロック番号x毎に算出する(例えば、x, E(1), seのビット連結をIVとする)(ステップS143)。
【0098】
また、暗号化部114eのブロック暗号化部114edには、関数値IVとブロックMB(1, x)と共通鍵KAとが入力される。ブロック暗号化部114edは、共通鍵KAを用い、関数値IVを初期ベクトルとしたブロック暗号方式(カウンタモード等)により、各ブロックMB(1, x)を暗号化する。そして、ブロック暗号化部114edは、算出した全ブロックMB(1, x)の暗号文から暗号文SE(KA, M(1))を生成して(例えば、全ブロックMB(1, x)の暗号文のビット連結値を暗号文SE(KA, M(1))として)出力する(ステップS144)。
生成された暗号文SE(KA, M(1))は乱数E(1)とともに暗号文認証子生成部114nに送られ、暗号文認証子生成部114nは、少なくとも共通鍵KBと暗号文SE(KA, M(1))と乱数E(1)とを用いて暗号文SE(KA, M(1))の暗号文認証子AU(KB, E(1), SE(KA, M(1)))を生成する。
【0099】
以上のように生成された暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))と乱数E(1)とアプリケーション実行部14hから送られたセクタ番号seとは、外部書き込み部11aによって、USBメモリ120のインタフェース部21に送られる。インタフェース部21は、セクタ番号seによって特定される記憶部22の領域22cのセクタに、暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))と乱数E(1)とを格納する(ステップS145)([本形態の暗号化部114eの詳細]の説明終わり)。
【0100】
<本形態の読み込み過程>
図34は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。なお、ここでは、PC110−2がUSBメモリ120から暗号文を読み込んで復号する例を示す。
まず、PC110−2にUSBメモリ120が装着・マウントされる。そして、PC110−2のアプリケーション実行部14hが、セクタ番号seを指定し、USBメモリ120からの暗号文の読み込みとその復号とを制御部14iに要求する。これをトリガに、まず、PC110−2の外部読み込み部11bが、上記のセクタ番号seを指定し、USBメモリ120の記憶部22の領域22cから、暗号文SE(KA, M(1))と暗号文認証子AU(KB, E(1), SE(KA, M(1)))と乱数E(1)とを読み込み、さらに、領域22bから暗号文PE(PK(2), KA), PE(PK(2), KB)を読み込む。
【0101】
次に、PC110−2の内部読み込み部12b(図20(a))が、記憶部13から秘密鍵SK(2)を読み込む。そして、PC110−2の共通鍵復元部114dが、当該秘密鍵SK(2)を用いて暗号文PE(PK(2), KA), PE(PK(2), KB)をそれぞれ復号して共通鍵KA〔KA=PD(SK(2), PE(PK(2), KA))〕, KB〔KB=PD(SK(2), PE(PK(2), KB))〕を抽出する。
【0102】
その後、PC110−2の暗号文検証部114pに、共通鍵KBと暗号文SE(KA, M(1))と暗号文認証子AU(KB, E(1), SE(KA, M(1)))と乱数E(1)とセクタ番号seとが入力され、暗号文検証部114pは、これらを用い、暗号文SE(KA, M(1))が正当なものであるか否かを検証する。暗号文SE(KA, M(1))が正当であれば、PC110−2の復号化部114fが、共通鍵KAと乱数E(1)とセクタ番号seとを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する。以下、本形態の復号化部114fの詳細を説明する。
【0103】
[本形態の復号化部114fの詳細]
図35(b)は、本形態の復号化部114fの詳細を示すブロック図である。また、図36(b)は、本形態の復号化処理を説明するためのフローチャートである。
まず、復号化部114fのブロック分割部114faが、暗号文SE(KA, M(1))をX(X≧2)個(例えばX=32)のブロックSEB(KA, M(1), x)(x=1,...,X)に分割する(ステップS151)。この処理は、図35(a)のブロック暗号化部114edが全ブロックMB(1, x)の暗号文から暗号文SE(KA, M(1))を生成する処理の逆処理である。各ブロックSEB(KA, M(1), x)はブロック復号化部114fdに送られ、ブロック番号xは関数演算部114fcに送られる。
【0104】
次に、復号化部114fの関数演算部114fcにセクタ番号seと乱数E(1)とブロック番号xとが入力され、関数演算部114fcは、これらを所定の関数πに代入した関数値IV=π(x, E(1), se)をブロック番号x毎に算出する(例えば、x, E(1), seのビット連結をIVとする)(ステップS152)。
【0105】
また、暗号化部114eのブロック復号化部114fdには、関数値IVとブロックSEB(KA, M(1), x)と共通鍵KAとが入力される。ブロック復号化部114fdは、共通鍵KAを用い、関数値IVを初期ベクトルとしたブロック復号方式(カウンタモード等)により、ブロックSEB(KA, M(1), x)を復号化して各ブロックMB(1, x)を抽出する。なお、この処理は図35(a)のブロック暗号化部114edの処理の逆処理である。そして、ブロック復号化部114fd、算出した全ブロックMB(1, x)から平文M(1)を生成して出力する(ステップS153)。出力された平文M(1)は、PC110−2のアプリケーション実行部14hに送られる([本形態の復号化部114fの詳細]の説明終わり)。
【0106】
上述した本形態の暗号化部114e及び復号化部114fは[削除過程]においても同様に実行されるが、ここでは説明を省略する。また、暗号化部114e及び復号化部114fの暗号化処理や復号化処理にセクタ番号seを用いない構成であってもよいし、関数値IVを生成するためにさらに他の情報を用いる構成であってもよい。
【0107】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、第1の実施形態では、特定のPCを登録から削除する削除過程において共通鍵を再生成し、USBメモリの情報を書き換えることとしたが、特定のPCを登録から削除することなく共通鍵を再生成し、USBメモリの情報を書き換える処理を行ってもよい。このような処理は、例えば、共通鍵が第三者に漏えいした場合等に有効である。
【0108】
また、各情報処理装置は必ずしも1つの筐体内に構成される必要はない。例えば、公開鍵と秘密鍵との鍵ペアを生成する鍵ペア生成部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の鍵ペア生成部を1つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が1つの鍵ペア生成部を相互に共用する構成であってもよい。
【0109】
また、上述の各実施形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてUSBメモリを例示した。しかし、本発明はこれらに限定されるものではない。例えば、情報処理装置として、携帯電話機、携帯情報端末(PDA)等を用いてもよい。また、情報記録媒体として、DVD−RAM(Random Access Memory)、CD−R(Recordable)/RW(ReWritable)、MO(Magneto-Optical disc)等を用いてもよいし、ハードディスク装置等の非可搬型の記録媒体を用いてもよい。さらには、情報記録媒体として、携帯電話機、携帯情報端末(PDA)、パーソナルコンピュータ等の計算装置を具備する装置のメモリを用いてもよい。
【0110】
図37は、非可搬型の記録媒体を情報記録媒体とした情報記録媒体共用システム201を例示した概念図である。
図37の例は、サーバ装置220が具備するハードディスク装置221を情報記録媒体とした例である。サーバ装置220と前述した複数のPC10−1〜nとは通信可能に接続されており、各PC10−iの外部書き込み部11a(図2(a))は、各種のデータをハードディスク装置221に書き込み可能に構成されており、各PC10−iの外部読み込み部11bは、ハードディスク装置221から各種のデータの読み込みが可能に構成されている。なお、サーバ装置221とPC10−1〜nとは、ローカルネットワークを通じて接続されていてもよいし、グローバルネットワークを通じて接続されていてもよい。そして、情報記録媒体としてUSBメモリ20やUSBメモリ120ではなく、ハードディスク装置221を用い、前述の各実施形態と同様な処理を実行する。その他の構成及び処理は前述の各実施形態と同様である。
【0111】
また、複数の情報記録媒体を用い、情報記録媒体に格納される情報を分散して格納してもよい。
図38は、複数の情報記録媒体を用いた情報記録媒体共用システム301を例示した概念図である。また、図39は、図38のUSBメモリ320,330を例示したブロック図である。
図38,図39の例では、2つのUSBメモリ320,330を情報記録媒体として本発明を実施する。図39(a)に例示するように、USBメモリ320,330は、ともに前述したUSBメモリ20と同様に構成される。しかし、USBメモリ320の記憶部22には、{ ID(1), PK(1), PE(PK(1), KA) }・・・{ ID(n), PK(n), PE(PK(n), KA) }及びセキュリティプログラムのみが格納され、{ SE(KA, M(1)) }・・・{ SE(KA, M(n)) }は格納されない。一方、USBメモリ330の記憶部22には、{ SE(KA, M(1)) }・・・{ SE(KA, M(n)) }のみが格納され、{ ID(1), PK(1), PE(PK(1), KA) }・・・{ ID(n), PK(n), PE(PK(n), KA) }及びセキュリティプログラムは格納されない。なお、各情報を格納する手順は前述した通りである。また、複数の情報記録媒体を用いた情報記録媒体共用システムを構成する場合、それらの情報記録媒体が相互に異なる記録媒体であってもよく、さらには、複数の情報記録媒体の一部を可搬型の情報記録媒体とし、他の情報記録媒体を非可搬型の記録媒体としてもよい。例えば、PCに脱着可能なUSBメモリと、ネットワークを通じて接続されたサーバ装置が具備するハードディスクとを情報記録媒体として本発明を実施してもよい。
【0112】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の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)等を用いることができる。
【0113】
また、このプログラムの流通は、例えば、そのプログラムを記録したUSBメモリ、DVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。
【0114】
なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0115】
本発明の利用分野としては、例えば、USBメモリに格納するデータの秘匿化等を例示できる。
【図面の簡単な説明】
【0116】
【図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は、第2の実施形態のPCの機能構成を例示したブロック図である。
【図15】図15は、第2の実施形態のUSBメモリの機能構成を例示したブロック図である。
【図16】図16は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図17】図17は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図18】図18は、第2の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図19】図19は、第2の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、
【図20】図20は、第2の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図21】図21は、第2の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図22】図22は、第2の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図23】図23は、第2の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図24】図24は、第2の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図25】図25は、第2の実施形態の登録過程を説明するためのシーケンス図である。
【図26】図26は、第2の実施形態の登録過程を説明するためのシーケンス図である。
【図27】図27は、第2の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図28】図28は、第2の実施形態の削除過程を説明するためのシーケンス図である。
【図29】図29は、第2の実施形態の削除過程を説明するためのシーケンス図である。
【図30】図30(a)は、第3の実施形態の鍵秘匿化部の構成を示したブロック図である。図30(b)は、第3の実施形態の共通鍵復元部の構成を示したブロック図である。
【図31】図31は、第3実施形態の鍵秘匿化処理を説明するためのフローチャートである。
【図32】図32は、第3実施形態の鍵復元処理を説明するためのフローチャートである。
【図33】図33は、第4の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図34】図34は、第4の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図35】図35(a)は、第4の実施形態の暗号化部の詳細を示すブロック図である。図35(b)は、本形態の復号化部の詳細を示すブロック図である。
【図36】図36(a)は、第4の実施形態の暗号化処理を説明するためのフローチャートである。図36(b)は、本形態の復号化処理を説明するためのフローチャートである。
【図37】図37は、非可搬型の記録媒体を情報記録媒体とした情報記録媒体共用システムを例示した概念図である。
【図38】図38は、複数の情報記録媒体を用いた情報記録媒体共用システムを例示した概念図である。
【図39】図39は、図38の各情報記録媒体を例示したブロック図である。
【符号の説明】
【0117】
1,200,300 情報記録媒体共用システム
10,110 PC(「情報処理装置」に相当)
20,120 USBメモリ(「情報記録媒体」に相当)
220 ハードディスク装置(「情報記録媒体」に相当)
【特許請求の範囲】
【請求項1】
n(nは2以上の整数)個の情報処理装置PC(i)(i=1,...,n)が情報記録媒体を共用し、当該情報記録媒体へ暗号文を格納し、当該情報記録媒体に格納された暗号文から平文を復号する、情報記録媒体のセキュリティ方法であって、
各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の秘密鍵SK(i)を、当該秘密鍵SK(i)に対応する情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程と、を具備する登録過程と、
上記情報記録媒体に暗号文PE(PK(p), KA)が格納され、自らの記憶部に秘密鍵SK(p)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(p), KA)を読み込む過程と、上記情報処理装置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)が格納され、自らの記憶部に秘密鍵SK(q)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(q), KA)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、上記情報処理装置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)を上記情報処理装置PC(r)の記憶部に格納する過程と、上記情報処理装置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)とを生成する過程と、上記情報処理装置PC(s)の内部書き込み部が、秘密鍵SK(s)を上記情報処理装置PC(s)の記憶部に格納する過程と、上記情報処理装置PC(s)の外部書き込み部が、公開鍵PK(s)を上記情報記録媒体に格納する過程と、
上記情報記録媒体に暗号文PE(PK(t), KA)が格納され、自らの記憶部に秘密鍵SK(t)が格納された何れかの情報処理装置PC(t)(t=1,...,n)が実行する、
上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(t), KA)を読み込む過程と、上記情報処理装置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】
請求項2に記載の情報記録媒体のセキュリティ方法であって、
上記情報処理装置PC(r)の鍵秘匿化部が公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程は、
上記情報処理装置PC(r)の鍵秘匿化部の乱数生成部が、乱数Z(r)を生成する過程と、上記情報処理装置PC(r)の鍵秘匿化部の公開鍵暗号化部が、公開鍵PK(r)を用いて乱数Z(r)を暗号化して暗号文C(r)=PE(PK(r), Z(r))を生成する過程と、上記情報処理装置PC(r)の鍵秘匿化部の乱数分割部が、乱数Z(r)をY(Y≧2)個の乱数Z(r ,y)(y=1,...,Y)に分割する過程と、上記情報処理装置PC(r)の鍵秘匿化部の共通鍵暗号化部が、何れかの乱数Z(r ,y1)(y1=1,...,Y)を鍵とし、共通鍵暗号方式によって共通鍵KAを暗号化した暗号文SE(Z(r, y1), KA)を算出し、上記暗号文C(r)と暗号文SE(Z(r, y1), KA)とを有する情報(C(r), SE(Z(r, y1), KA))を暗号文PE(PK(r), KA)として出力する過程と、上記情報処理装置PC(r)の鍵秘匿化部の共通鍵暗号化部が、分割された他の乱数Z(r ,y2)(y2=1,...,Y、y2≠y1)を鍵とし、共通鍵暗号方式によって他の情報K’を暗号化した暗号文SE(Z(r, y2), K’)を算出する過程と、を具備し、
上記情報処理装置PC(t)(t=1,...,n)の共通鍵復元部が、記憶部に格納された秘密鍵SK(t)を用いて暗号文PE(PK(t), KA)を復号して共通鍵KAを抽出する過程は、
上記共通鍵復元部の公開鍵復号化部が、秘密鍵SK(t)を用いて暗号文C(t)を復号して乱数Z(t)を抽出する過程と、上記共通鍵復元部の乱数分割部が、乱数Z(t)をY個の乱数Z(t ,y)に分割する過程と、上記共通鍵復元部の共通鍵復号化部が、乱数Z(t ,y1)を鍵とし、共通鍵暗号方式によって暗号文SE(Z(t, y1), KA)を復号して共通鍵KAを抽出する過程と、分割された他の乱数Z(t ,y2)を鍵とし、共通鍵暗号方式によって暗号文SE(Z(t, y2), K’)を復号して他の情報K’を抽出する過程と、を具備し、
上記情報処理装置PC(t)の鍵秘匿化部が公開鍵PK(s)を用いて共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成する過程は、
上記情報処理装置PC(t)の鍵秘匿化部の乱数生成部が、乱数Z(s)を生成する過程と、上記情報処理装置PC(t)の鍵秘匿化部の公開鍵暗号化部が、公開鍵PK(s)を用いて乱数Z(s)を暗号化して暗号文C(s)=PE(PK(s), Z(s))を生成する過程と、上記情報処理装置PC(t)の鍵秘匿化部の乱数分割部が、乱数Z(s)をY(Y≧2)個の乱数Z(s ,y)(y=1,...,Y)に分割する過程と、上記情報処理装置PC(t)の鍵秘匿化部の共通鍵暗号化部が、何れかの乱数Z(s ,y1)(y1=1,...,Y)を鍵とし、共通鍵暗号方式によって共通鍵KAを暗号化した暗号文SE(Z(s, y1), KA)を算出し、C(s)と SE(Z(s, y1), KA)とを有する情報(C(s), SE(Z(s, y1), KA))を暗号文PE(PK(s), KA)として出力する過程と、上記情報処理装置PC(t)の鍵秘匿化部の共通鍵暗号化部が、分割された他の乱数Z(s ,y2)(y2=1,...,Y、y2≠y1)を鍵とし、共通鍵暗号方式によって他の情報K’を暗号化した暗号文SE(Z(s, y2), K’)を算出する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項4】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程は、
上記各情報処理装置PC(i)に対応する公開鍵PK(i)と暗号文PE(PK(i), KA)とを対応付けて上記情報記録媒体に格納する過程であり、
当該情報記録媒体のセキュリティ方法は、
上記情報記録媒体に暗号文PE(PK(r), KA)が格納され、自らの記憶部に秘密鍵SK(r)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(r), KA)を読み込む過程と、上記情報処理装置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)を読み込む過程と、上記情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(s)を用いて新たな共通鍵KAnewを暗号化した暗号文PE(PK(s), KAnew)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(s), KAnew)を上記情報記録媒体に格納する過程と、具備する再登録過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項5】
請求項4に記載の情報記録媒体のセキュリティ方法であって、
上記再登録過程は、登録削除対象の情報処理装置PC(w)(w=1,...,n)以外の情報処理装置PC(s)について実行される過程であり、
当該情報記録媒体のセキュリティ方法は、
上記情報処理装置PC(r)の削除部が、上記情報記録媒体に格納された暗号文SE(KA, M(w))を上記情報記録媒体から削除する削除過程を有する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項6】
請求項4又は5に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
各公開鍵PK(i)を用いて鍵認証用鍵KCを暗号化した各暗号文PE(PK(i), KC)を上記情報記録媒体に格納する過程と、少なくとも鍵認証用鍵KCと公開鍵PK(i)とを用いて生成された公開鍵PK(i)の認証子AU(KC, PK(i))を、上記情報記録媒体に格納する過程と、を具備し、
当該情報記録媒体のセキュリティ方法は、
上記情報処理装置PC(r)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(r), KC)を読み込む過程と、上記情報処理装置PC(r)の共通鍵復元部が、記憶部に格納された秘密鍵SK(r)を用いて暗号文PE(PK(r), KC)を復号して鍵認証用鍵KCを抽出する過程と、上記情報処理装置PC(r)の公開鍵検証部が、少なくとも鍵認証用鍵KCと公開鍵PK(s)と認証子AU(KC, PK(s))とを用いて当該公開鍵PK(s)が正当であるか否かを検証する過程と、をさらに具備し、
上記再登録過程は、
公開鍵PK(s)が正当であると判定された情報処理装置PC(s)のみについて実行される過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項7】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
各公開鍵PK(i)を用いて暗号文認証用鍵KBを暗号化した各暗号文PE(PK(i), KB)を上記情報記録媒体に格納する過程を具備し、
上記書き込み過程は、
情報処理装置PC(p)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(p), KB)を読み込む過程と、上記情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KB)を復号して暗号文認証用鍵KBを抽出する過程と、上記情報処理装置PC(p)の暗号文認証部が、少なくとも暗号文認証用鍵KBと暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, SE(KA, M(p)))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、認証子AU(KB, SE(KA, M(p)))を上記情報記録媒体に格納する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項8】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程は、
上記暗号化部のブロック分割部が、平文M(p)をX(X≧2)個のブロックMB(p, x)(x=1,...,X)に分割する過程と、
上記暗号化部の乱数生成部が、平文M(p)毎に乱数E(p)を生成する過程と、
上記情報処理装置PC(p)の外部書き込み部が、乱数E(p)を上記情報記録媒体に格納する過程と、
上記暗号化部の関数演算部が、少なくともブロックMB(p, x)のブロック番号xと乱数E(p)とを所定の関数πに代入した関数値IV=π(x, E(p))を算出する過程と、
上記暗号化部のブロック暗号化部が、共通鍵KAを用い、関数値IVを初期ベクトルとして各ブロックMB(p, x)を暗号化し、算出された全ブロックMB(p, x)の暗号文から暗号文SE(KA, M(p))を生成する過程と、を具備する過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項9】
請求項8に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
各公開鍵PK(i)を用いて暗号文認証用鍵KBを暗号化した各暗号文PE(PK(i), KB)を上記情報記録媒体に格納する過程を具備し、
上記書き込み過程は、
上記情報処理装置PC(p)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(p), KB)を読み込む過程と、上記情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KB)を復号して暗号文認証用鍵KBを抽出する過程と、上記情報処理装置PC(p)の暗号文認証部が、少なくとも暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、認証子AU(KB, E(p), SE(KA, M(p)))を上記情報記録媒体に格納する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項10】
他の情報処理装置PC(q)(q=1,...,n)と共用される情報記録媒体へ暗号文を格納する情報処理装置PC(p)(p=1,...,n、q≠p)であって、
自らの公開鍵暗号方式の秘密鍵SK(p)を格納する記憶部と、
上記秘密鍵SK(p)に対応する公開鍵PK(p)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(p), KA))が少なくとも格納された上記情報記録媒体から、暗号文PE(PK(p), KA)を読み込む外部読み込み部と、
記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する暗号化部と、
暗号文SE(KA, M(p))を上記情報記録媒体に格納する外部書き込み部と、
を有することを特徴とする情報処理装置。
【請求項11】
他の情報処理装置PC(p)(p=1,...,n)と共用される情報記録媒体に格納された暗号文から平文を復号する情報処理装置PC(q)(q=1,...,n、q≠p)であって、
自らの公開鍵暗号方式の秘密鍵SK(q)を格納する記憶部と、
上記秘密鍵SK(q)に対応する公開鍵PK(q)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(q), KA)、及び、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))が少なくとも格納された上記情報記録媒体から、暗号文PE(PK(q), KA)と暗号文SE(KA, M(p))とを読み込む外部読み込み部と、
記憶部に格納された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する復号化部と、
を有することを特徴とする情報処理装置。
【請求項12】
請求項1から9の何れかに記載された情報記録媒体のセキュリティ方法の各過程をコンピュータに実行させるためのプログラム。
【請求項13】
請求項10又は11に記載された情報処理装置としてコンピュータを機能させるためのプログラム。
【請求項14】
請求項12に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項15】
請求項13に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項1】
n(nは2以上の整数)個の情報処理装置PC(i)(i=1,...,n)が情報記録媒体を共用し、当該情報記録媒体へ暗号文を格納し、当該情報記録媒体に格納された暗号文から平文を復号する、情報記録媒体のセキュリティ方法であって、
各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の秘密鍵SK(i)を、当該秘密鍵SK(i)に対応する情報処理装置PC(i)の記憶部にそれぞれ格納する過程と、各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程と、を具備する登録過程と、
上記情報記録媒体に暗号文PE(PK(p), KA)が格納され、自らの記憶部に秘密鍵SK(p)が格納された何れかの情報処理装置PC(p)(p∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(p), KA)を読み込む過程と、上記情報処理装置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)が格納され、自らの記憶部に秘密鍵SK(q)が格納された何れかの情報処理装置PC(q)(q∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(q), KA)を読み込む過程と、上記情報処理装置PC(q)の外部読み込み部が、上記情報記録媒体から暗号文SE(KA, M(p))を読み込む過程と、上記情報処理装置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)を上記情報処理装置PC(r)の記憶部に格納する過程と、上記情報処理装置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)とを生成する過程と、上記情報処理装置PC(s)の内部書き込み部が、秘密鍵SK(s)を上記情報処理装置PC(s)の記憶部に格納する過程と、上記情報処理装置PC(s)の外部書き込み部が、公開鍵PK(s)を上記情報記録媒体に格納する過程と、
上記情報記録媒体に暗号文PE(PK(t), KA)が格納され、自らの記憶部に秘密鍵SK(t)が格納された何れかの情報処理装置PC(t)(t=1,...,n)が実行する、
上記情報処理装置PC(t)の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(t), KA)を読み込む過程と、上記情報処理装置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】
請求項2に記載の情報記録媒体のセキュリティ方法であって、
上記情報処理装置PC(r)の鍵秘匿化部が公開鍵PK(r)を用いて共通鍵KAを暗号化した暗号文PE(PK(r), KA)を生成する過程は、
上記情報処理装置PC(r)の鍵秘匿化部の乱数生成部が、乱数Z(r)を生成する過程と、上記情報処理装置PC(r)の鍵秘匿化部の公開鍵暗号化部が、公開鍵PK(r)を用いて乱数Z(r)を暗号化して暗号文C(r)=PE(PK(r), Z(r))を生成する過程と、上記情報処理装置PC(r)の鍵秘匿化部の乱数分割部が、乱数Z(r)をY(Y≧2)個の乱数Z(r ,y)(y=1,...,Y)に分割する過程と、上記情報処理装置PC(r)の鍵秘匿化部の共通鍵暗号化部が、何れかの乱数Z(r ,y1)(y1=1,...,Y)を鍵とし、共通鍵暗号方式によって共通鍵KAを暗号化した暗号文SE(Z(r, y1), KA)を算出し、上記暗号文C(r)と暗号文SE(Z(r, y1), KA)とを有する情報(C(r), SE(Z(r, y1), KA))を暗号文PE(PK(r), KA)として出力する過程と、上記情報処理装置PC(r)の鍵秘匿化部の共通鍵暗号化部が、分割された他の乱数Z(r ,y2)(y2=1,...,Y、y2≠y1)を鍵とし、共通鍵暗号方式によって他の情報K’を暗号化した暗号文SE(Z(r, y2), K’)を算出する過程と、を具備し、
上記情報処理装置PC(t)(t=1,...,n)の共通鍵復元部が、記憶部に格納された秘密鍵SK(t)を用いて暗号文PE(PK(t), KA)を復号して共通鍵KAを抽出する過程は、
上記共通鍵復元部の公開鍵復号化部が、秘密鍵SK(t)を用いて暗号文C(t)を復号して乱数Z(t)を抽出する過程と、上記共通鍵復元部の乱数分割部が、乱数Z(t)をY個の乱数Z(t ,y)に分割する過程と、上記共通鍵復元部の共通鍵復号化部が、乱数Z(t ,y1)を鍵とし、共通鍵暗号方式によって暗号文SE(Z(t, y1), KA)を復号して共通鍵KAを抽出する過程と、分割された他の乱数Z(t ,y2)を鍵とし、共通鍵暗号方式によって暗号文SE(Z(t, y2), K’)を復号して他の情報K’を抽出する過程と、を具備し、
上記情報処理装置PC(t)の鍵秘匿化部が公開鍵PK(s)を用いて共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成する過程は、
上記情報処理装置PC(t)の鍵秘匿化部の乱数生成部が、乱数Z(s)を生成する過程と、上記情報処理装置PC(t)の鍵秘匿化部の公開鍵暗号化部が、公開鍵PK(s)を用いて乱数Z(s)を暗号化して暗号文C(s)=PE(PK(s), Z(s))を生成する過程と、上記情報処理装置PC(t)の鍵秘匿化部の乱数分割部が、乱数Z(s)をY(Y≧2)個の乱数Z(s ,y)(y=1,...,Y)に分割する過程と、上記情報処理装置PC(t)の鍵秘匿化部の共通鍵暗号化部が、何れかの乱数Z(s ,y1)(y1=1,...,Y)を鍵とし、共通鍵暗号方式によって共通鍵KAを暗号化した暗号文SE(Z(s, y1), KA)を算出し、C(s)と SE(Z(s, y1), KA)とを有する情報(C(s), SE(Z(s, y1), KA))を暗号文PE(PK(s), KA)として出力する過程と、上記情報処理装置PC(t)の鍵秘匿化部の共通鍵暗号化部が、分割された他の乱数Z(s ,y2)(y2=1,...,Y、y2≠y1)を鍵とし、共通鍵暗号方式によって他の情報K’を暗号化した暗号文SE(Z(s, y2), K’)を算出する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項4】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程は、
上記各情報処理装置PC(i)に対応する公開鍵PK(i)と暗号文PE(PK(i), KA)とを対応付けて上記情報記録媒体に格納する過程であり、
当該情報記録媒体のセキュリティ方法は、
上記情報記録媒体に暗号文PE(PK(r), KA)が格納され、自らの記憶部に秘密鍵SK(r)が格納された何れかの情報処理装置PC(r)(r∈{1,...,n})の外部読み込み部が、上記情報記録媒体から暗号文PE(PK(r), KA)を読み込む過程と、上記情報処理装置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)を読み込む過程と、上記情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(s)を用いて新たな共通鍵KAnewを暗号化した暗号文PE(PK(s), KAnew)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(s), KAnew)を上記情報記録媒体に格納する過程と、具備する再登録過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項5】
請求項4に記載の情報記録媒体のセキュリティ方法であって、
上記再登録過程は、登録削除対象の情報処理装置PC(w)(w=1,...,n)以外の情報処理装置PC(s)について実行される過程であり、
当該情報記録媒体のセキュリティ方法は、
上記情報処理装置PC(r)の削除部が、上記情報記録媒体に格納された暗号文SE(KA, M(w))を上記情報記録媒体から削除する削除過程を有する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項6】
請求項4又は5に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
各公開鍵PK(i)を用いて鍵認証用鍵KCを暗号化した各暗号文PE(PK(i), KC)を上記情報記録媒体に格納する過程と、少なくとも鍵認証用鍵KCと公開鍵PK(i)とを用いて生成された公開鍵PK(i)の認証子AU(KC, PK(i))を、上記情報記録媒体に格納する過程と、を具備し、
当該情報記録媒体のセキュリティ方法は、
上記情報処理装置PC(r)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(r), KC)を読み込む過程と、上記情報処理装置PC(r)の共通鍵復元部が、記憶部に格納された秘密鍵SK(r)を用いて暗号文PE(PK(r), KC)を復号して鍵認証用鍵KCを抽出する過程と、上記情報処理装置PC(r)の公開鍵検証部が、少なくとも鍵認証用鍵KCと公開鍵PK(s)と認証子AU(KC, PK(s))とを用いて当該公開鍵PK(s)が正当であるか否かを検証する過程と、をさらに具備し、
上記再登録過程は、
公開鍵PK(s)が正当であると判定された情報処理装置PC(s)のみについて実行される過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項7】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
各公開鍵PK(i)を用いて暗号文認証用鍵KBを暗号化した各暗号文PE(PK(i), KB)を上記情報記録媒体に格納する過程を具備し、
上記書き込み過程は、
情報処理装置PC(p)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(p), KB)を読み込む過程と、上記情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KB)を復号して暗号文認証用鍵KBを抽出する過程と、上記情報処理装置PC(p)の暗号文認証部が、少なくとも暗号文認証用鍵KBと暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, SE(KA, M(p)))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、認証子AU(KB, SE(KA, M(p)))を上記情報記録媒体に格納する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項8】
請求項1に記載の情報記録媒体のセキュリティ方法であって、
上記情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程は、
上記暗号化部のブロック分割部が、平文M(p)をX(X≧2)個のブロックMB(p, x)(x=1,...,X)に分割する過程と、
上記暗号化部の乱数生成部が、平文M(p)毎に乱数E(p)を生成する過程と、
上記情報処理装置PC(p)の外部書き込み部が、乱数E(p)を上記情報記録媒体に格納する過程と、
上記暗号化部の関数演算部が、少なくともブロックMB(p, x)のブロック番号xと乱数E(p)とを所定の関数πに代入した関数値IV=π(x, E(p))を算出する過程と、
上記暗号化部のブロック暗号化部が、共通鍵KAを用い、関数値IVを初期ベクトルとして各ブロックMB(p, x)を暗号化し、算出された全ブロックMB(p, x)の暗号文から暗号文SE(KA, M(p))を生成する過程と、を具備する過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項9】
請求項8に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
各公開鍵PK(i)を用いて暗号文認証用鍵KBを暗号化した各暗号文PE(PK(i), KB)を上記情報記録媒体に格納する過程を具備し、
上記書き込み過程は、
上記情報処理装置PC(p)の外部読み出し部が、上記情報記録媒体から暗号文PE(PK(p), KB)を読み込む過程と、上記情報処理装置PC(p)の共通鍵復元部が、記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KB)を復号して暗号文認証用鍵KBを抽出する過程と、上記情報処理装置PC(p)の暗号文認証部が、少なくとも暗号文認証用鍵KBと乱数E(p)と暗号化部で生成された暗号文SE(KA, M(p))とを用いて暗号文SE(KA, M(p))の認証子AU(KB, E(p), SE(KA, M(p)))を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、認証子AU(KB, E(p), SE(KA, M(p)))を上記情報記録媒体に格納する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項10】
他の情報処理装置PC(q)(q=1,...,n)と共用される情報記録媒体へ暗号文を格納する情報処理装置PC(p)(p=1,...,n、q≠p)であって、
自らの公開鍵暗号方式の秘密鍵SK(p)を格納する記憶部と、
上記秘密鍵SK(p)に対応する公開鍵PK(p)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(p), KA))が少なくとも格納された上記情報記録媒体から、暗号文PE(PK(p), KA)を読み込む外部読み込み部と、
記憶部に格納された秘密鍵SK(p)を用いて暗号文PE(PK(p), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する暗号化部と、
暗号文SE(KA, M(p))を上記情報記録媒体に格納する外部書き込み部と、
を有することを特徴とする情報処理装置。
【請求項11】
他の情報処理装置PC(p)(p=1,...,n)と共用される情報記録媒体に格納された暗号文から平文を復号する情報処理装置PC(q)(q=1,...,n、q≠p)であって、
自らの公開鍵暗号方式の秘密鍵SK(q)を格納する記憶部と、
上記秘密鍵SK(q)に対応する公開鍵PK(q)を用いて共通鍵暗号方式の共通鍵KAを暗号化した暗号文PE(PK(q), KA)、及び、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))が少なくとも格納された上記情報記録媒体から、暗号文PE(PK(q), KA)と暗号文SE(KA, M(p))とを読み込む外部読み込み部と、
記憶部に格納された秘密鍵SK(q)を用いて暗号文PE(PK(q), KA)を復号して共通鍵KAを抽出する共通鍵復元部と、
共通鍵KAを用いて暗号文SE(KA, M(p))を復号して平文M(p)を抽出する復号化部と、
を有することを特徴とする情報処理装置。
【請求項12】
請求項1から9の何れかに記載された情報記録媒体のセキュリティ方法の各過程をコンピュータに実行させるためのプログラム。
【請求項13】
請求項10又は11に記載された情報処理装置としてコンピュータを機能させるためのプログラム。
【請求項14】
請求項12に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項15】
請求項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】
【図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】
【公開番号】特開2008−295008(P2008−295008A)
【公開日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願番号】特願2007−258306(P2007−258306)
【出願日】平成19年10月2日(2007.10.2)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願日】平成19年10月2日(2007.10.2)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]