Keamanan Digital · Pelajaran 6 dari 8

Kata sandi dan verifikasi dua langkah

8 menit baca · BelajarCode

Kekuatan kata sandi bisa dihitung. Banyaknya kemungkinan kata sandi adalah banyak jenis karakter pangkat panjangnya.

Python
1def kemungkinan(jenis_karakter, panjang):2    return jenis_karakter ** panjang34print("PIN 6 angka       :", kemungkinan(10, 6))5print("8 huruf kecil     :", kemungkinan(26, 8))6print("12 karakter campur:", kemungkinan(94, 12))
Keluaran
PIN 6 angka       : 1000000
8 huruf kecil     : 208827064576
12 karakter campur: 475920314814253376475136

Kata sandi 12 karakter yang memakai huruf besar, huruf kecil, angka, dan simbol (sekitar 94 jenis karakter) punya kemungkinan yang sangat banyak.

Berapa lama ditebak?

Misalkan penyerang bisa mencoba 10 miliar tebakan per detik. Ini hanya angka perkiraan untuk perbandingan, karena kecepatan sebenarnya bergantung pada alat dan cara penyimpanan kata sandinya.

Python
1tebakan_per_detik = 10_000_000_0002detik_per_tahun = 60 * 60 * 24 * 36534for nama, jumlah in [("8 huruf kecil", 26 ** 8), ("12 karakter campur", 94 ** 12)]:5    detik = jumlah / tebakan_per_detik6    tahun = detik / detik_per_tahun7    if tahun < 1:8        print(f"{nama}: sekitar {detik:.0f} detik")9    else:10        print(f"{nama}: sekitar {tahun:,.0f} tahun".replace(",", "."))
Keluaran
8 huruf kecil: sekitar 21 detik
12 karakter campur: sekitar 1.509.133 tahun

Menambah panjang kata sandi jauh lebih berpengaruh daripada menambah jenis karakter. Inilah alasan kalimat sandi yang panjang disarankan.

Kata sandi kuat tetap bisa bocor

Kata sandi sekuat apa pun tidak berguna jika dipakai di banyak situs lalu salah satu situs itu bocor, atau jika kamu tertipu memasukkannya ke situs palsu. Pakai kata sandi berbeda untuk setiap akun. Pengelola kata sandi (password manager) bisa membantu mengingat semuanya.

Verifikasi dua langkah

Verifikasi dua langkah (2FA) meminta bukti kedua selain kata sandi. Bukti identitas dibagi menjadi tiga jenis:

Tiga jenis bukti identitas
JenisContoh
Sesuatu yang kamu ketahuiKata sandi, PIN
Sesuatu yang kamu milikiHP yang menerima kode OTP, aplikasi autentikator, kunci keamanan fisik
Sesuatu yang melekat padamuSidik jari, wajah

Dengan 2FA, penyerang yang mencuri kata sandimu tetap tidak bisa masuk tanpa HP-mu.

Jangan pernah berikan kode OTP

Kode OTP (one-time password) hanya untukmu. Bank, aplikasi, maupun petugas resmi tidak akan pernah memintanya. Siapa pun yang meminta kode OTP lewat telepon atau pesan, apa pun alasannya, hampir pasti penipu.

Cek pemahaman

Mana yang menambah kekuatan kata sandi paling banyak?

Latihan

PIN empat angka

Hitung banyaknya kemungkinan PIN 4 angka. Jika penyerang bisa mencoba 1.000 PIN per detik, berapa detik yang dibutuhkan untuk mencoba semuanya? Kenapa aplikasi bank tetap aman memakai PIN 6 angka?

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi