Friday, May 21, 2010

Certificate Authority

1. CA = Certificate Authority là từ dùng để nói về một tổ chức/thực thể được tín nhiệm để cấp certificate cho những cá nhân và tổ chức khác.

2. Certificate = chứng chỉ của một cá nhân hay tổ chức được một CA cấp cho (có thể phải trải qua quá trình CA kiểm tra danh tính của đơn vị muốn được cấp certificate).

Ví dụ: Verisign là CA được tín nhiệm, thông qua hình thức là self-signed certificate của họ được các trình duyệt web tín nhiệm. Verisign cấp certificate cho công ty hdbank. Việc cấp này đơn giản là Verisign dùng self-signed certificate của họ để ký lên CSR của khách hàng.

CA hầu như không tham gia vào quá trình thực thi của bộ giao thức SSL/TLS. nói cách khác, trình duyệt và máy chủ hầu như chỉ nói chuyện trực tiếp với nhau, mà không phải kết nối đến một bên thứ 3 nào cả. CA chỉ đóng vai trò trong việc xác lập hạ tầng khóa công khai (PKI), hầu như không tham gia vào quá trình kiểm tra và xác thực cert.

vậy việc kiểm tra và xác thực cert diễn ra như thế nào? khi trình duyệt kết nối vào máy chủ web, máy chủ web gửi lại cert của họ, thì trình duyệt sẽ có trách nhiệm kiểm tra cert này. việc kiểm tra này gồm các bước (thứ tự tùy thuộc vào trình duyệt):

1. xem cert này được ai ký, và tổ chức ký cert này có được trình duyệt tín nhiệm hay không.

2. xem cert có còn hạn sử dụng hay không.

3. xem cert có bị vô hiệu hóa hay chưa.

4. xem common name của cert có trùng với tên của máy chủ mà trình duyệt đang kết nối hay không.

bước thứ 3 là lý do mà mình dùng từ "hầu như". trình duyệt (và máy chủ) có thể kết nối đến CA để kiểm tra xem certificate của bên còn lại có bị vô hiệu hóa hay chưa (revoked). RFC của TLS/SSL không bắt buộc các hiện thực TLS/SSL phải thực hiện bước này, và theo mình biết thì mặc định các trình duyệt không thực hiện việc kiểm tra này.

No comments:

Post a Comment