Tìm hiểu về hệ thống phân cấp và vận hành Certificate Authority

Chứng chỉ số và áp dụng PKI đã thay đổi khá nhiều trong những năm gần đây. Đã qua rồi những ngày chứng chỉ chỉ đồng nghĩa với SSL / TLS; trình điều khiển tuân thủ như yêu cầu xác thực mạnh hơn và quy định chữ ký số (ví dụ  eIDAS ) đã mở rộng đáng kể vai trò của PKI trong doanh nghiệp.

Khi việc sử dụng PKI được mở rộng, cuộc trò chuyện đã vượt ra ngoài số lượng và loại chứng chỉ cần thiết và đối thoại sâu hơn về việc triển khai PKI tùy chỉnh. Một phần lớn của cuộc trò chuyện là xung quanh các CA cấp dưới, đôi khi được gọi là CA ban hành hoặc CA trung gian, và tại sao một tổ chức có thể muốn riêng một chứng chỉ cho họ. Hãy thảo luận.

Hệ thống phân cấp CA là gì và tại sao chúng ta cần chúng?

Như chúng ta đã biết, CA là các thực thể cấp chứng chỉ kỹ thuật số, nhưng điều có thể ít được biết đến là một CA thực sự được tạo thành từ một loạt các CA. Hệ thống phân cấp CA này tạo ra một chuỗi tin cậy mà tất cả các chứng chỉ thực thể cuối đều dựa vào.

4rVí dụ phân cấp CA

Số tầng giữa chứng chỉ gốc và chứng chỉ cuối và độ phức tạp chung của hệ thống phân cấp có thể khác nhau tùy thuộc vào môi trường. Ví dụ, một số tổ chức trong IoT và không gian internet công nghiệp đang xây dựng chứng chỉ nhận dạng thiết bị vào quy trình sản xuất của họ đã thực hiện phân cấp tùy chỉnh liên quan đến tin cậy chéo, các CA cấp dưới riêng biệt cho từng thành phần trong chuỗi cung ứng, CA cụ thể theo địa điểm và hơn thế nữa. Cho dù hệ thống phân cấp tổng thể phức tạp đến mức nào, chúng vẫn được tạo thành từ ba thành phần chính:

  • Root CA  – CA gốc là cấp cao nhất của hệ thống phân cấp và đóng vai trò là mỏ neo tin cậy. Để chứng chỉ thực thể cuối được tin cậy, CA gốc mà chuỗi đó phải được nhúng vào hệ điều hành, trình duyệt, thiết bị hoặc bất cứ điều gì đang xác thực chứng chỉ. Root CA được bảo mật rất nhiều và được giữ ngoại tuyến (nhiều hơn về điều này bên dưới).
  • Các CA cấp dưới  – Chúng sống giữa các chứng chỉ thực thể gốc và cuối và mục đích chính của chúng là xác định và ủy quyền các loại chứng chỉ có thể được yêu cầu từ CA gốc. Ví dụ: trên các phân cấp công khai, bạn phải tách các CA cấp dưới SSL và S / MIME. Một kịch bản phổ biến khác là Cấp dưới riêng biệt cho các vị trí khác nhau hoặc bạn có thể có một chứng chỉ cho các khóa ECC và một cho các khóa RSA.Lưu ý : Rằng có thể có một hoặc nhiều CA cấp dưới giữa CA gốc và chứng chỉ thực thể cuối. Cấp dưới sống giữa CA gốc và cấp dưới khác đôi khi được gọi là CA trung gian (xem chi nhánh ngoài cùng bên phải trong sơ đồ trên).
  • Chứng chỉ thực thể cuối  – Đây là các chứng chỉ được cài đặt trên máy chủ, máy móc, phần cứng và thiết bị mã hóa (ví dụ: SSL / TLS được cấp cho máy chủ, ký mã, chứng chỉ ứng dụng khách được cấp cho cá nhân để mã hóa email, ký điện tử, xác thực).Mỗi thực thể được ký bởi một bên trên nó trong hệ thống phân cấp để tạo ra chuỗi tin cậy mà tôi đã đề cập trước đó. CA gốc là tự ký và ký tất cả các CA cấp dưới ngay bên dưới nó. Lần lượt chúng ký các thực thể bên dưới chúng, hoặc các CA cấp dưới bổ sung hoặc chứng chỉ thực thể cuối cùng cuối cùng.

