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. 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, 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 ’de belirlendiği gibi belirli kullanım durumları için tanımlanmış profillerle daha da kısıtlanır.

## Sertifika türleri

### TLS/SSL sunucu sertifikası
TLS/SSL’de, sunucu; ilk bağlantı kurulumunun bir parçası olan sertifikayı sunmak için gereklidir. Bu sunucuya bağlanan bir istemci,  gerçekleştirir:
# Sertifikanın öznesi, istemcinin bağlanmaya çalıştığı  (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  (SAN) sertifikaları olarak adlandırılır. Bu sertifikalar  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ı
İ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.

İstemci sertifikaları, yalnızca yetkili aygıtların belirli RPC çağrılarını yapabilmesini sağlamak için, aygıt kimliğini doğrulamak için kullanıldığı RPC sistemlerinde daha yaygındır.

### E-posta sertifikası
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ı
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
 
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ı
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. 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 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

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  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

#### Domain doğrulaması ''(Domain validation)''

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)''

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  aracılığıyla yayınlar.

#### Genişletilmiş doğrulama ''(Extended validation)''

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  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

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
Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) Bilgisayar Güvenliği Bölümü açık anahtar sertifikaları için rehberlik belgeleri sağlar:
* SP 800-32 Introduction to Public Key Technology and the Federal PKI Infrastructure
* SP 800-25 Federal Agency Use of Public Key Technology for Digital Signatures and Authentication

## Sertifika otoriteleri
W3Techs'in Şubat 2015 araştırmasına göre en yüksek pazar payına sahip 5 firma şu şekildedir:

## Ayrıca bakınız
* Sertifika otoritesi
* Açık anahtar altyapısı
* Açık anahtarlı şifreleme
* Pretty Good Privacy

## Kaynakça