23 votos

¿Cómo es el Sistema de Llavero asegurado en OS X?

Estoy buscando algo como este blanco de seguridad para iOS , excepto para OS X, o mejor aún, algún tipo de auditoría de la seguridad de informe de un experto independiente. Después de leer a través de la documentación como el Llavero de Servicios de Guía de Programación estoy más confundido acerca de lo que es vulnerable a una confrontación ataque en el cifrado de copia de seguridad de OS X Sistema.

La última vez que revisé, el usuario del llavero de inicio de sesión en OS X era tan segura como la contraseña. Recuerdo a algún problema que se contrajo el real secreto de la clave de algo como 111 bits (niebla de la memoria, por favor siéntase libre de corregirme) debido a algún problema con la contraseña se convierte en una clave, pero eso fue hace mucho tiempo y esperemos que se había solucionado.

Por otro lado, me han dicho que el Sistema de Llavero es inherentemente menos seguro, ya que cualquier administrador puede acceder a ella y un intruso tiene muchas opciones para convertirse en un administrador además de adivinar una sola contraseña del usuario.

En particular, me preocupa el almacenamiento de las contraseñas que se utilizan en la automatización de secuencias de comandos en el Sistema de Llavero como el sistema de archivos son copiados y almacenados fuera del sitio sin más de cifrado. Documentos y otros datos del usuario son encriptados antes de ser llevado fuera del sitio, pero tengo una persistente sospecha de que hay un camino que yo estoy con vistas a que recupera las claves de una vez que el Sistema de Llavero se ve comprometida (debido a nuestros procedimientos, no necesariamente de cifrado defectos). Así que quiero tener una comprensión profunda de cómo el Sistema de Llavero es al mismo tiempo aseguró que aún accesible para cualquier administrador.

  1. Cómo son las claves de la arquitectura de tal manera que cualquier usuario administrativo puede desbloquear el Sistema de Llavero?

  2. Hay criptográficos restricciones que limitan lo que un usuario administrativo puede hacer con la información contenida en el Sistema de Llavero de alguna manera?

  3. Dado un sin cifrar copia de seguridad del sistema sin /Users, ¿cómo se puede acceder a las claves en el Sistema de Llavero?

Estoy interesado en OS X 10.5 Leopard y versiones posteriores.

13voto

Peter Hahndorf Puntos 1086

El sistema de llavero se almacena en /Library/Keychains/System.keychain y la clave para desbloquearlo se almacena en /var/db/SystemKey (en su defecto los permisos de archivo legible por root). La ubicación de estos archivos se hace referencia en la seguridad checksystem secuencia de comandos (desde el security_systemkeychain de origen). Incluso es posible poner a prueba automática de bloqueo/desbloqueo del sistema mediante el uso de llavero

systemkeychain -vt

El llavero marco de seguridad que permite a los no-privilegiados programas para realizar solicitudes de información, siempre que la ACL almacenados dentro de las llaves de la entrada. Obviamente, si un usuario ha root de que en un sistema que se puede acceder directamente tanto en el archivo de almacenamiento el sistema de llavero y la clave para desbloquearlo, por lo tanto no se han de hacer las solicitudes a través del marco de seguridad y no dependemos de la Acl almacenados en el keychain.

(Que en realidad no responder a la pregunta original así que vamos a darle a este otro ir)

Cómo son las claves de la arquitectura de tal manera que cualquier usuario administrativo puede desbloquear el Sistema de Llavero?

El libsecurity llavero marco permite regular los procesos de interactuar con el sistema llavero en una autentica forma de Apple XPC la comunicación entre procesos de marco (IPC).

Programa envía una petición de acceso al sistema de llavero de la información, utilizando el IPC. Se realiza una comprobación de que el solicitante está ya en la rueda de grupo y también sabe la contraseña de un usuario en el grupo wheel. Una vez que la autorización es confirmado, el privilegiado kcproxy demonio puede ser usado para tener acceso al material en /var/db/SystemKey, desbloquear el sistema de llavero y devolver la información solicitada.

Hay criptográficos restricciones que limitan lo que un usuario administrativo puede hacer con la información contenida en el Sistema de Llavero de alguna manera?