Bạn thực sự có thể xem hệ thống phân cấp này bằng hành động bằng cách xem chi tiết của bất kỳ chứng chỉ nào. Ví dụ: nếu bạn truy cập trang web sử dụng SSL / TLS (tìm HTTPS ở đầu thanh địa chỉ) và xem chứng chỉ, bạn có thể tìm thấy đường dẫn chứng chỉ. Trong ví dụ dưới đây, bạn có thể thấy:

  • Root CA – Root GlobalSign Root CA – R3.
  • CA cấp dưới – CA Xác nhận mở rộng GlobalSign CA – SHA256 – G3 .
  • Chứng chỉ thực thể kết thúc –  globalalsign.com

Đường dẫn chứng chỉ mẫu cho Chứng chỉ SSL / TLS được tin cậy công khai được xem trong Chrome

Tại sao chúng ta cần phân cấp CA?

Bạn có thể tự hỏi tại sao chúng ta cần chuỗi tin tưởng này ngay từ đầu. Rốt cuộc, bất kỳ CA nào trong hệ thống phân cấp đều có khả năng cấp chứng chỉ, vậy tại sao chúng ta không phát hành ngay từ gốc? Tại sao phải duy trì tất cả các thực thể riêng biệt này?

Điều này dẫn đến những gì xảy ra nếu một CA bị xâm phạm. Điều này không thể thực hiện được với các biện pháp kiểm soát thích hợp, nhưng trong trường hợp không may xảy ra, chính CA và bất cứ điều gì khác bên dưới nó – bất kỳ CA cấp dưới và tất cả các chứng chỉ được cấp – đều phải bị thu hồi. Điều này đặt ra một vấn đề đặc biệt khó khăn đối với các CA gốc bởi vì, như các mỏ neo tin cậy, chúng là những vấn đề phải được phân phối và nhúng ở mọi nơi. Điều này có nghĩa là để bất kỳ chứng chỉ thực thể cuối mới nào được tin cậy một lần nữa, bạn phải áp dụng lại cho các chương trình root riêng lẻ do Microsoft, Mozilla, Google, Apple (và phần còn lại) điều hành, có thể được thực hiện. Nếu bạn cần root đó để được tin cậy công khai, bạn đang xem phân phối cho mọi trình duyệt, hệ điều hành, thiết bị, bảng điều khiển, ứng dụng email, bộ ứng dụng, v.v. – đó hoàn toàn là danh sách!

Vì lý do này, cách tốt nhất là cấp chứng chỉ thực thể cuối cùng từ cấp dưới thay thế (và đối với các gốc đáng tin cậy công khai, Diễn đàn CA / Browser cấm hoàn toàn phát hành từ gốc). Bằng cách này trong trường hợp thỏa hiệp, bạn đang giảm thiểu những gì cần thu hồi và cuối cùng được thay thế. Nếu một trong những CA cấp dưới của bạn bị xâm phạm, bạn chỉ có thể thu hồi nó và các chứng chỉ bên dưới. Chứng chỉ được cấp từ các cấp dưới khác sẽ vẫn ổn và bạn sẽ không cần phân phối lại các neo tin cậy của mình (ví dụ như Root CA). Đây cũng là lý do cho các biện pháp bảo vệ an ninh cực đoan được áp dụng xung quanh các CA gốc và tại sao chúng nên được giữ ngoại tuyến – nếu có điều gì đó xảy ra với CA gốc của bạn, bạn sẽ có một khoảng thời gian tồi tệ. Chúng chỉ nên được kích hoạt khi cần thiết để ký một danh sách thu hồi cấp dưới hoặc chứng chỉ mới (CRL).

Tại sao bạn muốn CA cấp dưới của riêng bạn?

Vì vậy, bây giờ bạn đã biết CA cấp dưới hoặc CA trung gian là gì và chúng phù hợp với kiến ​​trúc CA rộng hơn, bây giờ chúng ta có thể giải quyết lý do tại sao các tổ chức có thể muốn riêng của họ – đó là CA cấp dưới chuyên dụng trong tên của họ. Dưới đây là một số lý do phổ biến nhất:

Xác thực ứng dụng khách

Xác thực ứng dụng khách dựa trên chứng chỉ thường xác nhận các chứng chỉ dựa trên CA cấp dưới. Bằng cách có một CA cấp dưới độc quyền, bạn có thể giới hạn người có chứng chỉ cấp quyền truy cập vào hệ thống. Các CA cấp dưới này có thể là riêng tư hoặc công khai, tùy thuộc vào nhu cầu của tổ chức.

