Volver a los blogs Una cerradura está rodeada por un diseño de línea cibernética muy chulo.

Mejoras en cifrado y características de seguridad para el semestre de otoño de 2020

Privacidad y seguridad

Para garantizar que Proctorio se mantenga por delante de las últimas amenazas de seguridad, estamos actualizando nuestra plataforma de seguridad con una variedad de mejoras:

  1. Tenemos reforzó el método de derivación de claves utilizado para generar las claves de cifrado de Cifrado de Conocimiento Cero. De cara al futuro, aumentamos el número de operaciones matemáticas utilizadas para generar claves en un 9.900%. Hacemos esto para reducir las probabilidades de un ataque de fuerza bruta a medida que la potencia de cálculo sigue mejorando.

  2. De ahora en adelante, todas las nuevas grabaciones estarán cifradas con el paquete nativo WebCrypto integrado en el navegador. Estas actualizaciones llevan un mes activas y no muestran signos de problemas de rendimiento.

  3. Hemos añadido una opción High Security Plus que proporciona cifrado de clave simétrica con una clave pública RSA asimétrica, generada por la institución.

Los clientes existentes tendrán la opción de aplicar estas funciones a sus instituciones sin coste alguno.

Para más información, por favor contacte con su representante de Proctorio o contáctenos en https://proctorio.com/get-started para empezar con Proctorio.

¿Por qué estamos haciendo estas actualizaciones ahora?

Cuando empezamos a trabajar en Proctorio en 2013, empezamos el desarrollo de Chrome 27. Gangnam Style acababa de salir, y todo el mundo lo veía en su nuevo iPhone 5. En otras palabras, era otra época.

Uno de nuestros primeros objetivos con Proctorio fue crear un servicio de supervisión online que pusiera la privacidad y seguridad de los examinados en el centro, pero que pudiera mantener un despliegue ligero del software. Como resultado, creamos Proctorio como una extensión de navegador que no tenía que instalarse de forma nativa en el ordenador de un examinado. Uno de los elementos más potentes para añadir fácilmente cifrado a los datos de los examinadores fue, y sigue siendo, la criptografía.

Tras una evaluación exhaustiva, integramos SJCL de Stanford añadir criptografía a esas primeras versiones de Proctorio. Por mucho que desearíamos que Chrome soportara criptografía nativa en aquel entonces, serían necesarias otras 10 versiones para ver los primeros signos de WebCrypto, una función básica de criptografía traída al navegador.

Integramos rápidamente el soporte de WebCrypto una vez que estuvo disponible en Chrome 37, pero aún así dejamos la biblioteca SJCL de Stanford para gestionar la derivación principal de claves y la criptografía para las grabaciones. Dado que Proctorio está pensado para gestionarse en sistemas de un solo usuario, donde el usuario probablemente es un administrador que puede acceder a información desde la memoria del sistema (claves, contraseñas, etc.), usar una implementación en Javascript no supone un problema. Las claves generadas solo están destinadas a ser ocultadas a Proctorio, no al usuario final.

En el desafortunado caso de que el equipo del usuario haya sido comprometido por un programa malicioso, los ataques de temporización de caché son lo que menos preocupa a los usuarios, ya que cualquier malware probablemente podría extraer información de claves o contraseñas directamente de la memoria. Sin embargo, dado que WebCrypto ha demostrado ser muchas veces más rápido y está integrado en la plataforma de navegadores, en nuestra actualización a partir de la versión 1.4.20276.1, hemos reemplazado las grabaciones completamente nuevas por WebCrypto nativo en lugar de SJCL.

A continuación, para asegurar las grabaciones del examen, utilizamos la información de la plataforma de administración del examen. Cada examen utiliza una combinación única de esta información, generando efectivamente claves únicas para el intento registrado de cada usuario. Luego usamos criptografía simétrica para cifrar los datos usando AES-128. Como no podemos controlar la complejidad de esta información, usamos una función clave de derivación para reducir el potencial de ataques de fuerza bruta. Originalmente elegimos PBKDF2-HMAC-SHA1 para esta tarea.

El RFC escrito en 2000 para PBKDF2 recomendaba un recuento de iteraciones de 1.000 disparos. Sin embargo, para 2013, cuando lo implementamos en Proctorio, los gestores de contraseñas ya usaban 10.000 iteraciones. Decidimos optar por 12.000 iteraciones en nuestra implementación. Pero ahora, en 2020, a medida que los ordenadores y las GPUs se han vuelto más rápidos, es hora de reducir aún más la posibilidad de vulnerabilidades por fuerza bruta.

En la versión 1.4.20276.1, cambiamos SHA1 por SHA512, implementando PBKDF2-HMAC-SHA512. Para ralentizar aún más la generación de claves, aumentamos el número de iteraciones de 12.000 a 1.200.000. Finalmente, además de este cambio, decidimos pasar de AES-128 a AES-256. Este cambio protegerá contra ataques multiobjetivo así como contra un mundo post-cuántico.

Por último, en la versión 1.4.20311.1 hemos lanzado una opción para pasar a claves asimétricas, generadas y gestionadas por la institución asociada. Cualquier institución puede inscribirse en este programa, pero requiere que la institución genere la clave pública y guarde la clave privada. Las claves públicas y las opciones se proporcionan a Proctorio a través de un gestor de cuenta.

Las claves privadas deben distribuirse a cualquier usuario final que necesite acceso al libro de calificaciones.

Hemos creado esta opción por tres razones:

  1. La información no compartida para las claves derivadas puede tener muy poca entropía. Esto es cierto en sistemas de gestión de aprendizaje como Canvas o Moodle, que utilizan identificadores secuenciales basados en cero.

  2. Protege la seguridad de los datos de registro del examen frente a posibles accesos de terceros. De nuevo, en el caso de Canvas o Moodle, estos sistemas suelen estar alojados por un tercero. Como este tercero tiene acceso a las claves, puede descifrar los datos.

  3. La mayoría de las plataformas de pruebas tienen roles administrativos o elevados que permiten acceso sin restricciones. En estos casos, puede ser difícil controlar el acceso a las grabaciones permitiendo que estos usuarios realicen sus tareas normales. Utilizar el control de la propia organización sobre la clave privada les permitirá controlar el acceso a un nivel más fino.

En futuras versiones, planeamos permitir que un representante aprobado por la institución genere y utilice su propia clave pública asimétrica.

Seguimos trabajando duro para proteger a nuestros socios y examinados frente a las últimas amenazas, y con esta actualización, estamos entusiasmados de ofrecer a los administradores aún más control y opciones para proteger la información de sus instituciones.

Con esta mayor seguridad, nuestro objetivo es ofrecer el entorno de aprendizaje de la más alta calidad para los examinados. Hacer exámenes ya es estresante sin preocuparse por la privacidad de los datos y el cifrado de claves. De cara al futuro, este aumento de la seguridad proporcionará tranquilidad a las instituciones y a los examinados en caso de que alguna vez se produzca una brecha de seguridad.

Nota: Esta entrada del blog fue actualizada para mayor claridad el 23 de junio de 2021.

Entradas relacionadas en el blog