Sự khác biệt giữa NTLM và Kerberos

Mô-đun xác thực Windows tích hợp IIS thực hiện hai giao thức xác thực chính: NTLM và giao thức xác thực Kerberos. Nó kêu gọi ba Nhà cung cấp dịch vụ bảo mật (SSP) khác nhau: Kerberos, NTLM và đàm phán. Các SSP và giao thức xác thực này thường có sẵn và được sử dụng trên các mạng Windows. NTLM thực hiện xác thực NTLM và Kerberos thực hiện xác thực Kerberos v5. Đàm phán là khác nhau vì nó không hỗ trợ bất kỳ giao thức xác thực. Vì xác thực Windows tích hợp bao gồm một số giao thức xác thực, nó cần một giai đoạn đàm phán trước khi xác thực thực tế giữa trình duyệt Web và máy chủ có thể diễn ra. Trong giai đoạn đàm phán này, SSP đàm phán xác định giao thức xác thực nào sẽ được sử dụng giữa trình duyệt Web và máy chủ.

Cả hai giao thức đều cực kỳ an toàn và chúng có khả năng xác thực ứng dụng khách mà không truyền mật khẩu qua mạng dưới mọi hình thức, nhưng chúng bị hạn chế. Xác thực NTLM không hoạt động trên các proxy HTTP vì nó yêu cầu kết nối điểm-điểm giữa trình duyệt Web và máy chủ để hoạt động chính xác. Xác thực Kerberos chỉ khả dụng trên các trình duyệt IE 5.0 và máy chủ Web IIS 5.0 trở lên. Nó chỉ hoạt động trên các máy chạy Windows 2000 trở lên và yêu cầu một số cổng bổ sung được mở trên tường lửa. NTLM không an toàn như Kerberos, vì vậy, chúng tôi luôn khuyến nghị sử dụng Kerberos càng nhiều càng tốt. Chúng ta hãy nhìn vào hai.

NTLM là gì?

NT LAN Manager là một giao thức xác thực dựa trên phản hồi thử thách được sử dụng bởi các máy tính Windows không phải là thành viên của miền Active Directory. Máy khách khởi tạo xác thực thông qua cơ chế thử thách / phản hồi dựa trên bắt tay ba bước giữa máy khách và máy chủ. Máy khách bắt đầu liên lạc bằng cách gửi tin nhắn đến máy chủ chỉ định khả năng mã hóa của nó và chứa tên tài khoản của người dùng. Máy chủ tạo ra một giá trị ngẫu nhiên 64 bit được gọi là nonce và đáp ứng yêu cầu của khách hàng bằng cách trả về nonce này chứa thông tin về các khả năng của chính nó. Phản ứng này được gọi là thách thức. Sau đó, khách hàng sử dụng chuỗi thử thách và mật khẩu của nó để tính toán một phản hồi mà nó truyền đến máy chủ. Sau đó, máy chủ xác nhận phản hồi mà nó nhận được từ máy khách và so sánh nó với phản hồi NTLM. Nếu hai giá trị giống hệt nhau, xác thực thành công.

Kerberos là gì?

Kerberos là một giao thức xác thực dựa trên vé được sử dụng bởi các máy tính Windows là thành viên của miền Active Directory. Xác thực Kerberos là phương pháp tốt nhất để cài đặt IIS nội bộ. Xác thực Kerberos v5 được thiết kế tại MIT và được xác định trong RFC 1510. Windows 2000 và sau đó thực hiện Kerberos khi Active Directory được triển khai. Phần tốt nhất, nó làm giảm số lượng mật khẩu mà mỗi người dùng phải ghi nhớ để sử dụng toàn bộ mạng thành một - mật khẩu Kerberos. Ngoài ra, nó kết hợp mã hóa và toàn vẹn thông điệp để đảm bảo rằng dữ liệu xác thực nhạy cảm không bao giờ được gửi qua mạng rõ ràng. Hệ thống Kerberos hoạt động thông qua một tập hợp các Trung tâm phân phối khóa tập trung hoặc KDC. Mỗi KDC chứa cơ sở dữ liệu tên người dùng và mật khẩu cho cả người dùng và dịch vụ hỗ trợ Kerberos.

