OS für die Schlüsselübergabe

Im Moment baue ich Teile und Pläne für eine Schlüsselzeremonie zusammen , dh ein Verfahren zur Generierung kryptografischer Schlüssel in einer Hochsicherheitsumgebung. Insbesondere möchte ich einen Laptop mit Coreboot ( Thinkpad T60 ) und einige Smartcards mit Schlüsselimportfunktionalität nehmen und die Schlüssel auf dem Laptop generieren und in die Karten importieren, um eine Schlüsselsicherung zu erhalten. Für diese Aufgabe muss ich ein Betriebssystem auswählen, das sehr spezifische Anforderungen erfüllt.

Anforderungen:

  • Das Betriebssystem muss Open Source sein

  • Das Betriebssystem muss in der Lage sein, von einer Live-CD zu booten

  • Das Betriebssystem muss in der Lage sein, ohne dauerhaften Speicher zu arbeiten (außer bei einer schreibgeschützten DVD).

  • Es muss eine Möglichkeit geben, die Integrität der gebrannten Disc extern anhand bekannter guter Werte (Hashes?)

  • Vorzugsweise sollte es in der Lage sein, den Betrieb fortzusetzen, selbst wenn die DVD entfernt wird

  • Es muss mit dem installierten Coreboot T60 funktionieren

  • es darf nicht mehr als 8GB RAM benötigen und sollte mit 2GB funktionieren

  • es muss die (vorübergehende) Installation von Paketen (erforderliche Treiber für die Karten und den Kartenleser) von einer separaten Disc (entweder im optischen Boot-Laufwerk oder einem externen optischen USB-Laufwerk) ermöglichen

  • es darf nicht größer als 4,7 GB sein (passt zB auf eine handelsübliche DVD)

Für welches Betriebssystem die Pakete sind, spielt möglicherweise eine Rolle, es sei denn, Sie können sie für die Distribution erstellen
@JourneymanGeek, die PKCS # 11-Bibliothek muss aus dem Quellcode (Gemalto) kompiliert werden, andernfalls sollten die betreffenden Pakete nur (?) Open-sc sein. Der Kartenleser-Treiber ("Cyberjack") ist auch als Quelldatei verfügbar und für einige populärere Distributionen vorkompiliert. Abgesehen davon ist der einzige, der nützlich sein könnte, openssl.
Vermutlich ist die Zeremonie nach zwei Jahren vorbei und der OP hatte nicht die Höflichkeit, uns zu posten und zu sagen, was er gewählt hat, was anderen geholfen hätte.
@Mawg Es ist tatsächlich eine Weile her und ich glaube , ich habe ein benutzerdefiniertes minimales CD-Image von Debian verwendet.
Danke, und upvote. Wenn Sie sich an weitere erinnern oder die Teilnehmer fragen können, posten Sie sie bitte hier. Wie Ihr hoher Vertreter an anderer Stelle zeigt, wissen Sie, dass wir Antworten schätzen oder anderen helfen möchten, und dass Sie Ihre Frage beantworten und akzeptieren können. Ich hoffe, mehr von Ihnen auf dieser Seite zu sehen :-)
@Mawg Ich habe die angeforderte Selbstantwort mit allem bereitgestellt, woran ich mich noch erinnern konnte, und werde sicherstellen, dass ich mir in Zukunft die meisten / alle Fragen mit Sicherheits- / Krypto-Tags auf dieser Website ansehe.
Yay! Danke (und upvaot)! Ihr hoher Repräsentant für Krypto & Sicherheit bedeutet, dass Sie hier wirklich hilfreich sein könnten ;-)

Antworten (3)

Ich habe keine Installation von Coreboot zur Hand, aber ich glaube, dass Ubuntu oder Trisquelm eine gute Wahl sein könnten. Die Gesamtheit meiner Antwort hängt von der Verfügbarkeit einiger Komponenten von Drittanbietern ab, um maximale Leistung zu erzielen, aber es sollte funktionieren.

