Güvenli Bir Şifre Üreticiyi Ne Güvenli Yapar?
Güvenli şifre üreticilerin kriptografik rastgelelik, yeterli entropi, yansız karakter seçimi ve uygun uzunlukla hesapları nasıl koruduğunu öğrenin.
Yazan: TIG Tools editorial teamYayınlanma: 26 Ekim 20264 dakikalık okuma
Güvenli bir şifre üretici, büyük harfler, sayılar ve sembollerin karışımından daha fazlasına ihtiyaç duyar. Kriptografik rastgelelik kullanmalı, karakterleri yanlılık olmadan seçmeli ve tahmin edilmeye karşı koyacak kadar uzun şifreler oluşturmalıdır. Üretimin tarayıcınızda yerel olarak gerçekleşmesi de gizlilik açısından önemlidir.
Kriptografik rastgele kaynak kullanın
Bir üreticinin rastgele kaynağı, çıktısının tahmin edilip edilemeyeceğini belirler. JavaScript Math.random() sağlar, ancak bu genel amaçlı görevler için tasarlanmıştır, güvenlik için değil. Çıktısı şifreler, belirteçler veya diğer gizli bilgiler oluşturmak için kullanılmamalıdır.
Tarayıcı tabanlı güvenlik görevleri için Web Crypto API, kriptografik olarak güvenli rastgele bayt kaynağı olan crypto.getRandomValues() sağlar. Bir üretici, tahmin edilemeyen seçimler yapmak için bu baytları kullanabilir. Ancak rastgele kaynak, tüm aracın güvenli olduğunu garanti etmez: kodun onu doğru kullanması ve sonucu sızdırmaktan veya yeniden kullanmaktan kaçınması gerekir.
Bir üreticiyi değerlendirirken, kriptografik rastgele kaynak kullandığına dair açık bir açıklama arayın. Kendiniz bir tane oluşturuyorsanız, güvenlik odaklı bir API yerine Math.random() kullanmayın.
Entropi: Saldırgan kaç seçenekle karşılaşabilir?
Entropi, belirsizliği tanımlamanın bir yoludur. Her karakteri N karakterlik bir alfabeden bağımsız ve eşit olasılıkla seçerek oluşturulan bir şifre için teorik entropi şudur:
password length × log₂(N) bits
Burada N, her konumdaki olası karakter sayısıdır. Örneğin, 62 büyük harf, küçük harf ve rakamdan eşit olasılıkla seçilen 20 karakterlik bir şifre yaklaşık 119 bit teorik entropiye sahiptir: 20 × log₂(62).
Bu tahmin, üreticinin yöntemine bağlıdır. Her karakterin bağımsız seçildiğini, her seçeneğin eşit olasılıklı olduğunu ve şifrenin öngörülebilir bir kalıba dönüştürülmediğini varsayar. Karmaşık görünen bir şifre mutlaka tahmin edilemez değildir. Bir kişi, bir saldırganın erken deneyebileceği tanıdık kelimeleri, klavye dizisini veya öngörülebilir bir değişikliği seçebilir.
Entropi, olası çıktıların sayısını tanımlar; hesap güvenliğinin her yönünü değil. Şifre yeniden kullanımı, kimlik avı, kötü amaçlı yazılım ve bir hizmetin oturum açma korumalarındaki zayıflıklar, şifresi tahmin edilmesi zor olsa bile bir hesabı riske atabilir.
Modülo yanlılığından kaçının
Bir üretici iyi bir rastgele kaynağa sahip olabilir ve yine de rastgele değerleri karakterlere eşit olmayan şekilde eşleyebilir. Yaygın bir hata, rastgele bir bayt alıp alfabe boyutuna bölümünden kalanını kullanmaktır. Buna modülo indirgeme denir.
Örneğin, bir bayt 256 olası değer tutabilir. Bir üretici byte % 62 kullanarak 62 karakterden seçim yaparsa, bu 256 değer 62 gruba eşit olarak bölünmez. Bazı karakterlere beş bayt değeri eşlenirken, diğerlerine dört bayt değeri eşlenir. Fark küçük görünebilir, ancak seçimlerin tam olarak eşit olasılıklı olmadığı anlamına gelir.
Standart bir çözüm red örneklemesidir: alfabe boyutuna eşit bölünen bir aralığın dışındaki rastgele değerleri atın, ardından kalan değerleri karakterlere eşleyin. Bu, her karakterin eşit olasılıklı olmasını sağlar. İyi tasarlanmış bir üretici, basit bir kalan işlemine güvenmek yerine bunu doğru şekilde ele almalıdır.
Uzunluk ve karakter karmaşıklığı
Daha uzun şifreler, özellikle her ikisi de rastgele üretildiğinde, kısa olanlara göre genellikle tahmin edilmeye karşı daha fazla direnç sağlar. Daha fazla karakter türü eklemek de seçenek sayısını artırır, ancak daha uzun bir şifreden elde edilen kazanç genellikle daha büyüktür: her ek karakter, olası şifre sayısını alfabe boyutuyla çarpar, oysa bir karakter türü eklemek alfabeyi yalnızca biraz büyütür.
Bir web sitesi belirli karakter türlerini gerektirdiğinde karmaşıklık kuralları yine de yararlı olabilir. Ancak bir şifrenin bir büyük harf, bir rakam ve bir sembol içermesini zorunlu kılmak, onu tek başına güvenli yapmaz. Bu kuralları karşılayan kısa bir şifre, daha uzun rastgele üretilmiş bir şifreden daha az olası kombinasyona sahip olabilir.
Hizmetin kabul ettiği en uzun şifreyi kullanın ve gerekli karakter kurallarını üreticinin karşılamasına izin verin. Yalnızca hatırlamayı kolaylaştırmak için üretilmiş bir şifreyi kısaltmaktan kaçının; bir şifre yöneticisi farklı hesaplar için benzersiz şifreler saklayabilir. TIG Şifre Üretici bir sitenin gereksinimlerine uygun ayarlarla rastgele bir şifre oluşturmanıza yardımcı olabilir. crypto.getRandomValues ile red örneklemesi kullanır, tamamen tarayıcınızda çalışır ve gerekli karakter türlerini rastgele konumlara karıştırır.
Yerel üretim neden önemlidir?
Bir şifre tamamen tarayıcınızda üretildiğinde, gizli bilgi bir sunucuya gönderilmek yerine cihazınızda kalabilir. Bu, açığa çıkabileceği yerlerin sayısını azaltır. Ancak “tarayıcı tabanlı” olması tek başına üretimin yerel olduğunu kanıtlamaz: bir sayfa yine de verileri başka bir yere gönderebilir ve tarayıcı veya cihazın kendisi de ele geçirilmiş olabilir.
Hassas şifreler için güvendiğiniz bir üretici kullanın. Üretilen değerleri nasıl işlediğini kontrol edin ve gerçek bir şifreyi tanımadığınız bir güç denetleyicisine veya web sitesine yapıştırmayın. Tarayıcı uzantıları, pano geçmişi, ekran görüntüleri ve paylaşılan veya virüslü cihazlar da gizli bilgileri açığa çıkarabilir. Cihazınız veya iş akışınız uygunsa, kopyaladıktan sonra panoyu temizleyin.
Pratik bir örnek
Bir iş hesabının en fazla 20 karakter kabul ettiğini ve büyük harf, küçük harf ve rakam gerektirdiğini varsayalım. Makul bir yaklaşım, bu 62 seçenekten 20 karakter üretmek, sonucun sitenin kurallarını karşıladığını doğrulamak ve bir şifre yöneticisine kaydetmektir. Eşit olasılıklı, bağımsız seçim varsayımları altında, şifre yaklaşık 119 bit teorik entropiye sahiptir.
Site ayrıca bir sembol gerektiriyorsa, site izin veriyorsa üreticinin alfabesine sembolleri dahil edin. ! karakterini her zaman sona eklemek gibi öngörülebilir bir şekilde manuel olarak sembol eklemeyin; bu, şifreyi eşit olasılıklı üretilmiş bir şifreden daha az rastgele yapar. Bir güç denetleyici yararlı bir ikinci görüş sunabilir, ancak sonucu bir tahmindir, şifrenin güvenli olduğunun kanıtı değildir. Zaten kullandığınız bir şifreyi göndermekten kaçının. Örnek bir şifreyi veya yeni üretilmiş bir şifreyi, şifreyi tarayıcınızda bir sunucuya göndermeden analiz eden TIG Şifre Gücü Denetleyici ile kontrol edebilirsiniz.
Bir üreticide nelere dikkat etmeli
Bir şifre üreticisine güvenmeden önce şunları göz önünde bulundurun:
Math.random()değil, kriptografik olarak güvenli bir rastgele kaynak kullanır.- Modülo yanlılığı olmadan karakterleri eşit olasılıkla seçer.
- Yeterli uzunluk ve sitenin izin verdiği karakter türlerini seçmenize olanak tanır.
- Üretimin yerel olarak gerçekleşip gerçekleşmediğini ve üretilen değerlerin iletilip iletilmediğini açıklar.
- Gerekli karakter türlerini her zaman sabit konumlara yerleştirmek gibi öngörülebilir varsayılanlardan kaçınır.
En güçlü pratik şifre, rastgele, hesabına özgü, hizmet için yeterince uzun ve güvenli bir şekilde saklanan şifredir. Karmaşıklık, bir saldırganın araması gereken olasılıklarla ilgilidir; ekranda kaç tür karakter göründüğüyle değil.
Özet
- Güvenli üreticiler, tarayıcının Web Crypto API'si gibi kriptografik bir rastgele kaynak kullanır,
Math.random()değil. - Entropi, şifre uzunluğuna, alfabe boyutuna ve gerçekten eşit olasılıklı, bağımsız seçimlere bağlıdır.
- Modülo indirgeme eşit olmayan karakter olasılıkları yaratabilir; red örneklemesi bu yanlılığı önler.
- Daha uzun rastgele şifreler, karmaşıklık kurallarını karşılamak için oluşturulmuş kısa şifrelere göre genellikle daha fazla tahmin direnci sağlar.
- Yerel üretim maruziyeti sınırlayabilir, ancak güvenilir bir araç kullanın ve şifreyi cihazınızda koruyun.
Şimdi dene
Şifre Oluşturucu aracını doğrudan tarayıcınızda ücretsiz kullanın. Kayıt gerekmez ve dosyalarınız cihazınızda kalır.
Şifre Oluşturucu aracını aç