BitBoxApp auf GrapheneOS installieren?

Wie ich das *.apk file nach dem Download auf dem GrapheneOS-Handy nun überprüfen soll, ist mir noch ein Rätsel.

In allen anderen Fällen. Sei es nun unter Windows, macOS oder Ubuntu, sind die jeweiligen checksums aufgelistet, aber nicht zu einem apk file.
Ich nutze augenblicklich die AppVerifier App, um apk file zu validieren. Dazu benötige ich aber den Hash des APK files. Wo bekomme ich diesen Hash zur BitBox App her?

Wie hier von Wanderfall und alex gut erklärt reißt die Vertrauenskette bei der von BitBox momentan angebotenen gpg Methode mit den Umweg über einen wenig sicheren Linux PC:

Die stärkste mir bekannte dezentrale Vertrauenskette wäre ein mit hoher Reputation natürlich gewachsenes Nostr Profil, gesichert mit einer Hardware Wallet (Nostr Signing Device, NSD), wo die Fingerprints veröffentlicht werden, und Verifizierung mit Zapstore:

Das BitBox Nostr Profil was am ehesten in Frage kommt ist wohl:

https://njump.me/nprofile1qqs9500z3l7sn46sdnls5fnjm0d3lqmrq7707qshes2y7j8pnm4rllcpzdmhxue69uhhqatjwpkx2urpvuhx2ue0lgtw53

Meine Android BitBox Begleit-App von GitHub - BitBoxSwiss/bitbox-wallet-app: The BitBoxApp for desktop and mobile. (nicht Google Playstore!) hat den Zertifikat Fingerabdruck:

ch.shiftcrypto.bitboxapp
67:E9:05:08:F7:49:BE:9D:CF:B1:83:33:92:BA:99:EE:BF:89:37:B1:BA:DD:F3:05:63:1C:E2:D9:FB:A5:0B:D7

oder

CERTIFICATE fingerprints:
md5: b611a791dd90bfd8f86f51f14092ec8e
sha1: 1255a1663611190e8ea099fdb103f80c8ac8713d
sha256: 67e90508f749be9dcfb1833392ba99eebf8937b1baddf305631ce2d9fba50bd7

Also solltest du den gleichen Fingerabdruck haben, oder die Anderen im Forum (bitte um Rückmeldung), oder @Stadicus veröffentlicht diesen Fingerabdruck auf einer vertrauenswürdigen Quelle (Nostr), dann haben wir mit hoher Warscheinlichkeit die richtige BitBox Begleit-App.

Danke Dir, ja ich habe den gleichen Fingerabdruck. Ja toll wäre es schon, den Fingerabdruck auf einer vertrauenswürdigen Quelle zu veröffentlichen.

Ich frage intern mal nach, wieso wir die Checksumme fürs APK nicht auf der Webseite (Get started using your BitBox wallet) publizieren. Die Releases sind auf GitHub gehosted, die Checksummen extra auf einem anderen, eigenen Server.

Aktuell kannst du die APK aber auch direkt hier holen, inklusive digitaler Signatur:

Jedes Release ist von uns signiert (*.asc). Das stellt die binäre Integrität auch sicher, da ein einziges Bit Veränderung die Signatur invalidieren würde.

Diese lässt sich ganz normal via gpg überprüfen, oder auch recht komfortabel in der Sparrow Wallet:

2 „Gefällt mir“

Vielen Dank

Danke @Stadicus!

In der Zwischenzeit hab ich den selben APK-Zertifikat-Fingerabdruck auch noch in der Zapstore App gefunden:

Exakt 21 Tage nach deiner Antwort wollte ich mal nachfragen wie der Fortschritt bezüglich eurer APK Fingerabdruck Veröffentlichung auf eurer Webseite ist?

Mir sind da auch noch einige Schwachstellen bezüglich der Veröffentlichung auf eurer Webseite aufgefallen. Euer Website-Zertifikat stellt keine Informationen über den Besitzer zur Verfügung, also nur Domain Validation SSL Certificates (DV):

Wenn man in Deutschland im Terminal folgendes eingibt:

$ nslookup -q=ns bitbox.swiss
Server:		100.64.0.55
Address:	100.64.0.55#53

Non-authoritative answer:
bitbox.swiss	nameserver = zariyah.ns.cloudflare.com.
bitbox.swiss	nameserver = leland.ns.cloudflare.com.

Authoritative answers can be found from:

dann sieht man, dass euer Webserver hinter Cloudflare ist. Da SSL/TLS keine vollständige Ende-zu-Ende-Verschlüsselung unterstützt wird die Verbindung zwischen „Edge“ und „Origin“ entschlüsselt:

