TCVN11167-15:2015

Tiêu chuẩn quốc gia TCVN 11167-15:2015 (ISO/IEC 7816-15:2004 with amendment 1:2007 and amendment 2:2008) về Thẻ định danh - Thẻ mạch tích hợp - Phần 15: Ứng dụng thông tin mã hóa TIÊU CHUẨN QUỐC GIA TCVN 11167-15:2015 ISO/IEC 7816-15:2004 WITH AMENDMENT 1:2007 AND AMENMENT 2:2008 THẺ DANH ĐỊNH - THẺ MẠCH TÍCH HỢP - PHẦN 15: ỨNG DỤNG THÔNG TIN MÃ HÓA Identi f ication cards - Integrated circuit cards - Part 15: Cryptographic in f ormation application Lời nói đầu TCVN 11167-15:2015 hoàn toàn tương đương với ISO/IEC 7816-15:2004, ISO/IEC 7816-15:2004/Amd.1:2007, ISO/IEC 7816-15:2004/Amd.2:2008, ISO/IEC 7816-15:2004/Cor. 1:2004. TCVN 11167-15: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 15: ỨNG DỤNG TH Ô NG TIN MÃ HÓA Identi f ication cards - Integrated circuit cards with contacts - Part 15: Cryptographic in f ormation application 1 Phạm vi áp dụng Tiêu chuẩn này quy định về ứng dụng trong một thẻ. Ứ ng dụng này có chứa thông tin về chức năng mã hóa. Tiêu chuẩn này định nghĩa cú pháp chung và định dạng cho thông tin mã hóa v à cơ chế mã hóa để chia sẻ thông tin này khi thích hợp. Phạm vi của tiêu chuẩn này nhằm đ á p ứng: - Dễ dàng liên tác giữa các th à nh phần chạy trên nhiều nền tảng (độc lập với nền tảng); - Cho phép các ứng dụng ngoài hệ thống tận dụng các sản phẩm và thành phần từ các bên sản xuất (độc lập với bên cung cấp); - Cho phép tận dụng công nghệ mà không cần viết lại phần mềm mức ứng dụng (độc lập với ứng dụng); - Duy trì tính kiên định với các tiêu chuẩn sẵn có, liên quan trong khi phát triển nhờ chứng chỉ khi cần thiết và trên thực tiễn. Phạm vi của tiêu chuẩn này hỗ trợ các khả năng sau: - Lưu trữ nhiều trường hợp thông tin mã hóa trên một thẻ; - Sử dụng thông tin mã hóa; - Thu nhận thông tin mã hóa, nhân tố chính cho việc n à y là khái niệm “tệp tin thư mục", nh ằ m tạo một lớp gián tiếp giữa đối tượng trên thẻ và định dạng thực tế của các đối tượng đó; - Tham chiếu chéo của thông tin mã hóa với các DO được quy định trong các tiêu chuẩn tương ứng khác trong bộ TCVN 11167 (ISO/IEC 7816); - Các cơ chế xác minh khác nhau; - Thuật toán đa mã hóa (sự phù hợp của các thuật toán không được đề cập trong phạm vi của bộ tiêu chuẩn này). Phạm vi của tiêu chuẩn này không đề cập về việc triển khai bên trong và/hoặc bên ngoài. Không bắt buộc phải triển khai sự phù hợp với tiêu chuẩn này khi hỗ trợ tất cả tùy chọn đã được mô tả . Trong trường hợp có sự khác nhau giữa các quy định của ASN.1 trong nội dung văn bản và các mô đun trong Phụ lục A, Phụ lục A được ưu tiên. 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 (ISO/IEC 7816) Thẻ định danh - Thẻ mạch tích hợp tiếp xúc (tất cả các phần). ISO/IEC 8824-1:1998, In f ormation technolog y - Abstract Syntax Notation One (ASN.1): Speci f ication of basic notation ISO/IEC 8824-2:1998, In f ormation technology - Abstract Syntax Notation One (ASN.1): Information object speci fi cation ISO/IEC 8824-3:1998, Information technology - Abstract Syntax Notation One (ASN.1): Constraint specification ISO/IEC 8824-4:1998, Information technology - Abstract Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications ISO/IEC 8825-1:1998, Information technology - ASN.1 encoding rules: specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) ISO 9564-1:2002, Banking - Personal IDentification Number (PIN) management and security - Part 1: Basic principles and requirements for Online PIN handling in ATM and POS systems ISO/IEC 9594-8:1998, Information technology - Open Systems Interconnection - The Directory: Authentication framework ISO/IEC 10646-1:2000, Information technology - Universal Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and Basic Multilingua l Plane ANSI X9.42-2001, Public Key Cryptography for the Financial Services Industry: Agreement of Symmetric Keys Using Discrete Logarithm Cryptography ANSI X9.62-1998, Public Key Cryptography for the Financial Services Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA) 3 Thuật ngữ và định nghĩa Trong phạm vi của tiêu chuẩn này, các thuật ngữ và định nghĩa sau được áp dụng. 3.1 Đường dẫn tuyệt đối (absolute path) Đường dẫn bắt đầu với định danh tệp tin '3F00'. 3.2 Ứ ng dụng (application) Cấu trúc dữ liệu, phần t ử dữ liệu và mô-đun chương tr ì nh cần thiết để thực hiện một chức năng cụ thể. [TCVN 11167-4 (ISO/IEC 7816-4)) 3.3 Đ ị nh danh ứng dụng (application identifier) Phần tử dữ liệu định danh một ứng dụng trong một thẻ. CHÚ THÍCH Phù hợp với TCVN 11167-4 (ISO/IEC 7816-4). 3.4 Bên cung cấp ứng dụng (application provider) Thực thể cung cấp các thành phần được yêu cầu nhằm thực hiện một ứng dụng trên thẻ. [TCVN 11167-4 (ISO/IEC 7816-4)] 3.5 Đối tượng thông tin chứng thực (authentication Information object) Đối tượng thông tin mã hóa cung cấp thông tin về dữ liệu liên quan tới chứng thực, v í dụ: mật khẩu. 3.6 Tệp tin thư mục đối tượng chứng thực (authentication object directory file) Tệp tin cơ bản bao gồm các đối tượng thông tin chứng thực. 3.7 Số thập ph â n được mã hóa nh ị ph â n (binary coded decimal) Biểu diễn số học trong đó một số được biểu diễn như một chuỗi các số thập phân và m ỗ i số thập phân này được mã hóa thành một số nh ị phân 4 bit. 3.8 Chủ thẻ (cardholder) Cá nhân sở hữu thẻ được phát hành. 3.9 Bên phát hành thẻ (card issuer) Tổ chức hay thực thể phát hành thẻ. 3.10 Tệp tin thư mục chứng chỉ (certi f icate directory file) Tệp tin cơ bản chứa các đối tượng thông tin chứng ch ỉ . 3.11 Đ ối tượ ng thông tin chứng ch ỉ (certi f icate i nformation object) Đối tượng thông tin mã hóa cung cấp thông tin về một chứng chỉ. 3.12 Lệnh (command) Thông điệp chỉ ra một hành động và kêu gọi một h ồ i đáp từ thẻ. 3.13 Ứ ng dụng thông tin mã hóa (cryptographic Information application) Ứ ng dụng trong một thẻ mà chứa thông tin về các đối tượng thông tin mã hóa, các phần tử dữ liệu an ninh khác và mục đích sử dụng của chúng. 3.14 Đ ối tượng thông t i n mã hóa (cryptographic Information object) Thông tin có cấu trúc nằm trong một CIA, mô tả một phần tử dữ liệu mã hóa, ví dụ: khóa công khai hay chứng chỉ. 3.15 Đối tượng thông tin bộ chứa dữ liệu (data c ontainer i nformation object) Đối tượng thông tin mã hóa cung cấp thông tin về một bộ chứa dữ liệu, ví dụ: tệp tin. 3.16 Tệp tin thư mục đối tượng bộ chứa dữ liệu (data c ontainer object directory file) Tệp tin cơ bản gồm các đối tượng thông tin bộ chứa dữ liệu. 3.17 Tệp tin chuyên dụng (dedicated file) Cấu trúc bao gồm thông tin kiểm soát tệp tin và tính sẵn sàng định vị của bộ nhớ được tùy chọn. [TCVN 11167-4 (ISO/IEC 7816-4)] 3.18 Tệp tin thư mục (DIR) (directory (DIR) file) Tệp tin cơ bản tùy chọn bao gồm một danh sách các ứng dụng hỗ trợ bởi thẻ và các phần tử dữ liệu liên quan tùy chọn. [TCVN 11167-4 (ISO/IEC 7816-4)] 3.19 Tệp tin cơ bản (elementary file) Tập các đơn vị dữ liệu, bản ghi hay đối tượng dữ liệu chia sẻ cùng định danh tệp tin và có (các) thuộc t í nh giống nhau. [TCVN 11167-4 (ISO/IEC 7816-4)] 3.20 Định danh tệp tin (file identi f ier) Phần t ử dữ liệu (2 byte) dùng đ ể chỉ ra một tệp tin [TCVN 11167-4 (ISO/IEC 7816-4)] 3.21 Chức năng (function) Quy trình xử lý được hoàn thiện bởi một hay nhiều lệnh và các hành động có kết quả. 3.22 Tệp tin ch ủ (master file) MF Tệp tin chuyên dụng đơn nhất thể hiện gốc trong một thẻ, sử dụng một phân nhánh của các tệp tin chuyên dụng. [TCVN 11167-4 (ISO/IEC 7816-4)] CHÚ THÍCH Tệp MF có định danh tệp tin là ' 3F 00 '. 3.23 Thông điệp (message) Chuỗi các byte được truyền bởi thiết bị giao tiếp tới thẻ và ngược lại, không bao gồm các k ý t ự định hướng truyền. 3.24 Tệp tin thư mục đối tượng (object directory file) Tệp tin cơ bản bắt buộc chứa các thông tin và các tệp tin thư mục CIA khác. 3.25 Mật khẩu (password) Dữ liệu mà có thể được yêu cầu bởi ứng dụng được gửi tới thẻ bởi chính người dùng với mục đích chứng thực. [TCVN 11167-4 (ISO/IEC 7816-4)] 3.26 Đường dẫn (path) Tổ hợp các định danh tệp tin mà không cần phân định. [TCVN 11167-4 (ISO/IEC 7816-4)] 3.27 Tệp tin thư mục khóa ri ê ng (private key directory file) Tệp tin cơ bản chứa các đối tượng thông tin khóa riêng. 3.28 Đối tượng thông tin khóa riêng (private key i nformation object) Đối tượng thông tin mã hóa, cung cấp thông tin về một khóa riêng. 3.29 Bên cung cấp (provider) Người có th ẩ m quyền hay người có quyền tạo ra một tệp tin chuyên dụng trong thẻ. [TCVN 11167-4 (ISO/IEC 7816-4)] 3.30 Tệp tin thư mục khóa công khai (public key directory file) Tệp tin cơ bản bao gồm các đối tượng thông tin khóa công khai. 3.31 Đối tượng thông tin khóa công khai (public ke y i nformation object) Đối tượng thông tin mã hóa mà cung cấp thông tin về một khóa công khai. 3.32 Bản ghi (record) Chuỗi các byte được tham chiếu và quản lý bởi thẻ trong một tệp tin cơ bản của cấu trúc bản ghi. [TCVN 11167-4 (ISO/IEC 7816-4)] 3.33 Đường dẫn tương đối (relative path) Đường dẫn bắt đầu với định danh tệp tin của DF hiện tại. 3.34 T ệp tin th ư mục khóa bí mật (secret key directory file) Tệp tin cơ bản chứa các đối tượng thông tin khóa bí mật. 3.35 Đối tượng thông tin khóa bí mật (secret key i nformation object) Đối tượng thông tin mã hóa cung cấp thông tin về một khóa bí mật. 3.36 Khuôn mẫu (template) Tập các đối tượng dữ liệu tạo thành trư ờ ng giá trị của một đối tượng dữ liệu c ó cấu trúc. CH Ú TH Í CH Phù hợp với TCVN 11167-6 (ISO/IEC 7816-6). 4 Thuật ngữ viết tắt 4.1 Ký hiệu DF . x Tệp tin chuyên d ụng x , trong đó x là từ viết tắt của tệp tin EF . x Tệp tin cơ bản x , trong đ ó x là từ viết tắt của tệp tin '0' - ' 9' và 'A' - 'F ' Các số thuộc hệ cơ số 16 4.2 Thuật ngữ viết tắt Thuật ngữ Ti ế ng Anh Tiếng Việt AID Application IDenti f ier Mã định danh ứng dụng AOD Authentication object directory Thư mục đối tượng chứng thực BCD Binary-coded decimal Số thập phân mã hóa nhị phân CD Certificate directory Thư mục chứng chỉ CDE Cryptographic data element Phần tử dữ liệu mã hóa CIA Cryptographic i nformation application Ứ ng dụng thông tin mã hóa CIO Cryptographic i nformation object Đối tượng thông tin mã hóa CV Card-verifiable Th ẻ có thể xác minh DCOD Data Container object directory Thư mục đối tượng bộ chứa dữ liệu DDO Discretionary data object Đối tượng dữ liệu tùy ý DF Dedicated file Tệp tin dành riêng DH Diffie-Hellman Diffie-Hellman DSA Digital Signature Algorithm Thuật toán chữ ký số EC Elliptic Curve Cung e-l í p EF Elementary file Tệp tin cơ bản IDO Interindustry data object Đ ối tượng dữ liệu liên ngành IFD Inter f ace device Thiết bị giao tiếp KEA Key Exchange Algorithm Thuật toán trao đổi khóa MF Master file Tệp tin chủ OD Object directory Đường dẫn đối tượng PKCS Public-key cryptography Standard Tiêu chuẩn mã hóa khóa công khai PrKD Private key directory Th ư mục khóa ri ê ng PuKD Public key directory Thư mục khóa công khai RSA Rivest-Shamir-Adleman Rivest-Shamir-Adleman SKD Secret key directory Thư mục khóa bí mật SPKI Simple Public Key Intrastructure Hạ tầng khóa công khai đơn giản UCS Universal multiple-octet co d ed character set Tập k ý tự mã hóa đa octet phổ cập URL Un if orm resource locator Bộ định vị tài nguyên đồng nhất UTC Coordinated universal time Giờ phối hợp quốc tế UTF-8 UCS trans f ormation format 8 Chuyển đổi UCS định dạng 8 WTLS W ireless Application Protocol transport layer security An ninh tầng giao vận giao thức ứng d ụng kh ô ng dây 5 Quy đổi Tiêu chuẩn này trình b à y ký hiệu ASN.1 dưới dạng in đậm kiểu Helvetica. Khi các loại và giá trị của ASN.1 được tham chiếu dưới dạng văn bản thông thường, tạo sự khác biệt giữa văn bản thông thường bằng cách thể hiện chúng theo dạng in đậm ki ể u Helvetica . Tên của các lệnh, được tham chiếu chuẩn tắc khi quy định thông tin trao đổi giữa các thẻ và các IFD, tạo sự khác biệt với văn bản thông thường bằng cách hi ể n thị chúng dưới phông Courier. Nếu các mục tin trong một danh sách được đánh số (khác với cách dùng "-" hoặc các chữ cái), thì các mục tin ph ả i được xem xét như các bước trong một thủ tục. 6. Đối tượng thông tin mã hóa 6.1 Giới thiệu Tiêu chuẩn này cung cấp: - Mô tả các đối tượng mô tả thông tin mã hóa được chứa trong thẻ; - Mô tả mục đích sử dụng của thông tin này; - Cách thức lấy thông tin này (nếu phù hợp); - Một cú pháp trừu tượng cho thông tin cung cấp cơ sở cho vi ệ c mã hóa; - Một mô hình đối tượng cho thông tin. Thông tin cũng bao gồm thông tin kiểm soát truy cập, được mô tả dưới dạng các CIO. 6.2 Lớp CIO Tiêu chuẩn này định nghĩa 4 lớp của các CIO: - Đối tượng thông tin khóa mã hóa; - Đối tượng thông tin chứng chỉ; - Đối tượng thông tin bộ chứa dữ liệu; và - Đối tượng thông tin chứng thực. Cấu trúc logic của các CIO này được thể hiện trong Hình 1. Lớp đối tượng của các đối tượng thông tin khóa mã hóa có 3 lớp phụ: đối tượng thông tin của khóa riêng, khóa bí mật và khóa công khai. CIO kế thừa các thuộc tính từ các lớp mức cao và có thể được khởi tạo trên thẻ. Hình 1 - Phân nhánh lớp CIO 6.3 Thuộc tính Tất cả CIO có một số thuộc tính. Thuộc tính đặc trưng loại thường được xem xét. Thuộc tính đặc trưng nhóm và thuộc tính phổ thông với tất cả CIO có thể kế thừa được trình bày trong Hình 2. Các thuộc tính được quy định trong Điều 8. Hình 2 - Khái niệm kế thừa thuộc tính 6.4 Hạn chế truy cập Các CDE có thể được giữ bí mật, nghĩa là chúng được bảo vệ chống lại truy cập không chứn g thực hay truy cập công khai. Quyền truy cập (đọc, viết, . v .. v .) với các CDE cá nhân được mô tả bởi Đối tượng thông tin chứng thực (cũng bao gồm Thủ tục chứng thực ). Truy cập có điều kiện (theo quan điểm của chủ thẻ) đạt được với thông tin người dùng dựa trên hiểu biết, thông tin người dùng sinh trắc học hay các cách thức mã hóa. Các CDE công khai không được bảo vệ khỏ i quyền truy cập đọc. 7 Các điều kiện 7.1 Tổng quan Một CIO chứa một tệp tin cơ bản và tham chiếu chung đến một CDE; một CIO có th ể có một vài trường hợp chứa trực tiếp CDE. Một tệp tin chuyên dụng (DF.CIA) bao gồm các tệp tin c ơ bản CIO. Các tệp tin CIO hiện tại có thể được xem xét dưới các tệp tin chuyên dụng khác trong trường hợp chúng được tham chiếu từ DP.CIA. 7.2 Yêu cầu thẻ IC Các thẻ phải phù hợp với các phần của bộ tiêu chuẩn này, khi dùng: - Các hệ thống tệp tin logic phân nhánh; - Lựa chọn ứng dụng trực tiếp hay gián tiếp; - Các cơ chế kiểm soát truy cập; - Các thao tác đọc; - Các thao tác mã hóa. 7.3 Cấu trúc tệp tin thẻ Một thẻ điển hình hỗ trợ tiêu chuẩn này có bố cục như sau: CHÚ THÍCH Trong phạm vi của tiêu chuẩn này , EP.DIR ch ỉ c ầ n thiết tr ê n các t hẻ mà không h ỗ trợ chọn lựa ứ ng d ụng dùng AID như tên DF được quy định trong TCVN 11167-4 (ISO/IEC 7816-4) hoặc khi nhiều CIA n ằ m trên mộ t thẻ ri ê ng l ẻ . Hình 3 - Ví dụ về nội dung của DF.CIA Các mô hình tô-pô khác được đề cập trong Phụ lục C . Nội dung và mục đích của mỗi tệp tin và đường dẫn được mô tả bên dưới. 7.4 EF.DIR Tệp tin theo MF (định danh tệp tin: ' 2F00') phải gồm một hay một vài mẫu ứng dụng được quy định trong TCVN 11167-4 (ISO/IEC 7816-4). M ẫ u ứng dụng (thẻ ' 61 ' ) với một CIA phải gồm ít nh ấ t các IDO sau: - Định danh ứng dụng (thẻ 'AF'), giá trị được quy định trong Điều 7.5.5. - Đường dẫn (thẻ '5 ' ), giá trị được cung cấp bởi bên cung cấp ứng dụng. Các IDO khác của TCVN 11167-4 có thể có theo nhận thức của bên cung cấp ứng dụng. Thực tế, điều này được khuyến nghị cho bên cung cấp ứng dụng bao gồm v à đối tượng dữ liệu của “đối tượng dữ liệu tùy ý" (thẻ '73') và đối tượng dữ liệu của “nhãn ứng dụng” (thẻ '50'). Nhãn ứng dụng phải gồm một nh ã n được mã hóa theo UTF-8 với các ứng dụng, được chọn lựa bởi bên cung cấp ứng dụng. Đối tượng dữ liệu “đối tượng dữ liệu tùy ý" phải gồm một giá trị DER mã hóa (ISO/IEC 8825-1:1998) của ASN.1 loại CIODDO ; … -- Cho việc mở rộng sau này } -- Thẻ ngữ cảnh 1 theo lịch sử và không được dùng CHÚ THÍCH 1 PKCS #15 d ùng thẻ này. CHÚ THÍCH 2 Theo TCVN 11167-4 (ISO/IEC 7816-4) và khi xem xét trong một m ẫ u ứng dụng, thẻ [APPLICATION 19] ('73') thay thế th ẻ CIODDO SEQUENCE ('30') dựa vào việc đánh dấu hàm ẩ n. Xem Đi ề u D.8 với một ví dụ. Thành phần provIDer I D phải gồm một định đanh đối tượng định danh đơn nhất bên cung cấp C I A . Các thành phần odfPath và cia I nfoPath phải gồm các đường dẫn tới các tệp tin cơ bản EF.O D và EF.C I A I nfo tương ứng. Điều này đưa ra một cách thức với bên phát hành nhằm sử dụng các định danh tệp tin phi chuẩn với các tệp tin này mà không cần hy sinh khả năng liên vận. Nó cũng cung cấp bên phát hành thẻ với cơ hội chia sẻ các tệp tin C I A I nfo giữa các C I A, khi một vài C IA nằm trên một thẻ. Thành phần a I D phải chỉ ra ứng dụng cho C I A này áp dụng. Việc dùng một tệp tin DIR sẽ chọn lựa ứng dụng đơn giản khi một vài C I A nằm trên một thẻ. Việc dùng các tệp tin DIR này được mô tả trong TCVN 11167-4 (ISO/IEC 7816-4). 7.5 Nội dung của DF.CIA 7.5.1 Tổng quan Bảng 1 liệt kê các tệp tin cơ bản (bắt buộc và tùy chọn) trong DF.CIA cùng với các định danh tệp tin nghịch của chúng. Các loại tệp tin (bản ghi tuyến tính hoặc trong suốt) được chỉ ra trong cột cuối cùng Bảng 1 - Tệp tin cơ bản trong DF.CIA Tệp tin Bắt buộc Định danh tệp tin (mặc đ ị nh) Định danh EF ngắn Loại tệp tin CIAInfo x '5032' ' 12‘ Trong suốt OD x ' 503 1' ‘11' Bản ghi tuyến t í nh hoặc trong suốt Các AOD Bản ghi tuyến t í nh hoặc trong suốt Các PrKD Bản ghi tuyến t í nh hoặc trong suốt Các PuKD Bản ghi tuyến t í nh hoặc trong suốt Các SKD Bản ghi tuyến t í nh hoặc trong suốt Các CD Bản ghi tuyến t í nh hoặc trong suốt Các DCOD Bản ghi tuyến t í nh hoặc trong suốt - ' 5033' - Bản ghi tuyến t í nh hoặc trong suốt 7.5.2 EF CIAInfo CIAInfo EF phải bao gồm thông tin về thẻ và các khả năng của nó, liên quan tới việc sử dụng các CIO. Thông tin sau phải luôn có: - Số phiên bản; và. - Đặc tính thẻ. Thông tin sau có thể được tìm thấy: - Số se-ri CIA; - Định danh nhà sản xuất; - Nhãn thẻ; - Môi trường an ninh được định vị; - Cấu trúc t ệp tin; - Thuật toán hỗ trợ; - Định đanh bên cung cấp; - Chứng thực người cấp; và - Thời gian cập nhật cuối cùng. 7.5.3 EF.OD Tệp tin thư mục đối tượng (EF.DO) là một tệp tin cơ bản, có thể gồm các tham chiếu từ các CIO EF khác. Hình 4 thể hiện mối quan hệ giữa EF.DO và các CIO EF khác (vì nhiều lý do về tính đơn giản, ch ỉ một tệp tin tham chiếu của mỗi loại được thể hiện). Cú pháp ASN.1 với các nội dung của EF.OD được mô tả trong 8.3 Hình 4 - Bù gián tiếp các CIO dùng EF.OD 7.5.4 Tệp tin thư mục CIO Mỗi tệp tin thư mục CIO gồm các CIO của một loại nhất định: - Tệp tin thư mục khóa riêng gồm các đối tượng thông tin khóa riêng; - Tệp tin thư mục khóa công khai gồm các đối tượng thông tin khóa công khai; - Tệp tin thư mục khóa bí mật gồm các đối tượng thông tin khóa bí mật; - Tệp tin thư mục đối tượng bộ chứa dữ liệu gồm các đối tượng th ô ng tin bộ chứa dữ liệu; và - Tệp tin thư mục đối tượng chứng thực gồm các đối tượng thông tin chứng thực. Nhiều tệp tin thư mục CIO của cùng loại có thể có trong một DF.CIA. Tệp tin thư mục đối lượng EF.OD là đơn nhất và gồm các tham chiếu tới các tệp tin thư mục CIO. CHÚ THÍCH 1 Nếu một tệp tin thư mục CIO của một loại nhất định t ồ n tại trong một DF.CIA, nó thường không được đ ể trắng. CHÚ THÍCH 2 Tệp tin thư mục CIO cũng được t ì m thấy trong các DF khác tr ê n t hẻ. CHÚ THÍCH 3 Các CIO có thể được lưu trữ trực tiếp trong một EF.OD (mà không có b ấ t k ỳ hành động gián tiếp nào) hoặc trong các tệp tin thư mục CIO. Các CDE có thể được lưa trữ trực tiếp trong các CIO hoặc được tham chi ế u b ở i chúng. CHÚ THÍCH 4 Việc dùng hành đ ộng gián tiếp làm đơn giản sự cá nhân hóa, cho phép các quy tắc truy cập đáng tin cậy hơn và được khuyến nghị. Khi các CIO tham chiếu các CDE bằng liên kết logic (ví dụ: một khóa riêng CIO và một khóa công khai CIO tương ứng) thì các CDE phải có cùng định danh CIO. Hình 5 mô tả cấu trúc chung của các tệp tin này. Hình 5 - Bù gián tiếp các CDE dùng CIO 7.5.5 Chọn lựa DF.CIA AID của một DF.CIA gồm hai trường: định danh chuẩn E8 28 BD 08 0F (bắt buộc), được tùy chọn bởi c ả : - Một chỉ mục 1-byte trong dải '00' tới ' 7F' được tuân theo b ở i một mở rộng định danh ứng dụng độc quyền (PIX); hay - Một AID (có thể cắt ngắn) (ví dụ: của một ứng dụng dùng CIA này) dùng một định danh bên cung cấp ứng dụng đã đăng ký từ danh mục đăng ký từ 'A' tới 'Z' (xem TCVN 11167-4). Độ dài của AID không được vượt quá 16 byte. Định danh của AID là: E8 28BD090F Chỉ mục (00-7F) Mở rộng bộ định danh ứng dụng độc quyền (PIX) hoặc E8 28BD090F Ax/Dx Phần còn lại của mục 'A' hoặc 'D' AID Hình 6 - Định dạng AID DF.CIA có thể được chọn lựa dùng AID của nó bởi các thẻ hỗ trợ việc chọn lựa ứ ng dụng trực tiếp. CHÚ THÍCH Vì các lý do lịch sử, DF.CIA có thể được chọn dùng AID: A 0 00 00 00 63 50 4B 43 53 2D 31 35. Nếu việc chọn lựa ứng dụng trực tiếp là không khả thi, một tệp tin EF.DIR với nội dung được quy định trong Điều 7.4 phải được dùng. Khi một vài DF.CIA n ằ m trên một thẻ, ch ú ng có thể phân biệt bởi thông tin trong mẫu thông tin trong EF.DIR. Điều này được khuyến ngh ị rằng nhãn ứng dụng ( thẻ '50') cũng được xem xét nhằm đơn giản h óa giao diện người-máy (ví dụ: tên bên cung c ấ p ở định dạng ng ắ n) 8 Cú pháp thông tin trong ASN.1 8.1 Hướng dẫn và chuyển đổi mã hóa Tiêu chuẩn này dùng ASN.1 (ISO/IEC 8824:1998, tất cả các phần) nhằm mô tả các CIO. Khi được lưu trữ trên một thẻ, mã hóa DER của các giá trị CIO được giả định. Phụ lục A bao gồm một quy định kỹ thuật hoàn ch ỉ nh trong ASN.1 của t ấ t cả các CIO; văn bản của điều này ch ỉ giải thích. Nội dung của tệp tin thư mục CIO là tổ hợp của 0, 1 và các giá trị DER mã hóa có cùng loại, xem ví dụ Phụ lục D. 8.2 Loại ASN.1 cơ bản được quy định 8.2.1 Định danh IDenti fi er ::= OCTET STRING (SIZE (0..cia-ub-IDentifier)) Loại IDentifier được dùng như một định danh CIO. Đối với các mục đích tham chiếu ngang, hai hay nhiều CIO có thể có cùng giá trị IDentifier . Một ví dụ của loại này là một khóa cá nh â n và một hay nhiều chứng chỉ tương ứng. 8.2.2 Tham chiếu Reference ::= INTEGER (0..cia-ub-reference) Loại này được dùng với các mục đích tham chiếu chung. 8.2.3 Nhãn Label ::= UTF8String (SIZE(0..cia-ub-label)) Loại này được dùng với tất cả nhãn (ví dụ: người dùng được gán c á c tên đối tượng). 8.2.4 CredentialIDentifier Loại CredentialIDentifier được dùng nhằm định danh một kh ó a hay chứng chỉ cụ thể. Có 9 thành phần trong tập các định danh v ới các khóa cá nh â n và chứng chỉ KeyIDentifiers: - issuerAndSerialNumber: Giá trị của loại này phải là một SEQUENCE gồm tên phân biệt và số se-ri cả một chứng nhận chứa khóa công khai tương ứng với khóa cá nhân của bên phát hành. - issuerAndSerialNumberHas: Tương tự với issuerAndSerialNumber , nhưng giá trị là một OCTET STRING gồm một giá trị băm SHA-1 của thông tin này đ ể bảo t oàn không gian. - subjectKeyID: Giá trị của loại này phải là một OCTET STRING với cùng giá trị như mở rộng chứng chỉ subjectKeyIDentifier trong một chứng chỉ của ISO/IEC 9594-8:1998, gồm khóa công khai liên quan tới khóa cá nhân. Định danh này có thể được dùng với các giao cắt chuỗi chứng chỉ. - subjectKeyHash : Một OCTET STRING gồm b ă m SHA-1 của khóa công khai liên quan tới khóa cá nhân. - issuerKeyHash: Một OCTET STRING gồm một băm SHA-1 của khóa công khai dùng để gán chứng chỉ được yêu cầu. - issuerNameHash : Một OCTET STRING gồm một băm SHA-1 của tên bên phát hành khi nó xuất hiện trong chứng chỉ. CHÚ THÍCH Định danh khóa có thể liên kết với định danh subjectNameHash cũng được dùng với xây dựng chuỗi chứng chỉ - subjectNameHash : Một OCTET STRING gồm một băm SHA-1 của tên nội dung khi nó xuất hiện trong chứng chỉ. - pgp2KeyID : Một OCTET STRING (SIZE(8)) gồm một định danh khóa PGP2. CHÚ THÍCH Định danh khóa PGP2 được quy định trong IETF RFC 2440 (xem Thư mục t à i liệu tham khảo). - openPGPKeyID : Một OCTET STRING (SIZE(8)) gồm một định danh khóa OpenPGP. CHÚ THÍCH Định danh kh ó a PGP được quy định trong IETF RFC 2440 (xem Thư mục t à i liệu tham Khảo). 8.2.5 ReferencedValue và Path (đường dẫn) Một ReferencedValue là một tham chiếu với một giá trị CIO của một vài loại. Nó có thể là một vài tham chiếu ngoài (thu được bởi việc chọn lựa url) hay một tham chiếu tới một tệp tin trên thẻ (định danh path). Cú phá p của giá trị này được xác định theo ngữ c ả nh. Trong trường hợp path, định danh index và length có thể quy định một vị trí đặc trưng trong tệp tin. Nếu tệp tin là tệp tin bản ghi tuyến tính index phải quy định s ố bản ghi (trong định nghĩa của TCVN 11167-4) và length có thể được đặt từ 0 (nếu hệ điều hành thẻ cho phép một thông số L e = '00' trong một lệnh ‘READ RECORD'). Độ dài của các bản ghi cố định có thể được tìm thấy trong tệp tin CIAInfo (xem Điều 8.10). Nếu tệp tin là một tệp tin trong suốt index phải quy định một bộ đệm trong tệp tin và length - độ dài của phân vùng ( index sẽ thành thông s ố P 1 và/hoặc P 2 v à length - thông số L e trong một lệnh ‘READ BINARY'). Bằng cách dùng index và length , vài đối tượng có thể được lưu trữ trong cùng tệp tin trong suốt. CHÚ THÍCH Sau đ ó mộ t length của 0 ch ỉ ra r ằ ng tệp tin được tr ỏ tới bởi efIDOrPath là một tệp tin b ả n ghi tuy ế n t í nh. Khi e f IDOrPath là: - Trống, không tệp tin nào được tham chiếu tới nó; - Một byte dài, nó tham chiếu một định danh EF ngắn trong 5 bit có nghĩa nhất (các bit: b3, b2 và b1 phải b ằ ng 0). - Hai byte dài, nó tham chiếu một tệp tin bởi chính định danh tệp tin của nó; - Dài hơn 2 byte và gồm một số byte chẵn, nó tham chiếu một tệp tin bởi một đường d ẫ n tương đối và tuyệt đối (ví dụ: tổ hợp của các định danh tệp tin); - Dài hơn 2 byte và gồm một số byte lẻ, nó tham chiếu một đường d ẫ n định tính (xem TCVN 11167-4). Trong trường hợp url , URL có thể là một URL đơn hay một URL kết hợp với một băm mã hóa của đối tượng ở vị trí sẵn có. Giả định rằng thẻ CIO được b ả o vệ toàn vẹn, việc thống k ê sẽ bảo vệ đối tượng được bảo vệ bên ngoài. CHÚ THÍCH Cú pháp URL được quy định Irong IETF RFC 2396 (xem Thư m ụ c tài liệu tham kh ả o) 8.2.6 ObjectValue ObjectValue Một giá trị đối tượng của loại ObjectValue phải được lư u trữ bởi tham chiếu gián tiếp, ngoại tr ừ các điều khác được đề cập tới (ví dụ: bằng cách trỏ tới vị trí khác mà giá trị thực tế bên trong) 8.2.7 PathOrObjects Loại PathOrObjects được dùng để tham chiếu các chuỗi đối tượng n ằ m trong OD hay trong tệp tin khác. Nếu path thay đổi được dùng tệp tin tham chiếu phải bao gồm t ổ hợp của 0,1 và các gi á trị DER mã hóa của loại đã cho. Bất kỳ số nào của các octet 'FF' có thể x ả y ra trước, giữa và sau các giá trị mà không có b ấ t kỳ ý nghĩa nào (ví dụ: việc dồn không gian chưa dùng hoặc các giá trị bị xóa). Path thay đổi được khuyến nghị mạnh mẽ (xem CHÚ THÍCH 4 trong Điều 7.5.4). 8.2.8 CommonObjectAttributes CHÚ THÍCH Lo ạ i này l à một bộ chứa với các thuộc t í nh phổ biến v ới t ấ t cả các CIO. Thành phần label hoàn toàn cho mục đ í ch hiển thị (giao diện người-máy), ví dụ: khi một người sử dụng có một số gi ấ y chứng chỉ cho một cặp khóa (ví dụ: "chứng chỉ ngân hàng", "chứng chỉ e- mail"). Thành phần flags ch ỉ ra cho d ù các đối tượng cụ thể là cá nhân hay không, và liệu nó là kiểu ch ỉ đọc hay không. Một đối tượng private chỉ có thể được truy cập sau chứng thực thông thư ờ ng (ví dụ: xác minh mật khẩu). Nếu đối tượng được đánh d ấ u là modifiable nó phải có khả năng cập nhật giá trị của các đối tượng. Nếu một đối tượng là cả private và có thể sửa đ ổ i , tuy nhiên cập nhật chỉ được phép sau khi chứng thực thành công. Thành phần authID tạo, trong trường hợp của một đối tượng riêng, một tham chiếu chéo về đ ố i tượng chứng thực được sử dụng để bảo vệ đối tượng này (đối với một mô tả các đối tượng chứng thực, xem Điều 8.9). Thành phần userConsent tạo, trong trường hợp của một đối tượng riêng (hoặc một đối tượng mà đ iều kiện truy cập đã được chỉ định), số lần một ứng dụng có thể truy cập các đối tượng mà không có s ự cho phép của người dùng (ví dụ: một giá trị của 3 chỉ ra rằng một chứng thực mới sẽ được yêu cầu trước truy cập thứ 4, thứ 7). Thẻ có thể thực thi các giá trị này, ví dụ: thông qua việc sử dụng "đối tượng truy cập" (xem TCVN 11167-8 (ISO/IEC 7816-8). Một giá trị 1 có nghĩa là một chứng thực mới là cần thiết trước mỗi truy cập. Thành phần accessControlRules đưa ra một cách thay thế, dễ hơn để thông báo một ứng dụng máy chủ về điều kiện an ninh cho các phương pháp khác nhau của việc truy cập các đối tượng theo câu hỏi. Bất kỳ biểu thức Boolean nào trong các phương pháp chứng thực có được phép. Nếu một chế độ truy cập nhất định l à không được phép, thì sẽ không có quy tắc kiểm soát truy cập cho nó (tức là n ó l à tiềm ẩn). Nếu th à nh phần này không được hiển thị, quy tắc kiểm soát truy cập sẽ phải được suy luận bằng các cách tiện khác. Tùy chọn authReterence cho phép cho một kết nối chặt chẽ hơn với các phần khác trong bộ tiêu chuẩn TCVN 11167 (ISO/IEC 7816), thông qua các tham chiếu đến môi trường an ninh và việc định danh các lớp học của phương pháp chứng thực ( authMethod ). CHÚ THÍCH 1 Khi các thành phần: acc e ssControlRules và authID đều được thể hiện, t hông tin trong thành ph ầ n accessControlRule được ưu tiên. Điều này có thể xảy ra v ì n hững lý do tương thích ngược. CHÚ THÍCH 2 Khi các đặ c tính liên quan đến kiểm soát truy c ậ p có th ể được suy lu ậ n, ví dụ: bằng cách nghiên cứu các EF FCI , thông tin này là tùy chọn và không c ầ n thiết khi các trường hợp được áp dụng (xem TCVN 11167-4). CHÚ THÍCH 3 Thông tin kiểm soát t ruy cập được trình bày trong cấu trúc này thể hiện quy tắc ki ể m soát truy cập trong thẻ, nhưng không nh ấ t thiết phải sử dụng nh ư vậy bởi các th ẻ . 8.2.9 CommonKeyAttributes Thành phần ID phải l à duy nhất cho mỗi đối tượng thông tin khóa, trừ khi một đối tượng thông tin khóa công khai và đối tượng thông tin khóa riêng tương ứng của nó được lưu trữ trên cùng một thẻ. Trong trường hợp này, các đối tượng thông tin phải chia sẻ cùng một định danh (cũng có thể được chia sẻ với một hay một số đối tượng thông tin chứng chỉ, xem Điều 8.2.15). Thành phần usage (encipher, decipher, sign, signRecover, keyEncipher, keyDecipher verity veri f yRecover, derive và nonRepudiation ) báo hiệu việc sử dụng có thể có của các khóa. Các thuật toán và phương pháp thực tế được sử dụng cho các hoạt động này được ngầm hiểu và không được quy định nghĩa trong tiêu chuẩn này. Đ ể ánh xạ giữa ISO/IEC 9594-8 cờ keyUsage cho các khóa công khai, các cờ CIO cho khóa công khai v à cờ CIO cho khóa riêng sử dụng bảng Bảng 2 - Ánh xạ giữa thẻ dùng khóa CIO và thẻ dùng khóa của ISO/IEC 9594-8 Thẻ dùng khóa công khai trong chứng chỉ khóa công khai của ISO/IEC 9594-8 Thẻ dùng khóa CIO tương ứng với khóa công khai Th ẻ dùng khóa CIO tương ứng với khóa cá nhân DataEncipherment Encipher Decipher DigitalSignature, keyCertSign, cRLSign (các thuật toán chữ k ý không cần phục hồi thông điệp) Veri f y Sign DigitalSignature, keyCertSign, cRLSign (các thuật toán chữ ký có phục hồi thông điệp) Veri f yRecover SignRecover KeyAgreement Derive Derive KeyEncipherment KeyEncipher KeyDecipher NonRepudiation NonRepudiation NonRepudiation Thành phần native chỉ ra liệu các thuật toán mã hóa kết hợp với khóa được thực hiện trong phần cứng thẻ. Việc biên dịch các bit KeyAccessFlags phải được quy định như sau: - sensitive chỉ ra rằng tài liệu khóa không thể được tiết lộ theo văn b ả n thường ra ngoài thẻ; - nếu extractable không được đặt, tài liệu khóa không thể được trích xuất từ thẻ, thậm chí dưới dạng mã hóa; - alwaysSensitive ch ỉ ra r ằ ng khóa luôn là sensitive ; - neverExtractable ch ỉ ra r ằ ng khóa chưa bao giờ được extractable ; và - cardGenerated chỉ ra rằng khóa được tạo ra một cách ng ẫ u nhiên trên thẻ. Thành phần accessFlags có thể vắng mặt trong trường hợp giá trị của nó có thể được suy luận bằng các cách thức khác. Thành phần keyReference ch ỉ áp dụng cho thẻ với khả năng mã hóa. Nếu có, nó c ó chứa một tham chiếu đặc trưng thẻ làm khóa theo câu hỏi (để biết thêm thông tin xem TCVN 11167-4 và TCVN 11167-8). Chú thích Giá trị của thành phần keyRe f erence được dùng trong tham chiếu khóa của các DO (TCVN 11167-4), v à bất kỳ giá trị, gồm cả gi á trị âm là có th ể hiểu được. Thành phần startDate và endDate , nếu có, chỉ rõ khoảng thời gian mà khóa là hiệu lực sử dụng. Thành phần algReference chỉ ra mà khóa được dùng bởi việc tham chiếu các giá trị supportedAlgorithm từ tệp tin EF.CIAInfo. 8.2.10 CommonPrivateKeyAttributes Thành phần name , khi được trình bày, gọi tên chủ khóa, được quy định trong thành phần subject của chứng chỉ tương ứng. Giá trị của thành phần keyIDentifiers có thể kết hợp với các định danh từ thông điệp bên ngoài hoặc các giao thức chọn khóa thích hợp cho một hoạt động nh ất định. Các giá trị này cũng được truyền tới b ê n nhận để chỉ ra khóa nào được sử dụng. Một số cơ chế xác định một khóa được hỗ trợ (xem Điều 8.2.4). Thành phần generalName , khi được trình bày, cung cấp nhiều cách khác để xác định chủ khóa. 8.2.11 CommonPublicKeyAttributes Việc biên dịch name, generalName và các thành phần của k e yIDentifiers của loại CommonPublicKeyAttributes phải giống như các thành phần tương ứng của CommonPrivateKeyAttributes . Thành phần trusted U sage chỉ ra một hay nhiều mục đích với khóa công khai được tin dùng bởi người giữ thẻ (Xem Điều 8.2.15) CHÚ THÍCH Các ngữ nghĩa chính xác của ' sự tin tưởng' n ằ m ngoài p hạm vi của bộ ti ê u chuẩn này. 8.2.12 CommonSecretKeyAttributes Thành phần keyLen tùy chọn thông báo độ dài khóa được dùng, trong các trường hợp khi một thuật toán cụ thể có thể có một độ dài khóa thay đổi. 8.2.13 GenericKeyAttributes Loại này nh ằ m chứa thông tin đặc trưng với một loại cho sẵn. Định nghĩa tập đ ố i tượng thông tin AllowedAlgorithms được tr ả sau, mặc dù các hồ sơ chu ẩ n hóa hay cho các tình huống phù hợp thiết lập giao thức. Tập này được yêu cầu nhằm quy định một b ả ng bắt buộc theo các thành phần của GenericKeyAttributes . 8.2.14 KeyInfo CHÚ THÍCH PKCS # 15 dùng t ùy chọn reference. Loại này là một phần tùy chọn của từng loại khóa riêng và khóa công khai, gồm c ả những chi tiết đặc trưng thuật toán về các thông số của khóa và các hoạt động được hỗ trợ bởi thẻ hoặc một tham chiếu đến thông tin đó. Nếu được trình bày, các giá trị đặc trưng thuật toán ghi đè bất kỳ giá trị tham chiếu bởi thành phần CommonKeyAttributes.algRe f erence. 8.2.15 CommonCerti f icateAttributes Khi một khóa công khai trong một chứng chỉ được tham chiếu bởi một đối tượng thông tin chứng chỉ tương ứng với một khóa riêng được tham chiếu bởi một đối tượng thông tin khóa riêng, th ì các đối tượng thông tin phải chia sẻ cùng giá trị cho thành phần ID . Yêu cầu này sẽ đơn giản hóa các tìm kiếm một khóa riêng tương ứng với một chứng chỉ đặc biệt và ngược lại. Nhiều chứng ch ỉ cho các khóa tương tự phải chia sẻ cùng giá trị cho thành phần ID . Thành phần authority chỉ ra dù chứng ch ỉ cho một cơ quan (ví dụ: cơ quan chứng chỉ) hay không. Thành phần IDentifier được trình bày chỉ vì lý do lịch sử và thành phần IDenti f iers phải sử dụng thay thế. Thành phần certHash hữu ích theo một góc độ an ninh khi một chứng chỉ được lưu trữ bên ngoài thẻ (việc chọn url của ReferencedValue ), khi cho phép người dùng xác minh rằng không có ai bị giả mạo chứng chỉ. Thành phần trustedUsage chỉ ra một hay nhiều mục đích mà khóa công khai được chứng chỉ là đáng tin cậy bởi chủ th ẻ . Định danh đối tượng cho thành phần extKeyUsage có thể được xác định bởi bất kỳ tổ chức n à o theo nhu cầu. Đối với sử dụng thực tế, các giao đi ể m của việc sử dụng chỉ định trong thành phần này, và việc mở rộng keyUsage ( nếu có) trong chính chứng chỉ cần được thực hiện. Nếu thành phần trustedUsage thiếu, tất cả việc sử dụng là kh ả thi. CHÚ THÍCH 1 Ngữ ngh ĩ a ch í nh xác của "niềm tin” nằm ngoài phạm vi của tiêu chuẩn này. CHÚ THÍCH 2 Đ ể tìm một chứng chỉ cho chủ th ẻ cho một sử dụng cụ thể, dùng thành phần commonKeyAttributes.usage , theo tham chiếu chéo ( commonKeyAttributes.ID ) cho một chứng chỉ phù hợp. Thành phần identifiers đơn giản hóa việc tìm kiếm một chứng chỉ đặc biệt, khi người yêu cầu biết (và chuyển tải) một số thông tin để phân biệt về chứng chỉ được yêu cầu. Điều này có thể được dùng, ví dụ: khi một chứng chỉ người dùng được chọn và gửi đến một máy chủ như là một phần của chứng thực người dùng, và máy chủ cung cấp cho khách hàng với việc phân biệt thông tin cho một chứng chỉ đặc biệt. Sử dụng thay thế subjectNameHash và issuerNameHash cũng tạo thuận lợi cho xây dựng chuỗi nhanh chóng. Thành phần validity cung cấp thông tin về thời hạn hiệu lực của chứng chỉ. 8.2.16 GenericCertificateAttributes Loại này được thiết kế nh ằ m chứa thông tin đặc trưng cho bất kỳ loại chứng chỉ nào. Việc xác định tập đối tượng thông tin của Allowe d Certificates được trả sau, dù hồ sơ được chuẩn hóa hay cho các trường hợ p phù hợp cho việc triển khai giao thức. T ậ p này cần thiết để xác định một bảng hạn chế theo các thành phần của GenericCertificateAttributes. 8.2.17 CommonDataContainerObjectAttributes Thành phần applicationName dùng chứa tên hay định danh đối tượng đăng ký cho ứng dụng mà đối tượng chứa dữ liệu theo câu h ỏ i "phụ thuộc". Để tránh xung đột tên ứng dụng, í t nh ấ t việc thay thế applicationOID được khuyến khích. Như đã nêu trong ASN.1, ít nhất một trong những thành phần đã được trình bày trong một giá trị kiểu CommonDataContainerObjectAttributes . Thành phần ID có thể được dùng kết hợp một đối tượng chứa dữ liệu nhất định với một vài CIO khác, ví dụ: một đối tượng thông tin khóa riêng. 8.2.18 CommonAuthenticationObjectAttributes authld phải là một định danh duy nhất. Nó được dùng cho mục đích tham chiếu chéo từ các CIO riêng. Thành phần authReference , khi được trình bày, phải có một giá trị của một đối tượng "tham chiếu khóa" (xem TCVN 11167-4), đây là cách để tham chiếu các khóa này trong môi trường an ninh. Thành phần se I denti fi er , khi được trình bày, định danh môi trường an ninh cho đối tượng nó phụ thuộc. 8.2.19 Loại CIO Loại này là một mẫu cho tất cả các loại CIO. Nó được tham chiếu với các thuộc tính lớp đối tượng, thuộc tính lớp phụ đối tượng và các thuộc t í nh kiểu đối tượng. 8.3 Loại CIOChoice EF.OD phải gồm tổ hợp của 0, 1 hay nhiều giá trị CIOChoice được mã hóa kiểu DER. Bất kỳ cá c octet ' FF ' nào có thể xuất hiện trước, trong và sau các giá trị mà không có bất kỳ ý nghĩa nào (v í dụ: việc đệm cho không gian chưa sử dụng hoặc xóa các giá trị). Một lựa chọn cụ thể có thể xu ất hiện nhiều hơn một lần trong tệp tin (trong đó có thể được hoàn thành, ví dụ: áp dụng các quy tắ c kiểm soát truy cập khác nhau để phân chia t ập hợp các đối tượng cùng loại). Mong đợi rằng một mục EF.OD thường tham chiếu một tệp tin ri ê ng biệt (lựa chọn path của PathOrObjects ) chứa các CIO của loại chỉ định. Tuy nhiên, một mục có thể giữ các CIO trực tiếp (lựa chọn objects của PathOrObjects ), nếu các đối tượng và tệp tin EF.OD có yêu cầu kiểm soát truy c â p tương tự. Thành phần trustedPublicKeys tham chiếu các đối tượng thông tin khóa công khai mô t ả các khóa công khai được tin cậy bởi chủ thẻ với một số mục đích, như là điểm tin (gốc) để xử lý đường dẫn chứng chỉ. Lựa chọn certificates tham chiếu các đối tượng thông tin chứng chỉ mô tả chứng chỉ được phát hành cho thẻ hay chủ thẻ. Thành phần trustedCertificates tham chiếu các đối tượng thông tin chứng chỉ mô tả các chứng chỉ đáng tin cậy bởi chủ thẻ vì các mục đích chỉ định của họ. Ví dụ: chứng chỉ CA được tham chiếu bởi thành phần này có thể được dùng như điểm tin (gốc) trong việc xử lý đường dẫn chứng chỉ CHÚ THÍCH Đ ể duy trì sự tin tưởng mong muốn trong chứng chỉ và/hoặc khóa c ô ng khai cho trước, các CIO tương ứng của chúng trong các thành phần: trustedCertificates và/hoặc trustedPublicKeys cần được bảo vệ thích hợp chống lại việc ch ỉ nh sửa (tức các kiểm soát truy cập thích hợp). Việc bảo vệ này phải áp dụng cho tệp tin EF.OD, bất kỳ tệp tin CIO được tham chiếu bởi thành phần: trustedCertificates hay trustedPublicKeys và bất kỳ khóa hay tệp tin chứng chỉ th ự c tế nào đự ợc tham chiếu t ừ các CIO riêng lẻ. Thành phần usefulCertificates tham chiếu các đối tượng chứng nhân mô tả các chứng chỉ mà không thuộc về một trong hai thành phần: trustedCertificates hay certificates . Nó được sử dụng để lưu trữ hay là thực thể kết thúc hay là các chứng chỉ CA hữu dụng, ví dụ: một chứng chỉ cho khóa mã hóa của một đ ồ ng nghiệp hay các chứng chỉ CA trung gian nhằm đơn giản hóa việc xử lý đường dẫn chứng chỉ. 8.4 Đối tượng thông tin khóa cá nhân 8.4.1 PrivateKeyChoice Loại này gồm thông tin liên quan đến một khóa riêng. Mỗi giá trị gồm các thuộc tính chung cho b ất kỳ đối tượng nào, bất kỳ khóa nào, bất kỳ khóa riêng và các thuộc tính cụ thể cho khóa. 8.4.2 Thuộc tính khóa RSA cá nhân Việc biên dịch các thành phần phải được quy định như sau: - PrivateRSAKeyAttributes.value : Giá trị phải là một đường dẫn đến một tệp tin có chứa một khóa RSA riêng. Nếu không có nhu cầu xác định một đường dẫn đến một tệp tin, giá trị đường dẫn có thể được thiết lập là đường dẫn trống. - PrivateRSAKeyAttributes.modulusLength: Trên nhiều th ẻ , một thẻ cần phải định dạng dữ liệu được gán trước khi gửi dữ liệu cho thẻ. Để có thể định dạng dữ liệu một cách chính xác, độ dài của khóa phải được biết đến. Chiều dài phải được thể hiện b ằ ng bít, v í dụ: 1024. - PrivateRSAKeyAttributes.keyInfo : Thông tin về thông số áp dụng cho khóa này và các vận hành của th ẻ có thể thực hiện với nó. Các giá trị ghi đ è l ê n bất kỳ giá trị CIAIn f o.supportedAlgorithms nào được tham chiếu bởi thành phần CommonKeyAttributes.algReference. Thành phần này không cần thiết nếu thông tin sẵn có thông qua các cách thức khác. 8.4.3 Thuộc tính khóa Private Elliptic Curve Việc biên dịch các thành phần phải được quy định như sau: - PrivateECKeyAttributes.value : Giá tr ị phải là một đường dẫn đến một tệp tin có chứa một khóa e-llip đường cong riêng. Nếu không có nhu cầu xác định một đường dẫn đến một tệp tin, giá trị đường dẫn có thể được thiết lập là đường dẫn trống. - PrivateECKeyAttributes.keyInfo : Xem thành phần tương ứng trong Điều 8.4.2. 8.4.4 Thuộc tính khóa Private Diffie-Hellman } Việc biên dịch các thành phần phải được quy định như sau: - PrivateDHKeyAttributes.value : Giá trị phải là một đường dẫn đến một tệp tin một khóa D i ffie- Hellman riêng. Nếu không có nhu cầu xác định một đường dẫn đến một tệp tin, giá trị đường dẫn có thể được thiết lập là đường dẫn trống. - PrivateDHKeyAttributes.keyInfo : Xem thành phần tương ứng trong Điều 8.4.2. 8.4.5 Thuộc tính khóa Private DSA Việc biên dịch các thành phần phải được quy định như sau: - PrivateDSAKeyAttributes.value : Giá trị phải là một đường dẫn đến một tệp tin một khóa DSA riêng. Nếu không có nhu cầu xác định một đường dẫn đến một tệp tin, giá trị đường dẫn có thể được thiết lập là đường dẫn trống. - PrivateDSAKeyAttributes.keyInfo : Xem thành phần tương ứng trong Điều 8.4.2. 8.4.6 Thuộc tính khóa Private KEA Việc biên dịch các thành phần phải được quy định như sau: - PrivateKEAKeyAttributes.value : Giá trị phải là một đường dẫn đến một tệp tin một khóa KEA riêng. Nếu không có nhu cầu xác định một đường dẫn đến một tệp tin, giá trị đường dẫn có thể được thiết lập là đường dẫn trống. - PrivateKEAKeyAttributes.keyInfo : Xem thành phần tương ứng trong Điều 8.4.2. 8.4.7 Đối tượng thông tin khóa Generic Private Loại này nhằm chứa thông tin đặc trưng với một khóa cá nhân của bất kỳ loại nào. Xem Điều 8.2.13. 8.5 Đối tượng thông tin khóa công khai 8.5.1 PublicKeyChoice Loại này chứa thông tin liên quan đến một khóa công khai. Mỗi giá trị gồm các thuộc tính chung cho bất kỳ đối tượng nào, bất kỳ khóa nào, bất kỳ khóa công khai nào và các thuộc tính cụ thể cho khóa. 8.5.2 Thuộc tính khóa Public RSA Việc biên dịch các thành phần phải được quy định như sau: - PublicRSAKeyAttributes.value : Giá trị phải là một đường dẫn đến một tệp tin gồm c ả giá trị RSAPublicKeyChoice hay (một vài thể hiện đ ặ c trưng thẻ của) một khóa RSA công khai. - PublicRSAKeyAttr i butes.modulusLength : Tr ê n nhiều thẻ, một thẻ phải định dạng dữ liệu được mã hóa trước khi g ử i dữ liệu vào thẻ. Để có thể định dạng các dữ liệu một cách ch í nh xác, độ dài của khóa phải được biết đến. Chiều dài phải được thể hiện bằng bit, ví dụ: 1024. - PublicRSAKeyAttributes.keyInfo : Xem thành phần tương ứng trong Điều 8.4.2. 8.5.3 Thuộc tính khóa Public Elliptic Curve Việc biên dịch các thành phần phải được quy định như sau: - PublicECKeyAttributes.value :Giá trị phải là một đường dẫn đến một tệp tin gồm cả giá trị ECPub l icKeyChoice hay (một vài thể hiện đ ặ c trưng thẻ của) mộl khóa elip vòng cung công khai. - PublicECKeyAttributes.keyInfo : Xem thành phần tương ứng trong Điều 8.4.2. 8.5.4 Thuộc tính khóa Public Diffie-Hellman Việc biên dịch các thành phần phải được quy định như sau: - PublicDHKeyAttributes.value : Giá trị phải là một đường dẫn đến một tệp tin gồm cả giá trị DHPublicKeyChoice hay (một vài th ể hiện đặc trưng thẻ của) một khóa D-H công khai. - PublicDHKeyAttributes.keyInfo : Xem thành phần tương ứng trong Điều 8.4.2. 8.5.5 Thuộc tính khóa Public DSA Việc biên dịch các thành phần phải được quy định như sau: - PublicDSAKeyAttributes.value : Giá trị phải là một đường dẫn đến một tệp tin gồm c ả giá trị DSAPublicKeyChoice hay (một vài thể hiện đặc trưng th ẻ của) một khóa DSA công khai. - PublicDSAKeyAttributes.keyInfo : Xem thành phần tương ứng trong Điều 8.4.2. 8.5.6 Thuộc tính khóa Public KEA Việc biên dịch các thành phần phải được quy định như sau: - PublicKEAKeyAttributes.value : Giá trị phải là một đường dẫn đến một tệp tin gồm cả giá trị KEAPublicKeyChoice hay (một vài thể hiện đặc trưng thẻ của) một khóa KEA công khai. - PublicKEAKeyAttributes.keyInfo : Xem thành phần tương ứng trong Điều 8.4.2. 8.5.7 Đối tượng thông tin khóa công khai chung Loại này nhằm chứa thông tin đặc trưng về một khóa công khai của bất kỳ loại nào. Xem Điều 8.2.13. 8.6 Đối tượng thông tin khóa bí mật 8.6.1 SecretKeyCho i ce Loại này chứa thông tin liên quan đến một khóa bí mật. Mỗi giá trị gồm các thuộc t í nh chung cho bất kỳ đối tượng nào, bất kỳ khóa nào, bất kỳ khóa bí mật và các thuộc tính cụ thể cho Khóa. 8.6.2 Thuật toán khóa thuật toán độc lập Các đối tượng th ể hiện các khóa bí mật sẵn có cho việc dùng trong nhiều thuật toán khác nhau hay cho việc biến đổi của các khóa bí mật. Việc biên dịch các thành phần phải được quy định như sau: - SecretKeyAttributes.value : Giá trị phải là một đường dẫn đến một tệp tin gồm cả một OCTET STRING (trong trường hợp một thẻ có thể thực hiện các thao tác khóa bí mật) một vài thể hiện đặc trưng thẻ của khóa. 8.6.3 Loại GenericSecretKey Loại này nhằm chứa thông tin đặc trưng về một khóa bí mật với bất kỳ loại nào. Xem Điều 8.2.13. 8.7 Đối tượng thông tin chứng chỉ 8.7.1 CertificateChoice Loại này chứa thông tin liên quan đến một chứng chỉ. Mỗi giá trị gồm các thuộc tính chung cho bất kỳ đối tượng nào, bất kỳ chứng chỉ nào và các thuộc tính cụ thể cho chứng chỉ. 8.7.2 Thuộc tính chứng chỉ X.509 Việc biên dịch các thành phần phải được quy định như sau: - X509CertificateAttributes.value: Giá trị phải là một ReferencedValue hoặc là việc xác định một tệp tin chứa một chứng chỉ DER mã hóa tại địa điểm nhất định, hoặc một URL trỏ đến một số địa điểm mà chứng chỉ có thể được tìm thấy. - X509CertificateAttributes . subject , X509CertificateAttributes.issuer và X509CertificateAttributes.serialNumber : Ngữ nghĩa của thành phần này cũng giống như với thành phần tương ứng trong ISO/IEC 9594-8:1998. Các giá trị của các thành phần này phải giống chính xác như đối với các thành phần tương ứng trong chính chứng chỉ. Lý d o để làm cho chúng tùy chọn là cung c ấ p một vài hiệu quả không gian, v ì chúng được trình bày trong chính chứng chỉ. 8.7.3 Thuộc tính chứng chỉ thuộc t í nh X.509 Việc biên dịch các thành phần phải được quy định như sau: - X509AttributeCertificateAttributes.value : Giá trị phải là một ReferencedValue hoặc là việc xác định một tệp tin chứa một chứng chỉ DER mã hóa tại đ ị a điểm nhất định, hoặc một URL trỏ đến một số địa điểm mà chứng chỉ c ó thể được tìm thấy. - X509AttributeCertificateAttributes.issuer và X509AttributeCertificateAttributes.serialNumber : Giá trị của các thành phần này phải giống chính xác như với các thành phần tương ứng trong chính chứng chỉ thuộc tính. Chúng có thể được lưu trữ tường minh đề tra cứu dễ dàng hơn. - X509AttributeCertificateAttributes.attrTypes : Thành phần tùy chọn này phải, khi được trình bày, gồm một danh sách định danh đối tượng cho các thuộc tính được trình bày trong chứng chỉ thuộc tính này. Điều này tạo cơ hội cho các ứng dụng tìm kiếm một chứng chỉ thuộc tính cụ thể mà không cần đọc và ph â n tích ch í nh chứng chỉ đó. 8.7.4 Thuộc tính chứng chỉ SPKI CHÚ THÍCH Các chứng chỉ SPKI được quy định trong IETF RFC 269 (xem Danh mục thư mục tài liệu tham kh ả o) Việc biên dịch các thành phần phải được quy định như sau: - SPKICertificateAttributes.value : Giá trị phải là một ReferencedValue hoặc là việc xác định một tệp tin chứa một chứng chỉ SPKI tại địa điểm nhất định, hoặc một URL trỏ đến một số địa điểm mà chứng chỉ có thể được tìm thấy. 8.7.5 Thuộc tính chứng chỉ PGP (Pretty Good Privacy) CHÚ THÍCH Các chứng nhân PGP được quy đị nh trong IETF RFC 2440 (xem Danh mục thư mục tài liệu tham khảo) Việc biên dịch các thành phần phải được quy định như sau: - PGPCertificateAttributes.value : Giá trị phải là một ReferencedValue hoặc là việc xác định một tệp tin chứa một chứng chỉ PGP tại địa điểm nhất định, hoặc một URL trỏ đến một số địa điểm mà chứng chỉ có thể được tìm thấy. 8.7.6 Thuộc tính chứng chỉ WTLS CHÚ THÍCH Các chứng nhân WTLS được quy định trong quy định kỹ thuật "W ireless Transpor t Layer Security Protocol " (xem Danh mục thư mục tài liệu tham khảo) Việc biên dịch các thành phần phải được quy định như sau: - WTLSCertificateAttributes.value : Giá trị phải là một ReferencedValue định danh cả một tệp tin chứa một chứng chỉ WTLS được mã hóa tại địa điểm nhất định, hoặc một URL tr ỏ đến một số địa điểm mà chứng chỉ có thể được tìm thấy. 8.7.7 Thuộc tính chứng chỉ miền ANSI X9.68 CHÚ THÍCH Các chứng nhân t ê n miền ANSI X9.68 đ ư ợc quy định trong ANSI X9.68-2001 (xem Danh mục thư mục t à i liệu tham khảo) Việc biên dịch các thành phần phải được quy định như sau: - X9-68CertificateAttributes.va l ue : Giá trị phải là một ReferencedValue định danh cả một tệp tin chứa một chứng chỉ tên miền ANSI X9.68 được mã hóa kiểu DER hay PER(ISO/IEC 8825- 2:1998) tại địa điểm nhất định, hoặc một URL tr ỏ đến một số địa điểm mà chứng chỉ có thể được tìm th ấ y. 8.7.8 Thuộc tính chứng chỉ có thể xác minh thẻ CHÚ THÍCH Các chứng nhân Card Verifiable Certificate được quy đinh trong TCVN 11167-8. Mục đích sử dụng ch í nh của chúng là trong các phương pháp chứng thực th ẻ dựa trên khóa công khai. Việc biên dịch các thành phần phải được quy định như sau: - CVCertificateAttributes.value : Giá trị phải là một ReferencedValue định danh cả một tệp tin chứa một chứng chỉ có thể xác minh th ẻ theo TCVN 11167-8 tại địa điểm nhất định, hoặc một URL tr ỏ đến một số địa điểm mà chứng chỉ có thể được tìm thấy. 8.7.9 Thuộc tính chứng chỉ chung Loại này nhằm chứa thông tin đặc trưng về một chứng chỉ của bất kỳ loại nào. Xem Điều 8.2.16. 8.8 Đối tượng thông tin bộ chứa dữ liệu 8.8.1 DataContainerObjectCho i ce Loại này chứa thông tin liên quan đến một đối tượng chứa dữ liệu. Mỗi giá trị gồm các thuộc tính chung cho bất kỳ đối tượng nào, bất kỳ đối tượng chứa dữ liệu nào và thuộc tính cụ thể đến các đối tượng chứa dữ liệu. 8.8.2 Thuộc tính đ ố i t ượn g bộ chứa dữ liệu Việc biên dịch các đối tượng này nằm trong việc truy cập ứng dụng của chúng. OpaqueDOAttributes ::= ObjectValue { CIO-OPAQUE.&Type } 8.8.3 Thuộc tính đối tượng dữ liệu của bộ TCVN 11167 EF.DCOD có thể chứa thông tin về một hay một số các IDO. Các đối tượng này phải được tuân theo một kịch bản phân bổ th ẻ tương thích được quy định trong TCVN 11167-4 (ISO/IEC 7816-4). IS O 7816DOAttributes ::= ObjectValue {CIO-OPAQUE.&Type} ( CONSTRAINED BY { -- Tất cả các đối tượng dữ liệu này phải được quy định phụ thuộc vào TCVN 11167-4 (ISO/IEC 7816-4)-}) Mỗi mục iso 7816DO trong một EF.DCOD sẽ tham chiếu một tệp tin, mà phải phù hợp với TCVN 11167-4 (ISO/IEC 7816-4). Bằng cách dùng các đối tượng chứa dữ liệu này, các ứng dụng tăng cường khả năng tương tác. Khi CDE được tham chiếu là một đối tượng dữ liệu được l ấ y ra, ví dụ: trong một lệnh 'GET DATA', lựa chọn direct của ObjectValue phải được dùng và giá trị CIO-OPAQUE.&Type phải là thẻ của đối tượng dữ liệu. 8.8.4 Đối tượng thông tin bộ chứa dữ liệu được định danh bởi OBJECT IDENTIFIERS Loại này cung c ấ p một cách thức lưu trữ, tìm kiếm và lấy các đối tượng chứa dữ liệu với định danh đối các định danh đối tượng được gán. Một ví dụ cho loại thông tin này là bất kỳ ATTRIBUTE của ASN.1 (xem ISO/IEC 9594-6:1998). 8.9 Đối tượng thông tin chứng thực 8.9.1 AuthenticationObjectChoice Loại này chứa thông tin và một phương pháp chứng thực cụ thể. Mỗi đối tượng chứng thực phải có một CommonAuthent i cationObjectAttributes.auth I D khác biệt, cho phép tra cứu đối tượng chứng thực rõ ràng cho các đối tượng riêng. 8.9.2 Thuộc tính m ậ t khẩu Việc biên dịch các thành phần phải được quy định như sau: - PasswordAttributes.pwdFlags : Thành phần này ra dấu nếu mật kh ẩ u: ● là case-sensitive nghĩa là một mật khẩu cho người dùng phải không được chuyển đổi thành viết hoa trước khi được trình bày trong thẻ (xem bên dưới) ● là local nghĩa l à mật khẩu là cục bộ với ứng dụng mà nó thuộc về. CHÚ THÍCH Một mật khẩu không phải "cục bộ", được coi là ‘toàn c ầ u”. Một mật khẩu cục bộ chỉ được dùng để bảo vệ dữ liệu trong một ứng dụng nhất định. Đối với một mật khẩu cục bộ, vòng đời xác minh không được bảo đảm và n ó cố thẻ được tái xá c minh theo mỗi l ầ n sử dụng. Ngược lại với điều này, một xác minh thành công của mật khẩu toàn c ầ u có nghĩa là xác minh vẫn c ó hiệu lực cho đến khi thẻ được g ỡ bỏ hoặc thi ế t lập lại, hoặc cho đến khi xác minh mới của c ù ng một mật khẩu k hông th à nh công. Một ứng dụng, trong đó xác nhận một m ậ t khẩu toàn cầu, có thể giả định rằng mật khẩu còn hiệu lực, ngay cả khi các ứng dụng khác xác minh các mật khẩu cục bộ của ch í nh n ó , chọn các DF Khác. v .. v ● là change-disabled nghĩa là nó không thể thay đổi mật khẩu; ● là unblock-disabled nghĩa là nó không thể mở mật khẩu; ● là initialized nghĩa là mật khẩu đã được kh ở i tạo; ● needs-padding nghĩa là phụ thuộc độ dài của mật khẩu đã cho và độ dài lưu trữ, mật khẩu cần được chèn trước khi được trình bày trong thẻ; ● là một unblockingPass w ord (TCVN 11167-4 đặt lại m ã ) nghĩa là mật khẩu này có thể dùng cho mục đích mở như: đặt lại bộ đếm thử lại của đối tượng chứng thực liên quan cho giá trị ban đầu; ● là một soPassword nghĩa là mật khẩu là một mật kh ẩ u (quản trị) của nhân viên an ninh; CHÚ THÍCH Khi mật khẩu được mô tả bởi các CIO, các đối tượng chứng thực khác c ó th ể bảo vệ chúng. Đi ề u này đ ưa ra một cách để xác định mật khẩu c ó th ể được dùng để m ở khóa (tức là: thi ế t lập lại bộ đ ế m thử lại cho) m ậ t khẩu khác - đ ể authID của một đ ối tượng thông tin mật kh ẩ u cho một đối tượng chứng thực mật khẩu m ở khóa. ● là disable-allowed nghĩa là mật khẩu có thể bị tắt; ● phải được trình bày trong thẻ với thông điệp an ninh ( integrity-protected ); ● phải được trình bày trong thẻ với thẻ được mã hóa ( con f identiality-protected ); ● có thể thay đổi bởi bằng việc trình bày dữ liệu tham chiếu mới cho thẻ hay c ả dữ liệu tham chiếu cũ và mới cần được trình bày. Nếu bit được thiết lập và dữ liệu tham chiếu cũ và mới phải được trình bày; ngoặc lại chỉ dữ liệu tham chiếu mới cần được trình bày ( exchangeRe f Data ). - PasswordAttributes.pwdType : thành phần này xác định loại mật khẩu sau: ● bcd (thập phân mã hóa nhị ph â n, mỗi nhóm 4 bit của một byte phải gồm một số của mật khẩu); ● ascii-numeric (mỗi byte của mật khẩu gồm một ASCII (ANSI X3.4, xem danh mục thư viện tài liệu tham khảo) số mã hóa); ● u tf8 (mỗi ký tự được mã hóa phụ thuộc UTF-8); ● half-nibble-bcd (nhóm 4 bit thấp nhất của một byte phải gồm một số của mật khẩu, nhóm bit cao nhất phải gồm 'F')l hoặc ● iso9564-1 (mã hóa phụ thuộc vào ISO 9564-1:1996). - Pass w ordAttributes.minLength : Chiều dài tối thiểu (bằng ký tự) của mật khẩu m ớ i (nếu được phép thay đổi). - PasswordAttributes.storedLength : Chiều dài lưu trữ trên thẻ (theo byte). Được dùng đ ể suy ra số ký tự chèn cần thiết. Giá trị có thể được đặt là 0 và bỏ qua nếu pwdFlags chỉ ra rằng việc chèn l à không cần thiết (tức là không có ký tự chèn được gửi vào th ẻ ). - PasswordAttributes.maxLength : Trên một s ố thẻ, mật khẩu là không được chèn và do đó có một nhu cầu để biết chiề u dài mật khẩu tối đa (bằng ký tự) được phép. - PasswordAttributes.pwdReference : Thành phần này là một tham chiếu đặc trưng thẻ cho mật khẩu. Dự đoán rằng n ó có thể được dùng như một tham số ' P2' trong lệnh 'VERIFY' của TCVN 11167-4 (ISO/IEC 7816-4) khi áp dụng. Nếu không được thể hiện, nó có giá trị mặc định là 0 . - PasswordAttributes . padChar : Ký tự chèn được dùng (thư ờ ng là 'FF' hoặc '00'). Không cần thiết nếu pwdFlags chỉ ra rằng việc chèn là không cần thiết cho th ẻ này. Nếu p asswordAttributes.pwdType là loại bcd , th ì padChar nên bao gồm hai nhóm 4 bit có cùng giá trị, bất kỳ nhóm 4 bit nào được sử dụng như là "chèn nhóm 4 bit". Ví dụ, '55' được phép, nghĩa là chèn với '0101 2 ', nhưng '34' là bất hợp pháp. - PasswordAttributes.lastPasswordChange : Thành phần này được thiết k ế đ ể nhằm sử dụng trong các ứng dụng đ ò i hỏi kiến thức về thời gian mà mật khẩu cuối được thay đổi (ví dụ: để thực thi các chính sách gia hạn mật khẩu). Khi mật khẩu không được thiết lập (hoặc không bao gi ờ được thay đổi) giá trị phải là (dùng ký hiệu giá trị được quy định nghĩa trong ISO/IEC 8824- 1:1998) ' 00000000000 Z' . Một ví dụ khác: một mật khẩu thay đổi vào ngày 6 tháng 1 năm 1999 ở năm 1934 (lúc 7:34 PM) UTC sẽ có một giá trị lastPasswordChange của ' 19990106193400Z ' . - PasswordAttributes.path : Đường dẫn tới DF trong đó các mật khẩu nằm tại đó. Đường dẫn này phải được chọn bởi một ứng dụng m áy chủ trước khi thực hiện một thao tác mật khẩu, để cho phép một ngữ cảnh chứng thực thích hợp cho các thao tác mật khẩu. N ế u không được trình bày, việc xác minh chủ th ẻ phải luôn có thể thực hiện mà không có một thao tác 'SELECT' trước đó. 8.9.2.1 Mã hóa một mật khẩu được cung cấp Các bước thực hiện bởi một ứng dụng máy chủ để mã hóa mật khẩu được người dùng cung cấp về điều g ì trình bày cho thẻ được quy định như sau: a) Chuyển đ ổi mật khẩu theo loại mật khẩu sau: 1) Nếu mật khẩu là mật khẩu u tf8 , biến đổi nó thành UTF-8: x = UTF8 ( mật khẩu ). Sau đó, nếu bit case-sensitive bị tắt, chuyển đổi x thành chữ hoa : x = NLSUPPERCASE (x)(NLSUPPERCASE = định vị chữ hoa liên quan) 2) Nếu mật khẩu là mật khẩu bcd , xác minh mỗi ký tự là một chữ số và mã hóa các ký tự thành các số BCD: X = BCD (mật khẩu) 3) Nếu mật khẩu là mật khẩu ascii-numeric hay iso9564-1 , xác minh mỗi ký tự là một chữ số dưới dạng trang mã hiện tại và - nếu cần, mã hóa các ký tự thành chữ số ASCII: x = ASCII ( mật khẩu) 4) Nếu mật khẩu là mật khẩu half-nibble-bcd , xác minh mỗi ký tự là một chữ số và mã hóa các ký tự như BCD trong nửa dưới của mỗi byte, thiết lập mỗi nhóm 4 bit thành 'F 16 ' x = Half-BCD (mật khẩu) b) Nếu chỉ ra trong thành phần pwdFlags , chèn x bên phải với các ký tự chèn padChar , để lưu trữ dài storedLength : x = PAD (x, padChar, storedLength). c) Nếu các bit pwdFlags.integrity-protected hay pwdFlags.confidentiality-protected được thiết lập, áp dụng các thuật toán và các khóa tương ứng cho mật khẩu đã được chuyển đổi và định dạng. d) Trình bày các mật khẩu cho thẻ. Ví dụ (ascii-) M ậ t khẩu số 1234, lưu trữ chiều dài 8 byte, và ký tự chèn 'FF' cho giá trị được trình bày trên là ' 31323334FFFFFFFF' 8.9.3 Thuộc tính dữ liệu tham chiếu sinh trắc học Loại này chỉ liên quan đến thẻ có khả năng thực hiện các chứng thực b ằ ng cách so sánh dữ liệu tham chiếu sinh trắc học được lưu trữ với dữ liệu xác minh sinh trắc học được trình bày, có chứa thông tin về dữ liệu tham chiếu sinh trắc học được lưu trữ ("mẫu"). Loại BiometricAttributes đưa ra cho hai cách khác nhau nhằm trình bày thông tin về dữ liệu tham chiếu sinh trắc học được lưu trữ: - qua các thông tin cụ thể cho tiêu chuẩn này (thành phần biometricTemplateAttributes ); hoặc - qua thông tin được quy định trong TCVN 11167-11 (các thành phần bit và bitGroup ). Ngữ nghĩa của các thành phần của loại BiometricTemplateAttributes là như sau: - BiometricAttributes.bioFlags : Tương tự với PasswordAttributes.pwdFlags nhưng thay thế " mật khẩu" thành "dữ liệu tham chiếu sinh trắc học". - BiometricAttributes.templateld : Thành phần này ch ỉ ra cấu trúc dữ liệu đã được gửi vào thẻ. - BiometricAttributes.bioType : Thành phần này xác định loại thông tin sinh trắc học được lưu trữ trong thẻ, ví dụ: ngón tay trỏ phải. Thành phần " chained " có nghĩa là nhiều hơn một chức năng sinh trắc học đã được trình bày trong cùng quy trình xác minh, có thể bằng cách sử dụng lệnh xâu chuỗi, để chứng thực thành công. - BiometricAttributes.bioReference, BiometricAttributes.lastChange và BiometricAttributes.path : Khi cho các thành phần tương ứng trong PasswordAttributes nhưng thay thế “mật khẩu" với "dữ liệu tham chiếu sinh trắc học". 8.9.4 Đối tượng chứng thực đối với chứng thực bên ngoài CHÚ THÍCH Điều này ch ỉ mô tả các cách thức chứng thực thẻ chứng thực bên trong hay bên ngoài không được nói tới Việc biên dịch các loại nà y phải tuân theo: - AuthKeyAttributes.derivedKey : Thành phần này quy định xem khóa chứng thực được lưu trữ trong thẻ là một khóa phân phối (là một khóa cá nhân), một khóa nhóm, hay một khóa cái sử dụng tạo các khóa c á nhân. - AuthKeyAttributes.authKeyld : Thành phần này quy định các định danh ( CommonKeyAttribute.ID ) của khóa chứng thực như được mô tả trong một EF.SKD. - CertBasedAuthenticationAttributes.cha : Thành phần này quy định việc ủy quyền cấp chứng chỉ như được trình bày trong chứng chỉ thẻ có thể kiểm chứng (xem TCVN 11167-8). N ế u chứng chỉ thẻ có thể kiểm chứng có chứa giá trị này được xác minh và thủ tục chứng thực với cặp khóa tương ứng được hoàn tất, thi cha được thiết lập là hợp lệ, và truy cập tới các đối tượng riêng được bảo vệ trong ủy quyền cấp chứng chỉ. 8.10 Tệp tin thông tin mã hóa: EF.CIAInfo Loại này gồm thông tin chung về DF.CIA và thẻ. EF.CIAInfo phải có một giá trị DER mã hóa thuộc loại CIAInfo. Việc biên dịch loại CIAInfo được quy định như sau: - CIAInfo.version : Thành phần này phải được thiết lập để v2 cho phiên bản này của tiêu chuẩn. Phiên bản dự kiến có thể sử dụng các giá trị khác. Một giá trị CIAInfo phải không bị từ chối chỉ v ì nó có một số phiên bản không rõ. CHÚ THÍCH Số phi ê n bản v1 được sử dụng trong các cấu trúc tương đương trong PKCS # 15. - CIAIn f o.serialNumber : Thành phần này phải có số seri đơn nhất của CIA, được chọn bởi các bên cung cấp ứng dụng. - CIAInfo.manufacturerID : Thành phần tùy chọn này phải chứa thông tin định danh về các nhà sản xuất thẻ, UTF-8 được mã hóa. - CIAInfo.label : Thành phần tùy chọn này phải chứa thông tin định danh về các ứng dụng. - CIAInfo.cardflags : Thành phần này chứa thông tin về thẻ per se . Các thẻ bao gồm: Nếu thẻ chỉ đọc, nếu có chức năng mã hóa yêu cầu người dùng được chứng thực, và nếu các thẻ hỗ trợ tạo số gi ả ngẫu nhiên. - CIAInfo.seInfo : Thành phần tùy chọn này được thiết kế để truyền đạt thông tin về môi trường an ninh thiết l ậ p sẵn trên thẻ, và chủ sở hữu của các môi trường này. Định nghĩa của các môi trường này hiện nằm ngoài phạm vi của tiêu chuẩn, xem thêm TCVN 11167-4 (ISO/IEC 7816-4). Thành phần aID chỉ ra ứng dụng (thẻ) với môi trường an ninh được áp dụng. - CIAInfo.recordInfo : Thành phần tùy chọn này có hai mục đích: ● cho biết các tệp tin cơ bản: EF.OD, EF.PrKD. EF.PuKD, EF.SKD, EF.CD, EF.DCOD và EF.AOD là các tệp tin ghi tuyến tính hay các lệp tin minh bạch (nếu các thành phần có mặt, chúng phải là các tệp tin ghi tuyến t í nh, nếu không chúng phải là các tệp tin minh bạch); và ● nếu chúng là các tệp tin ghi tuyến tính, cho dù chúng có chiều dài c ố định hay không (nếu chúng có chiều dài cố định, giá trị tương ứng trong RecordInfo được xem xét và không bằng 0 và ch ỉ ra độ dài bản ghi. Nếu một số tệp tin là tập bản ghi tuyến tính nhưng không có độ dài cố định, sau đó các giá trị tương ứng trong RecordInfo phải được đặt là 0. - CIAInfo.supportedAlgorithms : Mục đích của thành phần tùy chọn này là để chỉ ra các thuật toán mã hóa, thông số, hoạt động liên quan và các định dạng đầu vào thuật toán được hỗ trợ bởi thẻ. Thành phần reference của AlgorithmInfo là một tham chiếu đơn nhất được sử dụng cho mục đích tham chiếu chéo từ các PrKD và PuKD. Giá trị cho các thành phần algorithm được sử dụng cá nhân. Giá trị của thành phần supportedOperations ( compute-checksum , compute- signature, veri f y-checksum, verify-signature, encipher, decipher, hash và derive-key ) xác định các hoạt động của thẻ có thể thực hiện với một thuật toán cụ thể. Thành phần objID ch ỉ ra định danh đối tượng với các thuật toán. Thành phần algRef chỉ ra định danh được sử dụng bởi các thẻ cho việc biểu thị thuật toán này (và xảy ra tại giao điện thẻ như một tham số, ví dụ: một lệnh “EXTERNAL AUTHENTICATE”). CHÚ THÍCH Giá trị đối với thành phần algorithm c ó th ể được l ựa chọn t ừ, và được biện dịch như số lư ợng cơ ch ế trong PKCS # 11 (xem Danh mục tài liệu tham Khảo). - CIAInfo.issuerID : Thành phần tùy chọn này chứa thông tin định danh về tổ chức phát hành thẻ (ví dụ: các công ty phát hành thẻ). - CIAInfo.ho l derID : Thành phần tùy chọn này chứa thông tin định danh về chủ thẻ (ví dụ: chủ thẻ). - CIAInfo.lastUpdate : Thành phần tùy chọn này chứa (hoặc đề cập tới) ngày cập nhật cuối cùng của các tệp tin trong CIA. Sự hiện diện của thành phần nà y cùng với thành phần CIAInto.serialNumber cho phép các ứng dụng phía chủ nhanh chóng t ì m hiểu xem chúng phải đọc EF.OD, EF.CD, . v .. v . hoặc nếu chúng có thể sử dụng bản sao cache (nếu có). Các referencedTime thay thế các loại LastUpdate dành cho những trường hợp khi EF.CIAInfo cần ghi-bảo vệ. - CIAInfo.preferredLanguage : Các ngôn ngữ ưa thích của chủ thẻ, được mã hóa phù hợp với IETF RFC 1766. - CIAInfo.profilelndication : Thành phần tùy chọn này chỉ ra các hồ sơ của tiêu chuẩn này, mà thẻ đã được phát hành theo sự phù hợp với chuẩn. CHÚ THÍCH H ã y để cho các thông số kỹ thuật khác nhằm xác định các hố sơ chuẩn hóa của ti ê u chuẩn này. PHỤ LỤC A (tham khảo) Mô đun ASN.1 Phụ lục này bao gồm tất cả các loại, giá trị và định nghĩa lớp đối tượng thông tin của ASN.1 được đề cập trong tiêu chuẩn này, dưới dạng mô-đun CryptographicInformationFramework. A.1 Giới hạn chữ viết hoa và chữ viết thường A.2 Loại cơ bản A.2.1 IDenti fi er ::= OCTET STRING (SIZE (0..c ia -ub- I Dent i fier)) A.2.2 Reference ::= INTEGER (0..cia-ub-refer e nce) A.2.3 Label ::= UTF8String (SIZE(0..cia-ub-label)) A.2.4 A.2. 5 A.2.6 A.2.7 A.2.8 A.2.9 A.2.10 A.2.11 A.2.12 } A.2.13 A.2.1 4 A.2.15 A.2.16 A.2.17 A.2.18 A.2.19 A.3 Các CIO A.4 Các đối tượng thông tin khóa riêng A.4.1 A.4.2 A.4.3 A.4.4 A.4.5 A.4.6 A.5 Đối tượng thông tin khóa công khai A.5.1 A.5.2 A.5.3 A.5.4 A.5.5 A.5.6 A.6 Đối tượng thông tin khóa bí mật A.6.1 A.6.2 A.7 Đối tượng thông tin chứng chỉ A.7.1 A.7.2 A.7.3 A.7.4 A.7.5 A.7.6 A.7.7 A.7.8 A.8 Đối tượng thông tin bộ chứa dữ liệu A.8.1 A.8.2 OpaqueDOAttr i bute s ::= ObjectValu e {CIO-OPAQUE.&Type} A.8.3 IS O 7816DOAttributcs ::= ObjectValue {CIO-OPAQUE.&Type} (CONSTRA I NED BY {-- Tất cả đối tượng bộ ch ứ a dữ liệu phải được quy định theo TCVN 11167-4 -- }) A.8.4 A. 9 Đối tượng thông tin chứng thực A.9.1 A.9.2 A.9.3 A.9.4 10 Thông tin thẻ và mã hóa A. 11 CIO DDO PHỤ LỤC B (tham khảo) Ví dụ về CIA đối với thẻ có chữ ký số và chức năng chứng thực B. 1 Giới thiệu Phụ lục này mô tả một ví dụ của CIA phù hợp với các mục đích và yêu cầu định danh điện tử đối với nó. Ví dụ này bao gồm các yêu cầu với cả các thẻ và ứng dụng bên host dùng th ẻ . B. 2 Các CIO - Khóa riêng: Một thẻ CIO nên chứa ít nhất hai phím cá nhân, trong đó một khóa nên chỉ được dùng cho các mục đích chữ ký số (cờ sử dụng khóa: bất kỳ sự kết hợp nào của sign, signRecover và nonRepudiation ). Í t nhất một trong các khóa khác nên có thể sử dụng cho chứng thực khách hàng/máy chủ v à có giá trị sign và/hoặc decipher đặt trong c ờ sử dụng khóa của nó. C hứng thực hoặc Mã hóa các CDE phải vệ tất cả các khóa riêng. Cách sử dụng của kh ó a ch ỉ có chữ ký cần yêu cầu xác minh chủ thẻ với một chứng chỉ CDE chỉ sử dụng cho khóa này. Chiều dài khóa phải phù hợp với mục đích sau này. Loại khóa riêng cho v í dụ này là: Khóa RSA, khóa Elliptic Curve (ví dụ này không đặt ra hạn chế theo các thông số miền khác với các khóa được đề cập ở trên); và các khóa DSA. - Khóa bí mật: Các CDE của loại này có thể hoặc không có thể có mặt trên thẻ, tùy thuộc vào quyết định của bên cung cấp ứng dụng. Không có yêu cầu cho các ứng dụng phía chủ nhằm xử lý các khóa này. - Khóa công khai: Các CDE của loại này có thể hoặc không có thể có mặt trên thẻ, tùy thuộc vào quyết định của bên cung c ấ p ứng dụng. Không có yêu cầu cho các ứng dụng phía chủ nhằm xử lý các khóa này. - Chứng chỉ: Đối với mỗi khóa riêng ít nhất một giấy chứng chỉ tương ứng phải được lưu trữ trên thẻ. Chứng ch ỉ là loại X509Certificate . Nếu một bên cung cấp ứng dụng lưu trữ các chứng chỉ CA trên thẻ mà hỗ trợ tổ chức tệp tin logic của TCVN 11167-4 (ISO/IEC 7816-4) trong đó có các cơ chế truy cập tệp tin phù hợp, sau đó nó được khuyến nghị rằng chúng được lưu trữ trong một tệp tin được bảo vệ. Tệp tin này phải được trỏ đến bởi một tệp tin CD chỉ được thay đổi bởi các tổ chức phát hành thẻ ( hoặc không được thay đổi g ì cả). Điều này ngụ ý việc sử dụng lựa chọn trustedCertificates theo loại CIOCho i ce . - Đối tượng bộ chứa dữ liệu: Các CDE của loại này có thể hoặc không có thể có mặt trên thẻ, tùy thuộc vào quyết định của bên cung cấp ứng dụng. Không có yêu cầu cho các ứng dụng phía chủ nhằm xử lý các đối tượng này. - Đối tượng chứng thực: Í t nhất một chứng thực CDE phải có mặt trên thẻ, việc kiểm soát truy cập vào các CDE được bảo vệ. Một chứng thực CDE riêng biệt n ê n được sử dụng với các khóa ch ỉ có chữ ký, nếu một khóa như vậy tồn tại. Bất kỳ việc sử dụng khóa riêng chỉ có chữ ký nên yêu cầu chứng thực một người dùng mới. Trong trường hợp của các mật khẩu, bất cứ xác minh tích cực của một mật khẩu ph ả i không cho phép việc sử dụng các dịch vụ bảo mật liên quan đến mật khẩu khác. Mật khẩu phải có ít nhất 4 ký tự dài (BCD, UTF-8 hoặc ASCII). Khi một mật khẩu sẽ bị khóa sau các xác minh sai mật khẩu liên tiếp, mật khẩu chỉ có thể mở khóa thông qua một m ã đặt lại hoặc một thủ tục mở khóa, được xác định bởi các tổ chức phát hành thẻ. Hình B.1 - Mối quan hệ tệp tin trong DF.CIA. Các mũi tên chấm đứt chỉ ra các tham chiếu chéo. B. 3 Kiểm soát truy cập Các khóa riêng phải là các đối tượng cá nhân và cần được đánh dấu là nhạy cảm. Các tệp tin chứa các khóa riêng cần được bảo vệ chống lại việc gỡ b ỏ và/hoặc ghi đè. Các điều kiện truy cập sau phải được thiết lập với DF.CIA và c á c tệp tin cơ bản trong nó. Bảng B.1 - Các diều kiện truy cập tệp tin đượ c khuyến ngh ị Tệp tin Các đi ề u kiện truy cập DF.CIA Tạo: chứng thực người dùng hoặc chứng thực bên ngoài Xóa: chứng thực bên ngoài EF.CIAInfo Đọc: Thường xuyên Cập nhật: chứng thực người dùng hoặc chứng thực bên ngoài hay Không cập nhật Ghi đ è : Không được phép EF.OD Đọc: Thường xuyên Cập nhật: chứng thực bên ngoài Ghi đè: chứng thực bên ngoài E F.AOD Đọc: Thường xuyên Cập nhật: Không được phép Ghi đè: chứng thực người dùng hoặc chứng thực b ê n ngoài EF.PrKD, EF.PuKD, EF.SKD, EF.CD và EF.DCOD Đ ọ c: Thường xuyên hoặc chứng thực người dùng Cập nhật: chứng thực bên ngoài hoặc Không được phép Ghi đè: Chứng chỉ ngoại bộ hoặc Không được phép EF.CD bao gồm các tham chiếu với các chứng chỉ dáng tin cậy Đọc: Thường xuyên Cập nhật: Chứng chỉ ngoại bộ hoặc Không được phép Gh i đè: Chứng chỉ ngoại bộ hoặc Không được phép Các EF khác trong DF.CIA Đọc: Thường xuyên hoặc chứng thực người dùng Cập nhật: chứng thực người dùng hoặc chứng th ự c b ê n ngoài hoặc Không được phép Ghi đ è : chứng thực người dùng hoặc chứng thực bên ngoài hoặc Không đươc phép CHÚ THÍCH 1 Chứng thực bên ngoài được mô tả trong TCVN 11167-4 (ISO/IEC 7816-4). CHÚ THÍCH 2 Chứng thực bên ngoài cần bao gồm thông điệp an ninh được mô tả trong TCVN 11167-4 (ISO/IEC 7816-4). CHÚ THÍCH N ế u một bên cung cấp ứng dụng muốn bảo vệ một tệp tin thư mục CIO với một đối tượng chứng thực th ì đối tượng chứng thực đ ầ u tiên t rong EF.AOD phải được dùng mặc định. EF.OD và EF.AOD chắc chắn không được bảo vệ theo cách thức này. PHỤ LỤC C (tham khảo) Ví dụ về mô hình tô pô Hình C.1 - Ví dụ với ba ứng dụng. Các phần tử dữ liệu mã hóa được lưu trữ bên ngoài CIA Hình C.2 - Ví dụ với ba ứng dụng. Chỉ có EF.OD và EF.CIAInfo trong DF.CIA Hình C.3 - Ví dụ sử dụng EF.DIR H ì nh C.4 - Ví dụ về ha i ứng dụng trên thẻ không th ấ y EF.DIR trên giao diện. PHỤ LỤC D (tham khảo) Ví dụ về các giá trị và việc mã hóa CIO D.1 Giới thiệu Mỗi điều con của Phụ lục này, ví dụ D.x đề cập đến một trong các EPS được xác định trong cấu trúc tệp tin của thẻ. Mỗi điều phụ lần lượt bao gồm ba phần: - Phần đầu tiên, ví dụ D. x .1 đưa ra các tên và giá trị mẫu của các DE liên quan tới việc xây dựng một DER theo ký hiệu giá trị ASN.1 được quy định trong ISO/IEC 8824-1: 1998. - Phần thứ hai, ví dụ D. x .2 sát nhập theo cú pháp ASN.1 với các việc chỉ định có cấu trúc/nguyên thủy, các giá trị mẫu và chiều dài của nó. - Phần thứ ba, ví dụ D.x . 3 đưa ra mã hóa DER hệ cơ số 16 thực tế DER như đọc từ tệp tin. Ba phần hiển thị các giá trị theo các định dạng khác nhau, nhằm cho th ấ y những cách khác nhau đ ể chúng có th ể xuất hiện trong các thông số kỹ thuật dựa vào tiêu chuẩn này. Trong phần đầu tiên, các dấu ngoặc kép đơn biểu thị một chuỗi thập lục phân, ký hiệu 7816 thông thường. Chúng được theo sau bởi 'H ', mà còn là một ký hiệu thông thường, ví dụ: '0202'H. Dấu ngoặc kép biểu thị chu ỗ i UTF-8 (có thể in ra) ví dụ: " Ứ ng dụng CIA". Các dấu móc biểu thị một định danh đối tượng, ví dụ: {1 2 840 113549 1 15 4 1}, xem ví dụ của TCVN 11167-4 (ISO/IEC 7816-4) Phụ lục B để chuyển mã thành một chuỗi thập lục phân. Trong phần thứ hai, tiền tố 0 x biểu thị một chuỗi thập lục phân, một ký hiệu lập trình thông thường, ví dụ: 0x3 f00 5015 tương đương với '3F005015' trong k ý hiệu của TCVN 11167 thông thường. Một số mà không có tiền tố này có nghĩa là nó là một chữ số thập ph â n, ví dụ: một giá trị 12 tương đương với mã thập lục phân: 0 x 0 c hoặc ' 0 C'. S ố thẻ được chỉ định giữa d ấ u ngoặc []. S ố lượng thẻ được đưa ra trong hệ thập phân. Lớp thẻ được chỉ định t r ong dấu móc dấu ngoặc vuông, ngoại trừ với các lớp thẻ tag thuộc ngữ cảnh cụ thể là được mặc định. Các thông tin nguyên thủy/có cấu trúc đưa ra giá trị của b6 trong thẻ thực tế được dùng trong phần thứ ba. Mỗi mức định danh chỉ ra một mức đóng gói. Trong phần thứ ba, các byte thập lục được phân cách bằng dấu cách và không có d ấ u ngoặc kép. Mỗi mức định danh bắt đầu với một tiêu đề DO (độ dài thẻ), ngoại trừ mức cuối cùng, đó là giá trị của một DO nguyên thủy: các quy tắc thụt đầu dòng là tương tự như trong phần thứ hai. Như vậy, tất cả tiêu đề của các DO thuộc cùng một mẫu xuất hiện ở cùng một mức thụt đầu dòng. Nhằm nâng cao kiến thức, đánh số dòng được thêm vào điều D.2. D.2 EF.DO D.2.1 Ký hiệu giá trị ASN.1 D.2.2 Mô tả, thẻ, độ dài và giá trị của ASN.1 D.2.3 Mã hóa DER h ệ cơ số 16 D. 3 EF.CIAInfo D.3.1 Ký hiệu giá trị ASN.1 D.3.2 Mô tả, thẻ, độ dài và giá trị của ASN.1 D. 3.3 Mã hóa DER hệ c ơ Số 16 D. 4 EF.PrKD Trong ví dụ này, hai khóa riêng được đề cập tới. Các tệp tin liên quan tới khá o khác, ví dụ: EF.PuKD và EF.SKD, có cấu trúc giống nhau. Các khóa công khai liên quan cũng được tham chiếu trong EF.PuKD với cùng nhãn. D. 4.1 Ký hiệu giá trị ASN.1 D. 4.2 Mô tả, thẻ, độ dài và giá trị của ASN.1 D. 4.3 Mã hóa DER hệ cơ số 16 D. 5 EF.CD D. 5.1 Ký hiệu giá trị ASN.1 D. 5.2 Mô tả, thẻ, độ dài và giá trị ASN.1 D .5.3 Mã hóa DER hệ cơ số 16 D. 6 EF.AOD D. 6.1 Ký hiệu giá trị ASN.1 D. 6.2 Mô tả, thẻ, độ dài và giá trị ASN.1 D. 6.3 Mã hóa DER hệ cơ số 16 D. 7 EF.DCOD D. 7.1 Ký hiệu giá trị ASN.1 D. 7.2 Mô tả, th ẻ , đ ộ dài và giá trị ASN.1 D. 7.3 Mã hóa DER hệ cơ s ố 16 của DCOD D. 8 M ẫ u ứng dụng (trong EF.D I R) Trong ví dụ này, chỉ một mẫu ứng dụng IDO (ví dụ: một ApplicationTemplate ) được trình bày. D. 8.1 Ký hiệu giá trị ASN.1 D. 8.2 Mô tả, thẻ, độ d à i và giá trị ASN.1 trong ApplicationTemplate D. 8.3 Mã hóa DER hệ cơ số 16 của ApplicationTemplate PHỤ LỤC E (tham khảo) Ví dụ về việc sử dụng ứng dụng thông tin mã hóa E. 1 Giới thiệu Mục đích của phụ lục tham khảo này nhằm cung cấp các ví dụ thực hành của việc sử dụng ứng dụng thông tin mã hóa. Bằng cách cung cấp mã chương trình mẫu với mỗi ví dụ, các lập trình viên có thể th ấ y được kết nối được lập trình giữa các biểu diễn ASN.1 mức cao và BER mức thấp, do đó tạo ta ph ầ n mềm tốt và hiệu quả hơn, sử dụng ứng dụng thông tin mã hóa. Mỗi điều trong phụ lục này là một ví dụ dạng đứng tự do và bao gồm bốn lược đồ: a) Mô tả ví dụ. b) Một quy định k ỹ thuật của ví dụ được mô tả dưới dạng lược đồ (1) theo cấu trúc ASN.1 của tiêu chuẩn này được bình luận, sử dụng ký hiệu giá trị hình thức được quy định trong ISO/IEC 8824-1. c) Mã hóa trong ISO/IEC 9899 TC2 ngôn ngữ lập trình C đối với mã hóa và giải mã BER phụ thuộc vào quy định kỹ thuật ASN.1 của đoạn (2). d) Mã hóa BER của ví dụ được cung cấp bởi bộ mã hóa đoạn (3). Hai ví dụ cũng bao gồm các hiển thị đồ họa của BER ở phần cuối của Phụ lục. e) Mã nguồn được cung cấp trong đoạn (3) và được biện dịch và chạy nhằm tạo ra đầu ra được hiển thị trong đoạn (4). Một mã của mã hóa ASN.1 của ứng dụng thông tin mã hóa được liệt kê trong Phụ lục A bên trên được dùng với tất cả các ví dụ. Một bộ biên dịch ASN.1 sẵn có, miễn phí được dùng để tạo ra các bộ mã hóa và giải mã BER từ ASN.1. E. 2 Mã hóa của một khóa riêng E. 2.1 Mô tả ví dụ ứng dụng thông tin mã hóa Đây là một ví dụ của một kh ó a riêng RSA của tiêu chuẩn này. E. 2.2 Mã hóa ASN.1 của một khóa riêng RSA E. 2.3 Mã hóa và giải mã BER từ ASN.1 E. 2.4 Mã hóa BER Bảng E.1 là một s ơ đồ giản lược của mã hóa BER. Bảng E.1 - EF.PrKD của Khóa riêng RSA Loại dữ liệu A 0 51 CIOChoice: đối tượng dữ liệu khóa ri ê ng A 0 4F PrivateKeyChoice: K hó a RSA ri ê ng 30 4D Đối tượng khóa RSA riêng 30 12 Thuộc t í nh đối tượng phổ thông 0 C 04 label 4D, 45, 59, 31 Chuỗi UTF-8 30 02 flags 05, 81 BIT STRING 04 03 auth id 41, 44, 44 OCTET STRING 02 01 userConsest 01 INTERGER A 0 13 Thuộc tinh khóa riẽng phổ thông 30 11 Chuỗi A 0 0 f keyldent if ier 30 0 D Chuỗi 02 01 IdType 05 INTERGER 60 08 IdValue 31, 32, 33, 34, 35 , 36, 37 38 OpenType A1 0 e Thuộc t í nh khóa RSA riêng 30 0 c Chuỗi 30 06 Đường dẫn 04 04 e fid OrPath 3F, 00, 40, 41 OCTET STRING 02 02 ModulusLength 04, 00 INTERGER E. 3 Mã hóa một Bộ chứa dữ liệu được bảo vệ E. 3.1 Mô tả ví dụ ứng dụng thông tin mã hóa Một đối tượng bộ chứa dữ liệu với hai điều kiện an ninh, một với READ và một với UPDATE. Dữ liệu trong các bộ chứa dữ liệu là một BER-TLV. Khóa bí mật SK-1 phải được xác nhận nhằm thay đổi mật khẩu AO-1. E. 3.2 Mã hóa ASN.1 của Đối tượng Bộ chứa dữ liệu được bảo vệ E. 3.3 Mã từ ASN.1 đố i với mã hóa và giải m ã BER E. 3.4 Mã hóa BER E. 4 Mã hóa một Chứng nhận E. 4.1 Mô tả ví dụ Ứng dụng thông tin mã hóa Một mữ tả của một chứng nhận X.509. E. 4.2 Mã hóa ASN.1 của một Chứng nhận X.509 E. 4.3 Mã từ ASN.1 đối v ới Mã hóa và Giải mã BER E. 4.4 Mã hóa BER Bảng E.2 là một mô tả giản đồ của việc mã hóa BER. Bảng E.2 - EF.CD của Chứng nhận X.059 Loại dữ liệu A4 81 E1 Chọn CIO: Chứng nhận A 0 81 DE Chọn ch Ứ ng nhận: chứng nhận X.509 30 81 DB Đối tượng chứng nhận X.509 30 19 Thuộc t Í nh đối tượng phổ dụng 0c 0 D label 43, 65, 72, 74, 69 , 66 , 69, 63, 61, 74, 65, 20, 31 UTF-8 S tring 03 02 flags 05, 40 BIT STRING 04 01 authld 17 OCTET STRING 02 01 userContent 05 INTERGER 30 58 Thuộc tính chứng nhận phổ dụng 04 03 ID 41,44, 4D OCTET STRING 01 01 Authority 00 BOOLEAN 30 0 D Identi f ier 02 01 idType 00 INTERGER 60 08 idValue 31, 32 , 33 , 34. 35, 36, 37, 38 OpenType A 0 22 certHash A 0 0C hashAlg 30 0 A 06 03 Thuật toán 11, 22, 33 OID 60 03 Thông s ố 33, 22, 11 OpenType A1 0C certID 30 0 A 87 04 Iss u er (iPAddress) C 0 , A8, 2D, 01 OECTET STRING 02 02 serialNumber 33 , 33 INTERGER Bảng E.2 - EF.CD của Chứng nhận X.059 (tiếp theo) Loại dữ liệu 03 04 hashVal 00 , 99, 88, 77 INTERGER A1 05 trustUsage 03 03 keyUsage 06, 20, 00 BIT STRING A2 14 bộ định danh 30 08 CredentialIdenti fi er 02 01 idType 05 INTERGER 60 03 idValue 61, 62, 63 OpenType 30 08 CredentialIdenti fi er 02 01 idType 05 INTERGER 60 03 idValue 78, 79 , 7A OpenType Bảng E.2 - EF.CD của Ch ứ ng nhận X.059 (tiếp theo) Loại dữ liệu A1 64 Thuộc tính chứng nhận X.509 30 62 Chọn: 30 06 Value 04 04 EfidOrPath 3F, 00, 40, 42 OCTET STRING 30 28 Nội dung (RDNSequence) 31 26 rdnSequence 30 24 AttributeTypeAndDistinguishedValue 06 02 Type 33, 44 OID 60 02 Value 44, 33 OpenType 31 1A Tập valuesWithContext 30 18 Chuỗi A0 04 SupportedAttributes 60 22 55, 77 OpenType 31 10 contextList 30 0E Chuỗi 06 02 contextType OID 31 05 Tập 60 03 Ngữ cảnh 9, 65, 43 OpenType 01 01 fallback FF BOOLEAN Bảng E.2 - EF.CD của Ch ứ ng nhận X.059 ( kết thúc ) Loại dữ liệu A0 2A bên phát hành (RDNSquence) 30 28 Chọn 31 26 Tập AttributeTypeAndValue 30 24 06 02 Type 55, 66 OID 60 02 Value 66, 77 OpenType 31 1A Tập valuesWithContext 30 18 Chuỗi A0 04 SupportedAttributes 60 02 88, 99 OpenType 31 10 Tập contextList 30 0E Chuỗi 06 02 contextType 78, 56 OID 31 05 Tập Context 60 03 Context 78, 56, 34 01 01 fallback FF BOOLEAN 02 02 SerialNumber 57, 68 INTERGER E. 5 Mã hóa ứng dụng thông tin mã hóa ESIGN E. 5.1 Mô tả ví dụ ứng dụng thông tin mã hóa Việc mã hóa của một ví dụ của ứng dụng thông tin mã hóa với ESIGN đươc mô tả trong Điều 16 của CWA 14890-1:2004. E. 5.2 Mã hóa ASN.1 của ứng dụng thông tin mã hóa IAS E.5 .3 Mã từ ASN.1 đ ối với mã hóa và giãi mã BER Không được cung cấp. E. 5.4 Mã hóa BER THƯ MỤC TÀI LIỆU THAM KHẢO [1] H. A LVESTRAND, “Tags for the IDentification of Languages," IETF RFC 1766. [2] ANSI X3.4-1986, Coded Character Sets - 7-Bit American National Standard Code for Information Interchange. [3] ANSI X9.68:2-2001, Digital Certificates for Mobile/Wireless and High Transaction Volume Financial Systems: Part 2: Domain Certificate Syntax. [4] T. BERNERS -LEE, R. FIELDING, L. MASINTER, “Uniform Resource IDentifiers (URI): Generic Syntax", IETF RFC 2396, tháng 8 1998. [5] J. CALLAS, L. DONNERHACKE, H. FINNE Y , R. THAYER, “OpenPGP Message”, IETF RFC 2440, tháng 11 1998. [6] C . ELLISON, B. FRANTZ, B. LAMPSON, R. RIVEST, B. THOMAS, T. Y LONEN, “SPKI Certificate Theory”, IETF RFC 2693, tháng 9 1999. [7] ISO/IEC 9594-6:1998 | ITU-T Recommendation X.520 (1997), Information technology - O pen Systems Interconnection - The Directory: Selected attribute types. [8] ISO/IEC 8825-2:1998 | ITU-T Recommendation X.691 (1997), Information technology - ASN.1 encoding rules: Specification of Packed Encoding Rules (PER). [9] RSA Laboratories, PKCS #11 v2.11: Cryptographic Token Inter f ace Standard. [10] RSA Laboratories, PKCS #15 v1.1: Cryptographic Token Information Syntax Standard. [11] WAP Forum, Wireless Application Protocol - Wireless Transport Layer Security Protocol Specification, phiên bản 06. MỤC LỤC Lời nói đầu 1 Phạm vi áp dụn g 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 Quy đổi 6 Đối tượng thông tin mã hóa 7 Các điều kiện 8 Cú pháp thông tin trong ASN.1 Phụ lục A (tham khảo) Môđun ASN.1 Phụ lục B (tham khảo) Ví dụ về CIA đối với thẻ có chữ ký số và chức năng chứng thực 68 Phụ l ụ c C (tham khảo) Ví dụ về mô h ì nh t ô pô Phụ lục D (tham khảo) Ví dụ về các giá trị và việc mã hóa CIO Phụ lục E (tham khảo) Ví dụ về việc sử dụng ứng dụng thông tin mã hóa Thư mục tài liệu tham khảo