ΑΞΙΟΠΟΙΗΣΗ TΗΣ ΛΟΓΙΚΗΣ TLA ΓΙΑ ΤΗΝ



Σχετικά έγγραφα
Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

ΠΡΟΣΟΜΟΙΩΣΗ. Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο.

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση

Rule Based systems Συστήματα Βασισμένα σε κανόνες

Schedulability Analysis Algorithm for Timing Constraint Workflow Models

ΟΡΓΑΝΙΣΜΟΣ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ

Test Data Management in Practice

ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια)

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ανάκτηση Πληροφορίας

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

Architecture οf Integrated Ιnformation Systems (ARIS)

C.S. 430 Assignment 6, Sample Solutions

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση

3 Αλληλεπίδραση Αντικειμένων

Πληροφοριακά Συστήµατα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Development of a Tiltmeter with a XY Magnetic Detector (Part +)

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

Démographie spatiale/spatial Demography

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη

2 Composition. Invertible Mappings

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

Λειτουργικά Συστήματα (Λ/Σ)

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

Διδακτική της Πληροφορικής

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Ασφάλεια Πληροφοριακών και Επικοινωνιακών Συστημάτων

Share and Storage Management. Τεχνικός Δικτύων & Τηλεπικοινωνιών - Διαχείριση Δικτύων ΙΙ

ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΔΕΙΚΤΩΝ ΑΣΤΙΚΗΣ ΒΙΩΣΙΜΟΤΗΤΑΣ ΓΙΑ ΤΗΝ ΕΠΑΡΧΙΑ ΛΕΜΕΣΟΥ

Δθαξκνζκέλα καζεκαηηθά δίθηπα: ε πεξίπησζε ηνπ ζπζηεκηθνύ θηλδύλνπ ζε κηθξνεπίπεδν.

derivation of the Laplacian from rectangular to spherical coordinates

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

Context-aware και mhealth

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Σχεδιασμός Βάσεων Δεδομένων

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή Εργασία. Κόπωση και ποιότητα ζωής ασθενών με καρκίνο.

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Βάσεις Δεδομένων Εισαγωγή

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL

Bring Your Own Device (BYOD) Legal Challenges of the new Business Trend MINA ZOULOVITS LAWYER, PARNTER FILOTHEIDIS & PARTNERS LAW FIRM

TAMIL NADU PUBLIC SERVICE COMMISSION REVISED SCHEMES

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 11: Αρχιτεκτονική Cloud

ΕΘΝΙΚΗ ΣΧΟΛΗ ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ "ΠΟΛΥΚΡΙΤΗΡΙΑ ΣΥΣΤΗΜΑΤΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ. Η ΠΕΡΙΠΤΩΣΗ ΤΗΣ ΕΠΙΛΟΓΗΣ ΑΣΦΑΛΙΣΤΗΡΙΟΥ ΣΥΜΒΟΛΑΙΟΥ ΥΓΕΙΑΣ "

Standard Template Library (STL) C++ library

Instruction Execution Times

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή Εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή εργασία Η ΚΑΤΑΘΛΙΨΗ ΣΕ ΕΦΗΒΟΥΣ ΜΕ ΣΑΚΧΑΡΩΔΗ ΔΙΑΒΗΤΗ ΤΥΠΟΥ 1

Α Typing System for Privacy

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

Συλλογιστική εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις δοθείσα μεθοδολογία διαδικασία της σκέψης, πρέπει να «συλλογιστεί» υπόθεση/παραγωγή

Usable Security. Δήμος Ιωάννου. 5/13/2018 CS682 - Advanced Security Topics 1

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή διατριβή. Ονοματεπώνυμο: Αργυρώ Ιωάννου. Επιβλέπων καθηγητής: Δρ. Αντρέας Χαραλάμπους

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 9: Πληροφοριακά Συστήματα Ορισμοί

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

7 Present PERFECT Simple. 8 Present PERFECT Continuous. 9 Past PERFECT Simple. 10 Past PERFECT Continuous. 11 Future PERFECT Simple

Σχεδίαση Βάσεων. Τεχνητά, Σύνθετα, και Δευτερεύοντα Μοναδικά Χαρακτηριστικά (UIDs, Unique IDentifiers) Artificial, Composite, and Secondary UIDs

Ψευδοκώδικας. November 7, 2011

Μεταπτυχιακή Διατριβή

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

HY118-Διακριτά Μαθηματικά

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή εργασία ΑΓΧΟΣ ΚΑΙ ΚΑΤΑΘΛΙΨΗ ΣΕ ΓΥΝΑΙΚΕΣ ΜΕ ΚΑΡΚΙΝΟΥ ΤΟΥ ΜΑΣΤΟΥ ΜΕΤΑ ΑΠΟ ΜΑΣΤΕΚΤΟΜΗ

The Simply Typed Lambda Calculus

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΑΛΛΗΛΟΓΡΑΦΙΑ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑ ΣΤΗΝ ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ

NATIONAL AND KAPODISTRIAN UNIVERSITY OF ATHENS SCHOOL OF SCIENCE FACULTY OF INFORMATICS AND TELECOMMUNICATIONS

Γραµµικός Προγραµµατισµός (ΓΠ)

Πτυχί ο στην Εφαρμοσμέ νη Πληροφορίκη

SIMATIC MANAGER SIMATIC MANAGER

Transcript:

ΑΞΙΟΠΟΙΗΣΗ TΗΣ ΛΟΓΙΚΗΣ TLA ΓΙΑ ΤΗΝ ΤΥΠΙΚΗ ΠΡΟΔΙΑΓΡΑΦΗ ΚΑΙ ΣΥΛΛΟΓΙΣΤΙΚΗ ΤΟΥ ΜΟΝΤΕΛΟΥ ΕΛΕΓΧΟΥ ΧΡΗΣΗΣ UCON Σταματίου Παύλος Μεταπτυχιακός Φοιτητής Διπλωματική Εργασία Επιβλέπων: Ιωάννης Μαυρίδης, Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών Ειδίκευσης Πανεπιστήμιο Μακεδονίας Θεσσαλονίκη Ιούλιος 2012

2012, Σταματίου Παύλος Η έγκριση της εργασίας από το Τμήμα Εφαρμοσμένης Πληροφορικής του Πανεπιστημίου Μακεδονίας δεν υποδηλώνει απαραιτήτως και αποδοχή των απόψεων του συγγραφέα εκ μέρους του Τμήματος (Ν.5343/32 αρ.202 παρ.2).

Περιεχόμενα Λίστα Εικόνων... 1 Λίστα Παραδειγμάτων... 7 Περίληψη... 9 Abstract... 10 1. Εισαγωγή... 11 2. Usage Control... 13 2.1 Η έννοια Usage Control... 13 2.2 Control Domain & Reference Monitor... 14 2.2.1 Control Domain Server-side Reference Monitor... 14 2.2.2 Control Domain Client-side Reference Monitor... 15 2.3 Payment-based vs Payment-free... 16 3. UCON model... 17 3.1 Subjects... 18 3.2 Objects... 18 3.3 Rights... 19 3.4 Authorization Rules... 21 3.5 Conditions... 21 3.6 Obligations... 22 3.7 Continuity and Mutability... 22 3.8 Εφαρμογές UCON... 24 4. Temporal Logic of Actions... 28 4.1The Logic of Actions... 28 4.1.1 States... 28 4.1.2 State Functions και Predicates... 29 4.1.3 Actions... 29 4.2 Simple Temporal Logic... 29 4.2.1 Temporal Formulas... 29 4.2.2 Useful Temporal Formulas... 30 4.3 Temporal Logic of Actions... 31 4.3.1 Συστατικά και σύνταξη της TLA... 31 4.3.2 Εκφράζοντας προγράμματα σε TLA... 32 4.4 Extension of TLA... 35 4.4.1 The Next operator... 35 4.4.2 Past Temporal Operators... 36 4.5 Συμπέρασμα... 36

5. Logical Model of UCON with TLA... 37 5.1 Attributes και States... 37 5.2 Predicates... 38 5.3 Actions... 39 5.4 Logical Model of UCON... 41 6. Specification of UCON Policies... 43 6.1 The Model prea 0... 43 6.2 The Model prea 1... 44 6.3 The Model prea 3... 46 6.4 The Model OnA 0... 48 6.5 The Model OnA 1... 49 6.6 The Model OnA 2... 50 6.7 The Model OnA 3... 51 7. Συμπεράσματα... 52 8. Αναφορές... 54 Βιβλιογραφικές Πηγές... 54 Ηλεκτρονικές Πηγές... 59