Diese dritte Partei (Mann in der Mitte) zwischen Webserver und Benutzer könnte nicht nur manipulierte Fingerabdrücke ausliefern, sondern auch die Metadaten und personenbezogenen Daten der Kunden im Webshop sammeln.

Somit ist die Vertrauenswürdigkeit eurer Webseite meiner Meinung nach momentan nicht ausreichend gegeben!

Hey @sunbird, danke dir fürs Nachhaken – und sorry, dass das etwas gedauert hat. Die Veröffentlichung der Prüfsumme auf der Webseite ist tatsächlich schon vorbereitet und sollte diese Woche live gehen. Die Änderung ist fertig und wartet nur noch darauf, „scharf geschaltet“ zu werden. :blush:

Zusätzlich arbeiten wir gerade an einer Anleitung im Support-Hub zur Verifikation der APK-Dateien unter Android. Damit wollen wir es Nutzerinnen und Nutzern so einfach wie möglich machen, die App unabhängig zu prüfen – sofern sie das möchten.

Zum Thema Cloudflare:

Cloudflare ist leider ein notwendiges Übel. Wir sind regelmäßig DDoS-Angriffen ausgesetzt, insbesondere auf den Webshop, und brauchen eine Lösung, die zuverlässig verfügbar bleibt. Diese Entscheidung trifft man nicht leichtfertig – aber auch andere Hersteller wie Trezor oder Ledger setzen darauf.
Dein Hinweis ist aber absolut berechtigt, und wir überlegen intern, ob es in Zukunft Alternativen geben könnte, zumindest für sicherheitskritische Inhalte wie Prüfsummen.

Wichtig zur Einordnung:

  • Unsere Downloads liegen auf GitHub, nicht auf unserer Webseite. GitHub sitzt nicht hinter Cloudflare (siehe checkforcloudflare.selesti.com).

  • Die Prüfsummen auf der Webseite verweisen also auf Inhalte, die nicht über Cloudflare ausgeliefert werden. Sollte es dort je zu einem Widerspruch kommen, fällt das sofort auf – genau dafür ist die Prüfung da.

  • Noch besser: die Dateien sind mit unserem PGP-Schlüssel signiert (Fingerprint: DD09 E413 0975 0EBF AE0D EF63 5092 49B0 68D2 15AE).
    Die .asc-Signaturen findest du direkt auf der GitHub-Seite jeder Release:
    https://github.com/BitBoxSwiss/bitbox-wallet-app/releases/

Damit kannst du sowohl die Integrität als auch die Authentizität des Downloads verifizieren – ohne irgendeiner Webseite oder Drittpartei zu vertrauen. Wer möchte, kann sich auch die gesamte Kette selbst aufbauen (Open Source Code → reproducible build → Signatur).

Zur Relevanz der Prüfsumme allgemein:

Die BitBox02 ist so konzipiert, dass sie nicht dem Computer vertrauen muss. Firmware-Updates funktionieren nur, wenn sie von uns digital signiert sind – dieser Check ist hardwareseitig fest verankert. Selbst wenn jemand eine manipulierte App installiert, kann diese keine unsignierte Firmware aufspielen.
Man kann sagen: Die App darf bösartig sein, ohne dass das die Sicherheit der BitBox02 gefährdet. Prüfsummen und Signaturen sind trotzdem eine gute Praxis – gerade für Power-User – aber nicht sicherheitskritisch in unserem Modell.

Noch wichtig:

  • Wiederherstellungswörter niemals irgendwo eingeben! Nur direkt auf der BitBox02 beim Wiederherstellen – nie in eine App, Webseite oder ein Formular.

  • Sicherheitskritische Hinweise bitte PGP-verschlüsselt an security@shiftcrypto.ch schicken. Unser Bug-Bounty-Programm ist hier dokumentiert:
    https://bitbox.swiss/de/bug-bounty-program/

Wir freuen uns wirklich über solche Rückfragen – das hilft uns allen, die Systeme besser zu machen und Vertrauen aufzubauen. Wenn du noch Ideen hast, gerne her damit.

3 „Gefällt mir“

Hallo @Stadicus !

Bezüglich Verifikation:
Super wenn es in Zukunft mit Android alleine auch funktioniert. Nicht jeder hat einen Desktop oder Laptop. :+1:

Bezüglich:

Bitte nicht auch noch die Datenkrake Gmail. :folded_hands:

~$ nslookup -q=mx shiftcrypto.ch
Server:		100.64.0.55
Address:	100.64.0.55#53

