Herkes, şifreleri saklarken geri dönüşümlü olmayan bir karma kullanmanız gerektiğini söylüyor, böylece veritabanınız sızdırılmış olsa bile, şifrelerin kendileri hala güvende. Şifreleri saklamak için tersine çevrilebilir şifreleme kullanmak için herhangi bir yöntem olup olmadığını merak ediyorum.
En azından, veritabanına sızan herhangi bir açıklamanın (SQL enjeksiyonu, sunucu Kabuğu erişimi, vb.) Şifreleme anahtarını sızdırmamasını ve kullanarak şifreleme anahtarını anlamanın mümkün olmayacağını belirtmeniz gerekir. Sızan veritabanınız varsa bilinen bir düz metin parolası.
Bunu yapmayı ciddi olarak düşünmüyorum çünkü teknik olarak mümkün olsa bile doğru yapmak zor olurdu, ancak ilginç bir sorun gibi görünüyor.
Tersine çevrilebilir şifreleme parolalar için yaygın olarak kullanılmaz, çünkü parola kimlik doğrulamasının özel gereksinimleri ve parametreleri geri çevrilebilir şifrelemenin zayıflığıyla uyumlu değildir.
Tersinir şifrelemenin birincil zayıflığı basittir: anahtarın güvenliği ihlal edilirse, şifrelenen veriler tehlikeye girer, nokta.
Parolalar, kullanıcılar her oturum açtıklarında her zaman kullanılır. Bu nedenle, kimlik doğrulama işleminin, kullanıcıların denetimlerine, engelli denetimler olmadan, otomatik olarak her zaman erişebilmesi gerekir. Bu, ters çevrilebilir şifreleme anahtarının her zaman diskte veya bellekte olması gerektiği anlamına gelir. Bu program, disk veya bellek bir şekilde tehlikeye atılırsa, geri dönüşümlü olarak şifrelenen tüm parolaların hepsi tek bir geçişte tehlikeye atılır.
Aksine, geri dönüşü olmayan karmaların kullanımını düşünün. Program, disk veya bellek tehlikeye atılırsa, saldırgan "kilitli" karmaları alır ve anahtar yoktur. Daha sonra, bilinen şifreli metin saldırısı, kaba kuvvet, vb. - daha fazla saldırabilirler, ancak henüz "kazanmadılar".
Diskler, dosyalar, e-posta ekleri - her zaman geri dönüşümlü (anahtarlı diyelim) şifreleme kullanıyoruz. Bununla birlikte, bu kullanımların ortak noktası, anahtarı sağlamak için insan müdahalesini teşvik etmeleri (gerekmemesi durumunda).
Bunu neden sorduğunuzdan emin değilim, ama hibrit bir model ne olacak? Kullanıcı şifreleri için her ikisi de tersine çevrilebilir ve tersine çevrilemez şifreli metin depolamanın makul olabileceğini düşünün. Parolalar oluşturulduğunda, şifrelenmiş iki sürümü saklayın: Biri tek yönlü karma işleviyle, diğeri asimetrik şifreleme algoritmasıyla ("ortak anahtar şifrelemesi") oluşturulur. Tüm otomatik kimlik doğrulama işlemleri, kimlik doğrulama amacıyla geri döndürülemez karmaları kullanır. Şifrelenmiş şifreleri oluşturmak için çiftin "ortak anahtarı" yarısını sistemde tutun ve çiftin "özel anahtarı" yarısını çevrimdışı olarak saklayın . Parola düz metninin gerekli olduğu durumlarda, şifrelenmiş parolayı çevrimdışı duruma getirin ve uygun anahtarla şifresini çözün. Şifre çözme anahtarı kimlik doğrulama sistemi tarafından erişilebilir olmadığı sürece, bir saldırgan düz metin şifreleri saklamak için "geri döndürülebilir" şifrelemeyi kullandığınız gerçeğinden yararlanamaz.
Bu, yalnızca düz metin parolalara erişme gereksiniminiz otomatik bir ihtiyaç değilse elbette yardımcı olacaktır. Ama bu benim için şık bir fikir gibi görünüyor.
Şifreleri tersine çevrilebilir şifreleme kullanarak güvenli bir şekilde saklamak mümkün mü?
Evet, ama çok daha zor ve çok daha fazla çaba ve masraf gerektiriyor. Anahtarlamayı iyi yapmak zordur.
Tersinir şifrelemeyi desteklemek için (mutlaka simetrik değil @goenfawr notları gibi ), en az bir anahtara (genel anahtar şifrelemesi için iki tane) ihtiyacınız vardır. Anahtarı oluşturmanız, güvenli bir şekilde saklamanız, bozuk veya yıkımdan korumanız, kullanım için almanız, kullanımdayken korumanız ve periyodik olarak değiştirmeniz gerekir.
Sorunun önemli bir kısmı, kullanılmadığı zamanlarda anahtarın nasıl korunacağıdır. Anahtarı şifrelerseniz, şifresini çözmek için başka bir anahtara ihtiyacınız vardır. Bu durumda başladığınız yere geri döndünüz. Diğer koruma yöntemleri, özel donanım veya güvenli işletim sistemleri, hatta güvenlik parametreleri için ayrı belleğe ve işlemcilere sahip özel bilgisayarlar kullanır. Tüm bu çözümler ek eğitim ve destek maliyetleri gerektirir.
Bu çözümleri perakende bilgisayar, perakende işletim sistemi ve karma işleviyle karşılaştırın.
Mevcut cevaplara eklenecek bir şey de, sırları (şifreler dahil) saklamak için simetrik (geri dönüşümlü) şifrelemenin kullanılabilmesidir, ancak biraz daha karmaşık/pahalıdır.
Buna iyi bir örnek, geleneksel olarak simetrik anahtar yönetimini kullanan ATM/Cash makine ağlarıdır (her ne kadar bunu PKI tabanlı bir çözüme taşıyor olsalar da).
Bunun için anahtar (cezalandırma amacı yoktur), anahtarların kalmasını sağlamak için şifreleme anahtarlarının güvenilir bir yerde saklanması, bu durumda bir Donanım Güvenlik Modülü (HSM) ve anahtar yükleme ve yönetimi ile ilgili katı prosedürlerin takip edilmesi gerektiğidir. gizli.
Ciphers için wiki sayfasına bakın. Birçok güvenli şifre olmasına rağmen, her zaman anahtarı sızdırma riski vardır. Tek yönlü bir karma kullanmak, bir anahtarı olmayan bu riski önler.
Güvenlik mühendisliği ilkesi, sistemin güvenliği ihlal edildiğinde elde edilen bilgileri en aza indirmektir.