it-swarm-tr.com

X.509 "istemci sertifikası" ile normal SSL sertifikası arasındaki fark nedir?

Şirketimin bir dizi ticari müşteri hizmetiyle konuşacağı bir web hizmeti kuruyorum. SOAP kullanarak bilgi alışverişinde bulunacağız. Her iki tarafça sağlanan SSL sertifikalarıyla kimlik doğrulaması yapmak istiyorum, ancak sertifika türleri arasında temel bir fark olup olmadığı konusunda biraz kayboldum.

İnsanlar HTTPS hakkında konuştuklarında, Verisign veya başka bir makamdan SSL sertifikası almaktan bahsediyorlar. İstemci tarafı kimlik doğrulaması hakkında konuştuklarında X.509 sertifikası almaktan bahsediyorlar. Bu iki kelime aynı şey mi, biri diğerine dönüştürülebilir mi, yoksa anlamadığım başka bir fark mı?

97

X509 Sertifikası, genel/özel anahtar çiftindeki bir genel anahtar türüdür. Bu anahtar çiftleri, SSL yoluyla şifreleme veya tanımlama için farklı şeyler için kullanılabilir. SSL Sertifikaları bir tür X509 sertifikasıdır. SSL, trafiği şifrelemenin yanı sıra partiyi doğrulayarak da çalışır (Verisign bu web sitesine söylediklerine güvenir, bu yüzden muhtemelen siz de yapabilirsiniz). Verisign, Sertifika Yetkilisi (CA) görevi görür. CA'ya, söylediği her şeyin gerçek olarak alınması gerektiği konusunda güvenilmektedir (CA çalıştırmak büyük güvenlik önlemleri gerektirir). Bu nedenle bir CA size gerçekten kendinize güvendiğini söyleyen bir sertifika verirse, bir kullanıcı sertifikanız/istemci sertifikanız vardır.

Bu tür sertifikalardan bazıları yönetim kurulu genelinde kullanılabilir, ancak diğerleri yalnızca belirli etkinlikler için kullanılabilir.

Windows'ta bir sertifika açarsanız (IE içinde SSL üzerinden bir şeye göz atın ve sertifika özelliklerine bakın) veya certmgr.msc dosyasını çalıştırıp bir sertifikayı görüntülerseniz, Ayrıntılar sekmesi> Anahtar Kullanımı'na bakın. Bu, sertifikanın ne için kullanılmasına/kullanılmasına izin verileceğini belirler.

SOAP için, sertifika iki şey için kullanılabilir: tanımlama ve şifreleme. Mesaj imzalarını (mesaj karma) eklerseniz üç.

İstemci sertifikaları arayan istemciyi veya kullanıcıyı tanımlar. Uygulama bir SOAP istekte bulunduğunda, isteği kimin yaptığını söylemek için sertifikayı web hizmetine verir.

65
Steve

TLS'de, sunucunun özel bir anahtara ve bir sertifikaya sahip olması gerekir (bazen sunucu sertifikası olarak da bilinir). Sunucu sertifikası sunucuyu tanımlar ve doğrular. İstemci isteğe bağlı olarak kendi özel anahtarına ve sertifikasına da sahip olabilir (genellikle istemci sertifikası olarak adlandırılır). Bir istemci sertifikası kullanılırsa, istemciyi tanımlar ve kimliğini doğrular.

Web'de, HTTPS ile, genellikle sunucunun bir sunucu sertifikası vardır, ancak istemci sertifikaları kullanılmaz. Bu, istemcinin konuştuğu sunucunun kimliğini doğrulayabileceği, ancak sunucunun bağlandığı istemcinin kimliğini doğrulayamayacağı anlamına gelir.

Ancak, birçok programlı bağlamda, her iki uç noktanın da birbirinin kimliğini doğrulamasını istersiniz. Bu nedenle, hem sunucu sertifikalarını hem de istemci sertifikalarını kullanmak isteyeceksiniz.

TLS'de tüm sertifikalar X.509 sertifikasıdır. X.509 sadece verilerin biçimidir.

Sertifikalar, bir ortak anahtar ve bir sertifika yetkilisinden (CA) imza içerir. Web'de, genellikle web sitelerinin Verisign veya başka bir iyi bilinen CA tarafından verilen (imzalanan) bir sunucu sertifikası vardır. Web tarayıcıları, önceden yüklenmiş ve en yaygın olarak kullanılan web sitelerinin yaklaşık 100 farklı CA'nın bir listesi ile birlikte gelir ve bu CA'lardan biri tarafından verilen bir sunucu sertifikasına sahiptir. Örneğin, Verisign her tarayıcının standart CA listesindeki CA'lardan biridir. Verisign size bir sertifika vermelerini istiyorsanız sizden ücret talep eder.

Sertifikanızın standart bir CA tarafından imzalanmasının alternatifi, kendinden imzalı bir sertifika kullanabilmenizdir: standart CA'lardan biri tarafından değil, kendiniz (veya istediğiniz herhangi biri) tarafından verilen bir sertifika. Bu, web üzerinde çok yaygın bir şekilde kullanılmaz, çünkü otomatik olarak imzalanan sunucu sertifikaları, tarayıcıların, çoğu web sitesinin kaçınmaya çalıştığı kullanıcıya uyarı iletişim kutuları açmasına neden olur. Ancak, programlı kullanımlar için, kendinden imzalı sertifikalar işe yarayabilir. Ve kendinden imzalı sertifikalar kullanıyorsanız, Verisign parası ödemek zorunda değilsiniz. Kendi kendine imzalı sertifikalarınızı oluşturmak için OpenSSL'nin komut satırı araçlarını nasıl kullanacağınıza dair öğreticiler bulabilirsiniz.

SSL, TLS ile eşanlamlıdır. (Teknik olarak SSL, standardın birkaç eski sürümünde kullanılan addır ve TLS, standartların daha yeni birkaç sürümü için yeni bir addır. Ancak birçok kişi iki terimi birbirinin yerine kullanır.)

Daha kullanışlı bir arka plan için genel anahtar sertifikası hakkındaki Wikipedia makalesini okumanızı öneririz.

36
D.W.

"Normal" SSL sertifikaları genellikle X.509 sertifikalarıdır.
Ancak, bunlar yalnızca sunucu kimlik doğrulaması ve şifreleme için kullanılabilir: Sertifikaların özelliklerinden biri belirlenmiş amacıdır ve genellikle farklı bir amaç için kullanamazsınız.
Ancak bunun dışında, bir istemci sertifikası sadece "İstemci Kimlik Doğrulaması" olarak adlandırılan bir sunucu sertifikası ile hemen hemen aynıdır.

İşlevsel olarak, bazı sistemlerin yalnızca istemci sertifikalarının yalnızca bir alt kümesini kabul etmeyi seçtiğini görürsünüz, ör. kendi CA'ları tarafından verilenler.

15
AviD

İşlevsel olarak, bunlar aynıdır - genel bir RSA anahtarı ve bir otorite tarafından imzalanan bilgileri tanımlamak. Pratik olarak, sunucu anahtarlarınız genellikle söz konusu etki alanını tanımlayan ortak bir adla ayarlanır (örneğin * .wikimedia.org). Diğer tarafın kimlik doğrulama gereksinimlerini karşıladığı sürece, kendi oluşturduğunuz bir sertifika kullanmanıza engel olan bir şey olduğuna inanmıyorum.

4
Jeff Ferland