Verschlüsselung
Eine Setup-Anfrage mit den Installations-Schritten und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Capgo bietet robuste Ende-zu-Ende-Verschlüsselung für Ihre App-Bundles, sodass Ihre JavaScript code und -Assets während der Übertragung und Speicherung geschützt sind. Diese Verschlüsselungssystem ist darauf ausgelegt, Ihnen die volle Kontrolle über die Sicherheit Ihrer App zu geben, während die Möglichkeit von Live-Updates beibehalten wird.
Übersicht
Abschnitt mit dem Titel „Übersicht“Capgo's Verschlüsselungssystem verwendet branchenstandardisierte kryptographische Methoden, um Ihre Bundles vor unbefugtem Zugriff zu schützen. Wenn die Verschlüsselung aktiviert ist, werden Ihre Bundles vor dem Verlassen Ihres Entwicklungsumgebungen verschlüsselt und bleiben verschlüsselt, bis sie von Ihrer App auf dem Gerät des Benutzers entschlüsselt werden.
Was Verschlüsselung tatsächlich schützt: Anders als OTA-Systeme, die nur Updates signieren, verschlüsselt Capgo das hochgeladene Bundle vor dem Speicher und der Lieferung. Dies schützt die Inhalte des Bundles vor zufälligem Zugriff im Speicher oder im Transit und stellt sicher, dass nur jemand mit Ihrem privaten Schlüssel ein gültig verschlüsseltes Update erstellen kann. Es macht geschickte
Wie Verschlüsselung funktioniert
Abschnitt mit dem Titel “Wie Verschlüsselung funktioniert”Capgo verwendet eine hybride Verschlüsselungsanordnung, die RSA- und AES-Verschlüsselung kombiniert, um eine optimale Sicherheit und Leistung zu gewährleisten:

