stringtranslate.com

Interfaz de programación de aplicaciones de servicios de seguridad genéricos

La interfaz de programación de aplicaciones de servicio de seguridad genérico ( GSSAPI , también GSS-API ) es una interfaz de programación de aplicaciones para que los programas accedan a servicios de seguridad .

GSSAPI es un estándar IETF que aborda el problema de muchos servicios de seguridad similares pero incompatibles en uso desde 2005 .

Operación

La GSSAPI, por sí sola, no proporciona ningún tipo de seguridad. En cambio, los proveedores de servicios de seguridad proporcionan implementaciones de GSSAPI , normalmente en forma de bibliotecas instaladas con su software de seguridad. Estas bibliotecas presentan una interfaz compatible con GSSAPI a los desarrolladores de aplicaciones, quienes pueden escribir sus aplicaciones para que utilicen únicamente la GSSAPI independiente del proveedor . Si alguna vez es necesario reemplazar la implementación de seguridad, no es necesario reescribir la aplicación.

La característica definitiva de las aplicaciones GSSAPI es el intercambio de mensajes opacos ( tokens ) que ocultan los detalles de la implementación a la aplicación de nivel superior. Los lados cliente y servidor de la aplicación están escritos para transmitir los tokens que les proporcionan sus respectivas implementaciones GSSAPI. Los tokens GSSAPI normalmente pueden viajar a través de una red insegura ya que los mecanismos proporcionan seguridad inherente a los mensajes. Después del intercambio de una cierta cantidad de tokens, las implementaciones GSSAPI en ambos extremos informan a su aplicación local que se ha establecido un contexto de seguridad .

Una vez que se establece un contexto de seguridad, los mensajes confidenciales de la aplicación pueden encapsularse (encriptarse) mediante GSSAPI para lograr una comunicación segura entre el cliente y el servidor. Las protecciones típicas garantizadas por el encapsulamiento de GSSAPI incluyen la confidencialidad (secreto) y la integridad (autenticidad). GSSAPI también puede proporcionar garantías locales sobre la identidad del usuario remoto o del host remoto.

La GSSAPI describe alrededor de 45 llamadas a procedimientos. Entre las más importantes se incluyen las siguientes:

GSS_Adquirir_cred
Obtiene la prueba de identidad del usuario, a menudo una clave criptográfica secreta
Nombre de importación GSS
Convierte un nombre de usuario o nombre de host en un formato que identifica una entidad de seguridad
Contexto de seguridad inicial GSS
Genera un token de cliente para enviar al servidor, generalmente un desafío
GSS_Aceptar_contexto_sec
Procesa un token de GSS_Init_sec_context y puede generar un token de respuesta para devolver
Envoltura GSS
Convierte los datos de la aplicación en un token de mensaje seguro (normalmente cifrado)
GSS_Desenvolver
Convierte un token de mensaje seguro nuevamente en datos de aplicación

La GSSAPI está estandarizada para el lenguaje C (RFC 2744). Java implementa la GSSAPI [1] como JGSS, [2] la Interfaz de Programación de Aplicaciones de Servicios de Seguridad Genéricos de Java. [3]

Algunas limitaciones de GSSAPI son:

  1. estandarizar únicamente la autenticación , en lugar de no hacerlo también con la autorización ;
  2. asumiendo una arquitectura cliente-servidor .

Anticipándose a nuevos mecanismos de seguridad, GSSAPI incluye un pseudomecanismo de negociación , SPNEGO , que puede descubrir y utilizar nuevos mecanismos que no estaban presentes cuando se creó la aplicación original.

Relación con Kerberos

La implementación del mecanismo GSSAPI predominante en uso es Kerberos . A diferencia de GSSAPI, la API de Kerberos no se ha estandarizado y varias implementaciones existentes utilizan API incompatibles. GSSAPI permite que las implementaciones de Kerberos sean compatibles con las API.

Tecnologías relacionadas

Conceptos clave

Nombre
Cadena binaria que etiqueta un elemento principal de seguridad (es decir, un usuario o un programa de servicio); consulte control de acceso e identidad . Por ejemplo, Kerberos utiliza nombres como usuario@REALM para los usuarios y servicio/nombre de host@REALM para los programas.
Cartas credenciales
Información que prueba una identidad; utilizada por una entidad para actuar como principal designado. Las credenciales suelen incluir una clave criptográfica secreta.
Contexto
El estado de un extremo del protocolo de autenticación/autenticación . Puede proporcionar servicios de protección de mensajes, que pueden utilizarse para componer un canal seguro .
Fichas
Mensajes opacos intercambiados como parte del protocolo de autenticación inicial (tokens a nivel de contexto) o como parte de una comunicación protegida (tokens por mensaje)
Mecanismo
Una implementación subyacente de GSSAPI que proporciona nombres, tokens y credenciales reales. Entre los mecanismos conocidos se incluyen Kerberos , NTLM , Distributed Computing Environment (DCE), SESAME, SPKM y LIPKEY.
Iniciador/aceptador
El par que envía el primer token es el iniciador; el otro es el aceptador. Generalmente, el programa cliente es el iniciador mientras que el servidor es el aceptador.

Historia

Véase también

Referencias

  1. ^ "JSR-000072 Especificación de API de servicios de seguridad genéricos 0.1". 15 de junio de 2001. Consultado el 7 de octubre de 2015 .
  2. ^ Schönefeld, Marc (2010). Refactorización de antipatrones de seguridad en componentes Java distribuidos. Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg. vol. 5. Prensa de la Universidad de Bamberg. pag. 179.ISBN 9783923507689. Recuperado el 7 de octubre de 2015. JGSS es la implementación JAVA de GSSAPI.
  3. ^ Fisher, Marina; Sharma, Sonu; Lai, Ray; Moroney, Laurence (2006). Interoperabilidad de Java EE y .NET: estrategias de integración, patrones y mejores prácticas. Prentice Hall Professional. ISBN 9780132715706. Recuperado el 7 de octubre de 2015. Interfaz de programación de aplicaciones de servicios de seguridad genéricos de Java (JGSS) API para el acceso uniforme a los servicios de seguridad sobre una variedad de mecanismos de seguridad subyacentes, incluido Kerberos, que son bloques de construcción para el inicio de sesión único y el cifrado de datos.

Enlaces externos