(57)【特許請求の範囲】
【請求項１】
ＩＣカードのカードアプリケーションをオープンした際にＩＣカードが管理するアクセス予定のセキュア領域のハンドルを予め取得するハンドル取得手段と、
前記ハンドル取得手段により取得した前記ハンドルを格納するアクセステーブルと、
前記セキュア領域へアクセスする場合に前記アクセステーブルに格納されている前記セキュア領域のハンドルを用いて前記セキュア領域へアクセスするアクセス手段と、
前記ハンドルの割り当てルールが実装ごとに異なる前記ＩＣカードの実装ごとに、前記アクセステーブルの作成タイミングを変更するアクセステーブル作成手段と、
前記ＩＣカードの実装ごとに前記アクセステーブルのテーブルデータの更新タイミングを変更するテーブルデータ更新手段と、
を具備する通信端末装置。
【請求項２】
前記アクセステーブルは、前記ＩＣカードのアクセス領域へのアクセス回数を格納し、かつ前記ＩＣカードが取り外された場合も過去のテーブルデータを保持し、
前記通信端末装置は、前記アクセステーブルに格納されている前記アクセス回数が所定の閾値を越えているか否かを判定するアクセス回数判定手段を備え、
前記ハンドル取得手段は、前記ＩＣカードの次のアクセス時に前記アクセステーブル作成手段により前記アクセステーブルを作成する際に、前記アクセス回数判定手段により前記閾値を越えると判定されたアクセス回数の前記アクセス領域のハンドルのみを取得する、
請求項１記載の通信端末装置。
【請求項３】
前記テーブルデータ更新手段は、前記アクセス回数判定手段により前記閾値を越えると判定されたアクセス回数の前記アクセス領域のハンドルのみを更新する、
請求項２記載の通信端末装置。
【請求項４】
前記テーブルデータ更新手段は、前記アクセス回数判定手段により判定されたアクセス回数の多い順に前期アクセス領域のハンドルを更新する、
請求項２記載の通信端末装置。
【請求項５】
ＩＣカードのカードアプリケーションをオープンした際にＩＣカードが管理するアクセス予定のセキュア領域のハンドルを予め取得するハンドル取得ステップと、
前記ハンドル取得ステップにおいて取得した前記ハンドルをアクセステーブルに格納する格納ステップと、
前記セキュア領域へアクセスする場合に前記アクセステーブルに格納されている前記セキュア領域のハンドルを用いて前記セキュア領域へアクセスするアクセスステップと、
前記ＩＣカードの前記ハンドルの割り当てルールが実装毎に異なり、前記ＩＣカードの実装ごとに前記アクセステーブルの作成タイミングを変更するアクセステ−ブル作成ステップと、
前記ＩＣカードの実装ごとに前記アクセステーブルのテーブルデータの更新タイミングを変更するテーブルデータ更新ステップと、
を具備するアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードのカードアプリケーションから取得したハンドルを用いてＩＣカードが管理するセキュア領域へアクセスする通信端末装置およびアクセス方法に関する。
【背景技術】
【０００２】
従来、高いセキュリティを確保しながらデータを蓄積することができるＩＣカードが提供されている。
【０００３】
この種のＩＣカードは、デバイス事業、機器事業、サービスソリューション事業などをトータルに展開するセキュアなユビキタスネットワーク社会を実現するためのキーデバイスとして期待されている。
【０００４】
ところで、ホストである携帯電話やＰＣ（Personal Computer）などの通信端末装置からＩＣカードが管理するアクセス制御可能なメモリ領域（以下、この領域を「セキュア領域」という）へのアクセス方法としては、メモリ領域を指し示す変数や引数であるハンドル（ポインタ）を用いて行う方法と、ＩＣカードの種類や使用状況などのカード情報を用いて行う方法などがある。
【０００５】
このような従来のアクセス方法では、ホストからＩＣカードのカードアプリケーションへアクセスする際に、
（１）カードアプリケーションのセレクト（ＩＣカードに内蔵された複数のアプリケーションのうちの１つを選択する処理）。
（２）カードアプリケーションのオープン（コネクションを開く処理）。
（３）アクセス要求しているホストの認証（暗証番号などの入力処理）。
（４）認証でパスした特定のホストへのアクセス許可（ホストからＩＣカードのカードアプリケーションへのアクセス処理）。
などの複雑な手続きを必要としている。
【０００６】
このため、従来のアクセス方法では、ホストからＩＣカードのカードアプリケーションへのアクセスに時間がかかるという課題があった。
【０００７】
特に、従来の一般的なＩＣカードは、通信速度が９６００ｄｐｓと遅いため、そのカードアプリケーションへのアクセスにかかる時間がさらに長くなるという課題があった。
【０００８】
そこで、本出願人は、ホスト（端末）からＩＣカードのアクセス領域を指定するコマンドと、アクセスを行うコマンドとを分離し、アクセスを行うコマンドの引数にホストの検証データを含めて送信するアクセス方法を提案している（特許文献１参照）。
【０００９】
このアクセス方法においては、セキュア領域にアクセスするコマンドの引数にホストの検証データが含まれているので、アクセス領域指定を行ったホストアプリケーションと、セキュア領域にアクセスするコマンドを発行したホストアプリケーションと、セキュア領域にアクセスする権限を持ったホストアプリケーションとが同一であることをＩＣカードで検証することが可能になる。
【００１０】
このアクセス方法においては、アクセス領域を指定するコマンドとアクセスするコマンドとが分離されているので、メモリアクセスについては従来のコマンドを使用してコマンドの複雑さを回避しながら、少ないコマンド引数でもセキュリティを低下させることなくセキュア領域にアクセスすることが可能になる。
【００１１】
また、本出願人は、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）に利用する証明書を予めＩＣカードから読み出してキャッシュすることでＳＳＬを高速化するアクセス方法を提案している（特許文献２参照）。
【００１２】
このアクセス方法においては、ホストとＩＣカード間におけるデジタル証明書の送受信を必要最低限の回数にすることが可能であるので、サーバとＩＣカードとの間での認証チャネル（Ｓｅｃｕｒｅ  Ａｕｔｈｅｎｔｉｃａｔｅｄ  Ｃｈａｎｎｅｌ）の確立にかかる時間を短縮し、ユーザ利便性を向上させることが可能となる。
【特許文献１】特開２００５−５０３２０号公報
【特許文献２】特開２００５−２３６５０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献１では、「ハンドルを動的に割り当てず、固定でホストと共有する高速化法」、および「同時に複数のファイルに対してアクセス可能な状態を作る方法」を示したが、これらの方法では、動的にハンドルを割り当てる場合には、ハンドルを取得する際のシステム全体にかかる負荷（オーバヘッド）を削減することは難しい。
【００１４】
すなわち、ハンドルが固定の場合には、ホストとＩＣカードとの通信路が１：１の関係となるので、複数のコネクションを同時に確立することで、同時に複数のファイルに対してアクセス可能となる。
【００１５】
また、特許文献２では、「ＩＣカードからデジタル証明書を先読みする方法」を示したが、動的に割り当てられるセキュア領域のハンドルを先読みする場合には、この方法を適用することは困難となる。
【００１６】
すなわち、ハンドルが固定の場合には、ハンドル情報をさほど問題なく先読みすることができるが、ハンドルが動的に割り当てられている場合には、ホストからのアクセスの度に毎回変化するハンドル情報を全て先読みしておくことは実質的に不可能である。
【００１７】
本発明の目的は、ＩＣカードが管理するセキュア領域へアクセスする際のオーバヘッドを削減することができる通信端末装置およびアクセス方法を提供することである。
【課題を解決するための手段】
【００１８】
本発明の通信端末装置は、ＩＣカードのカードアプリケーションをオープンした際にＩＣカードが管理するアクセス予定のセキュア領域のハンドルを予め取得するハンドル取得手段と、前記ハンドル取得手段により取得した前記ハンドルを格納するアクセステーブルと、前記セキュア領域へアクセスする場合に前記アクセステーブルに格納されている前記セキュア領域のハンドルを用いて前記セキュア領域へアクセスするアクセス手段と、を具備する構成を採る。
【発明の効果】
【００１９】
本発明によれば、ＩＣカードのセキュア領域へアクセスする際にハンドルをその都度取得する必要がないので、アクセス時のオーバヘッドを削減することができ、通信端末装置からＩＣカードのセキュア領域への高速アクセスが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２１】
図１は、本発明の一実施の形態に係る通信端末装置の構成を示す概略断面図である。
【００２２】
図１に示すように、ホストである携帯電話やＰＣなどの通信端末装置としての携帯端末１００は、アクセステーブル１０１、アクセステーブル作成部１０２、テーブルデータ更新部１０３、アクセス回数判定部１０４、ハンドル取得部１０５、データ入出力部１０６、ホストアプリケーション１０７、カード情報判断部１０８、カード情報取得部１０９、ＩＣカードＩ／Ｆ１１０、ＣＰＵ１１１を備えている。
【００２３】
図１において、携帯端末１００には、ＩＣカード２００が実装される。
【００２４】
携帯端末１００のアクセステーブル１０１は、ＩＣカード２００のアクセス予定のカードアプリケーションのハンドルや、ＩＣカード２００のカードアプリケーションへのアクセス回数などのカード情報を保持する。
【００２５】
アクセステーブル作成部１０２は、カードアプリケーションのハンドルやアクセス回数などのカード情報を基にアクセステーブル１０１を作成する。
【００２６】
テーブルデータ更新部１０３は、アクセステーブル１０１のテーブルデータを更新する場合に、アクセステーブル作成部１０２に更新するテーブルデータを送信する。
【００２７】
アクセス回数判定部１０４は、ＩＣカード２００のカードアプリケーションへのアクセス回数が所定回数に達しているか否かを判定する。
【００２８】
ハンドル取得部１０５は、ＩＣカード２００のカードアプリケーションをオープンした際に、アクセス予定の全ての領域のハンドルを全て取得する。
【００２９】
データ入出力部１０６は、携帯端末１００のホストアプリケーション１０７や、ＩＣカード２００のカードアプリケーション、およびインターネットなどの外部ネットワークに繋がれたサーバ（不図示）などの文字データや画像データおよび音声データ等を出力したり、ＩＣカード２００やサーバなどに文字データや画像データおよび音声データ等を入力したりする。
【００３０】
ホストアプリケーション１０７は、携帯端末１００の様々な機能を動作させるためのプログラムである。
【００３１】
カード情報判断部１０８は、ＩＣカード２００の実装情報、つまりカード情報取得部１０９が取得したカード情報に基づいて、アクセス回数が所定回数を越えているカードアプリケーションの有無、および有効期限を越えたハンドルの有無などを判断する。
【００３２】
カード情報取得部１０９は、ＩＣカード２００のカードアプリケーションのアクセス回数やハンドルなどのカード情報を取得し、取得したカード情報をカード情報判断部１０８に送信する。
【００３３】
ＩＣカードＩ／Ｆ１１０は、ＩＣカード２００に対する入出力信号を処理するカードインターフェースである。
【００３４】
ＣＰＵ１１１は、上述した各部の動作を制御したり入出力信号を演算処理したりする。
【００３５】
本例の携帯端末１００に実装されるＩＣカード２００は、コントローラ部２０１、ＩＣカード部２０２、フラッシュメモリ部２０３を備えている。
【００３６】
コントローラ部２０１は、携帯端末１００のＩＣカードＩ／Ｆ１１０との間で信号の送受信を行い、ＩＣカード部２０２およびフラッシュメモリ部２０３の動作を制御する。
【００３７】
ＩＣカード部２０２は、不揮発性メモリとしてＦｅＲＡＭが採用されており、高速な非接触通信を実現することが可能となっている。ＦｅＲＡＭは、強誘電体を利用した不揮発性メモリの一種で、一般的なフラッシュメモリやＥＥＰＲＯＭ等の不揮発性メモリに比べ、高速書き込みおよび高速書き換え回数が低消費電力で得られるという特徴がある。
【００３８】
フラッシュメモリ部２０３は、一部の領域がＩＣカード部２０２内の鍵により暗号化されることで、大容量のコンテンツやアプリケーションソフトなどを高いセキュリティを確保しながら蓄積することが可能となっている。
【００３９】
また、ＩＣカード２００は、フラッシュメモリ部２０３をセキュア領域として自由に設定することが可能となっている。このセキュア領域として使用できる容量は、フラッシュメモリ部２０３の容量の範囲内で自由に設定することが可能になっている。
【００４０】
また、ＩＣカード２００は、ＩＣカード部２０２内で鍵の管理および暗号化を実行することで、高い秘匿性を実現すると同時に、読み書き時のデータ転送速度として６００ＫＢｙｔｅ／ｓｅｃ程度を実現し、機密情報保護等の応用に適した機能を提供することが可能となっている。
【００４１】
次に、本例の携帯端末１００とＩＣカード２００との動作について説明する。図２は、本発明の一実施例に係る通信端末装置としての携帯端末とＩＣカードとの動作を説明するためのシーケンス図である。図３は、本発明の一実施例に係る通信端末装置としての携帯端末とＩＣカードとの動作を説明するためのブロック図である。
【００４２】
図２に示すように、ホストとしての携帯端末１００からＩＣカード２００が管理するセキュア領域に直接アクセスする場合には、携帯端末１００のカード情報取得部１０９がＩＣカード２００に対してカードＶｅｒ、作成メーカなどの実装情報などのカード情報を送るように要求する（ステップＳＴ２０１）。
【００４３】
このステップＳＴ２０１での要求により、ＩＣカード２００は、要求されたカードＶｅｒ、作成メーカなどの実装情報などのカード情報を携帯端末１００に送る（ステップＳＴ２０２）。
【００４４】
これにより、携帯端末１００は、図３に示すように、カードＶｅｒ、作成メーカなどの実装情報などのカード情報３０１を保持する。
【００４５】
次いで、携帯端末１００は、カード情報取得部１０９がＩＣカード２００から取得したカード情報（実装情報）３０１から、ＩＣカード２００の実装が高速化可能であるか高速化困難であるかをカード情報判断部１０８で判断する。
【００４６】
ここで、ＩＣカード２００が高速化可能な実装と判断（ステップＳＴ２０３）した場合には、携帯端末１００のハンドル取得部１０５がＩＣカード２００に対してアクセス予定領域のハンドルを送るように要求する（ステップＳＴ２０４）。
【００４７】
なお、ＩＣカード２００が高速化困難な実装と判断した場合には、携帯端末１００からＩＣカード２００が管理するセキュア領域へのアクセス処理をストップし、その旨をデータ入出力部１０６の表示手段であるディスプレイ（不図示）に表示する。
【００４８】
ＩＣカード２００は、携帯端末１００のハンドル取得部１０５からアクセス予定領域のハンドル要求（ステップＳＴ２０４）を受けると、要求されたアクセス予定領域のハンドル（Ａ，Ｂ，・・・・）を携帯端末１００に送る（ステップＳＴ２０５）。
【００４９】
携帯端末１００は、ＩＣカード２００から送られてきたアクセス予定領域のハンドルをアクセステーブル作成部１０２に送信してアクセステーブル１０１を作成する（ステップＳＴ２０６）。
【００５０】
これにより、図３に示すように、携帯端末１００のアクセステーブル１０１に、ＩＣカード２００のアクセス予定領域のハンドルが格納される。このとき、アクセステーブル１０１には、携帯端末１００があるアドレスに何回アクセスしたかという情報としてのアクセス回数も格納される。
【００５１】
次いで、本例の携帯端末１００においては、ＩＣカード２００の実装に応じて有効期限切れのハンドルを更新する（ステップＳＴ２０７）。
【００５２】
このステップＳＴ２０７では、携帯端末１００のカード情報取得部１０９で取得したカード情報をカード情報判断部１０８で判断した結果、有効期限切れのハンドル（Ｂ）がある場合に、ハンドル取得部１０５がＩＣカード２００に対して有効期限切れのハンドル（Ｂ）を送るように要求する（ステップＳＴ２０８）。
【００５３】
ＩＣカード２００は、携帯端末１００からのハンドル要求に対して、要求された有効期限切れのハンドル（Ｂ）を送る（ステップＳＴ２０９）。
【００５４】
携帯端末１００は、ハンドル取得部１０５がＩＣカード２００から再取得したハンドル（Ｂ）をテーブルデータ更新部１０３に送り、アクセステーブル作成部１０２によりアクセステーブル１０１の有効期限切れのハンドル（Ｂ）を更新する。なお、ここでは、有効期限切れのハンドル（Ｂ）の更新に加えて、有効期限まで所定時間を切ったハンドルも更新するようにしてもよい。
【００５５】
なお、本例の携帯端末１００は、ＩＣカード２００のアクセス予定領域へのアクセス回数が所定の閾値を越えているか否かをアクセス回数判定部１０４で判定し、アクセス予定領域へのアクセス回数が所定の閾値を越えている場合にも、テーブルデータ更新部１０３を介してアクセステーブル作成部１０２によりアクセステーブル１０１のテーブルデータを更新することができる。また、ここでは、閾値を設けずにアクセス回数の多い順にアクセステーブル１０１のテーブルデータを更新するようにしてもよい。
【００５６】
次に、本例の携帯端末１００の動作について説明する。図４は、本発明の一実施例に係る通信端末装置としての携帯端末の動作を示すフローチャートである。
【００５７】
図４において、携帯端末１００は、ＩＣカード２００のセキュア領域へのアクセス動作がスタートすると、まずアクセステーブル１０１を参照（ステップＳＴ４０１）し、これからアクセスしようとするアクセス領域（セキュア領域）のハンドルの有無をチェックする（ステップＳＴ４０２）。
【００５８】
ステップＳＴ４０２において、携帯端末１００がアクセスしようとするセキュア領域のハンドルがアクセステーブル１０１にある場合には、携帯端末１００からアクセステーブル１０１のハンドルを用いてセキュア領域にアクセスする（ステップＳＴ４０３）。
【００５９】
一方、ステップＳＴ４０２において、携帯端末１００がアクセスしようとするセキュア領域のハンドルがアクセステーブル１０１に無い場合には、アクセステーブル作成ルーチンを実行（ステップＳＴ４０４）し、新たに作成したアクセステーブル１０１のハンドルを用いてセキュア領域にアクセスする。
【００６０】
次いで、本例の携帯端末１００においては、ステップＳＴ４０１において参照したアクセステーブル１０１を更新するか否か判断する（ステップＳＴ４０５）。ここで、アクセステーブル１０１を更新するか否かの判断は、ユーザの操作で行ってもよく、あるいは予め設定したプログラムにより行ってもよい。
【００６１】
そして、ステップＳＴ４０５での判断で、アクセステーブル１０１を更新する場合には、アクセステーブル更新ルーチンを実行（ステップＳＴ４０６）した後、ステップＳＴ４０７に移行する。
【００６２】
一方、ステップＳＴ４０５での判断で、アクセステーブル１０１を更新しない場合には、アクセステーブル更新ルーチンを実行せずに、ステップＳＴ４０７にジャンプする。
【００６３】
ステップＳＴ４０７においては、携帯端末１００からＩＣカード２００のセキュア領域へのアクセスを終了するか否か判断し、アクセスを継続する場合にはステップＳＴ４０３に戻り、アクセスを終了する場合には携帯端末１００のアクセス動作をストップする。
【００６４】
なお、上述したように、ステップＳＴ４０２において、携帯端末１００がアクセスしようとするセキュア領域のハンドルがアクセステーブル１０１に無い場合には、図５に示すアクセステーブル作成ルーチンを実行する。図５は、図４におけるアクセステーブル作成ルーチンの詳細を示すフローチャートである。
【００６５】
図５に示すように、アクセステーブル作成ルーチンでは、まず携帯端末１００がＩＣカード２００の実装チェックを行う（ステップＳＴ５０１）。この実装チェックでは、カード情報取得部１０９がＩＣカード２００の実装をチェックするためにカード情報（実装情報）３０１（図３参照）を取得する。
【００６６】
次いで、携帯端末１００は、取得したカード情報（実装情報）３０１から、ＩＣカード２００の実装が高速化可能であるか高速化困難であるかをカード情報判断部１０８で判断する（ステップＳＴ５０２）。
【００６７】
ステップＳＴ５０２において、ＩＣカード２００の実装が高速化困難であると判断された場合には、携帯端末１００のアクセス動作をストップする。
【００６８】
一方、ステップＳＴ５０２において、ＩＣカード２００の実装が高速化可能であると判断された場合には、ハンドル取得部１０５によりＩＣカード２００のアクセス予定領域のハンドルを取得する（ステップＳＴ５０３）。
【００６９】
そして、ハンドル取得部１０５は、ＩＣカード２００から取得したアクセス予定領域のハンドルをアクセステーブル作成部１０２に送る。
【００７０】
アクセステーブル作成部１０２は、ハンドル取得部１０５が取得したＩＣカード２００のアクセス予定領域のハンドルを受け取ると、受け取ったハンドルを含むアクセステーブル１０１を作成する（ステップＳＴ５０４）。
【００７１】
そして、ステップＳＴ５０４でアクセステーブル１０１を作成した後、図４のステップＳＴ４０３に戻る。
【００７２】
また、ステップＳＴ４０５での判断で、アクセステーブル１０１を更新する場合には、図６に示すアクセステーブル更新ルーチンを実行する。図６は、図４におけるアクセステーブル更新ルーチンの詳細を示すフローチャートである。
【００７３】
図６に示すように、アクセステーブル更新ルーチンでは、まず携帯端末１００がＩＣカード２００の実装チェックを行う（ステップＳＴ６０１）。この実装チェックでは、アクセステーブル作成ルーチンの場合と同様、カード情報取得部１０９がカード情報（実装情報）３０１を取得する。
【００７４】
次いで、携帯端末１００は、取得したカード情報（実装情報）３０１から、実装されたＩＣカード２００の更新タイミングであるか否かを判断する（ステップＳＴ６０２）。
【００７５】
ステップＳＴ６０２において、更新タイミングではないと判断された場合には、図４のステップＳＴ４０７にジャンプする。
【００７６】
一方、ステップＳＴ６０２において、更新タイミングであると判断された場合には、アクセステーブル１０１に有効期限切れのハンドルがあるか否か判断する（ステップＳＴ６０３）。
【００７７】
ステップＳＴ６０３において、アクセステーブル１０１に有効期限切れのハンドルがないと判断された場合には、図４のステップＳＴ４０７にジャンプする。
【００７８】
一方、ステップＳＴ６０３において、アクセステーブル１０１に有効期限切れのハンドルがあると判断された場合には、ハンドル取得部１０５が有効期限切れになっているＩＣカード２００のカードアプリケーションのハンドルを再取得する（ステップＳＴ６０４）。
【００７９】
ハンドル取得部１０５が再取得した有効期限切れになっているＩＣカード２００のカードアプリケーションのハンドルは、テーブルデータ更新部１０３に送られる。
【００８０】
テーブルデータ更新部１０３は、ハンドル取得部１０５が再取得したハンドルをアクセステーブル作成部１０２に送り、アクセステーブル１０１の該当するハンドルを更新する（ステップＳＴ６０５）。
【００８１】
そして、ステップＳＴ６０５でアクセステーブル１０１を更新した後、図４のステップＳＴ４０７に戻る。
【００８２】
上述のように、本例の携帯端末１００においては、カードアプリケーションをオープンした際に、アクセス予定のアクセス領域のハンドルを取得して、アクセステーブル１０１を作成することができる。なお、ＩＣカード２００の使用するアクセス領域が分からない場合には、全領域のハンドルを取得することができる。
【００８３】
また、本例の携帯端末１００においては、ＩＣカード２００のハンドルの割り当てルールが実装ごとに異なるため、アクセステーブル１０１の作成および更新タイミングを、ＩＣカード２００の実装ごとに変更することができる。ただし、携帯端末１００に実装されるＩＣカード２００が一種類の場合には、アクセステーブル１０１の作成および更新タイミングを変更する必要はない。また、ハンドルの有効期間は、カードアプリケーションのクローズ時やコネクションのクローズ時などＩＣカード２００の実装（カード製造会社の設定）によって異なる。
【００８４】
ところで、携帯端末１００がＩＣカード２００のカードアプリケーションへアクセスする予定領域は、携帯端末１００のホストアプリケーションで数カ所に決まっている。
【００８５】
そこで、本例の携帯端末１００では、ユーザが使用するアクセス領域の全てのハンドルを予めキャッシュして、まずアクセステーブル１０１を作成するようにしている。
【００８６】
また、ＩＣカード２００のカードアプリケーションのハンドルが変わるタイミングは、ＩＣカード２００の実装、つまりカード製造会社によって異なるという実装依存性がある。
【００８７】
そこで、本例の携帯端末１００においては、実装されているＩＣカード２００のハンドルが変わるタイミング、つまり実装会社の決めたルールやカードバージョンに応じてアクセステーブル１０１を更新するようにしている。
【００８８】
このように、本例の携帯端末１００におけるアクセステーブル１０１は、ＩＣカード２００のカードバージョンおよびカード会社に応じたインデックスのアクセステーブル１０１に更新される。
【００８９】
また、本例の携帯端末１００においては、有効期限（ＩＣカード２００の種類等によって異なる）のハンドルを催促して更新するようにしている。
【００９０】
従って、本例の携帯端末１００においては、例えば、Ａ社製のＩＣカード２００の場合には、カードアプリケーションのクローズの度に、Ｂ社製のＩＣカード２００の場合には、コネクションを作り直したときに、というように、ＩＣカード２００の種類等に応じてアクセステーブル１０１のハンドルを更新することができる。
【００９１】
ところで、ＩＣカード２００の予め使用するアクセス領域が分からない場合には、全アクセス領域のハンドルを取得すればよいが、ＩＣカード２００の全アクセス領域のハンドルを全てキャッシュすると、携帯端末１００からカードアプリケーションへのアクセスが遅くなる。
【００９２】
そこで、本例の携帯端末１００においては、上述のようにアクセス領域が分からない場合には、ＩＣカード２００へのアクセスタイミングごとに、予め決めたアクセス領域のハンドルのみをキャッシュするようにする。
【００９３】
すなわち、本例の携帯端末１００では、アクセス領域を分散しながらハンドルをキャッシュする。例えば、本例の携帯端末１００では、アクセス領域が多い場合、アクセス領域をｎ個のグループに分割し、カードアプリケーションにアクセスするごとに１つのグループのハンドルを取得するようにする。
【００９４】
ところで、上述のように、アクセステーブル１０１のハンドルを用いて実際にＩＣカード２００にアクセスしてカードアプリケーションを動作させた場合には、アクセステーブル１０１のハンドルに、よく使うものと使わないものがでてくる。
【００９５】
このため、有効期限切れの全てのハンドルを更新するようにした場合には、携帯端末１００からＩＣカード２００のカードアプリケーションへのアクセス速度がかえって低下してしまうことがあり得る。
【００９６】
そこで、本例の携帯端末１００では、アクセステーブル１０１にＩＣカード２００のアクセス領域へのアクセス回数を記録するようにしている。また、本例の携帯端末１００では、ＩＣカード２００が抜かれた場合も過去のアクセステーブル１０１のテーブルデータを保持しておくようにしている。
【００９７】
そして、本例の携帯端末１００においては、次のＩＣカード２００へのアクセス時にアクセステーブル１０１を作成する場合に、アクセス回数が予め定めた閾値を超えるアクセス領域についてのみハンドルを取得するようにしている。
【００９８】
これにより、本例の携帯端末１００においては、よく使うハンドルから優先的に更新されるようになり、あまり使っていないハンドルは更新されないようになるので、アクセステーブル１０１の効率的な利用、およびアクセステーブル１０１の更新の効率化を図ることができる。
【００９９】
なお、本例の携帯端末１００においては、セキュア領域と関係のないＩＣカード２００へのアクセス時にもアクセステーブル１０１を更新するようにしている。
【０１００】
また、ここでは、対象となるホストとしての携帯端末１００として、携帯電話を想定して説明したが、このホストはＩＣカード２００が挿入可能な機器であればよく、例えば個人所有の自宅ＰＣであってもよい。
【０１０１】
また、ＩＣカード２００は、カード形状のものでなくてもチップのようなであってもよく、例えば、お財布携帯などの携帯電話に内蔵されたチップであってもよい。
【０１０２】
上述のように、本例の携帯端末１００およびアクセス方法によれば、予め取得しておいたアクセステーブル１０１のハンドルを用いてＩＣカード２００が管理するセキュア領域へ携帯端末１００から直接アクセスできる。
【０１０３】
従って、本例の携帯端末１００およびアクセス方法においては、携帯端末１００からＩＣカード２００のセキュア領域へアクセスする際にハンドルをその都度取得する必要がないので、ＩＣカード２００のセキュア領域へアクセスする際のオーバヘッドを削減することができる。
【産業上の利用可能性】
【０１０４】
本発明に係る通信端末装置およびアクセス方法は、ＩＣカードのセキュア領域へアクセスする際にハンドルをその都度取得する必要がないので、アクセス時のオーバヘッドを削減することができ、通信端末装置からＩＣカードのセキュア領域への高速アクセスが可能となるので、ＩＣカードのカードアプリケーションから取得したハンドルを用いてＩＣカードが管理するセキュア領域へアクセスする通信端末装置およびアクセス方法として有用である。
【図面の簡単な説明】
【０１０５】
【図１】本発明の一実施の形態に係る通信端末装置の構成を示す概略断面図
【図２】本発明の一実施例に係る通信端末装置としての携帯端末とＩＣカードとの動作の概略を示すシーケンス図
【図３】本発明の一実施例に係る通信端末装置としての携帯端末とＩＣカードとの動作を説明するためのブロック図
【図４】本発明の一実施例に係る通信端末装置としての携帯端末の動作を示すフローチャート
【図５】図４におけるアクセステーブル作成ルーチンの詳細を示すフローチャート
【図６】図４におけるアクセステーブル更新ルーチンの詳細を示すフローチャート
【図１】
0004827919.tif 000002
【図２】
0004827919.tif 000003
【図３】
0004827919.tif 000004
【図４】
0004827919.tif 000005
【図５】
0004827919.tif 000006
【図６】
0004827919.tif 000007