(57)【特許請求の範囲】
【請求項１】
１つ以上のアプリケーションを格納し、カードマネージャを有するＩＣカードにおける有効期限確認方法であって、
前記ＩＣカードが、サーバと接続し、現在時刻及びその現在時刻が暗号化された暗号時刻を、前記サーバから前記ＩＣカードが受け取り、
前記カードマネージャは、前記暗号時刻を復号化した復号時刻と前記現在時刻とを比較して一致した場合に、前記現在時刻を前記アプリケーションに渡し、
前記アプリケーションが、自アプリケーションに設定され前記ＩＣカード内に格納されている有効期限と前記現在時刻との比較を行い、
前記比較において有効期限切れの場合は、前記ＩＣカードにおいて、前記アプリケーションの停止又は機能制限を行う
ことを特徴とするＩＣカード有効期限管理方法。
【請求項２】
１つ以上のアプリケーションを格納してカードマネージャを有するＩＣカードにおいて、サーバに接続して該ＩＣカードに格納された該アプリケーションを実行するアプリケーション実行方法であって、
前記ＩＣカードが、
該ＩＣカードの該カードマネージャにより実現可能なカード機能ごとの有効期限をメモリに保持し、
前記サーバから現在時刻とアプリケーション実行命令を受信し、
受信した現在時刻に基づいて前記メモリを参照することにより、期限が有効なカード機能を抽出し、
メモリに保持された前記アプリケーションにより実現可能なアプリケーション機能ごとの有効期限を表したアプリケーション期限情報を参照することにより、受信した現在時刻に基づいて期限が有効なアプリケーション機能を抽出し、
メモリに保持された、それぞれのアプリケーション機能が依存するカード機能との対応関係に基づき、前記期限が有効なカード機能の範囲内で実行可能なアプリケーション機能を、前記期限が有効なアプリケーション機能の中から特定し、
前記特定された期限が有効なアプリケーション機能の範囲で、前記受信したアプリケーション実行命令を実行する
ことを特徴とするアプリケーション実行方法。
【請求項３】
１つ以上のアプリケーションを格納してカードマネージャを有するＩＣカードに接続し、該ＩＣカードに格納されたアプリケーションのアプリケーション実行命令を送信するサーバにおけるアプリケーション実行方法であって、
前記サーバが、
ＩＣカードの該カードマネージャにより実現可能なカード機能ごとの有効期限を表したカード期限情報を保持し、
ＩＣカードに接続し、該ＩＣカードの識別情報を受け取り、
現在時刻に基づいて前記カード期限情報を参照することにより、期限が有効なカード機能を抽出し、
前記アプリケーションにより実現可能なアプリケーション機能ごとの有効期限を表したアプリケーション期限情報を参照することにより、現在時刻に基づいて期限が有効なアプリケーション機能を抽出し、
それぞれのアプリケーション機能が依存するカード機能との対応関係に基づき、前記期限が有効なカード機能の範囲内で実行可能なアプリケーション機能を、前記期限が有効なアプリケーション機能の中から特定し、
前記特定された期限が有効なアプリケーション機能の範囲で、アプリケーション実行命令を生成し、接続を受け付けたＩＣカードに前記生成されたアプリケーション実行命令を送信する
ことを特徴とするアプリケーション実行方法。
【請求項４】
請求項１に記載のＩＣカード有効期限確認方法の各手順をコンピュータに実行させるためのプログラムを記録した、該コンピュータが読取可能な記憶媒体。
【請求項５】
請求項２又は請求項３に記載のアプリケーション実行方法の各手順をコンピュータに実行させるためのプログラムを記録した、該コンピュータが読取可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＣカード有効期限確認方法及びＩＣカード有効期限確認プログラムを格納した記憶媒体及びアプリケーション格納方法及びアプリケーション格納プログラムを格納した記憶媒体及びアプリケーション格納・実行方法及びアプリケーション格納・実行プログラムを格納した記憶媒体に係り、特に、ＩＣカードに格納されるアプリケーションに対して、カード発行者・サービス提供者がアプリケーションの使用や機能の一部に対し、時間的な制限を加えたい場合に、ＩＣカード、アプリケーションの期限のチェックを行う場合の、ＩＣカードシステムにおけるＩＣカード有効期限確認方法及びＩＣカード有効期限確認プログラムを格納した記憶媒体及びアプリケーション格納方法及びアプリケーション格納プログラムを格納した記憶媒体及びアプリケーション格納・実行方法及びアプリケーション格納・実行プログラムを格納した記憶媒体に関する。
【０００２】
【従来の技術】
従来のＩＣカードシステムでは、殆どのＩＣカードがアプリケーションに有効期限を設定する方法は提供されておらず、現状では、アプリケーションは、ＩＣカードが使用停止となるまで使用可能である。
【０００３】
また、アプリケーションに有効期限を設定することの可能なＩＣカードにおいては、現在時刻をＩＣカード端末などローカルな装置から取得し、アプリケーションに設定された有効期限との比較を行うことによって、アプリケーション停止のチェックを行っている。
【０００４】
また、ＩＣカード、アプリケーションともに、有効期限以外に期限は設定されておらず、その機能は、有効期限を境として、全面的に使用可能／不可能となり、段階的な使用期限など、柔軟なＩＣカード／アプリケーション運用は行われていない。
【０００５】
【発明が解決しようとする課題】
このため、従来技術では、装置の時刻を変更することにより、不正にアプリケーションの使用期限を延長することが容易に可能であり、従って、アプリケーション提供者が有効期限付きアプリケーションを提供し、有効期限後のアプリケーションの使用を禁止したいと望んでも、その動作は保証されない。
【０００６】
また、従来の技術では、ＩＣカードの有効期限が来た場合、そのカードは、使用不可能となり、アプリケーション個別に期限を設けることができない。
【０００７】
本発明は、上記の点に鑑みなされたもので、有効期限に対する不正を防止し、信頼性における有効期限チェック方法と、ＩＣカード／アプリケーションに個別に複数の期限を設け、その期限に対応した機能制限・追加を行って、段階的な使用制限・許可を可能とするＩＣカード有効期限確認方法及びＩＣカード有効期限確認プログラムを格納した記憶媒体及びアプリケーション格納方法及びアプリケーション格納プログラムを格納した記憶媒体及びアプリケーション格納・実行方法及びアプリケーション格納・実行プログラムを格納した記憶媒体を提供することを目的とする。
【０００８】
【課題を解決するための手段】
図１は、本発明の原理を説明するための図である。
【０００９】
本発明は、ＩＣカード、サーバ及び該ＩＣカード及びサーバを接続し、通信可能とするＩＣカード端末からなり、アプリケーションに有効期限の設定が可能なＩＣカードシステムにおいて、該アプリケーションの該有効期限を確認するためのＩＣカード有効期限確認方法において、
ＩＣカードにアプリケーションを格納する際に、
ＩＣカードに、該ＩＣカードに格納されているアプリケーションの有効期限情報を格納しておき（ステップ１）
ＩＣカードとサーバとをオンライン接続し（ステップ２）、
サーバから現在時刻を含むアプリケーションを実行するための条件情報をＩＣカードに送信し（ステップ３）、
ＩＣカード内に格納されているアプリケーションまたは、該ＩＣカードの制御手段において、現在時刻に基づいてカード内の各アプリケーションの有効期限チェックを行い（ステップ４）、
有効期限チェックの結果に基づいて、該ＩＣカードの有効期限切れのアプリケーションの停止または、機能制限を行う（ステップ５）。
【００１０】
本発明（請求項１）は、１つ以上のアプリケーションを格納し、カードマネージャを有するＩＣカードにおける有効期限確認方法において、
前記ＩＣカードが、サーバと接続し、現在時刻及びその現在時刻が暗号化された暗号時刻を、前記サーバから前記ＩＣカードが受け取り、
前記カードマネージャは、前記暗号時刻を復号化した復号時刻と前記現在時刻とを比較して一致した場合に、前記現在時刻を前記アプリケーションに渡し、
前記アプリケーションが、自アプリケーションに設定され前記ＩＣカード内に格納されている有効期限と前記現在時刻との比較を行い、
前記比較において有効期限切れの場合は、前記ＩＣカードにおいて、前記アプリケーションの停止又は機能制限を行う。
【００１３】
本発明（請求項２）は、１つ以上のアプリケーションを格納してカードマネージャを有するＩＣカードにおいて、サーバに接続して該ＩＣカードに格納された該アプリケーションを実行するアプリケーション実行方法において、
前記ＩＣカードが、
該ＩＣカードの該カードマネージャにより実現可能なカード機能ごとの有効期限をメモリに保持し、
前記サーバから現在時刻とアプリケーション実行命令を受信し、
受信した現在時刻に基づいて前記メモリを参照することにより、期限が有効なカード機能を抽出し、
メモリに保持された前記アプリケーションにより実現可能なアプリケーション機能ごとの有効期限を表したアプリケーション期限情報を参照することにより、受信した現在時刻に基づいて期限が有効なアプリケーション機能を抽出し、
メモリに保持された、それぞれのアプリケーション機能が依存するカード機能との対応関係に基づき、前記期限が有効なカード機能の範囲内で実行可能なアプリケーション機能を、前記期限が有効なアプリケーション機能の中から特定し、
前記特定された期限が有効なアプリケーション機能の範囲で、前記受信したアプリケーション実行命令を実行する。
【００１４】
本発明（請求項３）は、１つ以上のアプリケーションを格納してカードマネージャを有するＩＣカードに接続し、該ＩＣカードに格納されたアプリケーションのアプリケーション実行命令を送信するサーバにおけるアプリケーション実行方法であって、
前記サーバが、
ＩＣカードの該カードマネージャにより実現可能なカード機能ごとの有効期限を表したカード期限情報を保持し、
ＩＣカードに接続し、該ＩＣカードの識別情報を受け取り、
現在時刻に基づいて前記カード期限情報を参照することにより、期限が有効なカード機能を抽出し、
前記アプリケーションにより実現可能なアプリケーション機能ごとの有効期限を表したアプリケーション期限情報を参照することにより、現在時刻に基づいて期限が有効なアプリケーション機能を抽出し、
それぞれのアプリケーション機能が依存するカード機能との対応関係に基づき、前記期限が有効なカード機能の範囲内で実行可能なアプリケーション機能を、前記期限が有効なアプリケーション機能の中から特定し、
前記特定された期限が有効なアプリケーション機能の範囲で、アプリケーション実行命令を生成し、接続を受け付けたＩＣカードに前記生成されたアプリケーション実行命令を送信する。
【００２５】
上記のように、本発明では、従来技術のように、端末から現在時刻を獲得せず、ＩＣカードがサーバにオンライン接続したときに、サーバから現在時刻を獲得し、その現在時刻と各アプリケーションの有効期限との間で比較を行い、期限切れのアプリケーションについてはアプリケーションの停止を行うことにより、不正の防止を行うものである。
【００２６】
これにより、現在時刻を取得する対象がサーバであるため、端末における現在時刻の操作が無効になり、信頼できる現在時刻を獲得することが可能となる。
【００２７】
さらに、サーバから受信する現在時刻を鍵で署名または、攪拌することで成りすましや改ざんへの対策を行い、より安全に現在時刻を獲得することが可能となる。
【００２８】
また、ＩＣカード、アプリケーションに複数の期限を設定することを可能とすることで、カード発行者・サービス提供者にとって柔軟なカード発行、アプリケーションの提供が可能となる。
【００２９】
さらに、アプリケーション格納時に、必要な機能だけ格納することにより、ＩＣカードのメモリを効率的に使用することが可能となる。
【００３０】
【発明の実施の形態】
図２は、本発明のシステム構成を示す。同図に示すシステムは、サーバ１００とＩＣカード２００から構成される。
【００３１】
なお、ＩＣカード２００は、アプリケーションを格納可能な不揮発性メモリと、そのアプリケーションを実行するＣＰＵと、ＩＣカード内のアプリケーションの管理を行うカードマネージャＣＭを有する。また、図示しないが、ＩＣカード端末を介して、当該ＩＣカード２００とサーバ１００を接続し、通信可能とする。また、本発明におけるＩＣカードシステムでは、ＩＣカード２００のメモリに格納されるアプリケーションには、それぞれ有効期限を設定することが可能であるものとする。
【００３２】
上記の構成において、ＩＣカード２００がサーバ１００にオンライン接続した際に、サーバ１００が現在時刻などをＩＣカード２００に送信し、ＩＣカード２００内部で有効期限と現在時刻を比較し、有効期限が現在時刻より以前である場合には、アプリケーションの停止を行う。これにより、不正の防止を行う。
【００３３】
また、ＩＣカード２００に対して、複数の有効期限を設定する方法としては、ＩＣカード２００の有効期限を含む一つ以上の期限と、その期限で区切られる期間に利用可能なＩＣカードの機能に関する記述をカード発行時にメモリに格納し、それぞれのアプリケーションについて、必要であれば、有効期限を含む一つ以上の期限とその期限で区切られる期間に利用可能なアプリケーションの機能に関する記述をアプリケーション格納時にメモリに格納し、アプリケーション実行時にそれらの情報や現在時刻を参照することによって、記述に沿った適切なアプリケーション運用を行う。
【００３４】
あるいは、これらＩＣカード２００の期限情報、アプリケーションの期限情報をサービス提供サーバが保持もしくは、入手可能とすることによって、それらの参照、チェックをサーバ側で行い、サーバ１００が適切な実行命令を送信することによって、記述に沿った適切なアプリケーション運用を行う。
【００３５】
また、アプリケーションの格納時に、サービス提供サーバ１００もしくは、ＩＣカード２００で現在時刻以降に、ＩＣカード２００で可能な機能をチェックし、それらの機能に対応するアプリケーションの機能のみの格納を行う。
【００３６】
【実施例】
以下、図面と共に本発明の実施例を説明する。
【００３７】
以下では、図２に示す構成に基づいて各実施例を説明する。
【００３８】
図２において、ＩＣカードは、カードマネージャ（ＣＭ）１１０と、アプリケーションＡＰ１，ＡＰ２，ＡＰ３，ＡＰ４がメモリに格納されている。ＡＰ１，ＡＰ２にそれぞれ有効期限ＵＴ１，ＵＴ２が設定されており、ＡＰ２は、すでに有効期限を過ぎているものとする。
【００３９】
また、ＡＰ１とＡＰ２のアプリケーション識別子はＡＰｉｄ１、ＡＰｉｄ２とする。しかし、ＩＣカード２００に格納するアプリケーションの数や有効期限を持つアプリケーション数は以下の実施例に限定されるものではなく、自由である。
【００４０】
［第１の実施例］
本実施例では、アプリケーションが有効期限チェックし、カードマネージャーが停止を行う例を説明する。
【００４１】
図３は、本発明の第１の実施例のＡＰが有効期限チェックを行う場合を説明するための図である。
【００４２】
ＩＣカード２００が、ＡＰ１の起動により、サーバ１００とオンライン接続した際、サーバ１００は、ＩＣカード２００に現在時刻Ｔｓを送信する。
【００４３】
ＩＣカード２００のカードマネージャ（ＣＭ）２１０は、現在時刻Ｔｓを受信し、ＡＰ１，ＡＰ２に転送する。
【００４４】
ＡＰ１は、ＵＴ１がＴｓより大きいので、ＯＫを、ＡＰ２は、ＵＴ２がＴｓ以下なので、カードマネージャ（ＣＭ）２１０に期限切れを示す符号ＮＧを返す。カードマネージャ（ＣＭ）２１０はＡＰ２に停止命令を出し、ＡＰ２を停止する。停止後、アプリケーションＡＰ１の実行が継続される。
【００４５】
［第２の実施例］
本実施例では、アプリケーションが有効期限のチェックと停止を行う例を説明する。
【００４６】
図４は、本発明の第２の実施例の有効期限チェックを説明するための図である。
【００４７】
ＩＣカード２００がＡＰ３の起動により、サーバ１００とオンライン接続した際、サーバ１００は、ＩＣカード２００に現在時刻Ｔｓを送信する。
【００４８】
ＩＣカード２００のカードマネージャ（ＣＭ）２１０は、現在時刻Ｔｓを受信し、ＡＰ１，ＡＰ２に送信する。ＡＰ１は、ＵＴ１がＴｓより大きいので、カードマネージャ（ＣＭ）２１０にＯＫを返す。ＡＰ２は、ＵＴ２がＴｓ以下なので、ＡＰ２を停止し、停止したことを知らせる信号をカードマネージャ（ＣＭ）２１０に返す。停止後、ＡＰ３の実行が継続される。
【００４９】
［第３の実施例］
本実施例では、カードマネージャ（ＣＭ）２１０が有効期限チェック及び停止を行う例を説明する。
【００５０】
図５は、本発明の第３の実施例の有効期限チェックを説明するための図である。
【００５１】
カードマネージャ（ＣＭ）２１０はアプリケーション管理テーブルを持っており、ＡＰ１の識別番号ＡＰｉｄ１と有効期限ＵＴ１及び、ＡＰ２の識別番号ＡＰｉｄ２と有効期限ＵＴ２を関連付けて登録している。
【００５２】
ＩＣカード２００がＡＰ２の起動により、サーバ１００とオンライン接続した際、サーバ１００は、ＩＣカード２００に現在時刻Ｔｓを送信する。
【００５３】
ＩＣカード２００のカードマネージャ（ＣＭ）２１０は、現在時刻Ｔｓを受信し、アプリケーション管理テーブルからＡＰ１とＡＰ２の有効期限ＵＴ１、ＵＴ２を得る。
【００５４】
カードマネージャ（ＣＭ）２１０は、ＴｓとＵＴ１の比較を行い、ＵＴ１がＴｓより大きいので、なにもしない。カードマネージャ（ＣＭ）２１０は、ＴｓとＵＴ２の比較を行い、ＵＴ２がＴｓ以下なのでＡＰ２に停止命令を出し、ＡＰ２を停止する。
【００５５】
このとき、最初に起動したアプリケーションであるＡＰ２が停止してしまうので、ＡＰ２起動はキャンセルされる。
【００５６】
［第４の実施例］
本実施例では、サーバ１００がチェック対象アプリケーションを指定し、アプリケーションが有効期限をチェックする例を説明する。
【００５７】
図６は、本発明の第４の実施例の有効期限チェックを説明するための図である。
【００５８】
ＩＣカード２００がＡＰ１の起動により、サーバ１００とオンライン接続した際、サーバ１００は、ＩＣカード２００に現在時刻Ｔｓとチェック対象のアプリケーションＩＤであるＣＫ＿ＡＰｉｄを送信する。
【００５９】
ここで、ＣＫ＿ＡＰｉｄがＡＰｉｄ１である場合、ＩＣカード２００のカードマネージャ（ＣＭ）２１０は現在時刻ＴｓとＡＰｉｄ１を受信し、現在時刻ＴｓをＡＰ１のみに送信する。
【００６０】
ＡＰ１はＵＴ１がＴｓより大きいので、ＯＫを返す。
【００６１】
ＡＰ２は、チェックされないため、有効期限が切れているが停止されない。その後、アプリケーションＡＰ１の実行が継続される。
【００６２】
［第５の実施例］
本実施例では、サーバ１００がチェック対象アプリケーションを指定し、カードマネージャ（ＣＭ）２１０が有効期限をチェックする例を説明する。
【００６３】
図７は、本発明の第５の実施例の有効期限チェックを説明するための図である。
【００６４】
カードマネージャ（ＣＭ）２１０はアプリケーション管理テーブルを持っており、ＡＰ１の識別番号ＡＰｉｄ１と有効期限ＵＴ１と、ＡＰ２の識別番号ＡＰｉｄ２と有効期限ＵＴ２を関連付けて登録している。
【００６５】
ＩＣカードがＡＰ２の起動により、サーバ１００とオンライン接続した際、サーバ１００は、ＩＣカード２００に現在時刻ＴｓとチェックするアプリケーションＩＤであるＣＫ＿ＡＰｉｄを送信する。
【００６６】
ここで、ＣＫ＿ＡＰｉｄがＡＰｉｄ２である場合、ＩＣカード２００のカードマネージャ（ＣＭ）２１０は、現在時刻ＴｓとＡＰｉｄ２を受信し、アプリケーション管理テーブルからＡＰ２の有効期限ＵＴ２を得る。
【００６７】
カードマネージャ（ＣＭ）２１０は、ＴｓとＵＴ２の比較を行い、ＵＴ２がＴｓ以下なのでＡＰ２に停止命令を出し、ＡＰ２を停止する。
【００６８】
このとき、最初に起動したアプリケーションであるＡＰ２が停止してしまうので、ＡＰ２起動はキャンセルされる。
【００６９】
［第６の実施例］
本実施例では、サーバ１００が現在時刻を共通鍵で攪拌してＩＣカード２００に送信する例を説明する。
【００７０】
図８は、本発明の第６の実施例の現在時刻送信時の動作を説明するための図である。
【００７１】
サーバ１００とＩＣカード２００は、共通鍵を持っている。
【００７２】
ＩＣカード２００がＡＰ４の起動により、サーバ１００とオンライン接続した際、サーバ１００は、ＩＣカード２００に現在時刻Ｔｓと、現在時刻Ｔｓと共通鍵ＳｋをＭＤ５などで攪拌したＳｉｇ＿Ｔｓを送信する。
【００７３】
ＩＣカード２００のカードマネージャ（ＣＭ）２１０は、現在時刻ＴｓとＳｉｇ＿Ｔｓを受信し、攪拌された信号Ｓｉｇ＿Ｔｓを復号し、ＴｓｄとＳｋｄを得る。カードマネージャ（ＣＭ）２１０は、ＳｋとＳｋｄを比較して、サーバ１００の署名を確認し、また、ＴｓｄとＴｓを比較して改ざんが行われていないことを確認した後、ＴｓをＡＰ１、ＡＰ２に送信する。
【００７４】
ＡＰ１は、ＵＴ１がＴｓより大きいので、カードマネージャ（ＣＭ）２１０にＯＫを返す。また、ＡＰ２は、ＵＴ２がＴｓ以下なので、ＡＰ２を停止し、停止したことを知らせる信号をカードマネージャ（ＣＭ）２１０に返す。
【００７５】
停止後、アプリケーションＡＰ４の実行が継続される。
【００７６】
［第７の実施例］
本実施例では、サーバ１００が現在時刻を秘密鍵で署名して送信する例を説明する。
【００７７】
図９は、本発明の第７の実施例の現在時刻送信時の動作を説明するための図である。
【００７８】
サーバ１００は、秘密鍵Ｐｒ、ＩＣカード２００は、対応する公開鍵Ｐｕを持っている。
【００７９】
ＩＣカード２００がＡＰ３の起動により、サーバ１００とオンライン接続した際、サーバ１００は、ＩＣカード２００に現在時刻Ｔｓと、秘密鍵Ｐｒで現在時刻Ｔｓに署名したＳｉｇ＿Ｔｓを送信する。
【００８０】
ＩＣカード２００のカードマネージャ（ＣＭ）２１０現在時刻ＴｓとＳｉｇ＿Ｔｓを受信し、Ｓｉｇ＿Ｔｓを公開鍵Ｐｕを用いて検証し、Ｔｓｄを得る。カードマネージャ（ＣＭ）２１０は、ＴｓｄとＴｓを比較して改ざんが行われていないことを確認した後、ＴｓをＡＰ１、ＡＰ２に送信する。
【００８１】
ＡＰ１は、ＵＴ１がＴｓより大きいので、カードマネージャ（ＣＭ）２１０にＯＫを返す。また、ＡＰ２は、Ｔｓ以下なので、ＡＰ２を停止し、停止したことを知らせる信号をカードマネージャ（ＣＭ）２１０に返す。
【００８２】
停止後、アプリケーションＡＰ３の実行が継続される。
【００８３】
［第８の実施例］
本実施例では、有効期限切れアプリケーションを停止せず、機能の一部を制限する例を説明する。
【００８４】
第１〜第７の実施例において、アプリケーションもしくはカードマネージャ（ＣＭ）２１０がアプリケーションの停止を行う代わりに、機能の一部を制限する。
【００８５】
［第９の実施例］
本実施例では、アプリケーションの格納について説明する。
【００８６】
図１０は、本発明の第９の実施例のＩＣカードにおいて有効期限チェックを行うアプリケーション格納システムの構成を示す。
【００８７】
本実施例においては、ＩＣカード２００は、ＩＣカード端末３００を介してサービス提供サーバ１００と通信を行っている。ＩＣカード１００のメモリ２０３には、カード発行時に、カードの期限とその期限までに利用可能／不可能な機能に関する情報が格納されている。
【００８８】
本実施例では、カードの期限として、カード有効期限（以下、ＣＴ１と記す）、カード猶予期限（以下、ＣＴ２と記す）の２つの期限を設定しており、カード発行時をＣＴ０とすると、比較時、ＣＴ０＜ＣＴ１＜ＣＴ２の大小関係を持っている。
【００８９】
ＩＣカード１００において、可能な機能Ａ，Ｂ，Ｃ，Ｄ，Ｅのうち、ＣＴ０からＣＴ１までの期間（以下、カード有効期間）には、機能Ａ，Ｂ，Ｃが有効であり、ＣＴ１以降ＣＴ２までの期間（以下、カード猶予期間）には、機能Ａ，Ｄが有効であり、ＣＴ２以降には有効な機能はなく、カードは使用停止になるものとする。
【００９０】
本実施例におけるカード期限情報の例を図１１に示す。また、各期限と機能の時間的な関係を図１２に示す。
【００９１】
アプリケーションを格納するには、まず、ＩＣカードがアプリケーション識別情報などをサーバ１００に送信してアプリケーション格納要求を行う。サーバ１００は、現在時刻Ｔｓを送信するが、改ざんや成りすましを防ぐため、Ｔｓをサーバ１００の持つサービス提供者の秘密鍵で署名した情報を用いて作成した情報Ｓｉｇ＿ＴｓをＩＣカード２００に送信する。Ｓｉｇ＿ｔｓは、ＩＣカード２００内のサービス提供者の公開鍵で検証される（または、Ｔｓを鍵で攪拌した情報Ｓｉｇ＿Ｔｓが送信され、ＩＣカード２００内で復号される）。
【００９２】
このような方法で、Ｔｓの正当性を検証した後、Ｔｓは、カード機能判断装置において、メモリ２０３内に格納されたカードの期限と比較され、Ｔｓがどの期間に属しているのかが判定される。
【００９３】
本実施例では、Ｔｓがカード有効期間に属している。カード機能判断装置２０２は、Ｔｓが属するカード有効期間と、それ以降の期間にカードが可能な機能、即ち、Ａ，Ｂ，Ｃ，Ｄをカード期限情報から獲得し、その機能識別情報をサーバ１００に通知する。
【００９４】
サーバ１００は、アプリケーション構成装置１０２によって、アプリケーションのうち、ＩＣカード２００の機能Ａ，Ｂ，Ｃ，Ｄに対応する機能を持つ部分を抽出し（ＩＣカードの機能Ｅに対応する機能を持つ部分を削除し）、アプリケーション、アプリケーション格納情報などを構成し、送信する。
【００９５】
ＩＣカード２００は、サーバ１００からアプリケーション、アプリケーション格納情報などを受信し、アプリケーションの格納を行う。
【００９６】
［第１０の実施例］
本実施例では、アプリケーションの格納について説明する。
【００９７】
図１３は、本発明の第１０の実施例のサーバにおいて有効期限チェックを行うアプリケーション格納システムの構成を示す。
【００９８】
本実施例においては、ＩＣカード２００は、ＩＣカード端末３００を介してサービス提供サーバ３００と通信を行っている。
【００９９】
また、カード期限情報、各期限と機能の時間的な関係は前述の第９の実施例と同様であり、図１１、図１２に示す。図１２に示すカード期限情報は、サービス提供サーバ１００も保持している。
【０１００】
アプリケーションを格納するには、まず、ＩＣカード２００がカード識別情報、アプリケーション識別情報などをサーバ１００に送信してアプリケーション格納要求を行う。カード機能判断装置１０４は、カード識別情報を元に、当該カードの期限情報を取り出し、現在時刻Ｔｓとカードの期限を比較し、Ｔｓがどの期間に属しているのかを判定する。本実施例では、Ｔｓがカード有効期間に属している。カード機能判断装置１０４は、Ｔｓが属するカード有効期間と、それ以降の期間にカードが可能な機能、即ち、Ａ，Ｂ，Ｃ，Ｄをカード期限情報から獲得し、その機能識別情報をアプリケーション構成装置１０２に通知する。アプリケーション構成装置１０２は、アプリケーションのうち、ＩＣカード２００の機能Ａ，Ｂ，Ｃ，Ｄに対応する機能を持つ部分を抽出し（ＩＣカードの機能Ｅに対応する機能を持つ部分を削除し）、アプリケーション及びアプリケーション格納情報を構成し、送信する。
【０１０１】
ＩＣカード２００は、サーバ１００からアプリケーション及びアプリケーション格納情報を受け取り、アプリケーションの格納を行う。
【０１０２】
［第１１の実施例］
本実施例では、アプリケーションの実行について説明する。
【０１０３】
図１４は、本発明の第１１の実施例のＩＣカードにおいて有効期限チェックを行うアプリケーション実行システムの構成を示す。
【０１０４】
本実施例では、前述の第９の実施例と同様に、ＩＣカード２００は、ＩＣカード端末３００を介してサービス提供サーバ１００と通信を行っている。また、第９の実施例と同様に、図１１に示すカード期限情報をもっているものとする。ＩＣカード２００には、カード有効期限中に、すでにアプリケーションＡＰ１とＡＰ２が格納されているものとする。
【０１０５】
また、アプリケーションＡＰ２は、期限を持つため、ＩＣカードのメモリには、アプリケーションＡＰ２の格納時に、アプリケーションＡＰ２の期限とその期限までに利用可能／不可能な機能に関する情報が格納されている。本実施例では、アプリケーションＡＰ２の期限として、ＡＰ２有効期限（以下、ＡＴ１と記す）、ＡＰ２猶予期限（以下、ＡＴ２と記す）の２つの期限を設定しており、アプリケーションＡＰ２の発行時をＡＴ０とすると、比較時、ＡＴ０＜ＡＴ１＜ＡＴ２の大小関係を持っている。アプリケーションにおいて、可能な機能ａ，ｃ，ｄのうち、ＡＴ０からＡＴ１までの期間（以下、ＡＰ２有効期間と記す）には、機能ａ，ｃ，ｄが有効であり、ＡＴ１以降ＡＴ２までの期間（以下、ＡＰ２猶予期間）には、機能ａ，ｃが有効であり、ＡＴ２以降には、有効な機能はなく、アプリケーションＡＰ２は、使用停止になるものとする。
【０１０６】
アプリケーション機能情報には、各アプリケーション機能がどのようなＩＣカード機能に依存しているかが、ＩＣカード２００の機能識別情報を用いて記されている。アプリケーションの機能ａ，ｃ，ｄは、それぞれ、カードの機能Ａ，Ｃ，Ｄが可能なときに使用可能な機能であるとする。本実施例におけるアプリケーション期限情報の例を図１５に示す。また、各期限と機能の時間的な関係を図１６に示す。
【０１０７】
ＩＣカード２００が、アプリケーションＡＰ２を実行するため、サーバ１００とオンライン接続した際、サーバ１００は、アプリケーション実行命令、現在時刻ＴｓなどをＩＣカード２００に送信する。このとき、少なくとも、Ｔｓはそのまま送信せず、改ざんや成りすましを防ぐため、Ｔｓをサーバ１００の持つサービス提供者の秘密鍵で署名した情報を用いて作成した情報Ｓｉｇ＿ＴｓをＩＣカード２００に送信する。Ｓｉｇ＿Ｔｓは、ＩＣカード２００内のサービス提供者の公開鍵で検証される（または、Ｔｓを鍵で攪拌した情報Ｓｉｇ＿Ｔｓが送信され、ＩＣカード２００内で復号される）。
【０１０８】
このような方法で正当性を検証した後、実行命令はＡＰ実行判定装置２０６に渡され、Ｔｓはカード機能判断装置２０２及び、アプリケーション機能判断装置２０５に渡される。
【０１０９】
カード機能判断装置２０２では、Ｔｓとメモリ２０３内に格納されたカードの期限を比較し、Ｔｓがどの期間に属しているのかを判定する。本実施例では、Ｔｓは、カード猶予期間に属している。カード機能判断装置２０２は、Ｔｓが属するカード猶予期間にカードが可能な機能、即ち、Ａ，Ｄをカード期限情報から獲得し、その機能識別情報をアプリケーション機能判断装置２０５に渡す。
【０１１０】
アプリケーション機能判断装置２０５は、Ｔｓとアプリケーション期限情報を比較し、Ｔｓがどの期間に属しているのかを判定する。本実施例では、Ｔｓは、ＡＰ２有効期間に属している。アプリケーション機能判断装置２０５は、Ｔｓが属するＡＰ２有効期間にアプリケーションが有効な機能、即ち、ａ，ｃ，ｄをアプリケーション期限情報から獲得し、その機能が依存しているＩＣカード機能が実行可能かどうかを調べ、現在有効なアプリケーション機能を特定する。ａは、Ａに、ｃはＣに、ｄはＤに依存しており、機能Ａ，Ｄのみが有効であるため、アプリケーションで実行可能な機能は、ａ，ｄとなる。この情報をＡＰ実行判定装置２０６に送る。
【０１１１】
ＡＰ実行判定装置２０６は、アプリケーション実行命令Ｅｘに従い、可能な機能のみでアプリケーションの実行ができる場合は、アプリケーションＡＰ２の実行を行う。
【０１１２】
［第１２の実施例］
本実施例では、アプリケーションの実行について説明する。
【０１１３】
図１７は、本発明の第１２の実施例のサーバにおいて有効期限チェックを行うアプリケーション実行システムの構成を示す。
【０１１４】
本実施例においては、ＩＣカード２００は、ＩＣカード端末３００を介してサービス提供サーバ１００と通信を行っている。また、カード有効情報、アプリケーション期限情報、各期限と機能の時間的な関係は、前述の第１１の実施例と同様であい、図１１、図１５、図１６に示す。図１１に示すカード期限情報は、サービス提供者も保持している。図１１に示すアプリケーション期限情報は、ＩＣカードではなく、サービス提供サーバ１００が保持している。
【０１１５】
ＩＣカード２００は、アプリケーションＡＰ２を実行するため、サーバ１００とオンライン接続した際、サーバ１００は、現在時刻Ｔｓをカード機能判断装置１０４及び、アプリケーション機能判断装置１０６に渡す。
【０１１６】
カード機能判断装置１０４では、カード識別情報を元に、当該カードの期限情報を取り出し、Ｔｓとメモリ２０３内に格納されたカードの期限を比較し、Ｔｓがどの期間に属しているのかを判定する。本実施例では、Ｔｓはカード猶予期間に属している。カード機能判断装置１０４は、Ｔｓが属するカード猶予期間にカードが可能な機能、即ち、Ａ，Ｄをカード期限情報から獲得し、その機能識別情報をアプリケーション機能判断装置１０６に渡す。
【０１１７】
アプリケーション機能判断装置１０６は、Ｔｓとアプリケーション期限情報を比較し、Ｔｓがどの期間に属しているのかを判定する。本実施例では、ＴｓはＡＰ２有効期間に属しているものとする。アプリケーション機能判断装置１０６は、Ｔｓが属するＡＰ２有効期間にアプリケーションが可能な機能、即ち、ａ，ｃ，ｄをアプリケーション期限情報から獲得し、その機能が依存しているＩＣカード機能が実行可能かどうかを調べ、現在有効なアプリケーション機能を特定する。ａはＡに、ｃはＣに、ｄはＤに依存しており、機能Ａ，Ｄのみが有効であるため、アプリケーション実行命令生成装置１０７は、現在可能な機能のみでアプリケーションを実行する実行命令を生成し、ＩＣカード２００に送信する。
【０１１８】
ＩＣカード２００は、ＡＰ実行装置２０７において、受信した実行命令に従い、アプリケーションＡＰ２の実行を行う。
【０１１９】
また、上記の実施例は、図２から図１７に基づいて説明したが、上記のサーバ及び、ＩＣカードで実行される動作をプログラムとして構築し、本発明を実施する際に、サーバとして利用されるコンピュータに接続されるディスク装置や、フロッピーディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体、及び、ＩＣカードのメモリにインストールすることにより、容易に本発明を実現できる。
【０１２０】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【０１２１】
【発明の効果】
上述のように、本発明によれば、以下のような効果が得られる。
【０１２２】
（１）  サーバから現在時刻を獲得することにより、有効期限を確実にチェックし、有効期限切れのアプリケーションを停止することができる。
【０１２３】
（２）  複数アプリケーションを持つＩＣカードにおいて、複数アプリケーションの有効期限の管理を纏めて行うことができる。
【０１２４】
（３）  複数アプリケーションを持つＩＣカードにおいて、サーバに接続するたびに有効期限をチェックすることにより、有効期限切れのアプリケーションを起動しなくても、他のアプリケーションの起動によって、有効期限チェックを行うことができる。
【０１２５】
（４）  サーバがアプリケーションを指定することにより、アプリケーション毎に個別の有効期限チェックが可能である。
【０１２６】
（５）  ＩＣカード、アプリケーションに複数の期限の設定を可能としたことによって、カード発行者・サービス提供者にとって柔軟なカード発行、アプリケーションの提供ができる。
【０１２７】
（６）  また、アプリケーション格納時に、必要な機能だけ格納することによって、ＩＣカードのメモリを効率的に使用することができる。
【０１２８】
（７）  ＩＣカード、アプリケーションの期限管理が、サービス提供側、もしくは、ＩＣカード側でできる。
【図面の簡単な説明】
【図１】本発明の原理を説明するための図である。
【図２】本発明のシステム構成図である。
【図３】本発明の第１の実施例のＡＰが有効期限チェックを行う場合を説明するための図である。
【図４】本発明の第２の実施例の有効期限チェックを説明するための図である。
【図５】本発明の第３の実施例の有効期限チェックを説明するための図である。
【図６】本発明の第４の実施例の有効期限チェックを説明するための図である。
【図７】本発明の第５の実施例の有効期限チェックを説明するための図である。
【図８】本発明の第６の実施例の現在時刻送信時の動作を説明するための図である。
【図９】本発明の第７の実施例の現在時刻送信時の動作を説明するための図である。
【図１０】本発明の第９の実施例のＩＣカードにおいて有効期限チェックを行うアプリケーション格納システムの構成図である。
【図１１】本発明の第９の実施例のカード期限情報の例である。
【図１２】本発明の第９、第１０の実施例における各機能、期限の時間的関係を示す図である。
【図１３】本発明の第１０の実施例のサーバにおいて有効期限チェックを行うアプリケーション格納システムの構成図である。
【図１４】本発明の第１１の実施例のＩＣカードにおいて有効期限チェックを行うアプリケーション実行システムの構成図である。
【図１５】本発明の第１１の実施例のアプリケーション期限情報の例である。
【図１６】本発明の第１１、第１２の実施例における各機能、期限の時間的関係を示す図である。
【図１７】本発明の第１２の実施例のサーバにおいて有効期限チェックを行うアプリケーション実行システムの構成図である。
【符号の説明】
１００  サーバ
１０１  時刻
１０２  アプリケーション構成装置
１０３  カード期限情報
１０４  カード機能判断装置
１０６  アプリケーション機能判断装置
１０７  アプリケーション命令生成装置
２００  ＩＣカード
２０１  現在時刻検証／復号装置
２０２  カード機能判断装置
２０３  メモリ
２０４  アプリケーション格納装置
２０５  アプリケーション機能判断装置
２０６  アプリケーション実行判定装置
２０７  アプリケーション実行装置
２１０  カードマネージャ（ＣＭ）
【図１】
0003692882.tif 000002
【図２】
0003692882.tif 000003
【図３】
0003692882.tif 000004
【図４】
0003692882.tif 000005
【図５】
0003692882.tif 000006
【図６】
0003692882.tif 000007
【図７】
0003692882.tif 000008
【図８】
0003692882.tif 000009
【図９】
0003692882.tif 000010
【図１０】
0003692882.tif 000011
【図１１】
0003692882.tif 000012
【図１２】
0003692882.tif 000013
【図１３】
0003692882.tif 000014
【図１４】
0003692882.tif 000015
【図１５】
0003692882.tif 000016
【図１６】
0003692882.tif 000017
【図１７】
0003692882.tif 000018