CA xác thực người dùng bằng cách cấp phát chứng chỉ số. Để có thể có được chứng chỉ số của CA, người dùng cần thực hiện các bước sau
Tạo ra cặp khoá riêng/khoá công khai của mình
Khi cặp khoá đã được tạo, người dùng cần phải đăng ký khoá công khai của mình với CA
RA sẽ kiểm tra danh tính người dùng. Khi đã kiểm tra xong, RA sẽ chuyển yêu cầu đó cho CA
CA ký chứng chỉ bằng khoá riêng của mình và gửi chứng chỉ cho RA. RA sẽ chuyển chứng chỉ mà đã nhận được từ CA cho người dùng đã đăng ký
4.2.1.2.Huỷ bỏ chứng chỉ
Mỗi chứng chỉ đều có một giai đoạn hợp lệ. Tuy nhiên, trong một số trường hợp mà chứng chỉ có thể không hợp lệ trước giai đoạn hợp lệ là
Có sự lộ khoá riêng của thực thể
Có sự thay đổi thông tin thuộc tính của thực thể, ví dụ như tên thực thể hoặc mối quan hệ của thực thể với tổ chức
Có sự lộ khóa của CA
Do đó, cần phải có sự huỷ bỏ chứng chỉ
Một vài các phương thức mà CA có thể sử dụng để huỷ bỏ chứng chỉ gồm Các cơ chế
Cơ chế công bố định kỳ: Cơ chế này sử dụng danh sách huỷ bỏ chứng chỉ. Danh sách huỷ bỏ chứng chỉ là một danh sách
Cơ chế truy vấn online: Cơ chế truy vấn online bao gồm có giao thức trạng thái chứng chỉ và giao thức xác định tính hợp lệ của các phiên giao dịch trực tuyến: OCSP được sử dụng để đưa ra các thông tin thu hồi chứng chỉ. Giao thức xác định tính hợp lệ của các phiên giao dịch trực tuyến được sử dụng để xác minh tính hợp lệ trực tuyến
4.2.1.3.Tạo lập chính sách chứng chỉ
Chính sách chứng chỉ là một tập hợp các luật hay còn gọi là các quy tắc được tạo lập bởi CA để chỉ ra khả năng ứng dụng của chứng chỉ đối với một nhóm người cụ thể hoặc tập các ứng dụng
Mục đích chính của các chính sách chứng chỉ là để xác định chính sách an toàn mà một tổ chức phải tuân theo
4.2.1.4.Hướng dẫn thực hiện chứng chỉ số (Certification Practice Statement)
Hướng dẫn thực hành chứng chỉ số sẽ chỉ ra chứng thực sẽ được thực hiện như thế nào. Tài liệu này sẽ miêu tả các thủ tục, hoạt động mà đã được định nghĩa trong chính sách chứng chỉ sẽ được triển khai, thực hiện như thế nào
CPS sẽ chỉ ra các chính sách và các thủ tục mà một công ty , tổ chức phải tuân theo để cấp phát và quản lý chứng chỉ
CA có thể được xem như bên thứ ba tin cậy như VeriSign hoặc Thawte hoặc có thể là một thực thể bên trong của một tổ chức
4.2.2.Nhiệm vụ của CA
Chấp nhận các yêu cầu cấp chứng chỉ từ người dùng, máy tính , ứng dụng hoặc thiết bị
Xác thực định danh người dùng, máy tính, dịch vụ yêu cầu chứng chỉ Tạo chứng chỉ cho người yêu cầu
Ký số chứng chỉ sử dụng khoá riêng của mình 4.2.3. Các loại CA
Có hai loại CA cơ bản . Các loại CA được phân biệt bằng vị trí mà chúng lưu trữ chứng chỉ
4.2.3.1.Enterprise CA:
Enterprise CA lưu trữ bản sao của chứng chỉ CA trong Active Directory. Loại CA này tận dụng các mẫu chứng chỉ để công bố chứng chỉ và danh sách thu hồi chứng chỉ. Enterprise CA sẽ hồi đáp tự động tới bất kỳ yêu cầu chứng chỉ nào. Điều này về cơ bản cho phép các client truy cập và lấy được chứng chỉ và lưu giữ chứng chỉ trong kho chứng chỉ cục bộ của mình. Chính vì đặc điểm này, nên EnterpriseCA không được sử dụng để cấp phát chứng chỉ cho các client bên ngoài tổ chức
Enterprise CA được cấu hình như Domain Controller
4.2.3.2.Standalone CA
Standalone CA lưu giữ cục bộ thông tin trên chứng chỉ , trong một folder chia sẻ mà ta có thể truy cập thông qua Web. Standalone CA phụ thuộc vào người quản trị có chấp thuận hay từ chối yêu cầu chứng chỉ. Standalone CA được sử dụng để cấp phát chứng chỉ cho người dùng bên ngoài tổ chức
4.2.4.Các cấp CA
4.2.4.1.Root CA(CA gốc)
Root CA là CA mức cao nhất được xem như thẩm quyền đối với tất cả các CA phụ thuộc được đặt ở dưới nó. RootCA làm nhiệm vụ cấp chứng chỉ cho tất cả các CA phụ thuộc.
RootCA khác với các CA khác là nó tự tạo chứng chỉ cho chính mình. Trong mô hình phân cấp, khi một client tin tưởng root CA, thì nó cũng phải tin tưởng các CA phụ thuộc được đặt ở dưới root CA
4.2.4.2.Subordinate CA(CA phụ thuộc):
Subordinate CA (SubCA- CA con): là CA được chứng thực bởi CA cha. CA cha chứng thực CA con bằng cách cấp phát và ký chứng chỉ cho CA con.
Có hai loại CA phụ thuộc trong kiến trúc phân cấp là Intermediate CA và Issuing CA
Intermediate CA:
Intermediate CA là CA phụ thuộc được đặt giữa root CA và các CA phụ thuộc khác. Chức năng của Intermediate CA là cấp phát chứng chỉ cho CA mức lá
Issuing CA (CA mức lá):
Issuing CA là CA ở mức thấp nhất. Chức năng của Issuing CA là cấp phát chứng chỉ cho các máy tính khác, người dùng, các thiết bị mạng, server và các dịch vụ yêu cầu CA
Issuing CA luôn luôn ở chế độ online
4.3. Thiết kế chung của CA
Ý tưởng đầu tiên của dự án bao gồm ba phần chính: Giao diện web bằng Perl, mã nguồn mở OpenSSL trong hoạt động mật mã và cơ sở dữ liệu. Khái niệm đơn giản này cho đến nay vẫn được coi là khẩu hiệu . Gần như tất cả các hoạt động có thể được thực hiện thông qua giao diện web. Chúng ta có sáu giao diện được cấu hình trước và có rất nhiều giao diện có thể tạo được từ chúng, tuỳ thuộc vào nhu cầu
Hiện nay OpenCA hỗ trợ các nhân tố sau Giao diện Public (Public interface ) Giao diện LDAP (LDAP interface ) Giao diện RA (RA interface )
Giao diện CA (CA interface ) SCEP
OCSP
Lọc IP đối với các giao diện :(IP-filters for interfaces)
Đăng nhập dựa vào cụm mật khẩu : (Passphrase based login)
Đăng nhập dựa trên chứng chỉ (bao gồm thẻ thông minh): ( Certificate based login (including smartcards))
Huỷ bỏ chứng chỉ dựa trên số định danh cá nhân : (PIN based revocation) Huỷ bỏ chứng chỉ dựa trên chữ ký số : (Digital signature based revocation)
CRL issuing
OpenCA được thiết kế cho cơ sở hạ tầng phân tán. Nó không chỉ xử lý một CA offline và một RA online, mà sử dụng nó, chúng ta có thể xây dựng một phân cấp tổng thể với ba hoặc nhiều mức. OpenCA không chỉ là một giải pháp nhỏ cho các phương tiện nghiên cứu nhỏ và trung bình. Mục đích của nó là hỗ trợ tính linh hoạt lớn nhất có thể cho các tổ chức lớn như các trường đại học, các công ty đa quốc gia
4.3.1.Phân cấp cơ bản
Ý tưởng cơ bản của mỗi PKI X.509 là một tổ chức phân cấp rõ rệt. Điều này sẽ hình thành nên một cây cơ sở dữ liệu nếu chúng ta cố gắng tạo ra kiến trúc PKI phân tán
Trao đổi dữ liệu giữa các cơ sở dữ liệu cô lập như vậy có thể được thực hiện tự động nếu ta sử dụng hệ thống cơ sở dữ liệu phân tán , nhưng trong OpenCA thì hệ thống cơ sở dữ liệu phân tán chỉ có duy nhất một cơ sở dữ liệu trong cây . Nếu ta thực sự có một cơ sở dữ liệu cô lập (ví dụ một CA offline) thì ta phải có công nghệ để trao đổi dữ liệu và quản lý các node trong phân cấp. Chức năng quản lý này được gói gọn trong giao diện được gọi là node hay quản lý node. Do đó, thiết kế Open CA như sau
Thông thường thì mỗi server trong cơ sở hạ tầng của trung tâm tin cậy đều có cơ sở dữ liệu của riêng nó nhằm mục đích an ninh. Sự phân cấp này là phần cốt lõi của trung tâm tin cậy
4.3.2.Các giao diện
Sau khi ta biết được hạ tầng cơ bản của OpenCA, ta cũng có thể muốn biết CA, RA, LDAP và giao diện công khai hay còn gọi là cổng web là gì. OpenCA hỗ trợ tất cả các thành phần phần mềm thông quan giao diện web
OpenCA hỗ trợ tất cả các giao diện sau Node (for node management)
CA RA LDAP Pub SCEP 4.3.2.1.Node
Giao diện này quản lý cơ sở dữ liệu và xử lý tất cả các chức năng xuất và nhập. Cơ sở dữ liệu có thể được bắt đầu theo phương thức mà OpenCA tạo ra tất cả các bảng nhưng bản thân OpenCA thì lại không thể tạo ra cơ sở dữ liệu cho chính nó bởi khác biệt của mỗi hãng sản xuất.Vì vậy chúng ta cần một cơ sở dữ liệu với các quyền truy cập đầy đủ và một cơ sở dữ liệu mới. Giao diện này bao gồm một vài các chức năng cho việc dự phòng và phục hồi nhưng chúng ta phải có một hệ thống dự phòng riêng biệt cho khoá riêng và chứng chỉ của CA. Đây không phải là cơ chế mặc định trong OpenCA để dự phòng khoá riêng. Chúng tôi không thực hiện nó bởi vì thứ nhất chúng tôi thấy rằng đây không phải là cách an toàn thông thường để dự phòng khoá riêng và thứ
hai là hầu hết CA sử dụng HSMs và do đó bạn cần một chiến lược dự phòng đúng đắn và khác biệt
Việc xuất và nhập cũng có thể được xử lý bằng giao diện này. Bạn có thể cấu hình các quy tắc khác nhau không đồng bộ với các node trên các mức cao hơn hoặc thấp hơn trong phân cấp.
4.3.2.2.CA
Giao diện CA có tất cả các chức năng mà bạn cần có để tạo ra các chứng chỉ và danh sách huỷ bỏ chứng chỉ
CA cũng bao gồm tất cả các chức năng ta có thể sử dụng để thay đổi cấu hình thông qua một giao diện web. Nhưng lại không thể thay đổi cấu hình thông qua giao diện web khác
CA cũng là lớp ngoài của bộ xử lý lô. OpenCA bao gồm các bộ xử lý lô rất mạnh để tạo chứng chỉ. Những bộ xử lý lô này có thể được sử dụng để tạo ra chứng chỉ số tự động từ hệ thống ERP(Enterprise Resource Planning- Hệ thống họach định nguồn tài nguyên) ( ví dụ như SAP, HIS, NIS)
4.3.2.3.RA
RA của OpenCA có khả năng xử lý tất cả các loại yêu cầu (request). Bao gồm có chọn lọc, chỉnh sửa yêu cầu, chấp thuận yêu cầu, tạo khoá riêng với thẻ thông minh, xoá các yêu cầu sai và gửi thư điện tử cho người dùng
4.3.2.4. LDAP
Giao diện LDAP được xây dựng để phân tách hoàn toàn phần quản lý LDAP. Điều này là cần thiết bởi vì có rất nhiều chức năng mà thực sự là riêng biệt cho người quản trị LDAP, chỉ với một vài người sử dụng mới cần thiết tới chức năng này
4.3.2.5.Pub
Giao diện Public bao gồm tất cả những chi tiết mà người dùng cần. Bao gồm
Tạo ra các yêu cầu ký chứng chỉ cho Microsoft Internet Explorer
Tạo ra các yêu cầu ký chứng chỉ cho Molilla 1.1 và Netscape Communitor và Navigato
Tạo ra các yêu cầu độc lập cho các client và khoá riêng ( ví dụ cho người quản trị server người mà không biết làm thế nào để tạo ra yêu cầu và khoá riêng)
Nhận PEM- định dạng theo PKCS #10 từ server Ký chứng chỉ
Ký vào CRLs
Hỗ trợ hai phương thức thu hồi chứng chỉ khác nhau Tìm kiếm chứng chỉ
Kiểm tra chứng chỉ người dùng trong trình duyệt ( Microsoft Internet Explorer và Netscape Communicator và Navigator 4.7x)
4.4. Vòng đời của các đối tượng
Vòng đời của các đối tượng
Đôi khi có sự nhầm lẫn về trạng thái của các đối tượng OpenCA. Sơ đồ sau đây sẽ giúp bạn có thể kiểm tra vòng đời của tất cả các đối tượng OpenCA.
4.5. Các lưu ý khi thiết kế PKI
Chương này đưa ra rất nhiều lời gợi ý mà chúng ta nên lưu tâm nếu bạn thiết kế hệ thống PKI lần đầu tiên. .
4.5.1. Các vấn đề phần cứng
4.5.1.1.Thời gian
Một trong những vấn đề lớn nhất của hệ thống PKI đó là thời gian. Có hai loại máy tính khác nhau đó là online và offline. Theo logic của người quản trị thông thường Khi máy tính kết nối vào mạng thì máy tính sẽ sử dụng máy chủ thời gian (time server). Một câu hỏi đặt ra là timeserver có đáng tin tưởng không không? Timeserver có thể làm nảy sinh ra hai vấn đề sau. Thứ nhất là tem thời gian thực sự từ timeserver và thứ hai là nguồn thời gian của timeserver có thực sự đáng tin không? Kết nối tới timeserver có thể được đảm
bảo an toàn theo công nghệ đường hầm (tunnel) giống như IPSec nhưng vấn đề thực sự là nguồn thời gian. Hầu hết các timeserver đều sử dụng đồng hồ sóng radio, nhận tín hiệu thời gian được từ trạm truyền sóng radio. Tín hiệu này rất dễ bị giả mạo bởi vì nó rất yếu. Do đó nguồn thời gian của mạng là thực sự không được an toàn
4.5.1.2.Đĩa lỗi
Các phần hỏng hóc về phần cứng phổ biến nhất thường liên quan tới bộ phận làm làm lạnh và các lỗi đĩa. Bạn nên dự phòng tất cả các dữ liệu quan trong, đặc biệt là các chứng chỉ đã được cấp phát ALL. Không bao giờ được đánh mất chứng chỉ hoặc là bạn phải thu hồi CA hoàn toàn. .
4.5.1.3.Theo dõi phần cứng
Thông thường bạn có thể quan sát trực quan nếu laptop của bạn bị ngưng hoạt động. Một máy tính offline bị ngưng hoạt động cũng có thể được phát hiện bằng sự quan sát trực quan như vậy. Tuy nhiên, thành phần online của PKI bị ngưng hoạt động thì lại là một vấn để bởi vì các thông tin quan trọng không sẵn sàng, như là các chứng chỉ được cấp phát mới và danh sách huỷ bỏ chứng chỉ. Những tình huống như vậy cũng có thể làm giảm các dịch vụ của bạn như SCEP. Nếu giao diện công khai của cơ sở hạ tầng an toàn bị suy giảm, thì vấn đề tin cậy của bạn sẽ bị giảm đối với người dùng của bạn trong tương lai.
4.5.2.An toàn vật lý
Nếu CA offline của bạn bao gồm một máy tính xác tay và bạn muốn đảm bảo sự kiểm soát kép và không có một điểm lỗi nào thì bạn cần phải tuân theo phương pháp sau : Sử dụng một “két “ module IT và hai két dữ liệu. Một két module IT có một UPC mà có cùng mức bảo vệ vật lý như một két sắt (ngăn ) Két này được sử dụng để cho phép máy tính xác tay đó không ngừng hoạt động, do đó giảm được thời gian và vấn đề về tính sẵn sàng. Tất cả ba két đó sẽ có hai khoá . Điều này đảm bảo rằng kiểm soát truy cập kép bằng chia sẻ khoá. Việc cài đặt cũng sẽ thực sự đơn giản và hiệu quả
Tổ chức của các két là thực sự dễ dàng. Ta có thể phân tách passphrase CA thành hai phần là trước và sau. Tổ chức của dữ liệu và máy tính có thể như sau
Két module IT bao gồm máy tính xách tay (với khoá riêng của CA) và phần trước của passphrase (cụm mật khẩu)
Két dữ liệu đầu tiên bao gồm các phần dự phòng (bao gồm các phần dự phòng khoá riêng) và phần sau của cụm mật khẩu
Ngăn dữ liệu thứ hai bao gồm cả phần trước và phần sau của cụm mật khẩu
Sự tổ chức này đảm bẳo rằng nếu một ngăn dữ liệu bị phá thì cũng sẽ không làm hư hại tới cơ sở hạ tầng. Sự phân cấp như vậy cũng đảm bảo rằng nếu mất một ngăn dữ liệu thì cũng sẽ không làm ngừng hoạt động của bạn. Chúng ta cần hai ngăn tồn tại và mất một ngăn thì cũng có thể chấp nhận được ít nhất trong một thời gian ngắn
Cần lưu lý rằng đây là ý tưởng cơ bản đối với những CA có mức rủi ro trung bình. Những CA có mức rủi ro cao nên sử dụng những lược đồ phức tạp hơn để có thể chấp nhận được nhiều hơn một ngăn bị phá hỏng.
4.5.3.Các vấn đề về mạng
Một PKI mang đầy đủ chức năng nếu như tất cả các dịch vụ mà nó cung cấp đều hoàn toàn hoạt động. Nghĩa là không chỉ những thứ như OCSP và SCEP mà cả các gateway công cộng cũng như vậy. Rất nhiều người nghĩ rằng