Kiểm tra / Giải mã SSL

Để các thiết bị kiểm tra SSL giải mã và mã hóa lại nội dung, nó phải có thể cấp chứng chỉ khi cần thiết. Điều này có nghĩa là nó cần CA cấp dưới của riêng mình và chúng không thể được tin cậy công khai.

Giấy chứng nhận trường hợp sử dụng đặc biệt

Một số loại chứng chỉ, chẳng hạn như SSL / TLS và Ký mã EV, được quy định bởi Yêu cầu cơ bản của Diễn đàn CA / Browser, trong đó chỉ định những thứ như thời hạn hiệu lực và kích thước khóa. Tất cả các chứng chỉ tin cậy công khai phải tuân thủ các nguyên tắc này. Tuy nhiên, các chứng chỉ được cấp theo phân cấp riêng nằm ngoài phạm vi của các yêu cầu này và có thể hỗ trợ các ứng dụng cũ và cấu hình duy nhất, chẳng hạn như thời gian hiệu lực dài hơn và kích thước khóa nhỏ hơn.

Hồ sơ tùy chỉnh

Bạn có thể định cấu hình CA cấp dưới để đáp ứng các nhu cầu cụ thể của mình về việc sử dụng khóa mở rộng, chính sách chứng chỉ, phân phối CRL, chứng chỉ ngắn hạn và hơn thế nữa.

Xây dựng thương hiệu

Đối với các công ty cung cấp chứng chỉ cho khách hàng cuối của họ hoặc đưa họ vào dịch vụ của họ, việc có một CA cấp dưới chuyên dụng trong tên của họ có thể cung cấp một số cơ hội xây dựng thương hiệu bổ sung. Chúng tôi thấy điều này thường xuyên nhất với các tổ chức cung cấp Chứng chỉ SSL / TLS cho khách hàng cuối của họ (ví dụ: công ty lưu trữ, nhà xây dựng trang web, nền tảng thương mại điện tử) nơi có CA cấp dưới đáng tin cậy công khai của họ có nghĩa là họ có thể cung cấp các trang và chứng chỉ đặt hàng có thương hiệu.

Cách nhận CA cấp dưới của riêng bạn – PKI trong nhà so với lưu trữ

Nếu có CA cấp dưới của riêng bạn nghe giống như câu trả lời cho các vấn đề của bạn, câu hỏi hợp lý tiếp theo là làm thế nào để có được một. Đối với điều này, giống như nhiều  khía cạnh khác của công nghệ  hiện nay, bạn có tùy chọn để tự xây dựng hoặc sử dụng giải pháp SaaS.

Công bằng mà nói, nếu bạn cần sự tin tưởng của công chúng, cuộc tranh luận này là không liên quan – bạn cần phải làm việc với một CA công khai. Đối với các trường hợp sử dụng riêng, chẳng hạn như các trường hợp được đề cập ở trên và các trường hợp khác chỉ có ở công ty, chạy CA nội bộ vẫn là một tùy chọn.

Tại sao bạn cần phải chạy CA của riêng bạn?

Trước đây, không có gì lạ khi các công ty lớn tự mình tham gia PKI, thường là bằng cách sử dụng Microsoft CA và Dịch vụ chứng chỉ. Ngoài các mục tiêu chung áp dụng cho hầu hết các cuộc tranh luận DIY vs SaaS, như kiểm soát và bảo mật tốt hơn, một số trình điều khiển dành riêng cho PKI bao gồm:

  • Khả năng liên kết với Active Directory để tự động đăng ký và âm thầm cài đặt chứng chỉ cho tất cả người dùng và điểm cuối tham gia tên miền – điều này giúp giảm đáng kể thời gian quản lý vòng đời chứng chỉ.
  • Nó miễn phí – Các dịch vụ Microsoft CA được bao gồm trong Windows Enterprise Server, vì vậy bạn không phải trả tiền cho các chứng chỉ riêng lẻ hoặc bất kỳ dịch vụ hỗ trợ nào.
  • Họ không cần sự tin tưởng của công chúng – tiếp theo từ viên đạn trước, tại sao một công ty sẽ trả tiền cho các chứng chỉ tin cậy công khai nếu họ có thể nhận được các chứng chỉ ngoài công lập miễn phí?
  • Các CA cấp dưới chuyên dụng – bằng cách quản lý PKI của riêng bạn, bạn có thể tạo các CA cấp dưới của riêng mình và đảm bảo chỉ có công ty của bạn có quyền truy cập vào chúng.

