top of page

Şifreler ve bilgisayar korsanlığı: hashing,SHA-2'nin Jargonu

  • Yazarın fotoğrafı: CodeX
    CodeX
  • 1 Ara 2020
  • 5 dakikada okunur


Bilgilerinizi bir veritabanında güvende tutmak, bir sitenin yapabileceği en az şeydir, ancak parola güvenliği karmaşıktır.


Yahoo, MySpace ve TalkTalk'tan Ashley Madison ve Adult Friend Finder'a kadar kişisel bilgiler dünyanın her yerinden bilgisayar korsanları tarafından çalındı.


Ancak her hack'le birlikte, sitenin kullanıcılarının verilerini ne kadar iyi koruduğuna dair büyük bir soru var. Açık ve ücretsiz olarak elde edilebilir miydi yoksa hash edilmiş, emniyete alınmış ve pratik olarak kırılmaz mıydı?


Bir şeyin "açık metin" veya "düz metin" olarak saklandığı açıklandığında, bu, o şeyin basit bir metin olarak açık olduğu anlamına gelir - onu içeren veritabanına basit bir erişim kontrolü dışında hiçbir güvenlik yoktur.


Hashing


Bir şifre "karma hale getirildiğinde", kendisinin şifreli bir temsiline dönüştüğü anlamına gelir. Bir kullanıcının şifresi alınır ve - site tarafından bilinen bir anahtar kullanılarak - hash değeri, ayarlanmış bir algoritma kullanılarak hem şifre hem de anahtarın kombinasyonundan türetilir.


Bir kullanıcının şifresinin doğru olduğunu doğrulamak için, şifre karma hale getirilir ve her oturum açtığında kayıtta saklanan değerle karşılaştırılır.


Bir karma değeri doğrudan parolaya dönüştüremezsiniz, ancak eşleşen bir tanesini, sözde kaba kuvvet saldırısı veya benzer yöntemleri bulana kadar parolalardan sürekli olarak karma oluşturduğunuzda parolanın ne olduğunu hesaplayabilirsiniz.


Tuzlama


Parolalar genellikle "karma ve gizli" olarak tanımlanır. Salting basitçe, her parolaya hashing uygulanmadan önce yalnızca site tarafından bilinen benzersiz, rastgele bir karakter dizisinin eklenmesidir, tipik olarak bu "tuz" her parolanın önüne yerleştirilir.


Tuz değerinin site tarafından saklanması gerekir, bu da bazen sitelerin her şifre için aynı tuzu kullandığı anlamına gelir. Bu, tek tek tuzların kullanılmasından daha az etkili olmasını sağlar.


Benzersiz tuzların kullanılması, birden fazla kullanıcı tarafından paylaşılan ortak şifrelerin - "123456" veya "şifre" gibi - böyle bir karma şifre tanımlandığında hemen ortaya çıkmadığı anlamına gelir - çünkü şifreler aynı olmasına rağmen tuzlanmış ve karma değerlerin değil.


Büyük tuzlar ayrıca, gökkuşağı tabloları veya önceden kırılmış şifrelerin günlükleri dahil olmak üzere karmalara yönelik belirli saldırı yöntemlerine karşı koruma sağlar .


Hem haşlama hem de tuzlama, güvenliği kırmadaki zorluğu artırmak için birden fazla tekrar edilebilir.


Karabiber


Kriptograflar baharatlarını sever. "Biber" tuza benzer - hashing uygulanmadan önce şifreye eklenen bir değer - ancak genellikle şifrenin sonuna yerleştirilir.


Genel olarak iki biber çeşidi vardır. İlki, her parolaya eklenen bilinen bir gizli değerdir ve bu, yalnızca saldırgan tarafından bilinmediğinde yararlıdır.


