Jan 25, 2013

Chapter 5. OpenCA

"Dự án OpenCA là nỗ lực hợp tác để phát triển một hệ thống Certification Authority, mạnh mẽ, đầy đủ tính năng out-of-the-box  thực hiện các giao thức được sử dụng nhiều nhất với toàn bộ sức mạnh mật mã trên toàn thế giới. OpenCA được dựa trên nhiều dự án nguồn mở. Một số các phần mềm được sử dụng OpenLDAP, OpenSSL, dự án Apache, Apache mod_ssl "(nguồn: http://www.openca.org/openca/).
 Dịch từ:
“The OpenCA Project is a collaborative effort to develop a robust, full-featured and Open Source out-of-the-box Certification Authority implementing the most used protocols with full-strength cryptography world-wide. OpenCA is based on many Open-Source Projects. Among the supported software is OpenLDAP, OpenSSL, Apache Project, Apache mod_ssl.” (source : http://www.openca.org/openca/)

1. Chức năng

OpenCA hỗ trợ một số lượng lớn các tính năng như SCEP, OCSP hoặc thậm chí sử dụng của một HSM (Hardware an Module).Những tính năng này thể được tách ra nhiều loại: các tính năng chung những khả năng tương tác.

1.1. Chức năng chung

OpenCA hỗ trợ tổng quát một khối lượng lớn chứng nhận.Các chứng nhận này được tạo ra bằng cách sử dụng các template được viết bởi quản trị của PKI do đó cho phép để hỗ trợ bất kỳ loại giấy chứng nhận.
Nếu bạn có các router Cisco, bạn có thể muốn sử dụng SCEP (Simple Certificate Enrollment Protocol) yêu cầu chứng chỉ trực tiếp và tự động từ các routeur.  
Khi chứng chỉ phải được thu hồi , OpenCA có thể làm điều đó theo hai cách khác . Bạn có thể phát hành một CRL (Certificate Revocation List) và / hoặc sử dụng một OCSP (Online Certificate Status Protocol) responder. Các CRLs có thể được xuất bản bởi một máy chủ Web và / hoặc trong một thư mục.

1.2 Chức năng tương tác

Khi cấu hình OpenCA, bạn sẽ một vài lựa chọn: một là  về cơ sở dữ liệu mà bạn sẽ sử dụng, hai là  LDAP server nào bạn cài đặt hoặc làm thế nào để thực hiện trao đổi dữ liệu với các máy chủ khác.

OpenCA sử dụng sở dữ liệu để lưu trữ các chứng chỉ được phát hành.Sự lựa chọn cơ sở dữ liệu này được để lại để các quản trị viên, yêu cầu duy nhất là phải có Perl's DBi driver.Hiện nay, OpenCA có thể sử dụng với:
PostgreSQL, SQL99 tuân thủ đầy đủ RDBMS
Mysql, một cơ sở dữ liệu SQL nhẹ
Oracle, một nổi tiếng và đầy đủ tính năng RDBMS
 
Sau khi được lưu trữ trong cơ sở dữ liệu, các certficates có thể được công bố thông qua một máy chủ LDAP. Một lần nữa, sự lựa chọn của máy chủ LDAP được để lại của quản lý. Mặc dù bất kỳ LDAP server nào tuân thủ RFC đều có thể làm việc nhưng OpenCA chỉ được thử nghiệm với OpenLDAP. 

Khi hai phần của PKI trao đổi dữ liệu, cả hai đều phải sử dụng cùng một giao thức.Sự lựa chọn, cài đặt và cấu hình giao thức này (theo nghĩa rộng) được để lại cho quản lý. Đây có lẽ là sự tự do lớn nhất của phần mềm này bạn có thể truyền tải một file zip thông qua giao thức HTTPS, một file tar thông qua FTP trên một liên kết IPsec hoặc thậm chí ghi một đĩa CD-RW và gửi nó thông qua chim bồ câu. Tất chủ các giải pháp này đang làm việc (tuy nhiên cách cuối cùng là có thể không đáng tin cậy).
 
Khi CA cần một giấy chứng nhận thì có một vài cách để làm điều đó có thể là: bạn có thể lưu trữ các khóa riêng trong một tập tin trên đĩa cứng sử dụng nó để certificate. Mặc đơn giản, giải pháp này không phải là rất an toàn. Ví dụ, một kẻ tấn công thể truy cập đến máy chủ bởi một lỗ hổng bảo mật trong máy chủ web và ăn cắp các khóa riêng (điều này cho phép anh ta có thể tạo ra chứng nhận sai theo ý muốn).

Thay vào đó, bạn thể lưu trữ các khóa riêng trong một HSM cho các HSM thực hiện chữ ký, Theo cách này, những kẻ tấn công truy cập đến máy chủ không có thể ăn cắp các khóa riêng (nhưng nếu HSM của bạn không được bảo vệ bởi mã PIN hoặc mật khẩu, một kẻ tấn công thể luôn luôn gửi yêu cầu đến HSM để tạo ra một giấy chứng nhận sai). Nếu bạn không sở hữu một HSM (đây không phải là phần cứng giá rẻ), bạn luôn có thể sử dụng thẻ thông minh để giữ khóa riêng của CA của bạn
thực hiện chữ ký.

(Hết phần tính năng)

No comments:

Post a Comment