İçeriğe atla
TextArray

Güçlü bir şifre nasıl oluşturulur (ve bir şifreyi zayıf kılan nedir)

Blog /

Güçlü bir şifre, tahmin edilmesi veya kırılması zor olan bir şifredir. Ancak "zor", çok sayıda simge ve sayının birbirine karıştığı anlamına gelmez; entropi anlamına gelir: milyarlarca kombinasyonu kontrol eden hızlı bir bilgisayarın bile yüzyıllar alabileceği kadar rastgele uzunluk. Oraya ulaşmanın en basit yolu, rastgeleliğin öngörülebilir bir algoritmadan değil kriptografiden gelmesini sağlayan yerel bir şifre oluşturucu kullanmaktır.

Bir şifreyi zayıf kılan şey nedir?

Çoğu şifre, akılda kalıcı bir şeye dayandığı için zayıftır: bir isim, tarih, büyük harf ve sonunda bir sayı olan bir kelime. Eğer şifre bir kalıba (gerçek bir kelime, doğum günü, bir ifade) dayanıyorsa, modern bir saldırganın ilk aracı kaba kuvvet değil, bu kalıpların sözlüğüdür. Eşit MyDog2024! Bir insana rastgele görünür ancak en yaygın şifre tarifini takip ettiği için anında kırılır.

İkinci katil: yeniden kullanmak. Aynı şifreyi on sitede kullanırsanız ve bu sitelerden biri ihlal edilirse on hesabın tümü çöker. Pek çok kişi, kaç tane "şifre dökümü" veritabanının herkese açık ve çevrimiçi olarak aranabilir olduğu hakkında hiçbir fikre sahip değildir.

Uzunluk özel karakterlerden daha önemlidir

Yaygın bir efsane: Şifrelerin güvenli olması için büyük/küçük harf, sayılar ve sembollerin karışık olması gerekir. Gerçekte önemli olan uzunluktur. Küçük harflerden oluşan 16 karakterlik bir şifre, her özel karakterden oluşan 8 karakterlik bir şifreden yalnızca çok daha fazla entropiye sahiptir ve kırılması çok daha zordur. Nedeni şu: eklenen her karakter arama alanını çoğaltır. Yalnızca küçük harften oluşan 8 karakterlik bir şifrenin 26^8 olasılığı vardır (yaklaşık 200 milyon). 16 karakterlik küçük harfli bir şifrede 26^16 (yaklaşık 43 katrilyon) bulunur.

Bu nedenle artık birçok güvenlik uzmanı şunu önermektedir: parolalar - geleneksel "karmaşık" şifrelere göre rastgele kelime dizileri. Hatırlanması daha kolay ve çok daha güçlüler.

Parolalar: Diceware yaklaşımı

Bir parola yalnızca rastgele kelimelerin bir dizisidir. Klasik örnek "doğru at pili"dir: dört rastgele kelime, 20'den fazla karakter, son derece güçlü ve hatırlanması o kadar da zor değil. Rastgele parolalar oluşturabilirsiniz. Parola oluşturucu, bunları yaygın İngilizce kelimelerin bir listesinden oluşturur. 1.000 kelimelik bir listedeki beş kelime, size 20 karakterlik rastgele karışık harf ve sembol dizisinden daha fazla entropi verir.

Geleneksel bir şifreye ihtiyacınız varsa (semboller, karışık harf, sayılar) Şifre oluşturucu yerine. Ancak çoğu açıklama için bir ifade daha güçlü ve daha pratiktir.

Şifreleri yeniden kullanmayı bırakın

En iyi alışkanlık şudur: site başına bir şifre. Şifreleri tekrar kullanıyorsanız, ödünç alınmış bir zamanda yaşıyorsunuz demektir. Bir site sızdırıldığında diğer hesaplarınız da açığa çıkar. Güçlü bir şifre yalnızca onu kullanan en zayıf site kadar iyidir. Şifrelerinizden herhangi birinin bilinen bir ihlal nedeniyle ele geçirilip geçirilmediğini kontrol etmek için Şifre gücü denetleyicisi — bir şifre yapıştırın (bunu yalnızca siz görürsünüz; tarayıcınızdan hiçbir şey çıkmaz) ve şifrenin kamuya açık ihlal veritabanlarında görünüp görünmediğini size söyleyecektir.

PIN'ler ve sayısal şifreler

Bazı sistemler yalnızca rakamlara ihtiyaç duyar; ATM'ler, telefon PIN kodları, belirli kilitler. Aynı entropi ilkesi geçerlidir: ne kadar uzun olursa o kadar güçlü olur. 4 haneli bir PIN'in yalnızca 10.000 olasılığı vardır ve milisaniyeler içinde kırılabilir. 6 haneli bir PIN daha iyidir (1 milyon olasılık); 8 haneli bir PIN sağlamdır (100 milyon). Rastgele bir sayısal koda ihtiyacınız varsa, PIN oluşturucu onları anında yaratır.

Neden yerel olarak oluşturmalısınız?

Başka birinin sunucusundaki şifre oluşturucuya asla güvenmeyin. İyi niyetli olsa bile, gerçek rastgelelik kullandığını veya ürettiği şeyleri kaydetmediğini doğrulayamazsınız. TextArray araçları tamamen tarayıcınızda çalışır; sunucu, yükleme veya günlük yoktur. Şifre oluşturucu tarayıcınızın şifresini kullanır crypto.getRandomValues, ki bu gerçekten rastgeledir, değil Math.randomBu öngörülebilir ve güvenlik açısından asla kabul edilemez. Sayfa yüklendikten sonra her şey çevrimdışı çalışır. İnternet bağlantınızı kapatıp başka bir şifre oluşturarak kendiniz onaylayabilirsiniz.

Güçlü bir şifre gerçek rastgelelik, gerçek entropiye sahip olacak kadar uzunluk ve her yerde farklı bir şifre kullanma disipliniyle başlar. Bırakın tarayıcı zor işi yapsın.