Cifrado
Copiar un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Capgo proporciona una robusta cifrado de extremo a extremo para sus paquetes de la aplicación, asegurando que su JavaScript code y activos están protegidos durante la transmisión y almacenamiento. Este sistema de cifrado está diseñado para darle al usuario completo control sobre la seguridad de la aplicación mientras se mantiene la conveniencia de actualizaciones en vivo.
Resumen
Título de sección “Resumen”El sistema de cifrado de Capgo utiliza métodos criptográficos de estándar industrial para proteger sus paquetes de acceso no autorizado. Cuando se habilita la cifrado, los paquetes se cifran antes de salir del entorno de desarrollo y permanecen cifrados hasta que se desifran por la aplicación del usuario en el dispositivo del usuario.
¿Qué Protege Realmente la Cifrado?: A diferencia de los sistemas de actualizaciones OTA que solo firman actualizaciones, Capgo cifra el paquete cargado antes del almacenamiento y la entrega. Esto protege los contenidos del paquete de acceso casual en almacenamiento o tránsito y asegura que solo alguien con su clave privada puede producir una actualización cifrada válida. Es not hacer que los activos web embarcados sean imposibles de revertir: la clave pública utilizada por el cliente para descifrar actualizaciones se distribuye en la aplicación, por lo que un atacante determinado aún puede extraerla e inspeccionar los contenidos del paquete con suficiente esfuerzo.
Cómo funciona la cifrado
Sección titulada “Cómo funciona la cifrado”Capgo utiliza un enfoque de cifrado híbrido que combina la cifrado RSA y AES para una seguridad y rendimiento óptimos:

