(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】携帯可能電子装置およびICカード
(51)【国際特許分類】
G06K 19/07 20060101AFI20241111BHJP
G06K 19/073 20060101ALI20241111BHJP
H04L 9/14 20060101ALI20241111BHJP
【FI】
G06K19/07 190
G06K19/073 018
H04L9/14
(21)【出願番号】P 2023143930
(22)【出願日】2023-09-05
【審査請求日】2024-03-29
【早期審査対象出願】
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】栗山 量一
【審査官】小林 紀和
(56)【参考文献】
【文献】特開2010-098367(JP,A)
【文献】特開2010-041405(JP,A)
【文献】特開2003-044801(JP,A)
【文献】特開2010-218450(JP,A)
【文献】特開2009-296463(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 19/07
G06K 19/073
H04L 9/14
(57)【特許請求の範囲】
【請求項1】
外部装置と通信するインターフェースと、
暗号処理を実行するための複数の異なる
暗号方式ごと
に有効か無効かを示す情報を含む設定情報を記憶するメモリと、
前記外部装置からリセットの種別が指定されたリセット要求を受信した場合、前記リセット要求で指定されるリセットの種別に応じたリセット処理を実行し、前記メモリが記憶する設定情報において前記リセット要求で指定されるリセットの種別に応じて選択する暗号方式を有効に設定するプロセッサと、
を有する携帯可能電子装置。
【請求項2】
前記リセットの種別は、ウォームリセットとコールドリセットとを含み、
前記ウォームリセットが指定された場合にはウォームリセットに対応づけられた第1暗号方式を有効に設定し、前記コールドリセットが指定された場合にはコールドリセットに対応づけられた前記第1暗号方式とは異なる第2暗号方式を有効に設定する、
請求項1に記載の携帯可能電子装置。
【請求項3】
外部装置と通信するインターフェースと、
暗号処理を実行するための複数の異なる
暗号方式ごと
に有効か無効かを示す情報を含む設定情報を記憶するメモリと、
前記外部装置から通信条件が指定された設定要求を受信した場合、前記設定要求で指定される通信条件に従って通信設定を実行し、前記メモリに記憶する設定情報において前項設定要求で指定される通信条件に応じて選択する暗号方式を有効に設定するプロセッサと、
を有する携帯可能電子装置。
【請求項4】
前記プロセッサは、前記外部装置から指定される通信レートに応じて1つの暗号方式を選択する、
請求項
3に記載の携帯可能電子装置。
【請求項5】
前記プロセッサは、前記外部装置から指定される通信方式を設定し、設定した通信方式ごとの通信条件に応じて1つの暗号方式を選択する、
請求項
3に記載の携帯可能電子装置。
【請求項6】
前記プロセッサは、前記外部装置からのコマンドに応じたコマンド処理を実行した場合に実行可能な暗号方式を示す情報を前記外部装置へ送信する、
請求項
1又は3の何れか1項に記載の携帯可能電子装置。
【請求項7】
前記プロセッサは、前記外部装置から特定の暗号方式の無効化を要求するコマンドを受信した場合に前記特定の暗号方式を無効化する、
請求項
1又は3の何れか1項に記載の携帯可能電子装置。
【請求項8】
前記プロセッサは、選択中の暗号方式を示す情報を保持し、前記外部装置から暗号処理を含む処理を要求するコマンドを受信した場合に選択中の暗号方式を用いて暗号処理を実行する、
請求項
1又は3の何れか1項に記載の携帯可能電子装置。
【請求項9】
前記プロセッサは、前記外部装置から暗号処理を含む処理を要求するコマンドを受信した場合に当該コマンドのパラメータに基づいて暗号処理に用いる暗号方式を選択する、
請求項
1又は3の何れか1項に記載の携帯可能電子装置。
【請求項10】
前記プロセッサは、前記外部装置から暗号処理を含む処理を要求するコマンドを受信した場合、当該コマンドが指定する暗号方式を選択する、
請求項
1又は3の何れか1項に記載の携帯可能電子装置。
【請求項11】
前記暗号方式には、耐量子暗号の暗号方式と耐量子暗号以外の暗号方式とを含む、
請求項
1又は3の何れか1項に記載の携帯可能電子装置。
【請求項12】
ICカード処理装置と通信するインターフェースと、
暗号処理を実行するための複数の異なる暗号方式ごとに有効か無効かを示す情報を含む設定情報を記憶する記憶領域を設けたメモリと、
外部装置からリセットの種別が指定されたリセット要求を受信した場合、前記リセット要求で指定されるリセットの種別に応じたリセット処理を実行し、前記メモリが記憶する設定情報において前記リセット要求で指定されるリセットの種別に応じて選択する暗号方式を有効に設定するプロセッサと、を有するモジュールと、
前記モジュールを有する本体と、
を備えるICカード。
【請求項13】
ICカード処理装置と通信するインターフェースと、
暗号処理を実行するための複数の異なる暗号方式ごとに有効か無効かを示す情報を含む設定情報を記憶する記憶領域を設けたメモリと、
外部装置から通信条件が指定された設定要求を受信した場合、前記設定要求で指定される通信条件に従って通信設定を実行し、前記メモリに記憶する設定情報において前項設定要求で指定される通信条件に応じて選択する暗号方式を有効に設定するプロセッサと、を有するモジュールと、
前記モジュールを有する本体と、
を備えるICカード。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、携帯可能電子装置およびICカードに関する。
【背景技術】
【0002】
従来、携帯可能電子装置としてのICカードとICカード処理装置とからなる処理システムは、当該システムの運用方針に従って予め設定された処理方式で特定の処理を実行するように発行処理される。例えば、ICカードは、予め設定された1つの暗号方式で暗号処理を実行するように発行処理される。一方、近年では、量子コンピュータなどの高度な計算力を備える計算機の登場に対応するために耐量子暗号などの新しい暗号方式による暗号処理が望まれる場面も多くなってきている。上述した従来の処理システムは、耐量子暗号などの新しい暗号方式での暗号処理を実施するためには、ICカードだけでなく全てのICカード処理装置を一斉に新暗号方式に対応するものに置き換える必要がある。
【0003】
しかしながら、運用中の処理システム全体でICカードおよびICカード処理装置を一斉に新暗号方式に対応するものに置き換えるのは現実的に難しいと考えられる。このため、暗号処理に用いる暗号方式を既存の暗号方式から新しい暗号方式に移行するには、暗号処理を実行する暗号方式として既存暗号方式と新暗号方式とが共存する移行期間が必要となることが想定される。このような移行期間において、ICカードは、既存暗号方式と新暗号方式との両方に対応するだけでなく、ICカード処理装置が要求する暗号方式での暗号処理を円滑に実行できるようにすることが要望される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の課題を解決するために、本発明は、複数の処理方式から1つの処理方式を選択して特定の処理を実行することができる携帯可能電子装置、および、ICカードを提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、携帯可能電子装置は、インターフェースとメモリとプロセッサとを備える。インターフェースは、外部装置と通信する。メモリは、暗号処理を実行するための複数の異なる暗号方式ごとに有効か無効かを示す情報を含む設定情報を記憶する。プロセッサは、前記外部装置からリセットの種別が指定されたリセット要求を受信した場合、前記リセット要求で指定されるリセットの種別に応じたリセット処理を実行し、前記メモリが記憶する設定情報において前記リセット要求で指定されるリセットの種別に応じて選択する暗号方式を有効に設定する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係る携帯可能電子装置としてのICカードの構成例を示すブロック図である。
【
図2】
図2は、実施形態に係る携帯可能電子装置としてのICカードと通信するICカード処理装置の構成例を示すブロック図である。
【
図3】
図3は、実施形態に係る携帯可能電子装置としてのICカードにおけるNVMに複数の暗号方式ごとの設定情報(設定フラグ)を記憶する例を示す図である。
【
図4】
図4は、実施形態に係る携帯可能電子装置としてのICカードにおけるRAMに選択(設定)中の暗号方式を示す情報(識別フラグ)を記憶した例を示す図である。
【
図5】
図5は、実施形態に係る携帯可能電子装置としてのICカードによる第1の動作例を説明するためのフローチャートである。
【
図6】
図6は、実施形態に係る携帯可能電子装置としてのICカードによる第2の動作例を説明するためのフローチャートである。
【
図7】
図7は、実施形態に係る携帯可能電子装置としてのICカードによる第3の動作例を説明するためのフローチャートである。
【
図8】
図8は、実施形態に係る携帯可能電子装置としてのICカードによる第4の動作例を説明するためのフローチャートである。
【
図9】
図9は、実施形態に係る携帯可能電子装置としてのICカードによる第5の動作例を説明するためのフローチャートである。
【
図10】
図10は、実施形態に係る携帯可能電子装置としてのICカードによる第6の動作例を説明するためのフローチャートである。
【
図11】
図11は、実施形態に係る携帯可能電子装置としてのICカードに供給される署名検証コマンドの構成例を示す図である。
【
図12】
図12は、実施形態に係る携帯可能電子装置としてのICカードによる第7の動作例を説明するためのフローチャートである。
【
図13】
図13は、実施形態に係る携帯可能電子装置としてのICカードに供給される暗号方式を指定するパラメータを含む署名検証コマンドの例を示す図である。
【
図14】
図14は、実施形態に係る携帯可能電子装置としてのICカードに供給される暗号方式を指定するパラメータを含む署名検証コマンドの例を示す図である。
【
図15】
図15は、実施形態に係る携帯可能電子装置としてのICカードによる第8の動作例の流れを説明するためのフローチャートである。
【
図16】
図16は、実施形態に係る携帯可能電子装置としてのICカードに供給される暗号方式ごとの署名検証コマンドの例を示す図である。
【
図17】
図17は、実施形態に係る携帯可能電子装置としてのICカードに供給される暗号方式ごとの署名検証コマンドの例を示す図である。
【発明を実施するための形態】
【0008】
以下、実施形態について、図面を参照しつつ説明する。
図1は、実施形態に係るICカード1の構成例を概略的に示すブロック図である。
実施形態に係る携帯可能電子装置としてのICカード1は、外部装置としてのICカード処理装置2と共にICカード処理システムを構成する。ICカード1は、ICカード処理装置2から供給される電力により活性化する(動作可能な状態になる)携帯可能な電子機器である。ICカード1は、スマートカードとも称される。
【0009】
なお、実施形態に係る携帯可能電子装置は、カード状の形状に限定されるものではなく、後述するICカード1と同等な構成および処理機能を備える冊子状(たとえば、パスポートなどの手帳)のものであっても良い。また、実施形態に係る携帯可能電子装置は、後述するICカード1と同等な構成および処理機能を備える携帯型の電子装置(たとえば、スマートフォン、携帯電話機、タブレットPC、ドングルなど)であっても良い。
【0010】
ICカード1は、大別すると、接触型のICカードと非接触型のICカードとがある。接触型のICカード1は、通信インターフェースとしてのコンタクト部を介してICカード処理装置2からの動作電源および動作クロックの供給を受けて活性化する。たとえば、接触型のICカード1は、ISO/IEC7816-3に規定される規格に準拠するICカードである。非接触型のICカード1は、通信インターフェースとしてのアンテナおよび変復調回路などを介してICカード処理装置2からの電波を受信し、その電波から動作電源および動作クロックを生成して活性化する。たとえば、非接触型のICカード1は、ISO/IEC14443-3に規定される規格に準拠するICカードである。
【0011】
図1に示すように、ICカード1は、本体Cを有する。本体Cは、プラスチックなどによりカード状に形成される。ICカード1は、本体C内にモジュールMを有する。モジュールMは、1つまたは複数のICチップCaと通信用の外部インターフェース(インターフェース)とが接続された状態で一体的に形成され、本体C内に埋設される。
【0012】
なお、実施形態に係る携帯可能電子装置は、冊子状に形成される本体CにモジュールMを備えるものであっても良いし、携帯型の電子装置を形成する本体C内にモジュールMを備えるものであっても良い。
【0013】
図1に示す構成例において、ICカード1のモジュールMは、プロセッサ11、RAM12、ROM13、NVM(メモリ)14、通信制御部15およびインターフェース16などを有する。
プロセッサ11は、種々の処理を実行する回路を含む。プロセッサ11は、たとえば、CPU(Central Processing Unit)である。プロセッサ11は、ICカード1全体の制御を司る。プロセッサ11は、ROM13あるいはNVM14に記憶されているプログラムを実行することにより、種々の処理機能を実現する。ただし、後述するプロセッサ11が実行する各種の機能のうちの一部または全部は、ハードウエア回路により実現されるようにしても良い。
【0014】
RAM12は、ワーキングメモリとして機能する揮発性のメモリである。また、RAM12は、プロセッサ11が処理中のデータなどを一時保管するバッファとしても機能する。たとえば、RAM12は、通信制御部15およびインターフェース16を介してICカード処理装置2との間で送受信するデータを一時保管する通信バッファとして機能する。
【0015】
ROM13は、プログラムメモリとして機能する不揮発性のメモリである。ROM13は、予め制御用のプログラムおよび制御データなどが記憶される。ROM13は、製造段階で制御プログラムや制御データなどが記憶された状態でICカード1内に組み込まれるものである。ROM13に記憶される制御プログラムや制御データは、予め当該ICカード1の仕様に応じて組み込まれる。
【0016】
たとえば、ROM13には、ICカード処理装置2から受信するコマンドに応じた処理をプロセッサ11が実行するためのプログラムが記憶される。また、実施形態に係るICカードは、複数の処理方式としての複数の暗号方式に対応するため、ROM13には、対応する各暗号方式(新暗号方式および既存暗号方式)での暗号処理を行うためのプログラムが記憶される。
【0017】
NVM14は、データの書き込みおよび書き換えが可能な不揮発性のメモリである。NVM14は、たとえば、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)あるいはフラッシュROMなどで構成する。また、NVM14は、一部または全部の領域が耐タンパー性を有し、セキュアにデータが格納できる記憶領域を有する。
【0018】
NVM14には、当該ICカード1の運用用途に応じたプログラムや種々のデータが書き込まれる。NVM14には、プログラムファイルあるいはデータファイルなどが定義され、それらのファイルにプログラムや種々のデータが書き込まれる。たとえば、NVM14は、複数の暗号方式ごとに暗号方式が有効か無効かを示す情報(有効性を示す情報)を格納する記憶領域が設けられる。また、NVM14は、複数の暗号方式ごとに暗号処理用のプログラムおよび鍵データなどの暗号処理用のデータを記憶するようにしても良い。また、NVM14は、ユーザデータ、外部のネットワークと通信するためのネットワーク認証用のデータ、および、各種の処理を実行するためのアプリケーションプログラムなどを記憶する。
【0019】
通信制御部15は、インターフェース16に接続する。インターフェース16は、外部装置に通信接続するためのインターフェースである。通信制御部15およびインターフェース16は、通信部を構成する。通信制御部15およびインターフェース16は、ICカード処理装置2のインターフェースに対応した通信方式による通信機能を実現する。また、通信制御部15およびインターフェース16は、接触通信である場合、又は、非接触通信である場合も、複数の通信方式(通信プロトコル)をサポートするものとして構成しても良い。
【0020】
当該ICカード1が接触型のICカードとして実現される場合、通信制御部15およびインターフェース16は、ICカード処理装置2と接触して通信する通信部を構成する。この場合、インターフェース16は、ICカード処理装置2のコンタクト部と物理的かつ電気的に接触するコンタクト部により構成され、通信制御部15は、コンタクト部を介した信号の送受信を制御する回路などにより構成される。また、通信制御部15は、プロセッサ11が指定する通信方式(通信プロトコル)に従って通信を制御する。
【0021】
また、当該ICカード1が非接触型のICカードとして実現される場合、通信制御部15およびインターフェース16は、ICカード処理装置2のカードリーダライタと非接触(無線)で通信する通信部を構成する。この場合、インターフェース16は、電波の送受信を行うアンテナにより構成され、通信制御部15は、送信する電波を生成するための変調回路および受信した電波から信号を生成するための復調回路などにより構成される。また、非接触通信を行う通信制御部15は、プロセッサ11により指定されるTypeAやTypeBなどの通信方式(通信プロトコル)に従って通信を制御する。
【0022】
図2は、実施形態に係るICカード処理装置2の構成例を概略的に示すブロック図である。
図2に示す構成例において、ICカード処理装置2は、カードリーダライタ24を介してICカード1と通信する機能を有する装置(R/W)である。ICカード処理装置2は、たとえば、カードリーダライタ24をパーソナルコンピュータ(PC)などの制御装置に接続した装置であっても良い。
【0023】
ICカード処理装置2は、
図2に示すように、制御部21、表示部22、操作部23、カードリーダライタ24などを有する。
制御部21は、ICカード処理装置2全体の動作を制御する。制御部21は、プロセッサ(CPU)25、RAM26、ROM27、不揮発性メモリ28、通信部29などにより構成される。たとえば、制御部21は、パーソナルコンピュータにより構成される。プロセッサ25は、ROM27または不揮発性メモリ28が記憶するプログラムを実行することにより種々の処理を実行する。RAM26は、データを一時的に保持するワーキングメモリとして機能する。ROM27は、プログラムや制御データなどを記憶する不揮発性のメモリである。不揮発性メモリ28は、書き換え可能な不揮発性のメモリである。通信部29は、外部装置と通信するためのインターフェースである。
【0024】
制御部21は、カードリーダライタ24によりICカード1へコマンドを送信する機能、ICカード1から受信したデータを基に種々の処理を行う機能などを有する。たとえば、制御部21は、カードリーダライタ24を介してICカード1にデータの書き込みコマンドを送信することによりICカード1内の不揮発性メモリにデータを書き込む制御を行う。また、制御部21は、ICカード1に読み取りコマンドを送信することによりICカード1からデータを読み出す制御を行う。また、制御部21は、ICカード1にアプリケーション選択コマンドを送信することによりICカード1において選択されるアプリケーションを制御する。
【0025】
また、本実施形態において、ICカード処理装置2の制御部21は、後述する各動作例で説明するようなコマンドなどの情報をICカード1に供給することによりICカード1が暗号処理に用いる暗号方式を指定する。
【0026】
表示部22は、制御部21の制御により種々の情報を表示する表示装置である。操作部23は、キーボード、テンキー、ポインティングデバイスなどにより構成する。操作部23は、ICカード処理装置2の操作員が種々の操作指示やデータなどを入力するためのものである。また、操作部23は、ICカード1の利用者の識別情報あるいはパスワードなどの認証情報を入力するための入力部としても機能する。
【0027】
カードリーダライタ24は、ICカード1との通信を行うための通信部(第2の通信部)である。カードリーダライタ24は、ICカード1の通信方式に応じたインターフェースにより構成される。たとえば、ICカード1が接触型のICカードである場合、カードリーダライタ24は、ICカード1のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。また、ICカード1が非接触型のICカードである場合、カードリーダライタ24は、ICカード1との無線通信を行うためのアンテナおよび通信制御などにより構成される。カードリーダライタ24は、ICカード1に対して、電源電力を供給したり動作用のクロックを供給したりする。カードリーダライタ24は、制御部21による制御に基づいてICカード1へのコマンドの送信およびICカード1からのコマンドに対するレスポンス(応答)の受信などを行う。
【0028】
次に、実施形態に係るICカード1のNVM14においてデータを格納するためのファイルの構成について説明する。
ICカード1におけるNVM14は、例えば、ICカードの国際的な標準規格であるISO/IEC 7816-4で規定されているファイル構造の各ファイルにデータを格納する。このような規定のファイル構造では、MF(Master File)、DF(Dedicated File)、および、EF(Elementary File)などからなる階層構造を有する複数のファイル群が定義される。
【0029】
MFは最上階層にあり、MFの次の階層に1又は複数のDFが定義され、DFの次の階層に1又は複数のEFが定義される。1つのDFは、例えば、当該ICカード1が備える1つのアプリケーションを実現するためのデータ群が格納される。複数のアプリケーションによって複数の機能を実現しているICカード1は、各アプリケーションに対応する複数のDFがNVM14に設けられる。また、DFの配下にある各EFは、上位階層となるDFとしてのアプリケーションに用いる各種のデータを格納するためのデータファイルである。
【0030】
次に、実施形態に係るICカード1が備える特定の処理を実行するための複数の異なる処理方式について説明する。
実施形態に係るICカード1は、特定の処理としての暗号処理を実行するための複数の異なる処理方式(暗号方式)に対応する。ICカード1は、複数の処理方式から選択した1つの処理方式によって特定の処理を実行する機能を有する。本実施形態では、携帯可能電子装置としてのICカード1は、既存の暗号方式(既存暗号方式、第1の暗号方式)と既存暗号方式とは異なる暗号方式(新暗号方式、第2の暗号方式)とに対応するものとする。また、本実施形態に係るICカード1は、複数の暗号方式としての既存暗号方式および新暗号方式から選択する何れか一方の暗号方式を用いて暗号処理を実行する機能を有する。
【0031】
本実施形態において、新暗号方式は、既存暗号方式に比べて暗号強度が高い暗号処理を実現できるものとする。例えば、新暗号方式としては、耐量子暗号が想定される。耐量子暗号は、量子コンピュータを用いても解読が困難であると考えられる暗号方式の総称である。耐量子暗号としては、例えば、格子暗号などがある。また、既存暗号方式としては、RSA、DES(Data Encryption Standard)などがある。RSAは、公開鍵暗号式によるデータ暗号化のアルゴリズムの1つである。DESは、共通鍵暗号式によるデータ暗号化のアルゴリズムの1つである。耐量子暗号、RSAおよびDESなどの暗号方式は、暗号処理を実行するために必要となる計算量などが異なる。一般に、耐量子暗号は、RSAおよびDESに比べて、暗号強度が強く(セキュリティレベルが高く)、暗号処理の処理負荷(計算量)が大きくなる。
【0032】
図3は、実施形態に係るICカード1が複数の暗号方式ごとの状態(有効性)を示す設定情報を記憶するNVM14の記憶領域を模式的に示す図である。また、
図4は、実施形態に係るICカード1が選択(設定)中の暗号方式を示す設定情報(暗号方式識別フラグ)を記憶するRAM12の記憶領域を模式的に示す図である。
図3に示すように、ICカード1のNVM14には、既存暗号方式が有効か無効かを示す情報と新暗号方式が有効か無効かを示す情報を記憶する記憶領域を有する。例えば、既存暗号方式と新暗号方式とが共に有効である場合、NVM14は、暗号方式の設定情報(フラグ)として、既存暗号方式が有効であることを示す情報と新暗号方式が有効であることを示す情報とを記憶する。また、新暗号方式が有効なままで既存暗号方式が無効に設定された場合、NVM14は、既存暗号方式が無効で、新暗号方式が有効であることを示す設定情報を記憶する。
【0033】
また、ICカード1のRAM12には、選択中の暗号方式を示す情報が暗号方式識別フラグとして記憶される。
図4に示す例によれば、ICカード1は、暗号方式識別フラグが新暗号方式を示す状態(「11」)である場合には暗号方式として新暗号方式(新暗号方式での暗号処理)が選択されていることを示し、暗号方式識別フラグが既存暗号方式を示す状態(「22」)である場合には暗号方式として新暗号方式(新暗号方式での暗号処理)が選択されていることを示す。
【0034】
なお、既存暗号方式と新暗号方式との共存に期限がない場合は、何れかの暗号方式を無効とする必要がないので、上述したような何れかの暗号方式を無効にするような設定がなくても良い。例えば、ICカード1がクレジットカードなどとして発行される場合、運用上の有効期限までに何れかの暗号方式を無効とするような運用計画が無ければ、当該ICカード1は、何れかの暗号方式を無効にするような設定が無くても良い。
【0035】
次に、実施形態に係る携帯可能電子装置としてのICカード1がICカード処理装置2からのコマンドに応じて暗号方式を選択する処理を含む動作例(第1乃至第3の動作例)について説明する。
まず、実施形態に係る携帯可能電子装置としてのICカード1による第1の動作例について説明する。
図5は、実施形態に係る携帯可能電子装置としてのICカード1による第1の動作例の流れを説明するためのフローチャートである。
ICカード1は、通信制御部15によりインターフェース16を介してICカード処理装置2に接続する。ICカード1のプロセッサ11は、ICカード処理装置2と接続すると、ICカード処理装置2から供給される電力によって起動する。
【0036】
ICカード1のプロセッサ11は、ICカード処理装置2からのリセット要求(コマンド)に応じてリセットを実行する。ICカード1のプロセッサ11は、ICカード処理装置2からの要求に応じて実行するリセットの種別を判別する(ステップST11)。
図5に示す例において、プロセッサ11は、リセットがコールド(COLD)リセットかウォーム(WARM)リセットかを判別する。
【0037】
ここで、コールドリセットは、各種メモリやプログラムなどの初期状態として起動(リセット)する動作である。ウォームリセットは、メモリが保持する情報やプログラムを初期状態とすることなく起動(リセット)する動作である。例えば、コールドリセットは、電源がオフの状態からオンとなった直後に実行され、ウォームリセットは、電源がオンの状態においてメモリが保持する情報やプログラムの状態を維持したままで実行される起動動作である。例えば、ICカード1におけるコールドリセットおよびウォームリセットは、ISO/IEC7816-3に定義されるもので良い。
【0038】
プロセッサ11は、ICカード処理装置2からコールドリセットが要求された場合(ステップST11、YES)、コールドリセットを実行する(ステップST12)。プロセッサ11は、コールドリセットにおいて、暗号処理に用いる暗号方式として新暗号方式をセットする(ステップST13)。例えば、プロセッサ11は、RAM12に格納する暗号方式識別フラグとして新暗号方式を示すデータをセットする。プロセッサ11は、コールドリセットが完了すると、コールドリセットが完了したことを示す応答(ATR;Answer To Reset)をICカード処理装置2へ送信する(ステップST14)。
【0039】
プロセッサ11は、ICカード処理装置2からウォームリセットが要求された場合(ステップST11、NO)、ウォームリセットを実行する(ステップST15)。ここで、ウォームリセットを要求するタイミングは、ICカード処理装置2がICカード1に対する処理に応じて要求する。プロセッサ11は、ウォームリセットの動作において、暗号処理に用いる暗号方式として既存暗号方式をセットする(ステップST16)。例えば、プロセッサ11は、RAM12に格納する暗号方式識別フラグとして既存暗号方式を示すデータをセットする。プロセッサ11は、ウォームリセットが完了すると、ウォームリセットが完了したことを示す応答(ATR)をICカード処理装置2へ送信する(ステップST17)。
【0040】
ICカード1のプロセッサ11は、リセット動作を実行した後、ICカード処理装置2からの各種のコマンドを受け付ける(ステップST18)。
【0041】
また、プロセッサ11は、コマンドを受信した場合には、コマンドに応じて処理(コマンド処理)を実行する(ステップST19)。ここで、コマンド処理については、後で詳細に説明するものとする。プロセッサ11は、コマンド処理の結果を示すレスポンスを送信し(ステップST20)、ステップST18へ戻り、コマンド待ちの状態とする。
【0042】
上述したように、第1の動作例に係るICカードは、ICカード処理装置から要求されるリセットの種別に応じて選択する暗号方式をリセット動作において設定する。例えば、ICカードは、ICカード処理装置からコールドリセットが要求された場合にはコールドリセットの動作において第2暗号方式としての新暗号方式をセットし、ICカード処理装置からウォームリセットが要求された場合にはウォームリセットの動作において第1暗号方式としての既存暗号方式をセットする。
【0043】
なお、上述した第2暗号方式と第1暗号方式とは、上述した例とは逆にしても良い。すなわち、ICカードは、ICカード処理装置からコールドリセットが要求された場合にコールドリセットの動作において第2暗号方式としての既存暗号方式をセットし、ICカード処理装置からウォームリセットが要求された場合にはウォームリセットの動作において第1暗号方式としての新暗号方式をセットするようにしても良い。
【0044】
このような第1の動作例によれば、ICカードは、ICカード処理装置から要求されるリセットの種別に応じて暗号方式を設定することができる。これに対応して、ICカード処理装置としては、ICカードに要求するリセットの種別によって暗号方式を指定することができる。
【0045】
具体例として、ICカードは、ICカード処理装置からのコールドリセットの要求に応じてコールドリセット動作を行う場合に新暗号方式を設定し、ICカード処理装置からのウォームリセットの要求に応じてウォームリセット動作を行う場合に既存暗号方式を設定するようにできる。言い換えると、ICカード処理装置は、各種の情報がデフォルト状態となるコールドリセットにおいて耐量子暗号などの暗号強度が強い新暗号方式をICカードにセットすることができ、各種の情報が保持されたままで実行されるウォームリセットで既存暗号方式をICカードにセットすることができる。
【0046】
次に、実施形態に係る携帯可能電子装置としてのICカード1による第2の動作例について説明する。
図6は、実施形態に係る携帯可能電子装置としてのICカード1による第2の動作例の流れを説明するためのフローチャートである。
ICカード1は、通信制御部15によりインターフェース16を介してICカード処理装置2に接続し、ICカード処理装置2から供給される電力によって起動する。ICカード1のプロセッサ11は、ICカード処理装置2からのリセット要求に応じてリセットを実行する(ステップST31)。
【0047】
プロセッサ11は、リセット動作が完了すると、リセット応答(ATR)をICカード処理装置2へ送信する(ステップST32)。例えば、プロセッサ11は、ICカード処理装置2からコールドリセットが要求された場合にはコールドリセットを実行してコールドリセットに対応したATRを送信し、ICカード処理装置2からウォームリセットが要求された場合にはウォームリセットを実行してウォームリセットに対応したATRを送信する。
【0048】
また、プロセッサ11は、ATRを送信する場合、ICカード処理装置2へ送信するATRに対応した通信レート(通信速度)を含む通信条件を設定し(ステップST33)、当該ICカード1のデフォルト設定の暗号方式である既存暗号方式をセットする(ステップST34)。プロセッサ11は、通信条件および暗号方式を設定すると、ICカード処理装置2からの各種のコマンドを受け付ける。
【0049】
プロセッサ11は、ICカード処理装置2からのコマンドとして通信レートなどの通信条件の設定(変更)要求を受信すると(ステップST35、YES)、当該コマンドに応じて通信条件を変更する(ステップST36)。例えば、接触式ICカードの規格であるISO/IEC7816-3によれば、ICカード処理装置2は、ICカード1に対してPPS requestというコマンドによって通信レートの設定を要求する。これに対して、ICカード1は、PPS requestで要求された通信レートに変更してPPS responseという応答をICカード処理装置2へ返す。なお、ICカード1が非接触式ICカードである場合、ISO/IEC14443-4に規定されるPPS requestおよびPPS responseによって通信レートの変更が行える。
【0050】
ICカード1のプロセッサ11は、通信条件を変更すると、新暗号方式が設定される通信条件に変更されたか否かを判断する(ステップST37)。例えば、新暗号方式を設定すべき通信レートなどの通信条件を示す設定情報はNVM14などに記憶される。プロセッサ11は、NVM14に記憶した設定情報に基づいて通信レートなどの通信条件が新暗号方式を設定すべき通信条件であるか否かを判断する。
【0051】
プロセッサ11は、通信条件が新暗号方式を設定すべき通信条件に変更された場合(ステップST37、YES)、暗号処理に用いる暗号方式を新暗号方式にセットする(ステップST38)。また、プロセッサ11は、通信条件が新暗号方式を設定すべき通信条件でない場合(ステップST37、NO)、暗号処理に用いる暗号方式を既存暗号方式のままとする。
【0052】
また、ICカード1のプロセッサ11は、ICカード処理装置2から通信レートの設定要求以外のコマンドを受信した場合(ステップST39)、受信したコマンドに応じた処理(コマンド処理)を実行する(ステップST40)。プロセッサ11は、コマンド処理を実行すると、コマンド処理の結果としてのレスポンスを送信し(ステップST41)、ステップST35へ戻り、コマンド待ち状態とする。
【0053】
上述したように、第2の動作例に係るICカードは、リセット動作においてデフォルト設定の既存暗号方式(第1の処理方式)を設定し、ICカード処理装置から要求(コマンド)に応じて変更した通信条件が新暗号方式(第2の処理方式)を設定すべき通信条件であれば、暗号処理に用いる暗号方式を新暗号方式に変更する。
【0054】
このような第2の動作例によれば、ICカードは、ICカード処理装置から要求される通信設定に応じて暗号方式を設定することができ、ICカード処理装置からの通信設定の変更に応じて暗号方式を切り替えるようにすることができる。これに対応して、ICカード処理装置としては、任意のタイミングでICカードに要求する通信条件(通信レート)によってICカードの暗号方式を指定できる。
【0055】
具体例として、ICカードは、ICカード処理装置からの要求に応じて通信レートを高速化する場合に、コマンド処理で暗号処理に用いる暗号方式を新暗号方式に切り替えることができる。新暗号方式は、暗号に必要なデータが大きくなることが想定されるため、高速通信で実施することにより利便性が向上する。また、ICカードは、デフォルト状態で既存暗号方式が設定されるようにすることで、既存暗号方式を用いて処理を行う既存のシステムがそのまま利用できる。
【0056】
次に、実施形態に係る携帯可能電子装置としてのICカード1による第3の動作例について説明する。
図7は、実施形態に係る携帯可能電子装置としてのICカード1による第3の動作例の流れを説明するためのフローチャートである。
ここで、
図7に示す第3の動作例に係るICカード1は、複数の通信方式(通信プロトコル)に対応し、ICカード処理装置2からの要求に応じて何れかの1つの通信方式を切り替える機能があるものとする。例えば、ISO/IEC14443-3で規定される非接触式ICカードでは、通信方式として「TypeA」、「TypeB」などがある。ICカード処理装置2は、少なくとも1つ以上の通信方式をサポートし、処理対象とするICカードと通信を行う。
【0057】
ICカード1のプロセッサ11は、ICカード処理装置2から通信方式(通信プロトコル)のリクエストを受信した場合(ステップST51、YES)、ICカード処理装置2からのリクエストに応じてサポート可能な通信条件を示すレスポンスを送信する(ステップST52)。例えば、ICカード処理装置2は、「TypeB」の場合にはREQB(REQuest command, Type B)というコマンドをICカード1へ送信する。これに対して、ICカード1のプロセッサ11は、ATQB(Answer to Request, Type B)というレスポンスを返信する。ここで、ATQBのレスポンスでは、ICカード処理装置2とICカード1との間でサポート可能な複数の通信速度、および、通信データのバッファサイズ等の通信条件が示される。
【0058】
また、ICカード1のプロセッサ11は、ICカード処理装置2から通信条件を指定するコマンドを受信し、指定された通信条件での通信設定を行う(ステップST53)。例えば、ICカード処理装置2は、ICカード1からの上述したようなATQBで示される複数の通信速度から通信条件としてのパラメータ(通信速度、バッファサイズなど)を選択し、選択した通信条件を指定するATTRIB(PICC selection command, Type B)コマンドをICカードへ送信する。ICカード1のプロセッサ11は、ICカード処理装置2からのATTRIBで指定される通信条件を設定し、Answer to ATTRIB commandでレスポンスする。これにより、ICカード1は、ICカード処理装置2に指定されたパラメータ(通信速度、バッファサイズなど)で通信を行う。
【0059】
ICカード1のプロセッサ11は、ICカード処理装置2が指定する通信条件を設定すると、設定した通信方式および通信条件に応じた暗号方式を選択する(ステップST54)。例えば、ICカード1のプロセッサ11は、ATTRIBコマンドで指定されたパラメータ(例えば、通信速度、バッファサイズなど)により既存暗号方式又は新規暗号方式の何れかを選択する。
【0060】
例えば、ICカード1のプロセッサ11は、NVM14などのメモリに記憶した通信方式ごとの設定情報に基づいて通信条件に暗号方式を選択する。具体例として、TypeBでは、通信速度が106kbpsであれば既存暗号方式をセットし、106kbps以外であれば新規暗号方式をセットするような設定情報をNVM14に記憶する。このような設定情報が記憶されたICカード1は、ATTRIBでの通信速度の指定が106kbpsであれば既存暗号方式をセットし、106kbps以外であれば新規暗号方式をセットする。
【0061】
すなわち、プロセッサ11は、通信方式および通信条件に応じて新暗号方式を選択する場合(ステップST54、YES)、暗号処理を実行するための暗号方式として新暗号方式をセットする(ステップST55)。また、プロセッサ11は、通信方式および通信条件に応じて既存暗号方式を選択する場合(ステップST54、NO)、暗号処理を実行するための暗号方式として既存暗号方式をセットする(ステップST56)。
【0062】
また、ICカード1のプロセッサ11は、ICカード処理装置2から通信方式のリクエスト以外のコマンドを受信した場合(ステップST57、YES)、受信したコマンドに応じた処理(コマンド処理)を実行する(ステップST58)。プロセッサ11は、コマンド処理を実行すると、コマンド処理の結果を示すレスポンスを送信し(ステップST59)、ステップST51へ戻り、通信設定要求又はそれ以外のコマンドを受信待ちとする状態になる。
【0063】
上述したように、第3の動作例に係るICカードは、通信方式(通信プロトコル)ごとに暗号方式を選択するための通信条件を示す設定情報を保持し、通信方式が設定された(切り替えられた)場合に通信方式ごとの設定情報に基づいて処理方式(暗号方式)を設定する。ICカード処理装置としては、ICカードの通信方式を指定する場合に指定した通信方式での通信条件によって当該ICカードにセットする処理方式を指定する。
【0064】
このような第3の動作例によれば、ICカードは、ICカード処理装置から要求される通信方式ごとに通信条件に応じて特定の処理を実行するための処理方式を設定することができ、通信方式ごとに設定する設定情報によって処理方式を切り替えることができる。また、ICカード処理装置としては、通信方式ごとの通信条件によってICカードの処理方式を指定できる。
【0065】
次に、実施形態に係る携帯可能電子装置としてのICカード1がICカード処理装置2に自身が対応する暗号方式を通知する処理を含む動作例(第4の動作例)について説明する。
図8は、実施形態に係る携帯可能電子装置としてのICカード1による第4の動作例の流れを説明するためのフローチャートである。
第4の動作例は、ICカード1が有効となっている暗号方式(実行可能な暗号方式)をICカード処理装置2に通知する処理を含む動作の例である。
【0066】
図8に示す例において、まず、ICカード1のプロセッサ11は、ICカード処理装置2から電力が供給された直後にリセット(コールドリセット)の要求を受信するものとする。プロセッサ11は、ICカード処理装置2からコールドリセットが要求された場合(ステップST61、YES)、コールドリセットを実行する(ステップST62)。プロセッサ11は、コールドリセットにおいて暗号処理に用いる暗号方式として新暗号方式をセットする(ステップST63)。プロセッサ11は、コールドリセットが完了すると、コールドリセットが完了したことを示す応答(ATR)をICカード処理装置2へ送信する(ステップST64)。
【0067】
ICカード1のプロセッサ11は、リセット動作を実行した後、ICカード処理装置2からの各種のコマンドを受け付ける(ステップST69)。プロセッサ11は、ICカード処理装置2からリセット要求以外のコマンドを受信した場合(ステップST70、YES)、受信したコマンドに応じた処理(コマンド処理)を実行する(ステップST71)。
【0068】
プロセッサ11は、コマンド処理を実行すると、既存暗号方式(デフォルト(コールドリセット)でセットされる新暗号方式とは別の暗号方式)が有効であるか否かを判定する(ステップST72)。例えば、プロセッサ11は、NVM14に記憶する暗号方式設定フラグを示す情報に基づいて既存暗号方式が有効か無効かを判定する。
【0069】
プロセッサ11は、既存暗号方式が有効である場合(ステップST72、YES)、コマンド処理の結果を示すレスポンスデータに既存暗号方式が有効であることを示す情報をセットする(ステップST73)。プロセッサ11は、既存暗号方式が有効であることを示すデータをセットしたレスポンスデータをICカード処理装置2へ送信し(ステップST75)、ステップST69へ戻り、コマンド待ちの状態となる。なお、既存暗号方式が有効であることを示す情報は、コマンド処理の結果を示すステータスワードに既存暗号方式が有効であることを示す情報を含めても良いし、レスポンスデータに既存暗号方式が有効であることを示すデータを設定しても良い。
【0070】
また、プロセッサ11は、既存暗号方式が有効でない場合(ステップST72、NO)、コマンド処理の結果を示すレスポンスデータに既存暗号方式が無効であることを示すデータをセットする(ステップST74)。プロセッサ11は、既存暗号方式が無効であることを示すデータをセットしたレスポンスデータをICカード処理装置2へ送信し(ステップST75)、ステップST69へ戻り、コマンド待ちの状態となる。
【0071】
ただし、プロセッサ11は、ステップST73-ST75の処理として、既存暗号方式が有効性でかつコマンド処理の結果が異常である場合は、通常の異常を意味するレスポンスデータを送信し、既存暗号方式が有効性でかつコマンド処理の結果が正常である場合は、処理結果は正常で既存暗号方式が有効であることを意味するようなレスポンスデータを送信するようにして良い。
【0072】
なお、上述した第4の動作例は、第1の動作例で説明したようなリセットの種別に応じて暗号方式をセットする動作において、コマンドに対する応答で暗号方式の有効性を通知する例について説明したが、
図8に示す動作例において、セットする暗号方式を選択する動作は、第2の動作例又は第3の動作例で説明した動作を適用しても良い。つまり、リセット種別に応じて暗号方式をセットする動作を通信レートなどの通信条件に応じて暗号方式をセットする動作に置き換えて実施しても良い。
【0073】
また、上述した第4の動作例では、ICカード1は、コールドリセット(デフォルト状態)でセットされる暗号方式が新暗号方式であること前提に説明している。このため、ICカード1は、ステップST72-74の処理(コマンドに対する応答処理)において、デフォルト状態(コールドリセット)でセットされる新暗号方式とは別の暗号方式である既存暗号方式が有効であるか否かを示す情報を含むコマンド応答をICカード処理装置2へ送信する。
【0074】
このような第4の動作例は、変形例として、ICカード1がデフォルト状態で既存暗号方式がセットされる運用とする場合にも適用できる。すなわち、ICカード1がデフォルト状態で既存暗号方式がセットされる運用とする場合、ICカード1は、ステップST72-74のコマンドに対する応答処理において、デフォルト状態でセットされる既存暗号方式とは別の暗号方式である新暗号方式が有効であるか否かを示す情報を含むコマンド応答をICカード処理装置2へ送信するようにしても良い。
【0075】
さらなる変形例として、上述した第4の動作例は、ICカード1がデフォルト状態でセットする暗号方式によらず、コマンドの処理結果を示す応答において当該ICカード1が対応する各暗号方式(新暗号方式および既存暗号方式)の有効性を示す情報を示す応答を出力するようにしても良い。すなわち、第4の動作例は、ステップST72-74の処理を、各暗号方式(新暗号方式および既存暗号方式)の有効性を示す情報を示す応答を出力する処理に置き換えて実施しても良い。
【0076】
上述したように、第4の動作例に係るICカードは、ICカード処理装置からのコマンドに対するコマンド処理を実行した場合に当該ICカードにおける各暗号方式の有効性を示す情報を含むレスポンスを出力する。このような第4の動作例によれば、ICカードは、コマンド処理に対する応答において当該ICカードが実行可能な暗号方式を示す情報をICカード処理装置へ送信できる。
【0077】
また、上述した第4の動作例に係るICカードは、デフォルト状態でセットされる暗号方式とは別の暗号方式が有効か否かを示す情報を含むコマンド処理の結果を示す応答を出力する。このような第4の動作例によれば、ICカードは、コマンド処理に対する応答においてデフォルト状態で設定される暗号方式とは別の暗号方式が有効であるか否かを示す情報をICカード処理装置へ送信できる。
【0078】
次に、実施形態に係る携帯可能電子装置としてのICカード1がコマンド処理として特定の暗号方式を無効化する処理の動作例(第5の動作例)について説明する。
図9は、実施形態に係る携帯可能電子装置としてのICカード1による第5の動作例の流れを説明するためのフローチャートである。
図9は、
図5乃至
図8におけるコマンド処理の1つとして実行される特定の暗号方式を無効化する処理の例を第5の動作例として説明するためのフローチャートである。第5の動作例において、ICカード1は、対応する複数の暗号方式のうちICカード処理装置2が指定する特定の暗号方式を無効化する処理を行う。
ICカード1のプロセッサ11は、上述した
図5乃至8に示す処理においてICカード処理装置2からのコマンドを受信すると、コマンド処理を実行する。
【0079】
プロセッサ11は、ICカード処理装置2からコマンドを受信すると、受信したコマンドが暗号方式の無効化を要求するコマンドであるか否かを判断する(ステップST81)。例えば、プロセッサ11は、受信したコマンドが後述する
図11などに示すようなフォーマットである場合、コマンドの識別情報である「CLA/INS」に暗号方式の無効化を要求することを示すデータがセットされているか否かにより受信したコマンドが暗号方式の無効化を要求するか否かを判断する。具体例として、ICカード処理装置2は、ICカード1の既存暗号方式を無効化する場合に既存暗号方式の無効化を要求するコマンドをICカード1へ送信する。これにより、ICカード1のプロセッサ11は、既存暗号方式の無効化を要求するコマンドを受信する。
【0080】
プロセッサ11は、特定の暗号方式の無効化を要求するコマンドを受信した場合(ステップST81、YES)、受信したコマンドで指定される暗号方式を無効化する処理を行う(ステップST82)。例えば、プロセッサ11は、コマンドで指定された暗号方式の無効を示す情報をNVM14に記憶することにより指定された暗号方式を無効化する。具体例として、既存暗号方式の無効化を要求するコマンドを受信した場合、ICカード1のプロセッサ11は、
図3に示すようなNVM14における暗号方式設定フラグを既存暗号方式の無効を示す情報に更新することにより既存暗号方式を無効化する。
【0081】
プロセッサ11は、コマンドで指定された暗号方式を無効化すると、コマンド処理の結果を示すデータとして、指定された暗号方式を無効化したことを示す情報を含むレスポンスデータを生成する(ステップST84)。プロセッサ11は、レスポンスデータを生成すると、
図5乃至8で示すように、コマンド処理の結果を示すレスポンスデータをICカード処理装置2へ送信する。これにより、コマンドの送信元であるICカード処理装置2は、ICカード1において指定の暗号方式が無効化されたことを確認する。
【0082】
また、プロセッサ11は、暗号方式の無効化を要求するコマンド以外のコマンドを受信した場合(ステップST81、NO)、受信したコマンドに応じた処理(コマンド処理)を実行し(ステップST83)、コマンド処理の結果を示すレスポンスデータを生成する(ステップST84)。
【0083】
上述したように、第5の動作例に係るICカードは、ICカード処理装置から要求されるコマンドに応じて指定された暗号方式を無効化する。これにより、複数の暗号方式に対応するICカードは、ICカード処理装置からのコマンドによって特定の暗号方式を無効化することができる。この結果、複数の暗号方式が実行可能なICカードを発行処理した後であっても脆弱性が発見された特定の暗号方式をICカード処理装置からのコマンドで無効化することができる。
【0084】
例えば、第5の動作例に係るICカードは、ICカード処理装置から既存暗号方式の無効化が要求するコマンドを受信した場合、受信したコマンドに応じて既存暗号方式を無効化する。これにより、既存暗号方式から新暗号方式へ移行期間において既存暗号方式と新暗号方式とが実行可能なICカードを発行した場合であっても、移行期間が終了した後に既存暗号方式を無効化する運用が可能となる。この結果、移行時間後に暗号強度が弱い既存暗号方式による暗号方式を無効化することができ、既存暗号方式と新暗号方式とを並存させる移行期間での運用と移行期間終了後の運用とを円滑に実施することが可能となる。
【0085】
また、上述した第5の動作例によれば、新暗号方式と既存暗号方式とに対応するICカードがICカード処理装置からのコマンドに応じて新暗号方式よりも暗号強度の弱い既存暗号方式を無効化するようにもできる。この結果、ICカードは、ICカードとICカード処理装置とを有するシステム全体が既存暗号方式から新暗号方式に移行する移行期間において既存暗号方式と新暗号方式とから選択する何れかの暗号方式を用いて暗号処理を実施し、移行期間が終了した場合に暗号強度が弱い既存暗号方式を無効化するという運用が可能となる。
【0086】
次に、実施形態に係る携帯可能電子装置としてのICカード1が暗号処理を含む処理を要求するコマンド処理の一例である署名検証コマンドを受信した場合の処理を含む動作例(第6の動作例)について説明する。
図10は、実施形態に係る携帯可能電子装置としてのICカード1による第6の動作例の流れを説明するためのフローチャートである。
第6の動作例は、ICカード1が複数の暗号方式から1つの暗号方式を設定しておき、暗号処理を含む処理のコマンドを受信した場合には設定されている暗号方式で暗号処理を含む処理を実行する。言い換えると、第6の動作例において、暗号処理を含む処理のコマンド(署名検証コマンド)は、どの暗号方式が設定されている場合であっても同じ内容(同じデータもしくは同じデータに相当するデータをセットしたコマンド)であるものとする。
【0087】
図10に示す動作例において、ICカード1のプロセッサ11は、まず、ICカード処理装置2からのリセット要求に応じてリセットを実行する(ステップST90)。プロセッサ11は、リセット動作が完了すると、リセット応答(ATR)をICカード処理装置2へ送信する(ステップST91)。また、プロセッサ11は、ATRを送信する場合、ICカード処理装置2へ送信するATRに対応した通信レートなどを含む通信条件を設定する(ステップST92)。プロセッサ11は、通信条件を設定すると、ICカード処理装置2からの各種のコマンドを受け付ける(ステップST93)。
【0088】
ICカード1のプロセッサ11は、コマンドを受信すると(ステップST93、YES)、受信したコマンドが暗号処理を含む処理を要求するコマンドであるか否かを判断する(ステップST94)。暗号処理を含む処理を要求するコマンドの一例が署名検証コマンドである。ここでは、
図10に示すように暗号処理を含む処理を要求するコマンドが署名検証コマンドであることを想定して説明するものとする。
【0089】
図11は、暗号処理を含む処理を要求するコマンドの一例である署名検証コマンドのフォーマットの構成例を示す図である。
図11に示すようなコマンドのフォーマットは、コマンドの識別情報である「CLA/INS」とパラメータである「P1P2」とを含む。
図11は、署名検証コマンドの例を示すものであり、署名検証コマンドは「CLA/INS」に「0088」がセットされる例を示す。つまり、「CLA/INS」が「0088」のコマンドは、署名検証コマンドを示す。第6の動作例では、暗号方式によらずに、
図11に示すような署名検証コマンドが用いられる。言い換えると、第6の動作例では、署名検証コマンドは、
図11に示すような既存暗号方式および新暗号方式で共通のコマンドとなる。
【0090】
プロセッサ11は、受信したコマンドが暗号処理を含む処理を要求するコマンド(署名検証コマンド)である場合(ステップST94、YES)、当該ICカード1が通信条件に応じて選択する暗号方式が新暗号方式であるか既存暗号方式であるかを判断する(ステップST95)。プロセッサ11は、通信条件に応じて選択する暗号方式が新暗号方式である場合(ステップST95、YES)、署名検証コマンドに応じて新暗号方式による暗号処理を含む処理としての署名検証の処理を実行する(ステップST96)。プロセッサ11は、新暗号方式による暗号処理を含む署名検証を実行すると、署名検証の処理結果を示すレスポンスデータをICカード処理装置2へ送信する(ステップST99)。
【0091】
また、プロセッサ11は、当該ICカード1にセットされている暗号方式が既存暗号方式である場合(ステップST95、NO)、署名検証コマンドに応じて既存暗号方式による暗号処理を含む処理としての署名検証の処理を実行する(ステップST98)。プロセッサ11は、既存暗号方式による暗号処理を含む署名検証を実行すると、署名検証の処理結果を示すレスポンスデータをICカード処理装置2へ送信する(ステップST99)。
【0092】
また、プロセッサ11は、受信したコマンドが暗号処理を含む処理を要求するコマンド(署名検証コマンド)以外のコマンドを受信した場合(ステップST94、NO)、受信したコマンドに応じた処理を実行し(ステップST97)、コマンド処理の結果を示すレスポンスデータをICカート処理装置2へ送信する(ステップST99)。
【0093】
上述したように、第6の動作例に係るICカードは、ICカードに設定済み(選択中)の暗号方式で暗号処理を実行する。これにより、ICカードは、暗号処理を含む処理を要求するコマンドから暗号処理に用いる暗号方式を特定(識別)する必要なく、ICカード処理装置は、暗号処理に用いる暗号方式を指定するためにコマンドのデータを変更する必要がない。例えば、第6の動作例に係るICカードは、第1の動作例と組み合わせ実施すれば、リセット動作において暗号方式を設定すればよく、暗号処理を要求するコマンドにおいて暗号方式を指定することが不要となる。
【0094】
次に、実施形態に係る携帯可能電子装置としてのICカード1が暗号処理を含む処理を要求するコマンドの一例である署名検証コマンドを受信した場合の動作例(第7の動作例)について説明する。
図12は、実施形態に係る携帯可能電子装置としてのICカード1による第7の動作例の流れを説明するためのフローチャートである。
第7の動作例は、ICカード1は、暗号処理を含む処理のコマンド(一例として署名検証コマンドとする)におけるパラメータで指定される暗号方式で暗号処理を実行する。言い換えると、第7の動作例のICカードは、暗号処理を含む処理のコマンドにおけるパラメータによって暗号処理にどの暗号方式を使用するかを特定するものである。
【0095】
図12に示す動作例において、ICカード1のプロセッサ11は、まず、ICカード処理装置2からのリセット要求に応じてリセットを実行する(ステップST100)。プロセッサ11は、リセット動作が完了すると、リセット応答(ATR)をICカード処理装置2へ送信する(ステップST101)。また、プロセッサ11は、ATRを送信する場合、ICカード処理装置2へ送信するATRに対応した通信レートなどを含む通信条件を設定する(ステップST102)。プロセッサ11は、通信条件を設定すると、ICカード処理装置2からの各種のコマンドを受け付ける(ステップST103)。
【0096】
ICカード1のプロセッサ11は、ICカード処理装置2からのコマンドを受信すると(ステップST103、YES)、受信したコマンドが暗号処理を含む処理を要求するコマンド(署名検証コマンド)であるか否かを判断する(ステップST104)。プロセッサ11は、署名検証コマンド以外のコマンドを受信した場合(ステップST104、NO)、受信したコマンドに応じたコマンド処理を実行し(ステップST105)、そのコマンド処理の結果を示すレスポンスデータをICカード処理装置2へ送信する(ステップST111)。
【0097】
また、プロセッサ11は、受信したコマンドが署名検証コマンドである場合(ステップST104、YES)、当該署名検証コマンドのパラメータにセットされているデータが新暗号方式を指定するか既存暗号方式を指定するかを判断する。すなわち、プロセッサ11は、受信した署名検証コマンドのパラメータに基づいて署名検証の暗号処理に用いる暗号方式を特定する。
【0098】
図13は、署名検証コマンドのパラメータに既存暗号方式を指定するデータをセットした例を示す図である。
図14は、署名検証コマンドのパラメータに新暗号方式を指定するデータをセットした例を示す図である。
図13および
図14に示す署名検証コマンドの例において、パラメータとしての「P1」および「P2」は、以下のように定義されるものとする。
「P2」は、暗号方式を指定する。例えば、「P2」が「01」である場合は既存暗号方式を指定するものとする。また、「P2」が「02」である場合は新規暗号方式を指定するものとする。また、「P1」は署名データに使用する鍵の識別子が示されるものとする。この場合、「P1」が「01」であれば「01」というIDの鍵データを使用することを示す。「P1」が「02」であれば「02」というIDの鍵データを使用することを示す。なお、鍵データは、ICカード1内のNVMなどのメモリに識別子と共に格納されているものする。
【0099】
具体例として、
図13に示す例では、署名検証コマンドのパラメータ「P1」「P2」にセットされているデータが「01」「01」であるため、暗号方式が既存暗号方式であり、鍵データのIDが「01」であることを示す。また、
図14に示す例では、署名検証コマンドのパラメータ「P1」「P2」にセットされているデータが「03」「02」であるため、暗号方式が新暗号方式であり、鍵データのIDが「03」であることを示す。
【0100】
プロセッサ11は、当該署名検証コマンドのパラメータが新暗号方式である場合(ステップST106、YES)、署名検証コマンドに応じて新暗号方式による暗号処理を含む処理としての署名検証の処理を実行する(ステップST107)。プロセッサ11は、新暗号方式による暗号処理を含む署名検証を実行すると、署名検証の処理結果を示すレスポンスデータをICカード処理装置2へ送信する(ステップST111)。
【0101】
また、プロセッサ11は、当該署名検証コマンドのパラメータが新暗号方式でない場合(ステップST106、NO)、当該署名検証コマンドのパラメータが既存暗号方式であるか否かを判断する(ステップST108)。プロセッサ11は、当該署名検証コマンドのパラメータが既存暗号方式である場合(ステップST108、YES)、署名検証コマンドに応じて既存暗号方式による暗号処理を含む処理としての署名検証の処理を実行する(ステップST109)。プロセッサ11は、既存暗号方式による暗号処理を含む署名検証を実行すると、署名検証の処理結果を示すレスポンスデータをICカード処理装置2へ送信する(ステップST111)。
【0102】
また、プロセッサ11は、当該署名検証コマンドのパラメータが新暗号方式でも既存暗号方式でもない場合(ステップST108、NO)、当該署名検証コマンドのパラメータがエラー(異常値)であるとする(ステップST110)。プロセッサ11は、受信した署名検証コマンドのパラメータがエラーである場合、署名検証コマンドのパラメータが異常であることを示すレスポンスデータをICカード処理装置2へ送信する(ステップST111)。
【0103】
上述したように、第7の動作例に係るICカードは、受信した署名検証コマンドのパラメータによって暗号方式を特定し、パラメータで指定される暗号方式を用いた暗号処理を含む署名検証を実行する。これにより、ICカードは、暗号処理を含む処理を要求するコマンドのパラメータで暗号処理に用いる暗号方式を特定することができる。ICカード処理装置は、暗号処理を含む処理を要求するごとに、コマンドのパラメータで暗号処理に用いる暗号方式を指定できる。
【0104】
次に、実施形態に係る携帯可能電子装置としてのICカード1が暗号処理を含む処理を要求するコマンド処理の一例である署名検証コマンドを受信した場合の処理を含む動作例(第8の動作例)について説明する。
図15は、実施形態に係る携帯可能電子装置としてのICカード1による第8の動作例の流れを説明するためのフローチャートである。
第8の動作例は、暗号方式ごとに署名検証コマンドの識別情報(CLA/INS)が定義される場合の動作例である。ICカード1は、ICカード処理装置2から受信するコマンドの識別情報によって既存暗号方式での署名検証コマンドか新暗号方式での署名検証コマンドかを判断する。言い換えると、第8の動作例のICカードは、暗号方式ごとに署名検証コマンドが定義されるため、署名検証コマンドの識別情報によって暗号処理に用いる暗号方式を特定するものである。
【0105】
例えば、
図16は、既存暗号方式を指定する署名検証コマンドの例を示す図である。
図17は、新暗号方式を指定する署名検証コマンドの例を示す図である。
図16および
図17に示す署名検証コマンドでは、コマンドの識別情報である「CLA/INS」のデータ(値)が異なっている。
図16に示すコマンドは、「CLA/INS」が「008A」となっている。
図16に示すように、「CLA/INS」が「008A」のコマンドが既存暗号方式による署名検証コマンドと定義される。また、
図17に示すコマンドは、「CLA/INS」が「008C」となっている。
図17に示すように、「CLA/INS」が「008C」のコマンドが新暗号方式による署名検証コマンドと定義される。
【0106】
図15に示す動作例において、ICカード1のプロセッサ11は、まず、ICカード処理装置2からのリセット要求に応じてリセットを実行する(ステップST120)。プロセッサ11は、リセット動作が完了すると、リセット応答(ATR)をICカード処理装置2へ送信する(ステップST121)。また、プロセッサ11は、ATRを送信する場合、ICカード処理装置2へ送信するATRに対応した通信レートなどを含む通信条件を設定する(ステップST102)。プロセッサ11は、通信条件を設定すると、ICカード処理装置2からの各種のコマンドを受け付ける(ステップST123)。
【0107】
ICカード1のプロセッサ11は、ICカード処理装置2からコマンドを受信すると、受信したコマンドが新暗号方式による暗号処理を含む署名検証を要求するコマンド(署名検証コマンド)であるか否かを判断する(ステップST124)。上述した
図16に示す例によれば、プロセッサ11は、受信したコマンドの「CLA/INS」が「008C」であるか否かによって新暗号方式を指定する署名検証コマンドであるか否かを判断する。
【0108】
プロセッサ11は、受信したコマンドが新暗号方式を指定する署名検証コマンドである場合(ステップST124、YES)、当該コマンドに応じて新暗号方式による暗号処理を含む署名検証の処理を実行する(ステップST125)。プロセッサ11は、新暗号方式による暗号処理を含む署名検証を実行すると、署名検証の処理結果を示すレスポンスデータをICカード処理装置2へ送信する(ステップST129)。
【0109】
また、プロセッサ11は、受信したコマンドが新暗号方式を指定する署名検証コマンドでない場合(ステップST124、NO)、当該コマンドが既存暗号方式を指定する署名検証コマンドであるか否かを判断する(ステップST126)。プロセッサ11は、受信したコマンドが既存暗号方式を指定する署名検証コマンドである場合(ステップST126、YES)、当該コマンドに応じて既存暗号方式による暗号処理を含む署名検証の処理を実行する(ステップST127)。プロセッサ11は、既存暗号方式による暗号処理を含む署名検証を実行すると、署名検証の処理結果を示すレスポンスデータをICカード処理装置2へ送信する(ステップST129)。
【0110】
また、プロセッサ11は、受信したコマンドが既存暗号方式を指定する署名検証コマンドでない場合、つまり、受信したコマンドが署名検証コマンドでない場合(ステップST126、NO)、受信したコマンドに応じたコマンド処理を実行し(ステップST128)、そのコマンド処理の結果を示すレスポンスデータをICカード処理装置2へ送信する(ステップST129)。
【0111】
上述したように、第8の動作例に係るICカードは、受信したコマンドの識別情報によってどの暗号方式を用いる署名検証コマンドであるかを識別し、指定された暗号方式による暗号処理を含む署名検証を実行する。具体例として、ICカードは、既存暗号方式を指定する署名検証コマンドを受信した場合には既存暗号方式を用いた暗号処理を含む署名検証を実行し、新暗号方式を指定する署名検証コマンドを受信した場合には新暗号方式を用いた暗号処理を含む署名検証を実行する。
【0112】
これにより、ICカードは、暗号方式ごとに定義されるコマンドによって暗号処理に用いる暗号方式を特定することができ、指定された暗号方式での暗号処理を含む処理を実行することができる。また、ICカード処理装置は、暗号方式ごとに定義される複数種類のコマンドから所望の暗号方式を指定するコマンドを選択することにより暗号処理に用いる暗号方式をコマンドで指定することができる。
【0113】
なお、上述した各動作例は、適宜組み合わせて実施することができる。例えば、第1乃至3の動作例は、第4乃至第8の動作例と組み合わせて実施することができ、第6乃至8の動作例は、第1乃至第5の動作例と組み合わせて実施することができる。また、第4および第5の動作例は、他の動作例を組み合わせたものにさらに組み合わせて実施することも可能である。
【0114】
また、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【0115】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下、本願の出願当初の特許請求の範囲に記載した内容を付記する。
[1]
外部装置と通信するインターフェースと、
特定の処理を実行するための複数の異なる処理方式ごとの設定情報を記憶するメモリと、
前記外部装置から供給される情報に応じて前記特定の処理を実行するための1つの処理方式を選択し、選択した処理方式によって前記特定の処理を実行するプロセッサと、
を有する携帯可能電子装置。
[2]
前記特定の処理は、暗号処理であり、
前記処理方式は、暗号方式である、
[1]に記載の携帯可能電子装置。
[3]
前記暗号方式には、耐量子暗号の暗号方式と耐量子暗号以外の暗号方式とを含む、
[2]に記載の携帯可能電子装置。
[4]
前記プロセッサは、前記外部装置から要求されるリセットの種別に応じて1つの暗号方式を選択する、
[2]に記載の携帯可能電子装置。
[5]
前記プロセッサは、前記外部装置から指定される通信条件に応じて1つの暗号方式を選択する、
[2]に記載の携帯可能電子装置。
[6]
前記プロセッサは、前記外部装置から指定される通信レートに応じて1つの暗号方式を選択する、
[5]に記載の携帯可能電子装置。
[7]
前記プロセッサは、前記外部装置から指定される通信方式を設定し、設定した通信方式ごとの通信条件に応じて1つの暗号方式を選択する、
[5]に記載の携帯可能電子装置。
[8]
前記プロセッサは、前記外部装置からのコマンドに応じたコマンド処理を実行した場合に実行可能な暗号方式を示す情報を前記外部装置へ送信する、
[2]に記載の携帯可能電子装置。
[9]
前記プロセッサは、前記外部装置から特定の暗号方式の無効化を要求するコマンドを受信した場合に前記特定の暗号方式を無効化する、
[2]に記載の携帯可能電子装置。
[10]
前記プロセッサは、選択中の暗号方式を示す情報を保持し、前記外部装置から暗号処理を含む処理を要求するコマンドを受信した場合に選択中の暗号方式を用いて暗号処理を実行する、
[2]に記載の携帯可能電子装置。
[11]
前記プロセッサは、前記外部装置から暗号処理を含む処理を要求するコマンドを受信した場合に当該コマンドのパラメータに基づいて暗号処理に用いる暗号方式を選択する、
[2]に記載の携帯可能電子装置。
[12]
前記プロセッサは、前記外部装置から暗号処理を含む処理を要求するコマンドを受信した場合、当該コマンドが指定する暗号方式を選択する、
[2]に記載の携帯可能電子装置。
[13]
ICカード処理装置と通信するインターフェースと、複数の暗号方式ごとに各暗号方式での暗号処理を実行するためのデータを記憶する記憶領域を設けたメモリと、前記複数の暗号方式から1つの暗号方式を選択し、選択した暗号方式を前記ICカード処理装置と共有し、前記ICカード処理装置と共有した暗号方式による暗号処理を用いた処理を実行するプロセッサと、を有するモジュールと、
前記モジュールを有する本体と、
を備えるICカード。
【符号の説明】
【0116】
1…ICカード(携帯可能電子装置)、C…本体、Ca…ICチップ、M…モジュール、2…ICカード処理装置(外部装置)、11…プロセッサ、12…RAM、13…ROM、14…NVM(データメモリ)、15…通信制御部、16…インターフェース、21…制御部、22…表示部、23…操作部、24…カードリーダライタ。
【要約】
【課題】 複数の処理方式から1つの処理方式を選択して特定の処理を実行することができる携帯可能電子装置、および、ICカードを提供する。
【解決手段】 実施形態によれば、携帯可能電子装置は、インターフェースとメモリとプロセッサとを備える。インターフェースは、外部装置と通信する。メモリは、特定の処理を実行するための複数の異なる処理方式ごとの設定情報を記憶する。プロセッサは、外部装置から供給される情報に応じて特定の処理を実行するための1つの処理方式を選択し、選択した処理方式によって特定の処理を実行する。
【選択図】
図1