Açık anahtar sertifikası
Açık anahtar sertifikası ya da bilinen diğer adıyla dijital sertifika, açık anahtar sahipliğinin kanıtlanmasında kullanılan bir elektronik dokümandır. Sertifika, anahtar hakkında bilgiler, sahibinin kimliği hakkında bilgiler (özne olarak adlandırılır) ve sertifikanın içeriğini doğrulayan bir varlığın dijital imzasını içerir (sağlayıcı olarak adlandırılır). İmza geçerliyse ve yazılım, incelediği sertifikanın sağlayıcısına güveniyorsa, sertifikanın öznesi ile güvenli bir şekilde iletişim kurmak için bu anahtarı kullanabilir.[1] E-posta şifreleme, kod imzalama ve elektronik imza sistemlerinde özne genelde bir kişi ya da kuruluştur. Ancak, Transport Layer Security (TLS)’de özne genelde bir bilgisayar ya da farklı aygıt olmasına rağmen TLS sertifikaları, cihazları tanımlamasındaki temel rollerine ek olarak kuruluşları ya da bireyleri tanımlayabilir. Bazen eski adı olan Secure Sockets Layer (SSL) olarak da anılan TLS, web’de güvenli gezinme için bir iletişim protokolü olan HTTPS’nin önemli bir parçasıdır.
Tipik bir açık anahtar altyapısı (PKI) şemasında, sertifika sağlayıcısı olan sertifika otoritesi (CA), genellikle müşterileri ücretlendirerek sertifika veren şirketlerdir. Buna karşılık, güven ağında bireyler birbirlerinin anahtarlarını, açık anahtar sertifikasına benzer bir işlevle doğrudan imzalarlar.
Açık anahtar sertifikalarının en yaygın formatı X.509’a göre tanımlanmıştır. X.509 çok genel olduğundan, format RFC 5280’de belirlendiği gibi belirli kullanım durumları için tanımlanmış profillerle daha da kısıtlanır.
Sertifika türleri[değiştir | kaynağı değiştir]
TLS/SSL sunucu sertifikası[değiştir | kaynağı değiştir]
- Sertifikanın öznesi, istemcinin bağlanmaya çalıştığı sunucu adı (hostname) ile eşleşir.
- Sertifika, güvenilir bir sertifika otoritesi (CA) tarafından imzalanır.
Birincil sunucu adı (web sitesinin alan adı), sertifikanın “Subject” (Özne) bölümündeki “Common Name” (Yaygın İsmi) olarak kayıtlıdır. Bir sertifika birden fazla sunucu isimleri (ya da web siteleri) için geçerli olabilmektedir. Bu sertifikalar genellikle Alternatif Özne İsmi (SAN) sertifikaları olarak adlandırılır. Bu sertifikalar Alternatif Özne İsmi alanına da sahiptir. Eğer sunucu ismi bir yıldız (*) karakteri içeriyorsa, sertifika aynı zamanda “wildcard sertifika” olarak da adlandırılır.
TLS sunucusu kendinden imzalı (self-signed) sertifikasıyla da yapılandırılabilir. Böyle bir durumda, istemciler genellikle sertifikayı doğrulayamaz ve sertifika doğrulaması devre dışı bırakılmadıkça bağlantıyı sonlandıracaktır.
TLS/SSL istemci sertifikası[değiştir | kaynağı değiştir]
İstemci sertifikaları, sunucu sertifikalarından daha az yaygındır ve erişim kontrolünü sağlamak için, bir TLS servisine bağlanan istemcinin kimliğini doğrulamada kullanılır. Çünkü birçok servis aygıtlar yerine bireylere erişim sağladığından, birçok istemci sertifikası sunucu adı yerine e-posta adresi ya da kişi adını içerir. Ayrıca, kimlik doğrulaması genellikle servis sağlayıcısı tarafından yönetildiğinden, istemci sertifikaları genellikle sunucu sertifikası sağlayan bir sertifika otoritesi (CA) tarafından verilmez. Bunun yerine, istemci sertifikası gerektiren servisin operatörü genellikle bunları vermek için kendi iç CA’larını kullanır. İstemci sertifikaları çoğu web tarayıcısı tarafından desteklenir ancak birçok servis, kullanıcı kimliğini doğrulamak için istemci sertifikası yerine şifreler ve çerezler kullanmaktadır.
E-posta sertifikası[değiştir | kaynağı değiştir]
Güvenli e-posta için S/MIME protokolünde göndericiler, herhangi bir alıcı için hangi açık anahtarın kullanıldığını bilmelidir. Kişiler bu bilgileri bir e-posta sertifikasından elde etmektedir. Bazı güvenilir sertifika otoriteleri (CA) e-posta sertifikaları sağlamaktadır ancak S/MIME genelde belirli kurumlarla iletişim kurmak için kullanılır ve bu e-posta sisteminde bu kurumlar katılımcıların güvendiği kendi sertifika otoritelerini (CA) kullanır.
Kod imzalama sertifikası[değiştir | kaynağı değiştir]
Sertifikalar aynı zamanda, teslimat sırasında değiştirilmediğinden emin olmak için programlardaki imzaların doğrulanmasında kullanılabilir.
Ortak alanlar[değiştir | kaynağı değiştir]
Bunlar sertifikalardaki en yaygın alanlardan bazılarıdır. Çoğu sertifika, burada bulunmayan bir dizi alan içerebilir.
- Serial Number (Seri Numarası): Bir CA sistemi içindeki sertifikayı benzersiz olarak tanımlamak için kullanılır. Genelde bu iptal bilgilerinin izlenmesinde kullanılır.
- Subject (Özne): Sertifikanın ait olduğu varlık: bir cihaz, birey, ya da kurum.
- Issuer (Sağlayıcı): Bilgileri doğrulayan ve sertifikayı imzalayan kuruluş.
- Not Before (Önce Değil): Sertifikanın geçerli olduğu en erken saat ve tarihi.
- Not After (Sonra Değil): Sertifikanın geçerli olduğu en geç saat ve tarihi.
- Key Usage (Anahtar Kullanımı): Sertifikanın açık anahtarındaki geçerli kriptografik kullanım. Ortak alanlar arasında dijital imza doğrulaması, anahtar şifreleme ve sertifika imzalama bulunur.
- Extended Key Usage (Genişletilmiş Anahtar Kullanımı): Sertifikanın kullanılabileceği uygulamalar. Ortak alanlar arasında TLS sunucusu kimlik doğrulaması, e-posta koruması ve kod imzalaması bulunur.
- Public Key (Açık Anahtar): Sertifika öznesine ait ortak bir anahtar.
- Signature Algorithm (İmza Algoritması): Açık anahtar sertifikasında kullanılan imzalama algoritması.
- Signature (İmza): Sağlayıcı özel anahtarından bir sertifika imzası.
Kök programları[değiştir | kaynağı değiştir]
Bazı büyük yazılımlar, güvenilir kabul ettikleri sertifika otoritelerinin listesini içerirler. Bu, son kullanıcılar için sertifikaların doğrulanmasını kolaylaştırır ve hangi sertifika otoritelerinin genel olarak güvenilecek bir sertifika verebileceğini öğrenmek isteyen kişi veya kuruluşlar için daha kolay olur. Bu özellikle HTTPS'de, web sitesi operatörlerinin neredeyse tüm ziyaretçilerin güvenebileceği bir sertifikayı alması için önemlidir.
Sağlayıcının kendi yazılımlarında hangi sertifika otoritesine güvenmesi gerektiğine karar vermek için kullandığı politikalar ve süreçler kök programları olarak adlandırılır. En etkili kök programları:
- Microsoft Kök Programı
- Apple Kök Programı
- Mozilla Kök Programı
- Oracle Java Kök Programı
- Adobe AATL (Adobe Onaylı Güven Listesi) ve EUTL Kök Programları (doküman imzalama için kullanılır)
Firefox dışındaki tarayıcılar genellikle hangi sertifika otoritelerinin güvenilir olduğuna karar vermek için işletim sisteminin olanaklarını kullanır. Örnek olarak Windows'taki Chrome, Microsoft Kök Programı'ndaki sertifika otoritelerine güvenirken, macOS ya da iOS'taki Chrome ise Apple Kök Programı'ndaki sertifika otoritelerine güvenmektedir.[2] Firefox tüm platformlarda Mozilla Kök Programı'nı kullanmaktadır.
Mozilla Kök Programı kamuya açık olarak işletilir ve sertifika listesi açık kaynaklı Firefox web tarayıcısının bir parçasıdır, bu sayede Firefox dışında geniş çapta kullanılabilir. Örneğin, genel bir Linux Kök Programı olmamasına rağmen Debian gibi birçok dağıtım[3] Firefox'un güven listesinin kopyasını içeren, daha çok uygulamalar tarafından kullanılan paketlere sahiptir. Kök programları genellikle içerdikleri sertifikalarla birlikte geçerli amaçlar sağlar. Örneğin bazı sertifika otoriteleri TLS sunucu sertifikalarında geçerli kabul edilirken, kod imzalama sertifikaları kabul edilmez. Bu, kök sertifika depolama sisteminde bir dizi güven bitiyle belirtilir.
Sertifikalar ve web sitesi güvenliği[değiştir | kaynağı değiştir]
En yaygın sertifika kullanımı HTTPS tabanlı web siteler içindir. Web tarayıcısı HTTPS web sunucusunu otantik olarak doğrular, böylece kullanıcı web sitesi ile etkileşiminin hiçbir gizli dinleyeni olmadığını ve web sitesinin iddia ettiği kişi olduğunu güvence altına alabilir. Bu güvenlik elektronik ticaret için önemlidir. Pratikte, bir web sitesi operatörü bir sertifika yetkilisine sertifika imzalama talebi başvurusu yaparak sertifika alır. Sertifika talebi; web sitesi ismini, şirket bilgilerini ve açık anahtarı içeren elektronik bir dokümandır. Sertifika sağlayıcısı talebi imzalar ve böylece bir açık sertifika oluşturur. Web taraması sırasında bu açık sertifika, web sitesine bağlanan herhangi bir web tarayıcısına sunulur ve sertifika sağlayıcısının, web tarayıcısına web sitesinin sahibine bir sertifika verdiğine inandığı kanıtlanır.
Doğrulama düzeyleri[değiştir | kaynağı değiştir]
Domain doğrulaması (Domain validation)[değiştir | kaynağı değiştir]
Bir sertifika sağlayıcısı, bir alan adını idari olarak yönetme hakkı olan alıcılara Domain Validation (DV) sınıfında bir sertifika çıkartabilir
Kurum doğrulaması (Organization validation)[değiştir | kaynağı değiştir]
Bir sertifika sağlayıcısı, söz konusu alan adını idari olarak yönetme hakkı olan ve belki de kurumun yasal olarak tüzel kişiliğe sahip olan alıcılara Organization Validation (OV) sınıfında sertifika çıkartabilir. Sertifika sağlayıcısı, OV sınıfı sertifikaların veriliş kriterlerini Sertifika Politikası aracılığıyla yayınlar.
Genişletilmiş doğrulama (Extended validation)[değiştir | kaynağı değiştir]
Extended Validation (EV) sertifikasını alabilmek için alıcının, sertifika sağlayıcısını bir insan tarafından manuel doğrulama kontrolleri dahil olarak yasal kimliğini teyit etmelidir. OV sertifikasında olduğu gibi, sertifika sağlayıcısı kendi Sertifika Politikası aracılığıyla EV sınıfındaki sertifikaların veriliş kriterini yayınlar.
Tarayıcılar genelde EV sertifikası sunan sitelerde, kullanıcılara yasal kimliğini belirten bir görsel kullanır. Çoğu tarayıcı yasal kimliği, alan adından önce ve parlak yeşil ile vurgulanmış olarak gösterir. Bu durumda kullanıcı, site sahibinin yasal kimliğinin doğrulandığını görebilir.
Zayıf yönleri[değiştir | kaynağı değiştir]
Web tarayıcısı kullanıcılara, eğer bir web sitesi aniden farklı bir sertifika sunarsa -ki, bu sertifika düşük sayıda anahtar bitine sahip olsa, farklı bir sertifika sağlayıcısına sahip olsa ve bir önceki sertifikanın geçerliliğinin bitişine daha çok kalmış olsa dahi- uyarı vermeyebilir. Ancak yine de EV sınıfı sertifikadan EV sınıfı olmayan sertifikaya dönüş yapıldığında, araç çubuğundaki yeşil bar bundan sonra görüntülenmeyecektir.
Sertifika sağlayıcılarının hükûmetlerin denetimi altında olduğu durumlarda, hükûmetler yasal amaçlar için sertifika sağlayıcılarına bir sertifika üretmesi için sipariş etme özgürlüğüne sahip olabilirler. Yan kuruluş olan toptan sertifika sağlayıcıları da herhangi bir sertifika üretme özgürlüğüne sahiptir.
Standartlar[değiştir | kaynağı değiştir]
- SP 800-32 Introduction to Public Key Technology and the Federal PKI Infrastructure[5]
- SP 800-25 Federal Agency Use of Public Key Technology for Digital Signatures and Authentication[6]
Sertifika otoriteleri[değiştir | kaynağı değiştir]
W3Techs’in Şubat 2015 araştırmasına göre en yüksek pazar payına sahip 5 firma şu şekildedir:[7]
|Firma Adı||Pazar Payı|
|Comodo||%35|
|Symantec||%32.5|
|Go Daddy||%14.1|
|GlobalSign||%10|
|DigiCert||%2.1|
Ayrıca bakınız[değiştir | kaynağı değiştir]
Kaynakça[değiştir | kaynağı değiştir]
- ^ "Why SSL is Important For Establishing Encrypted Connection". 16 Mart 2017. Erişim tarihi: 2 Haziran 2018.
- ^ "Root Certificate Policy – The Chromium Projects". www.chromium.org. Erişim tarihi: 19 Mart 2017.
- ^ "ca-certificates in Launchpad". launchpad.net (İngilizce). 20 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Mart 2017.
- ^ "NIST Computer Security Publications – NIST Special Publications (SPs)". csrc.nist.gov. 17 Eylül 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Haziran 2016.
- ^ "SP 800-32 Introduction to Public Key Technology and the Federal PKI Infrastructure" (PDF). 5 Haziran 2018 tarihinde kaynağından arşivlendi (PDF).
- ^ "SP 800-25 Federal Agency Use of Public Key Technology for Digital Signatures and Authentication[1]" (PDF). 2 Haziran 2018 tarihinde kaynağından arşivlendi (PDF).
- ^ http://w3techs.com/technologies/overview/ssl_certificate/all