JP2019139760A - 電子情報記憶媒体、icチップ、初期設定方法、及び初期設定プログラム - Google Patents

電子情報記憶媒体、icチップ、初期設定方法、及び初期設定プログラム Download PDF

Info

Publication number
JP2019139760A
JP2019139760A JP2019008799A JP2019008799A JP2019139760A JP 2019139760 A JP2019139760 A JP 2019139760A JP 2019008799 A JP2019008799 A JP 2019008799A JP 2019008799 A JP2019008799 A JP 2019008799A JP 2019139760 A JP2019139760 A JP 2019139760A
Authority
JP
Japan
Prior art keywords
interfaces
program
interface
initial setting
storage medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019008799A
Other languages
English (en)
Other versions
JP7206942B2 (ja
Inventor
佑介 渡辺
Yusuke Watanabe
佑介 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Publication of JP2019139760A publication Critical patent/JP2019139760A/ja
Application granted granted Critical
Publication of JP7206942B2 publication Critical patent/JP7206942B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Credit Cards Or The Like (AREA)

Abstract

【課題】複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことが可能な電子情報記憶媒体、ICチップ、初期設定方法、及び初期設定プログラムを提供する。【解決手段】ICチップ1には、第1〜第4インターフェース14a〜14dを動作させる初期設定を行うための第1プログラムと、第1〜第4インターフェース14a〜14dのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムとが記憶される。ICチップ1は、起動した際に、特定の状態にあるか否かを判定し、当該判定の結果に基づいて第1プログラムと第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも一部のインターフェースを動作させる初期設定を行う。【選択図】図5

Description

複数のインターフェースを備えるICカード等の技術分野に関する。
従来から、複数のインターフェースを有するICカードが知られている。例えば、特許文献1に開示されたメモリカードは、複数のインターフェースを有し、ホストとの間で複数のインターフェースを用いて同時に通信することができるように構成されている。このようなICカードに搭載されるICチップの製造工程において、ICチップ内の不揮発性メモリにOSなどの大容量のデータを外部から書き込む場合、通信速度が速い例えばSWP(Single Wire Protocol)のインターフェースを使用することで製造速度を上げることができる。
特開2014−182776号公報
しかしながら、市場におけるサービスでは、例えばSWPのインターフェースが利用されず、このインターフェース以外の例えばISO7816のインターフェースが利用される場合がある。この場合、サービスで利用されないSWPのインターフェースが利用可能状態にあることは、不正な利用や意図しない動作の一因となりかねない。逆に、市場におけるサービスでは、SWPのインターフェースだけが利用されるものの、ICチップの製造設備によってはISO7816のインターフェースだけしか対応できない場合もある。他方、製品ごとにインターフェースの対応が異なるOSを用意することはソフトウェアの流用性を下げることにもなり、開発効率が下がる要因となる。
そこで、本発明は、このような点等に鑑みてなされたものであり、複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことが可能な電子情報記憶媒体、ICチップ、初期設定方法、及び初期設定プログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、複数のインターフェースを備える電子情報記憶媒体であって、前記複数のインターフェースのうち1以上のインターフェースを動作させる初期設定を行うための第1プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムと、を記憶する記憶手段と、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第1プログラムと前記第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行う設定手段と、を備え、前記第1プログラムにより前記初期設定の対象となるインターフェースには、前記第2プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする。
請求項2に記載の発明は、複数のインターフェースを備える電子情報記憶媒体であって、前記複数のインターフェースのうち少なくとも1つのインターフェースを動作させるか否かを示す動作可否情報を記憶する記憶手段と、前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行う設定手段と、を備えることを特徴とする。
請求項3に記載の発明は、請求項2に記載の電子情報記憶媒体において、前記設定手段は、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該電子情報記憶媒体が当該特定の状態にあると判定した場合に、前記動作可否情報に基づいて前記一部のインターフェースを動作させる初期設定を行うことを特徴とする。
請求項4に記載の発明は、請求項2または3に記載の電子情報記憶媒体において、前記動作可否情報は、前記複数のインターフェース毎に前記記憶手段に記憶されており、前記設定手段は、前記インターフェース毎に記憶された前記動作可否情報に基づいて前記インターフェース毎に動作させるか否かを判定し、動作させると判定されたインターフェースを動作させる初期設定を行うことを特徴とする。
請求項5に記載の発明は、請求項2乃至4の何れか一項に記載の電子情報記憶媒体において、外部装置から動作状態にある何れかの前記インターフェースを介して前記動作可否情報を更新するコマンドが受信された場合、前記記憶手段に記憶されている前記動作可否情報を更新する更新手段を更に備えることを特徴とする。
請求項6に記載の発明は、複数のインターフェースを備えるICチップであって、前記複数のインターフェースのうち1以上のインターフェースを動作させる初期設定を行うための第1プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムと、を記憶する記憶手段と、前記ICチップが起動した際に、当該ICチップが特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第1プログラムと前記第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行う設定手段と、を備え、前記第1プログラムにより前記初期設定の対象となるインターフェースには、前記第2プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする。
請求項7に記載の発明は、複数のインターフェースを備えるICチップであって、前記複数のインターフェースのうち少なくとも1つのインターフェースを動作させるか否かを示す動作可否情報を記憶する記憶手段と、前記ICチップが起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行う設定手段と、を備えることを特徴とする。
請求項8に記載の発明は、複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータにより実行される初期設定方法であって、前記複数のインターフェースのうち1以上のインターフェースを動作させる初期設定を行うための第1プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムと、を記憶するステップと、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第1プログラムと前記第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行うステップと、を含み、前記第1プログラムにより前記初期設定の対象となるインターフェースには、前記第2プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする。
請求項9に記載の発明は、複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータにより実行される初期設定方法であって、前記複数のインターフェースのうち少なくとも1つのインターフェースを動作させるか否かを示す動作可否情報を記憶するステップと、前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行うステップと、を含むことを特徴とする。
請求項10に記載の発明は、複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータに、前記複数のインターフェースのうち1以上のインターフェースを動作させる初期設定を行うための第1プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムと、を記憶するステップと、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第1プログラムと前記第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行うステップと、を実行させる初期設定プログラムであって、前記第1プログラムにより前記初期設定の対象となるインターフェースには、前記第2プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする。
請求項11に記載の発明は、複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータに、前記複数のインターフェースのうち少なくとも1つのインターフェースを動作させるか否かを示す動作可否情報を記憶するステップと、前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行うステップと、を実行させることを特徴とする。
本発明によれば、複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。
ICチップ1の機能ブロックの一例を示す図である。 (A),(B)は、実施例1において、NVM13に記憶された内容の一例を示す図である。 (A)は、実施例1において、ICチップ1が起動した際のCPU10の処理例を示すフローチャートであり、(B)は、実施例1において、ICチップ1がインターフェースの動作可否情報を更新するコマンドを受信した際のCPU10の処理例を示すフローチャートである。 実施例2において、NVM13に記憶された内容の一例を示す図である。 実施例2において、ICチップ1が起動した際のCPU10の処理例を示すフローチャートである。 (A),(B)は、実施例3において、NVM13に記憶された内容の一例を示す図である。 (A)は、実施例3において、ICチップ1が起動した際のCPU10の処理例を示すフローチャートであり、(B)は、実施例3において、ICチップ1がインターフェースの動作可否情報を更新するコマンドを受信した際のCPU10の処理例を示すフローチャートである。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、複数のインターフェースを備えるICチップに対して本発明を適用した場合の実施の形態である。
[1.ICチップの概要構成及び機能]
先ず、図1等を参照して、ICチップ1の概要構成及び機能について説明する。図1は、ICチップ1の機能ブロックの一例を示す図である。図1に示すように、ICチップ1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、NVM(Nonvolatile Memory)13、及び第1〜第4インターフェース14a〜14d等を備えて構成される。ここで、CPU10は、ROM11またはNVM13に記憶された各種プログラムを実行するプロセッサである。ROM11は記憶手段の一例として適用可能であるが、ICチップ1に備えられない場合もある。NVM13は、記憶手段の一例であり、例えばフラッシュメモリ等の不揮発性メモリである。NVM13は、「Electrically Erasable Programmable Read-Only Memory」であってもよい。ROM11またはNVM13には、OS(Operating System)、及びアプリケーションプログラムが記憶される。OSには、本発明の初期設定プログラム、及び第1〜第4インターフェース14a〜14dのそれぞれに対応するドライバプログラム等が含まれる。本発明の初期設定プログラムによりCPU10は設定手段及び更新手段として機能する。
なお、ICチップ1は、本発明の電子情報記憶媒体の一例であり、セキュアマイコンとも呼ばれる場合がある。ICチップ1は、キャッシュカード、クレジットカード、社員カード等のICカードに搭載されて使用される。或いは、ICチップ1は、例えばSIM(Subscriber Identity Module)としてICカードに搭載され、スマートフォンや携帯電話機等の端末装置に装着されてもよい。或いは、ICチップ1は、例えばeUICC(Embedded Universal Integrated Circuit Card)として、IoT(Internet of Things)などの端末装置から容易に取り外しや取り換えができないように組み込み基板上に実装(つまり、端末装置と一体的に形成)されてもよい。
第1〜第4インターフェース14a〜14dは、CPU10が外部装置(図示せず)との間で通信を行うためのものである。なお、図1の例では、ICチップ1が4つのインターフェース14a〜14dを備えるが、これに限定されるものではなく、ICチップ1は2つまたは3つのインターフェースを備えてもよいし、或いは5つ以上のインターフェースを備えてもよい。第1インターフェース14aは、例えばISO7816等によって定められたT=1プロトコル(調歩式半二重ブロック伝送プロトコル)に従った通信を行うためのインターフェース(つまり、ISO7816のインターフェース)である。第2インターフェース14bは、例えばSWPに従った通信を行うためのインターフェース(つまり、SWPのインターフェース)である。第3インターフェース14cは、例えばI2C(Inter-Integrated Circuit)によるシリアル通信のためのインターフェースである。第4インターフェース14dは、例えばSPI(Serial Peripheral Interface)によるシリアル通信のためのインターフェースである。インターフェース14a〜14dのうち何れかがGPIO(General Purpose Input Output)などのインターフェースであってもよい。
なお、ICチップ1が国際規格であるISO7816等によって定められたC1〜C8の8個の端子を備える場合、例えば、C1端子は電源が供給されるために用いられ、C2端子は外部装置からリセット(リセット信号)が入力されるために用いられ、C6端子はSWPのインターフェースのために用いられ、C7端子はISO7816のインターフェースのために用いられる。外部装置の例としては、ICチップ発行機(ICカード発行機)、ATM、改札機、認証用ゲート等が挙げられる。或いは、ICチップ1が端末装置に搭載される場合、外部装置には端末装置を制御する制御部、または端末装置との間でネットワークを介して通信を行うサーバが該当する。
以上の構成において、CPU10は、ICチップ1が起動した際に、初期設定プログラムにしたがって、インターフェースの動作可否情報に基づいて、第1〜第4インターフェース14a〜14dのうち一部のインターフェースを動作させる初期設定を行う。このように構成すれば、複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。ここで、インターフェースの動作可否情報は、第1〜第4インターフェース14a〜14dのうち少なくとも1つのインターフェースを動作させるか否か(つまり、許可または不許可)を示す情報であり、外部装置からのコマンドにより更新可能になっている。なお、CPU10は、ICチップ1が起動した際に、当該ICチップ1が特定の状態にあるか否かを判定し、当該ICチップ1が当該特定の状態にあると判定した場合に、インターフェースの動作可否情報に基づいて第1〜第4インターフェース14a〜14dのうち一部のインターフェースを動作させる初期設定を行うように構成してもよい。
ここで、ICチップ1が特定の状態にあるか否かは、例えばNVM13に記憶される状態管理変数により判断される。特定の状態の例として、ICチップ1の製造完了状態、及びICチップ1のサービス投入状態などが挙げられるが、その他の状態であってもよい。例えば、ICチップ1の製造が完了した時に、所定の機器により、NVM13に記憶される状態管理変数が製造完了状態を示す値に書き換えられる。或いは、ICチップ1を利用するサービスが開始された時に、所定の機器により、NVM13に記憶される状態管理変数がサービス投入状態を示す値に書き換えられる。
一方、インターフェースの動作可否情報をNVM13に記憶することなく、第1〜第4インターフェース14a〜14dのうち一部のインターフェースを動作させる初期設定を行うように構成することも可能である。この場合、NVM13には、第1〜第4インターフェース14a〜14dのうち1以上のインターフェースを動作させる初期設定を行うための第1プログラムと、第1〜第4インターフェース14a〜14dのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムとが記憶される。
ここで、第1プログラムにより初期設定の対象となるインターフェースには、第2プログラムにより初期設定の対象とならないインターフェースが含まれる。一つの例として、第1プログラムにより初期設定の対象となるインターフェースが第1〜第4インターフェース14a〜14d(つまり、全てのインターフェース)であり、第2プログラムにより初期設定の対象となるインターフェースが第2インターフェース14b及び第3インターフェース14cであるというケースが考えられる。この場合、第1プログラムにより初期設定の対象となるインターフェースには、第2プログラムにより初期設定の対象とならないインターフェース(つまり、第1インターフェース14a及び第4インターフェース14d)が含まれる。
ただし、本願では、ICチップ1の製造工程(例えば、ICチップ1の発行時)では高速なインターフェースを使用する一方、市場におけるサービス(例えば、ICチップ1の運用時)ではセキュリティを向上させるということを目的の一つとしているので、必ずしも、第1プログラムにより初期設定の対象となるインターフェースが全てのインターフェースでなくてもよい。このため、第1プログラムにより初期設定の対象となるインターフェースが第2インターフェース14bであり、第2プログラムにより初期設定の対象となるインターフェースが第1インターフェース14aであるというケースも考えられる。この場合、第1プログラムにより初期設定の対象となるインターフェースには、第2プログラムにより初期設定の対象とならないインターフェース(つまり、第2インターフェース14b)が含まれる。或いは、別の例として、第1プログラムにより初期設定の対象となるインターフェースが第2インターフェース14b及び第4インターフェース14dであり、第2プログラムにより初期設定の対象となるインターフェースが第1インターフェース14a及び第4インターフェース14dであるというケースも考えられる。この場合も、第1プログラムにより初期設定の対象となるインターフェースには、第2プログラムにより初期設定の対象とならないインターフェース(つまり、第2インターフェース14b)が含まれる。
そして、CPU10は、ICチップ1が起動した際に、ICチップ1が特定の状態にあるか否かを判定し、当該判定の結果に基づいて第1プログラムと第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも一部のインターフェースを動作させる初期設定を行う。このように構成しても、複数のインターフェースのうち利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。
[2.ICチップ1の動作]
次に、ICチップ1の動作について、実施例1〜実施例3に分けて説明する。
(実施例1)
先ず、図2及び図3を参照して、実施例1におけるICチップ1の動作について説明する。なお、実施例1では、インターフェースの動作可否情報は、許可フラグの形式でNVM13に記憶されているものとする。図2(A),(B)は、実施例1において、NVM13に記憶された内容の一例を示す図である。図3(A)は、実施例1において、ICチップ1が起動した際のCPU10の処理例を示すフローチャートであり、図3(B)は、実施例1において、ICチップ1がインターフェースの動作可否情報を更新するコマンドを受信した際のCPU10の処理例を示すフローチャートである。なお、図3(A),(B)に示す処理は、OS中の初期設定プログラム等にしたがって実行される。
図2(A)の例では、ISO7816許可フラグF1、SWP許可フラグF2、I2C許可フラグF3、及びSPI許可フラグF4がNVM13の所定領域(例えば、インターフェースの識別子から特定される領域)に記憶されている。ISO7816許可フラグF1は、第1インターフェース14aを動作させるか否かを示すフラグであり、図2(A)の例では、許可を示す“1”になっている。SWP許可フラグF2は、第2インターフェース14bを動作させるか否かを示すフラグであり、図2(A)の例では、不許可を示す“0”になっている。I2C許可フラグF3は、第3インターフェース14cを動作させるか否かを示すフラグであり、図2(A)の例では、不許可を示す“0”になっている。SPI許可フラグF4は、第4インターフェース14dを動作させるか否かを示すフラグであり、図2(A)の例では、不許可を示す“0”になっている。このように、図2(A)の例では、許可フラグは、第1〜第4インターフェース14a〜14d毎にNVM13に記憶されている。しかし、例えばライフサイクル上動作し続けなければならないインターフェースがある場合、このインターフェースの許可フラグはNVM13には記憶されなくてもよい。図2(B)の例では、SWP許可フラグF2、I2C許可フラグF3、及びSPI許可フラグF4がNVM13の所定領域に記憶されているが、第1インターフェース14aはライフサイクル上動作し続けなければならないインターフェースであるため、そのISO7816許可フラグF1は記憶されていない。
図3(A)に示す処理は、ICチップ1が起動したときに開始される。なお、ICチップ1の起動は、ICチップ1によりリセットが受信されたとき、またはICチップ1に電源が供給されたときになされる。図3(A)に示すステップS1では、CPU10は、第1〜第4インターフェース14a〜14dのうち、許可フラグが記憶されている1つのインターフェースを選定する。例えば、はじめに、第1インターフェース14aが選定される。なお、許可フラグが記憶されていないインターフェース、つまり、ライフサイクル上動作し続けなければならないインターフェースがある場合、例えばステップS1の直前にそのインターフェース(図2(B)の例では、第1インターフェース14aが該当)の初期化処理が実行される。許可フラグが記憶されないインターフェースについては、初期化処理が必ず行われるようにプログラム中に記述される。
次いで、CPU10は、ステップS1で選定されたインターフェースの許可フラグが「許可」を示すか否かを判定する(ステップS2)。CPU10は、選定されたインターフェースの許可フラグが「許可」を示すと判定した場合(ステップS2:YES)、ステップS1で選定されたインターフェースの初期化処理を実行し(ステップS3)、ステップS5へ進む。この初期化処理において、選定されたインターフェースを動作させる初期設定、例えば、当該インターフェースの通信速度の設定が行われる。なお、この初期化処理において、当該インターフェースに用いられる端子の電位設定(例えば、ハイレベルに設定)が行われる場合もある。
一方、CPU10は、ステップS1で選定されたインターフェースの許可フラグが「許可」を示さないと判定した場合(ステップS2:NO)、ステップS1で選定されたインターフェースの停止処理を実行し(ステップS4)、ステップS5へ進む。この停止処理において、選定されたインターフェースを動作させない初期設定、例えば、当該インターフェースに用いられる端子への電源供給を切断する設定が行われる。なお、この停止処理において、当該インターフェースに用いられる端子の電位設定(例えば、ローレベルに設定)が行われる場合もある。或いは、CPU10は、選定されたインターフェースの許可フラグが「許可」を示さないと判定した場合(ステップS2:NO)、停止処理を行わずに(つまり、ステップS4へ進まず)、ステップS5へ進むように構成してもよい。
ステップS5では、CPU10は、許可フラグが記憶されているインターフェースのうち、ステップS1でまだ選定されていないインターフェースがあるか否かを判定する。CPU10は、まだ選定されていないインターフェースがあると判定した場合(ステップS5:YES)、ステップS1に戻り、まだ選定されていないインターフェースを選定する。そして、CPU10は、選定したインターフェースについてステップS2以降の処理を行う。このように、CPU10は、ICチップ1が起動した際に、インターフェース毎に記憶された許可フラグに基づいて、インターフェース毎に動作させるか否かを判定し、動作させると判定された(つまり、許可フラグは“1である)インターフェースを動作させる初期設定を行うことになる。
一方、CPU10は、まだ選定されていないインターフェースがないと判定した場合(ステップS5:NO)、図3(A)に示す処理を終了する。ここで、リセット受信によりICチップ1が起動して図3(A)に示す処理が開始されたケースでは、このリセットに対する初期応答(ATR(Answer to Reset))が外部装置へ送信された後に、図3(A)に示す処理が終了し、その後、外部装置からのコマンドの待ち状態となる(実施例2及び3も同様)。一方、電源供給によりICチップ1が起動して図3(A)に示す処理が開始されたケースでは、図3(A)に示す処理が終了された後、外部装置からのリセット待ち状態になる(実施例2及び3も同様)。
なお、インターフェースの動作可否情報は許可リストの形式でNVM13に記憶されてもよく、この場合、許可リストには、動作させるインターフェースの識別子が登録される。そして、CPU10は、ICチップ1が起動した際に、記憶された許可リストに基づいて、第1〜第4インターフェース14a〜14dのうち一部(つまり、許可リストに識別子が登録された)のインターフェースを動作させる初期設定を行うことになる。或いは、インターフェースの動作可否情報は不許可リストの形式でNVM13に記憶されてもよく、この場合、不許可リストには、動作させないインターフェースの識別子が登録される。そして、CPU10は、ICチップ1が起動した際に、記憶された不許可リストに基づいて、第1〜第4インターフェース14a〜14dのうち一部(つまり、不許可リストに識別子が登録されていない)のインターフェースを動作させる初期設定を行うことになる。
次に、図3(B)に示す処理は、外部装置から動作状態にある何れかのインターフェースを介して、インターフェースの動作可否情報を更新するコマンドを受信したときに開始される。このコマンドは、例えば、APDU(Application Protocol Data Unit)により構成されており、APDUは、例えば、CLA、INS、P1及びP2を含むヘッダと、Lc及びDataを含むボディとから構成される。ここで、CLAはコマンドクラス(命令クラス)を示し、INSはコマンドコード(命令コード)を示し、P1及びP2はコマンドパラメータ(命令パラメータ)を示す。LcはDataの長さを示し、Dataはインターフェースの動作可否情報の更新データを示す。
図3(B)に示すステップS6では、CPU10は、受信されたコマンドに含まれる更新データに基づいて、NVM13に記憶されている許可フラグを特定する。例えば、更新データに、インターフェースの識別子が含まれる場合、CPU10は、更新データで示される識別子からNVM13上の許可フラグを特定する。なお、更新データには、全てのインターフェースに対応する更新後の許可フラグが予め定められた順序で含まれてもよく、この場合、CPU10は、NVM13上の各許可フラグを特定する。
次いで、CPU10は、ステップS6で特定された許可フラグ(つまり、NVM13に記憶されている許可フラグ)を更新(例えば、“1”を“0”に書き換え)する(ステップS7)。なお、インターフェースの動作可否情報が許可リストの形式で記憶される場合、更新データには、例えば、更新後の許可リストが含まれる。この場合、CPU10は、受信されたコマンドに含まれる更新データで示される許可リストに基づいて、NVM13上の許可リストを更新する(更新データで示される許可リストで上書き)。次いで、CPU10は、上記コマンドに対するレスポンス(例えば、正常終了を示すステータスワードを含む)を外部装置へ送信し(ステップS8)、図3(B)に示す処理を終了する。
以上説明したように、実施例1によれば、インターフェース毎に動作可否情報をNVM13に記憶させておき、ICチップ1が起動した際に、この動作可否情報に基づいて、インターフェース毎に動作させるか否かを設定できるように構成したので、例えば製造工程では利用される(例えば、スピード面で利用価値が高い、或いは製造設備により利用せざるを得ない)が市場におけるサービスでは利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。また、ICチップ1を搭載する製品ごとにインターフェースの対応が異なるOSを用意しなくてもよいので、ソフトウェアの流用性を下げず、開発効率も向上することができる。しかも、インターフェースの動作可否情報は、外部装置からのコマンドにより更新できるように構成したので、サービスが開始された後の状況変化に応じてインターフェース毎の動作可否を臨機応変に更新することができる。
(実施例2)
次に、図4及び図5を参照して、実施例2におけるICチップ1の動作について説明する。なお、実施例2では、インターフェースの許可フラグは用いられない。図4は、実施例2において、NVM13に記憶された内容の一例を示す図である。図4の例では、状態管理変数がNVM13の所定領域に記憶されている。また、NVM13に記憶される初期設定プログラムには、全てのインターフェースを動作させる初期設定を行うための第1プログラムと、一部のインターフェースを動作させるための初期設定を行うための第2プログラムとが含まれている。図5は、実施例2において、ICチップ1が起動した際のCPU10の処理例を示すフローチャートである。なお、図5に示す処理は、OS中の初期設定プログラム等にしたがって実行される。
図5に示す処理は、ICチップ1が起動したときに開始される。図5に示すステップS11では、CPU10は、NVM13に記憶された状態管理変数を参照して、ICチップ1が特定の状態にあるか否かを判定する。例えば、状態管理変数が製造完了状態を示す値であれば、ICチップ1が特定の状態(例えば、製造完了状態)にあると判定される。CPU10は、ICチップ1が特定の状態にないと判定した場合(ステップS11:NO)、第1プログラムを選択(言い換えれば、第1プログラムの記憶開始アドレスを選択)し、選択した第1プログラム(言い換えれば、記憶開始アドレスからの第1プログラム)にしたがって、第1〜第4インターフェース14a〜14d(つまり、全てのインターフェース)の初期化処理を実行し(ステップS12)、図5に示す処理を終了する。この初期化処理の内容は実施例1と同様である。
一方、CPU10は、ICチップ1が特定の状態にあると判定した場合(ステップS11:YES)、第2プログラムを選択し、選択した第2プログラムにしたがって、第1〜第4インターフェース14a〜14dのうち特定のインターフェース(つまり、一部のインターフェース)の初期化処理を実行し(ステップS13)、図5に示す処理を終了する。初期化処理の対象となる特定のインターフェースとして、例えば第2インターフェース14b及び第3インターフェース14cの識別子が第2プログラム中に記述される。なお、初期化処理の対象とならないインターフェースについては、実施例1と同様、停止処理が実行されるか、或いは何の処理も行われない。
以上説明したように、実施例2によれば、全てのインターフェースを動作させる初期設定を行うための第1プログラムと、一部のインターフェースを動作させるための初期設定を行うための第2プログラムとを予めROM11またはNVM13記憶させておき、ICチップ1が起動した際に、ICチップ1の状態(例えば、製造完了状態、またはサービス投入状態)に基づいて選択されたプログラム(第1プログラム、または第2プログラム)にしたがってインターフェース毎に動作させるか否かを設定できるように構成したので、例えば製造工程では利用される(例えば、スピード面で利用価値が高い、或いは製造設備により利用せざるを得ない)が市場におけるサービスでは利用されないインターフェースの不正な利用や意図しない動作を防ぐことができる。また、ICチップ1を搭載する製品ごとにインターフェースの対応が異なるOSを用意しなくてもよいので、ソフトウェアの流用性を下げず、開発効率も向上することができる。しかも、NVM13に記憶される状態管理変数に基づいて第1プログラムまたは第2プログラムを選択できるように構成したので、何れか一方の初期設定をより効率良く実施することができる。なお、実施例2では、第1プログラムにより初期設定の対象となるインターフェースの例として、第1〜第4インターフェース14a〜14d(つまり、全てのインターフェース)としたが、第1プログラムにより初期設定の対象となるインターフェースは、第1〜第4インターフェース14a〜14dのうちの一部のインターフェースとしてもよい(つまり、全てのインターフェースでなくてもよい)。
(実施例3)
次に、図6及び図7を参照して、実施例3におけるICチップ1の動作について説明する。なお、実施例3では、インターフェースの動作可否情報は、許可フラグの形式でNVM13に記憶されているものとする。図6(A),(B)は、実施例3において、NVM13に記憶された内容の一例を示す図である。図6(A)の例では、状態管理変数、ISO7816許可フラグF1、SWP許可フラグF2、I2C許可フラグF3、及びSPI許可フラグF4がNVM13の所定領域に記憶されている。一方、図6(B)の例では、状態管理変数、SWP許可フラグF2、I2C許可フラグF3、及びSPI許可フラグF4がNVM13の所定領域に記憶されている。図7(A)は、実施例3において、ICチップ1が起動した際のCPU10の処理例を示すフローチャートであり、図7(B)は、実施例3において、ICチップ1がインターフェースの動作可否情報を更新するコマンドを受信した際のCPU10の処理例を示すフローチャートである。なお、図7(A),(B)に示す処理は、OS中の初期設定プログラム等にしたがって実行される。図7(B)に示す処理(ステップS31〜S33)は、図3(B)に示す処理(ステップS6〜S8)と同様であるので、重複する説明を省略する。
図7(A)に示す処理は、ICチップ1が起動したときに開始される。図7(A)に示すステップS21では、CPU10は、NVM13に記憶された状態管理変数を参照して、ICチップ1が特定の状態にあるか否かを判定する。例えば、状態管理変数がサービス投入状態を示す値であれば、ICチップ1が特定の状態(例えば、サービス投入状態)にあると判定される。CPU10は、ICチップ1が特定の状態にないと判定した場合(ステップS21:NO)、第1〜第4インターフェース14a〜14dの初期化処理を実行し(ステップS22)、図7(A)に示す処理を終了する。
一方、CPU10は、ICチップ1が特定の状態にあると判定した場合(ステップS21:YES)、第1〜第4インターフェース14a〜14dのうち、許可フラグが記憶されている1つのインターフェースを選定する(ステップS23)。なお、許可フラグが記憶されていないインターフェースがある場合、例えばステップS23の直前にそのインターフェース(図6(B)の例では、第1インターフェース14aが該当)の初期化処理が実行される。
次いで、CPU10は、ステップS23で選定されたインターフェースの許可フラグが「許可」を示すか否かを判定する(ステップS24)。CPU10は、選定されたインターフェースの許可フラグが「許可」を示すと判定した場合(ステップS24:YES)、ステップS23で選定されたインターフェースの初期化処理を実行し(ステップS25)、ステップS27へ進む。この初期化処理の内容は実施例1と同様である。
一方、CPU10は、ステップS23で選定されたインターフェースの許可フラグが「許可」を示さないと判定した場合(ステップS24:NO)、ステップS23で選定されたインターフェースの停止処理を実行し(ステップS26)、ステップS27へ進む。この停止処理の内容は実施例1と同様である。なお、実施例1と同様、選定されたインターフェースの許可フラグが「許可」を示さないと判定された場合、停止処理を行わずに、ステップS27へ進むように構成してもよい。
ステップS27では、CPU10は、許可フラグが記憶されているインターフェースのうち、ステップS23でまだ選定されていないインターフェースがあるか否かを判定する。CPU10は、まだ選定されていないインターフェースがあると判定した場合(ステップS27:YES)、ステップS23に戻り、まだ選定されていないインターフェースを選定する。そして、CPU10は、選定したインターフェースについてステップS24以降の処理を行う。一方、CPU10は、まだ選定されていないインターフェースがないと判定した場合(ステップS27:NO)、図7(A)に示す処理を終了する。
以上説明したように、実施例3によれば、ICチップ1の状態(例えば、製造完了状態、またはサービス投入状態)に応じて、インターフェースの動作可否情報を参照する初期設定を行うか否かが決まるので、例えば製造完了状態、またはサービス投入状態になる前などにインターフェースの動作可否情報を参照する初期設定が実施されることを回避でき、その結果、より効率良くインターフェースを動作させる初期設定を実施することができる。
1 ICチップ
10 CPU
11 ROM
12 RAM
13 NVM
14a〜14d 第1〜第4インターフェース

Claims (11)

  1. 複数のインターフェースを備える電子情報記憶媒体であって、
    前記複数のインターフェースのうち1以上のインターフェースを動作させる初期設定を行うための第1プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムと、を記憶する記憶手段と、
    前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第1プログラムと前記第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行う設定手段と、
    を備え、
    前記第1プログラムにより前記初期設定の対象となるインターフェースには、前記第2プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする電子情報記憶媒体。
  2. 複数のインターフェースを備える電子情報記憶媒体であって、
    前記複数のインターフェースのうち少なくとも1つのインターフェースを動作させるか否かを示す動作可否情報を記憶する記憶手段と、
    前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行う設定手段と、
    を備えることを特徴とする電子情報記憶媒体。
  3. 前記設定手段は、前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該電子情報記憶媒体が当該特定の状態にあると判定した場合に、前記動作可否情報に基づいて前記一部のインターフェースを動作させる初期設定を行うことを特徴とする請求項2に記載の電子情報記憶媒体。
  4. 前記動作可否情報は、前記複数のインターフェース毎に前記記憶手段に記憶されており、
    前記設定手段は、前記インターフェース毎に記憶された前記動作可否情報に基づいて前記インターフェース毎に動作させるか否かを判定し、動作させると判定されたインターフェースを動作させる初期設定を行うことを特徴とする請求項2または3に記載の電子情報記憶媒体。
  5. 外部装置から動作状態にある何れかの前記インターフェースを介して前記動作可否情報を更新するコマンドが受信された場合、前記記憶手段に記憶されている前記動作可否情報を更新する更新手段を更に備えることを特徴とする請求項2乃至4の何れか一項に記載の電子情報記憶媒体。
  6. 複数のインターフェースを備えるICチップであって、
    前記複数のインターフェースのうち1以上のインターフェースを動作させる初期設定を行うための第1プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムと、を記憶する記憶手段と、
    前記ICチップが起動した際に、当該ICチップが特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第1プログラムと前記第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行う設定手段と、
    を備え、
    前記第1プログラムにより前記初期設定の対象となるインターフェースには、前記第2プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とするICチップ。
  7. 複数のインターフェースを備えるICチップであって、
    前記複数のインターフェースのうち少なくとも1つのインターフェースを動作させるか否かを示す動作可否情報を記憶する記憶手段と、
    前記ICチップが起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行う設定手段と、
    を備えることを特徴とするICチップ。
  8. 複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータにより実行される初期設定方法であって、
    前記複数のインターフェースのうち1以上のインターフェースを動作させる初期設定を行うための第1プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムと、を記憶するステップと、
    前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第1プログラムと前記第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行うステップと、
    を含み、
    前記第1プログラムにより前記初期設定の対象となるインターフェースには、前記第2プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする初期設定方法。
  9. 複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータにより実行される初期設定方法であって、
    前記複数のインターフェースのうち少なくとも1つのインターフェースを動作させるか否かを示す動作可否情報を記憶するステップと、
    前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行うステップと、
    を含むことを特徴とする初期設定方法。
  10. 複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータに、
    前記複数のインターフェースのうち1以上のインターフェースを動作させる初期設定を行うための第1プログラムと、前記複数のインターフェースのうち一部のインターフェースを動作させるための初期設定を行うための第2プログラムと、を記憶するステップと、
    前記電子情報記憶媒体が起動した際に、当該電子情報記憶媒体が特定の状態にあるか否かを判定し、当該判定の結果に基づいて前記第1プログラムと前記第2プログラムとの何れか一方のプログラムを選択し、選択したプログラムにしたがって少なくとも前記一部のインターフェースを動作させる初期設定を行うステップと、
    を実行させる初期設定プログラムであって、
    前記第1プログラムにより前記初期設定の対象となるインターフェースには、前記第2プログラムにより前記初期設定の対象とならないインターフェースが含まれることを特徴とする初期設定プログラム。
  11. 複数のインターフェースを備える電子情報記憶媒体に含まれるコンピュータに、
    前記複数のインターフェースのうち少なくとも1つのインターフェースを動作させるか否かを示す動作可否情報を記憶するステップと、
    前記電子情報記憶媒体が起動した際に、前記動作可否情報に基づいて一部の前記インターフェースを動作させる初期設定を行うステップと、
    を実行させることを特徴とする初期設定プログラム。
JP2019008799A 2018-02-06 2019-01-22 電子情報記憶媒体、icチップ、初期設定方法、及び初期設定プログラム Active JP7206942B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018019152 2018-02-06
JP2018019152 2018-02-06

Publications (2)

Publication Number Publication Date
JP2019139760A true JP2019139760A (ja) 2019-08-22
JP7206942B2 JP7206942B2 (ja) 2023-01-18

Family

ID=67694200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019008799A Active JP7206942B2 (ja) 2018-02-06 2019-01-22 電子情報記憶媒体、icチップ、初期設定方法、及び初期設定プログラム

Country Status (1)

Country Link
JP (1) JP7206942B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003101433A (ja) * 2001-09-20 2003-04-04 Canon Inc 記憶装置、情報処理装置、情報処理システム、無線通信機能制御方法、及び記憶媒体
JP2008059419A (ja) * 2006-09-01 2008-03-13 Nec Infrontia Corp バーコードスキャナ装置、設定方法、そのプログラムおよびプログラム記録媒体
JP2008123203A (ja) * 2006-11-10 2008-05-29 Toshiba Corp 携帯可能電子装置および携帯可能電子装置の制御方法
JP2012093856A (ja) * 2010-10-25 2012-05-17 Dainippon Printing Co Ltd Icチップ、icチップにおける初期化方法、icチップ用処理プログラム、携帯端末
US20140289465A1 (en) * 2013-03-21 2014-09-25 Kabushiki Kaisha Toshiba Smart card, portable electronic device and smart card processing device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003101433A (ja) * 2001-09-20 2003-04-04 Canon Inc 記憶装置、情報処理装置、情報処理システム、無線通信機能制御方法、及び記憶媒体
JP2008059419A (ja) * 2006-09-01 2008-03-13 Nec Infrontia Corp バーコードスキャナ装置、設定方法、そのプログラムおよびプログラム記録媒体
JP2008123203A (ja) * 2006-11-10 2008-05-29 Toshiba Corp 携帯可能電子装置および携帯可能電子装置の制御方法
JP2012093856A (ja) * 2010-10-25 2012-05-17 Dainippon Printing Co Ltd Icチップ、icチップにおける初期化方法、icチップ用処理プログラム、携帯端末
US20140289465A1 (en) * 2013-03-21 2014-09-25 Kabushiki Kaisha Toshiba Smart card, portable electronic device and smart card processing device

Also Published As

Publication number Publication date
JP7206942B2 (ja) 2023-01-18

Similar Documents

Publication Publication Date Title
JP2008522301A (ja) スマートカード内のアプレットから事前対応型セッションを開始する方法
JP6923582B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US8186496B2 (en) Smart card customization
US10498671B2 (en) IC card, portable electronic apparatus, and IC card processing apparatus
JP7206942B2 (ja) 電子情報記憶媒体、icチップ、初期設定方法、及び初期設定プログラム
JP2009080673A (ja) 携帯可能電子装置および携帯可能電子装置におけるコマンド処理方法
JP2007087120A (ja) 複数のosを実装したicカード、および、発行委任方法
WO2015133062A1 (ja) 車両用機器
JP2012093857A (ja) Icチップ、icチップにおけるメモリ初期化方法、icチップ用処理プログラム、携帯端末
CN112347482A (zh) 一种系统级芯片soc启动方法、装置、soc及存储介质
JP7420179B1 (ja) 電子情報記憶媒体、icカード、発行処理方法、及びプログラム
WO2008104601A2 (en) Method of managing command execution in an electronic token
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
JP4784138B2 (ja) Icカード、および、icカード用プログラム
JP6307938B2 (ja) Icチップ、コマンド実行方法、及びicチップ用プログラム
JP7439798B2 (ja) 電子情報記憶媒体、アプリケーション選択処理方法、及びプログラム
JP7439847B2 (ja) 電子情報記憶媒体、鍵データ設定方法、及びプログラム
JP2006172271A (ja) マルチアプリケーションicカード及びicカード用プログラム
JP2015125627A (ja) Icカードおよび携帯可能電子装置
JP7010084B2 (ja) Ic決済で用いるトークンデバイス
JP2014203248A (ja) Icカード、ステータスワード出力方法、及びステータスワード出力処理プログラム
JP7444197B2 (ja) 電子情報記憶媒体、暗号演算方式選択方法、及びプログラム
JP7468757B1 (ja) 電子情報記憶媒体、icチップ、icカード、レスポンス送信方法、及びプログラム
KR100615890B1 (ko) 스마트 카드 운영체제의 패치 방법
JP2022025986A (ja) 電子情報記憶媒体、プログラム追加方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221219

R150 Certificate of patent or registration of utility model

Ref document number: 7206942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150