Autenticación

L**'autenticación ** ye l'actu o procesu de confirmar que daqué (o daquién) ye quien diz ser. A la parte que s'identifica llámase-y **probador**. A la parte que verifica la identidá se la llapada **verificador**. Ye habitual que'l probador seya un usuariu que quier aportar a ciertos recursos y el verificador seya un sistema que protexe l'accesu a dichos recursos y tien que verificar que'l qu'apuerta seya un usuariu que tien permisos p'aportar a esos recursos. 
Pa poder tener autenticación ye necesaria, como condición previa, la esistencia d'identidaes biunívocamente identificaes de tala forma que déxese la so identificación.

## Definiciones
**Autenticación**, **autentificación **(non encamentáu) o meyor dichu **acreditación**, en términos de seguridá de redes de datos, puede considerase unu de los trés pasos fundamentales (AAA). Cada unu d'ellos ye, de forma ordenada:

:# Autenticación. Na seguridá d'ordenador, la autenticación ye'l procesu d'intentu de verificar la identidá dixital del remitente d'una comunicación como un pidimientu pa conectase. El remitente siendo autenticado pue ser una persona qu'usa un ordenador, un ordenador por sigo mesmu o un programa del ordenador. Nuna web d'enfotu, "autenticación" ye una manera d'asegurar que los usuarios son quien ellos dicen qu'ellos son - que l'usuariu qu'intenta realizar funciones nun sistema ye de fechu l'usuariu que tien l'autorización pa faer asina.
:# **[[Autorización]].** Procesu pol cual la rede de datos autoriza al usuariu identificáu a aportar a determinaos recursos de la mesma.
:# **[[Auditoría]].** Por aciu la cual la rede o sistemes asociaos rexistren toos y cada unu de los accesos a los recursos que realiza l'usuariu autorizaos o non.

El problema de l'autorización de cutiu, ye idénticu a la de autenticación; munchos protocolos de seguridá estensamente adoptaos estándar, regulaciones obligatories, y hasta estatutos tán basaos nesta asunción. Sicasí, l'usu más exactu describe la autenticación como'l procesu de verificar la identidá d'una persona, mientres l'autorización ye'l procesu de verificación qu'una persona conocida tien l'autoridá pa realizar una cierta operación. La autenticación, poro, tien de preceder l'autorización. 
Pa estremar la autenticación de l'autorización de términu estrechamente rellacionada, esisten unes notaciones de taquigrafía que son: A1 pa la autenticación y A2 pa l'autorización que de xemes en cuando son usaes,tamién esisten los términos AuthN y AuthZ que son usaos en delles comunidaes.

## Tipos de autenticación
Los métodos de autenticación tán en función de lo qu'utilicen pa la verificación y estos estrémense en tres categoríes:
:* Sistemes basaos en daqué conocíu. Exemplu, un *password* (Unix) o *passphrase* (PGP).
:* Sistemes basaos en daqué teníu. Exemplu, una tarxeta d'identidá, una tarxeta intelixente(*smartcard*), dispositivu usb tipu epass token, Tarxeta de coordenaes, smartcard o dongle criptográficu.
:* Sistemes basaos nuna carauterística física delantre usuariu o un actu involuntariu del mesmu: Exemplu, verificación de voz, d'escritura, de buelgues, de patrones oculares.

