Handbok för Sun Enterprise Authentication Mechanism

Skaffa åtkomst till tjänster med SEAM

För att en användare ska kunna få åtkomst till en viss tjänst på en viss server måste användaren skaffa två saker. Den första är en referens för biljettbeviljartjänsten (kallas för TGT). När biljettbeviljartjänsten har dekrypterat den här referensen skapar tjänsten en andra referens för servern som användaren begär åtkomst till. Den här andra referensen kan sedan användas för att begära åtkomst till tjänsten på servern. När servern har dekrypterat den andra referensen får användaren åtkomst till tjänsten. Den här processen beskrivs mer ingående nedan.

Skaffa en referens för biljettbeviljartjänsten

  1. När verifieringsprocessen ska startas skickar klienten en förfrågan till verifieringsservern för en viss användarprincipal. Den här förfrågan skickas utan kryptering. Det finns ingen känslig information i förfrågan så kryptering är överflödig.

  2. När förfrågan tas emot av verifieringstjänsten slås principalnamnet för användaren upp i KDC-databasen. Om det finns en matchande principal hämtar verifieringstjänsten principalens privata nyckel. Verifieringstjänsten skapar sedan en sessionsnyckel som ska användas av klienten och biljettbeviljartjänsten (sessionsnyckel 1) och en biljett för biljettbeviljartjänsten (biljett 1). Den här biljetten kallas även biljettbeviljarbiljetten eller TGT. Både sessionsnyckeln och biljetten krypteras med användarens privata nyckel och informationen skickas sedan tillbaka till klienten.

  3. Klienten använder informationen för att dekryptera sessionsnyckel 1 och biljett 1 med hjälp av den privata nyckeln för användarprincipalen. Eftersom den privata nyckeln endast ska kännas till av användaren och KDC-databasen, bör information i paketet vara säker. Klienten lagrar informationen i referenscachen.

Under processen tillfrågas vanligen användaren om ett lösenord. Om lösenordet som användaren anger är detsamma som det som användes för att skapa den privata nyckeln som lagras i KDC-databasen, kan klienten dekryptera informationen som skickas av verifieringstjänsten. Nu har klienten en referens som kan användas med biljettbeviljartjänsten. Klienten är klar att begära en referens för en server.

Figur 7-2 Hämta en referens för biljettbeviljartjänsten

Graphic

Hämta en referens för en server

  1. För att kunna begära åtkomst till en viss server måste klienten först ha hämtat en referens för servern från verifieringstjänsten (se "Skaffa en referens för biljettbeviljartjänsten"). Klienten skickar sedan en förfrågan till biljettbeviljartjänsten med tjänstens principalnamn, biljett 1 och en verifierare krypterad med sessionsnyckel 1. Biljett 1 krypterades ursprungligen av verifieringstjänsten med hjälp av tjänstnyckeln för biljettbeviljartjänsten.

  2. Biljetten kan dekrypteras eftersom biljettbeviljartjänsten känner till sin egen tjänstnyckel. Biljettbeviljartjänsten kan dekryptera verifieraren eftersom sessionsnyckel 1 ingår i informationen i biljett 1. Nu har användarprincipalen verifierats med biljettbeviljartjänsten.

  3. När verifieringen är genomförd skapar biljettbeviljartjänsten en sessionsnyckel för användarprincipalen och servern (sessionsnyckel 2) och en biljett för servern (biljett 2). Sessionsnyckel 2 och biljett 2 krypteras sedan med sessionsnyckel 1. Eftersom sessionsnyckel 1 endast är känd för klienten och biljettbeviljartjänsten, är informationen säker och kan skickas över nätverket utan risk.

  4. När klienten tar emot informationspaketet dekrypteras informationen med sessionsnyckel 1, som lagras i referenscachen. Klienten har hämtat en referens som ska användas med servern. Nu är klienten klar för att begära åtkomst till en viss tjänst på servern.

Figur 7-3 Hämta en referens för en server

Graphic

Skaffa åtkomst till en viss tjänst

  1. För att kunna begära åtkomst till en viss tjänst måste klienten först ha skaffat en referens för biljettbeviljartjänsten från verifieringsservern och en serverreferens från biljettbeviljartjänsten (se "Skaffa en referens för biljettbeviljartjänsten" och "Hämta en referens för en server"). Klienten kan skicka en begäran till servern som innehåller biljett 2 och en annan verifierare. Verifieraren krypteras med sessionsnyckel 2.

  2. Biljett 2 krypterades av biljettbeviljartjänsten med tjänstnyckeln för tjänsten. Eftersom tjänstnyckeln är känd för tjänstprincipalen kan tjänsten dekryptera nyckel 2 och hämta sessionsnyckel 2. Sessionsnyckel 2 kan sedan användas för att dekryptera verifieraren. När verifieraren har dekrypterats får klienten åtkomst till tjänsten.

Figur 7-4 Skaffa åtkomst till en viss tjänst

Graphic