IOTA-Stronghold

29. Jul'20

Übersetzung des Blogartikel von Autor Daniel Thompson-Yvetot, IOTA Foundation.




Stronghold ist eine Sammlung von Mehrzweckbibliotheken zur sicheren Verwaltung von Passwörtern, persönlichen Daten und privaten Schlüsseln.


Das offizielle Repository: https://github.com/iotaledger/stronghold.rs



Das Internet kann ein gefährlicher Ort sein, und 2020 scheint ein Jahr zu sein, in dem buchstäblich alles möglich ist. Ob Deep Fakes, DDoS-Angriffe, Ransomware, undichte Stellen in der Zwischenablage, Zoom-Unsicherheit oder die unklaren Muster von Fingerabdrücken in Browsern - diese Risiken berühren jeden Tag unser gesamtes digitales Leben. Bei der IF sind wir uns schmerzlich bewusst, in welchem Ausmaß Abhängigkeiten von Dritten Risiken mit sich bringen können.

Was wir aus den fortwährenden Angriffen auf unser Ökosystem gelernt haben, ist, dass Sicherheit ein Leitprinzip der Distributed-Ledger-Technologien sein muss und kein nachträglicher Gedanke. Wir müssen über unseren gesamten Tätigkeitsbereich und alle unsere Operationen wachsam sein. Die Einstellung "Sicherheit geht vor" muss nicht nur unsere Praktiken beeinflussen, sondern auch unsere Entscheidungen über das Software-Design beeinflussen.

Als eine Foundation, die sich per Charta den beiden Konzepten des Beitrags zur Open-Source- und zur Weiterbildung verpflichtet hat, sind wir moralisch gezwungen, unsere Energien in die Verbesserung des Gemeinwohls zu stecken - nicht nur in unser eigenes Schicksal.

In diesem Kontext, ein "guter digitaler Bürger" zu sein, ist das Beste, was wir tun können, ein Mittel anzubieten, um die Sicherheitslage aller Arten von Software zu verbessern, einschließlich Kryptowährungen, Distributed-Ledger-Technologien und sogar Finanzinfrastrukturen wie Börsen und Custody Wallets. Insbesondere versuchen wir, die Arbeitsumgebung für Entwickler zu stärken, die Sicherheit von Anwendungen zu erhöhen und jedem bessere Möglichkeiten zur sicheren Speicherung und sicheren Nutzung hochwertiger digitaler Geheimnisse zu geben.


Die sichere Verwaltung digitaler Geheimnisse wie Passwörter, Fahrzeugzugangscodes und Wallet-Seeds ist mit vielen Herausforderungen verbunden:

  • Hochwertige Geheimnisse wie private Schlüssel müssen im Ruhezustand verschlüsselt werden, wobei moderne und sichere Algorithmen verwendet werden müssen.
  • Solche Geheimnisse müssen sofort nach dem Gebrauch aus dem Gerätespeicher gelöscht werden
  • Benutzer müssen in der Lage sein, Systeme entsprechend ihren Sicherheitsanforderungen zu konfigurieren
  • Anwendungen müssen auf jeder Art von Hardware laufen, von Telefonen bis hin zu Autos, wobei nach Möglichkeit vertrauenswürdige Ausführungsumgebungen genutzt werden sollten.
  • Sie müssen mit Hardware-Sicherheitssystemen wie Yubikey und Ledger Nano erweiterbar sein.
  • Müssen so wenige externe Abhängigkeiten wie möglich nutzen
  • Muss vollständig von Sicherheitsexperten Dritter geprüft werden
  • Die zugrunde liegenden Bibliotheken müssen von einem zuverlässigen und aktiven Betreuer verwaltet werden

Wir haben einige Zeit damit verbracht, bestehende Projekte zu untersuchen, aber leider konnten wir nicht alle Kontrollkästchen ankreuzen und beschlossen, weiterzumachen und Stronghold zu bauen, um all dies zu sichern.



Stronghold, kurz und bündig

