(57)【要約】【課題】認証鍵共有の処理時間が大きいため、認証鍵共有回数を削減したいとの要望がある。そこで、共有された鍵を保持して長時間持つことにより認証鍵共有回数を削減することを考える。しかし、安全性の観点では、同じ共有鍵を使用する時間は無限ではなく、制限する必要があるため、有効期限が必要になる。ＩＣカードでは時計を具備できないため、有効期限を導入しても、時刻の判定ができない。【解決手段】時計を具備しないＩＣカードで、電源ＯＮ／ＯＦＦやコマンド受付などの状態変化回数を計数し、これを用いて認証鍵共有で共有した鍵の有効期限を判定。【選択図】図５
2007300309.tif 000002
【特許請求の範囲】
【請求項１】
暗号や認証に関連する処理を実行する暗号処理実行装置であって、
事象を検出する事象検出部と、
前記事象検出部の事象検出結果に基づき検出量を計量する計数部と、
前記計数部で計量している前記検出量が所定の条件を満たしているかを判定する処理判定部と、
前記処理判定部で判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行部とを備える
ことを特徴とする暗号処理実行装置。
【請求項２】
前記事象は、暗号処理実行装置の電源入または電源断の電源変化であり、
前記検出量は前記電源変化の回数である
ことを特徴とする請求項１記載の暗号処理実行装置。
【請求項３】
前記暗号処理実行装置はさらに、コマンドを受け付けるコマンド受付部を備え、
前記事象は、前記コマンド受付部によるコマンド受付であり、
前記検出量は前記コマンド受付の回数である
ことを特徴とする請求項１記載の暗号処理実行装置。
【請求項４】
前記暗号処理実行装置はさらに、データを受信する受信部を備え、
前記検出量は、前記受信部が受信したデータ量である
ことを特徴とする請求項１記載の暗号処理実行装置。
【請求項５】
前記暗号処理実行装置はさらに、データを格納し、前記データを読込みまたは書込むデータ格納部を備え、
前記検出量は、前記データ格納部により前記データを読込みまたは書込んだデータ量である
ことを特徴とする請求項１記載の暗号処理実行装置。
【請求項６】
前記所定の処理は、認証鍵共有である
ことを特徴とする請求項１から請求項５のいずれか１項に記載の暗号処理実行装置。
【請求項７】
前記暗号処理実行装置はさらに、証明書無効化リストを格納する証明書無効化リスト格納部を備え、
前記所定の処理は、前記証明書無効化リスト格納部に格納されている前記証明書無効化リストの更新である
ことを特徴とする請求項１から請求項５のいずれか１項に記載の暗号処理実行装置。
【請求項８】
前記暗号処理実行部はさらに、前記所定の処理に失敗した場合に、前記コマンド受付部の前記コマンド受付を禁止する制御をする
ことを特徴とする請求項３記載の暗号処理実行装置。
【請求項９】
前記暗号処理実行部はさらに、前記所定の処理に成功した場合に、前記コマンド受付の禁止を解く制御をする
ことを特徴とする請求項８記載の暗号処理実行装置。
【請求項１０】
暗号や認証に関連する処理を実行するＩＣカードであって、
事象を検出する事象検出部と、
前記事象検出部の事象検出結果に基づき検出量を計量する計数部と、
前記計数部で計量している前記検出量が所定の条件を満たしているかを判定する処理判定部と、
前記処理判定部で判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行部とを備える
ことを特徴とするＩＣカード。
【請求項１１】
暗号や認証に関連する処理を実行する暗号処理実行方法であって、
事象を検出する事象検出ステップと、
前記事象検出ステップの事象検出結果に基づき検出量を計量する計数ステップと、
前記計数ステップで計量している前記検出量が所定の条件を満たしているかを判定する処理判定ステップと、
前記処理判定ステップで判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行ステップとを含む
ことを特徴とする暗号処理実行方法。
【請求項１２】
暗号や認証に関連する処理を実行する暗号処理実行装置に実行させるプログラムであって、
事象を検出する事象検出ステップと、
前記事象検出ステップの事象検出結果に基づき検出量を計量する計数ステップと、
前記計数ステップで計量している前記検出量が所定の条件を満たしているかを判定する処理判定ステップと、
前記処理判定ステップで判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行ステップとを実行させる
ことを特徴とするプログラム。
【請求項１３】
請求項１２記載のプログラムを記録する媒体。
【請求項１４】
暗号や認証に関連する処理を実行する暗号処理実行装置の集積回路であって、
事象を検出する事象検出部と、
前記事象検出部の事象検出結果に基づき検出量を計量する計数部と、
前記計数部で計量している前記検出量が所定の条件を満たしているかを判定する処理判定部と、
前記処理判定部で判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行部とを備える
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機器や端末間の暗号通信路を確保するための認証鍵共有技術に関するものである。
【背景技術】
【０００２】
近年、家庭用電化製品、携帯電話などの間でネットワークを介した通信を行う機会が増加している。例えば、ＡＶ機器では、コンテンツの著作権保護のために、機器同士で、また、携帯電話では通信内容の漏洩を防ぐため、認証鍵共有を行った後に、共有した鍵を用いて暗号化した通信を行うことがある。ここで、認証鍵共有とは、機器同士などで、通信相手の機器が正しく作られた機器であるかを、相互認証により確認し、それと同時に鍵を共有するものである。以下は、ＡＶ機器同士をＩＥＥＥ１３９４で接続したときに使用される、ＤＴＣＰ（Ｄｉｇｉｔａｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｉｏｎ）と呼ばれる著作権保護規格で規定されている認証鍵共有方法を示している（例えば、非特許文献１参照）。
【０００３】
ここで、認証鍵共有方法では公開鍵暗号を使用するため、処理時間が大きくなる。また、機器同士で通信のセッションを構成するたびに、認証鍵共有を実行するとセッション構成の処理時間が大きくなり現実的でないため、共有した鍵を認証鍵共有を実行した機器で保存しておき、次の通信のセッション時にも使い回すことで、認証鍵共有を削減し、全体の処理時間を削減する場合がある。
【０００４】
その場合、同じ共有鍵を使用し続けると安全性の問題が発生する場合がある。例えば、データの暗号文を複数使用して、使用している鍵を解析する攻撃があり、この攻撃は解析に使用する暗号文が多くなるほど、成功確率が増加する傾向がある。そのため、安全性の観点より、同じ共有鍵を使い回す有効期間を設ける必要がある。
【０００５】
例えば特許文献１では、共有鍵の有効期間を設定し、機器では時計を備え、その時計により有効期間の満了が近づくと、再び、認証鍵共有を実行している。このように、共有鍵の有効期間を設定することで、上記の安全性の問題を回避している。
【特許文献１】特開２００２−２１７８９６号公報
【非特許文献１】ＤＴＣＰ  ＳｐｅｃｉｆｉｃａｔｉｏｎのＷｈｉｔｅ  ｐａｐｅｒ、［ｏｎｌｉｎｅ］、［平成１８年４月６日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｄｔｃｐ．ｃｏｍ／ｄａｔａ／ｗｐ＿ｓｐｅｃ．ｐｄｆ＞
【非特許文献２】岡本龍明、山本博資、”現代暗号”、産業図書（１９９７年）
【非特許文献３】Ｆｅｄｅｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  ＰｒｏｃｅｓｓｉｎｇＳｔａｎｄａｒｄｓ  Ｐｕｂｌｉｃａｔｉｏｎ  １９７，「Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｆｏｒ  ｔｈｅ  ＡＤＶＡＮＣＥＤ  ＥＮＣＲＹＰＴＩＯＮ  ＳＴＡＮＤＡＲＤ（ＡＥＳ）」，Ｎｏｖｅｍｂｅｒ  ２６，２００１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、機器に時計が必要であり、時計を持たない機器では、共有鍵の有効期間を設定することができないという課題がある。そのため、共有鍵を無限に使用していまい、安全性の問題が発生する場合がある。
【０００７】
本発明は、上記課題を解決するもので、時計を持たない機器でも、共有鍵を無限に使用しないよう制御することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１における発明は、暗号や認証に関連する処理を実行する暗号処理実行装置であって、事象を検出する事象検出部と、前記事象検出部の事象検出結果に基づき検出量を計量する計数部と、前記計数部で計量している前記検出量が所定の条件を満たしているかを判定する処理判定部と、前記処理判定部で判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行部とを備えることを特徴とする。
【０００９】
請求項２における発明は、前記事象は、暗号処理実行装置の電源入または電源断の電源変化であり、前記検出量は前記電源変化の回数であることを特徴とする。
【００１０】
請求項３における発明は、前記暗号処理実行装置はさらに、コマンドを受け付けるコマンド受付部を備え、前記事象は、前記コマンド受付部によるコマンド受付であり、前記検出量は前記コマンド受付の回数であることを特徴とする。
【００１１】
請求項４における発明は、前記暗号処理実行装置はさらに、データを受信する受信部を備え、前記検出量は、前記受信部が受信したデータ量であることを特徴とする。
【００１２】
請求項５における発明は、前記暗号処理実行装置はさらに、データを格納し、前記データを読込みまたは書込むデータ格納部を備え、前記検出量は、前記データ格納部により前記データを読込みまたは書込んだデータ量であることを特徴とする。
【００１３】
請求項６における発明は、前記所定の処理は、認証鍵共有であることを特徴とする。
【００１４】
請求項７における発明は、前記暗号処理実行装置はさらに、証明書無効化リストを格納する証明書無効化リスト格納部を備え、前記所定の処理は、前記証明書無効化リスト格納部に格納されている前記証明書無効化リストの更新であることを特徴とする。
【００１５】
請求項８における発明は、前記暗号処理実行部はさらに、前記所定の処理に失敗した場合に、前記コマンド受付部の前記コマンド受付を禁止する制御をすることを特徴とする。
【００１６】
請求項９における発明は、前記暗号処理実行部はさらに、前記所定の処理に成功した場合に、前記コマンド受付の禁止を解く制御をすることを特徴とする。
【００１７】
請求項１０における発明は、暗号や認証に関連する処理を実行するＩＣカードであって、事象を検出する事象検出部と、前記事象検出部の事象検出結果に基づき検出量を計量する計数部と、前記計数部で計量している前記検出量が所定の条件を満たしているかを判定する処理判定部と、前記処理判定部で判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行部とを備えることを特徴とする。
【００１８】
請求項１１における発明は、暗号や認証に関連する処理を実行する暗号処理実行方法であって、事象を検出する事象検出ステップと、前記事象検出ステップの事象検出結果に基づき検出量を計量する計数ステップと、前記計数ステップで計量している前記検出量が所定の条件を満たしているかを判定する処理判定ステップと、前記処理判定ステップで判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行ステップとを含むことを特徴とする。
【００１９】
請求項１２における発明は、暗号や認証に関連する処理を実行する暗号処理実行装置に実行させるプログラムであって、事象を検出する事象検出ステップと、前記事象検出ステップの事象検出結果に基づき検出量を計量する計数ステップと、前記計数ステップで計量している前記検出量が所定の条件を満たしているかを判定する処理判定ステップと、前記処理判定ステップで判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行ステップとを実行させることを特徴とする。
【００２０】
請求項１３における発明は、請求項１２記載のプログラムを記録する媒体である。
【００２１】
請求項１４における発明は、暗号や認証に関連する処理を実行する暗号処理実行装置の集積回路であって、事象を検出する事象検出部と、前記事象検出部の事象検出結果に基づき検出量を計量する計数部と、前記計数部で計量している前記検出量が所定の条件を満たしているかを判定する処理判定部と、前記処理判定部で判定された結果に基づき、暗号や認証に関連する所定の処理を実行する暗号処理実行部とを備えることを特徴とする。
【発明の効果】
【００２２】
これらの構成によると、擬似的に共有鍵の有効期限を設定することにより、共有鍵を無限に使用しないよう制御でき、その価値は大きい。
【発明を実施するための最良の形態】
【００２３】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００２４】
（実施の形態１）
本発明に係る１の実施の形態としての暗号処理システム１０００について、説明する。図１は、実施の形態１における暗号処理システム１０００の構成を示す図である。
【００２５】
本暗号処理システム１０００は、管理装置１１００、暗号処理実行装置１２００を備える。暗号処理実行装置１２００は、例えば、ＩＣカードやＬＳＩなどのモジュールであり、管理装置１１００はＩＣカードのリーダ／ライタやＬＳＩのアクセスするための部を備えた機器や携帯端末である。
【００２６】
＜管理装置１１００の構成＞
図２は、管理装置１１００の構成を示す図である。管理装置１１００は、コマンド及びデータを暗号処理実行装置１２００へ送信するコマンド送信部１１０１と、コマンドに対する暗号処理実行装置１２００からの出力を受信するコマンド結果受信部１１０２と、管理装置１１００の公開鍵証明書ＣＡを格納する証明書格納部１１０３と、管理装置１１００の秘密鍵ＫＳＡを格納する秘密鍵格納部１１０４と、証明書無効化リストを格納する証明書無効化リスト格納部１１０５と、公開鍵証明書ＣＢを検証する証明書検証部１１０６と、証明書無効化リストを用いて、暗号処理実行装置１２００の公開鍵証明書ＣＢが無効であるか否かを確認する無効化確認部１１０７と、チャレンジデータを生成するチャレンジデータ生成部１１０８と、レスポンスデータを生成するレスポンスデータ生成部１１０９と、レスポンスデータを検証するレスポンスデータ検証部１１１０と、暗号化鍵データを復号化する公開鍵暗号復号化部１１１１と、共有鍵を格納する共有鍵格納部１１１２と、共通鍵暗号による暗号化データを復号化する共通鍵暗号復号化部１１１３と、復号化データを格納するデータ格納部１１１４とを備える。
【００２７】
コマンド送信部１１０１は、コマンド及びデータを暗号処理実行装置１２００へ送信する。使用するコマンドは、暗号処理実行装置１２００内のデータを安全に読み込むためのデータ読込みコマンド、認証鍵共有を開始する認証鍵共有開始コマンド、レスポンス検証を暗号処理実行装置１２００にさせるレスポンス検証コマンド、証明書無効化リストを暗号処理実行装置に更新させる証明書無効化リスト更新コマンドなどがある。なお、コマンドはこれらのコマンドに限らない。
【００２８】
コマンド結果受信部１１２０は、暗号処理実行装置１２００のコマンド実行結果を受け付ける。
【００２９】
証明書格納部１１０３は、管理装置１１００の公開鍵証明書ＣＡを格納する。公開鍵証明書ＣＡは、管理装置１１００の公開鍵ＫＰＡとその認証局による署名データＳｉｇ（ＫＳＣ，ＫＰＡ）からなる。ここで、ＫＳＣは認証局の秘密鍵であり、Ｓｉｇ（ＫＳ，Ｄ）は署名対象データＤの秘密鍵ＫＳを使用したときの署名データである。ここで使用する署名方式は、例えば、ＲＳＡ署名方式や楕円ＤＳＡ署名方式である。ＲＳＡ署名方式や楕円ＤＳＡ署名方式については、非特許文献２の１７５〜１７６ページ、１８２〜１８３ページに記載されている。
【００３０】
秘密鍵格納部１１０４は、管理装置１１００の秘密鍵ＫＳＡを格納する。秘密鍵ＫＳＡは予め、与えられ格納されているものとする。秘密鍵ＫＳＡは公開鍵ＫＰＡと対応しているものとする。
【００３１】
証明書無効化リスト格納部１１０５は、証明書無効化リストを格納する。証明書無効化リストは、何らかの方法で予め格納され、定期的または不定期に更新されているものとする。また、証明書無効化リストは、無効化された装置やサーバの証明書と、証明書無効化リストの発行日時と、それらを署名対象データとしたときの認証局による署名データからなる。
【００３２】
証明書検証部１１０６は、予め与えられた認証局の公開鍵ＫＰＣを用いて、公開鍵証明書ＣＢが正しいか否かを検証する。
【００３３】
無効化確認部１１０７は、証明書無効化リストに、暗号処理実行装置１２００（の証明書）が含まれているか否かを確認する。
【００３４】
チャレンジデータ生成部１１０８は、乱数であるチャレンジデータＮＡを生成する。
【００３５】
レスポンスデータ生成部１１０９は、コマンド結果受信部１１０２で受け付けるコマンド実行結果に含まれるチャレンジデータＮＢに対する、レスポンスデータＲＡを生成する。ここで、ＲＡ＝Ｓｉｇ（ＫＳＡ，ＮＢ）である。
【００３６】
レスポンスデータ検証部１１１０は、コマンド結果受信部１１０２で受け付けるコマンド実行結果に含まれるレスポンスデータＲＢを検証する。具体的には、ＲＢがチャレンジデータＮＡの秘密鍵ＫＳＢを用いたときの正しい署名データであるかを、公開鍵証明書ＣＢに含まれる公開鍵ＫＰＢを用いて検証する。ここで、秘密鍵ＫＳＢは、暗号処理実行装置１２００の秘密鍵である。
【００３７】
公開鍵暗号復号化部１１１１は、コマンド結果受信部１１０２で受け付けるコマンド実行結果に含まれる、暗号化鍵ＥＫを秘密鍵格納部１１０４に格納されている秘密鍵ＫＳＡを用いて公開鍵暗号の復号化を実行し、復号化結果を共有鍵ＡＫとして、共有鍵格納部１１１２に格納する。ここで使用する公開鍵暗号方式については、公開鍵暗号暗号化部１２１５の説明で述べる。
【００３８】
共有鍵格納部１１１２は、共有鍵ＡＫを格納する。
【００３９】
共通鍵暗号復号化部１１１３は、コマンド結果受信部１１０２で受け付けるコマンド実行結果に含まれる、暗号化データＥＤを共有鍵格納部１１１２で格納されている共有鍵ＡＫを用いて共通鍵暗号の復号化を実行し、復号化データＤＤをデータ格納部１１１４に格納する。ここで、使用する共通鍵暗号については、共通鍵暗号暗号化部１２１７の説明で述べる。
【００４０】
データ格納部１１１４は、復号化データＤＤを格納する。
【００４１】
＜暗号処理実行装置１２００の構成＞
図３は、暗号処理実行装置１２００の構成を示す図である。暗号処理実行装置１２００は、コマンド及びデータを受信するコマンド受信部１２０１と、コマンドの実行結果を送信するコマンド結果送信部１２０２と、暗号処理実行装置１１００の公開鍵証明書ＣＢを格納する証明書格納部１２０３と、暗号処理実行装置１２００の秘密鍵ＫＳＢを格納する秘密鍵格納部１２０４と、証明書無効化リストを格納する証明書無効化リスト格納部１２０５と、公開鍵証明書ＣＡを検証する証明書検証部１２０６と、証明書無効化リストを用いて、管理装置１１００の公開鍵証明書ＣＡが無効であるか否かを確認する無効化確認部１２０７と、証明書無効化リストに含まれる署名データを検証する証明書無効化リスト検証部１２０８と、管理装置１１００から受信した証明書無効化リストに含まれる発行日時と、証明書無効化リスト格納部１２０５に格納されている証明書無効化リストに含まれる発行日時を比較する発行日時比較部１２０９と、証明書無効化リストを更新する証明書無効化リスト更新部１２１０と、チャレンジデータを生成するチャレンジデータ生成部１２１１と、レスポンスデータを生成するレスポンスデータ生成部１２１２と、レスポンスデータを検証するレスポンスデータ検証部１２１３と、共有鍵を生成する共有鍵生成部１２１４と、共有鍵を暗号化して暗号化鍵データを生成する公開鍵暗号暗号化部１２１５と、共有鍵を格納する共有鍵格納部１２１６と、共通鍵暗号によりデータを暗号化し、暗号化データを生成する共通鍵暗号暗号化部１２１７と、データを格納するデータ格納部１２１８と、コマンド受信部１２０１のコマンド受信回数を計数するコマンド受信回数計数部１２１９と、コマンド受信回数を判定するコマンド受信回数判定部１２２０と、コマンド受信回数を初期化するコマンド受信回数初期化部１２２１を備える。
【００４２】
コマンド受信部１２０１は、管理装置１１００から送信されるコマンド及びデータを受信する。
【００４３】
コマンド結果送信部１２０２は、コマンド結果を管理装置１１００へ送信する。
【００４４】
証明書格納部１２０３は、暗号処理実行装置１１００の公開鍵証明書ＣＢを格納する。公開鍵証明書ＣＢは、暗号処理実行装置１２００の公開鍵ＫＰＢとその認証局による署名データＳｉｇ（ＫＳＣ，ＫＰＢ）からなる。
【００４５】
秘密鍵格納部１２０４は、暗号処理実行装置１２００の秘密鍵ＫＳＢを格納する。秘密鍵ＫＳＢは、公開鍵ＫＰＢと対応しているものとする。
【００４６】
証明書無効化リスト格納部１２０５は、証明書無効化リストを格納する。
【００４７】
証明書検証部１２０６は、予め与えられた認証局の公開鍵ＫＰＣを用いて、公開鍵証明書ＣＡが正しいか否かを検証する。
【００４８】
無効化確認部１２０７は、証明書無効化リストに、管理装置１１００（の公開鍵証明書ＣＡ）が含まれているか否かを確認する。
【００４９】
証明書無効化リスト検証部１２０８は、認証局の公開鍵ＫＰＣを用いて、管理装置１１００から受信した更新用証明書無効化リストに含まれる署名データが正しいか否かを検証する。
【００５０】
発行日時比較部１２０９は、更新用証明書無効化リストに含まれる発行日時と、証明書無効化リスト格納部１２０５に格納されている証明書無効化リストに含まれる発行日時を比較する。
【００５１】
証明書無効化リスト更新部１２１０は、更新用証明書無効化リストを証明書無効化リストとして更新する。
【００５２】
チャレンジデータ生成部１２１１は、乱数であるチャンレンジデータＮＢを生成する。
【００５３】
レスポンスデータ生成部１２１２は、コマンド受信部１２０１で受信するコマンドに含まれるチャレンジデータＮＡに対する、レスポンスデータＲＢを生成する。ここで、ＲＢ＝Ｓｉｇ（ＫＳＢ，ＮＡ）である。
【００５４】
レスポンスデータ検証部１２１３は、コマンド受信部１２０１で受信するコマンドに含まれるレスポンスデータＲＡを検証する。具体的には、ＲＡがチャレンジデータＮＢの秘密鍵ＫＳＡを用いたときの正しい署名データであるかを、証明書格納部１２０３に格納されている証明書ＣＡに含まれる公開鍵ＫＰＡを用いて検証する。
【００５５】
共有鍵生成部１２１４は、乱数である共有鍵ＡＫを生成する。共有鍵ＡＫは、共通鍵暗号用の鍵である。
【００５６】
公開鍵暗号暗号化部１２１５は、公開鍵ＫＰＡを用いて、共有鍵ＡＫの暗号化データＥＫを生成する。ここで、ＥＫ＝ＰＥｎｃ（ＫＰＡ，ＡＫ）である。ただし、ＰＥｎｃ（ＫＰ，Ｄ）はデータＤの公開鍵ＫＰを用いた公開鍵暗号による暗号化データである。使用する公開鍵暗号方式は、例えば、ＲＳＡ暗号方式や楕円ＥｌＧａｍａｌ暗号方式である。ＲＳＡ暗号と楕円ＥｌＧａｍａｌ暗号は、非特許文献２の１１０〜１１３ページ、１２０〜１２１ページに記載されている。
【００５７】
共有鍵格納部１２１６は、共有鍵ＡＫを格納する。
【００５８】
共通鍵暗号暗号化部１２１７は、データ格納部１２１８に格納されているデータＤを暗号化し暗号化データＥＤを生成する。ここで、ＥＤ＝Ｅｎｃ（Ｋ，Ｄ）である。ただし、Ｅｎｃ（Ｋ，Ｄ）はデータＤの鍵Ｋを用いたときの共通鍵暗号による暗号化データである。ここで、使用する共通鍵暗号方式は、例えば、ＴｒｉｐｌｅＤＥＳ暗号やＡＥＳ暗号である。ＡＥＳ暗号については非特許文献３に記載されている。
【００５９】
データ格納部１２１８は、データＤを格納する。
【００６０】
コマンド受信回数計数部１２１９は、前回に認証鍵共有を実行した後にコマンド受信部１２０１が受信した累積のコマンド受信回数ＱＳを計数し、保持する。すなわち、コマンド受信部１２０１がコマンドを受け付けるたびに、コマンド受信回数をインクリメントしていく。コマンド受信回数計数部１２１９はさらに、前回に証明書無効化リストを更新した後にコマンド受信部１２０１が受信した累積のコマンド受信回数ＱＣを計数し、保持する。
【００６１】
コマンド受信回数判定部１２２０は、コマンド受信回数計数部１２１３が保持するコマンド受信回数ＱＳが予め与えられたしきい値ＱＳＬ以上であるか否か、または、コマンド受信回数ＱＣが予め与えられたしきい値ＱＣＬ以上であるか否かを判定する。ＱＳＬは例えば１００、ＱＣＬは例えば１０００である。
【００６２】
コマンド受信回数初期化部１２２１は、コマンド受信回数ＱＳまたはＱＣを０に設定する。
【００６３】
＜暗号処理システム１０００の動作＞
暗号処理システム１０００の動作は、暗号処理実行装置１２００のデータを安全に管理装置１１００が読み込む「データ読込み時」と、管理装置１１００と暗号処理実行装置１２００が認証鍵共有する「認証鍵共有時」と、暗号処理実行装置１２００の証明書無効化リストを更新する「証明書無効化リスト更新時」のそれぞれの動作から構成される。「データ読込み時」のフローチャートを図４、「認証鍵共有時」のフローチャートを図５、６、「証明書無効化リスト更新時」のフローチャートを図７に示す。
【００６４】
●データ読込み時
ステップＳ１０１：管理装置１１００のコマンド送信部１１０１は、データ読込みコマンドを暗号処理実行装置１２００へ送信する。
【００６５】
ステップＳ１０２：暗号処理実行装置１２００のコマンド受信部１２０１は、データ読込みコマンドを受信する。
【００６６】
ステップＳ１０３：暗号処理実行装置１２００のコマンド受信回数計数部１２１９は、コマンド受信回数ＱＳとＱＣをそれぞれインクリメントする。
【００６７】
ステップＳ１０４：暗号処理実行装置１２００のコマンド受信回数判定部１２２０は、コマンド受信回数ＱＳを判定する。ＱＳがしきい値ＱＳＬ以上である場合は、次のステップＳ１０５へ。それ以外は、ステップＳ１０７へ。
【００６８】
ステップＳ１０５：暗号処理実行装置１２００のコマンド結果送信部１２０２は、認証鍵共有を要求する旨を示した認証鍵共有要求情報を、管理装置１１００へ送信する。
【００６９】
ステップＳ１０６：管理装置１１００のコマンド結果受信部１１０２は、認証鍵共有要求情報を受信し、「認証鍵共有時」の動作に移る。
【００７０】
ステップＳ１０７：暗号処理実行装置１２００のコマンド受信回数判定部１２２０は、コマンド受信回数ＱＣを判定する。ＱＣがしきい値ＱＣＬ以上である場合は、次のステップＳ１０８へ。それ以外は、ステップＳ１１０へ。
【００７１】
ステップＳ１０８：暗号処理実行装置１２００のコマンド結果送信部１２０２は、証明書無効化リスト更新を要求する旨を示した更新要求情報を、管理装置１１００へ送信する。
【００７２】
ステップＳ１０９：管理装置１１００のコマンド結果受信部１１０２は、更新要求情報を受信し、「証明書無効化リスト更新時」の動作に移る。
【００７３】
ステップＳ１１０：暗号処理実行装置１２００の共通鍵暗号暗号化部１２１７は、暗号化データＥＤを生成する。
【００７４】
ステップＳ１１１：暗号処理実行装置１２００のコマンド結果送信部１２１８は、暗号化データＥＤを管理装置１１００へ送信する。
【００７５】
ステップＳ１１２：管理装置１１００のコマンド結果受信部１１０２は、暗号化データＥＤを受信する。
【００７６】
ステップＳ１１３：管理装置１１００の共通鍵暗号復号化部１１１３は、暗号化データＥＤから復号化データＤＤを生成し、データ格納部１１１４に格納する。終了。
【００７７】
●認証鍵共有時
ステップＳ１５１：管理装置１１００のチャレンジデータ生成部１１０８は、チャレンジデータＮＡを生成する。
【００７８】
ステップＳ１５２：管理装置１１００のコマンド送信部１１０１は、認証鍵共有開始コマンドと、証明書格納部１１０３に格納されている公開鍵証明書ＣＡと、チャレンジデータＮＡを、暗号処理実行装置１２００へ送信する。
【００７９】
ステップＳ１５３：暗号処理実行装置１２００のコマンド受信部１２０１は、管理装置１００から認証鍵共有開始コマンドと、公開鍵証明書ＣＡと、チャレンジデータＮＡを受信する。
【００８０】
ステップＳ１５４：暗号処理実行装置１２００の無効化確認部１２０７は、公開鍵証明書ＣＡが無効であるか否かを確認する。無効でない場合は、次のステップＳ１５５へ。無効である場合は、処理を終了させる。
【００８１】
ステップＳ１５５：暗号処理実行装置１２００の証明書検証部１２０６は、公開鍵証明書ＣＡが正しいか否かを検証する。公開鍵証明書ＣＡが正しい場合は、次のステップＳ１５６へ。正しくない場合は、処理を終了させる。
【００８２】
ステップＳ１５６：暗号処理実行装置１２００のレスポンスデータ生成部１２１２は、レスポンスデータＲＢを生成する。
【００８３】
ステップＳ１５７：暗号処理実行装置１２００のチャレンジデータ生成部１２１１は、チャレンジデータＮＢを生成する。
【００８４】
ステップＳ１５８：暗号処理実行装置１２００のコマンド結果送信部１２０２は、証明書格納部１２０３に格納されている公開鍵証明書ＣＢと、レスポンスデータＲＢと、チャレンジデータＮＢを管理装置１１００へ送信する。
【００８５】
ステップＳ１５９：管理装置１１００のコマンド結果受信部１１０２は、暗号処理実行装置１２００から公開鍵証明書ＣＢと、レスポンスデータＲＢと、チャレンジデータＮＢを受信する。
【００８６】
ステップＳ１６０：管理装置１１００の無効化確認部１１０７は、公開鍵証明書ＣＢが無効であるか否かを確認する。無効でない場合は、次のステップＳ１６１へ。無効である場合は、処理を終了させる。
【００８７】
ステップＳ１６１：管理装置１１００の証明書検証部１１０６は、公開鍵証明書ＣＢが正しいか否かを検証する。公開鍵証明書ＣＢが正しい場合は、次のステップＳ１６２へ。正しくない場合は、処理を終了させる。
【００８８】
ステップＳ１６２：管理装置１１００のレスポンスデータ検証部１１１０は、レスポンスデータＲＢを検証する。レスポンスデータＲＢが正しい場合は、次のステップＳ１６３へ。正しくない場合は、処理を終了させる。
【００８９】
ステップＳ１６３：管理装置１１００のレスポンスデータ生成部１１０９は、レスポンスデータＲＡを生成する。
【００９０】
ステップＳ１６４：管理装置１１００のコマンド送信部１１０１は、レスポンス検証コマンドとレスポンスデータＲＡを暗号処理実行装置１２００へ送信する。
【００９１】
ステップＳ１６５：暗号処理実行装置１２００のコマンド受信部１２０１は、管理装置からレスポンス検証コマンドとレスポンスデータＲＡを受信する。
【００９２】
ステップＳ１６６：暗号処理実行装置１２００のレスポンスデータ検証部１２１３は、レスポンスデータＲＡを検証する。レスポンスデータＲＡが正しい場合は、次のステップＳ１６７へ。正しくない場合は、処理を終了させる。
【００９３】
ステップＳ１６７：暗号処理実行装置１２００の共有鍵生成部１２１４は、共有鍵ＡＫを生成し、公開鍵格納部１２１６に格納する。
【００９４】
ステップＳ１６８：暗号処理実行装置１２００の公開鍵暗号暗号化部１２１５は、暗号化鍵ＥＫを生成する。
【００９５】
ステップＳ１６９：暗号処理実行装置１２００のコマンド受信回数初期化部１２２１は、コマンド受信回数ＱＳを０に設定する。
【００９６】
ステップＳ１７０：暗号処理実行装置１２００のコマンド結果送信部１２０２は、暗号化鍵ＥＫを管理装置１１００へ送信する。
【００９７】
ステップＳ１７１：管理装置１１００のコマンド結果受信部１１０２は、管理装置１１００から暗号化鍵ＥＫを受信する。
【００９８】
ステップＳ１７２：管理装置１１００の公開鍵暗号復号化部１１１１は、暗号化鍵ＥＫを復号化し共有鍵Ｋを生成し、共有鍵格納部１１１２に格納する。終了。
【００９９】
●証明書無効化リスト更新時
ステップＳ２０１：管理装置１１００のコマンド送信部１１０１は、証明書無効化リスト更新コマンドと証明書無効化リスト格納部１１０５に格納されている証明書無効化リストを暗号処理実行装置１２００へ送信する。
【０１００】
ステップＳ２０２：暗号処理実行装置１２００のコマンド受信部１２０１は、管理装置１１００から証明書無効化リスト更新コマンドと証明書無効化リストを受信し、証明書無効化リストを更新用証明書無効化リストとする。
【０１０１】
ステップＳ２０３：暗号処理実行装置１２００の発行日時比較部１２０９は、更新用証明書無効化リストと証明書無効化リスト格納部１２０５に格納されている証明書無効化リストである現証明書無効化リストの発行日時を比較する。更新用証明書無効化リストが現証明書無効化リスト以降に発行されている場合、次のステップＳ２０４へ。それ以外は、処理を終了させる。
【０１０２】
ステップＳ２０４：暗号処理実行装置１２００の証明書無効化リスト検証部１２０８は、更新用証明書無効化リストが正しいか否かを検証する。更新用証明書無効化リストが正しい場合は、次のステップＳ２０５へ。正しくない場合は、処理を終了させる。
【０１０３】
ステップＳ２０５：暗号処理実行装置１２００の証明書無効化リスト更新部１２１０は、証明書無効化リストを更新する。
【０１０４】
ステップＳ２０６：暗号処理実行装置１２００のコマンド受信回数初期化部１２２１は、コマンド受信回数ＱＣを０に設定する。
【０１０５】
ステップＳ２０７：暗号処理実行装置１２００のコマンド結果送信部１２０２は、証明書無効化リストが更新完了した旨を示す更新完了情報を管理装置１１００へ送信する。
【０１０６】
ステップＳ２０８：管理装置１１００のコマンド結果受信部１１０２は、更新完了情報を受信する。終了。
【０１０７】
＜実施の形態１の効果＞
実施の形態１では、共有鍵の更新をするための認証鍵共有と、証明書無効化リスト更新を暗号処理実行装置が受け付けた累積のコマンド回数により判定し、実行している。このようにすることで、共有鍵や証明書無効化リストの有効期限を擬似的に設定することが可能となり、無限に同じ共有鍵や証明書無効化リストを使用することがなくなる。これにより、共有鍵や証明書無効化リストを更新しないことによる安全性の問題を防ぐことが可能となり、有効である。
【０１０８】
また、暗号処理実行装置は、コマンドを受信することをトリガとしてのみ、処理を実行が可能であるが、この場合に通常においては、暗号処理実行装置自身から証明書無効化リストを更新しようとすることはできない。これに対し、実施の形態１では、データ読込み時に証明書無効化リスト更新を要求する更新要求情報をコマンド結果として送信することで、証明書無効化リスト更新をするよう促すことが可能となり、有効である。
【０１０９】
（変形例）
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において種々なる態様で実施し得るものである。例えば、以下のような場合も本発明に含まれる。
【０１１０】
（１）  実施の形態１では、公開鍵証明書の署名対象データは公開鍵のみとしているが、これにさらに公開鍵以外の情報、例えば、装置のＩＤ情報や証明書の発行日時を含むとしてもよい。
【０１１１】
（２）  実施の形態１では、証明書無効化リストには、公開鍵証明書を含むとしているが、これにさらに他の情報、例えば、無効化された装置やサーバの総数を含まれていてもよい。また、公開鍵証明書の代わりに装置やサーバの公開鍵やＩＤ情報が含まれていてもよい。
【０１１２】
（３）  実施の形態１のデータ読込み時は、単純に暗号処理実行装置のデータ格納部に格納されているデータを安全に（暗号化して）送信するとしているが、これをあるアドレス範囲のデータを読み込むとしてもよい。また、この場合、管理装置はコマンドだけでなく、アドレス範囲も暗号処理実行装置へ送信してもよい。
【０１１３】
（４）  実施の形態１では、コマンド受信回数の累積数により、認証鍵共有や証明書無効化リストを更新するとしているが、これをデータ読込み時に読み込んだデータ量の累積量により更新するとしてもよい。管理装置から暗号処理実行装置のデータ書き込みをする処理を追加し、その書き込みデータ量の累積量により更新するとしてもよい。暗号処理実行装置でコマンド回数を計数する代わりに、暗号処理実行装置自身の電源の入または断の回数を計数し、その累積数により更新するとしてもよい。また、管理装置と暗号処理実行装置間の通信量を計測し、その累積量により更新するとしてもよい。さらに、暗号処理実行装置の電力消費量を計測し、この累積量により更新するとしてもよい。この他、不規則に発生する事象の計測で得られる検出量の累積量により、更新するとしてもよい。
【０１１４】
（５）  実施の形態１では、コマンド受信回数初期化部を備えているが、これがなく、コマンド受信回数判定部において、コマンド受信回数が予め与えられた所定の条件を満たすことを判定しても良い。所定の条件は、例えば、ある整数（１００など）で割り切れるであってもよい。
【０１１５】
（６）  実施の形態１における、コマンド結果にそれぞれの処理の失敗・成功を示すフラグを含めてもよい。例えば、データ読込み時に、認証鍵共有または証明書無効化リスト更新が必要となった場合に、データ読込み失敗、必要とならなかった場合に、データ読込み成功を示すフラグをコマンド結果に含めてもよい。
【０１１６】
（７）  実施の形態１では、認証鍵共有及び証明書無効化リスト更新の実行有無の両方をコマンド受信回数で判定しているが、片方のみを判定してもよい。また、認証鍵共有や証明書無効化リスト更新以外の暗号処理、例えば、暗号処理実行装置の鍵対を更新する処理の実行有無を判定してもよい。
【０１１７】
（８）  上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１１８】
（９）  上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１１９】
（１０）  上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１２０】
（１１）  本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるディジタル信号であるとしてもよい。
【０１２１】
（１２）  また、本発明は、前記コンピュータプログラムまたは前記ディジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記ディジタル信号であるとしてもよい。
【０１２２】
（１３）  また、本発明は、前記コンピュータプログラムまたは前記ディジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１２３】
（１４）  また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１２４】
（１５）  また、前記プログラムまたは前記ディジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記ディジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１２５】
（１６）  上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１２６】
これらの構成によると、共有鍵や証明書無効化リストを更新しないことによる安全性の問題を防ぐことができる。
【図面の簡単な説明】
【０１２７】
【図１】本発明に係る１個の実施の形態としての暗号処理システム１０００の構成を示すブロック図
【図２】管理装置１１００の構成を示す図
【図３】暗号処理実行装置１２００の構成を示す図
【図４】暗号処理システム１０００の「データ読込み時」の動作を示すフローチャート
【図５】暗号処理システム１０００の「認証鍵共有時」の前半部分の動作を示すフローチャート
【図６】暗号処理システム１０００の「認証鍵共有時」の後半部分の動作を示すフローチャート
【図７】暗号処理システム１０００の「証明書無効化リスト更新時」の動作を示すフローチャート
【符号の説明】
【０１２８】
１０００    暗号処理システム
１１００    管理装置
１１０１    コマンド送信部
１１０２    コマンド結果受信部
１１０３，１２０３    証明書格納部
１１０４，１２０４    秘密鍵格納部
１１０５，１２０５    証明書無効化リスト格納部
１１０６，１２０６    証明書検証部
１１０７，１２０７    無効化確認部
１１０８，１２１１    チャレンジデータ生成部
１１０９，１２１２    レスポンスデータ生成部
１１１０，１２１３    レスポンスデータ検証部
１１１１    公開鍵暗号復号化部
１１１２，１２１６    共有鍵格納部
１１１３    共通鍵暗号復号化部
１１１４，１２１８    データ格納部
１２００    暗号処理実行装置
１２０１    コマンド受信部
１２０２    コマンド結果送信部
１２０８    証明書無効化リスト検証部
１２０９    発行日時比較部
１２１０    証明書無効化リスト更新部
１２１４    共有鍵生成部
１２１５    公開鍵暗号暗号化部
１２１７    共通鍵暗号暗号化部
１２１９    コマンド受信回数計数部
１２２０    コマンド受信回数判定部
１２２１    コマンド受信回数初期化部
【図１】
2007300309.tif 000003
【図２】
2007300309.tif 000004
【図３】
2007300309.tif 000005
【図４】
2007300309.tif 000006
【図５】
2007300309.tif 000007
【図６】
2007300309.tif 000008
【図７】
2007300309.tif 000009