Verschlüsselung
Eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Capgo bietet eine robuste Ende-zu-Ende-Verschlüsselung für Ihre App-Bundles, die sicherstellt, dass Ihre JavaScript-code und -Assets während der Übertragung und Speicherung geschützt sind. Dieses Verschlüsselungssystem ist so konzipiert, dass Sie die volle Kontrolle über die Sicherheit Ihrer App behalten, während die Lebendaktualisierung bequem bleibt.
Ü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 die Verschlüsselung tatsächlich schützt: Im Gegensatz zu OTA-Systemen, die nur Updates signieren, verschlüsselt Capgo das hochgeladene Bundle vor dem Speicher und der Lieferung. Dies schützt die Bundle-Inhalte 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 keine
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: Aus Ihrem privaten Schlüssel abgeleitet und in Ihrer App-Capacitor-Konfiguration gespeichert (wird für die Entschlüsselung verwendet)
- Sitzungschlüssel: Zufällige AES-Schlüssel werden für jede Upload-Paket generiert
2. Verschlüsselungsprozess
Abschnitt mit dem Titel “2. Verschlüsselungsprozess”- Eine zufällige AES-Sitzungsschlüssel wird für jeden Upload von Bundeln generiert
- Ihr Bundle wird mit dem AES-Sitzungsschlüssel verschlüsselt
- Der Bundle-Prüfsummenwert wird berechnet
- Beide der AES-Sitzungsschlüssel und der Prüfsummenwert werden gemeinsam mit Ihrem RSA-Privatschlüssel verschlüsselt (wodurch der „Signature“ entsteht)
- Das verschlüsselte Bundle und die verschlüsselte Signatur werden gespeichert
Die Prüfsumme wird neben dem AES-Schlüssel verschlüsselt, um Manipulationen zu verhindern. Da nur Ihr RSA-Privatschlüssel diese Signatur erstellen kann und nur der entsprechende öffentliche Schlüssel sie entschlüsseln kann, wird sichergestellt, 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 Signatur herunter
- Der Capgo SDK verwendet Ihren RSA-Öffentlichen Schlüssel (in der App gespeichert) zur Entschlüsselung der Signatur
- Dies offenbart den AES-Sitzungsschlüssel und die ursprüngliche Prüfsumme
- The AES-Sitzungsschlüssel wird verwendet, um das Bundle zu entschlüsseln
- Eine Prüfsumme 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 eine falsche Prüfsumme bereitstellen kann, denn er müsste Ihren privaten Schlüssel haben, 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 |
|---|---|---|
| Inhalte des Bundles | Verschlüsselt in Speicher/Übertragung; kann jedoch noch von einem bestimmten umgekehrten Ingenieur mit dem Anwendungsdatei gelesen werden | Öffentlich lesbar |
| Sicherheitsmethode | Wahre Ende-zu-Ende-Verschlüsselung | Code-Signatur nur |
| Vertraulichkeitsstufe | Starke Lieferung/Speicher-Schutz; kein Anti-Umkehr-Engineering | Plattform kann Ihren code lesen |
| 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 abgeschickt 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 (aktuelle Standard)
Abschnitt mit dem Titel „Verschlüsselung V2 (aktuelle Standard)“- Verwendet RSA-4096 für eine erhöhte Sicherheit
- AES-256-GCM für die Authentifizierung verschlüsselt
- Bietet eine Überprüfung der Integrität
- 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 dem Capgo CLI:
# Generate new encryption keys (creates files in current directory)npx @capgo/cli@latest key createDies erstellt:
.capgo_key_v2Ihr privater Schlüssel (halten Sie diesen sicher!).capgo_key_v2.pubIhr öffentlicher Schlüssel (wird von Ihrer App verwendet)
Diese Dateien werden in dem aktuellen 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 die 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 das __CAPGO_KEEP_0__-System synchronisieren, um die aktualisierte Konfiguration auf die native Ebene zu kopieren: Sie müssen sync the Capacitor platform to copy the updated config to the native layer:
# 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:
-
Erstellen Sie ein Zip-Bundle:
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 mit 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”Sicherer Schlüssel-Speicher
Abschnitt mit dem Titel „Sicherer Schlüssel-Speicher”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:
- Private Schlüssel in sicheren Schlüsselverwaltungsdiensten (AWS KMS, Azure Key Vault usw.) speichern
- Verwenden Sie die CI/CD-Schluesselverwaltung für private Schlüssel
- Nie committiere private Schlüssel in die Versionskontrolle
Zugriff:
- Privatschlüssel: Wird von CLI für die Verschlüsselung während der Bundle-Upload verwendet (sicher aufbewahren)
- Öffentlicher Schlüssel: In der Anwendungs-Konfiguration gespeichert für die Entschlüsselung auf dem Gerät (sicher zum Committen)
Schlüsselrotation
Abschnitt mit dem Titel “Schlüsselrotation”Rotiere regelmäßig deine Verschlüsselungsschlüssel für erhöhte Sicherheit:
-
Neue Schlüssel generieren:
Terminal-Fenster # Navigate to desired directory first, then create keysmkdir ./new-keys && cd ./new-keysnpx @capgo/cli@latest key create -
Speichern Sie die neue öffentliche Schlüssel in Capacitor Konfiguration:
Terminalfenster npx @capgo/cli@latest key save --key ./new-keys/.capgo_key_v2.pub -
Aktualisieren Sie die Anwendungs-Konfiguration mit der neuen öffentlichen Schlüssel
-
Das aktualisierte Anwendungs-Deployment Bevor Sie verschlüsselte Bundle mit der neuen Schlüssel hochladen
Sicherheitsbest Practices
Abschnitt mit dem Titel „Sicherheitsbest Practices”Sicherheit der Schlüssel
Abschnitt mit dem Titel „Sicherheit der Schlüssel”- Teilen Sie niemals private Schlüssel Sicherheit zwischen Umgebungen oder Teammitgliedern
- Verwende unterschiedliche Schlüssel Für unterschiedliche Umgebungen (Entwicklung, Staging, Produktion)
- Rotiere Schlüssel regelmäßig (empfohlen: alle 6-12 Monate)
- Sichere Schlüssel auf Verwende geeignete Sicherheitssysteme für die Schlüsselverwaltung
Bündel-Sicherheit
Sektion mit dem Titel “Bündel-Sicherheit”- Überprüfe immer die Integrität des Bündels nach der Entschlüsselung
- Überwache für ungewöhnliche Herunterladepattern oder Fehlschläge
- HTTPS verwenden für alle Bundle-URLs (erforderlich für mobile Apps)
- Implementieren eine ordnungsgemäße Fehlerbehandlung für Verschlüsselungsfehlschläge
Zugriffssteuerung
Abschnitt mit dem Titel „Zugriffssteuerung“- Zugriff auf Verschlüsselungsschlüssel nur auf autorisierte Personen beschränken
- Rollenbasierte Zugriffssteuerung für die Verwaltung von Schlüsseloperationen verwenden
- Audit Regelmäßige Nutzung und Zugriffssicherheit
- Implementieren Erforderliche Sicherheitsmaßnahmen treffen: regelmäßige Sicherheitskopien und Wiederherstellungsverfahren
Fehlfunktionen der Verschlüsselung
Abschnitt: "Fehlfunktionen der Verschlüsselung"Häufige Probleme
Abschnitt: "Häufige Probleme"Verschlüsselungsfehler:
- Ü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
ivSessionKeyist korrekt - Stellen Sie sicher, dass Sie die Verschlüsselung V2 (V1 wird nicht mehr unterstützt) verwenden
Fehler, die mit Schlüsseln zusammenhängen:
- 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 die richtigen Berechtigungen in Ihrer Anwendungs-Konfiguration hat
Leistungsschwierigkeiten:
- Große Pakete können länger zum Verschlüsseln/Entschlüsseln benötigen
- Überlegen Sie, ob Sie Delta-Updates (Manifest) verwenden können, um die Paketgröße zu reduzieren
- Ü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_KEYKonzessionen und Standards
Abschnitt mit dem Titel „Konzessionen und Standards”Capgo’s Verschlüsselungsimplementierung folgt Branchenstandards:
- AES-256: FIPS 140-2 genehmigte Verschlüsselungsalgorithmus
- RSA-4096: Starke asymmetrische Verschlüsselung für die Schutz von Schlüsseln
- GCM-Modus: Bietet sowohl Vertraulichkeit als auch Authentizität
- Secure Random: Kryptografisch sichere Zufallszahlenerzeugung
Dies macht Capgo für Anwendungen geeignet, die die Einhaltung von:
- DSGVO (Datenschutz-Grundverordnung)
- HIPAA (Gesetz zum Schutz von Gesundheitsdaten)
- SOC 2 (Service Organization Control 2)
- ISO 27001 (Informationssicherheitsmanagement)
Leistungskriterien
Abschnitt "Leistungskriterien"Verschlüsselungsüberhead
Abschnitt "Verschlüsselungsüberhead"- Bundlegröße: Verschlüsselte Bundle sind leicht größer (~1-2% Überhead)
- Verarbeitungszeit: Verschlüsselung/Entschlüsselung fügt minimalen Latenzverlust hinzu
- Speicherverbrauch: Temporäre Erhöhung während Verschlüsselungs- und Entschlüsselungsoperationen
Optimierungstipps
Verwenden Sie Delta (Manifest)-Updates, um den verschlüsselten Datenverkehr zu minimieren- Optimieren Sie Ihre Bundlegröße, 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 __CAPGO_KEEP_0__
- Remove unused dependencies and code
- Geräteleistung überwachen auf älteren/schnelleren Geräten
Zukünftige Schritte
Sektion mit dem Titel “Zukünftige Schritte”- Über Eigene Speicherung um Verschlüsselung mit eigener Infrastruktur zu verwenden
- Erkunden 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 Verschlüsselung 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 im Capgo Trust Center und Organisationssicherheit für die Implementierungsdetails in Organisationssicherheit.