Zum Hauptinhalt springen
Einfachlösung

E2E-Verschlüsselung für Capacitor-Updater über Code-Signatur

Mithilfe von RSA + AES-Kryptographie werden Updates verschlüsselt, entworfen für Unternehmen und hochsichere Apps

Artikelcredits

Martin Donadieu

Autoren

Valeria

Rezensent

Jordan

Redakteur

E2E-Verschlüsselung für Capacitor-Updater über Code-Signatur

Capacitor-Updater End-to-End-Verschlüsselung durch code ist jetzt verfügbar. Code-Signierung stellt sicher, dass die Updates, die von den Geräten der Endnutzer ausgeführt werden, nicht manipuliert wurden und bietet eine zusätzliche Sicherheitsebene über die Standard-Sicherheit von Capacitor-Updater hinaus.

Die Standard-Sicherheit von Capacitor-Updater

Standardmäßig ist das Sicherheitsmodell von Capgo ähnlich wie das von Web-Hosting-Anbietern. Capgo speichert Updates Verschlüsselt im Ruhezustand und dient sie über HTTPS mit modernen Ziffernblättern aus. Ebenso verwendet der Publisher von einem Entwickler-Computer immer HTTPS.

Capgo erzielt eine A+ auf der SSL-Labs-HTTPS-Testliste

