Şifreleme nedir? Anahtarlar, hash'ler ve sağlama toplamları
Şifreleme, okunabilir bilgiyi doğru anahtarla geri elde edilebilen şifreli metne dönüştürür. Amacı, aktarım veya depolama sırasında verilerin gizliliğini korumaktır. Hash ve sağlama toplamları ise başka sorunları çözer: çıktılarından özgün mesaja geri dönülemez. Bu işlemleri birbirine karıştırmak, sahte bir güvenlik hissi yaratabilir.
Anahtarlar ve şifreleme süreci
Bir şifreleme algoritması düz metni bir anahtarla birleştirerek şifreli metin üretir. Simetrik şifrelemede taraflar gizli bir anahtarı paylaşır. Asimetrik sistemlerde ise açık anahtar ve ona karşılık gelen özel anahtar farklı roller üstlenir. Sonucu algoritma, çalışma modu, anahtarın kalitesi ve nasıl saklandığı belirler. Şifre kolayca tahmin edilebiliyorsa veya anahtar aynı korumasız mesajla gönderiliyorsa, bir dosyanın “şifreli” olması güvenliği hakkında pek bir şey söylemez. Modern uygulamalarda metni gelişigüzel dönüştüren el yapımı yöntemlere değil, yerleşik protokollere ve kimlik doğrulamalı şifrelemeye güvenilmelidir.
Hash ile sağlama toplamı arasındaki fark
Kriptografik hash, verinin sabit boyutlu bir özetini üretir; girdinin şifrelenmiş bir kopyası değildir. SHA-256 özeti, indirilen bir dosyayı güvenilir bir yayıncının belirttiği özetle karşılaştırmaya yardımcı olabilir. Bu karşılaştırma yalnızca eşitliği kontrol eder; dosyayı gizlemez. Şifreleri saklamak için tuz (salt) ve ayarlanabilir hesaplama maliyeti kullanan özel şifre hash yöntemleri gerekir. CRC32, aktarım sırasında kazara oluşan hataları yakalamakta işe yarar; kasıtlı değişikliklere karşı ise kimlik doğrulama sağlamaz. MD5 ve SHA-1, çakışma direnci gerektiren yeni kullanımlar için uygun değildir. NIST, SHA-1'den vazgeçiş sürecini anlatıyor. 2IP hash oluşturucu, metinler için hash ve sağlama toplamı hesaplar.
İki yaygın örnek
Gizli bir belgeyi paylaşacaksanız dosyayı hem şifreleyen hem de kimliğini doğrulayan güvenilir bir uygulama seçin; şifreyi ayrı ve korumalı bir kanaldan iletin. Alıcı içeriği doğru anahtarla geri elde edebilir. İndirdiğiniz bir arşivi kontrol etmek içinse hash değerini hesaplayıp yayıncının gerçek sayfasındaki değerle karşılaştırın. Bunlar farklı iş akışlarıdır: hash arşivin okunmasını engellemez. Bir web sitesinde gösterilen Base64 metnini herkes gizli bir anahtar olmadan çözebilir; kodlama, şifreleme değildir.
Akılda tutulması gereken sınırlar
TLS, uç noktalar arasında aktarılan verileri korur; uç noktaların kendisinin güvenilir olduğunu ise garanti etmez. Cihazdaki kötü amaçlı yazılım, ele geçirilmiş bir anahtar veya zayıf bir kurtarma süreci, kendi başına sağlam olan kriptografiyi boşa çıkarabilir. Çevrimiçi bir metin aracı kullanırken seçtiğiniz işlemin şifreleme mi, hash mi, yoksa yalnızca kodlama mı olduğunu netleştirin. Düğmesinde “güvenli” yazıyor diye tanımadığınız bir hizmete özel belgeleri veya kimlik bilgilerini yapıştırmayın. Kullanmadan önce verilerin nasıl işlendiğini ve saklandığını doğrulayın.
TLS 1.3 ve bağlantı güvenliği
HTTPS'te şifreleme daha geniş bir protokolün parçasıdır: TLS parametreleri belirler, anahtarları oluşturur ve sunucu sertifikasının kimliğini doğrular. Modern TLS 1.3 birçok eski seçeneği kaldırmış ve olağan el sıkışmayı sadeleştirmiştir. TLS 1.3 el sıkışma rehberi bu sırayı daha ayrıntılı açıklıyor. TLS, adı belirtilen karşı tarafa aktarılan verileri korur; tek başına bir web sitesinin güvenilir olduğunu kanıtlamaz.