Açık anahtar, özel anahtar ve asimetrik şifreleme
Bu yazıda, açık anahtarlar, özel anahtarlar ve asimetrik şifrelemenin prensiplerini tanıttık. Bunların simetrik şifreleme ile karşılaştırmalı avantaj ve dezavantajlarını ve kullanım senaryolarındaki farklılıklarını ele aldık.
Birçok bağlamda özel anahtarlar ve açık anahtarlar hakkında duymuş olabilirsiniz, ama gerçekten ne olduklarını biliyor musunuz?
Asimetrik şifreleme vs simetrik şifreleme
Özel anahtarlar ve açık anahtarlar, asimetrik şifrelemede (aynı zamanda açık anahtar şifrelemesi, PKC olarak da bilinir) kullanılan kavramlardır.
Asimetrik şifreleme, verilerin şifrelenmesi veya imzalanması için iki farklı anahtar (özel anahtar + açık anahtar) kullanan bir yöntemi ifade eder, bu da şifreleme çözme veya imza doğrulama ihtiyacına karşılık gelir. Açık anahtar herkese açıktır, özel anahtar ise yalnızca anahtar sahibine aittir. Anahtarların isminden bunu kolayca anlayabilirsiniz.
Benzer şekilde, muhtemelen simetrik şifrelemenin aynı anahtarı kullanarak verilerin şifrelenmesi ve şifre çözülmesini ifade ettiğini tahmin edebilirsiniz.
Bu nedenle, basit bir açıklama kullanarak hem simetrik hem de asimetrik şifrelemenin şifreleme/şifre çözme sürecini gösteriyoruz.
Simetrik ve asimetrik şifreleme algoritmalarındaki şifreleme/şifre çözme fonksiyonlarının farklı olduğunu ve genellikle farklı algoritmalar kullandığını unutmamak önemlidir. Yaygın simetrik şifreleme algoritmaları arasında DES, AES, RC2, RC4 ve diğerleri bulunurken, yaygın asimetrik şifreleme algoritmaları arasında RSA ve EC bulunur.
Logto, veri iletimi şifreleme ve şifre çözme için EC algoritmasını kullanır, çünkü RSA'dan daha verimli ve güvenlidir; daha fazla ayrıntı için bu yazıyı okuyabilirsiniz. Logto, bazı eski sistemlerle daha iyi uyumluluk için bir sonraki sürümde RSA'yı da destekleyecektir.
Neden asimetrik şifreleme kullanılır?
Asimetrik şifreleme, simetrik şifrelemedeki anahtar dağıtımı sorununu ele alır.
Simetrik şifreleme aynı anahtarı kullandığı için, anahtarı güvenli olmayan bir ağ bağlantısı üzerinden dağıtmak, anahtarın kötü niyetli üçüncü taraflara ifşa edilme riski taşıyabilir. Kötü niyetli bir üçüncü taraf, çalınan anahtarı kullanarak o anahtarla şifrelenmiş herhangi bir bilgiye erişebilir, bu da önemli bir güvenlik riski oluşturur.
Asimetrik şifrelemenin iki yaygın kullanım durumu
Şifreli veri gönderme
Gönderici, alıcının açık anahtarını kullanarak bilgileri şifreleyebilir ve alıcı, bilgileri şifre çözmek için kendi özel anahtarını kullanır.
Açık anahtarlar teorik olarak birçok kişi tarafından erişilebilir olduğundan, ideal bir senaryoda, alıcı birçok göndericiden şifrelenmış bilgileri alabilir. Ayrıca, birden fazla gönderici, alıcının (özel anahtarın sahibi) bilgileri şifre çözüp kurtarabileceği için, diğer göndericilerin alıcıya gönderdikleri bilgilere ne olduğunu bilemezler.
Özel anahtarlar ve açık anahtarlar genellikle aynı anda oluşturulur. Yukarıda belirtmiş olduğumuz şey, bir tarafın özel anahtar ve açık anahtarları oluşturması ve ardından açık anahtarı kullanıcılarına dağıtmasıdır. Her iki taraf arasında güvenli iletişimi sağlamak istiyorsanız, her iki taraf da kendi özel anahtarlarını ve açık anahtarlarını oluşturmalı ve ardından ilgili açık anahtarlarını değiştirmelidir. Bu şekilde, her iki taraf da birbirlerinin açık anahtarlarına sahip olur ve kendi özel anahtarlarını ve diğer tarafın açık anahtarını kullanarak şifreleme ve şifre çözme işlemlerini gerçekleştirebilirler.
Bir imza kullanarak veri bütünlüğünü sağlama
Asimetrik şifrelemede, özel anahtar sahibine sahip olan taraf, gönderdikleri verileri imzalayabilir. Sonrasında, alıcı, veriyi aldıktan sonra, veri ve imzanın tutarlılığını doğrulayarak, verilerin gönderilme sırasında değiştirilmemiş olduğundan emin olabilir.
Önceki bölümde tanımladığımız açıklamayı kullanarak, imzalama ve imza doğrulama şu şekilde gösterilebilir:
Dijital imzanın doğrulanması, imzayı oluşturan tarafın ilgili özel anahtarı bildiğini kanıtlar.
Muhtemelen yukarıda belirtilen iki kullanım durumunu çok tanıdık buluyorsunuz. Günlük hayatımızda, sunucu-müşteri mimarisi olan neredeyse tüm hizmetler, veri güvenliğini sağlamak için asimetrik şifreleme kullanır.
Hızla büyüyen bir kullanıcı kimliği çerçevesi olarak Logto, kullanıcı verilerinin güvenliğini sağlamak için PKC'yi geniş şekilde kullanır. Kullanıcılar giriş sürecini tamamladıktan sonra, Logto, kullanıcıların gerekli kaynaklara erişmek için belirli izinler alan bir erişim belirteci yayınlar. Logto'nun yayımladığı açık anahtar, erişim belirtecinin gerçekten Logto tarafından yayımlandığını ve kötü niyetli saldırganlar tarafından değiştirilmediğini doğrulamak için kullanılır.
Asimetrik şifrelemenin geri dönüşleri
Genel olarak, simetrik şifreleme için anahtar uzunluğu 128 veya 256 bittir, asimetrik şifrelemede ise anahtar uzunluğu 4,096 bite ulaşabilir. Bunun nedeni, özel anahtar ve açık anahtarın matematiksel olarak ilişkili ve benzersiz anahtar çiftleri olmasıdır. Teorik olarak, açık anahtarı bilmek, özel anahtarın değerini hesaplamayı sağlar, ancak ilgili algoritmaların karmaşıklığı nedeniyle genellikle bu çok zaman alır. Özel anahtarı "kırmayı" "imkansız" hale getirmek için daha uzun anahtar uzunlukları kullanmak basit bir yaklaşımdır.
Özet
Asimetrik şifreleme, önceki bölümde tartışılan hesaplamalar sırasında simetrik şifrelemeye göre daha fazla hesaplama kaynağı ve zaman tüketir. İletişimin sık olduğu uygulamalarda, asimetrik şifrelemenin yaygın kullanımı, performansı ve kullanıcı deneyimini etkileyebilir.
İş senaryolarında, performans ve veri güvenliğini dengelemek için genellikle simetrik ve asimetrik şifreleme birlikte kullanılır. Kendi hizmetinizi kurarken, her aşamadaki veri güvenliği gereksinimlerini dikkate alabilir ve buna göre uygun şifreleme algoritmalarını seçebilirsiniz.