Gửi lúc: 30/03/2011 15:02:34
Bookmark and Share

Giải pháp kiểm tra trạng thái chứng chỉ cho CA chuyên dùng

Kiểm tra trạng thái chứng chỉ là một thủ tục rất cần thiết trước khi sử dụng chứng chỉ khoá công khai cho các mục đính an toàn, bảo mật thông tin. Xây dựng giải pháp hiệu quả kiểm tra trạng thái chứng chỉ có ý nghĩa quan trọng trong việc triển khai hệ thống PKI.

Trên cơ sở tính toán lưu lượng thông tin đi, đến điểm đáp ứng và tải trọng tính toán của các thành phần trong PKI, bài báo đề xuất giải pháp Giao thức trạng thái chứng chỉ trực tuyến (Online Certificate Status Protocol- OCSP) phân tán kết hợp ký OCSP Request để xây dựng hệ thống kiểm tra trạng thái chứng chỉ cho Cơ quan chứng thực điện tử (CA) chuyên dùng.
1.Giới thiệu
Chứng chỉ khoá công khai chứa khoá công khai, thuộc tính nhận dạng của người chủ sở hữu khoá công khai, thời hạn sử dụng của chứng chỉ và một số thông tin cần thiết khác [1], chứng chỉ được CA ký phát hành, sau đó có thể được công bố trên các phương tiện công khai để người sử dụng có thể tìm thấy và sử dụng.

Một nghiên cứu [2] của Viện Tiêu chuẩn và công nghệ Mỹ (NIST) công bố, trung bình có khoảng 10% số chứng chỉ được phát hành sẽ bị thu hồi trước khi hết hạn. Lý do thu hồi chứng chỉ có thể do nguyên nhân khoá riêng bị lộ hay có thay đổi về thông tin của chứng chỉ khoá công khai. Như vậy khi sử dụng chứng chỉ khoá công khai phải kiểm tra tính toàn vẹn, tính xác thực, thời hạn sử dụng hợp lệ và trạng thái của chứng chỉ.
Việc sử dụng chứng chỉ khi không kiểm tra trạng thái của nó có thể dẫn đến những hậu quả  nghiêm trọng cho cả người dùng và CA phát hành chứng chỉ. Người dùng phải kiểm tra

