SSH ortak anahtarı neden istemcide değil sunucuda oturuyor?


12

Açık anahtarları sunucuda tutmanın arkasındaki teoriyi tam olarak anlamıyorum. Ortak / özel anahtarların kilit kutusu benzetmesinde Alice'in kutusunun kilidini açmak için Alice , ortak anahtar Bob'a dağıtılırken özel anahtarı tutar. Sunucunun kilit kutusu rolünü oynadığı anlaşılıyor, neden genel anahtarı tutuyor?

Yanıtlar:


20

Sunucunun, kullanıcı olarak oluşturduğunuz anahtar çiftinden tamamen ayrı olan özel ve genel bir anahtarı olduğunu unutmayın. Sunucunun özel anahtarı genellikle sunucu yapılandırmasıyla birlikte depolanır ve bağlanmaya çalıştığınızda ortak anahtar sunucu tarafından iletilir. İstemciniz, sunucunun ortak anahtarını bilinen_hosts dosyanızla karşılaştırır. Doğru kullanılırsa, bu MITM saldırılarını önler.

Kişisel hesabınız için özel anahtarınız var. Kullanmaya çalıştığınız hesap için özel anahtarınızın yetkilendirildiğini doğrulayabilmesi için sunucunun genel anahtarınıza ihtiyacı var.

Yani örneğinizi kullanarak. Hem Bob hem de Alice'in özel anahtarları ve ortak anahtarları vardır. Önceden veya bağlantının bir parçası olarak paylaşılan ortak anahtarlar, özel anahtarlar tarafından şifrelenen verilerin yasal olduğunu doğrulamak için kullanılır. İstemcinin genel anahtarı yoksa veya farklı bir genel anahtarı varsa, korkunç bir uyarı alırsınız. Sunucu istemcilerin ortak anahtarına sahip değilse, içeri girmenize izin verilmez.


1
Aha! Bu çok daha mantıklı. MITM saldırılarına karşı korunmanın bir yöntemi olduğunu biliyordum, ama başka bir anahtar çifti olduğunu bilmiyordum :) Yardımınız için teşekkürler!
Connor Glosser

5

Kullanıcı olarak siz oturum açtığınızda sizin olduğunuz bilgileri sağlayan kişi sizsiniz. Bu nedenle, yetkilendirme amacıyla özel anahtara ihtiyacınız vardır, çünkü sunucu sizmiş gibi davranan herkese soracaktır ( adı) kanıtlamak için.

Çalışma şekli, sunucunun size biraz metin göndermesi, şifrelemenizi ve genel anahtarınızla şifresini çözmenizi istemesidir. Bunu yalnızca özel anahtarınıza sahip olan kişi yapabilir.


1

Rahatlık için ortak anahtarı tutar. Aksi takdirde, bir PKI oluşturmanız gerekir - SSL CA'ya benzer bir şey.

Fikir, ssh istemcisi uzak sunucu anahtarını kabul etmenizi istediğinde ortak anahtar parmak izini kontrol etmek olacaktır.


1

Daha iyi bir benzetme, sunucunun ortak anahtarının kapatabileceğiniz (ancak açamayacağınız) bir mandallı açık kilit kutusu olduğunu, sadece sunucunun açabileceğini söyleyebilirim. Asıl soru, açık anahtara güvenip güvenmediğinizdir (gerçekten Alice'in Kutusu mu?), Nereden alırsanız alın tanımı gereği herkese açıktır ve PKI'ların konusu budur.


1

Genel anahtar, matematiksel olarak özel anahtarınızdan türetilen çok büyük bir sayıdır.

İki sayının birbirine bağlı olacağı şekilde türetilir,

ancak özel anahtar yalnızca ortak anahtarı bilen kimse tarafından bulunamaz. Genel anahtar, diğer taraflara gönderdiğiniz, kendinizin kimliğini doğrulamak istediğiniz veya şifreli mesajlar göndermek istediğiniz şeydir. Ortak anahtar hassas değildir ve korunması gerekmez. Kamuya açıklanabilir. babudilli98@gmail.com


1
Bu cevapta beş yıl önce verilen diğer cevaplara kıyasla yeni bir şey olduğunu düşünmüyorum.
kasperd
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.