JP2017200064A - Icチップ - Google Patents
Icチップ Download PDFInfo
- Publication number
- JP2017200064A JP2017200064A JP2016089743A JP2016089743A JP2017200064A JP 2017200064 A JP2017200064 A JP 2017200064A JP 2016089743 A JP2016089743 A JP 2016089743A JP 2016089743 A JP2016089743 A JP 2016089743A JP 2017200064 A JP2017200064 A JP 2017200064A
- Authority
- JP
- Japan
- Prior art keywords
- card
- information
- calculation
- writer
- reader
- 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.)
- Pending
Links
Abstract
【課題】発行工程において、不具合カードが発生したら、発生原因、日付、場所などを特定するための情報をカード閉塞時でも確実に取得できるICチップを提供すること。【解決手段】リーダライタとの間で通信コマンドを送受信して発行工程を実行する発行手段と、前記発行手段がリーダライタと送受信した前記通信コマンドを可逆演算する可逆演算ロジックにより演算して演算結果を得る可逆演算手段と、前記可逆演算手段による演算結果をATR情報の一部として記録するATR情報記録手段とを備えることを特徴するICチップである。【選択図】図2
Description
本発明はICチップに関する。さらに詳細には、ICカード発行工程において、不具合カードが発生したら、不具合の発生原因、発生日付、発生場所などを確実に特定するための情報が取得できるICチップに関する。
ICカードの発行工程は、0次、1次、2次発行の順に、ICカードにデータを書き込んでいくことからなる。ここで、0次、1次、2次の発行の内容を簡単に説明する。0次発行では、ICチップメーカーの輸送鍵と照合・認証を行い、工場コード、処理日付等の設定をして、チップの基本機能を検査し、専用のプログラムを書き込み、0次と1次発行間の輸送鍵を設定する。1次発行では、0次と1次発行間の輸送鍵と照合・認証を行い、ICチップにファイルの階層構造を創生し、各ファイルにセキュリティ属性を設定して、初期データを書き込み、1次と2次発行間の輸送鍵を設定する。2次発行では、1次と2次発行間の輸送鍵と照合・認証を行い、個別データ(ID番号、氏名、写真データなど)を書き込む。2次発行では、セキュリティを高めるため、輸送鍵の閉塞を行うことがある。
従来のICカードの発行方法では、不具合カードが発生したら、不具合の発生原因、発生日付、発生場所を特定するのは、ICチップの個別仕様に依存している。例えば、ICチップ内CPLCデータ(Card Production Life Cycle)を利用する手法が知られている。この手法では、ICカードを発行する際に、CPLCデータエリアに各発行工程を示す工場コード、日付データを記録、更新していく。不具合カードが発生した時には、ICカードからCPLCデータを読出し、CPLCデータ情報を元に、0次、1次、2次発行時工場コード、発行日付を特定できる。また、シリアル番号などから発行履歴も調査できる。発行履歴とは、ICカード発行時に、発行装置とカードの間で通信された実際のコマンドとレスポンスが記録されたデータのことをいう。
また、別の手法として、ICチップ内Card Life CycleというカードのCLCモードフラグを利用する手法も知られている。この手法では、ICカードを発行する際に、各発行工程で行ったモード遷移状況をCard Life Cycleモードフラグとして記録、更新していく。CLCモードフラグは例えば、初期化モード、製造モード、セキュアモード、運用モードなどがある。
不具合カードが発生した時には、ICカードからCLCモードフラグを読出し、CLCモードフラグを元に、カードのモード状態を特定できる。
しかしながら、CPLCデータを利用する手法では、ICカードからCPLCデータを読出し、CPLCデータ情報を元に、0次、1次、2次発行時工場コード、発行日付を特定できるが、不具合カードの発生原因を特定できないことが多い。例えば、発行時に誤りデータを設定したのか、データ照合エラーかを特定できなかったりすることがある。
また、CPLCデータは全ての種類のICチップが持つものではなく、発行時にCPLCデータを正しく更新、記録する確約がない。
一方のCLCモードフラグを利用する手法では、CPLCデータを利用する手法と同じく、CLCモードフラグを元に、カードのモード状態を特定できるが、不具合カードの発生原因、発行日付を特定できないことが多い。
また、CLCモードフラグも全て種類のICチップが持つものではなく、モード状態が特定されていでも、エラー発行場所(工場)を特定できないことがある。
さらに、上記いずれの手法でも、不具合カードが発生した時、ICカードが閉塞状態(ロックされている)になっている場合が多くある。この場合、ICカードとの相互認証できず、ICカードから情報を読み出しすることはできないことが多いので、CPLCデータやCLCモードフラグを読み出すことができない。従って、エラー発生原因、日付、場所などを特定できなくなる。例えば、2次発行時ICカード輸送鍵認証エラーが発生し、ICカードが閉塞状態になっている場合、ICカードから情報を読み出せない。この閉塞状態(ロック状態)が何処で発生したかを切り分けできない。1次発行終了間際か、2次発行開始時かを特定することができない。また、1次発行時に誤り輸送鍵が設定されたか、2次発行時に誤り輸送鍵を用いて照合したかなどの発生場所、原因を特定できない。
本発明はかかる従来の問題に鑑みてなされたものであって、本発明の課題は、発行工程において、不具合カードが発生したら、発生原因、日付、場所などを特定するための情報をカード閉塞時でも確実に取得できるICチップを提供することにある。
上記の課題を解決するために、一実施形態に記載の発明は、リーダライタとの間で通信コマンドを送受信して発行工程を実行する発行手段と、前記発行手段がリーダライタと送受信した前記通信コマンドを可逆演算する可逆演算ロジックにより演算して演算結果を得る可逆演算手段と、前記可逆演算手段による演算結果をATR情報の一部として記録するATR情報記録手段とを備えることを特徴するICチップである。
以下、本発明の実施の形態について、詳細に説明する。
[第1の実施形態]
本実施の形態のICカード発行システムでは、ICカード発行工程において、ICカードと発行装置(リーダライタ)との間で送受信する情報を可逆演算ロジックにより演算し、得られた演算結果を初期応答情報(ATR(Answer To Reset)情報)の一部として記録する。
本実施の形態のICカード発行システムでは、ICカード発行工程において、ICカードと発行装置(リーダライタ)との間で送受信する情報を可逆演算ロジックにより演算し、得られた演算結果を初期応答情報(ATR(Answer To Reset)情報)の一部として記録する。
ICカードは、0次発行、1次発行、2次発行の各工程を含む発行工程を経て発行される。これらの各工程では、ICカードとリーダライタとの間でコマンドとレスポンス(通信コマンドともいう)を送受信する。本実施形態のICカードでは、送受信したコマンドおよびレスポンスの内容、処理日付、処理順序番号、および処理工場コードなどの情報を通信情報として用いて、この通信情報を演算元データとして可逆演算ロジックに従い計算して情報の暗号化を図り、得られた演算結果をATR情報の一部として記録する。
ATR情報は、リーダライタによるリセット信号または電力供給に対して、カード閉塞にかかわらず、ICカードから確実に取得できる情報であり、ICチップの種類に依存せず、すべてのICチップが持っている基本情報である。したがって、ICカード発行工程において不具合カードが発生した時、ICカードからATR情報を読出し、このATR情報の一部から逆演算すると各通信コマンドの内容、処理日付、処理順序番号、処理工場コードを含む通信情報を得られることとなる。不具合カードが発生したら、その発生の原因、発生日付、発生場所などをこれらの通信情報に基づいて特定することができる。
まず、本実施形態のICカード発行システムの構成について説明する。図1は本実施形態のICカード発行システムのハードウェア構成を示す図である。図1において、ICカード発行システムは、ICカード1とリーダライタ2とを備えている。ICカード1は、ICモジュール(ICチップ)10と通信インタフェース11とを搭載している。ICモジュール10は、各種処理を行なうCPU12と、プログラムやデータなどが記録される、RAM13、ROM14、EEPROM15とを備えて構成される。リーダライタ2は、処理モジュール20と通信インタフェース21とを搭載している。処理モジュール20は、各種処理を行なうCPU22と、プログラムやデータなどが記録される、RAM23、ROM24、EEPROM25とを備えて構成される。
本実施形態において、例えばROM14に格納されたプログラムをCPU12が実行することにより、通信情報の記録が行なわれ、ROM24に格納されたプログラムをCPU22が実行することにより、通信情報の読み出しが行なわれる。通信情報を特定することで不具合の原因等が特定できる。
本実施形態のICカード1は、接触式、非接触式のいずれの形態のICカードでもよく、通信インタフェース11、21として、例えば、接触式の場合は接点端子、非接触式の場合はアンテナコイルなどを用いることができる。
図2は本実施形態のICカードおよびリーダライタの機能構成を示す図である。図1において、ICカード1は、ICカード発行手段101と、可逆演算手段102と、ATR情報記録手段103とを備えて構成され、リーダライタ2は、ICカード発行手段201と、ATR情報取得手段202と、逆演算手段203とを備えて構成される。
ICカード1のICカード発行手段101は、リーダライタ2のICカード発行手段201からのコマンドに基づいて発行処理を行い、レスポンスを返信する。ICカード発行手段101は、コマンドおよびレスポンスを含む通信コマンドを送受信して、0次発行、1次発行、2次発行の各工程を含む発行工程を実行する。
可逆演算手段102は、0次発行、1次発行、2次発行の各工程において、リーダライタと送受信した各通信コマンドの内容、処理日付、処理順序番号、および処理工場コードを含む通信情報とATR情報の一部を演算元データとして可逆演算ロジックに従って計算して、通信情報が暗号化された第1の演算結果を得る。さらに逆演算ロジックにより得られた第1の演算結果と、暗号演算用鍵とを用いて追加暗号演算ロジックを実行して、暗号化された最終的な演算結果を得る。ATR情報は、カード閉塞時でもアクセスできる情報であるので、容易にアクセス可能にしつつ暗号化することによってセキュリティの向上を図ることができる。
可逆演算ロジックは暗号化できる可逆演算である例えばXORなどを用いることができる、追加暗号演算ロジックは暗号演算用鍵を用いた暗号化である例えば2keyのTDESを用いることができる。可逆演算ロジックは汎用的な演算ロジックを用いることができ、暗号化可逆演算以外にも非暗号化可逆演算も用いることができる。ここでは、例として暗号化可逆演算を用いており、セキュリティの向上を図っている。
ATR情報記録手段103は、可逆演算手段102における演算結果をATR情報の一部として記録する。ATR情報記録手段103は、具体的には、0次発行、1次発行、2次発行の各工程においてATR情報の一部を可逆演算手段102における演算結果で逐次更新(上書き)し、更新する際に、更新内容をATR情報の管理情報バイト履歴エリアに追加記録することができる。
ここでATR情報の構造について説明する。図3は、ATR情報の構造を示す図である。
ATR情報は、開始バイトと、構成表示バイトと、接続情報バイトと、管理情報バイトと、検査バイトとを有している。開始バイトは、その後のすべてのバイト情報の符号規約を設定する情報を格納する領域である。構成表示バイトは、接続情報バイト及び管理バイトの有無・個数を示す情報を格納する領域である。接続情報バイトは、ICチップ内のパラメータ・伝送プロトコルのパラメータを示す情報を格納する領域である。ATR情報の接続情報バイトはICチップ伝送プロトコルのパラメータであるので、変更、上書きできない。管理情報バイトは、製造企業のコード、チップのROMバージョンなど一般情報を示す情報を格納する領域である。検査バイトは、T0〜TCKのすべての排他的論理和が“00”になるように設定する情報を格納する領域である。ATR情報記録手段103は、ATR情報の管理情報バイトに演算結果を記録する。また、管理情報バイトの履歴(発行履歴)は図示しない管理情報バイト履歴エリアに記録される。
リーダライタ2のICカード発行手段201は、ICカード1にコマンドを送信し、ICカード1のICカード発行手段101からのレスポンスを受け取る。リーダライタ2のICカード発行手段201は、処理日付、処理順序番号、処理工場コードを含む通信情報の一部を保持しており、これらの通信情報のうちで必要な内容を、0次発行、1次発行、2次発行の各工程で、ICカード発行時のコマンドに含めてICカード1へ送信する。
ATR情報取得手段202は、ICカード1のATR情報記録手段103に記録されたATR情報を取得(読み出し)する。ATR情報は、ICカードに対してリセット信号を送信した返信として取得される。ATR情報の管理情報バイト履歴エリアに記録されている情報については、読み出し方法は上記のコマンド方式以外にも、ハードウェア方式でもよい。ハードウェア方式とは、ICカードのリセット端子を有効状態電圧に保ち、次に電源端子に規定の電圧を与えて、クロック端子に適切なクロック信号を供給することにより、ICカード内部活性化まで、ICカードのI/OよりATR情報を受信する手法である。カード閉塞状態(ロック状態)の時、すなわちコマンドを利用してアクセスできない場合は、ハードウェアからATR情報の履歴エリアを取得することができる。
逆演算手段203は、取得したATR情報に基づいて逆演算ロジックを実行し、通信情報を得る。具体的には、取得したATR情報の管理情報バイトのうちの前半8バイトと復号演算用鍵を元に、復号演算ロジックに従って計算して、中間結果を得る。さらに、得られた中間結果とATR情報の管理情報バイトのうちの後半8バイトとを用いて、逆演算ロジックを実行して復号された演算結果を得る。この演算結果は、可逆演算を行なう前の通信情報である。復号演算ロジックは、例えば2keyのTDESを用いることができ、逆演算ロジックは例えばXORを用いることができる。また、復号演算用鍵は、暗号演算用鍵と共通するものを用いることができ、例えば予め用意した「3132333435363738」、「3837363534333231」の2つの鍵を用いることができる。
次に図2、図4を参照しながら、本実施形態におけるICカードシステムにおける発行処理について説明する。本実施形態では、0次発行工程を例に挙げて以下説明する。図4は0次発行工程における各工程を示す図である。0次発行工程においては、ICカード発行手段101は例えば、カードリセット(S1)と、チップメーカー輸送鍵照合(S2)と、工場コード、処理日付設定(S3)と、テストメモリ(S4)と、インストールアプリ(S5)と、0次・1次間輸送鍵設定(S6)との各工程を実行する。
図5、図6、図8、図10、図12は、S1からS5の各工程のそれぞれにおいて、ICカードとリーダライタとの間で送受信される通信情報を示す図である。図7、図9、図11、図13は、S2からS5の各工程のそれぞれにおいてなされる可逆演算を示す図である。これらの図において、リーダライタ側から送信したものを送信コマンド、リーダライタ側において受信したものを受信コマンドという。
(カードリセット:S1)
カードリセット工程においては、ICカード1とリーダライタ2との間で、図5に示す信号が送受信される。図5では、ICカード発行手段101が、リーダライタ2からリセット信号“148C”を受信すると、カードリセット処理を行ない、ATR値“3BFD9400008131804380318065B0850200CF83019000A4”を返信する。ここでのATR値は、一例を示しており、実際にはチップメーカーで設定されたデフォルト値(初期ATR値)である。図5のATR情報の管理情報バイトは“80318065B0850200CF83019000”となっている。
カードリセット工程においては、ICカード1とリーダライタ2との間で、図5に示す信号が送受信される。図5では、ICカード発行手段101が、リーダライタ2からリセット信号“148C”を受信すると、カードリセット処理を行ない、ATR値“3BFD9400008131804380318065B0850200CF83019000A4”を返信する。ここでのATR値は、一例を示しており、実際にはチップメーカーで設定されたデフォルト値(初期ATR値)である。図5のATR情報の管理情報バイトは“80318065B0850200CF83019000”となっている。
(チップメーカー輸送鍵照合:S2)
チップメーカー輸送鍵照合工程においては、ICカード1とリーダライタ2との間で、図6に示す信号が送受信される。図6の送信コマンド列の略語は、以下の通りである。
チップメーカー輸送鍵照合工程においては、ICカード1とリーダライタ2との間で、図6に示す信号が送受信される。図6の送信コマンド列の略語は、以下の通りである。
CLA: クラス・バイト
INS: 命令・バイト
P1: パラメータ・バイト
P2: パラメータ・バイト
Lc: Dataの長さ
Data: データ、(この工程では照合鍵)
SW1: ステータス・バイト
SW2: ステータス・バイト
INS: 命令・バイト
P1: パラメータ・バイト
P2: パラメータ・バイト
Lc: Dataの長さ
Data: データ、(この工程では照合鍵)
SW1: ステータス・バイト
SW2: ステータス・バイト
ICカード1では、ICカード発行手段101が図6に示すコマンド受信およびレスポンス送信を実行すると、可逆演算手段102は、図7に示すような演算を行い、演算結果を得る。
図7に示すように、可逆演算手段102は、演算元データとして、コマンドNo、工場コード、処理日付、送信コマンドの一部、受信コマンド列の一部を含む通信情報と、ATRの管理情報バイトとを用い、可逆演算ロジックを実行する。
図7において「コマンドNo」は、コマンドの順番を示す情報であり、01〜FF(1バイト)が設定できる。「工場コード」は、コマンドを実行した工場を示す情報であり、00〜FF(1バイト)が設定できる。「処理日付」は、コマンドを実行した日付を示す情報であり、2000.01.01を0として、経過した日数を表す(16進数2バイトの場合)値を設定できる。「送信コマンドの一部」は、送信コマンドの先頭2バイト(CLAとINS)を設定できる。「受信コマンドの一部」は、受信コマンドのステータスバイト(2バイト)を設定できる。「管理情報バイト」は、取得したATR値の管理情報バイトの先頭8バイトを設定できる。初回演算時、工場コード、処理日付などの情報が設定されない場合は、デフォルトデータを使用することができる。また、初回取得したATR値の管理情報バイトは8バイト未満の場合、末尾“00”をパディングする。
図7の例では、「コマンドNo」は01、「工場コード」はA0、「処理日付」は1234、「送信コマンドの一部」は0020、「受信コマンドの一部」は9000、「管理情報バイト」は現在の管理情報先頭8バイト“80318065B0850200”が元データとして用いられ、可逆演算ロジックXORが実行される。
可逆演算手段102が可逆演算ロジックXORを実行すると、第1の演算出力結果「81919251B0A59200」が得られ、可逆演算手段102はさらにこの第1の演算出力結果と暗号演算用鍵「3132333435363738」、「3837363534333231」とを用いてさらに暗号演算ロジックを行ない、第2の演算出力結果「A4502C0D4E05E2BB」を得る。暗号演算ロジックとしては例えば2KeyのTDESを用いることができる。暗号演算用鍵は、任意のものを用いることができるが、復号側における復号演算ロジックで用いる復号演算用鍵と共通するものが用いられる。
ATR情報記録手段103は、第2の演算出力結果「A4502C0D4E05E2BB」を演算結果としてこの演算結果と演算元データの管理情報先頭8バイト(80318065B0850200)を、新しいATR情報の管理情報バイトの履歴エリアに記録し、同時に、演算結果/演算元データの管理情報先頭8バイト(A4502C0D4E05E2BB80318065B0850200)をATR情報の管理情報バイトエリアに上書き(更新)する。
(工場コード、処理日付設定:S3)
工場コード、処理日付設定工程においては、ICカード1とリーダライタ2との間で、図8に示す信号が送受信される。図8において、Dataに対応するバイト”B1”は工場コードであり、”3456”は処理日付である。
工場コード、処理日付設定工程においては、ICカード1とリーダライタ2との間で、図8に示す信号が送受信される。図8において、Dataに対応するバイト”B1”は工場コードであり、”3456”は処理日付である。
ICカード1では、ICカード発行手段101が図8に示すコマンド受信およびレスポンス送信を実行すると、可逆演算手段102は、図9に示すような演算を行い、演算結果を得る。
図9の例では、「コマンドNo」は02、「工場コード」はB1、「処理日付」は3456、「送信コマンドの一部」は80E1、「受信コマンドの一部」は9000、「管理情報バイト」は管理情報先頭8バイト“A4502C0D4E05E2BB”が元データとして用いられ、可逆演算ロジックXORが実行される。
可逆演算手段102が可逆演算ロジックXORを実行すると、第1の演算出力結果「A6E1185BCEE472BB」が得られ、可逆演算手段102はさらにこの第1の演算出力結果と暗号演算用鍵「3132333435363738」、「3837363534333231」とを用いて暗号演算ロジックTDES(2key)を行ない、第2の演算出力結果「78D710F72E160456」を得る。
ATR情報記録手段103は、第2の演算出力結果「78D710F72E160456」を演算結果としてこの演算結果と演算元データの管理情報先頭8バイト(A4502C0D4E05E2BB)を新しいATR情報の管理情報バイトの履歴エリアに記録し、同時に、演算結果/演算元データの管理情報先頭8バイト(78D710F72E160456A4502C0D4E05E2BB)をATR情報の管理情報バイトエリアに上書き(更新)する。
(テストメモリ:S4)
テストメモリ工程においては、ICカード1とリーダライタ2との間で、図10に示す信号が送受信される。
テストメモリ工程においては、ICカード1とリーダライタ2との間で、図10に示す信号が送受信される。
ICカード1では、ICカード発行手段101が図10に示すコマンドを実行すると、可逆演算手段102は、図11に示すような演算を行い、演算結果を得る。
図11の例では、「コマンドNo」は03、「工場コード」はB1、「処理日付」は3456、「送信コマンドの一部」は80E6、「受信コマンドの一部」は9000、「管理情報バイト」は“78D710F72E160456”が元データとして用いられ、可逆演算ロジックXORが実行される。
可逆演算手段102が可逆演算ロジックXORを実行すると、第1の演算出力結果「7B6624A1EF09456」が得られ、可逆演算手段102はさらにこの第1の演算出力結果と暗号演算用鍵「3132333435363738」、「3837363534333231」とを用いて暗号演算ロジックTDES(2key)を行ない、第2の演算出力結果「84A50CAB5F21B312」を得る。
ATR情報記録手段103は、第2の演算出力結果「84A50CAB5F21B312」を演算結果としてこの演算結果と演算元データの管理情報先頭8バイト(78D710F72E160456)を新しいATR情報の管理情報バイトの履歴エリアに記録し、同時に、演算結果/演算元データの管理情報先頭8バイト(84A50CAB5F21B31278D710F72E160456)をATR情報の管理情報バイトエリアに上書き(更新)する。
(インストールアプリ:S5)
インストールアプリ工程においては、ICカード1とリーダライタ2との間で、図12に示す信号が送受信される。
インストールアプリ工程においては、ICカード1とリーダライタ2との間で、図12に示す信号が送受信される。
ICカード1では、ICカード発行手段101が、図12に示すコマンドを実行すると、可逆演算手段102は、図13に示すような演算を行い、演算結果を得る。
図13の例では、「コマンドNo」は04、「工場コード」はB1、「処理日付」は3456、「送信コマンドの一部」は80D1、「受信コマンドの一部」は43F2、「管理情報バイト」は“84A50CAB5F21B312”が元データとして用いられ、可逆演算ロジックXORが実行される。
可逆演算手段102が可逆演算ロジックXORを実行すると、第1の演算出力結果「80143FDDFF0FE0」が得られ、可逆演算手段102はさらにこの第1の演算出力結果と暗号演算用鍵「3132333435363738」、「3837363534333231」とを用いて暗号演算ロジックTDES(2key)を行ない、第2の演算出力結果「41A82A65273AF66B」を得る。
ATR情報記録手段103は、第2の演算出力結果「41A82A65273AF66B」を演算結果としてこの演算結果と演算元データの管理情報先頭8バイト(84A50CAB5F21B312)を新しいATR情報の管理情報バイトの履歴エリアに記録し、同時に、演算結果/演算元データの管理情報先頭8バイト(41A82A65273AF66B84A50CAB5F21B312)をATR情報の管理情報バイトエリアに上書き(更新)する。
(エラーステータスの受信)
上記の例では、リーダライタ2は、図13に示すように、インストールアプリの工程(S5)において、不具合発生を示すエラーステータス(43F2)を受信コマンド(レスポンス)を受信している。ここで不具合発生時における通信情報の取得手法について説明する。図14は不具合発生時にICカード1とリーダライタ2との間で送受信される通信コマンドを示す図である。図15、16は不具合発生時の逆演算を示す図である。
上記の例では、リーダライタ2は、図13に示すように、インストールアプリの工程(S5)において、不具合発生を示すエラーステータス(43F2)を受信コマンド(レスポンス)を受信している。ここで不具合発生時における通信情報の取得手法について説明する。図14は不具合発生時にICカード1とリーダライタ2との間で送受信される通信コマンドを示す図である。図15、16は不具合発生時の逆演算を示す図である。
まずリーダライタ2がエラーステータスを受信すると、不具合発生と判断し、発行作業が中断する。リーダライタ2は、この不具合カードの発生原因、発生日付、発生場所などを特定するために、ICカード1から初期応答情報ATRを読出し、ATRの管理情報バイトを逆演算する。具体的には、リーダライタ2のATR情報取得手段202が図14に示すリセット信号をICカード1に送信すると、ICカード1はリーダライタ2にATR値“3BFD9400008131804341A82A65273AF66B84A50CAB5F21B31265”を返信する。リーダライタ2は、受信したATR値に基づいて逆演算を行い、リーダライタ2とICカード1との間で送受信した通信情報を得る。
図14に示す例では、リーダライタ2が受信したATR値の管理情報バイトは“41A82A65273AF66B84A50CAB5F21B312”となっている。逆演算手段203は、この管理情報バイトを前後8バイトに分割し、逆演算を行なう。
図15は逆演算の例を示す図である。逆演算手段203がATR管理情報バイトの前半8バイト“41A82A65273AF66B”と2つの暗号演算用鍵「3132333435363738」、「3837363534333231」とを用いて、復号演算ロジックTDES(2key)を実行すると、中間結果「801438FDDFF0FE0」を得られ、逆演算手段203がさらにこの中間結果とATR管理情報バイトの後半8バイト“84A50CAB5F21B312”を用いて演算ロジックXORを行ない、逆演算結果“04B1345680D143F2”を得る。
得られた逆演算結果は、可逆演算前の通信情報である。すなわち逆演算の結果“04B1345680D143F2”から、エラー発生時、処理コマンドの順番:04、工場コード:B1、処理日付(2000.01.01を0として、経過した日数):3456、送信コマンドのCLAとINS:80D1、エラーステータス:43F2などが得られる。この例では、送信コマンドのCLAとINS:80D1から、“インストールアプリ”指令を送信する際に、エラーステータス:43F2が発生したことが判る。
さらに処理コマンドの順番03について詳細な発行状況を精査したい場合、ATR情報取得手段202は、ATR情報の管理情報バイト履歴エリアに記憶されている情報“84A50CAB5F21B31278D710F72E160456”を読み出す。読み出し方法はコマンド方式かハードウェア方式2案がある。カード閉塞状態(ロック状態)時、コマンドを利用してアクセスできない場合、ハードウェアからATR情報の履歴エリアを取得すればよい。
図16に示すように取得したデータ“84A50CAB5F21B31278D710F72E160456”から逆演算して、処理コマンドの順番03の処理状況を特定できる。
この逆演算の結果から、エラー発生時、処理コマンドの順番:03、工場コード:B1、処理日付(2000.01.01を0として、経過した日数):3456、送信コマンドのCLAとINS:80E6、受信ステータス:9000などが得られる。この例では、送信コマンドのCLAとINS:80E6から、“テストメモリ”指令を送信する際に、受信したステータス:9000であることが判る。
さらに処理コマンドの順番02について詳細な発行状況を精査したい場合も、順番03と同様に、ATR情報の管理情報バイト履歴エリアに記憶されている情報“78D710F72E160456A4502C0D4E05E2BB”を読み出す。図16に示すように取得データ“78D710F72E160456A4502C0D4E05E2BB”から逆演算して、処理コマンドの順番02の処理状況を特定できる。
このように本実施形態のICカードによれば、ICカード発行工程において、不具合カードが発生したら、発生原因、日付、場所などを特定するための情報をカード閉塞時でも確実に取得できる。不具合の発生原因が特定できれば、発行工程中適切な対策を取ることができ、工程の不良率を削減できる。不具合の発生原因・日付・場所が特定できれば、不良原因を究明する時間を短縮でき、工程の効率向上に貢献できる。また、ICカード発行工程以外では、輸送途中カードの盗難、紛失などによる、権限を持たない者による不正な輸送鍵の照合、不正な情報書き込みを検知・特定できる。不正な照合・書き込みの検知・特定は、逆演算して得られたエラーステータスより特定できる。例えば、ICカード発行手段101がリーダライタ2に返信するレスポンスとして、ICカードに不正な鍵照合があった場合をエラーステータス“63C4”とし、権限を持たない者が不正な書き込みがなされた場合をエラーステータス“68D2”とすればよい。
[第2の実施形態]
第1の実施形態において、可逆演算手段とATR情報記録手段により、リーダライタ2とICカード1との間で送受信した通信コマンドを含む通信情報を可逆演算し、ATR情報の一部として記録することによりカード閉塞時でも通信コマンドの確認可能としていた。本実施形態では、最初に2つの認証モードを設定して、カード発行時には、通常状態ではアクセス制限のない一方のモードで通信コマンドを記録し、カード閉塞時には、アクセス制限があるがカード閉塞時でも読み出しは可能な他方のモードに切り替えることにより、カード閉塞時でも通信コマンドの確認可能としている。
第1の実施形態において、可逆演算手段とATR情報記録手段により、リーダライタ2とICカード1との間で送受信した通信コマンドを含む通信情報を可逆演算し、ATR情報の一部として記録することによりカード閉塞時でも通信コマンドの確認可能としていた。本実施形態では、最初に2つの認証モードを設定して、カード発行時には、通常状態ではアクセス制限のない一方のモードで通信コマンドを記録し、カード閉塞時には、アクセス制限があるがカード閉塞時でも読み出しは可能な他方のモードに切り替えることにより、カード閉塞時でも通信コマンドの確認可能としている。
本実施形態でも、図1に示す構成のICカード発行システムを用いることができるが、ICカードの機能構成は図17に示す構成となる。図17は、第2の実施形態のICカードの機能ブロック図である。図17に示すように、本実施形態のICカード1は、ICカード発行手段101と、アクセス管理手段104と、通信コマンド記録手段105とを備えている。第1の実施形態と異なる構成についてのみ説明する。
アクセス管理手段104は、カードへの各種データ、ファイル階層構造、セキュリティ属性などの情報を追加・変更・削除をするアクセスおよびこれを読み出しするアクセスに対し、許可または不許可の制御をしている。アクセス管理手段104は、カード発行の最初の段階である0次発行工程において、一般用認証モードと管理者用認証モードとの2つの認証モードを設定する。
一般用認証モードは、カードへの情報の追加・変更・削除をするアクセスおよび情報の読み出しするアクセスを許可するモードである。しかし、一般用の認証モードで複数回の認証エラーが発生するなどの所定の条件となった場合に、カード閉塞状態とし、全てのアクセスを不許可とするモードである。
管理者用認証モードは、セキュリティの観点からカードへの情報の追加・変更・削除はできないが、カードのICモジュール内の情報を読み出しするアクセスを許可するモードである。この管理者用認証モードでは、カード閉塞して、一般用認証モードではカードがロック状態である場合でも各種情報、ファイル構造、セキュリティ属性等を読み出しするアクセスを許可する。
通信コマンド記録手段105は、カード発行手段101によるカード発行工程の処理に平行して、ICカードとリーダライタとの間で送受信したコマンドとレスポンス(通信コマンド)を記録する。通信コマンド記録手段105は、一般用認証モードで動作可能である。
次に図17、18を参照しながら、本実施形態におけるICカードシステムにおける発行処理および不具合が発生した場合の原因等の特定手法について説明する。図18は、カード発行時の処理流れを示す図である。図19は不具合発生時の処理流れを示す図である。
ICカード発行手段101において、0次発行工程が開始され、チップメーカー輸送鍵照合段階が実行されると、アクセス管理手段104は、2つの認証モードの設定を行なう(S10)。アクセス管理手段104は、デフォルトでは一般用認証モードでのアクセス制御を行なう。
次いで、ICカード発行手段101が0次発行工程の他の処理工程を実行し、1次発行工程用輸送鍵を設定する(S11)。一方、通信コマンド記録手段105は、0次発行工程でICカード1とリーダライタ2とが送受信した通信コマンドを記録する(S21)。
ICカード発行手段101は、0次発行工程に次いで、1次発行工程の各処理を実行する(S12)。一方、通信コマンド記録手段105は、1次発行工程でICカード1とリーダライタ2とが送受信した通信コマンドを記録する(S22)。
ICカード発行手段101は、1次発行工程に次いで、2次発行工程の各処理を実行する(S13)。一方、通信コマンド記録手段105は、2次発行工程でICカード1とリーダライタ2とが送受信した通信コマンドを記録する(S23)。
このように、本実施形態では、通信コマンド記録手段105により、ICカードとリーダライタとの間で送受信した通信コマンドを全て記録する。
ここで不具合が発生し、カードが閉塞状態となった場合、アクセス管理手段104が、認証モードとして管理者用認証モードの選択を受け付ける(S31)と、アクセス管理手段104は、管理者用認証を実施する(S32)。管理者用認証は、所定の認証方式により、管理者によるアクセスであることを認証する。
管理者用認証が承認されると、アクセス管理手段104は、管理者モードへ切り替えて記録された通信コマンドを読み出しする(S33)。
また、必要に応じて、ICモジュール内に記録されているファイル構造、セキュリティ属性、ファイル内容を読み出しする(S34)。
本実施形態のICカードによれば、ICカード発行工程において、不具合カードが発生したら、発生原因、日付、場所などを特定するための情報をカード閉塞時でも確実に取得できる。
[第3の実施形態]
この実施形態は、第1の実施形態のICカードと第2の実施形態のICカードの機能が組み合わされた形態である。図20は本実施形態のICカードの機能構成を示す図である。本実施形態のICカードは、ICカード発行手段101と、可逆演算手段102と、ATR情報記録手段103と、アクセス管理手段104と、通信コマンド記録手段105とを備えている。図20の各手段は、第1の実施形態および第2の実施形態と同様の処理を実行する。
この実施形態は、第1の実施形態のICカードと第2の実施形態のICカードの機能が組み合わされた形態である。図20は本実施形態のICカードの機能構成を示す図である。本実施形態のICカードは、ICカード発行手段101と、可逆演算手段102と、ATR情報記録手段103と、アクセス管理手段104と、通信コマンド記録手段105とを備えている。図20の各手段は、第1の実施形態および第2の実施形態と同様の処理を実行する。
この実施形態のICカードでは、ATR情報記録手段103によるATR情報の一部としての通信コマンドの記録と、通信コマンド記録手段105による通信コマンドの記録とが平行して行なわれる。
かかるICカードによれば、ICカード発行工程において不具合カードが発生しても、発生原因、日付、場所などをより確実に特定できる。
以上のいずれの実施形態でも、ICカードを例に挙げて説明したが、ICカードの形態に限らず、上記に説明したICカードのICモジュール部分をICチップとして搭載した装置であればよく、例えばスマートフォン、携帯電話機や時計などの形態でもよい。
1 ICカード
10 ICモジュール(ICチップ)
11 通信インタフェース
12 CPU
13 RAM
14 ROM
15 EEPROM
2 リーダライタ
20 処理モジュール
21 通信インタフェース
22 CPU
23 RAM
24 ROM
25 EEPROM
101 ICカード発行手段
102 可逆演算手段
103 ATR情報記録手段
201 ICカード発行手段
202 ATR情報取得手段
203 逆演算手段
10 ICモジュール(ICチップ)
11 通信インタフェース
12 CPU
13 RAM
14 ROM
15 EEPROM
2 リーダライタ
20 処理モジュール
21 通信インタフェース
22 CPU
23 RAM
24 ROM
25 EEPROM
101 ICカード発行手段
102 可逆演算手段
103 ATR情報記録手段
201 ICカード発行手段
202 ATR情報取得手段
203 逆演算手段
Claims (3)
- リーダライタとの間で通信コマンドを送受信して発行工程を実行する発行手段と、
前記発行手段がリーダライタと送受信した前記通信コマンドを可逆演算する可逆演算ロジックにより演算して演算結果を得る可逆演算手段と、
前記可逆演算手段による演算結果をATR情報の一部として記録するATR情報記録手段とを備えることを特徴するICチップ。 - 2つの認証モードを設定可能であって、カードへの情報の追加・変更・削除をするアクセスおよび該情報を読み出しするアクセスに対し、前記2つの認証モードのいずれであるかに応じて、許可または不許可の制御をするアクセス管理手段と、
前記発行手段における発行処理に平行して、前記発行手段がリーダライタと送受信した前記通信コマンドを記録する通信コマンド記録手段とを備え、
前記アクセス管理手段は、前記通信コマンド記録手段による通信コマンドの記録を第1の認証モードにおいてのみ許可し、カード閉塞時には、第1の認証モードによるアクセスは不許可としつつ、第2の認証モードにおいて、前記情報の読み出しをするアクセスを許可することを特徴とする請求項1記載のICチップ。 - 請求項1または2に記載のICチップとの間で通信コマンドを送受信するリーダライタであって、
前記ICチップに記録されたATR情報を取得するATR情報取得手段と、
前記取得したATR情報の一部を逆演算ロジックにより演算して、演算結果を得る逆演算手段とを備えることを特徴とするリーダライタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016089743A JP2017200064A (ja) | 2016-04-27 | 2016-04-27 | Icチップ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016089743A JP2017200064A (ja) | 2016-04-27 | 2016-04-27 | Icチップ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017200064A true JP2017200064A (ja) | 2017-11-02 |
Family
ID=60239570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016089743A Pending JP2017200064A (ja) | 2016-04-27 | 2016-04-27 | Icチップ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017200064A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109787753A (zh) * | 2018-12-13 | 2019-05-21 | 星汉智能科技股份有限公司 | 一种物联网卡的解卡方法及读卡装置 |
-
2016
- 2016-04-27 JP JP2016089743A patent/JP2017200064A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109787753A (zh) * | 2018-12-13 | 2019-05-21 | 星汉智能科技股份有限公司 | 一种物联网卡的解卡方法及读卡装置 |
CN109787753B (zh) * | 2018-12-13 | 2020-08-11 | 星汉智能科技股份有限公司 | 一种物联网卡的解卡方法及读卡装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4651212B2 (ja) | 携帯可能情報記憶媒体およびその認証方法 | |
JPH04143881A (ja) | 相互認証方式 | |
JP4974613B2 (ja) | Icメモリ並びにicメモリ用のアクセス装置及び正当性検証方法 | |
JP2010518499A (ja) | 工業設備の少なくとも1つの自動化コンポーネントへのアクセスを認証するための方法 | |
EP2175428B1 (en) | Semiconductor element, biometric authentication method and biometric authentication system | |
CN112199740B (zh) | 一种加密锁的实现方法及加密锁 | |
CN109684789A (zh) | 嵌入式产品中软件安全保护的方法、装置及计算机设备 | |
US20090184799A1 (en) | Information storage medium and information storage medium processing apparatus | |
JP4475386B2 (ja) | チップカードの初期化 | |
US20060289656A1 (en) | Portable electronic apparatus and data output method therefor | |
JP2017200064A (ja) | Icチップ | |
JP4080079B2 (ja) | Icカード | |
JP4601498B2 (ja) | 認証装置、認証方法、その方法を実現するプログラム、およびそのプログラムを記録した記録媒体 | |
JP4546099B2 (ja) | 情報処理システム | |
JP2011060136A (ja) | 携帯可能電子装置、および、携帯可能電子装置におけるデータ管理方法 | |
JP4601329B2 (ja) | 電子認証具1次発行装置、電子認証具発行システム、電子認証具2次発行装置、電子認証具1次発行方法、電子認証具発行方法及び電子認証具2次発行方法 | |
JP5740644B2 (ja) | 電子機器装置、そのペアリング処理方法及びペアリング監視方法 | |
JPH09179949A (ja) | 携帯可能情報記録媒体とそのリーダライタ装置 | |
JP5386860B2 (ja) | 決済システム、決済処理装置、正当性検証装置、正当性検証要求処理プログラム、正当性検証処理プログラム、及び正当性検証方法 | |
JP7559492B2 (ja) | Icカード、icカードのロギング情報処理方法、及びプログラム | |
JP5131327B2 (ja) | 認証機能を備えた情報処理装置の発行方法 | |
JP5226383B2 (ja) | マイクロコンピュータの識別情報管理システム及び方法 | |
JPH0916740A (ja) | 携帯可能情報記録媒体およびこれに対する情報書込/読出方法 | |
JP2008033549A (ja) | 携帯可能電子装置、icカードおよび携帯可能電子装置の重要データ隠匿方法 | |
JPH03224047A (ja) | 携帯可能電子装置 |