Beste Antwort
Es wird eine Hybridverschlüsselung verwendet. Die asymmetrische Kryptographie wird verwendet, um einen Sitzungsschlüssel zu erstellen, der wiederum als Schlüssel für eine symmetrische Chiffre verwendet wird.
Diese symmetrischen Chiffren sind entweder Blockchiffren (am häufigsten AES) oder seltener (aber von Ihnen wirklich bevorzugt). Stream-Chiffren wie Salsa20, auch als ChaCha bekannt.
Die Verwendung von Block-Chiffren verdient etwas mehr Erklärung, da sie erhebliche Auswirkungen auf die Vertraulichkeit der Kommunikation hat.
Block-Chiffren sind SEHR gut zum Verschlüsseln von Blöcken fester Größe – daher ihr Name. Das Problem bei der Verwendung als Nutzlastverschlüsselung für SSH besteht darin, dass Befehle im Fall des AES 128-Bit normalerweise nicht in einem Block mit einer vorgegebenen Größe vorliegen. Nehmen wir nun an, Sie geben den Befehl
$ ls
nicht ganz 128 Bit ein. Um also eine Blockverschlüsselung verwenden zu können, würde etwas namens Auffüllen einspringen – die verbleibenden 104 Bit würden auf Null gesetzt (vereinfacht).
Dies wirft jedoch ein Problem auf: Angenommen, ein einzelnes gesendetes Paket enthält Wenn wir zumindest bis zu einem gewissen Grad auffüllen, hätten wir einen teilweise bekannten Klartext. Daraus könnte im Laufe der Zeit (und bei vielen erfassten Paketen) der Sitzungsschlüssel berechnet werden.
Um zu verhindern, dass bestimmte Verschlüsselungsmodi erfunden wurden. Lange Zeit wurde die Verkettung von Chiffrierblöcken verwendet:
In diesem Diagramm heißt es im Wesentlichen:
- Für den ersten zu verschlüsselnden Block wird ein vorab ausgehandelter Block zufälliger Daten als sogenannter Initialisierungsvektor verwendet.
- Der Klartext und die IV werden einer Exklusiv- oder (XOR) -Operation: Eine Operation, die bei IV ziemlich einfach rückgängig zu machen ist, bei Nicht-IV jedoch sehr, sehr schwer.
- Jetzt Der Schlüssel wird verwendet, um das Ergebnis der XOR-Operation zu verschlüsseln.
- Der resultierende Chiffretext wird dann als IV für den nächsten Block verwendet.
Seit dem Klartext wird nun vor Eingabe der Verschlüsselung stark modifiziert, es ist kein Klartext mehr bekannt. Nun, theoretisch. Nun, nicht einmal das. CBC gilt nicht mehr als Stand der Technik, hauptsächlich weil ein erfolgreicher Angriff von Serge Vaudenay veröffentlicht wurde. Heutzutage werden der Zählermodus oder der Galois-Zählermodus verwendet . Ihre Erklärung liegt etwas außerhalb des Rahmens dieser Frage, reicht jedoch aus, um zu sagen, dass sie denselben Zweck wie CBC erfüllen, jedoch als sicher gelten.
Es wäre also richtig zu sagen, dass es sich um einen Hybrid handelt Es wird eine Verschlüsselung verwendet, wobei asymmetrische Chiffren zur Authentifizierung des Servers und optional des Clients sowie des Schlüsselaustauschs verwendet werden, wobei der ausgetauschte Schlüssel entweder im CBC- oder im (G) CTR-Modus für eine symmetrische Stream-Verschlüsselung oder eine Blockverschlüsselung verwendet wird / p>
Antwort
A2A Was ist die Hauptalternative zu SSH?
Ehrlich gesagt, ich ziehe an Ich glaube nicht, dass es einen gibt. Das ist so, als würde man fragen, was die Hauptalternative zum Rad ist. Das Protokoll ist so nützlich, sicher und Open Source, dass es keinen Sinn macht, etwas anderes zu entwickeln. Telnet ist für SSH wie die Travois für das Lenkrad.
Ich stimme einem Großteil der theoretischen Antwort von Neil Richins zu, aber NFS ist keine sichere Alternative zu SSH / SCP (es ist ein LAN-Protokoll, kein öffentliches Internetprotokoll) und Mosh verwendet SSH für den Transport.
Wenn in SSH Probleme auftreten, werden diese behoben. Niemand gibt das Ganze auf. Deshalb verwenden wir SSH 2 anstelle von SSH 1, und viele der ursprünglichen Chiffren sind veraltet. Ähnlich wie SSL / TLS.
Ich dachte, FTP starb mit Telnet, getötet durch HTTP (optional mit SSL), SCP, SFTP und Rsync (mit SSH-Transport). Aber dann stellte ich fest, dass es sich geweigert hatte zu sterben, und dass die Leute es getan hatten hat eine sichere Version von FTPS erstellt. Das gibt es also für Dateiübertragungen. Ich persönlich verwende SCP und Rsync. Eine andere Alternative für die Dateiübertragung ist HTTP mit SSL / TLS. Zum Herunterladen funktioniert HTTP GET problemlos, um Dateien von einem Webserver zu entfernen. HTTP POST funktioniert, wenn Sie einen Handler schreiben, und H. TTP PUT funktioniert, wenn dies z. WebDAV. Für die Verwaltung eines gemeinsam genutzten Speicherplatzes über ein sicheres Protokoll ist WebDAV eine Alternative zu Rsync / SSH. Das Problem dort ist, dass SCP / Rsync den Dateieigentum beibehält, während in WebDAV oder POST alles, was hochgeladen wird, zum Webserver-Prozess gehört. CMS-Systeme sind von Natur aus unsicher, da der Webserver-Prozess beim Hacken des Webservers Schreibzugriff auf den gesamten Inhalt hat – es gibt keine Benutzertrennung.