Kerberos (tietotekniikka)

**Kerberos** on todennusprotokolla, joka toimii tietokoneverkossa. Kerberoksen avulla käyttäjät voivat todistaa henkilöllisyytensä toisilleen verkon yli ja se on suunniteltu käytettäväksi internetin kaltaisissa verkoissa, joissa ei suoraan ole salausmenetelmää käytössä. Kerberos perustuu Needhamin ja Schroederin avaintenjakomalliin. Käyttäjien todennuksen lisäksi Kerberos estää salakuuntelun ja tunnistaa, jos viestiä on muokattu matkalla.

Protokolla voidaan kuvata seuraavalla keskustelulla, jossa **A** todistaa henkilöllisyytensä **B:lle** palvelinta **S** käyttäen:

A \rightarrow S: A,B

S \rightarrow A: \{T_S, L, K_{AB}, B, \{T_S, L, K_{AB}, A\}_{K_{BS}}\}_{K_{AS}}

A \rightarrow B: \{T_S, L, K_{AB}, A\}_{K_{BS}}, \{A, T_A\}_{K_{AB}}

B \rightarrow A: \{T_A + 1\}_{K_{AB}}

Protokollan turvallisuus nojaa vahvasti aikaleimojen toimintaan viestinvaihdon **tuoreuden** ilmaisimina (katso BAN-logiikka). Nämä tarvitaan toistohyökkäysten estämiseen. 

## Historia
Kerberos sai alkunsa 1980-luvulla IBM:n, MIT:n ja DEC:n yhteisprojektissa *Project Athena*, jonka visiona oli että opiskelijat ja opetushenkilökunta voisivat käyttää mitä hyvänsä tietokonetta, joka olisi kätevin tai sopivin heidän työhönsä. Samassa projektissa sai alkunsa myös X Window System.

Athena-projektiin kuului noin 850 tietokonetta: näistä 450 oli yleisessä käytössä olevia työasemia (ilman tiettyä käyttäjää), 100 palvelinta ja loput tietylle henkilölle varattuja työasemia. Puolet työasemista olivat VAXstation II ja VAXstation 2000 -malleja; toinen puoli oli IBM RT/PC -malleja.

## Toteutukset ja standardointi

Aikaisemmin Kerberos luokiteltiin sotatarvikkeeksi eikä sen toteutuksia saanut viedä pois Yhdysvalloista vientikiellon takia. Ruotsissa kehitettiin ulkopuolinen toteutus, jonka ansiosta Kerberos on ollut saatavilla USA:n ulkopuolella jo ennen kuin Yhdysvallat muutti vientimääräyksiään. Tällä hetkellä Kerberos on melko vapaasti käytettävissä.

Hieman epästandardi versio Kerberoksesta on mukana Microsoftin Windows 2000-käyttöjärjestelmässä ja sitä kautta Kerberoksesta on tullut kaupallisesti merkittävä. IETF on standardoimassa omaa versiotaan Kerberos-protokollasta, mutta työ ei ole edennyt kovin ripeästi muun muassa sen takia, että protokollan turvallisuudesta on esitetty epäilyjä. RFC-dokumentti  kuvaa Kerberoksen version viisi.

Kerberoksesta on saatavissa vapaasti käytettävissä olevia toteutuksia ja muun muassa MIT-yliopiston alkuperäinen toteutus on vapaasti saatavissa.

## Standardit
*  The Kerberos Network Authentication Service (V5) [Obsolete]
*  The Kerberos Version 5 GSS-API Mechanism
*  Encryption and Checksum Specifications for Kerberos 5
*  Advanced Encryption Standard (AES) Encryption for Kerberos 5
*  The Kerberos Network Authentication Service (V5) [Current]
*  The Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Version 2
*  Kerberos Cryptosystem Negotiation Extension
*  Public Key Cryptography for Initial Authentication in Kerberos (PKINIT)
*  Online Certificate Status Protocol (OCSP) Support for Public Key Cryptography for Initial Authentication in Kerberos (PKINIT)
*  The RC4-HMAC Kerberos Encryption Types Used by Microsoft Windows [Obsolete]
*  Extended Kerberos Version 5 Key Distribution Center (KDC) Exchanges over TCP
*  Elliptic Curve Cryptography (ECC) Support for Public Key Cryptography for Initial Authentication in Kerberos (PKINIT)
*  Problem Statement on the Cross-Realm Operation of Kerberos
*  Generic Security Service Application Program Interface (GSS-API): Delegate if Approved by Policy
*  Additional Kerberos Naming Constraints
*  Anonymity Support for Kerberos
*  A Generalized Framework for Kerberos Pre-Authentication
*  Using Kerberos Version 5 over the Transport Layer Security (TLS) Protocol
*  The Unencrypted Form of Kerberos 5 KRB-CRED Message
*  Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Channel Binding Hash Agility
*  One-Time Password (OTP) Pre-Authentication
*  Deprecate DES, RC4-HMAC-EXP, and Other Weak Cryptographic Algorithms in Kerberos
*  Kerberos Options for DHCPv6
*  Camellia Encryption for Kerberos 5
*  Kerberos Principal Name Canonicalization and Cross-Realm Referrals
*  An Information Model for Kerberos Version 5

## Lähteet

## Aiheesta muualla
* https://kerberos.org