digital signatures and certificates

 "Analog" dünyada, zaman zaman bir kağıdı imzalamanız istenir.

Geleneksel, fiziksel dünyada belge imzalamak, sıkça karşılaşılan bir durumdur. Örneğin:


Banka işlemleri: Bir tasarruf hesabı açmak için bankaya gittiğinizde, genellikle bir dizi belgeyi imzalamanız istenir.


Kütüphane üyelikleri: Yerel kütüphaneye üye olmak istediğinizde, başvuru formu doldurup imzalamanız gerekir.


Hukuki anlaşmalar: Sözleşmelerin ya da onay formlarının imzalanması da bu kategoriye girer.


Bu durumlarda imzanın amacı, duruma bağlı olarak değişir. Örneğin:


Şartlar ve koşullara onay verme: Bir işlem ya da sözleşme ile ilgili olarak, belirli şartları kabul ettiğinizi onaylar.


Bir işlemi yetkilendirme: Örneğin bir para transferi veya satın alma işlemini onaylama.


Bir öğenin alındığını kabul etme: Aldığınız bir ürün veya hizmetin teslim alındığını belirten bir onay.


Bu imzalar, genellikle sizin rızanızı veya kabulünüzü yasal olarak doğrulayan bir anlam taşır ve gerçek dünyada hukuki bir geçerliliğe sahiptir.


Dijital İmza Nedir?

Dijital imzalar, dijital bir mesajın ya da belgenin geçerliliğini ve bütünlüğünü doğrulamak için kullanılan bir yöntemdir. Bir dosyanın geçerliliğini kanıtlamak, onun kim tarafından oluşturulduğunu veya değiştirildiğini bilmek anlamına gelir. Bu işlem asimetrik şifreleme kullanarak yapılır. Kendi özel anahtarınızla bir imza oluşturursunuz ve bu imza, herkesin erişebileceği halka açık anahtarınızla doğrulanabilir. Yalnızca siz, özel anahtarınıza sahip olmalısınız, bu da dosyayı siz imzaladığınızı kanıtlar. Birçok modern ülkede, dijital ve fiziksel imzalar aynı hukuki değere sahiptir.


Dijital imzanın en basit şekli, belgeyi özel anahtarınızla şifrelemektir. Bu imzayı doğrulamak isteyen biri, sizin halka açık anahtarınızı kullanarak şifreyi çözebilir ve dosyaların eşleşip eşleşmediğini kontrol edebilir. Aşağıdaki şekilde gösterilen süreç, bunu açıklamaktadır.


Bir mesajı imzalama örneği: Bob, bir mesajı kendi özel anahtarıyla şifreler ve Alice, Bob’un halka açık anahtarıyla bunu çözer.


Bazı makalelerde, elektronik imza ve dijital imza terimleri birbirinin yerine kullanılmaktadır. Bu terimler, bir belgenin üzerine imza görüntüsünün yapıştırılmasını ifade eder. Ancak bu yaklaşım, belgenin bütünlüğünü kanıtlamaz çünkü herkes bu görüntüyü kopyalayıp yapıştırabilir.


Bu görevde, dijital imza terimini, bir belgeyi özel anahtarınızla ya da bir sertifika ile imzalamak anlamında kullanıyoruz. Bu süreç, yukarıdaki şekilde olduğu gibidir: Bob, belgesinin bir özetini şifreler ve Alice’e, şifrelenmiş özetle birlikte orijinal belgeyi gönderir. Alice, şifrelenmiş özeti çözer ve aldığı dosyanın özetiyle karşılaştırır. Bu yaklaşım, imzanın doğruluğunu kanıtlar ve bir imza görüntüsünün eklenmesinden çok daha güvenlidir. Özetleme işlemi, "Hashing Basics" odasında ele alınacaktır.


Sertifikalar: Kim Olduğunuzu Kanıtlayın!

Sertifikalar, açık anahtar şifrelemesinin önemli bir uygulamasıdır ve dijital imzalarla bağlantılıdır. En yaygın kullanıldıkları yerlerden biri HTTPS’dir. Peki, web tarayıcınız, konuştuğunuz sunucunun gerçekten tryhackme.com olduğunu nasıl anlar?


Cevap sertifikalardır. Web sunucusunun, gerçek tryhackme.com olduğunu belirten bir sertifikası vardır. Sertifikaların, güven zinciri vardır ve bu zincir, bir root CA (Sertifika Yetkilisi) ile başlar. Cihazınız, işletim sisteminiz ve web tarayıcınız, kurulum aşamasından itibaren otomatik olarak farklı root CA’larına güvenmektedir. Sertifikalar yalnızca Root CA’ların, onları imzalayan kuruluşa güvenmesi durumunda geçerlidir. Bu, bir zincir gibi çalışır; örneğin, sertifika bir kuruluş tarafından imzalanır, o kuruluş bir CA tarafından güvenilir kabul edilir ve CA da tarayıcınız tarafından güvenilir kabul edilir. Bu nedenle, tarayıcınız sertifikaya güvenir. Genellikle uzun güven zincirleri bulunur. Mozilla Firefox'un güvendiği sertifika yetkililerine buradan ve Google Chrome’un güvendiği sertifika yetkililerine ise buradan göz atabilirsiniz.


Diyelim ki bir web siteniz var ve HTTPS kullanmak istiyorsunuz. Bu işlem, bir TLS sertifikasına sahip olmayı gerektirir. Bunu, çeşitli sertifika yetkililerinden yıllık bir ücret karşılığında alabilirsiniz. Ayrıca, kendi alan adlarınız için Let's Encrypt aracılığıyla ücretsiz TLS sertifikaları alabilirsiniz. Bir web sitesi işletiyorsanız, HTTPS’ye geçmek oldukça önemlidir çünkü her modern web sitesi bu protokolü kullanır.