El actualizador de Capacitor ahora cuenta con cifrado de extremo a extremo de Capacitor. La firma de __CAPGO_KEEP_1__ garantiza que las actualizaciones ejecutadas por los dispositivos de los usuarios finales no han sido manipuladas y proporciona un nivel adicional de protección por encima de la seguridad estándar de web del actualizador de __CAPGO_KEEP_2__ now supports end-to-end code encryption. Code signing makes sure the updates run by end users’ devices have not been tampered with and provides an extra level of protection above Capacitor-updater’s standard web-grade security.
Por defecto, el modelo de seguridad de Capacitor es similar al de los proveedores de alojamiento web. __CAPGO_KEEP_1__ almacena actualizaciones
By default, Capgo’s security model is similar to that of web hosting providers. Capgo stores updates seguros en repositorio y los sirve mediante HTTPS utilizando cifrados modernos. De manera similar, publicar una actualización desde una computadora de un desarrollador siempre utiliza HTTPS.

Capgo’s seguridad por defecto obtiene una calificación A+ en el test de HTTPS de SSL Labs (https://www.ssllabs.com, noviembre 2022)
Al igual que los mejores proveedores de alojamiento web, Capgo utiliza HTTPS para proteger la privacidad e integridad de las conexiones de red entre el servidor y los dispositivos de los usuarios finales. Este es un nivel excelente de seguridad que funciona bien tanto para la web como para las aplicaciones Ionic que utilizan Capgo.
La cadena de suministro de la infraestructura en la nube
Otra cosa que Capgo y la mayoría de los proveedores de alojamiento web tienen en común es que se ejecutan en infraestructura de nube de nivel inferior, a menudo desde AWS, GCP o otro proveedor de nube popular. El hardware y el software operados por estos proveedores de nube y Capgo o otros proveedores de alojamiento web forman parte de la cadena de suministro de la nube.
La cadena de suministro de la nube y su modelo de seguridad funcionan para un número vasto de sitios web y aplicaciones. Cada desarrollador web que utiliza un proveedor de nube confía en ese proveedor y espera que los archivos que sube sean los archivos que se ejecutan o se sirven sin ser manipulados. Y los proveedores de nube trabajan con dureza para mantener su infraestructura segura.
Pero, obviamente, se descubren vulnerabilidades en el hardware y el software. Los proveedores de nube parchean vulnerabilidades en horarios de mantenimiento, previenen de manera proactiva el software malicioso (por ejemplo, Google’s SLSASin embargo, algunas aplicaciones de Ionic incluyen infraestructura de nube comprometida en sus modelos de amenazas. Para estas aplicaciones de JS con los requisitos de seguridad más altos por encima de la web, construimos firmas de extremo a extremo para Capacitor y code en Capgo. Protocolo estándar de actualizaciones de Capgo.
Firma de extremo a extremo de code con Capgo
Capgo’s end-to-end code signing uses public-key cryptography to ensure end users’ devices run only unmodified, original updates from the Capacitor app developer.
“De extremo a extremo” significa que esta seguridad cubre el flujo desde el momento en que un desarrollador publica una actualización hasta el momento en que un dispositivo de un usuario final recibe y ejecuta la actualización. “La firma de Code” es utilizar criptografía y una clave privada secreta para “firmar” code, y luego utilizar una clave pública confiable para verificar la firma.
Aquí está un esquema simple* para explicar cómo funciona:

- Complejo en la práctica, la criptografía es difícil
Definición:
- AES: Estándar de cifrado avanzado, un algoritmo de cifrado simétrico, una sola clave para cifrar y descifrar.
- RSA: Rivest–Shamir–Adleman, un algoritmo de cifrado asimétrico, se utilizan dos claves: una clave pública y una clave privada.
- Cifrado: Los datos cifrados.
- Clave de sesión: Una clave AES utilizada para cifrar y descifrar datos.
- Checksum: Una suma de verificación calculada para un archivo
- Firma: Una suma de verificación cifrada con una clave RSA privada. Puede ser verificada con una clave RSA pública
Usamos el algoritmo AES para cifrar la actualización. Una clave AES aleatoria se genera para cada carga, luego la clave AES y la suma de verificación (a partir de ahora “firma”) se cifran con la clave RSA privada del desarrollador. La clave RSA pública del desarrollador se utiliza en la aplicación para descifrar la clave AES y la firma (convirtiéndola nuevamente en una suma de verificación). Más tarde, la clave AES descifrada se utiliza para descifrar la actualización; se calcula una suma de verificación de la actualización descifrada y se compara con la firma descifrada.
Usamos dos algoritmos de cifrado diferentes porque RSA no se puede utilizar para cifrar grandes cantidades de datos. AES se utiliza para cifrar la actualización y RSA se utiliza para cifrar la clave AES y la suma de verificación.
Con esto, incluso Capgo no puede leer el contenido de su paquete. Este es un modelo de seguridad robusto que se utiliza por muchos clientes empresariales.
Cifrado de actualización V2 2024-08-27:
- Cambiamos el tipo de clave que se almacena en la aplicación. Esto se hizo para evitar inferir la clave pública (previamente utilizada para cifrar) a partir de la clave privada (previamente utilizada para descifrar). Ahora, la aplicación almacena la clave pública (ahora utilizada para descifrar).
- Cambiamos la suma de verificación del algoritmo CRC32 al algoritmo SHA256. También empezamos a firmar el paqueteWhen se configura la cifrado V2, una actualización debe tener una firma válida. Esto se aplica estrictamente por el plugin.
- Ahora se aplica una firma de cifrado V2 configurada. Estos 3 cambios se han realizado después de un análisis de seguridad de un miembro de la comunidad. Están aquí para prevenir ataques criptográficos durante la actualización.
Si utilizó cifrado V1, migre a V2 para aprovechar las nuevas características de seguridad. Siga las instrucciones de migración. Con firma de fin a fin __CAPGO_KEEP_0__, __CAPGO_KEEP_1__ se convierte en una “infraestructura de la nube sin confianza”. Si uno de __CAPGO_KEEP_2__’s proveedores de la nube o incluso __CAPGO_KEEP_3__ mismo modificara una actualización firmada por __CAPGO_KEEP_4__, los dispositivos de los usuarios rechazarían esa actualización y ejecutarían la actualización anterior, confiable, que ya está en el dispositivo..
With end-to-end code signing, Capgo becomes a “trustless” cloud infrastructure. If one of Capgo’s cloud providers or even Capgo itself were to modify a code-signed update, end users’ devices would reject that update and run the previous, trusted update that’s already on the device.
While web-level HTTPS is sufficient for many apps, some large companies find the extra level of security from end-to-end code signing appealing. Some of these companies make finance apps that issue high-value, permanent transactions. Other companies have CISOs who include compromised cloud infrastructure in their threat models. We built end-to-end code signing in to Capgo for these use cases and are interested in hearing more from companies with higher-level security needs.
Para grandes empresas o proyectos que se preocupan profundamente por la seguridad, queremos hacer que la firma de __CAPGO_KEEP_0__ sea fácil de configurar y mantener. Para ese fin, ahora proporcionamos las siguientes características:
For large companies or projects who care deeply about security, we want to make code signing easy to set up and maintain. To that end, we now provide the following features:
- migration instructions
- Soporte para firmar servidores de desarrollo de code con tanto Capgo como compilaciones de desarrollo
- Firmar de code en producción en cada actualización
Capgo code firmado está disponible para todos los clientes. Para empezar, sigue las instrucciones de configuración Configuración.
Créditos
Muchas gracias a Ionic, este artículo se basa en Este artículo reescrito con chat-gpt-3 y adaptado.
Sigue adelante desde la cifrado de extremo a extremo para Capacitor Updater a través de Code firmado
Si estás utilizando E2E Encryption para Capacitor Updater a través de Code Firma para planificar la seguridad y la conformidad, conecte con Encriptación para el detalle de implementación en Encriptación, 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, y Capgo Centro de Confianza para el flujo de trabajo del producto en Capgo Centro de Confianza.