Authentication Protocols
Hassenstein Thema 2
Hassenstein Thema 2
-
- 1 / 28
-
Flashcards
Anhand wessen werden Authentication Protokolle Kategorisiert?
- Kryptographisches Prinzip (Symetrisch, Asymetrisch)
- Gebrauch einer trusted party
- Moöglichkeit zum etablieren eines Key-Exchanges
- Resistenz gegen attacken
- Einseitige oder gegenseitige Authentication
Phases of identification and authentication
- Registration phase
- grant new access priviledge
- within a organisation
- Authentication phase
- Credential renewing phase
- De-Registration phase
Kategorien von Attackresistenz
- Passive Attacken
- Offline guessing, Dictionary attacks
- Active Attack Resistance
- Impersonation attacks on Prover or Verifier
- Man-in-the-Middle and replay attacks
- Hijacking attacks
- Online guessing attacks
- Verifier Impersonation Resistance
- Privileged Insider attack
- Verifier Compromise Resistance
- Stolen Verifier Database
- Endpoint Compromise
Beispiel Passive Attacke
An attacker captures an authentication protocol run and analyzes the messages to identify the correct shared secret.
Beispiele aktive Attacken
Man-In-The-Middle
- Man-In-The-Middle with ARP or DNS Spoofing
Replay
- Authentication protocol messages are captured and retransmitted to gain access to a service as a legitimate subscriber
Hijacking
- Übernehmen einer Session nach erfolgreichem Login (Authentication)
Online guessing
- Online dictionary attacks used to guess memorized secrets
Beispiel "Verifier Impersonation Attacks"
If a privileged-insider of V1 has the knowledge of the pw and the ID of the prover, he may try to access other verifiers V2, V3, . . . , Vn by using the same pw and ID.
Beispiel "Verifier Compromise Attacks"
Stolen-verifier database
- The attacker applies an off-line guessing attack on the stolen user credential database to get User ID and password and hence impersonate as a legitimate subscriber of interest.
Endpoint compromise
- Malicious code proxies authentication or exports authenticator keys from the endpoint.
Execution Timeliness and Data Freshness
To avoid replay attacks we need a dynamic components, the two main methods are none or time-stamps
time-stamps allows to check it for freshness
Kerberos KDC and phases
Kerberos Terms and Authentication Process
Realm
- The domain of the authority of the Kerberos server, Clients and Servers
Principal
- A user or service participating in a Kerberos realm
- principal has format: name[/instance]@REALM
- All participants in a Kerberos realm have a long-term key which they define or receive during initial registration
Ticket
- Temporal digital certificate, which represents the identity of a principal for a given time
three sub-protocols of Kerberos
Kerberos Authentication Process
- Authenticate and get TGT
Ticket Granting Service Request
- Get Ticket from TGS with using TGT
Client Service Request
- Request to Service/Server using Ticket from TGS
Special issues of Kerberos
- KDC security:
- The KDC has access to the keys of all principals and thus is critical for the security of Kerberos. The KDC must be kept secure, both from a physical and network point of view.
- Ticket revocation:
- Ticket granting tickets stay valid until they expire, typically 10 hours. What if compromised in meantime?
- Clock synchronization:
- Timestamps are needed to protect against replay attacks. Recent messages will becached for a certain time (e.g. 5 min).
- Key storage:
- Session keys and ticket granting tickets must not be located in unprotected host environments.
Flags/Options of Kerberos Tickets
The "initial" flag:
- indicates that a ticket was issued using the AS protocol, rather than issued based on a ticket-granting ticket. Important for a password-changing program.
The "pre-authent" flag:
- indicates that some sort of preauthentication was used during the AS exchange.
The "hw-authent" flag:
- indicates that some sort of hardware-based preauthentication occurred during the AS exchange.
The "invalid" flag:
- indicates that a ticket is invalid. Application servers MUST reject tickets which have this flag set. A postdated ticket will be issued in this form.
The "renewable" flag:
- indicates whether the ticket may be renewed. A client must periodically present an unexpired renewable ticket to the KDC, setting the "renew" option in the KDC request. The KDC will issue a new ticket with a new session key and a later expiration time. The "renewable" flag in a ticket is normally only interpreted by the ticket-granting service. If a renewable ticket is not renewed by its expiration time, the KDC will not renew the ticket. The "renewable" flag is clear by default, but a client can request it be set by setting the "renewable" option in the AS-REQ message. If it is set, then the "renew-till" field in the ticket contains the time after which the ticket may not be renewed.
The "postdated" flag:
- indicates that this ticket is intended for later use. Applications may occasionally need to obtain tickets for use much later
The “proxy” flag:
- allows a client to pass a proxy to a server to perform a remote request on its behalf (e.g. a print service client can give the print server a proxy to access the client's files on a particular file server in order to satisfy a print request). tem would need tickets to be valid at the time the batch job is serviced.
The “forwardable” flag:
- indicates that forwarded tickets may be issued based on this ticket. It has an interpretation similar to that of the "proxiable" flag, except ticketgranting tickets may also be issued with different network addresses. This flag allows for authentication forwarding without requiring the user to enter a password again.
Authenticate using CRAM (Challenge-Response Authentication Methods)
- output ih highly dependant of the specific cryptographic device
- In general is a kind of "signed" messages
- The cryptographic device have to do a challenge with signing something and response this
Possible algorithm for CRAM
- shared-secret based
- Hash algorithm
- Symmetric cipher
- HMAC
- private/public key based
- Digital Signature
Private/Public Key based Authentication
This protocol is vulnerable against an 'adaptive chosen plaintext attack'!!!
Thus, a key-pair used for Non Repudiation SHALL NOT be used for authentication purpose.
- Instead of a symmetric cipher, we may use asymmetric cryptography for authentication purposes.
- Rather than a shared secret key, the Verifier needs to have an authenticated version of Peggy’s public key only.
- In private/public-key based authentication protocols there is no need to store or transmit shared secrets on/to server side.
- A CSP may issue a credential in form of a certificate. The subscriber may present the credential during the authentication process together with the provable authenticator output. The credential may also be stored in the user database at verifier side.
Mutual CRAM
may be implemented for mutual authentication, but vulnerable to Reflection Attacks and increased sensitivity to ‘Denial of Service’ attacks
CRAM standard for start a session can be hijacked at this point
What if a secure session is needed after authentication?
- We have to bind a session key to the CRAM.
PAKE "Password Authenticated Key Exchange"
Establishing a private and authenticated channel on top of an insecure network solely based on a shared password
- No need of trusted third party (e.g. KDC) to establish a session key tied to an authentication protocol.
- No user-specific credentials are passed over the network open to attacks. Someone who tries to tamper or just eavesdrop a protocol run cannot gain useful information (e.g. for dictionary attack).
- The lack of DH-Exchange missing authentication of entities can be solved.
- Potentially weak passwords get expanded to a fresh random session key.
DH-EKE
- Often called Zero Knowledge Password Proof (ZKPP).
- Amplifies weak passwords into strong session keys.
- Enables Authenticated DHKE based on shared secret.
- Resistant against:
- Offline dictionary attacks: Does NOT leak any information for passive/active attackers to allow offline-exhaustive search to find private secrets.
- On-line dictionary attacks: It gives an active attacker only one chance to test the private secret per protocol.
- Known-session key and forward secrecy: keeps session keys of already established sessions secure, even the shared secret shall be leaked some day.
SPEKE
- Alice and Bob agree to use an appropriately large and randomly selected safe prime p, as well as a hash function H().
- Alice and Bob agree on a shared password π.
- Alice and Bob both construct g = H(π)2 mod p. (Squaring makes g a generator of the prime order subgroup of the multiplicative group of integers modulo p.)
- Alice chooses a secret random integer a, then sends Bob ga mod p.
- Bob chooses a secret random integer b, then sends Alice gb mod p.
- Alice and Bob each abort if their received values are not in the range [2,p-2], to prevent small subgroup confinement attack.
- Alice computes K = (gb mod p)a mod p.
- Bob computes K = (ga mod p)b mod p.
Augmented PAKE
The difference between balanced and augmented PAKE is that augmented PAKE does not store password-equivalent data
VPAKE is a variation in which the server does not store password-equivalent data. A VPAKE protocol provides extra protection for server compromise in the sense that an attacker, who obtains a password verifier from a server, cannot impersonate the corresponding user without performing a cryptographical effort on the password verifier database. This additional security is known as "resistance to server compromise". This means that an attacker that may has stolen the server data still cannot masquerade as the client unless it performs at least a brute force search for all possible passwords.
SRP (TLS, EAP, SAML)
ZKP
With a ZKP you can convince another party of the fact that a (usually mathematical) statement is true, without revealing anything other than the correctness of the statement.