APDU

Daripada Wikipedia, ensiklopedia bebas.
Lompat ke: pandu arah, cari

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]

Pautan luar[sunting | sunting sumber]