Są to klucze generowane przy użyciu różnych algorytmów szyfrowania. Podczas korzystania z SSH możesz wybrać różne formy szyfrowania, nieco podobne do możliwości wyboru różnych metod szyfrowania dla Wi-Fi (WPA2, WPA, WEP itp.).
SSH korzysta z szyfrowania klucza publicznego, co oznacza, że kiedy łączysz się z serwerem SSH, rozgłasza klucz publiczny, którego możesz użyć do zaszyfrowania dalszego ruchu wysyłanego na ten serwer. Jeśli serwer jest skonfigurowany do korzystania z RSA, będzie to klucz generowany przez algorytm RSA.
Komputer wysyła swój własny publiczny klucz RSA z pliku klucza wymienionego w pytaniu. Serwer potrzebuje tego klucza, aby połączyć się z tobą i odpowiedzieć.
Wszystkie trzy klucze istnieją na twoim komputerze, ponieważ dowolny serwer SSH, z którym się łączysz, może być skonfigurowany do użycia dowolnego z tych algorytmów. Twój komputer odeśle unikalny klucz pasujący do typu używanego przez serwer, ponieważ Twój klucz został wygenerowany na twoim komputerze przez ten sam algorytm.
Krótko mówiłeś o tym, dlaczego wszystkie trzy są, cel klucza ssh i co klucze mają ze sobą wspólnego: klucze używają algorytmów szyfrowania. To, o czym nie mówiłeś, jaka jest różnica między kluczami RSA, DSA i ECDSA.
Enkouyami
6
Potrzebujesz ich wszystkich?
Nie, twój serwer ssh potrzebuje tylko jednego, a klient musi obsługiwać tylko jeden typ klucza dla połączeń ssh.
RSA, DSA, ECDSA, EdDSA i Ed25519 są używane do podpisywania cyfrowego, ale tylko RSA może być również używany do szyfrowania.
RSA ( Rivest – Shamir – Adleman ) jest jednym z pierwszych kryptosystemów z kluczem publicznym i jest szeroko stosowany do bezpiecznej transmisji danych. Bezpieczeństwo opiera się na rozkładzie liczb całkowitych , więc bezpieczny RNG (generator liczb losowych) nigdy nie jest potrzebny. W porównaniu z DSA, RSA jest szybszy do weryfikacji podpisu, ale wolniejszy do generowania.
ECDSA ( eliptyczny algorytm podpisu cyfrowego ) to implementacja krzywej eliptycznej DSA (algorytm podpisu cyfrowego). Kryptografia krzywych eliptycznych jest w stanie zapewnić względnie taki sam poziom bezpieczeństwa jak RSA z mniejszym kluczem. Ma również tę wadę, że DSA jest wrażliwa na złe RNG.
EdDSA ( algorytm podpisu cyfrowego według krzywej Edwardsa ) to schemat podpisu cyfrowego wykorzystujący wariant podpisu Schnorra oparty na krzywych Twisted Edwards . Tworzenie sygnatur jest deterministyczne w EdDSA, a jego bezpieczeństwo opiera się na trudnych do rozwiązania problemach z dyskretnym logarytmem, więc jest bezpieczniejsze niż DSA i ECDSA, które wymagają wysokiej jakości losowości dla każdej sygnatury.
Inne uwagi
Klucze RSA są najczęściej używane, a zatem wydają się najlepiej obsługiwane.
ECDSA (wprowadzony w OpenSSH v7.7 ) jest obliczeniowo lżejszy niż DSA, ale różnica nie jest zauważalna, chyba że masz maszynę o bardzo niskiej mocy obliczeniowej.
Począwszy od OpenSSH 7.0 , SSH nie obsługuje już domyślnie kluczy DSA (ssh-dss). Klucz DSA działał wszędzie, zgodnie ze standardem SSH (RFC 4251 i kolejne).
Potrzebujesz ich wszystkich?
Nie, twój serwer ssh potrzebuje tylko jednego, a klient musi obsługiwać tylko jeden typ klucza dla połączeń ssh.
RSA, DSA, ECDSA, EdDSA i Ed25519 są używane do podpisywania cyfrowego, ale tylko RSA może być również używany do szyfrowania.
RSA ( Rivest – Shamir – Adleman ) jest jednym z pierwszych kryptosystemów z kluczem publicznym i jest szeroko stosowany do bezpiecznej transmisji danych. Bezpieczeństwo opiera się na rozkładzie liczb całkowitych , więc bezpieczny RNG (generator liczb losowych) nigdy nie jest potrzebny. W porównaniu z DSA, RSA jest szybszy do weryfikacji podpisu, ale wolniejszy do generowania.
DSA ( algorytm podpisu cyfrowego ) to federalny standard przetwarzania informacji dla podpisów cyfrowych. Bezpieczeństwo opiera się na dyskretnym problemie logarytmicznym . W porównaniu do RSA, DSA jest szybszy do generowania sygnatur, ale wolniejszy do sprawdzania poprawności. Zabezpieczenia mogą zostać naruszone, jeśli zostaną użyte generatory złych liczb .
ECDSA ( eliptyczny algorytm podpisu cyfrowego ) to implementacja krzywej eliptycznej DSA (algorytm podpisu cyfrowego). Kryptografia krzywych eliptycznych jest w stanie zapewnić względnie taki sam poziom bezpieczeństwa jak RSA z mniejszym kluczem. Ma również tę wadę, że DSA jest wrażliwa na złe RNG.
EdDSA ( algorytm podpisu cyfrowego według krzywej Edwardsa ) to schemat podpisu cyfrowego wykorzystujący wariant podpisu Schnorra oparty na krzywych Twisted Edwards . Tworzenie sygnatur jest deterministyczne w EdDSA, a jego bezpieczeństwo opiera się na trudnych do rozwiązania problemach z dyskretnym logarytmem, więc jest bezpieczniejsze niż DSA i ECDSA, które wymagają wysokiej jakości losowości dla każdej sygnatury.
Ed25519 , to schemat podpisu EdDSA, ale wykorzystujący SHA-512/256 i Curve25519 ; jest to bezpieczna krzywa eliptyczna, która oferuje lepsze bezpieczeństwo niż DSA, ECDSA i EdDSA, a ponadto ma lepszą wydajność (niewyczuwalnie ludzką).
Inne uwagi
Klucze RSA są najczęściej używane, a zatem wydają się najlepiej obsługiwane.
ECDSA (wprowadzony w OpenSSH v7.7 ) jest obliczeniowo lżejszy niż DSA, ale różnica nie jest zauważalna, chyba że masz maszynę o bardzo niskiej mocy obliczeniowej.
Począwszy od OpenSSH 7.0 , SSH nie obsługuje już domyślnie kluczy DSA (ssh-dss). Klucz DSA działał wszędzie, zgodnie ze standardem SSH (RFC 4251 i kolejne).
Ed25519 został wprowadzony w openSSH 6.5 .
źródło