(57)【特許請求の範囲】
【請求項１】
複数のアプリケーションを搭載可能なＩＣカードに格納され、オブジェクトを含み、前記オブジェクトを含むアプリケーションとは異なる他のアプリケーションから前記オブジェクトへのアクセスを管理するために前記ＩＣカードのＣＰＵを実行させるＩＣカードプログラムであって、
前記オブジェクトに含まれ、前記他のアプリケーションごとに前記オブジェクトへのアクセス条件情報を記録した共有管理テーブルと、
前記他のアプリケーションから前記オブジェクトへのアクセスを許可するか否かを前記アクセス条件情報に基づいて判定するアクセス判定手順と、を備えること、
を特徴とするＩＣカードプログラム。
【請求項２】
請求項１に記載のＩＣカードプログラムにおいて、
前記他のアプリケーションからの認証要求があった場合に、前記他のアプリケーションにより認証要求とともに送信された認証に用いる情報に基づいて認証するか否かを判定する認証判定手順を備え、
前記アクセス判定手順は、前記認証判定手順において認証された前記他のアプリケーションから前記オブジェクトへのアクセスを許可するか否かを判定すること、
を特徴とするＩＣカードプログラム。
【請求項３】
請求項２に記載のＩＣカードプログラムにおいて、
前記オブジェクトに含まれる前記アクセス条件情報を書き換える、書き込む、又は、削除する書換手順を備え、
前記書換手順は、前記認証判定手順において認証された場合に、前記認証された条件に応じて前記アクセス条件情報を書き換え、書き込み、又は、削除すること、
を特徴とするＩＣカードプログラム。
【請求項４】
請求項１から請求項３までのいずれか１項に記載のＩＣカードプログラムにおいて、
前記アクセス判定手順は、前記オブジェクトの処理プログラムにおいて実行されること、
を特徴とするＩＣカードプログラム。
【請求項５】
請求項２又は請求項３に記載のＩＣカードプログラムにおいて、
前記認証判定手順は、以前に前記他のアプリケーションからのアクセスが前記アクセス判定手順において前記他のアプリケーションのアクセスを許可しないと判定された回数が所定の回数以上である場合に、前記他のアプリケーションを認証しないと判定すること、
を特徴とするＩＣカードプログラム。
【請求項６】
複数のアプリケーションを搭載可能なＩＣカードであって、少なくとも、請求項１から請求項５までのいずれか１項に記載のＩＣカードプログラムを記憶しているプログラム記憶手段を備えること、
を特徴とするＩＣカード。
【請求項７】
複数のアプリケーションを記憶するアプリケーション記憶手段と、
前記アプリケーション記憶手段に記憶されている、一のアプリケーションから他のアプリケーションに含まれるオブジェクトへのアクセスを許可するか否かを前記オブジェクトに含まれるアクセス条件情報に基づいて判定するアクセス判定手段と、を備え、
前記アプリケーション記憶手段は、前記オブジェクトに含まれ、前記一のアプリケーションから前記他のオブジェクトへの前記アクセス条件情報を記録した共有管理テーブル
を備えるＩＣカード。
【請求項８】
請求項７に記載のＩＣカードにおいて、
前記一のアプリケーションからの認証要求があった場合に、前記一のアプリケーションにより認証要求とともに送信された認証情報に基づいて認証するか否かを判定する認証判定手段を備え、
前記認証判定手段は、以前に前記一のアプリケーションから前記オブジェクトへのアクセスが前記アクセス判定手段によって前記他のアプリケーションのアクセスを許可しないと判定された回数が所定の回数以上である場合に、前記他のアプリケーションを認証しないと判定すること、
を特徴とするＩＣカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、搭載される複数のアプリケーション間におけるオブジェクトの共有を管理するＩＣカードプログラム及びＩＣカードに関するものである。
【０００２】
【従来の技術】
従来は、ＩＣカード（ＩＣカードとは、ＩＳＯ等の標準規格のサイズに準拠したＩＣカード、ＳＩＭカードに限られず、また、外形形状、厚さにかかわらず、ポケットに入れられる程度のサイズを有するポケット型で携帯可能な情報端末をいう。）上のアプリケーション間のアクセスはセキュリティ上問題があり、通常実行環境（オペレーションシステムの一部であってアプリケーションを動かすためのサービスを提供する。以下、オペレーションシステムを「ＯＳ」という。）により不可能となっていた（ファイアウォール、後述する図５参照）。
しかし、複数アプリケーションを搭載したＩＣカードでは限られた資源を有効に使う必要があるため、機能やデータを共有することによって管理された環境下での限定的なアクセス（共有アクセス）を許す場合がある。
【０００３】
例えば、サンマイクロシステムズ社のＪａｖａＣａｒｄ（「ＪＡＶＡ」は登録商標）では、各アプリケーションを管理している実行環境（ＪａｖａＣａｒｄの場合はＪＣＲＥ：Ｊａｖａ  Ｃａｒｄ  Ｒｕｎｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔと呼ばれる。）を介して特定のオブジェクトを他のアプリケーションに提供することが可能である（以下、オブジェクトを提供するアプリケーションを「サーバアプリ」、提供を受けるアプリケーションを「クライアントアプリ」と言う。）。一方、実行環境によって、各アプリケーションは、互いに直接アクセスできず、クライアントアプリがサーバアプリのオブジェクトを直接呼び出そうとしてもエラーとなる（ファイアウォール）。なお、オブジェクトとは、データと、これに対する処理プログラムであって一又は複数の関数の集合である機能とを一体化したモジュールである。
【０００４】
また、ＪａｖａＣａｒｄでは、アプリケーションを搭載する場合に、予め共有アクセスを要求すると予測されるクライアントアプリのユニークなＩＤ（以下、「ＡＩＤ」という。）と認証のためのパラメータ（ＰＩＮ等）を対象となるサーバアプリにデータとして与えておき、サーバアプリはこのデータによってクライアントが正当なアプリケーションかどうかを確認することが可能である（セキュリティ上問題ない場合は無制限にアクセスを許してもよい）。
【０００５】
【発明が解決しようとする課題】
しかし、カード発行後に追加をされたクライアントアプリのＡＩＤを予めサーバアプリに与えることはできず、発行後の追加や削除に対応できない問題があった。
また、追加されたクライアントアプリに対応するため、既に搭載されていたアプリケーションを入れ直す場合には、このアプリケーションとともに対応するデータを削除しなければならなかった。
更に、ＰＩＮ等の認証パラメータを何度も変更してアクセスすることによって不正アクセスを許可してしまう可能性があった。
上記課題を解決するために、本出願人は、「共有アクセス管理機能を備えた携帯可能な情報処理装置」（特願２０００−２６８６７６、未公開）を提案している。各サーバアプリは、どのクライアントアプリに対してどのようなアクセスの許可を与えるかを判断するための共有管理情報を有している。この共有管理情報は追加、削除、交信ができるため、カード発行時に想定していなかったアプリケーションの追加や削除に対しても正しくアクセスの許可／不許可を管理でき、機能やデータをアクセス可能／不可能にすることができる。
【０００６】
しかし、例えば、ポイントアプリケーションを提供する会社及びキャッシュアプリケーションを提供する会社が提携し、ポイントアプリケーションは、キャッシュアプリケーションを認証し、ポイント加算機能のオブジェクトがどの番地にあるかを示す参照を渡すことによって、このオブジェクトをキャッシュアプリケーションに公開する。このキャッシュアプリケーションが又貸しのような形でさらにこのオブジェクトを他社が提供する他のアプリケーションに公開した場合には、このアプリケーションからアクセスされるおそれがあり、ポイントがむやみに加算される等の弊害を生じる可能性があった。つまり、又貸しの形で次々とオブジェクトを公開され、サーバアプリがアクセスを許可してないクライアントアプリのアクセスを許してしまうおそれがあり、アプリケーション間においてセキュリティ上の問題が生じる可能性があった。
また、バグのために認証されていないアプリケーションがサーバアプリにアクセスしてしまうおそれがあり、同様にセキュリティ上の問題が生じる可能性があった。
【０００７】
本発明の課題は、複数のアプリケーション間での共有アクセスにおいてセキュリティ性の向上を図ることが可能なＩＣカードプログラム及びＩＣカードを提供する。
【０００８】
【課題を解決するための手段】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項１の発明は、複数のアプリケーションを搭載可能なＩＣカード（１）に格納され、オブジェクト（５５１）を含み、他のアプリケーション（５１，５２）から前記オブジェクトへのアクセスを管理するために前記ＩＣカードのＣＰＵを実行させるＩＣカードプログラムであって、前記他のアプリケーションから前記オブジェクトへのアクセスを許可するか否かを前記オブジェクトに含まれるアクセス条件情報（５５２）に基づいて判定するアクセス判定手順（Ｓ２０３）を備えること、を特徴とするＩＣカードプログラム（５５）である。
【０００９】
請求項２の発明は、請求項１に記載のＩＣカードプログラムにおいて、前記他のアプリケーションからの認証要求があった場合（Ｓ１０１，Ｓ１０２）に、認証するか否かを判定する認証判定手順（Ｓ１０３）を備え、前記アクセス判定手順は、前記認証判定手順において認証された前記他のアプリケーションから前記オブジェクトへのアクセスを許可すると判定すること、を特徴とするＩＣカードプログラム（５５）である。
【００１０】
請求項３の発明は、請求項１又は請求項２に記載のＩＣカードプログラムにおいて、前記オブジェクトのアクセス条件情報を書き換える、書き込む、又は、削除する書換手順（Ｓ１０４）を備え、前記書換手順は、前記認証判定手順において認証された場合に、前記アクセス条件情報を書き換える、書き込む、又は、削除すること、を特徴とするＩＣカードプログラム（５５）である。
【００１１】
請求項４の発明は、請求項１から請求項３までのいずれか１項に記載のＩＣカードプログラムにおいて、前記アクセス判定手順は、前記オブジェクトの処理プログラムにおいて実行されること、を特徴とするＩＣカードプログラム（５５）である。
【００１２】
請求項５の発明は、請求項１から請求項４までのいずれか１項に記載のＩＣカードプログラムにおいて、前記アクセス判定手順は、以前に前記他のアプリケーションからのアクセスが前記アクセス判定手順において否と判定された回数が所定の回数以上である場合に、否と判定すること、を特徴とするＩＣカードプログラム（５５）である。
【００１３】
請求項６の発明は、複数のアプリケーションを搭載可能なＩＣカードであって、少なくとも、請求項１から請求項５までのいずれか１項に記載のＩＣカードプログラム（５５）を記憶するプログラム記憶手段（５０）を備えること、を特徴とするＩＣカード（１）である。
【００１４】
請求項７の発明は、複数のアプリケーションを記憶するアプリケーション記憶手段（５０）と、前記アプリケーション記憶手段に記憶されている、一のアプリケーション（５１，５２）から他のアプリケーション（５５）に含まれるオブジェクト（５５１）へのアクセスを許可するか否かをこのオブジェクトに含まれるアクセス条件情報（５５２）に基づいて判定するアクセス判定手段（２３）と、を備えるＩＣカード（１）である。
【００１５】
請求項８の発明は、請求項７に記載のＩＣカードにおいて、前記アクセス判定手段は、以前に前記一のアプリケーションから前記オブジェクトへのアクセスが前記アクセス判定手段によって否と判定された回数が所定の回数以上である場合に、否と判定すること、を特徴とするＩＣカード（１）である。
【００１６】
【発明の実施の形態】
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
（実施形態）
図１は、本発明によるＩＣカードの実施形態を示すブロック図である。
図１に示すように、ＩＣカード１は、外部リーダライタ２との通信を制御するＩ／Ｏインターフェイス１０、機器全体を制御するＣＰＵ２０、情報を記憶する記憶手段であるＲＡＭ３０、ＲＯＭ４０、ＥＥＰＲＯＭ５０等を備えるＪａｖａＣａｒｄ等、インタプリタ言語の実行環境を搭載し、書き換え可能な複数のアプリケーションを搭載するマルチアプリケーションＩＣカード上に構築することができる。
【００１７】
ＣＰＵ２０は、このＩＣカード１を統括制御する中央処理装置であり、認証部２１、テーブル書込部２２、アクセス判定部２３等を備えている。各部は、ＣＰＵ２０がＥＥＰＲＯＭ５０等に格納されているアプリケーション等のプログラムを実行することによって実現される。
認証部２１は、共有オブジェクト５５１へアクセスするための参照を求める認証要求があった場合に、要求を行ったクライアントアプリのＡＩＤ、認証パラメータ（ＰＩＮ）、アクセスの種別であるアクセス種別等に基づいて、共有オブジェクト５５１の参照を渡すか否か（クライアントアプリを認証するか否か）を判定する。
【００１８】
テーブル書込部２２は、認証部２１が認証したクライアントアプリのＡＩＤを共有オブジェクト５５１の共有管理テーブル５５２に許可状態として書き込む、アクセス回数、不許可回数を加算して書き換える等、共有管理テーブル５５２の要素の書き込み、書き換え、削除等を行う（後述する図２参照）。
アクセス判定部２３は、クライアントアプリ５１，５２からサーバアプリ５５のオブジェクト５５１へのアクセス要求があった場合に、アクセスを許可するか否かを共有オブジェクト５５１に含まれる共有管理テーブル５５２に基づいて判定する。
【００１９】
ＲＡＭ３０は、揮発性メモリであり、ＣＰＵ２０がＯＳ、アプリケーション等の処理を行う作業領域として使用される。
ＲＯＭ４０は、不揮発性の読み出し専用メモリであって、ＯＳ、実行環境等を格納している。ＯＳは、ＩＣカードの用途によらず汎用的に使用できる基本ソフトウェアである。実行環境は、ＪＣＲＥ等であって、ＯＳ及びアプリケーションの間に位置し（後述する図５参照）、アプリケーションの選択、オブジェクトの共有の仲介等を行う。
【００２０】
ＥＥＰＲＯＭ５０は、随時書き換え可能な不揮発性メモリであり、クライアントアプリ５１，５２、サーバアプリ５５等の複数のアプリケーション等を格納している。また、ＥＥＰＲＯＭ５０は、ＯＳやアプリケーションの作業領域として使用される。各アプリケーション５１，５２は、ＯＳの管理下において、ＣＰＵ２０がＩＣカードの各種用途固有の処理を行うためのプログラムである。
【００２１】
クライアントアプリ５１は、サーバアプリ５５の共有オブジェクト５５１への共有アクセスの認証条件を備えるアプリケーションであって、ＣＰＵ２０による処理において、共有オブジェクト５５１の認証要求、呼び出し等を行う。クライアントアプリ５１は、例えば、サーバアプリであるポイントアプリケーションのポイント加算機能を共有するキャッシュアプリケーションである。一方、クライアントアプリ５２は、共有オブジェクト５５１への共有アクセスの認証条件を備えていないアプリケーションである。
【００２２】
サーバアプリ５５は、ＩＣカード１に搭載されている他のアプリケーション５１，５２と共有可能なオブジェクトである共有オブジェクト５５１とを含むアプリケーションである。また、ＣＰＵ２０が実行することによって認証部２１及びテーブル書換部２２が実現されるプログラムと、認証に必要な情報等を含んでいる。
共有オブジェクト５５１は、サーバアプリ５５だけでなく、他のアプリケーションからも呼び出すことができる、データ及び機能を一体化した共有可能なモジュールである。共有オブジェクト５５１は、本来の機能であるポイント加算機能に、データとして共有管理テーブル５５２と、このデータに対応する機能としてアクセス判定プログラムとを備えている。
【００２３】
アクセス判定プログラムは、ＣＰＵ２０が処理を実行することによってアクセス判定部２３を実現するプログラムであって、処理において、共有管理テーブル５５２を参照する。アクセス判定プログラムは、共有オブジェクト５５１がクライアントアプリ５１，５２に呼び出された場合に、ポイント加算機能の処理前に実行される。
【００２４】
図２は、共有管理テーブルを説明する概略図である。
共有管理テーブル５５２は、サーバアプリ５５から共有オブジェクト５５１がどのクライアントアプリに対して公開され、アクセスが許可されているか等のアクセス条件情報を記録し、共有アクセスを管理するためのテーブルであって、クライアントアプリ５１，５２等のＡＩＤ、許可状態フラグＦＬＧ、不許可回数、アクセス回数等を結びつけて格納している。
ＡＩＤは、一のクライアントアプリ５１，５２をＩＣカード１に格納された他のアプリケーションから識別するための符号であって、本実施形態においては、クライアントアプリ５１，５２のＡＩＤは、それぞれ「００１」、「００２」である。
【００２５】
許可状態フラグＦＬＧは、クライアントアプリ５１，５２について共有オブジェクト５５１への共有アクセスを許可する状態であるか否かを示している。サーバアプリ５５から共有オブジェクト５５１を公開した（共有アクセスが認証された）クライアントアプリ５１については、「許可」となり、共有オブジェクト５５１を公開していないクライアントアプリ５２等に対しては、「不許可」又は「閉塞」となる。また、該当するＡＩＤがないサーバアプリへのアクセスは、「不許可」となる。従って、サーバアプリ５５以外から共有オブジェクト５５１を公開したクライアントアプリ（例えば、クライアントアプリ５１から共有オブジェクト５５１が公開されたクライアントアプリ５２）であっても「不許可」又は「閉塞」となる。「閉塞」は、共有アクセスの認証を受け付けない状態を示す。
なお、許可状態を「不許可」へ書き換える代わりにＡＩＤごと削除してもよい。
【００２６】
不許可回数は、アクセス判定部２３がそれぞれのクライアントアプリ５１，５２から共有オブジェクト５５１への共有アクセスを許可しなかった回数である。不許可回数が所定の回数（本実施形態では３回）に達した場合には、許可状態が閉塞となる。
アクセス回数は、アクセスが可能な回数を示し、アクセスをする度に回数が減算され、アクセス回数が０となった場合には、許可状態が閉塞となる。例えば、クライアントアプリ５１から共有オブジェクト５５１へ４回のアクセスを行った場合には、閉塞となる。
共有管理テーブル５５２は、制限されたアクセス期間を示すアクセス期間等のアクセス条件情報を含んでいてもよい。また、共有管理テーブル５５２のサイズは、固定であっても、可変であってもよく、その要素は、追加、更新、削除することができる。更に、リスト構造として実装していてもよい。
【００２７】
図３は、クライアントアプリからサーバアプリへ共有オブジェクトの公開を要求する共有オブジェクト要求処理を示すフローチャートであり、図５（ａ）は、共有オブジェクト要求処理における共有管理テーブルを説明する論理構造図であって、クライアントアプリ５１から要求を行った場合を示している。
Ｓ１００において、ＩＣカード１は、外部リーダライタ２と通信可能な環境に設置され、クライアントアプリ５１（又はクライアントアプリ５２）を実行するコマンドを外部リーダライタ２から入力し、処理を開始する。
Ｓ１０１において、ＣＰＵ２０は、クライアントアプリ５１（又はクライアントアプリ５２）を実行することによって、実行環境にサーバアプリ５５の共有オブジェクト５５１へアクセスするための参照を求める認証要求を行う［図５（ａ）（１）］。
【００２８】
Ｓ１０２において、ＣＰＵ２０は、実行環境からサーバアプリ５５へクライアントアプリ５１（又はクライアントアプリ５２）から認証要求がきていることをＡＩＤ「００１」（又は「００２」）とともに伝える［図５（ａ）（２）］。
Ｓ１０３において、認証部２１は、要求を行っているクライアントアプリ５１（又はクライアントアプリ５２）に参照を提供することが妥当であるか否か、認証するか否かをＡＩＤ「００１」等に基づいて判定する［図５（ａ）（３）］。
否と判定した場合（クライアントアプリ５２が認証要求を行った場合）には、ＣＰＵ２０は、ｎｕｌｌ値を返す、エラーを返す等、共有拒否を実行環境に伝え（Ｓ１１１）、同様に実行環境からクライアントアプリ５２へ伝え（Ｓ１１２）、ＣＰＵ２０は、クライアントアプリ５２の実行を終了する（Ｓ１１３）。なお、ｎｕｌｌ値は、何もない値であって、０，１，２等の数値でないため、結果を受けたクライアントアプリ５２では、正しく番地を取得できなかったと認識する。
【００２９】
一方、Ｓ１０３において、妥当と判定した場合（クライアントアプリ５１が認証要求を行った場合）には、テーブル書換部２２は、共有オブジェクト５５１の共有管理テーブル５５２にクライアントアプリ５１のＡＩＤを追加する［Ｓ１０４、図５（ａ）（３）］。
ＣＰＵ２０は、共有オブジェクトの参照（例：１００番地）を実行環境に返し［Ｓ１０５、図５（ａ）（４）］、実行環境からクライアントアプリ５１へ共有オブジェクト５５１の参照を返す［Ｓ１０６、図５（ａ）（５）］。
Ｓ１０７において、ＣＰＵ２０は、実行環境から得た参照の値（１００）をクライアントアプリ５１の変数にセットし、共有オブジェクト要求処理を終了する［Ｓ１０８、図５（ａ）（６）］。
【００３０】
図４は、本発明によるＩＣカードプログラムの実施形態を示すフローチャートであって、クライアントアプリから共有オブジェクトを呼び出し、その機能を実行する呼び出し処理を示している。図５（ｂ）は、呼び出し処理において共有管理テーブルを説明する論理構造図であって、クライアントアプリ５１から呼び出しをおこなった場合を示している。
【００３１】
この呼び出し処理は、共有オブジェクト要求処理の後に行われ、Ｓ２００において、クライアントアプリ５１の変数に共有オブジェクト５５１の参照の値（１００）がセットされ（図３、Ｓ１０７参照）、クライアントアプリ５２の変数には、クライアントアプリ５１から又貸しされた参照の値（１００）がセットされている。
【００３２】
Ｓ２０１において、ＣＰＵ２０は、クライアントアプリ５１（又はクライアントアプリ５２）を実行し、共有オブジェクト５５１の参照を利用してサーバアプリ５５内の共有オブジェクト５５１の機能を呼び出す［図５（ｂ）（７）］。
Ｓ２０２において、アクセス判定部２３は、共有オブジェクトの共有管理テーブル５５２を呼び出したクライアントアプリ５１（又はクライアントアプリ５２）のＡＩＤを実行環境に問い合わせ、このＡＩＤ「００１」（又は「００２」）を共有オブジェクト５５１の共有管理テーブル５５２で参照し（Ｓ２０２）、このＡＩＤ「００１」（又は「００２」）の許可状態フラグＦＬＧが許可状態で登録されているか否かを判定することによって、アクセスを許可するか否かを判定する［Ｓ２０３、図５（ｂ）（８））。
【００３３】
許可状態でない場合（ＡＩＤ「００２」の場合）には、ＣＰＵ２０は、エラーをクライアントアプリ５２へ返す、不許可回数をカウントする等の拒否処理を行い、クライアントアプリ５２の処理へ戻る（Ｓ２０６）。
一方、許可状態である場合（ＡＩＤ「００１」の場合）には、ＣＰＵ２０は、共有オブジェクト５５１のポイント加算機能を実行してその結果をクライアントアプリ５１へ返す。テーブル書込部２２は、アクセス回数を減算して書き込み、ＣＰＵ２０は、クライアントアプリ５１の処理へ戻り、サーバアプリ５５の処理を終了する（Ｓ２０５）。
【００３４】
このように、本実施形態によれば、ＩＣカード１は、アクセス判定部２３を備え、共有オブジェクト５５１の共有管理テーブル５５２に基づいて、アクセスを許可するか否かを判定するため、例えば、サーバアプリ５５に認証されたクライアントアプリ５１から参照を又貸しの形で公開されたクライアントアプリ５２から共有オブジェクト５５１へのアクセスを防止することによって、アクセスを許可していないクライアントアプリ５２のアクセスを防止し、アプリケーション間におけるセキュリティ性を向上することが可能となった。
【００３５】
また、認証されていないアプリケーションから他のアプリケーションに含まれる共有オブジェクト５５１へのバグによるアクセスを防止することが可能となった。
更に、アクセス判定部２３は、共有管理テーブル５５２の不許可回数が所定の回数、制限回数が零となっている場合には、そのクライアントアプリ５２から共有オブジェクト５５１へのアクセスを許可しないため、無制限のアクセス試行を許可せず、より一層のセキュリティ性の向上を図るとともに、アクセスの回数を制限し、利便性の向上を図ることが可能となった。
【００３６】
（変形形態）
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。
例えば、ＥＥＰＲＯＭ５０は、サーバアプリ５５におけるオブジェクト５５１以外の部分に判定プログラムを記憶し、ＣＰＵ２０がこれを実行することによってアクセス判定部２３を実現してもよい。
また、ＥＥＰＲＯＭ５０は、共有管理テーブル５５２に、アクセス種別等、様々なアクセス条件情報を格納していてもよい。
【００３７】
ＩＣカード１は、認証部２１を備えず、認証要求のあったすべてのクライアントアプリにオブジェクト５５１の参照を返し、認証による共有管理テーブル５５２へのＡＩＤの追加登録等をせずに、予め共有管理テーブル５５２にＡＩＤ、許可状態等を登録しておき、共有アクセスを管理してもよい。
【００３８】
共有管理テーブル５５２は、ＡＩＤのみを格納し、テーブル書換部２２は、共有管理テーブル５５２に認証部２１によって認証されたクライアントアプリ５１のＡＩＤ「００１」を書き込み、アクセス判定部２３は、この登録されたＡＩＤに基づいて判定を行ってもよい。少なくともアクセス条件情報として、アクセスを許可するクライアントアプリを許可しないクライアントアプリから区別できる情報であればよい。
【００３９】
ＲＡＭ３０又はＥＥＰＲＯＭ５０が共有管理テーブル５５２を格納し、アクセス判定プログラムがＲＯＭ４０に格納されている等、機能からデータが呼び出せれば、オブジェクトのデータと機能が分かれて記憶されていてもよい。
【００４０】
共有オブジェクト５５１を含むアプリケーションをサーバアプリ５５、共有オブジェクト５５１へ共有アクセスを要求するアプリケーションをクライアントアプリ５１，５２としたが、クライアントアプリ５１，５２と同様に共有オブジェクト５５１を含むアプリケーションが他のアプリケーションへ共有アクセスを要求してもよい。
【００４１】
共有オブジェクト５５１は、ＣＰＵ２０が実行することによって認証部２１及びテーブル書換部２２が実現されるプログラムと、認証に必要な情報等を含んでいてもよい。
【００４２】
【発明の効果】
以上詳しく説明したように、本発明によれば、以下のような効果を得ることが可能となった。
（１）オブジェクトに含まれるアクセス条件情報に基づいてオブジェクトへのアクセスを許可するか否かを判定することによって、アクセスを許可していないアプリケーションからのアクセスを防止し、アプリケーション間におけるセキュリティ性の向上を図る。
（２）所定の回数以上アクセスが否と判定されたアプリケーションからのアクセスを否と判定することによって、より一層のセキュリティ性の向上を図る。
【図面の簡単な説明】
【図１】本発明によるＩＣカードの実施形態を示すブロック図である。
【図２】共有管理テーブルを説明する概略図である。
【図３】共有オブジェクト要求処理を示すフローチャートである。
【図４】本発明によるＩＣカードプログラムの実施形態を示すフローチャートである。
【図５】共有オブジェクト要求処理及び呼び出し処理における共有管理テーブルを説明する論理構造図である。
【符号の説明】
１  ＩＣカード
２  リーダライタ
１０  Ｉ／Ｏインターフェイス
２０  ＣＰＵ
２１  認証部
２２  テーブル書換部
２３  アクセス判定部
３０  ＲＡＭ
４０  ＲＯＭ
５０  ＥＥＰＲＯＭ
５１，５２  クライアントアプリ
５５  サーバアプリ
５５１  共有オブジェクト
５５２  共有管理テーブル
【図１】
0003927411.tif 000002
【図２】
0003927411.tif 000003
【図３】
0003927411.tif 000004
【図４】
0003927411.tif 000005
【図５】
0003927411.tif 000006