Μετάβαση στο κύριο περιεχόμενο

Ροές ίδιας συσκευής και διαφορετικών συσκευών

Κάθε φορά που ένα πορτοφόλι αποδεικνύει κάτι σε έναν ιστότοπο, τα δύο πρέπει να βρουν το ένα το άλλο. Μερικές φορές βρίσκονται ήδη στο ίδιο τηλέφωνο και η παράδοση είναι ένα άγγιγμα. Άλλες φορές ο ιστότοπος είναι σε ένα γραφείο και το πορτοφόλι σε μια τσέπη, και η μόνη γέφυρα ανάμεσά τους είναι ένας κωδικός στην οθόνη. Αυτές είναι οι ροές ίδιας συσκευής και διαφορετικών συσκευών, και σχεδόν κάθε πρακτικό ερώτημα για τα ψηφιακά διαπιστευτήρια καταλήγει στο σε ποια από τις δύο βρίσκεστε.

Δύο μορφές της ίδιας ανταλλαγής

Οι δύο ροές έχουν κοινό ό,τι μετράει για την επιχείρηση: τίθεται η ίδια ερώτηση, το ίδιο άτομο την εγκρίνει και επιστρέφει η ίδια απόδειξη. Τίποτα από όσα επιτρέπεται να ζητήσετε, ή από όσα μπορείτε να εμπιστευτείτε μετά, δεν εξαρτάται από το σε ποια ροή βρίσκεστε.

Αυτό που διαφέρει είναι η διαδρομή. Στη μία το πορτοφόλι απέχει ένα άγγιγμα και δίνει την απάντηση κατευθείαν πίσω στη σελίδα που ρώτησε. Στην άλλη η απάντηση ταξιδεύει από μια δεύτερη συσκευή στους διακομιστές σας, και η σελίδα που βλέπει το άτομο πρέπει να ενημερωθεί ότι έφτασε.

Οι ροές ίδιας συσκευής και διαφορετικών συσκευών δίπλα δίπλα, βήμα προς βήμα.

Ίδια συσκευή

Ένα τηλέφωνο. Ιστότοπος και πορτοφόλι στην ίδια οθόνη.

  1. Ο επισκέπτης βρίσκεται στον ιστότοπο από τον browser του τηλεφώνου του και ζητά να αποδείξει κάτι.
  2. Ο ιστότοπος ανοίγει το πορτοφόλι με deep link ή ανακατεύθυνση.
  3. Το πορτοφόλι δείχνει ποιος ζητά και για ποιον σκοπό, και ο επισκέπτης εγκρίνει.
  4. Το πορτοφόλι ανακατευθύνει πίσω στον ιστότοπο με την απάντηση, στην ίδια συνεδρία του browser που ξεκίνησε τη διαδικασία.

Διαφορετικές συσκευές

Δύο συσκευές. Ιστότοπος στον υπολογιστή, πορτοφόλι στο τηλέφωνο.

  1. Ο επισκέπτης βρίσκεται στον ιστότοπο από τον browser του υπολογιστή και ζητά να αποδείξει κάτι.
  2. Ο ιστότοπος εμφανίζει έναν κωδικό QR που μεταφέρει το αίτημα.
  3. Το πορτοφόλι στο τηλέφωνο τον σαρώνει, δείχνει ποιος ζητά, και ο επισκέπτης εγκρίνει.
  4. Το πορτοφόλι στέλνει την απάντηση στο backend του ιστότοπου, το οποίο ενημερώνει τη σελίδα στον υπολογιστή ότι η ανταλλαγή ολοκληρώθηκε.

Πότε συμβαίνει η καθεμία

Δεν διαλέγετε εσείς. Ένας πελάτης που ανοίγει τη σελίδα ένταξής σας στο τηλέφωνο καθ' οδόν προς τη δουλειά βρίσκεται σε ροή ίδιας συσκευής. Ο ίδιος πελάτης, που ολοκληρώνει την ίδια φόρμα σε ένα γραφείο το επόμενο πρωί, βρίσκεται σε ροή διαφορετικών συσκευών. Το πορτοφόλι ζει σε ένα τηλέφωνο, οπότε η ροή ακολουθεί το σημείο όπου γίνεται η υπόλοιπη δουλειά.

Γι' αυτό και τα δύο πρωτόκολλα του ευρωπαϊκού οικοσυστήματος περιγράφουν και τις δύο ροές. Η παρουσίαση, όπου ζητάτε από κάποιον να αποδείξει κάτι, ονομάζει ρητά τις δύο ροές. Η έκδοση, όπου παραδίδετε σε κάποιον ένα διαπιστευτήριο, κάνει την ίδια διάκριση για την προσφορά που την ξεκινά: μπορεί να εμφανιστεί στη συσκευή όπου βρίσκεται το πορτοφόλι ή να φτάσει με οποιονδήποτε άλλο τρόπο, ακόμη και με μια επιστολή με τυπωμένο κωδικό.

