IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 大日本印刷株式会社の特許一覧

特開2024-173082電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラム
<>
  • 特開-電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラム 図1
  • 特開-電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラム 図2
  • 特開-電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラム 図3
  • 特開-電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラム 図4
  • 特開-電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラム 図5
  • 特開-電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024173082
(43)【公開日】2024-12-12
(54)【発明の名称】電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラム
(51)【国際特許分類】
   G06F 13/12 20060101AFI20241205BHJP
   G06K 19/07 20060101ALI20241205BHJP
   G06K 7/00 20060101ALI20241205BHJP
【FI】
G06F13/12 330D
G06K19/07
G06K7/00 008
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023091208
(22)【出願日】2023-06-01
(11)【特許番号】
(45)【特許公報発行日】2024-04-16
(71)【出願人】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】110000958
【氏名又は名称】弁理士法人インテクト国際特許事務所
(74)【代理人】
【識別番号】100120189
【弁理士】
【氏名又は名称】奥 和幸
(72)【発明者】
【氏名】乙田 早希
(57)【要約】
【課題】チェイニングが完了するまでにかかる通信時間を低減することが可能な電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラムを提供する。
【解決手段】ICチップ1は、複数のI-blockのうち最初のI-blockが受信されたときに、当該最初のI-blockから送信データのLEN(全長)を取得しておき、I-blockが受信される度に当該取得されたLEN(全長)に基づいて、送信データを送信するための全てのI-blockが受信されたか否かを判定し、全てのI-blockが受信されていないと判定された場合には外部装置2へのレスポンスの送信を待機する一方、全てのI-blockが受信されたと判定された場合に全てのI-blockが受信されたことを外部装置2へ応答する。
【選択図】図5
【特許請求の範囲】
【請求項1】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能な電子情報記憶媒体であって、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する応答手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項2】
前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定する第2判定手段を更に備え、
前記応答手段は、前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答することを特徴とする請求項1に記載の電子情報記憶媒体。
【請求項3】
前記受信された途中のブロックでエラーが検知された場合、前記応答手段は、前記エラーの発生を前記外部装置へ応答することを特徴とする請求項1または2に記載の電子情報記憶媒体。
【請求項4】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なICチップであって、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する応答手段と、
を備えることを特徴とするICチップ。
【請求項5】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なICカードであって、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する応答手段と、
を備えることを特徴とするICカード。
【請求項6】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能な電子情報記憶媒体により実行される受信ブロック処理方法であって、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得するステップと、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定するステップと、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答するステップと、
を含むことを特徴とする受信ブロック処理方法。
【請求項7】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なコンピュータに、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得するステップと、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定するステップと、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答するステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部装置との間でデータを送受信することが可能なIC(Integrated Circuit)カード等の技術分野に関する。
【背景技術】
【0002】
従来、ICカードと外部装置との間で一度に送信可能なデータの長さより長いデータを送信する際に、送信すべきデータを複数のブロックに分割して送信するチェイニングというデータ伝送プロトコルが知られている。ISO/IEC 7816-3やISO/IEC 14443の国際標準規格で定められているブロックフォーマットによるデータ伝送プロトコルでは、送信ブロックに対するICカード側の応答が必要とされているため、通信時間を必要以上に要し、ICカードと外部装置との取り引き自体にも時間を要してしまうという課題がある。特許文献1には、非接触ICカードとリーダライタ間のデータ伝送を制御するデータ伝送プロトコル制御方法において、送信側から受信側に対して分割された複数のブロックを連続して送信する際、最初に送信するブロックに連続して送信するブロック数を含めることで、通信時間を短縮化することができる技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第5106456号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、最初に送信するブロックに連続して送信するブロック数が含まれているものの、当該ブロック数からは送信すべきデータの全長が不明であるため、一度のチェイニングでどれくらいの長さのデータが送られてくるのかはICカード側ではわからず、ICカードが大量のデータを受信してしまう可能性があり、これも通信時間を必要以上に要する原因になる。
【0005】
そこで、本発明は、このような点などに鑑みてなされたものであり、チェイニングが完了するまでにかかる通信時間を低減することが可能な電子情報記憶媒体、ICチップ、ICカード、受信ブロック処理方法、及びプログラムを提供することを課題の一例とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、請求項1に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能な電子情報記憶媒体であって、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する応答手段と、を備えることを特徴とする。
【0007】
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体において、前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定する第2判定手段を更に備え、前記応答手段は、前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答することを特徴とする。
【0008】
請求項3に記載の発明は、請求項1または2に記載の電子情報記憶媒体において、前記受信された途中のブロックでエラーが検知された場合、前記応答手段は、前記エラーの発生を前記外部装置へ応答することを特徴とする。
【0009】
請求項4に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なICチップであって、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する応答手段と、を備えることを特徴とする。
【0010】
請求項5に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なICカードであって、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する応答手段と、を備えることを特徴とする。
【0011】
請求項6に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能な電子情報記憶媒体により実行される受信ブロック処理方法であって、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得するステップと、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定するステップと、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答するステップと、を含むことを特徴とする。
【0012】
請求項7に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なコンピュータに、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得するステップと、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定するステップと、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答するステップと、を実行させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、チェイニングが完了するまでにかかる通信時間を低減することができる。
【図面の簡単な説明】
【0014】
図1】ICチップ1のハードウェア構成例を示す図である。
図2】ICチップ1と外部装置2との間の接触通信において送受信されるblockのデータフォーマットを示す図である。
図3】R-blockのPCBにおけるbit6~bit1の内容を示す図である。
図4】最初のI-blockにおいて、送信データのLEN(全長)が含まれる箇所の例を示す図である。
図5】(A)は、チェイニングが正常に完了する例を示すシーケンス図であり、(B)は、送信データの受信拒否が応答される例を示すシーケンス図であり、(C)は、チェイニングの途中でエラーの発生が応答される例を示すシーケンス図である。
図6】ICチップ1のCPU15により実行される受信ブロック処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【0016】
[1.ICチップ1の構成及び機能]
先ず、図1を参照して、本実施形態に係るICチップ1の構成及び機能について説明する。ICチップ1は、外部装置2から送信データがチェイニングにより複数に分割されて送信されるブロック(以下、「block」という)を順次受信可能な電子情報記憶媒体の一例である。ICチップ1は、例えば、クレジットカード、キャッシュカード、またはマイナンバーカードなどのICカード、または、スマートフォンなどのモバイルデバイスに搭載される。スマートフォンなどのモバイルデバイスの場合、ICチップ1は、モバイルデバイスに着脱可能な小型ICカードに搭載されてもよいし、eUICC(Embedded Universal Integrated Circuit Card)としてモバイルデバイスから容易に取り外しや取り換えができないように組み込み基板上に搭載されてもよい。
【0017】
図1は、ICチップ1のハードウェア構成例を示す図である。ICチップ1は、図1に示すように、I/O回路11、RAM(Random Access Memory)12、NVM(Nonvolatile Memory)13、ROM(Read Only Memory)14、CPU(Central Processing Unit)15(コンピュータの一例)、及び暗号演算を行うコプロセッサ16等を備える。I/O回路11は、外部装置2との間のインターフェースを担う。なお、ICチップ1と外部装置2との間の通信は、接触通信であってもよいし、非接触通信であってもよい。非接触通信の場合、例えばICカードまたはモバイルデバイスに搭載されたアンテナ(図示せず)を介してICチップ1と外部装置2との通信が行われる。なお、外部装置2の例として、リーダライタを備える取引装置などが挙げられる。NVM13には、例えばフラッシュメモリが適用される。なお、NVM13は、「Electrically Erasable Programmable Read-Only Memory」であってもよい。NVM13またはROM14には、OS(Operating System)、及び1または複数のアプリケーション(本発明のプログラムを含む)等が記憶される。
【0018】
ICチップ1は、I/O回路11を介して、外部装置2との間で、例えば、半二重ブロック伝送プロトコルに従って通信を行う。例えば、ISO/IEC 7816-3では、半二重ブロック伝送プロトコルとして、T=1プロトコル(調歩式半二重ブロック伝送プロトコル)が規定されている。半二重ブロック伝送プロトコルに従う通信では、I(Information)-block(情報ブロック)、R(Receive Ready)-block(受信準備完了ブロック)、及びS(Supervisory)-block(管理ブロック)が用いられる。I-blockは、アプリケーションによりアプリケーション層で使用されるデータを伝達するために用いられる。アプリケーション層で使用されるデータは、上述した送信データが該当する。
【0019】
ここで、送信データの例として、コマンドAPDU(Application Protocol Data Unit)が挙げられる。コマンドAPDUは、CLA(命令クラス)、INS(命令コード)、P1及びP2(命令パラメータ)から構成されるヘッダ部と、例えばNVM13に書き込まれるべきデータ(例えば、コプロセッサ16により利用される鍵データなど)を含むボディ部により構成される。例えばNVM13に書き込まれるべきデータが、1度に(つまり、1つのコマンドAPDUで)送信可能な最大長を超える場合、チェイニングにより複数のコマンドAPDUで外部装置2から順次送信されることになる。なお、コマンドAPDUにおけるCLAのbit5が“0”に設定される場合、当該コマンドAPDUは、チェイニングの最後(またはチェイニング無)を示す。一方、コマンドAPDUにおけるCLAのbit5が“1”に設定される場合、当該コマンドAPDUは、チェイニング途中であることを示す。
【0020】
R-blockは、肯定応答(ack)や各種エラー(error)を伝達するために用いられる。S-blockは、外部装置2とICチップ1との間で制御情報を交換するために用いられる。図2は、ICチップ1と外部装置2との間の接触通信において送受信されるblockのデータフォーマットを示す図である。図2に示すように、1つのblockは、先頭フィールド(Prologue field)、情報フィールド(Information field)、及び最終フィールド(Epilogue field)から構成される。最終フィールドには、誤り検出符号(LRCまたはCRC)が格納される。I-blockの情報フィールド(INF)には、コマンドAPDUが格納される。R-blockは、情報フィールドを持たない。各blockの先頭フィールドは、NAD(Node address byte)、PCB(Protocol control byte)、及びLEN(Length byte)から構成される。NADは、blockの送信元及び宛先を示す。PCBは、先頭の2ビット(bit8~bit7)によりblockがI-block、R-block、またはS-blockであるかを示し、残りの6ビット(bit6~bit1)により詳細な情報を示す。また、I-blockのPCBにおける所定のビットでチェイニングの最後またチェイニング途中であること示すこともできる。
【0021】
図3は、R-blockのPCBにおけるbit6~bit1の内容を示す図である。図3において、N(R)は、そのR-blockの次に送られてくることが想定されるI-blockのシーケンス番号を示す。図3に示すように、R-blockは、PCBのbit6~bit1により、肯定応答(ack)、ブロックのエラー(redundancy code error / character parity error)、または、その他のエラー(other error)が示される。なお、図示しないが、ICチップ1と外部装置2との間の非接触通信において送受信されるblockにおいても、ISO/IEC 14443に規定されるように、先頭フィールド、情報フィールド、及び最終フィールドから構成され、当該先頭フィールドは、PCB、CID(Card identifier)、及びNADから構成される。この場合も、PCBは、接触通信で送受信されるblockと同様、先頭の2ビット(bit8~bit7)によりblockがI-block、R-block、またはS-blockであるかを示し、残りの6ビット(bit6~bit1)により詳細な情報を示す。なお、非接触通信において送受信されるblockの先頭フィールドにLENが含まれてもよいし、或いは、当該先頭フィールドのさらに前にLENだけのフィールドが設けられてもよい。
【0022】
CPU15(コンピュータの一例)は、NVM13に記憶されたOS及びアプリケーション(本発明のプログラムを含む)を実行することで、本発明における取得手段、第1判定手段、第2判定手段、及び応答手段等として機能する。CPU15は、外部装置2から送信データがチェイニングにより複数に分割されて送信される各I-blockをI/O回路11を介して順次受信する。ここで、複数のI-blockのうち最初のI-blockには、送信データのLEN(全長)が含まれる。送信データのLEN(全長)とは、チェイニングによりICチップ1に送信されるべき全てのI-blockを結合したときの長さであってもよいし、全てのI-blockのそれぞれに含まれるコマンドAPDUを結合したときの長さであってもよい。CPU15は、複数のI-blockのうち最初のI-blockが受信されたときに、当該最初のI-blockから送信データのLEN(全長)を取得する。
【0023】
図4は、接触通信の最初のI-blockにおいて、送信データのLEN(全長)が含まれる箇所の例を示す図である。図4(A)の例では、最初のI-blockの情報フィールド中のコマンドAPDUのヘッダ部におけるP1(LEN1)とP2(LEN2)とを結合した値で送信データのLEN(全長)が表される(非接触通信でも同様)。図4(B)の例では、最初のI-block中の情報フィールド中のコマンドAPDUのボティ部におけるDataの先頭にTLVを含め、当該TLVのValue部の値で送信データのLEN(全長)が表される(非接触通信でも同様)。図4(C)の例では、最初のI-block中の先頭フィールド中のLENの一部の値(例えば、先頭の数bit)で送信データのLEN(全長)が表される(非接触通信でも同様)。図4とは別の例として、最初のI-blockの情報フィールド中のコマンドAPDUの前に送信データのLEN(全長)を含めてもよい(非接触通信でも同様)。なお、非接触通信において、最初のI-blockの先頭フィールドのさらに前にLENのフィールドが設けられる場合、当該LENの値で送信データのLEN(全長)が表されてもよい。
【0024】
CPU15は、外部装置2からI-blockが受信される度に、上記取得されたLEN(全長)に基づいて、上記送信データを送信するための全てのI-block(換言すると、全てのコマンドAPDU)が受信されたか否かを判定する。そして、CPU15は、全てのI-blockが受信されていないと判定された場合には外部装置2へのレスポンスの送信を待機する一方、全てのI-blockが受信されたと判定された場合に全てのI-blockが受信されたことをR-block(ack)により外部装置2へ応答する。これにより、チェイニングが完了するまでにかかる通信時間(チェイニングにかかる通信時間)を低減することができる。
【0025】
また、CPU15は、最初のI-blockが受信された際に取得されたLEN(全長)に基づいて、送信データの受信を拒否するか否かを判定し、当該送信データの受信を拒否すると判定した場合に、当該送信データの受信拒否をR-block(other error)により外部装置2へ応答するとよい。例えば、送信データのLEN(全長)が予め設定された閾値を超える場合に、送信データの受信を拒否すると判定される。かかる閾値は、NVM13の空き容量に基づいて設定されるとよい。これにより、ICチップ1が大量の送信データを受信してしまうことを事前に防ぐことができ、これによっても通信時間を低減することができる。また、CPU15は、受信された途中のI-blockでエラーを検知した場合、当該エラーの発生をR-block(redundancy code error またはcharacter parity error)により外部装置2へ応答するとよい。
【0026】
[2.ICチップ1の動作]
次に、図5及び図6を参照して、ICチップ1の動作について説明する。図5(A)は、チェイニングが正常に完了する例を示すシーケンス図である。図5(B)は、送信データの受信拒否が応答される例を示すシーケンス図である。図5(C)は、チェイニングの途中でエラーの発生が応答される例を示すシーケンス図である。図6は、ICチップ1のCPU15により実行される受信ブロック処理の一例を示すフローチャートである。なお、図6に示す処理は、外部装置2からI-blockを受信した場合に開始される。
【0027】
図5(A)において、外部装置2から、送信データのLEN(全長)が含まれる最初(1番目)のI-blockがICチップ1へ送信(1)される。CPU15は、外部装置2からI-blockを受信すると(ステップS1)、当該受信されたI-blockが最初のI-blockであるか否かを判定する(ステップS2)。なお、受信されたI-blockはRAM12の所定領域に記憶される。受信されたI-blockが最初のI-blockであると判定された場合(ステップS2:YES)、処理はステップS3へ進む。一方、受信されたI-blockが最初のI-blockでないと判定された場合(ステップS2:NO)、処理はステップS6へ進む。
【0028】
ステップS3では、CPU15は、最初のI-blockから送信データのLEN(全長)を取得し、RAM12の別の領域に記憶する。次いで、CPU15は、ステップS3で取得されたLEN(全長)と閾値とを比較することで、送信データの受信を拒否するか否かを判定する(ステップS4)。送信データの受信を拒否しないと判定された場合(ステップS4:NO)、処理はステップS6へ進む。一方、送信データの受信を拒否すると判定された場合(ステップS4:YES)、図5(B)に示すように、送信データの受信拒否を示すR-block(other error)が外部装置2へ送信(2)され(ステップS5)、処理が終了する。
【0029】
ステップS6では、CPU15は、受信されたI-blockでエラーを検知したか否かを判定する。I-blockでエラーを検知していないと判定された場合(ステップS6:NO)、処理はステップS8へ進む。一方、I-blockでエラー(例えば、CRCエラー)を検知したと判定された場合(ステップS6:YES)、図5(C)に示すように、エラー(例えば、CRCエラー)の発生を示すR-block(redundancy code error)が外部装置2へ送信(2)され(ステップS7)、処理が終了する。
【0030】
ステップS8では、CPU15は、受信されたI-blockが最後のI-blockであるか否かを判定する。受信されたI-blockが最後のI-blockでないと判定された場合(ステップS8:NO)、外部装置2へのレスポンスの送信を待機し(つまり、レスポンスを送信しない)、ステップS1に戻る。そして、外部装置2から、次のI-blockがICチップ1へ送信(2)されることで、CPU15は、外部装置2から当該I-blockを受信すると、上記と同様、処理をステップS2に進める。なお、2番目以降のI-blockには送信データのLEN(全長)は含まれていない。
【0031】
一方、受信されたI-blockが最後のI-block(図5(A)の例では、N番目のI-block)であると判定された場合(ステップS8:YES)、全てのI-blockが受信されたことを示すR-block(ack)が外部装置2へ送信(3)され(ステップS9)、例えば、コマンドAPDUに応じたコマンド処理へ進む。上述した国際標準規格で定められているデータ伝送方法では、データ送信側からI-blockが受信される毎にレスポンスが送信されるようになっているが、本実施形態に係るICチップ1では、最初のI-blockで取得されたLEN(全長)分の送信データが送信されてくるまでレスポンスを送信せずに待機し、最後のI-blockを受信したときに初めてレスポンス(R-block(ack))を送信する。
【0032】
以上説明したように、上記実施形態によれば、ICチップ1は、複数のI-blockのうち最初のI-blockが受信されたときに、当該最初のI-blockから送信データのLEN(全長)を取得しておき、I-blockが受信される度に当該取得されたLEN(全長)に基づいて、送信データを送信するための全てのI-blockが受信されたか否かを判定し、全てのI-blockが受信されていないと判定された場合には外部装置2へのレスポンスの送信を待機する一方、全てのI-blockが受信されたと判定された場合に全てのI-blockが受信されたことを外部装置2へ応答するように構成したので、チェイニングが完了するまでにかかる通信時間を低減することができる。
【符号の説明】
【0033】
1 ICチップ
11 I/O回路
12 RAM(
13 NVM
14 ROM
15 CPU
16 コプロセッサ
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2024-02-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能な電子情報記憶媒体であって、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する第1応答手段と、
前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定する第2判定手段と、
前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答する第2応答手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項2】
前記受信された途中のブロックでエラーが検知された場合、前記第1応答手段は、前記エラーの発生を前記外部装置へ応答することを特徴とする請求項1に記載の電子情報記憶媒体。
【請求項3】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なICチップであって、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する第1応答手段と、
前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定する第2判定手段と、
前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答する第2応答手段と、
を備えることを特徴とするICチップ。
【請求項4】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なICカードであって、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する第1応答手段と、
前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定する第2判定手段と、
前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答する第2応答手段と、
を備えることを特徴とするICカード。
【請求項5】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能な電子情報記憶媒体により実行される受信ブロック処理方法であって、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得するステップと、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定するステップと、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答するステップと、
前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定するステップと、
前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答するステップと、
を含むことを特徴とする受信ブロック処理方法。
【請求項6】
外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なコンピュータに、
複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得するステップと、
前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定するステップと、
前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答するステップと、
前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定するステップと、
前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答するステップと、
を実行させることを特徴とするプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
上記課題を解決するために、請求項1に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能な電子情報記憶媒体であって、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する第1応答手段と、前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定する第2判定手段と、前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答する第2応答手段と、を備えることを特徴とする。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】削除
【補正の内容】
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
請求項に記載の発明は、請求項1に記載の電子情報記憶媒体において、前記受信された途中のブロックでエラーが検知された場合、前記第1応答手段は、前記エラーの発生を前記外部装置へ応答することを特徴とする。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
請求項に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なICチップであって、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する第1応答手段と、前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定する第2判定手段と、前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答する第2応答手段と、を備えることを特徴とする。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正の内容】
【0010】
請求項に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なICカードであって、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得する取得手段と、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定する第1判定手段と、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答する第1応答手段と、前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定する第2判定手段と、前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答する第2応答手段と、を備えることを特徴とする。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
請求項に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能な電子情報記憶媒体により実行される受信ブロック処理方法であって、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得するステップと、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定するステップと、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答するステップと、前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定するステップと、前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答するステップと、を含むことを特徴とする。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正の内容】
【0012】
請求項に記載の発明は、外部装置から送信データが複数に分割されて送信されるブロックを順次受信可能なコンピュータに、複数の前記ブロックのうち最初のブロックに含まれる、前記送信データの全長を取得するステップと、前記ブロックが受信される度に、前記取得された全長に基づいて、前記送信データを送信するための全ての前記ブロックが受信されたか否かを判定するステップと、前記全ての前記ブロックが受信されていないと判定された場合には前記外部装置へのレスポンスの送信を待機する一方、前記全ての前記ブロックが受信されたと判定された場合に前記全ての前記ブロックが受信されたことを前記外部装置へ応答するステップと、前記最初のブロックが受信された際に前記取得された全長に基づいて、前記送信データの受信を拒否するか否かを判定するステップと、前記送信データの受信を拒否すると判定された場合に、前記送信データの受信拒否を前記外部装置へ応答するステップと、を実行させることを特徴とする。