0
Tải bản đầy đủ (.pdf) (124 trang)

Các chứng chỉ và chứng thực

Một phần của tài liệu NGHIÊN CỨU CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI (Trang 34 -34 )

3.1.1 Các chứng chỉ X.509

Ba phiên bản của chứng chỉ khoá công khai X.509 đã được định nghĩa. Chứng chỉ khoá công khai phiên bản 1 ban đầu được định nghĩa trong Khuyến cáo X.509 năm 1988, nó thiếu sót do tính không mềm dẻo cố hữu, bởi vì phiên bản này không thể được mở rộng để hỗ trợ thêm các đặc tính. Chứng chỉ khoá công khai phiên bản 2 đã sửa chữa nhỏ khuyết điểm này, nó đơn giản gia cố phiên bản 1 với việc thêm 2 trường lựa chọn. Bởi vì nhu cầu cho các trường này là không đáng kể và vẫn không có khả năng hỗ trợ các mở rộng khác, chứng chỉ khoá công khai phiên bản 2 đã không nhận được sự chấp nhận rộng rãi.

Các chứng chỉ khoá công khai phiên bản 3, như đã được chỉ ra trong Khuyến cáo X.509 năm 1997[9], đã được giới thiệu để điều chỉnh những thiếu sót tương ứng với các định nghĩa phiên bản 1 và phiên bản 2. Đặc biệt, phiên bản 3 đề nghị những cải tiến đáng kể đối với phiên bản 1 và phiên bản 2 thông qua việc thêm các lựa chọn mở rộng.

Gần đây nhất (trong tháng 6 năm 2000), bản Khuyến cáo X.509 năm 2000 đã được hoàn thành. Phiên bản năm 2000 bao gồm nhiều thay đổi so với phiên bản trước, bao gồm định nghĩa của hai mở rộng thêm so với chứng chỉ khoá công khai phiên bản 3[10].

Trong khu vực doanh nghiệp, có thể nói rằng các chứng chỉ số phiên bản 3 là lựa chọn được đánh giá cao vì chúng là mềm dẻo nhất và nhiều mở rộng đã được yêu cầu để hỗ trợ đầy đủ các yêu cầu của doanh nhiệp.

Hình 3.1 chỉ ra cấu trúc tổng quát của một chứng chỉ phiên bản 3. Danh sách sau định ra các trường được trình bày trong hình đó:

Version (phiên bản) chỉ ra phiên bản của chứng chỉ (hoặc là 1, 2 hoặc 3).

Serial Number (Số xeri) là định danh duy nhất cho chứng chỉ này đối với người phát hành chứng chỉ.

Signature (chữ ký) chỉ ra định danh thuật toán (tức là, định danh đối tượng (Object Identifier – OID), cộng với các tham số tương ứng bất kỳ) của thuật toán được sử dụng để tính chữ ký số trên chứng chỉ.

Issuer (người phát hành) là một tên phân biệt (Distinguised Name- DN) của CA và luôn phải được trình bày. DN là một quy ước tên có cấu trúc hình cây được định nghĩa trong Khuyến cáo X.509. Các DN được thiết kế để giúp đảm bảo các tên thực thể là duy nhất. Không quá đi sâu vào chi tiết đối với các thư mục (Directories) và các cây thông tin thư mục (Directory Information Trees), các DN được biểu diễn như là một kết nối của các tên phân biệt quan hệ (Relative Distinguished Names- RDNs) từ đỉnh mức gốc xuống tới đỉnh cuối cùng của DN. Ví dụ, “C = CA, O = ADGA, OU = AEPOS Technologies, CN = Steve Lloyd” là một ví dụ về DN. Chú ý rằng mỗi RDN ( C = CA là một RDN, O = ADGA là một RDN, và ...) cần là duy nhất tại mỗi mức, ngược lại thì tính duy nhất của DN về tổng thể không được bảo đảm.

