TA3とTB3が存在する。TC3とTD3は存在しない。カードの情報フィールドサイズの初期値および16バイト~254バイトのIFSCを示すIFSIを返す。T0からTCKまでの全ATRバイト(両端含む)の排他的ORがゼロになる。下位ニブルTSイニシャルキャラクタATRシーケンスの最初のキャラクタは、イニシャルキャラクタTSと定義されています。このキャラクタは、そのビットパターンによって情報の同期を行い、後続の全キャラクタの極性を定義します。TSの最初の4ビットは、ローのスタートビットの後に続く、2個のハイビットと、もう1個のロービットで構成されます。この固定ビットパターンによって、タイミングの同期が可能になります。その後の3ビットは、すべてハイで直接変換を示すか、またはすべてローで反転変換を示します。変換の場合、I/Oライン上のハイ状態がロジック1に相当し、最下位ビットから順にデータが送信されます。反転変換の場合、I/Oライン上のロー状態がロジック1に相当し、最上位ビットから順にデータが転送されます。仕様上は反転変換も認められていますが、EMVでは現在のすべてのカード設計について直接変換を使用するよう推奨しています。その後の3ビットは、2個のロービットとそれに続くハイビットです。10ビットキャラクタフレームの最後のビットはパリティビットであり、フレーム内の1の数が偶数になるようにセットまたはクリアされます。T0フォーマットキャラクタATRシーケンスの第2のキャラクタは、フォーマットキャラクタと定義されており、T0と呼ばれます。このキャラクタには2つの部分が含まれており、その両方によって、残りのATRシーケンスに含まれるキャラクタが決定されます。上位4ビットはY1と呼ばれ、TA1、TB1、TC1、またはTD1が送信されるかどうかを示します。Y1中の個々のロジック1に対して、該当するキャラクタの有無が次のように決定されます。1は、キャラクタTA1が送信されることを示すT0の下位4ビットは、Kと呼ばれます。これらのビットは、残りのATRシーケンスに含まれる「ヒストリカルバイト」の数(0~15)を決定します。「ヒストリカルバイト」とは、カードのメーカー、カードに内蔵されているチップ、チップ内のマスクROM、あるいはカードの書換え可能回数など、カードに関する総合的な情報を伝えるものです。7816でもEMV仕様でも、(仮に存在する場合)どのような情報が伝えられるかについて明確には定義していません。前掲の表2では、Y1のビットb7およびb6がハイ、ビットb8およびb5がローになっています(6x)。TC1とTB1が送信され、キャラクタTA1とTD1は送信されないことを示します。プロトコルT=0の場合、キャラクタTB1とTC1だけで基本的ATRシーケンスが終了します。表3では、Y1のビット8もハイになっており、したがってプロトコルT=1の場合はキャラクタTD1も送信されることになります。7816仕様で定義されています。TA1を使用する場合は、上位ニブルと下位ニブルに分解されます。上位ニブルは、クロック信号の周波数を変更するために使用される、クロックレート変換率Fを決定します。下位ニブルは、ATRの後のビット当り時間を調節するために使用することができる、ビットレート調節係数Dを決定します。これらのパラメータがどのように使用されるかは、前出の式2に示されています。1というデフォルト値が使用され、基本的ATRの外部で変更されない限り、以後のデータ交換中も引き続き使用されます。TB1キャラクタTB1キャラクタは、スマートカードのプログラミング電圧の要件に関する情報を伝達します。(IIと呼ばれます)はスマートカードが要求する最大プログラミング電流を伝達します。00でスマートカードの内部でVPP端子が接続されていないことを示します。TC1キャラクタTC1キャラクタはNの値を伝達し、それによって端末からスマートカードに連続して送信するキャラクタ間に追加すべき補助ガードタイムを決定します。この値は、カードから端末に送信されるキャラクタ間や、反対方向に送信される2個のキャラクタ間には適用されません。Nは、補助ガードタイムとして挿入される追加のETUの数を表す2進数です。‘FF’の場合は、キャラクタ間の最小のディレイを使用する必要があります。ETUであり、T=1の場合は11です。Nの値には、0~255の任意の数を指定することができます。ATRでTC1が返されなかった場合、端末は00という値を受信した場合と同様に動作を続行します。この値によってキャラクタの送信にかかる時間が増大する可能性があるため、トランザクションを高速化するために最小の値にすべきです。TD1キャラクタTD1キャラクタは、その後さらにインタフェースバイトが送信されるか、そして(送信される場合)どのプロトコルが使用されるかを示します。キャラクタTD1は、一般形であるキャラクタTDxの特殊な例です。1)が送信されるかどうかを示します。個々のロジック1に対して、後続の送信におけるそれぞれのキャラクタの有無が次のように決定されます。1)が送信されることを示すTD1キャラクタ(一般形はTDx)の下位ニブルには、0x0または0x1のいずれかの値が格納され、それぞれプロトコルT=0またはT=1を示します。プロトコルT=0が使用される場合、ATRシーケンスにキャラクタTD1は含まれず、後続のすべての送信にプロトコルT=0が使用されます。プロトコルT=1が使用される場合は、TD1が含まれ、0x81という値が格納されます。この後者の値は、TD2が存在し、後続のすべての送信にプロトコルT=1が使用されることを示します。7816仕様で定義されています。TA2の有無によって、ATRの後スマートカードがそれぞれ固有モードで動作するかネゴシエート可能モードで動作するかが決まります。TA2が存在しない場合、ネゴシエート可能モードの動作が使用されることを示します。7816仕様で定義されています。キャラクタTB2は、スマートカードが必要とするプログラミング電圧を決めるPI2を伝達します。キャラクタTB2が存在する場合、キャラクタTB1の中のPI1の値よりも優先されます。7816仕様で定義されています。TC2が存在する場合、プロトコルタイプT=0に固有です。カードまたは端末が送信した直前のキャラクタのスタートビットの立上りエッジとの最大間隔を決定する、作業待ち時間整数(WI)を伝達します。作業待ち時間の値は、次式で与えられます。(Eq.3)ここで、Dはビットレート調節係数です(前述のTA1の説明を参照)。0x0Aというデフォルト値を使用するものと見なされます。TD2キャラクタTD2キャラクタは、TD1キャラクタと同一の機能を備えています。詳しくは、前述のTD1の説明を参照してください。表3のプロトコルT=1では、TD2が存在して0x31という値が格納されています。この値は、TA3とTB3が存在し、TC3とTD3は存在せず、プロトコルタイプがT=1になることを示しています。TA3キャラクタTA3キャラクタは、スマートカードの情報フィールドサイズ整数(IFSI)を伝達します。IFSIは、そのカードで受信可能な情報フィールド(INF)ブロックの最大長である、スマートカードの情報フィールドサイズを決定します。フィールドサイズには、0x01~0xFEの範囲の任意の値を指定することができます。0x0と0xFFの2つの値は、将来使用するために予約されています。基本的なATRでT=1プロトコルを使用する場合、TA3の値は0x10~0xFEの範囲になり、16~254バイトの範囲のIFSCを示します。ATRがTA3を含んでいない場合、端末はデフォルト値の0x20であると見なします。TB3キャラクタTB3キャラクタは、キャラクタ待ち時間(CWT)とブロック待ち時間(BWT)の計算に使用する、キャラクタ待ち時間整数(CWI)とブロック待ち時間整数(BWI)の値を示します。TB3の下位ニブル(b1~b4)がCWIの値を示し、上位ニブル(b5~b8)がBWIの値を示します。7816仕様で定義されています。TC3が存在する場合は、使用するブロック誤り検出のタイプを示します。TC3が存在しない場合は、デフォルトの水平冗長検査(LRC)がブロック誤りのチェックに使用されます。TCKキャラクタTCKキャラクタは、チェックキャラクタであり、ATRで送信されるデータの完全性の検証を可能にします。T0からTCKまで(両端含む)のすべてのバイトの排他的ORがゼロになる限り、TCKはどのような値にもなります。TCKは、T=0では使用されませんが、他のすべての場合にATRで返されます。ATRのまとめ端末がATRシーケンスの最後のキャラクタを受信して、必要なパラメータがカードから端末に転送された後、インタフェースパラメータの調整が必要であればDS8007に対して変更を行います。その後で、さらなる通信を開始することができます。アプリケーションプロトコルデータユニット(APDU)前述のように、カードセッションにおける次の段階は、トランザクションの実行です。トランザクション中に実施される具体的な操作は、カードとアカウントの種類(クレジット、デビットなど)およびユーザのリクエスト内容によって異なります。具体的な操作がどのようなものであっても、トランザクションは端末からスマートカードにコマンドを発行することによって達成されます。スマートカードは要求された操作を実施し、必要に応じて結果を通知します。カードの操作には、メモリ内の1つの位置を読み取るような単純なものから、暗号化操作の実行のような複雑なものまであります。どのような操作でも、端末とカードの間の通信は、アプリケーションプロトコルデータユニット(APDU)を使用して行われます。アプリケーションを実行するためには、スマートカードと端末が情報を交換する必要があります。この情報の共有は、コマンド/レスポンス型のデータ交換によって達成されます。端末がコマンドを作成してスマートカードに送信し、スマートカードがコマンドを解釈してレスポンスを送信します。このコマンド/レスポンスのメッセージペアは、アプリケーションプロトコルデータユニット(APDU)と呼ばれます。端末が送信する特定のコマンドメッセージ(C-APDU)に対して、カードから特定のレスポンスメッセージ(R-APDU)が返されます。これらのメッセージを、APDUコマンド/レスポンスペアと呼びます。この2種類のメッセージのフォーマットはEMV仕様で詳細に示されており、それらのフォーマットについて以下で説明します。C-APDUのフォーマットすべてのコマンドAPDUは、端末が発行します。これらは、4バイトの必須ヘッダと、それに続くオプションの可変長の本体で構成され、本体にデータを格納することができます。C-APDUに含まれるデータのバイト数がコマンドバイトLcで指定され、端末がカードのレスポンスで受け取る予定のバイト数がコマンドバイトLeで指定されます。C-APDUのフォーマットを表4に、各キャラクタの説明を表5に示します。0または1コマンドAPDUの最初のバイトは命令クラスと定義されており、CLAと呼ばれます。このバイトは、0xFFを除く任意の8ビット値を取ることができます。現時点では、上位ニブルが0および8の値だけが使用されています。上位ニブルの値が0のものは業界間共通のコマンドと定義されており、値が8のものはEMV仕様に固有です。コマンドAPDUの第2のバイトは命令コードであり、INSと呼ばれます。このバイトは、最下位ビットが0で、上位ニブルが6と9のいずれでもない場合にのみ有効です。必須ヘッダのP1とP2の2バイトには、特定のコマンド用のパラメータが格納され、任意の値を取ることができます。これらのパラメータバイトを使用しない場合は、値を0x00にする必要があります。R-APDU端末からAPDUコマンドを受信して解釈した後、スマートカードはレスポンスを返します。仕様で定義されているように、このレスポンスはオプションの可変長の本体と、それに続く2バイトの必須トレーラで構成されます。このフォーマットを表6に、APDUレスポンスの内容を表7に示します。1予想されるカードのレスポンスの長さは、APDUコマンドのLeコード部分として送信されます。レスポンスの実際の長さはLrと呼ばれます。カードはLrの値を送信しませんが、アプリケーションに必要であれば端末側で計算することができます。コマンドが正常に終了した場合、スマートカードはSW1の値として0x90を、SW2の値として0x00を返します。それ以外のレスポンスは、エラーまたはウォーニングが発生したことを示します2。サンプルコードこのアプリケーションの付属ソフトウェアが、ダウンロード可能ファイルan4029_sw.zipに収録されています。(main.c、ds8007.c、LCD_Funct.c)およびアセンブリ言語(Startup.a51)のソースコードが含まれています。PK51プロフェッショナルデベロッパツールキットおよびμVision®統合開発環境(IDE)を使用しました。μVisionのプロジェクトファイル(ds8007.Uv2)も.zipファイルに含まれています。.HEXファイルのロードと実行は、マキシムから入手可能なDS8007の評価(EV)キットに含まれるDS8007スマートカードインタフェースボード上で行いました。このサンプルソフトウェアは、通電、ATR、APDU、および電源断の各操作を含む、完全なスマートカードセッションを実装しています。ダム端末に接続すると、ボードとソフトウェアによって約38,400baudのRS-232シリアル出力が生成されます。この出力を、次の図4に示します。このソフトウェアの詳しい説明はこのアプリケーションノートの範囲を超えますが、提供されるソースコードをもとに、DS5002セキュアマイクロプロセッサとDS8007マルチプロトコルデュアルスマートカードインタフェースチップを使用して、完全なスマートカードインタフェースを開発することが可能です。(ACS)社製のマイクロコントローラベースのスマートカードを使用しました。(ACOS1)と呼ばれる組込みオペレーティングシステムの機能を実行します。このカードの特徴は、次の通りです。乱数ベースのセッションキーカード所有者が交換可能なPIN相互認証のためのキーペアACOS1のドキュメントによると、このカードはリセットへの応答として19バイトのデータを返します。図4から分かるように、T0で返された値は0xBEです。上位ニブル(0xB)は、TSに加えてTA1、TB1、TD1がATRに含まれることを示しています。低位ニブルには0xEが格納されており、ATRレスポンスに14バイトのヒストリカルバイトが含まれることを示します(前述のキャラクタT0の説明を参照)。したがって、カードからのATRには合計19バイトが含まれます。このサンプルソフトウェアでは、単一のADPUとしてセッション開始コマンドが実行されます。このコマンドのフォーマットは次の通りです。0x08セッション開始コマンドに対するレスポンスのフォーマットは、次の通りです。ステータス図4に示したソフトウェアの出力は、カードから返された乱数が0xCB、0xC4、0xBD、0xD5、0xA4、0x7E、0x36、および0x3Fだったことを示しています。返されたステータスが、コマンドの正常終了を示す0x90、0x00だったことも分かります。結論DS8007は、マイクロコントローラとスマートカードのインタフェースに伴う負担を軽減するミクストシグナル周辺デバイスです。DS8007は、2枚の独立したスマートカードとの物理的インタフェースに必要なすべての電気信号を提供します。UARTも備えています。チャージポンプと電圧レギュレータによって、DS8007は2.7V~6.0Vの電源電圧で動作するとともに、同時に2枚の独立したスマートカード用の電源電圧を生成することができます。後者については、それぞれ1.8V、3.0V、または5Vに設定可能です。マイクロコントローラとの通信は、非多重構成によるデータ伝送または多重構成によるデータとアドレスの伝送を行う標準的な並列8ビットバスによって提供されます。提供されるソフトウェアは、DS5002セキュアマイクロプロセッサおよびDS8007をスマートカードインタフェースに使用して、完全なカードセッションを実装したものです。スマートカードからATRで返されたキャラクタは、ボードのシリアルポートから38400baudで出力され、カードに対して「セッション開始」コマンドAPDUが送信されます。結果の乱数もシリアルポートから出力されます。1出典:ガートナーグループ。China」の2007年9月号に掲載されています。EE-Mail配信の登録申し込みをして、興味のある分野の最新ドキュメントに関する自動通知を受け取る。Inc.このウェブサイトのコンテンツは米国および各国の著作権法によって保護されています。お問い合わせください。totalPrice.value}}保存して後で見る​削除{{else}}購入カートには何も入っていません。無料サンプル​削除{{else}}サンプルカートには何も入っていません。{{else}}購入カートには何も入っていません。注文履歴を見るサンプルカートには何も入っていません。注文履歴を見る{{/each}}×ブックマークブックマークを利用するにはログインが必要です。MAXIMお知らせツールをクリックおよびドラッグしてダッシュボードをカスタマイズすることができます。>ご質問/ご意見をお寄せください。見積もり請求をご検討くださいx注意お客様のアカウントに制限がかけられているためご注文をお受けすることができません。カスタマーサポートまでご連絡ください。申し訳ありませんが、このサイトではビジネス/教育と関係のないEメールアドレスからのサンプル請求は受け付けておりません。マキシムの代理店マキシムにご興味をお持ちいただきどうもありがとうございます。x注意マキシム・インテグレーテッドにご興味をお持ちいただきどうもありがとうございます。マキシムの無料サンプルプログラムは、暦年につきお客様に提供できる数量を限らせていただいております。誤ってこのメッセージをお受け取りになった場合はsamples-admin@maximintegrated.comまでご連絡ください。distributorData.coreStaff.stockValue}}{{distributorData.coreStaff.stockValue}}{{/if}}価格は代理店のサイトにあります。製品IDを選択して、はじめてください。閉じるお客様の見積もり請求にお応えするためには以下情報が必要です。できるだけ詳しくお答えください。見積もり請求を送信キャンセルお客様の見積もり請求が送信されました。価格と入手性について24時間以内にお答えします。全カテゴリ最近行った。