Τυπικές Μέθοδοι Ανάλυσης Συστημάτων Ζαγκαρέτος ΛεωνίδαςΑ.Μ. 139 Καραγεώργου ΒασιλικήΑ.Μ. 142 Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών Κατεύθυνση Πληροφοριακών Συστημάτων Εξάμηνο Β’ Μοντελοποίηση Πρωτοκόλλου Ηλεκτρονικού Εμπορίου Ηλεκτρονικού Εμπορίου
Ζαγκαρέτος - Καραγεώργου2 27/6/2015 Δομή To θέμα Το πρωτόκολλο FR Το πρόβλημα Η μοντελοποίηση Βασικοί Τύποι Δεδομένων Έλεγχοι Ο χώρος καταστάσεων
Ζαγκαρέτος - Καραγεώργου3 27/6/2015 Το θέμα Ηλεκτρονικό Εμπόριο: Δίκαιη ανταλλαγή εγγράφων σε περιβάλλον διαδικτύου με το πρωτόκολλο Franklin και Reiter (FR). Το πρωτόκολλο FR: Δίνει τη δυνατότητα σε δύο μέρη Χ και Υ να ανταλλάσσουν έγγραφα με τη διαμεσολάβηση ενός τρίτου μέρους, του Ζ. Εγγυάται «δίκαιη ανταλλαγή», δηλ. κανένα από τα δύο μέρη δεν μπορεί να αποκτήσει πλεονέκτημα έναντι του άλλου.
Ζαγκαρέτος - Καραγεώργου4 27/6/2015 Το πρωτόκολλο FR Προϋποθέτει την ύπαρξη ενός ημιαξιόπιστου τρίτου μέρους. Ένα ημιαξιόπιστο τρίτο μέρος: Είναι πιθανόν να επιδεικνύει από μόνο του ανάρμοστη συμπεριφορά. Σε καμία περίπτωση δε συνωμοτεί με κάποιο από τα δύο μέρη που μετέχουν στην ανταλλαγή. Τα έγγραφα που ανταλλάσσονται: Είναι κρυπτογραφημένα με κάποιο κλειδί. Είναι δημόσια προσπελάσιμα. Χρησιμοποιείται μια συνάρτηση hash f(K), η οποία αντιστοιχεί κάθε κλειδί σε μια τιμή.
Ζαγκαρέτος - Καραγεώργου5 27/6/2015 Το πρόβλημα Χ Χ Υ Υ Ζ Ζ x: μια τυχαία τιμή που διαλέγει ο Χ y: μια τυχαία τιμή που διαλέγει ο Y f(Kx) f(Ky) Kx x -1 f(y) f(Kx): η τιμή hash του κλειδιού του Χ f(Ky): η τιμή hash του κλειδιού του Υ Κx x -1 : πολλαπλασιασμός του Κx με τον αντίστροφο του x f(y): η hash τιμή του κλειδιού Κy που γνωρίζει ο X f(Ky) f(Kx) Ky y -1 f(x) f(Ky): η τιμή hash του κλειδιού του Y f(Kx): η τιμή hash του κλειδιού του X Κy y -1 : πολλαπλασιασμός του Κy με τον αντίστροφο του y f(x): η hash τιμή του κλειδιού Κx που γνωρίζει ο Y Ky y -1 Kx x -1
Ζαγκαρέτος - Καραγεώργου6 27/6/2015 Η μοντελοποίηση Βασικοί Τύποι Δεδομένων colset rNumbers = with x | ix | y | iy | q |iq; Αναπαριστά τις τυχαίες τιμές που μπορεί να επιλέξει ο Χ ή ο Υ, καθώς και τις αντίστροφές τους. colset State = with IDLE | WAIT_Y | RECEIVED_Y |RECEIVED_X| SENT_Y |SENT_X|WAIT_Z | RECEIVED_Z | ABORTED | COMPLETED; Αναπαριστά τις πιθανές καταστάσεις στις οποίες μπορεί να βρεθεί καθένα από τα τρία μέρη.
colset listMessage = STRING; colset Msg=list listMessage; Αναπαριστά τις τετράδες f(Kx) f(Ky) Kx x-1 f(y) που ανταλλάσσονται μεταξύ των τριών μερών. colset SEC_KEY = with Kx | Ky; colset HASH_PRMT=union k:SEC_KEY+numb:rNumbers; fun Hash(prmt:HASH_PRMT):STRING= if HASH_PRMT.of_k(prmt) then HASH_PRMT.mkstr(prmt) else if HASH_PRMT.of_numb(prmt) then HASH_PRMT.mkstr(prmt) else ""; Αναπαριστούν τα κλειδιά και τη συνάρτηση hash. Η μοντελοποίηση Βασικοί Τύποι Δεδομένων
Ζαγκαρέτος - Καραγεώργου8 27/6/ Η μοντελοποίηση Έλεγχοι Χ Υ: x Y X: y Χ Z: f(Kx) f(Ky) Kx x -1 f(y) Y Z: f(Ky) f(Kx) Ky y -1 f(x) Z X: Ky y -1 Z Y: Kx x
Χώρος Καταστάσεων State Space Nodes:32 Arcs:46 Secs: 0 Status:Full Scc Graph Nodes:32 Arcs:46 Secs: 0
Ζαγκαρέτος - Καραγεώργου10 27/6/2015 Χώρος Καταστάσεων Liveness Properties DeadMarking:[32] Δεν υπάρχει κανένα εξερχόμενο βέλος από τον κόμβο αυτό. Τελική κατάσταση Dead Transition Instances: X_Page'X6 1 Y_Page'Y6 1 Δε θα ενεργοποιηθούν ποτέ με τις δεδομένες αρχικές τιμές. Live Transition Instances: None Δεν υπάρχουν πλέον μεταβάσεις που μπορούν να πυροδοτηθούν.
Ζαγκαρέτος - Καραγεώργου11 27/6/2015 Χώρος Καταστάσεων Home Properties HomeMarkings:[32] Σε αυτόν τον κόμβο μπορούμε να φτάσουμε από όλους τους προσεγγίσιμους κόμβους. Fairness Properties No infinite occurrence sequences.
Χώρος Καταστάσεων Boundedness Properties UpperBest Upper Multi-set Bounds Top_Page'X 11 1`IDLE++1`WAIT_Y++1`RECEIVED_Y++1`WAIT_ Z++1`RECEIVED_Z++1`COMPLETED Top_Page'X_to_Y 111`x Top_Page'X_to_Z 111`["k(Kx)","k(Ky)","k(Kx)numb(ix)","numb(y)"] Top_Page'Y 11 1`IDLE++1`RECEIVED_X++1`SENT_Y++1`WAIT_ Z++1`RECEIVED_Z++1`COMPLETED Top_Page'Y_to_X 111`y Top_Page'Y_to_Z 11 1`["k(Ky)","k(Kx)","k(Ky)numb(iy)","numb(x)"] Top_Page'Z 11 1`IDLE++1`RECEIVED_Y++1`RECEIVED_X++1`S ENT_Y++1`SENT_X Top_Page'Z_to_X 111`["k(Ky)numb(iy)"]
Ζαγκαρέτος - Καραγεώργου13 27/6/2015 Χώρος Καταστάσεων Boundedness Properties UpperBest Upper Multi-set Bounds Top_Page'Z_to_Y 111`["k(Kx)numb(ix)"] X_Page'Known_values 1 1 1`(x,["k(Kx)","k(Ky)","k(Kx)numb(ix)"," numb(y)"]) X_Page'Store_Y 111`true Y_Page'Known_values 1 1 1`(y,["k(Ky)","k(Kx)","k(Ky)numb(iy)"," numb(x)"]) Y_Page'Store_X 111`true