Con el fin de proteger las comunicaciones y los datos de los usuarios, los principales desarrolladores de software suelen implementar librerías criptográficas de terceros para, en vez de tener que desarrollar un nuevo sistema criptográfico (algo inviable prácticamente siempre), poder implementar fácilmente un cifrado robusto y seguro en sus proyectos. Sin embargo, no todas estas librerías son realmente seguras, y, por ello, Google ha lanzado un nuevo proyecto llamado Wycheproof.
Wycheproof es un proyecto desarrollado y mantenido por el grupo especializado en seguridad informática de Google, Google Security Team, pero, realmente, no es un producto oficial de la compañía. Este proyecto nace debido a que Google, igual que muchas otras compañías y plataformas, hacen uso de librerías criptográficas de terceros para brindar cifrado a sus plataformas y aplicaciones, sin embargo, en el cifrado, el más mínimo fallo puede tener unas consecuencias catastróficas para la seguridad, consecuencias que no de pueden asumir.
Por desgracia, la presencia de vulnerabilidades en los sistemas de criptografía es demasiado frecuente y, por ello, Google quiere ayudar a los responsables de los mismos a solucionarlo. Wycheproof es, entonces, un conjunto de pruebas independientes que buscan en las principales librerías criptográficas fallos conocidos o comportamientos inesperados de manera que puedan conocer de antemano la existencia de estos errores de seguridad y ponerlos solución lo antes posible. Puedes ver los algoritmos de clave simétrica y asimétrica.
Este conjunto de pruebas funciona con prácticamente todos los algoritmos modernos y los más populares, entre otros:
- AES-EAX
- AES-GCM
- DH
- DHIES
- DSA
- ECDH
- ECDSA
- ECIES
- RSA
Y, entre los 80 tipos de ataques diferentes que se incluyen, podemos destacar:
- Ataques de curva no válida (Invalid Curve)
- Números no repetidos en los esquemas de firmas digitales
- Ataques Bleichenbacher
Estos tests son de código abierto (aunque aún no están todos publicados a falta de corregir algunos fallos encontrados en varios algoritmos) y podemos acceder a ellos a través de GitrHub.
Gracias a Wycheproof se han detectado ya más de 40 errores en librerías criptográficas
En las 80 pruebas iniciales que han realizado los ingenieros de seguridad de Google han podido encontrar más de 40 errores en librerías ampliamente utilizadas, por ejemplo, cómo era posible recuperar la clave privada en implementaciones muy utilizados de algoritmos DSA y ECDHC.
Los expertos de seguridad de Google decidieron utilizar Java como ecosistema para Wycheproof, principalmente, porque utiliza un entorno común para el cifrado, lo que permite, desde una única plataforma, analizar todos los casos posibles. De todas formas, ellos mismos recomiendan el uso de OpenJDK, la alternativa libre al Java de Oracle.
Los ingenieros de Google recuerdan que, aunque un algoritmo pase las pruebas, eso no significa que sea totalmente seguro, sino que, simplemente, no es vulnerable a los tests que se han realizado, pero puede haber otras vulnerabilidades.
¿Qué te parece Wycheproof? ¿Crees que este proyecto ayudará a mejorar los algoritmos de cifrado actuales?