Stronghold ist eine sichere Software-Implementierung mit dem alleinigen Zweck, digitale Geheimnisse vor der Gefährdung durch Hacker und versehentliche Lecks zu isolieren. Sie verwendet versionierte, dateibasierte Snapshots mit doppelter Verschlüsselung, die leicht gesichert und sicher zwischen Geräten ausgetauscht werden können. Geschrieben in Rust, bietet es starke Garantien für Speichersicherheit und Prozessintegrität. Die hochgradig entwicklerfreundlichen Bibliotheken integrieren das IOTA-Protokoll und dienen als Referenzimplementierung für jeden, der nach Inspiration oder den besten Tools seiner Klasse sucht. In den Bibliotheken auf niedriger Ebene ist keine Kryptowährung enthalten, und sie können vollständig ohne die Bibliotheken auf hoher Ebene verwendet werden. Mit anderen Worten, jeder aus jeder Branche kann sie benutzen.

Bei IOTA werden wir mit dem Rollout von IOTA-Stronghold beginnen, um die neue Wallet zu sichern. In der nächsten Phase werden wir eine enge Integration mit der IOTA-Identität haben. Wir freuen uns darauf, mit Börsen zusammenzuarbeiten, um neue Anwendungsmuster für die Stronghold zu entdecken, und sind auch von den vielen Möglichkeiten begeistert, die sich daraus für unsere Arbeit mit Smart Contracts ergeben.



Für die technischen Fachleute

Die Hauptaufgabe von Stronghold besteht darin, die Aktivität der "privilegierten" Funktionen von anderen Programmen zu isolieren. Zum Beispiel ist es ein primäres Ziel, eine Software-Enklave zu schaffen, in der private Schlüssel zum Signieren von Nachrichten verwendet werden, ohne diese Schlüssel anderen Funktionen zu offenbaren. In naher Zukunft erwarten wir, den Stronghold-Stack in vertrauenswürdige Ausführungsumgebungen (Trusted Execution Environments, TEE) zu verlagern und in kundenspezifische Hardware zu integrieren.

Er basiert auf einer Reihe von Low-Level-Bibliotheken, die unter dem Namen Stronghold Engine bekannt sind und Tools sowie Algorithmen zum Erstellen sicherer Systeme in Rust bereitstellen, die unabhängig von der Architektur und dem Betriebssystem in Geräte eingebettet und eingesetzt werden können. Diese Bibliothekssammlung befasst sich mit der Verschleierung, Verschlüsselung, Nutzung und dem Austausch von Geheimnissen zwischen Geräten. Sie befand sich in den letzten 8 Monaten in der Forschung und Entwicklung - beginnend unter https://ionary.dev - und gipfelte in einer erfolgreich abgeschlossenen Förderung durch den IOTA Ecosystem Development Fund. Der Code kann hier bei GitHub eingesehen werden, und der Hauptautor, Tensor, hat sowohl einen Rückblick über seine Entwicklung als auch ein Einführungsvideo vorbereitet.


Stronghold ist in stabilem Rust geschrieben und besteht aus vier Hauptkomponenten:

  • modulare Low-Level-Bibliotheken zum Aufbau einer sicheren Blackbox versionierter Daten mit einer dateibasierten Snapshot-orientierten Persistenzschicht, die es Benutzern ermöglicht, ihre Daten sicher zwischen Geräten auszutauschen (Beta-Qualität)
  • High-Level-Bibliotheken, die IOTA mit den Low-Level-Bibliotheken integrieren und sie auf intuitive Weise zugänglich machen (Pre-Alpha, derzeit in aktiver Entwicklung)
  • eine Akteur-Modell-Schnittstelle für sicherheitsfokussierte Anwendungen, die Rust verwenden (Pre-Alpha, derzeit in aktiver Entwicklung)
  • FFI-Bindings (dt. Verbindung) zu anderen Programmiersprachen wie C, Java und Node.js (bald verfügbar)



Was werden Sie mit Stronghold machen?

