Zum Hauptinhalt springen
Lösung

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

Mit RSA + AES-Kryptographie verschlüsselte Updates, entworfen für Unternehmen und hochsichere Apps

Martin Donadieu

Martin Donadieu

Inhaltsmarketer

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

Capacitor-Updater Der code-Updater unterstützt nun eine Ende-zu-Ende-Verschlüsselung von code. 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 Schutzstufe über die standardmäßige Web-Sicherheit des Capacitor-Updaters.

Die Standard-Sicherheit des Capacitor-Updaters

Standardmäßig ist die Sicherheitsarchitektur des Capgo-Updaters ähnlich wie bei Web-Hosting-Anbietern. Capgo speichert Updates verschlüsselt auf dem Server und liefert sie über HTTPS mit modernen Ziffernblättern aus. Ebenso verwendet __CAPGO_KEEP_0__ immer HTTPS, wenn ein Update von einem Entwicklerrechner ausgesendet wird.

Capgo erzielt eine A+ bei der SSL Labs-HTTPS-Test

Capgo's Standard-Sicherheit erzielt eine A+ bei der SSL Labs-HTTPS-Test (https://www.ssllabs.com, November 2022)

Ähnlich wie die besten Web-Hosts verwendet Capgo HTTPS, um die Privatsphäre und Integrität von 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 Ionic-Apps, die Capgo verwenden, funktioniert.

Der Cloud-Infrastruktur- Lieferkettensystem

Ein weiteres gemeinsames Merkmal von Capgo und den meisten Web-Hosts ist, dass sie auf untergeordneter 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.

Das Cloud-Lieferkettensystem und sein 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 ohne Manipulation ausgeführt oder ausgesendet werden. Und die Cloud-Anbieter arbeiten hart daran, ihre Infrastruktur sicher zu halten.

