Bilinmeyen / güvenliği ihlal edilmiş bir sunucuda oturum açmak için SSH anahtarlarını kullanmak tehlikeli değil mi?


9

Birisine genel SSH anahtarımı, id_rsa.pub'ı sağladığımı ve güvenliği ihlal edilmiş bir sunucuya yüklediğini ve giriş yapmamın istendiğini varsayalım.

Oturum açma işlemi, özel anahtarımı güvenliği ihlal edilmiş sunucuya göndermeyi içeriyor mu?

Evetse, saldırgan artık özel SSH anahtarıma erişebilir ve bu korkutucu.

Hayır ise, neden ssh -vvv çıktısında bu satırı görüyorum:

debug1: Server accepts key: pkalg ssh-rsa blen 277

Bu, özel anahtarın sunucuya gönderildiğini ve kabul ettiğini gösterir.

Sorunu yanlış mı anlıyorum?

Yanıtlar:


7

HAYIR , özel anahtarınız ASLA hiçbir yere "gönderilmez" veya iletilmez.

Açık anahtarlı şifreleme , geleneksel kullanıcı adı / şifre kimlik doğrulaması gibi değildir.

  • Sizin genel anahtar sadece - kamu. Paylaşmak tamamen güvenlidir. Ortak anahtarınızı birisine göndermek kimliğinizi verebilir (insanlar bunun benzersiz bir sayı olduğu için sizden olduğunu bilebilir), ancak asla başkasının sizi taklit etmesine veya kimlik doğrulaması yapmasına izin veremez. Genel anahtarınızı SuperUser veya web sayfanıza normal HTTP üzerinden de gönderebilirsiniz; birisinin özel anahtarınız yoksa tamamen güvenli ve tamamen işe yaramaz.

  • Sizin özel anahtar özel - sadece budur. Yalnızca sahip olduğunuz ve güvendiğiniz sistemlerde bulunur (umarım) ve birinin depolandığı sisteme fiziksel erişim kazanması durumunda her zaman maksimum güvenlik için bir kilit açma şifresi ile şifrelenmelidir. Özel anahtar hiçbir zaman açık anahtarlı şifreleme kurallarına göre davranan, doğru şekilde uygulanan herhangi bir güvenlik programı tarafından iletilmez. Yani, yerel sisteminizde güvenliği ihlal edilmiş ve özel anahtarınızı okuyabilen (ve özel anahtar bir parola ile şifrelenmemiş) bir programınız yoksa, özel anahtarınız her zaman güvenlidir.

İletiler , uzak sunucuya gönderilmeden önce bilgisayarınızdaki özel anahtarla imzalanır . Bu nedenle, özel anahtarı uzak sunucuya göndermek yerine, özel anahtarla şifrelenmiş bir ileti gönderiyorsunuz . Ancak bu iki şey aynı değildir: özel anahtarı imzalı mesajdan türetemezsiniz ; bu, ortak anahtar şifrelemesi noktasının bir parçasıdır.

Kısacası, düşmanca bir saldırganın açık anahtar elde bile ve özel anahtar ile imzalanmış edinir mesajları, hala gerçek özel anahtarı elde etmek mümkün olmayacaktır ve böylece, bunlar kimlik taklit ya da" kimlik doğrulaması için özel anahtarınızı kullanamazsınız sen".


Açık anahtarlı crypo sürecini anlıyorum, ancak yaydığı hata ayıklama iletisiyle karıştırıldım ssh. @ Pjc50'den gelen cevap aradığım güvencesi sağlıyor gibi görünüyor.
Gurjeet Singh

11

Süreci yanlış anlıyorsunuz.

Anahtar gönderilmez, bunun yerine, yalnızca eşleşen özel anahtarla şifresi çözülebilen genel anahtarla bir şey şifrelenerek bir "meydan okuma" oluşturulur.

Parolanız istenirse veya güvenliği ihlal edilmiş bir sunucuya X yönlendirmesi yaparsanız, potansiyel bir güvenlik riski vardır.


Teşekkürler. ssh da bu mesajı yayar, bu debug1: Offering RSA public key: <$HOME>/.ssh/id_rsada id_rsa.pub zaten paylaşılmış olsa bile özel anahtarın paylaşıldığını düşündürür.
Gurjeet Singh

Ortak anahtar, halka açıktır. Herkese verebilirsin. Bu onlara mesajları şifreleme yeteneği verir. Özel anahtar, mesajların şifresini çözmenizi sağlar. Özel anahtarınızı kendinize sakladığınız sürece, iyisiniz.
Pete
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.