Tải bản đầy đủ (.doc) (15 trang)

TIểu luận môn CHỨNG THỰC SỐ ExtendedCertificate Syntax Standard

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (830.14 KB, 15 trang )

Extended-Certificate Syntax Standard
Mục Lục
1. Scope - Phạm vi………………………………………………………… .2
2. References…………………………………………………………… … 2
3. Definitions………………………………………………………… …… 2
4. Symbols and abbreviations……………………………………………….3
5. General overview……………………………………………………… .3
6. Extended-certificate syntax……………………………………………….3
6.1 ExtendedCertificateInfo………………………………………….4
6.2 ExtendedCertificate…………………………………………… 4
7. Appendix A. X.509 public-key certificates……………………………….5
7.1 CertificateInfo…………………………………………………….6
7.2 Certificate…………………………………………………………7
1
1. Scope - Phạm vi
Tiêu chuẩn này mô tả một cú pháp cấp Giấy chứng nhận mở rộng. Giấy chứng
nhận mở rộng bao gồm một giấy X.509 chứng nhận khoá công khai và thiết lập
các thuộc tính, chung chữ ký của người phát hành certificate X.509 khoá công
khai. Do đó các thuộc tính và các X.509 kèm theo giấy chứng nhận khoá công
khai có thể được kiểm chứng với một hoạt động chính duy nhất, và một giấy
chứng nhận X.509 bình thường có thể được trích xuất, nếu cần thiết, ví dụ, cho
Privacy-Enhanced Mail (PEM).
Bao gồm một tập hợp các thuộc tính mở rộng quá trình chứng nhận vượt quá khóa
công khai để xác nhận các thông tin khác về một chủ thể nhất định, chẳng hạn như
địa chỉ thư điện tử. Một danh sách không đầy đủ các thuộc tính được đưa ra trong
PKCS # 9.
Các ứng dụng dự kiến sơ bộ của tiêu chuẩn này là trong PKCS # 7 mã hóa tin
nhắn, nhưng người ta cho rằng các ứng dụng khác sẽ được phát triển.
2. References -Tài liệu tham khảo
PKCS #1, PKCS #7, PKCS #9, X.208, X.208, X.209, X.500, X.501, X.509
3. Definitions- Định nghĩa


Với mục đích của tiêu chuẩn này, các định nghĩa sau đây áp dụng.
AlgorithmIdentifier: Một loại xác định một thuật toán (do đối tượng nhận dạng)
và bất kỳ thông số liên quan. Loại này được định nghĩa trong X.509.
Attribute: Một loại có chứa một loại thuộc tính (theo quy định của đối tượng nhận
dạng) và một hoặc giá trị thuộc tính nhiều hơn. Loại này được định nghĩa trong
X.501.
ASN.1: Tóm tắt Một Ký hiệu cú pháp, theo quy định tại X.208.
BER: Basic Encoding Rules, theo quy định tại X.209.
Certificate: Một loại có gắn tên phân biệt của một thực thể cho một khóa công
khai với một chữ ký số. Loại này được định nghĩa trong X.509. Loại này cũng có
tên phân biệt của người phát hành giấy chứng nhận (những người ký tên), một tổ
chức phát hành, thuật toán nhận dạng chữ ký của người phát hành, và một thời hạn
hiệu lực.
DER: Phân biệt mã hóa các quy tắc cho ASN.1, theo quy định tại X.509, mục
8.7.
Name: Một loại xác định duy nhất hay "phân biệt" đối tượng trong một thư mục
X.500. Loại này được định nghĩa trong X.501. Trong một X.509 certificate, loại
certificate xác định các công ty và tổ chức phát hành mà public key được chứng
nhận.
PEM:-Tăng cường bảo mật Internet Privacy-Enhanced Mail, như được định nghĩa
trong RFC 1422 và các văn bản liên quan.
2
4. Symbols and abbreviations- Biểu tượng và chữ viết tắt
Không có biểu tượng hoặc chữ viết tắt được quy định trong tiêu chuẩn này.
5. General overview -Tổng tổng quan
Phần tiếp theo quy định cú pháp mở rộng certificate. Một đánh giá về ý nghĩa của
giấy chứng nhận X.509.
Tiêu chuẩn này xuất ra một loại, ExtendedCertificate.
6.Extended-certificate syntax - Cú pháp mở rộng giấy chứng nhận
Phần này cung cấp cho các cú pháp cấp Giấy chứng nhận mở rộng.

