La necesidad de seguir innovando en el SSL

Toda protección termina quebrantándose antes o después, por lo que es mejor que sigamos mejorando nuestras defensas en materia de seguridad.

Con toda probabilidad, los certificados que no utilizan MD5 utilizan SHA-1, según los ingenieros, y aún así estos tampoco son seguros. Otro estudio ha mostrado que SHA-1 es probablemente vulnerable a los ataques de colisión también, y que sólo es cuestión de tiempo que unos mejores algoritmos y unas PlayStations más rápidas consigan traspasar el SHA-1.

Existen versiones más potentes de SHA-2 que utiliza claves de longitud variable y que se conoce como SHA-224, SHA-256, SHA-384 y SHA-512. El Instituto Nacional de Estándares y Tecnología de Estados Unidos ha puesto en marcha un concurso para encontrar una nueva función hash, que se llamaría SHA-3, con lo que se establecería un nuevo estándar. Uno de los contendientes es Skein, promovido por Bruce Schneier y otros compañeros.

Por un lado, cambiar las funciones hash es fácil, pero en la práctica termina siendo un verdadero dolor de cabeza. Es como decir que vamos a cambiar de destornilladores de estrella a planos, y que no puedes utilizar destornilladores de estrella después de un tiempo. Significa que tienes que deshacerte de los viejos destornilladores de estrella también. Están en todos lados, en sitios que habías olvidado. La primera cosa que tienes que hacer es dejar de utilizar los viejos certificados, y esto hará que en muy poco tiempo las autoridades de certificación dejen también de usar hashes MD5, aunque resulta bastante sorprendente que hasta ahora hayan seguido utilizándose. El SDL (Security Development Lifecycle) de Microsoft insta a los usuarios a que eviten los viejos hashes y utilicen SHA-256 o funciones más recientes.

Como reacción a este estudio, y al escándalo con el certificado de mozilla.com, hay quien dice que no son sino “una pantomima de seguridad” y aseguran que ni siquiera ayudan como elemento disuasorio. En mi opinión esto es una exageración y una actitud que no ayuda en nada. El EV-SSL (que no permite el hash MD5) ayuda a poner los detalles del certificado más a la vista del usuario. Es cierto que SSL (Secure Sockets Layer) necesita más mejoras como esta para poder ofrecer algo más cercano a lo que la gente cree que ofrece. Esto también necesitará de algún tiempo.

¿Qué significa todo esto? La lección más importante no es algo específico de SSL o de los certificados, sino de que estos estándares de seguridad evolucionan y los usuarios tienen que evolucionar con ellos. La idea de “si no hay nada roto, no lo arregles” no funciona bien con temas de seguridad porque las cosas a menudo se rompen incluso cuando todo parece estar bien en apariencia.

Veo la misma reticencia al cambio en todos sitios, como la gente que piensa que Internet Explorer 6 está bien y que Microsoft debería seguir vendiendo Windows XP por siempre. Con muy pocas excepciones, los viejos software son inseguros, y existen límites a lo que puedes arreglar poniendo parches. Algunas veces necesitas tirarlos y hacerte de aplicaciones nuevas.