Identidad en la seguridad móvil

Anuncio
REPORTE OFICIAL| septiembre de 2014
Identidad en
la seguridad móvil
2 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
Tabla de contenido
Introducción
3
Sección 1: Amenazas recientes 4
Sección 2: Desafíos para proteger las aplicaciones móviles Protección de API (interfaz gráfica de usuario)
PKI (infraestructura de clave pública)
Normas de seguridad en evolución
5
Sección 3: Requisitos 6
Sección 4: Un nuevo enfoque respecto de la seguridad
7
Sección 5: Características del lado servidor 8
Sección 6: Arquitectura cliente
Token cliente y almacenamiento de claves privadas
Bibliotecas del lado cliente
9
Sección 7: Flujo de protocolo de aprovisionamiento 11
Sección 8: Conclusión
12
3 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
Introducción
En los últimos años, el concepto de “computación en cualquier lugar,
en cualquier momento” se ha convertido en el denominador común
que impulsa las ventas de dispositivos electrónicos personales
a medida que los usuarios adoptan nuevas categorías de dispositivos,
como teléfonos inteligentes, tabletas y televisores inteligentes.
Estos dispositivos permiten que los clientes y los empleados accedan
a información y servicios desde casi cualquier dispositivo en cualquier
momento. Estudios de Gartner muestran que el mercado de teléfonos
móviles estimado llegará a los 1800 millones de dispositivos
en 20131.
Mientras el auge de las ventas de dispositivos móviles continúa,
proliferan las aplicaciones con iOS y Android que brindan una
experiencia de aplicación más personalizada para el uso profesional
y privado. Para hacer frente a la gran demanda, los desarrolladores del
mundo aprovechan las plataformas de identidad de las redes sociales
o los sistemas empresariales de identidad para proporcionar una
experiencia de aplicación personalizada. Además de esto, las
aplicaciones y los datos se encuentran diseminados en varios centros
de datos en el mundo, y el desafío principal consiste en cómo
administrar la cantidad creciente de identidades de usuario que
necesitan acceder de manera segura a estas aplicaciones.2 Sin
embargo, es posible que la protección de la información sobre la
identidad del usuario no se tenga en cuenta con la frecuencia que los
usuarios desearían. En muchos casos, los usuarios necesitan acceso
a diferentes recursos que residen en un entorno de nube o detrás de
un firewall empresarial. Por lo tanto, la protección de la identidad ha
sustituido el perímetro de red empresarial tradicional como el nuevo
modelo para la seguridad.
El concepto de usar la identidad como base para controlar el acceso
no es una invención digital nueva, los pasaportes nacionales, por
ejemplo, han sido una fuente inequívoca de comprobación de la
identidad por más de 600 años. No obstante, la facilidad para
transferir información en un mundo digital y móvil ha hecho que la
administración de los datos confidenciales sea más imprescindible,
especialmente en las aplicaciones móviles.
El pago mediante un dispositivo móvil es un ejemplo de un servicio
móvil nuevo e innovador que se basa enormemente en información
comprobada pero confidencial del usuario. La manera exacta en que
una aplicación móvil acepta las credenciales del usuario y comprueba
la información es un factor clave para el éxito. Por lo tanto, este
problema tiene dos partes: la autenticación y la protección de los
datos. Las aplicaciones móviles deben resolver y comprobar las
identidades de los usuarios de un modo confiable. El protocolo OAuth
(Autorización abierta) se introdujo para derrotar el patrón
anticontraseña, en el que los usuarios debían compartir previamente
sus credenciales con las aplicaciones cuando se requería acceso a un
recurso protegido. Aunque OAuth ha mejorado la situación, aún es
frecuente que se solicite al usuario que escriba contraseñas. Como
resultado, se ha incrementado el uso de contraseñas de baja entropía.
Un estudio reciente mostró que aproximadamente el 82 % de las
contraseñas se descifraron en una hora3. Esto es una preocupación
y, como la identidad del usuario se convierte rápidamente en el
principal habilitador de servicios clave, es imperativo poner mayor
atención en la seguridad móvil. Hasta no hace mucho tiempo, toda la
industria móvil ha estado preocupada principalmente con la
administración de los dispositivos y lo que ha faltado ha sido un
enfoque renovado en la habilitación de aplicaciones seguras. Junto
con Samsung, la NSA (Administración de Seguridad Nacional) ha dado
pasos en esta dirección creando SE (Securiy Enhanced) Android. Sin
embargo, esta solución solo está disponible mediante el programa
Samsung Knox y no aborda un escenario particularmente importante
en el que la aplicación móvil consume datos confidenciales en el
back-end.
Analizando las brechas de seguridad de las aplicaciones móviles, las
siguientes áreas clave se deben resolver para proteger la identidad
y los datos del usuario. Primero, se debe establecer confianza mutua
entre la aplicación cliente y el proveedor de la API (interfaz de
programación de aplicaciones) back-end. Segundo, la infraestructura
de administración de identidades de la empresa o la organización
debe desarrollar un método para asistir a las aplicaciones móviles que
requieren acceso a los recursos que están detrás del firewall. Tercero,
el uso de esquemas de autenticación de nombre de usuario
y contraseña se debe reducir al mínimo mientras las reglas de
seguridad aún se implementan.
En este reporte se presentan amenazas recientes que han afectado
a millones de usuarios y se sugiere una solución potente aunque
simple y de bajo costo que no solo permite que las aplicaciones
móviles accedan a datos confidenciales, sino que también retiene la
confianza de las aplicaciones cliente y sus usuarios.
4 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
Sección 1:
Amenazas recientes
En 2012, millones de cuentas de usuarios de Facebook, Twitter
y Pinterest fueron comprometidas cuando los atacantes lanzaron
ataques de ingeniería social más sofisticados que nunca4.
Recientemente, a principios de 2013, un ataque a gran escala de una
aplicación móvil disfrazada como “software de banca seguro”
victimizó a usuarios de Android en diversos países enviando
información personal a piratas informáticos en Rusia5. En una escala
más pequeña, algunos programas troyanos, como Android/
MarketpayA, realizaron compras sin el conocimiento del usuario móvil.
Estas son solo algunas de las amenazas que han afectado a los
usuarios móviles de todo el mundo.
Según los informes de amenazas de McAfee, las muestras de software
malintencionado móvil se han incrementado de manera alarmante,
las cuales llegaron a más de 50 000 en 2013, con un 28 % detectado
solo en el primer trimestre del año6. Simultáneamente, como parte de
un conjunto de recomendaciones para el Gobierno federal, la GAO
(Oficina de Responsabilidad Gubernamental de EE. UU.) reportó que el
software malintencionado aumentó un 185 % en menos de un año7.
Aunque las motivaciones comunes, como ganancias financieras
y adquisición de contenido gratuito, siguen impulsando la cantidad
de casos de amenazas de seguridad, se informa que el spyware
malintencionado y los ataques dirigidos se volvieron más
prominentes en 2013.
Con el aumento de la cantidad de empresas que permiten la
metodología BYOD (Traer su propio dispositivo), es posible que los
dispositivos móviles personales de los empleados no tengan el mismo
nivel de medidas de seguridad que la mayoría de los administradores
empresariales especificarían en los dispositivos emitidos por la
empresa. Los dispositivos móviles se han vuelto más versátiles en
cuanto al uso, desde proporcionar llamadas de video hasta pagar un
café en el café local. Al mismo tiempo, las aplicaciones corporativas
empresariales han accedido a datos que están muy en lo profundo de
la empresa. Muchos de los denominados programas de uso según
BYOD han complicado el inventario de dispositivos, y hay un cambio
hacia el control de las aplicaciones móviles y sus usuarios. Sin
embargo, la forma más común de autenticación del usuario se basa
en el mecanismo de nombre de usuario y contraseña. Más alarmante
es que muchas aplicaciones simplifican el proceso de inicio de sesión
almacenando las credenciales localmente en texto no cifrado.
La mayoría de las veces, la protección de la información del usuario es
secundaria a la administración de los dispositivos en el proceso de
desarrollo; por lo tanto, son comunes las implementaciones defectuosas
de protocolos de comprobación de identidades. En consecuencia, han
proliferado los ataques de intermediario en los que la aplicación
malintencionada puede obtener acceso a la información de una empresa
o a los datos confidenciales de los usuarios.
Sección 2:
Desafíos para proteger las aplicaciones móviles
Existe una plétora de motivos para el incremento de las brechas de
seguridad. Generalmente, los desarrolladores de aplicaciones deben
seguir un cronograma muy justo para entregar características con alta
visibilidad y, por eso, la seguridad no suele ser el foco de sus
proyectos. Al mismo tiempo, la cantidad de ataques nuevos que surge
está creciendo tan rápidamente que es cada vez más difícil abordarla
de una manera adecuada. Idealmente, se esperaría que las
plataformas de los diversos dispositivos proporcionaran seguridad
incorporada. Pero la realidad es que, aunque la seguridad de las
plataformas está mejorando, no es coherente entre todas las
plataformas ni es suficiente para hacer frente a todos los problemas
de seguridad. Identificamos tres desafíos comunes que los
desarrolladores enfrentan cuando desarrollan aplicaciones seguras.
Protección de las API
Uno de los principales desafíos que presentan las aplicaciones móviles
es poder consumir las API back-end y proporcionar acceso adecuado
a solicitudes autenticadas y autorizadas. Si bien muchas soluciones
señalan a OAuth como una solución, en realidad, esto solo cubre el
mínimo básico. API diferentes tienen requisitos diferentes. En cuanto
a las API de gran valor en las que el recurso protegido tiene valor
monetario o necesita un alto nivel de garantía, se esperaría que se
realizara el establecimiento de una confianza bidireccional antes de
que la API se pueda invocar correctamente. Además, normas como la
HIPAA (Ley de Responsabilidad y Portabilidad del Seguro Médico),
cumplimiento con la PCI (Industria de las tarjetas de pago) y la ley
Sarbanes Oxley (en las que, por ley, se requieren niveles
5 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
criptográficamente asegurados de confianza) son de suma importancia
en algunos sectores industriales muy grandes. Se debe establecer una
confianza mutua entre la aplicación y el back-end. Solo en esa
situación se protegen las API back-end y la transacción se ejecuta
correctamente.
administradores de todo el mundo.8 Los sistemas de claves privadas
son vulnerables a los ataques de intermediario. Como estos
certificados digitales tienen información vital sobre los usuarios
identificados, se puede concluir que proteger la autenticidad
y la integridad del certificado es, de hecho, imperativo.
PKI (infraestructura de clave pública)
Normas de seguridad en evolución
La seguridad criptográfica mediante firmas digitales y cifrado es útil
en muchas áreas. Como un elemento estructural de la protección de
las aplicaciones, los sistemas de PKI pueden establecer identidades de
componentes en un sistema y en el desarrollo de aplicaciones móviles
que incluye dispositivos, aplicaciones y usuarios. Lo que es más
importante, la PKI respalda el establecimiento de confianza entre
estas entidades.
El sector y los proveedores están elaborando normas y soluciones de
seguridad a una velocidad acelerada. Las normas y soluciones en
evolución pueden ser difíciles de comprender, implementar
y mantener para el desarrollador promedio. Existen muchas
tecnologías disponibles para identificación, autenticación
y autorización. Solo en el sistema back-end, hay una infinidad de
normas, como SSL (capa de sockets seguros) con autenticación mutua,
credenciales de FTP (protocolo de transferencia de archivos), HTTP
(protocolo de transferencia de hipertexto) básico y certificados X.509.
Además, existen mecanismos de SSO (inicio de sesión único)
registrados que son relevantes para el desarrollo de aplicaciones en
este momento.
Cada entidad que participa en un ecosistema de PKI tiene un par de
claves pública y privada. La clave pública se encuentra incrustada en
un certificado digital para vincularlo con el propietario de la clave
privada. Se requiere una jerarquía de CA (autoridades de certificación)
para administrar la emisión y la revocación de los certificados
digitales en un sistema de PKI. Las dos partes de una transacción en la
que se utilicen certificados digitales confiarán en la CA. Es
extremadamente importante proteger las claves privadas de inicio de
sesión de estas autoridades de certificación, porque si las claves se
comprometen, todo el sistema de confianza colapsará. De igual
manera, es un desafío mantener en secreto la clave privada en un
dispositivo móvil que se puede exponer fácilmente mediante software
malintencionado.
Recientemente, la cantidad de casos que involucran
aprovechamientos, ataques y alteraciones de datos confidenciales
demanda la mejora de las prácticas de cifrado en las arquitecturas de
PKI. Ataques, como el ataque informático de VeriSign en 2010 y en
varias organizaciones de CA, por ejemplo, GlobalSign
y DigicertMalaysia, han generado inquietudes graves en los
La adopción de OAuth ha incorporado requisitos nuevos en la norma
OAuth 2.0. De manera similar, OpenID Connect evoluciona
constantemente para cumplir con los requisitos de los desarrolladores.
La rápida elaboración de estas normas deja a los desarrolladores con
las opciones de mantener el soporte de las implementaciones
existentes o adoptar versiones nuevas. Todas estas normas
y soluciones pueden no ser necesariamente el centro de atención del
desarrollador de la aplicación cuando existen otras inquietudes más
inmediatas, como cumplir con el plazo de un proyecto complicado
para lanzar “algo” al mercado. En ese punto, ciertamente no hay
tiempo para proporcionar capacidades avanzadas que armen de
manera dinámica las solicitudes de API con el rigor de seguridad
correspondiente.
6 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
Sección 3:
Requisitos
Las organizaciones que exponen API para aplicaciones móviles requieren el control total de los mecanismos de
protección contra amenazas que se implementan. Pero el “control total” se debe equilibrar con un modelo viable que
los desarrolladores puedan usar y comprender fácilmente.
Una manera óptima para simplificar el esfuerzo de los desarrolladores de aplicaciones móviles en cuanto a la seguridad
es ofrecerles un SDK (kit de desarrollo de software) del lado cliente que oculte la complejidad de la seguridad. El SDK
debe brindar una API fácil de usar que mejore las llamadas a la API back-end con el rigor de seguridad necesario.
Cuando se invente un nuevo esquema de autenticación, será sencillo actualizar una biblioteca cliente y back-end sin
forzar al desarrollador a comprender los detalles. Proporciona una separación clara de la lógica de las aplicaciones y las
inquietudes de seguridad. Los requisitos clave para esta solución incluyen proporcionar mecanismos para MSSO (SSO
móvil) y una SSL mutua. El fin del MSSO es reducir la cantidad de veces que se deben escribir las contraseñas en un
dispositivo. Cuando se usa una sesión con SSO, se evita posible comportamiento confuso de la aplicación, y la
experiencia del usuario se mejora. A la vez, la SSL mutua asegurará el establecimiento de la confianza bidireccional
entre el cliente y la API back-end.
En el lado cliente, toda material de clave o token se debe almacenar de manera segura. Este requisito, sin embargo,
sigue siendo un desafío, ya que los proveedores de software independiente continúan basándose en la potencia de la
plataforma subyacente. Además, la arquitectura debe distinguir entre las entidades principales de un caso de uso de
seguridad móvil: usuario, aplicación y dispositivo. Cada una puede tener que obtener un token de autenticación y un
administrador del sistema debe poder revocar el acceso a cada entidad individual.
Ilustración 1.
Usuarios
Relación entre
usuarios, aplicaciones
y dispositivos
Aplicaciones
Dispositivos
El resto de este reporte analizará una solución que usa una combinación de OAuth 2.0, OpenID Connect y PKI para
abordar estos requisitos.
7 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
Sección 4
Un nuevo enfoque respecto de la seguridad
En este nuevo enfoque de la protección de las aplicaciones móviles, buscamos aprovechar al máximo la infraestructura
existente. Para administrar las API de una organización cuando se exponen a aplicaciones internas, externas o de socios
de negocios, usualmente se necesita que una solución de administración de API establezca fácilmente un perímetro de
seguridad en la periferia de la red. Las aplicaciones móviles se vinculan con una biblioteca cliente que conecta la
aplicación con el punto de entrada de la empresa en la periferia. Con una llamada de API simple, el cliente establece un
SSO y un canal seguro para el consumo de la API back-end. Para ver un ejemplo, consulte la ilustración 2.
Ilustración 2.
Descripción general de
un perímetro de
seguridad
Servidores
de API
PIN de un solo uso,
SMS, APN, llamada
CA Technologies
AT&T
iPhone
o
nn
os e
ad
Bas
s
rma
Red empresarial
Android
iPad
Almacenamiento seguro de claves
que se pueden compartir entre
aplicaciones administrado por
bibliotecas cliente
Este enfoque requiere un lado servidor que utilice OpenID Connect y OAuth 2.0, y que pueda admitir extensiones de
protocolos adicionales.
8 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
Sección 5
Características del lado servidor
Para proporcionar una solución completa, se necesita un componente del lado servidor que admita la norma OAuth 2.0 y los extremos de
OpenID Connect. Además, proponemos extensiones de estos protocolos para administrar mejor la relación entre usuarios, dispositivos
y aplicaciones.
Para admitir cierto grado de seguridad y uso cuando las aplicaciones se utilizan en dispositivos móviles, se deben agregar características nuevas
a los protocolos existentes. El objetivo es proporcionar tareas relacionadas con la seguridad y los protocolos mediante el SDK de una manera que
sea más o menos transparente para el desarrollador. También se busca brindar a los usuarios el máximo control posible del acceso a las
aplicaciones y los dispositivos sin tener que recurrir a un administrador.
La tabla 1 a continuación describe esta solución con más detalle.
Tabla 1: Funciones admitidas de SSO móvil
Característica
Descripción
OAuth 2.0
En esta propuesta de SSO móvil, se requiere OAuth 2.0 con compatibilidad con el tipo de concesión de contraseña y el tipo
de concesión de token portador de JWT (token web de notación de objetos de JavaScript).
OpenID Connect (incluidas
extensiones relacionadas
con SSO móvil)
OpenID Connect se proporciona con extensiones para SSO móvil definidas como un nuevo alcance.
PKI
Firma de CSR (solicitudes de firma de certificado) que identifican un dispositivo y lo registran para validaciones posteriores.
Extremos relacionados con
protocolos
/connect/device/register: registra un dispositivo y devuelve un certificado firmado.
Extremos protegidos con
OAuth relacionados con
protocolos
/connect/device/list: devuelve una lista de los dispositivos de un usuario.
/connect/device/remove: quita el registro de un dispositivo.
/connect/session/status: devuelve el estado de la sesión de un usuario.
/connet/session/logout: cierra la sesión de un usuario y la finaliza.
/auth/oauth/v2/token/revoke: revoca un token.
Extremos de
OpenID Connect protegidos
con OAuth
/openid/connect/v1/userinfo: devuelve reclamos sobre un usuario.
Extremos relacionados con
la administración
/msso/manager: una vista simple basada en API de REST (transferencia de estado representacional) que permite a un
usuario verificar el estado de la sesión, los dispositivos registrados y las aplicaciones en ejecución.
El protocolo usa las extensiones de OAuth 2.0, OpenID Connect, JWT y OAuth. De esta manera, el protocolo no solo mejora, sino que no altera
ninguna implementación relacionada con OpenID Connect u OAuth. OAuth contiene el concepto de secreto compartido para las aplicaciones
(client_id/ client_secret) para fines de autorización. Algunas empresas no aprecian este enfoque, porque podría ser posible que los
desarrolladores de aplicaciones obtuvieran acceso a estos valores y los utilizaran incorrectamente. Pero para abordar este problema, el protocolo
permite que los desarrolladores usen una SSL mutua, la que agrega autenticación sólida a las aplicaciones. El certificado del lado cliente se
puede utilizar para autenticar un dispositivo o un usuario.
9 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
Sección 6:
Arquitectura cliente
A fin de ocultar la complejidad de los protocolos de seguridad y autenticación, proponemos un SDK cliente con API
fáciles de usar para desarrolladores de aplicaciones móviles. El SDK cliente tendrá una biblioteca que se utilizará para
desarrollar las aplicaciones, cuando participen en una sesión de SSO móvil y consuman API back-end. Para ser un
contenedor de inicio de sesión seguro, la biblioteca cliente administrará el flujo de protocolos y el almacenamiento
seguro de todo material de clave, tokens de acceso, tokens de usuarios y certificados. Cada aplicación tendrá su propio
llavero. Las aplicaciones que están firmadas con la misma clave de desarrollador empresarial usarán un llavero
compartido para certificados y token de usuario. El siguiente diagrama ilustra dónde se almacenan las aplicaciones
y los certificados, y cómo interactúan entre ellos en el dispositivo.
Figura 3.
Dispositivo móvil
Relación entre
usuarios, aplicaciones
y dispositivos
AT&T
Aplicaciones empresariales
access_token
refresh_token
Aplicación
A (SDK)
Certificado de servidor
de confianza JWT (token
web JSON) Certificado
de clave privada
access_token
refresh_token
Aplicación
B (SDK)
Llavero privado
Llavero privado
Llavero compartido
Aplicación
Aplicación
Aplicación
Aplicación
Aplicaciones
de terceros
Aplicación
En el dispositivo móvil, el área de aplicaciones empresariales solo contiene las aplicaciones que fueron firmadas por la
empresa. En la ilustración 3, las aplicaciones están marcadas como “A” y “B”. Cada una de estas aplicaciones contiene
el SDK, el cual maneja la comunicación con OAuth, crea pares de claves y genera una CSR. La puerta de enlace solo
acepta la CSR si contiene un DN (nombre distintivo) único.
Cada aplicación tiene acceso únicamente a su respectivo llavero privado. El llavero privado contiene el access_token
y el refresh_token. Todas las aplicaciones dentro del área de la empresa tienen acceso al mismo llavero compartido
mediante el SDK. En el área del llavero compartido, el certificado de servidor de confianza se importa desde la puerta
de enlace, el que se requiere cuando se usa una CA independiente. Se genera la clave privada y la puerta de enlace
firma el certificado. El JWT está disponible en el llavero compartido mientras el usuario esté en el SSO. Cuando el
usuario cierra sesión, el JWT se elimina.
10 | Reporte oficial: Identidad en la seguridad móvil
Token cliente y almacenamiento de claves privadas
El desafío principal es almacenar los tokens y las claves de una manera
segura en el lado cliente. En la plataforma de iOS, tokens portadores
y material de clave (por ejemplo, exponentes privados para una clave
de RSA [Rivest, Shamir y Adleman]) se almacenan en el llavero de iOS
cuando no los usa una aplicación. Las aplicaciones firmadas por la
misma clave de desarrollador pueden compartir secretos entre ellas
con el llavero. El contenido del llavero se cifra con una clave que está
mezclada con el código de acceso de bloqueo del dispositivo (si hay
uno) —este es el PIN (número de identificación personal) de 4 dígitos
en iOS— y el id. único secreto de hardware del dispositivo.
Cuando un dispositivo está bloqueado con el código de acceso, la
clave se borra de la memoria e, incluso, si la memoria flash es
clonada, el contenido del llavero es inaccesible. Una clave de acceso
simple se puede adivinar en algún momento mediante prueba y error,
pero esto requiere la posesión física del dispositivo, porque el UID
(número de identificación único) no se puede extraer de él. Como esto
se tiene que realizar en el dispositivo y el hardware solo puede
intentar una cantidad limitada de claves por segundo (muy por debajo
de 100), esto puede llevar mucho tiempo con una clave de acceso
compleja. Además, esto requiere conectar el teléfono a un hardware
USB (bus serie universal), debido a que la capa de software de iOS se
puede configurar para restablecer la clave de descifrado de la
memoria del dispositivo después de 10 intentos fallidos de adivinar la
clave de acceso. Fishnet Security calcula que una clave de acceso
alfanumérica de siete caracteres llevaría un milenio para descifrarse
en un ataque de fuerza bruta en el dispositivo9. En la plataforma
Android, los tokens portadores y el material de clave privada se
almacenan con el mecanismo de almacenamiento de credenciales de
Android cuando no lo usa una aplicación. Este sistema es
proporcionado por un daemon de almacenamiento de claves de
sistema que administra un directorio, el cual contiene archivos
cifrados. Las aplicaciones firmadas por la misma clave de
desarrollador y que tengan el mismo id. de Android pueden compartir
secretos entre ellas con este mecanismo. El contenido del
almacenamiento de claves se cifra con una clave maestra que se
deriva del código de desbloqueo del dispositivo. Se debe establecer un
código de desbloqueo en el dispositivo para usar este mecanismo.
Los bloqueos de pantalla del tipo “Ninguno” o “Deslizar” están
deshabilitados mientras el almacenamiento de credenciales está en
uso. La actividad de configuración no permitirá que se seleccionen
estos tipos de pantalla de bloqueo, a menos que el usuario active la
función “Borrar credenciales” primero. La clave maestra del
almacenamiento de credenciales se borra de la memoria cuando se
bloquea el dispositivo. Los ataques de fuerza bruta sin conexión en
ca.com/ar
una memoria flash clonada son posibles, pero se previenen gracias al
uso de la PBKDF2 (función de derivación de claves basada en
contraseña 2) (con un recuento de iteración de 8192) como la función
de derivación de claves. Con una GPU (unidad de procesamiento
gráfico) de alta gama capaz de computar 4000 millones de iteraciones
de la PBKDF2 por segundo, descifrar, en un ataque de fuerza bruta, una
clave maestra derivada de una clave de acceso con entropía
equivalente a una clave de acceso alfanumérica de 10 caracteres
debería llevar un milenio (aunque se debe mencionar que un ataque
puede dividirse en tantas GPU como el atacante puede permitirse).
Bibliotecas del lado cliente
Las bibliotecas del lado cliente contienen API fáciles de usar para
agregar la aplicación a una sesión de SSO. Se establece una SSL mutua
y solo se necesita una llamada de API para aprovechar la seguridad
criptográfica, OAuth, OpenID Connect y el JWT. Las bibliotecas del lado
cliente mejoran la solicitud con los parámetros de seguridad correctos
según la configuración del dispositivo. A continuación, se encuentra un
ejemplo de una biblioteca cliente que realiza una llamada de API
habilitada por un SSO con el método GET.
L7SHTTPClient *httpClient = [[L7SHTTPClient alloc]
initWithBaseURL:
[NSURL
URLWithString:@”https://www.example.com”]];
[httpClient registerHTTPOperationClass:[AFJSONRequestOperati
on class]];
[httpClient setDefaultHeader:@”Accept”
value:@”application/json”];
NSMutableDictionary * parameters =
[[NSMutableDictionary alloc] init];
[parameters setObject:@”listProducts”
forKey:@”operation”];
[httpClient getPath:@”/path_to_resources”
parameters:parameters
success:^(AFHTTPRequestOperation
*operation,
id responseObject) {
//code to handle success response
} failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
//code to handle failure response
11 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
Sección 7:
Flujo de protocolo de aprovisionamiento
A continuación, se presentan dos diagramas que ilustran cómo un dispositivo recibe un access_token. En la ilustración
4, se ejemplifica una situación en la que el dispositivo es registrado por primera vez y solicita un token de acceso.
El área gris es la aplicación que conecta el usuario, en este caso, a CA Mobile API Gateway.
Como es la primera vez que el usuario registra el dispositivo, no hay claves ni certificados disponibles. Múltiples puntos
de comprobación están involucrados, ya que primero se deben establecer la autenticación mutua y las claves privadas.
El SDK genera una clave privada y el id. del dispositivo en el llavero empresarial. Al mismo tiempo, se genera una CSR
y, luego, la información del perfil del usuario se envía a CA Mobile API Gateway. Es posible que en este punto se
realicen comprobaciones adicionales. Cuando el certificado firmado es devuelto y el dispositivo está correctamente
registrado, se puede otorgar la solicitud del access_token.
Figura 4.
Dispositivo que se
registra por primera
vez y solicita un token
de acceso
Aplicación/
SDK
Usuario
Llavero
empresarial
compartido
Llavero
privado
CA Mobile
API
Gateway
1. Inicia la aplicación.
2. Muestra la pantalla.
3. Solicita recursos.
4. Usa un certificado del llavero compartido.
5. No hay una clave o certificado disponible.
6. Solicitud de credenciales de registro.
7. Credenciales
8. Genera la clave privada,
incluye el id. del dispositivo en el DN.
9. Genera una CSR.
10. Se registra con detalles.
11. Valida las credenciales, firma el certificado.
12. Devuelve el certificado firmado y el id. del dispositivo.
13. Guarda el certificado.
14. El dispositivo está registrado.
15. Solicita el token de OAuth.
16. Autentica al usuario y la aplicación.
17. JWT (token web JSON)
18. Guarda JWT.
19. Guarda los tokens.
20. Usa la aplicación.
21. Llama la API con seguridad total.
22. Devuelve datos.
Usuario
Aplicación/
SDK
Llavero
privado
Llavero
empresarial
compartido
CA
Mobile API
Gateway
12 | Reporte oficial: Identidad en la seguridad móvil
ca.com/ar
En la ilustración 5, hay un escenario más simple en el que el dispositivo ya ha sido registrado y se ha establecido
la autenticación mutua. En este caso, el dispositivo registrado solicita un token subsiguiente. La puerta de enlace valida
al usuario con el JWT (token web JSON) y la aplicación. Se emite el access_token cuando el JWT y la aplicación
son validados.
Ilustración 5.
Aplicación/
SDK
Dispositivo ya
registrado que solicita
otro access_token
CA Mobile API Gateway
1. Solicita el access_token.
2. Valida al usuario (JWT) y la aplicación.
3. Emite el access_token.
Aplicación/
SDK
CA Mobile API Gateway
Sección 8:
Conclusión
Como las amenazas de seguridad y el robo de identidad siguen prevaleciendo, se recomienda considerar las medidas de
seguridad para manipular datos confidenciales como una prioridad más importante en un mapa de ruta de desarrollo
de aplicaciones móviles. CA Mobile API Gateway, que proporciona una solución de SSO móvil, contiene una medida de
seguridad basada en estándares completa que es fácil de implementar. Con un SDK móvil que ofrece una API simple en
el dispositivo, cualquier desarrollador móvil puede agregar SSO y proteger las llamadas de API al back-end mediante la
puerta de acceso móvil, sin tener que ser un experto en seguridad. A medida que esta área de la tecnología evoluciona,
vemos varios campos prometedores de investigación.
Primero, se encuentra la mejora de los aspectos dentro del flujo de OAuth. En la actualidad, el IETF (Grupo de Trabajo
de Ingeniería de Internet) está trabajando en el registro dinámico de los clientes. Esto mejoraría el uso
considerablemente, ya que antes no existían interacciones entre las partes10.
En segundo lugar, un aprovisionamiento más dinámico de la configuración del cliente podría permitir a las empresas
actualizar la configuración de solicitudes por aplicación o API. A medida que los dispositivos móviles cambian de
contexto, el rigor de la seguridad debe reflejar el nivel de amenaza actual.
Tercero, mejorar el almacenamiento de material de clave y tokens en el dispositivo es beneficioso. Android 4.2 (también
conocido como “Jelly Bean”) admite el almacenamiento de claves con el respaldo del módulo criptográfico ENGINE de
OpenSSL, el cual puede usar almacenamiento de claves de hardware seguro donde exista compatibilidad con hardware
y controladores. El módulo criptográfico ENGINE admite que una clave privada de RSA almacenada de manera segura se
utilice para la autorización del cliente de TLS (seguridad de la capa de transporte) con una firma de RSA, durante la cual
el material de clave privada nunca sale del almacenamiento de hardware seguro ni figura en la RAM (memoria de
acceso aleatorio) de una aplicación no protegida (ni siquiera temporalmente).
13 | Reporte oficial: Identidad en la seguridad móvil
Fourth está investigando cómo las aplicaciones back-end pueden confiar en otras fuentes de identidad; por ejemplo,
un sistema de MDM (administración de datos maestros) mediante una fuente externa, como un certificado de PIV
(comprobación de identidad personal) o una tarjeta de acceso común. Sería más rentable permitir que los
desarrolladores de aplicaciones se vinculen con los activos de infraestructura de identidad existentes de una
organización. La combinación de esto con un sistema de autenticación avanzada puede proporcionar una autenticación
en tiempo real basada en riesgos que determinaría el nivel de riesgo de actividades en línea. Otro beneficio es
amalgamar la identificación del usuario, la aplicación y el dispositivo con ubicación geográfica y patrones históricos,
que se pueden usar con reglas personalizadas para calcular el riesgo de cada autenticación o transacción.
En conclusión, la estrategia correcta para escribir aplicaciones móviles que aprovechen las API back-end es
implementar una función de puerta de enlace en el perímetro de la red y usar las bibliotecas del lado cliente para
proteger al desarrollador de aplicaciones de los protocolos de seguridad subyacentes. CA Mobile API Gateway
proporciona esta funcionalidad a través de los estándares abiertos.
Comuníquese con CA Technologies en ca.com/ar.
CA Technologies (NASDAQ: CA) crea un software que impulsa la transformación en las empresas y les permite
aprovechar las oportunidades de la economía de la aplicación. El software es el centro de cada empresa, en cada
industria. Desde la planificación hasta el desarrollo, la administración y la seguridad, CA trabaja con empresas en
todo el mundo para cambiar la forma de vivir, de realizar transacciones y de comunicarse, mediante entornos
móviles, de nube pública y privada, y centrales y distribuidos. Obtenga más información en ca.com/ar.
1Gartner. “Gartner Says Worldwide PC, Tablet and Mobile Phone Shipments to Grow 5.9 Percent in 2013 as Anytime-Anywhere-Computing Drives Buyer Behavior” (Gartner dice que los
envíos de equipos, tabletas y teléfonos móviles crecerá un 5,9 % en 2013 a medida que la computación en cualquier momento y en cualquier lugar impulsa el comportamiento de
los compradores).
http://www.gartner.com/newsroom/id/2525515. 24 de junio de 2013.
2CA Technologies. “Identity-centric Security” (Seguridad centrada en la identidad). http://community.ca.com/blogs/iam/archive/2013/05/13/identity-centricsecurity.aspx.
Blog de CA Community, 13 de mayo de 2013.
3Dan Goodin, “Anatomy of a hack: How crackers ransack passwords like 'qeadzcwrsfxv1331'” (Anatomía de un ataque: cómo saquean los descifradores contraseñas como
'qeadzcwrsfxv1331'). http://arstechnica.com/security/2013/05/how-crackersmake-minced-meat-out-of-your-passwords/. Arstechnica, 27 de mayo de 2013.
4Sophos. Security Threat Report 2013 (Reporte de amenazas de seguridad de 2013). http://www.sophos.com/enus/medialibrary/PDFs/other/sophossecuritythreatreport2013.pdf
5“Android Mobile Attacks Spreading across the Globe, McAfee finds” (McAfee detecta que los ataques móviles contra Android se propagan por el mundo).
http://www.crn.com/news/security/240155913/android-mobile-attacks-spreadingacross-the-globe-mcafee-finds.htm, revista CRN, 3 de junio de 2013.
6McAfee. McAfee Threats Report: First Quarter 2013 (Reporte de amenazas de McAfee: primer trimestre de 2013). http://www.mcafee.com/us/resources/reports/rp-quarterlythreat-q1-2013.pdf?cid=BHP014
7Estados Unidos. GAO. “Information Security: Better Implementation of Controls for Mobile Devices Should Be Encouraged” (Seguridad de la información: se debe impulsar una
implementación mejor de los controles para dispositivos móviles). http://www.gao.gov/assets/650/648519.pdf. Septiembre de 2012.
8“Examining Threats Facing PKI and SSL” (Examen de las amenazas que enfrentan la PKI y la SSL). http://www.securityweek.com/examining-threats-facing-public-key-infrastructurepkiand-secure-socket-layer-ssl, SecurityWeek, 11 de febrero de 2012.
9Colin Mortimer. Blog de Fishnet Security. “iOS Passwords: Quick Tips to Maximize Your Security” (Contraseñas de iOS: consejos rápidos para maximizar su seguridad).
http://www.fishnetsecurity.com/6labs/blog/ios-passwords-quick-tipsmaximize-your-security.
10IETP. “OAuth 2.0 Dynamic Client Registration Protocol” (Protocolo de registro dinámico de clientes OAuth 2.0) http://datatracker.ietf.org/doc/draft-ietf-oauth-dyn-reg/.
OAuth Working Group. 29 de julio de 2013
Copyright ©2014 CA. Todos los derechos reservados. Todas las marcas registradas, los nombres comerciales, las marcas de servicios y los logotipos mencionados en este
documento pertenecen a sus respectivas empresas. El propósito de este documento es meramente informativo. CA no se responsabiliza de la exactitud e integridad de la
información. En la medida de lo permitido por la ley vigente, CA proporciona esta documentación “tal cual”, sin garantía de ningún tipo, incluidas, a título enunciativo y no
taxativo, las garantías implícitas de comercialidad, adecuación a un fin específico o no incumplimiento. En ningún caso CA será responsable de cualquier pérdida o daño, directo
o indirecto, derivado del uso del presente documento, incluidos, entre otros, el lucro cesante, la interrupción de la actividad comercial, la pérdida del fondo de comercio o de
datos, incluso cuando CA haya recibido notificación acerca de la posibilidad de dichos daños.CS200-87343_0914
Descargar