Validity (Tính hợp lệ) chỉ ra cửa sổ của thời gian mà chứng chỉ này cần được xem là hợp lệ trừ khi nó được huỷ theo một cách khác. Trường này là tổ hợp của các thời gian/ngày tháng mà chứng chỉ là Không hợp lệ trước (Not Valid Before) và Không hợp lệ sau (Not Valid After), chúng có thể được biểu diễn theo thời gian UTC hoặc theo Generalized Time

Subject (chủ thể) chỉ ra DN của người chủ chứng chỉ và phải khác null trừ khi một dạng tên thay thế được sử dụng (xem các trường mở rộng sau này).

Subject Public Key Info (thông tin khoá công khai của chủ thể) là khoá công khai (và định danh thuật toán) tương ứng với chủ thể và luôn cần được biểu diễn.

Hình 3.1: Cấu trúc chứng chỉ phiên bản 3

Issuer Unique ID (Định danh duy nhất của người phát hành) là định danh duy nhất không bắt buộc của người phát hành chứng chỉ chỉ được biểu diễn trong phiên bản 2 và phiên bản 3; trường này ít được sử dụng trong cài đặt thực tế

Subject Unique ID (Định danh duy nhất của chủ thể) là định danh duy nhất không bắt buộc của người chủ chứng chỉ chỉ được biểu diễn trong phiên bản 2 và phiên bản 3; trường này ít được sử dụng trong cài đặt thực tế.

Được ký bởi CA có thẩm quyền (người phát hành)

Nhận dạng phiên bản của chứng chỉ (ví dụ, V3) Số nguyên duy nhất, nhận dạng của chứng chỉ ID của thuật toán được sử dụng để ký chứng chỉ Tên duy nhất của người phát hành chứng chỉ Thời gian hợp lệ: không trước, không sau Tên duy nhất của người chủ nhân Khoá công khai (và ID thuật toán) của người chủ nhân ID duy nhất tuỳ chọn của CA phát hành ID duy nhất tuỳ chọn của đối tượng Các mở rộng tuỳ chọn ID thuật toán và chữ ký số Version Serial Number

Signature Issuer Validity Subject

Subject Public Key Info Issuer Unique ID Subject Unique ID Extensions Digital Signature

Mỗi mở rộng của chứng chỉ được mô tả sau đây tương ứng với một cờ của tính thiết yếu. Nhìn chung, các mở rộng có thể được đánh dấu là thiết yếu hoặc không thiết yếu, mặc dù các chuẩn thường khuyến cáo hoặc thậm chí bắt buộc tính thiết yếu tương ứng với một số các mở rộng.

Một mở rộng mà đã được đánh dấu là thiết yếu thì cần phải được xử lý và hiểu, nếu không chứng chỉ sẽ không được sử dụng. Một mở rộng không thiết yếu có thể được xử lý nếu có thể, nhưng nó có thể được bỏ qua.Ở đây chúng ta không đi sâu giải thích ý nghĩa của các trường mở rộng, mà chỉ nêu ra tên của chúng:

Authority Key Identifier (định danh khoá của thẩm quyền): định danh duy nhất của khoá mà được sử dụng để kiểm tra chữ ký đã được tính trên chứng chỉ; nó phân biệt trong số nhiều khoá mà được áp dụng cho cùng một người phát hành chứng chỉ.

Subject Key Identifier (Định danh khoá của chủ thể): là định danh duy nhất của khoá công khai được chứa trong chứng chỉ này; nó phân biệt trong số nhiều khoá mà được áp dụng cho cùng một người chủ chứng chỉ.

Key Usage (việc sử dụng khoá): một chuỗi bit được sử dụng để chỉ ra (hoặc hạn chế) các chức năng hoặc dịch vụ mà có thể được hỗ trợ bởi việc dùng khoá công khai trong chứng chỉ này; nó có thể được sử dụng để chỉ ra khả năng hỗ trợ cho chữ ký số, chống chối bỏ, mã khoá, mã dữ liệu, thoả thuận khoá, chữ ký chứng chỉ, chữ ký cho CRL, chỉ dùng để mã, chỉ dùng để giải mã, ...