Giấy chứng nhận mở rộng bao gồm ba phần: "extended-certificate information",
một thuật toán chữ ký định danh, và chữ ký số trên các extended-certificate
information. Các extended-certificate information bao gồm một giấy chứng nhận
X.509(đã được ký kết của nhà phát hành) và một bộ các thuộc tính cung cấp các
thông tin khác về các thực thể mà chúng xác nhận trong Giấy chứng nhận X.509.
Quá trình mà một extended certificate được xây dựng bao gồm các bước sau:
1. Một giá trị ExtendedCertificateInfo có chứa một X.509 certificate và một bộ các
thuộc tính được xây dựng bằng certificate tổ chức phát hành.
2. Giá trị ExtendedCertificateInfo được ký kết với Giấy chứng nhận của tổ chức
phát hành private key.
3. Giá trị ExtendedCertificateInfo, một thuật toán chữ ký nhận dạng, và chữ ký của
người phát hành certificate được thu thập với nhau thành một giá trị
ExtendedCertificate, được xác định dưới đây:
+Phần này được chia thành hai phần. Phần đầu tiên mô tả các giấy chứng
nhận mở rộng-thông tin loại ExtendedCertificateInfo
+Phần thứ hai mô tả các ExtendedCertificate loại cấp cao nhất.
Ghi chú.
1. Trong các ứng dụng mà một giấy chứng nhận mở rộng hoặc Giấy chứng nhận
X.509 có thể được xử lý, các cú pháp sau đây được khuyến khích (nhưng không
bắt buộc):
ExtendedCertificateOrCertificate ::= CHOICE {
certificate Certificate, X.509
extendedCertificate [0] IMPLICIT ExtendedCertificate
}
Việc thay thế certificate có mã hóa BER như một X.509 certificate, và các giá trị
thu được từ hai lựa chọn thay thế có thể phân biệt vì những tag ngữ cảnh cụ thể 0
trên các extendedCertificate thay thế.
3
2. Có ít nhất bốn lý do các extended certificates được xây dựng trên X.509
certificates, thay vì ở vị trí của chúng:

• Thay đổi X.509 certificate với cú pháp có thể dễ dàng
• X.509 certificate có thể được trích xuất để tương thích với các tiêu chuẩn khác
(ví dụ, Bảo mật-Enhanced Mail, hoặc X.509 với chính nó)
• Cả hai X.509 certificate và extended certificate có thể được kiểm chứng với một
public-key duy nhất, kể từ khi ký kết với nhau bởi cùng một certificate do một tổ
chức phát hành
• Có rất ít khả năng dự phòng, có một extended certificate thay cho X.509
certificate sẽ yêu cầu extended certificate có nhiều các thông tin đã có trong các
X.509 certificates, như là tổ chức phát hành và tên đối tượng
6.1 ExtendedCertificateInfo
-Thông tin Extended-certificate có ASN.1 loại ExtendedCertificateInfo:
ExtendedCertificateInfo ::= SEQUENCE {
version Version,
certificate Certificate,
attributes Attributes }
Version ::= INTEGER
Attributes ::= SET OF Attribute
Các lĩnh vực loại ExtendedCertificateInfo có ý nghĩa sau đây:
• Version là số phiên bản, để tương thích với tương lai sửa đổi tiêu chuẩn này. Nó
sẽ là 0 cho phiên bản của tiêu chuẩn.
• Certificate là X.509 certificate.
• Attributes là một tập hợp các thuộc tính. Những thuộc tính này được bổ sung
thông tin về các chủ đề của certificate. Một số loại thuộc tính có thể có ích ở đây
được xác định trong PKCS # 9.
6.2 ExtendedCertificate
Một extended certificate có ASN.1loại ExtendedCertificate:
ExtendedCertificate ::= SEQUENCE {
extendedCertificateInfo ExtendedCertificateInfo,
signatureAlgorithm SignatureAlgorithmIdentifier,
signature Signature }

