III. Mật mã khoá công khai (bất đối xứng)
4. Cơ sở hạ tầng khoá công khai PKI (Public Key Infrastructure)
a. Tổng quan về PKI
Như đã trình bày trong các phần trước của giáo trình này, việc sử dụng các giải thuật mã hoá khoá công khai đòi hỏi phải có cơ chế xác thực khoá công khai của người dùng. Một giải pháp được cho là phù hợp nhất đó là xây dựng một cơ sở hạ tầng gồm toàn bộ các cơ chế cung cấp, quản lý, xác thực khoá công khai, … Cơ sở hạ tầng này được gọi là cơ sở hạ tầng khoá công khai PKI (Public Key Infrastructure)
Khái niệm PKI
PKI là một cơ chế cho phép bên thứ ba (thường là nhà cung cấp chứng thực số) cung cấp và xác thực định danh các bên tham gia vào quá trình trao đổi thông tin. Cơ chế này cũng cho phép gán cho mỗi người sử dụng trong hệ thống một cặp khoá Public/Private Key.
Khái niệm hạ tầng khoá công khai (PKI) thường được dùng để chỉ toàn bộ hệ thống, bao gồm cả nhà cung cấp chứng thực số (CA) cùng các cơ chế liên quan.
Chức năng của hệ thống PKI
PKI cho phép những người tham gia xác thực lẫn nhau và sử dụng thông tin từ các nhà chứng thực khoá công khai để mã hoá và giải mã thông tin trong quá trình trao đổi. PKI cho phép các giao dịch điện tử được diễn ra và đảm bảo tính bí mật, toàn vẹn, xác thực lẫn nhau mà không cần phải trao đổi các thông tin mật từ trước.
Chức năng của một hệ thống PKI, tập trung ở một số điểm sau: tạo khoá (tập trung hay phân tán), lưu trữ và phân phối khoá, hạn dùng của khoá, cơ chế thu hồi khoá, đình chỉ sử dụng khoá, phục hồi khoá, sử dụng lại khoá, huỷ khoá, …
Thành phần của một hệ thống PKI
Nền tảng của hạ tầng khoá công khai là cung cấp một chứng chỉ số dùng để xác minh một cá nhân hoặc tổ chức, các dịch vụ danh mục có thể lưu trữ và khi cần có thể thu hồi lại các chứng chỉ số. Mặc dù các thành phần cơ bản của một hệ thống PKI đã được phổ biến, nhưng một số nhà cung cấp vẫn muốn đưa ra các chuẩn riêng biệt của mình. Một tiêu chuẩn chung cho mọi hệ thống PKI cũng đang được giới chuyên môn thảo luận và xây dựng. Về cơ bản một cơ sở hạ tầng khoá công khai (PKI) bao gồm:
- Một nhà cung cấp chứng thực số (CA – Certificate Authority): chuyên cung cấp và xác minh các chứng chỉ số (certificate). Một chứng chỉ số bao gồm khoá công khai hoặc các thông tin về khoá công khai
- Một nhà quản lý đăng ký (RA – Registration Authorities): đóng vai trò như người thẩm tra cho CA trước khi một chứng chỉ số được cấp phát tới người yêu cầu
- Hệ thống quản lý chứng chỉ (Certificate Server): nơi lưu trữ các chứng chỉ số đã được cấp phát, phục vụ cho nhu cầu tra cứu, lấy khoá công khai của đối tác khi cần thực hiện giao dịch chứng chỉ số.
b. Các mô hình PKI
Mô hình hệ thống PKI đơn giản (single CA)
Mô hình ngang hàng (Peer-to-Peer)
Mô hình phân cấp (Hierarchical)
c. Xây dựng cơ sở hạ tầng khoá công khai PKI
Xây dựng một cơ sở hạ tầng khoá công khai cũng giống như xây dựng một hệ thống bất kỳ trong thực tế, đều phải tuân theo một quy trình chung: lập kế hoạch, thiết kế, cài đặt và quản trị hệ thống PKI.
Lập kế hoạch
Lập kế hoạch cụ thể là một công đoạn quan trọng và cần thiết trong quá trình xây dựng một hệ thống PKI. Trong giai đoạn này, người lập kế hoạch phải xem xét chi tiết và cẩn thận các khía cạnh sau:
- Kiểm tra các chính sách bảo mật của tổ chức có sẵn sàng được cập nhật theo PKI hay không?
- Tạo một hay nhiều chính sách chứng chỉ (CP – Certification Policy): quy định những người được phép phát hành chứng chỉ và phát hành như thế nào?
- Tạo một tuyên bố trong sử dụng chứng chỉ (CPS – Certification Practice Statement): được xem như một thoả thuận giữa người dùng chứng chỉ số và tổ chức phát hành chứng chỉ số.
Thiết kế
Công đoạn thiết kế PKI cần chú ý một số vấn đề sau:
- Chọn kiến trúc CA phù hợp (số lượng CA server, các luật cần có, …): thực sự không có một tiêu chuẩn nào tốt nhất quy định số mức CA cần thiết. Tuy nhiên, trên thực tế hiếm có trường hợp cần tới 4 mức CA. Sau đây là một số mức CA thường gặp và những đặc điểm của nó.
- Tạo các điểm công bố (CDP – Certificate Distribution points): xác định các điểm phân phối chứng chỉ số. Có nhiều giao thức khác nhau có thể sử dụng để định nghĩa CDP như: HTTP, LDAP, FTP, File Share (FMB), … Sau đây là mô hình công bố chứng chỉ và thứ tự các giao thức được khuyến cáo sử dụng.
Triển khai cài đặt dịch vụ CA trên môi trường Windows Server 2003
Đăng nhập vào Windows Server 2003 với quyền Administrator, mở hộp thoại Windows Components -> chọn Certificate Services
- Enterprise CA: sử dụng cơ sở dữ liệu trong Active Directory để chấp nhận
hoặc từ chối yêu cầu cấp phát chứng chỉ tự động. Với hình thức này, Client của tổ chức CA phải truy xuất đến Active Directory để nhận chứng chỉ. Do đó, loại CA này thường không thích hợp để cấp phát chứng chỉ cho các Client bên ngoài tổ chức.
- Stand-alone CA: không dùng mẫu chứng chỉ hay Active Directory, chúng
lưu trữ thông tin cục bộ. Mặc định, Stand-alone CA không tự động cấp phát chứng chỉ số giống như Enterprise CA, mà các yêu cầu được xếp vào hàng đợi chờ người quản trị chấp nhận hoặc từ chối bằng tay.
Điền các thông tin cần thiết vào trang CA Identifying Information
Giám sát và quản lý các yêu cầu chứng chỉ của người dùng bằng công cụ Certification Authority
- Revoked Certificates: Quản lý những chứng chỉ đã bị thu hồi
- Issued Certificates: Quản lý những chứng chỉ đã ban hành
- Pending Requests: Quản lý những yêu cầu đang chờ được cấp phát chứng chỉ
- Failed Requests: Quản lý những yêu cầu không được đáp ứng
- Certificate Templates: Những chứng chỉ mẫu Quản trị hệ thống PKI
Để quản lý hệ thống CA được cài đặt trên môi trường Windows Server 2003, người quản trị có thể sử dụng một số công cụ sau:
- Certificate Services (certsrv.msc): cung cấp giao diện quản lý để cấu hình, duy trì PKI
- Certificate Manager (certmgr.msc): Kiểm soát các chứng chỉ được cài đặt trên máy tính người dùng hiện hành
- Event Viewer (eventvwr.msc): Quản lý nhật ký, dùng để khắc phục khi hệ thống PKI có sự cố
- Enterprise PKI Tool (PKIview.msc): công cụ kiểm tra tình trạng PKI dựa trên MMC
- Capimon.exe: Cho phép quản trị viên có thể kiểm tra các cuộc gọi Crypto API của các ứng dụng bảo mật và kết quả của nó.