Extended Key Usage (cách sử dụng khoá mở rộng): là một dãy của một hay nhiều OID mà chỉ ra cách sử dụng cụ thể của khoá công khai trong chứng chỉ. Một số OID tương ứng với mở rộng này, bao gồm xác thực máy chủ TLS, xác thực máy trạm TLS, ký mã lệnh, bảo vệ thư tín, tem thời gian, ký OCSP (Online Certificate Status Protocol).

CRL Distribution Point (Điểm phân phối CRL): chỉ ra vị trí của CRL tức là nơi hiện có thông tin thu hồi chứng chỉ. Nó có thể là URL (Uniform Resource Indicator).

Private Key Usage Periods (Thời hạn sử dụng khoá bí mật): cửa sổ thời gian mà khoá bí mật tương ứng với khoá công khai trong chứng chỉ này có thể được sử dụng.

Certificate Policies (các chính sách chứng thực): đó là một dãy của một hay nhiều OID chính sách tương ứng với việc phát hành và sử dụng của chứng chỉ.

Policy Mappings (các ánh xạ chính sách): trường này chỉ ra chính sách xác thực tương đương giữa hai miền CA. Nó được sử dụng trong việc thiết lập xác thực chéo và kiểm tra đường dẫn chứng chỉ. Trường này chỉ có trong chứng chỉ CA.

Subject Alternative Name (tên khác của chủ thể): chỉ ra các khuôn dạng tên khác tương ứng với người chủ của chứng chỉ (ví dụ, địa chỉ e-mail, địa chỉ IP, URI,...) . Các khuôn dạng tên khác có thể được xem như một gắn kết giống như tên phân biệt chủ thể (subject Distinguised Name), nếu như được trình bày.

Issuer Alternative Name (tên khác của người phát hành) chỉ ra các dạng tên khác tương ứng với người phát hành của chứng chỉ (ví dụ, địa chỉ e- mail, địa chỉ IP, URI, ...).

Subject Directory Attributes (các thuộc tính thư mục của chủ thể): chỉ ra một dãy các thuộc tính tương ứng với người chủ của chứng chỉ. Mở rộng này không được sử dụng rộng rãi hiện nay. Nó được dùng để chứa những thông tin liên quan đến đặc quyền.

Basic Constraints (các ràng buộc cơ sở): chỉ ra xem có phải là chứng chỉ của CA hay không. Nếu nó được biểu thị trong một chứng chỉ thực thể đầu cuối, giá trị của thuộc tính CA trong trường Basic Constraints cần phải là false. Đối với các chứng chỉ CA, trường Basic Constraints

luôn được biểu diễn và thuộc tính CA trong trường Basic Constraints cần phải đặt một giá trị true.

Name Constraints (các ràng buộc tên): được dùng để bao gồm hoặc loại trừ các nhánh trong những miền khác nhau trong khi thiết lập môi trường tin tưởng giữa các miền PKI

Policy Constraints (các ràng buộc chính sách): mở rộng chỉ có mặt trong các chứng chỉ CA, được dùng để bao gồm hoặc loại trừ một số chính sách chứng chỉ trong khi thiết lập môi trường tin tưởng giữa các miền PKI

Inhibit Any Policy (cấm một chính sách bất kỳ): mở rộng chỉ có trong các chứng chỉ CA. Giá trị bằng 0 chỉ ra rằng hạn chế đó áp dụng từ điểm đó trở đi. Một giá trị khác 0 chỉ ra nơi hạn chế có thể áp dụng, tức là, giá trị là một offset trong đường dẫn chứng thực và chứng chỉ CA được chỉ định có thể có hoặc có thể không gặp phải.

Freshest CRL Pointer (con trỏ tới CLR mới nhất): mở rộng có trong chứng chỉ của CA và thực thể đầu cuối, cung cấp con trỏ tới thông tin CRL mới nhất. Trong thực tế, cái đó giống như là con trỏ tới Delta CRL. Cú pháp cũng giống như được sử dụng với CRL Distribution Points.