İkincisi, rastgele oluşturulan ancak asla depolanmayan bir değerdir. Bu, bir kullanıcı siteye her giriş yapmaya çalıştığında, doğru biber değerini bulmak ve hash değerini eşleştirmek için birden fazla biber ve karma algoritma kombinasyonunu denemek zorunda olduğu anlamına gelir.


Bilinmeyen biber değerinde küçük bir aralıkla bile, tüm değerlerin denenmesi her giriş denemesi için birkaç dakika sürebilir, bu nedenle nadiren kullanılır.


Şifreleme


Karma oluşturma gibi şifreleme, kriptografinin bir işlevidir, ancak temel fark, şifrelemenin geri alabileceğiniz bir şey olmasına karşın, karma oluşturma işlemi geri alınamamasıdır. Değiştirmek veya okumak için kaynak metne erişmeniz gerekiyorsa, şifreleme, onu güvenceye almanıza izin verir, ancak yine de şifresini çözdükten sonra onu okur. Karma işlemi tersine çevrilemez, yani karmanın neyi temsil ettiğini yalnızca aynı bilgi olduğunu düşündüğünüz başka bir karmayla eşleştirerek öğrenebilirsiniz.


Banka gibi bir site sizden şifrenizin belirli karakterlerini her şeyi girmek yerine doğrulamanızı isterse, şifresini çözmesi ve şifrenin tamamını depolanan bir özetle eşleştirmek yerine tek tek karakterleri doğrulaması gerektiği için şifrelerinizi şifreler.


Şifrelenmiş parolalar genellikle birincil oturum açma faktörü yerine ikinci faktörlü doğrulama için kullanılır.


Onaltılık


Basitçe "onaltılık" veya "taban 16" olarak da bilinen onaltılık bir sayı, 16 ayrı sembol kullanarak sıfırdan 15'e kadar olan değerleri temsil etmenin bir yoludur. 0-9 sayıları sıfırdan dokuza kadar olan değerleri temsil eder; a, b, c, d, e ve f 10-15'i temsil eder.


İkili sayıları temsil etmenin insan dostu bir yolu olarak hesaplamada yaygın olarak kullanılırlar. Her onaltılık basamak, dört bit veya yarım baytı temsil eder .


MD5


İlk olarak 1992'de yayınlanan bir kriptografik karma algoritma olarak tasarlanan MD5'in, kırılmasını nispeten kolaylaştıran kapsamlı zayıf yönleri olduğu gösterilmiştir.


Üretimi oldukça kolay olan 128 bitlik karma değerleri, indirilen bir dosyanın kurcalanmadığından emin olmak için dosya doğrulama için daha yaygın olarak kullanılır. Şifrelerin güvenliğini sağlamak için kullanılmamalıdır.


SHA-1


Secure Hash Algorithm 1 (SHA-1), ilk olarak 1993'te ABD Ulusal Güvenlik Ajansı tarafından tasarlanan ve 1995'te yayınlanan kriptografik karma algoritmadır.


Genellikle 40 basamaklı onaltılık bir sayı olarak işlenen 160 bitlik karma değer üretir. 2005 yılı itibarıyla, SHA-1'in artık güvenli olmadığı kabul edildi, çünkü bilgi işlem gücündeki üstel artış ve gelişmiş yöntemler, hash üzerinde sözde bir saldırı gerçekleştirmenin ve bilgi işlem için milyonlar harcamadan kaynak şifre veya metni üretmenin mümkün olduğu anlamına geliyordu. kaynak ve zaman.


SHA-2


SHA-1'in halefi olan Secure Hash Algorithm 2 (SHA-2), SHA-224, SHA-256, SHA-384 olarak yazılan 224, 256, 384 veya 512 bit ile daha uzun hash değerleri üreten bir hash fonksiyonları ailesidir. veya SHA-512.


İlk kez 2001'de yayınlandı, yine NSA tarafından tasarlandı ve ona karşı etkili bir saldırı henüz gösterilmedi. Bu, SHA-2'nin genellikle güvenli hashing için önerildiği anlamına gelir.


