İçindekiler
1. Giriş
Web sitesi hesap ve parola sızıntılarına dair sürekli raporlar, bilgi ve parola güvenliğinin kritik önemini vurgulamaktadır. Web sitesi güvenlik açıkları bir faktör olsa da, parolanın kendi iç güvenliği en önemli unsurdur. Yaygın güvensiz parola uygulamaları arasında anahtar kelime tabanlı parolalar, popüler ifade kullanımı, kişisel bilgilerin dahil edilmesi ve parola tekrarı yer alır. Yapay zeka ve büyük dil modellerinin yükselişi, saldırganların parolaları daha etkili bir şekilde tahmin etme gücünü daha da artırmaktadır.
Bu araştırma, kriptografik olarak güvenli Sözde-Rastgele Sayı Üreteçleri (SRSÜ) temel alan güvenli bir parola oluşturucu önermektedir. Anahtarlı Özet Mesaj Doğrulama Kodu (HMAC), Şifre Tabanlı MAC (CMAC) veya KECCAK MAC (KMAC) kullanarak SRSÜ'ler oluşturur ve güvenli rastgele sayılar üretir; bu sayılar daha sonra parola oluşturmak için kullanılır. Üretilen rastgelelik, NIST SP 800-90B standardına karşı entropi ve Bağımsız ve Özdeş Dağılımlı (BBD) testleri ile doğrulanır.
2. Literatür Taraması
2.1. Doğrusal Kongrüans Üreteci Tabanlı SRSÜ
C ve Java gibi dillerde yaygın olarak kullanılan DKG'ler, $k$ ile tohumlanan tekrarlama ilişkisi aracılığıyla bir dizi üretir: $f_i(k) \equiv a \times f_{i-1}(k) + c \ (\text{mod} \ m)$. Durum tersine çevrilebileceği için güvensizdir: $f_{i-1}(k) \equiv (f_i(k) - c) \times a^{-1} \ (\text{mod} \ m)$, bu da tohumu ve tüm diziyi açığa çıkarır.
2.2. Güvenli Sözde-Rastgele Sayı Üreteçleri
Kriptografik SRSÜ'ler, kısmi çıktı bilinse bile tahmin edilemez olacak şekilde tasarlanmıştır.
2.2.1. HMAC Tabanlı SRSÜ
Güvenlik, özet fonksiyonlarının (örn. SHA2, SHA3) tek yönlü özelliğine dayanır. Bir $k$ anahtarı ve $M$ mesajı için HMAC şu şekilde hesaplanır: $r_{hmac}(k, M) = h((k \oplus opad) \ || \ h((k \oplus ipad) \ || \ M))$. Daha uzun çıktılar için birden fazla blok üretmek üzere sayaç modu kullanılır.
2.2.2. CMAC Tabanlı SRSÜ
Güvenlik, Gelişmiş Şifreleme Standardı'na (AES) dayanır. Şifre Blok Zincirleme (CBC) modunda çalışır. Doldurulmuş mesaj işlendikten sonraki son şifreli metin bloğu, MAC/çıktı olarak hizmet eder: $r_{cmac}(k, Split(M))$.
2.2.3. KMAC Tabanlı SRSÜ
SHA-3 (KECCAK) özet fonksiyonuna dayanan KMAC, değişken uzunlukta çıktı sağlar ve kuantum sonrası kriptografi için güçlü bir aday olarak kabul edilir.
2.3. Rastgelelik Doğrulama Yöntemleri
NIST SP 800-90B, entropi kaynaklarını değerlendirmek için metodolojiler sağlar. Entropi tahmini, tahmin edilemezliği (minimum entropi) nicelendirir. BBD testi, verinin bağımsız ve özdeş dağılıp dağılmadığını kontrol eder; bu, birçok istatistiksel test için temel bir varsayımdır. Bu testlerden geçmek, rastgelelik kaynağının kalitesini doğrular.
3. Önerilen Güvenli Parola Oluşturucu
Sistem mimarisi şunları içerir: 1) Kullanıcı isteğe bağlı olarak Özetlenecek Mesaj (TBHM) sağlar. 2) Bir kriptografik SRSÜ (HMAC/CMAC/KMAC tabanlı), yüksek entropili bir bit akışı üretmek için TBHM'yi (ve bir anahtarı) kullanır. 3) Bu bit akışı, belirtilen uzunluktaki kullanıcı tanımlı bir karakter kümesine (örn. alfasayısal + semboller) eşlenerek nihai parola üretilir. Güvenlik, parolanın arama uzayının AES-128 ve AES-256 anahtar güçleriyle karşılaştırılmasıyla analiz edilir.
4. Deneyler ve Sonuçlar
4.1. Deneysel Kurulum
Üç SRSÜ türü (HMAC-SHA256, CMAC-AES-128, KMAC256) uygulandı. Test için büyük rastgele bit dizileri üretildi.
4.2. Rastgelelik Doğrulama Sonuçları
Temel Sonuç: Önerilen üç SRSÜ yapısı da (HMAC, CMAC, KMAC), NIST SP 800-90B'ye göre hem entropi doğrulamasını hem de BBD testlerini başarıyla geçmiştir. Bu, üretilen sayıların kriptografik parola oluşturma için yeterli rastgeleliğe ve istatistiksel kaliteye sahip olduğunu deneysel olarak göstermektedir.
4.3. Performans Analizi
Hesaplama verimliliği değerlendirildi. Tüm yöntemler uygulanabilir olsa da, KMAC ve HMAC platforma bağlı olarak farklı performans profilleri gösterebilir; AES tabanlı CMAC ise AES hızlandırmalı donanımlarda genellikle daha hızlıdır.
5. Sonuç ve Gelecek Çalışmalar
Bu makale, kriptografik SRSÜ'ler (HMAC, CMAC, KMAC) üzerine inşa edilmiş güvenli bir parola oluşturucu çerçevesi sundu. Üretilen rastgelelik, NIST standartları kullanılarak doğrulandı ve uygunluğu teyit edildi. Gelecekteki çalışmalar, oluşturucuyu tarayıcı uzantılarına veya parola yöneticilerine entegre etmeyi, parolaların ötesinde kriptografik anahtar üretmede kullanımını araştırmayı ve ortaya çıkan yapay zeka tabanlı tahmin saldırılarına karşı dayanıklılığını test etmeyi içermektedir.
6. Özgün Analiz ve Uzman Yorumu
Temel İçgörü: Bu makale yeni bir şifre icat etmekle ilgili değildir; yaygın bir insan sorunu olan zayıf parola oluşturmaya yönelik pragmatik, standartlara uygun bir mühendislik çözümüdür. Temel değeri, yerleşik kriptografik ilkelleri (HMAC, CMAC, KMAC) NIST tarafından önerilen SRSÜ'ler olarak doğru bir şekilde uygulamak ve çıktıyı titizlikle doğrulamaktır; bu adım genellikle "kendin yap" parola oluşturucularda göz ardı edilir. Yapay zekanın kişisel veri kalıplarını modelleyebildiği (PassGAN gibi yapay zeka destekli parola tahmin araştırmalarında görüldüğü gibi) bir çağda, parola rastgeleliğinin kaynağını insan beyninden doğrulanmış kriptografik algoritmalara kaydırmak, tartışmasız bir güvenlik yükseltmesidir.
Mantıksal Akış: Mantık sağlamdır ve klasik bir uygulamalı kriptografi şablonunu izler: 1) Güvenlik açığını tanımla (zayıf insan üretimi parolalar). 2) Uygun, denetlenmiş kriptografik araçları seç (NIST SP 800-108 SRSÜ'leri). 3) Bir sistem oluştur (SRSÜ çıktısını karakter kümesine eşle). 4) Temel bileşeni doğrula (SRSÜ çıktısını NIST SP 800-90B ile). Bu metodoloji, `libsodium` gibi modern kütüphanelerin sağlam, varsayılan olarak güvenli ilkellere öncelik vermesi gibi, güvenli sistem tasarımındaki en iyi uygulamaları yansıtır.
Güçlü ve Zayıf Yönler:
Güçlü Yönler: Titiz NIST doğrulaması, makalenin en güçlü yanıdır ve deneysel güvenilirlik sağlar. KMAC kullanımı, kuantum sonrası hazırlıkla uyumludur. İsteğe bağlı kullanıcı girdisi (TBHM), gerekirse deterministik parola yeniden oluşturmaya izin veren, SRSÜ sağlam olduğu sürece güvenliği tehlikeye atmayan akıllı bir özelliktir.
Zayıf Yönler: Makalenin birincil sınırlaması, bir kavram kanıtı olarak kapsamıdır. Yan kanalları (eşleme sırasındaki zamanlama saldırıları), SRSÜ için güvenli anahtar yönetimini ve mevcut parola politikalarıyla entegrasyon zorluklarını ele alan gerçek dünya uygulama analizinden yoksundur. Ayrıca, parola gücünü AES ile karşılaştırsa da, kısa parolalar için kritik bir detay olan karakter kümesi eşleme sürecindeki entropi kaybını derinlemesine analiz etmemektedir.
Uygulanabilir İçgörüler: Güvenlik uygulayıcıları için çıkarım açıktır: Kullanıcıların veya naif rastgele fonksiyonların parola seçmesine izin vermeyi bırakın. "Parolamı unuttum" sıfırlamaları veya ilk kullanıcı kurulumu için bunun gibi bir arka uç parola oluşturucu uygulayın. Belirli SRSÜ seçimi özelleştirilebilir: yaygın sunucularda hız için CMAC-AES, uzun vadeli kuantum endişesi için KMAC kullanın. En önemlisi, herhangi bir benimseme, SRSÜ'nün tohumunu/anahtarını herhangi bir kriptografik anahtarla aynı titizlikle yönetmeyi içermelidir. Bu çalışma, güvenli parola oluşturma için önerilen bir model olarak OWASP'ın Kimlik Doğrulama Kopya Kağıdı gibi çerçevelere entegre edilmelidir.
7. Teknik Detaylar ve Matematiksel Formülasyon
Güvenlik, SRSÜ formülasyonlarına bağlıdır. HMAC için:
$r_{hmac}(k, M) = h((k \oplus opad) \ || \ h((k \oplus ipad) \ || \ M))$
Burada $h$ SHA-256 gibi bir özet fonksiyonu, $ipad/opad$ sabitler ve $k$ anahtardır. Parola oluşturma için, bir sayaç $i$, $M_i$'ye dahil edilerek birden fazla blok üretilir: $M_i = i || \text{Etiket} || 0x00 || \text{Bağlam} || L$. Çıktı bitleri daha sonra, $N$ boyutundaki $C$ kümesinden karakter seçmek için bir tamsayı indeksine dönüştürülür: $\text{indeks} = \text{rastgele_bitler} \mod N$.
8. Analiz Çerçevesi ve Örnek Vaka
Senaryo: Bir web hizmeti, yeni bir kullanıcı hesabı için güçlü bir 12 karakterlik parola oluşturmak istiyor.
Çerçeve Uygulaması:
1. Parametreleri Tanımla: Karakter kümesi $C$ = 94 yazdırılabilir ASCII karakter. Uzunluk $L=12$. SRSÜ seçimi: HMAC-SHA256.
2. Rastgelelik Üret: Tohum $k$ için entropi topla. TBHM = "serviceX_user123" kullan. Sayaç modunda HMAC tabanlı SRSÜ çalıştırarak $\lceil log_2(94^{12}) \rceil \approx 79$ bit entropi üret.
3. Parolaya Eşle: 79-bit akışını kullanarak, her biri $C$'den bir karakter seçen 12 indeks üret.
4. Doğrulama Kontrolü: Oluşturulan parolanın entropisi ~78.5 bittir, ~80-bit simetrik anahtarla karşılaştırılabilir ve herhangi bir insan seçimi paroladan önemli ölçüde daha güçlüdür.
Kodsuz İş Akışı: Bu süreç, kriptografiyi son kullanıcıdan tamamen soyutlayarak, sunucu tarafı bir API çağrısında kapsüllenebilir.
9. Gelecek Uygulamalar ve Yönelimler
1. Parola Yöneticisi Çekirdek Motoru: Bu oluşturucuyu, açık kaynak ve ticari parola yöneticilerinde (örn. Bitwarden, 1Password) varsayılan parola oluşturma motoru olarak entegre edin.
2. Kuantum Sonrası Geçiş: KMAC tabanlı oluşturma, NIST Kuantum Sonrası Kriptografi projesi tarafından önerildiği gibi, kuantuma dayanıklı parola ve belirteç oluşturma için hazır bir çözümdür.
3. Nesnelerin İnterneti ve Gömülü Güvenlik: Hafif CMAC-AES sürümleri, kısıtlı ortamlarda benzersiz cihaz parolaları ve API anahtarları oluşturabilir.
4. Blok Zinciri ve Web3: Kripto para cüzdanları için, doğrulanabilir şekilde rastgele bir kaynak kullanarak güvenli, rastgele anımsatıcı ifade tohumları oluşturun.
5. Standardizasyon: Bu metodolojiyi, IETF veya FIDO gibi standart kuruluşlarına, yeni nesil kimlik doğrulama protokollerine dahil edilmek üzere önerin.
10. Kaynaklar
- M. Bishop, "Computer Security: Art and Science", Addison-Wesley, 2018.
- NIST, "Special Publication 800-63B: Digital Identity Guidelines", 2017.
- M. L. Mazurek ve diğerleri, "Measuring Password Guessability for an Entire University", IEEE S&P, 2013.
- B. Ur ve diğerleri, "How Does Your Password Measure Up? The Effect of Strength Meters on Password Creation", USENIX Security, 2012.
- NIST, "Special Publication 800-108: Recommendation for Key Derivation Using Pseudorandom Functions", Rev. 1, 2022.
- NIST, "Special Publication 800-90B: Recommendation for the Entropy Sources Used for Random Bit Generation", 2018.
- J. Kelsey, B. Schneier, D. Wagner, "Secure Applications of Low-Entropy Keys", ISW, 1997.
- FIPS PUB 202, "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions", 2015.
- B. Hitaj ve diğerleri, "PassGAN: A Deep Learning Approach for Password Guessing", NeurIPS Workshop, 2017.
- D. J. Bernstein ve diğerleri, "The Security Impact of a New Cryptographic Random Number Generator", 2020.