Các trường mở rộng riêng cũng có thể được định nghĩa cho chứng chỉ dạng X.509. Các mở rộng riêng thông thường được định nghĩa để sử dụng trong lĩnh vực cụ thể. Ví dụ, RFC3280 định nghĩa ra hai mở rộng riêng cho sử dụng Internet như sau:

Authority Information Access (truy cập thông tin thẩm quyền): một mở rộng riêng tư có trong các chứng chỉ CA và chứng chỉ thực thể đầu cuối, chỉ ra cách thông tin hoặc các dịch vụ được đề nghị bởi người phát hành chứng chỉ có thể nhận được. Kiểu của thông tin và các dịch vụ bao gồm các dịch vụ xác nhận hợp lệ trực tuyến và thông tin chính sách nhưng không bao gồm thông tin vị trí CRL (Điểm phân phối CRL đã

được bàn tới ở trên được sử dụng cho mục đích này). Cú pháp mở rộng được tạo nên từ một dãy của OID phương pháp truy cập mà mô tả kiểu và khuôn dạng của dịch vụ/thông tin và vị trí tương ứng của dịch vụ/thông tin ở dạng của tên tổng quát (General Name) (ví dụ, một URI, Directory Name, hoặc tên RFC822). Hai OID phương pháp truy cập đã được định nghĩa. Một phương pháp truy cập, được nói tới như là "những người phát hành CA", tải thông tin về các CA mà đứng trước so với người phát hành chứng chỉ. Thông tin này có thể được sử dụng để trợ giúp xây dựng các đường dẫn chứng thực. Phương pháp truy cập được định nghĩa khác là để cho các dịch vụ xác nhận hợp lệ trực tuyến dựa trên OCSP. Các phương pháp truy cập khác có thể được định nghĩa tiếp theo. RFC3280 khẳng định rằng mở rộng này cần được đánh dấu là quan trọng.

Subject Information Access (truy cập thông tin chủ thể): một mở rộng riêng tư có mặt trong các chứng chỉ CA và thực thể đầu cuối, chỉ ra cách thông tin và dịch vụ được đề nghị bởi chủ thể trong chứng chỉ có thể nhận được. Giống như mở rộng riêng tư Authority Information Access, cú pháp mở rộng được tạo nên từ một dãy của OID phương pháp truy cập và vị trí tương ứng của dịch vụ/thông tin ở dạng của tên tổng quát. Một OID phương pháp truy cập đã được định nghĩa cho các CA (CA Repository) và một OID phương pháp truy cập đã được định nghĩa cho các thực thể đầu cuối (tem thời gian). Phương pháp truy cập CA Repository chỉ ra vị trí của kho chứa nơi mà CA công bố chứng chỉ và thông tin CRL. Phương pháp truy cập Tem thời gian chỉ ra rằng chủ thể mà đã được định danh trong chứng chỉ cung cấp dịch vụ tem thời gian. Các phương pháp truy cập khác có thể được định nghĩa trong tương lai. RFC3280 khẳng định rằng mở rộng này cần phải được đánh dấu là quan trọng.

3.1.2 Một số khuôn dạng chứng chỉ khác SPKI SPKI

Ngược lại với IETF PKIX Working Group tập trung vào các vấn đề X.509 cho Internet, một nhóm công tác khác của IETF đã được lập ra để chú tâm vào một cấu trúc khoá công khai đơn giản hơn, được gọi là hạ tầng cơ sở khoá công khai đơn giản (Simple Public Key Infrastructure – SPKI) cho Internet. Đặc biệt, mục tiêu của IETF SPKI Working Group là phát triển các chuẩn Internet cho một khuôn dạng chứng chỉ khoá công khai được IETF bảo trợ, chữ ký tương ứng và các khuôn dạng khác, các giao thức nhận khoá. Khuôn dạng chứng chỉ khoá và các giao thức tương ứng là đơn giản để hiểu, cài đặt và sử dụng.

Nhóm làm việc IETF SPKI đã đưa ra một số các tài liệu thông tin và kỹ thuật, bao gồm:

 Khuôn dạng chứng chỉ SPKI

 Lý thuyết chứng chỉ SPKI

 Các yêu cầu của SPKI

 Các ví dụ SPKI