SignatureAlgorithmIdentifier ::= AlgorithmIdentifier
Signature ::= BIT STRING
Các lĩnh vực loại ExtendedCertificate có ý nghĩa sau đây:
• ExtendedCertificateInfo là " "extended-certificate information.". là giá trị được
ký kết.
• SignatureAlgorithm xác định các thuật toán chữ ký (và bất kỳ liên kết các thông
số), theo đó, giấy chứng nhận extended-certificate information được ký kết. Ví dụ
như PKCS # 1 của md2WithRSAEncryption và md5WithRSAEncryption.
4
• Signature là kết quả của việc ký kết extended-certificate information với khóa
riêng của người phát hành giấy chứng nhận.
Quá trình chữ ký bao gồm hai bước sau:
1. Giá trị của trường extendedCertificateInfo là DER mã hóa, năng suất một chuỗi
octet.
2. Kết quả của bước 1 được ký kết với khóa riêng của người phát hành giấy chứng
nhận theo các thuật toán chữ ký quy định, năng suất một chuỗi bit, chữ ký.
Lưu ý.
Cú pháp ExtendedCertificate tương đương có thể được viết với X.509 SIGNED vĩ
mô:
ExtendedCertificate ::= SIGNED ExtendedCertificateInfo
7. Appendix A. X.509 public-key certificates
Public-key certificates như X.509 certificates xác định cấu trúc trong một hệ mật
mã khoá công khai phân phối. Bằng cách ký một certificate, một công ty phát
hành certificate liên kết với nhau public key của một thực thể có tên của tổ chức
và các thông tin khác. Bằng cách xác minh chữ ký trên certificate, những người tin
tưởng các công ty phát hành certificate có thể phát triển tin tưởng vào public key.
Bởi vì certificates là phần quan trọng nhất của một tiêu chuẩn public-key tương
thích, PKCS đã thông qua việc sử dụng giấy chứng nhận X.509. Cách tiếp cận này
duy trì khả năng tương thích với những người dùng khác của chuẩn X.509 đặc
biệt, với Internet Bảo mật-Enhanced Mail.

Phụ lục này mô tả cú pháp của X.509 certificate, cho mục đích tham khảo.
Để được chính xác, nó mô tả cú pháp sửa đổi được đưa ra trong RFC 1422, mà đã
làm việc theo cách của nó trở lại với tiêu chuẩn X.509 năm 1988.
Một Giấy chứng nhận X.509 bao gồm ba phần: "Giấy chứng nhận thông tin", một
thuật toán chữ ký định danh, và chữ ký số trên các thông tin certificate. Các thông
tin giấy chứng nhận bao gồm tên phân biệt của một thực thể, các thực thể của
khóa công khai, tên phân biệt của người phát hành giấy chứng nhận, một công ty
phát hành cụ thể số, một thuật toán chữ ký định danh, và thời gian hiệu lực.
Quá trình mà certificate được xây dựng bao gồm các bước sau:
1. Một giá trị CertificateInfo có chứa thông tin certificate xây dựng bởi các công ty
phát hành certificate.
2. Giá trị CertificateInfo được ký kết với các công ty phát hành certificate của
private key.
3. Giá trị CertificateInfo, một thuật toán chữ ký định danh, và chữ ký của người
phát hành giấy chứng nhận tập hợp thành một giá trị Giấy chứng nhận, quy định
5
dưới đây.
Các cuộc thảo luận sau đây được chia thành hai phần. Phần đầu tiên mô tả các
CertificateInfo loại giấy chứng nhận-thông tin, và phần thứ hai mô tả các loại Giấy
chứng nhận cấp cao nhất.
7.1 CertificateInfo
Giấy chứng nhận thông tin đã ASN.1 loại CertificateInfo:
CertificateInfo ::= SEQUENCE {
version [0] Version DEFAULT v1988,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo }

