Định dạng X.509 của chứng chỉ số.

Một phần của tài liệu Nghiên cứu một số công nghệ xác thực (Trang 39)

c. Phương pháp thứ ba: Xác thực những gì mà ta “đại diện”.

1.4.3.2. Định dạng X.509 của chứng chỉ số.

Cơ sở hạ tầng của mật mã khoá công khai (Public-Key Infrastructure) được xây dựng để bảo đảm an toàn bảo mật thông tin. Trong hệ thống này người ta sử dụng một thành phần dữ liệu được gọi là chứng chỉ số, nó gắn thông tin về người sở hữu khoá riêng với khoá công khai tương ứng.

Hình 1.9 mô tả chứng chỉ số theo phiên bản 3, được định nghĩa theo chuẩn X.509, chuẩn được sử dụng phổ biến trên thế giới hiện nay.

Các thành viên tham gia hệ thống, sử dụng hệ mật mã khoá công khai hoàn toàn có thể tin rằng: Khoá công khai chứa trong chứng chỉ số là thuộc về đối tượng có thông tin trong trường đối tượng được cấp. CA sử dụng chữ ký điện tử để đảm bảo tính toàn vẹn và xác thực các thông tin có trong chứng chỉ số.

Chữ ký được tạo ra như sau:

 Thiết lập đại diện của toàn bộ thông tin trong chứng chỉ số (gồm các thông tin cơ bản và phần mở rộng).

 CA sử dụng khoá riêng (private key) của mình ký trên đại diện vừa có được, để tạo ra chữ ký số.

 Đóng gói các thông tin cùng với chữ ký trên, đó là chứng chỉ.

Sự tin tưởng của các thành viên chỉ có thể được đảm bảo khi họ tin tưởng vào CA đã tạo ra chứng chỉ số đó. Mỗi chứng chỉ số đều có hạn sử dụng. Việc kiểm tra chứng chỉ số được thực hiện độc lập với hệ thống cấp chứng chỉ, nó được thực hiện tại đầu cuối, hoặc thông qua các dịch vụ kiểm tra trạng thái của chứng chỉ số. Chứng chỉ số có thể công khai.

Các trƣờng cơ bản của một chứng chỉ số:

Phiên bản (Version) Mã số (Serial Number) Thông tin của chữ ký điện tử

Người cấp (Issuer) Hạn sử dụng (Validity) Người sở hữu (Subject) Thông tin về khoá công khai Chỉ danh người cấp (Issuer Unique ID) Chỉ danh người sở hữu (Subject Unique ID) Các thành phần mở rộng, tuỳ chọn (Extensions) Chữ ký số (Digital Signature) Private key của CA HASH Tạo chữ ký số Hình 1.9

Cấu trúc định dạng của chứng chỉ số theo DER ASN.1.

Certificate::=SEQUENCE { tbsCertificate TBSCertificate,

signatureAlgorithm AlgorithmIdentifier, signatureValue BIT STRING }

tbsCertificate::=SEQUENCE {

version [0] EXPLICIT Version DEFAULT v1, serialNumber CertificateSerialNumber, signature AlgorithmIdentifier, issuer Name, validity Validity, subject Name, subjectPublicKeyInfo SubjectPublicKeyInfo,

issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL, extensions [3] EXPLICIT extensions OPTIONAL }

version::=INTEGER { v1(0), v2(1), v3(2) } certificateSerialNumber::=INTEGER validity::=SEQUENCE { notBefore Time, notAfter Time } Time::=CHOICE { utcTime UTCTime, generalTime GeneralizedTime } UniqueIdentifier::=BIT STRING SubjectPublicKeyInfo::=SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING }

Extensions::=SEQUENCE SIZE (1..MAX) OF Extension Extension::=SEQUENCE {

extnID OBJJECT IDENTIFIER, critical BOOLEAN DEFAULT FALSE, extnValue OCTET STRING }

tbsCertificate.

Chứa tên của đối tượng được cấp, khoá công khai, thời hạn sử dụng và các thông tin liên quan khác. Nó có thể chứa các trường mở rộng.

SignatureAlgorithm.

Chứa thông tin về thuật toán mà CA dùng để ký. Cấu trúc ASN.1 của trường này có dạng như sau:

AlgorithmIdentifier::=SEQUENCE { Algorithm OBJECT IDENTIFIER,

Parameters ANY DEFINED BY algorithm OPTIONAL }

