Der Hauptpunkt eines privaten Schlüssels ist, dass er für den Benutzer privat und nur dem Benutzer bekannt ist. Als Benutzer möchte ich nicht, dass andere Personen meinen privaten Schlüssel generieren, da dies bedeutet, dass jemand anderes Zugriff auf meinen privaten Schlüssel hat und daher die Möglichkeit hat, zu handeln, wenn er sich auf Systemen befindet, auf denen die öffentliche Hälfte dieses Schlüssels als gültige Anmeldeinformationen festgelegt ist.
Von Ihrem PoV haben Sie auch mehr Verantwortung. Sie müssen Ihr System nicht nur so schützen, dass unangemessene öffentliche Schlüssel nicht an Orten installiert werden können, sondern Sie sind auch dafür verantwortlich, die von Ihnen generierten privaten Schlüssel während ihres gesamten Lebenszyklus sicher zu verwahren. Wenn mit einem bestimmten Schlüsselpaar als Authentifizierung eine unerwünschte Aktion ausgeführt wird und der Benutzer weiß, dass eine andere Person eine Kopie des Schlüssels hat (oder hatte) oder der Schlüssel nicht sicher transportiert wurde, kann er sich umdrehen (richtig oder falsch) und sagen, dass sie ihre Kopie vollkommen sicher aufbewahrt haben, so dass es Ihre Kopie sein muss, die entweder bei Ihnen oder während des Transports kompromittiert wurde. Das klingt vielleicht nach Arschfick, und das liegt daran, dass sowohl von Ihrem PoV als auch von den Benutzern sichergestellt wird, wer für das verantwortlich ist, was richtig markiert ist.
Ob also die von Ihrem Experten vorgebrachten Bedenken berechtigt sind oder nicht (nach meinem Verständnis sind solche Angriffe theoretisch möglich, aber meines Wissens weit davon entfernt, in der nächsten Generation oder in wenigen praktisch umgesetzt zu werden, es sei denn, es gibt eine neue ernsthafte Lücke in der Mathematik oder der allgemeinen Implementierung gefunden (was etwas unwahrscheinlich ist), sowohl beim Tragen meines Benutzerhutes als auch beim Tragen meines Administratorhutes bevorzuge ich, dass Benutzer die volle Kontrolle über ihre privaten Schlüssel und Administratoren haben (natürlich zusammen mit allen anderen auf dem Planeten) irgendwo in ihrer Nähe erlaubt.
Selbst wenn Sie mit dem oben Gesagten nicht einverstanden sind, ist das Problem des Schlüsseltransports alles andere als trivial: Wie können Sie 100% sicher sein, dass der private Schlüssel vom beabsichtigten Benutzer und nur vom beabsichtigten Benutzer gesehen und nicht (absichtlich oder versehentlich) gespeichert wurde? auf eine weniger sichere Weise (z. B. in einem E-Mail-Posteingang oder einer temporären Datei, die sich daraus ergibt, dass sie von dieser E-Mail getrennt und unverschlüsselt wurde). Wenn Sie eine sichere Transportmethode verwenden, um den Benutzer zu authentifizieren erfordert, wie bekommen Sie die Authentifizierungsdaten für dieSystem sicher an den Benutzer? Es gibt natürlich Möglichkeiten, den Schlüsseltransport für die meisten Verwendungszwecke "sicher genug" zu machen (wobei "genug" sehr davon abhängt, auf welche Schlüssel die Benutzer Zugriff haben), aber wenn der Benutzer seine Schlüssel generiert und die öffentlichen Teile verteilt, sind Sie es Sie müssen sich in diesem Sinne überhaupt keine Sorgen um die Schlüsselverteilung machen (Sie müssen sich nur darum kümmern, dass die Benutzer die privaten Teile sicher aufbewahren, aber nichts kann einen wirklich nachlässigen Benutzer davon abhalten, dort unsicher zu sein, sodass es sich um ein Problem handelt egal was du tust).
Ein letzter Hinweis: Eine Sache, die ein Problem sein könnte, wenn Ihre privaten Schlüssel alle an derselben Stelle generiert werden, ist, wenn später festgestellt wird, dass an dieser Stelle eine schlechte Schlüsselgenerierung eingerichtet wurde, wie das Problem, das letztes Jahr im OpenSSL-Paket von Debian / Lenny aufgetreten ist . In einem solchen Fall hätten Sie die Aufgabe, viele private Schlüssel zu widerrufen und neu zu generieren. Dies könnte Teil der Besorgnis Ihres externen Experten in dieser Angelegenheit sein.