Version ::= INTEGER { v1988(0) }
CertificateSerialNumber ::= INTEGER
Validity ::= SEQUENCE {
notBefore UTCTime,
notAfter UTCTime }
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY ALGORITHM OPTIONAL }
Các lĩnh vực loại CertificateInfo có ý nghĩa sau đây:
• Version là số phiên bản, để tương thích với tương lai bản sửa đổi của X.509. Giá
trị mặc định của nó là v1988, mà Version kiểu giao cho số 0. Các tag [0] trên
version là một thẻ rõ ràng. Đây là mặc định cho các thẻ không được đánh dấu rõ
ràng hoặc ngầm định trong module ASN.1 xác định các loại Certificate.
• SerialNumber là số nối tiếp tổ chức phát hành cụ thể của certificate. Mỗi giấy
chứng nhận cho một công ty phát hành đặc biệt phải có một số serial khác nhau.
• Signature xác định các thuật toán chữ ký chữ ký của người phát hành (và bất kỳ
liên quan đến các thông số).
• Issuer là tên phân biệt của người phát hành certificate.
• Validity là thời hạn hiệu lực của giấy chứng nhận. Thời hạn hiệu lực thời gian
quy định các điểm trong thời gian giữa certificate được coi là hợp lệ.
• Subject là tên phân biệt của đối tượng chứng nhận (các thực thể chính là người
có công chứng).
• SubjectPublicKeyInfo chứa thông tin về public key được chứng nhận. Thông tin
xác định các thực thể của thuật toán public key (và bất kỳ các liên kết thông số);
ví dụ về các thuật toán khoá công khai bao gồm RSA của X.509 và PKCS # 1 của
6
rsaEncryption. Thông tin này cũng bao gồm một chuỗi bit đại diện của khóa công

khai. Đối với cả hai public-key các thuật toán đề cập đến, các chuỗi bit chứa mã
hóa BER của một giá trị X.509/PKCS # 1 loại RSAPublicKey.
7.2 Certificate
Một chứng nhận X.509 có Giấy chứng nhận kiểu ASN.1:
Certificate ::= SEQUENCE {
certificateInfo CertificateInfo,
signatureAlgorithm AlgorithmIdentifier,
signature BIT STRING }
Các lĩnh vực loại Certificate có ý nghĩa sau đây:
• CertificateInfo là "Giấy chứng nhận thông tin." Đó là giá trị được ký kết.
• SignatureAlgorithm xác định các thuật toán chữ ký (và bất kỳ các liên kết thông
số), theo đó các thông tin certificate đã ký kết. Ví dụ như md2WithRSAEncryption
của PKCS # 1 và md5ithRSAEncryption. Giá trị của cái này nên giống như giá trị
của signature của giấy chứng nhận thông tin.
• Signature là kết quả của việc ký kết các thông tin certificate với tổ chức phát
hành certificate của khóa riêng.
Quá trình chữ ký bao gồm hai bước, như trong mục 6.2:
1. Giá trị của trường certificateInfo là mã hóa DER, năng suất một chuỗi octet.
2. Kết quả của bước 1 được ký kết với khóa riêng của người phát hành giấy chứng
nhận theo các thuật toán chữ ký quy định, năng suất một chuỗi bit, chữ ký.
Lưu ý. Cú pháp Certificate thường là bằng văn bản với X.509 SIGNED vĩ mô.
Certificate ::= SIGNED SEQUENCE {
version [0] Version DEFAULT v1988,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo }
Các vĩ mô SIGNED đã được mở rộng trong thảo luận này cho đơn giản.

