Dijital İmzalar Ve Dijital Sertifikalar


Dijital İmza
Dijital imzalar aşağıdaki durumlarda kullanılır;
  • Bilginin, doğru kaynak tarafından oluşturulduğunu kanıtlamak için,
  • Private key ve signature kullanarak kullanıcıya kimlik denetimi uygulamak için,
  • PKI sertifakalarının güvenilirliğini ve bütünlüğünü ispatlamak için,
  • Güvenilir bir zaman kaynağından güvenli bir zaman damgası sağlamak için.
Dijital imzalar 3 tip güvenlik hizmeti sunarlar;
  1. İmzalanan datanın güvenilir olması
  2. İmzalanan datanın bütünlüğünün korunması
  3. İmza kopyalanmasından koruma
Dijital imzaların yukarıda bahsedilen hizmetleri sunabilmesi için gerekli bazı özellikleri şöyledir:
  • İmza güvenli ve taklit edilemezdir. Dökümanın imzasının imzalayana (başka birine değil) ait olduğunu ispatlar.
  • İmza her bir döküman için ayrı ayrı üretilir ve bir daha kullanılamaz.
  • Döküman imzalandıktan sonra bir daha değiştirilemez.
  • İmza inkar edilemezdir. İmzalayanlar daha sonra aksini iddia edemezler.
Dijital imzalar; gerekli koşulları sağladığında bazı ülkelerde normal imza ile eşit tutulur. Bu koşulların başında da certificate authority nin güvenliği gelmektedir. Cisco da cihazlarının bir kısmında dijital imza kullanır.
Dijital imza işlemi hash fonksiyonu ve public keyleri temel alır ve bu işlem 6 aşamada gerçekleşir.
  1. Kaynak (signer) dökümanın hash ini oluşturur.
  2. Elde edilen hash i private key ile şifreler.
  3. Şifrelenmiş hash (imza) dökümana eklenip hedefe gönderilir.
  4. Hedef; gelen imzalı dökümanı alır ve buna ek olarak kaynağın public key ini elde eder.
  5. Public key i kullanarak, şifrelenmiş dökümanı deşifre eder. Böylece kaynağın hash li dökümanı elde edilmiş olur.
  6. Daha sonra hedef orjinal dökümanın hash ini kendisi oluşturur ve kaynaktan gelen hash değeri ile karşılaştırır. Eğer hash değeri eşleşirse dökümanın güvenilir ve yol boyunca aynı kaldığı, kaynağın da doğru olduğu anlaşılmış olur.
Dijital imzalar sağladığı güven ve bütünlüğün yanında aynı zamanda bir güvence sağlamaktadır. Özellikle kodlarda ve sıkıştırılmış dosyalarda bu güvenceler önem kazanmaktadır.

Kodlarda sağladığı bazı güvenceler şunlardır:
  • Kod; kaynaktan hedefe kadar değişmeden gelmiştir.
  • Kod güvenli bir şekilde ve doğru kaynaktan gelmiştir.
  • Programın yayıncısı hiçbir şekilde kodun kendisinin olmadığını iddia edemez.
