(57)【要約】【課題】電子証明書の有効期限の判定に用いる適切な時刻データを保持し定期的に更新することが可能な電子情報記憶媒体、ＩＣカード、時刻データ更新方法、及びプログラムを提供する。【解決手段】電子証明書の有効期限の判定に用いる時刻データを記憶するＳＥは、外部装置との間でセキュリティを確保するためのセキュリティ処理を実行する。そして、ＳＥは、セキュリティ処理を通じてセキュリティが確保された外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、当該受信された現在時刻データにより、上記記憶されている時刻データを更新する。【選択図】図４
2020048061.tif 000002
【特許請求の範囲】
【請求項１】
電子証明書の有効期限の判定に用いる時刻データを記憶する不揮発性メモリを備える電子情報記憶媒体であって、
外部装置との間でセキュリティを確保するためのセキュリティ処理を行う処理手段と、
前記セキュリティ処理を通じてセキュリティが確保された前記外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新する更新手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項２】
前記処理手段は、前記セキュリティ処理において前記外部装置と前記電子情報記憶媒体の共通鍵を用いて前記外部装置の認証を実行し、
前記更新手段は、前記認証の結果が認証成功となることにより前記セキュリティが確保された前記外部装置から前記現在時刻データを受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新することを特徴とする請求項１に記載の電子情報記憶媒体。
【請求項３】
前記処理手段は、前記セキュリティ処理において前記不揮発性メモリに記憶された時刻データを用いて前記外部装置の電子証明書の有効期限の検査を含む検証を実行し、
前記更新手段は、前記検証の結果が検証成功となることにより前記セキュリティが確保された前記外部装置から前記現在時刻データを受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新することを特徴とする請求項１に記載の電子情報記憶媒体。
【請求項４】
前記処理手段は、前記セキュリティ処理において前記不揮発性メモリに記憶された時刻データを用いて前記外部装置の電子証明書の有効期限の検査を含む検証を実行し、
前記更新手段は、前記検証の結果が検証成功となることにより前記セキュリティが確保された前記外部装置から前記現在時刻データを受信し、
前記処理手段は、前記受信された現在時刻データを用いて前記外部装置の電子証明書の有効期限の再検査を実行し当該有効期限が経過している場合、前記検証成功を取り消すことを特徴とする請求項１に記載の電子情報記憶媒体。
【請求項５】
前記更新手段は、前記受信された現在時刻データが示す時刻が、前記不揮発性メモリに記憶された時刻データが示す時刻より後である場合に限り、当該受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新することを特徴とする請求項１乃至４の何れか一項に記載の電子情報記憶媒体。
【請求項６】
前記更新手段は、前記受信された現在時刻データが示す時刻が、前記不揮発性メモリに記憶された時刻データが示す時刻より前である場合、前記不揮発性メモリに記憶された時刻データを更新せずにエラー処理を行うことを特徴とする請求項１乃至４の何れか一項に記載の電子情報記憶媒体。
【請求項７】
電子証明書の有効期限の判定に用いる時刻データを記憶する不揮発性メモリを備えるＩＣカードであって、
外部装置との間でセキュリティを確保するためのセキュリティ処理を行う処理手段と、
前記セキュリティ処理を通じてセキュリティが確保された前記外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新する更新手段と、
を備えることを特徴とするＩＣカード。
【請求項８】
電子証明書の有効期限の判定に用いる時刻データを記憶する不揮発性メモリを備える電子情報記憶媒体に含まれるコンピュータにより実行される時刻データ更新方法であって、
外部装置との間でセキュリティを確保するためのセキュリティ処理を行うステップと、
前記セキュリティ処理を通じてセキュリティが確保された前記外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新するステップと、
を含むことを特徴とする時刻データ更新方法。
【請求項９】
電子証明書の有効期限の判定に用いる時刻データを記憶する不揮発性メモリを備える電子情報記憶媒体に含まれるコンピュータを、
外部装置との間でセキュリティを確保するためのセキュリティ処理を行う処理手段と、
前記セキュリティ処理を通じてセキュリティが確保された前記外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新する更新手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子証明書の検証を行うＩＣカード等の電子情報記憶媒体の技術分野に関する。
【背景技術】
【０００２】
従来、電子証明書の検証を行うＩＣカードが知られている。例えば、特許文献１に開示された非接触ＩＣカードは、端末装置から受信した乱数と署名値とサーバ証明書とから署名値の正当性を確認し、当該サーバ証明書と上位認証局証明書とから当該サーバ証明書の正当性を確認し、確認が失敗であれば、端末装置に失敗通知を送信するように構成されている（特許文献１の図７）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2009-140275号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、電子証明書を検証する場合、当該電子証明書の有効期限を判定する必要があるため、時刻データを保持する必要がある。しかし、ＩＣカードには、消費電力などの関係から水晶振動子（水晶発振器）などが搭載されていないため、時刻をカウントすることができず、ＩＣカード自身で時刻データを更新することができない。そのため、ＩＣカードは、電子証明書の失効を検知することができない。
【０００５】
そこで、本発明は、このような点等に鑑みてなされたものであり、電子証明書の有効期限の判定に用いる適切な時刻データを保持し定期的に更新することが可能な電子情報記憶媒体、ＩＣカード、時刻データ更新方法、及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、電子証明書の有効期限の判定に用いる時刻データを記憶する不揮発性メモリを備える電子情報記憶媒体であって、外部装置との間でセキュリティを確保するためのセキュリティ処理を行う処理手段と、前記セキュリティ処理を通じてセキュリティが確保された前記外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新する更新手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の電子情報記憶媒体において、前記処理手段は、前記セキュリティ処理において前記外部装置と前記電子情報記憶媒体の共通鍵を用いて前記外部装置の認証を実行し、前記更新手段は、前記認証の結果が認証成功となることにより前記セキュリティが確保された前記外部装置から前記現在時刻データを受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新することを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１に記載の電子情報記憶媒体において、前記処理手段は、前記セキュリティ処理において前記不揮発性メモリに記憶された時刻データを用いて前記外部装置の電子証明書の有効期限の検査を含む検証を実行し、前記更新手段は、前記検証の結果が検証成功となることにより前記セキュリティが確保された前記外部装置から前記現在時刻データを受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項１に記載の電子情報記憶媒体において、前記処理手段は、前記セキュリティ処理において前記不揮発性メモリに記憶された時刻データを用いて前記外部装置の電子証明書の有効期限の検査を含む検証を実行し、前記更新手段は、前記検証の結果が検証成功となることにより前記セキュリティが確保された前記外部装置から前記現在時刻データを受信し、前記処理手段は、前記受信された現在時刻データを用いて前記外部装置の電子証明書の有効期限の再検査を実行し当該有効期限が経過している場合、前記検証成功を取り消すことを特徴とする。
【００１０】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載の電子情報記憶媒体において、前記更新手段は、前記受信された現在時刻データが示す時刻が、前記不揮発性メモリに記憶された時刻データが示す時刻より後である場合に限り、当該受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新することを特徴とする。
【００１１】
請求項６に記載の発明は、請求項１乃至４の何れか一項に記載の電子情報記憶媒体において、前記更新手段は、前記受信された現在時刻データが示す時刻が、前記不揮発性メモリに記憶された時刻データが示す時刻より前である場合、前記不揮発性メモリに記憶された時刻データを更新せずにエラー処理を行うことを特徴とする。
【００１２】
請求項７に記載の発明は、電子証明書の有効期限の判定に用いる時刻データを記憶する不揮発性メモリを備えるＩＣカードであって、外部装置との間でセキュリティを確保するためのセキュリティ処理を行う処理手段と、前記セキュリティ処理を通じてセキュリティが確保された前記外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新する更新手段と、を備えることを特徴とする。
【００１３】
請求項８に記載の発明は、電子証明書の有効期限の判定に用いる時刻データを記憶する不揮発性メモリを備える電子情報記憶媒体に含まれるコンピュータにより実行される時刻データ更新方法であって、外部装置との間でセキュリティを確保するためのセキュリティ処理を行うステップと、前記セキュリティ処理を通じてセキュリティが確保された前記外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新するステップと、を含むことを特徴とする。
【００１４】
請求項９に記載の発明は、電子証明書の有効期限の判定に用いる時刻データを記憶する不揮発性メモリを備える電子情報記憶媒体に含まれるコンピュータを、外部装置との間でセキュリティを確保するためのセキュリティ処理を行う処理手段と、前記セキュリティ処理を通じてセキュリティが確保された前記外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、受信された現在時刻データにより前記不揮発性メモリに記憶された時刻データを更新する更新手段として機能させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、電子証明書の有効期限の判定に用いる適切な時刻データを保持し定期的に更新することができる。
【図面の簡単な説明】
【００１６】
【図１】ＳＥのハードウェア構成例を示す図である。
【図２】共通鍵暗号方式を利用した外部認証の一例を示す図である。
【図３】公開鍵暗号方式を利用した外部認証の一例を示す図である。
【図４】共通鍵暗号方式を利用した外部認証を適用した場合の時刻データ更新処理の一例を示す図である。
【図５】公開鍵暗号方式を利用した外部認証を適用した場合の時刻データ更新処理の一例を示す図である。
【図６】時刻データ更新コマンドのフォーマット例を示す図である。
【図７】証明書検証処理の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、セキュアエレメント（以下、「ＳＥ」という）に対して本発明を適用した場合の実施の形態である。
【００１８】
［１．ＳＥの構成及び機能］
先ず、図１を参照して、本実施形態に係るＳＥ（本発明の電子情報記憶媒体の一例）の構成及び機能について説明する。図１は、ＳＥのハードウェア構成例を示す図である。図１に示すように、ＳＥは、ＣＰＵ（Central Processing Unit）１０、ＲＡＭ（Random Access Memory）１１、ＲＯＭ（Read Only Memory）１２、ＮＶＭ（Nonvolatile Memory）１３（不揮発性メモリ）、及びＩ／Ｏ回路１４などを備えて構成される。ただし、ＲＯＭ１２は備えられない場合もある。ＳＥは、水晶振動子などが搭載されていないため、自ら時刻をカウント（計測）することができない（つまり、時計機能を有さない）。なお、ＳＥは、ＩＣチップとしてＩＣカードに搭載されてもよいし、eUICC（Embedded Universal Integrated Circuit Card）として端末から容易に取り外しや取り換えができないように組み込み基盤上に実装（つまり、端末と一体的に形成）されてもよい。
【００１９】
Ｉ／Ｏ回路１４は、ＳＥの通信相手となる外部装置とのインターフェースを担う。インターフェースの例として、ISO7816のインターフェース、ＳＷＰ（Single Wire Protocol）のインターフェース、及びＳＰＩ（Serial Peripheral Interface)などが挙げられる。外部装置の例として、サーバ、及び端末などが挙げられる。なお、Ｉ／Ｏ回路１４には、例えば、アンテナ、及び変復調回路が備えられてもよい。
【００２０】
ＣＰＵ１０は、ＲＯＭ１２またはＮＶＭ１３に記憶された各種プログラムを実行するプロセッサ（コンピュータ）である。ＲＡＭ１１は、作業用メモリとして利用される。ＮＶＭ１３には、例えばフラッシュメモリが適用される。ＮＶＭ１３は、「Electrically Erasable Programmable Read-Only Memory」であってもよい。ＮＶＭ１３には、各種プログラム（本発明のプログラムを含む）及びデータが記憶される。各種プログラムには、オペレーティングシステム、及びアプリケーションプログラムなどが含まれる。なお、ＮＶＭ１３に記憶される各種プログラム及びデータの一部は、ＲＯＭ１２に記憶されてもよい。
【００２１】
また、ＮＶＭ１３には、ＰＫＩ (公開鍵暗号基盤)の電子証明書（デジタル証明書）の有効期限の検査に用いる時刻データが記憶される。ここで、時刻データは、時刻（年月日時、月日時、または日時）を示すデータであり、時計機能を有し、且つ、セキュリティが確保された（つまり、信頼できる）外部装置から取得される。電子証明書は、所定の認証局により発行される。電子証明書には、公開鍵、当該公開鍵に対応する秘密鍵の所有者の情報、及び有効期限などが記述され、当該電子証明書を発行した認証局の電子署名が付与されている。
【００２２】
ＣＰＵ１０は、本発明のプログラムに従って、本発明における処理手段及び更新手段として機能する。より具体的には、ＣＰＵ１０は、外部装置との間でセキュリティを確保するためのセキュリティ処理を行う。そして、ＣＰＵ１０は、セキュリティ処理を通じてセキュリティが確保された外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、当該受信された現在時刻データにより、ＮＶＭ１３に記憶された時刻データを更新（上書き）する。
【００２３】
ここで、セキュリティ処理の例として、共通鍵暗号方式を利用した外部認証と、公開鍵暗号方式を利用した外部認証とが挙げられる。共通鍵暗号方式を利用した外部認証は、外部装置との間で共有している共通鍵で乱数などのデータを暗号化し、暗号化されたデータが一致することを以って認証とする方式である。一方、公開鍵暗号方式を利用した外部認証は、ＰＫＩの電子証明書の検証（電子証明書の有効期限の検査を含む）を実行し、当該電子証明書の検証成功を以って認証とする方式である。
【００２４】
図２は、共通鍵暗号方式を利用した外部認証の一例を示す図である。図２の例では、ＳＥ及び外部装置のそれぞれには、ＳＥと外部装置の共通鍵Ｋ（つまり、両者で共有している共通鍵Ｋ）が記憶される。図２の例において、外部装置は、乱数１を生成し（ステップＳ１）、当該乱数１をＳＥへ送信する（ステップＳ２）。次に、ＳＥは、乱数２を生成し、かつ、受信された乱数１を共通鍵Ｋを用いて暗号化し（ステップＳ３）、当該乱数２及び暗号化された乱数１（以下、「暗号化乱数１」という）を外部装置へ送信する（ステップＳ４）。次に、外部装置は、受信された暗号化乱数１を共通鍵Ｋを用いて復号し、復号された乱数１とステップＳ１で生成された乱数１とを照合し（ステップＳ５）、互いの乱数１が一致する場合、ＳＥの認証成功と判定する。
【００２５】
そして、外部装置は、認証成功と判定した場合、受信された乱数２を共通鍵Ｋを用いて暗号化し（ステップＳ６）、暗号化された乱数２（以下、「暗号化乱数２」という）をＳＥへ送信する（ステップＳ７）。次に、ＳＥは、受信された暗号化乱数２を共通鍵Ｋを用いて復号し、復号された乱数２とステップＳ３で生成された乱数２とを照合し（ステップＳ８）、互いの乱数２が一致する場合、外部装置の認証成功と判定する一方、互いの乱数２が一致しない場合、外部装置の認証失敗と判定する。そして、ＳＥは、認証の結果を外部装置へ送信する（ステップＳ９）。このように、ＳＥは、共通鍵Ｋを用いて外部装置の認証を実行し、当該認証の結果が認証成功となることにより外部装置のセキュリティが確保されることになる。
【００２６】
一方、図３は、公開鍵暗号方式を利用した外部認証の一例を示す図である。図３の例では、ＳＥには、ＳＥの電子証明書、及び当該電子証明書を発行した認証局の公開鍵が記憶され、外部装置には、外部装置の電子証明書、及び当該電子証明書を発行した認証局の公開鍵が記憶される。なお、ＳＥには、ＳＥの秘密鍵及び外部装置の公開鍵が記憶され、外部装置には、外部装置の秘密鍵及びＳＥの公開鍵が記憶される。図３の例において、外部装置は、自身の電子証明書をＳＥへ送信する（ステップＳ１１）。次に、ＳＥは、受信された電子証明書（外部装置の電子証明書）の検証として、ＮＶＭ１３に記憶されている時刻データを用いて当該電子証明書の有効期限の検査（ステップＳ１２）、及び認証局の公開鍵を用いて当該電子証明書に付与された認証局の電子署名の署名検証を実行する（ステップＳ１３）。そして、ＳＥは、当該有効期限が経過しておらず、且つ、電子署名の署名検証が成功した場合、電子証明書の検証成功（言い換えれば、外部装置の認証成功）と判定する一方、当該有効期限が経過しているか、または、電子署名の署名検証が失敗した場合、電子証明書の検証失敗（言い換えれば、外部装置の認証失敗）と判定する。
【００２７】
そして、ＳＥは、検証の結果、及び自身の電子証明書を外部装置へ送信する（ステップＳ１４）。このように、ＳＥは、時刻データ及び認証局の公開鍵を用いて外部装置の電子証明書の検証を実行し、当該検証の結果が検証成功となることにより外部装置のセキュリティが暫定的に確保されることになる。ただし、ステップＳ１２で用いられた時刻データは古い場合もあるので、ＳＥは、上記検証成功の後に受信された現在時刻データを用いて外部装置の電子証明書の有効期限の再検査を実行し当該有効期限が経過している場合、上記検証成功を取り消すように構成するとよい。この場合、当該受信された現在時刻データによる時刻データの更新は行われない。なお、ＳＥは、電子証明書の検証において、上記に加えて、外部装置の電子署名（外部装置の秘密鍵で署名）が付与された署名データを外部装置から受信し、外部装置の公開鍵を用いて当該署名データにおける電子署名の署名検証を実行してもよく、この場合、ＳＥは、上記有効期限が経過しておらず、且つ、認証局及び外部装置のそれぞれの電子署名の署名検証が成功した場合に、電子証明書の検証成功と判定することになる。
【００２８】
一方、外部装置は、受信された電子証明書（ＳＥの電子証明書）の検証として、時計機能により取得された現在時刻データを用いて当該電子証明書の有効期限の検査（ステップＳ１５）、及び認証局の公開鍵を用いて当該電子証明書に付与された認証局の電子署名の署名検証を実行する（ステップＳ１６）。そして、外部装置は、当該有効期限が経過しておらず、且つ、電子署名の署名検証が成功した場合、電子証明書の検証成功と判定する一方、当該有効期限が経過しているか、または、電子署名の署名検証が失敗した場合、電子証明書の検証失敗と判定する。なお、外部装置は、電子証明書の検証においても、上記に加えて、ＳＥの電子署名（ＳＥの秘密鍵で署名）が付与された署名データをＳＥから受信し、ＳＥの公開鍵を用いて当該署名データにおける電子署名の署名検証を実行してもよい。
【００２９】
［２．ＳＥにおける時刻データの更新時の動作］
次に、図４及び図５を参照して、ＳＥにおける時刻データの更新時の動作について説明する。図４は、共通鍵暗号方式を利用した外部認証を適用した場合の時刻データ更新処理の一例を示す図であり、図５は、公開鍵暗号方式を利用した外部認証を適用した場合の時刻データ更新処理の一例を示す図である。
【００３０】
先ず、図４に示す時刻データ更新処理は、外部装置から外部認証コマンドが受信された場合に開始される。外部認証コマンドの例として、ISO7816等で規定された「EXTERNAL AUTHENTICATE コマンド」が挙げられる。図４に示す処理が開始されると、ＳＥは、セキュリティ処理として、図２を参照して説明したように、共通鍵暗号方式を利用した外部認証における各ステップの処理を行い（ステップＳ１０１）、認証の結果が認証成功であるか否かを判定する（ステップＳ１０２）。
【００３１】
そして、ＳＥは、認証の結果が認証成功であると判定した場合（ステップＳ１０２：ＹＥＳ）、認証の結果（認証成功）を示すレスポンスを外部装置へ送信する（ステップＳ１０３）。一方、ＳＥは、認証の結果が認証成功でないと判定した場合（ステップＳ１０２：ＮＯ）、ステップＳ１０８へ進む。
【００３２】
外部装置は、認証の結果（認証成功）を示すレスポンスを受信すると、時刻データ更新コマンド（UPDATE TIME コマンド）をＳＥへ送信する。図６は、時刻データ更新コマンドのフォーマット例を示す図である。図６の例では、UPDATE TIME コマンドは、ヘッダ部（ＣＬＡ（コマンドクラス）、ＩＮＳ（コマンドコード）、Ｐ１（コマンドパラメータ１）、及びＰ２（コマンドパラメータ２））とデータ部（Ｌｃ（Dataの長さ）及びData）とを含むＡＰＤＵ（Application Protocol Data Unit）により構成されている。UPDATE TIME コマンドのデータ部におけるData“YYYYMMDDTTTT”（例えば、６バイト）は現在時刻データである。
【００３３】
ＳＥは、外部装置から時刻データ更新コマンドを受信すると（ステップＳ１０４）、受信された時刻データ更新コマンドに含まれる現在時刻データが示す時刻が、ＮＶＭ１３に記憶された時刻データが示す時刻より後であるか（つまり、進んでいるか）否かを判定する（ステップＳ１０５）。言い換えれば、受信された現在時刻データが示す値（例えば、20180101 1300）が、記憶された時刻データが示す値（例えば、20180101 1200）より大きいか否かが判定される。この判定により、不正に時刻データが更新されることを防止することができる。
【００３４】
そして、ＳＥは、受信された現在時刻データが示す時刻が、記憶された時刻データが示す時刻より後である（言い換えれば、現在時刻データが示す値が、時刻データが示す値より大きい）と判定した場合（ステップＳ１０５：ＹＥＳ）、ステップＳ１０６へ進む。一方、ＳＥは、受信された現在時刻データが示す時刻が、記憶された時刻データが示す時刻より後でない（つまり、当該時刻データが示す時刻より前（過去）である）と判定した場合（ステップＳ１０５：ＮＯ）、ステップＳ１０８へ進む。
【００３５】
ステップＳ１０６では、ＳＥは、ステップＳ１０４で受信された現在時刻データでＮＶＭ１３に記憶された時刻データを更新（上書き）する。次いで、ＳＥは、正常終了を示すレスポンス（例えば、SW9000）を外部装置へ送信し（ステップＳ１０７）、時刻データ更新処理を終了（正常終了）する。こうして、受信された現在時刻データが時刻データとしてＮＶＭ１３に新たに保存されることになる。
【００３６】
ステップＳ１０８では、ＳＥは、時刻データを更新せずにエラー処理を行い、異常終了する。このエラー処理において、ＳＥは、例えば、エラー（認証失敗、または現在時刻データ異常）を示すレスポンス（エラーSW）を外部装置へ送信する。また、このエラー処理において、ＳＥは、例えば、電子証明書の有効期限を判定する機能をロック（例えば、その後に時刻データ更新処理が正常終了するまでロック）してもよい。
【００３７】
次に、図５に示す時刻データ更新処理は、外部装置から証明書検証コマンドが受信された場合に開始される。証明書検証コマンドの例として、ISO7816等で規定された「CERTIFICATE VERIFY コマンド」が挙げられる。図５に示す処理が開始されると、ＳＥは、セキュリティ処理として、図３を参照して説明したように、公開鍵暗号方式を利用した外部認証における各ステップの処理を行い（ステップＳ１１１）、検証の結果が検証成功であるか否かを判定する（ステップＳ１１２）。
【００３８】
そして、ＳＥは、検証の結果が検証成功であると判定した場合（ステップＳ１１２：ＹＥＳ）、検証の結果（検証成功）を示すレスポンスを外部装置へ送信する（ステップＳ１１３）。一方、ＳＥは、検証の結果が検証成功でないと判定した場合（ステップＳ１１２：ＮＯ）、ステップＳ１２０へ進む。
【００３９】
外部装置は、検証の結果（検証成功）を示すレスポンスを受信すると、時刻データ更新コマンド（UPDATE TIME コマンド）をＳＥへ送信する。ＳＥは、時刻データ更新コマンドを受信すると（ステップＳ１１４）、ステップＳ１０５と同様、受信された時刻データ更新コマンドに含まれる現在時刻データが示す時刻が、ＮＶＭ１３に記憶された時刻データが示す時刻より後であるか否かを判定する（ステップＳ１１５）。
【００４０】
そして、ＳＥは、受信された現在時刻データが示す時刻が、記憶された時刻データが示す時刻より後であると判定した場合（ステップＳ１１５：ＹＥＳ）、ステップＳ１１６へ進む。一方、ＳＥは、受信された現在時刻データが示す時刻が、記憶された時刻データが示す時刻より後でないと判定した場合（ステップＳ１１５：ＮＯ）、ステップＳ１２０へ進む。
【００４１】
ステップＳ１１６では、ＳＥは、ステップＳ１１４で受信された現在時刻データを用いて外部装置の電子証明書の有効期限の再検査を実行し、外部装置の電子証明書の有効期限が経過しているか否かを判定する。
【００４２】
そして、ＳＥは、外部装置の電子証明書の有効期限が経過している（つまり、有効期限より現在時刻データが示す時刻が後である）と判定した場合（ステップＳ１１６：ＹＥＳ）、上記検証成功を取り消し（ステップＳ１１７）、ステップＳ１２０へ進む。一方、外部装置の電子証明書の有効期限が経過していないと判定した場合（ステップＳ１１６：ＮＯ）、ステップＳ１１８へ進む。
【００４３】
ステップＳ１１８では、ＳＥは、ステップＳ１１４で受信された現在時刻データでＮＶＭ１３に記憶された時刻データを更新（上書き）する。次いで、ＳＥは、正常終了を示すレスポンス（例えば、SW9000）を外部装置へ送信し（ステップＳ１１９）、時刻データ更新処理を終了（正常終了）する。こうして、受信された現在時刻データが時刻データとしてＮＶＭ１３に新たに保存されることになる。
【００４４】
ステップＳ１２０では、ＳＥは、時刻データを更新せずにエラー処理を行い、異常終了する。このエラー処理において、ＳＥは、例えば、エラー（検証失敗、現在時刻データ異常、または検証成功取消）を示すレスポンス（エラーSW）を外部装置へ送信する。また、このエラー処理において、ＳＥは、例えば、電子証明書の有効期限を判定する機能をロック（例えば、その後に時刻データ更新処理が正常終了するまでロック）してもよい。
【００４５】
［３．ＳＥにおける時刻データの利用時の動作］
次に、図７を参照して、ＳＥにおける時刻データの利用時の動作について説明する。図７は、証明書検証処理の一例を示す図である。図７に示す証明書検証処理は、例えば、時刻データの更新時の動作において認証された（つまり、セキュリティが確保された）外部装置（例えば、サーバ）とは異なる他の外部装置（例えば、端末）から証明書検証コマンドが受信された場合に開始される。なお、証明書検証コマンドと共に、または証明書検証コマンドとは別に、他の外部装置の電子証明書がＳＥにより受信される。
【００４６】
図７に示す処理が開始されると、ＳＥは、ＮＶＭ１３に記憶された時刻データを用いて他の外部装置の電子証明書の有効期限の検査を実行し、他の外部装置の電子証明書の有効期限が経過しているか否かを判定する（ステップＳ２０１）。
【００４７】
そして、ＳＥは、他の外部装置の電子証明書の有効期限が経過している（つまり、有効期限より時刻データが示す時刻が後である）と判定した場合（ステップＳ２０１：ＹＥＳ）、ステップＳ２０４へ進む。一方、他の外部装置の電子証明書の有効期限が経過していないと判定した場合（ステップＳ２０１：ＮＯ）、ステップＳ２０２へ進む。
【００４８】
ステップＳ２０２では、ＳＥは、認証局の公開鍵を用いて他の外部装置の電子証明書に付与された認証局の電子署名の署名検証を実行し、電子署名の署名検証が成功したか否かを判定する。
【００４９】
そして、ＳＥは、認証局の電子署名の署名検証が成功したと判定した場合（ステップＳ２０２：ＹＥＳ）、正常終了を示すレスポンスを他の外部装置へ送信し（ステップＳ２０３）、証明書検証を終了（正常終了）する。一方、ＳＥは、認証局の電子署名の署名検証が成功しないと判定した場合（ステップＳ２０２：ＮＯ）、ステップＳ２０４へ進む。
【００５０】
ステップＳ２０４では、ＳＥは、エラー（検証失敗）を示すレスポンスを他の外部装置へ送信し、異常終了する。
【００５１】
以上説明したように、上記実施形態によれば、電子証明書の有効期限の判定に用いる時刻データを記憶するＳＥは、外部装置との間でセキュリティを確保するためのセキュリティ処理を実行し、セキュリティ処理を通じてセキュリティが確保された外部装置の時計機能により取得された現在時刻データを当該外部装置から受信し、当該受信された現在時刻データにより、上記記憶されている時刻データを更新するように構成したので、電子証明書の有効期限の判定に用いる適切な時刻データを保持し定期的に更新することができる。
【符号の説明】
【００５２】
１０  ＣＰＵ
１１  ＲＡＭ
１２  ＲＯＭ
１３  ＮＶＭ
１４  Ｉ／Ｏ回路
【図１】
2020048061.tif 000003
【図２】
2020048061.tif 000004
【図３】
2020048061.tif 000005
【図４】
2020048061.tif 000006
【図５】
2020048061.tif 000007
【図６】
2020048061.tif 000008
【図７】
2020048061.tif 000009