Bagaimana preauthentikasi Kerberos meningkatkan keamanan?

11

Entri FAQ ini (dan RFC sendiri) menyatakan bahwa pra-otentikasi mengatasi kelemahan dalam implementasi awal Kerberos yang membuatnya rentan terhadap serangan kamus offline.

Status FAQ:

Bentuk preauthentikasi yang paling sederhana dikenal sebagai PA-ENC-TIMESTAMP. Ini hanyalah cap waktu saat ini yang dienkripsi dengan kunci pengguna.

Jika penyerang berhasil mengendus paket yang berisi data preauthentikasi ini, bukankah ini juga rentan terhadap serangan kamus? Saya memiliki ciphertext, saya tahu cap waktu asli - bagaimana skenario ini berbeda?

Sedate Alien
sumber
Saya sedikit terlambat untuk pesta :). Saya pikir dengan asumsi bahwa penyerang memiliki cap waktu asli tidak benar dalam pertanyaan ini. Ini adalah serangan 'ciphertext dikenal' bukan serangan 'plaintext dikenal', kalau tidak akan lucu. Kami tidak dapat menganggap penyerang memiliki baik teks plainteks maupun cipherteks, karena ia juga mengetahui algoritme, jadi apa tantangannya di sini ?? Atau mungkin aku melewatkan sesuatu di sini ...
Ashkan
Dalam menyelesaikan komentar saya sebelumnya, setelah mempertimbangkan kembali masalah ini, saya datang dengan ide ini bahwa jika kita menganggap serangan itu sebagai serangan 'dikenal plaintext' (artinya penyerang tahu cap waktu yang tepat) maka Anda benar, langkah pra-otentikasi tidak tidak memberikan keamanan tambahan karena ia dapat mencoba kemungkinan kata sandi yang dipilih secara tidak aman dan menemukan kuncinya, jika tidak, ia akan melakukannya. Jadi saya ingin tahu jenis serangan apa ini?
Ashkan

Jawaban:

16

Ketika Anda tidak menerapkan pra-otentikasi, penyerang dapat langsung mengirim permintaan tiruan untuk otentikasi. KDC akan mengembalikan TGT terenkripsi, dan penyerang bisa memaksa secara offline. Anda tidak akan melihat apa pun di log KDC Anda kecuali satu permintaan untuk TGT.

Ketika Anda menerapkan pra-autentikasi cap waktu, penyerang tidak dapat secara langsung meminta materi terenkripsi kepada KDC untuk brute force secara offline. Penyerang harus mengenkripsi stempel waktu dengan kata sandi dan menawarkannya ke KDC. Ya, ia bisa melakukan ini berulang-ulang, tetapi Anda akan melihat entri log KDC setiap kali ia gagal melakukan preauth.

Jadi, pra-otentikasi stempel waktu mencegah penyerang aktif. Itu tidak mencegah penyerang pasif mengendus pesan timestamp terenkripsi klien ke KDC. Jika penyerang dapat mengendus paket lengkap itu, ia dapat dengan paksa memaksanya offline.

Mitigasi terhadap masalah ini termasuk menggunakan kata sandi panjang dan kebijakan rotasi kata sandi yang baik untuk membuat kekerasan secara offline menjadi tidak layak, atau menggunakan PKINIT ( http://www.ietf.org/rfc/rfc4556.txt )

anonim
sumber
+1 Terima kasih telah menunjukkan perbedaan antara penyerang aktif dan penyerang pasif.
Harvey Kwok
Catatan, artikel lengkap dengan perincian ini muncul pada 2014 di sini: social.technet.microsoft.com/wiki/contents/articles/…
Martin Serrano
5

Saya menemukan sebuah makalah ( Mengekstrak kata sandi Kerberos melalui analisis tipe enkripsi RC4-HMAC ) pada IEEE Xplore yang agak relevan dengan ini. Mereka tampaknya menyiratkan bahwa jika paket pra-otentikasi ditangkap, itu tidak berbeda.

Jika penyerang dapat menangkap paket preauthentication dan ingin mengambil identitas pengguna yang valid, penyerang perlu melakukan prosedur yang dilakukan oleh KDC. Penyerang perlu menggunakan prosedur dekripsi dalam tipe enkripsi yang disepakati dan mencoba menjalankan kata sandi yang berbeda terhadap data yang diambil. Jika berhasil maka penyerang memiliki kata sandi pengguna.

Sedate Alien
sumber