Dijital imza sadece yayıncının private key i ele geçirilirse taklit edilebilir. Bu yüzden dijital imzanın güvenlik seviyesi , private key in güvenlik seviyesi ile aynıdır. Yazılımın kullanıcısının imzayı doğrulayabilmesi için public key e sahip olması gerekir. Bu public key de ya işletim sistemiyle ya da güvenli bir şekilde ağdan alınır.
Dijital imzanın kullanımında en önemli nokta private key in korunmasıdır. Eğer private key ele geçirilirse, hacker istediği dökümanı imzalayıp ağa gönderebilir.
Asimetrik Algoritmalar
Bilinen asimetrik algoritmalar (RSA,DSA...) dijital imza için kullanılır.
DSA (Digital Signature Algorithm): 1994 yılında US NIST tarafından DSS (Digital Signature Standard) olarak belirlenmiştir. RSA’ e göre daha az esnektir. İmza kontrolü çok yavaş fakat imzanın oluşturulması hızlıdır.
RSA (Rivest Shamir and Alderman): 1977 yılında geliştirilmiştir. Anlaşılması ve uygulanması en kolay algoritmlardan biridir. Key boyutu değişken olduğundan büyük bir esneklik sağlar. Key boyutu 512 ile 2048 bit arasında değişmektedir. Hızlı yapılması gereken işlemlerde key boyutu 512 ye çekilebilir ancak key boyutu küçüldükçe key in kırılması da kolaylaşır. RSA’ın key leri uzun dönemlidir. Birkaç ayda bir ya da senede bir yenilenebilir. Bu yüzden RSA internette en çok kullanılan imza oluşturma algoritmalarından biridir. Ayrıca RSA, DES e göre çok yavaş olduğundan genelde küçük boyutlu datalar için tercih edilir.
PKI
PKI; büyük ölçekli public key teknoljilerini desteklemek amaçlı oluşturulmuş bir yapıdır. Hardware,software, policy ler ve ek olarak dijital imzalarla ilgili prosedürlerden oluşmaktadır.
PKI yapısını anlatırken tanımlanması gereken iki önemli component vardır. Bunlar;
Sertifika: İsimler ile public key ler arasındaki eşleşmeyi tutar. PKI nin kolay erişimi için merkezi bir directory yapısına sahiptir.
Certificate Authority: Hizmet veren ve alan tarafların dışında üçüncü bir elemandır. Kullanıcının sertifikası CA tarafından imzalanır yani doğrulanır. Böylece hizmet veren tarafın doğruluğundan emin olunur. Ayrıca her CA nın da kendisinin imzaladığı bir sertifikası ve public key i bulunmaktadır. Bu sertifikaya da CA sertifikası denir.
PKI yi uygulamak hem büyük bir yasal yükümlülük hem de organizasyon anlamında büyük bir yük getiriyor. Bu yüzden pki nin component lerini net bir şekilde ortaya koymamız gerekmektedir.
Bunlar;
  • PKI kullanıcıları
  • CA ler
  • Storage ve protokoller
  • Yapının organizasyonel ve yasal olarak desteğinin sağlanması