## Carauterístiques de autenticación
Cualquier sistema d'identificación hai de tener unes determinaes carauterístiques pa ser vidable:
:* Hai de ser fiable con una probabilidá bien elevada (podemos falar de tases de fallu d'en los sistemes menos seguros)....
:* Económicamente facederu pa la organización (si'l so preciu ye cimeru al valor de lo que s'intenta protexer, tenemos un sistema incorreutu).
:* Soportar con ésitu ciertu tipu d'ataques.
:* Ser aceptable pa los usuarios, que van ser a lo último quien lo utilicen.
:* Respuesta inmediata, direuta, intelixente, senciella, ante cada situación.

## Mecanismu de autenticación

Pa autenticar ye necesariu establecer un protocolu de comunicación ente les partes de forma que la parte verificadora (de normal) prueba verificar que la parte que s'identifica (de normal un usuariu) efeutivamente ye quien diz que ye. Polo xeneral el procesu de autenticación consta de los siguientes pasos:

:# El probador solicita accesu a un sistema.
:# El verificador solicita al usuariu que se autentique.
:# El probador apurre les credenciales que lu identifiquen y dexen verificar l'autenticidá de la identificación.
:# El verificador valida según les sos regles si les credenciales apurríes son abondes pa dar accesu al usuariu o non.

## Control d'accesu
Un exemplu familiar ye'l control d'accesu. Un sistema informáticu supuestu pa ser utilizáu solamente por aquellos autorizaos, tien de procurar detectar y escluyir el desautorizáu. L'accesu a él polo tanto ye controláu xeneralmente aportunando nun procedimientu de la autentificación pa establecer con un ciertu grau establecíu d'enfotu la identidá del usuariu, polo tanto concediendo esos privilexos como pue ser autorizáu a esa identidá. Los exemplos comunes del control d'accesu qu'impliquen la autenticación inclúin: 

:* Retirar de dineru d'un caxeru automáticu.
:* Control d'un ordenador remotu ensin Internet. 
:* Usu d'un sistema Internet banking.

Pa intentar probar la identidá d'un suxetu o oxetu posible aplicar una o más pruebes que, si tán pasaes, declaráronse primeramente pa ser abondos proceder. El problema ye determinase qué pruebes son abondes, y munchos tales son desaparentes. Tienen sío munchos casos de tales pruebes que son spoofed con ésitu; tienen pola so falta demostrada, ineludible, ser desaparentes. Muncha xente sigue mirando les pruebes -- y la decisión pa mirar ésitu en pasar -como aceptable, y pa culpar la so falta en “sloppiness” o “incompetencia” de parte daquién. El problema ye que la prueba foi supuesta pa trabayar na práutica -- non so condiciones ideales de nengún sloppiness o incompetencia-y non. Ye la prueba que falló en tales casos. Considerar la caxa bien común d'un email de la confirmación al cual tenga de ser contestáu p'activar una cuenta en llinia d'una cierta clase. Puesto que el email puede iguar fácilmente pa dir a o pa venir de direiciones falses y untraceable, ésti ye xustu sobre la menos autenticación robusta posible. L'ésitu en pasar esta prueba significa pocu, ensin considerancia dalguna escontra sloppiness o incompetencia.

## Autenticación por multifactor
Los factores de la autenticación pa los seres humanos clasifíquense, xeneralmente, en cuatro casos:
::* Daqué que l'usuariu **ye** (exemplu, la buelga dixital o'l patrón retiniano), la secuencia d'ADN (hai definiciones clasificaes de cuál ye abonda), el patrón de la voz (otra vegada delles definiciones), la reconocencia de la firma, les señales bio-llétriques úniques producíes pol cuerpu vivu, o otru identificador biométrico).
::* Daqué que l'usuariu **tien** (exemplu, tarxeta de la identificación, símbolu de la seguridá, símbolu del software o teléfonu móvil) 
::* Daqué que l'usuariu **sabe** (exemplu, una contraseña, una frase o un númberu d'identificación personal (el PIN) del pasu).
::* Daqué que l'usuariu **fai** (exemplu, reconocencia de voz, firma, o'l pasu).
:: y
:: * Autenticación por aciu dos factores "daqué que tengo" la llave + "daqué que sé" un númberu de PIN (token criptográficu)
::* Autenticación triple factor "daqué que tengo" el dispositivu criptográficu + "daqué que sé" una clave de autenticación tipu PIN (al token criptográficu) + "quién soi" la buelga dactilar que me dexa autenticarme al dispositivu de forma unívoca.

