|
|
Hey, es ist Freitag und Zeit für eine neue Ausgabe
Open Source Spotlight. Wie Niklas zu Nikolaus schon angekündigt hat, jetzt immer alle zwei Wochen. Bei der Gelegenheit ein herzliches
Hallo an die neuen Abonnentinnen und Abonnenten unseres Newsletters. Heute stelle ich euch ein neues Tool für OpenPGP vor und habe am
Ende noch einen kleinen Filmtipp. Genug der Vorrede, starten wir mit dem Spotlight! 🚀 |
|
|
|
|
Heute im
Spotlight
|
|
● |
Spotlight: sq 1.0 – CLI-Tool von Sequoia-PGP |
|
● |
Interview: Neal H. Walfield, Mitgründer von Sequoia-PGP |
|
|
|
|
|
|
|
sq 1.0 – CLI-Tool von
Sequoia-PGP |
|
|
|
PGP (Pretty Good Privacy) kennen die meisten von euch
vermutlich von E-Mail-Verschlüsselung. Zugegeben, es ist nicht das eingängigste und benutzerfreundlichste Konzept und viele Leute
benutzen es nicht. Auch die meisten meiner Mails schicke ich unverschlüsselt raus, selbst wenn mein Gegenüber PGP nutzt. Doch
Hand-aufs-Herz: die Alternativen haben auch ihre Probleme und Abseits von Messengern (sprich Signal & Co.) habe ich auch keine
brauchbaren Konzepte für sichere Massenverschlüsselung gesehen. Was wir nicht vergessen dürfen: Für Menschen in repressiven
Staaten sind ein paar User-Experience-Unannehmlichkeiten vermutlich zu verschmerzen, wenn dafür die Vertraulichkeit ihrer Kommunikation
gewahrt bleibt. Und außerdem gibt es für PGP Use-Cases abseits von Mail-Verschlüsselung, etwa das Signieren von Softwarepaketen, damit
bei der Installation von Programmen oder einem Systemupdate einem keine Malware und kein Staatstrojaner untergejubelt wird. Das nutzen
unter Linux etwa die Paketmanager und Update-Tools von Debian und Ubuntu (apt), Fedora (dnf) oder openSUSE (zypper). Die bekannteste PGP-Implementierung ist vermutlich GnuPG
beziehungsweise gpg. Es gibt aber auch andere, und eine davon ist Sequoia PGP. Drei ehemalige GnuPG-Entwickler, namentlich Neal Walfield,
Justus Winter und Kai Michaelis, starteten 2017 das Projekt, um von Grund auf und in Rust OpenPGP neu zu implementieren. Die Hintergründe
dazu verrät Neal weiter unten im Interview. Diese Woche hat das Projekt nun Version 1.0 ihres Kommandozeilen-Tools
sq vorgestellt. |
|
|
|
Spotlight-Steckbrief
|
|
● |
Entwickler: Neal H. Walfield, Justus Winter und das Sequoia Team |
|
● |
Plattform: Linux, macOS, Windows |
|
|
|
|
|
Was mir gleich an sq auffällt: statt vieler Doppelbindestrich-Schalter (--decrypt)
nutzt es für die wichtigsten Funktionen Subkommandos, die sprachlich auch recht verständlich sind.
|
|
|
|
|
Das Kommandozeilentool sq
arbeitet mit nachvollziehbaren Befehlen statt mit kryptischen Argumenten. (Screenshot: ktn/c’t) |
|
|
|
Wollt ihr meinen PGP-Key online suchen und
importieren, dann sieht mit sq der Befehl so
aus: |
|
|
|
sq network search
ktn@ct.de |
|
|
|
|
Für Verwirrung bei vielen PGP-Neulingen sorgt vor
allem die Unterscheidung zwischen privaten Schlüsseln, die man nicht herausrücken darf, und öffentlichen Schlüsseln, die man unter die
Leute bringen muss. Dem begegnet das Sequoia-Team sprachlich, indem Schlüssel (keys) nur die eigenen … ähh … PGP-Dinger sind, die ein
Geheimnis enthalten. Die öffentlichen PGP-Gegenstücke heißen in der Sequoia Nomenklatur Zertifikate (certs). Deshalb zeigt der folgende Aufruf … |
|
|
|
|
… auch nur eure eigenen Schlüssel an, während der
folgende Befehl auch die Daten von Dritten in eurem PGP-Speicher zeigt (Ihr seht, ich versuche mich, um den Begriff Schlüssel zu
drücken). |
|
|
|
|
Aus meiner Sicht ist das neue Vokabular tatsächlich
verständlicher: Mit einem Schlüssel schließe ich meine Sachen auf; ein Zertifikat lege ich vor oder bekomme es vorgelegt. Okay, die
Metapher für Signieren (mit Schlüssel) und für andere Personen Verschlüsseln (mit deren Zertifikat) hinkt etwas, aber doch einfacher zu
unterscheiden als private und öffentliche Schlüssel. Wenn ihr Sequoia ausprobieren wollt, findet ihr derzeit ältere
Versionen von sq in diversen
Linux-Distribitonen. Bei Arch Linux, Fedora und openSUSE heißt das Paket sequoia-sq, während es bei Debian und Ubuntu schlicht unter sq
paketiert ist. In Ubuntu und Debian Testing/Unstable findet ihr auch das „Chamäleon“
gpg-from-sq, ein Nachbau von gpg mit
Sequoia. Das ist nützlich, falls ihr noch mit der neuen Syntax hadert oder (grafische) Tools verwendet, die gpg erwarten.
Falls ihr sq 1.0 selbst ausprobieren wollt, könnt ihr das mit Rust
cargo selbst bauen. Unter Fedora habe ich zunächst die benötigten Abhängigkeiten installiert und dann Cargo aufgerufen: |
|
|
|
dnf install cargo clang
git nettle-devel openssl-devel capnproto libsqlite3x-devel cargo install sequoia-sq
--locked |
|
|
|
|
Interview: Neal H. Walfield,
Mitgründer von Sequoia-PGP |
|
|
|
Schon in seiner Doktorarbeit beschäftigte sich Neal
Walfield damit, wie man das Nutzererlebnis auf Mobilgeräten verbessern kann, ohne den Datenschutz zu kompromittieren. Ich habe ihn
anlässlich des Releases von sq 1.0 für euch interviewt. c’t: Wie kamst du dazu, Software
zu entwickeln? Neal: Den ersten Rechner bekamen wir 1993, als ich 13 Jahre alt war.
Darauf lief MS-DOS. Meine Eltern kauften uns Kindern ein paar Spiele. Ich fand es viel interessanter, sie zu installieren und die Dateien
anzusehen, als zu spielen. Nach einiger Zeit entdeckte ich Q-Basic und das mitgelieferte Spiel Nibbles. Ich sah mir den Quellcode genau
an und veränderte ihn. Irgendwann verstand ich genug, dass ich meine eigenen Programme entwickeln konnte, und das tat (und tue!) ich mit
Leidenschaft. c’t: Was war eure Motivation,
Sequoia PGP und sq zu entwickeln? Neal: Sequoia ist für mich in erster Linie ein Menschenrechtsprojekt.
Menschenrechte sind unverhandelbar. Allerdings scheinen nicht alle, besonders die, die Macht haben, das verstanden zu haben. Daher setzte
ich mich im Rahmen meiner Möglichkeiten und Kenntnisse dafür ein. Da ich ein relativ guter Programmierer bin und Spaß daran habe,
versuche ich vor allem in diesem Bereich etwas Gutes zu tun. Ich glaube nicht, dass Technologie soziale Probleme lösen kann; dafür
brauchen wir soziale Lösungen. Aber ich denke, dass Technologie einen großen Einfluss auf unsere Gestaltungsmöglichkeiten haben kann,
sowohl positiv als auch negativ. Zu Sequoia kam ich über GnuPG. Am Ende meiner Promotion habe ich
nach einem Job gesucht. Das war 2013, zur Zeit der Snowden-Enthüllungen. Ich war damals schon lange mit Werner Koch, dem Gründer von
GnuPG, befreundet und durch die Aufmerksamkeit bekam er auch mehr Geld. Er stellte mich ein. Ich arbeitete direkt an GnuPG, kollaborierte mit
Anwendungsentwicklern und sprach mit vielen Endnutzern. Mir wurde klar, wie wichtig das Projekt war. Gleichzeitig gab es auch einige
Unzufriedenheiten. Ich hatte Ideen, wie man GnuPG verbessern könnte. Werner war aber einer anderen Meinung. Da ich ihn nicht zwingen
wollte, in eine andere Richtung zu gehen, entschlossen sich ein paar andere und ich zu kündigen. Weil wir viel Potenzial sahen und
überzeugt waren, dass das OpenPGP-Protokoll ziemlich gut ist, beschlossen wir, Sequoia zu gründen. |
|
|
|
|
Die beiden Sequoia-PGP
Hauptentwickler Neal Walfield und Justus Winter vor dem Brandenburger Tor. (Credit: Neal Walfield) |
|
|
|
c’t: Welches Problem
löst Sequoia PGP und wofür braucht es sq? Neal: Sequoia dreht sich um Informationssicherheit für Menschen. Wir
versuchen, benutzerfreundliche, robuste und sichere Werkzeuge bereitzustellen, die den Menschen dienen. Das bedeutet vor allem dezentrale
Lösungen. Bei der Entwicklung von Sequoia folgen wir dem Zwiebel-Prinzip:
Wir fangen innen an und bauen eine solide Schicht nach der anderen auf. So haben wir mit unserer low-level OpenPGP Bibliothek
sequoia-openpgp begonnen. Version 1.0 haben wir vor vier Jahren veröffentlicht. Bisher wurde sequoia-openpgp in SecureDrop, den
Linux-Paketmanager RPM, Sett (einem Projekt der Schweizer Regierung zum Schutz von Patientendaten) und einigen anderen Projekten
integriert. Seitdem arbeiten wir an der nächsten Schicht. Wir bauen
verschiedene Dienste, die von vielen Anwendungen benötigt werden, wie zum Beispiel einen geteilten Zertifikatsspeicher. Um uns auf die
Bedürfnisse der Menschen zu fokussieren, haben wir gleichzeitig sq, ein Kommandozeilentool, entwickelt. sq richtet sich an Benutzer, die
gerne auf der Kommandozeile arbeiten. Aber wir haben uns bemüht, die Konzepte so zu entwickeln, dass sie sich leicht auf ein GUI
übertragen lassen. Ein wichtiges Konzept von Sequoia ist etwa die Authentifizierung. Ohne Authentifizierung sind Verschlüsselung und
Signaturprüfung viel schwächer. sq kann nicht nur anzeigen, ob ein Zertifikat zu einer Entität gehört, sondern auch, wie es zu dieser
Schlussfolgerung gekommen ist. Diese Form der Transparenz ist extrem wichtig, damit Menschen verstehen, warum ein System funktioniert.
Nur so kann Vertrauen aufgebaut werden. c’t: Was waren technische Hürden,
mit denen ihr bei der Entwicklung von sq konfrontiert wart? Neal: Die größten Hürden sind meiner Meinung nach nicht technischer,
sondern menschlicher Natur. Ein Computer beherrscht Kryptografie sehr gut und sehr schnell. Aber die Sicherheitsentscheidungen muss ein
Mensch treffen. Unser Ziel in sq ist es, Menschen zu helfen, diese Entscheidungen zu treffen beziehungsweise sicher zu delegieren, indem
wir es ihnen so bequem wie möglich machen, und zwar im Rahmen ihres Angriffsmodells. Um das zu konkretisieren: globale CAs, wie sie zum
Beispiel im Web bei TLS zum Einsatz kommen, haben andere Interessen (wirtschaftlich, politisch, etc.) als deren Nutzer. sq macht es
genauso einfach, dem Techie aus einem Aktivistenkollektiv zu vertrauen, wie einer globalen CA. |
|
|
|
|
Neal bei einem Vortrag
über Sequoia PGP auf der FOSDEM. (Credit: Neal Walfield) |
|
|
|
c’t: Welche Pläne habt
ihr als Nächstes für Sequoia PGP und sq? Neal: Entsprechend dem oben erwähnten Zwiebel-Prinzip arbeiten wir
weiter an den äußeren Zwiebelschalen in Richtung Nutzer. Diese Zwiebelschalen sind: eine high-level Bibliothek, mehr Werkzeuge, um
beispielsweise ein CA leichter aufzustellen, mehr Integrationen in bestehende Tools, Werkzeuge, um die Supply Chain Security zu
verbessern (hier haben wir schon mit sequoia-git angefangen), und auch GUI-Anwendungen. c’t: Wofür begeistert du dich
abseits von Softwareentwicklung? Neal: Meine Freizeit verbringe ich meist mit meinen Kindern. In
der Corona Zeit habe ich angefangen, Brot zu backen. Die alten Weizensorten wie Khorasan finde ich besonders lecker. Ich lese auch gerne.
Neulich habe ich die Kinderbücher von Peter Härtling entdeckt. |
|
|
|
Oh, Peter Härtlings „Ben liebt Anna“ habe ich in der
Schule gelesen und es hat mir etwas Mut gemacht, meinen Schwarm anzusprechen. ☺️ Und wo wir gerade Kinderbücher sind. Bereits vor einigen
Jahren hat Matthias Kirschner, Präsident der Free Software Foundation Europe (FSFE) mit der Illustratorin Sandra Brandstätter das
Kinderbuch „Ada & Zangemann“ veröffentlicht. Jetzt gibt es das „Ein Märchen über Software, Skateboards und Himbeereis“ auch als einen
animierten Film, der die schönen Illustrationen in Bewegung bringt. Den halbstündigen Film könnt ihr kostenlos im Fediverse bei der FSFE
abrufen: https://pics.fsfe.org/gallery/5Tcc_rbuFkkT5FWB9xd3jSAK
Wie immer freuen wir uns über Feedback. Wie haltet ihr es mit PGP?
Lasst es mich gerne wissen, indem ihr unten auf "E-Mail schreiben" klickt. Damit verabschiede ich mich und packe meine Tasche für
den Chaos Communication Congress - kurz
38C3. Wenn ihr auch dort seid oder dort
spannende Projekte kennt, bei denen ich vorbeischauen sollte, schreibt eine Mail an ktn@ct.de, auf Mastodon oder ruft mich per DECT:5828 an. Ich melde mich dann mit der
nächsten Ausgabe von Open Source Spotlight wieder am 3. Januar. Viel Spaß am Gerät und unterm Weihnachtsbaum. 🎄 Bis zum nächsten Spotlight und Happy Hacking! |
|
|
|
|
|