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

Άποψη: 10415|Απάντηση: 0

Ανάλυση ασφάλειας OAuth 2.0 για φορητές συσκευές και επιτραπέζιους υπολογιστές και μηχανισμός CodeVerifier

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 28/11/2020 8:51:48 μ.μ. | | | |
Οι εφαρμογές για υπολογιστές και κινητά είναι ενσωματωμένα προγράμματα περιήγησης στην εφαρμογή για να βοηθήσουν στην ολοκλήρωση ολόκληρης της διαδικασίας OAuth 2.0

Η διαδικασία φαίνεται στο σχήμα



Ιστός OAuth2.0
1) Επιστρέψτε τον κωδικό ελέγχου ταυτότητας στο καθορισμένο Web redirectUri (αυτό το URI έχει διαμορφωθεί από τον προγραμματιστή της εφαρμογής)
2) Για να αλλάξετε το διακριτικό, πρέπει να περάσετε το clientId και το clientSecret για να επαληθεύσετε την ταυτότητα πελάτη (που λαμβάνεται από την υπηρεσία υποστήριξης της εφαρμογής)

Σημειώνοντας τα δύο παραπάνω σημεία,
1) Επειδή δεν είναι έγκυρη η ανίχνευση ανακατεύθυνσης της εφαρμογής Ιστού
2) Επειδή δεν υπάρχει πελάτης υπηρεσίας υποστήριξηςΤο μυστικό δεν είναι ασφαλές
Τότε η επίθεση που μπορεί να συναντήσουμε είναι όπως φαίνεται στο παρακάτω σχήμα, μπορεί να υπάρχει μια κακόβουλη εφαρμογή που υποκλέπτει το authCode για να στείλει ένα μήνυμα στον AuthorizationServer για να αποκτήσει το token, έτσι ώστε το token να ληφθεί χωρίς την εξουσιοδότηση του πελάτη προς την εφαρμογή αλλά σε άλλη επίσημη εξουσιοδότηση εφαρμογής, επιτυγχάνοντας τον σκοπό της επίθεσης.



Λύση:

1. Ο πελάτης δημιουργεί μια τυχαία συμβολοσειρά: επαληθευτής κώδικα και αποθηκεύει αυτήν την τυχαία συμβολοσειρά
code_challenge = transform(code_verifier, [Απλό| S256])
Εάν η μέθοδος μετασχηματισμού είναι απλή, τότε η πρόκληση κώδικα είναι ισοδύναμη με τον επαληθευτή κώδικα
Εάν η μέθοδος μετασχηματισμού είναι S256, τότε η πρόκληση κώδικα ισούται με τον κατακερματισμό Sha256 του επαληθευτή κώδικα
2. Φέρτε μια πρόκληση κώδικα στο αίτημα κωδικού εξουσιοδότησης και πώς να δημιουργήσετε μια πρόκληση κώδικα. Αυτά τα δύο συνδέονται με τον κωδικό εξουσιοδότησης που εκδίδεται από τον διακομιστή
3. Μετά τη λήψη του κωδικού εξουσιοδότησης, ο πελάτης φέρνει τον επαληθευτή κώδικα που δημιουργήθηκε αρχικά κατά την ανταλλαγή του κωδικού εξουσιοδότησης για το διακριτικό πρόσβασης. Ο διακομιστής υπολογίζει τον επαληθευτή κώδικα σύμφωνα με τη μέθοδο δεσμευμένου μετασχηματισμού, συγκρίνει το υπολογισμένο αποτέλεσμα με την πρόκληση δεσμευμένου κώδικα και εκδίδει ένα διακριτικό πρόσβασης εάν είναι συνεπές.




Προηγούμενος:Το .NET/C# δημιουργεί ένα αρχείο CS από ένα αρχείο XML WSDL
Επόμενος:ASP.NET Πυρήνας (iii) Δημιουργήστε δυναμικά παρουσίες χρησιμοποιώντας το ActivatorUtilities
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com