Nội dung bài viết
#

Giao thức Kerberos là gì? Đặc điểm và cách thức hoạt động

Nội dung bài viết

    Hiện nay, trong lĩnh vực CNTT xuất hiện rất nhiều giao thức xác thực bảo vệ khác nhau. Một trong số đó là giao thức Kerberos. Hãy cùng BKHOST tìm hiểu chi tiết hơn về loại giao thức xác thực này và cùng so sánh nó với một số giao thức khác trong bài viết dưới đây.

    Giao thức Kerberos là gì?

    Giao thuc Kerberos la gi

    Giao thức Kerberos được triển khai nhằm xác thực yêu cầu dịch vụ giữa các máy chủ trên mạng Internet. Hiện nay, hầu hết các hệ điều hành máy tính hiện nay như Microsoft Windows, Apple mac OS, FreeBSD và Linux đều được cài đặt sẵn các hỗ trợ Kerberos này.

    Một số đối tượng sử dụng giao thức Kerberos như các phiên bản Windows 2000 trở đi, dịch vụ Windows Active Directory (AD) và các nhà cung cấp dịch vụ Broadband. Tên giao thức Kerberos được đặt với ý nghĩa là ba cổng bảo vệ Hades. Cụ thể đó là:

    • Khách hàng hoặc chủ sở hữu.
    • Tài nguyên mạng bao gồm máy chủ ứng dụng cung cấp quyền truy cập.
    • KDC hoạt động giống như một dịch vụ xác thực bên thứ ba đáng tin cậy.

    KDC với một quy trình chạy duy nhất cung cấp đồng thời hai dịch vụ đó là xác thực và cấp Ticket. Trong đó, Ticket KDC có khả năng xác thực lẫn nhau cho phép các Node dễ dàng xác minh danh tính với nhau một cách an toàn. Còn xác thực Kerberos sử dụng một loại bảo mật được chia sẻ nhằm ngăn chặn các hành vi đọc và chỉnh sửa các gói truyền qua mạng.

    Nhiệm vụ của giao thức Kerberos

    Ban đầu, giao thức Kerberos được triển khai nhằm cho phép người dùng mạng MIT có thể tự xác thực an toàn và cung cấp quyền truy cập vào các hệ thống. Tại thời điểm này, hầu hết các hệ thống trên mạng đều có phương thức xác thực truyền thống đó là sử dụng ID và mật khẩu không được mã hóa. Do đó, những kẻ tấn công thường lợi dụng lỗ hổng này để truy cập vào mạng và đánh cắp các thông tin cũng như dữ liệu quan trọng của người dùng.

    Để giải quyết được vấn đề này, các nhà phát triển đã triển khai giao thức xác thực mạng đáng tin cậy đó là Kerberos. Loại giao thức này giúp xác thực các máy chủ trên mạng không đáng tin cậy. Ngoài ra, các quản trị viên hệ thống còn được cung cấp cơ chế xác thực thông qua Internet.

    Kerberos ban đầu có tên là Kerberos Authentication and Authorization System. Nó là phương tiện hỗ trợ ủy quyền với mục đích cung cấp quyền truy cập cho đối tượng được chỉ định vào tài nguyên cụ thể trên mạng. Cụ thể, người dùng không chỉ được ủy quyền truy cập vào một số tài nguyên mà còn có thể đi sâu hơn vào các tài nguyên đó như lưu trữ và cơ sở dữ liệu.

    Ngoài ra, giao thức Kerberos còn được triển khai có thể tương tác với các hệ thống thông tin kế toán an toàn. Do đó, nó trở thành phương thức kết hợp AAA bao gồm Authentication, Authorization và Accounting.

    Mục tiêu và đối tượng sử dụng Kerberos

    Dưới đây là một số mục tiêu khi triển khai Kerberos và các đối tượng có thể sử dụng giao thức này:

    Mục tiêu của Kerberos

    Mục tiêu của hệ thống Kerberos được triển khai bao gồm những điều sau đây:

    • Mật khẩu chỉ được đăng nhập một lần với hình thức SSO, nó sẽ được xóa bỏ và không được truyền qua mạng hay lưu trữ trên bất kỳ văn bản và hệ thống máy chủ, máy khách nào.
    • Mọi thông tin xác thực đều được lưu trữ và duy trì trên máy chủ xác thực tập trung mà không phải máy chủ ứng dụng. Điều này cho phép quản trị viên có thể vô hiệu hóa quyền truy cập của người dùng, thay đổi mật khẩu dùng một lần và bảo vệ các thông tin nhạy cảm của người dùng.
    • Tất cả các bên như người dùng hay máy chủ ứng dụng cũng đều phải tự xác thực khi nhận được thông báo nhắc nhở. Cụ thể, người dùng cần xác thực trong mỗi lần đăng nhập hay các dịch vụ ứng dụng có thể được yêu cầu tự xác thực cho khách hàng của họ.
    • Giao thức Kerberos có thể cung cấp cho các máy khách và máy chủ một cơ chế thiết lập mạch mã hóa. Điều này cho phép các thông tin liên lạc trên mạng được đặt ở chế độ riêng tư.

    Đối tượng sử dụng Kerberos

    Một số đối tượng sử dụng giao thức Kerberos bao gồm:

    • Kerberos Principal: Giao thức Kerberos có thể định Ticket cho bất kỳ danh tính cá nhân nào hoặc các máy chủ và dịch vụ khác. Principal sẽ tiến hành xác thực các thông tin như sau:
      • Đối với người dùng thì tên tài khoản chính là tên của người dùng đó. Tương tự như vậy đối với máy chủ và dịch vụ.
      • Các mã định danh tùy chọn của Principal thường chỉ định tên máy chủ của hệ thống đang được liên kết.
      • Máy chủ Kerberos chỉ có thể hoạt động trong phạm vi mạng cụ thể được xác định bởi hệ thống tên miền. Trong đó, tên miền của Principal chính là tên miền của máy chủ Kerberos đó.
    • Máy chủ ứng dụng Kerberos: Tất cả các hệ thống cung cấp quyền truy cập vào tài nguyên đều sử dụng phương pháp xác thực ứng dụng khách của Kerberos.
    • KDC Kerberos: Quá trình xác thực Kerberos phụ thuộc vào KDC. Cụ thể như sau:
      • Cơ sở dữ liệu Kerberos cung cấp kho lưu trữ tập trung cho hệ thống thông tin xác thực Kerberos.
      • Dịch vụ xác thực Kerberos cho phép các máy khách trên mạng có thể tự xác minh để thu thập TGT.
      • Dịch vụ TGT Kerberos cho phép khách hàng có thể truy cập vào máy chủ ứng dụng của họ.

    Dịch vụ xác thực với Kerberos hoạt động bằng cách sử dụng các TGT để xác minh người dùng đáng tin cậy. Sau khi được phê duyệt, người dùng có thể yêu cầu Kerberos cung cấp các Ticket khác để có thể truy cập vào các dịch vụ ứng dụng khác.

    Giao thức Kerberos hoạt động như thế nào?

    Giao thức Kerberos hoạt động với quy trình như sau:

    Yêu cầu máy chủ xác thực

    Trước khi bắt đầu quá trình xác thực máy khách Kerberos, máy khách đó sẽ tự tạo một yêu cầu xác thực để gửi đến máy chủ KDC Kerberos. Trong đó, yêu cầu xác thực này được gửi dưới dạng văn bản và đảm bảo rằng không có bất kỳ thông tin nhạy cảm nào được đưa vào yêu cầu đó. Sau đó, máy chủ xác thực sẽ tiến hành xác minh yêu cầu trong cơ sở dữ liệu KDC và truy xuất khóa cá nhân của máy khách đang khởi tạo.

    Máy chủ xác thực phản hồi

    Sau khi xác thực yêu cầu được gửi đến, nếu như không tìm thấy tên của người dùng trên ứng dụng khách đang khởi tạo thì quá trình xác thực yêu cầu đó sẽ dừng lại. Nếu tìm thấy tên người dùng thì máy chủ xác thực sẽ gửi cho máy khách một TGT và một khóa phiên.

    Yêu cầu dịch vụ Ticket

    Hoàn tất xác thực từ máy chủ, người dùng sẽ tiếp tục gửi đi một yêu cầu cấp dịch vụ Ticket từ TGS. Trong đó, yêu cầu này cần phải đi kèm với TGT được gửi từ máy chủ xác thực KDC.

    Phản hồi dịch vụ Ticket

    Nếu như TGS xác thực khách hàng thành công thì nó sẽ gửi về thông tin đăng nhập và Ticket để người dùng có thể bắt đầu truy cập vào dịch vụ. Quá trình này sẽ được mã hóa tự động bằng khóa phiên dành riêng cho người dùng và dịch vụ hiện tại.

    Yêu cầu máy chủ ứng dụng

    Máy khách sẽ gửi đến máy chủ ứng một một yêu cầu truy cập với Ticket được nhận từ trước. Máy khách được cấp quyền truy cập chỉ khi máy chủ ứng dụng đồng ý xác thực thành công yêu cầu này.

    Phản hồi của máy chủ ứng dụng

    Nếu như máy khách yêu cầu máy chủ ứng dụng tự động xác thực thì đây gọi là phản hồi bắt buộc. Tức là máy khách đã tự xác thực và phản hồi của máy chủ ứng dụng sẽ bao gồm cả xác thực Kerberos.

    Ticket dịch vụ do TGS gửi về được gắn kèm dấu thời gian cho phép người dùng có thể truy cập vào dịch vụ một cách dễ dàng theo thời gian được đặt sẵn mà không cần xác thực lại. Việc gắn kèm dấu thời gian này có tác dụng hạn chế hành vi sử dụng trái phép Ticket đó trong tương lai.

    Microsoft đã mặc định đặt thời gian sử dụng tối đa các Ticket dịch vụ đó trong triển khai Kerberos trên Windows Server là 600 phút. Đặc biệt, nếu như thời gian tồn tại tối đa của Ticket được đặt là 0 thì nó có thể được sử dụng mãi mãi.

    Kerberos được sử dụng để làm gì?

    Giao thức Kerberos được sử dụng nhằm xác thực các yếu tố về quyền truy cập vào tài nguyên mạng. Đặc biệt là các hệ thống mạng lớn hỗ trợ SSO hoặc các hệ thống hỗ trợ Kerberos tích hợp khác. Chẳng hạn như dịch vụ web của Amazon, Apple macOS, Google Cloud, Hewlett Packard Unix, IBM Advanced Interactive eXaries, Microsoft Azure, Microsoft Windows Server và AD, Oracle Solaris, Red Hat Linux, FreeBSD và OpenBSD.

    Kerberos so với các giao thức xác thực mạng khác

    Ngoài Kerberos có rất nhiều giao thức xác thực khác được ưa chuộng sử dụng. Tuy nhiên, Giao thức Kerberos với nhiều tính năng hiện đại và an toàn nên nó được sử dụng rộng rãi nhất hiện nay. Không chỉ với khả năng chống lại các vấn đề về đầu vào mà nó còn có khả năng khắc phục những hậu quả xảy ra trong quá trình thực thi một cách hiệu quả.

    Kerberos so với Microsoft New Technology LAN Manager (NTLM)

    Microsoft NTLM là một giao thức xác thực được triển khai vào năm 1993 dành cho Windows NT. Điểm hạn chế của giao thức NTLM này đó là nó hoạt động phụ thuộc vào giao thức Challenge-Response để xác thực. Tuy nhiên, nó vẫn được sử dụng với nhiệm vụ cung cấp dịch vụ SSO trong miền AD. Hiện nay, Microsoft không còn sử dụng phương thức xác thực NTLM mà thay thế bằng giao thức Kerberos đối với các phiên bản Windows 2000 trở đi.

    Kerberos so với Lightweight Directory Access Protocol (LDAP)

    LDAP là một giao thức duy trì truy cập thông tin đáng tin cậy trên tài khoản của người dùng. Cụ thể, người dùng có thể sử dụng LDAP để đăng nhập vào tài khoản trong lần tiếp theo thông qua kết nối mạng. LDAP và Kerberos thường được sử dụng cùng nhau. Trong đó, LDAP cung cấp dịch vụ ủy quyền còn Kerberos cung cấp dịch vụ xác thực trên mạng.

    Kerberos so với Remote Authentication Dial-In User Service (RADIUS)

    Giao thức RADIUS được triển khai nhằm cung cấp dịch vụ xác thực cho người dùng truy cập từ xa. Chẳng hạn như từ các nhà cung cấp dịch vụ Internet, mạng công ty hay đường dây nóng điện thoại. Ngoài ra, giao thức RADIUS có thể kết hợp với Kerberos nhằm cung cấp khả năng xác thực mạnh hơn.

    Giao thức Kerberos có an toàn không?

    Kerberos là một giao thức an toàn được triển khai dành cho mọi người dùng với khả năng xác thực dựa trên cơ chế hoạt động hoàn thiện và an toàn. Ngoài ra, nó còn sử dụng thêm mật khẩu mạnh, mã hóa khóa bí mật nhằm bảo vệ các dữ liệu nhạy cảm của người dùng.

    Tuy nhiên, nó vẫn có một số điểm hạn chế đó là:

    • Kẻ tấn công lợi dụng các chìa khóa bảo mật để mạo danh người dùng được ủy quyền và thu thập các dữ liệu nhạy cảm.
    • Kẻ tấn công sử dụng lại Pass-the-Ticket để mạo danh người dùng và đánh cắp các thông tin quan trọng.
    • Kẻ tấn công đánh cắp Golden Ticket nhằm lấy quyền truy cập vào bộ điều khiển miền Windows để cho phép truy cập không giới hạn vào các dịch vụ ứng dụng.

    Tổng kết về Kerberos

    Như vậy, bài viết trên đây chúng tôi đã đề cập cho bạn các thông tin liên quan đến giao thức Kerberos. Để ngăn chặn các cuộc tấn công nguy hiểm này, người dùng nên thường xuyên cập nhật các lỗ hổng bảo mật của Kerberos và các bản cập nhật phần mềm.

    Nếu còn gặp bất cứ vướng mắc gì về Kerberos, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

    P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

    Thuê Cloud Server tại BKHOST

    Giảm giá cực sâu, chất lượng hàng đầu. Đăng ký ngay hôm nay:

    thuê máy chủ cloud server

    Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
    Bình luận

    Trượt lên đầu trang
    Gọi ĐT tư vấn ngay
    Chat ngay qua Zalo
    Chat ngay qua Messenger
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !