Glosario de Términos Autenticación


Protocolos de Autenticación

  • NTLM: Protocolo propietario de autenticación pensado para redes corporativas.
  • Kerberos: Protocolo propietario de autenticación pensado para redes corporativas. Es mejor que NTLM.
  • Web Services Federation Language (WS-Federation): Es un protocolo que permite Single Sign-on (SSO) de los usuarios para que accedan a aplicaciones diferentes con tan solo una identidad.
  • Security Assertion Markup Language (SAML 2.0): Es otro protocolo que permite Single Sign-on (SSO).
  • OAuth 2.0: Es otro protocolo Single Sign-on (SSO) que permite la autenticación contra un proveedor que implemente este protocolo (lo usan entidades como Microsoft, Facebook, Twitter, Google, …).
  • OpenId Connect: Extiende OAuth 2.0 para autorización.

Servicios Microsoft que Autentican

  • Active Directory (AD): El clásico directorio activo alojado en un servidor. Se autentica mediante Kerberos o NTML; no es recomendable utilizar esta servicio en un entorno de internet.
  • Microsoft Azure Active Directory (AAD): Un servicio SAAS de Azure que implementa un Active Directory. Soporta todos los protocolos SSO descritos en el punto anterior.
    • Autentica Usuarios (credenciales y profiles).
    • Autentica Aplicaciones mediante AppId y Client Secret (credenciales y permisos).
      • Permiso Delegado: la aplicación actua como si fuera un determinado usuario.
      • Permiso Aplicación: la aplicación tiene sus propios permisos, independiente del usuario.
  • Active Directory Federation Services (ADFS): Servicio que permite autenticar a un Active Directory mediante federación. Soporta WS-Federation y SAML 2.0.
  • Azure AD Connect: Integra y sincroniza un AD a un AAD.
  • Security Token Service (STS): Es un servicio que genera tokens de autorización ya sea por identity providers (IdP) o federation providers (FP). En el segundo caso realiza el token apartir de una cadena de autorización (relying parties).

Librerías

  • ASP.NET Membership: Librería que permite identificar el usuario en NET. Se basa en la autenticación mediante formularios (FormsAuthentication).
    Espacio de nombres: System.Web.Security
    Requisitos mínimos: NET 2.0
  • ASP.NET Identity: Librería que permite identificar el usuario en NET. Permite añadir información extra del usuario, persistirla (Entity Framework), añadir roles, claims… Orientada si se usa en solitario a validación de usuarios contra un Sql Server. Compatible con Owin. Viene a sustituir ASP.NET Membership debido a que aporta mayor funcionalidad y extensivilidad.
    Espacio de nombres: Microsoft.AspNet.Identity.*.
    Requisitos mínimos: NET 4.0
  • Windows Identity Foundation (WIF): Librería de NET para autenticar y autorizar. Este framework autentica en ADFS y WS-Federation (que soporta AAD).
    Espacio de nombres: System.Identity.*
    Requisitos mínimos: NET 3.5
  • Owin: Es un librería de NET que implementa un middleware que se usa para autenticar y autorizar. Viene a sustituir WIF debido a que aporta mayor simplicidad y extensivilidad.
    Espacio de nombres: Microsoft.Owin.*
    Requisitos mínimos: NET 4.5
  • Azure Active Directory Graph API: API Rest para trabajar con los elementos del ADD (operaciones CRUD sobre usuarios,aplicaciones,grupos…).
  • ADAL: Es una librería de Javascript pensada para autenticarse en aplicaciones de página única, como por ejemplo en aplicaciones Angular.

Autenticación en proyectos ASP.NET Web Application

En el asistente de creación de una aplicación web en Visual Studio disponemos de las siguientes opciones:

  • No Authentication: Sin autenticación.
  • Individual User Accounts: Autenticación en una base de datos accedida via Entity Framework.
  • Work And School Accounts:
  • Windows Autentication: Usado en Intranets. Autenticación contra el usuario de la maquina donde se muestra la aplicación. Es tan simple como activar Windows Autentication en la configuración del IIS. IIS utiliza autenticación contra AD mediante Kerberos o NTML.

Autenticación Work And School Accounts en proyectos ASP.NET Web Application

En el asistente de creación de una aplicación web en Visual Studio con autenticación contra AAD se solicita un usuario administrador del dominio. Este usuario se usará para crear la aplicación en dicho dominio. También podríamos crear la aplicación manualmente en el ADD mediante el portal de Azure.
Se describen los datos de la aplicación en el ADD:

  • Name: Nombre de la Aplicación.
  • Type: Web Application.
  • Application ID URI: Es el identificador de la aplicación. AAD lo añade en el token de autenticación.
  • Reply Url: Es donde se envía la respuesta con el token con la autenticación.
  • Client ID: GUID que identifica la aplicación en AAD. La aplicación lo envia cuando requiere la autenticación.
  • Single Tenant /Multi Tenant
    • Single Tenant: La aplicación solo se usara desde nuestra empresa.
    • Multi Tenant: La aplicación se usará también por usuarios ajenos de nuestra empresa. Esto permitirá a un usuario externo mediante su ADD y acceder a la aplicación. Se pedira el consentimiento al usuario indicando que permisos son necesarios para acceder a la aplicación. Cuando consiente automaticamente se registra en su directorio, la aplicación.
Anuncios
Esta entrada fue publicada en Seguridad, Seguridad. Guarda el enlace permanente.

Una respuesta a Glosario de Términos Autenticación

  1. Pingback: Que es un token web? | Pensando bajo la lluvia

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s