Υπηρεσίες ιστού και ιδιωτικότητα: Μια προσέγγιση βασισμένη στη δημιουργία προφίλ χρήστη για προσαρμοστικούς ιστότοπους Η Μεταπτυχιακή Διατριβή παρουσιάστηκε ενώπιον του Διδακτικού Προσωπικού του Πανεπιστημίου Αιγαίου Σε Μερική Εκπλήρωση των Απαιτήσεων για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης στις Τεχνολογίες και Διοίκηση Πληροφοριακών και του ΙΩΑΝΝΗ ΜΕΛΙΔΗ Α.Μ.:323Μ/2009006 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2010
Η ΤΡΙΜΕΛΗΣ ΕΠΙΤΡΟΠΗ ΔΙΔΑΣΚΟΝΤΩΝ ΕΓΚΡΙΝΕΙ ΤΗ ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗ ΤΟΥ ΙΩΑΝΝΗ ΜΕΛΙΔΗ: Γεώργιος Καμπουράκης, Επιβλέπων Τμήμα Μηχανικών Πληροφοριακών και Ελισάβετ Κωνσταντίνου, Μέλος Τμήμα Μηχανικών Πληροφοριακών και Μανώλης Μαραγκουδάκης, Μέλος Τμήμα Μηχανικών Πληροφοριακών και ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2010 ii
ΠΕΡΙΛΗΨΗ Η εξατομίκευση των ιστότοπων (Web Personalization) είναι η διαδικασία κατά την οποία ένας ιστότοπος προσαρμόζεται στις μοναδικές ανάγκες του εκάστοτε χρήστη. Δεδομένα που αντικατοπτρίζουν τις προτιμήσεις του χρήστη συλλέγονται με μη-διαφανή τρόπο από τους προσαρμοστικούς ιστότοπους (Αdaptive Websites), δημιουργώντας έτσι ένα προφίλ χρήστη (User Profile). Από αυτή την κατάσταση όμως μπορούν να προκύψουν πολλά ερωτήματα και αμφιβολίες που αφορούν την ιδιωτικότητα του τελικού χρήστη. Συγκεκριμένα, όταν κάποιος χρήστης περιηγείται σε έναν ιστότοπο, δεν είναι ενήμερος για αρκετές σημαντικές παραμέτρους ιδιωτικότητας, όπως για παράδειγμα ποιες πράξεις του καταγράφονται και αποθηκεύονται, πώς τις επεξεργάζεται ο ιστότοπος, για πόσο χρονικό διάστημα αποθηκεύονται οι πληροφορίες αυτές και ποιος θα έχει πρόσβαση σε αυτές σε βάθος χρόνου. Ο στόχος της παρούσας διπλωματικής εργασίας είναι ο σχεδιασμός, η υλοποίηση και η αξιολόγηση λογισμικού το οποίο θα είναι ικανό να εξασφαλίζει την ιδιωτικότητα του χρήστη όταν λαμβάνει υπηρεσίες ιστού. Δηλαδή, προτείνεται μια αρχιτεκτονική η οποία ενισχύει την ιδιωτικότητα του χρήστη κατά τη διάρκεια της αλληλεπίδρασης με κάποιο προσαρμοστικό ιστότοπο. Η προτεινόμενη αρχιτεκτονική δίνει τη δυνατότητα στους χρήστες να δημιουργούν και να ενημερώνουν τις προσωπικές τους προτιμήσεις ιδιωτικότητας για τους προσαρμοστικούς ιστότοπους που επισκέπτονται, με το να τις αποθηκεύουν στην πλευρά του χρήστη (Client Side) αντί στην πλευρά του εξυπηρετητή (Server Side). Με αυτό τον τρόπο, οι χρήστες έχουν τη δυνατότητα να ορίσουν οι ίδιοι την εμπειρία της εξατομίκευσης που προσφέρουν οι προσαρμοστικοί ιστότοποι, ενισχύοντας έτσι την ιδιωτικότητά τους. Λέξεις κλειδιά: Εξατομίκευση, Ιδιωτικότητα, Προσαρμοστικός Ιστότοπος, Προφίλ Χρήστη, Μοντέλο Χρήστη 2011 του Ιωάννη Μελίδη Τμήμα Μηχανικών Πληροφοριακών και ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ iii
ABSTRACT Web personalization is the elegant and flexible process of making a website responsive to the unique needs of each individual user. Data that reflects user preferences and likings, comprising therefore a user profile, are gathered to an adaptive website in a non transparent manner. This situation however raises serious privacy concerns to the end-user. When browsing a website, users are not aware of several important privacy parameters i.e., which behavior will be monitored and logged, how it will be processed, how long it will be kept, and with whom it will be shared in the long run. The aim of this final diploma thesis is the design, the implementation and the evaluation of a software program that will be able to secure the privacy of users while they are receiving web services. More concretely, we propose an architecture that enhances user privacy during interaction with adaptive websites. This architecture enables users to create and update their personal privacy preferences for the adaptive websites they visit by holding their (user) profiles in the client side instead of the server side. By doing so users will be able to self-confine the personalization experience the adaptive sites offer, thus enhancing privacy. Keywords: Personalization, Privacy, Adaptive Website, User Profile, User Model 2011 Ioannis Melidis Department of Information and Communication Systems Engineering UNIVERSITY OF THE AEGEAN iv
ΕΥΧΑΡΙΣΤΙΕΣ ΑΦΙΕΡΩΣΕΙΣ Πριν την παρουσίαση της παρούσας διπλωματικής εργασίας, θα ήθελα να ευχαριστήσω κάποιους ανθρώπους με τους οποίους συνεργάστηκα και με βοήθησαν σε μεγάλο βαθμό να πραγματοποιήσω την εργασία αυτή αλλά και να ολοκληρώσω τις μεταπτυχιακές μου σπουδές. Καταρχήν, θα ήθελα να ευχαριστήσω τον επιβλέπων καθηγητή της διπλωματικής μου εργασίας, κύριο Γεώργιο Καμπουράκη, καθώς και τον διδακτορικό φοιτητή Κωνσταντίνο Κόλια, για την εμπιστοσύνη και την υπομονή που έδειξαν προς το πρόσωπό μου καθώς και για την καθοδήγηση και τη βοήθεια που μου παρείχαν κατά τη εκπόνηση της εργασίας. Θα ήθελα επίσης να ευχαριστήσω τους συναδέλφους μου φοιτητές και φίλους μου, οι οποίοι μου έδιναν διαρκώς συμβουλές και προτάσεις ώστε να ολοκληρώσω με επιτυχία και να είναι όσο δυνατόν καλύτερο το αποτέλεσμα της εργασίας αυτής. Τέλος θα ήθελα να δώσω ένα μεγάλο ευχαριστώ στους γονείς μου και σε όλη μου την οικογένεια, για τα αγαθά που μου προσφέρουν και μου προσέφεραν τόσο καιρό, χωρίς αυτά δε θα ήταν δυνατόν να ολοκληρώσω αυτή την προσπάθεια. Σε αυτούς που με πίστεψαν και με στήριξαν τόσα χρόνια, αφιερώνω την εργασία αυτή. v
ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ... 8 1.1 Αντικείμενο της Διπλωματικής Εργασίας... 9 1.2 Συνεισφορά... 9 1.3 Οργάνωση Κειμένου... 9 ΚΕΦΑΛΑΙΟ 2 - ΠΡΟΣΑΡΜΟΣΤΙΚΟΙ ΙΣΤΟΤΟΠΟΙ... 11 2.1 Τρόπος Λειτουργίας Προσαρμοστικών Ιστότοπων... 11 2.2 Δημιουργία Μοντέλων Χρηστών ή Ομάδων Χρηστών... 13 2.3 Ζητήματα Ασφάλειας και Ιδιωτικότητας που προκύπτουν... 14 2.4 Σχετικές Έρευνες... 15 ΚΕΦΑΛΑΙΟ 3 - ΠΡΟΤΕΙΝΟΜΕΝΗ ΜΕΘΟΔΟΣ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ... 18 3.1 Οι οντότητες της αρχιτεκτονικής... 18 3.2 Αλληλεπίδραση των οντοτήτων της αρχιτεκτονικής... 21 3.3 Αξιολόγηση... 24 ΚΕΦΑΛΑΙΟ 4 - ΥΛΟΠΟΙΗΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 27 4.1 Γενική λειτουργία... 27 4.2 Επικοινωνία... 29 4.3 Διαχείριση αρχείων XML... 31 4.4 Διεπαφή Χρήστη... 34 4.5 Αποθήκευση αρχείων XML... 38 4.6 Ασφάλεια... 40 4.7 Παράδειγμα Προσαρμοστικού Ιστότοπου... 44 ΚΕΦΑΛΑΙΟ 5 - ΣΥΜΠΕΡΑΣΜΑΤΑ... 48 5.1 Συμπεράσματα & Σύνοψη... 48 5.2 Μελλοντική Έρευνα Επεκτάσεις... 48 ΒΙΒΛΙΟΓΡΑΦΙΑ... 51 ΠΑΡΑΡΤΗΜΑ Ι - Πηγαίος Κώδικας... 52 ΠΑΡΑΡΤΗΜΑ ΙΙ - XML Schema... 87 vi
ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ Σχήμα 2-1: Παράδειγμα Προσαρμοστικού Ιστότοπου στο Amazon.com... 12 Σχήμα 3-1: Τα μέρη από τα οποία αποτελείται ο πράκτορας των μοντέλων χρήστη... 20 Σχήμα 3-2: Οι τρεις φάσεις της αρχιτεκτονικής... 23 Σχήμα 4-1: Το πεδίο που εμφανίζεται στον χρήστη όταν ο XML Parser συναντήσει την ετικέτα <first-name>... 33 Σχήμα 4-2: Η οθόνη που βλέπει ο χρήστης όταν εκτελείται για πρώτη φορά η εφαρμογή... 35 Σχήμα 4-3: Παράδειγμα του αναπτυσσόμενου μενού, στη διεπαφή του χρήστη... 36 Σχήμα 4-4: Παράδειγμα οθόνης που εμφανίζεται στο χρήστη, όταν επιλέξει την φόρτωση κάποιου αρχείου... 37 Σχήμα 4-5: Αρχείο XML που αντιστοιχεί στην οθόνη του σχήματος 4-4... 37 Σχήμα 4-6: Η οθόνη του χρήστη, αφού έχει συμπληρώσει τις προτιμήσεις και τα στοιχεία του... 39 Σχήμα 4-7: Το αρχείο που αποθηκεύεται όταν ο χρήστης πατήσει Save στο σχήμα 4-5... 40 Σχήμα 4-8: Ο χρήστης καλωσορίζεται ονομαστικά, στην αρχική σελίδα... 46 Σχήμα 4-9: Τα αποτελέσματα που εμφανίζονται στον χρήστη, σε περίπτωση που η ετικέτα most_searched έχει την τιμή Hip Hop... 47 Σχήμα 4-10: Τα αποτελέσματα που εμφανίζονται στον χρήστη, σε περίπτωση που η ετικέτα most_searched έχει την τιμή Rock... 47 vii