(57)【要約】【課題】暗号アルゴリズムの脆弱性の発見や、サービスの要件の変化に伴う、ＩＣカードで利用する認証や鍵変換等のプロトコルの大規模な変更を短時間で安全に実現する方法はなかった。【解決手段】パラメータ生成装置５０において、ＩＣカード１０に格納するプロトコルを定義したパラメータを生成し、そのパラメータをＩＣカード１０内で、新規用パラメータか更新用パラメータかを判別し、新規用パラメータの場合には受信した全パラメータをパラメータ格納部１０６に格納し、更新用パラメータの場合には受信したパラメータに対応する部分のみをパラメータ格納部１０６に格納する。プロトコル実行時には、プロトコル実行に必要となるパラメータをパラメータ格納部１０６から逐次取得し、プロトコルの処理を実施する。【選択図】図１
2010044602.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体のプロトコルカスタマイズシステムであって、
前記記憶媒体と、該記憶媒体を挿入して利用する端末と、該端末が接続するネットワークと接続し、サービスを提供するサービス提供者装置と、前記ネットワークと接続し、前記記憶媒体に格納するプロトコルを定義したパラメータを生成するパラメータ生成装置とを備え、
前記記憶媒体は、
コマンドを送受信する記憶媒体用データ送受信部と、コマンドを解析するコマンド解析部と、コマンドに従い処理を実行するサービスアプリケーション部と、該サービスアプリケーション部で利用するデータを保管するデータ保管部と、前記パラメータ生成装置から受信したパラメータを解釈するパラメータ解釈部と、前記パラメータを格納するパラメータ格納部と、該パラメータ格納部に格納されているパラメータに従って、前記サービス提供者装置と前記記憶媒体間で行うプロトコルを実行するプロトコル実行部と、該プロトコル実行部で利用する鍵データを保管する記憶媒体用鍵保管部と、
を備え、
前記端末は、
前記記憶媒体とアクセスする記憶媒体アクセス部と、前記ネットワークに対しデータを送受信する端末用データ送受信部と、前記記憶媒体に対して送信するコマンドを生成する端末用コマンド生成部と、
を備え、
前記サービス提供者装置は、
データを送受信するサービス提供者装置用通信部と、前記記憶媒体に対して送信するコマンドを生成するサービス提供者装置用コマンド生成部と、前記コマンドを生成するために使用する鍵データを保管するサービス提供者装置用鍵保管部と、サービスを提供するサービス提供部と、
を備え、
前記パラメータ生成装置は、
データを送受信するパラメータ生成装置用通信部と、前記記憶媒体に対して送信するコマンドを生成するパラメータ生成装置用コマンド生成部と、前記コマンドを生成するために使用する鍵データを保管するパラメータ生成装置用鍵保管部と、前記記憶媒体に格納するプロトコルを定義したパラメータを生成するパラメータ生成部と、
を備える
ことを特徴とする記憶媒体のプロトコルカスタマイズシステム。
【請求項２】
前記記憶媒体は、
複数の前記サービスアプリケーション部と、該複数のサービスアプリケーション部で利用するデータを保管する、複数の前記データ保管部と、
を備え、
前記サービス提供者装置は、
前記複数のサービスアプリケーション部の数に応じて複数存在する
ことを特徴とする請求項１に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項３】
前記パラメータ生成装置は、前記記憶媒体に格納するプロトコルを定義したパラメータを生成し、前記記憶媒体内のパラメータ解釈部に送信し、該パラメータ解釈部において前記パラメータの解釈を行い、
前記パラメータが更新用であると判断された場合には、前記パラメータ格納部に格納されているプロトコルを実行するために必要な実行パラメータのうち、更新対象となる実行パラメータを判別し、該実行パラメータのみを更新し、
前記パラメータが新規用であると判断された場合には、前記パラメータ格納部に格納されている実行パラメータを全て上書きする
ことを特徴とする請求項１または２に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項４】
前記実行パラメータを更新する場合に、前記パラメータ解釈部は、前記パラメータ生成装置から受信したパラメータに記載されている識別情報に該当する領域を前記パラメータ格納部から受信した実行パラメータの中から検索し、前記検索した該領域のサイズが前記パラメータのサイズよりも大きければ該領域に前記パラメータを上書きし、前記検索した該領域のサイズがパラメータのサイズよりも小さければ、新たな領域に前記パラメータを書き込み、該領域に設定されている識別情報を削除する
ことを特徴とする請求項３に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項５】
前記サービス提供者装置は、プロトコルを開始するために必要となるプロトコルコマンドを生成し、前記記憶媒体の前記プロトコル実行部に送信し、該プロトコル実行部は、前記プロトコルコマンドを基に前記パラメータ格納部から必要となる実行パラメータを取得し、該実行パラメータを用いてプロトコルを実行し、前記サービス提供者装置に処理結果を送信する
ことを特徴とする請求項１ないし３のいずれか一に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項６】
前記処理手順を複数回繰り返すことによって、フローが複数存在するプロトコルを実現する
ことを特徴とする請求項５に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項７】
前記パラメータは、新規パラメータか更新パラメータかを示す更新フラグとプロトコルを実行する上で必要となる実行パラメータから構成される
ことを特徴とする請求項３ないし６のいずれか一に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項８】
前記実行パラメータは、プロトコルで取り扱うデータを定義するデータブロックと、プロトコルで実行する関数の実体を定義する関数インスタンスブロックと、プロトコルで実行する関数を定義する関数ブロックと、プロトコルで利用するコマンドを定義するコマンドブロックから構成される
ことを特徴とする請求項３ないし７のいずれか一に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項９】
前記データブロックは、プロトコルで取り扱うデータを識別するＩＤと、該データのサイズと、該データの種類と、該データが含まれるグループを識別する識別子と、該データの初期値と、該データの取得元と、該データの格納先から構成される
ことを特徴とする請求項８に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項１０】
前記関数インスタンスブロックは、プロトコルで実行する関数インスタンスを識別するＩＤと、該関数インスタンス実行後に出力されるデータのサイズと、該関数インスタンスで呼び出す関数のＩＤから構成される
ことを特徴とする請求項８に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項１１】
前記関数ブロックは、前記関数インスタンスから参照される関数を識別するＩＤと、該関数の種類と、該関数で取り扱う前記データのＩＤと該関数内で呼び出す前記関数インスタンスのＩＤから構成される
ことを特徴とする請求項８に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項１２】
前記関数で取り扱う前記データのＩＤと前記関数インスタンスのＩＤが複数存在する
ことを特徴とする請求項１１に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項１３】
前記コマンドブロックは、プロトコルで利用するコマンドを識別するＩＤと、前記サービス提供者装置から受信され、該プロトコルを実行するように指示する前記プロトコルコマンドを識別する受信コマンドＩＤと、前記コマンドの順序を示すコマンド順と、該コマンドで処理する処理データから構成される
ことを特徴とする請求項８に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項１４】
前記処理データは、前記コマンドで取り扱うデータの構造を示す送受信データ構造と、前記関数インスタンスのＩＤから構成される
ことを特徴とする請求項１３に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項１５】
前記データブロックや前記関数インスタンスブロックや前記関数ブロックや前記コマンドブロックには、これらの構成要素についてその組合せが複数存在する
ことを特徴とする請求項９ないし請求項１４のいずれか一に記載の記憶媒体のプロトコルカスタマイズシステム。
【請求項１６】
サービスを提供するサービス提供装置と通信可能に接続される端末と接続し、前記サービスを実行するときに利用されるデータを保管し、外部から受信したコマンドに従って前記サービスを実行する記憶媒体であって、
前記サービスを実行するために前記記憶媒体に設定されるプロトコルを定義するパラメータを解釈するパラメータ解釈部と、
前記パラメータを格納するパラメータ格納部と、
前記パラメータ格納部に格納されたパラメータに従ってプロトコルを実行するプロトコル実行部と、
を備える
ことを特徴とする記憶媒体。
【請求項１７】
サービスを提供するサービス提供装置、および前記サービスを実行するときに利用されるデータを保管し、外部から受信したコマンドに従って前記サービスを実行する記憶媒体と接続される端末、と通信可能に接続され、前記サービスを実行するために前記記憶媒体に設定されるプロトコルを定義するパラメータを生成するパラメータ生成装置であって、
前記パラメータは、
当該パラメータが前記記憶媒体に格納されたパラメータを更新するものであるか否かを示す更新フラグと、
前記プロトコルを実行することにより提供されるサービスに利用されるデータ、当該サービスを実行するときに使用されるアルゴリズムおよび当該サービスを当該コマンドに従って実行するときの手順を定めた実行パラメータと、
を含む
ことを特徴とするパラメータ生成装置。
【請求項１８】
サービスを提供するサービス提供装置と通信可能に接続される端末と接続し、前記サービスを実行するときに利用されるデータを保管し、外部から受信したコマンドに従って前記サービスを実行する記憶媒体における記憶媒体のプロトコルカスタマイズ方法であって、
前記記憶媒体は、前記サービスを実行するために前記記憶媒体に設定されるプロトコルを定義するパラメータを格納しており、
前記記憶媒体の制御部において、
外部から受信されたパラメータが、前記格納されたパラメータを更新する更新用パラメータであるか否かを解釈するステップと、
前記更新用パラメータである場合には、前記格納されたパラメータに含まれる、当該プロトコルを実行するのに必要な情報を定めた実行パラメータにおいて更新対象となる情報を判別し、前記更新用パラメータを用いて前記情報を更新するステップと、
を実行する
ことを特徴とする記憶媒体のプロトコルカスタマイズ方法。
【請求項１９】
サービスを提供するサービス提供装置と通信可能に接続される端末と接続し、前記サービスを実行するときに利用されるデータを保管し、外部から受信したコマンドに従って前記サービスを実行する記憶媒体における記憶媒体のプロトコルカスタマイズ方法を実行させるプログラムであって、
前記記憶媒体は、前記サービスを実行するために前記記憶媒体に設定されるプロトコルを定義するパラメータを格納しており、
前記記憶媒体の制御部に、
外部から受信されたパラメータが、前記格納されたパラメータを更新する更新用パラメータであるか否かを解釈する処理と、
前記更新用パラメータである場合には、前記格納されたパラメータに含まれる、当該プロトコルを実行するのに必要な情報を定めた実行パラメータにおいて更新対象となる情報を判別し、前記更新用パラメータを用いて前記情報を更新する処理と、
を実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣ（Integrated Circuit）カード等の個人情報の記憶媒体のプロトコルをカスタマイズする技術に関し、さらに詳しくは、ＩＣカード等において、サービス提供時に利用する認証や鍵交換等のプロトコルを短時間で容易に更新する技術に関する。
【背景技術】
【０００２】
ＩＣカードを用いて交通乗車券やクレジット決済や銀行キャッシュカード等のサービスを提供する際には、不正な端末や不正なＩＣカードによる不正なサービス享受を防ぐため、端末とＩＣカード間で機器認証を実施している（例えば、非特許文献１参照）。
【０００３】
従来は、ＩＣカード発行時に機器認証プロトコル（以降、プロトコルと記す）をＩＣカード内に設定し、ＩＣカード発行後は発行時に設定したプロトコルに従って機器認証を実施していた。プロトコルに何らかの不具合があった場合や、プロトコルで使用している暗号アルゴリズムや鍵の脆弱性が発見された場合や、ＩＣカードで利用するサービスの要件が変化した場合には、ＩＣカードを一度回収し、再度ＩＣカード内のプロトコルコードを書きかえることにより、プロトコルの更新を実現していた。回収作業は、サービス提供者およびユーザに対して多大な時間と手間を必要とし、ＩＣカードのプロトコルの更新は容易には実現できなかった。
【０００４】
そこで、ＩＣカード内のアプリケーションの一部を部分的に書き換え可能な技術が知られている。この技術により、従来のようにＩＣカード内のコードやデータを全部書き変えずにプロトコルの更新が実現できるため、更新に必要な時間を短縮し、また、プロトコルで使用する鍵データ等の引継ぎが容易になる（例えば、特許文献１参照）。
【０００５】
また、ＩＣカード内にパラメータ読出部とパラメータ管理部とプログラム実行部を搭載しておき、パラメータを変更することによりＩＣカードで実行するプログラムの動作を変更する技術が知られている。この技術により、プログラムの変更が容易になる（例えば、特許文献２参照）。
【０００６】
また、ＩＣカード内のアプリケーションに端末からデータを送信する際のデータ送受信回数を減らすためにデータを効率的に結合する技術が知られている。この技術により、プロトコル更新に伴う処理時間を短縮させることが可能となる（例えば、特許文献３参照）。
【非特許文献１】GlobalPlatform Inc., "Card Specification Version 2.2", [online], ２００６年３月, GlobalPlatform Inc., ｐ．１０５, [２００８年７月１日検索］, インターネット＜URL: http://www.globalplatform.org/specificationscard.asp＞
【特許文献１】特開２００６−２９３７０６号公報
【特許文献２】特開２０００−３４８１４６号公報
【特許文献３】米国特許出願公開第２００４／０２４５３３１Ａ１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来技術では、ＩＣカードのプロトコル変更をアプリケーションの一部書き換えにより実現することが可能であったが、書き換え後も安定してアプリケーションを動作させるためには既に書き込まれているコードとの整合性を細かく管理する必要があった。
また、パラメータを用いることにより、ＩＣカードのプロトコルで使用する鍵の種類や鍵の長さといった小規模なプロトコルの動作変更は可能であったが、アルゴリズムやフローの変更など大規模なプロトコルの動作変更は困難であった。
また、送信するデータを効率的に結合することにより、ＩＣカードのプロトコル変更に必要となる時間を短縮することは可能であったが、送信するデータ量が増加するにつれ、処理時間が増大してしまうという問題があった。
【０００８】
本発明は、前記事情に鑑みてなされたものであり、ＩＣカード等の記憶媒体で利用するプロトコルの大規模な更新を短時間で安全に実現することを目的とする。
【課題を解決するための手段】
【０００９】
前記目的を達成するため、本発明では、ＩＣカードに搭載するプロトコルを定義したパラメータを専用のサーバ（パラメータ生成装置）で生成し、そのパラメータをＩＣカードに送信する。
【００１０】
具体的には、ＩＣカード内に、プロトコル実行を行う機能部（以下、プロトコル実行部という）と、プロトコルを定義したパラメータを格納する機能部（以下、パラメータ格納部という）と、パラメータの種類を解釈する機能部（以下、パラメータ解釈部という）を搭載し、パラメータ生成装置で生成したパラメータをＩＣカードに送信する。パラメータ解釈部は受信したパラメータが新規パラメータか更新パラメータかを判別し、新規の場合には受信した全パラメータを上書き格納し、更新の場合には受信したパラメータを部分的に格納する。プロトコル実行時には、プロトコル実行に必要となるパラメータをパラメータ格納部より取得し、プロトコルを実行する。
【００１１】
より具体的には、サービス提供者装置とＩＣカード間のプロトコルを更新したい場合に、パラメータ生成装置においてプロトコルを定義したパラメータを生成し、ＩＣカードに送信する。パラメータ解釈部において受信したパラメータの種類（新規、更新）を判断し、新規の場合には、パラメータ格納部に格納されているパラメータを全て上書きし、更新の場合には、対応するパラメータを検索し、その部分のみ更新する。プロトコル実行時には、プロトコル実行部において、サービス提供者装置から受信したコマンドを判別し、そのコマンドに応じてパラメータ格納部からプロトコル実行に必要となるパラメータ（以下、実行パラメータという）を取得し、実行パラメータを逐次解釈し、実行してゆくことにより、プロトコルを実現する。プロトコルが複数フローに亘る場合であっても同様の処理を繰り返すことにより、複数フローのプロトコルが実現可能となる。
【００１２】
このようにプロトコルを実現すれば、従来のように、ＩＣカードのプロトコル変更において、アプリケーションの一部を書き換える必要がないので、既に書き込まれているコードとの整合性を細かく管理する必要もなく、簡易化される。
また、詳細は後記するが、実行パラメータには、そのデータ構造において、使用されるアルゴリズムを定める要素やフローを定める要素が含まれているので、それらの要素を変更、追加または削除するだけでよく、従来では困難であったアルゴリズムやフローの変更など大規模なプロトコルの動作変更（更新等）は簡易化される。
また、従来のように、送信するデータ量が増加しても、前記した実行パラメータの要素のうち変更、追加または削除する要素は変わらないので、プロトコル更新の処理時間は送信するデータ量に影響されない。
【発明の効果】
【００１３】
本発明によれば、ＩＣカード等の記憶媒体で利用するプロトコルの大規模な更新を短時間で安全に実現することが可能となる。
【発明を実施するための最良の形態】
【００１４】
≪構成≫
本発明の一実施形態について説明する。なお、これにより本発明が限定されるものではない。説明の際には、適宜図面を参照する。
【００１５】
図１は、本発明の一実施形態が適用されたＩＣカードのプロトコルカスタマイズシステムの構成図である。
本実施形態のＩＣカードのプロトコルカスタマイズシステムは、図１に例示するように、ＩＣカード１０と、ＩＣカードにアクセスする端末２０と、ネットワーク３０と、ＩＣカード１０を用いてサービス提供を行う、サービス提供者装置４０１〜４０ｎ（以降、４０と示すこともある）と、ＩＣカードに設定するプロトコルを定義したパラメータを生成するパラメータ生成装置５０とが互いに接続されて構成されている。
【００１６】
ＩＣカード１０は、外部からコマンドを受信し、受信したコマンドの内容により処理を行い、処理結果を返信する。該ＩＣカード１０は、コマンドを受信し、処理結果を送信するデータ送受信部１０１と、コマンドを解析するコマンド解析部１０２と、コマンドに従い処理（サービス）を実行するサービスアプリケーション部１０３１〜１０３ｎ（以降、１０３と示すこともある）と、該サービスアプリケーション部１０３１〜１０３ｎで利用するデータを保管しておくデータ保管部１０４１〜１０４ｎ（以降、１０４と示すこともある）と、前記パラメータ生成装置５０で生成されたパラメータを解釈するパラメータ解釈部１０５と、該パラメータ解釈部１０５で解釈したパラメータを格納するパラメータ格納部１０６と、該パラメータ格納部１０６に格納されているパラメータに従って、プロトコルを実行するプロトコル実行部１０７と、該プロトコル実行部１０７で利用する鍵データを保管しておく鍵保管部１０８と、を含む。
【００１７】
なお、本実施形態において、サービスアプリケーション部１０３およびデータ保管部１０４の個数は、サービス提供者装置４０の個数と一致するものとする。つまり、ＩＣカード１０の利用者に提供されるサービスの種類に応じて、サービスアプリケーション部１０３、データ保管部１０４およびサービス提供者装置４０が複数存在しているものとする。
【００１８】
端末２０は、前記ＩＣカード１０とコマンドの送受信を行うＩＣカードアクセス部２０１と、前記ネットワーク３０とデータ送受信を行うデータ送受信部２０２と、前記ＩＣカード１０に対して送信するコマンドを生成するコマンド生成部２０３と、を含む。
【００１９】
サービス提供者装置４０は、前記ネットワーク３０とデータ送受信を行う通信部４０１と、前記ＩＣカード１０に対し送信するコマンドを生成するコマンド生成部４０２と、該コマンドを生成する際に利用する鍵データを保管する鍵保管部４０３と、前記ＩＣカード１０に対しサービスを提供するサービス提供部４０４と、を含む。
【００２０】
パラメータ生成装置５０は、前記ネットワーク３０とデータ送受信を行う通信部５０１と、前記ＩＣカード１０に対し送信するコマンドを生成するコマンド生成部５０２と、該コマンドを生成する際に利用する鍵データを保管する鍵保管部５０３と、前記ＩＣカード１０で実行するプロトコルを記述したパラメータを生成するパラメータ生成部５０４と、を含む。
【００２１】
なお、特に説明がない限り、前記したように単に「コマンド」と称する場合は、端末２０から送信されるコマンド、サービス提供者装置４０から送信されるコマンドおよびパラメータ生成装置５０から送信されるコマンドを総称しているものとする。
【００２２】
図２はＩＣカード１０のハードウェア構成を例示する図である。ＩＣカード１０は、入出力装置１１と、ＣＰＵ（Central Processing Unit）１２と、耐タンパ記憶装置１３と、耐タンパメモリ１４と、がバスなどの内部信号線１５で接続されて構成されているコンピュータである。ここで、ＩＣカードの形状はテレホンカードのようなカード形状に限定するものではなく、前記の構成要素を含むハードウェアであれば、たとえば、ＭＭＣ（Multi Media Card）やＳＤ（Secure Digital）カードのようなメモリーカードの形状であってもよい。
【００２３】
図３は端末２０のハードウェア構成を例示する図である。端末２０は、通信装置２１と、入出力装置２２と、ＩＣカード１０を挿入することができ、データを送受信するＩＣカード入出力装置２３と、記憶装置２４と、ＣＰＵ２５と、メモリ２６と、記憶媒体２８からデータを読み取る読取装置２７と、がバスなどの内部信号線２９で連結され、構成されているコンピュータである。
【００２４】
図４はサービス提供者装置４０のハードウェア構成を例示する図である。サービス提供者装置４０は、通信装置４１と、入出力装置４２と、記憶装置４３と、ＣＰＵ４４と、メモリ４５と、記憶媒体４７からデータを読み取る読取装置４６と、がバスなどの内部信号線４８で連結され、構成されているコンピュータである。なお、図４に示すハードウェア構成は、パラメータ生成装置５０においても同様である。
【００２５】
≪処理≫
本実施形態のＩＣカードのプロトコルカスタマイズシステムにおける処理フローについて説明する。以下に述べる処理フローは、各装置の記憶装置（耐タンパ記憶装置も含む。）に格納されたプログラムがメモリ（耐タンパメモリも含む。）にロードされ、各ＣＰＵ（制御部）により実行されることにより、ＩＣカードのプロトコルカスタマイズシステムを構成する各装置、ＩＣカード上に具現化される各処理部により実行されるものである。また、各プログラムは予め記憶装置に格納されても良いし、他の記憶媒体または通信媒体（ネットワークまたはネットワークを伝搬する搬送波）を介して、必要なときに導入されても良い。
【００２６】
図５は、パラメータ生成装置５０と端末２０とＩＣカード１０とサービス提供者装置４０との間で実行されるフローの全体を簡易的に示した図である。
【００２７】
まず、パラメータ生成装置５０と端末２０とＩＣカード１０の間で、プロトコルの仕様を設定するプロトコルカスタマイズを実施する（Ｓ５０１（Ｓ５０１と表現する。以下同様））。次に、ＩＣカード１０と端末２０とサービス提供者４０との間で、カスタマイズしたプロトコルを実行する（Ｓ５０２）。ここで実行するプロトコルはＩＣカード１０とサービス提供者装置４０との間の機器認証や鍵交換等を想定している。次に、ＩＣカード１０と端末２０とサービス提供者装置４０との間で、サービスを実行する（Ｓ５０３）。
【００２８】
これらの手順を踏むことにより、パラメータ生成装置５０とＩＣカード１０との間で実施するプロトコルのカスタマイズと、ＩＣカード１０とサービス提供者装置４０との間で実施するカスタマイズしたプロトコルを用いた認証処理や鍵交換処理等と、サービス提供者装置４０によるサービスの実行が可能となる。以下では、ＩＣカード１０とパラメータ生成装置５０との間で実施するプロトコルをカスタマイズするフローおよび、ＩＣカード１０とサービス提供者装置４０との間で、そのプロトコルを実行するフローに関して詳細に記載する。なお、ＩＣカード１０と端末２０との間で実施するプロトコルのカスタマイズや実行に関しても同様に実現が可能である。
以上で、図５のフローに関する説明を終了する。
【００２９】
図６は、図５のＳ５０１、つまり、パラメータ生成装置５０で生成したＩＣカード１０に設定するプロトコルを定義したパラメータをＩＣカード１０に送信し、ＩＣカード１０で使用するプロトコルをカスタマイズする部分を記載したフロー図である。
【００３０】
まず、パラメータ生成装置５０は、ＩＣカード１０に設定するプロトコルを定義したパラメータを生成する（Ｓ６０１）。ここで、パラメータには更新フラグやプロトコルを実行する上で必要な情報（実行パラメータ）が含まれているが、更新を行う場合には、プロトコルを実行する上で必要な情報の一部分のみが含まれている場合もある。パラメータの詳細な構造については図８に記述する。次に、生成したパラメータ（Ａ６０１）を、端末２０に送信する。
【００３１】
次に、端末２０は、受信したパラメータ（Ａ６０１）をＩＣカード１０内のパラメータ解釈部１０５に送信する。
【００３２】
次に、パラメータ解釈部１０５は、受信したパラメータ（Ａ６０１）を解釈する（Ｓ６０２）。パラメータを解釈するときには、主に、受信したパラメータがパラメータ格納部１０６に格納されているパラメータの一部を更新する更新用パラメータであるか、パラメータ格納部１０６には格納されてない新規用パラメータであるかが判断される。ここで、受信したパラメータが更新用パラメータであると判断された場合には（Ｓ６０２で「更新用」）、次に、ＩＣカード１０内のパラメータ格納部１０６に対し、実行パラメータを取得するように指示する実行パラメータ取得コマンド（Ａ６０２）を送信する。
【００３３】
次に、パラメータ格納部１０６は、受信した実行パラメータ取得コマンド（Ａ６０２）により、格納されていた実行パラメータを取得する（Ｓ６０３）。ここで、実行パラメータには、データや関数等のプロトコルを実行する上で必要な情報が含まれている。実行パラメータの詳細な構造については図９に記述する。次に、取得した実行パラメータ（Ａ６０３）をパラメータ解釈部１０５に送信する。
【００３４】
次に、パラメータ解釈部１０５は、実行パラメータ（Ａ６０３）を更新する（Ｓ６０４）。ここで、実行パラメータの更新は以下の手順で行う。まず、パラメータ格納部１０６から受信した実行パラメータ（Ａ６０３）の中で、端末２０から受信したパラメータ（Ａ６０１）の中に記載されているブロック（図９参照）とＩＤ（Identification）に該当する領域を検索する。次に、検索した領域のサイズを取得する。取得したサイズとパラメータ（Ａ６０１）に設定されている実行パラメータのサイズを比較し、パラメータ（Ａ６０１）に設定されているサイズが実行パラメータ（Ａ６０３）で定義されているサイズよりも小さい場合には、パラメータ（Ａ６０１）で指定されたブロックとＩＤの領域に上書きする。パラメータ（Ａ６０１）に設定されているサイズが実行パラメータ（Ａ６０３）から取得したサイズよりも大きい場合には、新たな領域にパラメータを書き込み、実行パラメータ（Ａ６０３）に存在していた領域のＩＤを削除する。この手順により、プロトコルの更新時に実行パラメータの構造を破壊することを防止することが可能となる。次に、Ｓ６０４により、更新された実行パラメータ（Ａ６０４）をパラメータ格納部１０６に送信する。
【００３５】
次に、パラメータ格納部１０６は、受信した更新された実行パラメータ（Ａ６０４）を格納する（Ｓ６０５）。次に、更新された実行パラメータ（Ａ６０４）の格納処理が完了した旨を示すレスポンス（Ａ６０５）をパラメータ解釈部１０５に送信する。
【００３６】
一方、Ｓ６０２において、受信したパラメータが更新用パラメータではなく、新規用パラメータであると判断された場合には（Ｓ６０２で「新規用」）、次に、ＩＣカード１０内のパラメータ格納部１０６に対し、パラメータ（Ａ６０１）に含まれている実行パラメータ（Ａ６０６）をパラメータ格納部１０６に送信する。
【００３７】
次に、パラメータ格納部１０６は、受信した実行パラメータ（Ａ６０６）を格納する（Ｓ６０６）。ここで、実行パラメータの格納は、パラメータ格納部１０６に既に格納されている実行パラメータを上書きすることにより実現する。次に、実行パラメータ（Ａ６０６）の格納処理が完了した旨を示すレスポンス（Ａ６０７）をパラメータ解釈部１０５に送信する。
【００３８】
次に、パラメータ解釈部１０５は、受信したレスポンス（Ａ６０５、Ａ６０７）を、端末２０を経由してパラメータ生成装置５０に送信する。
【００３９】
本フローでは、パラメータ生成装置５０と端末２０の間、端末２０とＩＣカード１０の間で特に認証処理、署名検証処理、データ暗号処理などの処理を記載していないが、より安全にするために、鍵保管部５０３や鍵保管部２０４や鍵保管部１０８に格納されている鍵データを用いて、前述の処理を実施しても良い。これらの処理は、周知の方法で達成できる。
以上で、図６のフローに関する説明を終了する。
【００４０】
図７は、図５のＳ５０２、つまり、サービス提供者装置４０とＩＣカード１０との間でカスタマイズしたプロトコルを実行する部分を記載したフロー図である。
【００４１】
まず、サービス提供者装置４０は、複数あるうちの一つのプロトコルを実行するように指示するプロトコルコマンド１を生成する（Ｓ７０１１）。ここで、より安全におこなうため、鍵保管部４０３に格納されている鍵データを使用してもよい。次に、プロトコルコマンド１（Ａ７０１１）を端末２０に送信する。
【００４２】
次に、端末２０は、受信したプロトコルコマンド１（Ａ７０１１）をＩＣカード１０内のサービスアプリケーション部１０３に送信する。
【００４３】
次に、サービスアプリケーション部１０３は、受信したプロトコルコマンド１（Ａ７０１１）をプロトコル実行部１０７に送信する。
【００４４】
次に、プロトコル実行部１０７は、受信したプロトコルコマンド１（Ａ７０１１）に対し、プロトコルを処理するために必要となる実行パラメータ読込コマンド１（Ａ７０２１１）をパラメータ格納部１０６に送信する。
【００４５】
次に、パラメータ格納部１０６は、受信した実行パラメータ読込コマンド１（Ａ７０２１１）を用いて、実行パラメータ１を取得する（Ｓ７０２１１）。次に、取得した実行パラメータ１（Ａ７０３１１）をプロトコル実行部１０７に送信する。
【００４６】
次に、プロトコル実行部１０７は、受信した実行パラメータ１（Ａ７０３１１）を解析し、実行パラメータ１で参照されている更なる実行パラメータを取得するために、実行パラメータ読込コマンド２（Ａ７０２１２）をパラメータ格納部１０６に送信する。
【００４７】
次に、パラメータ格納部１０６は、受信した実行パラメータ読込コマンド２を用いて、実行パラメータ２を取得する（Ｓ７０２１２）。次に、取得した実行パラメータ２（Ａ７０３１２）をプロトコル実行部１０７に送信する。
【００４８】
上記の手順を繰り返し、プロトコル実行部１０７においてプロトコルコマンド１を処理するために必要な実行パラメータ（Ａ７０３１１〜Ａ７０３１ｎ）を全て取得する。
【００４９】
次に、プロトコル実行部１０７は、受信した実行パラメータ（Ａ７０３１１〜Ａ７０３１ｎ）を用いてプロトコル１を実行する（Ｓ７０３１）。ここで、より安全におこなうため、鍵保管部１０８に格納されている鍵データを使用してもよい。次に、実行した結果を示すプロトコルレスポンス１（Ａ７０４１）をサービスアプリケーション部１０３に送信する。
【００５０】
次に、サービスアプリケーション部１０３は、受信したプロトコルレスポンス１（Ａ７０４１）を、端末２０を経由してサービス提供者装置４０に送信する。
【００５１】
上記のフローは、サービス提供者装置４０とＩＣカード１０との間で１回のプロトコルフローを実施する場合のフローである。複数のプロトコルフローを実行する場合には、上記フローを繰り返し実行する（プロトコルコマンド１〜ｎ（Ｓ７０１１〜Ｓ７０１ｎ）に対応するプロトコル１〜ｎの実行（Ｓ７０３１〜Ｓ７０３ｎ）をする）ことにより実現することが可能である。この繰り返しのプロトコルの実行は、同期処理でも非同期処理でも良い。
以上で、図７のフローに関する説明を終了する。
【００５２】
≪データ構造≫
図８は、図６のＳ６０１で生成するパラメータの構造を示す図である。
このパラメータ（Ａ８０１：図６のパラメータ（Ａ６０１））は、以降に続く実行パラメータが更新対象か否か（つまり、新規対象）を示す更新フラグ（Ａ８０２）と、プロトコルの動作順序や使用アルゴリズムを記述した実行パラメータ（Ａ８０３）の組合せで構成される。パラメータ解釈部１０５による解釈では、主に、更新フラグ（Ａ８０２）の値が参照される。ここで、パラメータ（Ａ８０１）の要素の種類、順序はこれに限定されるものではなく、上記構成要素を含むものであればよい。
【００５３】
図９は、図８の実行パラメータ（Ａ８０３）の構造を詳細に示す図である。
この実行パラメータ（Ａ９０１：図８の実行パラメータ（Ａ８０３））は、プロトコルで取り扱うデータを定義したデータブロック（Ａ９０２）と、プロトコルで実行する関数のインスタンス（実体）を定義した関数インスタンスブロック（Ａ９０３）と、プロトコルで実行する関数を定義した関数ブロック（Ａ９０４）と、プロトコルで実行するコマンドを定義したコマンドブロック（Ａ９０５）から構成される。実行パラメータには上記全ての要素が含まれていてもよいし、ある一つの要素だけが含まれていてもよい。また、実行パラメータ（Ａ９０１）の要素の種類、順序はこれに限定されるものではなく、上記構成要素を含むものであればよい。
【００５４】
なお、データブロック（Ａ９０２）で定義されるデータは、主に、当該プロトコルを実行することにより提供されるサービスを実行するときに利用されるデータを定める。また、関数ブロック（Ａ９０４）で定義される関数および関数インスタンスブロック（Ａ９０３）で定義されるインスタンス（関数インスタンス）は、主に、当該プロトコルを実行することにより提供されるサービスを実行するときに使用されるアルゴリズムを定める。また、コマンドブロック（Ａ９０５）で定義されるコマンドは、主に、当該プロトコルを実行することにより提供されるサービスを当該コマンドに従って実行するときの手順、つまりフローを定める。
【００５５】
図１０は、図９のデータブロック（Ａ９０２）の構造を詳細に示す図である。
このデータブロック（Ａ１００１：図９のデータブロック（Ａ９０２））は、データを識別するために利用するＩＤ（Ａ１００２１）と、データのサイズ（Ａ１００３１）と、データの種類（Ａ１００４１）と、データが含まれるグループを識別するグループ識別子（Ａ１００５１）と、データの初期値（Ａ１００６１）と、データの取得元（Ａ１００７１）と、データの格納先（Ａ１００８１）から構成される。ここで、データの種類（Ａ１００４１）とは、例えば、プロトコル実行中に使用する鍵データやエンティティを識別するＩＤやカウンタ等の種類を示す情報である。グループ識別子（Ａ１００５１）とは、例えば、公開鍵暗号方式のような複数のデータを一つの鍵として取り扱う場合にそのデータを管理するために使用する識別子である。また、データブロック（Ａ１００１）の要素の種類、順序はこれに限定されるものではなく、上記構成要素を含むものであればよい。さらに、データブロックは、上記構成を複数含んでも構わない。その場合、Ａ１００２１〜Ａ１００８１の構成が複数配置され（Ａ１００２ｎ〜Ａ１００８ｎ等）、一つのデータブロックを形成する。
【００５６】
図１１は、図９の関数インスタンスブロック（Ａ９０３）の構造を詳細に示す図である。
この関数インスタンスブロック（Ａ１１０１：図９の関数インスタンスブロック（Ａ９０３））は、関数インスタンスを識別するために利用するＩＤ（Ａ１１０２１）と、関数インスタンスの出力サイズ（Ａ１１０３１）と、呼び出す関数を識別する関数ＩＤ（Ａ１１０４１）から構成される。ここで、関数インスタンスブロック（Ａ１１０１）の要素の種類、順序はこれに限定されるものではなく、上記構成要素を含むものであればよい。また、関数インスタンスブロック（Ａ１１０１）は、上記構成を複数含んでも構わない。その場合、Ａ１１０２１〜Ａ１１０４１の構成が複数配置され（Ａ１１０２ｎ〜Ａ１１０４ｎ等）、一つの関数インスタンスブロックを形成する。
【００５７】
図１２は、図９の関数ブロック（Ａ９０４）の構造を詳細に示す図である。
この関数ブロック（Ａ１２０１：図９の関数ブロック（Ａ９０４））は、関数を識別するために利用するＩＤ（Ａ１２０２１）と、関数の種類（Ａ１２０３１）と、関数で利用するデータを識別するデータＩＤ１（Ａ１２０４１１）〜データＩＤｎ（Ａ１２０４１ｎ）と、関数内で呼び出す関数インスタンスを識別する関数インスタンスＩＤ１（Ａ１２０５１１）〜関数インスタンスＩＤｎ（Ａ１２０５１ｎ）から構成される。ここで、関数の種類（Ａ１２０３１）とは、例えば、サービスを実行するときに使用されるアルゴリズムをいう。また、データＩＤと関数インスタンスＩＤは両方含まれる必要はなく、プロトコルによってはどちらかのみで成り立つ場合もある。関数ブロック（Ａ１２０１）の要素の種類、順序はこれに限定されるものではなく、上記構成要素を含むものであれば順序は問わない。また、関数ブロック（Ａ１２０１）は、上記構成要素を複数含んでも構わない。その場合、Ａ１２０２１〜Ａ１２０５１ｎの構成が複数配置され（Ａ１２０２ｎ〜Ａ１２０５ｎｎ等）、一つの関数ブロックを形成する。
プロトコルのカスタマイズに伴い、使用されるアルゴリズムを変更することになったときは、変更対象となる関数の種類（Ａ１２０３ｋ）（ｋ＝１、２、・・・ｎ）を変更したり、関数ブロックの１レコード（Ａ１２０１ｋ〜Ａ１２０５ｋｎ）を追加または削除をするだけでよく、他の変更は必要としない。
【００５８】
図１３は、図９のコマンドブロック（Ａ９０５）の構造を詳細に示す図である。
このコマンドブロック（Ａ１３０１：図９のコマンドブロック（Ａ９０５））は、プロトコルで実行するコマンドを識別するために利用するＩＤ（Ａ１３０２１）と、サービス提供者装置４０から受信され、当該プロトコルを実行するように指示するプロトコルコマンドを識別する受信コマンドＩＤ（Ａ１３０３１）と、プロトコルで処理する順番を示すコマンド順（Ａ１３０４１）と、コマンドで処理するデータ群（処理データ１〜処理データｎ（Ａ１３０５１１〜Ａ１３０５１ｎ））から構成される。処理データの詳細な構成については以降の図１４に示す。ここで、コマンドブロック（Ａ１３０１）の要素の種類、順序はこれに限定されるものではなく、上記構成要素を含むものであれば順序は問わない。また、コマンドブロック（Ａ１３０１）は、上記構成要素を複数含んでも構わない。その場合、処理データ１〜処理データｎ（Ａ１３０２１〜Ａ１３０５１ｎ）の構成が複数配置され（処理データ１〜処理データｎ（Ａ１３０５ｎ〜Ａ１３０５ｎｎ））、一つのコマンドブロックを形成する。
プロトコルのカスタマイズに伴い、サービスを実行するときのフローを変更することになったときは、変更対象となるコマンド順（Ａ１３０４ｋ）（ｋ＝１、２、・・・ｎ）を変更したり、コマンドブロックの１レコード（Ａ１３０１ｋ〜Ａ１３０５ｋｎ）の追加または削除をするだけでよく、他の変更は必要としない。
【００５９】
図１４は、図１３の処理データ（Ａ１３０５１１〜Ａ１３０５ｎｎ）の構造を詳細に示す図である。
この処理データ（Ａ１４０１：図１３の処理データ１〜処理データｎ（Ａ１３０５１１〜Ａ１３０５ｎｎ））は、処理するデータの構造を示す送受信データ構造（１４０２）と、コマンドで実行する関数インスタンスを識別するＩＤ群（関数インスタンスＩＤ１〜関数インスタンスＩＤｎ（Ａ１４０３１〜Ａ１４０３ｎ））から構成される。ここで、送受信データ構造には、データＩＤ群１〜データＩＤ群ｎ（Ａ１４０４１〜Ａ１４０４ｎ）が記述されており、送信データや受信データの構造を把握するために利用する。処理データ（Ａ１４０１）の中には、データの送受信を行わない関数も記述され、その場合、処理データ（Ａ１４０１）内に送受信データ構造は存在しない。また、処理データの要素の種類、順序はこれに限定されるものではなく、上記構成要素を含むものであれば順序は問わない。
【００６０】
図１５は、図７のＳ７０１で生成するプロトコルコマンドの構造を示す図である。
このプロトコルコマンド（Ａ１５０１：図７のプロトコルコマンド（Ａ７０１））は、プロトコル実行部１０７で実行するプロトコルを識別するために、当該プロトコルを実行するように指示するプロトコルコマンドを識別する受信コマンドＩＤ（Ａ１５０２）と、プロトコル実行に必要となるデータ（Ａ１５０３）から構成される。ここで、プロトコルコマンドの要素の種類、順序はこれに限定されるものではなく、上記構成要素を含むものであれば順序は問わない。
【００６１】
≪まとめ≫
本実施形態によれば、これらの手順を踏んだり、前記データ構造を備えることにより、ＩＣカードで利用するプロトコルの大規模な更新を短時間で安全に（サービスの実行に支障をきたすことなく）実現することが可能となる。
従来は、プロトコルのカスタマイズはサービスを実行するアプリケーション（本実施形態のサービスアプリケーション部４０）が行っていたため、プロトコルのカスタマイズだけでなく、所定の整合性をとるためにアプリケーションの変更も必要とし、煩雑であった。しかし、本発明のように、プロトコルの実行に関する専用の機能部（パラメータ解釈部１０５、パラメータ格納部１０６、プロトコル実行部１０７）を備えたことにより、プロトコルのカスタマイズに伴い、既に示した実行パラメータ（必要に応じてプロトコルコマンド）の要素のうち、変更の必要な要素のみを変更するだけで済み、他の変更を必要とせずに済む。
【００６２】
この発明は、その簡易さのため、銀行のキャッシュカード等といった、プロトコルのカスタマイズを行う機会の少ない個人情報の記憶媒体に対して特に有効である。例えば、利用者が銀行のＡＴＭ（端末）から金銭をいくらか引き出すため、あるプロトコルが実現されているキャッシュカードをそのＡＴＭのカード挿し込み口に入れたとき、利用者は特に意識することなく、かつ、あまり待たせることなく短時間でプロトコルのカスタマイズを、出金と同時に実行することができる。
【００６３】
≪その他≫
なお、本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【００６４】
たとえば、ＩＣカード１０に端末２０の機能が含まれ、ＩＣカード単体でネットワーク３０と接続が可能な場合や、サービス提供者装置４０の代わりに端末２０がＩＣカード１０とプロトコルを実行する場合などである。
該実施形態の場合においてもＩＣカード１０において行う処理に変化はない。
【００６５】
その他、ハードウェア、ソフトウェア、各フローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態が適用されたＩＣカードのプロトコルカスタマイズシステムの構成を説明するための図である。
【図２】図１に示すＩＣカードのハードウェア構成を示す図である。
【図３】図１に示す端末のハードウェア構成を示す図である。
【図４】図１に示すサービス提供者装置のハードウェア構成を示す図である。
【図５】本実施形態の前提である、パラメータ生成装置５０と端末２０とＩＣカード１０とサービス提供者装置４０との間で実行されるフローの全体を簡易的に示した図である。
【図６】本実施形態が適用されたＩＣカードのプロトコルカスタマイズ時に実施するフローを例示する図である。
【図７】本の実施形態が適用されたＩＣカードのプロトコルカスタマイズ後に実施するフローのうち、プロトコルの実行処理に関するフローを例示する図である。
【図８】本実施形態で利用するパラメータの構造を例示する図である。
【図９】本実施形態で利用する実行パラメータの構造を例示する図である。
【図１０】本実施形態で利用する実行パラメータ内のデータブロックの構造を例示する図である。
【図１１】本実施形態で利用する実行パラメータ内の関数インスタンスブロックの構造を例示する図である。
【図１２】本実施形態で利用する実行パラメータ内の関数ブロックの構造を例示する図である。
【図１３】本実施形態で利用する実行パラメータ内のコマンドブロックの構造を例示する図である。
【図１４】本実施形態で利用する実行パラメータ内のコマンドブロックに含まれる処理データの構造を例示する図である。
【図１５】本実施形態で利用するプロトコルコマンドの構造を例示する図である。
【符号の説明】
【００６７】
１０：ＩＣカード（記憶媒体）
１１：入出力装置
１２：ＣＰＵ
１３：耐タンパ記憶装置
１４：耐タンパメモリ
１５：内部通信線
２０：端末
２１：通信装置
２２：入出力装置
２３：ＩＣカード入出力装置
２４：記憶装置
２５：ＣＰＵ
２６：メモリ
２７：読取装置
２８：記憶媒体
２９：内部信号線
３０：ネットワーク
４０１〜４０ｎ：サービス提供者装置
４１：通信装置
４２：入出力装置
４３：記憶装置
４４：ＣＰＵ
４５：メモリ
４６：読取装置
４７：記憶媒体
４８：内部信号線
１０１：データ送受信部（記憶媒体用データ送受信部）
１０２：コマンド解析部
１０３１〜１０３ｎ：サービスアプリケーション部
１０４１〜１０４ｎ：データ保管部
１０５：パラメータ解釈部
１０６：パラメータ格納部
１０７：プロトコル実行部
１０８：鍵保管部（記憶媒体用鍵保管部）
２０１：ＩＣカードアクセス部（記憶媒体アクセス部）
２０２：データ送受信部（端末用データ送受信部）
２０３：コマンド生成部（端末用コマンド生成部）
４０１：通信部（サービス提供者装置用通信部）
４０２：コマンド生成部（サービス提供者装置用コマンド生成部）
４０３：鍵保管部（サービス提供者装置用鍵保管部）
４０４：サービス提供部
５０１：通信部（パラメータ生成装置用通信部）
５０２：コマンド生成部（パラメータ生成装置用コマンド生成部）
５０３：鍵保管部（パラメータ生成装置用鍵保管部）
５０４：パラメータ生成部
Ａ６０１：パラメータ
Ａ６０２：実行パラメータ取得コマンド
Ａ６０３：実行パラメータ
Ａ６０４：更新された実行パラメータ
Ａ６０５：レスポンス
Ａ６０６：実行パラメータ
Ａ６０７：レスポンス
Ａ７０１１〜Ａ７０１ｎ：プロトコルコマンド１〜プロトコルコマンドｎ
Ａ７０２１１〜Ａ７０２ｎｎ：実行パラメータ読込コマンド１〜実行パラメータ読込コマンドｎ
Ａ７０３１１〜Ａ７０３ｎｎ：実行パラメータ１〜実行パラメータｎ
Ａ７０４１〜Ａ７０４ｎ：プロトコルレスポンス１〜プロトコルレスポンスｎ
Ａ８０１：パラメータ
Ａ８０２：更新フラグ
Ａ８０３：実行パラメータ
Ａ９０１：実行パラメータ
Ａ９０２：データブロック
Ａ９０３：関数インスタンスブロック
Ａ９０４：関数ブロック
Ａ９０５：コマンドブロック
Ａ１００１：データブロック
Ａ１００２１〜Ａ１００２ｎ：ＩＤ
Ａ１００３１〜Ａ１００３ｎ：サイズ
Ａ１００４１〜Ａ１００４ｎ：種類
Ａ１００５１〜Ａ１００５ｎ：グループ識別子
Ａ１００６１〜Ａ１００６ｎ：初期値
Ａ１００７１〜Ａ１００７ｎ：取得元
Ａ１００８１〜Ａ１００８ｎ：格納先
Ａ１１０１：関数インスタンスブロック
Ａ１１０２１〜Ａ１１０２ｎ：ＩＤ
Ａ１１０３１〜Ａ１１０３ｎ：出力サイズ
Ａ１１０４１〜Ａ１１０４ｎ：関数ＩＤ
Ａ１２０１：関数ブロック
Ａ１２０２１〜Ａ１２０２ｎ：ＩＤ
Ａ１２０３１〜Ａ１２０３ｎ：種類
Ａ１２０４１１〜Ａ１２０４ｎｎ：データＩＤ１〜データＩＤｎ
Ａ１２０５１１〜Ａ１２０５ｎｎ：関数インスタンスＩＤ１〜関数インスタンスＩＤｎ
Ａ１３０１：コマンドブロック
Ａ１３０２１〜Ａ１３０２ｎ：ＩＤ
Ａ１３０３１〜Ａ１３０３ｎ：受信コマンドＩＤ
Ａ１３０４１〜Ａ１３０４ｎ：コマンド順
Ａ１３０５１１〜Ａ１３０５ｎｎ：処理データ１〜処理データｎ
Ａ１４０１：処理データ
Ａ１４０２：送受信データ構造
Ａ１４０３１〜Ａ１４０３ｎ：関数インスタンスＩＤ１〜関数インスタンスＩＤｎ
Ａ１４０４１〜Ａ１４０４ｎ：データＩＤ１〜データＩＤｎ
Ａ１５０１：プロトコルコマンド
Ａ１５０２：受信コマンドＩＤ
Ａ１５０３：データ
【図１】
2010044602.tif 000003
【図２】
2010044602.tif 000004
【図３】
2010044602.tif 000005
【図４】
2010044602.tif 000006
【図５】
2010044602.tif 000007
【図６】
2010044602.tif 000008
【図７】
2010044602.tif 000009
【図８】
2010044602.tif 000010
【図９】
2010044602.tif 000011
【図１０】
2010044602.tif 000012
【図１１】
2010044602.tif 000013
【図１２】
2010044602.tif 000014
【図１３】
2010044602.tif 000015
【図１４】
2010044602.tif 000016
【図１５】
2010044602.tif 000017