(57)【要約】【課題】複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことが可能な電子情報記憶媒体、ＩＣチップ、初期設定方法、及び初期設定プログラムを提供する。【解決手段】ＩＣチップ１には、第１〜第４インターフェース１４ａ〜１４ｄを動作させる初期設定を行うための第１プログラムと、第１〜第４インターフェース１４ａ〜１４ｄのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムとが記憶される。ＩＣチップ１は、起動した際に、特定の状態にあるか否かを判定し、当該判定の結果に基づいて第１プログラムと第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも一部のインターフェースを動作させる初期設定を行う。【選択図】図５
2019139760.tif 000002
【特許請求の範囲】
【請求項１】
複数のインターフェースを備える電子情報記憶媒体であって、
前記複数のインターフェースのうち１以上のインターフェースを動作させる初期設定を行うための第１プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムと、を記憶する記憶手段と、
前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第１プログラムと前記第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行う設定手段と、
を備え、
前記第１プログラムにより前記初期設定の対象となるインターフェースには、前記第２プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする電子情報記憶媒体。
【請求項２】
複数のインターフェースを備える電子情報記憶媒体であって、
前記複数のインターフェースのうち少なくとも１つのインターフェースを動作させるか否かを示す動作可否情報を記憶する記憶手段と、
前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行う設定手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項３】
前記設定手段は、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該電子情報記憶媒体が当該特定の状態にあると判定した場合に、前記動作可否情報に基づいて前記一部のインターフェースを動作させる初期設定を行うことを特徴とする請求項２に記載の電子情報記憶媒体。
【請求項４】
前記動作可否情報は、前記複数のインターフェース毎に前記記憶手段に記憶されており、
前記設定手段は、前記インターフェース毎に記憶された前記動作可否情報に基づいて前記インターフェース毎に動作させるか否かを判定し、動作させると判定されたインターフェースを動作させる初期設定を行うことを特徴とする請求項２または３に記載の電子情報記憶媒体。
【請求項５】
外部装置から動作状態にある何れかの前記インターフェースを介して前記動作可否情報を更新するコマンドが受信された場合、前記記憶手段に記憶されている前記動作可否情報を更新する更新手段を更に備えることを特徴とする請求項２乃至４の何れか一項に記載の電子情報記憶媒体。
【請求項６】
複数のインターフェースを備えるＩＣチップであって、
前記複数のインターフェースのうち１以上のインターフェースを動作させる初期設定を行うための第１プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムと、を記憶する記憶手段と、
前記ＩＣチップが起動した際に、当該ＩＣチップが特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第１プログラムと前記第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行う設定手段と、
を備え、
前記第１プログラムにより前記初期設定の対象となるインターフェースには、前記第２プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とするＩＣチップ。
【請求項７】
複数のインターフェースを備えるＩＣチップであって、
前記複数のインターフェースのうち少なくとも１つのインターフェースを動作させるか否かを示す動作可否情報を記憶する記憶手段と、
前記ＩＣチップが起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行う設定手段と、
を備えることを特徴とするＩＣチップ。
【請求項８】
複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータにより実行される初期設定方法であって、
前記複数のインターフェースのうち１以上のインターフェースを動作させる初期設定を行うための第１プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムと、を記憶するステップと、
前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第１プログラムと前記第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行うステップと、
を含み、
前記第１プログラムにより前記初期設定の対象となるインターフェースには、前記第２プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする初期設定方法。
【請求項９】
複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータにより実行される初期設定方法であって、
前記複数のインターフェースのうち少なくとも１つのインターフェースを動作させるか否かを示す動作可否情報を記憶するステップと、
前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行うステップと、
を含むことを特徴とする初期設定方法。
【請求項１０】
複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータに、
前記複数のインターフェースのうち１以上のインターフェースを動作させる初期設定を行うための第１プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムと、を記憶するステップと、
前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第１プログラムと前記第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行うステップと、
を実行させる初期設定プログラムであって、
前記第１プログラムにより前記初期設定の対象となるインターフェースには、前記第２プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする初期設定プログラム。
【請求項１１】
複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータに、
前記複数のインターフェースのうち少なくとも１つのインターフェースを動作させるか否かを示す動作可否情報を記憶するステップと、
前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行うステップと、
を実行させることを特徴とする初期設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
複数のインターフェースを備えるＩＣカード等の技術分野に関する。
【背景技術】
【０００２】
従来から、複数のインターフェースを有するＩＣカードが知られている。例えば、特許文献１に開示されたメモリカードは、複数のインターフェースを有し、ホストとの間で複数のインターフェースを用いて同時に通信することができるように構成されている。このようなＩＣカードに搭載されるＩＣチップの製造工程において、ＩＣチップ内の不揮発性メモリにＯＳなどの大容量のデータを外部から書き込む場合、通信速度が速い例えばSWP（Single Wire Protocol）のインターフェースを使用することで製造速度を上げることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１８２７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、市場におけるサービスでは、例えばSWPのインターフェースが利用されず、このインターフェース以外の例えばISO7816のインターフェースが利用される場合がある。この場合、サービスで利用されないSWPのインターフェースが利用可能状態にあることは、不正な利用や意図しない動作の一因となりかねない。逆に、市場におけるサービスでは、SWPのインターフェースだけが利用されるものの、ＩＣチップの製造設備によってはISO7816のインターフェースだけしか対応できない場合もある。他方、製品ごとにインターフェースの対応が異なるＯＳを用意することはソフトウェアの流用性を下げることにもなり、開発効率が下がる要因となる。
【０００５】
そこで、本発明は、このような点等に鑑みてなされたものであり、複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことが可能な電子情報記憶媒体、ＩＣチップ、初期設定方法、及び初期設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、複数のインターフェースを備える電子情報記憶媒体であって、前記複数のインターフェースのうち１以上のインターフェースを動作させる初期設定を行うための第１プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムと、を記憶する記憶手段と、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第１プログラムと前記第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行う設定手段と、を備え、前記第１プログラムにより前記初期設定の対象となるインターフェースには、前記第２プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする。
【０００７】
請求項２に記載の発明は、複数のインターフェースを備える電子情報記憶媒体であって、前記複数のインターフェースのうち少なくとも１つのインターフェースを動作させるか否かを示す動作可否情報を記憶する記憶手段と、前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行う設定手段と、を備えることを特徴とする。
【０００８】
請求項３に記載の発明は、請求項２に記載の電子情報記憶媒体において、前記設定手段は、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該電子情報記憶媒体が当該特定の状態にあると判定した場合に、前記動作可否情報に基づいて前記一部のインターフェースを動作させる初期設定を行うことを特徴とする。
【０００９】
請求項４に記載の発明は、請求項２または３に記載の電子情報記憶媒体において、前記動作可否情報は、前記複数のインターフェース毎に前記記憶手段に記憶されており、前記設定手段は、前記インターフェース毎に記憶された前記動作可否情報に基づいて前記インターフェース毎に動作させるか否かを判定し、動作させると判定されたインターフェースを動作させる初期設定を行うことを特徴とする。
【００１０】
請求項５に記載の発明は、請求項２乃至４の何れか一項に記載の電子情報記憶媒体において、外部装置から動作状態にある何れかの前記インターフェースを介して前記動作可否情報を更新するコマンドが受信された場合、前記記憶手段に記憶されている前記動作可否情報を更新する更新手段を更に備えることを特徴とする。
【００１１】
請求項６に記載の発明は、複数のインターフェースを備えるＩＣチップであって、前記複数のインターフェースのうち１以上のインターフェースを動作させる初期設定を行うための第１プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムと、を記憶する記憶手段と、前記ＩＣチップが起動した際に、当該ＩＣチップが特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第１プログラムと前記第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行う設定手段と、を備え、前記第１プログラムにより前記初期設定の対象となるインターフェースには、前記第２プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする。
【００１２】
請求項７に記載の発明は、複数のインターフェースを備えるＩＣチップであって、前記複数のインターフェースのうち少なくとも１つのインターフェースを動作させるか否かを示す動作可否情報を記憶する記憶手段と、前記ＩＣチップが起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行う設定手段と、を備えることを特徴とする。
【００１３】
請求項８に記載の発明は、複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータにより実行される初期設定方法であって、前記複数のインターフェースのうち１以上のインターフェースを動作させる初期設定を行うための第１プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムと、を記憶するステップと、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第１プログラムと前記第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行うステップと、を含み、前記第１プログラムにより前記初期設定の対象となるインターフェースには、前記第２プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする。
【００１４】
請求項９に記載の発明は、複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータにより実行される初期設定方法であって、前記複数のインターフェースのうち少なくとも１つのインターフェースを動作させるか否かを示す動作可否情報を記憶するステップと、前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行うステップと、を含むことを特徴とする。
【００１５】
請求項１０に記載の発明は、複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータに、前記複数のインターフェースのうち１以上のインターフェースを動作させる初期設定を行うための第１プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムと、を記憶するステップと、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第１プログラムと前記第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行うステップと、を実行させる初期設定プログラムであって、前記第１プログラムにより前記初期設定の対象となるインターフェースには、前記第２プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする。
【００１６】
請求項１１に記載の発明は、複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータに、前記複数のインターフェースのうち少なくとも１つのインターフェースを動作させるか否かを示す動作可否情報を記憶するステップと、前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行うステップと、を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。
【図面の簡単な説明】
【００１８】
【図１】ＩＣチップ１の機能ブロックの一例を示す図である。
【図２】（Ａ），（Ｂ）は、実施例１において、ＮＶＭ１３に記憶された内容の一例を示す図である。
【図３】（Ａ）は、実施例１において、ＩＣチップ１が起動した際のＣＰＵ１０の処理例を示すフローチャートであり、（Ｂ）は、実施例１において、ＩＣチップ１がインターフェースの動作可否情報を更新するコマンドを受信した際のＣＰＵ１０の処理例を示すフローチャートである。
【図４】実施例２において、ＮＶＭ１３に記憶された内容の一例を示す図である。
【図５】実施例２において、ＩＣチップ１が起動した際のＣＰＵ１０の処理例を示すフローチャートである。
【図６】（Ａ），（Ｂ）は、実施例３において、ＮＶＭ１３に記憶された内容の一例を示す図である。
【図７】（Ａ）は、実施例３において、ＩＣチップ１が起動した際のＣＰＵ１０の処理例を示すフローチャートであり、（Ｂ）は、実施例３において、ＩＣチップ１がインターフェースの動作可否情報を更新するコマンドを受信した際のＣＰＵ１０の処理例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、複数のインターフェースを備えるＩＣチップに対して本発明を適用した場合の実施の形態である。
【００２０】
［１．ＩＣチップの概要構成及び機能］
先ず、図１等を参照して、ＩＣチップ１の概要構成及び機能について説明する。図１は、ＩＣチップ１の機能ブロックの一例を示す図である。図１に示すように、ＩＣチップ１は、ＣＰＵ（Central Processing Unit）１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２、ＮＶＭ（Nonvolatile Memory）１３、及び第１〜第４インターフェース１４ａ〜１４ｄ等を備えて構成される。ここで、ＣＰＵ１０は、ＲＯＭ１１またはＮＶＭ１３に記憶された各種プログラムを実行するプロセッサである。ＲＯＭ１１は記憶手段の一例として適用可能であるが、ＩＣチップ１に備えられない場合もある。ＮＶＭ１３は、記憶手段の一例であり、例えばフラッシュメモリ等の不揮発性メモリである。ＮＶＭ１３は、「Electrically Erasable Programmable Read-Only Memory」であってもよい。ＲＯＭ１１またはＮＶＭ１３には、ＯＳ（Operating System）、及びアプリケーションプログラムが記憶される。ＯＳには、本発明の初期設定プログラム、及び第１〜第４インターフェース１４ａ〜１４ｄのそれぞれに対応するドライバプログラム等が含まれる。本発明の初期設定プログラムによりＣＰＵ１０は設定手段及び更新手段として機能する。
【００２１】
なお、ＩＣチップ１は、本発明の電子情報記憶媒体の一例であり、セキュアマイコンとも呼ばれる場合がある。ＩＣチップ１は、キャッシュカード、クレジットカード、社員カード等のＩＣカードに搭載されて使用される。或いは、ＩＣチップ１は、例えばSIM（Subscriber Identity Module）としてＩＣカードに搭載され、スマートフォンや携帯電話機等の端末装置に装着されてもよい。或いは、ＩＣチップ１は、例えばeUICC（Embedded Universal Integrated Circuit Card）として、IoT（Internet of Things）などの端末装置から容易に取り外しや取り換えができないように組み込み基板上に実装（つまり、端末装置と一体的に形成）されてもよい。
【００２２】
第１〜第４インターフェース１４ａ〜１４ｄは、ＣＰＵ１０が外部装置（図示せず）との間で通信を行うためのものである。なお、図１の例では、ＩＣチップ１が４つのインターフェース１４ａ〜１４ｄを備えるが、これに限定されるものではなく、ＩＣチップ１は２つまたは３つのインターフェースを備えてもよいし、或いは５つ以上のインターフェースを備えてもよい。第１インターフェース１４ａは、例えばISO7816等によって定められたT=1プロトコル（調歩式半二重ブロック伝送プロトコル）に従った通信を行うためのインターフェース（つまり、ISO7816のインターフェース）である。第２インターフェース１４ｂは、例えばSWPに従った通信を行うためのインターフェース（つまり、SWPのインターフェース）である。第３インターフェース１４ｃは、例えばI2C（Inter-Integrated Circuit）によるシリアル通信のためのインターフェースである。第４インターフェース１４ｄは、例えばSPI（Serial Peripheral Interface）によるシリアル通信のためのインターフェースである。インターフェース１４ａ〜１４ｄのうち何れかがGPIO（General Purpose Input Output)などのインターフェースであってもよい。
【００２３】
なお、ＩＣチップ１が国際規格であるISO7816等によって定められたＣ１〜Ｃ８の８個の端子を備える場合、例えば、Ｃ１端子は電源が供給されるために用いられ、Ｃ２端子は外部装置からリセット（リセット信号）が入力されるために用いられ、Ｃ６端子はSWPのインターフェースのために用いられ、Ｃ７端子はISO7816のインターフェースのために用いられる。外部装置の例としては、ＩＣチップ発行機（ＩＣカード発行機）、ＡＴＭ、改札機、認証用ゲート等が挙げられる。或いは、ＩＣチップ１が端末装置に搭載される場合、外部装置には端末装置を制御する制御部、または端末装置との間でネットワークを介して通信を行うサーバが該当する。
【００２４】
以上の構成において、ＣＰＵ１０は、ＩＣチップ１が起動した際に、初期設定プログラムにしたがって、インターフェースの動作可否情報に基づいて、第１〜第４インターフェース１４ａ〜１４ｄのうち一部のインターフェースを動作させる初期設定を行う。このように構成すれば、複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。ここで、インターフェースの動作可否情報は、第１〜第４インターフェース１４ａ〜１４ｄのうち少なくとも１つのインターフェースを動作させるか否か（つまり、許可または不許可）を示す情報であり、外部装置からのコマンドにより更新可能になっている。なお、ＣＰＵ１０は、ＩＣチップ１が起動した際に、当該ＩＣチップ１が特定の状態にあるか否かを判定し、当該ＩＣチップ１が当該特定の状態にあると判定した場合に、インターフェースの動作可否情報に基づいて第１〜第４インターフェース１４ａ〜１４ｄのうち一部のインターフェースを動作させる初期設定を行うように構成してもよい。
【００２５】
ここで、ＩＣチップ１が特定の状態にあるか否かは、例えばＮＶＭ１３に記憶される状態管理変数により判断される。特定の状態の例として、ＩＣチップ１の製造完了状態、及びＩＣチップ１のサービス投入状態などが挙げられるが、その他の状態であってもよい。例えば、ＩＣチップ１の製造が完了した時に、所定の機器により、ＮＶＭ１３に記憶される状態管理変数が製造完了状態を示す値に書き換えられる。或いは、ＩＣチップ１を利用するサービスが開始された時に、所定の機器により、ＮＶＭ１３に記憶される状態管理変数がサービス投入状態を示す値に書き換えられる。
【００２６】
一方、インターフェースの動作可否情報をＮＶＭ１３に記憶することなく、第１〜第４インターフェース１４ａ〜１４ｄのうち一部のインターフェースを動作させる初期設定を行うように構成することも可能である。この場合、ＮＶＭ１３には、第１〜第４インターフェース１４ａ〜１４ｄのうち１以上のインターフェースを動作させる初期設定を行うための第１プログラムと、第１〜第４インターフェース１４ａ〜１４ｄのうち一部のインターフェースを動作させるための初期設定を行うための第２プログラムとが記憶される。
【００２７】
ここで、第１プログラムにより初期設定の対象となるインターフェースには、第２プログラムにより初期設定の対象とならないインターフェースが含まれる。一つの例として、第１プログラムにより初期設定の対象となるインターフェースが第１〜第４インターフェース１４ａ〜１４ｄ（つまり、全てのインターフェース）であり、第２プログラムにより初期設定の対象となるインターフェースが第２インターフェース１４ｂ及び第３インターフェース１４ｃであるというケースが考えられる。この場合、第１プログラムにより初期設定の対象となるインターフェースには、第２プログラムにより初期設定の対象とならないインターフェース（つまり、第１インターフェース１４ａ及び第４インターフェース１４ｄ）が含まれる。
【００２８】
ただし、本願では、ＩＣチップ１の製造工程（例えば、ＩＣチップ１の発行時）では高速なインターフェースを使用する一方、市場におけるサービス（例えば、ＩＣチップ１の運用時）ではセキュリティを向上させるということを目的の一つとしているので、必ずしも、第１プログラムにより初期設定の対象となるインターフェースが全てのインターフェースでなくてもよい。このため、第１プログラムにより初期設定の対象となるインターフェースが第２インターフェース１４ｂであり、第２プログラムにより初期設定の対象となるインターフェースが第１インターフェース１４ａであるというケースも考えられる。この場合、第１プログラムにより初期設定の対象となるインターフェースには、第２プログラムにより初期設定の対象とならないインターフェース（つまり、第２インターフェース１４ｂ）が含まれる。或いは、別の例として、第１プログラムにより初期設定の対象となるインターフェースが第２インターフェース１４ｂ及び第４インターフェース１４ｄであり、第２プログラムにより初期設定の対象となるインターフェースが第１インターフェース１４ａ及び第４インターフェース１４ｄであるというケースも考えられる。この場合も、第１プログラムにより初期設定の対象となるインターフェースには、第２プログラムにより初期設定の対象とならないインターフェース（つまり、第２インターフェース１４ｂ）が含まれる。
【００２９】
そして、ＣＰＵ１０は、ＩＣチップ１が起動した際に、ＩＣチップ１が特定の状態にあるか否かを判定し、当該判定の結果に基づいて第１プログラムと第２プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも一部のインターフェースを動作させる初期設定を行う。このように構成しても、複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。
【００３０】
［２．ＩＣチップ１の動作］
次に、ＩＣチップ１の動作について、実施例１〜実施例３に分けて説明する。
【００３１】
（実施例１）
先ず、図２及び図３を参照して、実施例１におけるＩＣチップ１の動作について説明する。なお、実施例１では、インターフェースの動作可否情報は、許可フラグの形式でＮＶＭ１３に記憶されているものとする。図２（Ａ），（Ｂ）は、実施例１において、ＮＶＭ１３に記憶された内容の一例を示す図である。図３（Ａ）は、実施例１において、ＩＣチップ１が起動した際のＣＰＵ１０の処理例を示すフローチャートであり、図３（Ｂ）は、実施例１において、ＩＣチップ１がインターフェースの動作可否情報を更新するコマンドを受信した際のＣＰＵ１０の処理例を示すフローチャートである。なお、図３（Ａ），（Ｂ）に示す処理は、ＯＳ中の初期設定プログラム等にしたがって実行される。
【００３２】
図２（Ａ）の例では、ISO7816許可フラグＦ１、SWP許可フラグＦ２、I2C許可フラグＦ３、及びSPI許可フラグＦ４がＮＶＭ１３の所定領域（例えば、インターフェースの識別子から特定される領域）に記憶されている。ISO7816許可フラグＦ１は、第１インターフェース１４ａを動作させるか否かを示すフラグであり、図２（Ａ）の例では、許可を示す“１”になっている。SWP許可フラグＦ２は、第２インターフェース１４ｂを動作させるか否かを示すフラグであり、図２（Ａ）の例では、不許可を示す“０”になっている。I2C許可フラグＦ３は、第３インターフェース１４ｃを動作させるか否かを示すフラグであり、図２（Ａ）の例では、不許可を示す“０”になっている。SPI許可フラグＦ４は、第４インターフェース１４ｄを動作させるか否かを示すフラグであり、図２（Ａ）の例では、不許可を示す“０”になっている。このように、図２（Ａ）の例では、許可フラグは、第１〜第４インターフェース１４ａ〜１４ｄ毎にＮＶＭ１３に記憶されている。しかし、例えばライフサイクル上動作し続けなければならないインターフェースがある場合、このインターフェースの許可フラグはＮＶＭ１３には記憶されなくてもよい。図２（Ｂ）の例では、SWP許可フラグＦ２、I2C許可フラグＦ３、及びSPI許可フラグＦ４がＮＶＭ１３の所定領域に記憶されているが、第１インターフェース１４ａはライフサイクル上動作し続けなければならないインターフェースであるため、そのISO7816許可フラグＦ１は記憶されていない。
【００３３】
図３（Ａ）に示す処理は、ＩＣチップ１が起動したときに開始される。なお、ＩＣチップ１の起動は、ＩＣチップ１によりリセットが受信されたとき、またはＩＣチップ１に電源が供給されたときになされる。図３（Ａ）に示すステップＳ１では、ＣＰＵ１０は、第１〜第４インターフェース１４ａ〜１４ｄのうち、許可フラグが記憶されている１つのインターフェースを選定する。例えば、はじめに、第１インターフェース１４ａが選定される。なお、許可フラグが記憶されていないインターフェース、つまり、ライフサイクル上動作し続けなければならないインターフェースがある場合、例えばステップＳ１の直前にそのインターフェース（図２（Ｂ）の例では、第１インターフェース１４ａが該当）の初期化処理が実行される。許可フラグが記憶されないインターフェースについては、初期化処理が必ず行われるようにプログラム中に記述される。
【００３４】
次いで、ＣＰＵ１０は、ステップＳ１で選定されたインターフェースの許可フラグが「許可」を示すか否かを判定する（ステップＳ２）。ＣＰＵ１０は、選定されたインターフェースの許可フラグが「許可」を示すと判定した場合（ステップＳ２：ＹＥＳ）、ステップＳ１で選定されたインターフェースの初期化処理を実行し（ステップＳ３）、ステップＳ５へ進む。この初期化処理において、選定されたインターフェースを動作させる初期設定、例えば、当該インターフェースの通信速度の設定が行われる。なお、この初期化処理において、当該インターフェースに用いられる端子の電位設定（例えば、ハイレベルに設定）が行われる場合もある。
【００３５】
一方、ＣＰＵ１０は、ステップＳ１で選定されたインターフェースの許可フラグが「許可」を示さないと判定した場合（ステップＳ２：ＮＯ）、ステップＳ１で選定されたインターフェースの停止処理を実行し（ステップＳ４）、ステップＳ５へ進む。この停止処理において、選定されたインターフェースを動作させない初期設定、例えば、当該インターフェースに用いられる端子への電源供給を切断する設定が行われる。なお、この停止処理において、当該インターフェースに用いられる端子の電位設定（例えば、ローレベルに設定）が行われる場合もある。或いは、ＣＰＵ１０は、選定されたインターフェースの許可フラグが「許可」を示さないと判定した場合（ステップＳ２：ＮＯ）、停止処理を行わずに（つまり、ステップＳ４へ進まず）、ステップＳ５へ進むように構成してもよい。
【００３６】
ステップＳ５では、ＣＰＵ１０は、許可フラグが記憶されているインターフェースのうち、ステップＳ１でまだ選定されていないインターフェースがあるか否かを判定する。ＣＰＵ１０は、まだ選定されていないインターフェースがあると判定した場合（ステップＳ５：ＹＥＳ）、ステップＳ１に戻り、まだ選定されていないインターフェースを選定する。そして、ＣＰＵ１０は、選定したインターフェースについてステップＳ２以降の処理を行う。このように、ＣＰＵ１０は、ＩＣチップ１が起動した際に、インターフェース毎に記憶された許可フラグに基づいて、インターフェース毎に動作させるか否かを判定し、動作させると判定された（つまり、許可フラグは“１である）インターフェースを動作させる初期設定を行うことになる。
【００３７】
一方、ＣＰＵ１０は、まだ選定されていないインターフェースがないと判定した場合（ステップＳ５：ＮＯ）、図３（Ａ）に示す処理を終了する。ここで、リセット受信によりＩＣチップ１が起動して図３（Ａ）に示す処理が開始されたケースでは、このリセットに対する初期応答（ＡＴＲ（Answer to Reset））が外部装置へ送信された後に、図３（Ａ）に示す処理が終了し、その後、外部装置からのコマンドの待ち状態となる（実施例２及び３も同様）。一方、電源供給によりＩＣチップ１が起動して図３（Ａ）に示す処理が開始されたケースでは、図３（Ａ）に示す処理が終了された後、外部装置からのリセット待ち状態になる（実施例２及び３も同様）。
【００３８】
なお、インターフェースの動作可否情報は許可リストの形式でＮＶＭ１３に記憶されてもよく、この場合、許可リストには、動作させるインターフェースの識別子が登録される。そして、ＣＰＵ１０は、ＩＣチップ１が起動した際に、記憶された許可リストに基づいて、第１〜第４インターフェース１４ａ〜１４ｄのうち一部（つまり、許可リストに識別子が登録された）のインターフェースを動作させる初期設定を行うことになる。或いは、インターフェースの動作可否情報は不許可リストの形式でＮＶＭ１３に記憶されてもよく、この場合、不許可リストには、動作させないインターフェースの識別子が登録される。そして、ＣＰＵ１０は、ＩＣチップ１が起動した際に、記憶された不許可リストに基づいて、第１〜第４インターフェース１４ａ〜１４ｄのうち一部（つまり、不許可リストに識別子が登録されていない）のインターフェースを動作させる初期設定を行うことになる。
【００３９】
次に、図３（Ｂ）に示す処理は、外部装置から動作状態にある何れかのインターフェースを介して、インターフェースの動作可否情報を更新するコマンドを受信したときに開始される。このコマンドは、例えば、ＡＰＤＵ（Application Protocol Data Unit）により構成されており、ＡＰＤＵは、例えば、ＣＬＡ、ＩＮＳ、Ｐ１及びＰ２を含むヘッダと、Ｌｃ及びＤａｔａを含むボディとから構成される。ここで、ＣＬＡはコマンドクラス（命令クラス）を示し、ＩＮＳはコマンドコード（命令コード）を示し、Ｐ１及びＰ２はコマンドパラメータ（命令パラメータ）を示す。ＬｃはＤａｔａの長さを示し、Ｄａｔａはインターフェースの動作可否情報の更新データを示す。
【００４０】
図３（Ｂ）に示すステップＳ６では、ＣＰＵ１０は、受信されたコマンドに含まれる更新データに基づいて、ＮＶＭ１３に記憶されている許可フラグを特定する。例えば、更新データに、インターフェースの識別子が含まれる場合、ＣＰＵ１０は、更新データで示される識別子からＮＶＭ１３上の許可フラグを特定する。なお、更新データには、全てのインターフェースに対応する更新後の許可フラグが予め定められた順序で含まれてもよく、この場合、ＣＰＵ１０は、ＮＶＭ１３上の各許可フラグを特定する。
【００４１】
次いで、ＣＰＵ１０は、ステップＳ６で特定された許可フラグ（つまり、ＮＶＭ１３に記憶されている許可フラグ）を更新（例えば、“１”を“０”に書き換え）する（ステップＳ７）。なお、インターフェースの動作可否情報が許可リストの形式で記憶される場合、更新データには、例えば、更新後の許可リストが含まれる。この場合、ＣＰＵ１０は、受信されたコマンドに含まれる更新データで示される許可リストに基づいて、ＮＶＭ１３上の許可リストを更新する（更新データで示される許可リストで上書き）。次いで、ＣＰＵ１０は、上記コマンドに対するレスポンス（例えば、正常終了を示すステータスワードを含む）を外部装置へ送信し（ステップＳ８）、図３（Ｂ）に示す処理を終了する。
【００４２】
以上説明したように、実施例１によれば、インターフェース毎に動作可否情報をＮＶＭ１３に記憶させておき、ＩＣチップ１が起動した際に、この動作可否情報に基づいて、インターフェース毎に動作させるか否かを設定できるように構成したので、例えば製造工程では利用される（例えば、スピード面で利用価値が高い、或いは製造設備により利用せざるを得ない）が市場におけるサービスでは利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。また、ＩＣチップ１を搭載する製品ごとにインターフェースの対応が異なるＯＳを用意しなくてもよいので、ソフトウェアの流用性を下げず、開発効率も向上することができる。しかも、インターフェースの動作可否情報は、外部装置からのコマンドにより更新できるように構成したので、サービスが開始された後の状況変化に応じてインターフェース毎の動作可否を臨機応変に更新することができる。
【００４３】
（実施例２）
次に、図４及び図５を参照して、実施例２におけるＩＣチップ１の動作について説明する。なお、実施例２では、インターフェースの許可フラグは用いられない。図４は、実施例２において、ＮＶＭ１３に記憶された内容の一例を示す図である。図４の例では、状態管理変数がＮＶＭ１３の所定領域に記憶されている。また、ＮＶＭ１３に記憶される初期設定プログラムには、全てのインターフェースを動作させる初期設定を行うための第１プログラムと、一部のインターフェースを動作させるための初期設定を行うための第２プログラムとが含まれている。図５は、実施例２において、ＩＣチップ１が起動した際のＣＰＵ１０の処理例を示すフローチャートである。なお、図５に示す処理は、ＯＳ中の初期設定プログラム等にしたがって実行される。
【００４４】
図５に示す処理は、ＩＣチップ１が起動したときに開始される。図５に示すステップＳ１１では、ＣＰＵ１０は、ＮＶＭ１３に記憶された状態管理変数を参照して、ＩＣチップ１が特定の状態にあるか否かを判定する。例えば、状態管理変数が製造完了状態を示す値であれば、ＩＣチップ１が特定の状態（例えば、製造完了状態）にあると判定される。ＣＰＵ１０は、ＩＣチップ１が特定の状態にないと判定した場合（ステップＳ１１：ＮＯ）、第１プログラムを選択（言い換えれば、第１プログラムの記憶開始アドレスを選択）し、選択した第１プログラム（言い換えれば、記憶開始アドレスからの第１プログラム）にしたがって、第１〜第４インターフェース１４ａ〜１４ｄ（つまり、全てのインターフェース）の初期化処理を実行し（ステップＳ１２）、図５に示す処理を終了する。この初期化処理の内容は実施例１と同様である。
【００４５】
一方、ＣＰＵ１０は、ＩＣチップ１が特定の状態にあると判定した場合（ステップＳ１１：ＹＥＳ）、第２プログラムを選択し、選択した第２プログラムにしたがって、第１〜第４インターフェース１４ａ〜１４ｄのうち特定のインターフェース（つまり、一部のインターフェース）の初期化処理を実行し（ステップＳ１３）、図５に示す処理を終了する。初期化処理の対象となる特定のインターフェースとして、例えば第２インターフェース１４ｂ及び第３インターフェース１４ｃの識別子が第２プログラム中に記述される。なお、初期化処理の対象とならないインターフェースについては、実施例１と同様、停止処理が実行されるか、或いは何の処理も行われない。
【００４６】
以上説明したように、実施例２によれば、全てのインターフェースを動作させる初期設定を行うための第１プログラムと、一部のインターフェースを動作させるための初期設定を行うための第２プログラムとを予めＲＯＭ１１またはＮＶＭ１３記憶させておき、ＩＣチップ１が起動した際に、ＩＣチップ１の状態（例えば、製造完了状態、またはサービス投入状態）に基づいて選択されたプログラム（第１プログラム、または第２プログラム）にしたがってインターフェース毎に動作させるか否かを設定できるように構成したので、例えば製造工程では利用される（例えば、スピード面で利用価値が高い、或いは製造設備により利用せざるを得ない）が市場におけるサービスでは利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。また、ＩＣチップ１を搭載する製品ごとにインターフェースの対応が異なるＯＳを用意しなくてもよいので、ソフトウェアの流用性を下げず、開発効率も向上することができる。しかも、ＮＶＭ１３に記憶される状態管理変数に基づいて第１プログラムまたは第２プログラムを選択できるように構成したので、何れか一方の初期設定をより効率良く実施することができる。なお、実施例２では、第１プログラムにより初期設定の対象となるインターフェースの例として、第１〜第４インターフェース１４ａ〜１４ｄ（つまり、全てのインターフェース）としたが、第１プログラムにより初期設定の対象となるインターフェースは、第１〜第４インターフェース１４ａ〜１４ｄのうちの一部のインターフェースとしてもよい（つまり、全てのインターフェースでなくてもよい）。
【００４７】
（実施例３）
次に、図６及び図７を参照して、実施例３におけるＩＣチップ１の動作について説明する。なお、実施例３では、インターフェースの動作可否情報は、許可フラグの形式でＮＶＭ１３に記憶されているものとする。図６（Ａ），（Ｂ）は、実施例３において、ＮＶＭ１３に記憶された内容の一例を示す図である。図６（Ａ）の例では、状態管理変数、ISO7816許可フラグＦ１、SWP許可フラグＦ２、I2C許可フラグＦ３、及びSPI許可フラグＦ４がＮＶＭ１３の所定領域に記憶されている。一方、図６（Ｂ）の例では、状態管理変数、SWP許可フラグＦ２、I2C許可フラグＦ３、及びSPI許可フラグＦ４がＮＶＭ１３の所定領域に記憶されている。図７（Ａ）は、実施例３において、ＩＣチップ１が起動した際のＣＰＵ１０の処理例を示すフローチャートであり、図７（Ｂ）は、実施例３において、ＩＣチップ１がインターフェースの動作可否情報を更新するコマンドを受信した際のＣＰＵ１０の処理例を示すフローチャートである。なお、図７（Ａ），（Ｂ）に示す処理は、ＯＳ中の初期設定プログラム等にしたがって実行される。図７（Ｂ）に示す処理（ステップＳ３１〜Ｓ３３）は、図３（Ｂ）に示す処理（ステップＳ６〜Ｓ８）と同様であるので、重複する説明を省略する。
【００４８】
図７（Ａ）に示す処理は、ＩＣチップ１が起動したときに開始される。図７（Ａ）に示すステップＳ２１では、ＣＰＵ１０は、ＮＶＭ１３に記憶された状態管理変数を参照して、ＩＣチップ１が特定の状態にあるか否かを判定する。例えば、状態管理変数がサービス投入状態を示す値であれば、ＩＣチップ１が特定の状態（例えば、サービス投入状態）にあると判定される。ＣＰＵ１０は、ＩＣチップ１が特定の状態にないと判定した場合（ステップＳ２１：ＮＯ）、第１〜第４インターフェース１４ａ〜１４ｄの初期化処理を実行し（ステップＳ２２）、図７（Ａ）に示す処理を終了する。
【００４９】
一方、ＣＰＵ１０は、ＩＣチップ１が特定の状態にあると判定した場合（ステップＳ２１：ＹＥＳ）、第１〜第４インターフェース１４ａ〜１４ｄのうち、許可フラグが記憶されている１つのインターフェースを選定する（ステップＳ２３）。なお、許可フラグが記憶されていないインターフェースがある場合、例えばステップＳ２３の直前にそのインターフェース（図６（Ｂ）の例では、第１インターフェース１４ａが該当）の初期化処理が実行される。
【００５０】
次いで、ＣＰＵ１０は、ステップＳ２３で選定されたインターフェースの許可フラグが「許可」を示すか否かを判定する（ステップＳ２４）。ＣＰＵ１０は、選定されたインターフェースの許可フラグが「許可」を示すと判定した場合（ステップＳ２４：ＹＥＳ）、ステップＳ２３で選定されたインターフェースの初期化処理を実行し（ステップＳ２５）、ステップＳ２７へ進む。この初期化処理の内容は実施例１と同様である。
【００５１】
一方、ＣＰＵ１０は、ステップＳ２３で選定されたインターフェースの許可フラグが「許可」を示さないと判定した場合（ステップＳ２４：ＮＯ）、ステップＳ２３で選定されたインターフェースの停止処理を実行し（ステップＳ２６）、ステップＳ２７へ進む。この停止処理の内容は実施例１と同様である。なお、実施例１と同様、選定されたインターフェースの許可フラグが「許可」を示さないと判定された場合、停止処理を行わずに、ステップＳ２７へ進むように構成してもよい。
【００５２】
ステップＳ２７では、ＣＰＵ１０は、許可フラグが記憶されているインターフェースのうち、ステップＳ２３でまだ選定されていないインターフェースがあるか否かを判定する。ＣＰＵ１０は、まだ選定されていないインターフェースがあると判定した場合（ステップＳ２７：ＹＥＳ）、ステップＳ２３に戻り、まだ選定されていないインターフェースを選定する。そして、ＣＰＵ１０は、選定したインターフェースについてステップＳ２４以降の処理を行う。一方、ＣＰＵ１０は、まだ選定されていないインターフェースがないと判定した場合（ステップＳ２７：ＮＯ）、図７（Ａ）に示す処理を終了する。
【００５３】
以上説明したように、実施例３によれば、ＩＣチップ１の状態（例えば、製造完了状態、またはサービス投入状態）に応じて、インターフェースの動作可否情報を参照する初期設定を行うか否かが決まるので、例えば製造完了状態、またはサービス投入状態になる前などにインターフェースの動作可否情報を参照する初期設定が実施されることを回避でき、その結果、より効率良くインターフェースを動作させる初期設定を実施することができる。
【符号の説明】
【００５４】
１  ＩＣチップ
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  ＮＶＭ
１４ａ〜１４ｄ  第１〜第４インターフェース
【図１】
2019139760.tif 000003
【図２】
2019139760.tif 000004
【図３】
2019139760.tif 000005
【図４】
2019139760.tif 000006
【図５】
2019139760.tif 000007
【図６】
2019139760.tif 000008
【図７】
2019139760.tif 000009