Bagikan melalui


Gambaran umum teknis kata sandi

Topik untuk profesional TI ini menjelaskan bagaimana Windows menerapkan kata sandi dalam versi Windows yang dimulai dengan Windows Server 2012 dan Windows 8.1. Ini juga membahas kata sandi, frasa sandi, dan kebijakan kata sandi yang kuat.

Bagaimana kata sandi disimpan di Windows

Artikel ini menyediakan informasi tentang penyimpanan kata sandi "tidak aktif".

Windows mewakili kata sandi dalam string UNICODE 256 karakter, tetapi kotak dialog masuk dibatasi hingga 127 karakter. Oleh karena itu, kata sandi terpanjang yang mungkin memiliki 127 karakter. Program seperti layanan dapat menggunakan kata sandi yang lebih panjang, tetapi harus diatur secara terprogram.

Sistem operasi Windows menyimpan kata sandi dengan berbagai cara untuk tujuan yang berbeda.

Kata sandi disimpan sebagai OWF

Untuk keperluan jaringan Windows, termasuk domain Active Directory, kata sandi secara default disimpan dalam dua cara berbeda: sebagai fungsi satu arah LAN Manager (LM OWF) dan sebagai NT OWF. "Fungsi satu arah" adalah istilah yang menunjukkan transformasi data matematika satu arah. Data yang sedang diubah hanya dapat dikonversi melalui enkripsi satu arah dan tidak dapat dibalik. Jenis fungsi satu arah yang paling umum digunakan adalah hash kriptografi. Hash adalah sekumpulan kecil data yang secara matematis terkait dengan beberapa kumpulan data yang lebih besar dari mana hash dihitung. Jika kumpulan data yang lebih besar diubah, hash juga berubah. Hash berguna, misalnya, sebagai checksum untuk memverifikasi bahwa data belum dimodifikasi dalam transmisi. Hash kriptografi adalah hash yang memenuhi properti tertentu. Hash kriptografi harus, misalnya, dibuat sedemikian rupa sehingga secara matematis tidak mungkin dalam waktu yang wajar untuk menyimpulkan kumpulan data yang lebih besar hanya dari hash. Demikian juga, secara matematis tidak layak untuk menemukan dua set data besar yang menghasilkan hash yang sama.

Ada banyak jenis fungsi satu arah yang berbeda. Semua fungsi hash adalah, menurut definisi, fungsi satu arah. Namun, fungsi kriptografi biasa yang biasanya dapat dibalik juga dapat digunakan untuk membuat fungsi satu arah. Ini dapat dilakukan dengan bertukar data dan kunci dalam fungsi kriptografi dan mengenkripsi nilai tetap (kunci) dengan menggunakan data sebagai kunci. Berikut adalah cara hash LM dihitung. Hash LM dihitung sebagai berikut:

  1. Kata sandi diisi dengan byte NULL hingga tepat 14 karakter. Jika kata sandi lebih panjang dari 14 karakter, kata sandi diganti dengan 14 byte NULL untuk operasi yang tersisa.
  2. Kata sandi dikonversi ke semua huruf besar.
  3. Kata sandi dibagi menjadi dua kunci 7-byte (56-bit).
  4. Setiap kunci digunakan untuk mengenkripsi string tetap.
  5. Dua hasil dari langkah 4 digabungkan dan disimpan sebagai hash LM.

Algoritma LM OWF disertakan dalam Windows untuk kompatibilitas mundur dengan perangkat lunak dan perangkat keras yang tidak dapat menggunakan algoritma yang lebih baru.

Hash NT hanyalah hash. Kata sandi di-hash dengan menggunakan algoritma MD4 dan disimpan. NT OWF digunakan untuk autentikasi oleh anggota domain di Windows NT 4.0 dan domain versi sebelumnya serta di domain Active Directory.

Baik hash NT maupun hash LM tidak asin. Salting adalah proses yang menggabungkan kata sandi dengan nilai numerik acak (salt) sebelum melakukan perhitungan fungsi satu arah.

Kata sandi yang disimpan di Direktori Aktif

Kata sandi yang disimpan tetap disimpan dalam beberapa atribut basis data Active Directory (file NTDS.DIT). Atribut ini tercantum dalam tabel berikut:

Atribut Direktori Aktif Konten
unicodeDisabilitas Hash NT Terenkripsi
dbcsDisabilitas Hash LM Terenkripsi
ntDisabilitas Sejarah Hash NT yang Terenskripsi - Riwayat Kata Sandi
lmPwdSejarah Riwayat Kata Sandi - Hash LM yang Dienkripsi
kredensial tambahan Kunci Kerberos, WDigest, dll.

