¿Se puede generalizar el llavero macOS en todas las aplicaciones de iOS?

1

¿Por qué no puedo acceder a mi llavero en aplicaciones de iOS que no sean safari (o aplicaciones OSX, en realidad)? ¿Cómo puedo acceder a mis contraseñas en toda la plataforma?

Walrus the Cat
fuente

Respuestas:

1

Es una característica de diseño del sistema de llavero en macOS e iOS. Cada elemento de llavero se almacena con un identificador único que le dice al sistema qué aplicación lo creó, y solo esa aplicación tiene permiso para acceder a él. También hay un concepto de grupos de acceso, donde un desarrollador puede permitir el acceso a un grupo de aplicaciones, por ejemplo, de modo que Google solo necesita almacenar sus credenciales una vez para que todas sus aplicaciones las utilicen.

Además de bloquear y desbloquear globalmente todo el llavero en   tiempos apropiados, el sistema también restringe a qué aplicaciones pueden acceder   artículos específicos de llavero. Por defecto, una aplicación que crea un elemento, y   Sólo esa aplicación, puede leerla o modificarla. Sin embargo, a veces usted   Quiero compartir un secreto entre las aplicaciones. Cómo haces esto depende de la   situación.

...

Desde una perspectiva de alto nivel, Keychain Services utiliza el código de una aplicación   firma con sus derechos incorporados para garantizar que solo un   La aplicación autorizada puede acceder a un elemento de llavero en particular. Por defecto, solo   la aplicación que creó un elemento puede acceder a él en el futuro. Pero llavero   Los servicios hacen más que simplemente verificar la identidad de una aplicación. En lugar,   compara el grupo de acceso de un elemento de llavero, registrado como el   El atributo kSecAttrAccessGroup, con la lista de grupos de acceso a los que   una aplicación pertenece. Si uno de los grupos de acceso de la aplicación coincide con el llavero   grupo del artículo, se concede el acceso. Del mismo modo, Keychain Services permite   una aplicación para crear elementos de llavero con el atributo kSecAttrAccessGroup   establecido en cualquiera de los grupos de acceso propios de la aplicación.

https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html

Alistair McMillan
fuente
2
hmm así que las otras dos respuestas básicamente me dijeron lo que quería escuchar (esto desaparecerá pronto), pero usted respondió exactamente porque no puedo De manera detallada e informada. ¡PUNTOS ADJUDICADOS!
Walrus the Cat
1

Apple simplemente no ha abierto el acceso a la Llavero a aplicaciones de terceros. Sin embargo, eso está cambiando en iOS 11. Podrás usar tu Llavero contraseñas a través del sistema entonces.


fuente
1

Puede acceder al llavero completo abriendo Acceso a Llavero en Mac, que se puede encontrar en la carpeta Utilidades. En iOS, puede acceder al llavero desde la configuración de Safari en "Contraseñas", sin embargo, la API para el llavero no se ha abierto para los desarrolladores.

Normalmente, puede acceder a la contraseña relevante si es para una aplicación distribuida por la autoridad que también administra la aplicación web, por ejemplo, Amazon, o cualquiera de las aplicaciones de Google que obtienen información sobre el llavero con el permiso del usuario mediante el uso de una ventana de safari dentro de la aplicación correspondiente para recuperar la clave API para la aplicación.

En las versiones de iOS y macOS que se realizarán este otoño, la función se integrará en el sistema y las aplicaciones podrán acceder al llavero sin usar una ventana.

bret7600
fuente