SHA-3, SHA-2'nin yerini almamakla birlikte, NSA tarafından değil, Hollanda'nın Nijmegen kentindeki STMicroelectronics ve Radboud Üniversitesi'nden Guido Bertoni, Joan Daemen, Michaël Peeters ve Gilles Van Assche tarafından geliştirildi. 2015 yılında standardize edildi.


Hesaplama gücü arttıkça, bir bilgisayar korsanının verimli bir karma algoritma için yapabileceği kaba kuvvet tahminlerinin sayısı da katlanarak arttı.


Blowfish şifresini temel alan ve bir tuz içeren Bcrypt, kasıtlı olarak daha yavaş çalışarak kaba kuvvet saldırılarına karşı koruma sağlamak için tasarlanmıştır. Parolanızı, hashing uygulanmadan önce tanımlanabilir sayıda uzatma turundan geçiren sözde bir çalışma faktörüne sahiptir.


Çalışma faktörünü artırarak şifreyi zorlamak ve hash ile eşleştirmek daha uzun sürer. Teori, site sahibinin, günümüz bilgisayarlarının şifrede yapabileceği tahminlerin sayısını azaltmak ve zamanı günlerden veya haftalardan aylara veya yıllara uzatmak için yeterince yüksek bir çalışma faktörü belirlemesidir, bu da onu engelleyici bir şekilde zaman alıcı ve pahalı hale getirir.


PBKDF2


RSA Laboratuvarları tarafından geliştirilen Parola Tabanlı Anahtar Türetme İşlevi 2 (PBKDF2), karmaları kaba kuvvetten daha zor hale getiren anahtar genişletme için başka bir algoritmadır. Algoritmayı çalıştırmak için daha az bilgisayar belleği gerektirdiğinden, belirli bir değerde Bcrypt'e göre kaba kuvvetin biraz daha kolay olduğu düşünülmektedir.


Scrypt


Bcrypt ve PBKDF2 gibi Scrypt, anahtarları genişleten ve bir hash'e kaba kuvvetle saldırmayı zorlaştıran bir algoritmadır. Bununla birlikte, PBKDF2'den farklı olarak, scrypt ya büyük miktarda bilgisayar belleği kullanmak ya da çalışırken çok daha fazla hesaplamayı zorlamak için tasarlanmıştır.


Depolanan bir değerle eşleşip eşleşmediğini kontrol etmek için yalnızca bir parola hashlemek zorunda olan yasal kullanıcılar için maliyet önemsizdir. Ancak 100.000 şifreyi denemeye çalışan biri için bu çok daha yüksek maliyete neden olur veya çok uzun sürer.


Peki ya şifreler ?


Bir parola SHA-2 veya daha yenisi kullanılarak uygun şekilde karma hale getirilirse ve tuzlanırsa, parolayı kırmak için kaba kuvvet saldırısı gerekir.


Parola ne kadar uzun olursa, kaba kuvvet saldırısı o kadar uzun sürer. Ve kaba kuvvet saldırısı ne kadar uzun süre gerektirirse, hash'i eşleştirmek ve şifreyi keşfetmek o kadar zaman alıcı ve pahalıdır.


Bu, parola ne kadar uzun olursa o kadar iyidir, ancak parolanın yapılandırılması da bir fark yaratır. Gerçek rastgele sekiz karakterlik bir parola, sekiz harfli bir sözlük sözcüğünden daha güvenli olacaktır, çünkü kaba kuvvet saldırıları, sözlükleri, adları ve diğer sözcük listelerini yem olarak kullanır.


Bununla birlikte, site şifrenizi düz metin olarak saklarsa, veri tabanı çalınırsa şifrenizin ne kadar olduğu önemli değildir.

コメント


Abonelik Formu

Gönderdiğiniz için teşekkür ederiz!

  • Twitter

©2020, cyberdarkbox tarafından Wix.com ile kurulmuştur.

bottom of page