APDU
APDU (singkatan untuk application protocol data unit, bermaksud unit data protokol aplikasi) ialah protokol yang digunakan untuk komunikasi antara peranti penerima kad (card acceptance device, CAD) dengan kad pintar. Struktur bagi data yang dihantar daripada CAD kepada kad pintar dan sebaliknya dinyatakan dalam ISO/IEC 7816-4.[1]
Struktur
[sunting | sunting sumber]APDU dihantar secara dua hala, dan dimulakan oleh CAD kepada kad pintar. Pesanan yang dihantar oleh CAD kepada kad pintar dipanggil APDU perintah (command APDU), manakala yang dihantar oleh kad pintar kepada CAD dipanggil APDU jawapan (response APDU).[2]
APDU perintah
[sunting | sunting sumber]APDU perintah terdiri daripada 6 medan seperti yang ditunjukkan dalam jadual di bawah. Bait CLA, INS, P1-P2 adalah wajib manakala bait Lc adalah wajib jika data dinyatakan. Ketiadaan medan Le adalah bergantung kepada arahan yang dinyatakan dalam medan INS. Jika arahan yang nanti dilakukan akan memulangkan data, maka Le patut dinyatakan atau kad akan memulangkan kata status 0x6700 (panjang salah) atau 0x6CXX (panjang yang sepatutnya ialah angka perenambelas XX).[3]
Nama medan | Saiz (bait, B) | Keterangan |
---|---|---|
CLA | 1 | Bait kelas |
INS | 1 | Bait arahan |
P1-P2 | 2 | Parameter-parameter untuk arahan yang dinyatakan dalam bait INS |
Lc | 0, 1 atau 3 | Menyatakan panjang data yang akan menyusul |
Data | Nc | Data yang panjangnya Nc |
Le | 0 hingga 3 | Panjang maksimum (Ne) bagi bait-bait jawapan yang dijangka oleh CAD |
APDU jawapan
[sunting | sunting sumber]Kad pintar sentiasa menghantar jawapan bagi setiap perintah yang dihantar oleh CAD dalam bentuk kata-kata status iaitu dua bait data seperti yang ditunjukkan di bawah. Jawapan itu juga mungkin mengandungi sejujuk data yang panjangnya sama atau kurang daripada yang dinyatakan di medan Le dalam APDU perintah dan mendahului dua bait kata status tadi.
Nama medan | Saiz (bait, B) | Keterangan |
---|---|---|
Data | Nr (maksimum Ne) | Data jawapan |
SW1-SW2 | 2 | Status pemprosesan perintah. |
Rujukan
[sunting | sunting sumber]- ^ Scott Guthery dan Tim Jurgensen. "Interindustry Smart Card Commands (ISO 7816-4) | Smart Card Applications". Smart Card Applications. informit.com. Dicapai pada 1 April 2013. Text "InformIT" ignored (bantuan)
- ^ Julien Simon (7 Ogos 2001). "What is an APDU?". Jguru.com. Dicapai pada 1 April 2013.
- ^ "ISO 7816-4: Interindustry Commands for Interchange". ISO 7816. CardWerk.com. Dicapai pada 1 April 2013.