1. Generación de claves
Sección titulada “1. Generación de claves”- Clave privada: Generada y almacenada de manera segura en tu entorno de desarrollo (usada para cifrado)
- Clave pública: Derivado de su clave privada y almacenado en la configuración de su aplicación Capacitor (utilizado para la desifrado)
- Claves de Sesión: Claves AES aleatorias generadas para cada carga de paquete
2. Proceso de Ifrado
Sección titulada “2. Proceso de Ifrado”- Se genera una clave de sesión AES aleatoria para cada carga de paquete
- Su paquete se cifra utilizando la clave de sesión AES
- Se calcula el checksum del paquete
- Juntos se cifran la clave de sesión AES y el checksum utilizando su clave privada RSA (creando la “firma”)
- Se almacenan el paquete cifrado y la firma cifrada
El checksum se cifra junto con la clave AES para prevenir la manipulación. Dado que solo su clave privada RSA puede crear esta firma, y solo la clave pública correspondiente puede desifrarla, esto garantiza que tanto la clave de sesión AES como el checksum esperado sean auténticos y no han sido modificados por un atacante.
3. Proceso de Desifrado
Sección titulada “3. Proceso de descifrado”- Su aplicación descarga el paquete cifrado y la firma cifrada
- El Capgo SDK utiliza su clave pública RSA (almacenada en la aplicación) para descifrar la firma
- Esto revela la clave de sesión AES y el checksum original
- La clave de sesión AES se utiliza para descifrar el paquete
- Se calcula un checksum del paquete descifrado y se compara con el checksum original para verificar la integridad
Este proceso garantiza que incluso si un atacante intercepta el paquete cifrado, no puede modificar la clave de sesión AES o proporcionar un checksum falso, porque necesitaría su clave privada para crear una firma válida que la clave pública pueda descifrar
Capgo vs Otras Plataformas
Sección titulada “Capgo vs Otras Plataformas”| Característica | Capgo | Otras plataformas de actualización OTA |
|---|---|---|
| Contenido empaquetado | Cifrado en almacenamiento/transito; aún inspeccionable por un ingeniero de reversa determinado con el binario de la aplicación | Leído públicamente |
| Método de seguridad | Cifrado de extremo a extremo verdadero | Code solo firma |
| Nivel de privacidad | Protección de entrega/almacenamiento fuerte; no anti-reversa de ingeniería | La plataforma puede acceder a su code |
| Protección | Integridad + autenticidad + contenido | Integridad + autenticidad |
Por qué esto importa:
- Code de firma solo verifica que las actualizaciones no han sido manipuladas y provienen de la fuente correcta
- Capgo de cifrado protege el paquete mientras se almacena y se entrega y hace que las actualizaciones cifradas falsificadas sean mucho más difíciles porque el atacante necesitaría tu clave privada
- La ingeniería inversa es posible aún después de que la aplicación se envíe, porque el cliente contiene la clave pública necesaria para descifrar y cargar la actualización
Métodos de cifrado
Sección titulada “Métodos de cifrado”Capgo utiliza el método de cifrado Encryption V2 como cifrado estándar:
Encryption V2 (Método de cifrado actual)
Sección titulada “Encryption V2 (Método de cifrado actual)”- Utiliza RSA-4096 para una mayor seguridad
- AES-256-GCM para cifrado autenticado
- Proporciona verificación de integridad
- Mejora el rendimiento y la seguridad
Encryption V1 (Descontinuado)
Sección titulada “Encryption V1 (Descontinuado)”- Utiliza RSA-2048 para cifrar las claves
- AES-256-CBC para cifrar los paquetes
- Ya no está disponible en la versión actual de CLI
- Aplicaciones legadas que utilizan V1 deben migrar a V2
Configuración de cifrado
Sección titulada “Configuración de cifrado”Paso 1: Generar Claves de Cifrado
Sección titulada “Paso 1: Generar Claves de Cifrado”Primero, genere sus claves de cifrado utilizando el Capgo CLI:
# Generate new encryption keys (creates files in current directory)npx @capgo/cli@latest key createEsto crea:
.capgo_key_v2: Tu clave privada (mantén esto seguro!).capgo_key_v2.pub: Tu clave pública (usada por tu aplicación)
Estos archivos se crean en el directorio actual donde ejecutas el comando.
Paso 2: Guarda tu Clave Pública en Capacitor Config (Requerido)
Sección titulada “Paso 2: Guarda tu Clave Pública en Capacitor Config (Requerido)”Tienes que guardar tu clave pública en el Capacitor config para que tu aplicación móvil pueda descifrar paquetes:
# 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"Paso 3: Sincronizar la plataforma Capacitor (Requerido)
Sección titulada “Paso 3: Sincronizar la plataforma Capacitor (Requerido)”Después de guardar la clave pública, debes debes sincronizar la plataforma Capacitor para copiar la configuración actualizada a la capa nativa:
# Sync the platform to copy config to nativenpx cap syncCifrado de Paquetes
Método 1: Cifrado durante la cargaLa forma más sencilla es cifrar durante el proceso de carga:
ventana de terminalCopiar a portapapeles
# Upload with automatic encryptionnpx @capgo/cli@latest bundle upload --key-v2
# For external storage, you must encrypt first (see Manual Encryption Workflow below)El segundo método es el flujo de trabajo de cifrado manual:
Sección titulada “Método 2: Flujo de cifrado manual”Para tener más control, puede cifrar manualmente los paquetes:
-
Crear un paquete zip:
Pantalla de terminal npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Cifrar el paquete:
Pantalla de terminal npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM_FROM_STEP_1 -
Subir a su almacenamiento (por ejemplo, S3) y registrar con Capgo:
Pantalla de terminal # 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
Gestión de claves
Sección titulada “Gestión de Claves”Almacenar Claves de manera Segura
Sección titulada “Almacenar Claves de manera Segura”Opciones de Clave Privada:
-
Basada en archivo (desarrollo local):
Ventana de terminal # Key stored as .capgo_key_v2 file in project rootnpx @capgo/cli@latest bundle upload --key-v2 -
Variable de entorno (CI/CD):
Ventana de terminal # 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"
Configuración de Clave Pública (Requerida):
# Must save public key to Capacitor config for mobile appnpx @capgo/cli@latest key save --key ./.capgo_key_v2.pubEntorno de producción:
- Almacene las llaves privadas en servicios de gestión de claves seguras (AWS KMS, Azure Key Vault, etc.)
- Utilice la gestión de secretos de CI/CD para las llaves privadas
- Nunca comita las llaves privadas a control de versiones
Uso de la llave:
- Llave privada: Utilizada por CLI para la cifrado durante la carga de paquetes (mantener seguro)
- Llave pública: Almacenada en la configuración de la aplicación para la descifrado en el dispositivo (seguro para comitar)
Rotación de llaves
Sección titulada “Rotación de llaves”Rotar regularmente tus claves de cifrado para una mayor seguridad:
-
Genera nuevas claves:
Ventana de terminal # Navigate to desired directory first, then create keysmkdir ./new-keys && cd ./new-keysnpx @capgo/cli@latest key create -
Guardar la nueva clave pública en Capacitor config:
Ventana de terminal npx @capgo/cli@latest key save --key ./new-keys/.capgo_key_v2.pub -
Actualizar la configuración de tu aplicación con la nueva clave pública
-
Despliega la aplicación actualizada antes de subir paquetes cifrados con la nueva clave
Prácticas de seguridad recomendadas
Sección titulada “Prácticas de Seguridad”Seguridad clave
Sección titulada “Seguridad clave”- Jamás comparta claves privadas entre entornos o miembros del equipo
- Utilice claves diferentes para diferentes entornos (desarrollo, pruebas, producción)
- Rotule claves con regularidad (recomendado: cada 6-12 meses)
- Almacene claves de manera segura utilizando sistemas de gestión de claves adecuados
Bundling de Seguridad
Sección titulada “Seguridad de paquetes”- Verificar siempre la integridad del paquete después de la desifrado
- Monitorear patrones de descarga inusuales o fallas
- Usar HTTPS para todas las URL de paquetes (requerido para aplicaciones móviles)
- Implementar manejo de errores adecuado para fallas de desifrado
Control de Acceso
Sección titulada “Control de Acceso”- Limitar el acceso a las llaves de cifrado solo a personal autorizado
- Utilice el acceso basado en roles para operaciones de gestión de llaves
- Auditar el uso y el acceso de las llaves regularmente
- Implementar procedimientos de respaldo y recuperación adecuados
Solución de problemas de cifrado
Sección titulada “Solución de problemas de cifrado”Problemas comunes
Sección titulada “Problemas comunes”Fallas de descifrado:
- Verifique que la clave privada coincida con la clave pública utilizada para la cifrado
- Compruebe que el
ivSessionKeyes correcto - Asegúrese de que esté utilizando la cifrado V2 (V1 ya no está soportado)
Errores relacionados con la clave:
- Confirme que el formato de la clave privada es correcto (formato PEM)
- Verifique que la clave no se haya dañado durante el almacenamiento o transferencia
- Compruebe que la clave tenga permisos adecuados en la configuración de su aplicación
Problemas de rendimiento:
- Los paquetes grandes pueden tardar más en cifrar/descifrar
- Considerar el uso de Delta (actualizaciones de manifiesto) para reducir los tamaños de los paquetes
- Monitoree el rendimiento del dispositivo durante la descifrado
Comandos de depuración
Sección titulada “Comandos de depuración”Verificar el estado de cifrado:
npx @capgo/cli@latest app debugPrueba del flujo de cifrado/descifrado:
# 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_KEYNormas y Estándares
Sección titulada “Normas y Estándares”Capgo sigue la implementación de cifrado de estándares de la industria:
- AES-256: Algoritmo de cifrado aprobado FIPS 140-2
- RSA-4096: Cifrado asimétrico fuerte para proteger claves
- GCM Mode: Proporciona tanto confidencialidad como autenticidad
- Generador de números aleatorios seguros: Generación de números aleatorios criptográficamente seguros
Esto hace que Capgo sea adecuado para aplicaciones que requieren cumplimiento con:
- Reglamento General de Protección de Datos (GDPR)
- Ley de Portabilidad y Responsabilidad de Seguros de Salud (HIPAA)
- Control de Servicios Organización 2 (SOC 2)
- ISO 27001 (Gestión de Seguridad de la Información)
Consideraciones de rendimiento
Sección titulada “Consideraciones de rendimiento”Gasto de cifrado
Sección titulada “Gasto de cifrado”- Tamaño del paqueteLos bundles cifrados son ligeramente más grandes (~1-2% de sobrecarga)
- Tiempo de procesamientoLa cifrado/descifrado agrega una latencia mínima
- Uso de memoriaAumento temporal durante las operaciones de cifrado/descifrado
Consejos de optimización
Sección titulada “Consejos de optimización”- Use Delta (manifest) updates para minimizar la transferencia de datos cifrados
- Optimiza el tamaño de tu paquete convirtiendo las imágenes a formato WebP
- Minimiza los archivos JavaScript y CSS antes de empaquetarlos
- Elimina las dependencias innecesarias y code
- Monitorea el rendimiento del dispositivo en dispositivos más antiguos/lentos
Pasos siguientes
Sección titulada “Pasos siguientes”- Aprende sobre Almacenamiento personalizado para usar la cifrado con tu propia infraestructura
- Explora Canales para administrar paquetes cifrados en diferentes entornos
- Configuración Integración CI/CD para automatizar despliegues cifrados
Siga desde Cifrado
Sección titulada “Siga desde Cifrado”Si está utilizando Cifrado para planificar la seguridad y la conformidad, conecte con Conformidad para los detalles de implementación en Conformidad, Capgo Escáner de Seguridad para el flujo de trabajo del producto en Capgo Scanner de Seguridad, Capgo Seguridad para el flujo de trabajo del producto en Capgo Seguridad, Capgo Centro de Confianza para el flujo de trabajo del producto en Capgo Centro de Confianza, y Seguridad de la Organización para el detalle de implementación en Seguridad de la Organización.