TCVN11167-3:2015

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 I dentification cards - Integrated circuit cards - Part 3: Cards with contacts - Electrical inter f ace 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À GIA O THỨC TRUY Ề N I dentification cards - Integrated circuit cards - Part 3: Cards with contacts - Electrical inter f ace 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 (identi f ication 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 t i n (in f ormation 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 t i n (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 (inter f ace 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 (protoco l 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ư (redun d ant 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ự C I N điện d ung đầu vào CLA byle lớp CLK tiếp x ú c đ ồ ng hồ C OU T đ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 I cc cường độ tại VCC IFS k í ch c ỡ trường thông tin tối đa IFSC IFS đối với t hẻ IFSD IFS đối với thiết bị giao diện I I H dòng điện đầu vào mức cao I I L dòng điện đầu vào mức th ấ p INF trường thông tin INS byte ch ỉ d ẫ n I OH d ò ng điện đầu ra mức cao I OL 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 L c trường độ d à i để mã hóa số N c Trư ờ ng L e trường độ dài để mã hóa số N e 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 N a số chính xác của byte dữ liệu có sẵn N c số byte trong trường dữ liệu lệnh N e số tối đa các byte dự kiến trong trư ờ ng dữ liệu hồi đáp N m số byte dữ liệu còn lại N r số byte trong trường dữ liệu hồi đáp N x 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 t F 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 t R 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 T 1 , T 2 , ... byte lịch sử U CC điện áp tại VCC U IH điện áp đ ầ u vào mức cao U IL điện áp đầu vào mức th ấ p U OH điện áp đầu ra mức cao U OL điện áp đầu ra mức th ấ p CHÚ THÍCH Theo TCVN 6398 (ISO 31), k í hiệu: U CC , U I H , U IL , U OH và U OL thay th ế cho k ý hiệu trước đ ó : VCC, V I H , V IL , V OH và V OL . 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ị U cc Cấp A Cấp B Cấp C 4,5 2,7 1,62 5,5 3,3 1,98 V I cc 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 I cc 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 I cc 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 ị U IH I IH U IH 0,8 U CC -20 U CC +150 V m A U IL I I L U IL 0 -200 0 , 12 U CC +20 V m A t R t F C I N = 30 pF 1 m S Điện áp phải duy trì trong khoảng -0,3 V và U CC + 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ị U IH I IH U IH 0 , 7 U CC -20 U CC +100 V m A U IL U IL I IL Cấp A và c ấ p B Cấp C U IL 0 0 -100 0,5 0,2 U CC +20 V V m A t R t F C I N = 30 pF 9 % chu tr ì nh m S Điện áp phải duy trì trong khoảng -0,3 V và U CC + 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à U CC + 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 th iể u Tối đa Đơn vị U I H I I H U I H 0,7 U CC -300 U CC +20 V m A U IL I IL U I L 0 -1000 0,15 U CC +20 V m A U OH I OH Điện tr ở kéo ngoài: 20 k W đối với U CC U OH và điện trở kéo ngoài: 20 k W đối với U CC 0,7 U CC U CC +20 V m A U O L I OL = 1 mA đối với cấp A a và cấp B a I OL = 500 m A đối với cấp C a 0 0,15 U CC V t R t F C I N = 30 pF; C OUT = 30 pF 1 m s Điện áp phải duy trì trong khoảng -0,3 V và U CC + 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 m A. 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 T a ) và thiết lập lại lạnh (sau thời gian T a ). 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 T a . Thẻ phải thiết lập l/O ở trạng thái H trong 200 chu kỳ đồng hồ (trễ t a ) sau khi tín hiệu đồng hồ được áp dụng đối với CLK (tại thời điểm T a + t c ). 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ễ t b ) sau khi tín hiệu đồng hồ được áp dụng đối với CLK (tại thời điểm T a + t b ). Thiết bị giao diện phải bỏ qua trạng thái tr ê n l/O trong kh i RST ở trạng thái L. Tại thời điểm T b , 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ễ t c ) sau mép lên của tín hiệu trên RST (tại thời điểm T b + t c ). 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à T 0 (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ự T 0 . 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 T c ) b ằ ng cách đặt RST ở trạng thái L với í t nhất 400 chu kỳ đồng hồ (trễ t e ) 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ễ t d ) sau khi trạng thái L được áp dụng đối với RST (tại thời điểm T c + t d ). 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 T d , RST được đặt ở trạng thái H. Tr ả lời trên I / O phải bắt đầu tr o ng khoảng 400 và 40 000 chu kỳ đồng hồ (trễ t f ) sau mép lên của tín hiệu trên RST (tại th ờ i điểm T d + t f ). 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 TA 2 (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 TD 1 , 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ự TA 2 đế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 TA 2 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ễ t g ) th ì theo H ì nh 5, thiết bị giao diện có thể dừng đồng hồ ở CLK (tại th ờ i điểm T e ) 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 T e đến thời điểm T t ), 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 T f , 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 T f + t n ). 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à T 0 . 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 ị T 1 , T 2 , .. T k , 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 T 0 . - 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 tr a 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 T 0 TA TB TC TD ... T 1 T 2 ... T K 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 T 0 H ì nh 13 trình bày byte định dạng T 0 . - Bit 8 đến 5 tạo thành ch ỉ số Y 1 - Bit 4 đến 1 mã hóa một số K từ 0 đến 15. Hình 13 - Mã hóa T 0 8.2.3. Byte giao diện TA TB TC TD Hình 14 trình bày byte giao diện TD i . Mỗi byte giao diện TD là có cấu trúc. - Bit 8 đến 5 tạo thành chỉ số Y i+1 - B i t 4 đến 1 mã hóa một số T từ 0 đến 15. Hình 14 - Mã hóa TD i Vì vậy T 0 truyền Y 1 ; TD i truyền Y 2 ; TD 2 truyền Y 3 , và tiếp tục như vậy. Trong byte truyền chỉ số Y i , các bit từ 8 đến 5 biểu thị TA i đối với bit 5, TB i đối với bit 6, TC i đối với bit 7, TD i đố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 Y i . Nếu TD i không xuất hiện thì TA i + 1 , TB i +1 , TC i + 1 và TD i + 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 TA 2 (xem 8.2) v à PPS 0 (xem 9.2), các bit từ 4 đến 1 cũng mã hóa loại T. Nếu TD 1 , TD 2 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 TD 1 . “Giao thức truyền được đưa ra đầu tiên ” được quy định như sau: - Nếu TD 1 xuất hiện th ì nó mã h ó a giao thức T được đưa ra đầu tiên. - Nếu TD 1 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ẻ. TA 1 , TB 1 , TC 1 , TA 2 và TB 2 là chung. TC 2 là cụ thể với T=0, xem 10.2. Diễn dịch của TA 1 , TB 1 , TC 1 đối với i > 2 phụ thuộc vào loại T được mã h ó a trong TD i -1 . - Sau T từ 0 đến 14, TA i , TB i và TC i là cụ thể đối với giao thức truyền T. - Sau T=15, TA i , TB i và TC i l à chung. Nếu có hơn ba byte giao diện TA i , TB i TC i TA i+1 TB i+1 TC i+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 TD i-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à TA 3 TB 3 và TC 3 sau TD 2 biểu thị T=1. Phụ thuộc vào liệu thẻ cũng đưa ra T=0 hay không, TD 1 phải biểu thị hoặc T=0 hoặc T=1. 8.2.4. Byte lịch sử T 1 T 2 ... T k 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ử T 1 T 2 ... T K 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 T 0 đế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 TA 1 , TB 1 , TC 1 , TA 2 , TB 2 , 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. TA 1 mã hóa giá trị được biểu thị của số nguyên chuyển đổi tốc độ đồng hồ ( F i ), giá trị được biểu thị của số nguyên điều chỉnh tốc độ truyền ( D i ) 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, TC 1 và TA 2 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 - F i 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 D i 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 TB 1 và TB 2 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 TB 1 và TB 2 ch ỉ nh thông số điện của mạch tích hợp k hi kh ô ng sử dụng tiếp xúc C6 (xem 5.1.1). TC 1 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 = F i /D i , nghĩa là số nguyên được quy định phía trên theo TA 1 . 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. TA 2 là byte chế độ cụ thể được tr ì nh bày trong Hình 15. Đối với việc sử dụng TA 2 , 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 TA 2 CHÚ THÍCH Thiết bị giao diện hỗ trợ 3 giá trị: F, D và T được tham chiếu b ằ ng TA 2 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: PPS 1 , PPS 2 , PPS 3 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: PPS 1 , PPS 2 , PPS 3 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. - PPS 1 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 TA 1 , 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 PPS 1 , 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 PPS 1 (khi đó các giá trị này tr ở thành Fn và Dn ) hoặc không truyền PPS 1 để tiếp tục với Fd và Dd (khi đó Fn = 372 và Dn = 1). - PPS 2 cho phép thiết bị giao diện đề xuất sử dụng SPU. PPS 2 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 PPS 2 , hoặc nếu nó truyền PPS 2 = ‘00’, nó đề nghị không sử dụng SPU. - PPS 3 đượ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 PPS 0 _Response đồng nhất với bit 1 đến 4 của PPS 0 _Request. - B i t 5 của PPS 0 _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, PPS 1 _Response đồng nhất với PPS 1 _ Request · Nếu bit 5 được đặt là 0, PPS 1 _Response không xuất hiện, nghĩa là Fd và Dd phải được sử dụng. - Bit 6 của PPS 0 _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, PPS 2 _Response đồng nhất với PPS 2 _Request . · Nếu bit 6 được đặt là 0, PPS 2 _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, PPS 3 _Response đồng nhất với PPS 3 _Request · Nếu bit 7 được đặt là 0, PPS 3 _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 T C 2 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 TC 2 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 ( I SO/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à D 1 đến D n đượ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à D i đến D n , 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à D i đượ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 G i á 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ụ t huộ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 B i t 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 + 2 CWI ) 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) N a (S), N b (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-b l ock 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(N a (S), 0) được truyền bằng A được báo nhận bởi l(N b (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 (N a (S) , 1) được truyền bằng A được báo nhận bởi R(N b (R)) được truyền bởi B [N b (R) không được đặt là N a (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 C W T 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ữ l i ệ 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. - N c biểu thị số byte trong trường dữ liệu lệnh. Nếu N c ¹ 0 thì trường L c xuất hiện để mã hóa N c và trường dữ liệu lệnh bao gồm các byte N c tiếp theo. Nế u N c = 0 thì cả trường L c và trường dữ liệu lệnh không xuất hiện. - N e biểu thị số byte tối đa mong muốn trong trường dữ liệu hồi đáp. Nếu N e ¹ 0 thì trư ờ ng L e xuất hiện để mã hóa N e . Nếu N e = 0 thì trường L e không xuất hiện. - N r biểu thị số byte trong trường dữ liệu hồi đáp. N r phải từ 0 t ớ i N e . Nếu N r = 0 thì trường dữ liệu hồi đáp không xuất hiện. Trong trường hợp 1, N c = N r = 0. APDU lệnh bao gồm tiêu đề; trường L c , trường dữ liệu lệnh và trường L e 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, N c = 0 và N r ¹ 0. APDU lệnh bao gồm tiêu đề và trường L e ; trư ờ ng L c 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, N c ¹ 0 và N r = 0. APDU lệnh bao gồm tiêu đề; trường L c và trường dữ liệu lệnh; trường L e 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, N c ¹ 0 và N r = 0. APDU lệnh bao gồm tiêu đề, trường L c , trường dữ liệu lệnh và trường L e . 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 L e - APDU lệnh của trường hợp 3 bao gồm tiêu đề, trường L c và trường dữ liệu - APDU lệnh của trường hợp 4 bao gồm tiêu đề, trường L c , trường dữ liệu và trường L e 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 L e 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 L e 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 L e ngắn bao gồm C95) mã hóa N e từ 1 đến 256 (‘00’ nghĩa là tối đa, 256). Do vậy, n = 5. · Trường hợp 2E - trường L e mở rộng bao gồm C(5) = ‘00’ và C(6) C(7) mã hóa N e 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 L c 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 L c ngắn bao gồm C(5) ¹ ‘00’ , mã hóa N c từ 1 tới 255. Trư ờ ng dữ liệu bao gồm C(6) tới C(5+ N c ). Do vậy, n = 5 + (C(5)). · Trường h ợ p 3E - trường L c mở rộng bao gồm C(5) = ‘00’ và C(6) C(7) ¹ ‘0000’, mã hóa N c 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 L c ngắn bao gồm C(5) ¹ ‘00’, mã hóa N c từ 1 t ớ i 255. Trường dữ liệu bao gồm C(6) tới C(5+ N c ). Trường L e ngắn bao gồm C(6+ N c ) m ã hóa N e từ 1 tới 256 (‘00’ nghĩa là tối đa, 256). Do vậy, n = 6 + (C(5)). · Trư ờn g h ợ p 4E - trường L c mở rộng bao gồm C(5) = ‘00’ và C(6) C(7) ¹ ‘0000’, mã hóa N c từ 1 đến 65 535. Trư ờ ng dữ liệu bao gồm C(8) tới C(7+ N c ). Trường L e mở rộng bao gồm C(8+ N c ) C(9+ N c ) m ã hóa N e 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 N c , 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 N e . ‘61XY’ Quy trình hoàn thiện b ì nh thường (SW2 m ã hóa N x , 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 N x và N e ‘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ó ng u ồ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 L e sai (SW m ã hóa N a , 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. ‘6D 00 ’ 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 = 0 xx 0 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 = 0 xx 0 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 0 xx 0 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 = 0 xx 0 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 L e ngắn bao gồm một byte: C(5) với bất kỳ giá trị nào đ ể mã hóa N e 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 L e = 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 N e và theo quy trình xử lý lệnh. Trường hợp 2S.1 - quy trình xử lý hoàn thiện; N e đượ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 N e byte dữ liệu SW1 SW2 TPDU hồi đáp N e byte dữ liệu SW1 SW2 Trường hợp 2S.2 - quy trình xử lý bị h ủ y; N e hoàn toàn không đư ợ c thu nhận Th ẻ không thu nhận N e 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; N e k hông được chấp thuận, được biểu th ị Thẻ không thu nhận N e 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 N a từ 1 đến 256 (‘00’ nghĩa là 256), số chính xác của byte dữ liệu có sẵn. TP DU 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 N a theo sau bởi SW1 SW2. TPDU hồi đáp N a byte dữ liệu SW1 SW2 Nếu N a ≤ N e 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. AP DU hồi đáp N a (≤ N e ) byte dữ liệu SW1 SW2 Nếu N a > N e thì TPDU hồi đáp được ánh xạ trên APDU hồi đáp bằng cách chỉ giữ byte N e đầu tiên của APDU hồi đáp và hai byte trạng thái SW1 SW2. A PDU hồi đáp N e (≤ N a ) 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 3 S Trường L c ngắn bao gồm một byte C(5) ¹ ‘00’ để mã h ó a N c 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 L e = C{5}} N c byte dữ liệu TPDU lệnh CLA INS P1 P2 {P3 = C{5}} N c 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 L c ngắn bao gồm một byte: C(5) ¹ ‘00’ để mã hóa N c từ 1 đến 255. Trường L e ngắn bao gồm một byte: C ( n ) với giá trị bất kỳ để mã hóa N a 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 L e , nghĩa là C(n). APDU hồi đáp CLA INS P1 P2 {Trường L e = C{5}} N c byte dữ liệu {Trường L e = C{ n }} TPDU hồi đáp CLA INS P1 P2 {P3 = C{5}} N c 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’ và ‘63’ } SW2 APDU hồi đáp { SW1 = ‘6X ’ ngoại trừ ‘61’, ‘62’ và ‘63’ } SW2 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 N x 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 N x và N e . TPDU lệnh CLA {INS = GET RESPONSE } P1 P2 {P3 = min( N e , N x ) } 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 t rư ờ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 L e 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 N e từ 1 đến 65 536 (‘0000’ nghĩa là tối đa, 65 536). APDU lệnh CLA INS P1 P2 {Trường L e = C(5) C(6) C(7)} Trường h ợ p 2E.1 - N e ≤ 256, C(5) = ‘00’, C ( 6) C(7) từ ‘0001’ đến ‘0100’ Khi N e 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 - N e > 256, C(5) = ‘00’, C(6) C(7) = hoặc ‘0000’ hoặc từ ‘0101 ’ đến ‘FFFF ’ Khi N e > 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 N a 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 N x 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à N m = N e trừ đi số byte dữ liệu nhận được trong TPDU hồi đáp trước đó. · Nếu N m = 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 N m > 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 N x và N m . 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 N m bằng không, nếu SW1 SW2 = ‘9000’. 12.2.7. Trường hợp 3E Trường L c 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 N e từ 1 đến 65 536. APDU lệnh CLA INS P1 P2 {T rư ờng L e = C(5) C(6) C(7)} N c byte dữ liệu Trường hợp 3E.1 - N c từ 1 đến 255, C(5) C(6) = ‘0000’, C(7) ¹ ‘00’ Khi N c 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)} N c 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 - N c > 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 = ‘6D 00 ’} APDU h ồ i đáp {SW1 SW2 = ‘6D 00 ’} - 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 P 3 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 L c 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 N c từ 1 đến 65 535. Trường L e mở rộng bao gồm hai byte: C(n-1) C(n) với giá trị bất kỳ để mã hóa N e từ 1 đến 65 536 (‘0000’ nghĩa là tối đa, 65 536). APDU lệnh CLA INS P1 P2 {Trư ờ ng L c = C(5) C(6) C(7)} N c byle dữ liệu (Trường L e = C( n - 1 ) C( n )} Trường hợp 4E.1 - N c < 256,=""> ( 5) C( 6) = ‘0000’, C(7) ¹ ‘00’ Khi N c 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 N c . Trường L e , nghĩa là C(n-1) C(n) bị cắt. TPDU lệnh CIA INS P 1 P2 {P3 = C(7)} N c 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 N e ≤ 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 N e > 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 = ‘62X Y’ 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 - N c > 255, C(5) = ‘00’, C(6) ¹ ‘00’, C(7) giá trị bất kỳ Khi N c ≥ 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 T PDU 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 L e Trường th ô ng tin CLA INS P1 P2 Tr ườ ng L e 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 L c Trường d ữ liệu hoặc Trường th ô ng tin CLA INS P1 P2 Tr ườ ng L c Trường d ữ liệu hoặc kết hợp các Trường th ô ng tin CLA INS P1 P2 Tr ườ ng L c 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 L c Tr ườ ng dữ liệu Trư ờ ng L e hoặc Trường thông tin CLA INS P1 P2 Trường L c Tr ườ ng dữ liệu Trư ờ ng L e hoặc kết h ợ p các Trường thông tin CLA INS P1 P2 Trường L c D ữ liệu … Trường Trư ờ ng L e APDU hồi đáp bao gồm hoặc: - Trường thông tin của một l-b l ock 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 T rườ 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) T rườ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, Identi f ication cards - Contactless integrated circuit(s) cards - Close-coupled cards (tất c ả các phần) [4] ISO/IEC 13239:2002, In f ormation technology - Telecommunications and in f ormation exchange bet w een systemili-giây - High-level data link control (HDLC) procedures [5] ISO/IEC 14443, Identi f ication cards - Contactless integrated circuit(s) cards - Proximity cards (tất cả các phần) [6] ISO/IEC 15693, ldentif i cation car d s - 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