VeriSign® là thương hiệu uy tín nhất trên toàn thế giới hiện nay trong lĩnh
vực cung cấp chứng chỉ số. Một website có gắn biểu tượng "VeriSign
Secured Seal" sẽ gia tăng mức độ tin cậy từ phía khách hàng lên rất nhiều
lần. Secure Site Pro EV từ GOLD Partner cua VN
Thông thường, khi truy cập web, với địa chỉ http://vnexperts…., nghĩa là ta
đang truy cập một trang web không có cơ chế mã hóa dữ liệu truyền đi giữa
7
người dùng và trang web đó (web server). Điều đó có nghĩa là mọi dữ liệu
truyền đi giữa người sử dụng đến trang web đó, có thể bị nghe lén giữa
đường đi. Đây là điểm không an toàn.
Vậy một trang web bảo mật có gì khác? Điểm khác ở đây chính là trang web
đó sử dụng chứng chỉ số, khi truy cập vào trang web đó, ta không dùng địa
chỉ thông thường http://vnexperts… mà sử dụng https://vnexperts… Có
nghĩa ta sử dụng qua HTTPS
Một trong vô số các trang web sử dụng chứng chỉ số để bảo mật, đó là
. Khi truy cập vào đây, ta có thể yên tâm là dữ liệu truyền
đi giữa người dùng và trang web đó được bảo mật cao, nghĩa là khó có thể lộ
thông tin giao dịch. Sử dụng Internet Explorer để truy cập vào trang web, ta
có thể thấy các thông tin về bảo mật, chứng chỉ số được chỉ ra cụ thể:
Như hình trên, sử dụng Internet Explore (IE) để truy cập vào một trang web
sử dụng chứng chỉ số để bảo mật, ta thấy dấu hiệu bảo mật ở Khóa vàng góc
dưới. Nếu kích chuột vào đây, IE sẽ hiển thị chứng chỉ số của trang web này.
Vậy các thông tin này có nghĩa là gì? Hình trên hiển thị ra một chứng chỉ số
(Certificate), trong đó có các thông tin có ý nghĩa như sau: chứng chỉ số này
được cấp cho www.google.com, đơn vị cung cấp chứng chỉ là ‘Thawte SGC
CA’, đơn vị cung cấp chứng chỉ cấp cao hơn cho ‘Thawte SGC CA’ là
‘VeriSign Class 3 Public Primary CA’.
Như vậy, với ý nghĩa của chứng chỉ số, ta có thể nói rằng: trang web đang
được truy cập là , có chủ sở hữu với tên ký hiệu là
www.google.com, chủ sở hữu này đã sử dụng chứng chỉ số được cung cấp

bởi CA: ‘Thawte SGC CA’ ( thuộc ‘VeriSign Class 3 Public Primary CA’).
Mọi thông tin truyền đi giữa người dùng và trang web (web server) là hoàn
toàn được bảo mật.
Trên đây là cách thức sử dụng chứng chỉ số ở mức đơn giản. Cách thức sử
dụng này mới chỉ là bảo mật một phía, người dùng tin cậy chứng chỉ của
trang web (web server) mà họ truy cập, trong khi đó.
Cách thức bảo mật cao hơn là trường hợp người dùng phải có chứng chỉ để
truy cập trang web. Khi đó, để người dùng và web (web server) có thể xác
thực được nhau, chứng chỉ của người dùng và của web (web server) phải
được cung cấp từ một CA. Trong ví dụ trên, chứng chỉ của người dùng cũng
phải được cung cấp bởi ‘Thawte SGC CA’ ( thuộc ‘VeriSign Class 3 Public
Primary CA’).
Việc sử dụng chứng chỉ số không chỉ áp dụng cho trường hợp giao dịch web
như trên, ngoài ra còn có nhiều hình thức sử dụng khác, ví dụ, sử dụng
chứng chỉ số cho email, cho các thiết bị di động…
8
Xem chứng thư từ một trang https
Lưu chứng thư trên máy tính với đuôi mở rộng là *.cer
9
So sánh 2 chứng thư( xem trên file *.cer và xem trực tiếp trên firefox)
10
Version: là số phiên bản
SerialNumber là số nối tiếp tổ chức phát hành cụ thể của certificate. Mỗi giấy
chứng nhận cho một công ty phát hành đặc biệt phải có một số serial khác nhau
11
Signature xác định các thuật toán chữ ký chữ ký của người phát hành.
Issuer là tên phân biệt của người phát hành certificate
12
Validity là thời hạn hiệu lực của giấy chứng nhận. Thời hạn hiệu lực thời gian quy
định các điểm trong thời gian giữa certificate được coi là hợp lệ.

Validity from thời gian bắt đầu có hiệu lực
Validity to thời gian kết thúc hiệu lực
13
Subject là tên phân biệt của đối tượng chứng nhận
SubjectPublicKeyInfo chứa thông tin về public key được chứng nhận
14
15

×