Kerberos+LDAP+NFSv4
Kerberos
- Kerberos é un protocolo de autenticación que permite a ordenadores nunha rede insegura identificarse mutuamente de xeito seguro. Tanto os clientes coma o servidor verificarán a identidade un do outro. Kerberos básase en criptografía de chave simétrica e precisa dun terceiro de confianza, ainda que existen extensións que permiten o uso de criptografía de chave asimétrica. Kerberos establece tamén unha duración das autorizacións, de xeito que únicamente é necesario autenticarse unha vez ata que caduque a concesión.
- O funcionamento de Kerberos emprega 2 entidades (servidores), o Servidor de Autenticación (SA) e o Servidor de Tickets de Acceso (TGS) co obxecto de asegurar o acceso a un servicio ofrecido como NFS. Estes dous servidores forman parte do servidor kerberos, que atenderá as solicitudes mediante o seguinte intercambio de mensaxes:
- O usuario introduce no cliente o seu usuario e contrasinal
- O cliente transforma o contrasinal con cifrado de un so sentido, creando a chave segreda do cliente.
- O cliente envía unha mensaxe en claro ao SA solicitando servicio para o usuario identificado.
- O SA verifica que o usuario está na súa base de datos obtendo a súa contrasinal da BBDD e xerando a chave segreda do cliente que cotexará coa recibida. Si coinciden se crearán dúas mensaxes que se envían ao cliente:
- Mensaxe A
- O SA Crea unha mensaxe cifrada coa chave segreda do cliente, chamada Client/TGS Session Key.
- Mensaxe B
- O SA obteń o contrasinal do TGS da BBDD e xenera con ela unha mensaxe cifrada que conten: ID de cliente, dirección IP do cliente, periodo de validez do ticket, e o Client/TGS Session Key. Esta mensaxe é o Ticket Granting Ticket (TGT).
- O cliente descifra a Client/TGS Session Key, que se utilizará para a comunicación co TGS.
- Cando o cliente precise un servicio, necesitará solicitarllo ao TGS mediante as seguintes mensaxes:
- Mensaxe C
- Composta polo TGT e a ID do servicio solicitado.
Mensaxe D: Composta polo ID do cliente e unha marca de tempo, e cifrado coa Client/TGS Session Key obtida da mensaxe A, chamada Autenticador. 7. O TGS descifra a mensaxe D (Autenticador) utilizando a Client/TGS Session Key obtida do TGT da mensaxe C, e envía ao cliente: Mensaxe E: Composta polo ID de cliente, IP do cliente, periodo de validez e unha chave de sesión xenerada para a comunicación entre Cliente e Servidor (Client/Server Session Key), todo elo cifrado coa chave segreda do servicio, chamada Client-To-Server Ticket. Mensaxe F: Client/Server Session Key, cifrada co Client/TGS session Key. 8. Unha vez recibidas estas mensaxes, o cliente xa dispón da información necesaria para acceder ao servizo autenticándose no SS enviando as seguintes mensaxes: A Mensaxe E recibida do TGS. Mensaxe G: Composta polo ID do cliente e unha marca de tempo cifrada co Client/Server Session Key, obtida da Mensaxe F. 9. O Proveedor do servicio (SS) descifrará a Mensaxe E utilizando a súa propia chave segreda (coa que descifrará a Mensaxe E, e polo tanto tamén a Mensaxe F) e respostará ao cliente para confirmar a súa autenticidade e a súa disposición a ofrecer o servizo: Mensaxe H: A marca de tempo obtida da Mensaxe G+1, cifrada co Client/Server Session Key 10. O cliente descifra a confirmación e verifica a marca de tempo, si todo é correcto, poderá confiar no servidor e poderá comenzar o uso do servizo. 11. O Servidor proporciona o servicio ao cliente.