Cifrado
Copia 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 control total sobre la seguridad de su aplicación mientras se mantiene la conveniencia de las actualizaciones en vivo.
Resumen
Sección titulada “Resumen”El sistema de cifrado de Capgo utiliza métodos criptográficos de industria estándar para proteger sus paquetes de acceso no autorizado. Cuando el cifrado está habilitado, sus paquetes se cifran antes de dejar su entorno de desarrollo y permanecen cifrados hasta que son descifrados por su aplicación en el dispositivo del usuario.
¿Qué Protege Realmente el Cifrado?: A diferencia de los sistemas de actualizaciones OTA que solo firman las actualizaciones, Capgo cifra el paquete subido 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. Esto No hace que los activos web embarcados sean imposibles de revertir: la clave pública utilizada por el cliente para descifrar las actualizaciones se distribuye en la aplicación, por lo que un atacante determinado puede extraerla e inspeccionar los contenidos del paquete con suficiente esfuerzo.
Cómo Funciona la Criptografía
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 cifrar)
- Clave pública: Derivada de tu clave privada y almacenada en la configuración de tu aplicación Capacitor (usada para descifrar)
- Claves de sesión: Claves AES aleatorias generadas para cada carga de paquete
2. Proceso de cifrado
Sección titulada “2. Proceso de cifrado”- 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
- Se cifran conjuntamente 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 descifrarla, 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 descifrado
Sección titulada “3. Proceso de descifrado”- Su aplicación descarga el paquete cifrado y la firma cifrada
- La 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 y compara un checksum del paquete descifrado 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 ni proporcionar un checksum falso, porque necesitaría la clave privada para crear una firma válida que la clave pública pueda descifrar.
Capgo vs Otras Plataformas
Título de la sección ‘Capgo vs Otras Plataformas’| Característica | Capgo | Otras Plataformas de Actualizaciones OTA |
|---|---|---|
| Contenido del Paquete | Cifrado en almacenamiento/tránsito; 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 fuerte de entrega/almacenamiento; no anti-reversa de ingeniería | La plataforma puede acceder a su code |
| Protección | Contenido + integridad + autenticidad | Integridad + autenticidad solo |
Por qué esto importa:
- Code firmado solamente verifica que las actualizaciones no han sido manipuladas y provienen de la fuente correcta
- Capgo 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 sigue siendo posible 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
Título de la sección “Métodos de cifrado”Capgo utiliza el método de cifrado V2 como el estándar de cifrado:
Cifrado V2 (Estándar Actual)
Título de la sección “Cifrado V2 (Estándar 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
Cifrado V1 (Deprecated)
Título de la sección “Cifrado V1 (Deprecated)”- Utiliza RSA-2048 para cifrar la clave
- AES-256-CBC para cifrado de paquetes
- No está disponible en la versión actual CLI
- Las aplicaciones legadas que utilizan V1 deben migrar a V2
Configuración de cifrado
Título de la sección “Configuración de cifrado”Paso 1: Generar claves de cifrado
Título de la sección “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: Su clave privada (mantenga esto seguro!).capgo_key_v2.pub: Su clave pública (utilizada por su aplicación)
Estos archivos se crean en el directorio actual donde ejecuta el comando.
Paso 2: Guardar su clave pública en la configuración de Capacitor (Requerido)
Título de la sección “Paso 2: Guardar su clave pública en la configuración de Capacitor (Requerido)”Tú contexto: Fragmento de texto HTML de una cadena de Capgo UI más larga (clave principal `you_definition`). Página/área: Sitio web de marketing de Capgo. Rol: Parágrafo de marketing o legal largo. Visto en: página de aviso de privacidad.astro, página de retorno.astro. Clave de mensaje `you_definition` (Tú 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)
Paso 3: Sincronizar la plataforma de Capacitor (Requerido)Después de guardar la clave pública, usted debe sincronice la plataforma Capacitor para copiar la configuración actualizada a la capa nativa:
# Sync the platform to copy config to nativenpx cap syncCifrando Paquetes
Sección titulada “Cifrando Paquetes”Método 1: Cifrar durante la carga
Sección titulada “Método 1: Cifrar durante la carga”La forma más sencilla es cifrar durante el proceso de carga:
# Upload with automatic encryptionnpx @capgo/cli@latest bundle upload --key-v2
# For external storage, you must encrypt first (see Manual Encryption Workflow below)Método 2: Flujo de trabajo de cifrado manual
Sección titulada “Método 2: Flujo de trabajo de cifrado manual”Para tener más control, puede cifrar manualmente paquetes:
-
Crear un paquete zip:
Ventana de terminal npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Encuentre el paquete:
Ventana de terminal npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM_FROM_STEP_1 -
Subir a tu almacenamiento (por ejemplo, S3) y registrar con Capgo:
Ventana 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:
-
Archivo basado en archivos (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 (Requerido):
# 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 claves 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 claves privadas
- Nunca cometas claves privadas en control de versiones
Uso de la clave:
- Clave privada: Usada por CLI para la cifrado durante la carga de paquetes (mantén seguro)
- Clave pública: Almacenada en la configuración de la aplicación para la descifrado en el dispositivo (seguro para cometer)
Rotar después de un compromiso de clave privada
Rotar la pareja de claves cuando la clave privada se sospecha o se confirma comprometida. No es necesario una rotación de calendario rutinaria. Este es un cambio de clave nativa, no un cambio OTA solo.Genera una nueva pareja de claves:
-
Ventana de terminal
Copiar a portapapeles npx @capgo/cli@latest key create -
Guarde la clave pública de reemplazo en tu Capacitor configuración:
Ventana de terminal npx @capgo/cli@latest key save --key ./.capgo_key_v2.pub -
Sincronice y envíe una versión nativa: Ejecutar
npx cap sync, luego distribuya una nueva versión de aplicación nativa que contenga la clave pública de reemplazo. -
Dirija la nueva versión nativa: Los dispositivos que aún ejecutan la versión antigua del binario nativo no pueden descifrar actualizaciones cifradas con la clave de reemplazo. Utilice Versionamiento de Versión contexto: Página/área: Página de marketing de soluciones de Capgo. Rol: Título de sección o página. Visto en: página de marketing de soluciones/version-targeting.astro. Clave de mensaje `solutions_version_targeting_title` (Título de versionamiento de soluciones). | Página/área: Página de marketing de soluciones de Capgo. Rol: Etiqueta de IU corta o elemento de navegación. Visto en: página de marketing de soluciones/version-targeting.astro. Clave de mensaje `solutions_version_targeting` (Versionamiento de soluciones).
-
Para restringir los paquetes de clave de reemplazo a la nueva versión nativa mientras el resto de la flota actualiza a través de la tienda o MDM. Cambiar su secreto de carga:
Mejores Prácticas de Seguridad
Sección titulada “Mejores Prácticas de Seguridad”Seguridad de la Clave
Sección titulada “Seguridad de la Clave”- Nunca comparta claves privadas entre entornos o miembros del equipo
- Utilice claves diferentes para diferentes entornos (desarrollo, pruebas, producción)
- Rotar después de un compromiso: reemplaza la pareja de claves cuando se sospeche o confirme que la clave privada ha sido comprometida; no es necesario una rotación de calendario rutinaria
- Almacena las claves de manera segura utilizando sistemas de gestión de claves adecuados
Seguridad de la Caja
Sección titulada “Seguridad de la Caja”- Verifica siempre la integridad de la caja después de la desifrado
- Mantén vigilancia por patrones de descarga inusuales o fallas
- Utiliza HTTPS para todas las URL de la caja (requerido para aplicaciones móviles)
- Implementa manejo de errores adecuado para fallas de descifrado
Control de Acceso
Sección titulada “Control de Acceso”- Limitar el acceso a las llaves de cifrado solo a personal autorizado
- Usar acceso basado en roles para operaciones de gestión de llaves
- Auditar el uso y acceso de 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:
- Verifica que la clave privada coincida con la clave pública utilizada para cifrar
- Verifica que el
ivSessionKeyesté correcto - Asegúrate de que estés utilizando la Cifrado V2 (V1 ya no está soportado)
Errores relacionados con la clave:
- Confirma que el formato de la clave privada es correcto (formato PEM)
- Verifica que la clave no se haya dañado durante el almacenamiento o transferencia
- Verifica que la clave tenga permisos adecuados en la configuración de tu aplicación
Problemas de rendimiento:
- Los paquetes grandes pueden tardar más en cifrar/descifrar
- Considerar el uso de actualizaciones de Delta (manifest) para reducir el tamaño de los paquetes
- Monitorear 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 debugProbar el 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_KEYCompliance y Estándares
Sección titulada “Compliance y Estándares”La implementación de Capgo de cifrado sigue los estándares de la industria:
- AES-256: Algoritmo de cifrado aprobado por FIPS 140-2
- RSA-4096: Cifrado asimétrico fuerte para la protección de claves
- Modo GCM: Proporciona tanto confidencialidad como autenticidad
- Generación aleatoria segura: 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 (RGPD)
- HIPAA (Ley de Portabilidad e Integridad de Seguros de Salud)
- SOC 2 (Control de Servicios Organizativos 2)
- ISO 27001 (Gestión de la Seguridad de la Información)
Consideraciones de rendimiento
Sección titulada “Consideraciones de rendimiento”Sobrecarga de cifrado
Sección titulada “Sobrecarga de cifrado”- Tamaño del paquete: Los paquetes cifrados son ligeramente más grandes (~1-2% de sobrecarga)
- Tiempo de procesamiento: La cifrado/descifrado agrega una latencia mínima
- Uso de memoria: Aumento temporal durante operaciones de cifrado/descifrado
Consejos de optimización
Sección titulada “Consejos de optimización”- Utilice actualizaciones de delta (manifest) para minimizar el tráfico de datos cifrados
- Optimice el tamaño de su paquete convirtiendo las imágenes a formato WebP
- Minimice los archivos JavaScript y CSS antes de empaquetarlos
- Elimine dependencias innecesarias y code
- Monitoree el rendimiento del dispositivo en dispositivos más antiguos/lentos
Próximos pasos
Sección titulada “Próximos pasos”- Aprenda sobre Almacenamiento personalizado para usar la cifrado con su propia infraestructura
- Explora Canales context
- Nombre de característica de canales de lanzamiento de Capgo. Página/área: Página de marketing de soluciones de Capgo. Rol: Etiqueta de IU corta o elemento de navegación. para administrar conjuntos de paquetes cifrados a través de entornos Configura
Integración CI/CD
contextPágina/área: Página de producto de Capgo Builder / producto de construcción nativa en la nube. Rol: Etiqueta de IU corta o elemento de navegación. Clave de mensaje `native_build_feature_ci_cd` (Ci Cd de característica de construcción nativa). para automatizar despliegues cifrados para planificar la seguridad y la conformidad, conecte con Conformidad para el detalle de implementación en Conformidad Capgo Escáner de Seguridad para el flujo de trabajo del producto en Capgo Escáner 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.