Một số mô hình tin cậy có thể được áp dụng hoặc được đề xuất để sử dụng trong PKI dựa trên X.509. Mỗi mô hình đều có ưu và nhược điểm riêng. Việc lựa chọn mô hình nào tùy thuộc vào những yêu cầu mục đích của cộng đồng người dùng, tổng chi phí, thời gian triển khai, nhân lực quản lý, công nghệ hỗ trợ và một số vấn đề liên quan khác.
a) Mô hình CA đơn (Single CA Model)
Đây là mô hình tổ chức CA cơ bản và đơn giản nhất. Trong mô hình CA đơn chỉ có một CA xác nhận tất cả các thực thể cuối trong miền PKI. Mỗi người sử dụng trong miền nhận khóa public của CA gốc (root CA) theo một số cơ chế nhất định. Với mô hình này chỉ có một điểm để tất cả người sử dụng có thể kiểm tra trạng thái thu hồi của chứng chỉ đã được cấp. Mô hình này có thể được mở rộng bằng cách có thêm các RA ở xa CA nhưng ở gần các nhóm người dùng cụ thể.
Hình 2.9 Mô hình CA đơn Root CA End Entity End Entity End Entity End Entity End Entity End Entity RA RA
Mô hình này dễ triển khai và giảm tối đa những vấn đề về khả năng tương tác. Một số nhược điểm:
- Không thích hợp cho miền PKI lớn vì một số người sử dụng ở những miền con có những yêu cầu khác nhau đối với người ở miền khác.
- Việc quản trị và khối lượng công việc kỹ thuật của việc vận hành CA đơn sẽ rất cao trong cộng đồng PKI lớn.
- Chỉ có một CA nên sẽ gây ra thiếu khả năng hoạt động và CA này có thể trở thành mục tiêu tấn công.
b) Mô hình phân cấp (Hierarchical Model)
Tổ chức CA được phân ra thành nhiều cấp, tổ chức CA ở cấp cao hơn sẽ ký vào chứng nhận khóa public của các tổ chức CA con trực tiếp của mình. Một chứng nhận khóa public của người sử dụng sẽ được ký bởi một tổ chức CA cục bộ.
Hình 2.10 Mô hình CA phân cấp
Trong mô hình này, mỗi thực thể sẽ giữ bản sao khóa public của CA gốc và kiểm tra đường dẫn của chứng thực số bắt đầu từ chữ ký của CA gốc. Khi một người sử dụng muốn kiểm tra một chứng nhận khóa public, họ cần kiểm tra chứng nhận khóa public của tổ chức CA cục bộ đã ký trên chứng nhận này. Để làm được điều này, cần phải kiểm tra chứng nhận khóa public của tổ chức CA cấp cao hơn đã ký trên chứng nhận khóa public của tổ chức CA cục bộ. Việc kiểm tra cứ lan truyền lên các cấp cao hơn của tổ chức CA cho đến khi có thể kiểm tra được bằng chứng nhận khóa public của tổ chức CA gốc. Đây là mô hình PKI tin cậy sớm nhất và được sử dụng trong hệ thống PEM (Privacy Enhanced Mail) và hệ thống DMS (Defense Message System) của Bộ Quốc phòng Hoa Kỳ.
Ưu điểm: Root CA CA End Entity End Entity End Entity End Entity End Entity End Entity CA CA
- Mô hình này có thể được dùng trực tiếp cho những doanh nghiệp phân cấp và độc lập, những tổ chức chính phủ và quân đội.
- Cho phép thực thi chính sách và chuẩn thông qua hạ tầng cơ sở. - Dễ vận hành giữa các tổ chức khác nhau.
Nhược điểm:
- Có thể không thích hợp đối với môi trường mà mỗi miền khác nhau cần có chính sách và giải pháp PKI khác nhau.
- Các tổ chức có thể không tự nguyện tin vào các tổ chức khác.
- Có thể không thích hợp cho những mối quan hệ ngang hàng giữa chính phủ và doanh nghiệp.
- Những tổ chức thiết lập CA trước có thể không muốn trở thành một phần của mô hình.
- Có thể gây ra sự trội hơn của sản phẩm đối với vấn đề về khả năng tương tác. - Chỉ có một CA gốc nên có thể gây ra một số vấn đề như thiếu khả năng hoạt động. Thêm vào đó, trong trường hợp khóa private của CA bị xâm phạm, khóa public mới của CA gốc phải được phân phối đến tất cả các người sử dụng cuối trong hệ thống theo các cơ chế khác nhau, không thống nhất.
c) Mô hình mắt lưới (Mesh Model)
Mô hình mắt lưới (mesh model) là mô hình đưa ra sự tin tưởng giữa hai hoặc nhiều CA. Mỗi CA có thể ở trong mô hình phân cấp hoặc trong mô hình mắt lưới khác. Trong mô hình này không chỉ có một CA gốc mà có nhiều hơn một CA gốc phân phối sự tin cậy giữa các CA với nhau. Thông qua việc xác thực chéo giữa các CA gốc, các CA có thể tin tưởng lẫn nhau. Xác thực chéo liên kết các miền khác nhau bằng việc sử dụng thuộc tính Basic Constraints, Name Constraints, Policy Mapping và Policy Constraints của X.509 v3 mở rộng.
Trong cấu hình mắt lưới đầy đủ, tất cả các CA gốc xác nhận chéo lẫn nhau. Điều này yêu cầu n2 lần xác thực trong hạ tầng cơ sở.
Hình 2.11 Mô hình xác thực chéo.
Ưu điểm của mô hình:
- Linh hoạt hơn và phù hợp với nhu cầu giao dịch hiện nay.
- Cho phép những nhóm người sử dụng khác nhau có thể tự do phát triển và thực thi những chính sách và chuẩn khác nhau.
- Cho phép cạnh tranh.
- Không phải là mô hình phân cấp và khắc phục được những nhược điểm của mô hình phân cấp tin cậy ở trên.
Nhược điểm:
- Phức tạp và khó để quản lý vì việc xác thực chéo.
- Khó có khả năng thực hiện và có thể không hoạt động vì những lý do do giao tác.
- Phần mềm người sử dụng có thể gặp phải một số vấn đề khi tìm chuỗi chứng chỉ.
- Để tìm chuỗi chứng chỉ và CRLs với những mô hình khác thì việc sử dụng thư mục có thể trở nên khó hơn.
Hiện nay, các tổ chức chính phủ và công ty đang thiết lập CA riêng theo yêu cầu PKI của mình. Khi có yêu cầu xử lý giao tiếp giữa các tổ chức khác nhau, những CA này sẽ tiến hành xác thực chéo độc lập với nhau dẫn đến sự phát triển của thế giới Internet sẽ diễn ra trong mô hình tin cậy theo các hướng khác nhau.
CA End Entity End Entity End Entity End Entity End Entity End Entity CA CA Root CA1 End Entity End Entity CA Root CA2
d) Mô hình Hub và Spoke (Bridge CA Model)
Trong mô hình Hub và Spoke, thay bằng việc thiết lập xác thực chéo giữa các CA, mỗi CA gốc thiết lập xác thực chéo với CA trung tâm. CA trung tâm này làm cho việc giao tiếp được thuận lợi hơn. CA trung tâm được gọi là hub (hoặc bridge) CA. Số xác thực chéo trong mô hình này giảm từ n2 xuống n.
Một điểm quan trọng khác với cấu hình này là CA trung tâm không tạo ra sự phân cấp. Tất cả các thực thể trong cấu hình đều giữ khóa public của CA cục bộ, không có khóa public của CA trung tâm. Như vậy, rõ ràng mô hình này giảm đi nhược điểm của mô hình mạng nhưng lại gặp phải khó khăn trong việc thiết lập bridge CA làm việc với các CA khác nhau về hạ tầng cơ sở để các CA này có thể hoạt động được với nhau.
Mô hình này do US Federal PKI phát triển đầu tiên. Nó mở rộng PKI qua một số tổ chức lớn chia sẻ những chính sách có khả năng tương thích một cách đặc biệt và có những CA đã được thiết lập trước đây.
Hình 2.12 Mô hình Hub và Spoke e) Giải pháp Trust Lists (Web Model)
Trong mô hình này, mỗi nhà cung cấp trình duyệt gắn vào trình duyệt một hoặc nhiều khóa công khai của một số root CA phổ biến hoặc nổi tiếng. Mô hình
End Entity End Entity Bridge CA RootCA CA End Entity End Entity CA End Ent ity End Ent ity End Entity End Entity RootCA RootCA End Entity End Entity CA End Entity CA
này thiết lập một mô hình tin tưởng tự động giữa các các root CA mà khóa của các CA này được gắn trong các trình duyệt.
Danh sách tin cậy phần lớn được sử dụng để xác thực web server mà những web server này được CA xác nhận trong danh sách trình duyệt client. Quá trình này được thực hiện một cách tự động với giao thức SSL.
Ưu điểm:
- Dễ triển khai vì danh sách đã có sẵn trong trình duyệt
- Không cần thay đổi khi làm việc với trình duyệt web (Internet Explorer, FireFox) và tiện ích email (Microsoft Outlook, …).
- Mô hình này đơn giản trong việc thực thi và đối với người dùng. Mô hình này đặc biệt thích hợp cho yêu cầu PKI của những ứng dụng dựa trên Web.
Nhược điểm:
- Về mặt công nghệ thì có thể thêm mới hoặc sửa đổi một root CA nhưng hầu hết người dùng trình duyệt lại không quen thuộc với công nghệ PKI và phụ thuộc vào những CA ở trong trình duyệt này.
- Người sử dụng phải tin tưởng vào danh sách CA trong trình duyệt. Nhưng chưa có thể đảm bảo chắc chắn về tính chất tin cậy của các CA.
- Không thể thông báo đến tất cả trình duyệt của người sử dụng nếu khóa public của một CA nào đó bị xâm hại.
e) Mô hình người sử dụng trung tâm hay Web of trust (User Centric Model)
Trong mô hình này, mỗi người sử dụng trực tiếp và hoàn toàn có trách nhiệm trong việc quyết định tin tưởng hay từ chối chứng chỉ. Mỗi người sử dụng giữ một khóa vòng (ring key) và khóa này đóng vai trò như CA của họ. Khóa vòng chứa khóa public được tin cậy của những người sử dụng khác trong cộng đồng.
Nói cách khác, bất cứ ai có được chứng nhận khóa public có thể ký vào chứng nhận khóa public của người khác. Mỗi thành viên tham gia vào hệ thống này có thể đóng vai trò của CA để ký vào chứng nhận khóa public của một thành viên khác. Để có thể tin một chứng nhận khóa công cộng là hợp lệ, ta cần phải có được khóa public của người đã ký trên chứng nhận này và cần phải đảm bảo rằng người
này chỉ ký trên những chứng nhận hợp lệ. Mô hình này được Zimmerman phát triển để sử dụng trong chương trình phần mềm bảo mật PGP.
Để đảm bảo an toàn cho hệ thống, mỗi thành viên tham gia vào mô hình này có trách nhiệm đối với chữ ký của mình trên chứng nhận khóa public của các thành viên khác. Để thực hiện điều này, thông thường:
- Các thành viên có thể gặp nhau trực tiếp để trao đổi khóa public của mình và khi đó họ có thể ký vào chứng nhận khóa public của nhau.
- Kỹ thuật "vân tay" (Fingerprint): "vân tay" là chuỗi 128-bit kết quả khi sử dụng hàm băm MD5 đối với khóa public.
+ "vân tay" của A sẽ được công bố rộng rãi theo nhiều cách khác nhau, chẳng hạn như trên card visit hay trên trang web của A.
+ Nếu B chưa tin vào các chữ ký trên chứng chỉ khóa public của A thì B có thể sử dụng hàm băm MD5 để kiểm tra lại mã khóa này có phù hợp với "vân tay" của A đã được công bố hay không.
+ Nhờ vào mức độ an toàn của mật mã MD5, nên việc tìm một khóa public khác có cùng "vân tay" với một khóa public cho trước là không khả thi.
Mô hình này có một số hạn chế sau:
- Không có khả năng mở rộng và thích hợp với những miền lớn.
- Khó để đặt mức độ tin cậy đối với khóa public được lấy từ người khác. Không có sự nhất quán của quá trình xác thực vì nó phụ thuộc vào người sử dụng.
- Người sử dụng phải quản lý PKI và cần phải hiểu sâu về nó.
Mặc dù có những nhược điểm song mô hình này vẫn thích hợp cho việc sử dụng cá nhân trên Internet.
Kết chương
Tới nay, những nỗ lực hoàn thiện PKI vẫn đang được đầu tư và thúc đẩy. Và để hiện thực hoá ý tưởng tuyệt vời này, các tiêu chuẩn cần phải được nghiên cứu phát triển ở các mức độ khác nhau bao gồm: mã hoá, truyền thông và liên kết, xác
thực, cấp phép và quản lý. Tuy nhiên, hầu hết các công nghệ hình thành từ ý tưởng này đã trở nên chín muồi và một số đã bước vào giai đoạn "lão hoá". Nhiều chuẩn bảo mật trên mạng Internet, chẳng hạn Secure Sockets Layer/Transport Layer Security (SSL/TLS) và Virtual Private Network (VPN), chính là kết quả của sáng kiến PKI. Với việc sử dụng hệ thống PKI để cung cấp cơ chế mã hóa sẽ giúp cho việc truyền tải, trao đổi những tài liệu có tính chất nhạy cảm trở nên an toàn hơn.
CHƯƠNG 3
CA TRÊN WINDOWS SERVER 2008 3.1 Các loại CA:
Một CA là một tổ chức chấp nhận yêu cầu chứng thực, kiểm tra thông tin của người yêu cầu đó có phù hợp với chính sách của CA hay không, và sau đó nếu yêu cầu hợp lệ thì CA sẽ dùng khóa công khai tạo ra chữ ký điện tử cho chứng chỉ số đó. Sau đó CA sẽ cấp phát chứng chỉ số đó tới chủ sở hữu để sử dụng như một sự tin cậy bên trong một hạ tầng khóa công khai. Ngoài ra, CA đó sẽ thu hồi và công bố danh sách các chứng chỉ số bị thu hồi.
Một CA có thể ở bên ngoài tổ chức như VeriSign, hay được tạo ra để sử dụng trong tổ chức bằng cách cài đặt dịch vụ chứng chỉ số của Microsoft. Mỗi một CA có các thủ tục chứng cứ nhận dạng khác nhau cho người yêu cầu chứng thực.
Microsoft Enterprise CAs sử dụng tài khoản cá nhân như một chứng cứ nhận dạng. Nói cách khác khi ta logon vào domain và yêu cầu chứng chỉ số từ một Enterprise CA thì CA đó sẽ biết user đó thuộc domain thông qua dịch vụ thư mục AD.
Ngoài ra mỗi một CA có một chứng chỉ số để nhận dạng chính mình, chứng chỉ số này được cấp phát bởi một CA tin tưởng khác, trong trường hợp Root CA sẽ tự cấp cho chính mình. Điều này quan trọng để nhớ hơn bất cứ người nào có thể tạo ra một CA. đây là câu hỏi thực sự liên quan dù có hay không, như ta là User hay người quản trị, có tin tưởng CA đó hay không, hay chính sách và thủ tục của CA đó có thực sự hợp lý hay không.
3.1.1 Root và Subordinate CA:
Một Root CA thường được gọi là Root Authority, có nghĩa là một loại CA cao nhất trong một tổ chức triển khai hạ tầng khóa công khai. Thường thì cả về cơ chế bảo mật vật lý và chính sách cấp phát chứng chỉ số của Root CA sẽ khắt khe hơn những CA cấp dưới. Nếu một Root CA được dàn xếp hay cấp phát chứng chỉ số cho người không có thẩm quyền thì bất cứ một chứng chỉ số bảo mật nào bên trong tổ chức ngay lập tức bị tấn công. Trong khi Root CA có thể được sử dụng để cấp phát chứng chỉ số cho User cuối sử dụng để gửi Mail an toàn, thì hầu hết trong các tổ chức, chỉ sử dụng Root CA để cấp chứng chỉ số cho các CA khác, được gọi là CA cấp dưới.
Một CA cấp dưới là CA nhận chứng chỉ số của một CA cấp cao hơn trong tổ chức. Thường thì CA cấp dưới sẽ cấp phát chứng chỉ số cho những mục đích sữ dụng cụ thể như Secure Mail, chứng thực Web, hay Smart Card nhận dạng. Ngoài ra một CA cấp dưới sẽ cấp phát chứng chỉ số cho CA cấp thấp hơn. Cả Root CA và CA cấp thấp đều được cấp chứng chỉ số từ một Root, và những CA cấp dưới sẽ nhận chứng chỉ số từ các CA cấp cao hơn trong mô hình CA phân cấp.
3.1.2 Enterprise CA và Stand-alone CA
Trong phiên bản này của dịch vụ chứng chỉ số có hỗ trợ cài đặt Enterprise CA và Stand-alone CA.
3.1.2.1 Enterprise CA:
Người quản trị Enterprise có thể cài đặt dịch vụ chứng chỉ số để tạo một Enterprise CA. Enterprise có thể cấp phát chứng chỉ số cho các mục đích khác
nhau như : chữ ký điện tử, bảo mật Mail sử dụng S/MIME (Secure Multipurpose Internet Mail Extensions), xác thực để an toàn giao tiếp với Web Server dùng SSL