Una combinación de métodos utilízase dacuando, exemplu, una tarxeta de bancu y un PIN, nesti casu utiliza'l términu “autenticación de dos factores”. Históricamente, les buelgues dixitales utilizáronse como'l métodu más autoritariu de autenticación, pero proceso llegales recién nos E.E.X.X. y a otra parte llevantaron duldes fundamentales sobre fiabilidá de la buelga dixital. Otros métodos biométricos son prometedores (les esploraciones retinianas y de la buelga dixital son un exemplu), pero demostraron ser fácilmente engañaos na práutica. Nun contestu de los datos del ordenador, desenvolviéronse protocolos de desafíu-respuesta que dexen l'accesu si'l que se quier autenticar respuende correutamente a un desafíu propuestu pol verificador. Hai protocolos desafíu-respuesta basaos n'algoritmos criptográficos llamándose protocolos criptográficos de desafíu-respuesta. La seguridá de los protocolos criptográficos de desafíu-respuesta básase na seguridá de los algoritmos criptográficos qu'usa.

## Autenticación
El Authentication foi definíu por Arnnei Speiser en 2003 ente que la Web basó'l serviciu qu'apurre na autenticación d'usuarios finales que tienen accesu (Login) a un serviciu d'Internet. La Autenticación ye similar a la verificación de la tarxeta de creitu pa les Web site del eCommerce. La verificación ye fecha por un serviciu dedicáu que reciba la entrada y vuelva la indicación del ésitu o de fallu. Por casu, un usuariu final desea entrar na so Web site. Él consigue entrar nuna páxina Web de la conexón que rique p'accesu, el so user-id y una contraseña o a los sitios aseguraos y la so contraseña al empar. La información tresmitir al serviciu del eAuthentication como pregunta. Si'l serviciu vuelve ésitu, dexen al usuariu final entrar nel serviciu d'esa páxina Web colos sos privilexos como usuariu.

## Autenticación d'usuarios en Unix

### Autenticación clásica
Nun sistema Unix habitual cada usuariu tien un nome d'entrada al sistema o login y una clave o password; dambos datos almacénense xeneralmente nel ficheru /etc/passwd. Esti archivu contién una llinia por usuariu onde s'indica la información necesaria por que los usuarios puedan coneutar al sistema y trabayar nél, dixebrando los distintos campos por aciu ':'.

Al contrariu de lo que muncha xente cree, Unix nun ye capaz d'estremar a los sos usuarios pol so nome d'entrada al sistema. Pal sistema operativu lo que realmente estrema a una persona d'otra (o siquier a un usuariu d'otru) ye'l UID del usuariu en cuestión; el login ye daqué que s'utiliza principalmente pa comodidá de les persones (obviamente ye más fácil alcordase d'un nome d'entrada como *toni* que d'un UID como *2643*, sobremanera si tiénense cuentes en delles máquines, caúna con un UID distintu).

Pa cifrar les claves d'accesu de los sos usuarios, el sistema operativu Unix emplega un criptosistema irreversible qu'utiliza la función estándar de C crypt, basada nel algoritmu DES. Pa una descripción refecha del funcionamientu de crypt. Esta función toma como clave los ocho primeros calteres de la contraseña escoyida pol usuariu (si'l llargor d'esta ye menor, completar con ceros) pa cifrar un bloque de testu en claru de 64 bits puestos a cero; pa evitar que dos passwords iguales resulten nun mesmu testu cifráu, realízase una permutación mientres el procesu de cifráu escoyida de forma automática y aleatoria pa cada usuariu, basada nun campu formáu por un númberu de 12 bits (colo que consiguimos 4096 permutaciones distintos) llamáu salt. El cifráu resultante vuelve cifrase utilizando la contraseña del usuariu de nuevu como clave, y permutando col mesmu salt, repitiéndose'l procesu 25 vegaes. El bloque cifráu final, de 64 bits, se concatena con dos bits cero, llogrando 66 bits que se faen representables en 11 calteres de 6 bits cada unu y que, xunto col salt, pasen a constituyir el campu password del ficheru de contraseñes, usualmente /etc/passwd. Asina, los dos primeros calteres d'esti campu van tar constituyíos pol salt y los 11 restantes pola contraseña cifrada.

#### Problemes del modelu clásicu
Los ataques de testu cifráu escoyíu constitúin la principal amenaza al sistema de autenticación de Unix; a diferencia de lo que muncha xente cree, nun ye posible descifrar una contraseña, pero ye bien fácil cifrar una pallabra xunto a un determináu salt, y comparar el resultáu cola cadena almacenada nel ficheru de claves. D'esta forma, un atacante va lleer el ficheru /etc/passwd (esti ficheru hai de tener permisu de llectura pa tolos usuarios si queremos que'l sistema funcione correutamente), y por aciu un programa adivinador (o crackeador) va cifrar toles pallabres d'un ficheru denomináu diccionariu (un ficheru ASCII con un gran númberu de pallabres de cualquier idioma o campu de la sociedá: hestoria clásica, deporte, cantantes...), comparando el resultáu llograda nesti procesu cola clave cifrada del ficheru de contraseñes; si dambos coinciden, yá llogró una clave p'aportar al sistema de forma ensin autorizar.

