Es normal, esperado y, en realidad, recomendado que los sitios grandes utilicen varios certificados. Google es enorme y tiene muchos servidores en todo el mundo; El DNS y el enrutamiento se realizan de manera tal que, en promedio, sus solicitudes de www.google.com
van al servidor más cercano, donde "cerca" se refiere a la topología de la red, que puede diferir de las consideraciones geográficas.
Cada servidor con el nombre www.google.com
debe poder usar un certificado con su nombre (o algo que coincida con su nombre, como *.google.com
), y el servidor debe tener acceso a la clave privada correspondiente. Sin embargo, si dos servidores geográficamente distantes usan la misma clave privada, entonces esa clave privada necesariamente debe haber viajado entre ellos o desde una fuente común en algún momento. Cuanto más se duplica y viaja una clave privada, menos "privada" puede ser.
Por lo tanto, es mejor, desde el punto de vista de la seguridad, que cada servidor genere su propio par de claves privada / pública y obtenga un certificado específico del servidor. Desde el punto de vista de un cliente, puede observar varios de estos certificados, en particular si se "muda" (en el mundo de la red, su oficina de trabajo y su hogar pueden estar muy lejos el uno del otro).
Otras situaciones que necesariamente implican cambios en el certificado son renovaciones. Los certificados tienen una duración limitada, con una fecha de "fin de validez"; Por lo general, viven de uno a tres años. La renovación puede o no reutilizar la misma clave pública, pero en cualquier caso el nuevo certificado será distinto del anterior, aunque solo sea en la fecha de caducidad. X.509 está diseñado para soportar dichas actualizaciones sin problemas. En realidad, está diseñado para admitir renovaciones cada 5 minutos, lo que es un exceso excesivo; Convergence trata de vivir en ese "margen excesivo" (es decir, detecta los certificados de pescado en virtud de que aparentemente se renuevan o cambian de manera demasiado frecuente).