Μια υπηρεσία που χρησιμοποιείται μόνο μέσα στον οργανισμό σας, σε διαχειριζόμενους υπολογιστές, μπορεί εύλογα να ξεκινήσει με μία ροή. Ό,τι φτάνει ένας πολίτης ή πελάτης με τους δικούς του όρους χρειάζεται και τις δύο, και μια υπηρεσία που λειτουργεί μόνο με τον έναν τρόπο θα αναφερθεί ως χαλασμένη, όχι ως μη υποστηριζόμενη.

Τι κοστίζει η καθεμία στο άτομο που τη χρησιμοποιεί

Η ροή ίδιας συσκευής είναι η συντομότερη διαδρομή. Δεν υπάρχει δεύτερη οθόνη, ούτε κάμερα, ούτε η στιγμή που κοιτάτε από τη μία συσκευή στην άλλη, και το άτομο καταλήγει πίσω εκεί από όπου ξεκίνησε. Όταν αποτυγχάνει, συνήθως αποτυγχάνει νωρίς και εμφανώς: δεν υπάρχει εγκατεστημένο πορτοφόλι ή ο σύνδεσμος ανοίγει κάτι που δεν είναι καθόλου πορτοφόλι.

Η ροή διαφορετικών συσκευών κοστίζει μια σάρωση, αλλά προσφέρει κάτι πραγματικό. Το άτομο μένει στη μεγάλη οθόνη όπου συμπλήρωνε μια μεγάλη φόρμα, διάβαζε ένα συμβόλαιο ή σύγκρινε επιλογές, και μόνο η ίδια η απόδειξη μεταφέρεται στο τηλέφωνο. Για οτιδήποτε απαιτεί πάνω από ένα λεπτό πληκτρολόγησης, εκεί είναι καλύτερα να βρίσκεται κανείς.

Οι αποτυχίες της είναι πιο αθόρυβες και αξίζει να σχεδιάσετε γι' αυτές. Ένας κωδικός που έληξε όσο κάποιος έψαχνε το τηλέφωνό του, ένα τηλέφωνο χωρίς σήμα, μια κάμερα που δεν εστιάζει. Η σελίδα που δείχνει τον κωδικό πρέπει να λέει πόσο διαρκεί, να προσφέρει νέο χωρίς να χάνεται η φόρμα από κάτω, και να μην αφήνει ποτέ το άτομο να αναρωτιέται αν έγινε κάτι.

Πού διαφέρουν πραγματικά οι δύο: ασφάλεια

Σε μια ροή ίδιας συσκευής η απάντηση επιστρέφει από τον δρόμο που πήγε το άτομο: μια ανακατεύθυνση, στη συσκευή όπου τρέχει το πορτοφόλι, μέσα στη συνεδρία του browser που ξεκίνησε την ανταλλαγή. Όποιος αντιγράψει το αίτημα από τη δική του οθόνη δεν έχει τρόπο να λάβει το αποτέλεσμα, επειδή αυτό παραδίδεται στη συσκευή που έδωσε την έγκριση.

Σε μια ροή διαφορετικών συσκευών η απάντηση δεν επιστρέφει καθόλου μέσω του browser. Πηγαίνει από το τηλέφωνο στους διακομιστές σας, μακριά από τη σελίδα που έδειξε τον κωδικό. Εκεί βρίσκεται το κενό: αν δεν δέσετε τον κωδικό με τη συνεδρία που τον εμφάνισε, η υπηρεσία σας δεν μπορεί να ξεχωρίσει το άτομο που έχει μπροστά της από κάποιον που έβαλε τον ίδιο κωδικό μπροστά σε ένα θύμα και περίμενε.

Αυτή η επίθεση έχει όνομα και αντίδοτο. Ο κωδικός πρέπει να ανήκει σε μία και μόνο συνεδρία, και ένα αποτέλεσμα που φτάνει για οποιαδήποτε άλλη συνεδρία πρέπει να απορρίπτεται. Είναι λίγη σκέψη κατά τον σχεδιασμό και ένα γνωστό κενό αν παραλειφθεί, γι' αυτό το IETF έγραψε μια βέλτιστη τρέχουσα πρακτική για τις ροές διαφορετικών συσκευών αντί να το αφήσει σε κάθε υλοποίηση.

Ο δεύτερος κίνδυνος είναι το phishing, και αφορά τον ίδιο τον κωδικό. Ένα ασπρόμαυρο τετράγωνο δεν λέει τίποτα στο άτομο για το ποιος βρίσκεται στην άλλη άκρη, οπότε ένας κωδικός τυπωμένος σε αυτοκόλλητο και κολλημένος πάνω από έναν γνήσιο είναι μια πειστική επίθεση. Η άμυνα είναι ότι το πορτοφόλι, όχι ο κωδικός, κατονομάζει τον οργανισμό που ζητά και απαριθμεί ακριβώς τι θέλει πριν κοινοποιηθεί οτιδήποτε. Η έκδοση προσθέτει μια ακόμη κλειδαριά: μια προσφορά μπορεί να απαιτεί έναν σύντομο κωδικό που παραδίδεται μέσω του καναλιού που έχει ήδη ταυτοποιήσει το άτομο, ώστε μια προσφορά που υποκλάπηκε καθ' οδόν να μην μπορεί να εξαργυρωθεί από κανέναν άλλο.

