Empresa Mozilla
Verificación de certificados mediante servicios externos basados en el protocolo que aún se utiliza
Para bloquear los certificados que han sido comprometidos y revocados por las autoridades de certificación, Firefox utiliza una lista negra centralizada desde 2015.
De forma predeterminada, si es imposible realizar la verificación mediante OCSP, el navegador considera válido el certificado. Es posible que el servicio no esté disponible debido a problemas de red y restricciones en las redes internas, o que esté bloqueado por atacantes; para omitir la verificación OCSP durante un ataque MITM, simplemente bloquee el acceso al servicio de verificación. En parte para prevenir este tipo de ataques, se ha implementado una técnica.
CRLite le permite consolidar información completa sobre todos los certificados revocados en una estructura fácilmente actualizada, de solo 1 MB de tamaño, lo que hace posible almacenar una base de datos CRL completa en el lado del cliente.
El navegador podrá sincronizar diariamente su copia de los datos sobre los certificados revocados y esta base de datos estará disponible bajo cualquier condición.
CRLite combina información de
Para eliminar los falsos positivos, CRLite ha introducido niveles de filtro correctivo adicionales. Después de generar la estructura, se buscan todos los registros fuente y se identifican los falsos positivos. Según los resultados de esta verificación, se crea una estructura adicional, que se conecta en cascada sobre la primera y corrige los falsos positivos resultantes. La operación se repite hasta eliminar por completo los falsos positivos durante el control. Normalmente, crear entre 7 y 10 capas es suficiente para cubrir completamente todos los datos. Dado que el estado de la base de datos, debido a la sincronización periódica, va ligeramente por detrás del estado actual de la CRL, la verificación de los nuevos certificados emitidos después de la última actualización de la base de datos CRLite se realiza utilizando el protocolo OCSP, incluido el uso de
Utilizando filtros Bloom, la porción de información de WebPKI de diciembre, que cubre 100 millones de certificados activos y 750 mil certificados revocados, se pudo empaquetar en una estructura de 1.3 MB de tamaño. El proceso de generación de estructura consume bastantes recursos, pero se realiza en el servidor Mozilla y el usuario recibe una actualización lista para usar. Por ejemplo, en formato binario, los datos de origen utilizados durante la generación requieren aproximadamente 16 GB de memoria cuando se almacenan en Redis DBMS, y en formato hexadecimal, un volcado de todos los números de serie de los certificados requiere aproximadamente 6.7 GB. El proceso de agregar todos los certificados revocados y activos tarda unos 40 minutos y el proceso de generar una estructura empaquetada basada en el filtro Bloom tarda otros 20 minutos.
Mozilla actualmente garantiza que la base de datos CRLite se actualice cuatro veces al día (no todas las actualizaciones se entregan a los clientes). La generación de actualizaciones delta aún no se ha implementado: el uso de bsdiff4, utilizado para crear actualizaciones delta para las versiones, no proporciona la eficiencia adecuada para CRLite y las actualizaciones son excesivamente grandes. Para eliminar este inconveniente, está previsto reelaborar el formato de la estructura de almacenamiento para eliminar la reconstrucción y eliminación de capas innecesarias.
CRLite actualmente funciona en Firefox en modo pasivo y se utiliza en paralelo con OCSP para acumular estadísticas sobre el correcto funcionamiento. CRLite se puede cambiar al modo de escaneo principal; para hacer esto, debe configurar el parámetro security.pki.crlite_mode = 2 en about:config.
Fuente: opennet.ru