Tìm hiểu sự khác biệt giữa chứng chỉ gốc và chứng chỉ trung gian trong cung cấp SSL

Nhiều người không nhận ra rằng chứng chỉ SSL của người dùng cuối chỉ là một phần của chuỗi chứng chỉ.

Hãy nói về chứng chỉ CA trung gian và gốc trong vài phút. SSL (hoặc chính xác hơn, TLS) là một công nghệ mà hầu hết người dùng cuối đều biết rất ít. Ngay cả những người sử dụng thường không biết nhiều hơn thực tế rằng họ cần một giấy chứng nhận SSL, và họ phải cài đặt nó trên máy chủ của họ để phục vụ trang web của họ thông qua HTTPS.

Đó là lý do tại sao khi bạn bắt đầu đề cập đến chứng chỉ Trung cấp và CA và chứng chỉ Gốc và CA, hầu hết mọi người bắt đầu nhìn chằm chằm, khiến cho nó trở thành chủ đề bạn nên tránh xa ngày đầu tiên.

Và để lí giải hôm nay chúng ta sẽ nghiên cứu sâu vào các chuỗi chứng chỉ, trung gian và nguồn gốc. Nó có thể có vẻ như rất nhiều lúc đầu, nhưng hy vọng vào cuối bài viết này nó sẽ có vẻ khá đơn giản.

Chứng chỉ gốc là gì?

Chứng chỉ gốc (Root Certificate), thường được gọi là gốc tin cậy, là trung tâm của mô hình tin cậy trải qua SSL / TLS. Mỗi trình duyệt đều có một cửa hàng gốc. Một số trình duyệt chạy riêng, trong khi các trình duyệt khác sử dụng cửa hàng của bên thứ ba. Cửa hàng gốc là tập hợp các chứng chỉ gốc được tải xuống sẵn có trên thiết bị của bạn. Chứng chỉ gốc là vô giá vì bất kỳ chứng chỉ nào được ký bằng khóa riêng của nó sẽ được trình duyệt tự động tin cậy.

Nguồn gốc tin cậy thuộc về Tổ chức phát hành chứng chỉ (Certificate Authorities -CA) — các tổ chức xác thực và cấp chứng chỉ SSL. Chúng ta sẽ nghiên cứu sâu hơn một chút trong một vài phút, nhưng trước tiên hãy thảo luận về chuỗi chứng chỉ.

Chuỗi chứng chỉ là gì?

 

Trước khi chúng ta có thể tiếp tục, chúng ta cần giới thiệu khái niệm chuỗi chứng chỉ. Hãy để tôi bắt đầu bằng cách đặt câu hỏi: trình duyệt của bạn biết cách tin tưởng chứng chỉ SSL của trang web như thế nào? Khi bạn đến một trang web, trình duyệt của bạn sẽ xem xét chứng chỉ SSL của nó và thực hiện một quy trình nhanh để xác minh tính xác thực của chứng chỉ.

Những gì trình duyệt của bạn đang thực hiện để xác thực chứng chỉ đang theo chuỗi chứng chỉ. Vì vậy, chuỗi chứng chỉ là gì? Để nhận được chứng chỉ SSL, bạn bắt đầu bằng cách tạo Yêu cầu ký chứng chỉ (CSR) và Khóa cá nhân. Trong lần lặp đơn giản nhất của nó, bạn gửi CSR tới tổ chức phát hành chứng chỉ, sau đó nó sẽ ký chứng chỉ SSL của bạn với khóa riêng từ gốc của nó và gửi nó trở lại.

Bây giờ, khi một trình duyệt nhìn thấy chứng chỉ SSL, nó thấy rằng chứng chỉ được ký bởi một trong những gốc tin cậy (hoặc chính xác hơn, được ký với khóa riêng của root). Vì nó tin cậy gốc, nó tin tưởng bất kỳ chứng chỉ nào có dấu hiệu gốc. Trong ví dụ này, chuỗi chứng chỉ máy chủ trực tiếp đến thư mục gốc.

Chứng chỉ trung gian là gì?

