Verschlüsselung
Eine Setup-Vorlage 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 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 Lebendaktualisierungen bequem bleiben.
Übersicht
Sektion mit dem Titel “Übersicht”Capgo’s Verschlüsselungssystem verwendet branchenstandardmäßige 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 Speichern und der Lieferung. Dies schützt die Bundle-Inhalte vor zufälligem Zugriff im Speicher oder in der Übertragung 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üsselungsstrategie, die RSA- und AES-Verschlüsselung kombiniert, um eine optimale Sicherheit und Leistung zu erzielen:

1. Schlüsselgenerierung
Abschnitt mit dem Titel “1. Schlüsselgenerierung”- Privatschlüssel: Erstellt und sicher gespeichert in Ihrer Entwicklungsumgebung (wird für die Verschlüsselung verwendet)
- Öffentlicher Schlüssel: Abgeleitet aus Ihrem privaten Schlüssel und gespeichert in der Capacitor-Konfiguration Ihrer App (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”- Eine zufällige AES-Sitzungsschlüssel wird für jeden Paketupload generiert
- Ihr Paket wird mit dem AES-Sitzungsschlüssel verschlüsselt
- Der Paket-Prüfsummenwert wird berechnet
- Beide der AES-Sitzungsschlüssel und Prüfsummenwert 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 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 der erwartete Prüfsummenwert 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 Paket 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
- 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 verglichen, um die Integrität zu überprüfen
Dieser Prozess stellt sicher, dass selbst wenn ein Angreifer das verschlüsselte Paket 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 Signaturwert zu erstellen, der von der öffentlichen Schlüssel entschlüsselt werden 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 entschlossenen Reverse-Engineer mit dem App-Binary abgefangen werden | Öffentlich lesbar |
| Sicherheitsmethode | Wahrer End-to-End-Verschlüsselung | Code-Signatur nur |
| Privatsphäresebene | Starker Lieferung/Speicher-Schutz; kein Anti-Reverse-Engineering | Die Plattform kann auf Ihr code zugreifen |
| Schutz | Inhalt + Integrität + Authentizität | Integrität + Authentizität nur |
Weshalb das wichtig ist:
- Code Signierung verifiziert nur, dass Updates nicht manipuliert wurden und vom richtigen Quellcode stammen
- Capgo Verschlüsselung schützt das Bundle während der Speicherung und -lieferung und macht gefälschte verschlüsselte Updates viel schwieriger, da der Angreifer Ihre private Schlüssel benötigen würde
- Die Umkehrung der Entwicklung 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 von Verschlüsselungen
- 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 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
Einstellung der Verschlüsselung
Sektion mit dem Titel „Einstellung der Verschlüsselung“Schritt 1: Erstellung von Verschlüsselungschlüsseln
Sektion mit dem Titel „Schritt 1: Erstellung von Verschlüsselungschlüsseln“Erstellt zunächst Ihre Verschlüsselungschlüssel mithilfe der Capgo CLI:
# Generate new encryption keys (creates files in current directory)npx @capgo/cli@latest key createDies schafft:
.capgo_key_v2: Ihr privater Schlüssel (halten Sie diesen sicher aufgehoben!).capgo_key_v2.pub: Ihr öffentlicher Schlüssel (wird von Ihrer App verwendet)
Auf diese Dateien wird in dem aktuellen Verzeichnis gearbeitet, in dem Sie die Kommandozeilenanweisung 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 Bundles 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 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üsselungsablauf
Abschnitt mit dem Titel “Methode 2: Manuelle Verschlüsselungsablauf”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 in Ihren Speicher (z.B. S3) und mit Capgo registrieren:
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
Schlüsselverwaltung
Abschnitt mit dem Titel “Schlüsselverwaltung”Sichere Speicherung von Schlüsseln
Abschnitt mit dem Titel “Sichere Speicherung von Schlüsseln”Private Schlüsseloptionen:
-
Datei-basiert (lokale Entwicklung):
Terminal-Fenster # Key stored as .capgo_key_v2 file in project rootnpx @capgo/cli@latest bundle upload --key-v2 -
Umgebungsvariable (CI/CD):
Terminal-Fenster # 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-Schlüsselmanagement für private Schlüssel.
- Nie committiere 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: Wird in der Anwendungs-Konfiguration für die Entschlüsselung auf dem Gerät gespeichert (sicher zum Committen)
Rotieren nach einem privatschlüsselbedingten Kompromiss
Abschnitt mit dem Titel “Rotieren nach einem privatschlüsselbedingten Kompromiss”Rotieren Sie das Schlüsselpaar, wenn der private Schlüssel verdächtigt oder bestätigt als kompromittiert wird. Eine routinemäßige Kalenderrotation ist nicht erforderlich. Dies ist eine native-Schlüssel-Migration und keine nur-OTA-Änderung.
-
Erstellen Sie ein Ersatzschlüsselpaar:
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 -
Übertragen und verteilen Sie eine native Version: Laufen
npx cap sync, dann verteilen Sie eine neue native Anwendungsversion, 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 Kontext: Seite/Bereich: Capgo-Lösungen-Marketingseite. Rolle: Abschnitts- oder Seitenüberschrift. Gesehen in: Seite Lösungen/Versionzielung.astro. Nachrichten Schlüssel `solutions_version_targeting_title` (Lösungen Versionzielung Titel). | Seite/Bereich: Capgo-Lösungen-Marketingseite. Rolle: Kurzer Benutzeroberflächen-Label oder Navigationselement. Gesehen in: Seite Lösungen/Versionzielung.astro. Nachrichten Schlüssel `solutions_version_targeting` (Lösungen Versionzielung).
-
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. Ändern Sie Ihr Upload-Secret:
Security Best Practices
SicherheitshinweiseSchlüsselsicherheit
Sicherheit des Schlüssels- Nie das private Schlüssel zwischen Umgebungen oder Teammitgliedern teilen
- Verschiedene Schlüssel für verschiedene Umgebungen (Entwicklung, Staging, Produktion) verwenden
- Nach einem Kompromiss rotieren: 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 Schlüssel Verwenden Sie geeignete Systeme für die Schlüsselverwaltung
Bundle-Sicherheit
Abschnitt mit dem Titel "Bundle-Sicherheit"- Verifizieren Sie immer die Integrität des Bundles nach der Entschlüsselung
- Überwachen Sie unübliche Downloadmuster oder Fehler
- Verwenden Sie HTTPS für alle Bundle-URLs (erforderlich für mobile Apps)
- Implementieren Sie angemessene 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
- Überprüfung den Schlüsselgebrauch und -zugriff regelmäßig
- Implementierung angemessene Sicherung und Wiederherstellungsverfahren
Schadensbegrenzung bei 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
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
Sektion 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”Capgos Implementierung der Verschlüsselung entspricht Branchenstandards:
- AES-256: FIPS 140-2 genehmigte Verschlüsselungsalgorithmus
- RSA-4096: Starke asymmetrische Verschlüsselung zur Schutz von Schlüsseln
- GCM-Modus: Bietet sowohl Vertraulichkeit als auch Authentizität
- Sichere Zufallszahlengenerierung: Kryptografisch sichere Zufallszahlengenerierung
Dies macht Capgo für Anwendungen geeignet, die die Einhaltung von Vorschriften erfordern:
- Datenschutzgrundverordnung (DSGVO)
- Health Insurance Portability and Accountability Act (HIPAA)
- Service Organization Control 2 (SOC 2)
- Informationssicherheitsmanagement (ISO 27001)
Leistungskriterien
Abschnitt: LeistungskriterienVerschlüsselungsüberhead
Abschnitt: Verschlüsselungsüberhead- Bundle-Größe: Verschlüsselte Bundles sind leicht größer (~1-2% Überhead)
- Verarbeitungszeit: Die Verschlüsselung/Entschlüsselung fügt minimalen Latenzfehler hinzu
- 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 Datenverkehr zu minimieren
- Optimieren Sie Ihre Bundle-Größ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 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
- Entdecken Kanäle Kontext: Capgo-Releasekanäle-Funktion. Seite/Bereich: Capgo-Lösungen-Marketingseite. Rolle: Kurzer UI-Label oder Navigationselement. Gesehen in: Seite Lösungen/White-Label.astro. Nachrichtenschlüssel `solutions_white_label_visual_cell2_value` (Lösungen White-Label Visual Cell2 Wert).
- um verschlüsselte Pakete über Umgebungen zu verwalten Einrichten CI/CD-Integration
Kontext: Seite/ Bereich: Capgo Builder / native Cloud-Build-Produktseite. Rolle: Kurzer UI-Label oder Navigationselement. 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“ um Sicherheit und Compliance zu planen, verbinden Sie es mit Compliance zur Implementierungsdetail in Compliance Capgo Sicherheits-Scanner zur Produktworkflow in Capgo Sicherheits-Scanner Capgo Sicherheit zur Produktworkflow in Capgo Sicherheit Capgo Vertrauenszentrum zur Produktworkflow in Capgo Vertrauenszentrum und Organisations-Sicherheit zur Implementierungsdetail in Organisations-Sicherheit.