### Shadow Password
Otru métodu acaldía más utilizáu pa protexer les contraseñes de los usuarios el denomináu Shadow Password o escurecimientu de contraseñes. La idea básica d'esti mecanismu ye torgar que los usuarios ensin privilexos puedan lleer el ficheru onde s'almacenen les claves cifraes.

### Avieyamientu de contraseñes
En cuasi toles implementaciones de Shadow Password actuales suelse incluyir la implementación pa otru mecanismu de proteición de les claves denomináu avieyamientu de contraseñes (Password Aging). La idea básica d'esti mecanismu ye protexer los passwords de los usuarios dándo-yos un determináu periodu de vida: una contraseña solo va ser válida mientres un ciertu tiempu, pasáu'l cual expirará y l'usuariu tendrá de camudala.

Realmente, l'avieyamientu previén, más que problemes coles claves, problemes cola tresmisión d'estes pola rede: cuando conectamos por aciu mecanismos como telnet, ftp o rlogin a un sistema Unix, cualquier equipu ente'l nuesu y el servidor puede lleer los paquetes qu'unviamos pola rede, incluyendo aquellos que contienen el nuesu nome d'usuariu y la nuesa contraseña.

### Otros métodos
Daqué polo que se criticó l'esquema de autenticación d'usuarios de Unix ye'l llargor, pa propósitos d'alta seguridá, demasiao corta de les sos claves; lo que va años yera pocu más qu'un planteamientu teóricu, anguaño ye daqué facederu: ensin nin siquier entrar en temes de hardware dedicáu, de xuru demasiáu caru pa la mayoría d'atacantes, con un supercomputador ye posible romper claves de Unix en menos de dos díes.

Un métodu qu'aumenta la seguridá de nueses claves frente a ataques d'intrusos ye'l cifráu por aciu la función conocida como bigcrypt() o crypt16(), que dexa llargores pa les claves y los salts más llargues que crypt y sicasí, anque s'aumentar la seguridá de les claves, el problema que se presenta equí ye la incompatibilidá coles claves del restu de Unices que sigan utilizando crypt; este ye un problema común con otros aproximamientos que tamién se basen en modificar l'algoritmu de cifráu, cuando non n'utilizar unu nuevu.

## PAM
PAM (Pluggable Authentication Module) nun ye un modelu de autenticación en sí, sinón que se trata d'un mecanismu qu'apurre una interfaz ente les aplicaciones d'usuariu y distintos métodos de autenticación, tratando d'esta forma de solucionar unu de los problemes clásicos de la autenticación d'usuarios: el fechu de qu'una vegada que se definió y enllantó ciertu mecanismu nuna redolada, ye difícil camudalo. Por aciu PAM podemos comunicar a la nuesa aplicaciones colos métodos de autenticación que deseyemos d'una forma tresparente, lo que dexa integrar les utilidaes d'un sistema Unix clásicu (login, ftp, telnet...) con esquemes distintos del habitual password: claves d'un solu usu, biométricos, tarxetes intelixentes...

La gran mayoría de les aplicaciones de linux usen estos métodos (PAM) para autenticarse frente al sistema, una y bones una aplicación preparada pa PAM (PAM-aware) puede camudar el mecanismu de autenticación qu'usa ensin necesidade de recompilar les fontes. Inclusive puede llegase a camudar el sistema de autenticación local ensin siquier tocar les aplicaciones esistentes.

