Challenge-handshake authentication protocol
Το Challenge-Handshake Authentication Protocol (CHAP) authentication πιστοποιεί ένα χρήστη ή host δίκτυου σε μια οντότητα πιστοποιησης που μπορεί να είναι πχ. ένας πάροχος προσβασης στο ιντερνετ.Το πρώτοκολλο προσδιορίζεται από το το RFC 1994: PPP Challenge Handshake Authentication Protocol (CHAP).
Το CHAP είναι ένα scheme αυθεντικοποίησης που χρησιμοποιείται από Point to Point Protocol (PPP) servers γαι να πιστοποιήσει τιν ταυτότητα τον απομακρυσμένων χρηστων. Το CHAP περιοδικά επιβεβαιώνει την ταυτότητα του πελάτη με τη χρήση τριών δρόμων χειραψία (three-way handshake). Αυτό πραγματοποιείται κατα τη διάρκεια εγκατάστασης establishing της αρχικής σύνδεσης , και μπορει πραγματοποιηθεί πάλι οποιαδήποτε άλλη στιγμή μετέπειτα. Η επιβεβαίωση βασίζεται σε ένα κοινό μυστικό (όπως για παράδειγμα ο κωδικός πρόσβασης του πελάτη).
- έπειτα από την ολοκλήρωση της φάσης εγκαθυδρισης συνδεσής link establishment phase, ο authenticator αποστέλει ενα "challenge" μήνυμα στον αποδέκτη (αλλο άκρο) peer.
- Ο peer απαντά με μία τιμη που υπολογίζεται απο μία .one-way hash function, όπως το MD5 checksum hash.
- Ο authenticator ελέγχει την απάντηση μέσω του δικού του υπολογισμού της αναμενόμενης τιμής hash . Αν οι τιμές ταιριάζουν, ο authenticator αναγνωρίζει την πιστοποίηση , αλλιώς τερματίζει τη σύνδεση.
- κατα τυχαία χρονικά διαστήματα ο authenticator αποστέλει νεο challenge στο peer και επαναλαμβάνει τα βηματα 1 εώς 3.
Το πρωτόκολλο CHAP παρέχει προστασία εναντια σε επιθέσεις playback attack απο το peer μέσω της χρήσης ενός incrementally changing identifier και μιας μεταβλητής challenge-value.Επίσης απαιτείται και ο πελάτης και ο server να γνωρίζουν το κείμενο του μυστικού παρ' ολο που δεν αποστέλλεται ποτέ μέσω δικτύου.
Η Microsoft έχει διμιουργήσει μια παραλλαγή του CHAP, που την ονομάζει MS-CHAP, και δέν απαιτεί κανενασ απο τα peer να γνωρίζει το κείμενο του μυστικού
Κυκλος εργασιών
- Challenge Packet (Συστημα στο Χρήστη)
- Response Packet (Χρήστης στο Συστημα)
- Success or failure packet (Συστημα στο Χρήστη)
CHAP Packets
Περιγραφή | 1 byte | 1 byte | 2 bytes | 1 byte | Μεταβλητή | Μεταβλητή |
---|---|---|---|---|---|---|
Challenge | Code = 1 | ID | Length | Challenge length | Challenge value | Name |
Response | Code = 2 | ID | Length | Response Length | Response value | Name |
Success | Code = 3 | ID | Length | Message | ||
Failure | Code = 4 | ID | Length | Message |
Τα πακέτα CHAP είνα ενθυλακωμένα σε ένα PPP frame. Το πεδίο του πρώτοκόλλου έχει τιμή C223(hex)
Flag | Address | Control | Protocol (C223(hex)) | Payload (table above) | FCS | Flag |
---|