Join Our Discussion

2.4. MODELO DE SEGURIDAD


Este capitulo describe los componentes de los servicios de seguridad en el sistema operativo iPhone.

Las APIs de seguridad de iPhone OS se encuentran localizadas en la capa del núcleo de servicios y están basadas en servicios en la capa del núcleo del sistema operativo.

Las aplicaciones en el iPhone llaman a las APIs de seguridad de servicios directamente mejor que ir a través de la “Cocoa Touch” o capas de nivel medio.

Las aplicaciones de red pueden sólo acceder a las funciones de seguridad de red a través de CFNetwork API, la cual está también localizada en la capa del núcleo de servicios.

-         Demonio del servidor de seguridad

La implementación de la seguridad en iPhone OS incluye un demonio llamado el “Servidor de seguridad” que implementa varios protocolos de seguridad, como acceso a objetos “Keychain” y administración de certificados raiz de confianza.

El servidor de seguridad tiene APIs no públicas. Las aplicaciones usan el “Keychain Services API” y los certificados, llaves y API de servicios de confianza, las cuales a su vez se comunican con el servidor de seguridad. Por qué, a diferencia de los servicios de seguridad de MacOS X, los servicios de seguridad de iPhone OS no proporcionan una interfaz de autentificación, no hay necesidad para los servicios de seguridad de tener una interfaz de usuario.

-         APIs de seguridad del iPhone OS

La seguridad del API de iPhone OS está basada en servicios de la capa del núcleo de servicios, incluyendo la común “Crypto library” en las librerias del sistema (librerías dinámicas). Esta sección muestra cómo cada API de seguridad del iPhoneOS encaja en la totalidad de la arquitectura de seguridad. Ver los servicios de seguridad para una descripción más detallada de cada API.




Keychain

El “keychain” es usado para almacenar contraseñas, llaves, certificados y otros elementos de seguridad. Esta es una implementación que requiere ambas funciones criptográficas (para encriptar y desencriptar ‘secretos’) y las funciones de datos de almacenamiento (para almacenar los ‘secretos’ y  ficheros de datos relacionados). Para archivar estos objetivos, los servicios Keychain llaman a las librerias dinámicas comunes “Crypto”.

CFNetwork

CFNetwork es un API de alto nivel que puede ser usada por aplicaciones para crear y mantener seguros los flujos de datos y para añadir información de autenticación a los mensajes. CFNetwork llama a los servicios subyacentes de seguridad para establecer una conexión segura.

Certificate, Key, and Trust Services

Los certificados, llaves y las APIs de servicios de confianza incluyen funciones para:

·        Crear, administrar y leer certificados.

·        Añadir certificados al Keychain.

·        Crear llaves de encriptación.

·        Encriptar y desencriptar datos.

·        Firmar datos y verificar firmas.

·        Administrar vigilantes de confianza.

Para ofrecer todos estos servicios el API llama a la librería dinámica común “Crypto” y otros servicios de niveles del núcleo de servicios.

Randomization Services

La aleatorización de servicios proporciona criptográficamente una seguridad basada en números pseudoaleatorios, que son generados por un algoritmo computacional (y no son por consiguiente verdaderamente aleagorios), pero el algoritmo no puede deducirse directamente de la secuencia. Para generar estos números, los servicios de aleatorización llaman a un generador de números aleatorios en la capa del núcleo del sistema operativo.
















Comments