SSL ile ilgili olarak bir sertifika ile bir anahtar arasındaki fark nedir?


126

Ne zaman SSL hakkında bir şey anlamaya çalışırsam, her zaman "anahtar" ve "sertifika" öğelerinin ne anlama geldiğini takip etmekte zorlanıyorum. Korkarım ki birçok insan bunları yanlış ya da birbirinin yerine kullanıyor. Bir anahtarla sertifika arasında standart bir fark var mı?


SSL için kullanılan sertifikalar ağırlıklı olarak PKI'ya dayanıyor. En.wikipedia.org/wiki/Public-key_cryptography
Zoredache

Yanıtlar:


114

Bir sertifika bir genel anahtar içerir.

Sertifika, genel anahtarı içermenin yanı sıra, veren, sertifikanın ne olması gerektiği ve diğer meta veri türleri gibi ek bilgiler de içerir.

Genellikle, bir sertifikanın kendisi CA'nın özel anahtarını kullanarak bir sertifika yetkilisi (CA) tarafından imzalanır. Bu, sertifikanın orijinal olduğunu doğrular.


4
@Zoredache Bir sertifikanın genellikle yalnızca genel bir anahtarı varsa, birlikte sertifikaları ve özel anahtarları içeren .p12 veya .pfx dosyalarını çağırmak için iyi bir ad var mı?
drs

Bir pkcs12 bir arşiv formatıdır. Bir anahtar içerebilir veya olmayabilir. Genelde, belirli bir dosyanın ne içerdiğine işaret ederken her zaman belirli olmaya çalışın ya da sadece pkcs12 dosyasını söyleyin.
Zoredache

2
Bu ek bilgi nereye gömülüyor? Bazı sertifikalara bakıyordum ve hepsi bana saçma sapan
CodyBugstein

3
Baktığınız saçmalık Base64 kodlamasıdır. Bu e-posta eklerini bu şekilde dönüştürüldüğünden benzer bir nedenle bu şekilde muhtemelen bitti - temelde onlar sadece geçici değişiklik yapılmadan vb yenisatırlar, parantez, gibi şeyler hakkında endişelenmeden ASCII için tasarlanan protokoller ve mekanizmalar aracılığıyla taşıyabilen sağlamak için opensslkomut deşifre edebilir ve bunları ayrıştırın ya da bunun gibi bir çevrimiçi yardımcı program kullanabilirsiniz: lapo.it/asn1js
LawrenceC

Sertifika bir CA veya iletişim kurmakta olan sunucu tarafından imzalandı mı?
Olshansk

58

Bu iki resim birlikte bana her şeyi açıkladı:

Kaynak: linuxvoice

görüntü tanımını buraya girin

Kaynak: infosecinstitute

görüntü tanımını buraya girin



Güzel. 1 açıklama: 1. resim standart (1 yönlü) TLS auth; 2., karşılıklı (2 yönlü) kimlik doğrulaması. Ve birincisinde 1 fazladan çağrı yapılması, güvenin gerçekte nasıl kurulduğunu açıklamaya da yardımcı olacaktır (hepsi bu dostça görünen fotoğrafta): müşteri, sunucunun ortak anahtar sertifikasını aldıktan sonra, müşteri imzalayan CA’nın Sunucunun sertifikası, müşterinin gizli CA'larının özel listesinde (şu anda bu CA'ya da güvendiğini belirleyerek) bulunur. Ardından, sunucuya oturum anahtarını göndermek güvenlidir, her biri artık sonraki iletişimleri hem şifreleyip hem de şifresini çözebilir.
user1172173

Linuxvoice.com/… adresine giden ilk bağlantı bir sertifika hatası veriyor. İronik.
Nisanda Tobb

37