Λίστα Εικόνων Κεφάλαιο 2 Εικόνα 2.1: Πεδία εφαρμογής του UCON (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Εικόνα 2.2: The Control Domain - Client-side Reference Monitor (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Εικόνα 2.3: The Control Domain - Server-side Reference Monitor (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 1

Κεφάλαιο 3 Εικόνα 3.1: Τα συστατικά του UCON (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Εικόνα 3.2: Συνδυασμοί UCON Rights (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Εικόνα 3.3: Continuity και Mutability ιδιότητες στο UCON (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Εικόνα 3.4: UCON Model for Privacy Non-sensitive Objects πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Εικόνα 3.5: UCON Model for Privacy Sensitive Objects πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 2

Κεφάλαιο 4 Εικόνα 4.1: Συστατικά της TLA (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) Εικόνα 4.2: Σύνταξη της TLA (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 3

Κεφάλαιο 5 Εικόνα 5.1: Εναλλαγή των states στη usage process (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Εικόνα 5.2: Subject και system actions (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 4

Κεφάλαιο 6 Εικόνα 6.1: Usage control policies of model prea 0 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Εικόνα 6.2: Usage control policies of model prea 1 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Εικόνα 6.3: Usage control policies of model prea 3 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Εικόνα 6.4: Usage control policies of model OnA 0 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Εικόνα 6.5: Usage control policies of model OnA 1 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 5

Εικόνα 6.6: Usage control policies of model OnA 2 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Εικόνα 6.7: Usage control policies of model OnA 3 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 6

Λίστα Παραδειγμάτων Κεφάλαιο 4 Παράδειγμα 4.1: Απλό πρόγραμμα εκφρασμένο σε μια συμβατική γλώσσα προγραμματισμού (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) Παράδειγμα 4.2: Απλό πρόγραμμα εκφρασμένο σε TLA (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) Παράδειγμα 4.3: Πρόγραμμα εκφρασμένο σε μια συμβατική γλώσσα προγραμματισμού (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) Παράδειγμα 4.4: Πρόγραμμα εκφρασμένο σε TLA (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 7

Κεφάλαιο 6 Παράδειγμα 6.1: The model prea 1 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Παράδειγμα 6.2: The model prea 3 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Παράδειγμα 6.3: The model prea 3 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 8

Περίληψη Η έννοια Usage Control είναι άμεσα συνυφασμένη με τις έννοιες traditional access control, trust management και digital rights management (DRM). Όλες οι καινοτομίες και όλα τα μοντέλα που έχουν αναπτυχθεί στον τομέα της πληροφορικής σχετικά με την ασφάλεια και την προστασία δεδομένων, περιέχουν στοιχεία και από τις τρεις αυτές περιοχές. Το μοντέλο ελέγχου χρήσης (Usage Control UCON) αποτελεί μια νέα πρόταση για την ανάπτυξη σύγχρονων συστημάτων ελέγχου πρόσβασης. Πολλοί το θεωρούν και ως μοντέλο ελέγχου πρόσβασης επόμενης γενιάς, αφού παρουσιάζει πλεονεκτήματα που έχουν να κάνουν κυρίως με τις δυνατότητες συνεχόμενου ελέγχου κατά τη διάρκεια της χρήσης (continuity of usage control decision) και μεταβλητότητας των χαρακτηριστικών ιδιοτήτων (mutability of attributes) των συστατικών του συστήματος. Η φορμαλιστική περιγραφή του UCON αποτελεί αντικείμενο αρκετών σύγχρονων ερευνητικών προσπαθειών. Μερικές από αυτές χρησιμοποιούν την Temporal Logic of Actions (TLA). Η TLA είναι μια λογική η οποία αναπτύχθηκε από τον Leslie Lamport και αποτελεί συνδυασμό δύο άλλων λογικών. Αυτές είναι η Logic of Actions και η Temporal Logic. Η TLA αποτελεί μια ιδιαίτερα ενδιαφέρουσα μέθοδο για την μοντελοποίηση και τον έλεγχο σύγχρονων αλληλεπιδραστικών συστημάτων (concurrent systems). Στο πλαίσιο αυτής της εργασίας θα γίνει μια παρουσίαση της TLA και των δυνατοτήτων της. Επίσης, θα γίνει μια αναλυτική παρουσίαση του μοντέλου ελέγχου χρήσης UCON και σχετικών εργασιών τυπικής προδιαγραφής του με χρήση της TLA. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 9

Abstract In this paper we will try to explain the concept of Usage Control (UCON) that encompasses traditional access control, trust management, and digital rights management (DRM). Innovations in information technology and models which have been developed for security and privacy issues require elements of all three areas. The usage control model (Usage Control - UCON) is a new proposal for the development of modern access control systems. UCON has been considered as the next generation access control model with distinguishing properties of usage control decision and mutability of attributes. The formalistic description of UCON is a key point of several current research efforts. Some of them use Temporal Logic of Actions (TLA). TLA is a new logic which has been developed by Leslie Lamport and it is a combination of two others. These are the Logic of Actions and Temporal Logic. TLA is an interesting method for modeling and controlling concurrent systems. In this paper we will present the logic TLA and the UCON model. Also, we will present a logic specification of UCON model with Lamport s temporal logic of actions (TLA). Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 10

1. Εισαγωγή Η Computational Logic ή αλλιώς Logic in Computer science αποτελεί ένα ευρύ διεπιστημονικό πεδίο το οποίο έχει τις ρίζες του στην τεχνητή νοημοσύνη (artificial intelligence), στην επιστήμη των υπολογιστών (computer science) και στα εφαρμοσμένα μαθηματικά (applied mathematics). Η βασική αρχή της Computational Logic είναι ο παρακάτω ορισμός: Algorithm = Logic + Control. Σύμφωνα με αυτήν την άποψη, οι αλγόριθμοι αποτελούνται από δύο τμήματα. Το πρώτο τμήμα είναι η περιγραφή του προβλήματος (the logic part), ενώ το δεύτερο μια στρατηγική για τη διεξαγωγή χρήσιμων υπολογισμών σε αυτή την περιγραφή (the control part). Η Computational Logic είναι αφιερωμένη στην ιδέα εκείνη όπου ένας προγραμματιστής επικεντρώνεται αποκλειστικά στην περιγραφή του προβλήματος και δεν ξοδεύει χρόνο για πραγματικούς υπολογισμούς. Αυτό, οδηγεί σε προγράμματα τα οποία μπορούν να αναπτυχθούν γρήγορα αλλά συγχρόνως να κατανοηθούν εύκολα. Στο σημείο αυτό να πούμε ότι η αυστηρή χρήση της λογικής είναι αυτή που έφερε τις ραγδαίες εξελίξεις στους τομείς του software και hardware (software and hardware verification). Αντί τα προγράμματα να υποβάλλονται σε δοκιμαστική φάση η οποία δεν μπορεί να δώσει κάτι περισσότερο από τη διαβεβαίωση ότι ένα πρόγραμμα κάνει αυτό που υποτίθεται ότι κάνει, η ανάπτυξη προγραμμάτων και συστημάτων τα οποία είναι εγγυημένα ότι είναι σωστά αποτελούν τη δεύτερη βασική ιδέα της Computational Logic. Στην παρούσα εργασία θα ασχοληθούμε με την Temporal Logic of Action (TLA) η οποία αποτελεί κλάδο της Computational Logic. Η TLA είναι μια λογική η οποία αναπτύχθηκε από τον Leslie Lamport και αποτελεί συνδυασμό δύο άλλων λογικών. Αυτές είναι η Logic of Actions και η Temporal Logic. Η Temporal Logic of Actions αποτελεί μια ιδιαίτερα ενδιαφέρουσα μέθοδο για την μοντελοποίηση και τον έλεγχο σύγχρονων αλληλεπιδραστικών συστημάτων (concurrent systems). Με την TLA μπορούμε να εκφράσουμε αλλά και να ελέγξουμε προγράμματα και ιδιότητες αυτών. Ο έλεγχος πρόσβασης (access control) αποτελεί ίσως το πιο βασικό συστατικό στην ασφάλεια των συστημάτων (security systems). Οι πολιτικές ελέγχου πρόσβασης (access control policies) είναι αυτές που καθορίζουν την πρόσβαση ενός χρήστη στα δεδομένα ή στις βασικές λειτουργίες ενός προγράμματος. Με το πέρασμα του χρόνου και τις τεχνολογικές καινοτομίες οι πολιτικές αυτές έχουν μετατραπεί σε αρκετά πολύπλοκες. Η πολυπλοκότητα των πολιτικών αυτών δημιούργησε την ανάγκη να αναπτυχθούν νέες τεχνικές, οι οποίες θα βοηθήσουν τόσο στην κατανόηση αυτών των πολιτικών όσο και στην επαλήθευση. Η ανάγκη για ανάπτυξη τέτοιων τεχνικών γίνεται ακόμα μεγαλύτερη αν το περιβάλλον στο οποίο αυτές θα αξιολογηθούν είναι απλό. Στην παρούσα εργασία θα προσπαθήσουμε να αξιοποιήσουμε τη λογική Temporal Logic of Actions για την τυπική προδιαγραφή και συλλογιστική του μοντέλου ελέγχου χρήσης Usage Control (UCON). Το μοντέλο UCON περιέχει στοιχεία από τρεις βασικές περιοχές. Αυτές είναι: το access control, το trust management και το digital rights management (DRM). Το μοντέλο UCON αποτελεί μια σύγχρονη πρόταση για την ανάπτυξη σύγχρονων συστημάτων ελέγχου πρόσβασης, καθώς παρουσιάζει πλεονεκτήματα που έχουν να κάνουν κυρίως με τις δυνατότητες συνεχόμενου ελέγχου κατά τη διάρκεια της χρήσης (continuity of usage Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 11

control decision) και μεταβλητότητας των χαρακτηριστικών ιδιοτήτων (mutability of attributes) των συστατικών του συστήματος. Εξ αιτίας αυτών των δύο βασικών ιδιοτήτων του, το UCON χαρακτηρίζεται από πολλούς ως μοντέλο επόμενης γενιάς. Το UCON μοντέλο αποτελείται από τρία βασικά συστατικά και τρία επιπρόσθετα. Τα βασικά είναι τα subjects, objects και rights ενώ τα επιπρόσθετα τα authorizations, obligations και conditions. Ο όρος usage αναφέρεται στη χρησιμοποίηση των ψηφιακών δικαιωμάτων (digιtal rights) για την προσπέλαση, χρήση και επεξεργασία των ψηφιακών αντικειμένων (digital objects). Η απόφαση για την χρησιμοποίηση των ψηφιακών δικαιωμάτων στο UCON, ώστε να προσπελαστούν και να χρησιμοποιηθούν τα ψηφιακά αντικείμενα καθορίζεται από τα authorizations, obligations και conditions (usage control decisions). Η φορμαλιστική περιγραφή του μοντέλου UCON αποτελεί αντικείμενο αρκετών σύγχρονων ερευνητικών προσπαθειών. Μερικές από αυτές χρησιμοποιούν την TLA. Στην εργασία αυτή θα γίνει μια παρουσίαση της TLA και των δυνατοτήτων της. Επίσης, θα γίνει μια αναλυτική παρουσίαση του μοντέλου ελέγχου χρήσης UCON και σχετικών εργασιών τυπικής προδιαγραφής του με χρήση της TLA. Πιο συγκεκριμένα, στην ενότητα 2 ξεκινάμε προσπαθώντας να εξηγήσουμε την έννοια usage control. Στη συνέχεια στην ενότητα 3 παρουσιάζουμε το μοντέλο UCON τα βασικά συστατικά του καθώς και τις βασικές ιδιότητες αυτού. Επίσης αναλύουμε πώς γίνεται η προσπέλαση, η χρήση και η επεξεργασία των ψηφιακών αντικειμένων μέσα σε αυτό. Στην ενότητα 4 γίνεται μια παρουσίαση της Temporal Logic of Actions, των βασικών συστατικών της καθώς και του τρόπου με τον οποίο αυτή συντάσσεται. Τέλος, στις ενότητες 5 και 6 παρουσιάζεται μια φορμαλιστική περιγραφή του μοντέλου UCON και των πολιτικών του με τη χρήση της Temporal Logic of Actions. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 12

2. Usage Control 2.1 Η έννοια Usage Control Στην ενότητα αυτή θα προσπαθήσουμε να εξηγήσουμε την έννοια Usage Control, η οποία σχετίζεται άμεσα τις έννοιες: 1. Traditional access control: Εστιάζει στην προστασία πληροφοριών μέσα σε ένα κλειστό σύστημα όπου όλοι οι χρήστες είναι γνωστοί μεταξύ τους. Εδώ, χρησιμοποιείται συνήθως ένα SRM (Server-side Reference Monitor). 2. Trust management: Χρησιμοποιείται για την αδειοδότηση (authorization) ξένων σε ένα ανοιχτό περιβάλλον όπως είναι το Internet. 3. Digital rights management: Ασχολείται με τον έλεγχο χρήσης ψηφιακών πληροφοριών (digital informations) στην πλευρά του client. Εικόνα 2.1: Πεδία εφαρμογής του UCON (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 13

2.2 Control Domain & Reference Monitor Το Control Domain είναι η περιοχή όπου γίνεται ο έλεγχος των δικαιωμάτων χρήσης των ψηφιακών αντικειμένων (digital objects). Ο έλεγχος αυτός πραγματοποιείται από το Reference Monitor. Το Reference Monitor σχετίζεται με πολιτικές και κανόνες ελέγχου πρόσβασης ψηφιακών αντικειμένων. Υπάρχουν δύο τύποι Control Domain ανάλογα με το που είναι τοποθετημένο το Reference Monitor. Ο πρώτος τύπος είναι το Control Domain with Server-side Reference Monitor (SRM) και ο δεύτερος είναι το Control Domain with Client-side Reference Monitor (CRM). Εδώ, ο server είναι μια οντότητα που παρέχει το ψηφιακό αντικείμενο (digital object) και ο client είναι μια οντότητα η οποία λαμβάνει και χρησιμοποιεί αυτό το ψηφιακό αντικείμενο (digital object). Το SRM βρίσκεται μέσα σε ένα server και μεσολαβεί στην προσπέλαση όλων των ψηφιακών αντικειμένων. Από την άλλη, το CRM βρίσκεται στην πλευρά του client και ελέγχει την πρόσβαση στα ψηφιακά αντικείμενα και τη χρήση αυτών εξ ονόματος του server. Στο σημείο αυτό, να πούμε ότι είναι δυνατόν να υπάρξει Control Domain με SRM και με CRM συγχρόνως. Στην πραγματικότητα, αυτό είναι το πιο πιθανό να συμβεί γιατί ακόμα και στη CRM υλοποίηση, ένας server πιθανότατα θα θέλει να συμπεριλάβει κάποιες λειτουργίες ελέγχου στην πλευρά του για καλύτερο έλεγχο. Το UCON καλύπτει αυτό το είδος Control Domain. 2.2.1 Control Domain Server-side Reference Monitor Ένα Control Domain με SRM διευκολύνει ένα κεντρικό μέσο να ελέγξει αν ένα subject έχει το δικαίωμα να χρησιμοποιήσει ψηφιακά αντικείμενα. Ένα subject μπορεί να βρίσκεται είτε μέσα στην ίδια περιοχή που βρίσκεται το Control Domain είτε έξω από αυτή. Ένα ψηφιακό αντικείμενο (digital object), μπορεί να βρίσκεται ή όχι στην πλευρά του client. Το access control και το trust management ανήκουν σε αυτήν την κατηγορία. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 14

Εικόνα 2.2: The Control Domain - Client-side Reference Monitor (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) 2.2.2 Control Domain Client-side Reference Monitor Σε ένα Control Domain με CRM, δεν υπάρχει reference monitor στην πλευρά του server. Αντίθετα, υπάρχει στην πλευρά του client για τον έλεγχο χρήσης και επαναμετάδοσης των ψηφιακών αντικειμένων. Σε αυτήν την περίπτωση, ο έλεγχος γίνεται από το CRM και όχι από τον server. Ένα παράδειγμα είναι το Acrobat Reader με το Webbuy plug-in. Το Webbuy λειτουργεί σαν CRM. Κλειδωμένα αρχεία PDF μπορούν να προσπελασθούν από το Acrobat Reader μέσω του Webbuy. Τα συστήματα DRM (digital rights management) ανήκουν σε αυτήν την κατηγορία. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 15

Εικόνα 2.3: The Control Domain - Server-side Reference Monitor (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) 2.3 Payment-based vs Payment-free Μπορούμε να διακρίνουμε δύο κύριους λόγους διάδοσης και χρήσης ψηφιακών πληροφοριών. Ο ένας ονομάζεται PBT (payment-based type) και ο άλλος PFT (payment-free type). Στην πρώτη περίπτωση (PBT), ένα subject αποκτά άδεια για την προσπέλαση και χρήση ψηφιακών αντικειμένων σύμφωνα με το αν πλήρωσε ένα συγκεκριμένο ποσό ή όχι. Εδώ, ο βασικός σκοπός είναι η μεγιστοποίηση της διανομής των ψηφιακών αντικειμένων (digital objects) ώστε να αυξηθεί το κέρδος. Αντίθετα, στη δεύτερη περίπτωση (PFT), δεν απαιτείται από κάποιο subject να καταβάλει χρηματικό ποσό ώστε να αποκτήσει ένα ψηφιακό αντικείμενο (digital object). Παρόλα αυτά όμως, η διάδοση αυτού του ψηφιακού αντικειμένου πρέπει να ελέγχεται για λόγους ασφάλειας και εμπιστευτικότητας. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 16

3. UCON model Το μοντέλο UCON αποτελείται από τρία κύρια συστατικά και τρία επιπρόσθετα τα οποία συμπεριλαμβάνονται στην διαδικασία αδειοδότησης (authorization process). Τα τρία κύρια συστατικά είναι τα: subjects, objects, rights. Τα επιπρόσθετα συστατικά είναι τα: authorizations rules, conditions, obligations. Εικόνα 3.1: Τα συστατικά του UCON (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 17

3.1 Subjects Τα subjects είναι οντότητες οι οποίες σχετίζονται με γνωρίσματα (attributes) και κρατούν-ασκούν δικαιώματα (rights) πάνω στα objects. Τα γνωρίσματα, είναι ιδιότητες των subjects οι οποίες μπορούν να χρησιμοποιηθούν στη διαδικασία αδειοδότησης (authorization process). Σαν subject μπορεί να θεωρηθεί ένας χρήστης (user), ένα γκρουπ (group), ένας ρόλος (role) ή μια διαδικασία (process). Ένας χρήστης είναι μια μοναδική οντότητα η οποία έχει δικαιώματα (rights) πάνω σε ένα object. Ένα γκρουπ είναι ένα σύνολο χρηστών οι οποίοι κρατούν ίδια δικαιώματα πάνω σε ένα σε object. Ένας ρόλος (role) είναι μια συλλογή χρηστών με παρόμοιες άδειες (permissions). Στο UCON μοντέλο, τα subjects μπορεί να είναι: consumer subjects (CS), provider subjects (PS) και identifee subjects (IS). Consumer subjects είναι οντότητες που λαμβάνουν rights και objects και χρησιμοποιούν τα rights για να προσπελάσουν τα objects. Για παράδειγμα σαν consumer subjects μπορούμε να θεωρήσουμε έναν e- book reader ή ένα MP3 music player/listener. Provider subjects είναι οντότητες που παρέχουν ένα object κρατούν όμως βασικά δικαιώματα (rights) πάνω σε αυτό. Σαν provider subjects μπορούμε να θεωρήσουμε έναν συγγραφέα ενός e-book ή έναν διανομέα (distributor) ενός βιβλίου. Identifiee subjects είναι οντότητες που προσδιορίζονται από digital objects τα οποία όμως περιλαμβάνουν δικές τους προσωπικές πληροφορίες. Για παράδειγμα, ένας ασθενής σε ένα σύστημα υγείας αποτελεί identifiee subject. 3.2 Objects Τα objects είναι οντότητες πάνω στις οποίες κρατάνε δικαιώματα τα subjects. Έτσι, τα subjects μπορούν να προσπελάσουν τα objects και να τα χρησιμοποιήσουν. Τα objects σχετίζονται και με γνωρίσματα (attributes). Όπως και με τα subjects τα γνωρίσματα περιλαμβάνουν βασικές ιδιότητες οι οποίες μπορούν να χρησιμοποιηθούν στη διαδικασία αδειοδότησης (authorization process). Παραδείγματα τέτοιων γνωρισμάτων αποτελούν: security levels, ownerships, classes. Object classes χρησιμοποιούνται για να κατηγοριοποιηθούν τα objects, ώστε η διαδικασία αδειοδότησης να γίνει βάση ενός συνόλου objects που ανήκουν στην ίδια κλάση (έχουν δηλαδή τα ίδια γνωρίσματα). Στο UCON τα objects χωρίζονται σε δύο κατηγορίες. Τα privacy sensitive objects και τα privacy non-sensitive objects. Επίσης, στο UCON τα objects μπορεί να είναι original ή derivatives. Derivatives objects, είναι τα objects που δημιουργούνται κατά την απόκτηση και άσκηση δικαιωμάτων πάνω σε ένα original object. Για παράδειγμα, καθώς παίζει ένα MP3 αρχείο μπορεί να δημιουργηθεί ένα άλλο αρχείο Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 18

(όπως ένα log data file). Αυτό το αρχείο ονομάζεται derivative object. Ανάλογα με τη μορφή τους, τα objects μπορεί να είναι documents (.doc,.pdf,.ps), audio (.mp3,.wav), video (JPEG, DVD, MPEG), executable files (games) κλπ. 3.3 Rights Τα rights, είναι δικαιώματα τα οποία κρατά ένα subject επάνω σε ένα object. Περιλαμβάνουν ένα σύνολο λειτουργιών οι οποίες επιτρέπουν την προσπέλαση ενός object από ένα subject. Όπως τα subjects και τα objects, έτσι και τα rights χωρίζονται σε consumer rights (CR), provider rights (PR) και identifiee rights (IR). Τα UCON rights, μπορούν να καταταγούν σε δύο κατηγορίες. Έτσι, υπάρχουν τα View rights και τα Modification rights. Συμβολίζονται με V και M αντίστοιχα, R = {V, M}. Τα Modification rights επιτρέπουν κάποια αλλαγή σε ένα υπάρχον ψηφιακό αντικείμενο (digital object) και τη δημιουργία ενός νέου, το οποίο όμως χρησιμοποιεί το αρχικό ψηφιακό αντικείμενο (original digital object). Το εύρος των V και M συμβολίζεται C = {0,1,α}, όπου το 0 σημαίνει ότι το object είναι κλειστό σε όλους (no one can access), το 1 σημαίνει ανοιχτό σε όλους (everybody can access) και το α σημαίνει ότι η έγκριση για προσπέλαση του ψηφιακού αντικειμένου είναι επιλεκτική ή ελεγχόμενη. Οι τιμές που μπορεί να πάρει το α είναι μεταξύ του 0 και του 1 (0<α<1). Όταν το α πλησιάζει το 1 σημαίνει ότι το ψηφιακό αντικείμενο είναι ανοιχτό σχεδόν σε όλους, ενώ όταν τα α πλησιάζει την τιμή 0 σημαίνει ότι το ψηφιακό αντικείμενο είναι ελάχιστα ανοιχτό. Έτσι, τα V και M μπορούν να είναι είτε 0 είτε 1 ή α (V = {v v є C}, M = {m m є C}). Από εδώ, προκύπτουν εννιά πιθανοί συνδυασμοί, Cmv = {(m,v) m є M, v є V}. Ένα subject όμως δεν μπορεί να τροποποιήσει ένα object χωρίς να το δει (πρέπει να ισχύει m<v ή m=v). Έτσι αποκλείονται τρεις από τους εννιά συνδυασμούς και καταλήγουμε στους εξής έξι: Cmv = {(1,1), (α,1), (0,1), (α,α), (0,α), (0,0)}. Παίρνοντας υπ όψιν ότι το C 11 σημαίνει καθόλου έλεγχος και το C 00 καθόλου χρήση απορρίπτουμε και αυτές τις δύο περιπτώσεις. Τελικά προκύπτουν οι παρακάτω 4 συνδυασμοί: Cmv = {(0,1), (α,1), (0,α), (α,α)}. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 19

Εικόνα 3.2: Συνδυασμοί UCON Rights (πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Στην εικόνα 3.2, φαίνονται οι τέσσερις πιθανοί συνδυασμοί δικαιωμάτων στo UCON μοντέλο. Κάθε ένας από αυτούς μπορεί να χρησιμοποιηθεί σε διαφορετική περίπτωση. Στο C 01 (view only) επιτρέπεται μόνο η προσπέλαση του ψηφιακού αντικειμένου (digital object). Ένα παράδειγμα είναι τα e-book. Στο C 0α, δεν επιτρέπεται η τροποποίηση του αντικειμένου (digital object) και η προσπέλαση του γίνεται επιλεκτικά. Παραδείγματα που ανήκουν εδώ είναι: e-book ή mp3 distributions, digital library που παρέχουν υπηρεσίες σε συγκεκριμένα μέλη μόνο. Στο C α1, η προσπέλαση του ψηφιακού αντικειμένου (digital object) μπορεί να γίνει από όλους αλλά η τροποποίηση του γίνεται επιλεκτικά (π.χ member-participated website). Στο C αα, και η τροποποίηση και η προσπέλαση του ψηφιακού αντικειμένου (digital object) γίνονται επιλεκτικά. Να υπενθυμίσουμε ότι ο συνδυασμός {1,0} δεν μπορεί να ανήκει εδώ. Ένα παράδειγμα είναι οι πληροφορίες ενός συστήματος υγείας, όπου μόνο εξουσιοδοτημένοι γιατροί μπορούν να δουν και να τροποποιήσουν πληροφορίες που αφορούν ασθενείς. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 20

3.4 Authorization Rules Authorization rules είναι ένα σύνολο από απαιτήσεις οι οποίες πρέπει να ικανοποιηθούν πριν επιτραπεί σε ένα subject να προσπελάσει ή να χρησιμοποιήσει ένα object. Υπάρχουν δύο είδη authorization rules. Αυτά είναι τα Rights-related Authorizations Rules (RAR) και Obligation-related Authorization Rules (OAR). Το RAR, χρησιμοποιείται για ελέγξει αν ένα subject έχει έγκυρα δικαιώματα να προσπελάσει ή να χρησιμοποιήσει ένα object. Για παράδειγμα οι αποδείξεις πληρωμών ανήκουν εδώ. Το OAR, χρησιμοποιείται για να ελέγξει αν ένα subject έχει συμφωνήσει να εκπληρώσει μια υποχρέωση μετά την απόκτηση ή την άσκηση δικαιώματος σε ένα ψηφιακό αγαθό (digital object). Για παράδειγμα η πληρωμή με δόσεις μπορούμε να πούμε ότι ανήκει σε αυτήν την κατηγορία.. 3.5 Conditions Conditions είναι ένα σύνολο αποφάσεων τις οποίες το σύστημα πρέπει να επαληθεύσει στη διαδικασία αδειοδότησης (authorization process), πριν επιτραπεί σε ένα subject να χρησιμοποιήσει το ψηφιακό αντικείμενο (digital object). Υπάρχουν δύο είδη conditions: Dynamic conditions και Static conditions. Οι Dynamic conditions περιλαμβάνουν πληροφορίες οι οποίες πρέπει να ελέγχονται για ενημερώσεις κάθε φορά πριν από τη χρήση ενός digital object. Αντίθετα, οι πληροφορίες των Static conditions δεν είναι ανάγκη να ελέγχονται για ενημερώσεις. Παράδειγμα Dynamic conditions αποτελεί ο αριθμός των usage times (π.χ μπορεί να διαβαστεί 5 φορές, μπορεί να εκτυπωθεί 2 φορές). Παραδείγματα Static conditions είναι: accessible time period (π.χ business hours), accessible location (π.χ workplace), allowed printer name. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 21

3.6 Obligations Obligations είναι οι υποχρεώσεις που πρέπει ένα subject να εκπληρώσει. Υπάρχουν δύο είδη obligations στο UCON: 1. preb: obligations οι οποίες πρέπει να εκτελεστούν προτού ένα subject ξεκινήσει να προσπελαύνει ένα object. 2. onb: obligations οι οποίες πρέπει να εκτελεστούν κατά τη διάρκεια μιας usage process. Το traditional access control, δύσκολα αναγνωρίζει την έννοια των obligations. Τα σύγχρονα DRM (Digital Right Management) όλο και πιο πολύ σχετίζονται με λειτουργίες των obligations. 3.7 Continuity and Mutability Οι πιο βασικές ιδιότητες του μοντέλου Usage Control οι οποίες το ξεχωρίζουν από τα παραδοσιακά μοντέλα access control και trust management είναι οι εξής δύο: 1. Δυνατότητα συνεχόμενου ελέγχου κατά τη διάρκεια της χρήσης (Continuity of usage control decisions) 2. Μεταβλητότητα των χαρακτηριστικών ιδιοτήτων των συστατικών του συστήματος (Mutability of Attributes) Στην παρακάτω εικόνα φαίνεται μια ολοκληρωμένη usage process η οποία αποτελείται από τρεις φάσεις. Αυτές είναι οι before usage, ongoing usage και after usage. Για να διασφαλίσουμε την αποτελεσματικότητα των control decisions διακρίνουμε δύο διαφορετικούς τύπους. Αυτοί είναι οι pre-decision και ongoingdecision. Στην after usage φάση δεν χρειάζεται access control αφού ένα subject έχει τελειώσει την προσπέλαση πάνω σε ένα object. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 22

Συνεχίζουμε με τη δεύτερη σημαντική ιδιότητα του μοντέλου Usage Control (mutability of attributes). Υπάρχουν τρία είδη updates κατά μήκος των τριών φάσεων μιας usage process. Οι pre-update, ongoing-update και post-update οι οποίες εκτελούνται και παρακολουθούνται από το security system. Ένα update ενός object attribute ή subject attribute μπορεί να επιφέρει αλλαγές όχι μόνο στην τρέχουσα usage process αλλά και σε άλλες οι οποίες σχετίζονται με αυτά τα subject ή object. Εικόνα 3.3: Continuity και Mutability ιδιότητες στο UCON (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Βασισμένοι στη σχέση μεταξύ authorization decisions και attributes mutability οι Park, Sandhu όρισαν επτά βασικά authorization models. Ομοίως, ισχύουν για obligations και conditions. Τα επτά βασικά authorization models είναι τα εξής: 1. prea 0 : Μια usage control decision καθορίζεται από authorization rules πριν τη διαδικασία της πρόσβασης (before access) και δε συμβαίνει κανένα attribute update πριν, κατά τη διάρκεια ή μετά τη usage process. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 23

2. prea 1 : Μια usage control decision καθορίζεται από authorization rules πριν τη διαδικασία της πρόσβασης (before access) και ένα ή περισσότερα subject ή object attributes ενημερώνονται πριν τη usage process. 3. prea 3 : Μια usage control decision καθορίζεται από authorization rules πριν τη διαδικασία της πρόσβασης (before access) και ένα ή περισσότερα subject ή object attributes ενημερώνονται μετά τη usage process. 4. ona 0 : Οι authorization decisions ορίζονται από το σύστημα κατά τη διάρκεια της διαδικασίας της πρόσβασης (during access) και δε συμβαίνει κανένα update σε subject ή object attributes. 5. ona 1 : Οι authorization decisions ορίζονται από το σύστημα κατά τη διάρκεια της διαδικασίας της πρόσβασης (during access) και ένα ή περισσότερα subject ή object attributes ενημερώνονται πριν τη usage process. 6. ona 2 : Οι authorization decisions ορίζονται από το σύστημα κατά τη διάρκεια της διαδικασίας της πρόσβασης (during access) και ένα ή περισσότερα subject ή object attributes ενημερώνονται κατά τη διάρκεια της usage process. 7. ona 3 : Οι authorization decisions ορίζονται από το σύστημα κατά τη διάρκεια της διαδικασίας της πρόσβασης (during access) και ένα ή περισσότερα subject ή object attributes ενημερώνονται μετά τη usage process. 3.8 Εφαρμογές UCON Τα ψηφιακά αντικείμενα (digital objects) σχετίζονται με τα Consumer subjects, Provider subjects και Identifiee subjects. Κάθε ένα από αυτά έχει διαφορετικά δικαιώματα πάνω στο object. Για να καταλάβουμε το πώς λειτουργεί το μοντέλο UCON στην πραγματικότητα, τοποθετούμε τα objects στο κέντρο και τα subjects στις άκρες όπως φαίνεται στα διαγράμματα του μοντέλου στις εικόνες 3.4, 3.5. Έτσι, βλέπουμε κατευθείαν τις αλληλεπιδράσεις μεταξύ των subjects objects και subjects subjects. Στην εικόνα 3.4 παρουσιάζεται το διάγραμμα του μοντέλου για PNO (privacy non-sensitive objects) και στην εικόνα 3.5 το διάγραμμα για PSO Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 24

(privacy sensitive objects). Οι εικόνες 3.4, 3.5 βασίζονται στους παρακάτω συμβολισμούς. PNO: Privacy Non-sensitive Objects PSO: Privacy sensitive Objects Cx: Consumer x Px: Provider x Ix: Identifiee x yr: y Rights yar: y Authorizations Rule yc: y Conditions yob: y Obligations where x = {x R, AR, C, OB}, y = {y C, P, I} Θα χρησιμοποιήσουμε δύο παραδείγματα για να δείξουμε πως το μοντέλο UCON χρησιμοποιείται για privacy non-sensitive digital information και privacy sensitive digital information. Το πρώτο παράδειγμα το οποίο αφορά privacy nonsensitive objects είναι η διανομή ενός MP3 αρχείου. Αυτό το παράδειγμα μπορεί να εξηγηθεί σωστά παρατηρώντας την εικόνα 3.4 στην οποία φαίνεται να υπάρχει Provider subject στην μια πλευρά και Consumer subject στην απέναντι. Υποθέστε πως ένας συνθέτης (ο Bob), θέλει να πουλήσει ένα τραγούδι του μέσω ενός διανομέα (distributor) και ότι ένας αγοραστής (η Alice) επιθυμεί να αγοράσει το τραγούδι αυτό από τον διανομέα. Ο Bob θα είναι ο Provider subject (PS) και ο διανομέας θα είναι ο Consumer subject (CS). Ο Bob θα έχει Provider rights και ο διανομέας θα έχει Consumer rights για να διανέμει το MP3 αρχείο (Privacy non-sensitive object) και να αποκτήσει κέρδος από τις πωλήσεις. Παρομοίως, στην περίπτωση της Alice και του διανομέα. Η Alice θα είναι ο Consumer subject και ο διανομέας (distributor) θα είναι ο Provider subject. Η Alice θα έχει Consumer rights (τα play rights του τραγουδιού) και ο διανομέας (distributor) θα έχει Provider rights (τα copy και disseminate rights του object). Σε αυτήν την περίπτωση η Alice απαιτείται να πληρώσει αμέσως (CAR) για να αποκτήσει play rights σε έναν συγκεκριμένο player (CC) ο οποίος θα επιλεγεί από αυτήν. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 25

Εικόνα 3.4: UCON Model for Privacy Non-sensitive Objects πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Ένα καλό παράδειγμα για έλεγχο privacy sensitive objects είναι ένα σύστημα υγείας. Θα θεωρήσουμε ένα σύστημα υγείας το οποίο ονομάζεται PCASSO. Ο βασικός σκοπός αυτού του συστήματος είναι να απαγορεύσει την προσπέλαση βασικών πληροφοριών που αφορούν ασθενείς από ξένους. Σε αυτό το σύστημα υγείας, οι εγγραφές των ασθενών χαρακτηρίζονται μία προς μία με ένα από τα πέντε επίπεδα ασφαλείας (security levels). Αυτά είναι: Low, Standard, Deniable, Guardian Deniable και Patient Deniable. Σαν Provider subject (PS) ο πάροχος ασφαλείας (primary care provider) είναι αυτός που αποφασίζει το επίπεδο ασφάλειας των πληροφοριών του κάθε ασθενή. Στο PCASSO, ο ασθενής μπορεί να είναι είτε Consumer subject (CS) είτε Identifiee subject (IS). Σύμφωνα με τον κανονισμό (Privacy Rule) από το US Department Health and Human Services (HHS), τα νοσοκομεία και οι γιατροί (Provider subject) απαιτείται να έχουν τη συγκατάθεση των ασθενών πριν να χρησιμοποιήσουν τις πληροφορίες τους για εκτέλεση θεραπείας. Σε οποιαδήποτε άλλη περίπτωση για να χρησιμοποιηθούν οι πληροφορίες αυτές χρειάζεται γραπτή άδεια από τους ασθενείς. Στο PCASSO τίποτα από τα δύο δεν χρειάζεται. Οι πληροφορίες χειρίζονται αποκλειστικά και εξ ολοκλήρου από τον βασικό πάροχο ασφάλειας (primary care provider). Για καλύτερο έλεγχο και προστασία πληροφοριών η συγκατάθεση και η αδειοδότηση αποτελεί μέρος Identifiee rights στο μοντέλο UCON. Οι ασθενείς είναι αυτοί που κρατούν τα Identifiee rights. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 26

Εικόνα 3.5: UCON Model for Privacy Sensitive Objects πηγή: Jaehong Park, Ravi Sandhu, Towards Usage Control Models: Beyond Traditional Access Control, In ACM Proceedings of SACMAT 2002, Monterey, California, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 27

4. Temporal Logic of Actions Η Temporal Logic of Actions (TLA) αποτελεί μια ιδιαίτερα ενδιαφέρουσα μέθοδο για τη μοντελοποίηση και τον έλεγχο σύγχρονων αλληλεπιδραστικών συστημάτων (concurrent systems). Είναι μια λογική (logic) η οποία αναπτύχθηκε από τον Leslie Lamport και αποτελεί συνδυασμό δύο άλλων λογικών. Αυτές είναι η Temporal Logic και Logic of Actions. Με την TLA μπορούμε να εκφράσουμε αλλά και να ελέγξουμε προγράμματα και ιδιότητες αυτών Στην Temporal Logic of Actions οι αλγόριθμοι αναπαρίστανται με τύπους (formulas). Η σημασία των TLA τύπων βασίζεται στις ακολουθίες των states. Μια ακολουθία από states ονομάζεται behavior. Όλοι οι TLA τύποι μπορούν να εκφραστούν βάση όλων των μαθηματικών τελεστών (όπως για παράδειγμα ) συμπεριλαμβανομένων και τριών που ακολουθούν: 1. Prime ( ) 2. Always ( ) 3. Existential Quantifier ( ). 4.1The Logic of Actions Όλοι οι τύποι (formulas) στη Logic of Actions αποτελούνται από: Values, Variables, States, State functions και Actions. Στην ενότητα που ακολουθεί, θα συνεχίσουμε προσπαθώντας να δώσουμε τους ορισμούς αυτών των εννοιών. 4.1.1 States Με τον όρο state εννοούμε την εκχώρηση τιμών σε μεταβλητές. Μια αντιστοιχία δηλαδή από το σύνολο Var (variables) των μεταβλητών στο σύνολο Val (values) των τιμών. Μπορούμε να πούμε ότι μια state s εκχωρεί την τιμή s[x] στη μεταβλητή x. Για παράδειγμα, η εκχώρηση της τιμής 22 στη μεταβλητή hr είναι μια state μέσα σε ένα σύστημα ρολογιού. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 28

4.1.2 State Functions και Predicates Μια state function είναι παράσταση που αποτελείται από variables και values, όπως για παράδειγμα x 2 +y-3. Ο συμβολισμός s[x 2 +y-3] δηλώνει την εκχώρηση σε μια state s της τιμή (s[x]) 2 +s[y]-3. Σαν predicate ορίζουμε μια boolean-valued state function, για παράδειγμα x 2 =y-3. Με άλλα λόγια μπορούμε να πούμε ότι predicate είναι μια state function τέτοια ώστε s[p] ισούται με true ή false για κάθε state s. Λέμε ότι μια state s ικανοποιεί ένα P ανν (αν και μόνο αν) s[p] ισούται με true. 4.1.3 Actions Σαν actions ορίζουμε κάθε boolean-valued expression η οποία αποτελείται από variables, primed variables και values. Για παράδειγμα x +1=y, με x, y variables. Μια action δείχνει τη σχέση ανάμεσα σε old states και new states. Οι unprimed μεταβλητές αναφέρονται στην old state και οι primed στη new state. Έτσι, y=x +1 είναι μια σχέση η οποία δηλώνει ότι η τιμή της y στην old state είναι κατά μία μονάδα μεγαλύτερη απ την τιμή της x στη new state. 4.2 Simple Temporal Logic 4.2.1 Temporal Formulas Μια temporal formula αποτελείται από απλούς τύπους (formulas) μαζί με boolean τελεστές αλλά και τους τελεστές (always) και (eventually). Για παράδειγμα αν Ε 1 και Ε 2 είναι απλοί τύποι (elementary formulas) τότε: Ε1 ( Ε2) και (Ε1=> (Ε1 Ε2) είναι temporal formulas. Γενικά, αν F και G είναι temporal formulas τότε και τα F, F, G, G, F, G, F G, F G είναι επίσης temporal formulas. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 29

Η σημασία των temporal formulas βασίζεται στα behaviors. Ένα behavior ορίζεται ως μια μεγάλη ακολουθία από states. 4.2.2 Useful Temporal Formulas Eventually Για κάθε temporal formula F, ορίζεται το F όπως φαίνεται παρακάτω. Ο τύπος (formula) αυτός ισχυρίζεται ότι δεν ισχύει η περίπτωση όπου το F είναι πάντα false. Leads To Για κάθε temporal formulas F και G ορίζουμε το. Αυτό ισοδυναμεί με (F=>G). Κάθε φορά δηλαδή που το F είναι true, γίνεται και το G true τότε ή λίγο αργότερα. Ο τελεστής (leads to) είναι μεταβατικός. Αυτό σημαίνει ότι αν ισχύει και τότε ισχύει και. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 30

4.3 Temporal Logic of Actions Στην ενότητα αυτή θα παρουσιάσουμε συνοπτικά τα βασικά συστατικά της TLA, την σύνταξη της και κάποιες βασικές έννοιες της. Επίσης, θα δείξουμε παραδείγματα προγραμμάτων εκφρασμένα με Temporal Logic of Actions. 4.3.1 Συστατικά και σύνταξη της TLA Στις δύο παρακάτω εικόνες που ακολουθούν φαίνονται αντίστοιχα τα βασικά συστατικά της TLA και ο τρόπος με τον οποίο αυτή συντάσσεται. Εικόνα 4.1: Συστατικά της TLA (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 31

Εικόνα 4.2: Σύνταξη της TLA (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) 4.3.2 Εκφράζοντας προγράμματα σε TLA Παρακάτω φαίνεται ένα απλό πρόγραμμα εκφρασμένο σε μια συμβατική γλώσσα προγραμματισμού καθώς και η αντίστοιχη του μορφή σε TLA. Παράδειγμα 4.1: Απλό πρόγραμμα εκφρασμένο σε μια συμβατική γλώσσα προγραμματισμού (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 32

Εδώ, το σύστημα το αρχίζει θέτοντας τη μεταβλητή x=0 και συνεχίζει αυξάνοντάς την συνεχώς κατά 1. Εκφράζοντας τον παραπάνω κώδικα σε TLA παίρνουμε έναν τύπο (formula) Π o οποίος ορίζεται όπως φαίνεται στη συνέχεια. Τα σχόλια κάτω, βοηθούν στην κατανόηση αυτής της λογικής. Παράδειγμα 4.2: Απλό πρόγραμμα εκφρασμένο σε TLA (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) 1. Αρχικοποιείται το x (x=0). 2. Πάντα ( ) η τιμή του x στην νέα κατάσταση (new state x ) θα ισούται με την τιμή του x στην τρέχουσα κατάσταση αυξημένη κατά 1. 3. Αγνοούμε την τελευταία γραμμή προς το παρόν. Όπως καταλαβαίνεται το προηγούμενο παράδειγμα ήταν αρκετά απλό. Θα συνεχίσουμε παρουσιάζοντας ένα πιο σύνθετο. Έστω ένα σύστημα το οποίο ξεκινάει θέτοντας και το x=0 και το y=0 και συνεχίζει αυξάνοντάς τα συνεχώς κατά 1. Σε ένα βήμα αυξάνεται είτε το x είτε το y (αλλά όχι και τα δύο). Οι μεταβλητές αυξάνονται με τυχαία σειρά (κάθε μία τους αυξάνεται συνεχόμενα πολλές φορές, τείνει στο άπειρο). Η αναπαράσταση αυτού του συστήματος σε μια συμβατική γλώσσα θα ήταν όπως φαίνεται παρακάτω: Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 33

Παράδειγμα 4.3: Πρόγραμμα εκφρασμένο σε μια συμβατική γλώσσα προγραμματισμού (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) Εκφράζοντας τον παραπάνω κώδικα σε TLA παίρνουμε έναν τύπο (formula) Φ. Για μεγαλύτερη ευκολία και κατανόηση ορίζουμε άλλους δύο τύπους (formulas) X και Y και έπειτα ορίζουμε τον Φ βασισμένο σε αυτούς τους δύο. Παράδειγμα 4.4: Πρόγραμμα εκφρασμένο σε TLA (πηγή: Leslie Lamport, Temporal Logic of Actions, Systems Research Center 1991, Digital Equipment Corporation, Palo Alto, California) 1. Χ: Ένα x step αυξάνει το x κατά 1 2. και αφήνει το y απείραχτο. 3. Υ: Ένα y step αυξάνει το y κατά 1 4. και αφήνει το x απείραχτο. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 34

5. Φ: Αρχικοποιούνται οι x, y (x=0, y=0). 6. Κάθε step είναι είτε ένα Χ step είτε ένα Υ step. 7. Weak Fairness: Πολλά Χ steps και Υ steps θα συμβούν. Όπου οι τύποι (formulas) X και Y είναι actions. Γενικά, ένα ζεύγος καταστάσεων s και s (με s να αναφέρεται στην old state και s στη new state) μπορούμε να πούμε ότι είναι ένα A step (όπου Α είναι μια action) ανν (αν και μόνο αν) s[a]s είναι true. Επίσης, ένα behavior (δηλαδή μια μεγάλη ακολουθία από states) ικανοποιεί το Α f ανν (αν και μόνο αν) κάθε step του είναι ένα Α step. 4.4 Extension of TLA 4.4.1 The Next operator εξής: Για ένα behavior < s 0, s 1, s 2, > η έννοια του Next τελεστή (Ο) ορίζεται ως < s 0, s 1, s 2, > [ΟF] s 1 [F]s 2 Ο Next operator δηλαδή, δείχνει την τιμή του F στην επόμενη state του behavior. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 35

4.4.2 Past Temporal Operators Στην TLA υπάρχουν τελεστές όπως και. Στην temporal logic υπάρχουν past temporal operators οι οποίοι προσδιορίζουν τη σχέση ανάμεσα στο παρελθόν και στο μέλλον. Για ένα behavior < s 0, s 1, s 2, > στην TLA υποθέτουμε ότι η state s 0 αναφέρεται στην τρέχουσα στιγμή ενώ οι s 1, s 2 σε μελλοντικές. Χρησιμοποιούμε την ακολουθία των states, s -2, s -1 για states που έγιναν στη διάρκεια του παρελθόντος. Έτσι, ένα behavior είναι μια ακολουθία states όπως φαίνεται παρακάτω: <, s -2, s -1, s 0, s 1, s 2, > Βασισμένοι σε αυτό, ορίζουμε past temporal operators όμοιους με τους future operators: (Has-always-been), (Once), (Previous), S (Since). 4.5 Συμπέρασμα Η Temporal Logic of Actions είναι μια λογική η οποία αναπτύχθηκε από τον Leslie Lamport. Χρησιμοποιείται για τον προσδιορισμό αλλά και για τον έλεγχο ιδιοτήτων προγραμμάτων. Στην TLA οι αλγόριθμοι αναπαρίστανται με τύπους (formulas). Οι TLA τύποι αποτελούνται από values, variables, states, state functions actions. Μπορούμε να πούμε ότι η ΤLA είναι μια ιδανική γλώσσα για να γράφουμε predicates, state functions και actions. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 36

5. Logical Model of UCON with TLA 5.1 Attributes και States Όπως στην Temporal Logic of Actions (TLA), έτσι και στο UCON σαν state ορίζουμε την εκχώρηση τιμών (values) σε μεταβλητές (variables). Στο Usage Control (UCON) μοντέλο υπάρχουν τρία είδη μεταβλητών. Αυτά είναι τα ακόλουθα: subjects attributes, object attributes και system attributes. Μπορούμε να πούμε ότι το UCON είναι ένα attribute-based access control μοντέλο. Τα subjects attributes και object attributes είναι μεταβλητές που σχετίζονται άμεσα με τα subjects ή τα objects αντίστοιχα. Αντίθετα σαν system attributes ορίζουμε μεταβλητές που δεν σχετίζονται άμεσα με τα subjects ή τα objects. Όπως για παράδειγμα system clock, location. Για να καθορίσουμε την κατάσταση μιας απλής usage process ορίζουμε μια τριπλέτα (s,o,r), (special system state). Υπάρχουν έξι πιθανές τιμές για αυτήν: 1. initial: Η πρόσβαση δεν έχει δημιουργηθεί 2. requesting: Η πρόσβαση έχει δημιουργηθεί και αναμένεται η απόφαση του συστήματος 3. denied: Το σύστημα έχει απορρίψει την πρόσβαση βασισμένο σε πολιτικές αδειοδότησης πριν από τη χρήση 4. accessing: Το σύστημα αδειοδότησε την πρόσβαση και το subject ξεκίνησε την προσπέλαση του object αμέσως μετά από αυτό 5. revoked: Η πρόσβαση έχει ανακληθεί από το σύστημα 6. end: Ένα subject σταμάτησε τη χρησιμοποίηση ενός object Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 37

5.2 Predicates Ως predicate ορίζουμε μια παράσταση η οποία παίρνει boolean τιμές και αποτελείται από μεταβλητές και σταθερές συμπεριλαμβανομένων των subjects attributes και objects attributes. Εξ αιτίας των διαφορετικών τύπων attributes διακρίνουμε τέσσερα είδη predicate. 1. Μοναδιαίο (unary) predicate ενός subject ή object attribute: p(sa) or p(oa). e.g.: Alice.credit $100.00 file1.clearance = supersecure 2. Δυαδικό (binary) predicate ανάμεσα σε ένα subject attribute και ένα object attribute: p(sa, oa). e.g.: dominate(alice.cleareance, file1.classification), dominate(alice.credit, ebook.value) 3. Δυαδικό (binary) predicate in(a1, a2) ανάμεσα σε attributes, όπου το a2 είναι ένα σύνολο πιθανών τιμών του a1. e.g.: in(alice.id, file1.acl), where ID is a subject identification, file1.acl is a set of subject IDs as file1 s access control list 4. Τριαδικό (ternary) predicate permit(s, o, r), το οποίο είναι true αν ένα subject s μπορεί να προσπελάσει (access) ένα object o έχοντας τα κατάλληλα rights r. Αυτό το predicate είναι το αποτέλεσμα μιας authorization decision από το σύστημα. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 38

5.3 Actions Όπως έχουμε αναφέρει υπάρχουν τρεις διαφορετικοί τύποι μεταβλητών στο UCON: subjects attributes, objects attributes και system attributes. Ορίζουμε διαφορετικές actions για να αλλάξουμε τις states αυτών των μεταβλητών. Υπάρχουν τρεις actions στο UCON οι οποίες αλλάζουν τη state ενός subject ή object. Αυτές είναι οι preupdate, onupdate, postupdate. Εκτελούνται από το security system πριν (before), κατά τη διάρκεια (during) ή μετά (after) τη usage process. Επίσης, υπάρχουν και actions οι οποίες αλλάζουν την κατάσταση μιας usage process (s,o,r). Διακρίνουμε έξι διαφορετικές πιθανές τιμές μιας state (s,o,r) κατά τη διάρκεια μιας process όπως φαίνεται στην παρακάτω εικόνα. Εικόνα 5.1: Εναλλαγή των states στη usage process (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Στην initial state το subject s εκτελεί την action tryaccess (s,o,r). Στη συνέχεια το σύστημα είτε θα αρνηθεί την πρόσβαση (denyaccess(s,o,r)) είτε θα συνεχίσει εκτελώντας τις actions εκείνες οι οποίες θα ενημερώσουν τα attributes τα οποία πρέπει να ενημερωθούν πριν αρχίσει η usage process. Αφού το σύστημα έχει ενημερώσει τα σχετικά attributes (preupdate (s,o,r)) επιτρέπει την πρόσβαση (permitaccess (s,o,r)) και συνεχίζει εκτελώντας όλα τα απαιτούμενα updates τα οποία πρέπει να εκτελεστούν κατά τη διάρκεια της usage process (onupdate (s,o,r)). Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 39

Εναλλακτικά, το σύστημα μπορεί να ανακαλέσει την πρόσβαση αν κάποιος από τους περιορισμούς των on core models παραβιάζεται. Ακόμη, το subject μπορεί να σταματήσει τη usage process εκτελώντας την action endaccess(s,o,r). Και στις δύο περιπτώσεις οι post updates actions (postupdate(s,o,r)) εκτελούνται ώστε να ενημερωθούν mutable attributes τα οποία χρειάζονται ενημέρωση. Στη συνέχεια, η εικόνα 5.2 δείχνει τις actions που εκτελούνται από το σύστημα και από το subject κατά τη διάρκεια μιας usage process. Εικόνα 5.2: Subject και system actions (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) 1. tryaccess(s, o, r): Δημιουργεί ένα αίτημα για πρόσβαση (s, o, r), εκτελείται από ένα subject. 2. permitaccess(s, o, r): Χορηγεί μια αίτηση πρόσβασης (s, o, r), εκτελείται από το σύστημα 3. denyaccess(s, o, r): Απορρίπτει μια αίτηση πρόσβασης (s, o, r), εκτελείται από το σύστημα. 4. revokeaccess(s, o, r): Ανακαλεί μια τρέχουσα πρόσβαση (s, o, r), εκτελείται από το σύστημα. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 40

5. endaccess(s, o, r): Διακόπτει μια πρόσβαση (s, o, r), εκτελείται από το σύστημα. 6. preupdate(attribute): Ενημερώνει ένα attribute ενός subject ή object πριν τη διαδικασία πρόσβασης (before access), εκτελείται από το σύστημα. 7. onupdate(attribute): Ενημερώνει ένα attribute ενός subject ή object κατά τη διάρκεια της usage phase, εκτελείται από το σύστημα. (Το αστεράκι σημαίνει ότι αυτή η action μπορεί να εκτελεστεί πολλές φορές, συνεχόμενα από το σύστημα). 8. postupdate (attribute): Ενημερώνει ένα attribute ενός subject ή object μετά τη διαδικασία πρόσβασης, εκτελείται από το σύστημα. 5.4 Logical Model of UCON όπου: Ένα logic authorization μοντέλο στο UCON είναι μια τριπλέτα Μ = (S, P, A) 1. S είναι μια ακολουθία από states 2. P είναι ένα πεπερασμένο σύνολο predicates 3. A είναι ένα πεπερασμένο σύνολο authorization actions Όπως έχουμε ήδη αναφέρει στην αρχή, υπάρχουν δύο είδη obligations στο UCON. Αυτά είναι τα εξής: 1. Pre-obligations: τα οποία εκτελούνται πριν τη διαδικασία της πρόσβασης (before access) 2. Ongoing-obligations: τα οποία εκτελούνται κατά τη διάρκεια της χρήσης (during usage) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 41

Σαν obligation ορίζουμε μια action η οποία περιγράφεται όπως φαίνεται παρακάτω: a b (s,o,r,s b,o b,r b,para 1, para i, ) όπου: a b είναι το όνομα της obligation, (s,o,r) μια συγκεκριμένη usage process η οποία απαιτείται από την obligation, s b,o b,r b είναι obligation subject, object, right και para 1, para i είναι προαιρετικοί παράμετροι. Ένα logic μοντέλο στο UCON με authorizations και obligations είναι μια τετράδα Μ = (S, P, A Α, Α Β ) όπου: 1. S είναι μια ακολουθία από states 2. P είναι ένα πεπερασμένο σύνολο predicates 3. A A είναι ένα πεπερασμένο σύνολο authorization actions (ίδιο με το Α πριν) 4. A B είναι ένα πεπερασμένο σύνολο obligation actions Σαν condition έχουμε ορίσει τους περιορισμούς του συστήματος οι οποίοι πρέπει να είναι έγκυροι πριν ή κατά τη διάρκεια της usage process. Ένα logic μοντέλο στο UCON με authorizations, obligations και conditions είναι μια πεντάδα Μ = (S, P Α,P C, A Α, Α Β ) όπου: 1. S είναι μια ακολουθία από states 2. P Α είναι ένα πεπερασμένο σύνολο authorization predicates 3. A A είναι ένα πεπερασμένο σύνολο authorization actions 4. A B είναι ένα πεπερασμένο σύνολο obligation actions 5. P C είναι ένα πεπερασμένο σύνολο condition predicates Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 42

6. Specification of UCON Policies Στην ενότητα αυτή θα προσδιορίσουμε τα επτά βασικά authorization μοντέλα στο UCON βασισμένοι στην Temporal Logic of Actions που είδαμε προηγουμένως. Σε ένα authorization μοντέλο, οι usage control πολιτικές (policies) προσδιορίζονται από λογικούς τύπους (formulas), οι οποίοι πρέπει να ικανοποιούνται από το λογικό μοντέλο. Σε αυτούς τους λογικούς οι actions είναι προκαθορισμένες ενώ τα predicate αποτελούνται από subject και object attributes. 6.1 The Model prea 0 Τα περισσότερα παραδοσιακά access control μοντέλα μπορούν να εκφραστούν με το prea 0. Εδώ οι authorization decisions ορίζονται από το σύστημα πριν τη διαδικασία της πρόσβασης (before access) και δε συμβαίνει κανένα update σε subject ή object attributes. Οι usage control policies έχουν την ακόλουθη μορφή: Εικόνα 6.1: Usage control policies of model prea 0 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Όπου p 1, p i είναι predicates. Το permit είναι επίσης ένα predicate το οποίο δηλώνει ότι το subject μπορεί να προσπελάσει το object έχοντας τα κατάλληλα rights. Η action permitaccess χορηγεί την άδεια στο subject και αυτό ξεκινά την προσπέλαση. Αφού δε συμβαίνει κανένα update μεταξύ του αιτήματος για πρόσβαση (access request) και της χορήγησης του αιτήματος (grant action), η action permitaccess θα συμβεί στη next state της tryaccess. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 43

6.2 The Model prea 1 Στο μοντέλο prea 1 οι authorization decisions ορίζονται από το σύστημα πριν τη διαδικασία της πρόσβασης (before access) και συμβαίνει τουλάχιστον ένα update σε subject ή object attributes πριν από τη usage process (before usage). Οι usage control policies έχουν την ακόλουθη μορφή: Εικόνα 6.2: Usage control policies of model prea 1 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, SACMAT 2004, Yorktown Heights, New York, USA) Όπου attribute είναι είτε ένα subject είτε ένα object attribute. Ο πρώτος κανόνας είναι ο ίδιος με πριν. Ο δεύτερος σημαίνει πως για να συμβεί μια action permitaccess πρέπει πρώτα να προηγηθεί ένα access request, το permit predicate να είναι true και επίσης μια preupdate action να εκτελεστεί. Το permit predicate απαιτείται να είναι true μόνο πριν την action preupdate. Για την καλύτερη κατανόηση αυτών συνεχίζουμε με ένα παράδειγμα. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 44

Παράδειγμα 6.1: The model prea 1 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Ο πρώτος κανόνας σημαίνει πως όταν το credit της Alice είναι μεγαλύτερο από το value του ebook1 αυτή μπορεί να το διαβάσει. Ο δεύτερος κανόνας ισχυρίζεται πως η χορήγηση της άδειας στην Alice συνεπάγεται ένα update στο credit της. Το αποτέλεσμα του preupdate είναι μια νέα τιμή credit η οποία προκύπτει αφαιρώντας την τιμή του ebook1 από το αρχικό credit. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 45

6.3 The Model prea 3 Στο μοντέλο prea 3 οι authorization decisions ορίζονται από το σύστημα πριν τη διαδικασία της πρόσβασης (before access) και συμβαίνει τουλάχιστον ένα update σε subject ή object attributes μετά τη usage process. Οι usage control policies έχουν την ακόλουθη μορφή: Εικόνα 6.3: Usage control policies of model prea 3 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Οι δυο πρώτοι κανόνες είναι ίδιοι με πριν με τη μόνη διαφορά ότι δεν εμφανίζεται η update action εδώ. Ο τρίτος κανόνας ισχυρίζεται ότι η postupdate action θα εκτελεστεί από το σύστημα αφού πρώτα ένα subject σταματήσει την πρόσβαση του επάνω σε ένα object. Για την καλύτερη κατανόηση των παραπάνω συνεχίζουμε με ένα παράδειγμα. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 46

Παράδειγμα 6.2: The model prea 3 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Αν η Alice και το book1 ανήκουν στο readinggroup τότε αυτή μπορεί να διαβάσει το βιβλίο. Το κόστος της Alice ενημερώνεται προσθέτοντας σε αυτό το κόστος του βιβλίου το οποίο έχει ήδη προσπελάσει. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 47

6.4 The Model OnA 0 Στα pre-authorization μοντέλα δεν υπάρχει κανένας έλεγχος ασφάλειας μετά από τη χορήγηση μιας άδειας από το σύστημα. Στο μοντέλο OnA 0 οι authorization decisions ορίζονται από το σύστημα κατά τη διάρκεια της διαδικασίας της πρόσβασης (during access) και δε συμβαίνει κανένα update σε subject ή object attributes. Οι usage control policies έχουν την ακόλουθη μορφή: Εικόνα 6.4: Usage control policies of model OnA 0 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Σε αυτό το μοντέλο τα authorizations predicates πρέπει να ικανοποιηθούν κατά τη διάρκεια της access process, αλλιώς η πρόσβαση θα ανακληθεί από το σύστημα αμέσως. Ο παραπάνω τύπος δηλώνει πως μετά την action permitaccess ο τύπος: (p 1 p i ) (state(s,o,r)=accessing) revokeaccess(s,o,r) πρέπει πάντα να είναι true. Δηλαδή είτε τα authorization predicates είναι true καθώς το subject προσπελαύνει το object ή η πρόσβαση θα ανακληθεί στο next step. Στο σημείο αυτό θα προσπαθήσουμε να εξηγήσουμε όλα τα παραπάνω δίνοντας ένα παράδειγμα. Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 48

Παράδειγμα 6.3: The model prea 3 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) 6.5 The Model OnA 1 Στο μοντέλο OnA 1 οι authorization decisions ορίζονται από το σύστημα κατά τη διάρκεια της διαδικασίας της πρόσβασης (during access) και συμβαίνει τουλάχιστον ένα update σε subject ή object attributes προτού ένα subject αρχίσει να προσπελαύνει ένα object (before usage). Οι usage control policies έχουν την ακόλουθη μορφή: Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 49

Εικόνα 6.5: Usage control policies of model OnA 1 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Όπως έχουμε αναφέρει δεν υπάρχει έλεγχος αδειοδότησης πριν ένα subject ξεκινήσει να προσπελαύνει ένα object. Έτσι, ο πρώτος κανόνας ισχυρίζεται ότι πριν από την action permitaccess έχει προηγηθεί μια update action. 6.6 The Model OnA 2 Στο μοντέλο OnA 2 οι authorization decisions ορίζονται από το σύστημα κατά τη διάρκεια της διαδικασίας της πρόσβασης (during access) και συμβαίνει τουλάχιστον ένα update σε subject ή object attributes κατά τη διάρκεια προσπέλασης ενός object από ένα subject (during usage). Οι usage control policies έχουν την ακόλουθη μορφή: Εικόνα 6.6: Usage control policies of model OnA 2 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 50

Εδώ το μόνο που αξίζει να σημειώσουμε ότι ο δεύτερος κανόνας περιέχει μια update action. 6.7 The Model OnA 3 Στο μοντέλο OnA 3 οι authorization decisions ορίζονται από το σύστημα κατά τη διάρκεια της διαδικασίας της πρόσβασης (during access) και συμβαίνει τουλάχιστον ένα update σε subject ή object attributes αφότου ένα subject έχει προσπελάσει ένα object (after usage). Οι usage control policies έχουν την ακόλουθη μορφή: Εικόνα 6.7: Usage control policies of model OnA 3 (πηγή: Xinwen Zhang, Jaehong Park, Francesco Parisi-Presicce, A Logical Specification for Usage Control, In ACM Proceedings of SACMAT 2004, Yorktown Heights, New York, USA) Σε πολλές εφαρμογές ένα update το οποίο πραγματοποιείται μετά από το τέλος μιας πρόσβασης (η οποία έχει διακοπεί από ένα subject) είναι διαφορετικό από εκείνο το οποίο συμβαίνει μετά από μια ανάκληση μιας πρόσβασης (η οποία έχει πραγματοποιηθεί από το σύστημα). Παρόλα αυτά, εμείς εδώ θα χρησιμοποιούμε την ίδια ονομασία για αυτήν action (postupdate). Πανεπιστήμιο Μακεδονίας ΜΠΣΕ Τμήματος Εφαρμοσμένης Πληροφορικής 51