Capgo erzielt eine A+ auf der SSL-Labs-HTTPS-Testliste (https://www.ssllabs.com, November 2022)

Ähnlich wie die besten Web-Hosts verwendet Capgo HTTPS, um die Privatsphäre und die Integrität der Netzwerkverbindungen zwischen dem Server und den Geräten der Endnutzer zu schützen. Dies ist ein hervorragender Sicherheitsstandard, der sowohl für die Web- als auch für die Ionic-Apps, die Capgo verwenden, funktioniert.

Die Lieferkette der Cloud-Infrastruktur

Wenn Capgo und die meisten Web-Hosts etwas gemeinsam haben, ist es, dass sie auf niedriger Ebene auf Cloud-Infrastruktur laufen, oft von AWS, GCP oder einem anderen beliebten Cloud-Anbieter. Die Hardware und Software, die von diesen Cloud-Anbietern und Capgo oder anderen Web-Hosts betrieben werden, sind Teil der Cloud- Lieferkette.

Die Cloud-Lieferkette und ihr Sicherheitsmodell funktionieren für eine riesige Anzahl von Websites und Apps. Jeder Web-Entwickler, der einen Cloud-Anbieter verwendet, setzt Vertrauen in diesen Anbieter und erwartet, dass die Dateien, die er hochlädt, die Dateien sind, die ausgeführt oder bereitgestellt werden, ohne dass sie manipuliert werden. Und Cloud-Anbieter arbeiten hart daran, ihre Infrastruktur sicher zu halten.

Natürlich werden Hardware- und Software-Schwachstellen entdeckt. Cloud-Anbieter beheben Schwachstellen auf regelmäßigen Zeitplänen, verhindern proaktiv schädliche Software (z.B. Google’s SLSA) und bauen Schichten von Verteidigung in der Tiefe auf. In der Praxis hat sich die Cloud-Infrastruktur bewährt, um die Sicherheitsanforderungen der meisten Websites und Apps zu erfüllen. Allerdings umfassen einige Ionic-Apps auch kompromittierte Cloud-Infrastruktur in ihren Bedrohungsmodellen. Für diese Capacitor JS-Apps mit den höchsten Sicherheitsanforderungen über dem Web haben wir end-to-end code-Signierung in Capgo und die Capgo Updates-Standardprotokoll.

End-to-end code-Signierung mit Capgo

Capgo’s end-to-end code-Signierung verwendet öffentliche-Schlüssel-Kryptographie, um sicherzustellen, dass die Endgeräte der Benutzer nur unveränderte, ursprüngliche Updates von dem Capacitor-App-Entwickler ausführen.

“Von Anfang bis Ende” bedeutet, dass diese Sicherheit den gesamten Prozess von der Zeit, in der ein Entwickler ein Update veröffentlicht, bis zur Zeit, in der ein Endnutzergerät das Update empfängt und ausführt, umfasst. “Code Signierung” ist die Verwendung von Kryptographie und einem geheimen privaten Schlüssel, um “code” zu signieren, und später die Verwendung eines vertrauenswürdigen öffentlichen Schlüssels, um die Signatur zu überprüfen.”

Hier ist ein einfaches* Schema, um zu erklären, wie es funktioniert:

Capgo Verschlüsselungsschema

  • Komplex in der Praxis, Kryptographie ist schwierig

Definition:

  • AES: Advanced Encryption Standard, ein symmetrischer Verschlüsselungsalgorithmus, ein Schlüssel für Verschlüsselung und Entschlüsselung.
  • RSA: Rivest–Shamir–Adleman, ein asymmetrischer Verschlüsselungsalgorithmus, zwei Schlüssel werden verwendet: ein öffentlicher Schlüssel und ein privater Schlüssel.
  • Chiffre: Die verschlüsselte Daten.
  • Sitzungsschlüssel: Ein AES-Schlüssel, der verwendet wird, um Daten zu verschlüsseln und zu entschlüsseln.
  • Prüfsumme: Eine Hash-Berechnung für ein Datei
  • Signatur: Eine Prüfsumme, die mit einem privaten RSA-Schlüssel verschlüsselt wurde. Sie kann mit einem öffentlichen RSA-Schlüssel überprüft werden

Wir verwenden den AES-Algorithmus, um das Update zu verschlüsseln. Ein zufälliger AES-Schlüssel wird für jeden Upload generiert, dann wird der AES-Schlüssel und die Prüfsumme (in diesem Fall “Signatur”) mit dem privaten RSA-Schlüssel des Entwicklers verschlüsselt. Der öffentliche RSA-Schlüssel des Entwicklers wird im App verwendet, um den AES-Schlüssel und die Signatur (wieder in eine Prüfsumme umgewandelt) zu entschlüsseln. Später wird der entschlüsselte AES-Schlüssel verwendet, um das Update zu entschlüsseln; eine Prüfsumme des entschlüsselten Updates wird berechnet und mit der entschlüsselten Signatur verglichen.

Wir verwenden zwei verschiedene Verschlüsselungsalgorithmen, weil RSA nicht zum Verschlüsseln großer Datenmengen verwendet werden kann. AES wird verwendet, um die Aktualisierung zu verschlüsseln, und RSA wird verwendet, um die AES-Schlüssel und den Prüfsummenwert zu verschlüsseln.

Mit diesem Sicherheitsmodell kann sogar Capgo nicht auf den Inhalt Ihres Bundles zugreifen. Dies ist ein robustes Sicherheitsmodell, das von vielen Unternehmen verwendet wird.

Update-Verschlüsselung V2 2024-08-27:

  • Wir haben den Schlüsseltyp, der im App gespeichert ist, geändert. Dies wurde getan, um das Inferieren des öffentlichen Schlüssels (früher verwendet für die Verschlüsselung) aus dem privaten Schlüssel (früher verwendet für die Entschlüsselung) zu verhindern. Jetzt speichert die App den öffentlichen Schlüssel (jetzt verwendet für die Entschlüsselung).
  • Wir haben den Prüfsummenwert vom CRC32-Algorithmus auf den SHA256-Algorithmus umgestellt. Wir haben auch begonnen, den Bundle zu signieren. Wir signieren den Bundle.Wenn die Verschlüsselung V2 konfiguriert ist, muss eine Aktualisierung eine gültige Signatur haben. Dies wird streng durch den Plugin durchgesetzt.
  • Wir erzwingen eine gültige Signatur, wenn die Verschlüsselung V2 konfiguriert ist. Diese 3 Änderungen wurden nach einer Sicherheitsanalyse von einem Mitglied der Community durchgeführt. Sie sind hier, um kryptographische Angriffe während der Aktualisierung zu verhindern.

Wenn Sie die Verschlüsselung V1 verwendet haben, migrieren Sie zu V2, um die neuen Sicherheitsfunktionen zu nutzen. Folgen Sie den Anweisungen zur Migration. Mit der Ende-zu-Ende-Signierung von __CAPGO_KEEP_0__ wird __CAPGO_KEEP_1__ zu einem "vertrauenslosen" Cloud-Infrastruktur. Wenn einer von __CAPGO_KEEP_2__'s Cloud-Anbietern oder sogar __CAPGO_KEEP_3__ selbst den __CAPGO_KEEP_4__-signierten Update ändern würde, würden die Endgeräte des Benutzers diesen Update ablehnen und das vorherige, vertrauenswürdige Update ausführen, das bereits auf dem Gerät installiert ist..

code ist Capacitor-Updater, Capgo ist Cloud-Infrastruktur, Capgo ist Cloud-Anbieter, Capgo ist Cloud-Infrastruktur, code ist Capacitor-Updater

Während HTTPS auf der Web-Ebene für viele Apps ausreichend ist, finden einige große Unternehmen den zusätzlichen Sicherheitslevel durch Ende-zu-Ende code-Signierung ansprechend. Einige dieser Unternehmen erstellen Finanzanwendungen, die hohe, dauerhafte Transaktionen ausstellen. Andere Unternehmen haben CISOs, die kompromitierte Cloud-Infrastruktur in ihren Bedrohungsmodellen berücksichtigen. Wir haben Ende-zu-Ende code-Signierung in Capgo für diese Anwendungsfälle entwickelt und sind interessiert daran, mehr von Unternehmen mit höheren Sicherheitsanforderungen zu hören.

Anfahrt für Unternehmenstkunden

Für große Unternehmen oder Projekte, die sich sehr um die Sicherheit kümmern, möchten wir code-Signierung einfach einrichten und aufrechterhalten lassen. Dazu bieten wir die folgenden Funktionen an:

  • Rasche Zertifikatskonfiguration und -konfiguration
  • Unterstützung für code-Signierung-Entwicklungsserver mit beiden Capgo- und Entwicklungsbuilds
  • Produktions code-Signierung bei jedem Update

Capgo code-Signierung ist für alle Kunden verfügbar. Um loszulegen, folgen Sie bitte den Einrichtungsanweisungen.

Kredit

Vielen Dank an Ionic, basiert diese Artikel auf Dieser Artikel wurde mit Chat-GPT-3 neu geschrieben und angepasst.

Fortsetzen Sie mit E2E-Verschlüsselung für Capacitor Updater über Code-Signierung

Wenn Sie E2E-Verschlüsselung für __CAPGO_KEEP_0__ Updater über __CAPGO_KEEP_1__-Signierung verwenden E2E Encryption for Capacitor Updater via Code Signing Verschlüsselung für die Implementierungsdetails in Verschlüsselung Kongruenz für die Implementierungsdetails in Kongruenz __CAPGO_KEEP_0__ Sicherheits-Scanner für den Produktworkflow in Capgo Sicherheits-Scanner für Capgo Sicherheits-Scanner Capgo Sicherheit für den Produktworkflow in Capgo Sicherheit, und Capgo Vertrauenszentrum für den Produktworkflow in Capgo Vertrauenszentrum.

Live-Updates für Capacitor-Apps

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Wenn ein Web-Schicht-Bug live ist, schicken Sie den Fix über __CAPGO_KEEP_0__ anstatt Tage für die Genehmigung durch den App-Store abzuwarten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Unterstützung von Menschen von Martin

Los geht's jetzt

Capgo gives you the best insights you need to create a truly professional mobile app.