Tổ chức phát hành chứng chỉ không cấp chứng chỉ máy chủ (chứng chỉ SSL của người dùng cuối) trực tiếp từ gốc của họ. Điều đó sẽ rất nguy hiểm, bởi vì nếu có bất kỳ sự phát hành sai hoặc sai lầm nào yêu cầu gốc bị thu hồi, thì mọi chứng chỉ đã được ký bằng cách sử dụng root sẽ không tin cậy ngay lập tức.

Vì vậy, để trách việc ảnh hưởng đến mình, CA thường phát hành một thứ được gọi là gốc trung gian. CA ký gốc trung gian với khóa riêng của nó, làm cho nó đáng tin cậy. Sau đó, CA sử dụng khóa riêng tư của chứng chỉ trung gian để ký chứng chỉ SSL của người dùng cuối. Quá trình này có thể diễn ra nhiều lần, trong đó một gốc trung gian ký một trung gian khác và sau đó một CA sử dụng nó để ký chứng nhận.

Đây là hình ảnh của chuỗi chứng chỉ. Ví dụ của chúng tôi, chúng tôi sẽ chỉ sử dụng một trung gian để giữ cho nó đơn giản. Chuỗi chứng chỉ trong thế giới thực thường phức tạp hơn nhiều.

Chữ ký số đóng vai trò gì?

Chữ ký số giống như một hình thức kỹ thuật số của công chứng trong bối cảnh này. Khi một chứng chỉ gốc ký một cách kỹ thuật số một chứng chỉ trung gian, nó chủ yếu chuyển một số sự tin cậy của nó tới trung gian. Bởi vì chữ ký đến trực tiếp từ khóa riêng của chứng chỉ gốc tin cậy, nó tự động được tin cậy.

Đoạn này sẽ có một chút kỹ thuật, vì vậy hãy bỏ qua phía trước. Bất cứ khi nào một trình duyệt hoặc thiết bị hoạt động với một chứng chỉ SSL, nó sẽ nhận được chứng chỉ cũng như khóa công khai được liên kết với chứng chỉ. Sử dụng khóa công khai, nó giải mã chữ ký kỹ thuật số và xem ai được tạo– chứng chỉ nào đã ký. Bạn có thể bắt đầu ghép nối với nhau ngay bây giờ. Khi trình duyệt của bạn đang xác thực chứng chỉ SSL của người dùng cuối trên trang web, trình duyệt sẽ sử dụng khóa công khai được cung cấp để giải mã chữ ký và di chuyển một liên kết lên chuỗi. Nó tiếp tục lặp lại quá trình này – giải mã chữ ký và theo chuỗi đến chứng chỉ đã ký – cho đến khi nó đến một trong các chứng chỉ gốc trong kho lưu trữ tin cậy của trình duyệt.

Nếu nó không thể đưa chuỗi chứng chỉ trở lại một trong các gốc tin cậy của nó, nó sẽ không tin tưởng chứng chỉ đó.

Ok, vậy sự khác biệt giữa CA gốc và CA trung gian là gì?

Điều này thực sự khá đơn giản. CA gốc là một Tổ chức phát hành chứng chỉ sở hữu một hoặc nhiều nguồn tin cậy. Điều đó có nghĩa là chúng có nguồn gốc trong các kho lưu trữ tin cậy của các trình duyệt chính. Các CA trung gian hoặc các CA phụ là các Tổ chức phát hành chứng chỉ phát hành gốc trung gian. Họ không có gốc trong các kho lưu trữ tin cậy của trình duyệt, thay vào đó chuỗi gốc trung gian của họ làm việc với một thư mục gốc của bên thứ ba đáng tin cậy. Điều này đôi khi được gọi là ký chéo.

Bây giờ, đây là nơi nó có thể gây nhầm lẫn một chút. Như chúng ta đã thảo luận ở trên, các CA không phát hành trực tiếp từ gốc của chúng. Họ thêm các lớp bảo mật bằng cách phát hành trung gian và sau đó ký giấy chứng nhận với các lớp đó. Điều này giúp giảm thiểu và ngăn chặn thiệt hại trong trường hợp phát hành sai hoặc sự kiện bảo mật. Thay vì thu hồi chứng chỉ gốc và nghĩa là mọi chứng chỉ mà nó đã ký bằng tiện ích mở rộng, bạn chỉ cần thu hồi phần trung gian, điều này chỉ khiến nhóm chứng chỉ được cấp ra khỏi trung gian đó để không tin cậy.

Dưới đây là một ví dụ thực tế, Google và các trình duyệt khác thời gian gần đây không tin tưởng chứng chỉ SSL thương hiệu Symantec CA . Lúc đầu, đây có vẻ như là một nhiệm vụ hoành tráng, không tin tưởng hàng triệu chứng chỉ SSL của người dùng cuối. Trong thực tế, nó rất đơn giản. Họ chỉ cần loại bỏ tất cả các gốc chứng chỉ của Symantec CA từ các cửa hàng tin cậy của họ. Bây giờ bất kỳ chứng chỉ nào được cho là sẽ quay trở lại những gốc rễ đó đều thất bại và không tin cậy. (Điều đáng chú ý là DigiCert đã dọn dẹp Symantec một cách độc đáo, nhưng điều này đóng vai trò như một ví dụ thực tế tốt cho cuộc thảo luận này.)

Sự khác nhau giữa gốc ghép và gốc đơn là gì?

Điều đó thực sự nghe lại câu hỏi cuối cùng của chúng tôi. Một gốc đơn được sở hữu bởi một CA. Nó có thể cấp chứng chỉ trực tiếp, làm cho nó đơn giản hơn nhiều để triển khai các chứng chỉ và đơn giản hóa việc cài đặt. Một gốc ghép là những gì mà một CA phụ sử dụng để phát hành các chứng chỉ. Đó là một chứng chỉ trung gian, nhưng, vì Sub CA không có gốc tin cậy của nó nên phải kết nối với một CA thứ ba có một chứng chỉ.

Điều này làm cho một sự khác biệt, quá. Đây là lý do tại sao:

  • Các gốc ghép được tạo ra cho các cài đặt phức tạp hơn vì gốc trung gian sẽ cần phải được nạp vào mọi máy chủ và ứng dụng lưu trữ chứng chỉ.
  • Rễ và chứng chỉ trung gian cũng hết hạn. Mặc dù trên các mốc thời gian dài hơn. Tuy nhiên, một trung gian phải hết hạn trước khi gốc của nó, điều đó làm tăng thêm sự phức tạp.

Một từ cuối cùng trên Roots và Intermediates

Những gì chúng tôi vừa mô tả – mô hình tin cậy liên quan đến Tổ chức phát hành chứng chỉ, chuỗi chứng chỉ và chữ ký mã hóa – về cơ bản là PKI hoặc Cơ sở hạ tầng khóa công khai. Tôi đã tránh sử dụng thuật ngữ đó cho đến bây giờ bởi vì nó có vẻ rất trừu tượng cho đến khi bạn đi sâu vào các chi tiết cụ thể một chút.

Nhưng, khi ai đó đề cập đến PKI thì đây là ý của họ. Và với ý nghĩ đó, bạn có thể tìm ra cách một CA riêng tư và các chứng chỉ tự ký được triển khai trong bối cảnh Enterprise. Làm việc cùng với một CA đáng tin cậy, một tổ chức tạo ra một chứng chỉ gốc và khóa riêng. Tổ chức sau đó thêm gốc vào các cửa hàng gốc của chính nó, trên tất cả các hệ thống và thiết bị của nó. Và từ thời điểm đó, tổ chức có thể tự ký các chứng chỉ X.509 của riêng mình bằng cách sử dụng khóa riêng tư từ chính gốc của nó và chúng sẽ được tin cậy trên mạng của tổ chức đó.

Thành thật mà nói, đó là tương lai của PKI. Và tương lai sẽ đến nhanh hơn bất cứ ai nhận ra.

0/5 (0 Reviews)

Leave a Comment