Aufgrund seiner Verbundfähigkeit gibt es viele spannende Anwendungen, die mit Stronghold erstellt werden können - nicht nur Kryptowährung-Wallets. Seine Low-Level-Engine ist völlig nutzfallunabhängig und so flexibel, dass die Verschlüsselungsalgorithmen nach Belieben ausgetauscht, auf neue Weise zusammengestellt und mit anderen Teilen praktisch jedes Stacks erweitert werden können. Die High-Level-Bibliotheken werden so solide sein, dass Sie ihnen vertrauen können, die Dinge richtig zu machen.

Hier sind nur einige Ideen der Möglichkeiten, die Ihnen helfen können, Ihre Säfte fließen zu lassen:


Wallet



Alices IOTA-Wallet wird durch Stronghold geschützt, welche sie so konfigurieren kann (wie im Bild oben zu sehen), dass sie die Aktivitäten in ihrer Wallet überwacht und gefährliche Ereignisse verhindert.



Exchanges

Alice die Daytraderin und ihre Börsen können gemeinsam die verteilte Schlüsselerzeugung von Stronghold und BLS-Schwellwertsignaturen nutzen, um die Überprüfbarkeit von IOTA-Token-Transfers mit hohem Volumen zu verbessern.



Tools zur Passwortverwaltung

Das sichere Säubern des Speichers nach der Verwendung eines Passworts ist eine häufige Schwachstelle in Passwort-Managern. Stronghold wird Alice helfen, sicherer zu werden.



Multimedia-Zentrum

Alice leiht einen Film aus, den sie mit ihrem Telefon auf ihrem Smart TV abspielt. Der Film wird als verschlüsselter Stream an den Fernseher gesendet, und ein Entschlüsselungsschlüssel wird mit dem Stronghold ihres Geräts synchronisiert. Nach 48 Stunden wird der Schlüssel durch den Dienst aus ihrem Stronghold gelöscht, und das Video kann nicht mehr abgespielt werden.



GDPR-Datenprozessoren und -Controller

Anstatt persönlich identifizierbare Informationen in einer zentralen Datenbank zu speichern, die auf einen Schlag gestohlen werden können, kann Alice sich dafür entscheiden, den Zugriff auf ihre Daten direkt aus ihrer Stronghold-basierten Anwendung heraus freizugeben und zu widerrufen.



Reisebüro



Alice gibt ihre Passdaten auf sichere Weise an ihr Reisebüro weiter, und aufgrund der Art und Weise, wie Stronghold miteinander synchronisiert wird, kann sie ihm den Zugriff auf die Passdaten entziehen, wenn das Reisebüro die Passdaten nicht mehr benötigt.



Software-Entwickler

Die Verwendung der Stronghold-Befehlszeilenschnittstelle oder des Systemdämons als lokales Geheim- und Abrufsystem erhöht die Betriebssicherheit des Programmierers Alice und trägt dazu bei, eine versehentliche Offenlegung zu verhindern.


. . . 


Die Zukunft

Stronghold wurde noch nicht formell auf Sicherheitslücken geprüft und bewegt sich auf die nächste Phase des öffentlichen Engagements in der Community zu. Wir machen diese Arbeit jetzt öffentlich, in der Hoffnung, dass die Open-Source- und Sicherheitsgemeinschaften die Gelegenheit finden, den Entwurf und die Umsetzung zu überprüfen. Auf jeden Fall wird Stronghold im Spätherbst 2020 einer vollständigen externen Sicherheitsprüfung unterzogen werden. Nach Abschluss des Audits und entsprechenden Überarbeitungen werden wir das Projekt für reif genug erklären, um es in Ihren Projekten zu verwenden.

Der allererste interne Test von Stronghold wird in der Integration mit der bevorstehenden offiziellen Wallet, die für Chrysalis gebaut wird, bestehen. Sie wird der Speichermechanismus zur Sicherung von Seeds und persönlich identifizierbaren Informationen sein. Stronghold wird es den Benutzern ermöglichen, die Sicherheit ihrer Wallet durch die sichere Speicherung im Ledger und den Yubikey-Zugang zu erhöhen.


Video-Einführung (engl.)


Offizieller Repository: https://github.com/iotaledger/stronghold.rs


Wie immer können Sie sich unserem Discord anschließen, um Feedback zu geben, Kommentare abzugeben und sich an der Diskussion zu beteiligen.