stringtranslate.com

Llavero (software)

Keychain es un sistema de gestión de contraseñas desarrollado por Apple para macOS . Fue introducido con Mac OS 8.6 y se incluyó en todas las versiones posteriores del sistema operativo hasta macOS Sonoma (versión 14) . Un llavero puede contener varios tipos de datos: contraseñas (para sitios web , servidores FTP , cuentas SSH , recursos compartidos de red , redes inalámbricas , aplicaciones de groupware , imágenes de disco cifradas ), claves privadas , certificados y notas seguras. Keychain fue reemplazado por Passwords con macOS Sequoia en 2024.

Historia

Los llaveros se desarrollaron inicialmente para el sistema de correo electrónico de Apple, PowerTalk , a principios de los años 90. Entre sus muchas funciones, PowerTalk utilizaba complementos que permitían recuperar correo de una amplia variedad de servidores de correo y servicios en línea. El concepto de llavero surgió naturalmente de este código y se utilizó en PowerTalk para administrar todas las credenciales de inicio de sesión de un usuario para los diversos sistemas de correo electrónico a los que PowerTalk podía conectarse.

Las contraseñas no eran fáciles de recuperar debido al cifrado, pero la simplicidad de la interfaz permitía al usuario seleccionar una contraseña diferente para cada sistema sin temor a olvidarlas, ya que una sola contraseña abriría el archivo y las devolvería todas. En ese momento, las implementaciones de este concepto no estaban disponibles en otras plataformas. Keychain era una de las pocas partes de PowerTalk que obviamente era útil "por sí sola", lo que sugería que debería promocionarse para convertirse en parte del sistema operativo básico de Mac. Pero debido a la política interna, se mantuvo dentro del sistema PowerTalk y, por lo tanto, estuvo disponible para muy pocos usuarios de Mac. [ cita requerida ]

No fue hasta el regreso de Steve Jobs en 1997 que el concepto de Keychain fue revivido a partir del ahora discontinuado PowerTalk. En ese momento, el concepto ya no era tan inusual, pero todavía era raro ver un sistema de Keychain que no estuviera asociado con una pieza particular de software de aplicación, típicamente un navegador web . Keychain se convirtió más tarde en una parte estándar de Mac OS 9 y se incluyó en Mac OS X en las primeras versiones comerciales.

Almacenamiento y acceso

En macOS, los archivos de llavero se almacenan en ~/Library/Keychains/(y subdirectorios), /Library/Keychains/, y /Network/Library/Keychains/, y la aplicación GUI de Keychain Access se encuentra en la carpeta Utilidades en la carpeta Aplicaciones. [1] [2] Es un software gratuito de código abierto publicado bajo los términos de APSL-2.0 . [3] El equivalente de línea de comandos de Keychain Access es /usr/bin/security.

La base de datos de la cadena de claves está cifrada por tabla y por fila con AES-256-GCM . El momento en el que se descifra cada credencial, el tiempo durante el que permanecerá descifrada y si la credencial cifrada se sincronizará con iCloud varía según el tipo de datos almacenados y está documentado en el sitio web de soporte de Apple. [4]

Bloqueo y desbloqueo

El archivo de llavero predeterminado es el loginllavero, que normalmente se desbloquea al iniciar sesión con la contraseña de inicio de sesión del usuario, aunque la contraseña para este llavero puede ser diferente de la contraseña de inicio de sesión de un usuario, lo que agrega seguridad a expensas de cierta comodidad. [5] La aplicación Keychain Access no permite configurar una contraseña vacía en un llavero.

El llavero se puede configurar para que se "bloquee" automáticamente si la computadora ha estado inactiva durante un tiempo, [6] y se puede bloquear manualmente desde la aplicación Acceso al llavero. Cuando está bloqueado, se debe volver a ingresar la contraseña la próxima vez que se acceda al llavero para desbloquearlo. Sobrescribir el archivo con ~/Library/Keychains/uno nuevo (por ejemplo, como parte de una operación de restauración) también hace que el llavero se bloquee y se requiera una contraseña en el próximo acceso.

Sincronización de contraseñas