Τι σημαίνει αυτό για εσάς

Βασιζόμενο μέρος

Σχεδιάστε και για τις δύο από την αρχή. Η επιπλέον δουλειά βρίσκεται στο front end σας και στη σύνδεση του κωδικού με μια συνεδρία, όχι σε δεύτερη ενσωμάτωση, και η εκ των υστέρων προσθήκη αυτής της σύνδεσης είναι το κομμάτι που πάει στραβά.

Εκδότης

Αποφασίστε πώς η προσφορά σας φτάνει στους ανθρώπους. Στην οθόνη δίπλα σε μια σύνδεση, σε ένα email ή σε χαρτί, η καθεμία οδηγεί σε διαφορετική ροή, και όσες φεύγουν από το κανάλι σας είναι αυτές που χρειάζονται ξεχωριστό κωδικό για να εξαργυρωθούν.

Κάτοχος πορτοφολιού

Διαβάστε τι δείχνει το πορτοφόλι, όχι τι ισχυρίζεται η σελίδα ή ο κωδικός. Το πορτοφόλι είναι το μόνο σημείο που κατονομάζει ποιος ζητά και τι θέλει, και το τελευταίο σημείο όπου μπορείτε να πείτε όχι.

Σχετικοί όροι

Συχνές ερωτήσεις

Ποιος αποφασίζει ποια ροή χρησιμοποιείται;

Η περίσταση, όχι μια ρύθμιση. Αν το άτομο βρίσκεται ήδη στη συσκευή όπου είναι το πορτοφόλι του, ο ιστότοπος το παραδίδει απευθείας. Αν είναι σε υπολογιστή και το πορτοφόλι είναι στην τσέπη του, ο μόνος δρόμος είναι ένας κωδικός προς σάρωση. Μια υπηρεσία ανοιχτή στο κοινό θα συναντήσει και τις δύο μέσα στην πρώτη της εβδομάδα.

Σημαίνει η υποστήριξη και των δύο ότι χτίζουμε τα πάντα δύο φορές;

Όχι. Το αίτημα που στέλνετε και η απάντηση που ελέγχετε είναι ίδια και στις δύο περιπτώσεις. Διαφέρει ο τρόπος με τον οποίο το αίτημα φτάνει στο πορτοφόλι και η απάντηση επιστρέφει στη σελίδα σας: μια ανακατεύθυνση που ακολουθεί ο browser, ή ένας κωδικός στην οθόνη μαζί με έναν τρόπο να μάθει η σελίδα ότι η ανταλλαγή ολοκληρώθηκε. Στην πράξη πρόκειται για μία επιπλέον διαδρομή στο front end σας, όχι για δεύτερη ενσωμάτωση.

Είναι ασφαλής ένας κωδικός QR για αυτή τη χρήση;

Είναι ασφαλής όταν η ανταλλαγή γύρω του είναι σωστά σχεδιασμένη. Ένας κωδικός από μόνος του δεν λέει τίποτα στο άτομο για το ποιος ζητά, οπότε πρέπει να ισχύουν δύο πράγματα: το πορτοφόλι πρέπει να δείχνει την ταυτότητα του οργανισμού που ζητά πριν κοινοποιηθεί οτιδήποτε, και η δική σας υπηρεσία πρέπει να απορρίπτει μια απάντηση που φτάνει για διαφορετική συνεδρία από εκείνη που εμφάνισε τον κωδικό. Και τα δύο είναι καθιερωμένη πρακτική και περιγράφονται στις προδιαγραφές.

Είναι ένας έλεγχος σε γκισέ ροή διαφορετικών συσκευών;

Όχι, αυτή είναι μια τρίτη περίπτωση. Οι ροές ίδιας συσκευής και διαφορετικών συσκευών περιγράφουν ανταλλαγή μέσω διαδικτύου. Ένας έλεγχος πρόσωπο με πρόσωπο, με τις δύο συσκευές τη μία δίπλα στην άλλη, χρησιμοποιεί αντί γι' αυτό ένα πρότυπο εγγύτητας μέσω Bluetooth ή NFC. Για το άτομο που κρατά το τηλέφωνο μοιάζει παρόμοιο, αλλά τίποτα δεν περνά από τον ιστότοπό σας.

Πηγές

  1. OpenID for Verifiable Presentations, Same Device Flow και Cross Device Flow
  2. OpenID for Verifiable Credential Issuance, Credential Offer ίδιας συσκευής και διαφορετικών συσκευών
  3. IETF Cross-Device Flows: Security Best Current Practice

Αυτή η σελίδα έχει ενημερωτικό χαρακτήρα και δεν συνιστά νομική συμβουλή. Για έγκυρη καθοδήγηση, συμβουλευτείτε απευθείας τις προδιαγραφές του OpenID και του IETF.

Επικοινωνήστε μαζί μας σχετικά με την ενσωμάτωση του EUDI Wallet