JP7459899B2 - 電子情報記憶媒体、検証方法、およびプログラム - Google Patents

電子情報記憶媒体、検証方法、およびプログラム Download PDF

Info

Publication number
JP7459899B2
JP7459899B2 JP2022122735A JP2022122735A JP7459899B2 JP 7459899 B2 JP7459899 B2 JP 7459899B2 JP 2022122735 A JP2022122735 A JP 2022122735A JP 2022122735 A JP2022122735 A JP 2022122735A JP 7459899 B2 JP7459899 B2 JP 7459899B2
Authority
JP
Japan
Prior art keywords
code
error detection
external device
detection code
execution
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.)
Active
Application number
JP2022122735A
Other languages
English (en)
Other versions
JP2024019943A (ja
Inventor
雄介 橋村
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
Priority to JP2022122735A priority Critical patent/JP7459899B2/ja
Publication of JP2024019943A publication Critical patent/JP2024019943A/ja
Application granted granted Critical
Publication of JP7459899B2 publication Critical patent/JP7459899B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Detection And Correction Of Errors (AREA)

Description

本発明は、電子情報記憶媒体、検証方法、およびプログラムの技術分野に関する。
ICカードは、内部にフラッシュメモリなどの書き換え可能なメモリを備え、実行コードをロードする際に、正しく実行コードがロードされたことを確認するために、実行コードの一部又は全部を所定の関数で処理して出力した「チェックコード」が使用される。例えば、特許文献1には、端末からの供給される電文を受信した際に、携帯可能記録媒体の記憶領域に電文に基づいた処理を行うと共に、最初に受信した電文又は電文と携帯可能記録媒体に保存されている最新の媒体側チェックコードに基づき媒体側チェックコードを生成し保存する手段とを有し、最後に端末から供給される電文を用いて生成されるチェックコードについて照合し一致しなかった場合にエラー処理を行う手段、または照合結果を受信する手段、とを有することを特徴とする携帯可能記録媒体が開示されている。
特開2013-246672号公報
しかし、複数のインターフェースを備えるICカード等の電子情報記憶媒体が増えているが、スタートアップ処理等の処理において、接続した所定の外部装置から取得した実行コードが、完全性を検証してロードされた場合、あるインターフェースでは規格で示される所定の時間内に、処理が完了するが、別のインターフェースの規格で示される所定の時間内に処理が完了できない場合が起こるという問題があった。
そこで、本発明は、上記問題等に鑑みてなされたものであり、外部装置から取得した実行コードによる処理を所定の時間内に完了できるように、実行コードの完全性を、所定の時間内に検証できる電子情報記憶媒体、検証方法、およびプログラムを提供することを目的とする。
上記の課題を解決するために、請求項1に記載の発明は、外部装置と接続して取得する実行可能な実行コードと、前記実行コードに付随した誤り検出符号とを取得する実行コード・誤り検出符号取得手段と、前記外部装置との接続の規格に応じた誤り検出符号の算出アルゴリズムに従って、前記実行コードの誤り検出符号を算出する誤り検出符号算出手段と、前記取得した誤り検出符号と、前記算出した誤り検出符号と、を比較して前記実行コードの検証を行う検証手段と、を備え、前記接続の規格が、前記外部装置との接続のインターフェースのタイプに従った規格であることを特徴とする.
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体において、誤り検出符号算出手段が、前記誤り検出符号の算出アルゴリズムと前記算出アルゴリズムにより前記実行コードのうち前記誤り検出符号を算出する部分とに従って、前記実行コードの誤り検出符号を算出することを特徴とする。
請求項3に記載の発明は、請求項1または請求項2に記載の電子情報記憶媒体において、前記外部装置との接続の規格と前記算出アルゴリズムとを関連付けた算出アルゴリズム記憶手段を更に備え、前記算出アルゴリズム記憶手段から、前記外部装置との接続の規格に基づき、前記算出アルゴリズムを取得する算出アルゴリズム取得手段を更に備えることを特徴とする。
請求項4に記載の発明は、請求項1または請求項2に記載の電子情報記憶媒体において、前記外部装置と接続して取得した実行可能な実行コードを記憶する実行コード記憶手段を更に備え、前記実行コード・誤り検出符号取得手段が、前記実行コード記憶手段から、前記実行コードと前記誤り検出符号とを取得することを特徴とする。
また、請求項に記載の発明は、請求項1または請求項に記載の電子情報記憶媒体において、前記接続の規格が、前記外部装置と接続の通信方式に従った規格であることを特徴とする。
また、請求項に記載の発明は、実行コード・誤り検出符号取得手段が、外部装置と接続して取得する実行可能な実行コードと、前記実行コードに付随した誤り検出符号とを取得する実行コード・誤り検出符号取得ステップと、誤り検出符号算出手段が、前記外部装置との接続の規格に応じた誤り検出符号の算出アルゴリズムに従って、前記実行コードの誤り検出符号を算出する誤り検出符号算出ステップと、誤り検出符号比較手段が、前記取得した誤り検出符号と、前記算出した誤り検出符号と、を比較して前記実行コードの検証を行う検証ステップと、を含み、前記接続の規格が、前記外部装置との接続のインターフェースのタイプに従った規格であることを特徴とする。
また、請求項に記載の発明は、外部装置と接続して取得する実行可能な実行コードを実行する電子情報記憶媒体に含まれるコンピュータを、前記実行コードと、前記実行コードに付随した誤り検出符号とを取得する実行コード・誤り検出符号取得手段、前記外部装置との接続の規格に応じた誤り検出符号の算出アルゴリズムに従って、前記実行コードの誤り検出符号を算出する誤り検出符号算出手段、前記取得した誤り検出符号と、前記算出した誤り検出符号と、を比較して前記実行コードの検証を行う検証手段として機能させ、前記接続の規格が、前記外部装置との接続のインターフェースのタイプに従った規格であることを特徴とする。
本発明によれば、外部装置と接続して取得する実行可能な実行コードと、実行コードに付随した誤り検出符号とを取得し、外部装置との接続の規格に応じた誤り検出符号の算出アルゴリズムに従って、実行コードの誤り検出符号を算出し、取得した誤り検出符号と、算出した誤り検出符号と、を比較して実行コードの検証を行うことにより、外部装置との接続の規格に応じた誤り検出符号の算出アルゴリズムに従って、実行コードの誤り検出符号を算出することによって、規格により要求される時間に合わせて、誤り検出符号の算出時間を調節できるので、所定の時間内に実行コードによる処理を完了できるように、実行コードの完全性を検証できる。
本実施形態に係る実行コード検証システムの概要構成例を示す図である。 ICカードの概要構成例を示す図である。 ICカードのデータベースの一例を示す図である。 外部装置の概要構成例を示す図である。 他の外部装置の概要構成例を示す図である。 ICカードの動作の一例を示すフローチャートである。 ICカードの実行コード検証のサブルーチンの一例を示すフローチャートである。 図3のICカードのデータベースの変形例を示す図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、電子情報記憶媒体の一例であるICチップを含むICカードに対して本発明を適用した場合の実施の形態である。
[1.実行コード検証システムSの概要構成]
まず、図1等を参照して、本実施形態に係る実行コード検証システムSの概要構成について説明する。図1は、本実施形態に係る実行コード検証システムSの概要構成例を示す図である。
図1に示すように、実行コード検証システムSは、複数種類のインターフェースを有するICカード10と、ICカード10と接触式により接続する外部装置20、ICカード10と非接触式により接続する外部装置30等を含んで構成される。
ICカード10は、外部装置20と接続する接点端子10aと、外部装置30と無線接続するためのアンテナ10bと、を有する。
ICカード10は、電子情報記憶媒体の一例であるICチップ10cを含んでいる。ICチップは、例えば、耐タンパー性を有するICチップである。ICチップの形態には、eSE(embedded Secure Element)の形態や、SIMカード(Subscriber Identity Module Card)の形態等がある。
ICカード10は、例えば、クレジットカード、キャッシュカード、ETCカード、デジタルルームキー、車両のデジタルキー、身分証明用のカード、パスポート等である。ICカード10は、ICタグ、スマートフォンなどのモバイルデバイスでもよい。
また、電子情報記憶媒体の一例であるICチップ10cは、ECU(Electronic Control Unit)等の制御装置、または、スマートフォンなどのモバイルデバイスに搭載されるケースでもよい。
外部装置20は、ICカード10に対して有線のリーダライタの機能を有する。外部装置20は、ICカード10を挿入するスロットを有する。外部装置20は、例えば、ATM(Automatic Teller Machine)、ETC(Electronic Toll Collection System)車載器、券売機等である。外部装置20は、接点端子10aを介して、接触型でICカード10と接続できる装置ならばよい。
外部装置30は、ICカード10に対して無線のリーダライタの機能を有する。外部装置30は、例えば、鉄道の自動改札機、自動販売機、ICタグのリーダライタ、非接触型のATM等である。外部装置30は、アンテナ10bを介して、非接触型でICカード10と無線接続できる装置ならばよい。
ICカード10は、外部装置30との間で近距離無線通信可能になっている。近距離無線通信には、例えば、NFC(Near Field Communication)、Bluetooth(登録商標)、またはUWB(Ultra Wide Band)等の技術が用いられる。
ICカード10は、外部装置20、外部装置30等の外部装置と接続して、実行可能な実行コードを取得して、実行コードを実行する。
次に、ICカード10の概要構成例を、図を用いて説明する。
図2は、ICカード10の概要構成例を示す図である。図2に示すように、ICカード10は、複数の通信部11、記憶部12、および制御部13等を備えて構成される。
接触型の通信部11は、接点端子10aを備える。ICカード10が外部装置20に挿入された際、接点端子10aを介して外部装置20との間で通信を行う。
非接触型の通信部11は、コイル型のアンテナ10bを備え、近距離無線通信可能な範囲内で外部装置30との間で近距離無線通信を行う。ここで、接触型および非接触型は、外部装置との接続のインターフェースのタイプの一例である。
接触型の通信部11は、接点端子10a以外の接触型のインターフェースを有してよい。また、非接触型の通信部11は、アンテナ10bとは異なる種類のアンテナを備えてもよい。また、通信部11は、異なる通信方式毎に設置されてもよい。通信部11は、外部装置20、外部装置30の様々な外部装置や様々なインターフェースの通信の規格(外部装置との接続の規格の一例)に応じた、複数種類の通信機能を有してもよい。ここで、外部装置との接続の規格の一例として、接触型のインターフェースに対して課されている規格、非接触型のインターフェース対して課されている規格等が挙げられる。また、外部装置との接続の規格の一例として、非接触型のインターフェースにおける“タイプA”、“タイプB”、Felica(登録商標)といった、通信方式の規格でもよい。また、インターフェースの種類として、パラレルインターフェース、USBのインターフェース等における規格でもよい。
記憶部12は、例えば、不揮発性メモリ(NVM(Nonvolatile Memory))である。記憶部12には、オペレーティングシステム(OS)およびアプリケーションが記憶される。アプリケーションには、相互認証処理プログラム等が含まれる。記憶部12は、ICカード10を特定するための固有IDを記憶している。固有IDとして、ICカード10のデバイスアドレス、MACアドレス(Media Access Control address)、チップID等が挙げられる。
記憶部12は、外部装置と接続して取得した実行可能な実行コードを記憶する実行コード記憶手段の一例として、外部装置20、30から取得した実行コードを記憶する。
さらに、記憶部12には、図3に示すように、外部装置との接続の規格の一例である接触型、非接触型のインターフェース毎に、実行コードのチェックコードを算出するためのチェックコード算出方法等が関連付けられたデータベースが構築されている。記憶部12は、外部装置との接続の規格と算出アルゴリズムとを関連付けた算出アルゴリズム記憶手段の一例として機能する。
ここで、誤り検出符号の一例であるチェックコードは、実行コードの一部または全部を、所定の関数で処理して出力したコードまたは値である。チェックコード算出方法は、算出アルゴリズムと、実行コードの範囲とに規定される。チェックコードの算出アルゴリズムは、誤り検出符号の計算に用いられるアルゴリズムならばよく、例えば、MD5(Message Digest5)、SHA(Secure Hash Algorithm)等のハッシュ関数、CRC(Cyclic Redundancy Check)で使用する関数、チェックサムに用いる関数、パリティチェックの関数等が挙げられる。SHAの場合、SHA-1、SHA-256、SHA-512等が挙げられる。狭義のチェックサムの値として、単純にデータを足し算した値でもよい。実行コードの範囲として、実行コードの全体、実行コードの一部が挙げられる。さらに、実行コードの一部として、実行コードの始めの100バイト、実行コードの最後の10バイト、ページサイズ毎に1バイト等が挙げられる。
チェックコード算出方法等が関連付けられたデータベースは、外部装置との接続の規格のうち、外部装置から取得した実行コードによる処理を所定の時間内に完了する必要があるという、時間に関する制約に基づき、外部装置との接続の規格と、算出アルゴリズムおよび実行コードの範囲との対応関係が決定される。規格で決められた所定の時間が、短い場合、演算時間が少ない算出アルゴリズムや、より狭い実行コードの範囲が規定される。
記憶部12には、算出アルゴリズム毎の平均計算時間の情報、算出アルゴリズムと実行コードの長さとの組み合わせに応じた平均計算時間の情報のデータベースが構築されていてもよい。
制御部13のICチップ10cは、CPU(Central Processing Unit)、RAM(Random Access Memory)、およびROM(Read Only Memory)等を備えて構成される。制御部13は、外部装置20または外部装置30と接続して、実行可能な実行コードを取得する。制御部13は、取得した実行コードのチェックコードを算出して、実行コードの完全性を検証してから、実行コードに従った処理を行う。
なお、ICカード10は、デュアルインターフェースカードであって、デュアルICチップ方式、接触/非接触コンビICチップ方式、クロスアクセスICチップ方式でもよい。
次に、外部装置20の概要構成例について、図4を用いて説明する。図4は、外部装置20の概要構成例を示す図である。
図4に示すように、外部装置20は、通信部21、記憶部22、および制御部23等を備えて構成される。
通信部21は、ICカード10の接点端子10aと接続可能な端子を有する。
記憶部22は、RAM、NVM等を備えて構成される。記憶部22には、オペレーティングシステムおよびアプリケーションが記憶される。アプリケーションには、相互認証処理プログラム等が含まれる。さらに、記憶部22には、ICカード10の固有IDに関連付けて、修正の実行コード(パッチ)、実行コードのバージョン情報等が記憶されている。記憶部22には、外部装置20が、接続するICカード10の種類等に応じて、算出アルゴリズムおよびチェックコードを算出する実行コードの範囲等のチェックコード算出方法のデータベースが構築されている。
制御部23は、CPU、RAM、およびROM等を備えて構成される。制御部23は、外部装置20全体の制御、ICカード10との通信等を制御する。制御部23は、ICカード10用のチェックコード算出方法に従い、ICカード10に送信する実行コードのチェックコードを算出する。
次に、外部装置30の概要構成例について、図5を用いて説明する。図5は、外部装置30の概要構成例を示す図である。
図5に示すように、外部装置30は、通信部31、記憶部32、および制御部33等を備えて構成される。
通信部31は、アンテナを備え、近距離無線通信可能な範囲内でICカード10との間で近距離無線通信を行う。なお、ICカード10と外部装置30との間の近距離無線通信のプロトコルは例えばNFCのプロトコル(例えば、ISO14443で規定されたプロトコル)であるとよい。
記憶部32は、RAM、NVM等を備えて構成される。記憶部32には、オペレーティングシステムおよびアプリケーションが記憶される。アプリケーションには、相互認証処理プログラム等が含まれる。さらに、記憶部32には、ICカード10の固有IDに関連付けて、修正の実行コード、実行コードのバージョン情報等が記憶されている。記憶部32には、外部装置30が、接続するICカード10の種類等に応じて、算出アルゴリズムおよびチェックコードを算出する実行コードの範囲等のチェックコード算出方法のデータベースが構築されている。
制御部33は、CPU、RAM、およびROM等を備えて構成される。制御部33は、外部装置30全体の制御、ICカード10との通信等を制御する。
[2.実行コード検証システムSの動作]
次に、実行コード検証システムSの動作について図6を用いて説明する。図6はICカード10の動作の一例を示すフローチャートである。
まず、ICカード10は、外部装置20または外部装置30に接続する。外部装置20に接続する場合は、外部装置20のスロットにICカード10が挿入される。外部装置30に接続する場合、無線通信が可能な所定の距離までICカード10を、外部装置30に近づける。
ICカード10は、相互認証等を行い、外部装置20、外部装置30等の接続した外部装置との通信路を確保する。
スタートアップ処理において、外部装置20、外部装置30等の外部装置が、ICカード10の固有IDに基づき、ICカード10の修正または追加の実行コードを送信するべきか判定する。送信すべき実行コードがある場合、接続した外部装置が、ICカード10に実行コードと、実行コードのチェックコードとを送信する。なお、外部装置20、外部装置30等の外部装置は、データベースを参照して、接続したICカード10の種類等に応じたチェックコード算出方法に従い、ICカード10に送信する実行コードから、実行コードのチェックコードを算出する。
図6に示すように、ICカード10は、実行コードを取得する(ステップS1)。具体的には、外部装置20と接続した場合、制御部13は、接点端子10aを備える接触型の通信部11を介して、実行コードと実行コードのチェックコードとを取得する。外部装置30と接続した場合、制御部13は、アンテナ10bを備える非接触型の通信部11を介して、実行コードと実行コードのチェックコードとを取得する。制御部13は、取得した実行コードとチェックコードとを、記憶部12の不揮発性メモリに記憶する。このように、ICカード10は、外部装置と接続して取得する実行可能な実行コードと、前記実行コードに付随した誤り検出符号とを取得する実行コード・誤り検出符号取得手段の一例として機能する。
次に、ICカード10は、実行コードを検証する(ステップS2)。具体的には、制御部13は、記憶部12の不揮発性メモリから、制御部13のメモリに実行コードをロードする。制御部13は、後述の実行コード検証のサブルーチンに従って、ロードした実行コードから計算されるチェックコードと、外部装置から取得して記憶部12に記憶しておいたチェックコードとを比較することによる、実行コードの検証結果を、制御部13のOS側として受け取る。
次に、ICカード10は、チェックコードが一致しているか否かを判定する(ステップS3)。具体的には、制御部13は、実行コード検証のサブルーチンによる実行コードの検証結果に基づき、算出したチェックコードと外部装置から取得したチェックコードとが一致しているか否かを判定する。このように、ICカード10は、取得した誤り検出符号と、算出した誤り検出符号と、を比較して前記実行コードの検証を行う検証手段の一例として機能する。
チェックコードが一致している場合(ステップS3:YES)、ICカード10は、実行コードを実行する(ステップS4)。具体的には、制御部13は、記憶部12からロードした実行コードを実行する。
チェックコードが一致していない場合(ステップS3:NO)、ICカード10は、エラーコード不一致の処理を行う(ステップS5)。具体的には、制御部13は、スタートアップ処理のプログラムを止める。なお、制御部13は、接続している外部装置に、実行コードの実行が不能との通知を行ってもよい。制御部13は、接続している外部装置に、再度、実行コードを送信する要求してもよい。
(2.2 実行コード検証のサブルーチン)
次に、図7を用いて実行コード検証のサブルーチンについて説明する。図7は、ICカード10の実行コード検証のサブルーチンの一例を示すフローチャートである。
図7に示すように、ICカード10は、インターフェース(IF)とチェックコード算出方法の対応表を参照し、算出アルゴリズムと、実行コード範囲を選択する(ステップS10)。具体的には、制御部13は、外部装置20、外部装置30等のうち、どの外部装置と接続しているかを示す接続している外部装置の情報、どの通信部11を介して、接続しているか等のインターフェース情報を取得する。制御部13は、インターフェース情報等に基づき、記憶部12のデータベースを参照して、チェックコード算出方法の算出アルゴリズム、および、算出アルゴリズムを適用する実行コード範囲の情報を取得する。このように、ICカード10は、算出アルゴリズム記憶手段から、外部装置との接続の規格に基づき、算出アルゴリズムを取得する前記算出アルゴリズム取得手段の一例として機能する。
なお、接続した外部装置からICカード10に送信された、算出アルゴリズムおよび実行コード範囲等のチェックコード算出方法の情報に基づき、ICカード10が、算出アルゴリズムと、実行コード範囲とを選択してもよい。制御部13のCPUの処理速度に応じて、算出アルゴリズムおよび実行コード範囲等のチェックコード算出方法が選択されてもよい。
次に、ICカード10は、チェックコードを算出する(ステップS11)。具体的には、制御部13は、選択された算出アルゴリズムに従い、ロードした実行コードのうち、選択された範囲から、チェックコードを算出する。より具体的には、接触型のインターフェースの場合、制御部13は、実行コードの全部に対して、算出アルゴリズムSHA-256で、チェックコードを算出する。非接触型のインターフェースの場合、制御部13は、実行コードの一部に対して、算出アルゴリズムチェックサムで、チェックコードを算出する。
このように、ICカード10は、外部装置との接続の規格に応じた誤り検出符号の算出アルゴリズムに従って、実行コードの誤り検出符号を算出する誤り検出符号算出手段の一例として機能する。ICカード10は、誤り検出符号の算出アルゴリズムと前記算出アルゴリズムにより前記実行コードのうち前記誤り検出符号を算出する部分とに従って、前記実行コードの誤り検出符号を算出する誤り検出符号算出手段の一例として機能する。
次に、ICカード10は、チェックコードが一致しているか否かを判定する(ステップS12)。具体的には、制御部13は、ロードした実行コードから算出したチェックコードと、外部装置から取得して記憶部12に記憶しておいたチェックコードとを比較することにより、判定する。
チェックコードが一致している場合(ステップS12:YES)、ICカード10は、実行コードのチェックコードが一致している旨を通知する(ステップS13)。具体的には、制御部13は、チェックコードが一致している旨を制御部13のOS側に通知する。
チェックコードが一致していない場合(ステップS12:NO)、ICカード10は、実行コードのチェックコードが不一致である旨を通知する(ステップS14)。具体的には、制御部13は、チェックコードが不一致である旨を制御部13のOS側に通知する。
制御部13は、実行コード検証のサブルーチンが終了したら、ステップS3の処理に進む。
以上説明したように、上記実施形態によれば、外部装置20、30と接続して取得する実行可能な実行コードと、実行コードに付随したチェックコードとを取得し、外部装置20、30との接続の規格に応じたチェックコードの算出アルゴリズムに従って、実行コードのチェックコードを算出し、取得したチェックコードと、算出したチェックコードと、を比較して実行コードの検証を行うことにより、外部装置20、30との接続の規格に応じたチェックコードの算出アルゴリズムに従って、実行コードのチェックコードを算出することによって、規格により要求される時間に合わせて、チェックコードの算出時間を調節できるので、所定の時間内に実行コードによる処理を完了できるように、実行コードの完全性を検証できる。
誤り検出符号の一例であるチェックコードの算出アルゴリズムと算出アルゴリズムにより実行コードのうちチェックコードを算出する部分とに従って、実行コードのチェックコードを算出する場合、実行コードのうちチェックコードを算出する部分にも従って、実行コードのチェックコードを算出することにより、規格により要求される時間に合わせて、チェックコードの算出時間を、より調節できやすくなるので、所定の時間内に実行コードによる処理を完了できるように、実行コードの完全性を検証できる。
外部装置20、30との接続の規格と算出アルゴリズムとを関連付けた算出アルゴリズム記憶手段も一例のデータベースを備え、前記算出アルゴリズムのデータベースから、外部装置20、30との接続の規格に基づき、算出アルゴリズムを取得する場合、外部装置20、30から、外部装置20、30との接続の規格に基づいた算出アルゴリズムの情報を取得する必要がない。
外部装置20、30と接続して取得した実行可能な実行コードを記憶する実行コード記憶手段の一例のデータベースを不揮発性メモリに備え、この不揮発性メモリから、実行コードとチェックコードとを取得する場合、不揮発性メモリ内のデータベースの情報の破損があっても対処できる。
接続の規格が、外部装置20、30との接続のインターフェースのタイプに従った規格である場合、接触型のインターフェース、非接触型のインターフェースといった接続のインターフェースのタイプに従った算出アルゴリズムを適用できる。
(変形例)
次に、認証の動作の変形例について図8を用いて説明する。図8は、ICカード10のデータベースの変形例を示す図である。
図8に示すように、記憶部12には、非接触型および接触型のインターフェースそれぞれに対する通信方式毎に、算出アルゴリズムと、実行コードの範囲とが関連付けられたデータベースが構築されている。例えば、非接触型のインターフェースで、通信方式“方式A”の場合、算出アルゴリズム“アルゴリズムA”、実行コードの範囲“全体”が対応し、非接触型のインターフェースで、通信方式“方式B”の場合、算出アルゴリズム“アルゴリズムB”、実行コードの範囲“部分I”が対応し、接触型のインターフェースで、通信方式“方式C”の場合、算出アルゴリズム“アルゴリズムC”、実行コードの範囲“全体”が対応し、接触型のインターフェースで、通信方式“方式D”の場合、算出アルゴリズム“アルゴリズムD”、実行コードの範囲“部分II”が対応する。実行コードの範囲“部分I”と実行コードの範囲“部分II”とでは、範囲が異なり、短い時間での処理が必要な場合、範囲がより狭くなる。
ここで、非接触型の通信方式として、“タイプA”、“タイプB”等のNFCの規格による通信、Bluetooth(登録商標)の規格による通信、UWBの規格による通信等が挙げられる。
通信方式は、通信の規格でもよい。また、接触型の通信方式として、ISO/IEC7816、SWP(Single Wire Protocol)、I2C(Inter-Integrated Circuit)等が挙げられる。
ICカード10は、ステップS10において、このデータベースの対応表を参照し、インターフェースが非接触型か接触型か、さらに通信方式に従って、算出アルゴリズムと、実行コード範囲を選択する。
次に、ICカード10は、ステップS11において、選択された算出アルゴリズムと実行コード範囲とから、チェックコードを算出する。ICカード10は、ステップS12において、算出したチェックコードと、外部装置から取得して記憶部12に記憶しておいたチェックコードとを比較する。
接続の規格が、外部装置と接続の通信方式に従った規格である場合、外部装置と接続の通信方式に従った算出アルゴリズムを適用できる。
なお、CPUの性能に応じて、算出アルゴリズムや実行コードの範囲を変えてもよい。CPUの性能が低ければ、所定の時間内に処理が完了できるように、計算量が少ない算出アルゴリズムや、実行コードの範囲を狭くしたチェックコードが使用される。
また、ICカード10が、外部装置から実行コードを受信し、受信した実行コードを記憶部12に記憶する際に、上記ステップS10からS14の処理を行って、外部装置との接続の規格に応じたチェックコードの算出アルゴリズムに従って、実行コードのチェックコードを算出し、受信したチェックコードと比較することで、実行コードの検証を行ってもよい。
10 ICカード
10c ICチップ(電子情報記憶媒体)
13 制御部
20、30 外部装置

Claims (7)

  1. 外部装置と接続して取得する実行可能な実行コードと、前記実行コードに付随した誤り検出符号とを取得する実行コード・誤り検出符号取得手段と、
    前記外部装置との接続の規格に応じた誤り検出符号の算出アルゴリズムに従って、前記実行コードの誤り検出符号を算出する誤り検出符号算出手段と、
    前記取得した誤り検出符号と、前記算出した誤り検出符号と、を比較して前記実行コードの検証を行う検証手段と、
    を備え
    前記接続の規格が、前記外部装置との接続のインターフェースのタイプに従った規格であることを特徴とする電子情報記憶媒体。
  2. 請求項1に記載の電子情報記憶媒体において、
    誤り検出符号算出手段が、前記誤り検出符号の算出アルゴリズムと前記算出アルゴリズムにより前記実行コードのうち前記誤り検出符号を算出する部分とに従って、前記実行コードの誤り検出符号を算出することを特徴とする電子情報記憶媒体。
  3. 請求項1または請求項2に記載の電子情報記憶媒体において、
    前記外部装置との接続の規格と前記算出アルゴリズムとを関連付けた算出アルゴリズム記憶手段を更に備え、
    前記算出アルゴリズム記憶手段から、前記外部装置との接続の規格に基づき、前記算出アルゴリズムを取得する算出アルゴリズム取得手段を更に備えることを特徴とする電子情報記憶媒体。
  4. 請求項1または請求項2に記載の電子情報記憶媒体において、
    前記外部装置と接続して取得した実行可能な実行コードを記憶する実行コード記憶手段を更に備え、
    前記実行コード・誤り検出符号取得手段が、前記実行コード記憶手段から、前記実行コードと前記誤り検出符号とを取得することを特徴とする電子情報記憶媒体。
  5. 請求項1または請求項に記載の電子情報記憶媒体において、
    前記接続の規格が、前記外部装置と接続の通信方式に従った規格であることを特徴とする電子情報記憶媒体。
  6. 実行コード・誤り検出符号取得手段が、外部装置と接続して取得する実行可能な実行コードと、前記実行コードに付随した誤り検出符号とを取得する実行コード・誤り検出符号取得ステップと、
    誤り検出符号算出手段が、前記外部装置との接続の規格に応じた誤り検出符号の算出アルゴリズムに従って、前記実行コードの誤り検出符号を算出する誤り検出符号算出ステップと、
    誤り検出符号比較手段が、前記取得した誤り検出符号と、前記算出した誤り検出符号と、を比較して前記実行コードの検証を行う検証ステップと、
    を含み、
    前記接続の規格が、前記外部装置との接続のインターフェースのタイプに従った規格であることを特徴とする検証方法。
  7. 外部装置と接続して取得する実行可能な実行コードを実行する電子情報記憶媒体に含まれるコンピュータを、
    前記実行コードと、前記実行コードに付随した誤り検出符号とを取得する実行コード・誤り検出符号取得手段、
    前記外部装置との接続の規格に応じた誤り検出符号の算出アルゴリズムに従って、前記実行コードの誤り検出符号を算出する誤り検出符号算出手段、
    前記取得した誤り検出符号と、前記算出した誤り検出符号と、を比較して前記実行コードの検証を行う検証手段として機能させ
    前記接続の規格が、前記外部装置との接続のインターフェースのタイプに従った規格であることを特徴とするプログラム。
JP2022122735A 2022-08-01 2022-08-01 電子情報記憶媒体、検証方法、およびプログラム Active JP7459899B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022122735A JP7459899B2 (ja) 2022-08-01 2022-08-01 電子情報記憶媒体、検証方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022122735A JP7459899B2 (ja) 2022-08-01 2022-08-01 電子情報記憶媒体、検証方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2024019943A JP2024019943A (ja) 2024-02-14
JP7459899B2 true JP7459899B2 (ja) 2024-04-02

Family

ID=89853831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022122735A Active JP7459899B2 (ja) 2022-08-01 2022-08-01 電子情報記憶媒体、検証方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP7459899B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264921A (ja) 2003-02-26 2004-09-24 Sony Corp 非接触icカードの通信システム及び通信方法
JP2006350738A (ja) 2005-06-16 2006-12-28 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2008004021A (ja) 2006-06-26 2008-01-10 Dainippon Printing Co Ltd モード変更機能を備えたicカード、および、icカードプログラム
JP2008033669A (ja) 2006-07-28 2008-02-14 Dainippon Printing Co Ltd モード変更機能を備えたicカード、および、icカードプログラム
JP2008033426A (ja) 2006-07-26 2008-02-14 Dainippon Printing Co Ltd モード変更機能を備えたicカード、および、icカードプログラム
JP2010128635A (ja) 2008-11-26 2010-06-10 Brother Ind Ltd 無線タグ通信処理システム及び無線タグ通信装置
US20200326929A1 (en) 2019-04-12 2020-10-15 Nxp B.V. System and method for applying patches to executable codes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264921A (ja) 2003-02-26 2004-09-24 Sony Corp 非接触icカードの通信システム及び通信方法
JP2006350738A (ja) 2005-06-16 2006-12-28 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2008004021A (ja) 2006-06-26 2008-01-10 Dainippon Printing Co Ltd モード変更機能を備えたicカード、および、icカードプログラム
JP2008033426A (ja) 2006-07-26 2008-02-14 Dainippon Printing Co Ltd モード変更機能を備えたicカード、および、icカードプログラム
JP2008033669A (ja) 2006-07-28 2008-02-14 Dainippon Printing Co Ltd モード変更機能を備えたicカード、および、icカードプログラム
JP2010128635A (ja) 2008-11-26 2010-06-10 Brother Ind Ltd 無線タグ通信処理システム及び無線タグ通信装置
US20200326929A1 (en) 2019-04-12 2020-10-15 Nxp B.V. System and method for applying patches to executable codes

Also Published As

Publication number Publication date
JP2024019943A (ja) 2024-02-14

Similar Documents

Publication Publication Date Title
US8595826B2 (en) Portable electronic device and control method thereof
US10114953B2 (en) Method and system for upgrading firmware of a card reader
US7769963B1 (en) RF tag system with single step read and write commands
US9183400B2 (en) IC card and IC card control method
KR940007351B1 (ko) 휴대가능 전자장치
US20090050702A1 (en) Portable electronic device and control method of portable electronic device
US8112662B2 (en) Portable electronic apparatus, processing apparatus for portable electronic apparatus, and data processing method in portable electronic apparatus
US20090184799A1 (en) Information storage medium and information storage medium processing apparatus
JP7459899B2 (ja) 電子情報記憶媒体、検証方法、およびプログラム
US9010649B2 (en) IC card, portable electronic device, and reader/writer
US9542632B2 (en) IC card, portable electronic device, and reader/writer
US20210049260A1 (en) Information processing apparatus, information processing method, and program
JP2011022841A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
EP3379424B1 (en) Ic card, portable electronic device, program, processing apparatus, and processing system
JP2005011147A (ja) Icカード及びicカードプログラム
JP2004259176A (ja) Icカード
TWM504286U (zh) 內嵌智能晶片之安全數位記憶卡及行動讀卡終端機
JP7452750B1 (ja) 電子情報記憶媒体、icチップ、icカード、公開鍵照合方法、及びプログラム
JP6009854B2 (ja) Icカード、携帯可能電子装置、及びicカードの制御プログラム
JP4734838B2 (ja) 情報記録媒体とプログラム、及びコマンド実行制御方法
CN108734252B (zh) Rfid集成电路
TW201635205A (zh) 內嵌智能晶片之安全數位記憶卡、行動讀卡終端機及其控制方法
JP2004102885A (ja) 非接触icカードリーダ装置
JP5657440B2 (ja) 携帯可能電子装置、及び携帯可能電子装置の処理システム
JP2013190923A (ja) Icカード及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230802

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240112

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: 20240220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240304

R150 Certificate of patent or registration of utility model

Ref document number: 7459899

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150