PAM vien `de serie' en distintos sistemes Unix, tanto llibres como comerciales, y el nivel d'astracción qu'apurre dexa coses tan interesantes como kerberizar nuesa autenticación (siquier la parte servidora) ensin más que camudar la configuración de PAM, que s'atopa bien nel ficheru /etc/pam.conf o bien en distintos archivos dientro del direutoriu /etc/pam.d/

PAM trabaya con cuatro tipos separaos de xeres d'alministración: authentication, account, session, y password. L'asociación del esquema d'alministración preferíu col comportamientu de l'aplicación facer por aciu archivos de configuración. Les funciones d'alministración facer módulos que s'especifiquen nel archivu de configuración. Más palantre esplicárase de volao la sintaxis del archivu de configuración yá que se va fuera del algame d'esti artículu.

Cuando una aplicación preparada pa PAM empecipia, actívase la so comunicación cola API de PAM. Ente otres coses esto fuercia la llectura del archivu de configuración: /etc/pam.conf. Alternativamente puede ser que s'empecipie la llectura de los archivos de configuración so /etc/pam.d/ (cuando esiste un archivu de configuración correutu so esti direutoriu, ignórase l'archivu /etc/pam.conf)

### Sintaxis del archivu de configuración
L'archivu (/etc/pam.conf) ta formáu por una llista de regles (típicamente una per llinia). Cada regla ye un conxuntu de campos separaos per espacios (los trés primeros son case-sensitives):

*service type control module-path module-arguments*

La sintaxis de los archivos baxu /etc/pam.d/ ye igual sacantes nun esiste'l campu "service". Nesti casu "service" ye'l nome del archivu nel direutoriu /etc/pam.d/ (el nome del archivu tien de tar en minúscules)
Usualmente *service* ye'l nome del serviciu o aplicación comúnmente usáu, exemplu d'esto son login, el so y ssh.

*type* especifica a que grupu d'alministración ta acomuñada la regla. Les entraes válides son:

:* account: esti módulu remana la cuenta ensin basase en autenticación. Típicamente úsase p'acutar/dexar l'accesu a un serviciu basáu na hora o quiciabes dende onde se loguea l'usuariu (ej.: root solo puédese loguear dende consola

:* auth: aprove mecanismu de autenticación (l'usuariu ye quien diz ser).

:* password: esti módulu ye riquíu pa modificar la password del usuariu.

:* session: esti módulu ta acomuñáu con faer xeres previes y/o posteriores al entamu del serviciu mesmu (pueden ser coses como montar un direutoriu, activar logueos, etc).

El tercer campu *control* especifica que faer si falla'l control aplicáu. Esisten dos sintaxis pa esti campu, una senciella d'un campu y otra qu'especifica más d'un campu dientro de corchetes rectos []
Pa la básica, les opciones son:

:* required: indica qu'esta regla tien de ser esitosa, de lo contrario l'usuariu nun ye autorizáu a correr el serviciu. Si falla devuélvese'l control al programa, pero antes executen tolos módulos.

:* requisite: ye como'l required, pero devuelve'l control al programa aína de fallar.

:* sufficient: Si esti módulu verifícase, entós (devuélvese) dáse-y el ok al programa y nun se sigue verificando los otros módulos.

:* optional: la falla o non d'esti módulu ye solo importante si ye l'únicu esistente.

El cuartu campu *module-path* especifica'l path al módulu PAM acomuñáu cola regla. Los módulos atópase en /lib/security.

El quintu campu *module-arguments* ye un conxuntu de cero o más argumentos pasaos al módulu mientres el so invocación. Los argumentos varien según el módulu.

La configuración de los archivos de configuración so /etc/pam.d/ resulta ser más flexible (evítase tener un archivu únicu enorme). So esti direutoriu puede atopase l'archivu de confiuración personal d'un serviciu particular como ser ssh.
La única diferencia ente la sintaxis del archivu /etc/pam.conf ye que nun esiste'l campu service.

## Ver tamién
* AAA = Autenticación, Autorización y Traceabilidad (Accounting)
* Criptografía
* SSH
* RADIUS
* DIAMETER
* Autorización
* CAPTCHA
* TCP Wrapper
* puntu d'accesu
* Kerberos
* LDAP

## Enllaces esternos
* Autenticación y autorización
* Autenticación d'usuarios

## Referencies