Si el llavero de inicio de sesión está protegido por la contraseña de inicio de sesión, la contraseña del llavero se cambiará siempre que se cambie la contraseña de inicio de sesión desde una sesión iniciada en macOS. En una red compartida Mac/no Mac, es posible que la contraseña del llavero de inicio de sesión pierda la sincronización si la contraseña de inicio de sesión del usuario se cambia desde un sistema que no sea Mac. Además, si la contraseña se cambia desde un servicio de directorio como Active Directory u Open Directory, o si la contraseña se cambia desde otra cuenta de administrador, por ejemplo, mediante las Preferencias del sistema. Algunos administradores de red reaccionan a esto eliminando el archivo del llavero al cerrar la sesión, de modo que se creará uno nuevo la próxima vez que el usuario inicie sesión. Esto significa que las contraseñas del llavero no se recordarán de una sesión a la siguiente, incluso si la contraseña de inicio de sesión no se ha cambiado. Si esto sucede, el usuario puede restaurar el archivo del llavero desde ~/Library/Keychains/una copia de seguridad, pero al hacerlo se bloqueará el llavero, que luego deberá desbloquearse en el próximo uso.

Software de terceros para la sincronización de llaveros

Se desarrolló una aplicación de software de terceros que permitía la sincronización de llaveros personales generados mediante el acceso a llaveros en Mac OS X. Estos llaveros de usuarios generados mediante el acceso a llaveros estándar se podían sincronizar entre dispositivos (iPhones y computadoras de escritorio de Apple) mediante un par de aplicaciones de sincronización de llaveros desarrolladas por Patrick Stein de Jinx Software, una para Mac OS X y otra para iOS llamada Keychain2Go. El desarrollador no pudo actualizar correctamente Keychain2Go para tener en cuenta las restricciones que Apple hizo a Keychain y al acceso a Keychain en Mac OS X Sierra 10.12. [7]

Seguridad

Keychain se distribuye tanto con iOS como con macOS. La versión para iOS es más sencilla porque las aplicaciones que se ejecutan en dispositivos móviles normalmente solo necesitan funciones muy básicas de Keychain. Por ejemplo, funciones como las ACL (listas de control de acceso) y el uso compartido de elementos de Keychain entre diferentes aplicaciones no están presentes. Por lo tanto, los elementos de Keychain de iOS solo son accesibles para la aplicación que los creó.

Como almacenamiento predeterminado de información confidencial de los usuarios de Mac, Keychain es un objetivo principal para ataques de seguridad.

En 2019, el investigador de seguridad alemán Linus Henze, de 18 años, demostró su truco, llamado KeySteal, que obtiene contraseñas del llavero. Inicialmente, ocultó los detalles del truco y exigió a Apple que estableciera una recompensa por errores para macOS. Sin embargo, Apple no lo había hecho cuando Henze reveló posteriormente el truco. Utilizó el acceso de Safari a los servicios de seguridad, disfrazado como una utilidad en macOS que permite a los administradores de TI manipular los llaveros. [8]

Véase también

Referencias

  1. ^ "Ayuda de Mac OS X 10.5: Cómo cambiar la contraseña de la cadena de llaves". Docs.info.apple.com. Archivado desde el original el 31 de mayo de 2012. Consultado el 28 de marzo de 2016 .
  2. ^ "Ayuda de Mac OS X 10.4: Cómo cambiar la contraseña de la cadena de llaves". Docs.info.apple.com. Archivado desde el original el 31 de mayo de 2012. Consultado el 28 de marzo de 2016 .
  3. ^ Apple Inc. «Source Browser». opensource.apple.com . Consultado el 26 de febrero de 2012 .
  4. ^ "Protección de datos de llaveros". Apple Inc. 17 de mayo de 2021. Archivado desde el original el 20 de diciembre de 2021 . Consultado el 20 de diciembre de 2021 .
  5. ^ "Ayuda de Mac OS X 10.5: Cómo cambiar la contraseña de la cadena de llaves". Docs.info.apple.com. Archivado desde el original el 13 de junio de 2011. Consultado el 26 de febrero de 2012 .
  6. ^ "Ayuda de Mac OS X 10.4: Cómo bloquear y desbloquear el llavero". Docs.info.apple.com. Archivado desde el original el 13 de junio de 2011. Consultado el 26 de febrero de 2012 .
  7. ^ Stein, Patrick. "Software de sincronización de llaveros Keychain2go". Jinx Software . Consultado el 22 de marzo de 2023 .
  8. ^ Newman, Lily Hay (1 de junio de 2019). "Las complicadas artimañas detrás de un ataque furtivo con un llavero de Apple". Wired . Consultado el 9 de julio de 2021 .