| dc.contributor.author |
Γαστουνιώτης, Ιωάννης
|
el |
| dc.contributor.author |
Gastouniotis, Ioannis
|
en |
| dc.date.accessioned |
2025-12-04T06:32:11Z |
|
| dc.date.available |
2025-12-04T06:32:11Z |
|
| dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/62982 |
|
| dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.30678 |
|
| dc.rights |
Default License |
|
| dc.subject |
Τυπικές μέθοδοι |
el |
| dc.subject |
Εξουσιοδότηση |
el |
| dc.subject |
Ασφάλεια |
el |
| dc.subject |
Type methods |
en |
| dc.subject |
Maude |
en |
| dc.subject |
Authorization |
en |
| dc.subject |
Security |
en |
| dc.subject |
OAuth 2.0 |
en |
| dc.title |
Μοντελοποίηση του πρωτοκόλλου εξουσιοδότησης OAuth 2.0 με την γλώσσα Maude |
el |
| dc.contributor.department |
Τομέας Μαθηματικών ΣΕΜΦΕ |
el |
| heal.type |
bachelorThesis |
|
| heal.classification |
Τυπικές μέθοδοι |
el |
| heal.classification |
Μαθηματικά |
el |
| heal.classification |
Πληροφορική |
el |
| heal.language |
el |
|
| heal.access |
free |
|
| heal.recordProvider |
ntua |
el |
| heal.publicationDate |
2025-06-12 |
|
| heal.abstract |
Το πρωτόκολλο OAuth 2.0 είναι το πρωτόκολλο εξουσιοδότησης που χρησιμοποιείται ευρέως
στην βιομηχανία, για περιπτώσεις όπου ο χρήστης επιθυμεί να παραχωρήσει άδεια σε μια
εφαρμογή για να χρησιμοποιήσει δεδομένα τα οποία είναι αποθηκευμένα σε ένα API. Η
γλώσσα προγραμματισμού Maude αποτελεί ένα δυνατό εργαλείο, στο οποίο δυναμικά συστήματα σαν το OAuth 2.0 τυποποιούνται ως θεωρίες της λογικής επαναγραφής. Σε αυτήν,
οι εξισώσεις και οι κανόνες επαναγραφής της λογικής αποτυπώνουν την εξέλιξη του
συστήματος από την μία κατάσταση στην επόμενη. Ο αντικειμενοστραφής προγραμματισμός
που υποστηρίζεται από τις τελευταίες εκδόσεις της γλώσσας είναι κατάλληλος για την
μοντελοποίηση πρωτοκόλλων που περιλαμβάνουν αποστολή μηνυμάτων.
Η εργασία περιλαμβάνει μία σύντομη εισαγωγή στην Maude, στις δυνατότητες της ως προς
την μοντελοποίηση πρωτοκόλλων και τον έλεγχο της εγκυρότητας ή της ασφάλειας των
μοντέλων. Ακολουθεί μια περιγραφή της χρήσης του πρωτοκόλλου για διάφορους τύπους
εφαρμογών. Παρουσιάζονται οι δύο βασικές ροές εξουσιοδότησης και τα αναγνωριστικά τα
οποία λαμβάνουν οι εφαρμογές για να αποκτήσουν πρόσβαση στα δεδομένα του χρήστη. Η
μοντελοποίηση του πρωτοκόλλου βρίσκεται στο Κεφάλαιο 3. Γίνεται περιγραφή των κανόνων
επαναγραφής της μοντελοποίησης και αναλύεται η αντιστοιχία τους με την πραγματική
ανταλλαγή μηνυμάτων στο πρωτόκολλο. Στο τελευταίο μέρος, προσδιορίζεται ένα σύστημα
πολλαπλών διακομιστών και επιβεβαιώνεται η έγκυρη λειτουργία του. Γίνεται εισαγωγή ενός
Attacker (κακόβουλου πράκτορα) στην μοντελοποίηση και γίνεται έλεγχος προδιαγραφών του πρωτοκόλλου με τον ενσωματωμένο LTL Model Checker της γλώσσας Maude. |
el |
| heal.abstract |
The industry standard for granting applications access to user data stored in an API is OAuth
2.0. The Maude programming language is a powerful tool for formalizing dynamic systems like
OAuth 2.0 as theories in rewriting logic. In this logic, equations and rewrite rules are used to
describe the change of the system from one state to another. The latest versions of the language
support object-oriented programming which is suitable for specifying protocols that include
message sending.
The thesis starts with a short introduction to Maude, its capabilities at specifying protocols and
at checking the model validity or security. It follows with a description of the protocol for
different types of applications. The two basic authorization flows are presented as well as the
tokens acquired by the application to gain access to user data. Chapter 3 includes the protocol
specification. It refers to the rewrite rules of the specification and their correspondence to the
actual message exchange of the protocol. In the last part, a system with multiple servers is
defined and its validity is confirmed. An Attacker is introduced (malevolent agent) in the
specification and model checking is applied to the protocol using the integrated LTL Model
Checker of the Maude language. |
en |
| heal.advisorName |
Στεφανέας, Πέτρος |
|
| heal.committeeMemberName |
Στεφανέας, Πέτρος |
|
| heal.committeeMemberName |
Παγουρτζής, Αριστείδης |
|
| heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
|
| heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. |
el |
| heal.academicPublisherID |
ntua |
|
| heal.numberOfPages |
85 |
|
| heal.fullTextAvailability |
false |
|