Şifre ve Kullanıcı Adı Kontrolü

Döndürülemiyor, dediğim gibi siz giriş yaparken parolanız tekrardan aynı yöntemle şifreleniyor ve kıyaslanıyor. Fazla detaya girmiyorum zira yukarıda uzun bir şekilde anlattım. Başka arkadaşlar da belirtti durumu.

Siz şimdi bunca şeyi kafanıza göre yok sayıp o algoritmaların geri döndürülebileceğini söyleyip üstüne üstlük bunları bilmediğimizi iddia ediyorsunuz. Doğrusunu anlatın da bilelim o zaman. Bana güvenli bir Hash algoritması ile şifrelenmiş metnin orijinalini nasıl bulabileceğimizi anlatır mısınız? Ama Dictionary/Rainbow Attack kullanmadan.

Boşuna vaktinizi kaybetmeyin, arkadaş zaten bunu yapabilecek birisi olsaydı forumda bunu yazmak yerine dolarlarının kokusunu çekiyor olurdu.
 
Bütün veriler veritabanlarında saklanır. Geri dönüşümü olmasaydı, o veriler nasıl okunacaktı? Veri tabanı dediğimiz de bir dosya. Rar dosyası gibi düşünün. Bir dosya sıkıştırılıyorsa, tekrar çıkrılabiliyorda. Ters işlem yapılamaz olsaydı, bir anlamı da kalmazdı.

Ve, o bilgilere kimse erişemez olsaydı, sızdırılamaz da olurdu. Oysa böyle şeylere son zamanlarda sık rastlıyoruz.

Bir örnek: https://www.ntv.com.tr/galeri/tekno...llanicilari-ne-yapmali,IAVLacY7MUaokX95-v1CLg
 
Veritabanına ulaşılamaz demiyorum. Elbette ulaşılacak. Veritabanına yazılan metinler var ya hani, o yazdığımız verileri şifreliyoruz biz. Yani siz bir parolayı veritabanına kaydederken o parolayı şifreliyorsunuz. Sizin parolanız "araba" ise, ben kendi sitemde bu veriyi tutarken örneğin SHA-256 ile şifreleyip şu veriyi elde ediyorum:
4849a6a362ae149353a4077359f4886f6a1e89399c6aa90f3d0678d129c833eb

Sonra bu veriyi veritabanına yazıyorum. Siz giriş yaparken metin kutusuna "araba" yazdığınızda tekrardan bu yazdığınız "araba" metnini aynı yöntemle şifreliyorum ve elde ettiğim şifrelenmiş metin ile veritabanına önceden yazdığım şifrelenmiş metin aynı mı diye bakıyorum. Aynıysa diyorum ki tamam, giriş yapabilir. Ama bu üstteki şifrelenmiş metinden "araba" olduğunu anlayamam.

Veri sızıntılarına gelirsek, işte bu yöntemi kullanmayan sitelerin veritabanları sızınca bütün şifreler açığa çıkıyor. Zaten kullanmanın en büyük amaçlarından birisi bu. Veritabanı ele geçirilse bile şifrelenmiş verilerin ne olduğu anlaşılamıyor. Tabii salting gibi yöntemler kullanılmıyorsa dediğim yöntemle özellikle basit şifreler açığa çıkabiliyor. Ama bu bir nevi tek tek denemek anlamına geldiğinden, şifreleme yönteminin geri döndürülebilir olduğu anlamına gelmiyor.
 
Son düzenleme:
Bütün veriler veritabanlarında saklanır. Geri dönüşümü olmasaydı, o veriler nasıl okunacaktı? Veri tabanı dediğimiz de bir dosya. Rar dosyası gibi düşünün. Bir dosya sıkıştırılıyorsa, tekrar çıkrılabiliyorda. Ters işlem yapılamaz olsaydı, bir anlamı da kalmazdı.

Ve, o bilgilere kimse erişemez olsaydı, sızdırılamaz da olurdu. Oysa böyle şeylere son zamanlarda sık rastlıyoruz.

Bir örnek: Bilgileri çalınan Yahoo kullanıcıları ne yapmalı? (500 milyon Yahoo hesabı çalındı)

Mantığınız çok yanlış. O sitelerde böyle algoritmanın kullanıldığını nereden biliyorsunuz?
Kriptoloji bilimine bir göz atmanızı tavsiye ederim. Bilmiyorsunuz, sormanız ve sorgulamanız doğal ve olması gereken bir şey ancak yanlışı diretmek, diyecek söz yok. Bakın basitçe tane tane elimden geldiğince anlatmaya çalışacağım.

Kriptografi önemli verilerin güvenli bir şekilde saklanmasında büyük ölçüde etkilidir. Güçlü ve güçsüz kriptografi algoritmaları var.
Kriptografiler üçe ayrılırlar: Simetrikler ve Asimetrikler ve Hash. Aklınıza gelen anlamda değil, mesela simetrikler de 4 karakter yine şifrelendiğin de 4 karakter olur anlamında değil. Simetrikler geri döndürülebilir algoritmalardır. Mesela;
AES bir simetrik kriptografi algoritmasıdır. Identity Vector(IV) ve Key belirtirsiniz. Bunlara göre algoritma şifreler ve aynı veriyi şifrelenmiş veriden geri döndürmek için aynı IV ve KEY'i kullanmanız gerekir. Farklı IV ve KEY'ler aynı veride farklı sonuçlar verir. Tamamen sallamasyon örnek veriyorum mesela sizin şifreniz "crazyboy8090" olsun bunu kendi belirlediğim IV ve KEY ile şifrelediğimde elde ettiğim sonuç bu olsun "26g23u5423m". Bunu yine aynı IV ve KEY'i kullanarak geri döndürmem mümkün.