Non-authoritative answer:
shiftcrypto.ch	mail exchanger = 10 alt4.aspmx.l.google.com.
shiftcrypto.ch	mail exchanger = 5 alt1.aspmx.l.google.com.
shiftcrypto.ch	mail exchanger = 5 alt2.aspmx.l.google.com.
shiftcrypto.ch	mail exchanger = 1 aspmx.l.google.com.
shiftcrypto.ch	mail exchanger = 10 alt3.aspmx.l.google.com.

Authoritative answers can be found from:

Wenn ich mit einem Bitcoin Hardware Hersteller in Kontakt treten möchte erwarte ich mir höchste Seriosität und Diskretion. Da bleibe ich lieber gleich hier im Forum.

Bezüglich Cloudflare:
DDoS Attacken sind teuer und dauern nicht ewig. Aus Eigeninteresse bieten einige Hoster kostenlose Filter an um ihre eigene Infrastruktur zu schützen. Funktioniert ganz automatisch und ohne die SSL/TLS Verschlüsselung zu brechen:

Sollte das immer noch nicht reichen kann vorübergehend als letzte Konsequenz Cloudflare innerhalb von 3600 Sekunden zu- bzw. abschalten werden. Aber bitte nicht permanent an lassen. :folded_hands:

Da heißt es immer um Manipulation einer Hardware Wallet vorzubeugen soll man direkt beim Hersteller bestellen. Und da erwarte ich mir keine dritte Parteien in meiner Bestell- bzw. Lieferkette, die meine Bestellung und meine Versandadresse kennt und die meine Bitbox abfangen und manipulieren könnte.

Bezüglich GitHub:
Nur ein weiterer zentraler Dienst der zwar nicht hinter Cloudflare ist aber von Microsoft kontrolliert wird. Wie du richtig bemerkst, Prüfsummen und Dateien dort zu verteilen macht keinen Sinn. Schau dir echt bitte mal das Konzept von Zapstore genauer an. Ist zwar erst in Entwicklung aber macht richtig Sinn:

Alles, was wichtig ist, hosten wir selber, inklusive Webshop und Support. Alle Daten im Shop werden nach 30 Tagen anonymisiert und nur noch PGP-verschlüsselt als PDF separat gespeichert. Wir gehen die Extra-Meile für vernünftige Privacy und Datenschutz.

Natürlich kann man immer mehr machen, wir haben dann einfach keine Zeit mehr, Produkte zu bauen und weiterzuentwickeln.

Ich denke, wir haben eine gute Balance gefunden und machen mehr als alle anderen Mitbewerber im Bitcoin-Space, und es ist schlichtweg kein Vergleich mit normalem E-Commerce.

Wenn du maximale Anonymität suchst, haben wir unser BitBox Dealer-Programm für Meetups, oder verkaufen gerne gegen Cash an Events.

1 „Gefällt mir“

Der Zweck von F-Droid ist nicht nur Datenschutz sondern auch eine unabhängige Quelel für Open Source Software zu sein.

Also dein Fazit zum Erwerb der Bitbox:
Für eine Minderheit habt ihr eine offline Lösung.
Für die Masse habt ihr nicht die Recourcen für ein ordentliches Chain of Trust.

Wie soll diese Balance jemanden überzeugen?

Eine Frage die in dieser Runde die hier wohl fast jeder beantworten kann:
Was passiert wenn bei der sichersten selbst verwahrten Bitcoin Hardware Wallet die Verschlüsselung gehackt wird?
Richtig: Bitoins weg! :scream:

Und was passiert wenn beim sichersten selbst gehosteten Server das Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet (SSL/TLS) gehackt wird?
Antwort: Integrität, Authentizität und vor allem Vertrauen weg! :grimacing: :roll_eyes:

Ich bin echt schon auf eure Anleitung zur Verifikation der APK-Dateien unter Android gespannt.

Danke für dein ausführliches Feedback. Bitte leg mir aber keine Aussagen in den Mund, die ich so nicht gemacht habe.

Wir bieten bereits im Standard ein aussergewöhnlich hohes Niveau an Privatsphäre und ermöglichen bewusst auch Optionen für Nutzer, die darüber hinaus zusätzliche Anonymität wünschen, etwa durch anonyme Bestellung, Bitcoin-Zahlung oder Peer-to-Peer-Käufe an Events und Meetups. Dieses Bedürfnis nehmen wir ernst und unterstützen es aktiv.

Auch bei der technischen Umsetzung gehen wir gezielt dort die Extrameile, wo es sicherheitsrelevant ist und der Aufwand echten Mehrwert bringt, zum Beispiel mit unserem selbst gehosteten Webshop und Support, oder der automatischen Anonymisierung von Bestelldaten nach 30 Tagen.