No - administrativa de usuario tiene permiso para acceder a/cambiar nada en el sistema de llavero. Incluso si no podía, podía copiar los archivos subyacentes a otra máquina en la que se tiene el control completo y acaba de desbloquear/acceso allí.

Dado un sin cifrar copia de seguridad del sistema sin /Usuarios, ¿cómo podría usted tener acceso a las claves en el Sistema de Llavero?

Si la copia de seguridad del contenido de las copias de /Library/Keychains/System.keychain y /var/db/SystemKey , a continuación, me gustaría una copia de ellas a sus respectivos lugares en un nuevo OS X sistema y el uso de systemkeychain para hacer la posterior desbloquear el antiguo y volcar el llavero de la base de datos usando security dump-keychain.

5voto

Steve Evans Puntos 155

Sistema De Llavero

El Sistema de Llavero tiene algunas capacidades únicas. Estos son documentados por la systemkeychain manual de la página. Las menciones de la contraseña maestra son propensos a ser su foco. El sistema de llavero de código fuente específico es pequeño y está disponible.

El Sistema de Llavero, /System/Library/Keychains/System.keychain, es un Llavero de Apple y de los demonios a utilizar. En general usted debe evitar el uso de usuario a nivel de secuencias de comandos.

Revisión De Código: Llavero

Apple publicó el código fuente para el Llavero y el marco de seguridad para Mac OS X 10.5; usted puede revisar este código para descubrir cómo funciona.

Enfoque Alternativo: Separados Llavero

Usted puede crear un Llavero para guardar el script de credenciales. Recomendamos esta práctica a nuestros clientes. Puede utilizar la herramienta de línea de comandos de seguridad para acceder, extraer y gestionar su Llaveros, sin recurrir a una interfaz gráfica.

Considere la posibilidad de almacenar las contraseñas de tu secuencias de comandos automatizadas por separado, en un Llavero – y excluir este Llavero de su sitio fuera de back-up.

Agradezco la eliminación de las llaves de su back-up no es ideal, pero sería responder a sus inquietudes. En la restauración de la Mac, usted necesita para obtener las llaves de la espalda de una fuente diferente; puede ser más una fuente de confianza o de canal lateral.

Siempre se puede almacenar separado de Llavero de la contraseña en el Sistema de Llavero. Entonces, usted puede desbloquear el independiente Llavero de una secuencia de comandos. Si la copia es atacado, sólo exponer la contraseña con el Llavero y no el Llavero de la misma ya que este archivo no es con el apagado-sitio de respaldo.

2voto

demianturner Puntos 469

Apple ha publicado recientemente un documento que describa sus prácticas de seguridad, usted puede encontrar algunas respuestas allí. El documento es específico para iOS, pero muchas de las características de seguridad que tienen mucho en común con OS X.

0voto

Mykroft Puntos 4292

No tengo conocimiento específico de Llavero* pero esta es una muy estandarizada de práctica.

  1. Desea proteger archivo de texto sin formato "foo". Foo puede ser de tamaño arbitrario.
  2. Crear una clave simétrica para cifrar los foo.
  3. Cifrar la clave simétrica con una llave de cabeza de serie a partir de una contraseña.

Una vez hecho esto usted puede cambiar la "contraseña" por entrar en la corriente de la frase de paso, descifrar la clave simétrica y, a continuación, cifrado con la nueva frase de contraseña. Esto evita largas descifrado/procesos de cifrado en el caso de que "foo" es muy grande.

Entonces, ¿cómo hace este trabajo para varios usuarios que necesitan acceso al texto de foo? Bastante que realmente sencillo, basta con crear una copia cifrada de la clave simétrica de una vez por cada usuario. En otras palabras, el paso tres para cada usuario.

En la práctica todo esto se obtiene fuera de la vista y el usuario final sólo necesita tratar con su propia contraseña.

Con respecto a la parte 3 de sus preguntas, los usuarios de las claves no se almacenan en su casa. Que sería lo más probable es almacenado en /private/var en algún lugar. Así que incluso sin /Users alguien que anteriormente tenían acceso será capaz de desbloquear el sistema.


*Es posible que el Llavero de obras diferentes.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X