SAML, WS-Federation και Enterprise SSO Internals — DedSec Project
SAML, WS-Federation και Enterprise SSO Internals Ελληνική έκδοση — Μάθημα 128. Οι διεθνείς τεχνικοί όροι, protocol names, standards και commands παραμένουν στα Αγγλικά όπου αυτό αυξάνει την…
Ελληνική έκδοση — Μάθημα 128. Οι διεθνείς τεχνικοί όροι, protocol names, standards και commands παραμένουν στα Αγγλικά όπου αυτό αυξάνει την ακρίβεια.
Κατανόησε SAML/enterprise SSO με assertions, metadata, signatures, audience, recipient, RelayState, attributes και session lifecycle.
Μαθησιακοί στόχοι
Στο τέλος πρέπει να μπορείς να:
- εξηγήσεις το IdP and SP trust roles και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το SAML assertions and conditions και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το browser SSO profiles and bindings και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το metadata and signing keys και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το audience and recipient validation και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το NameID and attribute mapping και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
Βαθιές τεχνικές έννοιες
1. IdP και SP trust
Στο SAML ο Identity Provider εκδίδει assertions και ο Service Provider τα καταναλώνει. Ο SP πρέπει να εμπιστεύεται μόνο configured issuers/keys και να εφαρμόζει δικό του authorization· valid assertion από λάθος tenant/relationship δεν αρκεί.
2. assertions και conditions
Assertion περιέχει subject, authentication context, attributes και conditions. Κάνε validation σε issuer, signature, audience, recipient/destination, χρόνο, subject confirmation και expected flow αντί να ελέγχεις μόνο τη signature.
3. browser SSO profiles και bindings
Browser SSO μεταφέρει SAML messages μέσω browser με συγκεκριμένα bindings. Παρακολούθησε ποιο state ανήκει στο request, τι μπορεί να επηρεάσει ο browser και πώς ο SP συσχετίζει response με το αρχικό session.
4. metadata και signing keys
SAML metadata διανέμει entity IDs, endpoints, certificates και capabilities. Metadata/key rollover είναι high-impact config change και χρειάζεται authenticated distribution, overlap window, audit και tested rollback.
5. audience και recipient validation
Audience και recipient/destination εμποδίζουν assertion για ένα service να χρησιμοποιηθεί σε άλλο. Η σύγκριση πρέπει να γίνεται με canonical local configuration, όχι με values που προέρχονται από το incoming request.
6. NameID και attribute mapping
Attributes γίνονται local identity/roles μέσω mapping rules. Μην χρησιμοποιείς mutable display name ή email σαν μοναδικό privileged identifier χωρίς explicit collision, case, domain και missing-value policy.
7. RelayState και request correlation
RelayState μεταφέρει navigation/application context και δεν πρέπει να γίνεται unvalidated redirect ή authorization source. Κράτησε application state χωριστά από identity proof και συσχέτισε response με το σωστό authentication request.
8. logout και session lifetime
SAML logout και local app sessions έχουν διαφορετικό lifecycle. Όρισε ποια local tokens ανακαλούνται, τι γίνεται αν Single Logout αποτύχει και πώς admin τερματίζει sessions σε incident.
Καθοδηγούμενο εργαστήριο
Εργαστήριο 1 — Σχεδίασε ροή SSO που ξεκινά από τον πάροχο υπηρεσίας και σημείωσε κάθε υπογεγραμμένη ή ανυπόγραφη τιμή και τον υπεύθυνο επικύρωσης.
Εργαστήριο 2 — Δημιούργησε κατάλογο ελέγχου ισχυρισμών ταυτότητας και δοκίμασέ τον με συνθετικά έγκυρα και άκυρα παραδείγματα, χωρίς πραγματικούς λογαριασμούς.
Εργαστήριο 3 — Μοντελοποίησε μετάβαση κλειδιών IdP με επικάλυψη παλιών και νέων κλειδιών υπογραφής και όρισε ασφαλή χρονικά παράθυρα αποδοχής.
Πλήρες αγγλικό μάθημα
Επόμενα μαθήματα
Σχετικά modules: 021, 032, 039, 072, 092, 093. Από το κύριο menu επίλεξε Αναζήτηση μαθημάτων για να βρεις σχετικά θέματα σε όλο το project.