Bạn có thể tải về các tài liệu có liên quan đến SPKI tại

http://www.ietf.org/html_charters/spki-charter.html[22]. Bởi vì SPKI tập trung vào việc cấp phép chứ không vào thực thể, nên chứng chỉ SPKI được xem như là chứng chỉ cấp phép (authorization certificate). Mục đích chính của chứng chỉ cấp phép SPKI là vận chuyển các quyền. Nó cũng bao gồm khả năng uỷ quyền cho người khác.

PGP

Thực ra, Pretty Good Privacy (PGP) là một phương pháp để mã và ký số các thông điệp thư tín điện tử và các files. Phil Zimmerman đã đưa ra phiên bản đầu tiên của PGP vào đầu những năm 1990. Phiên bản 2.x của PGP đã được công bố một số năm sau đó như là một đặc tả chuẩn IETF có tên gọi PGP Message Exchange Formats. Phiên bản cuối cùng của PGP được gọi là Open PGP, đã được công bố như một đặc tả chuẩn IETF có tên gọi OpenPGP Message Format.

PGP định ra các khuôn dạng gói vận chuyển các thông điệp và các file từ một thực thể này tới một thực thể khác. PGP cũng bao gồm các khuôn dạng gói vận chuyển các khoá PGP (đôi khi được xem như là các chứng chỉ PGP) từ một thực thể này tới một thực thể khác.

Có các khác biệt đáng kể giữa các chứng chỉ PGP và các chứng chỉ khoá công khai X.509 phiên bản 3, các mô hình tin cậy mà chúng thể hiện cũng hoàn toàn khác nhau. Việc tương tác giữa 2 loại chứng chỉ này là rất khó đạt được.

SET

Các đặc tả SET (Secure Electronic Transaction) (bao gồm SET1, SET2, SET3) định ra một chuẩn để hỗ trợ các giao dịch thanh toán thẻ tín dụng trên các mạng truyền thông phân tán chẳng hạn như Internet. Thực chất, SET định ra một giao thức thanh toán chuẩn và chỉ ra các yêu cầu mà việc hỗ trợ PKI được trông đợi là thoả mãn.

SET chấp nhận khuôn dạng chứng chỉ khoá công khai X.509 phiên bản 3 và nó định nghĩa một số mở rộng riêng biệt cụ thể mà chỉ có ý nghĩa trong ngữ cảnh của SET. Version Serial Number Extensions Subject Unique ID Issuer Unique ID Subject Public Key Info Subject Validity Issuer Signature Authority Key Identifier Merchant Data (M) Certificate Type ... Key Usage Tunneling (G) SET Qualifier Card Certificate Required (G

Các mở rộng chuẩn Các mở rộng đặc thù của SET Được ký bởi CA được cấp phép

Hình 3.2: Cấu trúc chứng chỉ SET

(G)- Payment Gateway Only (chỉ có ở cổng thanh toán) (M)- Merchant Only (chỉ có ở người bán)

Các chứng chỉ đặc tính (attribute certificate)

Các loại chứng chỉ mà chúng ta đề cập tới trước đây đều là chứng chỉ khoá công khai. Việc đề cập tới chứng chỉ thuộc tính chỉ nhằm mục đích giới thiệu một loại chứng chỉ mà không phải là chứng chỉ khoá công khai. Nó có thể được sử dụng như một nền tảng để xây dựng các hạ tầng quản lý đặc quyền (Privilege Management Infrastructures).

3.1.3 Các chính sách chứng thực (Certificate Policies)

Như đã được chỉ ra ở trên đây, một số các mở rộng có liên quan tới chính sách có thể được trình bày trong một chứng chỉ đã cho. Các mở rộng có liên quan tới chính sách là cực kỳ quan trọng, chúng giúp khống chế việc sử dụng chứng chỉ tuân theo chính sách.

Một phần của tài liệu NGHIÊN CỨU CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI (Trang 34 -34 )

×