TCVN11167-13:2015

Tiêu chuẩn quốc gia TCVN 11167-13:2015 (ISO/IEC 7861-13:2007) về Thẻ định danh - Thẻ mạch tích hợp - Phần 13: Lệnh đối với quản lý ứng dụng trong môi trường đa ứng dụng TIÊU CHUẨN QUỐC GIA TCVN 11167-13:2015 ISO/IEC 7816-13:2007 THẺ DANH ĐỊNH - THẺ MẠCH TÍCH HỢP - PHẦN 13: LỆNH ĐỐI VỚI QUẢN LÝ ỨNG DỤNG TRONG MÔI TRƯỜNG ĐA ỨNG DỤNG Identi f ication cards - Integrated circuit cards - Part 13: Commands for application management in a multi-application environment Lời nói đầu TCVN 11167-13:2015 hoàn toàn tương đương với ISO/IEC 7816-13:2007. TCVN 11167-13:2015 do T iể 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Ẻ ĐỊNH DANH - THẺ MẠCH TÍCH HỢP - PHẦN 13: LỆNH ĐỐI VỚI QU Ả N LÝ ỨNG DỤNG TRONG MÔI TRƯỜNG ĐA ỨNG DỤNG Identi f ication cards - Integrated circuit cards - Part 13: Commands for application management in multi-application environment 1 Phạm vi áp dụng Tiêu chuẩn này quy định lệnh đối v ớ i quản lý ứng dụng trong môi trường đa ứng dụng. Các lệnh này bao trùm toàn bộ vòng đời ứng dụng trong một thẻ mạch t í ch hợp đa ứng dụng và các lệnh này có thể được dùng trước và sau khi được phát hành tới chủ th ẻ . Tiêu chuẩn này không đề cập tới việc thiết lập trong thẻ và/hoặc thế giới bên ngoài. 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-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, TCVN 11167-9 (ISO/IEC 7816-9) Th ẻ định danh - Th ẻ mạch tích hợp - Phần 9: Lệnh đ ố i với quản lý th ẻ , ISO/IEC 8825-1:2002, In f ormation technology - ASN.1 encoding rules: Speci f ication of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER). 3. Thuật ngữ và định nghĩa Tiêu chuẩn này áp dụng các thuật ngữ và định nghĩa sau. 3.1 Ứ ng dụng (application) Cấu trúc, phần tử dữ liệu và các mô đun chương trình cần thiết nhằm thực hiện một chức n ă ng cụ th ể . [TCVN 11167-4 (ISO/IEC 7816-4)] 3.2 B ê n cung cấp ứng dụng (application provider) Thực thể cung cấp các thành ph ầ n tạo nên một ứng dụng trên th ẻ . [TCVN 11167-4 (ISO/IEC 7816-4)] 3.3 Hạ tầng th ẻ (card plat f orm) Th à nh phần trên th ẻ ch ị u trách nhiệm với các chức năng cơ bản của thẻ. 3.4 Ứ ng dụng bộ quản lý thẻ (card manager application) Ứ ng dụng thẻ cung c ấ p t í nh năng quản lý ứng d ụng và giám sát việc ấn định tài nguyên th ẻ . 4 Thuật ngữ viết tắt Thuật ngữ AID APP DF DO ICC P1-P2 RID Tiếng Anh application identifier application dedicated file data object integrated circuit card parameter bytes registered application provider identi fi er Tiếng Việt Mã định danh ứng dụng Ứng dụng Tệp tin dành riêng Đối tượng dữ liệu Thẻ mạch tích hợp Byte thông số M ã định danh b ê n cung cấp ứng dụng đ ã đăng ký 5 Môi trường đa ứng dụng và vòng đời ứng dụng 5.1 Môi trường đa ứng dụng Môi trường đa ứng dụng theo ngữ cảnh của tiêu chuẩn này có các đặc tính sau: a) Một ứng dụng là một tập chức năng có thể định vị đơn nhất trong một thẻ đa ứng dụng nhằm cung cấp lưu trữ dữ liệu và các dịch vụ tính toán. b) Một ứng dụng có thể thêm bởi thẻ trước hoặc sau khi được phát hành cho chủ thẻ. c) Nhiều hơn một ứng dụng có thể thêm bởi thẻ. d) Hạ tầng thẻ đưa ra các cơ chế đối với việc quản lý tài nguyên thẻ, ví dụ: bộ nhớ. e) Hạ tầng thẻ đưa ra một cơ chế ranh giới an ninh đối với mỗi ứng dụng nhằm ngăn ngừa tương tác bất hợp pháp và vi phạm an ninh từ b ấ t kỳ ứng dụng khác nào trên thẻ. f) B ê n cung cấp ứng dụng là một thực thể nhằm cung cấp cho chủ th ẻ sử dụng một ứng dụng của thẻ v à chịu trách nhiệm đối với hành vi của ứng dụng g) Bên cung cấp ứng dụng đối với ứng dụng trên thẻ có thể khác biệt với bên phát hành thẻ. h) V ò ng đời của một ứng dụng độc lập với v ò ng đời của bất kỳ ứng dụng nào khác trên cùng thẻ. i) Vòng đời của một ứng dụng độc lập từ vòng đời của thẻ ngoại trừ lúc thẻ ở trạng thái hủy b ỏ , được quy định trong TCVN 11167-9 (ISO/IEC 7816-9). j) Tất cả ứng dụng phải c ó được chọn lựa ít nhất, dùng lệnh SELECT bằng cách quy định AID của nó như t ê n DF, được quy định trong TCVN 11167-4 (ISO/IEC 7816-4). k) Một ứng dụng bộ quản lý thẻ phải là đơn nh ấ t và có thể chọn lựa, dùng lệnh SELECT bằng cách quy định AID của nó như tên DF. Các ứng dụng khác trên thẻ có th ể đưa ra tính năng quản lý ứng dụng. l ) AID mặc định của ứng dụng bộ quản lý thẻ là “E8 28 BD 08 0D ”. Hình 1 là một biểu diễn khái niệm của một cấu trúc khả thi của thẻ mạch tích hợp đa ứng dụng. Hình 1 - Cấu trúc kh ả thi của một thẻ đa ứng dụng 5.2 Vòng đời ứng dụng Trạng thái vòng đời phải liên quan tới mỗi ứng dụng. Một ứng dụng có thể dùng trạng thái vòng đời của nó kết hợp với thuộc tính an ninh của nó nhằm đảm bảo rằng bất kỳ thao tác nào được thực hiện phù hợp với chính sách an ninh của ứng dụng, ứng dụng quản lý thẻ phải cung cấp một đường dẫn truyền vòng đời từ trạng thái Không tồn tại thành trạng thái Kích hoạt vận hành. Các lệnh sau kh ở i tạo các chuyển đổi trạng thái vòng đời: - APPLICATION MANAGEMENT REQUEST; - LOAD APPLICATION; - REMOVE APPLICATION. Hình 2 là một biểu diễn khái niệm về trạng thái vòng đời và các lệnh gọi từng chuyển đổi trạng thái. Lược đồ này ch ỉ tr ì nh bày các trạng th á i ổn định (thường trú) mà một ứng dụng có th ể đạt được khi hoàn thành chuyển đổi vòng đời. Mặt khác, các trạng thái trung gian có thể tồn tại trong một quá tr ì nh chuyển đổi vòng đời (ví dụ: từ trạng thái Không tồn tại thành trạng thái Tạo) nhưng không được duy trì khi quy trình này b ị gián đoạn. Hình 2- Lược đồ vòng đời ứng dụng CH Ú TH Í CH 1 : Lược đồ này đọc như sau: v í dụ: sau khi thực hiện lệnh APPLICATION MANAGEMENTREQUEST (P1 = ‘0 E ’ ) và LOAD APPLICATION, các ứng dụng đặt ở trạng thái v ò ng đời K í ch hoạt vận hành hoạt động, nghĩa l à có thể thực thi và lựa chọn. CHÚ THÍCH 2 : Khối hình chữ nhật thể hiện trạng thái của bộ nhớ thẻ và khối h ì nh tròn th ể hiện trạng thái vòng đời ứng dụng. Khối hình tròn đứt đoạn thể hiện trạng th á i vòng đ ờ i tùy chọn. CHÚ THÍCH 3 : Lệnh ACTIVATE FI L E và DEACTIVATE F I LE được quy định trong TCVN 11167-9 (ISO/IEC 7816-9). Trạng thái vòng đời ứng dụng được quy định như trong Bảng 1. Mã hóa của trạng thái vòng đời ứng dụng phải được thực hiện theo mã hóa các byte trạng thái vòng đời (byte LCS) được quy định trong TCVN 11167-4 (ISO/IEC 7816-4). B ả ng 1 - Trạng thái vòng đời ứng dụng Ứ ng dụng Không tồn tại Ứ ng dụng theo quan điểm của ứng dụng bộ quản lý thẻ, nếu không có Trạng thái Tạo Ứ ng dụng theo quan điểm của ứng dụng bộ quản lý thẻ, không thực thi và không được lựa chọn, nếu có. Trạng thái Khởi tạo Ứng dụng có thể thực thi với tính năng hạn ch ế và không được lựa chọn, nếu c ó . Trạng thái K í ch hoạt Vận hành Ứ ng dụng c ó thể thực thi và lựa chọn, n ế u có. Trạng thái Bỏ k í ch hoạt vận hành Ứ ng dụng có thể thực thi với t í nh năng hạn ch ế và lệnh SELECT tr ả v ề cảnh báo r ằ ng ứng dụng bị bỏ k í ch hoạt, nếu c ó . Ứ ng dụng b ị g ỡ bỏ Ứ ng dụng không được lựa chọn và không được thực thi, n ế u không có. Các tài nguyên bộ nhớ đư ợ c ấn định trước đó có th ể ch ỉ được giải phóng một phần và c ó th ể tái sử dụng. - Một vài n ề n tảng có t hể c ó trạng thái đặc biệt trong v ò ng đời b ổ sung. Các trạng thái bổ sung này không nằm trong phạm vi của tiêu chu ẩ n này. Nếu thẻ hỗ trợ các trạng thái vòng đờ i và chuy ể n đ ổ i trạng th á i, chúng không tham chiếu tới các trạng th á i vòng đời và chuy ể n đ ổ i trạng thái được m ô tả trong Hình 2. - Trạng thái dưới dạng in nghi ê ng th ể hiện các trạng thái bộ nhớ thẻ. Trạng thái dưới dạng in thường th ể hiện trạng thái vòng đời ứng dụng. 5.3 Đối tượng dữ liệu ấn định tài nguyên bộ nhớ đối với vận hành liên tục Một khu ô n mẫu ấn định tài nguyên bộ nhớ (thẻ ‘7F65’) mô tả việc ấn định tài nguyên bộ nh ớ cho một ứng dụng có thể được kết hợp với mỗi ứng dụng. Bảng 2 quy định c á c đ ố i tượng dữ liệu ấn định tài nguyên bộ nhớ với m ỗ i loại bộ nhớ: bộ lưu trữ liên tục hoặc dễ bay hơi, mà: - Bộ nhớ dành riêng là số lượng bộ nhớ được ấn định riêng cho một ứng dụng; - Q u ota nhớ là số lượng bộ nhớ tối đa bộ nhớ mà một ứng dụng được phép yêu cầu. Một đối tượng dữ liệu t à i nguyên bộ nhớ th ể hiện một lượng t à i nguyên bộ nhớ được t í nh theo byte, được mã hóa th à nh một giá trị nguyên, xem ISO/IEC 8825-1. Bảng 2 - Đối tượng dữ liệu ấn định tài nguyên bộ nhớ Thẻ M ô tả Yêu cầu ‘80’ Lượng bộ nhớ dành ri ê ng trong bộ lưu trữ cố định đối với mã ứng dụng. Nếu không có sự phân tách giữa mã và dữ liệu được yêu c ầ u th ì ‘80’ phải dùng đ ể ch ỉ ra lượng bộ nhớ lưu trữ cố định được dành riêng đối với cả mã ứng dụng và dữ liệu. Bắt buộc ‘81’ Lượng bộ nhớ bi ế n đổ i được dành ri ê ng tại thời điểm chọn lựa ứng dụng đối với d ữ liệu ứng dụng. Tùy chọn ‘82 ’ Lượng bộ nhớ lưu trữ cố định được dành ri ê ng đối với dữ liệu ứng dụng. Nếu ‘82’ không được xem xét th ì ‘80’ chỉ ra tổng của bộ nhớ lưu trữ cố định đối với cả m ã ứng dụng và dữ liệu. Tùy chọn ‘83’ Lượng quota bộ nhớ của bộ nh ớ lưu trữ cố định đ ố i với mã ứng dụng. N ế u không có sự phân tách giữa mã và dữ liệu được yêu c ầ u th ì ‘83’ phải được dùng để ch ỉ ra quota bộ nhớ của bộ nhớ lưu trữ cố định đối với c ả mã ứng dụng và dữ liệu. Tùy chọn ‘84’ Lượng quota bộ nhớ của bộ nhớ dễ thay đổi tại thời điểm chọn lựa ứng d ụng đối với d ữ liệu ứng dụng. Tùy chọn ‘85’ Lượng quota bộ nhớ của lưu trữ cố định đối với dữ liệu ứng dụng. N ế u ‘85’ không được xem x é t th ì ‘83’ ch ỉ ra tổng của bộ nhớ lưu trữ cố định đối với cả m ã ứng dụng và dữ liệu. Tùy chọn - Trong ngữ cảnh này, cơ quan tiêu chu ẩ n hóa qu ố c g i a dành riêng các đối tượng dữ liệu khác của lớp ngữ cảnh cụ thể (byte đ ầ u tiên từ ‘80’ tới ‘BF’) Theo cách dùng giá trị của đối tượng dữ liệu ấn định tài nguyên bộ nhớ, các quy tắc sau phải được áp dụng: - Việc ấn định được bộ nhớ dành ri ê ng cho một ứng dụng làm suy giảm tài nguyên bộ nhớ có sẵn cho các ứng dụng khác trên thẻ. - Việc ấn định quota bộ nhớ cho một ứng dụng không làm giảm tài nguyên bộ nhớ có sẵn cho các ứng dụng khác trên thẻ. - Giá tr ị của quota bộ nhớ là lớn hơn hoặc bằng giá trị của bộ nhớ dành riêng. - Tại thời điểm tạo thành công một ứng dụng (v í dụ: chuyển đổi từ trạng thái Không tồn tại thành Kích hoạt vận hành), số lượng bộ nhớ được ấn định cho ứng dụng này trước nhất là được nạp với bộ nhớ dành riêng được ch ỉ định cho ứng dụng đó cho đến khi n ó hoàn toàn cạn kiệt. Khi bộ nhớ dành riêng của ứng dụng b ị cạn kiệt, số lượng bộ nhớ được ấ n định không làm giảm tài nguyên bộ nhớ sẵn có với ứng dụng khác trên thẻ miễn là nó không vượt quá quota bộ nhớ của ứng dụng đó. Khi một trong hai quota bộ nhớ vượt quá hay tài nguyên bộ nhớ hiện có trên th ẻ đang cạn kiệt, việc tạo ứng dụng không thành công. - Tại thời đi ể m loại bỏ thành công một ứng dụng (ví dụ: chuyển đổi sang trạng thái G ỡ bỏ ứng dụng), tài nguyên bộ nhớ sẵn có với các ứng dụng khác trên thẻ được tăng cường bởi số lượng bộ nhớ thực sự giải phóng và bất kỳ phần nào chưa sử dụng của bộ nhớ dành riêng được phân định theo tài nguyên bộ nhớ sẵn có cho ứng dụng khác trên thẻ. 6 Nhận dạng dịch vụ quản lý thẻ 6.1 Khuôn mẫu dịch vụ quản lý thẻ Khuôn mẫu dịch vụ quản lý thẻ (thẻ “7F64”) ph ả i được xem xét. Bảng 3 quy định nội dung của khuôn mẫu dịch vụ quản lý thẻ. Bảng 3 - Đối tượng dữ liệu dịch vụ quản lý thẻ Thẻ Độ dà i / Định dạng Mô tả Yêu cầu ‘ 80’ 2 byte Khả năng quản lý thẻ được h ỗ trợ bởi th ẻ : giá trị này là một k ế t hợp của các bit được quy định trong Bảng 4 và B ả ng 5. Bắt buộc ‘81’ Thay đổi Tên sơ đ ồ và phiên bản quản lý thẻ: Giá trị mã định danh đối tượng (xem ISO/IEC 8825-1) ch ỉ ra tên sơ đồ và phi ê n bản (ch í nh và phụ) được dùng để quản lý th ẻ và ứng dụng của nó. Bắt buộc ‘82’ Thay đổi Mã định danh th ủ tục định danh thẻ: Giá trị mã định d anh đối tượng (xem ISO/IEC 8825-1) ch ỉ ra các thủ tục được dùng để định danh thẻ đơn nh ấ t. Giá trị này quy định cách thức truy cập mã định danh cục bộ trên thẻ, v í dụ: số se-ri ICC và bất kỳ mã đ ị nh d anh n à o là đơn nh ấ t toàn phần. Tùy chọn ‘ 4F’ Thay đ ổ i Ứ ng dụng bộ quản l ý th ẻ AID: Mã định danh ứng dụng nh ằ m lựa ch ọ n ứng dụng bộ quản lý thẻ khi có khác biệt từ ‘E8 28 BD 08 0D’ Tùy chọn - Trong ngữ cảnh này, cơ quan có th ẩ m quyền dành riêng bất k ỳ đ ối tượng d ữ liệu nào khác của lớp ngữ c ả nh cụ th ể (byte đầu tiên từ ‘80’ tới ‘BF’) Bảng 4 - Khả năng quản lí thẻ: Byte đầu tiên b8 b7 b6 b5 b4 b3 b2 b1 Giá trị của chuyển đ ổ i trạng thái vòng đời được hỗ tr ợ - - - - - - - 1 - - - - - - 1 - - - - - - 1 - - - - - - 1 - - - - - - 1 - - - - - - 1 - - - - - - 1 - - - - - - 1 - - - - - - - Không tồn tại thành Tạo Tạo thành Kh ở i tạo Khởi tạo thành Kích hoạt vận hành Tạo thành Kích hoạt vận hành Không tồn tại thành Kích hoạt vận hành Kích hoạt vận hành thành Bỏ k í ch hoạt vận hành Bỏ k í ch hoạt vận hành thành Kích hoạt vận hành Kích hoạt vận h à nh thành G ỡ bỏ ứng dụng Bảng 5 - Khả năng quản lí thẻ: Byte thứ 2 b8 b7 b6 b5 b4 b3 b2 b1 Giá trị của chuyển đ ổ i trạng thái vòng đời được hỗ tr ợ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - - Tạo thành Gỡ bỏ ứng dụng Khởi tạo thành G ỡ bỏ ứng dụng Khởi tạo thành Tạo K í ch hoạt vận h à nh th à nh Tạo B ỏ k í ch hoạt vận hành thành G ỡ bỏ ứng dụng - B ấ t kỳ giá tr ị nào khác được dành riêng sử dụng sau này bởi cơ quan có th ẩ m quy ề n. 6.2 Thu hồi khuôn mẫu d ị ch vụ quản lý thẻ Việc thu hồi khuôn mẫu dịch vụ quản lý thẻ dùng dịch vụ thẻ độc lập với-ứng dụng được quy định theo TCVN 11167-4 (ISO/IEC 7816-4). Trình tự mà các th ủ tục thu hồi khác nhau quy định trong điều này không được quy định trong tiêu chuẩn này. Nếu tất cả thủ tục được mô tả sau đây không trả lại khuôn mẫu dịch vụ quản lý thẻ, thẻ không tuân thủ theo tiêu chuẩn. Hai thủ tục có thể áp d ụng nhằm thu hồi khuôn mẫu dịch vụ quản lý th ẻ khi MF hay ứng dụng chọn mặc nhiên DF được chọn: - Đọc EF.ATR, khi DO ‘7F64’ có thể có xuất hiện; - Lệnh GET DATA với P1-P2 đặt là ‘7F 64’, có thể tr ả lại khuôn mẫu dịch vụ quản lý thẻ theo trường dữ liệu hồi đáp. Thủ tục khác có thể áp dụng và bao gồm việc lựa chọn ứng dụng với AID ‘E8 28 BD 08 0D’ theo sau bởi lệnh GET DATA với P1-P2 đặt là ‘ 7F 64’, có th ể trả lại khuôn mẫu dịch vụ quản lý thẻ trong trường dữ liệu hồi đáp. 7 Lệnh đối với quản lý ứng dụng Sau khi lựa chọn ứng dụng quản lý thẻ và th ủ tục chứng thực tùy chọn, một th ủ tục quản lý đối với một ứng dụng trên thẻ dẫn tới việc sử dụng một hay nhiều lệnh sau: - Lệnh APPLICATION MANAGEMENT REQUEST; - Lệnh LOAD APPLICATION; - Lệnh REMOVE APPLICATION. Ứ ng dụng quản lý thẻ phải h ỗ trợ í t nhất hai lệnh đầu tiên. Nếu ứng dụng quản lý thẻ hỗ trợ một lệnh được quy định trong điều này, ít nhất một tùy chọn của lệnh phải được hỗ trợ. Một lệnh quản lý ứng dụng có thể được thực hiện ch ỉ nếu trạng thái an ninh thỏa mãn các điều kiện an ninh được quy đ ị nh bởi ứng dụng quản lý thẻ. 7.1 Lệnh APPLICATION MANAGEMENT REQUEST Lệnh APPLICATION MANAGEMENT REQUEST kh ở i tạo các thủ tục quản lý đối với một ứng dụng, ứng dụng quản lý thẻ xác minh thông tin yêu cầu quản lý ứng dụng xuất hiện trong trường dữ liệu lệnh. Lệnh này có thể theo sau bởi lệnh LOAD APPLICATION được mô tả trong Điều 7 . 2. Nếu việc quản lý tài nguyên thẻ được hỗ trợ, việc ấn định tài nguyên bộ nhớ với một ứng dụng được mô tả trong khuôn mẫu ấn định tài nguyên bộ nhớ (thẻ ‘7F65’) phải tuân th ủ các quy tắc được quy định trong Điều 5.3. Bảng 6 - Cặp lệnh-hồi đáp APPLICATION MANAGEMENT REQUEST CLA INS P1 P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4). ‘40’ hoặc ‘41 ’ Kiểm soát trạng thái vòng đời ứng dụng theo Bảng 7. Kiểm soát quản lý ứng dụng theo B ả ng 8. Trường L c Số byte trong trường dữ liệu l ệnh. Trường dữ liệu Th ô ng tin y ê u cầu quản lý ứng dụng mà định dạng và nội dung đ ược biết tới bởi ứng dụng quản lý thẻ (INS =‘ 40’) hoặc được mã hóa theo các đối t ượng d ữ liệu sau (INS=‘41’): AID (thẻ ‘4F’) của ứng dụng đối tượng (bắt buộc) Phép ấn định tài nguyên bộ nhớ (thẻ ‘ 7F65’) Một hay nhiều khối chữ ký số (thẻ ‘7F3D’) bao gồm một chữ ký số DO (thẻ ‘9E’) và các DO c ó thể, ví dụ: giá tr ị băm DO (thẻ ‘90’) với mã băm ứng dụng; Trường L c Rỗng đối với mã h ó a N e = 0, có giá trị đối với mã hóa Ne > 0 Trường dữ liệu Thông tin bổ sung hoặc Rỗng SW1-SW2 Xem TCVN 11167-4 (ISO/IEC 7816-4), Bảng 6 và 7 liên quan, ví dụ: ‘6982’ , ‘6985’. - Thông tin yêu cầu quản lý ứng dụng có thể bao gồm các đối tượng dữ liệu khác, ví dụ: mã định danh bên phát hành (thẻ ‘42’), tham chiếu tệp tin (thẻ ‘51’) hoặc dữ liệu tùy ý (thẻ ‘52’ hoặc ‘73’) - Việc mã hóa khối chữ ký số (thẻ ‘7F3D’) không n ằ m trong phạm vi ti ê u chu ẩ n. Bảng 7 - Kiểm soát trạng thái đ ố i tượng vòng đời ứng dụng trong P1 b8 b7 b6 b5 b4 b3 b2 b1 Giá trị của chuyển đổi trạng thái vòng đời đ ược h ỗ trợ 0 0 0 0 0 0 0 0 Không thông tin nào được đưa ra 0 0 0 0 0 0 1 0 Chuyển đổi từ trạng thái Kh ô ng tồn tại thành trạng thái Tạo 0 0 0 0 0 1 0 0 Chuyển đổi từ trạng thái Tạo thành Khởi tạo 0 0 0 0 0 1 1 0 Chuyển đổi từ trạng thái Không tồn tại thành Kh ở i tạo 0 0 0 0 1 0 0 0 Chuyển đổi từ trạng thái Khởi tạo thành K í ch hoạt vận hành 0 0 0 0 1 1 0 0 Chuyển đổi từ trạng thái Tạo thành Kích hoạt vận hành 0 0 0 0 1 1 1 0 Chuyển đổi t ừ trạng thái Không tồn tại thành K í ch hoạt vận h à nh - B ấ t kỳ giá trị nào khác được dành ri ê ng sử dụng sau này b ở i cơ quan ti ê u chu ẩ n h ó a quốc gia Bảng 8 - Kiểm soát quản lý ứng dụng trong P2 b8 b7 b6 b5 b4 b3 b2 b1 Ý nghĩa 0 0 0 0 0 0 0 0 Không có thông tin đưa ra 0 0 0 0 0 0 0 1 Xác minh yêu cầu quản lý ứng dụng 0 0 0 0 0 0 1 0 G ử i yêu cầu quản lý ứng dụng 0 0 0 0 0 0 1 1 Xác minh và gửi yêu c ầ u quản lý ứng dụng - Bất kỳ giá t rị nào khác được dành riêng sử dụng sau này bởi cơ quan c ó th ẩ m quy ề n. 7.2 Lệnh LOAD APPLICATION Lệnh LOAD APPLICATION truyền một ứng dụng vào thẻ. Một ứng dụng có thể được phân chia thành nhiều thành phần và mỗi thành phần có thể được phân chia thành nhiều khối để chuyển cho thẻ. Mỗi lệnh LOAD APPLICATION truyền một khối vào thẻ. Lệnh này có thể được bắt đầu b ằ ng lệnh APPLICATION MANAGEMENT REQUEST, xem Điều 7.1. Nếu lệnh LOAD APPLICATION được bắt đầu bằng lệnh APPLICATION MANAGEMENT REQUEST thì việc ấn định tài nguyên bộ nhớ được thực hiện ngay trước lệnh APPLICATION MANAGEMENT REQUEST. Việc thực thi thành công chuỗi lệnh thực hiện chuyển đổi vòng đời ngay trước lệnh APPLICATION MANAGEMENT REQUEST. Nếu lệnh LOAD APPLICATION không bắt đầu bằng lệnh APPLICATION MANAGEMENT REQUEST th ì việc ấn định tài nguyên bộ nhớ và thiết lập trạng thái vòng đời ứng dụng đến một giá trị thích hợp được thực hiện trên cơ s ở thông tin được cung cấp bởi chuỗi lệnh LOAD APPLICATION. Nếu việc quản lý tài nguyên bộ nhớ được hỗ trợ, số lượng bộ nhớ được ấn định cho một ứng dụng được tạo thành công phải tuân the o theo quy tắc được quy định trong Điều 5.3. B ả ng 9 - Cặp lệnh-hồi đáp LOAD APPLICATION CLA INS P1-P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4). ‘EA’ hoặc EB’ Xem Bảng 10. Trường Lc S ố byte trong trường dữ liệu lệnh. Trường dữ liệu Thành ph ầ n ứng dụng mà định dạng và nội dung được biết tới bởi ứng dụng bộ quản lý thẻ (INS=‘EA’) hoặc được mã hóa thành các đối tượng dữ liệu riêng lẻ (INS=‘EB’) Trường Lc Rỗng đối với mã hóa N e = 0, có giá tr ị đối với mã hóa Ne > 0 Trường dữ liệu Thông tin bổ sung hoặc Rỗng SW1-SW2 Xem TCVN 11167-4 (ISO/IEC 7816-4), B ả ng 6 và 7 liên quan, v í dụ: ‘6982’, ‘6985 ’. Bảng 10 - Số chuỗi hoặc Offset trong P1 và P2 P1 P2 Mô tả b8 b7 b6 b5 b4 b3 b2 b1 0 0 0 0 0 0 0 0 00 Không có thông tin. - - - 0 1 X 0 1 - - X X X - - X X X - - X X X - - X X X - - X X X - - X X X - - XX XX XX - - Số chuỗi hoặc offset. - Offset - Số chuỗi Nhiều khối Khối cuối - Nếu b7 của P1 được đ ặ t là 0 thì phần còn lại của P1-P2 (14 bit) mã hóa một offset từ 0 tới 16383 và nếu b7 của P1 được đặt là 1 thì phần còn lại của P1-P2 (14 bit) m ã h ó a một số chuỗi của lệnh. - Nếu b8 của P1 được đặt là 0 thì một khối kế tiếp được mong đợi, và nếu b8 của P1 được đ ặt l à 1 thì lệnh này ch ứ a khối cuối. - Offset được đếm theo các byte từ lúc b ắ t đầu chuy ể n đổi ứng dụng. - Số chuỗi đ ược t ă ng +1 với mỗi kh ố i đối từ lúc b ắ t đầu chuyển đ ổ i ứng dụng. 7.3 Lệnh REMOVE APPLICATION Lệnh REMOVE APPLICATION xóa một ứng dụng và có thể lấy lại tài nguyên bộ nhớ được ấn định cho ứng dụng. Ứ ng dụng quản lý thẻ xác minh thông tin gỡ b ỏ ứng dụng, khi có trong trường dữ liệu lệnh. Nếu việc quản lý tài nguyên bộ nhớ được hỗ trợ, việc gỡ b ỏ thành công một ứng dụng phải gia tăng tài nguyên bộ nhớ sẵn có với các ứng dụng trên thẻ theo các quy tắc được quy định trong Điều 5.3. Bảng 11 - Cặp lệnh-hồi đáp REMOVE APPLICATION CLA INS P1 P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4). ‘EC’ hoặc ED’ Gỡ bỏ kiểm soát trạng thái theo Bảng 12 ‘00’ không có thông tin được đưa ra. (b ấ t k ì giá trị nào được dành riêng sử dụng sau này bởi cơ quan có th ẩ m quyền) Trường Lc Rỗng hoặc số byte trong trường dữ li ệ u lệnh. Trường dữ liệu Rỗng hoặc ứng dụng g ỡ bỏ thông tin mà định dạng và nội dung được biết đến bởi ứng dụng bộ quản lý th ẻ (INS=‘EC ’ ) hoặc ứng dụng g ỡ bỏ thông tin được m ã hóa trong c á c đ ối tượng dữ liệu sau (INS =’ ED ’ ): - AID (thẻ ‘4F’) của ứng dụng đối tượng (bắt buộc); - Một hay nhi ề u khối chữ ký số (thẻ ‘7F3D’) bao g ồ m một chữ ký số DO (thẻ ‘9E’) Trường Lc Rỗng đối với mã hóa N e = 0, có giá trị đối với mã hóa Ne > 0 Trường dữ liệu Thông tin bổ sung hoặc Rỗng SW1-SW2 Xem TCVN 11167-4 (ISO/IEC 7816-4) , Bảng 6 và 7 liên quan, ví dụ: ‘ 6982’, ‘6985’. - Ứ ng dụng g ỡ bỏ thông tin có thể bao gồm các đối tượng dữ liệu k hác, v í dụ: dữ liệu tùy chọn (thẻ ‘53’ hoặc ‘73’) - M ã hóa khối chữ k ý số (th ẻ ‘7F3 D ’) n ằ m ngo à i phạm vi c ủ a ti ê u chu ẩ n. Bảng 12 - Kiểm soát trạng thái gỡ bỏ trong P1 b8 b7 b6 b5 b4 b3 b2 b 1 Giá tr ị của chuy ể n đổi trạng thái vòng đời được h ỗ tr ợ 0 0 0 0 0 0 0 0 Không có thông tin đưa ra 0 0 0 0 0 0 0 1 Chuyển đổi từ trạng thái Tạo thành G ỡ b ỏ ứng dụng 0 0 0 0 0 0 1 0 Chuyển đổi từ trạng thái Khởi tạo thành trạng thái Tạo 0 0 0 0 0 0 1 1 Chuy ể n đổi từ trạng thái Khởi tạo thành Gỡ bỏ ứng dụng 0 0 0 0 0 1 1 0 Chuyển đổi từ trạng thái Vận hành (Kích hoạ t/Bỏ kích hoạt) thành trạng thái Tạo 0 0 0 0 0 1 1 1 Chuyển đổi từ trạng thái Vận hành (K í ch hoạt/B ỏ k í ch hoạt) thành G ỡ bỏ ứng dụng - B ấ t kỳ giá trị nào khác được dành riêng sử d ụng sau này bởi cơ quan tiêu chuẩn hóa. 7.4 Cân nhắc quản lý ứng dụng Lược đồ quản lý thẻ và/hoặc các chính sách bên phát hành thẻ quy định loại và số lượng chữ ký được yêu cầu, như: - Chữ ký của b ê n phát hành thẻ, - Chữ ký bên cung cấp ứng dụng, - Chữ ký của quyền lược đồ quản lý thẻ. Thẻ phải c ó kh ả năng bắt buộc các chính sách này và quản lý các khóa xác minh chữ ký tương ứng. Một chính sách quản lý ứng dụng giữa bên phát hành thẻ v à bên cung cấp ứng dụng, và việc thiết lập chính này này nằm ngoài phạm vi của tiêu chuẩn. Phụ lục A (tham khảo) Ví dụ về quản lý ứng dụng thẻ theo bên phát hành thẻ độc lập và mô hình bên cung cấp ứng dụng A.1 Giới thiệu Ví dụ này trình b à y cách thức quản lý một ứng dụng trên thẻ theo bên phát hành thẻ độc lập và mô hình bên cung cấp ứng dụng. Có các gi ả định sau: - Một ứng dụng có th ể được thêm vào thẻ bởi b ê n cung cấp ứng dụng độc lập sau khi phát hành thẻ. Mô h ì nh được trình bày trong Hình A.1. - Chứng nhận tạo ứng dụng có thể được phát hành trong quá trình kết nối trực tuyến hay ngoại tuyến. CH Ú THÍCH : Nhóm nghiên cứu hệ thống thẻ mạch tích hợp (NICSS) th ế h ệ k ế ti ế p dùng mô h ì nh này. Hình A.1 - Mô hình của bên phát hành thẻ đ ộc lập và bên cung cấp ứng dụng A.2 Ví dụ về thủ tục quản lý ứng dụng A.2.1 Trường h ợ p của APR độc lập với Cl (Cl từ xa): xác minh chứng nhận trước khi tải a) SELECT ứng dụng với AID ‘E8 28 BD 08 0D’. b) GET DATA để thu hồi khuôn mẫu dịch vụ quản lý thẻ (th ẻ ‘7F64’). c) SELECT ứng dụng quản lý thẻ với AID (th ẻ ‘4F’) được chỉ ra trong khuôn mẫu dịch vụ quản lý thẻ. d) Chứng thực hai chiều. e) Nhận một chứng nh ậ n tạo ứng dụng từ bên phát hành thẻ (trực tuyến/ngoại tuyến). Chứng nhận có th ể chứa AID, một giá trị băm của ứng dụng, ID phê duyệt, ID thẻ và chữ ký số của bên phát hành thẻ. f) APPLICATION MANAGEMENT REQUEST với chứng nhận. g) LOAD APPLICATION bằng lệnh LOAD APPLICATION. A.2.2 Trường hợp của Cl từ xa: xác minh chứng nhận sau khi t ả i a) SELECT ứng dụng với AID ‘E8 28 BD 08 0D ’. b) GET DATA để thu hồi khuôn mẫu dịch vụ quản lý thẻ (thẻ ‘7F64’). c) SELECT ứng dụng quản lý thẻ với AID (thẻ ‘4F’) được chỉ ra trong khuôn mẫu dịch vụ quản lý thẻ. d) Chứng thực hai chiều. e) Nhận được một chứng nhận tạo ứng dụng từ bên phát hành thẻ. f) APPLICATION MANAGEMENT REQUEST không có giấy chứng nhận để cấp phát bộ nhớ. g) Tải ứng dụng bằng LOAD APPLICATION. h) APPLICATION MANAGEMENT REQUEST với chứng nhận. A.3 Ví dụ về thủ tục gỡ bỏ A.3.1 Trường hợp của Cl từ xa: xác minh chứng nhận trong suốt quá trình gỡ bỏ a) SELECT ứng dụng với AID ‘E8 28 BD 08 0D’. b) GET DATA để thu hồi khuôn mẫu dịch vụ quản lý thẻ (thẻ ‘7F64’). c) SELECT ứng dụng quản lý thẻ với AID (thẻ ‘4F) được chỉ ra trong khuôn mẫu dịch vụ quản lý th ẻ . d) Chứng thực hai chiều. e) Nhận chứng nhận loại b ỏ ứng dụng từ bên phát hành thẻ (trực tuyến/ngoại tuyến). Chứng nhận có thể chứa AID, ID phê duyệt, ID thẻ và chữ ký số của bên phát hành thẻ. f) REMOVE APPLICATION với chứng nhận. A.3.2 Trường hợp của Cl từ xa: xác minh chứng nhận trước khi gỡ bỏ a) SELECT ứng dụng với AID ‘E8 28 BD 08 0D ’. b) GET DATA để thu hồi khuôn mẫu dịch vụ quản lý thẻ (thẻ ‘7F64’). c) SELECT ứng dụng quản lý thẻ với AID (thẻ ‘4F’) được chỉ ra trong khuôn mẫu dịch vụ quản lý thẻ. d) Chứng thực hai chiều. e) Nhận chứng nhận loại bỏ ứng dụng từ bên phát hành thẻ. f) APPLICATION MANAGEMENT REQUEST với chứng chỉ. g) REMOVE APPLICATION không có gi ấ y chứng nhận. Phụ lục B (tham khảo) Ví dụ thực hành của quản lý ứng dụng thẻ B.1 Giới thiệu Ví dụ này tr ì nh bày mô h ì nh hai-bước cho việc tạo và k í ch hoạt ứng dụng: tải mã của ứng dụng trước tiên, sau đó cài đặt và k í ch hoạt một trường hợp ứng dụng. CHÚ TH Í CH : GlobalPlat f orm (GP) sử dụng mô h ì nh này. Một ứng dụng gồm các mã ứng dụng và dữ liệu ứng dụng. Mã ứng dụng (nhưng không ph ả i dữ liệu ứng dụng) được tải vào thẻ bằng cách dùng một Load Object. Việc cài đặt một ứng dụng tạo ra một trường hợp theo Load Object cộng với một số dữ liệu ứng dụng có thể. Trong ví dụ này, việc tạo và kích hoạt một ứng dụng đòi hỏi phải b ổ sung: - Chứng thực trước đó của hệ thống quản lý ứng dụng thẻ (CAMS), - Bảo vệ các lệnh và hồi đáp bằng thông điệp an toàn, - Xác minh chứng nhận của bên phát hành thẻ. B.2 Lệnh đối với quản lý ứng dụng B.2.1 Lệnh APPLICATION MANAGEMENT REQUEST Lệnh APPLICATION MANAGEMENT REQUEST được phát hành nhằm khởi tạo và thực hiện các bước khác nhau được yêu cầu cho việc tải một Load Object, cài đặt và k í ch hoạt một trường hợp ứng dụng. Bảng B.1 - Cặp lệnh-hồi đáp APPLICATION MANAGEMENT REQUEST CLA INS P1 P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4). ‘40’ Kiểm soát trạng thái đối tượng vòng đời ứng dụng: Xem Bảng B.2 Ki ể m soát quản lý ứng dụng: xem Bảng B.3 Trường Lc Số byte trong trường dữ liệu lệnh. Trường dữ liệu Thông tin yêu c ầ u quản lý ứng dụng Trường Lc Rỗng đố i với mã hóa Ne = 0, có giá trị đối với mã h ó a Ne > 0 Trường dữ liệu Rỗng hoặc thông tin xác nhận quản lý ứng dụng SW1-SW2 Xem TCVN 11167-4 (ISO/IEC 7816-4), Bảng 6 và 7 liên quan, ví dụ: ‘6982’, ‘6985’. Tham số P1 của lệnh APPLICATION MANAGEMENT REQUEST mô tả mục đích của lệnh này và được mã hóa theo Bảng B.2. Bảng B.2 - Kiểm soát trạng thái đối tượng vòng đ ờ i ứng dụng trong P1 b8 b7 b6 b5 b4 b3 b2 b1 Ý nghĩa 0 0 0 0 1 1 0 0 Chuy ể n đổi từ trạng thái Tạo thành Kích hoạt vận hành 0 0 0 0 1 0 0 0 Chuyển đ ổ i từ trạng thái Khởi tạo thành Kích hoạt vận hành 0 0 0 0 0 1 0 0 Chuyển đổi từ trạng thái Tạo thành trạng thái Khởi tạo 0 0 0 0 0 0 1 0 Chuyển đổi từ trạng thái Không tồn tại thành trạng thái Tạo X X X X - - - - RFU b4 = 1 chỉ ra việc kích hoạt ứng dụng được quy định trong trường dữ liệu lệnh. Điều này áp dụng cho một ứng dụng mà ch ỉ được tạo ra (trạng thái vòng đời hiện tại = Tạo) hay đ ã là Kh ở i tạo (trạng thái vòng đời hiện tại = Kh ở i tạo). b3 = 1 chỉ ra việc kh ở i tạo ứng dụng được quy định trong trường dữ liệu lệnh (trạng thái vòng đời = Tạo). b2 = 1 chỉ ra việc tạo ứng dụng được quy định trong trường dữ liệu lệnh (trạng thái vòng đời hiện tại = Không tồn tại). Bảng B.3 - Kiểm soát quản lý ứng dụng trong P2 b8 b7 b6 b5 b4 b3 b2 b1 Ý nghĩa 0 0 0 0 0 0 0 1 Xác minh yêu cầu quản lý ứng dụng 0 0 0 0 0 0 1 1 Xác minh và gửi yêu cầu quản lý ứng dụng Trong ví dụ này, lệnh APPLICATION MANAGEMENT REQUEST được cấp hai lần. - Với b2 = 1 trong thông số P1 và P2 đặt là ‘01 ’ , để khởi tạo vi ệ c tải mã ứng dụng (Load Object). Trường dữ liệu lệnh gồm việc định d anh Load Object, định danh bên cung cấp ứng dụng, thông tin ấn định tài nguyên bộ nhớ theo Load Object, việc băm Load Object và một chứng nhận tạo ứng dụng được ban hành bởi bên phát hành thẻ. Không có trường dữ liệu hồi đáp trả về trong thông điệp hồi đáp. Một hay nhiều lệnh LOAD APPLICATION theo sau. Khi thực thi thành công lệnh LOAD APPLICATION cuối cùng, việc tạo yêu cầu quản lý ứng dụng l à mặc nhiên cam kết và trạng thái vòng đời ứng dụng được đặt là Tạo. - Với sự kết hợp của b4 = 1 và b3 = 1 trong thông số P1 và P2 đặt là ‘03’, việc cài đặt và kích hoạt đồng thời một trường hợp ứng dụng. Các trường dữ liệu lệnh gồm việc định danh của Load Object đã được tải, định danh của trường hợp ứng dụng, thông tin ấn định tài nguyên bộ nhớ theo trường hợp ứng dụng và một chứng nhận khởi tạo-và-kích hoạt ứng dụng của bên phát hành thẻ. Khi thực thi thành công lệnh này, trạng thái vòng đời được thay đổi từ Tạo th à nh Kích hoạt vận hành. Một trường dữ liệu hồi đáp có thể được trả lại trong các thông điệp hồi đáp. Nội dung của trường dữ liệu hồi đáp chứa đ ộ dài (được mã hóa theo các quy tắc ASN.1 được quy định trong ISO/IEC 8825-1) và giá trị của việc xác nhận Khởi tạo-và-Kích hoạt ứng dụng. B.2.2 Lệnh LOAD APPLICATION Load Object được chia thành nhiều khối Load Block để truyền t ớ i thẻ. Lệnh LOAD APPLICATION khởi tạo việc truyền Load Block vào thẻ. Các lệnh LOAD APPLICATION có thể được yêu cầu để truy ề n một Load Object tới thẻ. Bảng B.4 - Cặp lệnh - hồi đáp LOAD APPLICATION CLA INS P1 P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4). ‘EA’ Byte có ý nghĩa nh ấ t số chuỗi khối Load Block, xem B ả ng B.5 Byte có í t nghĩa nhất s ố chuỗi khối Load Block, xem Bảng B.6 Trường L c S ố byte trong trường dữ liệu lệnh. Trường dữ liệu Load Block Trường L c Rỗng đối với mã hóa N e = 0, có giá trị đối với mã hóa Ne > 0 Trường dữ liệu Rỗng hoặc thông tin xác nhận tạo ứng dụng SW1-SW2 Xem TCVN 11167-4 (ISO/IEC 7816-4), Bảng 6 và 7 liên quan, ví dụ: ‘6581’ , ‘6484’. Thông số P1 và P2 của lệnh LOAD APPLICATION mô tả chuỗi Load Block v à được mã hóa trong Bảng B.5 và B.6. Bảng B.5 - Byte có ý nghĩa nhất số chuỗi trong P1 b8 b7 b6 b5 b4 b3 b2 b1 Ý nghĩa 0 1 1 1 X X X X X X X X X X X X Nhi ề u khối, byte có nghĩa nhất số chuỗi Khối cuối, byte có nghĩa nh ấ t số chuỗi b8 = 0 chỉ ra có nhiều Load Block hơn mong đợi b8 = 1 chỉ ra Load Block cuối cùng trong một chuỗi. b7 = 1 chỉ ra một số thứ tự Load Block được mã hóa trên 14 bit, từ 0 đến 16383. Bảng B.6 - Byte có ít ý nghĩa nhất số chuỗi trong P2 b8 b7 b6 b5 b4 b3 b2 b1 Ý nghĩa X X X X X X X X B yte có nghĩa nhất số chuỗi Lệnh LOAD APPLICATION đầu tiên được bắt đầu bằng một lệnh APPLICATION MANAGEMENTREQUEST với lệnh tạo (b2 của P1 đặt là 1). S ố chuỗi của Load Block (ít hơn 14 b i t của P1-P2) bắt đầu từ 0. Việc đánh số Load Block là theo đúng tr ì nh tự và gia tăng +1. Thẻ được thông báo về khối cuối cùng của Load Object (b8 của P1 của lệnh LOAD APPLICATION đặt là 1). Một trường dữ liệu hồi đáp có thể được trả về theo thông điệp hồi đáp. Nội dung của trường dữ liệu hồi đáp bao gồm độ dài (được mã hóa theo quy tắc ASN.1 được quy định trong ISO/IEC 8825-1) và giá trị việc xác nhận tạo ứng dụng. Giá trị này chỉ xuất hiện trong trường dữ liệu hồi đáp của lệnh LOAD APPLICATION truyền khối Load Block cuối cùng (b8 của P1 đặt là 1). Đối với lệnh LOAD APPLICATION khác với lệnh LOAD APPLICATION cuối cùng truyền Load Block cuối cùng (b8 của P1 đặt là 1), không có trường dữ liệu hồi đáp. B.3 Chuỗi quản lý ứng dụng Chuỗi quản lý ứng dụng điển hình đối với việc tạo và kích hoạt một ứng dụng trong mô hình này được tuân theo: a) SELECT ứng dụng với AID ‘E8 28 BD 08 0D’. b) GET DATA lấy mẫu dịch vụ quản lý thẻ (thẻ ‘7F64’) c) SELECT ứng dụng quản lý thẻ với AID (thẻ ‘4F’) chỉ ra trong mẫu dịch vụ quản lý thẻ d) APPLICATION MANAGEMENT REQUEST cho việc khởi tạo với P1=‘02’ và P2=‘01’. e) LOAD APPLICATION đầu tiên với P1=‘40’ và P2=‘00 ’. f) Các lệnh LOAD APPLICATION theo tr ì nh tự gia tăng của P1-P2. g) LOAD APPLICATION cuối cùng với P1=‘Cx’ và P2 =‘ yz’ khi ‘xyz’ là chuỗi số của Load Block cuối cùng (giả định ‘xy’ nh ỏ hơn 4 095). h) APPLICATION MANAGEMENT REQUEST đối với việc khởi tạo và kích hoạt với P1 =‘ 0C’ và P2=‘03’. Phụ lục C (tham khảo) Ví dụ thực hành bổ sung của quản lý ứng dụng thẻ C.1 Giới thiệu Ví dụ này trình bày mô hình ba-bước đối với việc tạo và kích hoạt ứng dụng: ấn định tài nguyên thẻ, tải mã ứng dụng và dữ liệu và tạo ra kích hoạt vận hành. CHÚ TH Í CH : MULTOS dùng mô hình này. Lệnh APPLICATION MANAGEMENT REQUEST ban đầu đảm bảo tính sẵn có của tài nguyên th ẻ và chuẩn bị sẵn sàng cho thẻ đối với các yêu cầu quản lý nội dung thẻ kế tiếp, ứng dụng sau đó được tải tới thẻ với lệnh LOAD APPLICATION. Một ứng dụng gồm mã ứng dụng và dữ liệu ứng dụng, thông tin điều khiển tệp tin mặc định, mục vào tệp tin thư mục, chữ ký số và đơn vị chuyển đổi khóa. Tất cả được tải vào th ẻ như một đơn v ị tải ứng dụng. Lệnh APPLICATION MANAGEMENT REQUEST thứ hai và cuối cùng kết thúc quy trình tạo và kích hoạt ứng dụng, bao gồm việc ki ể m tra quyền bên phát hành thẻ và chữ ký số của bên cung cấp d ịch vụ ứng dụng của đơn vị tải ứng dụng. C.2 Lệnh đối với quản lý ứng dụng C .2.1 Lệnh APPLICATION MANAGEMENT REQUEST Lệnh APPLICATION MANAGEMENT REQUEST được phát hành nhằm khởi tạo và hoàn thiện quy tr ì nh tải ứng dụng. B ả ng C.1 - Cặp lệnh-hồi đáp APPLICATION MANAGEMENT REQUEST CLA INS P1 P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4). ‘40’ Mục đích của APPLICATION MANAGEMENT REQUEST, xem Bảng C.2 Mục đích của APPLICATION MANAGEMENT REQUEST, xem Bảng C.3 Trường Lc Số byte trong trường dữ liệu lệnh. Trường dữ liệu Chứng nhận tải ứng dụng Trường Lc Rỗng đối với mã hóa Ne = 0, có giá trị đối với mã hóa Ne > 0 Trường dữ liệu Rỗng hoặc Chứng nhận khóa phổ thông SW1-SW2 Xem TCVN 11167-4 (ISO/IEC 7816-4), Bảng 6 và 7 liên quan, v í d ụ: ‘6982’, ‘6985’. Tham số P1 của l ệnh APPLICATION MANAGEMENT REQUEST mô tả mục đích của lệnh và được mã hóa theo Bảng C.2. B ả ng C.2 - Mã hóa P1 của lệnh APPLICATION MANAGEMENT REQUEST b8 b7 b6 b5 b4 b3 b2 b1 Ý nghĩa 0 0 0 0 1 1 1 0 Chuyển đổi từ trạng thái Không tồn tại thành Kích hoạt Vận hành Tham số P2 của lệnh APPLICATION MANAGEMENT REQUEST mô t ả mục đích của lệnh và được mã hóa theo Bảng C.2. Bảng C.3 - Mã hóa P2 của lệnh APPLICATION MANAGEMENT REQUEST b8 b7 b6 b5 b4 b3 b2 b1 Ý nghĩa 0 0 0 0 0 0 0 1 Xác minh yêu cầu quản lý ứng dụng 0 0 0 0 0 0 1 1 Xác minh và gửi yêu cầu quản lý ứng dụng C .2.2 Lệnh LOAD APPLICATION Đơn vị tải ứng dụng được chia thành các th à nh phần nhỏ hơn để truyền tới thẻ. Lệnh LOAD APPLICATION khởi tạo việc truyền các thành phần vào thẻ. Nhiều lệnh LOAD APPLICATION có thể được dùng để truyền một đơn vị tải ứng dụng tới thẻ. Bảng C.4 - Cặp lệnh-hồi đáp LOAD APPLICATION CLA INS P1 P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4). ‘EA’ Tải byte có nghĩa nh ấ t số chuỗi, xem Bảng C.5 Tải byte có ít nghĩa nhất số chuỗi, xem Bảng C.6 Trường Lc Số byte trong trường dữ liệu lệnh. Trường dữ liệu Load Block Trường Lc Rỗng đối với mã hóa Ne = 0, có giá trị đối với mã hóa Ne > 0 Trường dữ liệu Rỗng SW1-SW2 Xem TCVN 11167-4 (ISO/IEC 7816-4), Bảng 6 và 7 liên quan, v í dụ: ‘6981’, ‘ 6984’. Thông số P1 và P2 của lệnh LOAD APPLICATION mô tả chuỗi số của các thành phần và được mã hóa trong Bảng C.5 và C.6. Bảng C.5 - Mã hóa P1 của lệnh LOAD APPLICATION b8 b7 b6 b5 b4 b3 b2 b1 Ý nghĩa 0 1 x x x x x x Nhiều khối hơn, byte có nghĩa nhất số chuỗi 1 1 x x x x x x Khối cuối, byte c ó nghĩa nhất số chuỗi b8 = 0 chỉ ra nhiều Load Block như mong đợi. b8 = 1 chỉ ra Load Block cuối cùng trong chuỗi. b7 = 1 chỉ ra một chuỗi số của Load Block được mã h ó a theo 14 bit, từ 0 tới 16383. B ả ng C.6 - Mã hóa P2 của lệnh LOAD APPLICATION b8 b7 b6 b5 b4 b3 b2 b1 Ý nghĩa x x x x x x x x Byte có ít nghĩa ít nh ấ t số chuỗi Lệnh LOAD APPLICATION đầu tiên được bắt đầu bằng lệnh APPLICATION MANAGEMENT REQUEST. Số chuỗi Load Block (ít hơn 14 bit của P1-P2) bắt đầu từ 0. Việc đánh số Load Block là đúng theo tuần tự và gia tăng +1. Thẻ được thông báo về khối cuối cùng của Load Object (b8 của P1 đặt là 1). C.3 Chuỗi quản lý ứng dụng Chuỗi quản lý ứng dụng điển h ì nh cho việc tạo và k í ch hoạt một ứng dụng của mô hình này như sau: a) SELECT ứng dụng với AID ‘E8 28 BD 08 0D’ . b) GET DATA để thu hồi khuôn mẫu dịch vụ quản lý th ẻ (thẻ ‘7F64’). c) SELECT quản lý ứng dụng thẻ. d ) APPLICATION MANAGEMENT REQUEST cho xác minh yêu cầu kích hoạt vận hành với P1 = ‘ 0 E’ và P2 = ‘01’. e) LOAD APPLICATION đầu tiên với P1 = ‘40’ và P2 = ‘00’. f) Nhiều lệnh LOAD APPLICATION với tuần tự tăng dần của P1-P2. g) LOAD APPLICATION với P1 = ‘Cx’ và P2 = ‘yz’ khi ‘xyz’ là số chuỗi Load Block cuối cùng. h) APPLICATION MANAGEMENT REQUEST cho kích hoạt vận hành với P1 = ‘0E’ và P2 = ‘03’. Phụ lục D (tham khảo) Ví dụ thực hành bổ sung của quản lý ứng dụng thẻ Ví dụ sau trình bày việc sử dụng lệnh LOAD APPLICATION như một trình bao bọc các lệnh cho việc cài đặt ứng dụng. Việc sử dụng này cho phép kiểm soát toàn bộ chuỗi t ả i bởi một quy t ắ c truy cập đơn l ẻ đối với lệnh LOAD APPLICATION, ví dụ: việc chứng thực bên ngo à i với th ỏ a thuận khóa thông điệp an ninh được yêu cầu. Thủ tục chứng thực này được thực hiện bởi một hệ thống quản lý ứng dụng thẻ (CAMS). CHÚ THÍCH 1 : Chu ỗ i lệnh có thể được gửi với thông điệp an ninh. CHÚ THÍCH 2 : Lệnh-thực thi trong trường dữ liệu lệnh được mã hóa m à không có thông điệp an ninh. Bảng D.1 - Cặp lệnh-hồi đáp LOAD APPLICATION CLA INS P1-P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4), bit 5 đặt là 1 chỉ ra rằng lệnh này không phải là lệnh cuối trong chuỗi ‘EB’ ‘ 0000’ Trường Lc Số byte trong trường dữ liệu lệnh. Trường d ữ liệu Lệnh-thực thi (Thẻ ‘52’): ‘52’-L-.... (Lệnh CREATE FILE (DF)) Trường Lc Rỗng Trường dữ liệu Rỗng SW1-SW2 ‘9000’ hoặc các byte trạng thái cụ thể B ả ng D.2 - Cặp lệnh-hồi đáp LOAD APPLICATION CLA INS P1-P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4), bit 5 đặt là 1 chỉ ra rằng lệnh này không phải là lệnh cuối trong chuỗi ‘EB’ ‘0000’ Trường L c Số byte trong trường dữ liệu lệnh. Trường d ữ liệu Số byte theo trường dữ liệu lệnh Trường Lc Rỗng Trường dữ liệu Rỗng SW1-SW2 ‘9000’ hoặc các byte trạng thái cụ thể B ả ng D.3 - Cặp lệnh-hồ i đáp LOAD APPLICATION CLA INS P1-P2 Quy định trong TCVN 11167-4 (ISO/IEC 7816-4), bit 5 đặt là 1 chỉ ra rằng lệnh này không phải là lệnh cuối trong chuỗi ‘EB’ ‘0000’ Trường L c Số byte trong trường dữ liệu lệnh. Trường dữ liệu Lệnh thực thi (Th ẻ đánh dấu ‘52’): ‘52’-L-.... (Lệnh CREATE FILE (DF)) Trường L c Rỗng Trường dữ liệu Rỗng SW1-SW2 ‘9000’ hoặc các byte trạng thái cụ thể Bảng D.4 - Cặp lệnh-hồi đáp LOAD APPLICATION CLA INS P1-P2 Quy đ ị nh trong TCVN 11167-4 (ISO/IEC 7816-4), bit 5 đặt là 1 chỉ ra rằng lệnh này không phải là lệnh cuối trong chuỗi ‘EB’ ‘0000’ Trường Lc Số byte trong trường dữ liệu lệnh. Trường dữ liệu Lệnh thực thi (Th ẻ ‘52’): ‘52’-L-.... (Lệnh CREATE FILE (DF)) Trường Lc Rỗng Trường dữ liệu Rỗng SW1-SW2 ‘9000’ hoặc các byte trạng thái cụ thể THƯ MỤC TÀI LIỆU THAM KHẢO [1] TCVN 11167 (ISO/IEC 7816) Thẻ định danh - Thẻ mạch tích hợp (t ấ t cả các phần). [2] Đặc tả thẻ GlobalPla tf orm, phiên b ả n 2.1.1 hoặc cao hơn, http://www.globalplatform.org/ [3] NICSS Prerequisites Version 1.20, The Next generation IC Card System Study group: http://www.nicss.or.jp/ [4] Guide to Loading and Deleting Applications, MAO-D OC -REF - 008, MAOSCO: http://www. m ultos.co m / [5] Guide to Generating Application Load Units, MAO-DOC-REF- 009 , MAOSCO: http://www.multos.com/ 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 5 Môi trường đa ứng dụng và vòng đời ứng dụng 6 Nhận dạng dịch vụ quản lý thẻ 7 Lệnh đối với quản lý ứng dụng Phụ lục A (tham khảo) Ví dụ về quản lý ứng dụng thẻ theo bên phát hành thẻ độc lập và mô hình bên cung cấp ứng dụng Phụ lục B (tham khảo) Ví dụ thực hành của quản lý ứng dụng th ẻ Phụ lục C (tham khảo) Ví dụ thực hành b ổ sung của quản lý ứng dụng thẻ Phụ lục D (tham khảo) Ví dụ thực hành bổ sung của quản lý ứng dụng thẻ Thư mục tài liệu tham khảo