Catatan

Penyimpanan hash LM dinonaktifkan secara default sejak Windows Vista dan Windows Server 2008.

Ketika disimpan dalam file DIT, hash NT dilindungi oleh dua lapisan enkripsi. Di Windows Server 2016/Windows 10 dan versi yang lebih baru, pertama-tama dienkripsi dengan DES untuk kompatibilitas mundur dan kemudian dengan CNG BCrypt AES-256 (lihat CNGBCRYPT_AES_ALGORITHM). Versi Windows sebelumnya mengenkripsi hash NT menggunakan dua lapisan enkripsi DES + RC4.

Untuk informasi selengkapnya tentang Kredensial Tambahan, lihat MS-SAMR: supplementalCredentials dan Struktur Kredensial Tambahan.

Kata sandi yang disimpan di SAM lokal

Pada anggota domain dan stasiun kerja, hash kata sandi akun pengguna lokal disimpan di Database Security Account Manager (SAM) lokal yang terletak di registri. Mereka dienkripsi menggunakan algoritma enkripsi dan hash yang sama dengan Direktori Aktif. Kata sandi dalam atribut supplementalCredentials untuk akun pengguna lokal juga disimpan di Database SAM lokal sejak Windows Server 2016.

Kredensial yang di-cache

Windows juga menyimpan pemverifikasi kata sandi pada anggota domain saat pengguna domain masuk ke anggota domain tersebut. Pemverifikasi ini dapat digunakan untuk mengautentikasi pengguna domain jika komputer tidak dapat mengakses pengendali domain. Pemverifikasi kata sandi juga umumnya disebut kredensial yang di-cache. Ini dihitung dengan mengambil hash NT, menggabungkan nama pengguna dengannya, dan kemudian meng-hash hasilnya menggunakan fungsi MD4.

Cara kerja kata sandi di Windows

Di Windows dan banyak sistem operasi lainnya, salah satu metode untuk mengautentikasi identitas pengguna adalah dengan menggunakan frasa sandi atau kata sandi rahasia.

Sebaiknya gunakan autentikasi multifaktor yang aman seperti Smart Card, FIDO, dan Windows Hello untuk Bisnis. Namun, autentikasi kata sandi masih diperlukan dalam beberapa skenario.

Mengamankan lingkungan jaringan Anda mengharuskan kata sandi yang kuat digunakan oleh semua pengguna. Ini membantu menghindari ancaman pengguna berbahaya yang menebak kata sandi yang lemah, baik melalui metode manual atau dengan menggunakan alat, untuk memperoleh kredensial akun pengguna yang disusupi. Ini terutama berlaku untuk akun administratif. Ketika Anda mengubah kata sandi yang kompleks secara teratur, itu mengurangi kemungkinan serangan kata sandi yang berhasil.

Pengaturan kebijakan kata sandi mengontrol kompleksitas dan masa pakai kata sandi. Kebijakan kata sandi memengaruhi kata sandi Windows, tidak selalu menampilkan kata sandi.

Kemampuan pengguna untuk memodifikasi kata sandi mereka diatur oleh kebijakan kata sandi dan antarmuka yang tersedia. Misalnya, melalui Desktop Aman, pengguna dapat mengubah kata sandi mereka kapan saja berdasarkan kebijakan kata sandi yang dikelola oleh administrator sistem atau administrator domain. Fitur seperti Windows Vault, BitLocker, dan Encrypting File System memungkinkan pengguna untuk mengubah kata sandi khusus untuk fitur tersebut.

Bagaimana kata sandi digunakan di Windows

Saat pengguna masuk, kata sandi yang diketik pengguna dikonversi menjadi kedua fungsi satu arah dan kemudian disimpan dalam memori oleh proses Layanan Subsistem Otoritas Keamanan Lokal (LSASS). Jika pengguna yang menggunakan akun lokal untuk autentikasi, NT OWF dibandingkan dengan hash NT yang disimpan secara lokal, dan jika keduanya cocok, pengguna akan masuk. Jika pengguna mengautentikasi terhadap domain Active Directory dengan menggunakan nama host untuk mengakses sumber daya, hash NT digunakan dalam log masuk Kerberos terhadap Key Distribution Center (KDC), yang biasanya merupakan pengontrol domain.