Ich schaue mir hier ein paar Elemente an.

  1. Hat jemand diese Distribution oder ihre Derivate auf Coreboot ausgeführt?

    • Das Freiheitsministerium betreibt Trisquel auf ihren Boxen. Als solches sollte Ubuntu funktionieren, da Trisquel eine "ideologisch reine" Variante von Ubuntu ist.
  2. Unterstützt es das 'to ram'-Flag?

    • https://wiki.ubuntu.com/BootToRAM schlägt vor, dass dies seit 11.0 der Fall ist. Muss getestet werden, und Sie benötigen genügend RAM, um das Betriebssystem-Image im RAM zu speichern. Ich werde aktualisieren, wenn ich eine Chance dazu bekomme.
  3. Ubuntu läuft ohne persistenten Speicher, und das Standardinstallationssystem ist eine Live-DVD, die von der CD läuft.

  4. Mögliche Verfügbarkeit von remastersys, mit dem Sie Ihre Treiber in Ihr Live-Image einfügen und/oder es einfach ändern können.

  5. Stock-Installer der meisten Distributionen können sich selbst iirc überprüfen

Es ist viel Zeit vergangen, aber ich habe trotzdem Folgendes getan:

Ich habe mich für Debian entschieden, im Wesentlichen aus den in Journeymans Antwort beschriebenen Gründen, aber in der Hoffnung, dass Debian beim RAM leichter sein würde.

Dann habe ich eine reguläre Installation auf der Festplatte des Zielcomputers durchgeführt, alle erforderlichen Treiber und Sachen installiert und dann eine bootfähige CD / DVD von dieser Installation erstellt (unter Verwendung eines der vielen Tutorials dazu im Internet), die mir dies ermöglichten Verwenden Sie den Standardpaketmanager und alles und überprüfen Sie vorher, ob er vom RAM booten wird.


Gehen Sie die Anforderungen durch:

  • Das Betriebssystem muss Open Source sein

Debian ist Open Source.

  • Das Betriebssystem muss in der Lage sein, von einer Live-CD zu booten
  • Das Betriebssystem muss in der Lage sein, ohne dauerhaften Speicher zu arbeiten (außer bei einer schreibgeschützten DVD).
  • Vorzugsweise sollte es in der Lage sein, den Betrieb fortzusetzen, selbst wenn die DVD entfernt wird

Debian kann wie Ubuntu in den Arbeitsspeicher geladen werden.

  • Es muss eine Möglichkeit geben, die Integrität der gebrannten Disc extern anhand bekannter guter Werte (Hashes?)

Dies ist etwas kniffliger, aber wenn Sie die Hashes / Signaturen bei der Installation des Betriebssystems überprüfen, überprüft das Betriebssystem die Signaturen der installierten Pakete und Sie können die erstellte ISO hashen und überprüfen (vor dem Booten und nach dem Booten gegen die Festplatte). .

  • Es muss mit dem installierten Coreboot T60 funktionieren

Ich glaube, ich habe Coreboot aufgrund von Installationsproblemen tatsächlich nicht verwendet, aber ich sehe keinen Grund, warum Debian , im Wesentlichen das am weitesten verbreitete Linux-Betriebssystem (?), Hier nicht funktionieren sollte.

  • es darf nicht mehr als 8GB RAM benötigen und sollte mit 2GB funktionieren
  • es darf nicht größer als 4,7 GB sein (passt zB auf eine handelsübliche DVD)

Die Verwendung eines benutzerdefinierten Images ermöglicht es, alle Pakete zu entfernen, die für die Zeremonie nicht benötigt werden, sodass die RAM-Nutzung auf diese Weise sehr gut angepasst werden kann.

  • es muss die (vorübergehende) Installation von Paketen (erforderliche Treiber für die Karten und den Kartenleser) von einer separaten Disc (entweder im optischen Boot-Laufwerk oder einem externen optischen USB-Laufwerk) ermöglichen

Da es sich um ein benutzerdefiniertes Image handelt, das auf einer real funktionierenden, getesteten Installation basiert, können die Treiber vorab in das Image eingefügt werden.

OpenBSD oder Alpinelinux, beide können von einem Nur-Lese-Medium gebootet werden und befinden sich nur im RAM (ok, OpenBSD braucht mehr Arbeit, um das zu tun, aber ich bin diesen Weg vor einigen Jahren gegangen und es ist definitiv machbar). Alpinelinux wurde entwickelt, um im RAM ausgeführt zu werden, und ist meiner Meinung nach die sicherste Linux-Distribution, und OpenSC ist bereits gepackt https://pkgs.alpinelinux.org/packages?name=opensc . Ach ja, und es passt auf eine CD-ROM und benötigt 512 MB RAM.