Các dịch vụ mới từ CA của bên thứ ba đã đưa ra lựa chọn thuê ngoài

Tôi đặc biệt nói rằng, trong quá khứ, trên đây vì vẫn còn nhiều công ty điều hành các CA nội bộ của họ ở ngoài đó và vẫn còn một số lý do hợp lệ để làm như vậy, nhiều yếu tố trên không còn phù hợp nữa nhờ vào sự đổi mới từ công chúng CA. Tích hợp với Active Directory, các cơ chế tự động hóa khác, khả năng có CA cấp dưới của riêng bạn (đáng tin cậy công khai hay không) – những tính năng này hiện có sẵn thông qua nhiều CA công cộng.

Chi phí ẩn của PKI nội bộ

Ngoài ra, e rằng bạn nghĩ rằng tôi đang quên đi yếu tố chi phí và đề nghị mọi người bỏ qua thực tế là các CA của Microsoft là miễn phí, không có chính xác tại đây. Mặc dù bạn không phải trả tiền cho các dịch vụ MS CA hoặc chính các chứng chỉ, nhưng có rất nhiều thứ khác để vận hành CA của chính bạn, phần lớn trong số đó thực sự có thể làm tăng tổng chi phí sở hữu.

Ví dụ: bạn sẽ cần nhân viên quản lý CA và phần cứng để lưu trữ khóa gốc và ký khóa của bạn. Hãy nhớ rằng một mô-đun bảo mật phần cứng (HSM) có thể có giá $ 20k và bạn sẽ cần nhiều hơn một để dự phòng, bạn có thể thấy rằng những chi phí ẩn này không tầm thường.

Các cân nhắc về bảo mật và PKI khi chạy CA của riêng bạn

Có thể cho rằng những cân nhắc quan trọng nhất trong cuộc tranh luận PKI nội bộ so với lưu trữ, đối với tôi, ít nhất, đối với tôi, là an ninh cơ sở hạ tầng, tính sẵn có và theo kịp các yêu cầu cơ bản. Nếu bạn thuê ngoài, tất cả những thứ đó rơi vào CA công cộng và thay vào đó bạn có thể tập trung vào năng lực cốt lõi của mình. Nếu bạn mang nó trong nhà, bạn cần xem xét:

  • Cách bạn bảo vệ và lưu trữ root ngoại tuyến của bạn,
  • Tạo và duy trì cơ sở hạ tầng thu hồi CRL và OCSP,
  • Một kế hoạch khắc phục thảm họa để khôi phục hoạt động,
  • Chính sách và quy trình quản lý vòng đời để đảm bảo rằng chỉ những người dùng được ủy quyền mới có quyền truy cập, chứng chỉ không hết hạn và hệ thống phân cấp của bạn được duy trì đúng cách và
  • Làm thế nào bạn sẽ đáp ứng và duy trì sự tuân thủ với các chương trình kiểm tra yêu cầu mạng và chương trình gốc khác nhau (nếu bạn cần sự tin tưởng của công chúng).

Tất cả điều này là để nói, nếu bạn muốn chạy CA nội bộ của riêng bạn, bằng mọi cách, hãy tiếp tục! Tuy nhiên, hãy lưu ý mọi thứ liên quan và biết rằng có các CA bên thứ ba có thể giúp bạn đạt được mục tiêu của mình (cho dù đó là tự động hóa, tích hợp với Active Directory, phân cấp riêng, hồ sơ chứng chỉ tùy chỉnh, dịch vụ thu hồi được lưu trữ, CA cấp dưới chuyên dụng, v.v.) mà không cần bạn phải gánh vác gánh nặng quản lý PKI.

Đặc biệt, bạn nên biết rằng nếu bạn đang tìm kiếm các CA cấp dưới chuyên dụng (công khai hoặc riêng tư, vì bất kỳ lý do nào được đề cập ở trên và hơn thế nữa), có các tùy chọn được lưu trữ ngoài kia! Bạn không phải là một chuyên gia PKI để sử dụng PKI; bạn chỉ cần biết nói chuyện với ai

bình luận

Leave a Comment