CA server lar Verisign,RSA gibi firmalara outsource edilerek hizmet veriyolar. Bu firmalar sertifikaları güvenilirliğine göre numaralandırarak son kullanıcıya sunuyorlar. Yine bu firmaların farklı numaralandırılmış sertifikalara sahip yalnızca bir tane CA leri olmak zorundadır.
Sertifikalarda yapılan numaralandırmada rakam arttıkça sertifikanın güvenliği de artıyor demektir. Sertifikaların sınıflandırılması şöyledir;
Class 0: Sertifika test amaçlıdır ve herhangi bir denetim yapılmamıştır.
Class 1: Sertifika bireyler içindir ve daha çok email kontrolü için kullanılır.
Class 2: Sertfika firmalar içindir ve kimlik denetimi için kullanılır.
Class 3: Sertifika server lar ve software imzalar içindir.
Class 4: Şirketler arasındaki online işlemler için kullanılır.
Class 5: Çok gizli kurumlar ve devlet, güvenlik için kullanır.
PKI 2 tane farklı private ve public key çifti kullanabilir. Bunlardan ilki encryption için, ikincisi de dijital imza için kullanılır. İlkinde private key encryption, public key de decryption yapar. İkinci anahtar çiftinde ise private key imzayı atar , public key ise imzayı kontrol eder. Eğer iki anahtar çifti kullanılırsa kullanıcıda da 2 tane sertifika bulunur.
Farklı PKI sağlayıcılarının PKI lerinin bağlantısını sağlayabilmek için belirli bir standart ve uyumluluk gerekmektedir. Bu yüzden IETF, PKI X.509 (PKIX) isimli bir çalışma grubu oluşturur. Bu grup PKI ile ilgili standartları ve ilgili protokollerin standartlaşmasını sağlar.
X.509; sertifika ve certificate revocation list gibi PKI formatlarını tanımlayan bir standarttır. X.509v3 ise dijital sertifikaların formatını belirler. Sertifikalar; application layer da kullanılıp yüksek güvenlik sağlarlar. Bu yüzden her uygulamanın farklı bir kimlik denetimi mekanizması olabilir ama hepsi aynı dijital sertifika formatını kullanırlar. PKI ile ilgili diğer standart ise RSA tarafından geliştirilen Public-key Cryptography Standarts (PKCS) tır. PKCS; public-key crytptography kullanan uygulamaların birlikte çalışabilmesini sağlar.
Public key teknoljisi; giderek yaygınlaşarak IPsec ve IKE protokolünün temeli haline gelmiştir. Bu yaygın kullanım sebebiyle PKI kullanıcıları ve CA server lar için sertifika yönetimine ihtiyaç duyulmuştur. Örnek olarak bir kullanıcı sertifika isteğinde bulunurken PKCS#7 ve PKCS#10 u CA’ e yollar. Burda PKCS#7 sertifika bilgilerini içeren mesaj formatıdır. PKCS#10 ise kullanıcının sertifikasını imzalatma isteğini (request) belirtir. Gelen isteği alan CA sertifikayı imzalayıp (CA de onay verilmişse) PKCS#7 formatında kullanıcıya geri yollar. Bu iletişime ek olarak sertifikanın hızlı bir şekilde network üstünden istenmesi beklenmektedir.
Bunun üzerine IETF, sertifikanın yayınlanması ve geçersiz kılınmasını kolaylaştırmak için Simple Certificate Enrollment Protocol (SCEP) protokolünü geliştirmiştir.
Certificate Authority
PKI; farklı CA topolojileri ile kullanılabilir. Bunlardan ilki sadece tek CA’ in olduğu topolojidir(Single root CA). Bu CA’ e root CA de denir. Bu topolojinin özelliği çok basit olmasıdır. Tüm sertifikaları son kullanıcıya kendisi gönderir. Bu sebeplerden de VPN’i yöneten admin lerin tercihi olmuştur. Diğer taraftan da birkaç dezavantaja sahiptir. Çok büyük yapılarda kullanmak çok zordur. Çok yüksek derecede güvenlik gerektirmektedir. Çünkü sadece bir tane private key vardır ve bu key’ in çalınması durumunda CA in tüm güvenilirliği ortadan kalkmış olur. Son olarak da single point of failure durumunu gözden kaçırmamamız gerekir.
İkinci topoloji ise hiyerarşik topolojidir. Yapı genişledikçe aynı kurum içinde birden fazla CA kullanılması kaçınılmaz olur. Bu yüzden CA leri root ve ikincil (subordinate) CA olarak sınıflandırmamız gerekir. Bununla birlikte tepede root CA in ve onun altında ikincil Ca‘lerin bulunduğu bir ağaç yapısı oluşturulur. CA ler; sertifikayı ikincil CA lere, son kullanıcılara ya da ikisine birden gönderebilirler. Her CA; ağaç yapısına göre kendi altındaki CA’ lere ya da son kullanıcılara sertifika yayınlayabilir.
Bu topolojinin en önemli özelliklerinden biri yönetiminin kolay olması ve esnek bir yapıya sahip olmasıdır. Aynı zamanda güvenlik açısından da root CA in private key inin çalınması çok daha zordur. Çünkü key nadiren kullanılır ve kullanıcı tarafından görülen sertifika ikincil CA’ in imzasını taşır. İkincil CA’ in private key i çalınırsa sadece ona bağlı kullanıcılarda sorun yaşanır (tüm kullanıcılarda değil). Bu sebeplerden de tek CA in olduğu topolojiye göre çok daha güvenilirdir.
Son topoloji de cross-certified topolojidir. Bu topolojide tek CA li topolojilerin birleşmesinden oluşur diyebiliriz. Her CA’ in kendi son kullanıcıları vardır ve aynı zamanda diğer CA lerle de konuşurlar.
PKI; root CA ve ikincil CA lere ek olarak Registiration Authorities (RA) kullanabilir. RA lerin temel görevleri gelen istekleri karşılamak ve böylece CA in yükünü hafifletmektir. Büyük yapılarda buna ek olarak kimlik doğrulama, sertifika yönetiminde şifre koymak, kendi key ini üretemeyen kullanıcılara key üretmek gibi ek işler de yapar. RA in görevi serifika ya da sertifikaların geçersiz olduğunu söyleyen CRL (certificate revocation list) i yayınlamak değildir. Sadece gelen istekleri CA e yönlendirmektir.

Yorumlar