Algorithm là định danh thuật toán (ví dụ RSAwithSHA-1). Parameters là thành phần tuỳ chọn, nó biến đổi tuỳ theo thuật toán.

Thông tin về thuật toán của trường này phải trùng với thông tin về thuật toán trong trường chữ ký số (có trong chứng chỉ số, signatureValue).

SignatureValue.

Chứa giá trị của chữ ký số được tính từ trường tbsCertificate. Ở đây không đề cập chi tiết đến các bước tạo ra chữ ký số, mà chỉ cần hiểu phần tbsCertificate sẽ là dữ liệu đưa vào hàm ký. Dựa vào trường này, CA có thể kiểm tra thông tin trong trường tbsCertificate và mối quan hệ giữa khoá công khai và đối tượng sở hữu chứng chỉ số.

Version.

Mô tả phiên bản định dạng của chứng chỉ số. Khi sử dụng các trường mở rộng, phiên bản sẽ là 3 (giá trị là 2). Khi không có trường mở rộng, nhưng có thông tin về UniqueIdentifier thì phiên bản sẽ là 2 (giá trị là 1). Nếu chỉ có các trường cơ bản, phiên bản sẽ là 1 (giá trị mặc định là 0).

SerialNumber.

Là một số nguyên không âm, được CA gắn cho mỗi chứng chỉ số, nó là duy nhất đối với mỗi chứng chỉ số mà được cấp bởi CA.

Signature.

Chứa định danh thuật toán được CA sử dụng để ký cho chứng chỉ số. Trường này phải chứa định danh thuật toán trùng với trường signatureAlgorithm trong chuỗi Certificate. Nội dung phần tuỳ chọn này sẽ biến đổi theo thuật toán.

Issuer.

Định danh của đối tượng được ký và được cấp bởi CA. Giá trị của trường này khác rỗng.

Validity.

Thời hạn sử dụng của chứng chỉ số. Trường này biểu diễn dưới dạng SEQUENCE, gồm hai thành phần thời gian: Thời gian bắt đầu (notBefore) và thời gian kết thúc (notAfter).

Subject.

Định danh đối tượng sở hữu khoá công khai. Tên của đối tượng này có thể có ở trong trường Subject, hoặc trong trường mở rộng subjectAltName. Nếu tên của đối tượng nằm trong trường subjectAltName thì trường Subject phải là một chuỗi rỗng và subjectAltName phải bị ràng buộc.

Thông tin trong trường Subject ký hiệu là DN (Distinguished Name), phải là duy nhất đối với các đối tượng khác nhau được chứng thực bởi CA.

SubjectPublicKeyInfo.

Chứa thông tin về khoá công khai, thuật toán và cách thức định dạng dữ liệu (các tham số của khoá công khai).

Với những lợi ích về bảo mật và xác thực, chứng chỉ số hiện đã được sử dụng rộng rãi trên thế giới như một công cụ xác minh danh tính. Đây là một nền tảng công nghệ mang tính tiêu chuẩn toàn cầu, mặc dù mỗi nước có một số chính sách quản lý chứng thực số khác nhau.

Tuy nhiên để tham gia các hoạt động giao dịch điện tử vượt biên giới, các quốc gia cũng phải tuân theo các hoạt động giao dịch điện tử vượt biên giới, tuân theo các chuẩn công nghệ chung, thực hiện chứng thực chéo, trao đổi và công nhận các CA của nhau.

Khi một thực thể gửi một thông tin kèm chứng chỉ số, người nhận sẽ phải xác định rõ danh tính của người gửi, dù không trực tiếp nhìn thấy. Qua hệ thống chứng chỉ số, các đối tác tham gia giao tiếp dù không tiếp xúc trực tiếp với nhau vẫn có thể nhận biết nhau.

Khi sử dụng chứng chỉ số, các bên phải chịu trách nhiệm hoàn toàn về những thông tin mà chứng chỉ số đi kèm. Trong trường hợp người gửi chối cãi, phủ nhận một thông tin nào đó không phải do mình gửi, chứng chỉ số mà người nhận có được sẽ làm bằng chứng khẳng định người gửi là tác giả của thông tin đó.

Một phần của tài liệu Nghiên cứu một số công nghệ xác thực (Trang 39)

Tải bản đầy đủ (PDF)

(124 trang)