apdu

APDU ( Application Protocol Data Unit )

ซึ่งมันเป็นมาตรฐานการสื่อสารของ Smart card

โดยมี 2 ประเภท คือ

1. APDU command หรือชุดคำสั่ง

เพื่อทำการส่งไปยัง Smart card

ให้ทำงานตามที่เราต้องการ

ชุดคำสั่งจะประกอบไปด้วย 2 ส่วน คือ Header และ Body

Header เป็นส่วนที่จำเป็นต้องมีเสมอ

ส่วน Body มีหรือไม่มีก็ได้

มาดูโครงสร้างจะเป็นดังรูป

CLA คือ Class of instruction หรือชื่อโปรแกรมคำสั่งที่อยู่ใน Smart card มีขนาด 1 byte

INS คือ Instruction code หรือ code ที่ระบุคำสั่งที่ต้องการให้ทำงาน มีขนาด 1 byte

P1 และ P2 คือ Instruction parameter เป็นส่วนข้อมูลเพิ่มเติมใช้ร่วมกับคำสั่งที่ต้องการให้ทำงาน

ซึ่งทำให้เราสามารถสั่งงานได้มากยิ่งขึ้น มีขนาด 1 byte

Lc คือ ขนาดของข้อมูลที่ส่งไปยัง Smart card มีขนาด 1 byte

Data field คือ ส่วนข้อมูลในชุดคำสั่ง โดยขนาดเปลี่ยนแปลงได้

Le คือ ขนาดของข้อมูลที่ต้องการให้ Smart card ส่งกลับมา ในส่วนของ Response APDU ซึ่งจะอธิบายต่อไป

2. Response APDU หรือ ชุดข้อมูลที่ส่งกลับมาจาก Smart card

ซึ่งจะมีรูปแบบดังรูป

Data field คือข้อมูลที่ส่งกลับมา ขนาดสามารถเปลี่ยนแปลงได้ ซึ่งอาจจะมีหรือไม่มีก็ได้

SW1 และ SW2 มีขนาด 1 byte ทำการเก็บข้อมูลสถานะของการทำงานตาม APDU command ที่ส่งไป

โดยเราจะตรวจสอบการทำงานจากทั้งสองนี่แหละครับ

ตัวอย่างของ SW1 และ SW2 ที่บอกว่าทำงานสำเร็จ ก็คือ 90 00 นะ ส่วน code อื่นๆ มีอีกเพียบครับ

พอรู้ข้อมูลพื้นฐานแล้ว ต่อไปก็คือการลองทดสอบกับอุปกรณ์จริงๆ แล้วครับ

ซึ่งอุปกรณ์แต่ละตัวก็ไม่เหมือนกันเลย ดังนั้นเอกสารของอุปกรณ์สำคัญมากๆ ครับ

Below table details out most used Smart Card Commands to get the data off from the Smart Card