A şirketinin bir anahtar çifti olduğunu ve kamuya açık kullanım için ortak anahtarını yayınlaması gerektiğini düşünelim (web sitesinde aka ssl).

  • A Şirketi, anahtar çifti için bir sertifika almak için bir sertifika yetkilisine (CA) bir sertifika isteği (CR) yapmalıdır.
  • A şirketinin anahtar çiftinin genel anahtarı, ancak özel anahtarı, sertifika isteğinin bir parçası olarak dahil edilmiştir.
  • Daha sonra CA, isteğin bir sertifikayı verme CA'sının kriterlerini karşılayıp karşılamadığını belirlemek için şirketin A'nın kimlik bilgilerini kullanır.
    CA isteği onaylarsa, A şirketine bir sertifika verir. Kısaca CA, A şirketinin ortak anahtarını (CA'nın) özel anahtarıyla imzalar ve bu onun gerçekliğini doğrular.

Bu nedenle, geçerli bir CA'nın özel anahtarıyla imzalanan şirket A'nın genel anahtarı, şirketin A sertifikası olarak adlandırılır.


A Şirketi herhangi bir noktasında (Şirket A) özel anahtarını (Şirket A) sertifikasıyla ilişkilendirir mi?
Tola Odejayi

Hayır, özel bir anahtar A için
ayrıcalıklı

Peki A şirketinin özel anahtarı nerede kullanılıyor?
sivann

2
Yukarıdaki formalitelerden sonra. A Şirketi'nin web sitesinde geçerli bir SSL sertifikası olacaktır. Web sitesini bildiren herhangi bir ziyaretçi (tarayıcı), iletisini şifrelemek için sertifika genel anahtarını kullanır. SSL sertifikasının özel anahtarına sahip olan A Şirketi, mesajın şifresini çözebilecek tek kişidir.
Mohsen Heydari

Sanırım A şirketi bir erkek.
DimiDak

5

Bir örnekle açıklayayım.

Normal anahtar çifti tabanlı PKI'da, özel anahtar ve genel anahtar vardır.

Sertifika tabanlı bir sistemde, özel anahtar ve sertifika vardır. Sertifika, genel anahtardan daha fazla bilgi tutar.

Demo (Bir sertifika ve özel anahtar oluşturabilirsiniz): http://www.selfsignedcertificate.com/

Özel anahtar dosyasını ve sertifika dosyasını açabilirsiniz, sertifika dosyasının aşağıda gösterildiği gibi birçok bilgi içerdiğini görebilirsiniz. görüntü tanımını buraya girin görüntü tanımını buraya girin

Bu siteden oluşturulan sertifikanızı (bir metin editörünün açılmasıyla) ve özel anahtarla (bir metin editörünün açılmasıyla) bu siteden eşleştirebilirsiniz: https://www.sslshopper.com/certificate-key-matcher.html

Sertifika müşterinin özel anahtarıyla eşleşiyorsa, müşterinin o sertifikanın müşteri tarafından verildiğinden veya müşterinin güvenilir aracısı (CA) tarafından verildiğinden emin olun.

Ancak, yalnızca özel anahtar ve sertifika tabanlı iletişimde sorunlar vardır .

Çünkü, herkes kendi sertifikasını ve özel anahtarını oluşturabilir, bu nedenle basit bir el sıkışma sunucuyla ilgili olarak, sunucunun sertifikanın genel anahtarıyla eşleşen özel anahtarı bilmesi dışında hiçbir şey kanıtlamaz. Bu problemi çözmek için bir yolu istemci sahip olmasıdır kümesi o güvendiği bir veya birden fazla sertifika. Sertifika sette değilse, sunucuya güvenilmemelidir .

Bu basit yaklaşımın birkaç dezavantajı vardır. Sunucular, sertifikadaki genel anahtarı yenisiyle değiştiren, zaman içinde daha güçlü anahtarlara ("anahtar döndürme") yükseltme yapabilmelidir. Maalesef, şimdi istemci uygulamasının esasen sunucu yapılandırma değişikliği nedeniyle güncellenmesi gerekiyor. Sunucu özellikle uygulama geliştiricisinin kontrolü altında değilse, örneğin bir üçüncü taraf web hizmeti ise bu özellikle sorunludur. Bu yaklaşım, uygulamanın bir web tarayıcısı veya e-posta uygulaması gibi rastgele sunucularla konuşması durumunda da sorunlara neden olur.

Bu dezavantajları ele almak için, sunucular tipik olarak Sertifika Yetkilileri (CA) adı verilen tanınmış sağlayıcıların sertifikalarıyla yapılandırılır. Ana bilgisayar platformu (istemci) genellikle güvendiği tanınmış CA'ların bir listesini içerir. Bir sunucuya benzer şekilde, CA'nın bir sertifikası ve özel bir anahtarı vardır. Bir sunucuya sertifika verirken, CA sunucu sertifikasını özel anahtarını kullanarak imzalar. İstemci daha sonra, sunucunun platform tarafından bilinen bir CA tarafından verilen bir sertifikaya sahip olduğunu doğrulayabilir.

Bununla birlikte, bazı problemleri çözerken, CA'ları kullanmak bir tane daha sunar. CA, birçok sunucu için sertifika verdiğinden, istediğiniz sunucuyla konuştuğunuzdan emin olmak için hala bir yol gerekir. Bunu ele almak için CA tarafından verilen sertifika, sunucuyu ya gmail.com gibi belirli bir adla ya da * .google.com gibi joker karakterli bir ana bilgisayar grubunu tanımlar.

Aşağıdaki örnek, bu kavramları biraz daha somut hale getirecektir. Bir komut satırından aşağıdaki kod parçasında openssl aracının s_client komutu Wikipedia'nın sunucu sertifikası bilgilerine bakar. Bağlantı noktası 443'ü belirtir, çünkü HTTPS için varsayılandır. Komut, openssl s_client'in çıkışını, sertifikalar hakkındaki bilgileri X.509 standardına göre biçimlendiren openssl x509'a gönderir. Özellikle, komut, sunucu adı bilgisini içeren konuyu ve CA'yı tanımlayan yayıncıyı sorar.

$ openssl s_client -connect wikipedia.org:443 | openssl x509 -noout -subject -issuer
subject= /serialNumber=sOrr2rKpMVP70Z6E9BT5reY008SJEdYv/C=US/O=*.wikipedia.org/OU=GT03314600/OU=See www.rapidssl.com/resources/cps (c)11/OU=Domain Control Validated - RapidSSL(R)/CN=*.wikipedia.org
issuer= /C=US/O=GeoTrust, Inc./CN=RapidSSL CA

Sertifikanın * .wikipedia.org ile eşleşen sunucular için RapidSSL CA tarafından verilmiş olduğunu görebilirsiniz.

Gördüğünüz gibi, CA tarafından Sunuculara gönderilen bu ek bilgiler nedeniyle, müşteri sunucusuyla iletişim kurup kurmadığını kolayca anlayabilir.


3

Bir SSL sertifikası , web sitesinin güvenli bir şekilde bağlanabileceğini garanti eden güvenilir bir Sertifika Yetkilisinden alınır. SSL sertifikaları genellikle kimlik doğrulama logosunu ve ayrıca bilgisayara gönderilen verileri şifrelemek ve şifresini çözmek için gerekli ortak anahtarları içerir. SSL Tuşları İşlevleri

Bir oturum sırasında birkaç SSL anahtarı oluşturulabilir. Bilgisayara gönderilen ve bilgisayardan gönderilen bilgileri şifrelemek ve şifresini çözmek için kullanılırlar. Anahtarlar, bilgilerin değiştirilmediğini veya değiştirilmediğini doğrulamak için kullanılır.

Yaşam Döngüsü Farkı

Sertifikalar SSL anahtarlarından daha uzun sürer. SSL sertifikaları, bankalar ve işletmeler tarafından düzenli olarak yenilenebilen Sertifika Makamından alınır. Öte yandan, SSL anahtarları veya oturum anahtarları, oturum sırasında benzersiz bir şekilde oluşturulur ve oturum sona erdiğinde atılır.

Burada daha fazla oku


2

Tamam, hadi bunu çözelim ki teknik olmayan insanlar anlayabilsin.

Böyle düşün. Sertifika, bankanızdaki bir güvenlik kasası gibidir. Bir sürü önemli şey içeriyor; genellikle kimliğinizi içeren şeyler. Sertifikanın ortak bir anahtarı var ve açmak için özel bir anahtara ihtiyacı var.

Güvenlik kasanızın da bir sertifika gibi açılması için iki anahtar gerekir.
Güvenlik kasasıyla, bankanın anahtarı, genel anahtar gibidir, çünkü bankada kalır ve genel anahtar, sertifika ile kalır. "Sertifikanızı almak için" özel bir anahtarınız var ve güvenlik kasası örneğinde, genel anahtarın yanı sıra özel anahtarınız da gerekiyor.

Güvenlik kasanızı gerçekten açmadan önce, önce kimliğinizi doğrulamanız gerekir (bir sertifika isteği gibi); bir kere tanımlandıktan sonra, güvenlik anahtarınızı açmak için ortak anahtarla birlikte özel anahtarınızı kullanırsınız. Bu biraz sertifika isteğinizi yapmak ve daha sonra sertifikanızı sertifika yetkilisinden almak (tanımlanabildiğiniz (güvenilir) ve doğru anahtarınız olduğu sürece) gibidir.


3
<PiratesOfTheCarribean> Yani bu anahtarın peşinden gidiyoruz! </piratesOfTheCarribean> (Okuyun: Hiç bir anlam ifade etmiyorsunuz ...)
Timo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.