Verschlüsselung
Einen Setup-Vorschlag mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
Capgo bietet eine robuste Ende-zu-Ende-Verschlüsselung für Ihre App-Bundles, die sicherstellt, dass Ihr JavaScript code und Ihre 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 Lebendaktualisierungen bequem bleiben.
Übersicht
Sektion 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 in der 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üsselungsmethode, 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 der Capacitor-Konfiguration Ihres Apps gespeichert (wird für die Entschlüsselung verwendet)
- Sitzungschlüssel: Zufällige AES-Schlüssel werden für jede Bundle-Upload-Operation generiert
2. Verschlüsselungsprozess
Abschnitt mit dem Titel “2. Verschlüsselungsprozess”- Für jeden Upload eines Pakets wird eine zufällige AES-Sitzungsschlüssel generiert
- Ihr Paket wird mit dem AES-Sitzungsschlüssel verschlüsselt
- Der Paket-Prüfsummenwert wird berechnet
- Beide, der AES-Sitzungsschlüssel und die Prüfsumme, werden gemeinsam mit Ihrem RSA-Privatschlüssel verschlüsselt (wodurch der “Signatur” entsteht)
- Das verschlüsselte Paket und die verschlüsselte Signatur werden gespeichert
Die Prüfsumme wird gemeinsam mit 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”- Ihre App lädt das verschlüsselte Paket und die verschlüsselte Signatur herunter
- Die Capgo SDK verwendet Ihren RSA-öffentlichen Schlüssel (in der App gespeichert) zur Entschlüsselung der Signatur
- Dadurch werden der AES-Sitzungsschlüssel und die ursprüngliche Prüfsumme freigegeben
- Der AES-Sitzungsschlüssel wird zum Entschlüsseln des Pakets verwendet
- Eine Prüfsumme des entschlüsselten Pakets wird berechnet und mit der ursprünglichen Prüfsumme für eine Integritätsprüfung verglichen
Dieser Prozess stellt sicher, dass selbst wenn ein Angreifer das verschlüsselte Paket abfangen kann, er das AES-Sitzungsschlüssel nicht ändern oder eine falsche Prüfsumme bereitstellen kann, denn er müsste Ihren privaten Schlüssel haben, um eine gültige Signatur zu erstellen, die der öffentliche Schlüssel entschlüsseln kann
Capgo vs Andere Plattformen
Sektion mit dem Titel “Capgo vs Andere Plattformen”| Funktion | Capgo | __CAPGO_KEEP_0__ vs Andere OTA-Plattformen |
|---|---|---|
| Paketinhalt | Verschlüsselt im Speicher/Übertragung; kann jedoch noch von einem bestimmten Reverse-Engineer mit dem App-Binary untersucht werden | Öffentlich lesbar |
| Sicherheitsmethode | Wahrer End-to-End-Verschlüsselung | Code-Signatur nur |
| Vertraulichkeitsstufe | Starker 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 __CAPGO_KEEP_0__ nur überprüft, dass Updates nicht manipuliert wurden und vom richtigen Quellcode stammen
- Capgo Verschlüsselung __CAPGO_KEEP_0__ schützt das Bundle während der Speicherung und Lieferung und macht gefälschte verschlüsselte Updates viel schwieriger, da der Angreifer Ihr privater Schlüssel benötigen würde
- Die Umkehrung von Engineering 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 (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 von Verschlüsselungen
- 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 von Schlüsseln
- 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 auf V2 migrieren
Verschlüsselung einrichten
Abschnitt mit dem Titel “Verschlüsselung einrichten”Schritt 1: Erstellen Sie Verschlüsselungsschlüssel
Abschnitt mit dem Titel “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_v2: Ihr privater Schlüssel (halten Sie diesen sicher!).capgo_key_v2.pub: Ihr öffentlicher Schlüssel (wird von Ihrer App verwendet)
Diese Dateien werden im 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 kontext: HTML-Textfragment aus einem längeren Capgo-UI-String (Elternschlüssel `you_definition`). Seite/Bereich: Capgo-Marketingwebsite. Rolle: Langen Marketing- oder Rechtsparagraphen. Gesehen in: Seite Disclaimer.astro, Seite Rückkehr.astro. Nachrichtenschlüssel `you_definition` (Sie Definition). save your public key to the Capacitor config so your mobile app can decrypt bundles:
# 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"Step 3: Sync Capacitor Platform (Required)
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 Paketen
Abschnitt mit dem Titel “Verschlüsselung von Paketen”Methode 1: Verschlüsseln während des Uploads
Abschnitt mit dem Titel “Methode 1: Verschlüsseln während des Uploads”Der 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 mit dem Titel “Methode 2: Manuelle Verschlüsselungsworkflow”Für mehr Kontrolle können Sie Pakete manuell verschlüsseln:
-
Erstellen Sie ein Zip-Paket:
Terminal-Fenster npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Das Bundle verschlüsseln:
Terminal-Fenster npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM_FROM_STEP_1 -
Hochladen Sie es in Ihrem Speicher (z.B. S3) und registrieren Sie es mit Capgo:
Terminal-Fenster # 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: "Zugriff auf Schlüssel"Sichere Speicherung von Schlüsseln
Abschnitt: "Sichere Speicherung von Schlüsseln"Privatschlüssel-Optionen:
-
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üsselsatz (erforderlich):
# Must save public key to Capacitor config for mobile appnpx @capgo/cli@latest key save --key ./.capgo_key_v2.pubProduktionsumgebung:
- Speichern Sie private Schlüssel in sicheren Schlüsselmanagementdiensten (AWS KMS, Azure Key Vault usw.)
- Verwenden Sie CI/CD-Secret-Management für private Schlüssel
- Nie committieren Sie private Schlüssel in die Versionskontrolle
Zweck der Schlüssel:
- Privater Schlüssel: Wird von CLI für die Verschlüsselung während der Bundle-Uploads verwendet (sicher aufbewahren)
- Öffentlicher Schlüssel: In der Anwendungs-Konfiguration gespeichert für die Entschlüsselung auf dem Gerät (sicher zum Committen)
Nach einem Verrat des privaten Schlüssels rotieren
Sektion mit dem Titel “Nach einem Verrat des privaten Schlüssels rotieren”Rotieren Sie das Schlüsselpaar, wenn der private Schlüssel verdächtig oder bestätigt als kompromittiert ist. Eine routinemäßige Kalenderrotation ist nicht erforderlich. Dies ist eine native-Schlüssel-Migration, nicht eine nur-OTA-Änderung.
-
Eine 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 versenden Sie eine native Veröffentlichung: Ausführen
npx cap sync, dann verteilen Sie eine neue native App-Version, die den Ersatzöffentlichkeitsschlüssel enthält. -
Ziel die neue 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 Versionzielung Zur Einschränkung von Ersatzschlüssel-Paketen auf die neue native Version, während der Rest der Flotte über den Store oder MDM aktualisiert wird.
-
Wechseln Sie Ihr Upload-Secret: Sobald diese native Veröffentlichung live ist, ersetzen Sie den privaten Schlüssel in CI und laden nur Pakete hoch, die auf native Versionen abzielen, die den Ersatzöffentlichkeitsschlüssel enthalten.
Sicherheitsbest Practices
Abschnitt mit dem Titel „Sicherheitsbest Practices“Schlüsselsicherheit
Abschnitt mit dem Titel „Schlüsselsicherheit“- Teilen Sie niemals private Schlüssel zwischen Umgebungen oder Teammitgliedern
- Verwenden Sie unterschiedliche Schlüssel für unterschiedliche Umgebungen (Entwicklung, Staging, Produktion)
- Rotieren Sie nach einer Kompromittierung: ersetzen Sie das Schlüsselpaar, wenn das private Schlüssel verdächtig oder bestätigt ist; eine regelmäßige Kalenderrotation ist nicht erforderlich
- Sicherheitsmaßnahmen für die Schlüssel mit geeigneten Sicherheitssystemen
Bundle-Sicherheit
Abschnitt mit dem Titel “Bundle-Sicherheit”- Verifizieren Sie immer die Integrität des Bundles nach der Entschlüsselung
- Überwachen Sie für ungewöhnliche Downloadmuster oder Fehler
- Verwenden Sie HTTPS für alle Bundle-URLs (erforderlich für mobile Apps)
- Implementieren ordnungsgemäße Fehlerbehandlung bei Fehlschlägen der Entschlüsselung
Zugriffssteuerung
Abschnitt mit dem Titel „Zugriffssteuerung“- Zugriff einschränken Zugriff auf Verschlüsselungsschlüssel nur auf autorisierte Personen beschränken
- Rollenbasierte Zugriffssteuerung für die Verwaltung von Schlüsseloperationen verwenden
- Audit den Schlüsselgebrauch und -zugriff regelmäßig überprüfen
- Implementieren ordnungsgemäße Sicherung und Wiederherstellungsverfahren
Fehlersuche bei der Verschlüsselung
Abschnitt mit dem Titel “Schlüsselprobleme lösen”Häufige Probleme
Abschnitt mit dem Titel “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
- Überprüfen Sie, ob
ivSessionKeyist korrekt - Stellen Sie sicher, dass Sie Encryption V2 verwenden (V1 wird nicht mehr unterstützt)
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
- Überprüfen Sie, ob der Schlüssel in Ihrer Anwendungs-Konfiguration die richtigen Berechtigungen hat
Leistungsausfälle:
- Große Pakete können länger zum Verschlüsseln/Entschlüsseln benötigen
- Überlege dir, Delta-Updates (Manifest) zu verwenden, um die Paketgröße zu reduzieren
- Überwache die Geräteleistung während der Entschlüsselung
Debug-Befehle
Abschnitt mit dem Titel “Debug-Befehle”Überprüfe den Verschlüsselungsstatus:
npx @capgo/cli@latest app debugTeste 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: Starke asymmetrische Verschlüsselung 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:
- DSGVO (Datenschutz-Grundverordnung)
- HIPAA (Gesetz über die Portabilität von Gesundheitsversicherungen und die Verantwortlichkeit für Gesundheitsdaten)
- SOC 2 (Service Organization Control 2)
- ISO 27001 (Informationssicherheitsmanagement)
Leistungskriterien
Abschnitt: LeistungskriterienVerschlüsselungsüberhead
Abschnitt: Verschlüsselungsüberhead- Bundle-Größe: Verschlüsselte Bundle sind leicht größer (~1-2% Überhead)
- Verarbeitungszeit: Die Verschlüsselung/Entschlüsselung fügt minimalen Latenz auf
- Speicherplatznutzung: Temporäre Erhöhung während der Verschlüsselungs-/Entschlüsselungsoperationen
Optimierungstipps
Sektion mit dem Titel “Optimierungstipps”- Verwenden Sie Delta-(Manifest)-Updates, um den verschlüsselten Datentransfer zu minimieren
- Optimieren Sie die Größe Ihres Bundles, indem Sie Bilder in 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 Geräteleistung auf älteren/Schnellereinheiten
Nächste Schritte
Sektion mit dem Titel “Nächste Schritte”- Erhalten Sie mehr Informationen über Benutzerdefinierte Speicherung um die Verschlüsselung mit Ihrer eigenen Infrastruktur zu verwenden
- Erkunden Kanäle Kanälenamen: Capgo-Releasekanäle. Seite/Bereich: Capgo-Lösungen-Marketingseite. Rolle: Kurzer UI-Label oder Navigationspunkt. Gesehen in: Seite Lösungen/White-Label.astro. Nachrichtenschlüssel `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value).
- um verschlüsselte Pakete über Umgebungen zu verwalten Einrichten CI/CD-Integration
Kanälenamen: Capgo-Bauer / native Cloud-Build-Produktseite. Seite/Bereich: Capgo-Bauer / native Cloud-Build-Produktseite. Rolle: Kurzer UI-Label oder Navigationspunkt. Nachrichtenschlüssel `native_build_feature_ci_cd` (Native Build Feature Ci Cd).
um verschlüsselte Bereitstellungen zu automatisierenFortsetzen von Verschlüsselung Abschnitt mit dem Titel ‘Fortsetzen von Verschlüsselung’ zur Sicherheits- und Complianceplanung, 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 Vertrauenszentrum für den Produktworkflow in Capgo Vertrauenszentrum und Organisations-Sicherheit für die Implementierungsdetails in Organisation-Sicherheit