Sicherheitsoberflächen verdichten eine vielschichtige Prüfung oft zu einem einfachen Ergebnis: verbunden, geprüft, gültig oder vertrauenswürdig. Das Ergebnis mag zutreffen. Seine Formulierung kann jedoch mehr nahelegen, als der zugrunde liegende Nachweis belegt.
Eine Prüfung wird nützlich, wenn ihre Grenze ausdrücklich benannt ist. Welcher Gegenstand wurde geprüft? Welches System hat die Prüfung vorgenommen? Auf welche Daten stützte es sich? Wann fand die Prüfung statt? Welche Annahmen liegen außerhalb ihrer Reichweite?
Erkannt heißt nicht geprüft
Eine Wallet-Anwendung kann ein angeschlossenes Hardwaregerät erkennen. Das belegt, dass eine Verbindung zu etwas besteht, das die erwartete Schnittstelle bereitstellt. Für sich genommen belegt es nicht, dass das Gerät die vorgesehene Empfangsadresse anzeigt, die erwarteten Schlüssel enthält, freigegebene Firmware ausführt oder zum aktuellen Aufbau der Wallet gehört.
Jede dieser Aussagen erfordert einen eigenen Nachweis. Werden sie in einem pauschalen Status „Gerät vertrauenswürdig“ zusammengefasst, lassen sich Fehler schwerer eingrenzen. Zugleich entsteht ein Vertrauen, das den Nachweis womöglich überdauert.
Die Adressprüfung belegt eine Zuordnung
Wird eine Empfangsadresse auf einem vertrauenswürdigen Hardwaregerät angezeigt, lässt sich feststellen, dass das Gerät diese Adresse aus den ihm übermittelten Wallet-Informationen ableitet. Der Wert dieser Prüfung setzt voraus, dass die Anzeige echt ist und die ausführende Person die vollständige Adresse vergleicht.
Sie belegt nicht zwingend, dass jeder Unterzeichner einer Multisignatur-Wallet dieselbe Konfiguration unabhängig bestätigt hat. Sie belegt nicht, dass eine kopierte Adresse bei späterer Verwendung unverändert ist. Und sie belegt nicht, dass die für eine künftige Wiederherstellung nötigen Metadaten der Wallet erhalten geblieben sind.
Auch eine gründliche Prüfung beantwortet unter Umständen nur eine eng gefasste Frage.
Ein Node prüft den Konsens, nicht jede Annahme in seinem Umfeld
Ein selbst betriebener Bitcoin-Node kann die Abhängigkeit von Dritten bei Blockchain-Daten und beim Versand von Transaktionen beseitigen. Der Node prüft die Konsensregeln und die Kette, die er gemäß seiner Konfiguration akzeptiert.
Er belegt nicht, dass ein Wallet-Deskriptor korrekt ist, dass ein Hardwaregerät echt ist, dass sich eine Sicherung wiederherstellen lässt oder dass die ausführende Person die beabsichtigte Transaktion gewählt hat. Ein Node stärkt eine wichtige Grenze. Die übrigen hebt er nicht auf.
Multisig erhöht die Anforderungen an den Nachweis
Multisignatur kann die Befugnis zur Unterzeichnung verteilen und, je nach Aufbau der Wallet, den Verlust einzelner Schlüssel auffangen. Zugleich entstehen Informationen, die verfügbar bleiben müssen: der Schwellenwert, die Schlüssel der Beteiligten, die Ableitungsangaben, der Skripttyp und die Wallet-Konfiguration, die zur Rekonstruktion erforderlich ist.
Wer mehrere Sicherungen von Wiederherstellungswörtern vorfindet, hat damit noch nicht belegt, dass sich die Multisignatur-Wallet wiederherstellen lässt. Die Beziehung zwischen diesen Schlüsseln ist Teil der Aufgabe. Ein Prüfverfahren sollte daher unterscheiden zwischen der Verfügbarkeit des Schlüsselmaterials, der Verfügbarkeit der Angaben zum Aufbau der Wallet und einer erfolgreichen Rekonstruktion.
Nachweisstatus statt dauerhafter Gütesiegel
Ein Prüfergebnis gilt für einen bestimmten Zeitpunkt. Software ändert sich, Geräte werden ersetzt, Konfigurationen weichen allmählich ab. Ein dauerhaftes Gütesiegel kann einen früheren Nachweis unbemerkt in eine aktuelle Aussage verwandeln.
Vier Zustände sind ehrlicher:
- Aktuell: innerhalb des festgelegten Gültigkeitszeitraums am maßgeblichen System geprüft.
- Veraltet: früher geprüft, doch der abgelaufene Gültigkeitszeitraum oder eine wesentliche Änderung erfordert eine neue Prüfung.
- Unbekannt: Kein verlässlicher Nachweis stützt die Aussage.
- Nicht verfügbar: Die Quelle des Nachweises ist derzeit nicht erreichbar oder nicht nutzbar.
Diese Zustände geben der ausführenden Person keine Entscheidung vor. Sie stellen den Nachweis für eine Entscheidung bereit und zeigen, wo weiterhin eigenes Urteil gefragt ist.
Zuerst die Aussage, dann die Anzeige
Für jeden Sicherheitsstatus sollte sich der Satz vervollständigen lassen: „Wir haben einen Nachweis dafür, dass …“ Lässt er sich nicht präzise beenden, ist der Status zu weit gefasst.
„Geprüft“ kann bedeuten, dass eine vollständige Empfangsadresse zu einem festgehaltenen Zeitpunkt auf einem bestimmten Gerät bestätigt wurde. „Aktuell“ kann bedeuten, dass der Aufbau der Wallet nach der letzten Konfigurationsänderung bei allen Unterzeichnern abgeglichen wurde. „Nicht verfügbar“ kann bedeuten, dass der Node, der unabhängige Blockchain-Daten liefert, nicht erreichbar war.
Präzision macht Sicherheit nicht schwerer verständlich. Sie verhindert, dass aus einfacher Sprache irreführende Sprache wird.
21 Fruits-Prinzip
Eine Prüfung sollte angeben, was geprüft wurde, wie und wann es geprüft wurde und was außerhalb der Aussage bleibt.
Persönliches Gespräch anfragen