Jan 20, 2013

Chương 2. Hệ thống PKI Chuẩn X.509

PKI X.509 được sử dụng rộng rãi trên toàn thế giới.Cho một cái nhìn chi tiết hơn về chuẩn X.509

1.Khả năng hợp tác

1.1. Các định dạng file

 PKI sử dụng các loại định dạng file khác nhau để trao đổi thông tin. Các định dạng phổ biến nhất là: DER, PEM PKCS # 12.

1.1.1. ASN.1

ASN.1 viết tắt của "Abstract Systax Notation One" là một ký hiện để miêu tả các type và value trừu tượng. Ký hiệu này được sủ dụng để lưu trữ private key, public key, certificate. Như tên của nó, ASN.1 là các ký hiệu trừu tượng nên không thể sử dụng nó một cách đúng nghĩa. Để truyền tải một phần tử ASN.1 bạn phải mã hóa nó thành nhị phân.. Điều này được thực hiện bằng BER các định dạng DER.

1.1.2. BER

BER viết tắt của "Basic Encoding Rules" có thể dịch là "Các quy tắc mã hóa cơ bản". Định dạng này xác định ba cách để định nghĩa một giá trị ASN.1. Nó không được sử dụng rộng rãi với X.509 PKI.

1.1.3. DER

DER viết tắt của "Distinguished Encoding Rules" một tập hợp con của định dạng BER. Nó cho phép chỉ có một cách để đại diện cho một giá trị ASN.1 đó là do tại sao một file DER là một tập tin BER

 1.1.4. PEM

Kể từ khi các tập tin DER là nhị phân, chúng được mã hóa thành base64 và được bao bọc bởi một header và footer để tạo ra tập tin PEM. PEM là viết tắt của Privacy Enhanced Mail và được sử dụng rộng rãi với các X.509 PKI.  
Ví dụ 2.1 cho thấy một tập tin PEM chứa một RSA private key. 

-----BEGIN RSA PRIVATE KEY-----
MIHyAgEAAjEAvxKz1n+I3yGfU9fMgVAul8roOBhYo2P8QVKBXjqM5embKBP3bANL

QXcOIKIaaetAgMBAAECMG7SLyI6qC0aitDoR0NgzpEj4GyOpDJGDDjArYWGJPiYS
inJl14rsTOrIU974gQIZAOmbd36fF9UESCvO2RtCG+v3yrr6X8umDQIZANFjeuk5PqdS
XzGnQLnSAMsIpB16KL5AIQIYZwzLw7GOo8tFwv12TE33Xzpp1d2I0J8pAhhErdSK2vP
p/eKrbqiUSoVoExWBdagXfwECGQCZuJ2dQXixoHTL0lEnfcFE7CKncvGtfS8=
-----END RSA PRIVATE KEY-----

Ưu điểm chính của định dạng PEM tuân thủ ASCII do đó thích hợp cho việc sao chép / dán hoặc gửi mail. Khi có thể, bạn nên luôn luôn sử dụng các định dạng PEM

1.1.5. PKCS#12

PKCS # 12 là chuẩn cho lưu trữ key(private và public) chứng nhận trong một tập tin. Định dạng này được sử dụng bởi Internet Explorer và Netscape. 

1.1.6. Usage

Để kết luận, các tập tin PEM chủ yếu được sử dụng trên các hệ thống Unix bởi vì họ có thể được đọc với một trình soạn thảo văn bản. Các tập tin DER chủ yếu được sử dụng bởi các ứng dụng Java PKCS # 12 được sử dụng trên các hệ thống của Microsoft.

2. Những lưu ý quan trọng

2.1 CP & CPS 

Khi xây dựng một PKI, bạn thường phải viết 2 tài liệu: CP (Certificate Policy) - Chính sách chứng thực và CPS (Certificate Practice Statement) có thể hiểu như là tài liệu hướng dẫn sử dụng. Chúng phải được công bố dạng public. Có 2 file CPCPS mẫu của VeriSign các bạn có thể tham khảo.

2.2 Chiều dài khóa (Key length)

Khi bạn sinh một cặp khóa, bạn sẽ phải chọn chiều dài. Cần phải cẩn thận khi chọn. 
  • 512 bits cho khóa sử dụng ngắn (1 tuần và có giá trị giao dịch thấp)
  • 1024 bits cho khóa sử dùng dài hơn (Vài tháng, 1 năm)
  • 2048 và 4096 cho sử dụng dài hạn

2.3 Mức độ bảo đảm (Level of Assurance)

Mức độ đảm bảo là một  trường trong certificate chỉ ra các thông tin của chủ sở hữu đã được kiểm tra như thế nào. Các CP CPS có thể thay đổi theo giá trị của trường này. Trường này chủ yếu là cho các mục đích quản .Ví dụ, bạn có thể bị từ chối truy cập vào một khu vực an ninh cao cho một chứng nhận không được kiểm tra các thông tin đầy đủ.

3. PKI và Ldap

Một PKI có thể sử dụng một máy chủ LDAP để lưu trữ certificates của nó.Trong trường hợp này, các DN của entry trong các máy chủ LDAP giống với DN của certificate.Vì lý do này, bạn nên cẩn thận lựa chọn các DN của các certificates đã phát hành. Nếu bạn phát hành một certificates với DN không tốt, bạn sẽ không thể để lưu trữ nó trong thư mục.

1 comment: