Zum Hauptinhalt springen
Lösung

End-to-End-Verschlüsselung für Capacitor-Updater über Code-Signierung

Mit RSA + AES-Kryptografie Updates verschlüsseln, für Unternehmen und hochsichere Apps konzipiert

Martin Donadieu

Martin Donadieu

Content-Marketing-Manager

End-to-End-Verschlüsselung für Capacitor-Updater über Code-Signierung

Capacitor-aktualisierer Jetzt unterstützt code-aktualisierer die Ende-zu-Ende-Verschlüsselung. Code-Signierung stellt sicher, dass die Updates, die von den Geräten der Endnutzer ausgeführt werden, nicht manipuliert wurden und bietet einen zusätzlichen Schutz über die Standard-Sicherheit von Capacitor-aktualisierer.

Die Standard-Sicherheit von Capacitor-aktualisierer

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 Ziffern. Ebenso verwendet ein Entwickler immer HTTPS, wenn er eine Aktualisierung veröffentlicht.

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

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

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 Ionic-Apps, die Capgo verwenden, funktioniert.

Die Lieferkette der Cloud-Infrastruktur

Ein weiterer Punkt, Capgo, und die meisten Web-Hosts haben gemeinsam ist, dass sie auf niedrigeren Ebenen 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-Logistik.

Die Cloud-Logistik 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 hochgeladenen Dateien die Dateien sind, die ohne Manipulation ausgeführt oder bereitgestellt werden. Und Cloud-Anbieter arbeiten hart daran, ihre Infrastruktur sicher zu halten.

Aber 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), bauen Schichten von Verteidigung in der Tiefe auf und in der Praxis hat sich die Cloud-Infrastruktur bewährt, um die Sicherheitsbedürfnisse der meisten Websites und Apps zu erfüllen. Einige Ionic-Apps umfassen jedoch kompromittierte Cloud-Infrastruktur in ihren Bedrohungsvorstellungen. Für diese Capacitor JS-Apps mit den höchsten Sicherheitsanforderungen über dem Web 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-Kryptographie, um sicherzustellen, dass die Endgeräte der Endnutzer nur unveränderte, ursprüngliche Updates vom Capacitor-App-Entwickler ausführen.

“End-to-end” bedeutet, dass diese Sicherheit den gesamten Workflow vom Zeitpunkt, an dem ein Entwickler ein Update veröffentlicht, bis zum Zeitpunkt, an dem ein Endnutzer-Gerät das Update empfängt und ausführt, umfasst. “Code Signierung” verwendet Kryptographie und ein geheimes privates Schlüssel, um “code” zu signieren, und verwendet später ein vertrauenswürdiges öffentliches Schlüssel, 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
  • Sitzungs-Schlüssel: Ein AES-Schlüssel, der verwendet wird, um Daten zu verschlüsseln und zu entschlüsseln
  • Prüfsumme: Ein Hash, der für ein Datei berechnet wird
  • 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 Zukunft „Signatur“ genannt) 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 sie wird 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 der AES-Schlüssel und des Prüfsummenwerts.

Mit diesem Modell kann 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 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 gewechselt. Wir haben auch die Signierung des Bundles gestartet. Wenn die Aktualisierungsverschlüsselung V2 konfiguriert ist, muss eine Aktualisierung eine gültige Signatur haben. Dies wird streng durch den Plugin durchgesetzt.Wir erzwingen nun eine gültige Signatur, wenn die Aktualisierungsverschlü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 Aktualisierungsversion 1 verwendet haben, migrieren Sie zu V2, um von den neuen Sicherheitsfunktionen zu profitieren. Folgen Sie den Anweisungen zur Migration.

Mit Ende-zu-Ende-Signierung von __CAPGO_KEEP_0__ wird __CAPGO_KEEP_1__ zu einem „vertrauenslosen“ Cloud-Infrastruktur. Wenn einer der __CAPGO_KEEP_2__-Cloud-Anbieter oder sogar __CAPGO_KEEP_3__ selbst einen __CAPGO_KEEP_4__-signierten Update ändern würde, würden die Endgeräte des Benutzers das Update ablehnen und das vorherige, vertrauenswürdige Update ausführen, das bereits auf dem Gerät installiert ist. Update-Verschlüsselung V2 2024-08-27:.

With end-to-end code signing, Capgo becomes a “trustless” cloud infrastructure. If one of Capgo’s cloud providers or even Capgo itself were to modify a code-signed update, end users’ devices would reject that update and run the previous, trusted update that’s already on the device.

While web-level HTTPS ist für viele Apps ausreichend, einige große Unternehmen finden den zusätzlichen Schutz durch Ende-zu-Ende code-Signierung ansprechend. Einige dieser Unternehmen entwickeln Finanzanwendungen, die hohe, dauerhafte Transaktionen ausstellen. Andere Unternehmen haben CISOs, die in ihre Bedrohungsmodelle kompromittierte Cloud-Infrastrukturen einbeziehen. Wir haben Ende-zu-Ende code-Signierung in Capgo für diese Anwendungsfälle entwickelt und sind an der Erforschung von Unternehmen mit höheren Sicherheitsanforderungen interessiert.

Erste Schritte für Unternehmen

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

  • Rasche Zertifikatskonfiguration und -konfiguration
  • Unterstützung für code-Signierung-Entwicklungsserver 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.

Kredits

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

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

Wenn Sie E2E-Verschlüsselung für Capacitor Updater über Code Signierung zur Planung von Sicherheit und Compliance verwenden, verbinden Sie es mit Verschlüsselung für die Implementierungsdetails in Verschlüsselung, Kongruenz für die Implementierungsdetails in Kongruenz, Capgo Sicherheits-Scanner für den Produktworkflow in 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

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

Jetzt loslegen

Neuestes aus unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.