Los usuarios de Mac ahora pueden utilizar el Secure Enclave del dispositivo, un módulo de seguridad de hardware dedicado, para almacenar identidades SSH que están protegidas físicamente contra la extracción. A diferencia de las claves SSH tradicionales almacenadas como archivos en un directorio `~/.ssh`, estas identidades se generan dentro del enclave y solo pueden acceder a ellas mediante autenticación biométrica, como Touch ID. Esta configuración garantiza que, incluso si el sistema de archivos de una máquina se ve comprometido, el material de la clave privada permanezca inaccesible porque nunca sale del hardware seguro.

Esta imagen representa el concepto de usar el Secure Enclave para claves SSH vinculadas al hardware, como se describe en el artículo.
Para implementar esto, los usuarios pueden utilizar la herramienta de línea de comandos `sc_auth` para crear una identidad de "CryptoTokenKit" (CTK). Al especificar el tipo de clave `p-256-ne`, el sistema genera una clave "No Extraíble". Para conectar esto con los protocolos SSH estándar, macOS proporciona una biblioteca de traducción llamada `ssh-keychain.dylib`. Al registrar esta biblioteca como un proveedor de claves de seguridad mediante el comando `ssh-add -K -S`, el agente SSH aprende a comunicarse con el Secure Enclave. Cuando un usuario intenta conectarse a un servidor (por ejemplo, GitHub), el agente solicita una firma al enclave, lo que activa una solicitud de Touch ID en el Mac.
Si bien esto proporciona un alto nivel de seguridad, introduce una desventaja significativa: las claves están vinculadas al hardware. Debido a que el material privado no puede exportarse, un usuario que pierda su Mac o sufra una falla de hardware perderá el acceso a esas identidades específicas. Esto requiere una estrategia de respaldo robusta, como mantener una clave de seguridad física secundaria o un respaldo en papel de una clave separada. Además, aunque este método elimina el riesgo de eliminar accidentalmente un archivo, crea una "calle de sentido único" donde la identidad queda bloqueada a esa pieza de hardware específica, lo que podría complicar los flujos de trabajo que requieren migraciones frecuentes de dispositivos o sincronización en múltiples dispositivos.
Las sutilezas técnicas incluyen el hecho de que `ssh-add` aún puede solicitar un PIN incluso cuando se utilizan biometría, ya que utiliza por defecto una lógica de autenticador de estilo FIDO. Además, aunque la curva `p-256-ne` es actualmente el estándar para este flujo de trabajo, los usuarios deben asegurarse de usar la bandera de protección `-t bio` para imponer el requisito biométrico; de lo contrario, el enclave podría permitir el acceso solo por software sin una verificación de huella dactilar. Estas configuraciones aseguran que la seguridad de estilo "ciencia ficción" del enclave sea realmente utilizada por la pila de red del sistema operativo.
En última instancia, este enfoque cambia el modelo de seguridad de "algo que tienes" (un archivo en un disco) a "algo que eres" (una firma biométrica) combinado con un secreto bloqueado por hardware. Elimina eficazmente el riesgo de robo de claves a través del acceso al sistema de archivos, pero requiere que los usuarios acepten la permanencia del vínculo con el hardware. Para aquellos que necesitan más flexibilidad, métodos alternativos como el uso de un almacén de contraseñas local protegido por Touch ID para descifrar claves SSH estándar siguen siendo una opción para quienes requieren respaldos de claves portátiles.
El mecanismo se basa en los símbolos `_sk_load_resident_keys` y `_sk_sign` exportados por la biblioteca `ssh-keychain.dylib`. Estos permiten que el agente SSH descubra las claves públicas que residen en el enclave y solicite al enclave que realice la firma criptográfica de los desafíos. Este flujo refleja cómo funcionan las claves de seguridad FIDO2, pero reemplaza un dispositivo USB externo con el silicio interno del procesador del Mac.
Una limitación señalada por los usuarios es que no todas las aplicaciones o protocolos pueden interactuar con el Secure Enclave de la misma manera. Si bien funciona perfectamente para SSH estándar y Git sobre SSH, puede no ser compatible con cada flujo de autenticación personalizado. Los usuarios también deben tener en cuenta que, debido a que la identidad no es extraíble, no pueden simplemente copiar la clave a una computadora nueva; deben generar una nueva identidad y registrarla con sus proveedores de servicios cada vez que cambien de hardware.