Kerberos tidak dapat digunakan dalam situasi berikut:

  • Mengautentikasi terhadap domain yang hanya menjalankan Windows NT 4.0 atau yang lebih lama
  • Mengakses sumber daya pada anggota domain Direktori Aktif dengan menggunakan alamat IP daripada nama host
  • Mengakses sumber daya di komputer yang bukan anggota domain Direktori Aktif
  • Mengakses sumber daya di komputer yang merupakan anggota domain Direktori Aktif tetapi tidak dipercaya oleh domain Anda
  • Mengakses sumber daya apa pun di komputer yang berjalan yang tidak mendukung Kerberos

Dalam situasi ini, proses autentikasi menggunakan dua protokol berbeda, yang disebut LAN Manager dan NTLM. Proses dimulai dengan klien yang meminta tantangan dari server autentikasi. Setelah tantangan diterima, klien menghitung respons terhadap tantangan ini. Ini dilakukan dengan terlebih dahulu menambahkan padding pada dua hash kata sandi dengan nilai null hingga mencapai 168 bit. 168 bit dari setiap hash kemudian dibagi menjadi tiga kunci DES 56-bit. Enam kunci DES kemudian digunakan untuk mengenkripsi tantangan. Tiga teks sandi yang diproduksi dengan menggunakan hash LM digabungkan dan menjadi respons LAN Manager. Tiga teks sandi yang diproduksi dengan menggunakan hash NT digabungkan dan menjadi respons NTLM.

Fungsi yang digunakan untuk menghitung respons dapat dimodifikasi oleh pengaturan Level Kompatibilitas LM dalam pengaturan Keamanan Jaringan: Kebijakan Grup Level autentikasi Lan Manager. Jika nilai tersebut diatur ke 1 atau lebih rendah, klien akan mengirim respons LAN Manager dan NTLM asli. Jika diatur ke 2, hanya respons NTLM yang dikirim. Jika diatur ke 3 atau lebih tinggi, versi baru dari kedua protokol digunakan. Versi NTLM disebut NTLMv2. Versi LAN Manager sering disebut sebagai LMv2. Kedua protokol menggunakan hash NT untuk menghitung respons, dan keduanya menggunakan tantangan sisi klien, baik daripada atau selain tantangan server. Selain itu, jika pengaturan Tingkat Kompatibilitas LM diatur ke 1 atau lebih tinggi, respons NTLM diberi stempel waktu untuk membantu mencegah serangan replay. Untuk informasi tentang pengaturan Tingkat Kompatibilitas LM, lihat Keamanan jaringan: Tingkat autentikasi LAN Manager.

Kata sandi yang kuat

Kata sandi menyediakan garis pertahanan pertama terhadap akses tidak sah ke organisasi Anda. Dimulai dengan Windows Server 2003, Windows memeriksa kompleksitas kata sandi untuk akun Administrator selama penyiapan sistem operasi. Jika kata sandi kosong atau tidak memenuhi persyaratan kompleksitas, kotak dialog Penyiapan Windows meminta Anda untuk membuat kata sandi yang kuat untuk akun Administrator. Jika Anda membiarkan kata sandi ini kosong, Anda tidak akan dapat mengakses akun ini melalui jaringan.

Kata sandi yang lemah memberi penyerang akses mudah ke komputer dan jaringan Anda, sementara kata sandi yang kuat jauh lebih sulit untuk di-crack. Tabel berikut membandingkan kata sandi yang lemah dan kuat.

Kata sandi lemah Kata sandi yang kuat
Kosong Panjangnya setidaknya tujuh karakter
Berisi informasi yang mudah ditemukan atau diketahui, seperti nama pengguna atau nama domain Berisi "rahasia" atau informasi acak
Mirip dengan kata sandi sebelumnya Sangat berbeda dari kata sandi sebelumnya
Berisi kata kamus lengkap Berisi campuran karakter berikut:

- Huruf besar

- Huruf kecil

- Angka

- Simbol termasuk spasi

Contoh kata sandi yang kuat adalah J*p2leO4>F.

Kata sandi dapat memenuhi sebagian besar kriteria kata sandi yang kuat tetapi masih agak lemah. Misalnya, Hello2U! adalah kata sandi yang relatif lemah meskipun memenuhi sebagian besar kriteria untuk kata sandi yang kuat dan juga memenuhi persyaratan kompleksitas kebijakan kata sandi. H!elZl2o adalah kata sandi yang kuat karena kata kamus diselingi dengan simbol, angka, dan huruf lainnya. Penting untuk mendidik pengguna tentang manfaat menggunakan kata sandi yang kuat dan mengajari mereka cara membuat kata sandi yang sebenarnya kuat.

