Bu site, Kohei Koyanagi tarafından geliştirilen yazılımla birden çok dile otomatik olarak çevrilmiştir. En doğru içerik için orijinal İngilizce sürümüne bakın.

Şifrelerinizi Nasıl Koruyoruz

Splync Şifrelerinizi Hiçbir Zaman Düz Metin Olarak Saklamaz

Önceki yazılarda, HTTPS'in uygulamanız ile sunucumuz arasındaki hattı, SSH'in ise sunucunun kendisini nasıl koruduğunu inceledik. Şimdi sunucunun içerisine bakalım — Splync şifrenizi oraya ulaştıktan sonra nasıl güvende tutuyor? Eğer birisi şifrenizi ele geçirse, hesabınıza giriş yapıp, harcama kayıtlarınız dahil olmak üzere hassas bilgilere ulaşabilir. Bu yüzden Splync şifreleri düz metin olarak asla saklamaz. Bunun yerine, her şifre, veritabanında saklanmadan önce bir hash formuna dönüştürülür. Bu ne anlama geliyor? Hashing, tek yönlü bir dönüşümdür — bir kez dönüştürüldüğünde, orijinal şifreye geri dönüştürülemez. Bu yöntem, bankalardan büyük bulut hizmetlerine kadar internette standarttır, ancak birçok insan bunun nasıl çalıştığını bilmez. Bunu basit bir günlük analoji ile keşfedelim.

Hashing Temelleri: Her Zaman Aynı Şekilde Karıştıran Bir Blender

Şifre korumanın nasıl çalıştığını anlamak için, SHA-256 adında basit bir hashing yöntemine bakalım. Bunu, her zaman aynı şekilde malzemeleri karıştıran bir blender olarak düşünün. Aynı şifreyi blendera koyup düğmeye bastığınızda, her zaman aynı benzersiz smoothie'yi — harfler ve rakamlarla karışık bir karışımı — elde edersiniz. Ana fikir, bu işlemin geri döndürülememesidir. Nasıl ki bir smoothie'yi alıp orijinal muz ve süt haline geri getiremiyorsanız, karışık hash'i alıp orijinal şifreyi geri getiremezsiniz.

SHA-256 Örneği: Şifreleri Bilmeden Doğrulama Yapmak

SHA-256, en yaygın hashing algoritmalarından biridir. Örneğin, "splync1234" şifresini "9cdafa20d069ecfb202e5f0bc937c73071cc6cd85634cc2d95d30ddcf2a71d41" haline getirir. Her seferinde bir kullanıcı giriş şifresi girdiğinde, SHA-256 her zaman aynı hash şifreyi üretir. Uygulama, girilen şifreyi tekrar hashleyip kaydedilen hash ile eşleşip eşleşmediğini kontrol eder. Sistem hiçbir zaman kullanıcının orijinal şifresini bilmez. Ancak, saldırgan bir liste oluşturarak yaygın şifreleri ve bunların hashlerini (rainbow tablo saldırısı olarak bilinir) önceden hesaplayarak kullanıcıların şifrelerini hızlı bir şekilde tahmin edebilir mi? Bu endişe gerçektir. Bu yüzden modern sistemler, Splync dahil, yalnızca düz SHA-256'ya güvenmez.

Splync, Şifreleri SHA-256'dan Daha Güçlü bcrypt ile Hashler

Bcrypt, kullanıcı başına rastgele bir tuz kullanır ve bu tuzu (ve maliyet faktörünü) doğrudan saklanan hash dizisine kodlar. Bcrypt'i, gizli bir baharat (tuz) ve yavaş bir motor (iş faktörü) olan bir blender olarak düşünün — her karışımı benzersiz ve kopyalanması zor hale getirir. Tuz 128 bit olduğundan (≈3×10³⁸ olasılık), aynı şifre astronomik ölçüde farklı saklanan hashlere eşleşebilir. Bu da önceden hesaplanan rainbow tabloları ölçeklendirmeyi işe yaramaz hale getirir. Giriş sırasında, Splync saklanan bcrypt dizisinden tuz ve maliyeti okur, girilen şifreye bu parametrelerle tekrar bcrypt uygular ve sonucu kaydedilen hash ile karşılaştırır. Eğer eşleşirse, şifre doğrudur — fakat bcrypt kasıtlı olarak yavaş ve tuzlar benzersiz olduğu için, kaba kuvvet saldırıları saldırgan için çok daha maliyetli hale gelir.

bcrypt ile Kolay Bir Örnek

Bunu pratikte nasıl göründüğünü görelim. "splync1234" şifresini bcrypt ile (12 maliyet kullanarak) hashlediğinizde, şu şekilde bir dize elde edebilirsiniz: `$2b$12$gBeouKYdue9uvvuV0HtGgeVPymnrojMqP/wcRw28HFlGEGIQbyw7O`. Bu bcrypt dizisinde, `$2b` algoritma versiyonunu belirtirken, `$12` maliyet faktörünü (şifrenin kaç kez işlendiğini) gösterir, `gBeouKYdue9uvvuV0HtGgeV` benzersiz rastgele tuz ve `PymnrojMqP/wcRw28HFlGEGIQbyw7O` nihai hashlenmiş şifredir. Hashin kendisi tuz ve maliyeti içerdiğinden, Splync bu değerleri saklanan diziden çıkarıp sonucu karşılaştırarak aynı hashing sürecini doğrulama için yeniden üretebilir. Öte yandan, bir saldırgan tuz ve maliyeti bilmiyorsa, her kullanıcı için çalışan tek bir rainbow tablo oluşturamaz.

Hashlenmiş Şifreler Çifte Koruma Sunar

Bu yaklaşımın başka bir önemli avantajı var. Splync, düz şifreleri asla saklamadığından, veritabanı sızdırılmış veya çalınmış olsa bile, kullanıcılar hemen risk altında değildir. Saldırganlar, ellerinde sadece karışık dizeler olduğundan, çalınan verilerle doğrudan oturum açamazlar. Bu tasarım, sunucunun etrafında zaten var olan korumalara ek olarak kullanıcılara ekstra bir koruma katmanı sağlar. Şifre hashingi, Splync'e özgü değildir; Google, Apple ve Amazon gibi devler tarafından kullanılan teknoloji endüstrisi genelinde bir standarttır. Splync çok güvenli bir şekilde inşa edilmiştir ve e-posta doğrulama, kaba kuvvet koruması ve sürekli izleme gibi özelliklerle güvenliği artırmaya devam ederken daha da güvenli hale gelecektir.