1. Schlüsselgenerierung
Abschnitt mit dem Titel “1. Schlüsselgenerierung”- Privatschlüssel: Generiert und sicher gespeichert in Ihrem Entwicklungsumfeld (wird für die Verschlüsselung verwendet)
- Öffentlicher Schlüssel: Abgeleitet aus Ihrem privaten Schlüssel und in Ihrer App-Capacitor-Konfiguration gespeichert (wird für die Entschlüsselung verwendet)
- Sitzungschlüssel: Zufällige AES-Schlüssel generiert für jede Upload-Paket-Datei
2. Verschlüsselungsprozess
Abschnitt mit dem Titel “2. Verschlüsselungsprozess”- Eine zufällige AES-Sitzungsschlüssel wird für jede Upload-Bundle generiert
- Ihr Bundle wird mit dem AES-Sitzungsschlüssel verschlüsselt
- Der Bundle-Prüfsummenwert wird berechnet
- Beide der AES-Sitzungsschlüssel und Prüfsummenwert werden mithilfe Ihres RSA-Privatschlüssels (Erstellung der “Unterschrift”) verschlüsselt
- Das verschlüsselte Bundle und die verschlüsselte Unterschrift werden gespeichert
Die Prüfsumme wird neben dem AES-Schlüssel verschlüsselt, um Manipulationen zu verhindern. Da nur Ihr RSA-Privatschlüssel diese Unterschrift erstellen kann und nur der entsprechende öffentliche Schlüssel sie entschlüsseln kann, stellt dies sicher, dass sowohl der AES-Sitzungsschlüssel als auch die erwartete Prüfsumme authentisch sind und nicht von einem Angreifer manipuliert wurden.
3. Entschlüsselungsprozess
Abschnitt mit dem Titel “3. Entschlüsselungsprozess”- Ihr App lädt das verschlüsselte Bundle und die verschlüsselte Unterschrift herunter
- Der Capgo SDK verwendet Ihren RSA-öffentlichen Schlüssel (gespeichert im App) zur Entschlüsselung der Unterschrift
- Dies offenbart den AES-Sitzungsschlüssel und die ursprüngliche Prüfsumme
- Der AES-Sitzungsschlüssel wird verwendet, um das Bundle zu entschlüsseln
- Ein Prüfsummenwert des entschlüsselten Bundles wird berechnet und mit der ursprünglichen Prüfsumme verglichen, um die Integrität zu überprüfen
Dieser Prozess stellt sicher, dass selbst wenn ein Angreifer das verschlüsselte Bundle abfangt, er das AES-Sitzungsschlüssel nicht ändern oder einen falschen Prüfsummenwert bereitstellen kann, weil er Ihre private Schlüssel benötigen würde, um einen gültigen Signatur zu erstellen, die der öffentliche Schlüssel entschlüsseln kann.
Capgo vs Andere Plattformen
Abschnitt mit dem Titel „Capgo vs Andere Plattformen“| Funktion | Capgo | Andere OTA-Plattformen |
|---|---|---|
| Bundle-Inhalt | Verschlüsselt in Speicher/Übertragung; kann jedoch noch von einem bestimmten Reverse-Engineer mit dem App-Binary inspiziert werden | Öffentlich lesbar |
| Sicherheitsmethode | Wahre Ende-zu-Ende-Verschlüsselung | Code-Signierung nur |
| Vertraulichkeitsstufe | Starke Lieferung/Speicher-Schutz; kein Anti-Reverse-Engineering | Die Plattform kann auf Ihr code zugreifen |
| Schutz | Inhalt + Integrität + Authentizität | Nur Integrität + Authentizität |
Warum das wichtig ist:
- Code Signierung nur überprüft, dass Updates nicht manipuliert wurden und vom richtigen Quellcode stammen
- Capgo Verschlüsselung schützt das Bundle während der Speicherung und des Transports und macht gefälschte verschlüsselte Updates viel schwieriger, da der Angreifer Ihre private Schlüssel benötigen würde
- Das Umgehen der Sicherheitsmaßnahmen ist immer noch möglich nachdem die App verschickt wurde, weil der Client den öffentlichen Schlüssel enthält, der zum Entschlüsseln und Laden des Updates benötigt wird
Verschlüsselungsmethoden
Abschnitt mit dem Titel „Verschlüsselungsmethoden“Capgo verwendet Verschlüsselung V2 als Standardverschlüsselungsmethode:
Verschlüsselung V2 (aktuelles Standardverfahren)
Abschnitt mit dem Titel „Verschlüsselung V2 (aktuelles Standardverfahren)“- Verwendet RSA-4096 für erhöhte Sicherheit
- AES-256-GCM für die authentifizierte Verschlüsselung
- Bietet eine Integritätsprüfung
- Bessere Leistung und Sicherheit
Verschlüsselung V1 (Veraltet)
Abschnitt mit dem Titel “Verschlüsselung V1 (Veraltet)”- Verwendet RSA-2048 für die Verschlüsselung der Schlüssel
- AES-256-CBC für die Verschlüsselung von Paketen
- Nicht mehr verfügbar in der aktuellen CLI
- Legacy-Anwendungen, die V1 verwenden müssen, migrieren zu V2
Verschlüsselung einrichten
Abschnitt „Verschlüsselung einrichten“Schritt 1: Erstellen Sie Verschlüsselungsschlüssel
Abschnitt „Schritt 1: Erstellen Sie Verschlüsselungsschlüssel“Erstellen Sie zunächst Ihre Verschlüsselungsschlüssel mit den Capgo CLI:
# Generate new encryption keys (creates files in current directory)npx @capgo/cli@latest key createDies erstellt:
.capgo_key_v2: Ihre private Schlüssel (halten Sie dies sicher!).capgo_key_v2.pub: Ihre öffentliche Schlüssel (wird von Ihrer App verwendet)
Aktuelle Dateien werden in dem Verzeichnis erstellt, in dem Sie den Befehl ausführen.
Schritt 2: Speichern Sie Ihre öffentliche Schlüssel in der Capacitor-Konfiguration (Pflicht)
Abschnitt mit dem Titel “Schritt 2: Speichern Sie Ihre öffentliche Schlüssel in der Capacitor-Konfiguration (Pflicht)”Sie müssen Ihre öffentliche Schlüssel in der Capacitor-Konfiguration speichern, damit Ihre mobile App Pakete entschlüsseln kann:
# Save public key from file to Capacitor config (required)npx @capgo/cli@latest key save --key ./.capgo_key_v2.pub
# Or save public key data directlynpx @capgo/cli@latest key save --key-data "$CAPGO_PUBLIC_KEY"Schritt 3: Synchronisieren Sie die Capacitor-Plattform (Pflicht)
Abschnitt mit dem Titel “Schritt 3: Synchronisieren Sie die Capacitor-Plattform (Pflicht)”Nachdem Sie die öffentliche Schlüssel gespeichert haben, müssen Sie müssen synchronisieren Sie das Capacitor-Plattform, um die aktualisierte Konfiguration auf die native Ebene zu kopieren:
# Sync the platform to copy config to nativenpx cap syncVerschlüsselung von Bundles
Abschnitt: Verschlüsselung von BundlesMethode 1: Verschlüsseln während des Uploads
Abschnitt: Methode 1: Verschlüsseln während des UploadsDer einfachste Weg besteht darin, während des Upload-Prozesses zu verschlüsseln:
# Upload with automatic encryptionnpx @capgo/cli@latest bundle upload --key-v2
# For external storage, you must encrypt first (see Manual Encryption Workflow below)Methode 2: Manuelle Verschlüsselungsworkflow
Abschnitt: Methode 2: Manuelle VerschlüsselungsworkflowFür mehr Kontrolle können Sie Bundles manuell verschlüsseln:
-
Ein Zip-Bundle erstellen:
Terminal-Fenster npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Das Bundle verschlüsseln:
Terminalfenster npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM_FROM_STEP_1 -
Hochladen Sie es in Ihr Speicher (z.B. S3) und registrieren Sie es bei Capgo:
Terminalfenster # First upload the encrypted bundle to your storage (e.g., AWS S3)aws s3 cp ./encrypted-bundle.zip s3://your-bucket/encrypted-bundle.zip# Then register with Capgo using the external URLnpx @capgo/cli@latest bundle upload --external https://your-storage.com/encrypted-bundle.zip --iv-session-key IV_SESSION_KEY_FROM_STEP_2
Zugriff auf Schlüssel
Abschnitt mit dem Titel „Zugriff auf Schlüssel“Sichere Speicherung von Schlüsseln
Abschnitt mit dem Titel „Sichere Speicherung von Schlüsseln“Optionen für den privaten Schlüssel:
-
Datei-basiert (lokale Entwicklung):
Terminalfenster # Key stored as .capgo_key_v2 file in project rootnpx @capgo/cli@latest bundle upload --key-v2 -
Umgebungsvariable (CI/CD):
Terminalfenster # Store in environment variable for CIexport CAPGO_PRIVATE_KEY="$(cat .capgo_key_v2)"npx @capgo/cli@latest bundle upload --key-data-v2 "$CAPGO_PRIVATE_KEY"
Öffentlicher Schlüssel-Setup (erforderlich):
# Must save public key to Capacitor config for mobile appnpx @capgo/cli@latest key save --key ./.capgo_key_v2.pubProduktionsumgebung:
- Sichere Schlüssel in einer sicheren Schlüsselverwaltungsdienstleistung (AWS KMS, Azure Key Vault usw.) speichern
- Verwenden Sie eine CI/CD-Schlüsselverwaltung für private Schlüssel
- Nie speichern Sie private Schlüssel im Versionskontrolle
Zugriff:
- Privater Schlüssel: Wird von CLI für die Verschlüsselung während der Upload des Bundles verwendet (sicherheitsrelevant)
- Öffentlicher Schlüssel: In der Anwendungs-Konfiguration gespeichert für die Entschlüsselung auf dem Gerät (sicher zum Commit)
Rotieren Sie nach einem privatschlüsselbedingten Kompromiss
Abschnitt mit dem Titel “Rotieren Sie nach einem privatschlüsselbedingten Kompromiss”Rotieren Sie das Schlüsselpaar, wenn der private Schlüssel verdächtigt oder bestätigt als kompromittiert angesehen wird. Eine routinemäßige Kalenderrotation ist nicht erforderlich. Dies ist eine native-Schlüsselmigration und keine nur-OTA-Änderung.
-
Ersatzschlüsselpaar generieren:
Terminal-Fenster npx @capgo/cli@latest key create -
Speichern Sie die Ersatzöffentlichkeitsschlüssel in Ihrem Capacitor-Konfiguration:
Terminalfenster npx @capgo/cli@latest key save --key ./.capgo_key_v2.pub -
Synchronisieren und liefern Sie eine native Version: Ausführen
npx cap sync, dann verteilen Sie eine neue native App-Version, die den Ersatzöffentlichkeitsschlüssel enthält. -
Ziel der neuen native Version: Geräte, die noch die alte native Binärdatei ausführen, können Updates verschlüsselt mit dem Ersatzschlüssel nicht entschlüsseln. Verwenden Sie Version-Zielsetzung um die Ersatzschlüssel-Bundles auf die neue native Version zu beschränken, während der Rest der Flotte über den Store oder MDM aktualisiert wird.
-
Wechseln Sie Ihr Upload-Geheimnis: Sobald diese native Version live ist, ersetzen Sie den privaten Schlüssel in CI und laden Sie nur Bundles hoch, die auf native Versionen abzielen, die den Ersatzöffentlichkeitsschlüssel enthalten.
Security Best Practices
Abschnitt: 'Security Best Practices'Schlüsselsicherheit
Abschnitt: 'Schlüsselsicherheit'- Teilen Sie niemals private Schlüssel zwischen Umgebungen oder Teammitgliedern
- Verwenden Sie unterschiedliche Schlüssel für unterschiedliche Umgebungen (Entwicklung, Staging, Produktion)
- Drehen Sie nach einer Kompromittierung: ersetzen Sie die Schlüsselpaar, wenn der private Schlüssel verdächtig oder bestätigt als kompromittiert ist; Eine routinemäßige Kalenderrotation ist nicht erforderlich
- Sicherheitsmaßnahmen für geschützte Daten Sicherheit durch geeignete Schlüsselverwaltungssysteme
Bundle-Sicherheit
Berechtigung überprüfen- die Integrität des Bundles nach der Entschlüsselung immer wieder überprüfen Überwachung
- für ungewöhnliche Downloadmuster oder Fehler Verwendung von HTTPS
- für alle Bundle-URLs (erforderlich für mobile Apps) Implementierung
- Bundle-Sicherheit ordnungsgemäße Fehlerbehandlung bei Fehlschlägen der Entschlüsselung
Zugriffssteuerung
Abschnitt mit dem Titel „Zugriffssteuerung“- Beschränken Sie den Zugriff auf Verschlüsselungsschlüssel nur auf autorisierte Personen Verwenden Sie eine rollenbasierte Zugriffssteuerung
- für die Verwaltung von Schlüsseloperationen Audit
- den Schlüsselverwendung und Zugriff regelmäßig Implementieren Sie
- ordnungsgemäße Sicherung und Wiederherstellungsverfahren Fehlersuche bei der Verschlüsselung
Implement proper backup and recovery procedures
Abschnitt mit dem Titel „Fehlersuche bei der Verschlüsselung“Häufige Probleme
Abschnitt mit dem Titel „Häufige Probleme“Fehler bei der Entschlüsselung:
- Überprüfen Sie, ob der private Schlüssel mit dem öffentlichen Schlüssel übereinstimmt, der für die Verschlüsselung verwendet wird
- Stellen Sie sicher, dass der
ivSessionKeyist korrekt - Stellen Sie sicher, dass Sie Encryption V2 (V1 wird nicht mehr unterstützt) verwenden
Schlüsselbezogene Fehler:
- Bestätigen Sie, dass die private Schlüsselformat korrekt ist (PEM-Format)
- Überprüfen Sie, ob der Schlüssel während der Speicherung/Übertragung nicht beschädigt wurde
- Stellen Sie sicher, dass der Schlüssel in Ihrer Anwendungs-Konfiguration die richtigen Berechtigungen hat
Performance issues:
- Größere Pakete können länger zum Verschlüsseln/Entschlüsseln benötigen
- Legen Sie bei großen Bundle-Größen Delta-Updates (Manifest) zur Reduzierung der Bundle-Größe an
- Überwachen Sie die Geräteleistung während der Entschlüsselung
Debug-Befehle
Abschnitt mit dem Titel “Debug-Befehle”Überprüfen Sie den Verschlüsselungsstatus:
npx @capgo/cli@latest app debugTesten Sie den Verschlüsselungs-/Entschlüsselungsworkflow:
# Test the complete workflow: zip → encrypt → decrypt → unzipnpx @capgo/cli@latest bundle zip com.example.app --key-v2npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM --jsonnpx @capgo/cli@latest bundle decrypt ./encrypted-bundle.zip IV_SESSION_KEYZuverlässigkeit und Standards
Abschnitt mit dem Titel „Zuverlässigkeit und Standards“Capgo’s Verschlüsselungsimplementierung folgt Branchenstandards:
- AES-256: FIPS 140-2 genehmigte Verschlüsselungsalgorithmus
- RSA-4096: Starker asymmetrischer Verschlüsselungsalgorithmus für die Schutz von Schlüsseln
- GCM-Modus: Bietet sowohl Vertraulichkeit als auch Authentizität
- Sicherer Zufall: Kryptografisch sichere Zufallszahlengenerierung
Dies macht Capgo für Anwendungen geeignet, die die Einhaltung von Vorschriften erfordern:
- DSGVO (Datenschutzgrundverordnung)
- HIPAA (Gesetz über die Portabilität und Verantwortlichkeit von Gesundheitsversicherungen)
- SOC 2 (Service Organization Control 2)
- ISO 27001 (Informationssicherheitsmanagement)
Leistungsbetrachtungen
Abschnitt: LeistungsbetrachtungenVerschlüsselungsüberhead
Abschnitt: Verschlüsselungsüberhead- Bundle-GrößeVerschlüsselte Pakete sind leicht größer (~1-2% Überhead)
- Verarbeitungszeit: Verschlüsselung/Entschlüsselung fügt minimalen Latenzverlust hinzu
- Speicherverbrauch: Temporäre Erhöhung während der Verschlüsselungs-/Entschlüsselungsoperationen
Optimierungstipps
Abschnitt mit dem Titel “Optimierungstipps”- Verwenden Sie Delta (Manifest)-Updates, um den verschlüsselten Datenverkehr zu minimieren
- Optimieren Sie die Größe Ihres Bundles, indem Sie Bilder im WebP-Format umwandeln
- Minimieren Sie JavaScript- und CSS-Dateien, bevor Sie sie bündeln
- Entfernen Sie nicht benötigte Abhängigkeiten und code
- Überwachen Sie die Leistung Ihres Geräts auf älteren/Schnellereinheiten
Weitere Schritte
Abschnitt mit dem Titel “Weitere Schritte”- Erfahren Sie mehr Benutzerdefinierte Speicherung um mit Ihrer eigenen Infrastruktur Verschlüsselung zu verwenden
- Entdecken Kanäle um verschlüsselte Pakete über Umgebungen zu verwalten
- Einrichten CI/CD-Integration um verschlüsselte Bereitstellungen zu automatisieren
Weitermachen von Verschlüsselung
Abschnitt mit dem Titel “Weitermachen von Verschlüsselung”Wenn Sie Verschlüsselung verwenden um Sicherheit und Compliance zu planen, verbinden Sie es mit Compliance für die Implementierungsdetails in Compliance, Capgo Sicherheits-Scanner für den Produktworkflow in Capgo Sicherheits-Scanner, Capgo Sicherheit für den Produktworkflow in Capgo Sicherheit, Capgo Trust Center für den Produktworkflow in Capgo Trust Center, und Organisations-Sicherheit für die Implementierungsdetails in Organisations-Sicherheit.