Anda dapat membuat kata sandi yang berisi karakter dari kumpulan karakter ANSI yang diperluas. Menggunakan karakter ANSI yang diperluas meningkatkan jumlah karakter yang dapat Anda pilih saat membuat kata sandi. Akibatnya, mungkin perlu lebih banyak waktu bagi perangkat lunak pemecah kata sandi untuk memecahkan kata sandi yang berisi karakter ANSI yang diperluas ini daripada memecahkan kata sandi lain. Sebelum menggunakan karakter ANSI yang diperluas dalam kata sandi Anda, uji secara menyeluruh untuk memastikan bahwa kata sandi yang berisi karakter ANSI yang diperluas kompatibel dengan aplikasi yang digunakan organisasi Anda. Berhati-hatilah dalam menggunakan karakter ANSI yang diperluas dalam kata sandi jika organisasi Anda menggunakan beberapa sistem operasi yang berbeda. Misalnya, sistem ini dapat menstandarkan dalam ISO-8859-15. Implementasi protokol aktual pada Windows sering menggunakan UNICODE atau UTF8 daripada pengodean ANSI aktual.

Contoh kata sandi yang berisi karakter dari set karakter ANSI yang diperluas adalah kUμ!¶0o dan Wf©$0k#»g¤5ªrd.

Frasa Sandi pada Windows

Frase sandi adalah bentuk kata sandi berbasis token yang berbeda di mana token adalah kata-kata alih-alih simbol dari set karakter. Contoh frasa sandi adalah kalimat yang berisi karakter khusus, angka, huruf besar, dan huruf kecil. Perbedaan utama antara frasa sandi dan kata sandi adalah:

  • Frase sandi biasanya memiliki spasi; kata sandi tidak.
  • Frase sandi jauh lebih panjang daripada sebagian besar kata, dan, lebih penting, lebih panjang dari string huruf acak yang bisa diingat orang biasa.

Frasa sandi yang sesuai dengan batas karakter seperti yang ditetapkan dalam kebijakan umumnya, lebih sulit diretas daripada kata sandi karena berisi lebih banyak karakter. Ini adalah hash LM dan NT yang menyimpan kata sandi atau frasa sandi, dan hash LM adalah yang lebih lemah dari keduanya.

Ada beberapa cara untuk memastikan hash LM tidak disimpan; salah satunya adalah menggunakan kata sandi atau frasa sandi yang lebih panjang dari 14 karakter. Anda juga dapat menggunakan Kebijakan Keamanan Jaringan: Jangan simpan nilai hash LAN Manager pada perubahan kata sandi berikutnya dalam pengaturan Kebijakan Grup. Menggunakan pengaturan kebijakan ini secara global menonaktifkan penyimpanan hash LM untuk semua akun. Perubahan akan berlaku saat kata sandi diubah di lain waktu. Karena efek kebijakan tidak berdampak segera, Anda tidak dapat segera melihat potensi masalah interoperabilitas akibat tidak menyimpan hash LM.

Kebijakan kata sandi lokal tersedia di Windows

Anda dapat menerapkan pengaturan kebijakan kata sandi yang memberlakukan persyaratan kompleksitas kata sandi. Untuk informasi selengkapnya tentang pengaturan kebijakan ini, lihat Kata sandi harus memenuhi persyaratan kompleksitas. Untuk informasi tentang cara menerapkan kebijakan kata sandi, lihat Menerapkan atau Mengubah Kebijakan Kata Sandi. Untuk informasi tentang semua pengaturan kebijakan kata sandi yang tersedia, lihat Kebijakan Kata Sandi.

Kebijakan kata sandi rinci tersedia melalui Active Directory Domain Services (AD DS)

Dimulai dengan Windows Server 2008, Anda dapat menggunakan kebijakan kata sandi terperinci untuk menentukan beberapa kebijakan kata sandi dan menerapkan pembatasan kata sandi yang berbeda dan kebijakan penguncian akun ke kumpulan pengguna yang berbeda dalam satu domain. Misalnya, untuk meningkatkan keamanan akun istimewa, Anda dapat menerapkan pengaturan yang lebih ketat ke akun istimewa dan kemudian menerapkan pengaturan yang kurang ketat ke akun pengguna lain. Atau dalam beberapa kasus, Anda mungkin ingin menerapkan kebijakan kata sandi khusus untuk akun yang kata sandinya disinkronkan dengan sumber data lainnya.

Untuk menyimpan kebijakan kata sandi terperinci, ada dua kelas objek baru dalam skema AD DS:

  • Penampung Pengaturan Kata Sandi
  • Pengaturan Kata Sandi

Untuk informasi selengkapnya tentang kebijakan ini, lihat AD DS: Kebijakan Kata Sandi Terperindas.