Nội dung toàn văn Tiêu chuẩn quốc gia TCVN 11167-3:2015 (ISO/IEC 7816-3:2006) về Thẻ định danh – Thẻ mạch tích hợp – Phần 3: Giao diện điện và giao thức truyền
TIÊU CHUẨN QUỐC GIA
TCVN 11167-3:2015
ISO/IEC 7816-3:2006
THẺ DANH ĐỊNH – THẺ MẠCH TÍCH HỢP – PHẦN 3: THẺ TIẾP XÚC – GIAO DIỆN ĐIỆN VÀ GIAO THỨC TRUYỀN
Identification cards – Integrated circuit cards – Part 3: Cards with contacts – Electrical interface and transmission protocols
Lời nói đầu
TCVN 11167-3:2015 hoàn toàn tương đương với ISO/IEC 7816-3:2006
TCVN 11167-3:2015 do Tiểu Ban kỹ thuật tiêu chuẩn quốc gia TCVN/JTC 1/SC 17 “Thẻ nhận dạng” biên soạn, Tổng cục Tiêu chuẩn Đo lường Chất lượng đề nghị, Bộ Khoa học và Công nghệ công bố.
Bộ tiêu chuẩn TCVN 11167 (ISO/IEC 7816) Thẻ định danh – Thẻ mạch tích hợp gồm các tiêu chuẩn sau:
– Phần 1: Thẻ tiếp xúc – Đặc tính vật lý;
– Phần 2: Thẻ tiếp xúc – Kích thước và vị trí tiếp xúc;
– Phần 3: Thẻ tiếp xúc – Giao diện điện và giao thức truyền;
– Phần 4: Tổ chức, an ninh và lệnh trao đổi;
– Phần 5: Đăng ký của bên cung cấp ứng dụng;
– Phần 6: Phần tử dữ liệu liên ngành trong trao đổi;
– Phần 7: Lệnh liên ngành đối với ngôn ngữ truy vấn thẻ có cấu trúc;
– Phần 8: Lệnh đối với hoạt động an ninh;
– Phần 9: Lệnh đối với quản lý thẻ;
– Phần 10: Tín hiệu điện và trả lời để thiết lập lại cho thẻ đồng bộ;
– Phần 11: Xác minh cá nhân bằng phương pháp sinh trắc học;
– Phần 12: Thẻ tiếp xúc – Thủ tục vận hành và giao diện điện tử USB;
– Phần 13: Lệnh đối với quản lý ứng dụng trong môi trường đa ứng dụng;
– Phần 15: Ứng dụng thông tin mã hóa.
THẺ DANH ĐỊNH – THẺ MẠCH TÍCH HỢP – PHẦN 3: THẺ TIẾP XÚC – GIAO DIỆN ĐIỆN VÀ GIAO THỨC TRUYỀN
Identification cards – Integrated circuit cards – Part 3: Cards with contacts – Electrical interface and transmission protocols
1. Phạm vi áp dụng
Tiêu chuẩn này quy định cấu trúc tín hiệu và công suất, trao đổi thông tin giữa thẻ mạch tích hợp và thiết bị giao diện như thiết bị đầu cuối.
Tiêu chuẩn này quy định tốc độ tín hiệu, mức điện áp, giá trị dòng điện, quy ước tương đương, thủ tục vận hành, cơ chế truyền và kết nối với thẻ.
Tiêu chuẩn này không đề cập đến thông tin và nội dung chỉ dẫn như việc định danh bên phát hành và người sử dụng, dịch vụ và giới hạn, đặc tính an ninh, định nghĩa chỉ dẫn và ghi nhật ký.
2. Tài liệu viện dẫn
Các tài liệu viện dẫn sau rất cần thiết cho việc áp dụng tiêu chuẩn này. Đối với các tài liệu viện dẫn ghi năm công bố thì áp dụng phiên bản được nêu. Đối với các tài liệu viện dẫn không ghi năm công bố thì áp dụng phiên bản mới nhất, bao gồm cả các sửa đổi, bổ sung (nếu có).
TCVN 11167-2 (ISO/IEC 7816-2) Thẻ định danh – Thẻ mạch tích hợp – Phần 2: Thẻ tiếp xúc – Kích thước và vị trí tiếp xúc;
TCVN 11167-4 (ISO/IEC 7816-4) Thẻ định danh – Thẻ mạch tích hợp – Phần 4: Tổ chức, an ninh và lệnh trao đổi.
3. Thuật ngữ và định nghĩa
Tiêu chuẩn này áp dụng các thuật ngữ, định nghĩa sau.
3.1. Khối (block)
Chuỗi byte bao gồm hai hay ba trường được quy định là: trường mở đầu, trường thông tin và trường kết thúc.
3.2. Lớp điều kiện vận hành (class of operating conditions)
Tập giá trị đối với điện áp và dòng điện.
3.3. Thiết lập lại lạnh (cold reset)
Thiết lập lại đầu tiên xảy ra sau khi kích hoạt.
3.4. Địa chỉ nút đích (destination node address)
Phần byte địa chỉ nút, xác định bộ thu của khối dự kiến.
3.5. Đơn vị thời gian sơ cấp (elementary time unit)
Khoảng thời gian danh định trong một ký tự không đồng bộ.
3.6. Trường kết thúc (epilogue field)
Trường cuối cùng của khối, truyền mã dò lỗi.
3.7. Thẻ định danh (identification card)
Thẻ xác định bên phát hành và chủ thẻ, có thể truyền dữ liệu được yêu cầu làm đầu vào cho việc sử dụng thẻ có chủ định và theo các giao dịch tiếp theo đó.
[TCVN 11165 (ISO/IEC 7810)]
3.8. Khối thông tin (information block)
Khối mà mục đích chủ yếu là truyền thông tin lớp ứng dụng.
3.9. Trường thông tin (information field)
Trường của khối, thường truyền dữ liệu là dữ liệu ứng dụng.
3.10. Thiết bị giao diện (interface device)
Thiết bị kết nối, thiết bị đầu cuối hay máy mà thẻ được kết nối điện trong suốt quá trình vận hành.
3.11. Byte độ dài (length byte)
Phần trường mở đầu, mã hóa số byte trong trường thông tin của khối.
3.12. Byte địa chỉ nút (node address byte)
Phần trường mở đầu, biểu thị cả địa chỉ nguồn và đích của khối.
3.13. Thẻ vận hành (operating card)
Thẻ có thể thực hiện chuẩn xác tất cả các chức năng của nó.
3.14. Byte thủ tục (process byte)
Byte được truyền bằng thẻ để biểu thị cấp số của lệnh T=0 và kiểm soát sự trao đổi của byte dữ liệu.
3.15. Trường mở đầu (prologue field)
Trường đầu tiên của khối, bao gồm ba byte được quy định: byte địa chỉ nút, byte độ dài và byte kiểm soát giao thức.
3.16. Byte kiểm soát giao thức (protocol control byte)
Phần trường mở đầu, mã hóa thông tin điều khiển truyền.
3.17. Khối sẵn sàng nhận (receive ready block)
Khối truyền số chuỗi-gửi của khối thông tin dự kiến, được sử dụng làm báo nhận dương hoặc âm.
3.18. Mã dư (redundant code)
Nội dung của trường kết thúc, tính từ tất cả các byte trong trường mở đầu và trong trường thông tin.
3.19. Địa chỉ nút nguồn (source node address)
Phần byte địa chỉ nút, xác định bộ truyền của khối.
3.20. Khối giám sát (supervisory block)
Khối truyền thông tin điều khiển truyền.
3.21. Điều khiển truyền (transmission control)
Chức năng được sử dụng để điều khiển truyền dữ liệu giữa thiết bị giao diện và thẻ, bao gồm truyền khối có điều khiển chuỗi, đồng bộ hóa và phục hồi lỗi truyền.
3.22. Thiết lập lại nóng (warm reset)
Các thiết lập không phải là thiết lập lại lạnh.
4. Thuật ngữ viết tắt và ký hiệu
Tiêu chuẩn này áp dụng các thuật ngữ viết tắt và ký hiệu sau.
A, B, C |
cấp điều kiện vận hành |
APDU |
đơn vị dữ liệu giao thức ứng dụng |
BGT |
thời gian bảo vệ khối |
BWI |
số nguyên thời gian chờ khối |
BWT |
thời gian chờ khối |
CGT |
thời gian bảo vệ ký tự |
CIN |
điện dung đầu vào |
CLA |
byle lớp |
CLK |
tiếp xúc đồng hồ |
COUT |
điện dung đầu ra |
CRC |
mã dư tuần hoàn |
CWI |
số nguyên thời gian chờ ký tự |
CWT |
thời gian chờ ký tự |
(C(6) C(7)) |
giá trị kết hợp các byte C(6) và C(7) (byte đầu tiên là byte quan trọng nhất) |
D |
số nguyên điều chỉnh tốc độ truyền |
DAD |
địa chỉ nút đích |
Dd, Di, Dn |
giá trị mặc định, giá trị được biểu thị và giá trị thỏa thuận của D |
etu |
đơn vị thời gian sơ cấp |
F |
số nguyên chuyển đổi tốc độ đồng hồ |
f |
giá trị tần số của tín hiệu đồng hồ được cung cấp cho thẻ bằng thiết bị giao diện |
Fd, Fi, Fn |
giá trị mặc định, giá trị biểu thị và giá trị thỏa thuận của F |
GND |
tiếp xúc đất |
GT |
thời gian bảo vệ |
H |
trạng thái cao |
l-block |
khối thông tin |
Icc |
cường độ tại VCC |
IFS |
kích cỡ trường thông tin tối đa |
IFSC |
IFS đối với thẻ |
IFSD |
IFS đối với thiết bị giao diện |
IIH |
dòng điện đầu vào mức cao |
IIL |
dòng điện đầu vào mức thấp |
INF |
trường thông tin |
INS |
byte chỉ dẫn |
IOH |
dòng điện đầu ra mức cao |
IOL |
dòng điện đầu ra mức thấp |
l/O |
tiếp xúc đầu vào/đầu ra |
L |
trạng thái thấp |
Trường Lc |
trường độ dài để mã hóa số Nc |
Trường Le |
trường độ dài để mã hóa số Ne |
LEN |
byte độ dài |
LRC |
mã dư dọc |
N |
số nguyên thời gian bảo vệ bổ sung |
NAD |
byte địa chỉ nút |
Na |
số chính xác của byte dữ liệu có sẵn |
Nc |
số byte trong trường dữ liệu lệnh |
Ne |
số tối đa các byte dự kiến trong trường dữ liệu hồi đáp |
Nm |
số byte dữ liệu còn lại |
Nr |
số byte trong trường dữ liệu hồi đáp |
Nx |
số byte dữ liệu bổ sung vẫn sẵn có |
OSI |
liên kết hệ thống mở |
PCB |
byte điều khiển giao thức |
PPS |
lựa chọn thông số và giao thức |
P1 P2 |
byte thông số |
R-block |
khối sẵn sàng nhận |
RFU |
dành riêng để sử dụng sau này |
RST |
tiếp xúc thiết lập lại |
SAD |
địa chỉ nút nguồn |
S-block |
khối giám sát |
SPU |
tiếp xúc sử dụng độc quyền hoặc tiêu chuẩn |
Trạng thái H |
mức điện cao |
Trạng thái L |
mức điện thấp |
SW1 SW2 |
byte trạng thái |
T |
loại |
T=0 |
truyền bán song công của ký tự |
T=1 |
truyền bán song công của khối |
TA, TB, … |
byte giao diện |
TCK |
ký tự kiểm tra |
tF |
thời gian giảm, từ 90 % đến 10 % của biên độ tín hiệu |
TPDU |
đơn vị dữ liệu giao thức truyền |
tR |
thời gian tăng, từ 10 % đến 90 % của biên độ tín hiệu |
TS |
ký tự ban đầu |
T0 |
byte định dạng |
T1, T2, … |
byte lịch sử |
UCC |
điện áp tại VCC |
UIH |
điện áp đầu vào mức cao |
UIL |
điện áp đầu vào mức thấp |
UOH |
điện áp đầu ra mức cao |
UOL |
điện áp đầu ra mức thấp |
CHÚ THÍCH |
Theo TCVN 6398 (ISO 31), kí hiệu: UCC, UIH, UIL, UOH và UOL thay thế cho ký hiệu trước đó: VCC, VIH, VIL, VOH và VOL. |
VCC |
tiếp xúc nguồn cấp |
Wl |
số nguyên thời gian chờ |
WT |
thời gian chờ |
WTX |
mở rộng thời gian chờ |
X |
chỉ số ngừng đồng hồ |
Y |
chỉ số lớp |
‘XY’ |
ký hiệu sử dụng số thập lục phân từ ‘0’ đến ‘9’ và từ ‘A’ đến ‘F’, bằng với XY theo cơ số 16 |
5. Đặc tính điện
5.1. Tổng quát
5.1.1. Ấn định tiếp xúc
Kích cỡ và vị trí của tiếp xúc được quy định trong TCVN 11167-2 (ISO/IEC 7816-2).
Tiêu chuẩn này hỗ trợ ít nhất các tiếp xúc sau:
– C1: đầu vào công suất cung cấp (VCC, xem 5.2.1)
– C2: đầu vào tín hiệu thiết lập lại (RST, xem 5.2.2)
– C3: đầu vào tín hiệu đồng hồ (CLK, xem 5.2.3)
– C5: tiếp xúc đất (GND, điện áp tham chiếu)
– C6: sử dụng độc quyền hoặc tiêu chuẩn (SPU, xem 5.2.4)
– C7: đầu vào/đầu ra đối với dữ liệu chuỗi (l/O, xem 5.2.5).
CHÚ THÍCH Tiêu chuẩn này không sử dụng tiếp xúc C6 được bên sản xuất thẻ quy định về thẻ có lập trình công suất từ năm 1990.
5.1.2. Quy ước đo
Theo định nghĩa, khi thẻ và thiết bị giao diện được kết nối cơ học, mỗi tiếp xúc của thẻ và tiếp xúc của thiết bị giao diện tương ứng cùng nhau tạo thành “mạch điện”.
Tất cả các phép đo trên mạch điện được quy định đối với GND và nằm trong dải nhiệt độ môi trường từ 0 °C đến 500 °C. Tất cả các dòng chạy trong thẻ được coi là đại lượng dương. Tất cả các định thời phải được đo đối với các mức ngưỡng thích hợp.
Theo định nghĩa, mạch điện “không hoạt động” khi điện áp đối với GND vẫn duy trì trong khoảng 0 V và 0,4 V đối với dòng điện nhỏ hơn 1 mA chạy trong thiết bị giao diện.
5.1.3. Cấp điều kiện vận hành
Tiêu chuẩn này quy định ba cấp điều kiện vận hành, dựa trên điện áp cung cấp danh định được quy định cho thẻ bởi thiết bị giao diện thông qua VCC.
– 5 V đối với cấp A,
– 3 V đối với cấp B,
– 1,8 V đối với cấp C.
Thẻ phải hỗ trợ một hay nhiều cấp. Nếu thiết bị giao diện áp dụng một cấp được hỗ trợ bởi thẻ thì thẻ phải vận hành như quy định.
– Nếu thẻ hỗ trợ nhiều hơn một cấp, các cấp này phải liên tiếp.
– Nếu thiết bị giao diện đề xuất nhiều hơn một cấp, thứ tự áp dụng các cấp này không nằm trong phạm vi của tiêu chuẩn này.
Thẻ không bị tổn hại khi thiết bị giao diện áp dụng cấp không được hỗ trợ bởi thẻ (theo định nghĩa, thẻ bị tổn hại không còn vận hành như quy định hoặc thẻ chứa dữ liệu sai lệch).
5.2. Tiếp xúc
5.2.1. VCC (C1)
Tiếp xúc này được sử dụng để cấp nguồn cho thẻ.
Bảng 1 – Đặc tính điện của VCC ở điều kiện vận hành thông thường
Ký hiệu |
Điều kiện |
Tối thiểu |
Tối đa |
Đơn vị |
Ucc |
Cấp A Cấp B Cấp C |
4,5 2,7 1,62 |
5,5 3,3 1,98 |
V |
Icc |
Cấp A, ở tần số cho phép tối đa Cấp B, ở tần số cho phép tối đa Cấp C, ở tần số cho phép tối đa Khi đồng hồ ngừng, xem 6.3.2 |
|
60 50 30 0,5 |
mA |
Giá trị dòng điện là trung bình tính trên 1 mili-giây |
Dòng điện tối đa được quy định cho thẻ. Thiết bị giao diện phải phân phối dòng điện này trong dải quy định cho giá trị điện áp và có thể phân phối nhiều hơn nữa. Công suất cung cấp phải duy trì giá trị điện áp trong dải quy định dù công suất tiêu thụ tạm thời được quy định trong Bảng 2.
Bảng 2 – Spike trên Icc
Lớp |
Nạp tối đa a |
Khoảng thời gian tối đa |
Biến thiên tối đa b của Icc |
A |
20 nA.s |
400 ns |
100 mA |
B |
10 nA.s |
400 ns |
50 mA |
C |
6 nA.s |
400 ns |
30 mA |
a nạp tối đa bằng một nửa tích của khoảng thời gian tối đa và biến thiên tối đa. b biến thiên tối đa là sự khác biệt giữa dòng điện cung cấp đối với giá trị trung bình. |
5.2.2. RST (C2)
Tiếp xúc này được sử dụng để cung cấp tín hiện thiết lập lại cho thẻ. Xem 6.2.2 (thiết lập lại lạnh) và 6.2.3 (thiết lập lại nóng).
Bảng 3 – Đặc tính điện của RST ở điều kiện vận hành thông thường
Ký hiệu |
Điều kiện |
Tối thiểu |
Tối đa |
Đơn vị |
UIH IIH |
UIH |
0,8 UCC -20 |
UCC +150 |
V mA |
UIL IIL |
UIL |
0 -200 |
0,12 UCC +20 |
V mA |
tR tF |
CIN = 30 pF |
|
1 |
mS |
Điện áp phải duy trì trong khoảng -0,3 V và UCC + 0,3 V |
5.2.3. CLK (C3)
Tiếp xúc này được sử dụng để cung cấp tín hiệu đồng hồ cho thẻ. Giá trị thực tế của tần số tín hiệu đồng hồ được biểu thị là f. Giá trị tối thiểu phải là 1 MHz. Ít nhất trong quá trình kích hoạt (xem 6.2.1) và thiết lập lại lạnh (xem 6.2.2), giá trị tối đa phải là 5 MHz. Giá trị tối đa được thẻ hỗ trợ, xem Bảng 7.
Nếu không có quy định khác, chu kỳ hoạt động của tín hiệu đồng hồ phải trong khoảng 40 % và 60 % trong quá trình vận hành ổn định. Khi chuyển tần số từ một giá trị thành giá trị khác, cần đảm bảo rằng không xung nào được ngắn hơn 40 % của chu kỳ ngắn nhất được thẻ cho phép (xem tần số tối đa trong Bảng 7). Thông tin không được trao đổi khi chuyển giá trị tần số. Có hai lần khác nhau để chuyển giá trị tần số, hoặc:
– Sau khi hoàn tất một trả lời để thiết lập lại (xem 8.1) trong khi thẻ đang chờ ký tự, hoặc
– Sau khi hoàn tất thành công một trao đổi PPS (xem 9.3) trong khi thẻ đang chờ ký tự.
Bảng 4 – Đặc tính điện của CLK ở điều kiện vận hành thông thường
Ký hiệu |
Điều kiện |
Tối thiểu |
Tối đa |
Đơn vị |
UIH IIH |
UIH |
0,7 UCC -20 |
UCC +100 |
V mA |
UIL UIL IIL |
Cấp A và cấp B Cấp C UIL |
0 0 -100 |
0,5 0,2 UCC +20 |
V V mA |
tR tF |
CIN = 30 pF |
|
9 % chu trình |
mS |
Điện áp phải duy trì trong khoảng -0,3 V và UCC + 0,3 V |
5.2.4. SPU (C6)
Tiếp xúc này luôn sẵn có đối với việc sử dụng tiêu chuẩn hay độc quyền, như: làm đầu vào và/hoặc đầu ra.
Phụ thuộc vào liệu thẻ có sử dụng SPU hay không, TB đầu tiên đối với T=15 phải xuất hiện hoặc không xuất hiện trong Answer-to-Reset: byte giao diện chung này (xem 8.3) biểu thị liệu cách sử dụng là tiêu chuẩn hay độc quyền. Cơ quan có thẩm quyền dành riêng tiêu chuẩn này để sử dụng sau này.
Khi thẻ được cấp nguồn qua VCC, nếu tiếp xúc C6 được kết nối trong thiết bị giao diện thì điện áp phải duy trì trong khoảng -0,3 V và UCC + 0,3 V.
Không thẻ nào bị tổn hại bởi thiết bị giao diện khi tiếp xúc C6 được kết nối với VCC hoặc GND do thiết bị giao diện tuân thủ phiên bản cũ (ISO/IEC 7816-3:1997).
5.2.5. l/O (C7)
Tiếp xúc này được sử dụng làm đầu vào (chế độ nhận) hay đầu ra (chế độ truyền). Trao đổi thông tin sử dụng hai trạng thái của mạch điện như sau:
– Trạng thái H nếu thẻ và thiết bị giao diện ở chế độ nhận hoặc nếu bộ truyền áp đặt trạng thái này;
– Trạng thái L nếu bộ truyền áp đặt trạng thái này.
Khi cả thẻ và thiết bị giao diện ở chế độ nhận, mạch điện phải ở trạng thái H. Khi thẻ và thiết bị giao diện ở chế độ truyền không tương thích, trạng thái có thể là bất định. Trong suốt quá trình vận hành, thiết bị giao diện và thẻ không được đồng thời ở chế độ truyền.
Thiết bị giao diện cần hỗ trợ dải dòng điện đầu vào được quy định khi điện áp đầu vào nằm trong dải cho phép. Trở kháng này xuất hiện do thiết bị giao diện thẻ phải cho phép thẻ giữ điện áp đầu ra trong dải quy định.
Bảng 5 – Đặc tính điện của I/O ở điều kiện vận hành thông thường
Ký hiệu |
Điều kiện |
Tối thiểu |
Tối đa |
Đơn vị |
UIH IIH |
UIH |
0,7 UCC -300 |
UCC +20 |
V mA |
UIL IIL |
UIL |
0 -1000 |
0,15 UCC +20 |
V mA |
UOH IOH |
Điện trở kéo ngoài: 20 kW đối với UCC UOH và điện trở kéo ngoài: 20 kW đối với UCC |
0,7 UCC |
UCC +20 |
V mA |
UOL |
IOL = 1 mA đối với cấp A a và cấp B a IOL = 500 mA đối với cấp C a |
0 |
0,15 UCC |
V |
tR tF |
CIN = 30 pF; COUT = 30 pF |
|
1 |
ms |
Điện áp phải duy trì trong khoảng -0,3 V và UCC + 0,3 V |
||||
a Các thiết lập thiết bị giao diện không yêu cầu thẻ chứa hơn 500 mA. |
6. Quy trình vận hành thẻ
6.1. Nguyên tắc hoạt động
Mạch điện không duy trì kích hoạt cho đến khi tiếp xúc thẻ được kết nối cơ học với tiếp xúc của thiết bị giao diện. Tương tác giữa thiết bị giao diện và thẻ cần được thực hiện bằng chuỗi thao tác sau:
– Thiết bị giao diện phải áp dụng một cấp điều kiện vận hành cho mạch điện, chẳng hạn: kích hoạt, thiết lập lại lạnh và có một hay nhiều thiết lập lại nóng. Nếu thẻ hỗ trợ cấp này, nó phải trả lời để thiết lập lại theo Điều 8. Thiết bị giao diện kết thúc với một Answer-to-Reset có hợp lệ và hoàn thiện và một cấp điều kiện vận hành. Thiết bị giao diện cần lặp lại toàn bộ thao tác này.
– Để trao đổi thông tin, thẻ và thiết bị giao diện phải thống nhất giao thức truyền và giá trị của thông số truyền. Điều 10 quy định T=0, truyền bán song công các ký tự có thiết bị giao diện làm chủ. Điều 11 quy định T=1, truyền bán song công của khối. Điều 12 quy định truyền cặp lệnh-hồi đáp theo T=0 và T=1. Khi không truyền từ thẻ (ví dụ: sau khi xử lý cặp lệnh-hồi đáp và trước khi khởi tạo bước kế tiếp), thiết bị giao diện có thể ngừng tín hiệu đồng hồ nếu thẻ hỗ trợ ngừng đồng hồ.
– Thiết bị giao diện cần bỏ kích hoạt.
Việc bỏ kích hoạt phải hoàn thành trước khi ngừng kết nối cơ học giữa tiếp xúc của thẻ và tiếp xúc của thiết bị giao diện.
6.2. Kích hoạt, thiết lập tại và lựa chọn lớp
6.2.1. Kích hoạt
Để khởi tạo một tương tác với thẻ được kết nối cơ học, thiết bị giao diện phải kích hoạt mạch điện theo cấp điều kiện vận hành: A, B hoặc C, xem 5.1.3 theo trình tự sau:
– RST phải đặt ở trạng thái L, xem 5.2.2.
– VCC phải được cấp nguồn, xem 5.2.1.
– I/O trong thiết bị giao diện phải được đặt ở chế độ nhận, xem 5.2.5. Thiết bị giao diện cần bỏ qua trạng thái trên l/O trong suốt quá trình kích hoạt.
– CLK phải cung cấp tín hiệu đồng hồ, xem 5.2.3.
CHÚ THÍCH 1 Độ trễ giữa việc cấp nguồn VCC, thiết lập l/O ở chế độ nhận và cung cấp tín hiệu đầu vào trên CLK không được quy định.
CHÚ THÍCH 2 Thiết bị giao diện có thể thực hiện bỏ kích hoạt do đoản mạch.
Hình 1 tóm tắt quá trình kích hoạt (trước thời gian Ta) và thiết lập lại lạnh (sau thời gian Ta).
Hình 1 – Kích hoạt và thiết lập lại lạnh
6.2.2. Thiết lập lại lạnh
Vào cuối giai đoạn kích hoạt (RST ở trạng thái L, VCC được cấp nguồn, l/O ở chế độ nhận trong thiết bị giao diện, CLK được cung cấp tín hiệu đồng hồ ổn định và thích hợp), thẻ sẵn sàng cho một thiết lập lại lạnh. Trạng thái nội bộ thẻ không được quy định trước một thiết lập lại lạnh.
Trong Hình 1, tín hiệu đồng hồ được áp dụng cho CLK tại thời điểm Ta. Thẻ phải thiết lập l/O ở trạng thái H trong 200 chu kỳ đồng hồ (trễ ta) sau khi tín hiệu đồng hồ được áp dụng đối với CLK (tại thời điểm Ta + tc). Thiết lập lại lạnh do duy trì RST ở trạng thái L trong ít nhất 400 chu kỳ đồng hồ (trễ tb) sau khi tín hiệu đồng hồ được áp dụng đối với CLK (tại thời điểm Ta + tb). Thiết bị giao diện phải bỏ qua trạng thái trên l/O trong khi RST ở trạng thái L.
Tại thời điểm Tb, RST đặt ở trạng thái H. Trả lời trên l/O phải bắt đầu trong khoảng 400 và 40 000 chu kỳ đồng hồ (trễ tc) sau mép lên của tín hiệu trên RST (tại thời điểm Tb + tc). Nếu trả lời không bắt đầu trong 40 000 chu kỳ đồng hồ với RST ở trạng thái H, thiết bị giao diện phải bỏ kích hoạt.
6.2.3. Thiết lập lại nóng
Trả lời cho thiết lập lại nóng có thể khác với trả lời cho với thiết lập lại trước đó, thiết bị giao diện có thể thiết lập lại nóng cho thẻ tại bất kỳ thời điểm nào, thậm chí trong suốt quá trình trả lời để thiết lập lại, nhưng không phải trước khi nhận các ký tự bắt buộc TS và T0 (xem 8.1). Thiết lập lại nóng không được khởi tạo ít hơn 4 464 (= 12 x 372) chu kỳ đồng hồ sau mép đầu của ký tự T0.
CẢNH BÁO Thiết lập lại nóng khởi tạo trong suốt quá trình trả lời để thiết lập lại có thể gây tổn hại cho thẻ tuân theo phiên bản cũ (ISO/IEC 7816:1997).
Trong Hình 2, thiết bị giao diện khởi tạo thiết lập lại nóng (tại thời điểm Tc) bằng cách đặt RST ở trạng thái L với ít nhất 400 chu kỳ đồng hồ (trễ te) trong khi VCC vẫn được cấp nguồn và CLK được cung cấp tín hiệu đồng hồ ổn định và thích hợp. Thẻ phải thiết lập l/O ở trạng thái H trong 200 chu kỳ đồng hồ (trễ td) sau khi trạng thái L được áp dụng đối với RST (tại thời điểm Tc + td). Thiết bị giao diện phải bỏ qua trạng thái trên I/O trong khi RST ở trạng thái L.
Tại thời điểm Td, RST được đặt ở trạng thái H. Trả lời trên I/O phải bắt đầu trong khoảng 400 và 40 000 chu kỳ đồng hồ (trễ tf) sau mép lên của tín hiệu trên RST (tại thời điểm Td + tf). Nếu trả lời không bắt đầu trong 40 000 chu kỳ đồng hồ với RST tại trạng thái H, thiết bị giao diện phải bỏ kích hoạt.
Hình 2 – Thiết lập lại nóng
6.2.4. Lựa chọn lớp
Hình 3 mô tả nguyên tắc lựa chọn cấp điều kiện vận hành. Hình này không toàn diện.
– Nếu Answer-to-Reset mang chỉ số cấp biểu thị cấp được áp dụng (xem TA đầu tiên đối với T=15 trong 8.2) thì thao tác thông thường có thể tiếp tục. Cách khác, thiết bị giao diện có thể bỏ kích hoạt và sau khi trễ ít nhất 10 mili-giây, áp dụng cấp khác được hỗ trợ bởi thẻ.
– Nếu Answer-to-Reset không mang chỉ số cấp thì thiết bị giao diện phải duy trì cấp hiện tại. Nếu thẻ không vận hành sau khi hoàn tất việc trả lời để thiết lập lại thì thiết bị giao diện phải bỏ kích hoạt và sau khi trễ ít nhất 10 mili-giây, có thể áp dụng cấp khác.
– Nếu thẻ không trả lời để thiết lập lại thì thiết bị giao diện phải bỏ kích hoạt và hoặc:
· Sau khi trễ ít nhất 10 mili-giây, áp dụng cấp khác, nếu có, hoặc
· Hủy quy trình lựa chọn.
Sau khi hủy quy trình lựa chọn, thiết bị giao diện có thể khởi tạo quy trình lựa chọn khác.
Hình 3 – Lựa chọn cấp bởi thiết bị giao diện
Ngay khi được lựa chọn, cấp này không được thay đổi trong suốt quá trình vận hành thông thường. Để thay đổi, thiết bị giao diện phải bỏ kích hoạt và sau khi trễ ít nhất 10 mili-giây, áp dụng cấp khác.
6.3. Trao đổi thông tin
6.3.1. Lựa chọn giao thức và thông số truyền
Sau khi hoàn thành việc trả lời để thiết lập lại, thẻ phải chờ ký tự từ thiết bị giao diện: việc truyền các ký tự này được kiểm soát bởi thông số truyền (xem 7.1); sự diễn dịch của chúng được kiểm soát bởi giao thức (xem Điều 9, 10 và 11). Hình 4 mô tả nguyên tắc lựa chọn giao thức và thông số truyền.
– Nếu TA2 (xem 8.3) xuất hiện trong Answer-to-Reset (thẻ ở chế độ cụ thể) thì thiết bị giao diện phải bắt đầu giao thức truyền cụ thể sử dụng các giá trị cụ thể của thông số truyền.
– Mặt khác (thẻ ở chế độ thỏa thuận), đối với thông số truyền, các giá trị được sử dụng trong suốt quá trình trả lời để thiết lập lại (chẳng hạn giá trị mặc định của thông số truyền, xem 8.1) phải tiếp tục áp dụng như sau:
· Nếu giá trị của ký tự đầu tiên được nhận bởi thẻ là ‘FF’ thì thiết bị giao diện phải được bắt đầu một trao đổi PPS (xem Điều 9); giá trị mặc định của thông số truyền cần tiếp tục áp dụng cho đến khi hoàn thiện trao đổi PPS (xem 9.3), sau đó thiết bị giao diện phải bắt đầu giao thức truyền thỏa thuận sử dụng giá trị thỏa thuận của thông số truyền.
· Mặt khác, thiết bị giao diện phải bắt đầu “giao thức truyền được đưa ra lần đầu” (xem TD1, trong 8.2.3). Thiết bị giao diện phải làm vậy khi thẻ đưa ra chỉ một giao thức truyền và chỉ có giá trị mặc định của thông số truyền. Thẻ này không cần hỗ trợ trao đổi PPS.
Hình 4 – Lựa chọn giao thức và thông số truyền
CHÚ THÍCH 1 Giá trị của PPSS (‘FF’, xem 9.2) không hợp lệ đối với CLA (T=0, xem 10.3.2) và đối với NAD (T=1, xem 11.3.2.1).
CHÚ THÍCH 2 Trong thẻ đa giao thức, việc đưa ra T=0 ở chế độ thỏa thuận, chỉ có T=0 có thể được lựa chọn “hàm ý”.
CHÚ THÍCH 3 Thiết bị giao diện đối nghịch với thẻ ở chế độ thỏa thuận và không hỗ trợ cả trao đổi PPS lẫn “giao thức truyền được đưa ra lần đầu” có thể thực hiện cả thiết lập lại nóng hay bỏ kích hoạt.
CHÚ THÍCH 4 Thẻ truyền ký tự TA2 đến thiết bị giao diện không quan tâm đến chế độ cụ thể thì không thể dựa vào thiết lập lại nóng để chuyển chế độ.
CHÚ THÍCH 5 Thiết bị giao diện có ký tự dò tìm TA2 không khởi tạo một thiết lập lại nóng trước khi dò hoặc một giá trị không được hỗ trợ trong ký tự nhận, hoặc sự tràn WT (xem 7.2).
6.3.2. Ngừng đồng hồ
Đối với thẻ hỗ trợ ngừng đồng hồ, khi thiết bị giao diện muốn không có truyền tải nào từ thẻ và khi l/O duy trì ở trạng thái H trong ít nhất 1 860 chu kỳ đồng hồ (trễ tg) thì theo Hình 5, thiết bị giao diện có thể dừng đồng hồ ở CLK (tại thời điểm Te) trong khi VCC vẫn được cấp nguồn và RST ở trạng thái H.
Hình 5 – Ngừng đồng hồ
Khi đồng hồ bị ngừng (từ thời điểm Te đến thời điểm Tt), CLK phải được duy trì cả ở trạng thái H hay trạng thái L theo chỉ số ngừng đồng hồ X được quy định trong 8.3.
Tại thời điểm Tf, thiết bị giao diện khởi động lại đồng hồ và trao đổi thông tin trên l/O có thể tiếp diễn sau ít nhất 700 chu kỳ đồng hồ (tại thời điểm Tf + tn).
6.4. Bỏ kích hoạt
Khi việc trao đổi thông tin hoàn tất hoặc bị hủy (ví dụ: thẻ không trả lời, phát hiện việc gỡ bỏ thẻ), thiết bị giao diện phải bỏ kích hoạt mạch điện theo trình tự sau (xem Hình 6):
– RST phải đặt ở trạng thái L,
– CLK phải đặt ở trạng thái L (trừ khi đồng hồ đã ngừng ở trạng thái L)
– I/O phải đặt ở trạng thái L,
– VCC phải bỏ kích hoạt.
Hình 6 – Bỏ kích hoạt
7. Ký tự không đồng bộ
7.1. Đơn vị thời gian sơ cấp
Khoảng thời gian danh định ở một thời điểm trên mạch điện l/O được đặt tên là “đơn vị thời gian sơ cấp” và được biểu thị là etu. etu bằng với chu kỳ đồng hồ F I D trên mạch điện CLK mà F và D là thông số truyền: F là số nguyên chuyển đổi tốc độ đồng hồ và D là số nguyên điều chỉnh tốc độ truyền.
Giá trị của thông số truyền được quy định trong 6.3.1.
7.2. Khung ký tự
Trong Hình 7, một ký tự bao gồm 10 thời điểm liên tiếp được đánh số từ 1 đến 10. Mỗi thời điểm hoặc ở trạng thái H hoặc ở trạng thái L.
– Trước thời điểm 1, mạch điện l/O phải ở trạng thái H.
– Thời điểm 1 phải ở trạng thái L là bắt đầu đặc tính.
– Các thời điểm từ 2 đến 9 phải mã hóa byte theo chuyển đổi mã hóa (xem TS trong 8.1)
– Thời điểm 10 phải mã hóa sự tương đương của ký tự.
– Sau thời điểm 10, cả thẻ và thiết bị giao diện phải duy trì ở chế độ nhận (trong thao tác không lỗi) trong một thời gian cụ thể “tạm dừng”, sao cho mạch điện l/O duy trì ở trạng thái H.
Hình 7 – Khung ký tự
Hình 8 mô tả các định thời ký tự: chẵn với dịch chuyển tối đa giữa gốc thời gian bộ thu và gốc thời gian bộ truyền, cửa sổ thu phải khác biệt hoàn toàn với cửa sổ truyền.
Hình 8 – Định thời ký tự
Trong mỗi ký tự, nếu trạng thái thay đổi ở cuối thời điểm n đối với bất kỳ giá trị n nào từ 1 đến 10 thì độ trễ từ mép đầu ký tự đến mép sau ở thời điểm n phải là (n±0,2) etu.
Khi tìm kiếm ký tự, bộ thu lấy mẫu mạch điện l/O định kỳ. Trong khi gốc thời gian bộ truyền là mép đầu ký tự, gốc thời gian bộ thu là giá trị trung bình giữa lần quan sát cuối cùng ở trạng thái H và lần quan sát đầu tiên ở trạng thái L: dịch chuyển giữa gốc thời gian nhiều nhất là nửa thời gian lấy mẫu. Thời gian lấy mẫu phải ít hơn 0,2 etu.
Bộ thu phải xác nhận thời điểm bắt đầu trước 0,7 etu (theo thời gian nhận). Bộ thu phải đọc thời điểm thứ hai ở (1,5±0,2) etu, thời điểm thứ ba ở (2,5±0,2) etu, … thời điểm thứ chín ở (8,5±0,2) etu và thời điểm tương đương ở (9,5±0,2) etu. Tính chẵn lẻ của ký tự được kiểm tra trong tiến trình.
Độ trễ tối thiểu giữa mép đầu của hai ký tự liên tiếp được đặt tên là “thời gian bảo vệ” và được biểu thị là GT.
Độ trễ tối đa giữa mép đầu của ký tự được truyền bằng thẻ và mép đầu của ký tự trước đó (được truyền bằng thẻ hoặc thiết bị giao diện) được đặt tên là “thời gian chờ” và được biểu thị là WT. Độ trễ này cho phép phát hiện một thẻ không trả lời.
CHÚ THÍCH Trong tiêu chuẩn này, thời gian bảo vệ/thời gian chờ là độ trễ tối thiểu/tối đa giữa mép đầu của các ký tự liên tiếp.
7.3. Tín hiệu lỗi và lặp ký tự
Việc sử dụng tín hiệu lỗi và lặp ký tự là phụ thuộc giao thức: xem 8.1, 9.1, 10.2 và 11.2.
Được trình bày trong Hình 9, khi tính chẵn lẻ của ký tự là khác nhau thì bộ thu phải truyền tín hiệu lỗi trên mạch điện l/O. Sau đó bộ thu cần lặp ký tự.
Hình 9 – Truyền ký tự và sơ đồ lặp
Hình 10 mô tả các định thời tín hiệu lỗi
Hình 10 – Định thời tín hiệu lỗi
– Để phát tín hiệu lỗi, bộ thu phải đặt l/O ở trạng thái L tại (9,5±0,2) etu theo thời gian bộ thu đối với một etu tối thiểu, hai etu tối đa.
– Để dò một tín hiệu lỗi, bộ truyền phải đọc l/O tại (11±0,2) etu sau mép đầu ký tự.
· Việc thu nhận đúng được giả định nếu trạng thái là H
· Việc thu nhận sai được giả định nếu trạng thái là L. Sau khi trễ ít nhất hai etu từ dò tín hiệu lỗi, bộ truyền phải lặp ký tự.
Nếu cả thẻ hay thiết bị giao diện không quy định việc lặp ký tự, việc lặp bỏ qua và không được gây tổn hại khỏi tín hiệu lỗi đến.
8. Trả lời để thiết lập lại
8.1. Đặc tính và chuyển đổi mã hóa
Etu được sử dụng ban đầu bởi thẻ bằng với 372 chu kỳ đồng hồ (nghĩa là trong quá trình trả lời để thiết lập lại, giá trị của thông số truyền là giá trị mặc định Fd = 372 và Dd = 1). Xem TS bên dưới đối với phép đo khác của etu này. Khung ký tự được quy định trong 7.2 với GT = 12 etu và WT = 9 600 etu. Tín hiệu lỗi và lặp ký tự theo 7.3 là bắt buộc đối với thẻ đưa ra T=0; nó mang tính tùy chọn đối với thiết bị giao diện và đối với các thẻ khác.
Hình 11 trình bày ký tự đầu tiên được đặt tên là “ký tự ban đầu” và được biểu thị là TS, và phần bắt đầu ký tự thứ hai được đặt tên là “ký tự định dạng” và được biểu thị là T0.
Hình 11 – Ký tự ban đầu TS
Ký tự ban đầu TS phải:
– Dạng thời điểm 1 đến 4 phải là LHHL. Chuỗi (H) LHHL là dạng đồng bộ. Khi lấy một phần ba của độ trễ giữa hai mép xuống làm phép đo luân phiên của etu được sử dụng ban đầu bởi thẻ, cơ chế truyền và nhận trong thẻ phải phù hợp với các định thời được quy định trong 7.2 và 7.3.
– Dạng thời điểm 5 đến 7 phải là LLL hoặc HHH. Nó biểu thị chuyển đổi mã hóa hoặc giải mã một byte (nghĩa là 8 bit từ bit quan trọng nhất (msb) đến bit quan trọng ít nhất (Isb) có giá trị 0 và 1) trong mỗi ký tự kế tiếp (nghĩa là 10 thời điểm liên tiếp được đánh số từ 1 đến 10 ở trạng thái L và H).
– Dạng thời điểm 8 đến 10 phải là LLH.
Ký tự ban đầu TS có thể có hai dạng:
– (H) LHHL LLL LLH thiết lập chuyển đổi ngược: trạng thái L mã hóa giá trị 1 và thời điểm 2 truyền bit quan trọng nhất (msb đầu tiên). Khi được giải mã bằng chuyển đổi ngược, byte được truyền bằng với ‘3F’.
– (H) LHHL LLL LLH thiết lập chuyển đổi trực tiếp: trạng thái H mã hóa giá trị 1 và thời điểm 2 truyền bit quan trọng ít nhất (Isb đầu tiên). Khi được giải mã bằng chuyển đổi trực tiếp, byte được truyền bằng với ‘3B’.
Tính chẵn lẻ của ký tự đúng khi có một số chẵn các bit được đặt là 1 trong 9 thời điểm từ 2 đến 10.
Thẻ sử dụng chuyển đổi mã hóa. Thiết bị giao diện hỗ trợ cả các chuyển đổi mã hóa.
Ký tự ban đầu TS được theo sau bởi một chuỗi nhiều nhất 32 ký tự:
– Biểu thị T0, ký tự định dạng mang tính bắt buộc.
– Biểu thị TA TB TC TD, ký tự giao diện mang tính tùy chọn. Sự xuất hiện của ký tự giao diện được biểu thị bằng kỹ thuật ánh xạ bit được khởi tạo bằng ký tự định dạng T0.
– Biểu thị T1, T2, .. Tk, các ký tự lịch sử mang tính tùy chọn. Sự xuất hiện của ký tự lịch sử phụ thuộc vào một số K được mã hóa trong ký tự định dạng T0.
– Biểu thị TCK, ký tự kiểm tra mang tính điều kiện. Sự xuất hiện của ký tự kiểm tra phụ thuộc vào các loại T được mã hóa một vài ký tự giao diện TD.
Theo định nghĩa, việc trả lời để thiết lập lại hoàn tất 12 etu sau mép đầu của ký tự cuối cùng của chuỗi. Theo định nghĩa, Answer-to-Reset là giá trị của chuỗi byte (nhiều nhất 32 byte) được mã hóa trong chuỗi ký tự đó.
8.2. Answer-to-Reset
8.2.1. Cấu hình chung
Hình 12 trình bày khung byte được sử dụng sau đây. Byte bao gồm 8 bit được đánh số từ 8 đến 1 có giá trị 0 hoặc 1; bit 8 là bit quan trọng nhất (msb) và bit 1 là bit ít quan trọng nhất (Isb).
Hình 12 – Khung byte
Bảng 6 mô tả Answer-to-Reset (một chuỗi của tối đa 32 byte). Vì sự đơn giản của ký hiệu, mỗi một T0 TA TB TC TD … T1 T2 … TK và TCK sau đây cũng biểu thị byte được truyền theo ký tự riêng.
Bảng 6 – Answer-to-Reset
8.2.2. Byte định dạng T0
Hình 13 trình bày byte định dạng T0.
– Bit 8 đến 5 tạo thành chỉ số Y1
– Bit 4 đến 1 mã hóa một số K từ 0 đến 15.
Hình 13 – Mã hóa T0
8.2.3. Byte giao diện TA TB TC TD
Hình 14 trình bày byte giao diện TDi. Mỗi byte giao diện TD là có cấu trúc.
– Bit 8 đến 5 tạo thành chỉ số Yi+1
– Bit 4 đến 1 mã hóa một số T từ 0 đến 15.
Hình 14 – Mã hóa TDi
Vì vậy T0 truyền Y1; TDi truyền Y2; TD2 truyền Y3, và tiếp tục như vậy. Trong byte truyền chỉ số Yi, các bit từ 8 đến 5 biểu thị TAi đối với bit 5, TBi đối với bit 6, TCi đối với bit 7, TDi đối với bit 8 liệu có xuất hiện hay không xuất hiện (phụ thuộc vào liệu bit liên quan được được đặt là 1 hay 0) theo thứ tự này sau byte truyền Yi.
Nếu TDi không xuất hiện thì TAi+1, TBi+1, TCi+1 và TDi+1 cũng không xuất hiện.
Loại T tham chiếu giao thức truyền và/hoặc định tính byte giao diện.
– T=0 đề cập tới truyền bán song công của ký tự được quy định trong Điều 10.
– T=1 đề cập tới truyền bán song công của khối được quy định trong Điều 11.
– T=2 và T=3 được dành riêng cho thao tác bán song công sau này.
– T=4 được dành riêng cho truyền bán song công tăng cường của các ký tự.
– T=5 đến T=13 được dành riêng để sử dụng sau này của cơ quan có thẩm quyền.
– T=14 đề cập tới giao thức truyền không được chuẩn hóa bởi cơ quan có thẩm quyền.
– T=15 không đề cập tới giao thức truyền, mà chỉ coi là byte giao diện chung.
CHÚ THÍCH Trong TA2 (xem 8.2) và PPS0 (xem 9.2), các bit từ 4 đến 1 cũng mã hóa loại T.
Nếu TD1, TD2 xuất hiện, loại mã hóa T phải theo thứ tự số tăng dần. Nếu xuất hiện, T=0 phải là đầu tiên, T=15 phải là cuối cùng. T=15 không hợp lệ trong TD1.
“Giao thức truyền được đưa ra đầu tiên” được quy định như sau:
– Nếu TD1 xuất hiện thì nó mã hóa giao thức T được đưa ra đầu tiên.
– Nếu TD1 không xuất hiện thì giá trị đưa ra chỉ là T=0.
Mỗi byte giao diện TA, TB hoặc TC hoặc là chung hoặc là cụ thể.
– Byte giao diện chung đề cập tới thông số của mạch tích hợp trong thẻ, xem 8.3.
– Byte giao diện cụ thể đề cập tới thông số của giao thức truyền được đưa ra bởi thẻ.
TA1, TB1, TC1, TA2 và TB2 là chung. TC2 là cụ thể với T=0, xem 10.2.
Diễn dịch của TA1, TB1, TC1 đối với i > 2 phụ thuộc vào loại T được mã hóa trong TDi-1.
– Sau T từ 0 đến 14, TAi, TBi và TCi là cụ thể đối với giao thức truyền T.
– Sau T=15, TAi, TBi và TCi là chung.
Nếu có hơn ba byte giao diện TAi, TBi TCi TAi+1 TBi+1 TCi+1 … được quy định cho cùng loại T thì mỗi byte giao diện được quy định rõ ràng theo vị trí theo số lần xuất hiện đầu tiên, thứ hai …của T trong TDi-1 đối với i > 2. Kết quả là đối với mỗi loại T, TA TB TC đầu tiên, TA TB TC thứ hai và tiếp diễn, luôn có sẵn.
CHÚ THÍCH Sự kết hợp của loại T với kỹ thuật ánh xạ bit chỉ cho phép truyền các byte giao diện hữu dụng và khi cần thiết, sử dụng các giá trị mặc định đối với thông số tương ứng với byte giao diện không xuất hiện.
Ví dụ, Điều 11.4 quy định ba byte giao diện cụ thể với T=1, đó là TA, TB và TC đầu tiên với T=1. Nếu cần thiết, byte này phải được truyền riêng là TA3 TB3 và TC3 sau TD2 biểu thị T=1. Phụ thuộc vào liệu thẻ cũng đưa ra T=0 hay không, TD1 phải biểu thị hoặc T=0 hoặc T=1.
8.2.4. Byte lịch sử T1 T2 … Tk
Byte lịch sử mô tả các đặc tính vận hành của thẻ. Nội dung và cấu trúc của chúng được quy định trong TCCN 11167-4 (ISO/IEC 7816-4).
Nếu K khác 0 thì khi đó Answer-to-Reset tiếp tục trên K (nhiều nhất là 15) byte lịch sử T1 T2 … TK
8.2.5. Byte kiểm tra TCK
Nếu chỉ T=0 được biểu thị theo giá trị mặc định thì TCK phải xuất hiện. Nếu T=0 và T=15 xuất hiện và trong tất cả các trường hợp khác, TCK không được xuất hiện. Khi TCK xuất hiện, phép OR loại trừ với tất cả các byte T0 đến TCK bao hàm phải là ‘00’. Giá trị khác bất kỳ đều không hợp lệ.
8.3. Byte giao diện chung
Điều này quy định nội dung của byte giao diện chung TA1, TB1, TC1, TA2, TB2, TA đầu tiên đối với T=15 và TB đầu tiên đối với T=15.
– Nếu xuất hiện, byte này phải được diễn dịch để xử lý chính xác bất kỳ giao thức truyền nào.
– Nếu byte như vậy không xuất hiện thì giá trị mặc định phải được sử dụng đối với thông số có liên quan, nếu cần.
Cơ quan có thẩm quyền dành riêng cho việc sử dụng sau này tất cả các byte giao diện chung không được quy định trong điều này và tất cả các giá trị chưa sử dụng của byte giao diện chung được quy định trong điều này.
TA1 mã hóa giá trị được biểu thị của số nguyên chuyển đổi tốc độ đồng hồ (Fi), giá trị được biểu thị của số nguyên điều chỉnh tốc độ truyền (Di) và giá trị tối đa của tần số được hỗ trợ bởi thẻ (f(max.)). Giá trị mặc định là Fi = 372, Di = 1 và f(max) = 5 MHz. Về việc sử dụng Fi và Di, xem 7.1, TC1 và TA2 bên dưới, 9.2 và 10.2. Về sử dụng f(max.), xem 5.2.3.
– Theo Bảng 7, bit 8 đến 5 mã hóa Fi và f(max.).
Bảng 7 – Fi và f(max.)
Bit 8 tới bit 5 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
Fi |
372 |
372 |
558 |
744 |
1116 |
1488 |
1860 |
RFU |
f (max.) MHz |
4 |
5 |
6 |
8 |
12 |
16 |
20 |
— |
|
|
|
||||||
Bit 8 tới bit 5 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
Fi |
RFU |
512 |
768 |
1024 |
1536 |
2048 |
RFU |
RFU |
f (max.) MHz |
— |
5 |
7,5 |
10 |
15 |
20 |
— |
— |
– Theo bảng 8, bit 4 đến 1 mã hóa Di.
Bảng 8 – Di
Bit 8 tới bit 5 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
Di |
RFU |
1 |
2 |
4 |
8 |
16 |
32 |
64 |
|
|
|
||||||
Bit 8 tới bit 5 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
Di |
12 |
20 |
RFU |
RFU |
RFU |
RFU |
RFU |
RFU |
TB1 và TB2 không được sử dụng. Thẻ không được truyền chúng. Thiết bị giao diện phải bỏ qua chúng.
CHÚ THÍCH Hai phiên bản đầu tiên của TCVN 11167-3 (ISO/IEC 7816-3) quy định TB1 và TB2 chỉnh thông số điện của mạch tích hợp khi không sử dụng tiếp xúc C6 (xem 5.1.1).
TC1 mã hóa số nguyên thời gian bảo vệ bổ sung (N) từ 0 đến 255 trên tám bit. Giá trị mặc định là N = 0.
– Nếu N = 0 đến 254 thì trước khi sẵn sàng nhận ký tự tiếp theo, thẻ yêu cầu độ trễ sau tính từ mép đầu của ký tự trước (được truyền bằng thẻ hoặc thiết bị giao diện).
• Nếu T=15 không xuất hiện trong Answer-to-Reset thì R = F/D, nghĩa là số nguyên được sử dụng để tính etu.
• Nếu T=15 xuất hiện trong Answer-to-Reset thì R = Fi/Di, nghĩa là số nguyên được quy định phía trên theo TA1.
Thời gian bảo vệ bổ sung không được sử dụng để truyền ký tự từ thẻ: GT = 12 etu.
– Với việc sử dụng N = 255 là giao thức phụ thuộc: GT = 12 etu trong PPS (xem 9) và trong T=0 (xem 10). Đối với việc sử dụng N = 255 trong T=1, xem 11.2.
TA2 là byte chế độ cụ thể được trình bày trong Hình 15. Đối với việc sử dụng TA2, xem 6.3.1 và 7.1.
– Bit 8 biểu thị khả năng thay đổi chế độ có thể thỏa thuận / cụ thể:
• Có khả năng thay đổi nếu bit 8 được đặt là 0;
• Không thể thay đổi nếu bit 8 được đặt là 1.
– Bit 7 và 6 được dành riêng cho việc sử dụng sau này (đặt là 0 khi không sử dụng).
– Bit 5 biểu thị sự quy định của thông số F và D.
• Nếu bit 5 được đặt là 0 thì số nguyên Fi và Di được quy định bên trên theo TA, phải được áp dụng.
• Nếu bit 5 được đặt là 1 thì giá trị hàm ẩn (không được quy định bằng byte giao diện) phải được áp dụng.
– Bit 4 đến 1 mã hóa loại T.
Hình 15 – Mã hóa TA2
CHÚ THÍCH Thiết bị giao diện hỗ trợ 3 giá trị: F, D và T được tham chiếu bằng TA2 phải khởi tạo giao thức truyền T với F và D. Mặt khác, nó phải thực hiện hoặc thiết lập lại nóng (bit 8 được đặt là 0) hoặc bỏ kích hoạt (bit 8 được đặt là 1).
TA đầu tiên đối với T=15 mã hóa chỉ số ngừng đồng hồ (X) và chỉ số lớp (Y). Giá trị mặc định là X = “ngừng đồng hồ không được hỗ trợ” và Y = “chỉ cấp A được hỗ trợ”. Đối với việc sử dụng ngừng đồng hồ, xem 6.3.2. Đối với sử dụng cấp điều kiện vận hành, xem 6.2.1 và 6.2.4.
– Theo bảng 9, bit 8 và 7 biểu thị liệu thẻ hỗ trợ ngừng đồng hồ (# 00) hoặc không (= 00) và khi được hỗ trợ, trạng thái nào được ưu tiên hơn trên mạch điện CLK khi đồng hồ ngừng.
Bảng 9 – X
Bit 8 và bit 7 |
00 |
01 |
10 |
11 |
X |
Đồng hồ ngừng không được hỗ trợ |
Trạng thái L |
Trạng thái H |
Không ưu tiên |
– Theo bảng 10, các bit từ 6 đến 1 biểu thị các cấp điều kiện vận hành được thẻ chấp nhận. Mỗi bit đại diện một cấp: bit 1 đối với cấp A, bit 2 đối với cấp B và bit 3 đối với cấp C (xem 5.1.3).
Bảng 10 – Y
Bit 6 đến bit 1 |
00 0001 |
00 0010 |
00 0100 |
00 0011 |
00 0110 |
00 0111 |
Giá trị khác bất kỳ |
Y |
Chỉ có A |
Chỉ có B |
Chỉ có C |
A và B |
B và C |
A, B và C |
RFU |
TB đầu tiên đối với T=15 biểu thị việc sử dụng SPU bằng thẻ (xem 5.2.4). Giá trị mặc định là “SPU không được sử dụng”.
Được mã hóa từ bit 7 đến bit 1, sử dụng hoặc là tiêu chuẩn (bit 8 được đặt là 0) hoặc độc quyền (bit 8 được đặt là 1). Giá trị ‘00’ biểu thị rằng thẻ không sử dụng SPU. Cơ quan có thẩm quyền dành riêng cho việc sử dụng sau này các giá trị khác bất kỳ mà bit 8 được đặt là 0.
9. Giao thức và lựa chọn thông số
9.1. Trao đổi PPS
Trao đổi PPS phải bắt đầu được quy định trong 6.3.1. Khung ký tự phải được quy định trong 7.1 và 7.2, sử dụng chuyển đổi mã hóa được điều chỉnh bởi TS (xem 8.1), có GT được quy định trong 8.3 và WT = 9600 etu. Tín hiệu lỗi và lặp ký tự theo 7.3 là bắt buộc đối với thẻ đưa ra T=0; nó mang tính tùy chọn đối với thiết bị giao diện và đối với các thẻ khác.
Chỉ thiết bị giao diện được phép bắt đầu trao đổi PPS:
– Thiết bị giao diện phải truyền một PPS yêu cầu tới thẻ.
– Nếu thẻ nhận một PPS yêu cầu lỗi, thẻ không được truyền bất kỳ hồi đáp nào.
– Nếu thẻ nhận một PPS yêu cầu đúng, thẻ phải truyền một PPS hồi đáp, nếu được thực hiện, hoặc WT phải bị vượt quá.
– Trong ba trường hợp sau: sự tràn WT, hồi đáp PPS sai, trao đổi PPS không thành công, thiết bị giao diện phải bỏ kích hoạt.
9.2. PPS yêu cầu và PPS hồi đáp
PPS yêu cầu và PPS hồi đáp bao gồm một byte khởi tạo PPSS, được theo sau bằng một byte định dạng PPS0, ba byte thông số tùy chọn: PPS1, PPS2, PPS3 và byte kiểm tra PCS là byte cuối cùng.
– PPSS quy định PPS yêu cầu hay PPS hồi đáp và được đặt là ‘FF’.
– Trong PPS0, mỗi bit 5, 6 hoặc 7 được đặt là 1 biểu thị sự xuất hiện của một byte tùy chọn: PPS1, PPS2, PPS3 riêng rẽ. bit 4 đến 1 mã hóa loại T để trả lời giao thức truyền. Bit 8 được dành riêng cho việc sử dụng sau này và phải được đặt là 0.
– PPS1 cho phép thiết bị giao diện đề xuất các giá trị của F và D cho thẻ. Được mã hóa theo phương thức tương tự trong TA1, các giá trị này phải là từ Fd đến Fi và từ Dd đến Di tương ứng. Nếu thiết bị giao diện không truyền PPS1, nó đề xuất tiếp tục với Fd và Dd. Thẻ hoặc báo nhận cả hai giá trị bằng việc phản hồi PPS1 (khi đó các giá trị này trở thành Fn và Dn) hoặc không truyền PPS1 để tiếp tục với Fd và Dd (khi đó Fn = 372 và Dn = 1).
– PPS2 cho phép thiết bị giao diện đề xuất sử dụng SPU. PPS2 phải được mã hóa theo phương thức như TB đầu tiên đối với T=15. Nếu thiết bị giao diện không truyền PPS2, hoặc nếu nó truyền PPS2 = ‘00’, nó đề nghị không sử dụng SPU.
– PPS3 được dành riêng cho việc sử dụng sau này.
– Phép OR loại trừ với tất cả các byte PPSS đến PCK bao hàm phải đưa ra là ‘00’. Giá trị khác bất kỳ đều không hợp lệ.
Hình 16 trình bày cấu trúc của PPS yêu cầu và PPS hồi đáp.
Hình 16 – Cấu trúc của PPS yêu cầu và PPS hồi đáp
Theo định nghĩa, PPS yêu cầu và PPS hồi đáp đã hoàn tất 12 etu sau mép đầu của ký tự truyền PCK.
9.3. Trao đổi PPS thành công
Trao đổi PPS thành công khi và chỉ khi PPS hồi đáp thuộc các điều kiện sau liên quan đến PPS yêu cầu.
– Bit 1 đến 4 của PPS0_Response đồng nhất với bit 1 đến 4 của PPS0_Request.
– Bit 5 của PPS0_Response hoặc đồng nhất với bit 5 của PPS0_Request hoặc được đặt là 0.
· Nếu bit 5 được đặt là 1, PPS1_Response đồng nhất với PPS1_Request
· Nếu bit 5 được đặt là 0, PPS1_Response không xuất hiện, nghĩa là Fd và Dd phải được sử dụng.
– Bit 6 của PPS0_Response hoặc đồng nhất với bit 6 của PPS0_Request hoặc được đặt là 0.
· Nếu bit 6 được đặt là 1, PPS2_Response đồng nhất với PPS2_Request.
· Nếu bit 6 được đặt là 0, PPS2_Response không xuất hiện, nghĩa là thẻ không sử dụng SPU.
– Bit 7 của PPS0_Response hoặc đồng nhất với bit 7 của PPS0_Request hoặc được đặt là 0.
· Nếu bit 7 được đặt là 1, PPS3_Response đồng nhất với PPS3_Request
· Nếu bit 7 được đặt là 0, PPS3_Response không xuất hiện (nghĩa chuẩn xác là được dành riêng cho việc sử dụng sau này).
Trong trường hợp phổ biến nhất, PPS hồi đáp đồng nhất với PPS yêu cầu.
10. Giao thức T=0, truyền bán song công của ký tự
10.1. Phạm vi áp dụng
Điều này quy định cấu trúc và xử lý lệnh trong truyền bán song công của ký tự. Thiết bị giao diện khởi tạo các lệnh này. Điều này bao gồm các điều khiển truyền.
10.2. Mức ký tự
Giao thức truyền phải được quy định trong 6.3.1. Khung ký tự được quy định trong 7.1 và 7.2, sử dụng chuyển đổi mã hóa được điều chỉnh bởi TS (xem 8.1), có GT được quy định trong 8.3. Cả thẻ và thiết bị giao diện phải sử dụng tín hiệu lỗi và lặp ký tự theo 7.3.
Khi sử dụng D = 64, thiết bị giao diện phải đảm bảo độ trễ ít nhất là 16 etu giữa mép đầu của ký tự nhận được cuối cùng và mép đầu của ký tự được truyền để khởi tạo một lệnh.
Nếu xuất hiện trong Answer-to-Reset, byte giao diện TC2 mã hóa số nguyên thời gian chờ Wl trên tám bit, ngoại trừ giá trị ‘00’ được dành riêng cho việc sử dụng sau này. Nếu TC2 không xuất hiện thì giá trị mặc định là Wl = 10.
“Thời gian chờ” (xem 7.2) phải là:
10.3. Cấu trúc và xử lý lệnh
10.3.1. Nguyên tắc
Thiết bị giao diện khởi tạo các lệnh bằng cách truyền một tiêu đề 5-byte cho thẻ biết phải thực hiện cái gì. Xử lý lệnh tiếp tục bằng chuyển một số byte dữ liệu thay đổi theo một hướng dưới sự kiểm soát của byte thủ tục được truyền bằng thẻ.
Giả định rằng thẻ và thiết bị giao diện biết trước hướng truyền, để phân biệt:
– Lệnh đối với truyền dữ liệu vào mà byte dữ liệu vào thẻ trong khi xử lý, và
– Lệnh đối với truyền dữ liệu ra mà byte dữ liệu rời thẻ trong khi xử lý.
10.3.2. Tiêu đề lệnh
Tiêu đề bao gồm 5 byte được biểu thị là: CLA, INS, P1, P2 và P3. Giá trị của CLA, INS, P1 và P2 được quy định trong TCVN 11167-4 (ISO/IEC 7816-4).
– CLA biểu thị lớp lệnh. Giá trị ‘FF’ không hợp lệ (được dành riêng cho PPSS, xem 6.3.1 và 9.2).
CHÚ THÍCH TCVN 11167-4 (ISO/IEC 7816-4) buộc ‘FF’ là giá trị không hợp lệ của CLA.
– INS biểu thị mã chỉ thị. Các giá trị ‘6X’ và ‘9X’ không hợp lệ.
CHÚ THÍCH TCVN 11167-4 (ISO/IEC 7816-4) buộc ‘6X’ và ‘9X’ là giá trị không hợp lệ của INS.
– P1 P2 biểu thị thông số chỉ thị, ví dụ: tham chiếu hoàn thành mã chỉ thị.
– P3 mã hóa số byte dữ liệu được biểu thị là D1 đến Dn được truyền trong suốt quá trình ra lệnh.
· Trong lệnh truyền dữ liệu ra bên ngoài, P3=’00’ đưa ra một dữ liệu 256-byte truyền từ thẻ.
· Trong lệnh truyền dữ liệu vào bên trong, P3=‘00’ không đưa ra dữ liệu truyền.
10.3.3. Byte thủ tục
Sau khi truyền tiêu đề là một chuỗi 5 ký tự, thiết bị giao diện chờ cho một ký tự truyền byte thủ tục. Có ba loại byte thủ tục, xem Bảng 11.
– Nếu giá trị là ‘60’, nó là byte NULL. Byte này không yêu cầu bất kỳ hoạt động truyền dữ liệu nào. Thiết bị giao diện phải chờ cho một ký tự truyền byte thủ tục.
– Nếu giá trị là ‘6X’ hoặc ‘9X’, ngoại trừ ‘60’, nó là byte SW1. Byte này không yêu cầu bất kỳ hoạt động truyền dữ liệu nào. Thiết bị giao diện chờ một ký tự chuyển byte SW2. Không có hạn chế đối với giá trị SW2.
CHÚ THÍCH TCVN 11167-4 (ISO/IEC 7816-4) buộc ‘60’ là giá trị không hợp lệ của SW1, cũng như giá trị khác bất kỳ với ‘9X’ và ‘6X’.
– Nếu giá trị là giá trị của INS, ngoại trừ giá trị ‘6X’ và ‘9X’ nó là byte ACK. Tất cả các byte dữ liệu còn lại, nếu bất kỳ byte nào còn lại, được biểu thị là Di đến Dn, phải được truyền sau đó. Khi đó thiết bị giao diện phải chờ một ký tự truyền byte thủ tục.
– Nếu giá trị là phép OR loại trừ của ‘FF’ có giá trị của INS, ngoại trừ các giá trị ‘6X’ và ‘9X’, nó là byte ACK. Chỉ byte dữ liệu tiếp theo được biểu thị là Di được truyền nếu nó tồn tại. Khi đó thiết bị giao diện phải chờ một ký tự truyền byte thủ tục.
– Bất kỳ các giá trị khác đều không hợp lệ.
Bảng 11 – Byte thủ tục
Byte |
Giá trị |
Hoạt động truyền dữ liệu |
Thu nhận của |
NULL |
‘60’ |
Không hoạt động |
Byte thủ tục |
SW1 |
‘6X’ (¹‘60’), ‘9S’ |
Không hoạt động |
Byte SW2 |
ACK |
INS |
Tất cả các byte dữ liệu còn lại (nếu có bất kỳ byte nào còn lại) |
Byte thủ tục |
INS + ‘FF’ |
Byte dữ liệu tiếp theo (nếu nó tồn tại) |
Byte thủ tục |
|
Hai phiên bản đầu tiên của TCVN 11167-3 (ISO/IEC 7816-3) quy định việc sử dụng hai giá trị của ACK (đó là phép OR loại trừ của giá trị INS với ‘01’ và ‘FE’) để điều khiển việc sử dụng lỗi thời của tiếp xúc C6 (xem 5.1.1). Hai giá trị này là không được sử dụng. |
Trong mỗi byte thủ tục, thẻ có thể tiến hành với lệnh bằng NULL hoặc ACK, hoặc kết thúc lệnh bằng SW1 SW2, hoặc thể hiện sự không chấp thuận bằng cách không trả lời (WT phải bị vượt quá).
10.3.4. Byte trạng thái
Byte trạng thái SW1 SW2 biểu thị trạng thái thẻ ở phần cuối lệnh. Giá trị của chúng được quy định trong TCVN 11167-4 (ISO/IEC 7816-4).
CHÚ THÍCH TCVN 11167-4 (ISO/IEC 7816-4) quy định ý nghĩa của 6 giá trị của SW1 SW2, quy định đối với T=0 theo phiên bản trước đó (ISO/IEC 7816-3:1989 và ISO/IEC 7816-3:1997)).
‘9000’ |
Lệnh được hoàn tất bình thường |
‘6E00’ |
CLA không được hỗ trợ |
‘6D00’ |
CLA được hỗ trợ, nhưng INS không được lập trình hoặc không hợp lệ |
‘6B00’ |
CLA INS được hỗ trợ, nhưng P1 P2 không đúng |
‘6700’ |
CLA INS P1 P2 được hỗ trợ, nhưng P3 không đúng |
‘6F00’ |
lệnh không được hỗ trợ và không có dự đoán rõ ràng được đưa ra |
Theo định nghĩa, lệnh này hoàn thành 12 etu sau mép đầu của ký tự truyền SW2.
11. Giao thức T=1, truyền bán song công của khối
11.1. Phạm vi và nguyên tắc
Điều này quy định cấu trúc và quy trình xử lý lệnh trong truyền bán song công của khối. Một khối là một chuỗi byte được truyền theo các ký tự không đồng bộ. Thiết bị giao diện và thẻ có thể khởi tạo các lệnh này. Điều này đề cập tới kiểm soát truyền dữ liệu như kiểm soát dòng, chuỗi khối và hiệu chỉnh lỗi.
Đặc tính chính của giao thức truyền như sau.
– Giao thức truyền bắt đầu bằng khối đầu tiên được truyền bằng thiết bị giao diện; tiếp tục với lựa chọn quyền truyền khối.
– Khối là đơn vị dữ liệu nhỏ nhất có thể được trao đổi. Khối có thể được sử dụng để truyền:
· Dữ liệu ứng dụng vô hình với giao thức truyền,
· Dữ liệu điều khiển truyền bao gồm xử lý lỗi truyền.
– Cấu trúc khối cho phép kiểm tra khối nhận được trước khi xử lý dữ liệu truyền.
Giao thức truyền áp dụng nguyên tắc mẫu tham chiếu OSI. Có ba lớp được quy định:
– Lớp vật lý truyền vào các thời điểm được tổ chức theo các ký tự không đồng bộ trong 11.2.
– Lớp kết nối dữ liệu bao gồm thành phần ký tự và thành phần khối:
· Thành phần ký tự nhận diện thời điểm bắt đầu và kết thúc của khối theo 11.5.
· Thành phần khối trao đổi các khối theo 11.6.
– Lớp ứng dụng xử lý lệnh liên quan đến trao đổi ít nhất một khối hoặc chuỗi khối theo mỗi hướng.
11.2. Khung ký tự
Giao thức truyền bắt đầu được quy định trong 6.3.1. Khung ký tự được quy định trong 7.1 và 7.2, sử dụng chuyển đổi mã hóa được cấp bởi TS (xem 8.1). Tín hiệu lỗi số và lặp ký tự theo 7.3 không được sử dụng. Có hai thời điểm bảo vệ:
– Biểu thị là CGT, “thời điểm bảo vệ ký tự” là độ trễ tối thiểu giữa các mép đầu của hai ký tự liên tiếp trong cùng hướng truyền. Nếu N = 0 đến 254, CGT = GT được quy định trong 8.3. Nếu N = 255, CGT = 11 etu trong cả các hướng truyền.
– Biểu thị là BGT, “thời điểm bảo vệ khối” là độ trễ tối thiểu giữa các mép đầu của hai ký tự liên tiếp theo hướng ngược nhau. BGT = 22 etu.
Tính chẵn lẻ của ký tự cho phép kiểm tra khối cùng với mã hóa dò lỗi (xem 11.3.4 và 11.4.4).
11.3. Khung khối
11.3.1. Tổng quát
Được trình bày trong Hình 17, một khối bao gồm hai hay ba trường.
– Trường mở đầu bao gồm: một byte địa chỉ nút, một byte điều khiển giao thức và một byte độ dài.
– Trường thông tin bao gồm từ 0 đến 254 byte
– Trường kết thúc bao gồm một hay hai byte.
Trường mở đầu (bắt buộc) |
Trường thông tin (tùy chọn) |
Trường kết thúc (bắt buộc) |
||
NAD (1 byte) |
PCB (1 byte) |
LEN (1 byte) |
INF (0 đến 254 byte) |
LRC (1 byte) hoặc CRC (2 byte) |
Hình 17 – Khung khối
Giao thức truyền quy định ba loại khối.
– Khối thông tin (l-block) được sử dụng để truyền thông tin cho việc sử dụng lớp ứng dụng. Hơn nữa, nó truyền báo nhận dương hoặc âm.
– Khối sẵn sàng thu nhận (R-block) được sử dụng để truyền báo nhận dương hoặc âm. Trường thông tin của nó không xuất hiện.
– Khối giám sát (S-block) được sử dụng để trao đổi thông tin điều khiển giữa thiết bị giao diện và thẻ. Trường thông tin của nó có thể xuất hiện phụ thuộc vào chức năng điều khiển của nó.
CHÚ THÍCH Sự phân tách này cho phép thiết kế của việc điều khiển giao thức và phần ứng dụng của vi mã thiết bị không phụ thuộc lẫn nhau.
11.3.2. Trường mở đầu
11.3.2.1. Byte địa chỉ nút
Byte địa chỉ nút (NAD) cho phép xác định nguồn và điểm đến dự kiến của khối; nó có thể được sử dụng để phân biệt giữa đa kết nối logic khi chúng cùng tồn tại. Giá trị ‘FF’ không hợp lệ. Nó được lưu giữ cho PPSS (xem 6.3.1 và 9.2). Bit 1 đến 3 là địa chỉ nút nguồn được biểu thị là SAD và bit 5 đến 7 là địa chỉ nút điểm đến được biểu thị là DAD. Bit 4 và 8 không được sử dụng. Thẻ phải đặt chúng là 00. Thiết bị giao diện phải bỏ qua chúng.
CHÚ THÍCH Hai phiên bản đầu tiên của TCVN 11167-3 (ISO/IEC 7816-3) quy định bit 4 và 8 kiểm soát việc không được sử dụng tiếp xúc C6 (xem 5.1.1).
Khi việc định địa chỉ không được sử dụng, giá trị của SAD và DAD phải được đặt là 000. Giá trị khác bất kỳ của NAD mà SAD và DAD đồng nhất được dành riêng để sử dụng sau này.
Trong khối đầu tiên được truyền bằng thiết bị giao diện, NAD thiết lập kết nối logic bằng cách kết hợp địa chỉ SAD và DAD. Các khối tiếp theo mà trong đó NAD có chứa cùng cặp địa chỉ SAD và DAD được kết nối với cùng kết nối logic. Trong quá trình trao đổi thông tin, các cặp địa chỉ SAD và DAD khác có thể thiết lập các kết nối logic khác.
CHÚ THÍCH Ví dụ: các khối được truyền bằng thiết bị giao diện có giá trị x đối với SAD và y đối với DAD và các khối được truyền bằng thẻ có giá trị y đối với SAD và x đối với DAD thuộc về kết nối logic được biểu thị (x, y), trong khi đó các khối được truyền bằng thiết bị giao diện có giá trị v đối với SAD và w đối với DAD và cáo khối được truyền bằng thẻ có giá trị w đối với SAD và v đối với DAD thuộc và kết nối Iogic khác (v, w).
11.3.2.2. Byte điều khiển giao thức
Byte điều khiển giao thức (PCB) truyền thông tin được yêu cầu để điều khiển truyền. PCB xác định liệu khối là: l-block hoặc R-block hoặc S-block.
Trong mỗi l-block, bit 8 của PCB đặt là 0 như được trình bày trong Hình 18.
– Bit 7 mã hóa số chuỗi gửi được biểu thị là N(S).
– Bit 6 là bit nhiều dữ liệu được biểu thị là M-bit.
– Bit 5 tới 1 được dành riêng để sử dụng sau này và được đặt là 0.
Hình 18 – Mã hóa l-block PCB
Trong mỗi R-block, bit 8 và 7 của PCB đặt là 10 được trình bày trong Hình 19. Bit 6 tới 1 được sử dụng như sau:
– 0-N(R)-0000 biểu thị báo nhận không lỗi.
– 0-N(R)-0001 biểu thị lỗi mã dư hoặc lỗi tính chẵn lẻ của ký tự.
– 0-N(R)-1 biểu thị các lỗi khác.
– Giá trị khác bất kỳ được dành riêng để sử dụng sau này.
CHÚ THÍCH Giá trị N(R) chỉ liệu R-block biểu thị một lỗi hay không. Bit 4 tới 1 có thể bị bỏ qua.
Hình 19 – Mã hóa R-block PCB
Trong mỗi S-block, bit 8 và 7 của PCB được đặt là 11 như được trình bày trong Hình 20. Bit 6 tới 1 được sử dụng như sau.
– 000000 biểu thị RESYNCH yêu cầu và 100000 biểu thị RESYNCH hồi đáp.
– 000001 biểu thị IFS yêu cầu và 100001 biểu thị IFS hồi đáp.
– 000010 biểu thị ABORT yêu cầu và 100010 biểu thị ABORT hồi đáp.
– 000011 biểu thị WTX yêu cầu và 100011 biểu thị WTX hồi đáp.
– 100100 không được sử dụng.
– Giá trị khác bất kỳ được dành riêng để sử dụng sau này.
CHÚ THÍCH Bit 6 là bit hồi đáp.
Hình 20 – Mã hóa S-block PCB
11.3.2.3. Byte độ dài
Byte độ dài (LEN) mã hóa số byte trong trường thông tin của khối (xem 11.4.2).
– Giá trị ‘00’ mã hóa 0: INF không xuất hiện
– Giá trị từ ‘01’ đến ‘FE’ mã hóa các số từ 1 tới 254: INF xuất hiện
– Giá trị ‘FF’ được dành riêng cho việc sử dụng sau này.
11.3.3. Trường thông tin
Việc sử dụng trường thông tin (INF) phụ thuộc vào loại khối:
– Khi xuất hiện trong l-block, INF truyền thông tin ứng dụng.
– INF phải không xuất hiện trong R-block.
– Khi xuất hiện trong S-block, INF truyền thông tin không ứng dụng.
· INF phải xuất hiện với byte đơn lẻ trong S-block điều chỉnh IFS và WTX.
· INF phải không xuất hiện trong S-block quản lý hủy bỏ chuỗi hoặc tái đồng bộ.
11.3.4. Trường kết thúc
Trường kết thúc truyền mã dò lỗi của khối, hoặc mã dư dọc (LRC), hoặc mã dư vòng (CRC).
– LRC bao gồm một byte. Khi LRC được sử dụng, phép OR loại trừ tất cả các byte của khối từ NAD đến LRC bao hàm phải là ‘00’. Giá trị khác bất kỳ đều không hợp lệ.
– CRC bao gồm hai byte. Đối với giá trị của nó, xem ISO/IEC 13239 [4].
11.4. Thông số giao thức
11.4.1. Byte giao diện cụ thể đối với T=1
Ba byte giao diện cụ thể được quy định: TA đầu tiên đối với T=1, TB đầu tiên đối với T=1 và TC đầu tiên đối với T=1 (xem 8.2.3). Chúng được sử dụng để thiết lập thông số giao thức tại các giá trị không mặc định.
11.4.2. Kích cỡ trường thông tin
IFSC là kích cỡ tối đa của trường thông tin của khối mà thẻ có thể nhận được. Nếu xuất hiện, TA đầu tiên đối với T=1 thiết lập giá trị ban đầu của IFSC. Giá trị mặc định là 32.
IFSD là kích cỡ tối đa của trường thông tin của khối mà thiết bị giao diện có thể nhận được. Giá trị ban đầu của IFSD là 32.
Khi bắt đầu giao thức truyền, IFSC và IFSC được khởi tạo. Trong suốt giao thức truyền, IFSC và IFSD có thể được điều chỉnh bằng S(IFS request) và S(IFS response) trong đó INF bao gồm một byte được gọi là IFS. Trong bất kỳ trường hợp nào, TA đầu tiên đối với T=1 và mỗi byte IFS phải được mã hóa như sau:
– Giá trị ‘00’ và ‘FF’ được dành riêng cho việc sử dụng sau này.
– Giá trị ‘01’ đến ‘FE’ mã hóa các số từ 1 đến 254.
CHÚ THÍCH 1 Tiêu chuẩn này khuyến nghị giá trị IFS ít nhất là ‘20’.
CHÚ THÍCH 2 Kích cỡ của khối là tổng số byte xuất hiện trong trường mở đầu, trường thông tin và trường kết thúc. Kích cỡ khối tối đa được đặt là IFS cộng 4 hoặc 5, phụ thuộc vào kích cỡ của trường kết thúc.
11.4.3. Thời gian chờ
Theo định nghĩa, CWT là sự trễ tối đa giữa mép đầu của hai ký tự liên tiếp trong khối (xem Hình 21). Độ trễ tối thiểu là CGT (xem 11.2).
CHÚ THÍCH Khi có lỗi tiềm ẩn trong độ dài, CWT có thể được sử dụng để dò phần cuối của khối.
Hình 21 – Định thời ký tự trong khối
Bit 4 tới 1 của TB đầu tiên đối với T=1 mã hóa CWI từ 0 đến 15. Giá trị mặc định là CWI = 13. CWT được tính từ CWI theo công thức sau. Vì vậy, giá trị tối thiểu là CWT = 12 etu.
CWT = (11 + 2CWI) etu
Theo định nghĩa, BWT là độ trễ tối đa giữa mép đầu của ký tự cuối cùng của khối thẻ nhận và mép đầu của ký tự đầu tiên của khối kế tiếp được truyền bằng thẻ (xem Hình 22). BWT được sử dụng để dò tìm thẻ không trả lời. Độ trễ tối thiểu là BGT (xem 11.2).
Hình 22 – Định thời khối
Các bit từ 8 đến 5 của TB đầu tiên đối với T=1 mã hóa BWI từ 0 đến 9n. Giá trị ‘A’ tới ‘F’ được dành riêng cho việc sử dụng sau này. Giá trị mặc định là BWI = 4. BWT được tính từ BWI theo công thức sau:
11.4.4. Mã dư
Bit 1 của TC đầu tiên đối với T=1 biểu thị mã dò lỗi được sử dụng:
– CRC nếu bit 1 được đặt là 1;
– LRC (giá trị mặc định) nếu bit 1 được đặt là 0.
Các bit từ 8 tới 2 của TC đầu tiên đối với T=1 được dành riêng cho việc sử dụng sau này và phải được đặt là 0.
11.5. Thao tác thành phần ký tự ở lớp liên kết dữ liệu
Khi bắt đầu giao thức truyền, thiết bị giao diện có quyền truyền. Các ký tự không đồng bộ luôn được nhóm vào các khối.
Khi hoặc thẻ hoặc thiết bị giao diện truyền một khối, nó chuyển sang chế độ nhận. Khi hoặc thẻ hoặc thiết bị giao diện nhận được một khối theo số byte được mã hóa trong byte độ dài, nó giả định là nó có quyền truyền.
11.6. Thao tác thành phần khối ở lớp liên kết dữ liệu
11.6.1. Ký hiệu khối
Các khối sau được sử dụng để mô tả giao thức truyền.
l-block được biểu thị như sau.
I(N(S), M) l-block trong đó N(S) là số chuỗi gửi và M là bit nhiều dữ liệu (xem 11.6.2.2)
Na(S), Nb(S) số chuỗi gửi của l-block mà ra mục a và b phân biệt với nguồn A và B
R-block được biểu thị như sau.
R(N(R)) R-block trong đó N(R) là số chuỗi gửi của l-block được mong đợi
S-block được biểu thị như sau
S(RESYNCH request) S-block yêu cầu không đồng bộ hóa
(RESYNCH response) S-block báo nhận không đồng bộ hóa
S(IFS request) S-block chỉ ra kích cỡ tối đa của trường thông tin
S(IFS response) S-block báo nhận IFS
S(ABORT request) S-block yêu cầu hủy chuỗi
S(ABORT response) S-block báo nhận hủy chuỗi
S(WTX request) S-block yêu cầu mở rộng thời gian chờ
S(WTX response) S-block báo nhận mở rộng thời gian chờ
Trong S(IFS…) và S(WTX…), INF xuất hiện theo quy tắc 3 và 4 trong 11.6.2.3.
11.6.2. Thao tác không lỗi
11.6.2.1. Quy trình tổng quát
Khi bắt đầu giao thức truyền, khối đầu tiên được truyền bằng thiết bị giao diện tới thẻ phải là I-block hoặc S-block.
Sau khi khối (I-, R- hoặc S-block) đã được truyền, báo nhận phải được thu nhận trước khi bắt đầu truyền khối tiếp theo như được mô tả sau đây:
Mỗi l-block mang số chuỗi gửi của nó N(S). Các l-block được truyền bằng thiết bị giao diện và được truyền bằng thẻ được tính độc lập với nhau. N(S) được tính theo mô-đun 2 và được mã hóa bằng một bit. Khi bắt đầu giao thức truyền hoặc sau khi tái đồng bộ, giá trị ban đầu là N(S) = 0 thì giá trị biến đổi sau khi truyền từng l-block.
Mỗi R-block mang N(R) là số chuỗi-gửi N(S) của l-block mong muốn. Trong thao tác không lỗi, R-block được sử dụng để xâu chuỗi các l-block (xem 11.6.2.2).
Một l-block được báo nhận bằng cách thu nhận hoặc
– Một l-block mà N(S) khác với N(S) của l-block đã nhận trước đó, hoặc
– Một R-block mà N(R) khác với N(S) của l-block được truyền (xem quy tắc 2.2 trong 11.6.2.3).
Một S-block không chuyển số chuỗi gửi. S(…request) chuyển không báo nhận. S(…response) báo nhận S(…request).
11.6.2.2. Xâu chuỗi
Chức năng xâu chuỗi cho phép thiết bị giao diện hay thẻ truyền thông tin (dữ liệu ứng dụng) dài hơn IFSC hoặc IFSD. Nếu thiết bị giao diện hay thẻ phải truyền thông tin dài hơn IFSC hoặc IFSD, nó phải chia thông tin thành các phần, mỗi phần có chiều dài nhỏ hơn hoặc bằng với IFSC hoặc IFSD, và nó phải truyền từng phần trong khối sử dụng chức năng xâu chuỗi. Hình 23 mô tả chức năng xâu chuỗi.
Hình 23 – Chức năng xâu chuỗi
M-bit trong PCB điều khiển việc xâu chuỗi l-block. Giá trị của M-bit biểu thị trạng thái của l-block.
– Nếu M = 1 thì l-block được xâu chuỗi tới khối tiếp theo mà phải là l-block.
– Nếu M = 0 thì l-block không được xâu chuỗi tới khối tiếp theo.
Nếu bộ thu nhận một l-block nhiều dữ liệu chuẩn xác thì nó phải truyền R(N(R)), trong đó N(R) được đặt là N(S) của l-block mong muốn.
CHÚ THÍCH l-block có LENn= ‘00’ có thể được sử dụng trong một chuỗi (xem lược đồ 7 trong Phụ lục A).
11.6.2.3. Quy ước về giao thức đối với thao tác không lỗi
Quy tắc 1 – Thiết bị giao diện truyền khối đầu tiên, hoặc l-block có N(S) = 0 được biểu thị là I(0, M), hoặc S-block.
Quy tắc 2.1 – l(Na(S), 0) được truyền bằng A được báo nhận bởi l(Nb(S), M) được truyền bằng B để truyền dữ liệu ứng dụng và để biểu thị tính sẵn sàng nhận l-block kế tiếp từ A.
Quy tắc 2.2 – I(Na(S), 1) được truyền bằng A được báo nhận bởi R(Nb(R)) được truyền bởi B [Nb(R) không được đặt là Na(S)] để biểu thị rằng khối đã nhận là đúng và tính sẵn sàng thu nhận I- block tiếp theo từ A.
CHÚ THÍCH Xâu chuỗi chỉ có thể thực hiện theo một hướng tại một thời điểm.
Quy tắc 3 – Nếu thẻ yêu cầu nhiều hơn BWT để xử lý l-block đã nhận trước, nó truyền S(WTX request) trong đó INF chuyển một byte mã hóa một bội số nguyên của giá trị BWT. Thiết bị giao diện phải báo nhận bằng S(WTX response) với cùng INF.
Thời gian được phân phối bắt đầu tại mép đầu của ký tự cuối cùng của S(WTX response).
Quy tắc 4 – Thẻ truyền S(IFS request) để biểu thị một IFSC mới mà nó có thể hỗ trợ. Thiết bị giao diện phải báo nhận bằng S(IFS response) với cùng INF. Thiết bị giao diện giả định IFSC mới có hợp lệ cho đến khi không có IFSC khác được biểu thị bằng S(IFS request) khác.
Đối với mã hóa của IFSC và IFSD trong INF, xem 11.4.2.
Quy tắc 5 – Xâu chuỗi được biểu thị bằng M-bit, trong đó l(N(S), 0) là khối không được xâu chuỗi hoặc là khối cuối cùng của chuỗi. I(N(S), 1) là một phần của chuỗi và phải được theo sau bởi ít nhất một khối xâu chuỗi.
R(N(R)) yêu cầu truyền l-block l(N(S) = N(R), …) xâu chuỗi tiếp theo và báo nhận l-block l(NOT N(R), 1) xâu chuỗi nhận được.
11.6.3. Xử lý lỗi
11.6.3.1. Dò lỗi bằng bộ thu
Nhiệm vụ của lớp khối là truyền các khối, để phát hiện việc truyền và lỗi chuỗi, để xử lý các lỗi đó và tái đồng bộ giao thức truyền. Vì vậy, thành phần khối của lớp liên kết dữ liệu có thể xử lý các lỗi sau:
– Hết thời gian chờ BWT – thẻ không truyền bất kỳ ký tự nào theo độ trễ xác định.
– Thu nhận khối không hợp lệ – ví dụ là:
· Lỗi tính chẵn lẻ của ký tự,
· Lỗi mã dư,
· PCB không hợp lệ (do mã hóa không biết rõ),
· LEN không hợp lệ (lỗi đường truyền hoặc không tương thích với loại khối hoặc với IFSC hoặc IFSD),
· Mất đồng bộ do kích cỡ khối và số mã hóa bằng LEN không nhất quán,
· Lỗi nhận S(… response) liên quan sau khi truyền S(…request).
Tái đồng bộ giao thức truyền có thể được thử tại ba mức liên tiếp. Nếu một mức không thành công thì mức tiếp theo được thử.
– Đối với thiết bị giao diện, ba mức là:
· Truyền lại của khối,
· Sử dụng S(RESYNCH request),
· Thiết lập lại nóng hoặc bỏ kích hoạt.
– Đối với thẻ, ba mức là:
· Truyền lại của khối,
· Sử dụng S(RESYNCH response)
· Thiết bị giao diện không thực hiện hoạt động nào, thẻ không trả lời.
11.6.3.2. Quy ước về giao thức đối với xử lý lỗi
Quy tắc 6 – S(RESYNCH request) có thể được truyền chỉ bằng thiết bị giao diện để tái đồng bộ và để khởi tạo việc thiết lập lại tham số truyền thông của giao thức truyền tới giá trị ban đầu của nó.
Quy tắc 6.1 – Nếu bộ thu phát hiện mất đồng bộ, nó trả lại với quyền truyền sau một im lặng trên mạch điện l/O, lớn hơn phần to hơn của CWT hoặc BGT.
Quy tắc 6.2 – S(RESYNCH request) phải hồi đáp bằng S(RESYNCH response) từ thẻ.
Quy tắc 6.3 – Sau khi thiết bị giao diện đã nhận S(RESYNCH response), giao thức truyền được khởi đầu.
Quy tắc 6.4 – Sau khi thiết bị giao diện không thành công trong tối đa ba lần liên tiếp đạt đến tái đồng bộ bằng cách truyền S(RESYNCH request), nó thực hiện hoặc thiết lập lại nóng hoặc bỏ kích hoạt.
Quy tắc 6.5 – Khi S(RESYNCH request) được thu nhận, khối truyền trước được giả định chưa được nhận.
Quy tắc 7.1 – Khi l-block được truyền và một khối không hợp lệ được nhận hoặc hết thời gian chờ BWT (với thiết bị giao diện) xảy ra, R-block được truyền, yêu cầu cùng với N(R) của nó đối với l-block được mong đợi cùng với N(S) = N(R).
Quy tắc 7.2 – Khi R-block được truyền và một khối không hợp lệ được nhận hoặc hết thời gian chờ BWT (với thiết bị giao diện) xảy ra, R-block này được truyền lại.
Quy tắc 7.3 – Khi S(…request) được truyền và hồi đáp được nhận không phải là S(…response) hoặc thời gian chờ BWT xảy ra (chỉ với thiết bị giao diện), S(…request) được truyền lại.
Khi S(…response) được truyền và một khối không hợp lệ được nhận hoặc hết thời gian chờ BWT (chỉ với thiết bị giao diện) xảy ra, R-block được truyền lại.
Quy tắc 7.4.1 – Sau khi không nhận được khối không có lỗi khi bắt đầu giao thức truyền, thiết bị giao diện tạo tối đa hai lần thử liên tiếp nữa trước khi thực hiện hoặc tái thiết lập nóng hoặc bỏ kích hoạt.
Quy tắc 7.4.2 – Trong suốt quá trình giao thức truyền, nếu thiết bị giao diện không nhận được khối không có lỗi, nó tạo tối đa hai lần thử liên tiếp nữa trước khi truyền S(RESYNCH request).
Quy tắc 7.4.3 – Nếu thẻ không nhận được khối không có lỗi sau lần thử thứ hai liên tiếp, thẻ duy trì chế độ thu nhận.
Quy tắc 7.5 – Trên cơ sở nhận khối đầu tiên không hợp lệ, thẻ tác động trở lại bằng cách truyền R(O).
Quy tắc 7.6 – Nếu khối đầu tiên được truyền bằng thiết bị giao diện không được hồi đáp trong BWT, thiết bị giao diện truyền R(0).
Quy tắc 8 – Khi thẻ truyền S(IFS request) và nhận một khối không hợp lệ, nó truyền lại tối đa hơn một S(IFS request) để suy ra S(IFS response). Sau lần không đạt thứ hai, nó duy trì trong chế độ thu nhận.
Quy tắc 9 – Hủy chuỗi có thể được khởi tạo bởi hoặc bộ truyền hoặc bộ thu của chuỗi truyền S(ABORT request) mà phải được trả lời bằng S(ABORT response), sau đó R-block có thể được truyền phụ thuộc vào liệu nó có cần thiết để trả lại quyền để truyền.
CHÚ THÍCH Hủy chuỗi lệnh có thể do lỗi vật lý trong thẻ, như lỗi bộ nhớ.
12. Truyền cặp lệnh-hồi đáp
12.1. Đơn vị dữ liệu giao thức ứng dụng
12.1.1. Cặp lệnh-hồi đáp
Đơn vị dữ liệu giao thức ứng dụng hoặc APDU lệnh hoặc APDU hồi đáp. Các bước trong giao thức ứng dụng bao gồm: truyền APDU lệnh, xử lý nó trong thực thể nhận và quay lại APDU hồi đáp. Cặp APDU này được gọi là cặp lệnh-hồi đáp.
Được mô tả trong Hình 24, mỗi APDU lệnh được quy định trong tiêu chuẩn này bao gồm:
– Tiêu đề bắt buộc của 4 byte được biểu thị: CLA INS P1 P2
– Phần điều kiện của độ dài thay đổi.
Hình 24 – Cấu trúc APDU lệnh
Được mô tả trong Hình 25, mỗi APDU hồi đáp được quy định trong tiêu chuẩn này bao gồm:
– Phần điều kiện của độ dài thay đổi,
– Bản ghi cuối bắt buộc của hai byte được biểu thị SW1 SW2 và mã hóa trạng thái của thực thể nhận sau khi xử lý lệnh.
Hình 25 – Cấu trúc APDU hồi đáp
Giá trị của tiêu đề lệnh và mã kết thúc hồi đáp được quy định trong TCVN 11167-4 (ISO/IEC 7816-4). Nếu quá trình xử lý bị hủy thì thẻ có thể không trả lời. Tuy nhiên, nếu APDU hồi đáp xuất hiện thì phần hồi đáp được để trống và SW1 SW2 chỉ ra một lỗi.
12.1.2. Trường dữ liệu trong cặp lệnh-hồi đáp
Mỗi cặp lệnh-hồi đáp có thể chuyển một trường dữ liệu lệnh và/hoặc một trường dữ liệu hồi đáp.
– Nc biểu thị số byte trong trường dữ liệu lệnh. Nếu Nc ¹ 0 thì trường Lc xuất hiện để mã hóa Nc và trường dữ liệu lệnh bao gồm các byte Nc tiếp theo. Nếu Nc = 0 thì cả trường Lc và trường dữ liệu lệnh không xuất hiện.
– Ne biểu thị số byte tối đa mong muốn trong trường dữ liệu hồi đáp. Nếu Ne ¹ 0 thì trường Le xuất hiện để mã hóa Ne. Nếu Ne = 0 thì trường Le không xuất hiện.
– Nr biểu thị số byte trong trường dữ liệu hồi đáp. Nr phải từ 0 tới Ne. Nếu Nr = 0 thì trường dữ liệu hồi đáp không xuất hiện.
Trong trường hợp 1, Nc = Nr = 0. APDU lệnh bao gồm tiêu đề; trường Lc, trường dữ liệu lệnh và trường Le không xuất hiện. APDU hồi đáp bao gồm bản ghi cuối; trường dữ liệu hồi đáp không xuất hiện.
Trong trường hợp 2, Nc = 0 và Nr ¹ 0. APDU lệnh bao gồm tiêu đề và trường Le; trường Lc và trường dữ liệu lệnh không xuất hiện. APDU hồi đáp bao gồm trường dữ liệu hồi đáp và bản ghi cuối.
Trong trường hợp 3, Nc ¹ 0 và Nr = 0. APDU lệnh bao gồm tiêu đề; trường Lc và trường dữ liệu lệnh; trường Le không xuất hiện. APDU hồi đáp bao gồm bản ghi cuối; trường dữ liệu hồi đáp không xuất hiện.
Trong trường hợp 4, Nc ¹ 0 và Nr = 0. APDU lệnh bao gồm tiêu đề, trường Lc, trường dữ liệu lệnh và trường Le. APDU hồi đáp bao gồm trường dữ liệu hồi đáp và bản ghi cuối.
Bảng 12 tóm tắt bốn trường hợp có khả năng của cặp lệnh-hồi đáp
Bảng 12 – Trường dữ liệu trong cặp lệnh-hồi đáp
Trường hợp 1 |
Không có trường dữ liệu lệnh |
Không có trường dữ liệu hồi đáp |
Trường hợp 2 |
Không có trường dữ liệu lệnh |
Trường dữ liệu hồi đáp |
Trường hợp 3 |
Trường dữ liệu lệnh |
Không có trường dữ liệu hồi đáp |
Trường hợp 4 |
Trường dữ liệu lệnh |
Trường dữ liệu hồi đáp |
Hình 26 thể hiện bốn cấu trúc của APDU lệnh theo bốn trường hợp trước:
– APDU lệnh của trường hợp 1 bao gồm tiêu đề
– APDU lệnh của trường hợp 2 bao gồm tiêu đề và trường Le
– APDU lệnh của trường hợp 3 bao gồm tiêu đề, trường Lc và trường dữ liệu
– APDU lệnh của trường hợp 4 bao gồm tiêu đề, trường Lc, trường dữ liệu và trường Le
Hình 26 – Bốn cấu trúc của APDU lệnh
Do vậy, trong bất kỳ cặp lệnh-hồi đáp, việc thiếu trường Le trong APDU lệnh là cách thức chuẩn để nhận trường dữ liệu không hồi đáp trong APDU hồi đáp.
12.1.3. Quy ước giải mã hóa đối với APDU lệnh
Hình 27 mô tả APDU lệnh là một chuỗi byte. Tiêu đề bao gồm bốn byte đầu tiên, được gọi là CLA
INS P1 P2. Thể bao gồm tất cả các byte tiếp theo là C(5) đến C(n) nếu có.
Hình 27 – APDU lệnh là một chuỗi byte
– Trong trường hợp 1, thẻ không xuất hiện. Do vậy, n = 4.
– Trong trường hợp 2, trường Le hoặc là ngắn (trường hợp 2S) hoặc được mở rộng (trường hợp 2E).
· Trường hợp 2S – trường Le ngắn bao gồm C95) mã hóa Ne từ 1 đến 256 (‘00’ nghĩa là tối đa, 256). Do vậy, n = 5.
· Trường hợp 2E – trường Le mở rộng bao gồm C(5) = ‘00’ và C(6) C(7) mã hóa Ne từ 1 đến 65 536 (‘0000’ nghĩa là tối đa, 65 536). Do vậy, n = 7.
– Trong trường hợp 3, trường Lc hoặc là ngắn (trường hợp 3S) hoặc được mở rộng (trường hợp 3E).
· Trường hợp 3S – trường Lc ngắn bao gồm C(5) ¹ ‘00’, mã hóa Nc từ 1 tới 255. Trường dữ liệu bao gồm C(6) tới C(5+Nc). Do vậy, n = 5 + (C(5)).
· Trường hợp 3E – trường Lc mở rộng bao gồm C(5) = ‘00’ và C(6) C(7) ¹ ‘0000’, mã hóa Nc từ 1 đến 65 535. Trường dữ liệu bao gồm C(8) tới C(7+NC). Do vậy, n = 7 + (C(6) C(7)).
– Trong trường hợp 4, cả trường độ dài hoặc ngắn (trường hợp 4S) hoặc được mở rộng (trường hợp 4E).
· Trường hợp 4S – Trường Lc ngắn bao gồm C(5) ¹ ‘00’, mã hóa Nc từ 1 tới 255. Trường dữ liệu bao gồm C(6) tới C(5+Nc). Trường Le ngắn bao gồm C(6+Nc) mã hóa Ne từ 1 tới 256 (‘00’ nghĩa là tối đa, 256). Do vậy, n = 6 + (C(5)).
· Trường hợp 4E – trường Lc mở rộng bao gồm C(5) = ‘00’ và C(6) C(7) ¹ ‘0000’, mã hóa Nc từ 1 đến 65 535. Trường dữ liệu bao gồm C(8) tới C(7+Nc). Trường Le mở rộng bao gồm C(8+Nc) C(9+Nc) mã hóa Ne từ 1 tới 65 536 (‘0000’ nghĩa là tối đa, 65 536). Do vậy, n = 9 + (C(6) C(7)).
Bảng 13 tóm tắt APDU lệnh mã hóa theo bảy trường hợp.
Bảng 13 – Mã hóa lệnh APDU
Điều kiện trên C(5) |
Điều kiện trên C(6) C(7) |
Số byte |
Trường hợp |
Không xuất hiện |
Không xuất hiện |
4 |
1 |
Xuất hiện, bất kỳ giá trị nào |
Không xuất hiện |
5 |
2S |
Xuất hiện, ¹ ‘00’ |
C(6) và có khả năng C(7) xuất hiện |
5 + (C(5)) |
3S |
Xuất hiện, ¹ ‘00’ |
Xuất hiện, bất kỳ giá trị nào |
6 + (C(5)) |
4S |
Xuất hiện, = ‘00’ |
Xuất hiện, bất kỳ giá trị nào |
7 |
2E |
Xuát hiện, = ‘00’ |
Xuất hiện, ¹ ‘0000’ |
7 + (C(6) C(7)) |
3E |
Xuất hiện, = ‘00’ |
Xuất hiện, ¹ ‘0000’ |
9 + (C(6) C(7)) |
4E |
Bất kỳ APDU lệnh nào khác không hợp lệ |
Trường hợp 1, 2S, 3S và 4S áp dụng với tất cả các thẻ. Trường hợp 2E, 3E và 4E cũng áp dụng với các thẻ biểu thị rõ ràng khả năng của chúng xử lý trường độ dài mở rộng (khả năng của thẻ được quy định trong TCVN 11167-4 (ISO/IEC 7816-4).
12.2. Truyền cặp lệnh-hồi đáp theo T=0
12.2.1. Tổng quan
Điều này quy định sự ánh xạ của đơn vị dữ liệu giao thức ứng dụng (APDU) thành đơn vị dữ liệu giao thức truyền (TPDU) theo T=0 sử dụng lệnh GET RESPONSE và ENVELOPE (xem TCVN 11167-4 (ISO/IEC 7816-4)) nếu cần. Ví dụ, cặp lệnh-hồi đáp của trường hợp 4S được xử lý là hai cặp liên tiếp của TPDU lệnh và TPDU hồi đáp: TPDU lệnh thứ hai là lệnh GET RESPONSE. Bảng 14 tóm tắt giá trị mã kết thúc hồi đáp cụ thể (xem TCVN 11167-4 (ISO/IEC 7816-4)) được sử dụng sau đây để ánh xạ.
Bảng 14 – Giá trị bản ghi cuối hồi đáp được sử dụng cho việc ánh xạ bằng giao thức T=0
SW1 SW2 |
Ý nghĩa |
‘9000’ |
Quy trình hoàn thành bình thường. Trong trường hợp 1, 2 và 3, không có thêm hoạt động nào. Trong trường hợp 4, sau khi nhận byte dữ liệu lệnh Nc, thẻ sẵn sàng nhận ít nhất một lệnh GET RESPONSE để truyền nhiều nhất byte dữ liệu trả lời Ne. |
‘61XY’ |
Quy trình hoàn thiện bình thường (SW2 mã hóa Nx, nghĩa là số byte dữ liệu thêm vẫn sẵn có). Trong trường hợp 1 và 3, thẻ không sử dụng giá trị như vậy. Trong trường hợp 2 và 4, để truyền byte dữ liệu trả lời, thẻ sẵn sàng nhận lệnh GET RESPONSE với P3 được đặt là giá trị nhỏ nhất của Nx và Ne |
‘62XY’ ‘63XY’ |
Quy trình hoàn thành với cảnh báo. Trong trường hợp 1, không có thêm hoạt động nào. Trong trường hợp 2, 3 và 4, nếu chỉ số cảnh báo xuất hiện trước khi truyền tất cả các byte dữ liệu trả lời lệnh và/hoặc thì hoặc quy trình tiếp tục (ví dụ lệnh GET RESPONSE để truyền byte dữ liệu trả lời), hoặc chỉ số cảnh báo cảm sinh lệnh khác (ví dụ ‘6202’ đến ‘6280’, lệnh GET DATA để truyền chuỗi byte có nguồn gốc từ thẻ, xem TCVN 11167-4 (ISO/IEC 7816-4). Do đó, thẻ phải không sử dụng giá trị như vậy cho đến khi TPDU hồi đáp cuối cùng (xem phần bên dưới) |
‘6700’ |
Quy trình bị hủy do độ dài bị sai. Không có thêm hoạt động nào. |
‘6CXY’ |
Quy trình bị hủy do trường Le sai (SW mã hóa Na, nghĩa là số chính xác các byte dữ liệu có sẵn). Trong trường hợp 1 và 3, thẻ phải không sử dụng giá trị như vậy. Trong trường hợp 2 và 4, thẻ phải sẵn sàng nhận cùng lệnh với P3 = SW2. |
‘6D00’ |
Quy trình bị hủy do mã chỉ thị không được hỗ trợ hoặc không hợp lệ. Không có thêm hoạt động nào. |
Cặp lệnh-hồi đáp liên ngành liên tiếp có thể được xâu chuỗi: CLA = 0xx1 xxxx trong APDU lệnh đầu tiên cho đến lệnh gần cuối và CLA = 0xx0 xxxx trong lệnh cuối cùng; sáu bit khác duy trì không đổi trong chuỗi (xâu chuỗi được quy định trong TCVN 11167-4 (ISO/IEC 7816-4)).
– Khi một cặp lệnh-hồi đáp liên ngành trong một chuỗi (CLA = 0xx1 xxxx) được xử lý là hai hoặc nhiều cặp liên tiếp của TPDU lệnh và APDU hồi đáp thì trong TPDU lệnh, tất cả các CLA phải được đặt là cùng giá trị, nghĩa là 0xx1 xxxx.
– Khi cặp lệnh-hồi đáp liên ngành cuối cùng của chuỗi (bit 5 của CLA được chuyển từ 1 tới 0, nghĩa là CLA = 0xx0 xxxx) được xử lý là hai hoặc nhiều cặp liên tiếp của TPDU lệnh và TPDU hồi đáp thì chuỗi thực sự kết thúc tại cặp cuối cùng của TPDU lệnh và TPDU hồi đáp. Do vậy, để cung cấp chỉ số đúng trong TPDU lệnh, CLA đầu tiên cho đến cái gần cuối phải được đặt là 0xx1 xxxx và CLA cuối cùng tới 0xx0 xxxx.
Trong trường hợp 4S, 2E, 3E and 4E, nếu thẻ hỗ trợ xâu chuỗi lệnh (xem TCVN 11167-4 (ISO/IEC 7816-4)) thì đối với bất kỳ cặp lệnh-hồi đáp liên ngành nào với CLA = 0xx0 xxxx, dù cho bit 5 trong CLA trước, quy tắc trên phải áp dụng nếu thích hợp. Do vậy xâu chuỗi lệnh cho phép thẻ biết liệu lệnh TPDU là lệnh cuối cùng hay không, để không sử dụng chỉ số cảnh báo cho đến TPDU hồi đáp cuối cùng.
12.2.2. Trường hợp 1
APDU lệnh được ánh xạ trên lệnh TPDU với P3 = ‘00’.
APDU lệnh |
CLA INS P1 P2 |
TPDU lệnh |
CLA INS P1 P2 {P3 = ‘00’} |
TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có sự thay đổi nào.
APDU hồi đáp |
SW1 SW2 |
TPDU hồi đáp |
SW1 SW2 |
12.2.3. Trường hợp 2S
Trường Le ngắn bao gồm một byte: C(5) với bất kỳ giá trị nào để mã hóa Ne từ 1 đến 256 (‘00’ nghĩa là tối đa, 256). APDU lệnh được ánh xạ trên TPDU lệnh mà không có bất kỳ thay đổi nào.
APDU lệnh |
CLA INS P1 P2 |
{Trường Le = C{5}} |
TPDU lệnh |
CLA INS P1 P2 {P3 = C(5)} |
TPDU hồi đáp được ánh xạ trên APDU hồi đáp theo sự thu nhận của Ne và theo quy trình xử lý lệnh.
Trường hợp 2S.1 – quy trình xử lý hoàn thiện; Ne được thu nhận
TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
APDU hồi đáp |
Ne byte dữ liệu |
SW1 SW2 |
TPDU hồi đáp |
Ne byte dữ liệu |
SW1 SW2 |
Trường hợp 2S.2 – quy trình xử lý bị hủy; Ne hoàn toàn không được thu nhận
Thẻ không thu nhận Ne và không hỗ trợ dịch vụ cung cấp dữ liệu nếu độ dài bị sai. TPDU hồi đáp từ thẻ biểu thị rằng quy trình xử lý bị hủy do chiều dài bị sai: SW1 SW2 = ‘6700’. TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
APDU hồi đáp |
{SW1 SW2 = ‘6700’} |
TPDU hồi đáp |
{SW1 SW2 = ‘6700’} |
Trường hợp 2S.3 – quy trình xử lý bị hủy; Ne không được chấp thuận, được biểu thị
Thẻ không thu nhận Ne và TPDU hồi đáp từ thẻ biểu thị rằng quy trình xử lý bị hủy: SW1 = ‘6C’ (chiều dài bị sai) và SW2 với giá trị bất kỳ để mã hóa Na từ 1 đến 256 (‘00’ nghĩa là 256), số chính xác của byte dữ liệu có sẵn.
TPDU hồi đáp |
{SW1 = ‘6C’} SW2 |
Thẻ sẵn sàng nhận TPDU lệnh tương tự với P3 = SW2.
APDU lệnh |
CLA INS P1 P2 {P3 = SW2} |
TPDU hồi đáp bao gồm byte dữ liệu Na theo sau bởi SW1 SW2.
TPDU hồi đáp |
Na byte dữ liệu |
SW1 SW2 |
Nếu Na ≤ Ne thì TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
APDU hồi đáp |
Na (≤ Ne) byte dữ liệu |
SW1 SW2 |
Nếu Na > Ne thì TPDU hồi đáp được ánh xạ trên APDU hồi đáp bằng cách chỉ giữ byte Ne đầu tiên của APDU hồi đáp và hai byte trạng thái SW1 SW2.
APDU hồi đáp |
Ne (≤ Na) byte dữ liệu |
SW1 SW2 |
Trường hợp 2S.4 – SW1 SW2 = ‘9XYZ’, ngoại trừ ‘9000’
TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
12.2.4. Trường hợp 3S
Trường Lc ngắn bao gồm một byte C(5) ¹ ‘00’ để mã hóa Nc từ 1 đến 255. APDU lệnh được ánh xạ trên TPDU lệnh mà không có bất kỳ thay đổi nào.
APDU lệnh |
CLA INS P1 P2 |
{Trường Le = C{5}} |
Nc byte dữ liệu |
TPDU lệnh |
CLA INS P1 P2 {P3 = C{5}} |
Nc byte dữ liệu |
TPDU hồi đáp được ánh xạ trên APDU lệnh mà không có bất kỳ thay đổi nào.
TPDU hồi đáp |
SW1 SW2 |
APDU hồi đáp |
SW1 SW2 |
12.2.5. Trường hợp 4S
Trường Lc ngắn bao gồm một byte: C(5) ¹ ‘00’ để mã hóa Nc từ 1 đến 255. Trường Le ngắn bao gồm một byte: C(n) với giá trị bất kỳ để mã hóa Na từ 1 đến 256 (‘00’ nghĩa là tối đa, 256). APDU được ánh xạ trên TPDU lệnh bằng cách cắt trường Le, nghĩa là C(n).
APDU hồi đáp |
CLA INS P1 P2 |
{Trường Le = C{5}} |
Nc byte dữ liệu |
{Trường Le = C{n}} |
TPDU hồi đáp |
CLA INS P1 P2 {P3 = C{5}} |
Nc byte dữ liệu |
Trường hợp 4S.1 – Quy trình xử lý bị hủy
TPDU hồi đáp đầu tiên từ thẻ biểu thị rằng quy trình xử lý bị hủy: SW1 = ‘6X’, ngoại trừ ‘61’, ‘62’ và ‘63’. TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
TPDU hồi đáp |
{SW1 = ‘6X’ ngoại trừ ‘61’, ‘62’ |
APDU hồi đáp |
{SW1 = ‘6X’ ngoại trừ ‘61’, ‘62’ |
Trường hợp 4S.2 – Quy trình xử lý hoàn thiện
TPDU hồi đáp đầu tiên từ thẻ biểu thị rằng quy trình xử lý được hoàn thiện: SW1 SW2 = ‘9000’. Thẻ phải sẵn sàng nhận TPDU lệnh GET RESPONSE với P3 = C(n).
TPDU lệnh |
CLA {INS = GET RESPONSE } P1 P2 {P3 = C(n)} |
Phụ thuộc vào TPDU hồi đáp thứ hai từ thẻ, quy trình xử lý phải tiếp tục theo trường hợp 2S.1, 2S.2, 2S.3 và 2S.4 ở trên.
Trường hợp 4S.3 – Quy trình xử lý hoàn thiện với thông tin được bổ sung
TPDU hồi đáp đầu tiên từ thẻ biểu thị rằng quy trình xử lý được hoàn thiện và thẻ đưa ra thông tin: SW1 = ‘61’ và SW2 có giá trị bất kỳ để mã hóa Nx từ 1 đến 256 (‘00’ nghĩa là 256), số byte dữ liệu thêm vẫn có sẵn. Thẻ sẵn sàng thu nhận TPDU lệnh GET RESPONSE với P3 được đặt là giá trị tối thiểu của Nx và Ne.
TPDU lệnh |
CLA {INS = GET RESPONSE } P1 P2 {P3 = min(Ne, Nx)} |
TPDU hồi đáp thứ hai được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
TPDU hồi đáp |
P3 byte dữ liệu |
SW1 SW2 |
APDU hồi đáp |
P3 byte dữ liệu |
SW1 SW2 |
Trường hợp 4S.4 – SW1 SW2 = hoặc ‘62XY’ hoặc ‘63XY’ hoặc ‘9XYZ’ ngoại trừ ‘9000’
TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
CHÚ THÍCH Trong trường hợp 4S, sử dụng ‘62XY’ và ‘63XY’ không được khuyến nghị trong TPDU hồi đáp đầu tiên.
12.2.6. Trường hợp 2E
Trường Le mở rộng bao gồm ba byte: C(5) C(6) C(7); C(5) = ‘00’ và C(6) C(7) có giá trị bất kỳ để mã hóa Ne từ 1 đến 65 536 (‘0000’ nghĩa là tối đa, 65 536).
APDU lệnh |
CLA INS P1 P2 |
{Trường Le = C(5) C(6) C(7)} |
Trường hợp 2E.1 – Ne ≤ 256, C(5) = ‘00’, C(6) C(7) từ ‘0001’ đến ‘0100’
Khi Ne từ 1 đến 256, APDU lệnh phải ánh xạ trên TPDU lệnh với P3 = C(7). Quy trình xử lý phải tiếp tục theo trường hợp 2S.
TPDU lệnh |
CLA INS P1 P2 {P3 = C(7)} |
Trường hợp 2E.2 – Ne > 256, C(5) = ‘00’, C(6) C(7) = hoặc ‘0000’ hoặc từ ‘0101’ đến ‘FFFF’
Khi Ne > 256, APDU lệnh phải ánh xạ trên TPDU lệnh với P3 = ‘00’.
TPDU lệnh |
CLA INS P1 P2 {P3 = ‘00’} |
a) Nếu TPDU hồi đáp đầu tiên từ thẻ biểu thị rằng quy trình xử lý bị hủy do chiều dài bị sai (SW1 SW2 = ‘6700’) thì TPDU hồi đáp phải được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
TPDU hồi đáp |
{SW1 SW2 = ‘6700’} |
APDU hồi đáp |
{SW1 SW2 = ‘6700’} |
b) Nếu TPDU hồi đáp đầu tiên từ thẻ biểu thị rằng quy trình xử lý bị hủy do chiều dài bị sai và thẻ đưa ra thông tin: SW1 = ‘6C’ và SW2 với giá trị bất kỳ để mã hóa Na từ 1 đến 256 (‘00’ nghĩa là 256), đó là số chính xác các byte dữ liệu sẵn có thì quy trình xử lý phải được hoàn tất như được mô tả trong trường hợp 2S.3.
c) Nếu TPDU hồi đáp đầu tiên là byte dữ liệu 256 theo sau bởi SW1 SW2 = ‘9000’, điều này nghĩa là thẻ không có quá 256 byte dữ liệu, và/hoặc không hỗ trợ lệnh GET RESPONSE. TPDU hồi đáp khi đó phải ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
TPDU hồi đáp |
256 byte dữ liệu |
{SW1 SW2 = ‘9000’} |
APDU hồi đáp |
256 byte dữ liệu |
{SW1 SW2 = ‘9000’} |
d) Nếu TPDU đầu tiên hoặc tiếp theo từ thẻ là SW1 = ‘61’ thì SW2 với giá trị bất kỳ mã hóa Nx từ 1 đến 256 (‘00’ nghĩa là 256), đó là số các byte dữ liệu thêm vẫn có sẵn. Số byte dữ liệu còn lại được phục hồi từ thẻ là Nm = Ne trừ đi số byte dữ liệu nhận được trong TPDU hồi đáp trước đó.
· Nếu Nm = 0 thì APDU hồi đáp phải là sự kết nối của các byte dữ liệu của tất cả các TPDU hồi đáp nhận được cùng với bản ghi cuối của TPDU hồi đáp nhận được cuối cùng.
· Nếu Nm > 0 thì thẻ sẵn sàng nhận TPDU lệnh GET RESPONSE với P3 được đặt là giá trị tối thiểu của Nx và Nm. TPDU hồi đáp tương ứng từ thẻ phải được xử lý
– Theo trường hợp d), nếu SW1 = ‘61’
– Như ở trên khi Nm bằng không, nếu SW1 SW2 = ‘9000’.
12.2.7. Trường hợp 3E
Trường Lc mở rộng bao gồm ba byte: C(5) C(6) C(7); C(5) = ‘00’ và C(6) C(7) ¹ ‘0000’ để mã hóa Ne từ 1 đến 65 536.
APDU lệnh |
CLA INS P1 P2 |
{Trường Le = C(5) C(6) C(7)} |
Nc byte dữ liệu |
Trường hợp 3E.1 – Nc từ 1 đến 255, C(5) C(6) = ‘0000’, C(7) ¹ ‘00’
Khi Nc từ 1 đến 255, APDU lệnh được ánh xạ trên TPDU lệnh với P3 = C(7).
TPDU lệnh |
CLA INS P1 P2 {P3 = C(7)} |
Nc byte dữ liệu |
TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
TPDU hồi đáp |
SW1 SW2 |
APDU hồi đáp |
SW1 SW2 |
Trường hợp 3E.2 – Nc> 255, C(5) = ‘00’, C(6) ¹ ‘00’, C(7) giá trị bất kỳ
APDU lệnh phải chia thành các đoạn liên tiếp nhỏ hơn 256 byte được truyền trong các byte dữ liệu của TPDU lệnh ENVELOPE liên tiếp. Sự không xuất hiện của các byte dữ liệu nghĩa là “kết thúc chuỗi dữ liệu”.
TPDU lệnh |
CLA {INS = ENVELOPE } P1 P2 P3 |
P3 byte |
– Nếu TPDU hồi đáp đầu tiên từ thẻ biểu thị rằng thẻ không hỗ trợ lệnh ENVELOPE (SW1 SW2 = ‘6D00’), TPDU phải được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
TPDU hồi đáp |
{SW1 SW2 = ‘6D00’} |
APDU hồi đáp |
{SW1 SW2 = ‘6D00’} |
– Nếu trả lời đầu tiên từ thẻ biểu thị rằng thẻ không hỗ trợ lệnh ENVELOPE (SW1 SW2 = ‘9000’) thì thẻ sẵn sàng nhận lệnh ENVELOPE hơn nữa khi cần thiết.
TPDU hồi đáp |
{SW1 SW2 = ‘9000’} |
|
APDU hồi đáp |
CLA {INS = ENVELOPE } P1 P2 P3 |
P3 byte |
– TPDU hồi đáp tương ứng với lệnh ENVELOPE cuối cùng được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
TPDU hồi đáp |
SW1 SW2 |
APDU hồi đáp |
SW1 SW2 |
12.2.8. Trường hợp 4E
Trường Lc mở rộng bao gồm ba byte: C(5) C(6) C(7); C(5) = ‘00’ và C(6) C(7) ¹ ‘0000’ để mã hóa Nc từ 1 đến 65 535. Trường Le mở rộng bao gồm hai byte: C(n-1) C(n) với giá trị bất kỳ để mã hóa Ne từ 1 đến 65 536 (‘0000’ nghĩa là tối đa, 65 536).
APDU lệnh |
CLA INS P1 P2 |
{Trường Lc = C(5) C(6) C(7)} |
Nc byle dữ liệu |
(Trường Le = C(n–1) C(n)} |
Trường hợp 4E.1 – Nc < 256,=””>(5) C(6) = ‘0000’, C(7) ¹ ‘00’
Khi Nc từ 1 đến 255, APDU lệnh được ánh xạ trên TPDU lệnh với P3 = C(7) và bằng cách nối thêm các byte dữ liệu Nc. Trường Le, nghĩa là C(n-1) C(n) bị cắt.
TPDU lệnh |
CIA INS P1 P2 {P3 = C(7)} |
Nc byte dữ liệu |
a) Nếu SW1 = ‘6X’ ngoại trừ với ‘61’, ‘62’ hoặc ‘63’ trong TPDU hồi đáp đầu tiên từ thẻ thì TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
TPDU hồi đáp |
{SW1 = ‘6X’ ngoại trừ ‘61’, ‘62’ hoặc ‘63’} SW2 |
APDU hồi đáp |
{SW1 = ‘6X’ ngoại trừ ‘61’, ‘62’ hoặc ‘63’} SW2 |
b) Nếu SW1 SW2 = ‘9000’ trong TPDU hồi đáp đầu tiên từ thẻ thì:
· Nếu Ne ≤ 256, nghĩa là C(n-1) C(n) từ ‘0001’ đến ‘0100’ thì thẻ sẵn sàng thu nhận TPDU lệnh GET RESPONSE với P3 = C(n). Quy trình xử lý tiếp theo phải theo các trường hợp 2S.1, 2S.2, 2S.3 và 2S.4 ở trên.
· Nếu Ne > 256, nghĩa là C(n-1) C(n) = hoặc ‘0000’ hoặc > ‘0100’ thì thẻ sẵn sàng thu nhận TPDU lệnh GET RESPONSE với P3 = ‘00’. Quy trình xử lý tiếp theo phải theo trường hợp 2E.2 ở trên.
c) Nếu SW1 = ‘61’ trong TPDU hồi đáp đầu tiên từ thẻ thì quy trình xử lý phải tiếp tục theo trường hợp 2E.2 d) ở trên.
d) Nếu SW1 SW2 = ‘62XY’ hoặc ‘63XY’ hoặc ‘9XYZ’ ngoại trừ ‘9000’, trong TPDU hồi đáp đầu tiên từ thẻ thì TPDU hồi đáp được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
CHÚ THÍCH Trong trường hợp 4E, sử dụng ‘62XY’ và ‘63XY’ không được khuyến nghị cho đến TPDU hồi đáp cuối cùng.
Trường hợp 4E.2 – Nc > 255, C(5) = ‘00’, C(6) ¹ ‘00’, C(7) giá trị bất kỳ
Khi Nc ≥ 256, quy trình xử lý phải tiếp tục theo trường hợp 3E.2 được mô tả ở trên cho đến khi APDU lệnh đã được truyền thành công tới thẻ. Khi đó nó phải tiếp tục như được mô tả ở trên trong trường hợp 4E.1 a), b), c) và d).
12.3. Truyền cặp lệnh-hồi đáp bằng T=1
12.3.4. Tổng quát
Điều này xác định ánh xạ của đơn vị dữ liệu giao thức ứng dụng (APDU) trong trường thông tin của đơn vị dữ liệu giao thức truyền (TPDU) bằng T=1.
12.3.2. Trường hợp 1
APDU lệnh được ánh xạ trên trường thông tin của l-block mà không có bất kỳ thay đổi nào.
APDU hồi đáp |
CLA INS P1 P2 |
|
Trường thông tin |
CLA INS P1 P2 |
|
Trường thông tin của l-block trong trả lời được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào.
Trường thông tin |
SW1 SW2 |
|
TPDU hồi đáp |
SW1 SW2 |
|
12.3.3. Trường 2S và 2E
APDU lệnh được ánh xạ trên trường thông tin của l-block mà không có bất kỳ thay đổi nào.
APDU lệnh |
CLA INS P1 P2 |
Trường Le |
||
Trường thông tin |
CLA INS P1 P2 |
Trường Le |
||
APDU hồi đáp bao gồm hoặc:
– Trường thông tin của l-block trong trả lời, hoặc
– Kết nối trường thông tin của l-block I liên tiếp trong trả lời. Các khối này phải được xâu chuỗi.
hoặc Trường thông tin |
Trường dữ liệu |
SW1 SW2 |
|
hoặc kết hợp các Trường thông tin |
Trường |
SW1 SW2 |
|
|
… |
||
|
dữ liệu |
SW1 SW2 |
|
TPDU hồi đáp |
Trường dữ liệu |
SW1 SW2 |
|
12.3.4. Trường hợp 3S và 3E
APDU lệnh được ánh xạ mà không có bất kỳ thay đổi nào trên hoặc
– Trường thông tin của một l-block, hoặc
– Kết nối của trường thông tin của l-block liên tiếp. Các khối này phải được xâu chuỗi.
APDU lệnh |
CLA INS P1 P2 |
Trường Lc |
Trường dữ liệu |
hoặc Trường thông tin |
CLA INS P1 P2 |
Trường Lc |
Trường dữ liệu |
hoặc kết hợp các Trường thông tin |
CLA INS P1 P2 |
Trường Lc |
Dữ liệu |
|
… |
||
|
Trường |
Trường thông tin của l-block trong trả lời được ánh xạ trên APDU hồi đáp mà không có bất kỳ thay đổi nào
Trường thông tin |
SW1 SW2 |
|
APDU hồi đáp |
SW1 SW2 |
|
12.3.5. Trường hợp 4S và 4E
APDU lệnh được ánh xạ mà không có bất kỳ thay đổi nào trên hoặc:
– Trường thông tin của một l-block, hoặc
– Kết nối của trường thông tin của l-block liên tiếp. Các khối này phải được xâu chuỗi.
APDU lệnh |
CLA INS P1 P2 |
Trường Lc |
Trường dữ liệu |
Trường Le |
hoặc Trường thông tin |
CLA INS P1 P2 |
Trường Lc |
Trường dữ liệu |
Trường Le |
hoặc kết hợp các Trường thông tin |
CLA INS P1 P2 |
Trường Lc |
Dữ liệu |
|
… |
||
|
Trường |
Trường Le |
APDU hồi đáp bao gồm hoặc:
– Trường thông tin của một l-block trong trả lời, hoặc
– Kết nối của trường thông tin của l-block liên tiếp. Các khối này phải được xâu chuỗi.
hoặc Trường thông tin |
Trường dữ liệu |
SW1 SW2 |
hoặc kết hợp các Trường thông tin |
Dữ liệu |
|
… |
||
Trường |
SW1 SW2 |
APDU hồi đáp |
Trường dữ liệu |
SW1 SW2 |
Phụ lục A
(tham khảo)
Trường hợp đối với T =1
A.1. Ký hiệu
Ký hiệu sau áp dụng bên cạnh ký hiệu có trong Điều 11.6.1 của Phụ lục này.
A.2. Hoạt động không lỗi (theo các quy tắc trong 11.6.2.3)
A.2.1. Trao đổi l-block
Trường hợp 1 – (quy tắc 1 và 2.1)
A.2.2. Mở rộng thời gian chờ
Trường hợp 2 – (quy tắc 3) – Thẻ yêu cầu mở rộng thời gian chờ
A.2.3. Điều chỉnh IFS
Trường hợp 3 – (quy tắc 4) – Thẻ khởi tạo điều chỉnh IFS
Trường hợp 4 – (quy tắc 4) – Thiết bị giao diện khởi tạo điều chỉnh IFS
A.2.4. Hàm chuỗi
Trường hợp 5 – (quy tắc 2.2 và 5) – Thiết bị giao diện truyền chuỗi
Trường hợp 6 – (quy tắc 2.2 và 5) – Thẻ truyền chuỗi
Trường hợp 7 – (CHÚ THÍCH cuối cùng của 11.6.2.2) – Thẻ sử dụng M-bit để buộc báo nhận I-block được truyền
A.3. Xử lý lỗi (theo các quy tắc trong 11.6.3.2)
A.3.1. Trao đổi l-block
Trường hợp 8 – (quy tắc 7.5) – Khi bắt đầu giao thức truyền
Trường hợp 9 – (quy tắc 7.1 và 7.6)
Trường hợp 10 – (quy tắc 7.1, 7.5 và 7.6)
Trường hợp 11 – (quy tắc 7.1 và 7.6)
Trường hợp 12 – (quy tắc 7.1, 7.2 và 7.6)
Trường hợp 13 – (quy tắc 7.1, 7.2 và 7.6)
A.3.2. Mở rộng thời gian chờ
Trường hợp 14 – (quy tắc 7.3) – Thẻ yêu cầu mở rộng thời gian chờ
Trường hợp 15 – (quy tắc 7.3) – Thẻ yêu cầu mở rộng thời gian chờ
A.3.3. Điều chỉnh IFS
Trường hợp 16 – (quy tắc 7.3) – Thẻ yêu cầu điều chỉnh IFS
Trường hợp 17 – (quy tắc 7.3) – Thẻ yêu cầu điều chỉnh IFS
Trường hợp 18 – (quy tắc 7.3) – Thẻ yêu cầu điều chỉnh IFS
Trường hợp 19 – (quy tắc 7.3) – Thẻ yêu cầu điều chỉnh IFS
Trường hợp 20 – (quy tắc 7.3) – Thẻ yêu cầu điều chỉnh IFS
A.3.4. Hàm chuỗi
A.3.4.1. Thiết bị giao diện truyền chuỗi
Trường hợp 21 – (quy tắc 7.1)
Trường hợp 22 – (quy tắc 7.1)
A.3.4.2. Thẻ truyền chuỗi
Trường hợp 23 – (quy tắc 7.1)
Trường hợp 24 – (quy tắc 7.1)
A.3.4.3. Bộ truyền chuỗi khởi đầu hủy chuỗi
Trường hợp 25 – (quy tắc 9) – Thiết bị giao diện khởi đầu hủy chuỗi
Trường hợp 26 – (quy tắc 9) – Thẻ khởi tạo hủy chuỗi
A.3.4.4. Bộ thu chuỗi khởi đầu hủy chuỗi
Trường hợp 27 – (quy tắc 9) – Thẻ khởi tạo hủy chuỗi
Trường hợp 28 – (quy tắc 9) – Thiết bị giao diện khởi đầu hủy chuỗi
A.3.5. Tái đồng bộ hóa
Trường hợp 29 – (quy tắc 6.2)
Trường hợp 30 – (quy tắc 6.2 và 7.3)
Trường hợp 31 – (quy tắc 6.2, 7.1 và 7.3)
Trường hợp 32 –
Trường hợp 33 – (quy tắc 7.1 và 7.4.1) – Khi bắt đầu giao thức truyền
Trường hợp 34 – (quy tắc 7.1, 7.4.2 và 7.4.3) – Trong suốt giao thức truyền
Trường hợp 35 – (quy tắc 6.4, 7.1, 7.4.2 và 7.4.3) – Trong suốt giao thức truyền
THƯ MỤC TÀI LIỆU THAM KHẢO
[1] TCVN 6398 (ISO 31) Đại lượng và đơn vị (tất cả các phần)
[2] TCVN 11165:2015 (ISO/IEC 7810:2003) Thẻ định danh – Đặc tính vật lý
[3] ISO/IEC 10536, Identification cards – Contactless integrated circuit(s) cards – Close-coupled cards (tất cả các phần)
[4] ISO/IEC 13239:2002, Information technology – Telecommunications and information exchange between systemili-giây – High-level data link control (HDLC) procedures
[5] ISO/IEC 14443, Identification cards – Contactless integrated circuit(s) cards – Proximity cards (tất cả các phần)
[6] ISO/IEC 15693, ldentification cards – Contactless integrated circuit(s) cards – Vicinity cards (tất cả các phần)
MỤC LỤC
Lời nói đầu
1. Phạm vi áp dụng
2. Tài liệu viện dẫn
3. Thuật ngữ và định nghĩa
4. Thuật ngữ viết tắt và ký hiệu
5. Đặc tính điện
6. Quy trình vận hành thẻ
7. Ký tự không đồng bộ
8. Trả lời để thiết lập lại
9. Giao thức và lựa chọn thông số
10. Giao thức T=0, truyền bán song công của ký tự
11. Giao thức T=1, truyền bán song công của khối
12. Truyền cặp lệnh-hồi đáp
Phụ lục A (tham khảo) Trường hợp đối với T =1
Thư mục tài liệu tham khảo