Qué ocurre cuando el reloj de un ordenador se desfasa solo 1 segundo

El reloj de tu PC o smartphone parece sorprendentemente preciso. Sin embargo, el reloj interno del ordenador (oscilador de cristal) se desfasa entre varios segundos y decenas de segundos al día. Si se deja sin corregir, la verificación de certificados TLS falla, las contraseñas de un solo uso de la autenticación de dos factores se invalidan, las marcas de tiempo de los registros dejan de ser fiables y la integridad de los datos en sistemas distribuidos se desmorona.

NTP (Network Time Protocol) es el protocolo que corrige este "desfase horario" a través de internet.

NTP - un protocolo que marca el tiempo desde 1985

NTP fue diseñado en 1985 por David L. Mills y es uno de los protocolos de internet más antiguos que siguen en funcionamiento. NTP opera con una estructura jerárquica (Stratum):

  • Stratum 0: fuentes de tiempo de alta precisión como relojes atómicos y receptores GPS. No se conectan directamente a la red
  • Stratum 1: servidores NTP conectados directamente al Stratum 0. "Relojes de referencia primarios"
  • Stratum 2: servidores que obtienen la hora del Stratum 1. Muchos servidores NTP públicos están aquí
  • Stratum 3 en adelante: obtienen la hora sucesivamente de servidores inferiores. Hasta un máximo de Stratum 15

NTP no simplemente copia la hora del servidor, sino que mide y compensa la latencia de red. Utiliza un algoritmo que obtiene la hora de múltiples servidores y selecciona estadísticamente el valor más fiable.

Lo que se rompe cuando la hora se desfasa

Verificación de certificados TLS

Los certificados TLS tienen un período de validez (Not Before / Not After). Si el reloj del cliente está muy desfasado, puede juzgar un certificado válido como "expirado" o uno aún no válido como "válido". El mecanismo de transparencia de certificados también depende de una hora precisa.

TOTP (contraseñas de un solo uso basadas en tiempo)

Las aplicaciones de autenticación como Google Authenticator generan códigos que cambian cada 30 segundos basándose en la hora actual. Si la hora del servidor y del cliente difiere en más de 30 segundos, los códigos no coincidirán y no se podrá iniciar sesión.

Autenticación Kerberos

La autenticación Kerberos utilizada en Active Directory no tolera por defecto diferencias horarias superiores a 5 minutos. Si NTP se detiene en una red corporativa, todos los empleados pueden quedar sin poder iniciar sesión.

Bases de datos distribuidas

Bases de datos distribuidas como Google Spanner determinan el orden de las transacciones por la hora. Google desarrolló TrueTime, un sistema propio de sincronización horaria que combina relojes atómicos y GPS para lograr precisión de microsegundos.

Fiabilidad de los registros

En la investigación de incidentes de seguridad, se correlacionan cronológicamente los registros de múltiples servidores. Si las horas están desfasadas, no se puede reconstruir correctamente la relación causal de los eventos.

El segundo intercalar - el mayor enemigo de la sincronización horaria

Como la velocidad de rotación de la Tierra no es constante, ocasionalmente se inserta un "segundo intercalar" para corregir la diferencia entre la hora del reloj atómico (UTC) y la hora basada en la rotación terrestre. Después de las 23:59:59 se añade un segundo 23:59:60 que normalmente no existe.

Durante la inserción del segundo intercalar de 2012, un bug en el kernel de Linux causó fallos en servicios como Reddit, Gawker y LinkedIn. Muchos programas asumían que "un minuto tiene 60 segundos" y no contemplaban la existencia de un segundo 61.

En respuesta a este problema, Google desarrolló el "leap smear" (suavizado del segundo intercalar). En lugar de insertar 1 segundo de golpe, ajusta la hora gradualmente durante 24 horas. En 2022, la Conferencia General de Pesas y Medidas (CGPM) adoptó una resolución para abolir el segundo intercalar antes de 2035.

Resumen

La sincronización horaria es una de las "infraestructuras invisibles" de internet, particularmente discreta pero de importancia incalculable. TLS, 2FA, Kerberos, bases de datos distribuidas, análisis de registros - todo depende de una hora precisa. Cuando verificas tu información de conexión en IP Check-san, el handshake TLS que sustenta esa comunicación también se basa en una sincronización horaria precisa.

Términos del glosario relacionados

TLS Requiere hora precisa para verificar el período de validez de los certificados. El desfase horario causa errores de certificado. Autenticación de dos factores TOTP genera códigos a partir de la hora actual, por lo que el desfase horario impide el inicio de sesión. Dirección IP La conexión a servidores NTP también utiliza direcciones IP. DNS La verificación de firmas DNSSEC también requiere una hora precisa. HTTPS Depende de la sincronización horaria a través de la verificación del período de validez de los certificados TLS.