Wichtig ist: Wir sprechen hier ausschliesslich von Elementen ausserhalb der BitBox02: Webseite, App-Download oder Kommunikation, etc. Innerhalb der BitBox02 selbst setzen wir bewusst auf höchste technische Standards, inklusive intensiver Peer Reviews, reproduzierbarer Builds und externer Sicherheits-Audits. Dort lohnt sich auch technische Perfektion – und wir investieren entsprechend.

Gleichzeitig unterscheiden wir bewusst zwischen praxisorientierter Sicherheit und theoretischer Perfektion. Die Realität zeigt, dass viele Angriffe über ganz andere Vektoren erfolgen – etwa durch manipulierte Anleitungen oder Social Engineering. Eine technisch einwandfreie Chain-of-Trust bringt hier oft wenig, wenn sie an der Praxis vorbeigeht.

Es ist völlig in Ordnung, wenn sich deine Prioritäten etwas von unseren unterscheiden. Schade, dass dich unser Ansatz auch nach ausführlicher Erläuterung nicht überzeugt – aber die Welt ist komplex, und jeder hat andere Anforderungen. Feedback ist wichtig, sollte aber sachlich und konstruktiv bleiben. Pauschale Aussagen oder Alarmismus helfen in der Diskussion leider nicht weiter.

Wenn du fundierte Hinweise oder gar eine Anleitung zur Verifikation von APKs beisteuern möchtest: sehr gerne!

4 „Gefällt mir“

Cloudflare ist so eine große Sache, ich hab da mal ein neues Thema auf gemacht:

Bezüglich Verifizierung und Verteilung von Installations-Dateien habe ich folgende Vorschläge:

  1. Wenn Ihr euch wirklich noch nicht von Cloudflare trennen könnt, dann könntet Ihr euch eine extra Domain oder Subdomain neu anlegen, zB https://download.bitbox.swiss/

  2. Bei dieser Subdomain lässt Ihr Reverse-Proxy-Dienste wie Cloudflare deaktiviert.

  3. Ihr macht ein Extended-Validation-SSL-Zertifikat bei eine vertrauensvollen Zertifizierungsstelle wie es üblicherweise eCommerce-Webseiten oder Banken machen. Dann ist euer Zertifikat im Browser wie hier im Beispiel PayPal zu sehen und eure Benutzer können euren Webserver verifizieren:

  4. Diesen Webserver könnt Ihr gegen DDoS-Angriffe härten mit einem performanten web server accelerator ohne PHP, Perl, Ruby, MySQL, Java, etc. Es wird hier sowieso nur Kopien von Kopien von statischen Text bzw. Bildern veröffentlicht. Also DDoS-Angriffe machen hier kaum Sinn da diese Kopien sowieso mehrfach im Netz vorhanden sind.

  5. Ihr veröffentlicht hier die Prüfsummen (Fingerabdrücke) eurer Zertifikate sowie die Download-Links ähnlich euer jetzigen Download-Seite aber eben ohne Spielereien wie CMS und Javascript Missbrauch wie Canvas Fingerprinting.

  6. Ihr verwendet ein dezentrales Speichernetzwerk um ein Single Point of Failure (SPOF) zu vermeiden. zB das altbewärte BitTorrent oder das moderne InterPlanetary File System (IPFS). IPFS hat keinen Single-Point-of-Failure, und Knoten müssen sich nicht gegenseitig vertrauen, mit Ausnahme derjenigen Knoten, mit denen sie verbunden sind. Verteilte Inhaltsauslieferung reduziert Übertragungsvolumen und verhindert DDoS-Angriffe, welche bei der Nutzung von HTTP möglich wären.

So, ich hoffe ich hab nicht vergessen zum Thema Vertrauenskette mit einer zentralen Zertifizierungsstelle als Vertrauensanker.

1 „Gefällt mir“

Vielen Dank für deine fundierten Vorschläge und die detaillierte Aufstellung inklusive weiterführener Links. Ich reiche die gerne ins Infrastruktur-Team weiter.
:smiley::+1:

2 „Gefällt mir“

Kleines Update: Die SHA-256 Prüfsumme der APK-Datei wird jetzt wie gewünscht auch auf der Download-Seite ausgegeben.

Die Anleitung zur Berechnung und Verifizierung von Prüfsummen haben wir aktualisiert (siehe letzter Abschnitt zu Android).

Außerdem haben wir eine Anleitung zur Verifizierung der PGP-Signatur direkt auf Android erstellt. Wer keinen Laptop/Desktop hat oder keinem anderen Gerät für die Verifizierung vertrauen möchte, kann damit alles auf dem Smartphone machen:

Danke für das Feedback! :slight_smile:

5 „Gefällt mir“