SlideShare a Scribd company logo
Elliptic curve cryptography (ECC) is an approach to public-key cryptography based on the
algebraic structure ofelliptic curves over finite fields. One of the main benefits in comparison with
non-ECC cryptography (with plain Galois fields as a basis) is the same level of security provided by
keys of smaller size.
Elliptic curves are applicable for encryption, digital signatures, pseudo-random generators and other
tasks. They are also used in several integer factorization algorithms that have applications in
cryptography, such as Lenstra elliptic
Theory[edit]
For current cryptographic purposes, an elliptic curve is a plane curve over a finite field (rather than
the real numbers) which consists of the points satisfying the equation
along with a distinguished point at infinity, denoted ∞. (The coordinates here are to be chosen
from a fixed finite field ofcharacteristic not equal to 2 or 3, or the curve equation will be
somewhat more complicated.)
This set together with the group operation of elliptic curves is an Abelian group, with the point at
infinity as identity element. The structure of the group is inherited from the divisor group of the
underlying algebraic variety. As is the case for other popular public key cryptosystems, no
mathematical proof of security has been published for ECC as of 2009.
The U.S. National Institute of Standards and Technology (NIST) has endorsed ECC in its Suite
B set of recommended algorithms, specifically Elliptic Curve Diffie–Hellman (ECDH) for key
exchange and Elliptic Curve Digital Signature Algorithm (ECDSA) for digital signature. The
U.S. National Security Agency (NSA) allows their use for protecting information classified up
to top secret with 384-bit keys.[3]
While the RSA patent expired in 2000, there may be patents in force covering certain aspects of
ECC technology, though some (including RSA Laboratories[4]
and Daniel J. Bernstein[5]
) argue
that the Federal elliptic curve digital signature standard (ECDSA; NIST FIPS 186-3) and certain
practical ECC-based key exchange schemes (including ECDH) can be implemented without
infringing them.
Applications[edit]
Elliptic curves are applicable for encryption, digital signatures, pseudo-random generators and other
tasks. They are also used in several integer factorization algorithms that have applications in
cryptography, such as Lenstra elliptic curve factorization.
Kerberos /ˈkɛərbərəs/ is a computer network authentication protocolwhich works on the basis of
'tickets' to allow nodes communicating over a non-secure network to prove their identity to one
another in a secure manner. Its designers aimed it primarily at a client–server model and it
provides mutual authentication—both the user and the server verify each other's identity. Kerberos
protocol messages are protected against eavesdropping and replay attacks.
Kerberos builds on symmetric key cryptography and requires a trusted third party, and optionally
may use public-key cryptography during certain phases of authentication.[1]
Kerberos uses UDP port
88 by default.
Protocol[edit]
Description[edit]
The client authenticates itself to the Authentication Server (AS) which forwards the username to
a key distribution center (KDC). The KDC issues a ticket-granting ticket (TGT), which is time
stamped, encrypts it using the user's password and returns the encrypted result to the user's
workstation. This is done infrequently, typically at user logon; the TGT expires at some point, though
may be transparently renewed by the user's session manager while they are logged in.
When the client needs to communicate with another node ("principal" in Kerberos parlance) the
client sends the TGT to the ticket-granting service (TGS), which usually shares the same host as the
KDC. After verifying the TGT is valid and the user is permitted to access the requested service, the
TGS issues a ticket and session keys, which are returned to the client. The client then sends the
ticket to the service server (SS) along with its service request.
Kerberos negotiations
The protocol is described in detail below.
User Client-based Logon[edit]
1. A user enters a username and password on the client machines. Other credential
mechanisms like pkinit (RFC4556) allow for the use of public keys in place of a password.
2. The client transforms the password into the key of a symmetric cipher. This either uses the
built in key scheduling or a one-way hashdepending on the cipher-suite used.
Client Authentication[edit]
1. The client sends a cleartext message of the user ID to the AS requesting services on behalf
of the user. (Note: Neither the secret key nor the password is sent to the AS.) The AS
generates the secret key by hashing the password of the user found at the database (e.g.,
Active Directory in Windows Server).
2. The AS checks to see if the client is in its database. If it is, the AS sends back the following
two messages to the client:
 Message A: Client/TGS Session Key encrypted using the secret key of the client/user.
 Message B: Ticket-Granting-Ticket (TGT, which includes the client ID, client network
address, ticket validity period, and the client/TGS session key) encrypted using the
secret key of the TGS.
3. Once the client receives messages A and B, it attempts to decrypt message A with the
secret key generated from the password entered by the user. If the user entered password
does not match the password in the AS database, the client's secret key will be different and
thus unable to decrypt message A. With a valid password and secret key the client decrypts
message A to obtain the Client/TGS Session Key. This session key is used for further
communications with the TGS. (Note: The client cannot decrypt Message B, as it is
encrypted using TGS's secret key.) At this point, the client has enough information to
authenticate itself to the TGS.
Drawbacks and limitations[edit]
 Single point of failure: It requires continuous availability of a central server. When the Kerberos
server is down, new users cannot log in. This can be mitigated by using multiple Kerberos
servers and fallback authentication mechanisms.
 Kerberos has strict time requirements, which means the clocks of the involved hosts must be
synchronized within configured limits. The tickets have a time availability period and if the host
clock is not synchronized with the Kerberos server clock, the authentication will fail. The default
configuration per MIT requires that clock times be no more than five minutes apart. In
practice Network Time Protocol daemons are usually used to keep the host clocks synchronized.
Note that some server (Microsoft implementation is one of them) may return a
KRB_AP_ERR_SKEW result containing the encrypted server time in case both clocks have an
offset greater than the configured max value. In that case, the client could retry by calculating
the time using the provided server time to find the offset. This behavior is documented in RFC
4430.
 The administration protocol is not standardized and differs between server implementations.
Password changes are described in RFC 3244.
 In case of symmetric cryptography adoption (Kerberos can work using symmetric or asymmetric
(public-key) cryptography), since all authentications are controlled by a centralized key
distribution center (KDC), compromise of this authentication infrastructure will allow an attacker
to impersonate any user.
 Each network service which requires a different host name will need its own set of Kerberos
keys. This complicates virtual hosting and clusters.
 Kerberos requires user accounts, user clients and the services on the server to all have a
trusted relationship to the Kerberos token server (All must be in the same Kerberos domain or in
domains that have a trust relationship between each other). Kerberos cannot be used in
scenarios where users want to connect to services from unknown/untrusted clients as in a
typical Internet or cloud computer scenario, where the authentication provider typically does not
have knowledge about the users client system.
 The required client trust makes creating staged environments (e.g., separate domains for test
environment, preproduction env., production env.) difficult: Either domain trust relationships
need to be created that prevent a strict separation of environment domains or additional user
clients need to be provided for each environments.

More Related Content

What's hot

Electronic Signature
Electronic SignatureElectronic Signature
Electronic Signature
Joon Young Park
 
Iaetsd a survey on cloud storage security with
Iaetsd a survey on cloud storage security withIaetsd a survey on cloud storage security with
Iaetsd a survey on cloud storage security with
Iaetsd Iaetsd
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
Authentication Protocols
Authentication ProtocolsAuthentication Protocols
Authentication Protocols
Trinity Dwarka
 
Information and data security digital signatures
Information and data security digital signaturesInformation and data security digital signatures
Information and data security digital signatures
Mazin Alwaaly
 
Blind Signature Scheme
Blind Signature SchemeBlind Signature Scheme
Blind Signature Scheme
Kelum Senanayake
 
Digital signature & eSign overview
Digital signature & eSign overviewDigital signature & eSign overview
Digital signature & eSign overview
Rishi Pathak
 
Literature review of Digital Signature
Literature review of Digital SignatureLiterature review of Digital Signature
Literature review of Digital Signature
Asim Neupane
 
Digital signature
Digital signatureDigital signature
Digital signature
Nisha Menon K
 
Ds over
Ds overDs over
Ds over
jolly9293
 
PKI by Gene Itkis
PKI by Gene ItkisPKI by Gene Itkis
Efficient authentication for mobile and pervasive computing
Efficient authentication for mobile and pervasive computing Efficient authentication for mobile and pervasive computing
Efficient authentication for mobile and pervasive computing
Shakas Technologies
 
561 1530-1-pb (1)
561 1530-1-pb (1)561 1530-1-pb (1)
561 1530-1-pb (1)
Meetendra Singh
 
Message authentication and hash function
Message authentication and hash functionMessage authentication and hash function
Message authentication and hash function
omarShiekh1
 
AN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEM
AN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEMAN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEM
AN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEM
Zac Darcy
 
Digital signature introduction
Digital signature introductionDigital signature introduction
Digital signature introduction
Asim Neupane
 
Digital signature schemes
Digital signature schemesDigital signature schemes
Digital signature schemes
ravik09783
 

What's hot (19)

Electronic Signature
Electronic SignatureElectronic Signature
Electronic Signature
 
Iaetsd a survey on cloud storage security with
Iaetsd a survey on cloud storage security withIaetsd a survey on cloud storage security with
Iaetsd a survey on cloud storage security with
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
Authentication Protocols
Authentication ProtocolsAuthentication Protocols
Authentication Protocols
 
Information and data security digital signatures
Information and data security digital signaturesInformation and data security digital signatures
Information and data security digital signatures
 
Blind Signature Scheme
Blind Signature SchemeBlind Signature Scheme
Blind Signature Scheme
 
Digital signature & eSign overview
Digital signature & eSign overviewDigital signature & eSign overview
Digital signature & eSign overview
 
Literature review of Digital Signature
Literature review of Digital SignatureLiterature review of Digital Signature
Literature review of Digital Signature
 
Digital signature
Digital signatureDigital signature
Digital signature
 
Ds over
Ds overDs over
Ds over
 
encrption.PDF
encrption.PDFencrption.PDF
encrption.PDF
 
Digital signature
Digital signatureDigital signature
Digital signature
 
PKI by Gene Itkis
PKI by Gene ItkisPKI by Gene Itkis
PKI by Gene Itkis
 
Efficient authentication for mobile and pervasive computing
Efficient authentication for mobile and pervasive computing Efficient authentication for mobile and pervasive computing
Efficient authentication for mobile and pervasive computing
 
561 1530-1-pb (1)
561 1530-1-pb (1)561 1530-1-pb (1)
561 1530-1-pb (1)
 
Message authentication and hash function
Message authentication and hash functionMessage authentication and hash function
Message authentication and hash function
 
AN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEM
AN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEMAN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEM
AN EFFICIENT PROXY SIGNCRYPTION SCHEME BASED ON THE DISCRETE LOGARITHM PROBLEM
 
Digital signature introduction
Digital signature introductionDigital signature introduction
Digital signature introduction
 
Digital signature schemes
Digital signature schemesDigital signature schemes
Digital signature schemes
 

Similar to Elliptic curve cryptography

Kerberos Protocol
Kerberos ProtocolKerberos Protocol
Kerberos Protocol
Netwax Lab
 
Kerberos Architecture.pptx
Kerberos Architecture.pptxKerberos Architecture.pptx
Kerberos Architecture.pptx
Shashwat Shriparv
 
Kerberos Architecture.pptx
Kerberos Architecture.pptxKerberos Architecture.pptx
Kerberos Architecture.pptx
Shashwat Shriparv
 
Kerberos
KerberosKerberos
Kerberos
RafatSamreen
 
Technet.microsoft.com
Technet.microsoft.comTechnet.microsoft.com
Technet.microsoft.com
Kurt Kort
 
Kerberos case study
Kerberos case studyKerberos case study
Kerberos case study
Mayuri Patil
 
kerberos
kerberoskerberos
kerberos
sameer farooq
 
BAIT1103 Chapter 3
BAIT1103 Chapter 3BAIT1103 Chapter 3
BAIT1103 Chapter 3limsh
 
Rakesh raj
Rakesh rajRakesh raj
Rakesh raj
DBNCOET
 
SSL/TLS Handshake
SSL/TLS HandshakeSSL/TLS Handshake
SSL/TLS Handshake
Arpit Agarwal
 
Kerberos Security in Distributed Systems
Kerberos Security in Distributed SystemsKerberos Security in Distributed Systems
Kerberos Security in Distributed Systems
IRJET Journal
 
kerb.ppt
kerb.pptkerb.ppt
kerb.ppt
JdQi
 
Null talk
Null talkNull talk
Null talk
Agam Jain
 
Computer security module 4
Computer security module 4Computer security module 4
Computer security module 4
Deepak John
 
Kerberos
KerberosKerberos
Kerberos
Rahul Pundir
 
Introduction of an SSL Certificate
Introduction of an SSL CertificateIntroduction of an SSL Certificate
Introduction of an SSL Certificate
CheapSSLUSA
 
Improving the Secure Socket Layer by Modifying the RSA Algorithm
Improving the Secure Socket Layer by Modifying the RSA AlgorithmImproving the Secure Socket Layer by Modifying the RSA Algorithm
Improving the Secure Socket Layer by Modifying the RSA Algorithm
IJCSEA Journal
 
CISSPills #1.02
CISSPills #1.02CISSPills #1.02

Similar to Elliptic curve cryptography (20)

Kerberos Protocol
Kerberos ProtocolKerberos Protocol
Kerberos Protocol
 
Kerberos Architecture.pptx
Kerberos Architecture.pptxKerberos Architecture.pptx
Kerberos Architecture.pptx
 
Kerberos Architecture.pptx
Kerberos Architecture.pptxKerberos Architecture.pptx
Kerberos Architecture.pptx
 
Kerberos
KerberosKerberos
Kerberos
 
Technet.microsoft.com
Technet.microsoft.comTechnet.microsoft.com
Technet.microsoft.com
 
Kerberos case study
Kerberos case studyKerberos case study
Kerberos case study
 
kerberos
kerberoskerberos
kerberos
 
BAIT1103 Chapter 3
BAIT1103 Chapter 3BAIT1103 Chapter 3
BAIT1103 Chapter 3
 
Rakesh raj
Rakesh rajRakesh raj
Rakesh raj
 
SSL/TLS Handshake
SSL/TLS HandshakeSSL/TLS Handshake
SSL/TLS Handshake
 
Kerberos Security in Distributed Systems
Kerberos Security in Distributed SystemsKerberos Security in Distributed Systems
Kerberos Security in Distributed Systems
 
kerb.ppt
kerb.pptkerb.ppt
kerb.ppt
 
Null talk
Null talkNull talk
Null talk
 
Computer security module 4
Computer security module 4Computer security module 4
Computer security module 4
 
Kerberos
KerberosKerberos
Kerberos
 
Introduction of an SSL Certificate
Introduction of an SSL CertificateIntroduction of an SSL Certificate
Introduction of an SSL Certificate
 
Improving the Secure Socket Layer by Modifying the RSA Algorithm
Improving the Secure Socket Layer by Modifying the RSA AlgorithmImproving the Secure Socket Layer by Modifying the RSA Algorithm
Improving the Secure Socket Layer by Modifying the RSA Algorithm
 
Rakesh
RakeshRakesh
Rakesh
 
Rakesh
RakeshRakesh
Rakesh
 
CISSPills #1.02
CISSPills #1.02CISSPills #1.02
CISSPills #1.02
 

More from Abhishek Kesharwani

uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
Abhishek Kesharwani
 
uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
Abhishek Kesharwani
 
uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
Abhishek Kesharwani
 
uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
Abhishek Kesharwani
 
uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
Abhishek Kesharwani
 
uptu web technology unit 2 Css
uptu web technology unit 2 Cssuptu web technology unit 2 Css
uptu web technology unit 2 Css
Abhishek Kesharwani
 
uptu web technology unit 2 Css
uptu web technology unit 2 Cssuptu web technology unit 2 Css
uptu web technology unit 2 Css
Abhishek Kesharwani
 
uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2
Abhishek Kesharwani
 
uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2
Abhishek Kesharwani
 
uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2
Abhishek Kesharwani
 
uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2
Abhishek Kesharwani
 
Unit 1 web technology uptu slide
Unit 1 web technology uptu slideUnit 1 web technology uptu slide
Unit 1 web technology uptu slide
Abhishek Kesharwani
 
Unit1 Web Technology UPTU UNIT 1
Unit1 Web Technology UPTU UNIT 1 Unit1 Web Technology UPTU UNIT 1
Unit1 Web Technology UPTU UNIT 1
Abhishek Kesharwani
 
Unit1 2
Unit1 2 Unit1 2
Web Technology UPTU UNIT 1
Web Technology UPTU UNIT 1 Web Technology UPTU UNIT 1
Web Technology UPTU UNIT 1
Abhishek Kesharwani
 
Mtech syllabus computer science uptu
Mtech syllabus computer science uptu Mtech syllabus computer science uptu
Mtech syllabus computer science uptu
Abhishek Kesharwani
 

More from Abhishek Kesharwani (20)

uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
 
uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
 
uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
 
uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
 
uptu web technology unit 2 html
uptu web technology unit 2 htmluptu web technology unit 2 html
uptu web technology unit 2 html
 
uptu web technology unit 2 Css
uptu web technology unit 2 Cssuptu web technology unit 2 Css
uptu web technology unit 2 Css
 
uptu web technology unit 2 Css
uptu web technology unit 2 Cssuptu web technology unit 2 Css
uptu web technology unit 2 Css
 
uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2
 
uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2
 
uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2
 
uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2uptu web technology unit 2 Xml2
uptu web technology unit 2 Xml2
 
Unit 1 web technology uptu slide
Unit 1 web technology uptu slideUnit 1 web technology uptu slide
Unit 1 web technology uptu slide
 
Unit1 Web Technology UPTU UNIT 1
Unit1 Web Technology UPTU UNIT 1 Unit1 Web Technology UPTU UNIT 1
Unit1 Web Technology UPTU UNIT 1
 
Unit1 2
Unit1 2 Unit1 2
Unit1 2
 
Web Technology UPTU UNIT 1
Web Technology UPTU UNIT 1 Web Technology UPTU UNIT 1
Web Technology UPTU UNIT 1
 
Mtech syllabus computer science uptu
Mtech syllabus computer science uptu Mtech syllabus computer science uptu
Mtech syllabus computer science uptu
 
Wi max tutorial
Wi max tutorialWi max tutorial
Wi max tutorial
 
Virtual lan
Virtual lanVirtual lan
Virtual lan
 
Virtual lan
Virtual lanVirtual lan
Virtual lan
 
Tcp traffic control and red ecn
Tcp traffic control and red ecnTcp traffic control and red ecn
Tcp traffic control and red ecn
 

Elliptic curve cryptography

  • 1. Elliptic curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure ofelliptic curves over finite fields. One of the main benefits in comparison with non-ECC cryptography (with plain Galois fields as a basis) is the same level of security provided by keys of smaller size. Elliptic curves are applicable for encryption, digital signatures, pseudo-random generators and other tasks. They are also used in several integer factorization algorithms that have applications in cryptography, such as Lenstra elliptic Theory[edit] For current cryptographic purposes, an elliptic curve is a plane curve over a finite field (rather than the real numbers) which consists of the points satisfying the equation along with a distinguished point at infinity, denoted ∞. (The coordinates here are to be chosen from a fixed finite field ofcharacteristic not equal to 2 or 3, or the curve equation will be somewhat more complicated.) This set together with the group operation of elliptic curves is an Abelian group, with the point at infinity as identity element. The structure of the group is inherited from the divisor group of the underlying algebraic variety. As is the case for other popular public key cryptosystems, no mathematical proof of security has been published for ECC as of 2009. The U.S. National Institute of Standards and Technology (NIST) has endorsed ECC in its Suite B set of recommended algorithms, specifically Elliptic Curve Diffie–Hellman (ECDH) for key exchange and Elliptic Curve Digital Signature Algorithm (ECDSA) for digital signature. The U.S. National Security Agency (NSA) allows their use for protecting information classified up to top secret with 384-bit keys.[3] While the RSA patent expired in 2000, there may be patents in force covering certain aspects of ECC technology, though some (including RSA Laboratories[4] and Daniel J. Bernstein[5] ) argue that the Federal elliptic curve digital signature standard (ECDSA; NIST FIPS 186-3) and certain practical ECC-based key exchange schemes (including ECDH) can be implemented without infringing them. Applications[edit] Elliptic curves are applicable for encryption, digital signatures, pseudo-random generators and other tasks. They are also used in several integer factorization algorithms that have applications in cryptography, such as Lenstra elliptic curve factorization.
  • 2. Kerberos /ˈkɛərbərəs/ is a computer network authentication protocolwhich works on the basis of 'tickets' to allow nodes communicating over a non-secure network to prove their identity to one another in a secure manner. Its designers aimed it primarily at a client–server model and it provides mutual authentication—both the user and the server verify each other's identity. Kerberos protocol messages are protected against eavesdropping and replay attacks. Kerberos builds on symmetric key cryptography and requires a trusted third party, and optionally may use public-key cryptography during certain phases of authentication.[1] Kerberos uses UDP port 88 by default. Protocol[edit] Description[edit] The client authenticates itself to the Authentication Server (AS) which forwards the username to a key distribution center (KDC). The KDC issues a ticket-granting ticket (TGT), which is time stamped, encrypts it using the user's password and returns the encrypted result to the user's workstation. This is done infrequently, typically at user logon; the TGT expires at some point, though may be transparently renewed by the user's session manager while they are logged in. When the client needs to communicate with another node ("principal" in Kerberos parlance) the client sends the TGT to the ticket-granting service (TGS), which usually shares the same host as the KDC. After verifying the TGT is valid and the user is permitted to access the requested service, the TGS issues a ticket and session keys, which are returned to the client. The client then sends the ticket to the service server (SS) along with its service request. Kerberos negotiations The protocol is described in detail below. User Client-based Logon[edit] 1. A user enters a username and password on the client machines. Other credential mechanisms like pkinit (RFC4556) allow for the use of public keys in place of a password.
  • 3. 2. The client transforms the password into the key of a symmetric cipher. This either uses the built in key scheduling or a one-way hashdepending on the cipher-suite used. Client Authentication[edit] 1. The client sends a cleartext message of the user ID to the AS requesting services on behalf of the user. (Note: Neither the secret key nor the password is sent to the AS.) The AS generates the secret key by hashing the password of the user found at the database (e.g., Active Directory in Windows Server). 2. The AS checks to see if the client is in its database. If it is, the AS sends back the following two messages to the client:  Message A: Client/TGS Session Key encrypted using the secret key of the client/user.  Message B: Ticket-Granting-Ticket (TGT, which includes the client ID, client network address, ticket validity period, and the client/TGS session key) encrypted using the secret key of the TGS. 3. Once the client receives messages A and B, it attempts to decrypt message A with the secret key generated from the password entered by the user. If the user entered password does not match the password in the AS database, the client's secret key will be different and thus unable to decrypt message A. With a valid password and secret key the client decrypts message A to obtain the Client/TGS Session Key. This session key is used for further communications with the TGS. (Note: The client cannot decrypt Message B, as it is encrypted using TGS's secret key.) At this point, the client has enough information to authenticate itself to the TGS. Drawbacks and limitations[edit]  Single point of failure: It requires continuous availability of a central server. When the Kerberos server is down, new users cannot log in. This can be mitigated by using multiple Kerberos servers and fallback authentication mechanisms.  Kerberos has strict time requirements, which means the clocks of the involved hosts must be synchronized within configured limits. The tickets have a time availability period and if the host clock is not synchronized with the Kerberos server clock, the authentication will fail. The default configuration per MIT requires that clock times be no more than five minutes apart. In practice Network Time Protocol daemons are usually used to keep the host clocks synchronized. Note that some server (Microsoft implementation is one of them) may return a KRB_AP_ERR_SKEW result containing the encrypted server time in case both clocks have an offset greater than the configured max value. In that case, the client could retry by calculating the time using the provided server time to find the offset. This behavior is documented in RFC 4430.
  • 4.  The administration protocol is not standardized and differs between server implementations. Password changes are described in RFC 3244.  In case of symmetric cryptography adoption (Kerberos can work using symmetric or asymmetric (public-key) cryptography), since all authentications are controlled by a centralized key distribution center (KDC), compromise of this authentication infrastructure will allow an attacker to impersonate any user.  Each network service which requires a different host name will need its own set of Kerberos keys. This complicates virtual hosting and clusters.  Kerberos requires user accounts, user clients and the services on the server to all have a trusted relationship to the Kerberos token server (All must be in the same Kerberos domain or in domains that have a trust relationship between each other). Kerberos cannot be used in scenarios where users want to connect to services from unknown/untrusted clients as in a typical Internet or cloud computer scenario, where the authentication provider typically does not have knowledge about the users client system.  The required client trust makes creating staged environments (e.g., separate domains for test environment, preproduction env., production env.) difficult: Either domain trust relationships need to be created that prevent a strict separation of environment domains or additional user clients need to be provided for each environments.