Hình 1: Mô hình OCSP nguyên thủy
trạng thái chứng chỉ để biết chắc chắn là nó còn hợp lệ, chưa bị thu hồi hay một lý do khác. Thông thường chứng chỉ bị thu hồi được công bố trong  Danh sách các chứng chỉ bị thu hồi - CRL. Phương pháp công bố định kỳ CRL có hạn chế là độ trễ của thông tin về trạng thái chứng chỉ được cập nhật sau khi chứng chỉ đã bị thu hồi.
Lựa chọn phương pháp triển khai hệ thống kiểm tra trạng thái chứng chỉ có ảnh hưởng rất lớn tới triển khai hệ thống PKI. Thực tế chỉ ra rằng lưu lượng truyền thông tin liên quan đến trạng thái chứng chỉ chiếm một phần lớn chi phí để duy trì hệ thống PKI. Mặt khác, khả năng tính toán của các thực thể trong PKI cũng ảnh hưởng rất lớn đến hiệu suất của PKI.
Sau đây sẽ giới thiệu một giải pháp kiểm tra trạng thái của chứng chỉ cho CA chuyên dùng. Để phân tích hiệu quả của giải pháp, tác giả sử dụng giao thức OCSP nguyên thuỷ để so sánh dựa trên một số tiêu chí như lưu lượng thông tin đến và đi từ điểm đáp ứng và tải trọng tính toán của điểm đáp ứng và người dùng.
Việc so sánh, phân tích dựa trên giả thiết là tổng số các chứng chỉ được phát hành là không đổi và được phân bố đều giữa các CA, mỗi CA có số chứng chỉ bị thu hồi và chu kỳ cập nhật trạng thái chứng chỉ là như nhau, về tải trọng tính toán của các thực thể của PKI sẽ được xác định trên các nguyên thuỷ mật mã như hàm Hash và chữ ký số.
2. Mô hình OCSP nguyên thủy
Giao thức trạng thái chứng chỉ trực tuyến do IETF phát triển. Trong đó, một thực thể tin cậy có nhiệm vụ đưa ra thông báo trả lời về trạng thái của chứng chỉ là “OCSP Responder”, người sử dụng chứng chỉ thực hiện yêu cầu kiểm tra trạng thái chứng chỉ là “OCSP Requestor” bằng “OCSP request”. OCSP Responder trả lời yêu cầu bằng “OCSP Reply” cho mỗi chứng chỉ được kiểm tra. Trạng thái của chứng chỉ được kiểm tra có thể là “good”, “revoked” hoặc là “unknown”.
Mô hình OCSP nguyên thuỷ [3] có sơ đồ như sau:
Trong đó :
OCSP Request = (CertID)
OCSP Reply = (CertID, Cert Status,... Sign of OCSP Responder).
-  Lưu lượng thông tin trung bình trong năm đến điểm đáp ứng được ước lượng dưới dạng bit/ngày như sau: TRes-in=                   
-  Tải trọng tính toán của điểm đáp ứng trong ngày được ước lượng trên cơ sở giả thiết là mỗi thông báo trả lời đều được ký và mỗi chứng chỉ được yêu cầu kiểm tra mỗi ngày một lần là: LRes = Q.(lreply. Lh +Lsig)                  
-  Lưu lượng thông tin đi từ điểm đáp ứng được ước lượng dưới dạng bit/ngày là:
TRes- out= Q.(lreply +lsig)                           
- Tải trọng tính toán của người dùng được ước lượng trên cơ sở kiểm tra chữ ký của điểm đáp ứng trên thông báo trả lời OCSP Reply là Luser = lreply.Lh + Lsig                     
Mô hình này có một số điểm yếu sau:
Điểm yếu đối với tấn công từ chối dịch vụ: Trong giao thức OCSP yêu cầu mỗi OCSP Reply đều được ký thời gian thực, do vậy, kẻ tấn công có thể tạo ra vô số các yêu cầu không có thực và gửi liên tiếp các yêu cầu này đến điểm đáp ứng OCSP, với khả năng xử lý thời gian thực của hệ thống dịch vụ hạn chế có thể tạo ra tình trạng quá tải, làm cho hệ thống không có khả năng cung cấp dịch vụ bình thường.
Điểm yếu đối với tấn công xâm nhập: Do các điểm đáp ứng có chứa khoá riêng dùng để
ký các OCSP Reply và cho phép người dùng truy nhập hệ thống để nhận OCSP Reply nên đã tạo ra điểm yếu đối với tấn công xâm nhập. Kẻ tấn công có thể lợi dụng xâm nhập vào hệ thống để tìm cách khám phá khoá riêng của điểm đáp ứng.
Điểm yếu đối với tấn công dùng lại: Trong mô hình này kẻ tấn công có thể chặn bắt OCSP Reply, sau đó sử dụng lại sau khi điểm đáp ứng đã cập nhật dữ liệu của CRL mới, tuy nhiên có thể sử dụng giải pháp số nonce để khắc phục điểm yếu này.
3. Giải pháp OCSP cho CA chuyên dùng
Khắc phục tính tập trung hoá của mô hình OCSP nguyên thuỷ, giải pháp OCSP cho CA chuyên dùng có nhiều điểm đáp ứng, người dùng có thể kiểm tra trạng thái chứng chỉ nào đó tại điểm đáp ứng thích hợp, bằng cách gửi các request đã được ký đến điểm đáp ứng, hệ thống sẽ không chấp nhận các request không được ký hay các request được ký nhưng không thuộc đối tượng được cấp chứng chỉ của CA. Do vậy giải pháp này chỉ phù hợp với CA chuyên dùng. 

Hình 2: Giải pháp OCSP cho CA chuyên dùng