Aber offensichtlich werden Hardware- und Software-Schwachstellen entdeckt. Cloud-Anbieter beheben Schwachstellen in regelmäßigen Abständen, verhindern proaktiv schädliche Software (z.B. Google's SLSAund bauen Sie Schichten der Verteidigung in der Tiefe, und in der Praxis hat sich die Cloud-Infrastruktur bewährt, um die Sicherheitsbedürfnisse der meisten Websites und Apps zu erfüllen. Allerdings umfassen einige Ionic-Apps in ihren Bedrohungsmodellen kompromitierte Cloud-Infrastruktur. Für diese Capacitor JS-Apps mit den höchsten Sicherheitsanforderungen über das Web hinaus haben wir eine Ende-zu-Ende- code-Signierung in Capgo und Capgo Updates-Standardsprotokoll.

Ende-zu-Ende- code-Signierung mit Capgo

Capgo’s Ende-zu-Ende- code-Signierung verwendet öffentliche Schlüssel zur Verschlüsselung, um sicherzustellen, dass die Endgeräte der Endnutzer nur unveränderte, ursprüngliche Updates vom Capacitor-App-Entwickler ausführen.

“Ende-zu-Ende” bedeutet, dass diese Sicherheit den Fluss vom Zeitpunkt, an dem ein Entwickler ein Update veröffentlicht, bis zum Zeitpunkt, an dem ein Endgerät des Endnutzers das Update erhält und ausführt, umfasst. “Code-Signierung” ist die Verwendung von Kryptographie und einem geheimen privaten Schlüssel, um code zu “signen”, 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.
  • Cypher: Die verschlüsselte Daten.
  • Sitzungsschlüssel: Ein AES-Schlüssel, der zum Verschlüsseln und Entschlüsseln von Daten verwendet wird.
  • Prüfsumme: Eine für ein Datei berechnete Hash-Wert.
  • 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 das AES-Algorithmus, um die Aktualisierung 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 (im Folgenden „Signatur“) mit dem privaten RSA-Schlüssel des Entwicklers verschlüsselt. Der öffentliche RSA-Schlüssel des Entwicklers wird im App zum Entschlüsseln des AES-Schlüssels und der Signatur (wieder in eine Prüfsumme umgewandelt) verwendet. Später wird der entschlüsselte AES-Schlüssel zum Entschlüsseln der Aktualisierung verwendet; eine Prüfsumme der entschlüsselten Aktualisierung 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 zum Verschlüsseln der Aktualisierung verwendet und RSA zum Verschlüsseln des AES-Schlüssels und der Prüfsumme.

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

Aktualisierungsverschlüsselung V2 2024-08-27:

  • Wir haben den Schlüsseltyp, der im App gespeichert wird, gewechselt. Dies wurde getan, um das Inferieren des öffentlichen Schlüssels (früher zum Verschlüsseln verwendet) vom privaten Schlüssel (früher zum Entschlüsseln verwendet) zu verhindern. Jetzt wird im App der öffentliche Schlüssel (jetzt zum Entschlüsseln verwendet) gespeichert.
  • Wir haben den Prüfsummenalgorithmus von CRC32 auf SHA256 gewechselt. Wir haben auch begonnen, den Bundle zu signieren. Wir haben den Prüfsummenalgorithmus von CRC32 auf SHA256 gewechselt. Wir haben auch begonnen, den Bundle zu signieren.Wenn die Verschlüsselung V2 konfiguriert ist, muss ein Update eine gültige Signatur haben. Dies wird streng durch den Plugin durchgesetzt.
  • Wir setzen nun eine gültige Signatur ein. Wenn Verschlüsselung V2 konfiguriert ist. Diese 3 Änderungen wurden nach einer Sicherheitsanalyse von einem Mitglied der Community durchgeführt. Sie dienen dazu, kryptographische Angriffe während der Aktualisierung zu verhindern.

Wenn Sie Verschlüsselung V1 verwendet haben, migrieren Sie zu V2, um von den neuen Sicherheitsfunktionen zu profitieren. Folgen Sie den Anweisungen zur Migration. Migrationsanweisungen.

Mithilfe der Ende-zu-Ende-Signierung von code wird Capgo zu einem “vertrauenslosen” Cloud-Infrastruktur. Wenn einer der Capgo-Cloud-Anbieter oder sogar Capgo selbst eine code-signierte Aktualisierung modifiziert, lehnen die Geräte der Endnutzer diese Aktualisierung ab und führen die vorherige, vertrauenswürdige Aktualisierung aus, die bereits auf dem Gerät installiert ist.

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

Anfänger für Unternehmen

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

  • Rasche Zertifikatskonfiguration und -konfiguration
  • Unterstützung für code-Signierung von Entwicklungs-Servern mit sowohl Capgo als auch Entwicklungsbuilds
  • Produktions-code-Signierung bei jedem Update

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

Kredit

Vielen Dank an Ionic, basiert diese Artikel auf Dieser Artikel erstellt mit chat-gpt-3 und angepasst.

Fortsetzung von E2E-Verschlüsselung für Capacitor-Updater via Code-Signierung

Wenn Sie __CAPGO_KEEP_0__-Updater verwenden E2E-Verschlüsselung für Capacitor-Updater über Code-Signierung um Sicherheit und Compliance zu planen, verbinden Sie es mit Verschlüsselung zur Implementierungsdetail in Verschlüsselung Kongruenz zur Implementierungsdetail in Kongruenz Capgo-Sicherheits-Scanner zur Produktworkflow in Capgo-Sicherheits-Scanner Capgo-Sicherheit zur Produktworkflow in Capgo-Sicherheit, und Capgo-Vertrauenszentrum zur Produktworkflow in Capgo-Vertrauenszentrum.

Lebendliche Updates für Capacitor Apps

Wenn ein Web-Schicht-Bug aktiv ist, schicken Sie die Reparatur über Capgo anstatt Tage für die Genehmigung des App-Stores zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Menschliche Unterstützung von Martin

Los geht's jetzt

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles Mobiltelefon-App zu erstellen.