La mayoría de lo que he visto en la autenticación mutiifactor (por ejemplo, wikipedia o here on se) parece centrado en el ser humano. Es decir, es un ser humano que interactúa con una máquina y los factores están asociados con la autenticación de la identidad del ser humano en la máquina. Los factores están relacionados con una persona:
- algo que sabes (pin, contraseñas, etc.)
- algo que tienes (tokens, teléfono celular, etc.)
- algo que eres (reconocimiento de voz, huellas dactilares, etc.
- en el lugar donde te encuentras (ubicación: estás donde deberías estar, o estás en un lugar 'fuera de lugar' o 'menos confiable')
Si todos estos, "usted" es una persona. La autenticación de un solo factor es generalmente 'algo que sabes' y se considera menos segura hoy en día debido a la prevalencia de registradores de teclas, malware, ataques de diccionario, así como todas las vulnerabilidades contra el servidor que posee la contraseña. Así que la comunidad de seguridad ha creado estos otros factores para reducir el riesgo.
¿Existen múltiples factores para la comunicación máquina a máquina? La mayoría de nuestras máquinas se comunican a través de ssh y son 'factor único' (algo que la máquina "sabe"). Debido a que es una máquina, se usan teclas 'fuertes' (es decir, largas). Debido a su longitud, son menos propensos a los ataques de diccionario. Sin embargo, sigue siendo un 'factor único': una vez que conoce la contraseña, el sistema puede verse comprometido.
Iptables y las reglas de firewall podrían considerarse un segundo factor similar a 'en cualquier lugar donde estés'. Las restricciones apropiadas podrían ayudar a limitar la superficie de ataque.
@ tom-leek señala la diferencia entre "la amenaza para una persona es la suplantación" y "la amenaza para una máquina es la subversión". Una vez que se subvierte una computadora, "lo que una computadora puede hacer, puede hacer". Estoy interesado en ondular más allá de esa computadora subvertida original. Incluso si destruyo la computadora subvertida (lo suficientemente fácil de hacer en una aplicación en la nube), el atacante aún conoce las claves ssh y puede usarlas desde otras máquinas (es decir, es una amenaza de suplantación de identidad). Creo que la forma estándar de mitigar esto sería repudiar esa clave pública ssh. Esto se agita en muchas otras máquinas y me preguntaba si había otros factores para ayudar con la amenaza de "suplantación".
¿Qué otros 'factores' hay en la autenticación de máquina a máquina?