Trong đó :
OCSP Request = (CertID, nonce, RequestorName, sign of Requestor)
OCSP Response  = (CertID, nonce, Cert Status, ..., Sign of Responder).
-  Lưu lượng thông tin trung bình trong năm đến điểm đáp ứng được ước lượng dưới dạng bit/ngày là: TRes- in=                                                               
-  Tải trọng tính toán của điểm đáp ứng trong ngày được ước lượng trên cơ sở giả thiết là mỗi thông báo trả lời đều được ký và mỗi chứng chỉ được yêu cầu mỗi ngày một lần là:
LRes = Q.(lreply. Lh +Lsig +lreq.Lh +Lver)/NRes
- Lưu lượng thông tin đi từ điểm đáp ứng được ước lượng dưới dạng bit/ngày là:
TRes-out= Q.(lreply +lsig + lnonce)/NRes             
-  Tải trọng tính toán của người dùng được ước lượng trên cơ sở kiểm tra chữ ký của điểm đáp ứng trên thông báo trả lời OCSP Reply là: Luser = lreply.Lh + Lsig                                    
Khả năng chống tấn công từ chối dịch vụ: Trong giải pháp này, mỗi điểm đáp ứng có một khoá riêng để ký thông báo, nên khoá riêng của điểm đáp ứng nào bị lộ thì tác hại chỉ tại điểm đó mà thôi, không ảnh hưởng đến các điểm đáp ứng khác, hệ thống vì thế vẫn có thể hoạt động bình thường. Hơn nữa, giải pháp này có thể chống lại nguy cơ quá tải hệ thống hay mất kết nối giữa người dùng và máy chủ đáp ứng.
Khả năng chống tấn công xâm nhập: Điểm đáp ứng kiểm tra yêu cầu nhận được, yêu cầu chỉ được chấp nhận khi có chữ ký và chữ ký được kiểm tra là hợp lệ. Tất cả các yêu cầu không thoả mãn điều kiện trên thì điểm đáp ứng sẽ huỷ mà không cần xem xét thêm, như vậy sẽ làm loại bỏ các tấn công xâm nhập bất hợp pháp.
Khả năng chống tấn công dùng lại: Trong trường hợp này, OCSP Responder phải ký tươi từng OCSP Reply cho từng OCSP Request. Số nonce đảm bảo cho các thành phần tin cậy là OCSP Reply chứa thông tin trạng thái hiện tại của chứng chỉ như dữ liệu mới nhất của điểm đáp ứng tương ứng với OCSP Request xác định.
Đối với PKI có phạm vi nhỏ thì điểm đáp ứng có thể được cập nhật định kỳ những thay đổi về trạng thái chứng chỉ. Điểm đáp ứng dựa vào số nonce có thể cung cấp OCSP Reply chứa thông tin về trạng thái ngay sau khi chứng chỉ bị thu hồi.
4. So sánh, phân tích hiệu năng
Để so sánh hiệu năng của hai giải pháp nêu trên tác giả đã dựa trên một số giả thiết cụ thể về các tham số như ở Bảng 1.
Với các giả thiết và điều kiện đã nêu ở trên, bằng phương pháp tính toán sẽ thu được các kết quả như trong Bảng 2.

Bảng 1: Giá trị của các tham số được sử dụng để tính toán

- Sự phụ thuộc giữa tải trọng tính toán của điểm đáp ứng (giây/ngày/điểm đáp ứng) với số chứng chỉ có trong hệ thống PKI: Với CA chuyên dùng, do có nhiều điểm đáp ứng nên tải trọng tính toán của các điểm đáp ứng chỉ bằng 54,69% so với mô hình OCSP nguyên thuỷ.
-  Sự phụ thuộc giữa lưu lượng thông tin đi từ điểm đáp ứng (bit/ngày/điểm đáp ứng) với số chứng chỉ có trong hệ thống PKI: Với giải pháp OCSP cho CA chuyên dùng bằng 33,81% so với mô hình OCSP nguyên thuỷ.

Bảng  2: Sự phụ thuộc giữa tải trọng và lưu lượng thông tin với số chứng chỉ có trong PKI
5. Kết luận

Kiểm tra trạng thái chứng chỉ là một thủ tục bắt buộc để người sử dụng chứng chỉ biết chắc chắn là chứng chỉ vẫn còn được tin cậy. Trên cơ sở nghiên cứu, ước lượng tải trọng tính toán và lưu lượng thông tin đi, đến các điểm đáp ứng tương ứng với số lượng các chứng chỉ trong hệ thống PKI khác nhau, bài báo đề xuất sử dụng giải pháp OCSP  phân tán kết hợp ký OCSP Request và số nonce cho CA chuyên dùng. Giải pháp này có khả năng chống tấn công từ chối dịch vụ, chống tấn công xâm nhập và chống tấn công dùng lại, phù hợp với các lĩnh vực yêu cầu tính an toàn cao

ThS. Chu Minh Yên