[〜#〜] dukpt [〜#〜] にキーシリアル番号(KSN)に関するいくつかの質問があります。
8/10バイト。標準では常にKSNが10バイト(80ビット)でしたが、左側に0xFFを埋め込んだ小さな値が許可されており、多くの人が8バイトを使用または使用していました。どちらにしても明確なパターンがあるとは言えません。処理するデバイス(またはシステム)が8バイトに制限されている場合は、8バイトを使用します。以下のように、とにかく今は基本的に任意です。
あなたは正しいですほぼ全員がxx-19-21ビットを使用しているようです-= 8バイトでは24-19-21ビットです。 DUKPTはもともと数千ドルの費用がかかるATM用に設計されたことを思い出してください。したがって、512Kは厄介な制限ではありませんでした。現在、人々はそれをマッチボックスに使用しています。技術的にはカウンターパート(xx-21)のみが暗号化に関係するため、プログラム、API、パートナーなどがそれを処理できる場合は、他の境界をシフトできます。慣習に固執する場合、OTOHの方が簡単です。異なるKSIが常に異なるBDKにマップする必要があるということは何もありません。あなたが持つことができます [FFFF]ABAB00-mmmmm
はBDKの最初の512Kデバイスです[〜#〜] a [〜#〜]、ABAB01-mmmmm
は秒512Kなど、ABAB50
は、BDKの最初のバッチです[〜#〜] b [〜#〜]など。数十または数百のバッチ(5,000以上のデバイス)だけを管理する必要がある限り、これは結構です。 5億を超える数が必要な場合は心配しますが、それまでにこれを変更するのに十分な影響力があります。
当初の考えは[〜#〜] ksi [〜#〜]は銀行または銀行のサブパート(ATM、覚えている)を識別し、グローバルに一意であるため、決済ネットワーク内の暗号文はすべて自己-「所属する」人物を特定/確認します。今日、KSIは基本的に恣意的になっているので、はい、好きなものを選択してくださいです。ただし、先頭にゼロがある値は使用しないことをお勧めします。あまりにも多くのものは、数値に見える(16進数に見える)値の先行ゼロは重要ではないと考え、それらを落とす傾向があります。
TRSM ID(またはデバイスID):はい、単に連番を使用します。ただし、-00000-ttttt
および-00001-ttttt
はデバイス0、-00002-ttttt
プラスはデバイス1、... -FFFFE-ttttt
プラスはデバイス0x7FFFFです。