(57)【要約】【課題】煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用する。【解決手段】各ＰＣ１０−ｉ（i=1,...,n）の記憶部１３に各秘密鍵SK(i)をそれぞれ格納し、各公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAをそれぞれ暗号化した各暗号文PE(PK(i), KA)をＵＳＢメモリ２０に格納しておく。各ＰＣ１０−ｉは、自らの秘密鍵SK(i)を用い、ＵＳＢメモリ２０に格納された暗号文PE(PK(i), KA)を復号して共通鍵KAを抽出する。そして、各ＰＣ１０−ｉは、抽出した共通鍵KAを用いて平文M(i)の暗号文SE(KA, M(i))を生成してＵＳＢメモリ２０に格納し、また、抽出した共通鍵KAを用いてＵＳＢメモリ２０から読み込んだ暗号文SE(KA, M(i))を復号する。【選択図】図１２
2008295008.tif 000002
【特許請求の範囲】
【請求項１】
ｎ（ｎは２以上の整数）個の情報処理装置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)を抽出する過程と、を具備する読み込み過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項２】
請求項１に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
何れかの情報処理装置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)を上記情報記録媒体に格納する過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項３】
請求項２に記載の情報記録媒体のセキュリティ方法であって、
上記情報処理装置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)をＹ（Ｙ≧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)をＹ個の乱数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)をＹ（Ｙ≧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’)を算出する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項４】
請求項１に記載の情報記録媒体のセキュリティ方法であって、
上記各情報処理装置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)を上記情報記録媒体に格納する過程と、具備する再登録過程と、
を有することを特徴とする情報記録媒体のセキュリティ方法。
【請求項５】
請求項４に記載の情報記録媒体のセキュリティ方法であって、
上記再登録過程は、登録削除対象の情報処理装置PC(w)（w=1,...,n）以外の情報処理装置PC(s)について実行される過程であり、
当該情報記録媒体のセキュリティ方法は、
上記情報処理装置PC(r)の削除部が、上記情報記録媒体に格納された暗号文SE(KA, M(w))を上記情報記録媒体から削除する削除過程を有する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項６】
請求項４又は５に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
各公開鍵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)のみについて実行される過程である、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項７】
請求項１に記載の情報記録媒体のセキュリティ方法であって、
上記登録過程は、
各公開鍵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)))を上記情報記録媒体に格納する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項８】
請求項１に記載の情報記録媒体のセキュリティ方法であって、
上記情報処理装置PC(p)の暗号化部が、共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程は、
上記暗号化部のブロック分割部が、平文M(p)をＸ（X≧2）個のブロックMB(p, x)（x=1,...,X）に分割する過程と、
上記暗号化部の乱数生成部が、平文M(p)毎に乱数E(p)を生成する過程と、
上記情報処理装置PC(p)の外部書き込み部が、乱数E(p)を上記情報記録媒体に格納する過程と、
上記暗号化部の関数演算部が、少なくともブロックMB(p, x)のブロック番号ｘと乱数Ｅ(p)とを所定の関数πに代入した関数値IV=π(x, Ｅ(p))を算出する過程と、
上記暗号化部のブロック暗号化部が、共通鍵KAを用い、関数値IVを初期ベクトルとして各ブロックMB(p, x)を暗号化し、算出された全ブロックMB(p, x)の暗号文から暗号文SE(KA, M(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)))を上記情報記録媒体に格納する過程と、を具備する、
ことを特徴とする情報記録媒体のセキュリティ方法。
【請求項１０】
他の情報処理装置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))を上記情報記録媒体に格納する外部書き込み部と、
を有することを特徴とする情報処理装置。
【請求項１１】
他の情報処理装置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)を抽出する復号化部と、
を有することを特徴とする情報処理装置。
【請求項１２】
請求項１から９の何れかに記載された情報記録媒体のセキュリティ方法の各過程をコンピュータに実行させるためのプログラム。
【請求項１３】
請求項１０又は１１に記載された情報処理装置としてコンピュータを機能させるためのプログラム。
【請求項１４】
請求項１２に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１５】
請求項１３に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を秘匿化する技術に関し、特に、複数の情報処理装置で共用される情報記録媒体に情報を秘匿化して格納する技術に関する。
【背景技術】
【０００２】
複数の情報処理装置で共用されるUSB(universal serial bus)メモリなどの可搬型の情報記録媒体において、当該情報記録媒体を紛失したり盗難されたりした場合に、当該情報記録媒体に格納されていたデータが漏えいしてしまうことを防止することは重要である。
このような事態を防止するため、従来、共通鍵暗号方式によってデータを暗号化して情報記録媒体に格納する方法が使用されてきた（例えば、非特許文献１参照）。この場合、情報記録媒体に格納したいデータMを共通鍵暗号方式の共通鍵Kで暗号化し、その暗号文Cのみを情報記録媒体に格納する方法が一般的である。また、共通鍵Kは、情報記録媒体に対して読み書きを行う情報処理装置に格納されるか、パスワードのような形で使用者に記憶されるのが一般的である。
【０００３】
また、特許文献１には、暗号化されたファイルを暗号解読するための第１の暗号解読鍵を着脱可能メモリに格納しておく方式が開示されている。
【非特許文献１】「BUFFALO」ホームページ、［平成19年4月16日検索］、インターネット〈URL http://buffalo.jp/products/slw/keitai.html〉
【特許文献１】特開２００６−６７３１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、情報記録媒体に格納したいデータMを共通鍵暗号方式の共通鍵Kで暗号化し、その暗号文Cのみを情報処理装置に格納しておく方式の場合、複数の情報処理装置が情報記録媒体に格納された暗号文Ｃからデータを復号するためには、当該暗号化に用いられた共通鍵Kを複数の情報処理装置で共有しておく必要がある。しかし、秘密情報である共通鍵Kを事前に複数の情報処理装置で共有しておく処理は煩雑である。
また、パスワードを用いて共通鍵Kを作成する方法の場合、使用者がパスワードを記憶し、情報処理装置毎にパスワードを入力しなければならない。このような処理も煩雑である。さらに、一般に、使用者の利便性を考慮したパスワードの長さは暗号学的には十分な長さではない。よって、このような共通鍵Kを用いて生成された暗号文Cは解読され易く、安全上の問題がある。
【０００５】
また、特許文献１のように、暗号化されたファイルを暗号解読するための第１の暗号解読鍵を着脱可能メモリのような可搬型の情報記録媒体に格納しておく方式の場合、当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした者は、誰でも暗号化されたファイルの暗号解読が出来てしまう。
なお、これらの問題は、複数の情報処理装置が可搬型の情報記録媒体を共用する場合だけではなく、複数の情報処理装置が非可搬型の情報記録媒体を共用する場合にも当てはまる。
【０００６】
本発明はこのような点に鑑みてなされたものであり、煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では、ｎ（ｎは２以上の整数）個の情報処理装置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)を抽出する過程と、を具備する読み込み過程と、を実行する。
【０００８】
このように本発明では、登録過程において、各秘密鍵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を用いた共通鍵暗号方式による暗号化及び復号化が可能となる。
【０００９】
この処理において、情報処理装置PC(p)と情報処理装置PC(q)との間で事前に共通鍵KAを共有するための煩雑な処理は不要である。また、この処理の場合、共通鍵KAのデータ長を暗号学的に安全な長さとしても利用者の利便性は低下しない。さらに、本発明では、平文の暗号文を復号するための共通鍵KAを情報記録媒体に格納するのではなく、共通鍵KAを公開鍵によって暗号化した暗号文を情報記録媒体に格納しておく。そのため、弟三者が当該情報記録媒体を取得したり、当該情報記録媒体からデータを読み取ったりした場合でも、当該第三者は、平文の暗号文を復号することができない。
【００１０】
また、本発明において好ましくは、上記登録過程では、まず、何れかの情報処理装置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)を上記情報記録媒体に格納する過程と、を実行する。
【００１１】
次に、情報処理装置PC(r)以外の情報処理装置PC(s)（s=1,...,n、s≠r)の鍵ペア生成部が、公開鍵暗号方式の秘密鍵SK(s)と公開鍵PK(s)とを生成する過程と、上記情報処理装置PC(s)の内部書き込み部が、秘密鍵SK(s)を上記情報処理装置PC(s)の記憶部に格納する過程と、上記情報処理装置PC(s)の外部書き込み部が、公開鍵PK(s)を上記情報記録媒体に格納する過程と、を実行する。
【００１２】
そして、上記情報記録媒体に暗号文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)を上記情報記録媒体に格納する過程と、を実行する。
【００１３】
当該好ましい登録過程の場合、情報処理装置PC(s)がその公開鍵PK(s)を情報記録媒体に格納おくことにより、既に情報記録媒体に暗号文PE(PK(t), KA)が格納され、自らの記憶部に秘密鍵SK(t)が格納された情報処理装置PC(t)が、共通鍵KAを暗号化した暗号文PE(PK(s), KA)を生成し、情報記録媒体に格納することができる。すなわち、当該好ましい登録過程では、特別な登録用の装置を用いることなく、情報処理装置間で情報処理装置の登録処理を実行できる。これにより、高い利便性を実現できる。
【００１４】
また、当該登録過程においてより好ましくは、上記情報処理装置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)をＹ（Ｙ≧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)をＹ個の乱数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)をＹ（Ｙ≧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を例示できる。
【００１５】
この方式では、公開鍵を用い、演算量が大きい公開鍵暗号化方式による暗号化処理・復号化処理を複数回行うことなく、複数の情報（共通鍵KAと他の情報K’）を暗号化・復号化することができる。これにより、複数の情報を暗号化・復号化する必要がある場合における処理速度が向上する。
また、本発明において好ましくは、上記各情報処理装置PC(i)にそれぞれ対応する公開鍵暗号方式の公開鍵PK(i)を用いて共通鍵暗号方式の共通鍵KAを暗号化した各暗号文PE(PK(i), KA)を上記情報記録媒体に格納する過程は、上記各情報処理装置PC(i)に対応する公開鍵PK(i)と暗号文PE(PK(i), KA)とを対応付けて上記情報記録媒体に格納する過程である。
【００１６】
そして、上記情報記録媒体に暗号文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))を上記情報記録媒体に格納する過程と、を具備する再暗号化過程を実行する。
【００１７】
さらに、上記情報処理装置PC(r)の外部読み込み部が、上記情報記録媒体から上記情報処理装置PC(s)に対応する公開鍵PK(s)を読み込む過程と、上記情報処理装置PC(r)の鍵秘匿化部が、公開鍵PK(s)を用いて新たな共通鍵KAnewを暗号化した暗号文PE(PK(s), KAnew)を生成する過程と、上記情報処理装置PC(r)の外部書き込み部が、暗号文PE(PK(s), KAnew)を上記情報記録媒体に格納する過程と、具備する再登録過程を実行する。
【００１８】
これにより、共通鍵を更新することができる。この共通鍵の更新は、例えば登録削除処理に利用することができる。その場合、上記再登録過程を、登録削除対象の情報処理装置PC(w)（w=1,...,n）以外の情報処理装置PC(s)について実行し、上記情報記録媒体に格納された暗号文SE(KA, M(w))を上記情報記録媒体から削除する。この場合、たとえ登録が削除された情報処理装置PC(w)に古い共通鍵KAが残存していたとしても、上記情報処理装置PC(w)は、上記情報記録媒体に格納された情報から平文M(p)を復号することはできない。その結果、安全性が向上する。
【００１９】
また、上記再暗号化過程と上記再登録過程とを実行する場合において好ましくは、上記登録過程において、各公開鍵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)のみについて実行される。なお、本発明の「認証子」とは、データの正当性を証明するためのデータを意味し、この定義に含まれるすべてのものを包含する概念である。
【００２１】
これにより、上記再登録過程が実行される前に上記情報記録媒体に格納されていた公開鍵PK(i)が改ざんされ、上記再登録過程によって、不正な情報処理装置が上記情報記録媒体に格納された暗号文を復号できるようになるといった事態を防止できる。その結果、安全性が向上する。また、この公開鍵PK(i)の検証処理は、登録された情報処理装置PC(r)〔自らの記憶部に秘密鍵SK(r)が格納され、暗号文PE(PK(r), KC)を復号可能な情報処理装置PC(r)〕であれば可能であり、検証装置用の特別な装置を用意する必要はない。よって、利便性が高い。
【００２２】
また、本発明において好ましくは、上記登録過程は、各公開鍵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)))を上記情報記録媒体に格納する過程と、を具備する。
【００２３】
このように暗号文SE(KA, M(p))の認証子AU(KB, SE(KA, M(p)))を生成し、情報記録媒体に格納しておくことにより、暗号文SE(KA, M(p))の改ざんを検出することができる。また、この場合も登録された情報処理装置であれば、認証子AU(KB, SE(KA, M(p)))の検証が可能であり、検証装置用の特別な装置を用意する必要はない。よって、利便性が高い。
【００２４】
また、本発明において好ましくは、上記情報処理装置PC(p)の暗号化部が共通鍵KAを用いて平文M(p)を暗号化した暗号文SE(KA, M(p))を生成する過程は、上記暗号化部のブロック分割部が、平文M(p)をＸ（X≧2）個のブロックMB(p, x)（x=1,...,X）に分割する過程と、上記暗号化部の乱数生成部が、平文M(p)毎に乱数E(p)を生成する過程と、上記情報処理装置PC(p)の外部書き込み部が、乱数E(p)を上記情報記録媒体に格納する過程と、上記暗号化部の関数演算部が、少なくともブロックMB(p, x)のブロック番号ｘと乱数Ｅ(p)とを所定の関数πに代入した関数値IV =π(x, Ｅ(p))を算出する過程と、上記暗号化部のブロック暗号化部が、共通鍵KAを用い、関数値IVを初期ベクトルとして各ブロックMB(p, x)を暗号化し、算出された全ブロックMB(p, x)の暗号文から暗号文SE(KA, M(p))を生成する過程と、を具備する過程である。
【００２５】
当該好ましい方法では、平文M(p)毎に乱数E(p)を生成し、ブロック番号ｘと乱数Ｅ(p)とを所定の関数πに代入した関数値IV=π(x, Ｅ(p))を用いたブロック暗号により、暗号文SE(KA, M(p))を生成する。この場合、或る平文M(p)を分割して得られたブロック間の値が同一であっても当該ブロック間の暗号文は同一とならないだけではなく、平文M(p) を分割して得られたブロック番号xのブロックMB(p, x)と、別の平文M(p’)を分割して得られた同じブロック番号xのブロックMB(p’, x)とが同一であっても、それらの暗号文は同一とならない。これにより、暗号文の同一性から平文の同一性が推測され、安全性が低下することを防止できる。このようなブロック暗号化方法は、複数の平文が同一の共通鍵KAで繰り返し暗号化され、生成された複数の暗号文が格納される情報記録媒体には特に有効な方法である。
【００２６】
また、当該乱数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)))を上記情報記録媒体に格納する過程と、を実行する。
【００２７】
このように、暗号文認証用鍵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)以外の乱数を格納しておく処理を必要としない。
【発明の効果】
【００２８】
以上のように、本発明では、煩雑な処理を必要とせず、安全に複数の情報処理装置が情報記録媒体を共用できる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
〔第１の実施形態〕
まず、本発明の第１の実施形態について説明する。
＜構成＞
図１は、本形態の情報記録媒体共用システム１の全体構成を例示した概念図である。
図１に例示するように、情報記録媒体共用システム１は、ｎ（ｎは２以上の整数）個のパーソナルコンピュータ（以下「ＰＣ」と表記する）１０−１〜ｎ（「情報処理装置PC(i)（i=1,...,n）」に相当）と、これらのＰＣ１０−１〜ｎ間で共用されるＵＳＢメモリ２０（「情報記録媒体」に相当）とを具備する。ＰＣ１０−１〜ｎは、ＵＳＢメモリ２０へ暗号文を格納し、また、ＵＳＢメモリ２０に格納された暗号文から平文を復号することにより相互に情報を共有する。なお、本形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてＵＳＢメモリを例示するが、本発明はこれに限定されるものではない。
【００３０】
図２（ａ）は、本形態のＰＣ１０−ｉ（i=1,...,n）の機能構成を例示したブロック図であり、図２（ｂ）は、本形態のＵＳＢメモリ２０の機能構成を例示したブロック図である。
図２（ａ）に示すように、ＰＣ１０−ｉは、外部書き込み部１１ａと、外部読み込み部１１ｂと、内部書き込み部１２ａと、内部読み込み部１２ｂと、記憶部１３と、共通鍵生成部１４ａと、鍵ペア生成部１４ｂ、鍵秘匿化部１４ｃと、共通鍵復元部１４ｄと、暗号化部１４ｅと、復号化部１４ｆと、削除部１４ｇと、アプリケーション実行部１４ｈと、制御部１４ｉと、一時メモリ１４ｊと、入力部１５と、出力部１６とを有している。また、図２（ｂ）に示すように、ＵＳＢメモリ２０は、インタフェース部２１と、記憶部２２と、制御部２３とを有しており、記憶部２２は領域２２ａ〜２２ｃを有している。
【００３１】
本形態のＰＣ１０−ｉはＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等からなるノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図２（ａ）に示す機能構成が実現される。
具体的には、この例のＰＣ１０−ｉには、ＯＳ（Operating System）やアプリケーションソフトウェアがインストールされている。そして、ＰＣ１０−ｉのＵＳＢポートにＵＳＢメモリ２０が装着・マウントされ、ＵＳＢメモリ２０がＰＣ１０−ｉにマウントされると、ＵＳＢメモリ２０の記憶部２２の領域２２ａからセキュリティプログラムがＰＣ１０−ｉに読み込まれる。そして、ＰＣ１０−ｉのＣＰＵがＯＳ上でセキュリティプログラムやアプリケーションソフトウェアを実行することにより、図２（ａ）の機能構成が実現される。なお、ＰＣ１０−ｉがＵＳＢメモリ２０からセキュリティプログラムを読み込むのではなく、各ＰＣ１０−ｉが他の記録媒体からセキュリティプログラムを読み込む構成であってもよいし、インターネット等を通じてセキュリティプログラムをダウンロードして読み込む構成であってもよい。このような場合には、ＵＳＢメモリ２０にセキュリティプログラムを格納しておかなくてもよい。
【００３２】
＜処理＞
次に本形態の処理を説明する。
本形態の処理は、(1)ＵＳＢメモリ２０を共用するｎ個のＰＣ１０−ｉをＵＳＢメモリ２０に登録する過程（登録過程）、(2)ＰＣ１０−ｉがＵＳＢメモリ２０に暗号文を書き込む過程（書き込み過程）、(3)ＰＣ１０−ｉがＵＳＢメモリ２０から暗号文を読み込んで復号する過程（読み込み過程）、(4) ＵＳＢメモリ２０から登録を削除する過程（削除過程）に大別できる。以下、各過程を説明する。
【００３３】
［登録過程］
まず、登録過程を説明する。なお、前提としてＰＣ１０−ｉには、ＯＳやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部１４ｉ，２３の制御のもと実行され、ＰＣ１０−ｉ内での各演算で得られる各データは逐一一時メモリ１４ｊに書き込まれ、必要に応じて他の演算のために読み出される。また、或る演算部から他の演算部へデータを送るとは、或る演算部で算出された演算結果を一時メモリ１４ｊに格納し、他の演算部が一時メモリ１４ｊから当該演算結果を読み込むことを意味する。
【００３４】
図３〜５は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図１１は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてＰＣ１０−１が最初に登録を行い、次にＰＣ１０−２が登録申請を行い、ＰＣ１０−１がそれを承認することによってＰＣ１０−２が登録される処理を例示する。
まず、前処理としてＰＣ１０−１にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名〔ワークグループ名を含む（以下同様）〕とを取得し、それらを示すID(1)を生成してＰＣ１０−１の記憶部１３（図３（ａ））に格納する。なお、既にID(1)が既に記憶部１３に格納されていた場合には登録過程を実行しない。
【００３５】
その後、ＰＣ１０−１にＵＳＢメモリ２０が装着・マウントされると、ＰＣ１０−１の共通鍵生成部１４ａ（図３（ａ））が共通鍵KAを生成（例えばランダムに生成）して出力する（ステップＳ１）。また、ＰＣ１０−１の鍵ペア生成部１４ｂが、公開鍵暗号方式の秘密鍵SK(1)と公開鍵PK(1)とを生成して出力する（ステップＳ２）。なお、公開鍵暗号方式としては、例えば、PSEC-KEMやRSA等を例示できる。生成された秘密鍵SK(1)は、ＰＣ１０−１の内部書き込み部１２ａに送られ、そこからＰＣ１０−１の記憶部１３に格納される（ステップＳ３）。また、共通鍵生成部１４ａから出力された共通鍵KAと、鍵ペア生成部１４ｂから出力された公開鍵PK(1)とはＰＣ１０−１の鍵秘匿化部１４ｃに送られ、当該鍵秘匿化部１４ｃは、公開鍵PK(1)を用いて共通鍵KAを暗号化した暗号文PE(PK(1), KA)を生成し、出力する（ステップＳ４）。なお、PE(α, β)は、所定の公開鍵暗号方式により、公開鍵αを用いてβを暗号化した暗号文を意味する。
【００３６】
上記の公開鍵PK(1)と暗号文PE(PK(1), KA)と内部読み込み部１２ｂから読み込まれたID(1)とは、ＰＣ１０−１の外部書き込み部１１ａによってＵＳＢメモリ２０のインタフェース部２１（図３（ｂ））に送られ、そこから記憶部２２の領域２２ｂに相互に関連付けられて格納される（ステップＳ５／ＰＣ１０−１の登録完了）。
次に、当該ＵＳＢメモリ２０がＰＣ１０−２に装着・マウントされると、ＰＣ１０−２にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(2)を生成してＰＣ１０−２の記憶部１３（図４（ａ））に格納する。
【００３７】
次に、ＰＣ１０−２の鍵ペア生成部１４ｂ（図４（ａ））が、公開鍵暗号方式の秘密鍵SK(2)と公開鍵PK(2)とを生成し、出力する（ステップＳ６）。秘密鍵SK(2)は、ＰＣ１０−２の内部書き込み部１２ａによってその記憶部１３に書き込まれる（ステップＳ７）。一方、公開鍵PK(2)は、ＰＣ１０−２の内部読み込み部１２ｂによって記憶部１３から読み込まれた識別子ID(2)とともに、その外部書き込み部１１ａからＵＳＢメモリ２０のインタフェース部２１（図４（ｂ））に送られ、そこから記憶部２２の領域２２ｂに相互に関連付けられて格納される（ステップＳ８／ＰＣ１０−２の登録申請）。
【００３８】
次に、当該ＵＳＢメモリ２０がＰＣ１０−１に装着・マウントされると、ＰＣ１０−１の外部読み込み部１１ｂが、ＵＳＢメモリ２０の記憶部２２の領域２２ｂから、識別子ID(1)に関連付けられている暗号文PE(PK(1), KA)を読み込み、それをＰＣ１０−１の共通鍵復元部１４ｄ（図５（ａ））に送る（ステップＳ９）。ＰＣ１０−１の共通鍵復元部１４ｄには、さらにＰＣ１０−１の内部読み込み部１２ｂによってＰＣ１０−１の記憶部１３から秘密鍵SK(1)が読み込まれる。ＰＣ１０−１の共通鍵復元部１４ｄは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号し〔KA=PD(SK(1), PE(PK(1), KA))〕、共通鍵KAを抽出する（ステップＳ１０）。なお、PD(α, β)は、所定の公開鍵暗号方式により、秘密鍵αを用いてβを復号化した結果値を意味する。
【００３９】
さらに、ＰＣ１０−１の外部読み込み部１１ｂが、ＵＳＢメモリ２０の記憶部２２の領域２２ａ（図５（ｂ））から公開鍵PK(2)を読み込む（ステップＳ１１）。共通鍵KA及び公開鍵PK(2)は、ＰＣ１０−１の鍵秘匿化部１４ｃに送られ、当該鍵秘匿化部１４ｃは、公開鍵PK(2)を用い、公開鍵暗号方式によって共通鍵KAを暗号化した暗号文PE(PK(2), KA)を生成し、出力する（ステップＳ１２）。暗号文PE(PK(2), KA)は、外部書き込み部１１ａによってＵＳＢメモリ２０のインタフェース部２１に送られ、そこから記憶部２２の領域２２ｂ（図５（ｂ））に識別子ID(2)と関連付けて格納される（ステップＳ１３／ＰＣ１０−１による承認完了）。これにより、ＰＣ１０−２の登録が終了する。
【００４０】
その後、ＰＣ１０−２と同様にその他のＰＣ１０−ｉが登録申請（ステップＳ６〜Ｓ８参照）を行い、ＰＣ１０−１等の登録済のＰＣ１０−ｔ（t=1,...,n）（ＵＳＢメモリ２０に暗号文PE(PK(t), KA)が格納され、自らの記憶部１３に秘密鍵SK(t)が格納された何れかのＰＣ１０−ｔ）が上述のように承認を行い（ステップＳ９〜Ｓ１３参照）、全てのＰＣ１０−ｉ（i=1,...,n）の登録がなされる。
【００４１】
［書き込み過程・読み込み過程］
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてＰＣ１０−ｉには、ＯＳやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
【００４２】
図６は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図７は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図１２は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、ＰＣ１０−１がＵＳＢメモリ２０に暗号文を書き込み（書き込み過程）、ＰＣ１０−２がＵＳＢメモリ２０から暗号文を読み込んで復号する（読み込み過程）例を示す。
【００４３】
まず、ＰＣ１０−１にＵＳＢメモリ２０が装着・マウントされているものとする。この状態で、WordやExcel（登録商標）等のアプリケーションソフトウェアを実行するＰＣ１０−１のアプリケーション実行部１４ｈ（図６（ａ））が、平文M(1)の暗号文のＵＳＢメモリ２０への書き込み要求を制御部１４ｉに行う。これをトリガとして、ＰＣ１０−１の内部読み込み部１２ｂが記憶部１３から識別子ID(1)を読み込み、これをＰＣ１０−１の外部読み込み部１１ｂに送る。当該外部読み込み部１１ｂは、ＵＳＢメモリ２０の記憶部２２の領域２２ｂ（図６（ｂ））から識別子ID(1)に関連付けられている暗号文PE(PK(1), KA)を読み込む（ステップＳ２１）。
【００４４】
当該暗号文PE(PK(1), KA)は、ＰＣ１０−１の共通鍵復元部１４ｄ（図６（ａ））に送られる。また、これをトリガとして、ＰＣ１０−１の内部読み込み部１２ｂがその記憶部１３から秘密鍵SK(1)を読み込み、秘密鍵SK(1)を共通鍵復元部１４ｄに送る。共通鍵復元部１４ｄは、秘密鍵SK(1)を用いて暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出し、共通鍵KAを暗号化部１４ｅに送る（ステップＳ２２）。また、ＰＣ１０−１のアプリケーション実行部１４ｈは、平文M(1)をその暗号化部１４ｅに送り、当該暗号化部１４ｅは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する（ステップＳ２３）。なお、SE(α, β)は、所定の共通鍵暗号方式により、共通鍵αを用いてβを暗号化した暗号文を意味する。また、共通鍵暗号方式としては、例えばCamelliaやAES等を例示できる。
【００４５】
生成された暗号文SE(KA, M(1))は、外部書き込み部１１ａによって、ＵＳＢメモリ２０のインタフェース部２１に送られ、そこから記憶部２２の領域２２ｃ（図６（ｂ））に格納される（ステップＳ２４／書き込み過程終了）。
【００４６】
次に、ＰＣ１０−２にＵＳＢメモリ２０が装着・マウントされる。この状態で、ＰＣ１０−２のアプリケーション実行部１４ｈが、ＵＳＢメモリ２０からの暗号文SE(KA, M(1))の読み込み要求を制御部１４ｉに行うと、まず、ＰＣ１０−２の外部読み込み部１１ｂ（図７（ａ））が、ＵＳＢメモリ２０の記憶部２２の領域２２ｃ（図７（ｂ））から暗号文SE(KA, M(1))を読み込み（ステップＳ２５）、さらに、領域２２ｂから暗号文PE(PK(2), KA)を読み込む（ステップＳ２６）。次に、ＰＣ１０−２の内部読み込み部１２ｂ（図７（ａ））が記憶部１３から秘密鍵SK(2)を読み込む。そして、ＰＣ１０−２の共通鍵復元部１４ｄが、当該秘密鍵SK(2)を用いて暗号文PE(PK(2), KA)を復号して共通鍵KA〔KA=PD(SK(2), PE(PK(2), KA))〕を抽出する（ステップＳ２７）。その後、ＰＣ１０−２の復号化部１４ｆが、当該共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する（ステップＳ２８）。なお、SD(α，β)は、共通鍵暗号方式により、共通鍵αによってβを復号化した結果値を意味する。
抽出された平文M(1)は、ＰＣ１０−２のアプリケーション実行部１４ｈに送られる（読み込み過程終了）。
【００４７】
［削除過程］
次に、本形態の削除過程について説明する。なお、前提としてＰＣ１０−ｉには、ＯＳやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
図８〜１０は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図１３は、本形態の削除過程を説明するためのシーケンス図である。
【００４８】
本形態の削除過程は、単に登録削除対象のＰＣ１０−ｗのデータをＵＳＢメモリ２０から削除するだけではなく、これに併せて平文の暗号化に用いる共通鍵KAを再設定し、ＵＳＢメモリ２０に格納されている暗号文も生成し直す。これにより、登録が削除されたＰＣ１０−ｗが、過去に取得した共通鍵KAを用い、ＵＳＢメモリ２０に格納された暗号文を復号できてしまうという事態を防止できる。以下では、ＰＣ１０−１がＵＳＢメモリ２０からＰＣ１０−２の登録を削除する例を示す。
【００４９】
まず、ＰＣ１０−１にＵＳＢメモリ２０が装着・マウントされているものとする。この状態で、利用者が登録削除対象を例えば以下のように指定する。まず、外部読み込み部１１ｂがＵＳＢメモリ２０の記憶部２２の領域２２ｂから全ての識別子ID(i)を読み込み、それらが示すホスト名及びユーザ名を出力部１６から出力する（例えば、画面上に表示する）。利用者は、出力されたホスト名及びユーザ名を参照しながら、削除対象のホスト名及びユーザ名を入力部１５から入力する。この例では識別子ID(2)に対応するホスト名及びユーザ名が入力されたものにする。制御部１４ｉは、この入力結果に基づき以下のように削除過程を実行させる。
【００５０】
まず、ＰＣ１０−１の内部読み込み部１２ｂが記憶部１３から識別子ID(1)を読み込み、外部読み込み部１１ｂ（図８（ａ））に送る。当該外部読み込み部１１ｂ（図８（ａ））は、ＵＳＢメモリ２０の記憶部２２の領域２２ｂ（図８（ｂ））から識別子ID(1)に関連付けられた暗号文PE(PK(1), KA)を読み込み（ステップＳ３１）、共通鍵復元部１４ｄに送る。
【００５１】
次に、ＰＣ１０−１の内部読み込み部１２ｂが記憶部１３から秘密鍵SK(1)を読み込み、共通鍵復元部１４ｄに送る。共通鍵復元部１４ｄは、当該秘密鍵SK(1)を用い、ＵＳＢメモリ２０から読み込まれた暗号文PE(PK(1), KA)を復号して共通鍵KA〔KA=PD(SK(1), PE(PK(1), KA))〕を抽出する（ステップＳ３２）。また、ＰＣ１０−１の共通鍵生成部１４ａが、新たな共通鍵KAnewを生成する（ステップＳ３３）。
【００５２】
また、ＰＣ１０−１の外部読み込み部１１ｂが、ＵＳＢメモリ２０からＰＣ１０−ｉに対応する暗号文SE(KA, M(i))(i=1,...,n)を読み込む（ステップＳ３４）。ＰＣ１０−１の復号化部１４ｆは、共通鍵復元部１４ｄで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する（ステップＳ３５）。
【００５３】
次に、ＰＣ１０−１の暗号化部１４ｅに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部１４ｅは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する（ステップＳ３６）。各暗号文SE(KAnew, M(i))は、ＰＣ１０−１の外部書き込み部１１ａに送られる。当該外部書き込み部１１ａは、当該暗号文SE(KAnew, M(i))をＵＳＢメモリ２０のインタフェース部２１に送り、インタフェース部２１は、これらを記憶部２２の領域２２ｃ（図８（ｂ））に格納する（ステップＳ３７）。
【００５４】
また、ＰＣ１０−１の外部読み込み部１１ｂ（図９（ａ））が、ＵＳＢメモリ２０から各ＰＣ１０−ｓ（s=1,...,n、s≠2）に対応する公開鍵PK(s)を読み込み（ステップＳ３８）、それらをＰＣ１０−１の鍵秘匿化部１４に送る。そして、当該鍵秘匿化部１４ｃは、読み込まれた各公開鍵PK(s)を用い、共通鍵生成部１４ａで新たに生成された（ステップＳ３３）共通鍵KAnewを公開鍵暗号方式によって暗号化し、暗号文PE(PK(s), KAnew)を生成する（ステップＳ３９）。各暗号文PE(PK(s), KAnew)は、ＰＣ１０−１の外部書き込み部１１ａによってＵＳＢメモリ２０のインタフェース部２１に送られる。当該インタフェース部２１は、各暗号文PE(PK(s), KAnew)を、ＵＳＢメモリ２０の記憶部２２の領域２２ｂに、それぞれ識別子ID(s)と対応付けて格納（図９（ｂ））する（ステップＳ４０）。
【００５５】
次に、ＰＣ１０−１の削除部１４ｇ（図１０（ａ））が削除命令を出し、これを受けた外部書き込み部１１ａは、USBメモリ２０の記憶部２２の領域２２ｃ（図９（ｂ））から暗号文SE(KA, M(i))を削除し、領域２２ｂからPE(PK(i), KA)、識別子ID(2)、公開鍵PK(2)を削除（図１０（ｂ））する（ステップＳ４１）。
【００５６】
〔第２の実施形態〕
次に本発明の第２の実施形態について説明する。
本形態は第１の実施形態の変形例であり、ＵＳＢメモリに格納する公開鍵や暗号文に認証子を付して公開鍵や暗号文の偽造を防止する点、公開鍵や暗号文用の認証子を作成するための鍵を各ＰＣの公開鍵で暗号化してＵＳＢメモリに格納しておく点、平文を暗号化するための共通鍵及び公開鍵や暗号文用の認証子を作成するための鍵を効率よく暗号化するための工夫を行っている点、平文の暗号化方法を工夫している点が第１の実施形態と相違する。以下では、第１の実施形態との相違点を中心に説明し、第１の実施形態と共通する事項については説明を簡略化する。
【００５７】
＜構成＞
本形態の情報記録媒体共用システムの全体構成は、ＰＣ１０−１〜ｎがＰＣ１１０−１〜ｎに置き換わり、ＵＳＢメモリ１２０がＵＳＢメモリ１２０に置き換わる点以外、第１の実施形態と同様である。
図１４は、本形態のＰＣ１１０−ｉ（i=1,...,n）の機能構成を例示したブロック図である。また、図１５は、本形態のＵＳＢメモリ１２０の機能構成を例示したブロック図である。なお、図１４，１５において第１の実施形態と共通する部分については、第１の実施形態と同じ符号を付している。
【００５８】
図１４に示すように、ＰＣ１１０−ｉは、外部書き込み部１１ａと、外部読み込み部１１ｂと、内部書き込み部１２ａと、内部読み込み部１２ｂと、記憶部１３と、共通鍵生成部１１４ａと、鍵ペア生成部１４ｂ、鍵秘匿化部１１４ｃと、共通鍵復元部１１４ｄと、暗号化部１１４ｅと、復号化部１１４ｆと、削除部１４ｇと、アプリケーション実行部１４ｈと、制御部１４ｉと、一時メモリ１４ｊと、公開鍵認証子生成部１１４ｋと、公開鍵検証部１１４ｍと、暗号文認証子生成部１１４ｎと、暗号文検証部１１４ｐと、入力部１５と、出力部１６とを有している。また、本形態のＰＣ１１０−ｉもＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等からなるノイマン型のコンピュータであり、所定のプログラムが読み込まれることにより、図１４に示す機能構成が実現される。
【００５９】
また、図１５に示すように、本形態のＵＳＢメモリ１２０の機能構成は、第１の実施形態と同様であるが、記憶部２２に格納されるデータが第１の実施形態と相違する。
＜処理＞
次に本形態の処理について説明する。
本形態の処理も、(1)登録過程、(2)書き込み過程、(3)読み込み過程、(4)削除過程に大別できる。以下、各過程の説明を行う。
【００６０】
［登録過程］
まず、登録過程を説明する。なお、前提としてＰＣ１１０−ｉには、ＯＳやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。また、以下では記載を省略するが、各処理は制御部１４ｉ，２３の制御のもと実行され、ＰＣ１１０−ｉ内での各演算で得られる各データは逐一一時メモリ１４ｊに書き込まれ、必要に応じて他の演算のために読み出される。
【００６１】
図１６〜１８は、本形態の登録過程に関連する各機能ブロックとデータの流れとを示した図であり、図２５及び２６は、本形態の登録過程を説明するためのシーケンス図である。なお、以下では、一例としてＰＣ１１０−１が最初に登録を行い、次にＰＣ１１０−２が登録申請を行い、ＰＣ１１０−１がそれを承認することによってＰＣ１１０−２が登録される処理を例示する。
まず、前処理としてＰＣ１１０−１にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(1)を生成してＰＣ１１０−１の記憶部１３（図１６（ａ））に格納する。なお、既にID(1)が既に記憶部１３に格納されていた場合には登録過程を実行しない。
【００６２】
ＰＣ１１０−１にＵＳＢメモリ１２０が装着・マウントされると、ＰＣ１１０−１の共通鍵生成部１１４ａ（図１６（ａ））が３つの共通鍵KA, KB, KCを生成（例えばランダムに生成）、出力する（ステップＳ５１）。なお、共通鍵KAはメッセージである平文を暗号化するための鍵であり、共通鍵KBは暗号文の認証子を生成するための暗号文認証用鍵であり、共通鍵KCは公開鍵の認証子を生成するための鍵認証用鍵KCである。
また、ＰＣ１１０−１の鍵ペア生成部１４ｂが、公開鍵暗号方式の秘密鍵SK(1)と公開鍵PK(1)とを生成して出力する（ステップＳ５２）。なお、公開鍵暗号方式としては、例えば、PSEC-KEMやRSA等を例示できる。生成された秘密鍵SK(1)は、ＰＣ１１０−１の内部書き込み部１２ａに送られ、そこからＰＣ１１０−１の記憶部１３に格納される（ステップＳ５３）。
【００６３】
また、共通鍵生成部１４ａから出力された共通鍵KA, KB, KCと、鍵ペア生成部１４ｂから出力された公開鍵PK(1)とはＰＣ１１０−１の鍵秘匿化部１１４ｃに送られ、当該鍵秘匿化部１１４ｃは、公開鍵PK(1)を用いて共通鍵KA, KB, KCをそれぞれ暗号化した暗号文PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)を生成し、出力する（ステップＳ５４）。
【００６４】
さらに、ＰＣ１１０−１の公開鍵認証子生成部１１４ｋに、共通鍵生成部１１４ａで生成された共通鍵KCと、鍵ペア生成部１４ｂで生成された公開鍵PK(1)と、鍵秘匿化部１１４ｃで生成された暗号文PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)と、内部読み込み部１２ｂが記憶部１３から読み込んだ識別子ID(1)とが入力される。そして、当該公開鍵認証子生成部１１４ｋは、これらを用いて公開鍵PK(1)の公開鍵認証子AU(KC, PK(1))を生成する（ステップＳ５５）。なお、公開鍵認証子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(α, β１, β２, ...，βｍ)（ｍは１以上の整数）は、β１, β２, ...，βｍのビット連結β１｜β２｜...｜βｍをβとし、γ(+)δをγとδとの排他的論理和とし、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))としてもよい。
【００６５】
上記の公開鍵PK(1)と暗号文PE(PK(1), KA)，PE(PK(1), KB)，PE(PK(1), KC)と公開鍵認証子AU(KC, PK(1))と内部読み込み部１２ｂから読み込まれたID(1)とは、ＰＣ１１０−１の外部書き込み部１１ａによってＵＳＢメモリ１２０のインタフェース部２１（図１６（ｂ））に送られ、そこから記憶部２２の領域２２ｂに相互に関連付けられて格納される（ステップＳ５６／ＰＣ１１０−１の登録完了）。
次に、当該ＵＳＢメモリ１２０がＰＣ１１０−２に装着・マウントされると、ＰＣ１１０−２にインストールされたアプリケーションソフトウェアが、ホスト名とユーザ名とを取得し、それらを示すID(2)を生成してＰＣ１１０−２の記憶部１３（図１７（ａ））に格納する。
【００６６】
次に、ＰＣ１１０−２の鍵ペア生成部１４ｂ（図１７（ａ））が、公開鍵暗号方式の秘密鍵SK(2)と公開鍵PK(2)とを生成し、出力する（ステップＳ５７）。秘密鍵SK(2)は、ＰＣ１１０−２の内部書き込み部１２ａによってその記憶部１３に書き込まれる（ステップＳ５８）。
一方、公開鍵PK(2)は、ＰＣ１１０−２の内部読み込み部１２ｂによって記憶部１３から読み込まれた識別子ID(2)とともに、その外部書き込み部１１ａからＵＳＢメモリ１２０のインタフェース部２１（図１７（ｂ））に送られ、そこから記憶部２２の領域２２ｂに相互に関連付けられて格納される（ステップＳ５９／ＰＣ１１０−２の登録申請）。
【００６７】
次に、当該ＵＳＢメモリ１２０がＰＣ１１０−１に装着・マウントされると、ＰＣ１１０−１の外部読み込み部１１ｂが、ＵＳＢメモリ１２０の記憶部２２の領域２２ｂから、識別子ID(1)に関連付けられている暗号文PE(PK(1), KA), PE(PK(1), KB), PE(PK(1), KC)を読み込み、それらをＰＣ１１０−１の共通鍵復元部１１４ｄ（図１８（ａ））に送る（ステップＳ６０）。ＰＣ１１０−１の共通鍵復元部１１４ｄには、さらにＰＣ１１０−１の内部読み込み部１２ｂによってＰＣ１１０−１の記憶部１３から秘密鍵SK(1)が読み込まれる。ＰＣ１１０−１の共通鍵復元部１４ｄは、秘密鍵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))〕を抽出する（ステップＳ６１）。さらに、ＰＣ１１０−１の外部読み込み部１１ｂが、ＵＳＢメモリ１２０の記憶部２２の領域２２ａ（図１８（ｂ））から、識別子ID(2)と公開鍵PK(2)を読み込む（ステップＳ６２）。
【００６８】
これらの共通鍵KA, KB, KC及び公開鍵PK(2)は、ＰＣ１１０−１の鍵秘匿化部１４ｃに送られ、当該鍵秘匿化部１４ｃは、公開鍵PK(2)を用い、公開鍵暗号方式によって共通鍵KA, KB, KCをそれぞれ暗号化した暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)を生成し、出力する（ステップＳ６３）。
さらに、ＰＣ１１０−２の公開鍵認証子生成部１１４ｋに、共通鍵KCと公開鍵PK(2)と暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)と識別子ID(2)とが入力される。そして、当該公開鍵認証子生成部１１４ｋは、これらを用い、ステップＳ５５と同様に、公開鍵PK(2)の公開鍵認証子AU(KC, PK(2))を生成する（ステップＳ６４）。
【００６９】
そして、暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)と公開鍵認証子AU(KC, PK(2))は、外部書き込み部１１ａによってＵＳＢメモリ１２０のインタフェース部２１に送られ、そこから記憶部２２の領域２２ｂ（図１８（ｂ））に識別子ID(2)と関連付けて格納される（ステップＳ６５／ＰＣ１１０−１による承認完了）。これにより、ＰＣ１１０−２の登録が終了する。
【００７０】
その後、ＰＣ１１０−２と同様にその他のＰＣ１１０−ｉが登録申請を行い（ステップＳ５７〜Ｓ５９参照）、ＰＣ１１０−１等の登録済のＰＣ１１０−ｔ（t=1,...,n）（ＵＳＢメモリ１２０に暗号文PE(PK(2), KA), PE(PK(2), KB), PE(PK(2), KC)が格納され、自らの記憶部１３に秘密鍵SK(t)が格納された何れかのＰＣ１１０−ｔ）が上述のように承認を行い（ステップＳ６０〜Ｓ６５参照）、全てのＰＣ１１０−ｉ（i=1,...,n）の登録がなされる。
【００７１】
［書き込み過程・読み込み過程］
次に、本形態の書き込み過程及び読み込み過程を説明する。なお、前提としてＰＣ１１０−ｉには、ＯＳやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
図１９は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、図２０は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。また、図２７は、本形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。なお、ここでは、ＰＣ１１０−１がＵＳＢメモリ１２０に暗号文を書き込み（書き込み過程）、ＰＣ１１０−２がＵＳＢメモリ１２０から暗号文を読み込んで復号する（読み込み過程）例を示す。
【００７２】
まず、ＰＣ１１０−１にＵＳＢメモリ１２０が装着・マウントされているものとする。この状態で、ＰＣ１１０−１のアプリケーション実行部１４ｈ（図１９（ａ））が、平文M(1)の暗号文のＵＳＢメモリ１２０への書き込み要求を制御部１４ｉに行う。これをトリガとして、ＰＣ１１０−１の内部読み込み部１２ｂが記憶部１３から識別子ID(1)を読み込み、これをＰＣ１１０−１の外部読み込み部１１ｂに送る。当該外部読み込み部１１ｂは、ＵＳＢメモリ１２０の記憶部２２の領域２２ｂ（図１９（ｂ））から識別子ID(1)に関連付けられている暗号文PE(PK(1), KA), PE(PK(1), KB)を読み込む（ステップＳ７１）。
【００７３】
当該暗号文PE(PK(1), KA), PE(PK(1), KB)は、ＰＣ１１０−１の共通鍵復元部１１４ｄ（図１９（ａ））に送られる。また、これをトリガとして、ＰＣ１１０−１の内部読み込み部１２ｂがその記憶部１３から秘密鍵SK(1)を読み込み、秘密鍵SK(1)を共通鍵復元部１１４ｄに送る。共通鍵復元部１１４ｄは、秘密鍵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))〕を抽出する（ステップＳ７２）。当該共通鍵KAは、ＰＣ１１０−１の暗号化部１１４ｅに送られ、当該共通鍵KBは暗号文認証子生成部１１４ｎに送られる。また、ＰＣ１１０−１のアプリケーション実行部１４ｈは、平文M(1)を当該暗号化部１１４ｅに送り、当該暗号化部１１４ｅは、共通鍵暗号方式により、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成する（ステップＳ７３）。
【００７４】
生成された暗号文SE(KA, M(1))は暗号文認証子生成部１１４ｎに送られ、暗号文認証子生成部１１４ｎは、少なくとも共通鍵KBと暗号文SE(KA, M(1))とを用いて暗号文SE(KA, M(1))の暗号文認証子AU(KB, SE(KA, M(1)))を生成する（ステップＳ７４）。なお、暗号文認証子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)))は、式（３）に限定されるものではなく、共通鍵KBを用いて暗号文SE(KA, M(1))の正当性を証明できる情報であれば、電子署名等どのようなものであってもよい。
【００７５】
このように生成された暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))とは、外部書き込み部１１ａによって、ＵＳＢメモリ１２０のインタフェース部２１に送られ、そこから記憶部２２の領域２２ｃ（図１９（ｂ））に格納される（ステップＳ７５／書き込み過程終了）。
【００７６】
次に、ＰＣ１１０−２にＵＳＢメモリ１２０が装着・マウントされる。この状態で、ＰＣ１１０−２のアプリケーション実行部１４ｈが、ＵＳＢメモリ１２０からの暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))の読み込み要求を制御部１４ｉに行うと、まず、ＰＣ１１０−２の外部読み込み部１１ｂ（図２０（ａ））が、ＵＳＢメモリ１２０の記憶部２２の領域２２ｃ（図２０（ｂ））から暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))を読み込み（ステップＳ７６）、さらに、領域２２ｂから暗号文PE(PK(2), KA), PE(PK(2), KB)を読み込む（ステップＳ７７）。次に、ＰＣ１１０−２の内部読み込み部１２ｂ（図２０（ａ））が記憶部１３から秘密鍵SK(2)を読み込む。そして、ＰＣ１１０−２の共通鍵復元部１１４ｄが、当該秘密鍵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))〕を抽出する（ステップＳ７８）。
【００７７】
その後、ＰＣ１１０−２の暗号文検証部１１４ｐに、共通鍵KBと暗号文SE(KA, M(1))と暗号文認証子AU(KB, SE(KA, M(1)))とが入力され、暗号文検証部１１４ｐは、共通鍵KBと暗号文認証子AU(KB, SE(KA, M(1)))とを用い、暗号文SE(KA, M(1))が正当なものであるか否かを検証する（ステップＳ７９）。例えば、ステップＳ７３において前述の式（３）によって証子AU(KB, SE(KA, M(1)))が生成される例の場合、ＰＣ１１０−２の暗号文検証部１１４ｐは、入力された共通鍵KBと暗号文SE(KA, M(1))とを用いてHMAC(KB, SE(KA, M(1)))を算出し、その演算結果と入力されたHMAC(KB, SE(KA, M(1)))と等しいか否かを判定する。
【００７８】
ここで、これらが等しくないのであれば、暗号文SE(KA, M(1))が不当であるとして、制御部１４ｉは処理をエラー終了させる。一方、これらが等しいのであれば、暗号文SE(KA, M(1))が正当であるとして、ＰＣ１１０−２の復号化部１１４ｆが、共通鍵KAを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する（ステップＳ８０）。抽出された平文M(1)は、ＰＣ１１０−２のアプリケーション実行部１４ｈに送られる（読み込み過程終了）。
【００７９】
［削除過程］
次に、本形態の削除過程について説明する。なお、前提としてＰＣ１１０−ｉには、ＯＳやセキュリティプログラムやアプリケーションソフトウェアがインストールされているものとする。
図２１〜２４は、本形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。また、図２８，２９は、本形態の削除過程を説明するためのシーケンス図である。
ＰＣ１１０−１にＵＳＢメモリ１２０が装着・マウントされているものとする。また、本形態でも第１の実施形態と同様にＰＣ１１０−２の登録を削除するものとする。
【００８０】
まず、ＰＣ１１０−１の内部読み込み部１２ｂが記憶部１３から識別子ID(1)を読み込み、外部読み込み部１１ｂ（図２１）に送る。当該外部読み込み部１１ｂは、ＵＳＢメモリ１２０の記憶部２２の領域２２ｂ（図２２）から識別子ID(1)に関連付けられた暗号文PE(PK(1), KA), PE(PK(1), KC)を読み込む（ステップＳ９１）。
【００８１】
次に、ＰＣ１１０−１の内部読み込み部１２ｂ（図２１）が記憶部１３から秘密鍵SK(1)を読み込み、共通鍵復元部１４ｄに送る。共通鍵復元部１４ｄは、当該秘密鍵SK(1)を用い、ＵＳＢメモリ１２０から読み込まれた暗号文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))〕を抽出する（ステップＳ９２）。
【００８２】
次に、ＰＣ１１０−１の外部読み込み部１１ｂが、USBメモリ１２０から削除対象のＰＣ１１０−２以外の識別子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)を読み込み（ステップＳ９３）、これらを公開鍵検証部１１４ｍに送る。公開鍵検証部１１４ｍには、さらに共通鍵KCが入力され、公開鍵検証部１１４ｍは、これらの情報を用いて公開鍵PK(s)の正当性を検証する（ステップＳ９４）。例えば、公開鍵認証子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))と生成される場合には、公開鍵検証部１１４ｍは、入力された情報を用いてHMAC(KC, PK(s), ID(s), PE(PK(s), KA), PE(PK(s), KB), PE(PK(s), KC))を計算し、その計算結果と、入力された公開鍵認証子AU(KC, PK(s))と、が等しいか否かを判定する。
【００８３】
ここで正当でないと判定された公開鍵PK(s’)に対応するＰＣ１１０−ｓ’は、すべて登録削除対象に加える。すなわち、ステップＳ９４以降、s=1,...,n、s≠2、s≠ｓ’となる。
次に、ＰＣ１１０−１の共通鍵生成部１１４ａが、新たな共通鍵KAnew, KBnew, KCnewを生成する（ステップＳ９５）。
また、ＰＣ１１０−１の外部読み込み部１１ｂが、ＵＳＢメモリ１２０からＰＣ１１０−ｉに対応する暗号文SE(KA, M(i))(i=1,...,n)を読み込み（ステップＳ９６）、復号化部１１４ｆに送る。当該復号化部１１４ｆは、共通鍵復元部１１４ｄで得られた共通鍵KAを用い、当該暗号文SE(KA, M(i))を復号して平文M(i)〔M(i)=SD(KA, SE(KA, M(i))〕を抽出する（ステップＳ９７）。
【００８４】
次に、ＰＣ１１０−１の暗号化部１１４ｅに、抽出された各平文M(i)と新たな共通鍵KAnewとが入力され、当該暗号化部１１４ｅは、新たな共通鍵KAnewを用いて各平文M(i)を暗号化した暗号文SE(KAnew, M(i))を生成する（ステップＳ９８）。さらに、暗号文認証子生成部１１４ｎに、当該暗号文SE(KAnew, M(i)) と新たな共通鍵KAnew,KBnewとが入力され、暗号文認証子生成部１１４ｎは、ステップＳ７４と同様に、暗号文SE(KAnew, M(i))の暗号文認証子AU(KBnew, SE(KAnew, M(i)))を生成する（ステップＳ９９）。
【００８５】
生成された各暗号文SE(KAnew, M(i))とそれらの暗号文認証子AU(KBnew, SE(KAnew, M(i)))とは、ＰＣ１１０−１の外部書き込み部１１ａに送られる。当該外部書き込み部１１ａは、当該各暗号文SE(KAnew, M(i))とそれらの暗号文認証子AU(KBnew, SE(KAnew, M(i)))とをＵＳＢメモリ１２０のインタフェース部２１に送り、インタフェース部２１は、これらを記憶部２２の領域２２ｃ（図２２）に格納する（ステップＳ１００）。
【００８６】
次に、ＰＣ１１０−１の外部読み込み部１１ｂ（図２３（ａ））が、ＵＳＢメモリ１２０から、各ＰＣ１１０−ｓに対応する公開鍵PK(s)と識別子ID(s)を読み込み（ステップＳ１０１）、それらを鍵秘匿化部１１４ｃに送る。当該鍵秘匿化部１１４ｃは、読み込まれた各公開鍵PK(s)を用い、共通鍵生成部１１４ａで新たに生成された共通鍵KAnew, KBnew, KCnewを公開鍵暗号方式によって暗号化し、暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)を生成する（ステップＳ１０２）。
さらに、公開鍵認証子生成部１１４ｋに、新たに生成された共通鍵KCnewと暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)と公開鍵PK(s)と識別子ID(s)が入力され、ステップＳ５５と同様に、各公開鍵PK(s)の公開鍵認証子AU(KC, PK(s))を生成する（ステップＳ１０３）。
【００８７】
各暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)と公開鍵認証子AU(KC, PK(s))とは、ＰＣ１１０−１の外部書き込み部１１ａによってＵＳＢメモリ１２０のインタフェース部２１（図２３（ｂ））に送られる。そして、当該インタフェース部２１は、各暗号文PE(PK(s), KAnew), PE(PK(s), KBnew), PE(PK(s), KCnew)と公開鍵認証子AU(KC, PK(s))とを、ＵＳＢメモリ１２０の記憶部２２の領域２２ｂに、それぞれ識別子ID(s)に対応付けて格納（図２３（ｂ））する（ステップＳ１０４）。
【００８８】
次に、ＰＣ１１０−１の削除部１４ｇ（図２４（ａ））が削除命令を出し、これを受けた外部書き込み部１１ａは、ＵＳＢメモリ１２０の記憶部２２の領域２２ｃ（図２３（ｂ））から暗号文SE(KA, M(i))と暗号文認証子AU(KB, SE(KA, M(i)))を削除し、領域２２ｂから暗号文PE(PK(i), KA), PE(PK(i), KB), PE(PK(i), KC)と公開鍵認証子AU(KC, PK(i))と識別子ID(2),ID(s’)と公開鍵PK(2),PK(s’)を削除（図２４（ｂ））する（ステップＳ１０５）。なお、識別子ID(s’)及び公開鍵PK(s’)は、ステップＳ９４で公開鍵PK(s’)が正当でないと判定されたＰＣ１１０−ｓ’に対応する。
【００８９】
〔第３の実施形態〕
次に、本発明の第３の実施形態について説明する。本形態は第２の実施形態の変形例である。複数の共通鍵の秘匿化や復号を行う鍵秘匿化部１１４ｃ及び共通鍵復元部１１４ｄの構成を工夫し、演算量の削減を可能とした点のみが第２の実施形態と相違する。以下では、本形態の鍵秘匿化部１１４ｃ及び共通鍵復元部１１４ｄのみについて説明する。
【００９０】
＜鍵秘匿化部１１４ｃ＞
図３０（ａ）は、本形態の鍵秘匿化部１１４ｃの構成を示したブロック図である。また、図３１は、本形態の鍵秘匿化処理を説明するためのフローチャートである。以下、これらの図を用い、秘密鍵KA. KB, KCと公開鍵PK(1)とが本形態の鍵秘匿化部１１４ｃに入力され、当該鍵秘匿化部１１４ｃが暗号文PE(PK(1),KA), PE(PK(1),KB), PE(PK(1),KC)を算出する処理を例にとって説明する。
【００９１】
まず、鍵秘匿化部１１４ｃの乱数生成部１１４ｃａが乱数Z(1)（例えばビット長384bit）を生成し（ステップＳ１２１）、それを、鍵秘匿化部１１４ｃの公開鍵暗号化部１１４ｃｂと乱数分割部１１４ｃｃとに送る。当該公開鍵暗号化部１１４ｃｂは、入力された公開鍵PK(1)を用いて乱数Z(1)を公開鍵暗号方式によって暗号化して暗号文C(1)=PE(PK(1), Z(1))を生成する（ステップＳ１２２）。また、当該乱数分割部１１４ｃｃは、乱数Z(1)を３（Ｙ＝３の例）個の乱数Z(1, y)（y=1,2,3）（例えばビット長128bit）に分割する（ステップＳ１２３）。分割された各乱数Z(1, y)は、鍵秘匿化部１１４ｃの共通鍵暗号化部１１４ｃｄに送られる。共通鍵暗号化部１１４ｃｄは、乱数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)とを算出する（ステップＳ１２４〜Ｓ１２６）。そして、鍵秘匿化部１１４ｃは、暗号文
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))
を出力する（ステップＳ１２７）。なお、(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)とを有する情報を意味する。また、「αとβとを有する情報」の具体例としては、αとβとのビット結合や、当該ビット結合と他のデータとのビット結合等を例示できる。
【００９２】
＜共通鍵復元部１１４ｄ＞
図３０（ｂ）は、本形態の共通鍵復元部１１４ｄの構成を示したブロック図である。また、図３２は、本形態の鍵復元処理を説明するためのフローチャートである。以下、これらの図を用い、暗号文PE(PK(1),KA), PE(PK(1),KB), PE(PK(1),KC)と秘密鍵SK(1)とが本形態の共通鍵復元部１１４ｄに入力され、当該共通鍵復元部１１４ｄが暗号文PE(PK(1),KA), PE(PK(1),KB), PE(PK(1),KC)を復号する処理を例にとって説明する。
まず、共通鍵復元部１１４ｄの公開鍵復号化部１１４ｄａが、入力された秘密鍵SK(1)を用いて暗号文C(1)=PE(PK(1), Z(1))を復号し、乱数Z(1)〔Z(1)=PD(SK(1), C(1))〕を抽出する（ステップＳ１３１）。当該乱数Z(1)は、共通鍵復元部１１４ｄの乱数分割部１１４ｄｂに入力され、当該乱数分割部１１４ｄｂは、乱数Z(1)を３（Ｙ＝３の例）個の乱数Z(1, y)（y=1,2,3）（例えばビット長128bit）に分割する（ステップＳ１３２）。次に、共通鍵復元部１１４ｄの共通鍵復号化部１１４ｄｃに、乱数Z(1, y) （y=1,2,3）及び暗号文SE(Z(1, 1), KA), SE(Z(1, 2), KB), SE(Z(1, 3), KC)が入力される。共通鍵復号化部１１４ｄｃは、乱数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とを算出する（ステップＳ１３３〜Ｓ１３５）。そして、共通鍵復元部１１４ｄは、共通鍵KA, KB, KCを出力する（ステップＳ１３６）。
【００９３】
以上のように、本形態の鍵秘匿化部１１４ｃでは、公開鍵暗号方式による１回の暗号化処理と、共通鍵暗号化方式による３回の暗号化処理により、秘密鍵SK(1)を用いて復号可能な各秘密鍵KA, KB, KCの暗号文PE(PK(1), KA)，PE(PK(1), KB)，PE(PK(1), KC)が作成できる。これに必要な演算量は、公開鍵暗号方式による３回の暗号化処理によって各秘密鍵KA, KB, KCを暗号化する場合の演算量よりも小さい。このような演算量削減の効果は復号時にも得られる。
【００９４】
〔第４の実施形態〕
次に、本発明の第４の実施形態について説明する。本形態も第２の実施形態の変形例である。暗号化部１１４ｅ及び復号化部１１４ｆの処理を工夫して安全性を向上させた点と、それらの処理に使用する乱数を暗号文認証子の生成に流用し、演算量の増加を抑制しつつ暗号文認証子の安全性を向上させた点とが、第２の実施形態と相違する。以下では、第２の実施形態との相違点のみを説明する。
【００９５】
＜本形態の書き込み過程＞
図３３は、本形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。なお、ここでは、ＰＣ１１０−１がＵＳＢメモリ１２０に暗号文を書き込む例を示す。
ＰＣ１１０−１にＵＳＢメモリ１２０が装着・マウントされているものとする。まず、ＰＣ１１０−１のアプリケーション実行部１４ｈが、セクタ番号se（１セクタ＝512byte）を指定して平文M(1)の暗号文のＵＳＢメモリ１２０への書き込み要求を制御部１４ｉに行う。これをトリガとして、第２の実施形態のステップＳ７１，７２（図２７）と同じ処理が実行される。
次に、暗号化部１１４ｅに、共通鍵KAと指定されたセクタ番号seと平文M(1)とが入力され、暗号化部１１４ｅは、共通鍵KAを用いて平文M(1)を暗号化した暗号文SE(KA, M(1))を生成し、乱数E(1)と暗号文SE(KA, M(1))とを出力する。以下に暗号化部１１４ｅの詳細を説明する。
【００９６】
［本形態の暗号化部１１４ｅの詳細］
図３５（ａ）は、本形態の暗号化部１１４ｅの詳細を示すブロック図である。また、図３６（ａ）は、本形態の暗号化処理を説明するためのフローチャートである。
まず、暗号化部１１４ｅのブロック分割部１１４ｅａが、入力された平文M(1)をＸ（X≧2）個（例えばX=32）のブロックMB(p, x)（x=1,...,X）に分割する（ステップＳ１４１）。各ブロックMB(p, x)はブロック暗号化部１１４ｅｄに送られ、ブロック番号xは関数演算部１１４ｅｃに送られる。
【００９７】
また、暗号化部１１４ｅの乱数生成部１１４ｅｂが、平文M(1)毎に乱数E(1)を生成して出力する（ステップＳ１４２）。次に、暗号化部１１４ｅの関数演算部１１４ｅｃに、平文M(1)の暗号文を格納するＵＳＢメモリ１２０の記憶部２２のセクタ番号seと乱数E(1)とブロック番号xとが入力され、関数演算部１１４ｅｃは、これらを所定の関数πに代入した関数値IV=π(x, Ｅ(1), se)をブロック番号x毎に算出する（例えば、x, Ｅ(1), seのビット連結をIVとする）（ステップＳ１４３）。
【００９８】
また、暗号化部１１４ｅのブロック暗号化部１１４ｅｄには、関数値IVとブロックMB(1, x)と共通鍵KAとが入力される。ブロック暗号化部１１４ｅｄは、共通鍵KAを用い、関数値IVを初期ベクトルとしたブロック暗号方式（カウンタモード等）により、各ブロックMB(1, x)を暗号化する。そして、ブロック暗号化部１１４ｅｄは、算出した全ブロックMB(1, x)の暗号文から暗号文SE(KA, M(1))を生成して（例えば、全ブロックMB(1, x)の暗号文のビット連結値を暗号文SE(KA, M(1))として）出力する（ステップＳ１４４）。
生成された暗号文SE(KA, M(1))は乱数E(1)とともに暗号文認証子生成部１１４ｎに送られ、暗号文認証子生成部１１４ｎは、少なくとも共通鍵KBと暗号文SE(KA, M(1))と乱数E(1)とを用いて暗号文SE(KA, M(1))の暗号文認証子AU(KB, E(1), SE(KA, M(1)))を生成する。
【００９９】
以上のように生成された暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))と乱数E(1)とアプリケーション実行部１４ｈから送られたセクタ番号seとは、外部書き込み部１１ａによって、ＵＳＢメモリ１２０のインタフェース部２１に送られる。インタフェース部２１は、セクタ番号seによって特定される記憶部２２の領域２２ｃのセクタに、暗号文SE(KA, M(1))とその暗号文認証子AU(KB, SE(KA, M(1)))と乱数E(1)とを格納する（ステップＳ１４５）（［本形態の暗号化部１１４ｅの詳細］の説明終わり）。
【０１００】
＜本形態の読み込み過程＞
図３４は、本形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。なお、ここでは、ＰＣ１１０−２がＵＳＢメモリ１２０から暗号文を読み込んで復号する例を示す。
まず、ＰＣ１１０−２にＵＳＢメモリ１２０が装着・マウントされる。そして、ＰＣ１１０−２のアプリケーション実行部１４ｈが、セクタ番号seを指定し、ＵＳＢメモリ１２０からの暗号文の読み込みとその復号とを制御部１４ｉに要求する。これをトリガに、まず、ＰＣ１１０−２の外部読み込み部１１ｂが、上記のセクタ番号seを指定し、ＵＳＢメモリ１２０の記憶部２２の領域２２ｃから、暗号文SE(KA, M(1))と暗号文認証子AU(KB, E(1), SE(KA, M(1)))と乱数E(1)とを読み込み、さらに、領域２２ｂから暗号文PE(PK(2), KA), PE(PK(2), KB)を読み込む。
【０１０１】
次に、ＰＣ１１０−２の内部読み込み部１２ｂ（図２０（ａ））が、記憶部１３から秘密鍵SK(2)を読み込む。そして、ＰＣ１１０−２の共通鍵復元部１１４ｄが、当該秘密鍵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))〕を抽出する。
【０１０２】
その後、ＰＣ１１０−２の暗号文検証部１１４ｐに、共通鍵KBと暗号文SE(KA, M(1))と暗号文認証子AU(KB, E(1), SE(KA, M(1)))と乱数E(1)とセクタ番号seとが入力され、暗号文検証部１１４ｐは、これらを用い、暗号文SE(KA, M(1))が正当なものであるか否かを検証する。暗号文SE(KA, M(1))が正当であれば、ＰＣ１１０−２の復号化部１１４ｆが、共通鍵KAと乱数E(1)とセクタ番号seとを用いて暗号文SE(KA, M(1))を復号して平文M(1)〔M(1)=SD(KA, SE(KA, M(1))〕を抽出する。以下、本形態の復号化部１１４ｆの詳細を説明する。
【０１０３】
［本形態の復号化部１１４ｆの詳細］
図３５（ｂ）は、本形態の復号化部１１４ｆの詳細を示すブロック図である。また、図３６（ｂ）は、本形態の復号化処理を説明するためのフローチャートである。
まず、復号化部１１４ｆのブロック分割部１１４ｆａが、暗号文SE(KA, M(1))をＸ（X≧2）個（例えばX=32）のブロックSEB(KA, M(1), x)（x=1,...,X）に分割する（ステップＳ１５１）。この処理は、図３５（ａ）のブロック暗号化部１１４ｅｄが全ブロックMB(1, x)の暗号文から暗号文SE(KA, M(1))を生成する処理の逆処理である。各ブロックSEB(KA, M(1), x)はブロック復号化部１１４ｆｄに送られ、ブロック番号xは関数演算部１１４ｆｃに送られる。
【０１０４】
次に、復号化部１１４ｆの関数演算部１１４ｆｃにセクタ番号seと乱数E(1)とブロック番号xとが入力され、関数演算部１１４ｆｃは、これらを所定の関数πに代入した関数値IV=π(x, Ｅ(1), se)をブロック番号x毎に算出する（例えば、x, Ｅ(1), seのビット連結をIVとする）（ステップＳ１５２）。
【０１０５】
また、暗号化部１１４ｅのブロック復号化部１１４ｆｄには、関数値IVとブロックSEB(KA, M(1), x)と共通鍵KAとが入力される。ブロック復号化部１１４ｆｄは、共通鍵KAを用い、関数値IVを初期ベクトルとしたブロック復号方式（カウンタモード等）により、ブロックSEB(KA, M(1), x)を復号化して各ブロックMB(1, x)を抽出する。なお、この処理は図３５（ａ）のブロック暗号化部１１４ｅｄの処理の逆処理である。そして、ブロック復号化部１１４ｆｄ、算出した全ブロックMB(1, x)から平文M(1)を生成して出力する（ステップＳ１５３）。出力された平文M(1)は、ＰＣ１１０−２のアプリケーション実行部１４ｈに送られる（［本形態の復号化部１１４ｆの詳細］の説明終わり）。
【０１０６】
上述した本形態の暗号化部１１４ｅ及び復号化部１１４ｆは［削除過程］においても同様に実行されるが、ここでは説明を省略する。また、暗号化部１１４ｅ及び復号化部１１４ｆの暗号化処理や復号化処理にセクタ番号seを用いない構成であってもよいし、関数値IVを生成するためにさらに他の情報を用いる構成であってもよい。
【０１０７】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、第１の実施形態では、特定のＰＣを登録から削除する削除過程において共通鍵を再生成し、ＵＳＢメモリの情報を書き換えることとしたが、特定のＰＣを登録から削除することなく共通鍵を再生成し、ＵＳＢメモリの情報を書き換える処理を行ってもよい。このような処理は、例えば、共通鍵が第三者に漏えいした場合等に有効である。
【０１０８】
また、各情報処理装置は必ずしも１つの筐体内に構成される必要はない。例えば、公開鍵と秘密鍵との鍵ペアを生成する鍵ペア生成部とその他の構成部とを別の筐体に構成してもよく、複数の情報処理装置の鍵ペア生成部を１つの筐体にまとめて構成してもよい。この場合、複数の情報処理装置が１つの鍵ペア生成部を相互に共用する構成であってもよい。
【０１０９】
また、上述の各実施形態では、情報処理装置の一例としてパーソナルコンピュータを例示し、情報記録媒体の一例としてＵＳＢメモリを例示した。しかし、本発明はこれらに限定されるものではない。例えば、情報処理装置として、携帯電話機、携帯情報端末（ＰＤＡ）等を用いてもよい。また、情報記録媒体として、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）、ＭＯ（Magneto-Optical disc）等を用いてもよいし、ハードディスク装置等の非可搬型の記録媒体を用いてもよい。さらには、情報記録媒体として、携帯電話機、携帯情報端末（ＰＤＡ）、パーソナルコンピュータ等の計算装置を具備する装置のメモリを用いてもよい。
【０１１０】
図３７は、非可搬型の記録媒体を情報記録媒体とした情報記録媒体共用システム２０１を例示した概念図である。
図３７の例は、サーバ装置２２０が具備するハードディスク装置２２１を情報記録媒体とした例である。サーバ装置２２０と前述した複数のＰＣ１０−１〜ｎとは通信可能に接続されており、各ＰＣ１０−ｉの外部書き込み部１１ａ（図２（ａ））は、各種のデータをハードディスク装置２２１に書き込み可能に構成されており、各ＰＣ１０−ｉの外部読み込み部１１ｂは、ハードディスク装置２２１から各種のデータの読み込みが可能に構成されている。なお、サーバ装置２２１とＰＣ１０−１〜ｎとは、ローカルネットワークを通じて接続されていてもよいし、グローバルネットワークを通じて接続されていてもよい。そして、情報記録媒体としてＵＳＢメモリ２０やＵＳＢメモリ１２０ではなく、ハードディスク装置２２１を用い、前述の各実施形態と同様な処理を実行する。その他の構成及び処理は前述の各実施形態と同様である。
【０１１１】
また、複数の情報記録媒体を用い、情報記録媒体に格納される情報を分散して格納してもよい。
図３８は、複数の情報記録媒体を用いた情報記録媒体共用システム３０１を例示した概念図である。また、図３９は、図３８のＵＳＢメモリ３２０，３３０を例示したブロック図である。
図３８，図３９の例では、２つのＵＳＢメモリ３２０，３３０を情報記録媒体として本発明を実施する。図３９（ａ）に例示するように、ＵＳＢメモリ３２０，３３０は、ともに前述したＵＳＢメモリ２０と同様に構成される。しかし、ＵＳＢメモリ３２０の記憶部２２には、{ ID(1), PK(1), PE(PK(1), KA) }・・・{ ID(n), PK(n), PE(PK(n), KA) }及びセキュリティプログラムのみが格納され、{ SE(KA, M(1)) }・・・{ SE(KA, M(n)) }は格納されない。一方、ＵＳＢメモリ３３０の記憶部２２には、{ SE(KA, M(1)) }・・・{ SE(KA, M(n)) }のみが格納され、{ ID(1), PK(1), PE(PK(1), KA) }・・・{ ID(n), PK(n), PE(PK(n), KA) }及びセキュリティプログラムは格納されない。なお、各情報を格納する手順は前述した通りである。また、複数の情報記録媒体を用いた情報記録媒体共用システムを構成する場合、それらの情報記録媒体が相互に異なる記録媒体であってもよく、さらには、複数の情報記録媒体の一部を可搬型の情報記録媒体とし、他の情報記録媒体を非可搬型の記録媒体としてもよい。例えば、ＰＣに脱着可能なＵＳＢメモリと、ネットワークを通じて接続されたサーバ装置が具備するハードディスクとを情報記録媒体として本発明を実施してもよい。
【０１１２】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述のＰＣが実行する処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、上述したＵＳＢメモリの他、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１１３】
また、このプログラムの流通は、例えば、そのプログラムを記録したＵＳＢメモリ、ＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。
【０１１４】
なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【０１１５】
本発明の利用分野としては、例えば、ＵＳＢメモリに格納するデータの秘匿化等を例示できる。
【図面の簡単な説明】
【０１１６】
【図１】図１は、第１の実施形態の情報記録媒体共用システムの全体構成を例示した概念図である。
【図２】図２（ａ）は、第１の実施形態のＰＣの機能構成を例示したブロック図であり、図２（ｂ）は、本形態のＵＳＢメモリの機能構成を例示したブロック図である。
【図３】図３は、第１の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図４】図４は、第１の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図５】図５は、第１の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図６】図６は、第１の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図７】図７は、第１の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図８】図８は、第１の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図９】図９は、第１の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図１０】図１０は、第１の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図１１】図１１は、第１の実施形態の登録過程を説明するためのシーケンス図である。
【図１２】図１２は、第１の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図１３】図１３は、第１の実施形態の削除過程を説明するためのシーケンス図である。
【図１４】図１４は、第２の実施形態のＰＣの機能構成を例示したブロック図である。
【図１５】図１５は、第２の実施形態のＵＳＢメモリの機能構成を例示したブロック図である。
【図１６】図１６は、第２の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図１７】図１７は、第２の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図１８】図１８は、第２の実施形態の登録過程に関連する各機能ブロックとデータの流れとを示した図である。
【図１９】図１９は、第２の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図であり、
【図２０】図２０は、第２の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図２１】図２１は、第２の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図２２】図２２は、第２の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図２３】図２３は、第２の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図２４】図２４は、第２の実施形態の削除過程に関連する各機能ブロックとデータの流れとを示した図である。
【図２５】図２５は、第２の実施形態の登録過程を説明するためのシーケンス図である。
【図２６】図２６は、第２の実施形態の登録過程を説明するためのシーケンス図である。
【図２７】図２７は、第２の実施形態の書き込み過程及び読み込み過程を説明するためのシーケンス図である。
【図２８】図２８は、第２の実施形態の削除過程を説明するためのシーケンス図である。
【図２９】図２９は、第２の実施形態の削除過程を説明するためのシーケンス図である。
【図３０】図３０（ａ）は、第３の実施形態の鍵秘匿化部の構成を示したブロック図である。図３０（ｂ）は、第３の実施形態の共通鍵復元部の構成を示したブロック図である。
【図３１】図３１は、第３実施形態の鍵秘匿化処理を説明するためのフローチャートである。
【図３２】図３２は、第３実施形態の鍵復元処理を説明するためのフローチャートである。
【図３３】図３３は、第４の実施形態の書き込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図３４】図３４は、第４の実施形態の読み込み過程に関連する各機能ブロックとデータの流れとを示した図である。
【図３５】図３５（ａ）は、第４の実施形態の暗号化部の詳細を示すブロック図である。図３５（ｂ）は、本形態の復号化部の詳細を示すブロック図である。
【図３６】図３６（ａ）は、第４の実施形態の暗号化処理を説明するためのフローチャートである。図３６（ｂ）は、本形態の復号化処理を説明するためのフローチャートである。
【図３７】図３７は、非可搬型の記録媒体を情報記録媒体とした情報記録媒体共用システムを例示した概念図である。
【図３８】図３８は、複数の情報記録媒体を用いた情報記録媒体共用システムを例示した概念図である。
【図３９】図３９は、図３８の各情報記録媒体を例示したブロック図である。
【符号の説明】
【０１１７】
１，２００，３００  情報記録媒体共用システム
１０，１１０  ＰＣ（「情報処理装置」に相当）
２０，１２０  ＵＳＢメモリ（「情報記録媒体」に相当）
２２０  ハードディスク装置（「情報記録媒体」に相当）
【図１】
2008295008.tif 000003
【図２】
2008295008.tif 000004
【図３】
2008295008.tif 000005
【図４】
2008295008.tif 000006
【図５】
2008295008.tif 000007
【図６】
2008295008.tif 000008
【図７】
2008295008.tif 000009
【図８】
2008295008.tif 000010
【図９】
2008295008.tif 000011
【図１０】
2008295008.tif 000012
【図１１】
2008295008.tif 000013
【図１２】
2008295008.tif 000014
【図１３】
2008295008.tif 000015
【図１４】
2008295008.tif 000016
【図１５】
2008295008.tif 000017
【図１６】
2008295008.tif 000018
【図１７】
2008295008.tif 000019
【図１８】
2008295008.tif 000020
【図１９】
2008295008.tif 000021
【図２０】
2008295008.tif 000022
【図２１】
2008295008.tif 000023
【図２２】
2008295008.tif 000024
【図２３】
2008295008.tif 000025
【図２４】
2008295008.tif 000026
【図２５】
2008295008.tif 000027
【図２６】
2008295008.tif 000028
【図２７】
2008295008.tif 000029
【図２８】
2008295008.tif 000030
【図２９】
2008295008.tif 000031
【図３０】
2008295008.tif 000032
【図３１】
2008295008.tif 000033
【図３２】
2008295008.tif 000034
【図３３】
2008295008.tif 000035
【図３４】
2008295008.tif 000036
【図３５】
2008295008.tif 000037
【図３６】
2008295008.tif 000038
【図３７】
2008295008.tif 000039
【図３８】
2008295008.tif 000040
【図３９】
2008295008.tif 000041