(57)【要約】【課題】認証する装置と検証する装置とが相互に通信できない環境において、物の認証を実行する技術を提供する。【解決手段】記憶媒体１０の使用の可否を認証する認証システムであって、認証する装置（管理装置３０、図１（ａ））と検証する装置（検証装置２０、図１（ｂ））とが、相互に通信できない環境にある。この環境において、図１（ａ）に示すように、記憶媒体自身を識別するＩＤを記憶する記憶媒体１０ｃを管理装置３０に接続して、秘密鍵を用いた登録（認証）を実行する。そして、その登録（認証）処理によって、記憶媒体１０ｃに電子署名が記憶され記憶媒体１０ｄを作成する。次に、記憶媒体１０ｄを検証装置２０に接続したときに、公開鍵を用いた検証処理が実行される。そして、その記憶媒体１０ｄの正当性の判定が実行される。【選択図】 図１
2011004317.tif 000002
【特許請求の範囲】
【請求項１】
対象物(10)を認定する認定装置(30)と、対象物が前記認定された対象物であるか否かを第１の公開鍵(2321)を用いて検証する検証装置(20)とを備える認証システムであって、
前記認定装置(30)は、
前記第１の公開鍵(2321)に対応する第１の秘密鍵(3321)を記憶する記憶部(33)と、
前記対象物(10)に書き込まれた情報を読み取るとともに、前記対象物(10)に情報を書き込むインタフェース部(31)と、
前記対象物(10)に書き込まれた識別情報(1331)を、前記インタフェース部(31)を介して読み取る読み取り処理、
前記対象物(10)から読み取った識別情報(1331)を、署名作成用の中間情報に変換する変換処理、
前記変換した中間情報に、前記記憶部(33)に記憶された第１の秘密鍵(3321)を適用して第１の署名(1341)を作成する署名作成処理、および、
前記インタフェース部(31)を介して、前記作成した第１の署名(1341)を前記対象物(10)に書き込む書き込み処理を実行する処理部(32)と
を備え、
前記検証装置(20)は、
前記第１の秘密鍵(3321)に対応する前記第１の公開鍵(2321)を記憶する記憶部(23)と、
前記対象物(10)に書き込まれた情報を読み取るインタフェース部(21)と、
前記インタフェース部(21)を介して、前記対象物(10)に書き込まれた前記識別情報(1331)および前記第１の署名(1341)を、同時にまたは別々に読み取る読み取り処理、
前記認定装置(30)と同じ変換の処理を適用して、前記対象物(10)から読み取った識別情報(1331)を、前記中間情報に変換する変換処理、および、
前記記憶部(23)に記憶されている第１の公開鍵(2321)と、前記インタフェース部(21)を介して前記対象物(10)から読み取った第１の署名(1341)と、前記変換した中間情報とを用いて、前記対象物の正当性を検証する検証処理を実行する処理部(22)と
を備える
ことを特徴とする認証システム。
【請求項２】
対象物(10)を認定する認定装置(30)と、対象物が前記認定された対象物であるか否かを第１の公開鍵(2321)を用いて検証する検証装置(20)とを備える認証システムであって、
前記認定装置(30)は、
前記第１の公開鍵(2321)に対応する第１の秘密鍵(3321)と、前記第１の公開鍵と異なる第２の公開鍵(1344)と、前記第２の公開鍵(1344)に対応する第２の秘密鍵(1343)とを記憶する記憶部(33)と、
前記対象物(10)に書き込まれた情報を読み取るとともに、前記対象物(10)に情報を書き込むインタフェース部(31)と、
前記対象物(10)に書き込まれた識別情報(1331)を、前記インタフェース部(31)を介して読み取る読み取り処理、
前記対象物(10)から読み取った識別情報(1331)と前記記憶部(33)に記憶された前記第２の公開鍵(1344)との組を、署名作成用の中間情報に変換する変換処理、
前記変換した中間情報に、前記記憶部(33)に記憶された第１の秘密鍵(3321)を適用して第１の署名(1341)を作成する署名作成処理、および、
前記インタフェース部(31)を介して、前記作成した第１の署名(1341)と前記第２の公開鍵(1344)と前記第２の秘密鍵(1343)とを前記対象物(10)に書き込む書き込み処理を実行する処理部(32)と
を備え、
前記検証装置(20)は、
前記第１の秘密鍵(3321)に対応する前記第１の公開鍵(2321)を記憶する記憶部(23)と、
前記対象物(10)に書き込まれた情報を読み取るインタフェース部(21)と、
前記インタフェース部(21)を介して、前記対象物(10)に書き込まれた前記識別情報(1331)、前記第１の署名(1341)、および前記第２の公開鍵を、同時にまたは別々に読み取る読み取り処理、
前記認定装置(30)と同じ変換の処理を適用して、前記対象物(10)から読み取った識別情報(1331)と前記第２の公開鍵(1344)との組を、前記中間情報に変換する変換処理、および、
前記記憶部(23)に記憶されている第１の公開鍵(2321)と、前記インタフェース部(21)を介して前記対象物(10)から読み取った第１の署名(1341)と、前記変換した中間情報とを用いて、前記対象物の正当性を検証する検証処理を実行する処理部(22)と
を備える
ことを特徴とする認証システム。
【請求項３】
前記対象物(10)は、
少なくとも前記識別情報(1331)が記憶されている記憶部(13)と、情報の読み書きを行うインタフェース部(11)と、情報を処理する処理部(12)とを備え、
前記検証装置のインタフェース部(21)は、さらに前記対象物(10)に情報を書き込み可能であり、
前記検証装置の処理部(22)は、さらに前記検証処理の結果に基づいて、前記対象物(10)が正当であると判定した場合、ユニークな情報を作成し、前記インタフェース部(31)を介して、前記作成したユニークな情報を前記対象物(10)に書き込む処理を実行し、
前記対象物(10)の処理部(12)は、前記検証装置(20)から書き込まれたユニークな情報を、署名作成用の第２の中間情報に変換し、前記変換した第２の中間情報に、前記認定装置(30)から書き込まれた第２の秘密鍵(1343)を適用して第２の署名を作成する処理を実行し、
前記検証装置(20)の処理部(22)は、前記検証処理として、前記インタフェース部(21)を介して前記対象物(10)から読み取った前記第２の公開鍵、前記第２の署名、および前記ユニークな情報を用いて、前記対象物の正当性をさらに検証する
ことを特徴とする請求項２に記載の認証システム。
【請求項４】
対象物(10)を認定する認定装置(30)と、対象物が前記認定された対象物であるか否かを第１の公開鍵(2321)を用いて検証する検証装置(20)とを備える認証システムであって、
前記認定装置(30)は、
使用できない前記対象物(10)の識別情報(1331)の入力を受け付ける入力部と、
前記第１の公開鍵(2321)に対応する第１の秘密鍵(3321)を記憶する記憶部(33)と、
前記対象物(10)に情報を書き込むインタフェース部(31)と、
前記入力部を介して取得した前記使用できない前記対象物(10)の識別情報(1331)を格納する失効リスト(3323)を作成する失効リスト作成処理、
前記作成した失効リスト(3323)を前記署名作成用の第３の中間情報に変換する変換処理、
前記変換した第３の中間情報に前記記憶部(33)に記憶された第１の秘密鍵(3321)を適用して第３の署名(1346)を作成する署名作成処理、
前記失効リスト(3323)と前記第３の署名(1346)との組から前記対象物(10)に書き込む中間リスト(1345)を作成する中間リスト作成処理、および、
前記インタフェース部(31)を介して、前記作成した中間リスト(1345)を前記対象物(10)に書き込む書き込み処理を実行する処理部(32)と
を備え、
前記検証装置(20)は、
前記第１の秘密鍵(3321)に対応する前記第１の公開鍵(2321)を記憶する記憶部(23)と、
前記対象物(10)に書き込まれた情報を読み取るインタフェース部(21)と、
前記インタフェース部(21)を介して、前記対象物(10)に書き込まれた前記中間リスト(1345)を読み取る読み取り処理、
前記認定装置(30)と同じ変換の処理を適用して、前記インタフェース部(21)を介して前記対象物(10)から読み取った前記中間リスト(1345)を署名作成用の第３の中間情報に変換する変換処理、
当該第３の中間情報と、前記インタフェース部(21)を介して前記対象物(10)から読み取った前記中間リスト(1345)と、前記記憶部(23)に記憶された第１の公開鍵(2321)とを用いて、前記対象物の正当性を検証する検証処理、および、
前記対象物(10)が正当であると判定した場合、前記中間リスト(1345)に基づいて、前記記憶部(23)に既に記憶している失効リスト(2323)を更新する更新処理を実行する処理部(22)と
を備える
ことを特徴とする記載の認証システム。
【請求項５】
前記認定装置(30)のインタフェース部(31)は、さらに、前記対象物(10)に書き込まれた情報を読み取り可能であり、
前記認定装置(30)の処理部(32)は、さらに、前記対象物(10)に書き込まれた識別情報(1331)を前記インタフェース部(31)を介して読み取り、前記対象物(10)から読み取った識別情報(1331)を署名作成用の中間情報に変換し、前記変換した中間情報に前記記憶部(33)に記憶された第１の秘密鍵(3321)を適用して第１の署名(1341)を作成し、前記インタフェース部(31)を介して前記作成した第１の署名(1341)を前記対象物(10)に書き込む処理を実行し、
前記検証装置(20)の処理部(22)は、さらに、前記インタフェース部(21)を介して、前記対象物(10)に書き込まれた前記識別情報(1331)および前記第１の署名(1341)を、同時にまたは別々に読み取り、前記インタフェース部(21)を介して前記対象物(10)から読み取った前記識別情報(1331)と前記記憶部(23)に記憶している失効リスト(2323)とを用いて、当該識別情報(1331)が当該失効リスト(2323)に含まれるか否かを判定し、当該識別情報(1331)が当該失効リスト(2323)に含まれないと判定した場合、前記署名作成用の第１の中間情報と、前記第１の署名(1341)と、前記第１の公開鍵(2321)とを用いて、当該対象物の正当性を判定する
ことを特徴とする請求項４に記載の認証システム。
【請求項６】
前記検証装置(20)の処理部(22)は、
前記検証処理の結果に基づいて、前記対象物が正当であると判定した場合、前記インタフェース部(21)を介する前記対象物への読み書きを可能とし、前記記憶媒体が正当でないと判定した場合、前記インタフェース部(21)を介する前記対象物への読み書きを不可とする
ことを特徴とする請求項１ないし請求項５のいずれか一項に記載の認証システム。
【請求項７】
請求項３に記載の認証システムにおいて、前記対象物に適用され、前記認定装置および前記検証装置に読み書きされる記憶媒体であって、
少なくとも前記識別情報(1331)が記憶されている前記記憶部(13)と、情報の読み書きを行う前記インタフェース部(11)と、情報を処理する前記処理部(12)とを備え、
前記記憶媒体の処理部(12)は、前記検証装置(20)から書き込まれたユニークな情報を、署名作成用の第２の中間情報に変換し、前記変換した第２の中間情報に、前記認定装置(30)から書き込まれた第２の秘密鍵(1343)を適用して第２の署名を作成する処理を実行する
ことを特徴とする記憶媒体。
【請求項８】
請求項４に記載の認証システムにおいて用いられる認定装置であって、
使用できない前記対象物(10)の識別情報(1331)の入力を受け付ける入力部と、
前記第１の公開鍵(2321)に対応する第１の秘密鍵(3321)を記憶する記憶部(33)と、
前記対象物(10)に情報を書き込むインタフェース部(31)と、処理部(32)とを備え、
前記処理部(32)は、前記入力部を介して取得した前記使用できない前記対象物(10)の識別情報(1331)を格納する失効リスト(3323)を作成する失効リスト作成処理、
前記作成した失効リスト(3323)を前記署名作成用の第３の中間情報に変換する変換処理、
前記変換した第３の中間情報に前記記憶部(33)に記憶された第１の秘密鍵(3321)を適用して第３の署名(1346)を作成する署名作成処理、
前記失効リスト(3323)と前記第３の署名(1346)との組から前記対象物(10)に書き込む中間リスト(1345)を作成する中間リスト作成処理、および、
前記インタフェース部(31)を介して、前記作成した中間リスト(1345)を前記対象物(10)に書き込む書き込み処理を実行する
ことを特徴とする認定装置。
【請求項９】
前記インタフェース部(31)は、さらに、前記対象物(10)に書き込まれた情報を読み取り可能であり、
前記処理部(32)は、さらに、前記対象物(10)に書き込まれた識別情報(1331)を前記インタフェース部(31)を介して読み取り、前記対象物(10)から読み取った識別情報(1331)を署名作成用の中間情報に変換し、前記変換した中間情報に前記記憶部(33)に記憶された第１の秘密鍵(3321)を適用して第１の署名(1341)を作成し、前記インタフェース部(31)を介して前記作成した第１の署名(1341)を前記対象物(10)に書き込む処理を実行する
ことを特徴とする請求項８に記載の認定装置。
【請求項１０】
請求項４に記載の認証システムにおいて用いられる検証装置であって、
前記第１の秘密鍵(3321)に対応する前記第１の公開鍵(2321)を記憶する記憶部(23)と、
前記対象物(10)に書き込まれた情報を読み取るインタフェース部(21)と、処理部(21)とを備え、
前記処理部(21)は、前記インタフェース部(21)を介して、前記対象物(10)に書き込まれた前記中間リスト(1345)を読み取る読み取り処理、
前記認定装置(30)と同じ変換の処理を適用して、前記インタフェース部(21)を介して前記対象物(10)から読み取った前記中間リスト(1345)を署名作成用の第３の中間情報に変換する変換処理、
当該第３の中間情報と、前記インタフェース部(21)を介して前記対象物(10)から読み取った前記中間リスト(1345)と、前記記憶部(23)に記憶された第１の公開鍵(2321)とを用いて、前記対象物の正当性を検証する検証処理、および、
前記対象物(10)が正当であると判定した場合、前記中間リスト(1345)に基づいて、前記記憶部(23)に既に記憶している失効リスト(2323)を更新する更新処理を実行する
ことを特徴とする検証装置。
【請求項１１】
前記処理部(22)は、さらに、前記インタフェース部(21)を介して、前記対象物(10)に書き込まれた前記識別情報(1331)および前記第１の署名(1341)を、同時にまたは別々に読み取り、前記インタフェース部(21)を介して前記対象物(10)から読み取った前記識別情報(1331)と前記記憶部(23)に記憶している失効リスト(2323)とを用いて、当該識別情報(1331)が当該失効リスト(2323)に含まれるか否かを判定し、当該識別情報(1331)が当該失効リスト(2323)に含まれないと判定した場合、前記署名作成用の第１の中間情報と、前記第１の署名(1341)と、前記第１の公開鍵(2321)とを用いて、当該対象物の正当性を判定する
ことを特徴とする請求項１０に記載の検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物の正当性を認証する技術に関する。
【背景技術】
【０００２】
物の正当性を認証する技術として、暗号鍵を用いる方法が知られている。例えば、特許文献１には、管理サーバが、記憶媒体（例えば、ＵＳＢ（Universal Serial Bus）メモリ）に記憶されるデータの暗号化およびその復号化に用いる暗号鍵を管理し、記憶媒体が情報処理装置（例えば、ＰＣ（Personal Computer））に接続されて使用されるシステムが記載されている。このシステムでは、管理サーバと情報処理装置とが通信可能に接続されていて、記憶媒体が情報処理装置に接続されたときに、管理サーバから情報処理装置に送信される暗号鍵に基づいて、記憶媒体の正当性が調べられる。すなわち、特許文献１では、情報処理装置と管理サーバとがネットワークで接続されている環境を前提とした、物（記憶媒体）の正当性を認証するための技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９７９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、記憶媒体を接続して使用する情報処理装置と、暗号鍵を管理する管理サーバとの間で認証に係る情報を送受信できないケースでは、特許文献１に記載の技術は使用できない。そこで、本発明は、物を認定する管理装置（認定装置）と、その物が認定された物であるか否かを検証する検証装置とが相互に通信できない環境において、物の正当性を認証する技術を提供することを課題とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するために、本発明は、物と、秘密鍵を用いてその物を認定する管理装置（認定装置）と、公開鍵を用いてその物が認定された物であるか否かを検証する検証装置とを用いて物の正当性を判定する認証システムであって、検証装置と相互に通信しない管理装置（認定装置）が、前記物に記録されている識別情報を読み取って、当該識別情報を署名作成用の中間情報に変換し、その署名作成用の中間情報と自身の記憶する秘密鍵とを用いて電子署名を作成し、その電子署名を前記物に書き込み、管理装置（認定装置）と相互に通信しない検証装置が、物に記録されている電子署名および識別情報を読み取って、管理装置（認定装置）の場合と同様に当該識別情報を署名作成用の中間情報に変換し、当該署名作成用の中間情報と電子署名と自身の記憶する公開鍵とを用いて、物の正当性を判定することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、認定する装置と検証する装置とが相互に通信できない環境において、物の認証を実行する技術を提供することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態の概要について、（ａ）は登録（認定）時を示す図であり、（ｂ）は検証時および記憶媒体使用時を示す図である。
【図２】本実施形態における認証システムの構成例を示す図である。
【図３】第１実施形態における認証システムを構成する各装置の内部の機能の一例を示す図であり、（ａ）は記憶媒体の機能を示す図、（ｂ）は検証装置の機能を示す図、（ｃ）は管理装置の機能を示す図である。
【図４】第１実施形態の管理装置における記憶媒体の登録（認定）について処理の流れの一例を示す図である。
【図５】第１実施形態の検証装置における記憶媒体の検証について処理の流れの一例を示す図である。
【図６】第２実施形態における認証システムを構成する各装置の内部の機能の一例を示す図であり、（ａ）は記憶媒体の機能を示す図、（ｂ）は検証装置の機能を示す図、（ｃ）は管理装置の機能を示す図である。
【図７】第２実施形態の管理装置における記憶媒体の登録（認定）について処理の流れの一例を示す図である。
【図８】第２実施形態の検証装置における記憶媒体の検証について処理の流れの一例を示す図である。
【図９】第２実施形態の記憶媒体における電子署名の作成について処理の流れの一例を示す図である。
【図１０】第３実施形態における認証システムを構成する各装置の内部の機能の一例を示す図であり、（ａ）は記憶媒体の機能を示す図、（ｂ）は検証装置の機能を示す図、（ｃ）は管理装置の機能を示す図である。
【図１１】第３実施形態の管理装置における失効リストの作成について処理の流れの一例を示す図である。
【図１２】第３実施形態の検証装置における失効リストの更新について処理の流れの一例を示す図である。
【図１３】第３実施形態の検証装置における記憶媒体の検証について処理の流れの一例を示す図である。
【発明を実施するための形態】
【０００８】
次に、本発明を実施するための形態（以降、「本実施形態」と称す）について、ＵＳＢメモリ等の記憶媒体の認証を例に採り、適宜図面を参照しながら詳細に説明する。
【０００９】
≪概要≫
本実施形態における認証処理の概要について、図１を用いて説明する。図１（ａ）は、記憶媒体１０ｃ（１０）の登録（認定）を、管理装置３０を用いて行う場合を示している。なお、管理装置３０は、秘密鍵を記憶しており、例えば、図１（ｂ）に示す検証装置２０とは通信できないネットワークに接続されているか、または、スタンドアロンで動作しているＰＣである。記憶媒体１０は、記憶部を備え、例えば、ＵＳＢメモリであり、個体を識別するＩＤ（Identification）（識別情報）を記録している。記憶媒体１０が管理装置３０と通信可能に接続されると、管理装置３０は、記憶媒体１０から、ＩＤを読み取って、そのＩＤを署名作成用に変換した中間情報と自身の記憶している秘密鍵とを用いて、電子署名を作成する。そして、管理装置３０は、電子署名を記憶媒体１０に記録する。なお、認定済みの電子署名を記録した記憶媒体１０を記憶媒体１０ｄと表記し、認定されていない記憶媒体１０を記憶媒体１０ｃと表記する。また、両者１０ｃ，１０ｄを統括表現するときは、記憶媒体１０と表記する。
【００１０】
次に、図１（ｂ）は、記憶媒体１０ｄの検証および記憶媒体の使用（なお、「使用」については、利用例１，２，・・として、その例を後記する）を、検証装置２０を用いて行う場合を示している。検証装置２０は、管理装置３０が記憶している秘密鍵とペアとなる公開鍵を記憶しており、例えば、図１（ａ）に示す管理装置３０とは通信できないネットワークに接続されているか、または、スタンドアロンで動作しているＰＣである。記憶媒体１０ｄが検証装置２０と通信可能に接続されると、検証装置２０は、記憶媒体１０ｄからＩＤと電子署名とを読み取る。次に、検証装置２０は、該ＩＤ（またはＩＤを変換したデータ）と電子署名と公開鍵とを用いて、電子署名の検証成功／検証失敗を判定する。そして、検証成功の場合は、図１（ｂ）の（ｂ−１）に示すように、記憶媒体１０ｄと検証装置２０との間はアクセス可となり、データの送受信が可能となる。また、検証失敗の場合は、図１（ｂ）の（ｂ−２）に示すように、記憶媒体１０ｄと検証装置２０との間はアクセス不可とし、データの送受信を不可能にしてもよい。
【００１１】
前記したように、本実施形態では、管理装置３０と検証装置２０とは、相互に通信できない環境において、記憶媒体１０の正当性を判定することが可能である。なお、記憶媒体１０は、記憶部を備えていない物体であっても良く、その場合には、識別情報および電子署名を１次元コードのバーコードや２次元コードのＱＲ（Quick Response）コード（登録商標）等の決められた形式の印刷またはシールとして付されていても構わない。
【００１２】
≪認証システム≫
図２を用いて、本実施形態における認証システム１の構成例について説明する。認証システム１は、記憶媒体１０、検証装置２０、および管理装置３０を含む。なお、図２では、記憶媒体１０、検証装置２０、および管理装置３０は各１台しか記載していないが、２台以上であっても構わない。
【００１３】
検証装置２０および管理装置３０は、相互に情報を送受信しない。記憶媒体１０は、管理装置３０または検証装置２０との間で、データの送受信を行う。このデータの送受信は、電磁波、赤外線、可視光や音声等の通信、電気や電子的な通信、圧力等の力学的な手段を用いて行われるものとする。また、その通信は有線または無線のどちらであっても構わない。なお、この例では、検証装置２０および管理装置３０は、図示しないディスプレイ等の出力装置や、キーボードやマウス等の入力装置を備えているものとする。
【００１４】
（第１実施形態）
次に、第１実施形態における、記憶媒体１０、検証装置２０、および管理装置３０の主な機能について、図３を用いて説明する。記憶媒体１０は、図３（ａ）に示すように、入出力インタフェース１１およびメモリユニット１３を含む。入出力インタフェース１１は、他の装置の入出力インタフェースとの間で、データの送受信を司る。メモリユニット１３は、不揮発性メモリ１３２を備え、その不揮発性メモリ１３２は、リードオンリメモリ１３３およびリードライトメモリ１３４で構成される。リードオンリメモリ１３３は、読出専用であり、予め個体を識別するＩＤ１３３１を記憶する。リードライトメモリ１３４は、データの読込みおよび書出しが可能であり、ＭＤ１電子署名１３４１（概要において前記した電子署名）を記憶する。なお、「ＭＤ」は管理装置を意味する、Management Deviceの略である。
【００１５】
なお、ＩＤ１３３１の例として、デバイスインスタンスＩＤやＭＡＣ（Media Access Control）アドレス等の、個体ごとに一意に定まる識別情報が挙げられる。またリードライトメモリ１３４には、ＭＤ１電子署名１３４１に関連付けられて、検証時に使用する暗号ハッシュ関数または復号化関数、および各種演算の手順等の属性情報１３４２が記憶されても構わない。この属性情報１３４２は、検証時に使用する暗号ハッシュ関数または復号化関数、および各種演算の手順を、記憶媒体１０に記憶されているものに変更する場合に用いられる。
【００１６】
検証装置２０は、図３（ｂ）に示すように、入出力インタフェース２１、処理部２２、およびメモリユニット２３を含む。入出力インタフェース２１は、他の装置の入出力インタフェースとの間で、データの送受信を司る。処理部２２は、図示しないＣＰＵ（Central Processing Unit）であり、アプリケーションプログラム（検証プログラム２３２２）を図示しないメインメモリに展開して、それを実行することにより所望の演算を実現する。メモリユニット２３は、演算中の一時データを格納する揮発性メモリ２３１と、ＭＤ公開鍵２３２１（概要において前記した公開鍵）および検証プログラム２３２２を記憶する不揮発性メモリ２３２とによって構成される。
【００１７】
管理装置３０は、図３（ｃ）に示すように、入出力インタフェース３１、処理部３２、およびメモリユニット３３を含む。入出力インタフェース３１は、他の装置の入出力インタフェースとの間で、データの送受信を司る。処理部３２は、図示しないＣＰＵであり、アプリケーションプログラム（登録プログラム３３２２）を図示しないメインメモリに展開して、それを実行することにより所望の演算を実現する。メモリユニット３３は、演算中の一時データを格納する揮発性メモリ３３１と、前記したＭＤ公開鍵２３２１とペアになるＭＤ秘密鍵３３２１（概要において前記した秘密鍵）および登録プログラム３３２２とを記憶する不揮発性メモリ３３２とによって構成される。
【００１８】
次に、第１実施形態における処理の流れについて以下に、図４、図５を用いて説明する。図４は、記憶媒体の登録（認定）の処理の流れを示し、図５は、記憶媒体の検証の処理の流れを示す。
【００１９】
＜第１実施形態の管理装置における記憶媒体の登録（認定）＞
ユーザが記憶媒体１０を使用するためには、管理装置３０によって、その記憶媒体１０に電子署名が登録（認定）される必要がある。図４は、その処理の流れの一例を示している（適宜図３参照）。ステップＳ４０１では、管理装置３０は、管理装置３０の入出力インタフェース３１に記憶媒体１０の入出力インタフェース１１が接続された（データの送受信が可能になった）か否かを検知する。接続を検知した場合（ステップＳ４０１でＹｅｓ）、ステップＳ４０２では、管理装置３０は、記憶媒体１０（１０ｃ）からＩＤ１３３１を取得する。ステップＳ４０１で、接続を検知しない場合（ステップＳ４０１でＮｏ）は、接続を検出するまで待機状態となる。
【００２０】
ステップＳ４０３では、管理装置３０は、ＩＤ１３３１を署名対象データ（以降、ＭＤ１署名対象データと称する）に変換する。この変換は、ＩＤ１３３１とＭＤ１署名対象データ（中間情報）とが一意に決まる変換である。この変換例として、ランダム化する関数Ｒやハッシュ関数Ｈが挙げられる。そして、ＩＤ１３３１の入力に対して、乱数ｒ＝Ｒ（ＩＤ）やハッシュ値ｈ＝Ｈ（ＩＤ）を所定のビット長のＭＤ１署名対象データとして出力する。なお、ＭＤ１署名対象データは、ＩＤ１３３１に関連付けられた別の値やＩＤ１３３１自身であっても良い。また、ＭＤ１署名対象データは、所定の長さのビット長に形成されるために、さらに、文字列、定数、乱数、ビット列等の付加的なデータを連結して、その連結したものを、ＭＤ１署名対象データとしても良い。なお、ＩＤ１３３１は、デバイスインスタンスＩＤのように、数字または文字列で表されていても良い。
【００２１】
ステップＳ４０４では、管理装置３０は、ＭＤ１署名対象データ「ｍ」と、ＭＤ秘密鍵３３２１「ｓｋ」とを署名作成関数Ｓに入力し、ランダム化した値ｃ＝Ｓ（ｍ、ｓｋ）を有するＭＤ１電子署名１３４１を作成する。この署名作成関数Ｓは、検証装置２０において、ＭＤ公開鍵２３２１「ｐｋ」、ＭＤ１署名対象データ「ｍ」、およびＭＤ１電子署名１３４１「ｓ１」の組み合わせが適切であるか否かが判定できるように、ＭＤ１電子署名１３４１を作成する関数である。管理装置３０は、例えば、署名作成関数Ｓとして、ＲＳＡ暗号の署名作成スキームｃ＝RSAsign(m,sk)、離散対数問題に安全性をおくＤＳＡ（Digital Signature Algorithm）を用いた署名作成スキームｃ＝DSAsign(m,sk)、楕円曲線暗号の一つであるＥＣＤＳＡ（Elliptic Curve DSA）を用いた署名作成スキームｃ＝ECCsign(m,sk)、ハッシュ関数に安全性をおくメルクルを用いた署名作成スキームｃ＝MERKLEsign(m,sk)、格子問題に安全性をおくＮＴＲＵ（登録商標）を用いた署名作成スキームｃ＝NTRUsign(m,sk)、同じく格子問題に安全性をおくＧＧＨを用いた署名作成スキームｃ＝GGHsign(m,sk)、を用いても良い。また、管理装置３０は、前記のＭＤ１電子署名１３４１に、さらに、定数、乱数、パディング等の付加的なデータを結合して、ＭＤ１電子署名１３４１を作成しても良い。
【００２２】
ステップＳ４０５では、管理装置３０は、ステップＳ４０４で作成したＭＤ１電子署名１３４１を記憶媒体１０に記憶する。この記憶後の記憶媒体１０が、図１でいう記憶媒体１０ｄである。
【００２３】
＜第１実施形態の検証装置における記憶媒体の検証＞
検証装置２０は、記憶媒体１０が管理装置３０によって登録（認定）されているか否かについて判定し、登録されている（検証成功の）場合には、記憶媒体１０を正当と判定してアクセスを許可し、登録されていない（検証失敗の）場合には、記憶媒体１０を正当でないと判定しアクセスを許可しないようにしてもよい。図５は、その処理の流れの一例を示している（適宜図３参照）。
【００２４】
ステップＳ５０１では、検証装置２０は、検証装置２０の入出力インタフェース２１に記憶媒体１０の入出力インタフェース１１が接続された（データの送受信が可能になった）か否かを検知する。接続を検知した場合（ステップＳ５０１でＹｅｓ）、ステップＳ５０２では、検証装置２０は、記憶媒体１０からＩＤ１３３１とＭＤ１電子署名１３４１とを同時にまたは別々に取得する。なお、ステップＳ５０１で、接続を検知しない場合（ステップＳ５０１でＮｏ）は、接続を検出するまで待機状態となる。ステップＳ５０３では、検証装置２０は、取得したＩＤ１３３１を署名対象データ「ｍ」（以降、ＭＤ１署名対象データと称す）に変換する。この変換は、図４のステップＳ４０３の処理と同様である。
【００２５】
ステップＳ５０４では、検証装置２０は、ＭＤ１署名対象データ「ｍ」と、ＭＤ１電子署名１３４１「ｓ１」と、ＭＤ公開鍵２３２１「ｐｋ」とを署名検証関数Ｖに入力して検証し、ＭＤ１電子署名１３４１の検証成功か否かを判定する。署名検証関数Ｖは、ＭＤ１署名対象データ「ｍ」とＭＤ１電子署名１３４１「ｓ１」とＭＤ公開鍵２３２１「ｐｋ」との組が正当であれば検証成功（ＴＲＵＥ）、正当でなければ検証失敗（ＦＡＬＳＥ）を出力する。例えば、署名検証関数Ｖとして、ＲＳＡ暗号の署名検証スキームｃ＝RSAverify(m,pk)、離散対数問題に安全性をおくＤＳＡを用いた署名作成スキームｃ＝DSAverify(m,pk)、楕円曲線暗号の一つであるＥＣＤＳＡを用いた署名作成スキームｃ＝ECCverify(m,pk)、ハッシュ関数に安全性をおくメルクルを用いた署名作成スキームｃ＝MERKLEverify(m,pk)、格子問題に安全性をおくＮＴＲＵ（登録商標）を用いた署名作成スキームｃ＝NTRUverify(m,pk)、同じく格子問題に安全性をおくＧＧＨを用いた署名作成スキームｃ＝GGHverify(m,pk)、を用いても良い。さらに、この署名検証関数Ｖの出力結果に、署名検証の失敗箇所、記憶媒体１０へのアクセス可否等の付加的な情報を追加して、それを電子署名検証結果としても良い。
【００２６】
ステップＳ５０４において、ＭＤ１電子署名１３４１の検証成功（ＴＲＵＥ）の場合（ステップＳ５０４でＹｅｓ）、ステップＳ５０５では、検証装置２０は、記憶媒体１０を正当と判定して、アクセスを可とする。また、ＭＤ１電子署名１３４１の検証失敗（ＦＡＬＳＥ）の場合（ステップＳ５０４でＮｏ）、ステップＳ５０６では、検証装置２０は、記憶媒体１０を正当でないと判定して、アクセスを不可としてもよい。なお、アクセス不可の場合は、検証装置２０は、記憶媒体１０との接続の切断や、記憶媒体１０に記憶されているデータの使用範囲の限定等を実施してもよい。また、検証装置２０は、ステップＳ５０４において、自身が備える図示しない出力装置に電子署名検証結果を表示しても良い。
【００２７】
ここで、第１実施形態の利用例について説明する（適宜図３参照）。
（利用例１：記憶媒体１０に格納されたデジタルコンテンツの管理）
一般に、デジタルコンテンツは、アナログコンテンツに比べ、コピーしても品質が劣化しないため、著作権保護や不正アクセスの防止が課題とされてきた。例えば、デジタルコンテンツが記憶されている記憶媒体１０として、ＤＶＤ（Digital Versatile Disk）やブルーレイディスク（登録商標）等のディスクが挙げられる。これらのディスクには、その個体を識別するＩＤが記録されている。また、検証装置２０として、それらのディスクに記録されているデジタルコンテンツを再生するディスクプレーヤが該当する。そして、管理装置３０は、著作権の管理者、または、その著作権の管理者から委託された業者（製造メーカや販売店）によって管理されている。そして、ディスクは、管理装置３０によって登録（認定）が行われた後、出荷または販売される。したがって、これらのディスクに記録されているＩＤを第１実施形態に適用することによって、これらのディスクへのアクセスの可または不可（正当性）を判定することができる。
【００２８】
（利用例２：認証トークン）
ＩＣカード等の認証トークンは、安全性の観点から、秘密情報（秘密鍵等）に対する厳格なアクセス制御を実行するために、耐タンパ等の特別なメモリ領域を備える必要がある。第１実施形態では、図３に示すようにＩＤ１３３１が不揮発性メモリ１３２のリードオンリメモリ１３３に記憶され、ＭＤ１電子署名１３４１がリードライトメモリ１３４に記憶されるだけで済むので、ＩＣカードのような特別なメモリ領域を有さない、一般的な記憶媒体１０を、認証トークンとして安全に利用することができる。なお、ＩＤ１３３１は、記憶媒体１０を特定できるもの、かつ、コンピュータによる情報処理が適用できるものであれば良い。例えば、記憶媒体の外的または内的ユニットの形状、質感、色彩、温度、製造日、記憶媒体の持ち主の生体情報、癖、音声等であっても良い。
【００２９】
（利用例３：シリアル番号管理されている物品の管理）
シリアル番号管理されている物品の例として、ＲＦＩＤの場合について説明する。ＲＦＩＤのＩＤが連番で管理されている場合、漏洩したＩＤから、他のＩＤが容易に判明して、悪用されることが想定される。しかし、第１実施形態では、管理装置３０によって、ＭＤ秘密鍵３３２１を用いて作成したＭＤ１電子署名１３４１によって、正当性が保証されるため、悪用を防ぐことができる。
【００３０】
（利用例４：チケットによる入場管理）
例えば、コンサート等の入場チケットについては、偽の入場チケットが売買されることが想定される。この場合、入場チケットを記憶媒体１０の代わりとして、ＩＤ１３３１が記録された入場チケットは、販売所に設置された管理装置３０を用いて、販売時に登録（認定）処理が行われる。すなわち、販売された入場チケットには、新たにＭＤ１電子署名１３４１が記録される。そして、入場時には、入場チケットは、入場口に設置された検証装置２０によって正当性が検証される。そして、検証成功となった場合には、その入場チケットを所有した人は入場でき、検証失敗となった場合では、その入場チケットを所有した人は入場できなくなる。なお、入場チケットに付されるＩＤ１３３１やＭＤ１電子署名１３４１は、バーコード（１次元コード）やＱＲコード（２次元コード）等の決められた形式に変換したものを印刷したり、またはＩＣチップ等に電磁的に記憶させたりしても良い。
【００３１】
なお、入場チケットとして、携帯電話を用いることもできる。すなわち、携帯電話の個体識別番号をＩＤ１３３１として、チケット販売サイトに設置されている管理装置３０によって、登録（認定）を受け、ＭＤ１電子署名１３４１が、その携帯電話に記憶される。そして、登録（認定）を受けた携帯電話は、入場口に設置された検証装置２０に携帯電話のＩＤ１３３１とＭＤ１電子署名１３４１とを読み込ませて、正当性の検証を受ける。なお、ＭＤ１電子署名１３４１は、バーコード（１次元コード）やＱＲコード（２次元コード）等の決められた形式に変換したものを、携帯電話の表示画面に表示した状態または記憶した電子データの状態で、検証装置２０に接続される、図示しない読取器によって読み取らせても良い。
【００３２】
（利用例５：ＰＣに接続する機器の管理）
記憶媒体１０として、キーボード、マウス、ディスプレイ、電話機、ルータ、ネットワークケーブル、グラフィックカード等のＩＤ１３３１を有する機器が盗難に遭ったものとする。このとき、それらの機器に予めＭＤ１電子署名１３４１が記憶（記録）されていれば、検証機器２０であるＰＣに接続したとき、検証成功であれば、正当と判定されて使用できるようになるが、検証失敗であれば、正当でないと判定されて使用できない。このようにして、接続使用可能な機器を限定することができる。
【００３３】
以上、第１実施形態では、登録（認定）を管理する管理装置３０と検証を行う検証装置２０との間が相互に通信できない環境において、物を識別するＩＤを備えていれば、物の正当性を判定することができる。
【００３４】
（第２実施形態）
次に、第２実施形態では、第１実施形態とは異なり、演算機能を備える記憶媒体１０Ａ（１０）と、第１実施形態と同様の検証装置２０および管理装置３０とを用いて、記憶媒体１０Ａの正当性が認証される。ここでは、第１実施形態と同様の検証装置２０および管理装置３０についての説明は省略し、記憶媒体１０Ａの主な機能について、図６を用いて説明する。なお、第２実施形態の記憶媒体１０Ａは、第１実施形態の記憶媒体１０に加えて、演算処理を実行する処理部１２を備えているため、記憶媒体１０Ａ自身も、検証機能を備えることができる。そのため、第１実施形態より、セキュリティを強化することができる。
【００３５】
記憶媒体１０Ａは、図６（ａ）に示すように、入出力インタフェース１１、処理部１２、およびメモリユニット１３Ａ（１３）を含む。入出力インタフェース１１は、他の装置の入出力インタフェースとの間で、データの送受信を司る。処理部１２は、図示しないＣＰＵであり、アプリケーションプログラム（プログラム１３３２）を図示しないメインメモリに展開して、それを実行することにより所望の演算を実現する。
【００３６】
メモリユニット１３Ａは、演算中の一時データを格納する揮発性メモリ１３１と、リードオンリメモリ１３３Ａおよびリードライトメモリ１３４Ａを備える不揮発性メモリ１３２Ａとによって構成される。リードオンリメモリ１３３Ａは、ＩＤ１３３１と、処理部１２が演算を行うために用いるプログラム１３３２とを記憶している。また、リードライトメモリ１３４Ａは、管理装置３０によって作成されたＭＤ１電子署名１３４１、ＭＤ１電子署名１３４１に関連付けられたＭＤ１属性情報１３４２、ＳＭ秘密鍵１３４３、およびＳＭ公開鍵１３４４を記憶している。なお、「ＳＭ」は記憶媒体を意味する、Storage  Memoryの略である。
【００３７】
次に、第２実施形態における処理の流れについて、図７〜９を用いて説明する。図７は、記憶媒体の登録（認定）の処理の流れを示し、図８は、記憶媒体の検証の処理の流れを示し、図９は、記憶媒体自身が行う処理の流れを示す。
【００３８】
＜第２実施形態の管理装置における記憶媒体の登録（認定）＞
ユーザが記憶媒体１０Ａを使用できるようにするためには、管理装置３０によって、その記憶媒体１０Ａが登録（認定）される必要がある。図７は、その処理の流れの一例を示している（適宜図６参照）。
【００３９】
ステップＳ７０１では、管理装置３０は、管理装置３０の入出力インタフェース３１に記憶媒体１０Ａの入出力インタフェース１１が接続された（データの送受信が可能になった）か否かを検知する。接続を検知した場合（ステップＳ７０１でＹｅｓ）、ステップＳ７０２では、管理装置３０は、記憶媒体１０ＡからＩＤ１３３１を取得する。ステップＳ７０３では、管理装置３０は、ＲＳＡ暗号や楕円暗号等の公開鍵暗号系の鍵作成スキームに従って、秘密鍵（以降、ＳＭ秘密鍵１３４３と称す）と公開鍵（以降、ＳＭ公開鍵１３４４と称す）とのペアを作成する。ただし、ＳＭ秘密鍵１３４３は、電子署名の作成に用いる署名作成関数Ｓに入力するパラメータであり、ＳＭ公開鍵１３４４は、電子署名の検証に用いる署名検証関数Ｖに入力するパラメータである。
【００４０】
ステップＳ７０４では、管理装置３０は、ＩＤ１３３１とＳＭ公開鍵１３４４との組を、所定のビット長の署名対象データ（以降、ＭＤ１署名対象データと称す）に変換する。この変換では、ＩＤ１３３１とＳＭ公開鍵１３４４との組の値が異なる場合には、異なるＭＤ１署名対象データを出力する変換が用いられる。また、組の値を作成する場合において、管理装置３０は、例えば、ＩＤ１３３１とＳＭ公開鍵１３４４とを連結（ＩＤ｜｜ＳＭ公開鍵）して、連結データを作成する。そして、その連結データを、ランダム化する関数Ｒやハッシュ関数Ｈに入力し、乱数ｒ＝Ｒ（ＩＤ｜｜ＳＭ公開鍵）やハッシュ値ｈ＝Ｈ（ＩＤ｜｜ＳＭ公開鍵）を算出し、その算出した値をＭＤ１署名対象データとする。また、この変換では、ＩＤ１３３１とＳＭ公開鍵１３４４との組に関連付けられた別の値やＩＤ１３３１とＳＭ公開鍵１３４４との連結データ自身をＭＤ１署名対象データとしても良い。また、ＭＤ１署名対象データは、所定の長さのビット長に形成されるために、さらに、文字列、定数、乱数、ビット列等の付加的なデータを連結して、その連結したものを、ＭＤ１署名対象データとしても良い。
【００４１】
ステップＳ７０５では、管理装置３０は、ＭＤ１署名対象データ「ｍ」と、ＭＤ秘密鍵３３２１「ｓｋ」とを、署名作成関数Ｓに入力し、ランダム化した値ｃ＝Ｓ（ｍ、ｓｋ）を有するＭＤ１電子署名１３４１を作成する。この署名作成関数Ｓは、検証装置２０において、ＭＤ公開鍵２３２１「ｐｋ」、ＭＤ１署名対象データ「ｍ」、およびＭＤ１電子署名１３４１「ｓ１」の組み合わせが適切であるか否かが判定できるように、ＭＤ１電子署名１３４１を作成する関数である。
【００４２】
ステップＳ７０６では、管理装置３０は、ステップＳ７０３で作成したＳＭ秘密鍵１３４３およびＳＭ公開鍵１３４４と、ステップＳ７０５で作成したＭＤ１電子署名１３４１とを記憶媒体１０Ａに記憶する。
【００４３】
＜第２実施形態の検証装置における記憶媒体の検証＞
検証装置２０は、記憶媒体１０Ａが正当か否かを検証し、検証成功の場合には、記憶媒体１０Ａを正当と判定し、アクセスを許可し、検証失敗の場合には、記憶媒体１０Ａを正当でないと判定し、アクセスを許可しないようにしてもよい。図８は、その処理の流れの一例を示している（適宜図６参照）。
【００４４】
ステップＳ８０１では、検証装置２０は、検証装置２０の入出力インタフェース２１に記憶媒体１０Ａの入出力インタフェース１１が接続された（データの送受信が可能になった）か否かを検知する。接続を検知した場合（ステップＳ８０１でＹｅｓ）、ステップＳ８０２では、検証装置２０は、記憶媒体１０ＡからＩＤ１３３１とＳＭ公開鍵１３４４とＭＤ１電子署名１３４１とを同時にまたは別々に取得する。なお、ステップＳ８０１で、接続を検知しない場合（ステップＳ８０１でＮｏ）は、接続を検出するまで待機状態となる。ステップＳ８０３では、検証装置２０は、取得したＩＤ１３３１とＳＭ公開鍵１３４４との組をＭＤ１署名対象データに変換する。この変換は、図７のステップＳ７０４の処理と同様である。
【００４５】
ステップＳ８０４では、検証装置２０は、ＭＤ１署名対象データ「ｍ」と、ＭＤ１電子署名１３４１「ｓ１」と、ＭＤ公開鍵２３２１「ｐｋ」とを署名検証関数Ｖに入力して検証し、ＭＤ１電子署名の検証成功か否かを判定する。署名検証関数Ｖは、ＭＤ１署名対象データ「ｍ」とＭＤ１電子署名１３４１「ｓ１」とＭＤ公開鍵２３２１「ｐｋ」との組が正当であれば検証成功（ＴＲＵＥ）、正当でなければ検証失敗（ＦＡＬＳＥ）を出力する。このように、記憶媒体１０ＡのＩＤ１３３１とＳＭ公開鍵１３４４との組を用いた場合にも、第１実施形態と同様に記憶媒体１０Ａの検証を実行することができる。なお、第１実施形態と同様、ここで検証を終了することもできるが、この第２実施形態では、検証をさらに次の様に行う。
【００４６】
ステップＳ８０４において、ＭＤ１電子署名の検証成功（ＴＲＵＥ）の場合（ステップＳ８０４でＹｅｓ）、ステップＳ８０５では、検証装置２０は、チャレンジ番号（ユニークな情報）を作成する。このチャレンジ番号は、検証装置２０と記憶媒体１０Ａとの間の合言葉に相当し、適当な数字や文字列で良く、例えば、所定のビット長の乱数や定数である。また、ＩＤ１３３１をランダム化する関数Ｒやハッシュ関数Ｈに入力して算出した、乱数ｒ＝Ｒ（ＩＤ）やハッシュ値ｈ＝Ｈ（ＩＤ）をチャレンジ番号としても良い。
【００４７】
ステップＳ８０６では、検証装置２０は、チャレンジ番号を記憶媒体１０Ａへ送信する。そして、図９に示すように、記憶媒体１０Ａにおいてチャレンジ番号に対応するＳＭ電子署名（第２の署名）が作成される。このＳＭ電子署名の作成についての詳細は後記する。ステップＳ８０７では、検証装置２０は、記憶媒体１０ＡからＳＭ電子署名を取得する。ステップＳ８０８では、検証装置２０は、チャレンジ番号と、ＳＭ電子署名と、ＳＭ公開鍵１３４４とを署名検証関数Ｖ’に入力して検証し、ＳＭ電子署名の検証成功か否かを判定する。署名検証関数Ｖ’は、チャレンジ番号とＳＭ電子署名とＳＭ公開鍵１３４４との組が正当であれば検証成功（ＴＲＵＥ）、正当でなければ検証失敗（ＦＡＬＳＥ）を出力する。ＳＭ電子署名の検証成功の場合（ステップＳ８０８でＹｅｓ）、ステップＳ８０９では、検証装置２０は、記憶媒体１０を正当と判定し、アクセスを可とする。
【００４８】
ステップＳ８０４に戻って、ＭＤ１電子署名の検証失敗（ＦＡＬＳＥ）の場合（ステップＳ８０４でＮｏ）、ステップＳ８１０へ進み、検証装置２０は、記憶媒体１０Ａを正当でないと判定し、アクセスを不可としてもよい。また、ステップＳ８０８において、ＳＭ電子署名の検証失敗（ＦＡＬＳＥ）の場合（ステップＳ８０８でＮｏ）も、ステップＳ８１０へ進み、検証装置２０は、記憶媒体１０Ａを正当でないと判定し、アクセスを不可としてもよい。なお、アクセス不可の場合は、検証装置２０は、記憶媒体１０との接続の切断や、記憶媒体１０に記憶されているデータの暗号復号化の限定等を実施すればよい。また、検証装置２０は、ステップＳ８０４，Ｓ８０８において、自身が備える図示しない出力装置に署名検証関数の出力や、アクセスの可または不可を表示しても良い。
【００４９】
＜第２実施形態の記憶媒体における電子署名の作成＞
次に、第２実施形態における記憶媒体１０Ａの処理の流れについて、図９を用いて説明する。ステップＳ９０１では、記憶媒体１０Ａは、検証装置２０から、チャレンジ番号を取得する。ステップＳ９０２では、記憶媒体１０Ａは、チャレンジ番号を所定のビット長の署名対象データ（以降、ＳＭ署名対象データと称す）に変換する。この変換では、チャレンジ番号が異なる場合には、異なるＳＭ署名対象データ（中間情報）を出力する変換が用いられる。例えば、チャレンジ番号ｃｈを、ランダム化する関数Ｒやハッシュ関数Ｈに入力し、乱数ｒ＝Ｒ（ｃｈ）やハッシュ値ｈ＝Ｈ（ｃｈ）を算出し、その算出した値をＳＭ署名対象データとする。また、この変換では、チャレンジ番号に関連付けられた別の値やチャレンジ番号自身をＳＭ署名対象データとしても良い。また、ＳＭ署名対象データは、所定の長さのビット長に形成されるために、さらに、文字列、定数、乱数、ビット列等の付加的なデータを連結して、その連結したものを、ＳＭ署名対象データとしても良い。
【００５０】
ステップＳ９０３では、記憶媒体１０Ａは、ＳＭ署名対象データ「ｓｍ」とＳＭ秘密鍵「ｓｋ」とを、署名作成関数Ｓに入力し、ランダム化した値ｃ＝Ｓ（ｓｍ、ｓｋ）を有するＳＭ電子署名を作成する。この署名作成関数Ｓは、検証装置２０において、ＭＤ公開鍵２３２１「ｐｋ」、ＭＤ１署名対象データ「ｍ」、およびＭＤ１電子署名１３４１「ｓ１」の組み合わせが適切であるか否かが判定できるように、ＳＭ電子署名を作成する関数である。
【００５１】
ここで、第２実施形態の利用例について説明する（適宜図６参照）。
（利用例６：ネットワークのアクセスポイントを検証装置として用いたアクセス管理）
例えば、無線ＬＡＮ（Local Area Network）の場合について、第２実施形態の利用例を説明する。無線ＬＡＮのアクセスポイントが検証装置２０に相当し、無線ＬＡＮに用いられる通信機器が記憶媒体１０Ａに相当するものとする。そして、ＩＤ１３３１は、通信機器のＭＡＣ（Media Access Control）アドレスであるものとする。また、管理装置３０は、無線ＬＡＮの管理者によって管理されていて、通信機器のＩＤ１３３１の登録（認定）を行う。この環境において、通信機器からアクセスポイントにアクセス要求を実行したときに、アクセスポイントは、その通信機器のＩＤ１３３１とＭＤ１電子署名１３４１をパケットによって取得し、ＭＤ１電子署名１３４１の検証成功か否かを検証する。そして、アクセスポイントは、検証成功の場合には、その通信機器を正当と判定してアクセスを可能とし、検証失敗の場合には、その通信機器を正当でないと判定してアクセスを不可とする。なお、無線ＬＡＮのアクセスポイントの代わりに、ルータやサーバであっても同様の利用形態が可能である。
【００５２】
以上、第２実施形態では、第１実施形態と同様に、管理装置３０と検証装置２０との間で、相互に通信できない環境において、物（記憶媒体１０Ａ）を識別するＩＤを用いて、物（記憶媒体１０Ａ）の正当性を認証することができる。そして、第２実施形態では、さらに、記憶媒体１０Ａに処理部１２を備えて、チャレンジ番号に対するＳＭ電子署名を作成することによって、記憶媒体１０Ａと検証装置２０との間のセキュリティの性能を、第１実施形態に比べて向上することができる。
【００５３】
なお、第２実施形態では、管理装置３０がＳＭ秘密鍵１３４３とＳＭ公開鍵１３４４とを作成することとしたが、記憶媒体１０Ａがこれらの鍵を作成しても構わない。この場合には、記憶媒体１０Ａから検証装置２０および管理装置３０に、ＳＭ公開鍵１３４４だけを出力すれば良いので、ＳＭ秘密鍵の漏洩リスクを低下することができる。また、図８に示すステップＳ８０２では、検証装置２０が記憶媒体１０Ａから、ＳＭ公開鍵１３４４を取得するように記載したが、ＭＤ１電子署名の検証成功の場合（ステップＳ８０５でＹｅｓ）に、ＳＭ公開鍵１３４４を取得しても構わない。
【００５４】
（第３実施形態）
次に、第３実施形態では、記憶媒体１０Ｂの使用期間を記録する失効リストの作成、更新、および失効リストを用いた記憶媒体１０Ｂの正当性の検証について、図１０〜図１３を用いて説明する。なお、記憶媒体の登録（認定）については、第１実施形態と同様であるので、説明を省略する。
【００５５】
図１０には、第３実施形態で用いる記憶媒体１０Ｂ（１０）、検証装置２０Ｂ（２０）、および管理装置３０Ｂ（３０）の機能を示す。ここでは、図３に示した第１実施形態で用いる各装置と異なる機能については異なる符号を付し、同じ符号の機能については説明を省略する。
【００５６】
図１０（ａ）に示すように、記憶媒体１０Ｂのリードライトメモリ１３４Ｂには、管理装置３０Ｂによって作成されたＳＭ失効リスト１３４５（中間リスト）が記憶される。ＳＭ失効リスト１３４５は、使用期間が失効した（以前は使用を許可されていた）記憶媒体１０ＢのＩＤ１３３１を記録したものである。なお、ＳＭ失効リスト１３４５は、失効リストの作成または更新の日時等の時間情報や、作成または更新の正当性の検証に用いるＭＤ２電子署名１３４６を含んでいても良い。さらに、ＭＤ２電子署名１３４６は、検証時に使用する暗号ハッシュ関数または復号化関数、および各種演算の手順等の属性情報を含んで記憶されても良い。
【００５７】
検証装置２０Ｂは、図１０（ｂ）に示すように、不揮発性メモリ２３２Ｂに、新たに、ＶＤ失効リスト２３２３を記憶する。ＶＤ失効リスト２３２３は、記憶媒体１０Ｂに記憶されているＳＭ失効リスト１３４５に係る検証が成功した場合に、ＳＭ失効リスト１３４５を用いて更新される。なお、「ＶＤ」は検証装置を意味する、Verification Deviceの略である。
【００５８】
管理装置３０Ｂは、図１０（ｃ）に示すように、不揮発性メモリ３３２Ｂに、新たに、ＭＤ失効リスト３３２３を記憶する。ＭＤ失効リスト３３２３は、図示しない入力装置等を介して、使用期間が失効した（以前は使用を許可されていた）記憶媒体１０ＢのＩＤ１３３１を記録したものである。なお、ＭＤ失効リスト３３２３は、失効リストの作成日時や更新日時等の時間情報を含んでいても良い。また、ＭＤ失効リスト３３２３は、常時記憶されていても、必要な時に一時的に記憶されても良い。
【００５９】
次に、第３実施形態における失効リストの作成処理の流れについて、図１１を用いて説明する。
【００６０】
＜第３実施形態の管理装置における失効リストの作成＞
ステップＳ１１０１では、管理装置３０Ｂは、図示しない入力装置（キーボードやマウス等）を介して、失効リストに記録する記憶媒体１０ＢのＩＤ１３３１に関する入力を受け付ける。入力を受け付ける際、ＧＵＩ（Graphical User Interface）等を用いて、図示しない出力装置にＩＤの入力をユーザに促す画面を表示しても良い。
【００６１】
ステップＳ１１０２では、管理装置３０Ｂは、ステップＳ１１０１において入力を受け付けたＩＤを、失効リスト対象データに変換する。例えば、この変換は、ランダム化する関数Ｒやハッシュ関数Ｈを用い、ＩＤの集合（ＩＤ１，ＩＤ２，・・，ＩＤｎ）に対して、乱数ｒ＝Ｒ（ＩＤ１，ＩＤ２，・・，ＩＤｎ）やハッシュ値ｈ＝Ｈ（ＩＤ１，ＩＤ２，・・，ＩＤｎ）を出力する。また、ＩＤの集合に関連付けられた別の値またはＩＤの集合自身が失効リスト対象データであっても良い。さらに、前記した失効リスト対象データに、日時情報、乱数等の付加的な情報を連結して、所定のビット長の失効リスト対象データを作成しても良い。
【００６２】
ステップＳ１１０３では、管理装置３０Ｂは、失効リスト対象データを用いて、ＭＤ失効リスト３３２３を更新する。例えば、管理装置３０Ｂは、ＭＤ失効リスト３３２３に、失効リスト対象データの内容を追記または更新する。なお、失効リスト対象データが、既に記憶されているＭＤ失効リスト３３２３と同じ内容であれば、管理装置３０Ｂは、ＭＤ失効リスト３３２３を更新しなくても良い。
【００６３】
ステップＳ１１０４では、管理装置３０Ｂは、ＭＤ失効リスト３３２３を、所定のビット長の署名対象データ（以降、ＭＤ２署名対象データと称す）に変換する。この変換は、第１実施形態におけるステップＳ４０３（図４参照）と同様の処理を用いて実行される。
【００６４】
ステップＳ１１０５では、管理装置３０Ｂは、ＭＤ２署名対象データ「ｍｄ」（中間情報）と、ＭＤ秘密鍵３３２１「ｓｋ」とを署名作成関数Ｓに入力し、ランダム化した値ｃ＝Ｓ（ｍ、ｓｋ）を有するＭＤ２電子署名１３４６「sign2」を作成する。この署名作成関数Ｓは、検証装置２０において、ＭＤ２署名対象データ「ｍｄ」、ＭＤ公開鍵２３２１「ｐｋ」、およびＭＤ２電子署名１３４６「sign2」の組み合わせが適切であるか否かが判定できるように、ＭＤ２電子署名１３４６を作成する関数である。管理装置３０は、例えば、署名作成関数Ｓとして、ＲＳＡ暗号のべき乗剰余乗算ｃ＝RSAsign(md,sk)や、ＭＤ秘密鍵３３２１「ｓｋ」に基づく楕円曲線暗号のスカラー倍算ｃ＝ECCsign(md,sk)を用いても良い。また、管理装置３０は、前記のＭＤ２電子署名１３４６に、さらに、定数、乱数、パディング等の付加的なデータを結合して、ＭＤ２電子署名１３４６を作成しても良い。
【００６５】
ステップＳ１１０６では、管理装置３０Ｂは、ＭＤ失効リスト３３２３とＭＤ２電子署名１３４６との組から、ＳＭ失効リスト１３４５を作成する。この作成過程では、値の異なるＭＤ失効リスト３３２３とＭＤ２電子署名１３４６との組に対して、異なるＳＭ失効リスト１３４５が出力される関数が用いられる。例えば、ＭＤ失効リスト３３２３「ｍｄ」とＭＤ２電子署名１３４６「sign2」との組は、両者を連結したデータであっても良い。そして、用いられる関数が、例えば、ランダム化する関数Ｒやハッシュ関数Ｈであるとすると、ＳＭ失効リスト１３４５は、乱数ｒ＝Ｒ（ｍｄ，sign2）やハッシュ値ｈ＝Ｈ（ｍｄ，sign2）として作成される。また、管理装置３０は、前記したＳＭ失効リスト１３４５に、さらに日時情報、乱数等の付加的な情報を連結し、ＳＭ失効リスト１３４５を作成しても良い。
【００６６】
ステップＳ１１０７では、管理装置３０Ｂは、ＳＭ失効リスト１３４５を記憶媒体１０Ｂに記憶する。
【００６７】
＜第３実施形態の検証装置における失効リストの更新＞
検証装置２０Ｂは、記憶媒体１０Ｂに記憶されたＳＭ失効リスト１３４５の正当性について検証し、検証成功の場合には、ＳＭ失効リスト１３４５を用いてＶＤ失効リスト２３２３を更新し、検証失敗の場合には、ＶＤ失効リスト２３２３を更新しない。図１２は、その処理の流れの一例を示している（適宜図１０参照）。
【００６８】
ステップＳ１２０１では、検証装置２０Ｂは、検証装置２０Ｂの入出力インタフェース２１に記憶媒体１０Ｂの入出力インタフェース１１が接続された（データの送受信が可能になった）か否かを検知する。接続を検知した場合（ステップＳ１２０１でＹｅｓ）、ステップＳ１２０２では、検証装置２０Ｂは、記憶媒体１０ＢからＳＭ失効リスト１３４５を取得する。ステップＳ１２０１で、接続を検知しない場合（ステップＳ１２０１でＮｏ）は、接続を検出するまで待機状態となる。
【００６９】
ステップＳ１２０３では、検証装置２０Ｂは、取得したＳＭ失効リスト１３４５を所定のビット長の署名対象データ（以降、ＭＤ２署名対象データ「ｍｄ２」と称す）に変換する。この変換は、図１１のステップＳ１１０４と同様の処理を用いて実行される。
【００７０】
ステップＳ１２０４では、検証装置２０Ｂは、ＭＤ２署名対象データ「ｍｄ２」と、ＳＭ失効リスト１３４５に格納されたＭＤ２電子署名１３４６「ｓ２」と、ＭＤ公開鍵２３２１「ｐｋ」とを署名検証関数Ｖに入力して検証し、ＭＤ２電子署名の検証成功か否かを判定する。署名検証関数Ｖは、ＭＤ２署名対象データと、ＭＤ２電子署名１３４６と、ＭＤ公開鍵２３２１との組が正当であれば検証成功（ＴＲＵＥ）、正当でなければ検証失敗（ＦＡＬＳＥ）を出力する。
【００７１】
ステップＳ１２０４において、ＭＤ２電子署名１３４６の検証成功（ＴＲＵＥ）の場合（ステップＳ１２０４でＹｅｓ）、ステップＳ１２０５では、検証装置２０Ｂは、ＳＭ失効リスト１３４５を用いて、ＶＤ失効リスト２３２３を更新する。また、ＭＤ２電子署名１３４６の検証失敗（ＦＡＬＳＥ）の場合（ステップＳ１２０４でＮｏ）、検証装置２０Ｂは、ＶＤ失効リスト２３２３を更新しない。なお、検証装置２０Ｂは、ステップＳ１２０４において、自身が備える図示しない出力装置に署名検証関数の出力や、アクセスの可不可を表示しても良い。
【００７２】
＜第３実施形態の検証装置における記憶媒体の検証＞
検証装置２０Ｂは、ＶＤ失効リスト２３２３を用いて、記憶媒体１０の正当性を確認する。そして、検証装置２０Ｂは、ＶＤ失効リスト２３２３に、接続された記憶媒体１０ＢのＩＤが含まれていない場合には検証成功（ＴＲＵＥ）として、ＭＤ１電子署名１３４１の検証を実行し、そのＭＤ１電子署名１３４１の検証も成功（ＴＲＵＥ）の場合に、記憶媒体１０Ｂを正当と判定してアクセスを可とする。また、検証装置２０Ｂは、ＭＤ１電子署名１３４１の検証失敗（ＦＡＬＳＥ）の場合に、記憶媒体１０Ｂを正当でないと判定してアクセスを不可としてもよい。この処理の流れについて、図１３を用いて説明する（適宜図１３参照）。
【００７３】
ステップＳ１３０１では、検証装置２０Ｂは、検証装置２０Ｂの入出力インタフェース２１に記憶媒体１０Ｂの入出力インタフェース１１が接続された（データの送受信が可能になった）か否かを検知する。接続を検知した場合（ステップＳ１３０１でＹｅｓ）、ステップＳ１３０２では、検証装置２０Ｂは、記憶媒体１０ＢからＩＤ１３３１を取得する。なお、検証装置２０Ｂは、例えば、ランダム化する関数Ｒやハッシュ関数Ｈに、取得したＩＤ１３３１を適用して、乱数ｒ＝Ｒ（ＩＤ）やハッシュ値ｈ＝Ｈ（ＩＤ）をＩＤ１３３１としても良い。ステップＳ１３０１で、接続を検知しない場合（ステップＳ１３０１でＮｏ）は、接続を検出するまで待機状態となる。
【００７４】
ステップＳ１３０３では、検証装置２０Ｂは、ステップＳ１３０２で取得したＩＤ１３３１とＶＤ失効リスト１３４５とを失効検査関数Ｗに入力して検証し、ＩＤの検証成功か否かを判定する。失効検査関数Ｗは、ＶＤ失効リスト２３２３にＩＤ１３３１が含まれていなければ検証成功（ＴＲＵＥ）、ＶＤ失効リスト２３２３にＩＤ１３３１が含まれていれば検証失敗（ＦＡＬＳＥ）を出力する。
【００７５】
ステップＳ１３０３において、ＩＤの検証成功（ＴＲＵＥ）の場合（ステップＳ１３０３でＹｅｓ）、ステップＳ１３０４では、検証装置２０Ｂは、記憶媒体１０ＢからＭＤ１電子署名１３４１を取得する。ステップＳ１３０５では、ステップＳ１３０２で取得したＩＤ１３３１を署名対象データ（以降、ＭＤ１署名対象データと称す）に変換する。この変換は、図４のステップＳ４０３の処理と同様である。
【００７６】
ステップＳ１３０６では、検証装置２０Ｂは、ＭＤ１署名対象データ「ｍｄ１」と、ＭＤ１電子署名１３４１「ｓ１」と、ＭＤ公開鍵２３２１「ｐｋ」とを署名検証関数Ｖに入力して検証し、ＭＤ１電子署名１３４１の検証成功か否かを判定する。署名検証関数Ｖは、ＭＤ１署名対象データ「ｍｄ１」とＭＤ１電子署名１３４１「ｓ１」とＭＤ公開鍵２３２１「ｐｋ」との組が正当であれば検証成功（ＴＲＵＥ）、正当でなければ検証失敗（ＦＡＬＳＥ）を出力する。例えば、署名検証関数Ｖとして、ＲＳＡ暗号の署名検証スキームｃ＝RSAverify(md1,s1,pk)、離散対数問題に安全性をおくＤＳＡを用いた署名作成スキームｃ＝DSAverify(md1,s1,pk)、楕円曲線暗号の一つであるＥＣＤＳＡを用いた署名作成スキームｃ＝ECCverify(md1,s1,pk)、ハッシュ関数に安全性をおくメルクルを用いた署名作成スキームｃ＝MERKLEverify(md1,s1,pk)、格子問題に安全性をおくＮＴＲＵ（登録商標）を用いた署名作成スキームｃ＝NTRUverify(md1,s1,pk)、同じく格子問題に安全性をおくＧＧＨを用いた署名作成スキームｃ＝GGHverify(md1,s1,pk)、を用いても良い。さらに、この署名検証関数Ｖの出力結果に、署名検証の失敗箇所、記憶媒体１０へのアクセス可否等の付加的な情報を追加して、それを電子署名検証結果としても良い。
【００７７】
ステップＳ１３０６において、ＭＤ１電子署名の検証成功（ＴＲＵＥ）の場合（ステップＳ１３０６でＹｅｓ）、ステップＳ１３０７では、検証装置２０Ｂは、記憶媒体１０を正当と判定して、アクセスを可とする。また、ＭＤ１電子署名１３４１の検証失敗（ＦＡＬＳＥ）の場合（ステップＳ１３０６でＮｏ）、ステップＳ１３０８では、検証装置２０Ｂは、記憶媒体１０を正当でないと判定して、アクセスを不可としてもよい。なお、アクセス不可の場合は、検証装置２０Ｂは、記憶媒体１０Ｂとの接続の切断や、記憶媒体１０Ｂに記憶されているデータの暗号復号化等の限定等を実施してもよい。また、検証装置２０Ｂは、ステップＳ１３０６において、自身が備える図示しない出力装置に署名検証関数の出力結果や、アクセスの可または不可を表示しても良い。
【００７８】
ここで、第３実施形態の利用例について説明する（適宜図１０参照）。
（利用例７：ＵＳＢメモリ紛失にともなう情報漏洩対策）
第３実施形態の記憶媒体１０Ｂが、ＵＳＢメモリであるものとする。紛失したＵＳＢメモリは、検証装置２０Ｂとは異なるＰＣ等に接続されて用いられようとしても、図１３のステップＳ１３０６でのＭＤ１電子署名の検証において検証失敗となるため、アクセスできない。また、当該ＵＳＢメモリは、使用期間がＳＭ失効リスト１３４５に記録されているため、その使用期間以外の場合には、図１３のステップＳ１３０４でのＩＤの検証において検証失敗となるため、前記した検証とともに、二重に情報漏洩対策が施されている。
【００７９】
以上、第３実施形態では、登録（認定）を管理する管理装置３０と検証を行う検証装置２０との間が相互に通信できない環境において、物を識別するＩＤを備えていれば、物の正当性を判定することができる。さらに、第３実施形態では、記憶媒体１０Ｂの使用期間を指定したＳＭ失効リスト１３４５を暗号化に含めているため、二重に記憶媒体１０Ｂの正当性を認証することができる。
【符号の説明】
【００８０】
１      認証システム
１０    記憶媒体（対象物）
１２，２２，３２    処理部
１３，２３，３３    メモリユニット（記憶部）
２０    検証装置
３０    管理装置（認定装置）
１３２，２３２，３３２  不揮発性メモリ
１３３  リードオンリメモリ
１３４  リードライトメモリ
１３３１  ＩＤ（識別情報）
１３４１  ＭＤ１電子署名（第１の署名）
１３４２  ＭＤ１属性情報
１３４３  ＳＭ秘密鍵（第２の秘密鍵）
１３４４  ＳＭ公開鍵（第２の公開鍵）
１３４５  ＳＭ失効リスト（中間リスト）
１３４６  ＭＤ２電子署名（第２の署名）
２３２１  ＭＤ公開鍵（第１の公開鍵）
２３２３  ＶＤ失効リスト（失効リスト）
３３２１  ＭＤ秘密鍵（第１の秘密鍵）
３３２３  ＭＤ失効リスト（失効リスト）
【図１】
2011004317.tif 000003
【図２】
2011004317.tif 000004
【図３】
2011004317.tif 000005
【図４】
2011004317.tif 000006
【図５】
2011004317.tif 000007
【図６】
2011004317.tif 000008
【図７】
2011004317.tif 000009
【図８】
2011004317.tif 000010
【図９】
2011004317.tif 000011
【図１０】
2011004317.tif 000012
【図１１】
2011004317.tif 000013
【図１２】
2011004317.tif 000014
【図１３】
2011004317.tif 000015