- EF cố định nối vòng (Cyclic EF)
b) Cấu trúc của APDU phản hồ
Hình 3.4: Cấu trúc của APDU phản hồi
APDU phản hồi được gửi bởi thẻ để trả lời cho APDU lệnh. Cấu trúc của APDU phản hồi bao gồm một chi tiết tuỳ chọn (phần body) và phần bắt buộc kèm theo.
Phần chi tiết bao gồm trường ‘data’ có độ dài được xác định bởi trường Le-Feld trong
APDU lệnh tương ứng.
Phần bắt buộc bao gồm hai trường SW1 và SW2 đi cùng với nhau được gọi là từ
trạng thái (Status Word), biểu thị trạng thái xử lý của thẻ sau khi thực hiện APDU lệnh. Chúng ta có lược đồ phân loại cho mã trả về (SW1, SW2) như sau:
Hình 3.5: Mã trả về của SW1, SW2
Từ hình 3.5, nếu từ trạng thái là ‘0x9000’ có nghĩa là một lệnh đã được thực hiện thành công và trọn vẹn.
Trường ‘data’ là tuỳ chọn đối với cả APDU lệnh và APDU phản hồi. Do đó, APDU còn được phân loại thêm 4 loại sau, dựa trên đặc điểm có chứa trường ‘data’ trong APDU lệnh và APDU phản hồi hay không.
- Trường hợp 1: Không có dữ liệu được truyền tới hoặc nhận từ thẻ.
APDU lệnh chỉ chứa header, APDU phản hồi chỉ chứa từ trạng thái.
- Trường hợp 2: Không có dữ liệu được truyền tới thẻ, nhưng có dữ liệu
phản hồi từ thẻ. Chi tiết APDU lệnh chỉ chứa 1 byte trường Le-Feld, nó chỉ rõ số byte dữ liệu cần có trong APDU phản hồi.
- Trường hợp 3: Dữ liệu được truyền tới thẻ, nhưng không có dữ liệu được
trả về do kết quả của quá trình xử lý lệnh. Chi tiết của APDU lệnh bao gồm trường LcFeld và trường ‘data’. Trường Lc-Feld chỉ ra độ dài của trường ‘data’. APDU phản hồi chỉ chứa từ trạng thái.
- Trường hợp 4: Dữ liệu được truyền tới thẻ và dữ liệu được trả về từ thẻ
là kết quả của quá trình xử lý lệnh. Chi tiết APDU lệnh bao gồm trường Lc-Feld, trường ‘data’ và trường Le-Feld. APDU phản hồi bao gồm cả dữ liệu và từ trạng thái.