Authentication Protocol Kerberos, securitatea informațiilor
Protocolul Kerberos funcționează în sisteme client / server pentru autentificare și schimb de date-cheie. Kerberos funcționează în rețelele TCP-IP, și puse în aplicare pe baza participanților încredere la al treilea Protocol (de încredere) de partid. Securitatea în cadrul sesiunii Kerberos realizat cheltuieli de implementare a algoritmilor de criptare simetrică. Kerberos Serviciul împărtășește o cheie secretă singur cu fiecare membru al rețelei, și cunoașterea acestei chei este echivalentă cu autenticitatea participantului de rețea.
Protocolul Kerberos care implică doi utilizatori și KS server de încredere, realizând rolul unui centru de distribuție a cheilor. Membrii Sesiunea A și B au identificatori unici și ida IDB. Partea A și B a partaja un KS cheie secretă la server separat. De exemplu, utilizatorul A dorește să obțină cheie seansovіy pentru schimbul de date cu utilizatorul B. Utilizatorul declanșează faza cheie de distribuție, trimiterea de identificatori de server KS ida și BDI:
serverul KS creează un pachet cu T-timestamp, perioada de funcționare L, cheie de sesiune aleatoare K și identificator ida. Serverul criptează cheia secretă de pachete care separă utilizatorul B. Apoi, serverul KS ia toate la fel, și criptează cheia secretă partajată cu utilizatorul A. Ambele pachete sunt transmise către utilizator A:
Utilizatorul A decriptează primul pachet cu cheia lui și verifică timpul T marca pentru a vă asigura că pachetul este valabil. După Utilizatorul A creează un pachet cu ID-ul său de identificare și un T timp de timbru, Codeaza cu sesiunea K-cheie, și transmite utilizatorului B. De asemenea, o transmite către utilizator într-un pachet de KS, un criptat partea B. cheie
Singurul partid capabil să decripteze ultimul 2 pachet. se potrivesc cu valorile T ida și autentifică utilizatorul A la utilizator B. Pentru a autentifica utilizatorul A, el creează un pachet care conține o ștampilă de timp T 1 și criptează-l în K, apoi îl transmite utilizatorului A.
Atunci când utilizatorul A decripteaza pachetul și a obține rezultatul așteptat, utilizatorul este autentificat ca utilizator A. Protocolul funcționează cu succes atunci când ceasul este sincronizat cu utilizatorii KS serverul de ceas.
Sistemul Kerberos are o structura de tip client / server (Fig.1).
Server Kerberos KS include un server de autentificare AS și serverul de servicii TGS emite mandate. Kerberos creează o cheie de sesiune, care este transferată klientsu și serverul (sau doi clienți) și nimeni altcineva. Cheia de sesiune este generat pentru a cripta pachetele care sunt transmise între utilizatori, și este eliminat după terminarea sesiunii. Funcționarea sistemului Kerberos se extinde la acele părți ale rețelei, toți utilizatorii care sunt înregistrate sub numele și parolele din serverul de sistem.
Algoritmul sistemului Kerberos:
- Client (C) &arr; AS - La solicitarea clientului la server pentru a permite contactul la TGS
- AS &arr; C - permisiune (mandat) de la server la client cu AS contact de la TGS
- C &arr; - Cu o cerere de serviciu TGS de admitere (mandat) la resursele de server RS
- TGS &arr; C - permisiune (mandat) de la serviciul la client TGS Cu referire la resursele de server RS
- C &arr; Cererea de resurse RS la server - RS
- RS &arr; C - confirmarea server de autentificare RS și aprovizionarea clienților cu
Acest server interacțiune modelul cu clientul poate lucra numai cu condiția de a atinge integritatea și confidențialitatea de gestionare a informațiilor transportate. Pentru a evita interceptarea și utilizarea neautorizată a informațiilor, Kerberos pune în aplicare un sistem de criptare multiplă atunci când transmiterea oricăror informații de control. mandatul și authenticator: două tipuri de documente credential implementate în sistemul Kerberos.
Mandat - este necesară pentru a transporta în condiții de siguranță a datelor de identificare a utilizatorului de server, care a dat mandatul.
Authenticator - este un atribut suplimentar este prezentat împreună cu mandatul.
Desemnarea în documentele kerberos:
kerberos Mandat este după cum urmează: Tc, s = s, c, s> Kx. Mandatul este acordat unui anumit utilizator pentru a accesa serverul strict pentru o anumită perioadă de timp. Utilizatorul nu poate decripta biletul, dar el poate da la server într-o formă criptată.
Kerberos autentificatorului are următoarea formă: Ac, s = Kc, s. Authenticator creat de către utilizator de fiecare dată când vrea să obțină acces la server.
mesajul Kerberos
Kerberos are 5 versiuni de mesaje:
Obținerea mandatului inițial
Clientul are date care dovedesc identitatea - parola. Sistemul Kerveros minimizează șansa de a dezvălui parola, dar nu permite identificarea utilizatorului, care nu știe parola. Clientul trimite un pachet server de autentificare Kerberos care conține numele său și numele serverului TGS:
- Client - Kerberos: C, TGS
În practică, utilizatorul introduce pur și simplu numele lor, iar aplicația trimite o cerere. Serverul de autentificare caută informații despre utilizator. În cazul în care informația este acolo, Kerberos generează o cheie de sesiune Kc, TGS. care este necesară pentru comunicarea între client și server TGS. Sistemul criptează sesiune de client cheie cheia secretă Kc. și creează mandatul de client pentru alocarea TGT (de acordare a tichetelor Ticket). TGT este criptat cu o cheie secretă de TGS și conține ID-ul de server și utilizator cheie de sesiune pereche client TGS / TGT și ora de terminare. Serverul de autentificare trimite utilizatorul la aceste două pachete:
Utilizatorul acceptă două pachete, decriptează primul pachet de cheia sa secretă K, și o cheie de sesiune Kc, TGS. Cheia secretă este one-way funcție hash al parolei utilizatorului. Atacatorul nu are un mandat, iar cheia de sesiune, pentru că el nu știe parola.
Utilizatorul își păstrează mandatul cheii de sesiune și TGT, parola eliminarea și valoarea hash. Un atacator poate obține un TGT și cheia de sesiune are acces la PC-ul unui utilizator, dar aceste date au un termen de valabilitate.
Obținerea de mandate de server
Utilizatorul poate obține un mandat separat pentru un anumit serviciu. el trebuie să trimită o cerere de serviciu la TGS:
Ca răspuns la o solicitare valabilă TGS prevede acreditările de utilizator pentru accesul la serverul de care aveți nevoie. TGS creează o cheie de sesiune pentru utilizator și necesitatea de a serverului, a cheii de sesiune criptată comune pentru utilizator și TGS. Aceste două pachete sunt trimise către utilizator:
cerere de servicii
Server accepta pachetul, verifică autentificatorul. Dacă aveți nevoie de o autentificare reciprocă, serverul trimite utilizatorul la un pachet care conține un marcaj temporal criptat cu cheia de sesiune.
Pentru protocolul Kerberos a prezentat o serie de cerințe, care sunt descrise în detaliu în RFC-1510. Cele mai importante sunt:
- Sistemul Kerberos trebuie să fie protejate împotriva atacurilor care vizează negarea serviciului
- au nevoie de sincronizare a timpului de sistem a tuturor participanților la sistem
- Kerberos nu protejează împotriva atacurilor brute force.
- Mandatele și chei private trebuie să fie protejate împotriva accesului neautorizat