Làm thế nào để xác nhận trước của Kerberos tăng cường bảo mật?


11

Mục Câu hỏi thường gặp này (và chính RFC ) nói rằng xác thực trước giải quyết một điểm yếu trong việc triển khai Kerberos ban đầu khiến nó dễ bị tấn công từ điển ngoại tuyến.

Trạng thái FAQ:

Hình thức đơn giản nhất của xác nhận trước được gọi là PA-ENC-TIMESTAMP. Đây chỉ đơn giản là dấu thời gian hiện tại được mã hóa bằng khóa của người dùng.

Nếu kẻ tấn công quản lý để đánh hơi một gói chứa dữ liệu xác nhận trước này, thì đây có phải cũng dễ bị tấn công từ điển không? Tôi có bản mã, tôi biết dấu thời gian ban đầu - kịch bản này khác nhau như thế nào?


Tôi đến bữa tiệc muộn một chút :). Tôi nghĩ rằng giả sử kẻ tấn công có dấu thời gian ban đầu là không đúng trong câu hỏi này. Đây là một cuộc tấn công 'được biết đến bản mã' không phải là cuộc tấn công 'được biết đến', nếu không nó sẽ rất buồn cười. Chúng ta không thể cho rằng kẻ tấn công có cả bản rõ và bản mã, bởi vì anh ta cũng biết thuật toán, vậy thử thách ở đây là gì ?? Hoặc có lẽ tôi đang thiếu thứ gì đó ở đây ...
Ashkan

Để hoàn thành nhận xét trước đây của tôi, sau khi xem xét lại vấn đề, tôi đã nảy ra ý tưởng này rằng nếu chúng ta giả sử cuộc tấn công là cuộc tấn công 'đã biết rõ' (có nghĩa là kẻ tấn công biết dấu thời gian chính xác) thì bạn đã đúng, bước xác thực trước không cung cấp bảo mật bổ sung vì anh ta có thể thử các mật khẩu được chọn không an toàn có thể và tìm khóa, nếu không, nó có. Vì vậy, tôi tự hỏi loại tấn công này sẽ là gì?
Ashkan

Câu trả lời:


15

Khi bạn không thực thi xác thực trước, kẻ tấn công có thể trực tiếp gửi yêu cầu giả để xác thực. KDC sẽ trả lại một TGT được mã hóa và kẻ tấn công có thể bắt bẻ nó ngoại tuyến. Bạn sẽ không thấy gì trong nhật ký KDC của mình ngoại trừ một yêu cầu cho TGT.

Khi bạn thực thi xác thực trước dấu thời gian, kẻ tấn công không thể trực tiếp yêu cầu KDC cho vật liệu được mã hóa để vũ trang ngoại tuyến. Kẻ tấn công phải mã hóa dấu thời gian bằng mật khẩu và cung cấp cho KDC. Có, anh ta có thể làm điều này nhiều lần, nhưng bạn sẽ thấy một mục nhật ký KDC mỗi khi anh ta thất bại.

Vì vậy, xác thực trước dấu thời gian ngăn chặn kẻ tấn công hoạt động. Nó không ngăn kẻ tấn công thụ động đánh hơi tin nhắn dấu thời gian được mã hóa của khách hàng đến KDC. Nếu kẻ tấn công có thể đánh hơi được gói tin đầy đủ đó, anh ta có thể vũ phu nó ngoại tuyến.

Giảm thiểu cho vấn đề này bao gồm sử dụng mật khẩu dài và chính sách xoay vòng mật khẩu tốt để khiến cho tính năng ngoại tuyến bắt buộc không thể thực hiện được hoặc sử dụng PKINIT ( http://www.ietf.org/rfc/rfc4556.txt )


+1 Cảm ơn bạn đã chỉ ra sự khác biệt giữa kẻ tấn công chủ động và kẻ tấn công thụ động.
Harvey Kwok

Lưu ý, một bài viết đầy đủ với chi tiết này xuất hiện vào năm 2014 tại đây: social.technet.microsoft.com/wiki/contents/articles/ợi
Martin Serrano

5

Tôi đã tìm thấy một bài báo ( Trích xuất mật khẩu Kerberos thông qua phân tích loại mã hóa RC4-HMAC ) trên IEEE Xplore có liên quan đến điều này. Chúng dường như ngụ ý rằng nếu một gói xác thực trước bị bắt, thì nó không khác.

Nếu kẻ tấn công có thể bắt giữ các gói tin xác nhận trước và muốn lấy danh tính của người dùng hợp lệ, kẻ tấn công sẽ cần thực hiện các quy trình mà KDC thực hiện. Kẻ tấn công sẽ cần sử dụng quy trình giải mã theo loại mã hóa đã được thống nhất và thử chạy các mật khẩu khác nhau đối với dữ liệu bị bắt. Nếu thành công thì kẻ tấn công có mật khẩu người dùng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.