Sự khác biệt giữa NTLM và Kerberos

Giao thức của NTLM và Kerberos

- NTLM là một giao thức xác thực dựa trên phản hồi thử thách được sử dụng bởi các máy tính Windows không phải là thành viên của miền Active Directory. Máy khách khởi tạo xác thực thông qua cơ chế thử thách / phản hồi dựa trên bắt tay ba bước giữa máy khách và máy chủ. Kerberos, mặt khác, là một giao thức xác thực dựa trên vé chỉ hoạt động trên các máy chạy Windows 2000 trở lên và chạy trong miền Active Directory. Cả hai giao thức xác thực đều dựa trên mật mã khóa đối xứng.

Ủng hộ

- Một trong những khác biệt chính giữa hai giao thức xác thực là Kerberos hỗ trợ cả mạo danh và ủy quyền, trong khi NTLM chỉ hỗ trợ mạo danh. Phái đoàn về cơ bản là khái niệm tương tự như mạo danh chỉ liên quan đến việc thực hiện các hành động thay mặt cho danh tính của khách hàng. Tuy nhiên, mạo danh chỉ hoạt động trong phạm vi trên một máy, trong khi ủy quyền cũng hoạt động trên mạng. Điều này có nghĩa là vé xác thực danh tính của khách hàng ban đầu có thể được chuyển đến một máy chủ khác trong mạng nếu máy chủ được truy cập ban đầu có quyền làm như vậy.

Bảo vệ

- Mặc dù cả hai giao thức xác thực đều an toàn, NTLM không an toàn như Kerberos vì nó yêu cầu kết nối điểm-điểm giữa trình duyệt Web và máy chủ để hoạt động chính xác. Kerberos an toàn hơn vì nó không bao giờ truyền mật khẩu qua mạng rõ ràng. Nó là duy nhất trong việc sử dụng vé chứng minh danh tính của người dùng đến một máy chủ nhất định mà không gửi mật khẩu qua mạng hoặc lưu mật khẩu vào đĩa cứng của người dùng cục bộ. Xác thực Kerberos là phương pháp tốt nhất để cài đặt IIS nội bộ (các trang web chỉ được sử dụng bởi các máy khách miền).

Xác thực

- Một trong những ưu điểm chính của Kerberos so với NTLM là Kerberos cung cấp xác thực lẫn nhau và nhắm vào mô hình máy khách-máy chủ nghĩa là tính xác thực của máy khách và máy chủ đều được xác minh. Tuy nhiên, cả dịch vụ và máy khách đều phải chạy trên Windows 2000 trở lên, nếu không xác thực sẽ thất bại. Không giống như NTLM, chỉ liên quan đến máy chủ IIS7 và máy khách, xác thực Kerberos cũng liên quan đến bộ điều khiển miền Active Directory.

NTLM so với Kerberos: Biểu đồ so sánh

Tóm tắt về NTLM Vs. Kerberos

Mặc dù cả hai giao thức đều có khả năng xác thực ứng dụng khách mà không truyền mật khẩu qua mạng dưới bất kỳ hình thức nào, NTLM xác thực ứng dụng khách mặc dù cơ chế phản hồi / phản hồi dựa trên bắt tay ba chiều giữa máy khách và máy chủ. Kerberos, mặt khác, là một giao thức xác thực dựa trên vé an toàn hơn NTLM và hỗ trợ xác thực lẫn nhau, có nghĩa là tính xác thực của máy khách và máy chủ đều được xác minh. Ngoài ra, Kerberos hỗ trợ cả mạo danh và ủy quyền, trong khi NTLM chỉ hỗ trợ mạo danh. NTLM không an toàn như Kerberos, vì vậy, chúng tôi luôn khuyến nghị sử dụng Kerberos càng nhiều càng tốt.