Frage Einen privaten Schlüssel vom Serveradministrator erhalten: ok oder nicht?


Ich soll Zugriff auf einen Remote-SFTP-Server bekommen. Der Administrator hat einen Benutzer für mich erstellt und ein öffentliches / privates Schlüsselpaar für mich generiert. Dann hat er mir sicher die private Schlüsseldatei geschickt, die ich zur Authentifizierung verwende. Ich glaube, das ist nicht gut, ich sollte derjenige sein, der das Schlüsselpaar generiert, und ihm den öffentlichen Schlüssel geben. Aber ich kann mir keinen guten Grund vorstellen, warum das schlecht ist, wenn ich mit diesem Schlüssel nur diesen Server anmache, keine anderen Server. Gibt es solche Gründe?


19
2018-06-29 18:50


Ursprung


Schlechte Sicherheitshygiene, zum einen. Der Serveradministrator sollte es besser wissen und sollte die Benutzer nicht "darauf trainieren", private Schlüssel von externen Quellen zu erhalten. - wmorrell
Wem gibt er es sonst noch? Denken Sie immer, was ist das Schlimmste, was passieren könnte? - mckenzm
Ich glaube nicht, dass es so schlimm ist. Eine Analogie unten (Eric Towers), bei der dem Benutzer ein "anfängliches Passwort" gegeben wird, das dann sofort geändert werden muss, ist gut. Aus persönlicher Erfahrung zu sprechen, kann es für die Benutzer ein wenig mühsam sein zu erklären, welche Schlüssel zum hundertsten Mal Benutzer sind - der Administrator ist immer noch ein Mensch. Ihnen den privaten Schlüssel zu geben, ist faul - ja, aber nichts kann Sie daran hindern, es selbst zu ersetzen. Im Wesentlichen, nachdem er sie an Sie gesendet hat, müssen Sie den Systemadministrator nicht erneut belästigen (es sei denn, sie haben sich entschieden, die Schreibrechte für die Datei zu deaktivieren ... dann ärgern Sie sie einfach). - Ray
@matthiash diese Frage passt diese Seite, aber, wie ein FYI, gibt es ein Informationssicherheits-Website für andere Sicherheitsfragen. - topher
Ich möchte auch darauf hinweisen, dass AWS das auch so macht. Wenn Sie eine Instanz erstellen, laden Sie Ihren öffentlichen Schlüssel nicht hoch, ein Schlüsselpaar wird für Sie generiert und Sie laden den privaten Schlüssel herunter. - GnP


Antworten:


Es ist genau so, wie Sie es sagen: Das ganze Konzept der Public-Key-Authentifizierung ist, dass der private Schlüssel nur dem Eigentümer bekannt sein sollte, während der entsprechende öffentliche Schlüssel weit verbreitet sein kann. Die Sicherheit Ihrer Authentifizierung hängt von der Sicherheit des privaten Schlüssels ab, nicht von der Sicherheit des öffentlichen Schlüssels.

Die Tatsache, dass jemand anderes Ihnen einen privaten Schlüssel zur Verfügung stellt, macht ihn automatisch kompromittiert. (Sie wissen nicht, ob dieser andere Administrator noch eine Kopie hat, mit der Sie sich imitieren können.)


22
2018-06-29 19:10



Nehmen wir das Beste vom Server admin an und nehmen an, dass er Dinge, ein neues Schlüsselpaar erzeugt, besser ist, da er dem Benutzer nicht trauen würde, keinen privaten Schlüssel zu haben. Vielleicht denkt der Serveradministrator, dass der private Schlüssel der Benutzer sehr alt ist und im Laufe der Jahre möglicherweise kompromittiert wurde. Das gleiche gilt für U2F, wo das Konsortium oder die Hersteller den Benutzern nicht vertrauen, dass sie Schlüssel generieren. Aus diesem Grund werden U2F-Geräte mit vordefinierten Schlüsseln ausgeliefert. - cornelinux
Der Administrator sollte dem Benutzer helfen, einen privaten Schlüssel zu generieren und zu sichern. - Alex
Du hast vollkommen Recht. Aber oft sind Admins besser mit Computern als mit Menschen, -) - cornelinux
Der Administrator kann Sie trotzdem als Person ausgeben. - immibis
Ich denke, Sie verwechseln theoretische Praktiken eines engen Beispiels mit der Realität und dem Gesamtbild. Sie müssen dem Administrator trotzdem vertrauen, da er die Kontrolle über das System hat und vermeiden kann, den Schlüssel insgesamt zu verwenden. Die Vergabe von privaten Schlüsseln geschieht in der realen Welt, weil die Endanwender entweder nicht verstehen, wie man sie erstellt oder wie man sie sicher macht. - JamesRyan


Für diesen Schlüssel hat die Organisation nicht Nichtabstreitbarkeit. IE, wenn jemand etwas missbräuchlich oder destruktiv für dieses System macht, indem er "deinen" Schlüssel benutzt, kann der Administrator dir nicht die Schuld geben, dass er allein dafür verantwortlich ist. Da die Person, die es dir gab, auch den Schlüssel hatte. Es ist wahrscheinlich nicht so schlecht für dich, denn es gibt dir eine Verteidigung, aber schrecklich für die Organisation, die den Server kontrolliert, wenn etwas Schlimmes jemals passiert.

Möglicherweise können Sie die Schreibberechtigungen verwenden, die Sie von den bereitgestellten Schlüsseln haben, um Ihre autorisierten Schlüssel zu aktualisieren, Ihren Schlüssel hinzuzufügen und den bereitgestellten Schlüssel zu entfernen.


9
2018-06-29 19:52



In der Tat erwartet der Administrator möglicherweise, dass der Benutzer seinen Schlüssel bei der ersten Verwendung ändert, ähnlich wie bei administrativ generierten ersten Kennwörtern. - Eric Towers
Als ein großer Mann hat einmal gesagt"Erwarte dich". Die erste Änderung ist oft für Passwörter notwendig, ist aber für Public-Key-Krypto nie notwendig - das ist der Punkt. - womble♦
@EricTowers Ist das überhaupt so? möglich Mit zeitgemäßem SFTP (oder auch SSH, wenn man nicht bereit ist, selbst etwas zusammen zu basteln) mit Implementierungen? - α CVn
Diese Antwort vermittelt den Eindruck, dass Aktionen über sftp irgendwo in einem Protokoll signiert und Ende an Ende mit diesem Schlüssel gesichert werden. Dies ist einfach nicht der Fall, ein Administrator kann Aktionen oder Protokolle manipulieren, ohne den Schlüssel zu verwenden. - JamesRyan
@marcelm: Es gibt einen Grund, warum ich "oft notwendig" gesagt habe, nicht "immer absolut zwingend unter allen Umständen keine Ausnahmen". Als jemand, der tatsächlich regelmäßig Passwort-Hashes und öffentliche Schlüssel anfordert (und akzeptiert), weiß ich, dass es eine viel höhere Barriere ist, jemanden dazu zu bringen, ein gehashtes Passwort (mit einem sicheren Salz und allem) als einen öffentlichen Schlüssel bereitzustellen. Wenn Sie einen SSH-Client haben, haben Sie ein Schlüsselgenerierungswerkzeug. Dasselbe kann nicht für etwas gesagt werden, das anrufen kann crypt(2) in seinen vielen unterhaltsamen Formen. - womble♦