Asimetrik algoritmalar ise geri döndürülebilir ancak şifreleme için herkesin görebilidiği bir KEY, çözmek için ise özel bir KEY kullanan algoritmalardır.

Hash algoritmalar ise geri döndürülemeyen algoritmalardır.
SHA-256 ile 256-Bit bir şifreleme yaparsam "crazyboy8090" şifreniz de bana mesela "9jlkwkokjwJıjgm30905u7ljsmkfKnmfıjdfn38up034e" olarak veriyor olsun. Bunun geri döndürülmesi aynı yöntemle imkansız. Tersine mühendislik hash algoritmalara uygulanamaz. Teker teker şifre denemeleri yaptığınız BruteForce gibi saldırılarla şansa bala ortaya çıkarırsınız çünkü o şifrenin aynısını şifreleyip denemeniz lazım. Bunun için algoritmayı da doğru bilmeniz lazım. Yani doğrudan erişebileceğiz bir yöntem yok. Peki tersine mühendislik neden yapılamıyor? çünkü algoritma bu şifrenin zaten geri döndürülmesinin istenmediğinden dolayı her bir karakter başka bir şeyi simgeleyecek gibi (A = 2 | 2 = A vb.) bir yöntem kullanmaz. Yani oradaki bir 'A' karakteri 'z' karakterini temsil ettiği gibi '6' karakterini de temsil edebilir ve bunu kimse bilemez. Geri döndüremezsiniz!

Peki o zaman verileri nasıl kıyaslıyoruz? ha bire bunu soruyorsunuz söylememize rağmen.
Bakın sistem şifrenizin hash olarak şifrelenmiş halini veritabanından olduğu gibi alır.
Girmiş olduğunuz şifreyi aynı algoritma ile şifreler. Eğer ki sonuç tutuyor ise şifreyi doğru girmişsiniz demektir aksi halde zaten yanlıştır.
Bunda neyi anlamadığınızı bize söyleyin lütfen, bakın daha ne kadar açık anlatabilirim inanın bilmiyorum.
 
Son düzenleme:
@Supangela yorumunuz için teşekkürler, açık şekilde anlatmışsınız. Yalnız ufak bir nokta var; asimetrik şifreleme, public key ve private key kullanılan; biri ile şifrelenip diğeri ile açılan algoritma değil miydi? RSA gibi.

Evet öyleler. Kriptoloji bilimcisi değilim ama bildiğim kadarı ile geri döndürülemeyenler de asimetrik grubuna dahildi. Uyardığınız için teşekkür ederim, konuyu araştıracağım.
@Alpha Centauri Bilgilerimi tazeledim. Geri döndürülemez algoritmalar, Hash veya Karma algoritmalar olarak isimlendiriliyormuş. Girdimi güncelledim, tekrar teşekkürler.
 
Son düzenleme:
Bu tür araştırma şirketleri bu bilgilere nasıl ulaşıyor? Telefon açıp soruyorlar mı "Abi şifren neydi" diye?
The Most Common Passwords Of 2019 Might Surprise You
The 100 Worst Passwords: Most Common Passwords of the Internet 2019
Ben data sızıntısı olmuyor mu diyorum? Siz kendiniz örneğin bir site hazırlarken parolaları veritabanına olduğu gibi de yazabilirsiniz, Hash algoritmalarıyla şifreleyip de yazabilirsiniz, hatta bu algoritmaların üst üste 5 kere çalışmasını da sağlayabilirsiniz, Salting yöntemi de kullanabilirsiniz. Bunların hepsi size kalmış.

Siz yeterince güvenlik önlemi almazsanız veri ihlali yaşama ihtimaliniz artar. Parolaları veritabanına olduğu gibi yazarsanız veritabanını eline geçiren birisi doğrudan bütün parolaları görür. Ama iyi bir Hashing algoritmasıyla, örneğin 5 kere üst üste şifreleyip her adımda Salting de uygularsanız bu şifreli metinlerin orijinalinin bulunma ihtimali ciddi manada düşük olur.

İşte bu yeterince güvenlik önlemi almayan sitelerden ele geçirilen veritabanı dosyaları kolaylıkla çözülebiliyor, bazen şifrelenmemiş bile olabiliyor.

Burada çözmekten kastım bahsettiğim gibi Rainbow Attack veya benzeri yöntemler. Bu yöntemler bir nevi kaba kuvvet saldırısıdır, her ihtimali tek tek denemekten geçer. Bu, Hashing algoritmaları ile şifrelenmiş verilerin geri döndürülebileceği anlamına gelmiyor.

Örneğin AES veya DES gibi simetrik şifrelemelerde bir anahtarınız vardır, metni bununla şifreleyip kolaylıkla çözebilirsiniz. Geri döndürülebilir demek için bu şekilde çalışması gerekiyor.

İşin aslı, bu tek tek deneme yöntemi ile teoride hangi şifreleme yöntemi ile şifrelenmiş olursa olsun bir metnin orijinalini bulabilirsiniz. Kriptolojide istenen şey zorluktur. Siz tek tek denedikten sonra benim şifremi bulabilirsiniz. Ama bu sizin için 10 milyon yıl sürecek bir işlemse, bu benim için yeterli.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı