ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Ηλεκτρονικής & Υπολογιστών Εργαστήριο Διαδραστικών Τεχνολογιών ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ της φοιτήτριας του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών Δήμητρας Ζαραφέτα Αριθμός Μητρώου: 228047 Θέμα Ταυτοποίηση Δύο Παραγόντων και Διαδίκτυο των Πραγμάτων Two Factor Authentication and Internet of things Επιβλέπων Αβούρης Νικόλαος Καθηγητής Αριθμός Διπλωματικής Εργασίας:
ii Πάτρα, Οκτώβρης 2018
ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η διπλωματική εργασία με θέμα Ταυτοποίηση Δύο Παραγόντων και Διαδίκτυο των Πραγμάτων Two Factor Authentication and Internet of things της φοιτήτριας του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Δήμητρας Ζαραφέτα (Α.Μ.: 228047) παρουσιάστηκε δημόσια και εξετάστηκε στο τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις 11/10/2018 Ο Επιβλέπων Ο Διευθυντής του Τομέα Αβούρης Νικόλαος Καθηγητής Χούσος Ευθύμιος Καθηγητής
Στοιχεία διπλωματικής εργασίας Θέμα: Ταυτοποίηση Δύο Παραγόντων και Διαδίκτυο των Πραγμάτων Two Factor Authentication and Internet of things Φοιτήτρια: Δήμητρα Ζαραφέτα Ομάδα επίβλεψης: Καθηγητής Αβούρης Νικόλαος Εργαστήρια: Εργαστήριο Διαδραστικών Τεχνολογιών Η εργασία αυτή γράφτηκε στο X L A TEX και χρησιμοποιήθηκε η γραμματοσειρά GFS Didot του Greek Font Society. E
Περίληψη Τα συστήματα επαλήθευσης της ταυτότητας δύο παραγόντων (Two Factor Authentication-2FA) έχουν τη δυνατότητα να αυξήσουν την ασφάλεια, αλλά και να αντιμετωπίσουν προκλήσεις χρηστικότητας και ικανότητα ανάπτυξης λόγω του πρόσθετου επιπέδου ασφάλειας που χρησιμοποιείται προκειμένου να γίνει ταυτοποίηση του χρήστη που επιδιώκει να αποκτήσει πρόσβαση σε έναν ηλεκτρονικό λογαριασμό.ωστόσο η μείωση του επιπέδου της προσπάθειας των χρηστών που εμπλέκονται στην παραδοσιακή επαλήθευση δύο παραγόντων (2FA) αποτελεί σημαντικό ερευνητικό θέμα.σε αυτή την εργασία προτείνουμε το Ultrasonic-Watch, ένα νέο μηχανισμό 2FA βασισμένο σε μια φορητή συσκευή (ρολόι / βραχιόλι) και τους υπέρηχους ήχους που παράγονται από τον ίδιο.είναι μια εφαρμογή που βασίζεται στην θεωρία του Διαδικτύου των πραγμάτων καθώς γίνεται η σύνδεση των ηλεκτρονικών συσκευών μεταξύ τους σε ένα τοπικό δίκτυο με σκοπό την ανταλλαγή δεδομένων. Με το Ultrasonic- Watch ο χρήστης επιχειρεί να συνδεθεί σε έναν λογαριασμό του, ο server στέλνει ένα μήνυμα στο smartwatch και αυτό το στέλνει μέσω υπερήχων στον υπολογιστή ο οποίος με την σειρά του το στέλνει πίσω στον server. Στην συνέχεια της εργασίας παρουσιάζονται οι τεχνολογίες που χρησιμοποιήθηκαν καθώς και σημαντικά κομμάτια του κώδικα ώστε να γίνει κατανοητή η υλοποίηση της εφαρμογής. Τέλος παρατίθενται τα αποτελέσματα από τα πειράματα και των ερωτηματολογίων που έγιναν με σκοπό την αξιολόγηση του συστήματος. Σκοπός του Ultrasonic-Watch είναι να διατηρήσει την ασφάλεια του συστήματος ελέγχου ταυτότητας (σε επίπεδο ισοδύναμο με αυτό των παραδοσιακών συστημάτων 2FA) χωρίς να επιβαρύνει πολύ τον χρήστη. Λέξεις κλειδιά: Ταυτoποίηση δύο παραγόντων, Υπέρηχοι, Διαδίκτυο των πραγμάτων, Συνεχής ταυτοποίηση ix
x
Abstract Two Factor Authentication (2FA) systems have the potential not only to increase security, but also to address usability and capacity development challenges due to the additional security level used to identify and certify the fidelity of user s personal data who is trying access an electronic account. However, lowering the level of effort of users involved in traditional two-factor verification (2FA) is an important research issue. In this paper we propose the Ultrasonic-Watch, a new 2FA which is composed of a portable device that emit ultrasonic sounds. It is an application based on the theory of the Internet of Things as it connects the electronic devices to each other on a local network to exchange data. With the Ultrasonic-Watch the user attempts to connect to an account, the server sends a message to the smartwatch and sends it over the computer to the computer, which in turn sends it back to the server. In the following work we present the technologies used as well as important pieces of the code to understand the implementation of the application. Finally, the results from the experiments and the questionnaires made for the purpose of evaluating the system are presented. The purpose of Ultrasonic-Watch is to maintain the security of the authentication system (on a level equivalent to that of traditional 2FA systems) without overloading the user. Keywords: Two-factor authentication,ultrasonic Sensor,Internet of things, Seamless Authentication xi
xii
Ευχαριστίες Θέλω να ευχαριστήσω θερμά τον καθηγητή μου κύριο Νικόλαο Αβούρη τόσο για την άψογη συνεργασία μας στο πλαίσιο της διπλωματικής μου εργασίας όσο και για το συνολικότερο κίνητρο που μου έδωσε ώστε να ασχοληθώ με τον συγκεκριμένο επιστημονικό κλάδο και να εμβαθύνω σε αυτόν μέσω της διδασκαλίας του. Επίσης, θέλω να πω ένα μεγάλο ευχαριστώ στην Χριστίνα Κατσίνη και στον Ράπτη Γιώργο,τους διδακτορικούς φοιτητές που είχαν αναλάβει την επίβλεψή μου όλο αυτό το χρονικό διάστημα,για τη βοήθεια που μου προσέφεραν κάθε φορά που χρειάστηκε. Τέλος θέλω να εκφράσω την ευγνωμοσύνη μου στην οικογένεια μου για τη στήριξη που μου παρείχε καθ όλη τη διάρκεια της ακαδημαϊκής μου πορείας,όντας πάντα στο πλευρό μου,καθώς και τους φίλους μου που τα τελευταία έξι χρόνια αποτέλεσαν πραγματικά τη δεύτερη οικογένειά μου τόσο στις ευτυχισμένες όσο και στις δύσκολες στιγμές. xiii
Περιεχόμενα Περίληψη Abstract Περιεχόμενα Κατάλογος Σχημάτων ix xi xv xix 1 Εισαγωγή 1 2 Θεωρητικό Υπόβαθρο 5 2.1 Ταυτοποίηση Δύο Παραγόντων........................ 5 2.1.1 Η ταυτοποίηση δύο παραγόντων εναντια στην ηλεκτρονικη εγκληματικότητα............................... 6 2.1.2 Προβλήματα της ασφάλειας με κωδικούς προσβασης....... 6 2.1.3 Ταυτοποίηση Δύο Παραγόντων για την ασφάλεια......... 8 2.1.4 Κοινά είδη Ταυτοποίησης Δύο Παραγόντων............ 9 2.1.5 Έλεγχος ταυτότητας δύο παραγόντων για έλεγχο ταυτότητας μέσω κινητού τηλεφώνου....................... 12 2.1.6 Είναι ασφαλής η ταυτότητα δύο παραγόντων;........... 12 2.1.7 Υψηλότερα επίπεδα ελέγχου ταυτότητας για πιο ασφαλείς επικοινωνίες................................ 13 2.1.8 Πρέπει να χρησιμοποιήσω SMS ή μια εφαρμογή;.......... 14 2.2 Έλεγχος Ταυτότητας χωρίς Σύνδεση..................... 15 2.3 Προηγούμενες Προσπάθειες.......................... 16 2.3.1 Ραδιοεπικοινωνία μικρής εμβέλειας.................. 16 2.3.2 Πληροφορίες Τοποθεσίας....................... 17 2.3.3 Άλλοι αισθητήρες........................... 18 2.3.4 Ήχοι περιβάλλοντος.......................... 18 2.3.5 Ανταλλαγή ήχων............................ 19 2.4 Κίνητρα που μας οδήγησαν στην χρήση υπερήχων............. 19 xv
xvi ΠΕΡΙΕΧΟΜΕΝΑ 2.5 ΙΟΤ....................................... 20 2.5.1 Ιστορική αναδρομή στο Διαδίκτυο των Πραγμάτων........ 21 2.5.2 Πρότυπα και πρωτόκολλα ΙοΤ.................... 22 2.5.3 Πώς λειτουργεi............................. 23 2.5.4 Αποθήκευση και ανάλυση δεδομένων................ 25 2.5.5 Χρησιμότητα.............................. 25 2.5.6 Οφέλη από το Διαδίκτυο....................... 28 2.5.7 Ασφάλεια................................ 29 2.5.8 Προσωπικά δεδομένα......................... 29 3 Σχεδίαση και Ανάπτυξη Μηχανισμού 31 3.1 Σχεδίαση Μηχανισμού............................. 31 3.2 Λειτουργία Μηχανισμού............................ 33 3.3 Εξοπλισμός υλικού............................... 35 3.3.1 Arduino................................. 35 3.3.2 Αισθητήρες Yπερήχων......................... 40 3.4 Ανάπτυξη Λογισμικού............................. 46 3.4.1 Τεχνολογίες που χρησιμοποιήθηκαν................. 46 3.4.2 Kώδικας εφαρμογής.......................... 47 3.5 Ανάλυση ασφαλείας.............................. 50 4 Αξιολόγηση Μηχανισμού 53 4.1 Μελέτη Χρήστη................................. 53 4.1.1 Διερευνητική Μελέτη......................... 53 4.1.2 Συμμετέχοντες............................. 53 4.1.3 Οδηγίες που δόθηκαν στους συμμετέχοντες............. 53 4.1.4 H διαδικασία που ακολούθησαν οι χρήστες............. 54 4.1.5 Μετρήσεις................................ 56 4.1.6 Αποτελέσματα Μετρήσεων...................... 56 4.2 Μελέτη-Απόδοση Συστήματος........................ 62 4.2.1 Μέθοδος................................. 62 4.2.2 Αποτελέσματα............................. 63 4.3 KLM Μέθοδος για σύγκριση email - κινητού................ 66
ΠΕΡΙΕΧΟΜΕΝΑ xvii 5 Συμπεράσματα και Επίλογος 71 5.1 Εισαγωγή.................................... 71 5.2 Ultrasonic-Watch συγκρινόμενο με άλλες τεχνολογίες........... 71 5.3 Μελλοντική συζήτηση και δουλειά...................... 72 5.4 Συμπεράσματα και επίλογος......................... 73 6 Παραρτήματα 75 6.1 Γλωσσάρι.................................... 76 6.2 Κώδικας Εργασίας............................... 78 Βιβλιογραφία 106
xviii ΠΕΡΙΕΧΟΜΕΝΑ
Κατάλογος Σχημάτων 2.1 Με το 2FA υπάρχει μεγαλύτερη ασφάλεια[12]................. 8 2.2 Internet of things[21]............................... 20 3.1 Αρχιτεκτονική του Συστήματος......................... 31 3.2 Αρχιτεκτονική του Συστήματος για την δική μας εφαρμογή......... 32 3.3 Arduino[30].................................... 38 3.4 Xρήση Arduino και Ultrasonic Sensor για την μέτρηση της μεταξύ τους απόστασης[31]................................... 41 3.5 Διάγραμμα παλμού του HC-SR04-ultrasonic-sensor [31]........... 42 3.6 Διορθωμένο διάγραμμα παλμού του HC-SR04-ultrasonic-sensor [31].... 42 3.7 Ο HC-SR04-ultrasonic-sensor διαμορφωμένος να δουλεύει μόνο ως receiver [31]......................................... 43 3.8 Mετρώντας την απόσταση μεταξύ δυο Ultrasonic Sensors [31]........ 44 3.9 XAMPP[34]..................................... 46 4.1 Εγγραφή...................................... 54 4.2 Σύνδεση....................................... 55 4.3 Ο κωδικός απο το email.............................. 55 4.4 Σύνδεση με την χρήση arduino.......................... 56 4.11 Μεταξύ τους απόσταση.............................. 63 4.12 Μέτρηση γωνίας.................................. 65 4.13 Μέτρηση σε σχέση με την σχετική τους θέση.................. 66 xix
xx ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ
ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ xxi
Κεφάλαιο 1 Εισαγωγή Η παρούσα εργασία εκπονήθηκε με σκοπό τη μελέτη της απλούστευσης (Seamless) της ταυτοποίησης δύο παραγόντων (Two Factor Authentication - 2FA) με την χρήση των Διαδίκτυων των πραγμάτων (Internet of things-iot). Η ασφάλεια αποτελεί πλέον σημαντικό θέμα σε όλους τους τομείς όπως οι τράπεζες, οι κυβερνητικές εφαρμογές, τα εκπαιδευτικά ιδρύματα κλπ. Με τις τυπικές διαδικασίες ασφαλείας (ειδικά σε απευθείας σύνδεση) που απαιτούν μόνο ένα απλό όνομα χρήστη και κωδικό πρόσβασης, έχει γίνει όλο και πιο εύκολο για τους ψηφιακούς εγκληματίες (είτε σε οργανωμένες συμμορίες είτε μόνοι τους) να αποκτήσουν πρόσβαση σε ιδιωτικά δεδομένα χρήστη, όπως προσωπικά και οικονομικά στοιχεία, να διαπράττουν δόλιες πράξεις, γενικά οικονομικού χαρακτήρα [1]. Ευτυχώς, γίνεται όλο και πιο εύκολο οι χρήστες να προσθέσουν ένα επιπλέον επίπεδο προστασίας στους λογαριασμούς τους κάνοντας χρήση του 2FA. Το 2FA παρέχει δυνητικά βελτιωμένη ασφάλεια συνδυάζοντας δύο διαφορετικά στοιχεία ελέγχου ταυτότητας. Tο πλεονέκτημα είναι ότι η ασφάλεια μπορεί να διατηρηθεί από ένα από τα συστατικά σε περίπτωση που το άλλο συστατικό παραβιαστεί. Ένα παράδειγμα 2FA είναι όταν προσπαθούμε να συνδεθούμε στο λογαριασμό του gmail χρησιμοποιώντας έναν υπολογιστή ή μια συσκευή που η Google δεν αναγνωρίζει, η υπηρεσία θα στείλει ένα μήνυμα κειμένου στο τηλέφωνο μας. Όταν μας ζητηθεί, θα χρειαστεί να εισάγουμε τον κώδικα στη σελίδα σύνδεσης. Χωρίς τον κώδικα, η Google θα κρατήσει το λογαριασμό μας κλειδωμένο μέχρι να την επαληθεύσετε. Ωστόσο, η ανάγκη αλληλεπίδρασης με το τηλέφωνο και η αντιγραφή του κώδικα επαλήθευσης κατά τη διάρκεια μιας περιόδου ελέγχου ταυτότητας 2FA μειώνει την χρηστικότητα του συστήματος, κάτι που μπορεί να απωθήσει τους χρήστες να ακολουθήσουν αυτή την μέθοδο προστασίας[2]. Αυτό ακριβώς υπήρξε και το κίνητρο για την μείωση της πολυπλοκότητας της προστασίας δύο παραγόντων αλλά ωστόσο με το να διατηρήσει την ασφάλεια που προσφέρει. 1
2 Εισαγωγη Τέτοιες προηγούμενες προσπάθειες και έρευνες [3] [4] [5], έχουν εκπονηθεί, χρησιμοποιώντας διάφορες μεθόδους, αλλά όλες είχαν σημαντικά μειονεκτήματα. Ορισμένες από αυτές τις έρευνες είναι το Phone Auth που αξιοποιεί την ασύρματη επικοινωνία Bluetooth μεταξύ του προγράμματος περιήγησης και του τηλεφώνου,προκειμένου να εξαλειφθεί η αλληλεπίδραση χρήστη-τηλεφωνο αλλα απαιτεί επιπλέον λογισμικό στον υπολογιστή, το Sound-Proof που χρησιμοποιεί ως εγγύτητα των δύο συσκευών τον βαθμό ομοιότητας μεταξύ του θορύβου περιβάλλοντος που συλλαμβάνεται από τα μικρόφωνα τους αλλά υπάρχουν κίνδυνοι όπως παρόμοια περιβαλλοντική επίθεση (το θύμα και ο αντίπαλος βρίσκονται σε παρόμοια περιβάλλοντα) και άλλες ακόμα προσπάθειες που θα δούμε στην συνέχεια του κειμένου. Υπό το πρίσμα αυτό και ύστερα από πολλές έρευνες καταλήξαμε ότι ο καλύτερος τρόπος για seamless authentication είναι με την χρήση αποστολής και λήψης υπερήχων. Οι υπέρηχοι είναι διαμήκη ελαστικά κύματα με συχνότητα μεγαλύτερη από 20 kηz που είναι το ανώτατο όριο της ανθρώπινης ακοής. Το Ultrasonic-Watch, που χρησιμοποιεί μια φορητή συσκευή (ρολόι/βραχιόλι) λειτουργεί με τον εξής τρόπο: ο χρήστης κάνει σύνδεση (login),ο εξυπηρετητής (server) αφου επαληθεύει ότι όντως είναι έγκυρα τα στοιχεία του χρήστη (όνομα και κωδικός) στέλνει ένα μήνυμα στο smartwatch και ενεργοποιεί την αναπαραγωγή υπερήχου (από το smartwatch) καθώς και ένα μήνυμα στον υπολογιστή για να ξεκινήσει την διαδικασίας ηχογράφησης. Ο υπολογιστής λαμβάνει το μήνυμα και το στέλνει στον server. Ο server έχοντας το αρχικό μήνυμα που έστειλε στο smartwatch και το τελικό που έλαβε από τον υπολογιστή συγκρίνει τα 2 αυτά μηνύματα και με βάση την σύγκριση των δύο κειμένων, ο server αποφασίζει αν αποδέχεται / απορρίπτει τον έλεγχο ταυτότητας. Αφού μιλάμε για συσκευές και αντικείμενα με ενσωματωμένους αισθητήρες που συνδέονται σε ένα τοπικό δίκτυο με σκοπό να μοιραστούν κάποιες πληροφορίες σκόπιμο είναι να αναφερθούμε στην θεωρία πίσω από αυτή την λογική που λέγεται Διαδίκτυο των πραγμάτων (IoT). Το IoT αναφέρεται σε σενάρια όπου η συνδεσιµότητα του δικτύου και η υπολογιστική δυνατότητα επεκτείνεται σε αντικείµενα, αισθητήρες, καθηµερινά αντικείµενα που κανονικά δεν θεωρούνται υπολογιστές, επιτρέποντας σε αυτές τις συσκευές την παραγωγή, ανταλλαγή και κατανάλωση δεδοµένων µε ελάχιστη ανθρώπινη παρέµβαση.το IoT διαδραματίζει σημαντικό ρόλο στις σημερινές επιχειρήσεις με την ομαλή διαχείριση των εσωτερικών διαδικασιών και την παροχή ευκολίας
3 για κάθε εργασία. Σημαντική η παρεμβολή του ΙοΤ στην μεταφορά, στην ιατρική, στην βιομηχανία καθώς και στην καθημερινή μας ζωή. Στην συνέχεια της διπλωματικής εργασίας παρουσιάζονται τα αποτελέσματα που έγιναν από τα πειράματα και απο τα ερωτηματολόγια που κλήθηκαν να απαντήσουν οι συμμετέχοντες. Στο πλαίσιο του πειράματος μετρήθηκαν δύο χρόνοι που οι χρήστες θα έκανα δύο login. Ένα login μέσω του email, όπου δηλαδή οι χρήστες αφού έκαναν επιτυχημένα login έπρεπε να μπουν στο email τους και να κάνουν αντιγραφήεπικόλληση έναν τυχαίο κωδικό που θα τους είχε σταλθεί, και ένα δεύτερο login που αφού οι χρήστες αφού έκαναν επιτυχημένα login ξανά τότε θα περίμεναν τα arduino μέσω υπερήχων να πραγματοποιήσουν τον δεύτερο παράγοντα ταυτοποίησης.στην συνέχεια είχαν το ερωτηματολόγιο όπου οι χρήστες το συμπλήρωναν ανάλογα με το τι εμπειρία είχαν ως προς τα πειράματα και τέλος μια προσωπική συνέντευξη με τον καθένα τους που εξηγούσαν αναλυτικότερα τις απόψεις τους. Τέλος γίνεται μια ανασκόπηση της όλης πορείας που έγινε στην συγκεκριμένη διπλωματική εργασία και γίνεται αναφορά σε μελλοντικιές κατευθύνσεις που μπορεί να έχει το Ultrasonic-Watch. Το Ultrasonic-Watch έχει κάποια σημεία τα οποία μπορούν στο μέλλον να αποτελέσουν αντικείμενο μελέτης, ανάπτυξης και βελτίωσης. Σε αυτό το κεφάλαιο αναφέρονται τα σημεία αυτά και προτείνονται κάποιοι τρόποι με τους οποίους μπορεί να γίνει η εξέλιξή του στο μέλλον.
4 Εισαγωγη
Κεφάλαιο 2 Θεωρητικό Υπόβαθρο 2.1 Ταυτοποίηση Δύο Παραγόντων Στο σημερινό κόσμο της αυξανόμενης ψηφιακής εγκληματικότητας και της απάτης στο διαδίκτυο, πολλοί άνθρωποι γίνονται εξοικειώνονται περισσότερο με τη σημασία της ηλεκτρονικής ασφάλειας, των συνδέσεων, των ονομάτων χρηστών και των κωδικών πρόσβασης και εν τέλει με την χρήση του ελέγχου ταυτότητας δύο παραγόντων Και γιατί οι κωδικοί δεν είναι αρκετά ικανοί; Με τις τυπικές διαδικασίες ασφαλείας (ειδικά σε απευθείας σύνδεση) που απαιτούν μόνο ένα απλό όνομα χρήστη και κωδικό πρόσβασης, έχει γίνει όλο και πιο εύκολο για τους ψηφιακούς εγκληματίες (είτε σε οργανωμένες συμμορίες είτε μόνοι τους) να αποκτήσουν πρόσβαση σε ιδιωτικά δεδομένα χρήστη, όπως προσωπικά και οικονομικά στοιχεία, να διαπράττουν δόλιες πράξεις, γενικά οικονομικού χαρακτήρα. Με τόσο μεγάλο μέρος της ζωής μας που αφιερώνουμε σε κινητές συσκευές και φορητούς υπολογιστές, δεν είναι περίεργο οι ψηφιακοί λογαριασμοί μας να έχουν γίνει μαγνήτης για εγκληματίες. Οι κακόβουλες επιθέσεις κατά κυβερνήσεων, εταιρειών και ατόμων είναι όλο και συχνότερες. Και δεν υπάρχουν ενδείξεις ότι οι κωδικοί μόνο επιβραδύνουν τις αψιμαχίες, τις παραβιάσεις δεδομένων και άλλες μορφές εγκληματικότητας στον κυβερνοχώρο! Ευτυχώς, γίνεται όλο και πιο εύκολο οι χρήστες να προσθέσουν ένα επιπλέον επίπεδο προστασίας στους λογαριασμούς χρηστών με τη μορφή ταυτοποίησης δύο παραγόντων. 5
6 Θεωρητικό Υπόβαθρο 2.1.1 Η ταυτοποίηση δύο παραγόντων εναντια στην ηλεκτρονικη εγκληματικότητα Τα τελευταία χρόνια, παρατηρούμε τεράστια αύξηση στον αριθμό των ιστότοπων που χάνουν τα προσωπικά δεδομένα των χρηστών τους[6]. Και καθώς το έγκλημα στον κυβερνοχώρο να αυξάνεται όλο και περισσότερο, οι εταιρείες βρίσκουν, ότι τα παλιά τους συστήματα ασφαλείας δεν ταιριάζουν με τις σύγχρονες απειλές και επιθέσεις[7]. Μερικές φορές μπορεί να είναι απλό ανθρώπινο λάθος, που τους έχει αφήσει εκτεθειμένους. Δεν είναι μόνο η εμπιστοσύνη των χρηστών που μπορεί να καταστραφεί. Όλοι οι τύποι οργανισμών - παγκόσμιες εταιρείες, μικρές επιχειρήσεις, νεοσύστατες επιχειρήσεις, ακόμα και μη κερδοσκοπικοί οργανισμοί - μπορούν να υποστούν σοβαρές οικονομικές ζημίες και απώλεια της φήμης τους. Για τους καταναλωτές, οι επιπτώσεις της στοχευμένης κλοπής ή κλοπής ταυτότητας μπορεί να είναι καταστροφικές. Τα κλεμμένα διαπιστευτήρια χρησιμοποιούνται για τη διασφάλιση ψεύτικων πιστωτικών καρτών και την εξάσκηση των αγορών κεφαλαίων, τα οποία μπορούν να βλάψουν την πιστοληπτική ικανότητα ενός θύματος.και ολόκληροι λογαριασμοί τραπεζών και λογαριασμοί κρυπτογράφησης μπορούν να στραγγιστούν κατά τη διάρκεια της νύχτας. Μια πρόσφατη μελέτη [8] αποκάλυψε ότι το 2016 πήραν πάνω από 16 δισεκατομμύρια δολάρια από 15,4 εκατομμύρια καταναλωτές από τις ΗΠΑ. Ακόμη πιο απίστευτο, οι κλέφτες αφαίρεσαν πάνω από 107 δισεκατομμύρια δολάρια σε διάστημα έξι χρόνια. Σαφώς, οι ιστότοποι και οι εφαρμογές σε απευθείας σύνδεση πρέπει να προσφέρουν αυστηρότερη ασφάλεια. Όποτε είναι δυνατόν, οι καταναλωτές θα πρέπει να αποκτήσουν τη συνήθεια να προστατεύονται με κάτι που είναι ισχυρότερο από έναν απλό κωδικό πρόσβασης. Για πολλούς, αυτό το επιπλέον επίπεδο ασφάλειας είναι έλεγχος ταυτότητας δύο παραγόντων. 2.1.2 Προβλήματα της ασφάλειας με κωδικούς προσβασης Πώς και πότε οι κωδικοί πρόσβασης έγιναν τόσο ευάλωτοι; Το 1961, το Ινστιτούτο Τεχνολογίας της Μασαχουσέτης ανέπτυξε το Συμβατό Σύστημα Χρονικής Διανομής (CTSS)[9]. Για να βεβαιωθούν ότι όλοι είχαν ίσες ευκαιρίες να χρησιμοποιήσουν τον υπολογιστή, το MIT απαιτούσε από όλους τους μαθητές να συνδεθούν με έναν
Ταυτοποίηση Δύο Παραγόντων 7 ασφαλή κωδικό πρόσβασης. Πολύ σύντομα, οι μαθητές κατάλαβαν ότι θα μπορούσαν να χάσουν το σύστημα, να εκτυπώσουν τους κωδικούς πρόσβασης και να αυξήσουν τον χρόνο του υπολογιστή. Παρ όλα αυτά, και το γεγονός ότι υπάρχουν πολύ πιο ασφαλείς εναλλακτικές λύσεις, τα ονόματα χρήστη και οι κωδικοί πρόσβασης παραμένουν η πιο κοινή μορφή επαλήθευσης χρήστη. Ο γενικός κανόνας είναι ότι ένας κωδικός πρόσβασης πρέπει να είναι κάτι που γνωρίζει μόνο ενώ είναι δύσκολο να βρεθεί από κάποιον άλλον. Και ενώ η χρήση κωδικών πρόσβασης είναι καλύτερο από το να μην υπήρχε καθόλου προστασία, ωστόσο και στην περίπτωση αυτή δεν υπάρχει απόλυτη ασφάλεια. Και αυτό γιατί: Οι άνθρωποι έχουν μικρή ικανότητα απομνημόνευση: Μια πρόσφατη έκθεση [10]εξέτασε πάνω από 1,4 δισεκατομμύρια κλεμμένους κωδικούς πρόσβασης και διαπίστωσε ότι οι περισσότεροι ήταν ενοχλητικά απλοί. Μεταξύ των χειρότερων είναι τα 111111, 123456, 123456789, qwerty και ο κωδικός πρόσβασης. Ενώ αυτά είναι εύκολο να απομνημονευθούν, κάθε αξιοπρεπής hacker θα μπορούσε να σπάσει αυτούς τους απλούς κωδικούς σε χρόνο μηδέν. Πάρα πολλοί λογαριασμοί: Καθώς οι χρήστες γίνονται πιο άνετοι με το να κάνουν τα πάντα online, ανοίγουν όλο και περισσότερους λογαριασμούς. Αυτό τελικά δημιουργεί πάρα πολλούς κωδικούς πρόσβασης για να τους θυμούνται και ανοίγει το δρόμο για μια επικίνδυνη συνήθεια:την ανακύκλωση κωδικού πρόσβασης. Εδώ είναι ο λόγος για τον οποίο οι hacker αγαπούν αυτήν την τάση: χρειάζονται μόλις δευτερόλεπτα για να σπάσουν το λογισμικό για να δοκιμάσουν χιλιάδες κλεμμένες πιστοποιήσεις σύνδεσης έναντι λαϊκών ηλεκτρονικών τραπεζών και αγορών. Εάν ανακυκλωθεί ένα ζεύγος ονόματος χρήστη και κωδικού πρόσβασης, είναι πολύ πιθανό να ξεκλειδώσει πολλούς άλλους κερδοφόρους λογαριασμούς. Δύσκολοι κωδικοί: Για να προστατευθούν, ορισμένοι καταναλωτές προσπαθούν να δυσκολέψουν τους επιτιθέμενους, δημιουργώντας πιο σύνθετους κωδικούς πρόσβασης και φράσεις πρόσβασης. Αλλά με τόσες πολλές παραβιάσεις δεδομένων που πλημμυρίζουν τον σκοτεινό ιστό με πληροφορίες για τους χρήστες, πολλοί απλώς παραιτούνται και επιστρέφουν στη χρήση αδύναμων κωδικών πρόσβασης σε πολλούς λογαριασμούς.
8 Θεωρητικό Υπόβαθρο 2.1.3 Ταυτοποίηση Δύο Παραγόντων για την ασφάλεια Το 2FA είναι ένας μηχανισμός ασφαλείας που απαιτεί δύο τύπους διαπιστευτηρίων για έλεγχο ταυτότητας και έχει σχεδιαστεί για να παρέχει ένα επιπλέον επίπεδο επικύρωσης, ελαχιστοποιώντας τις παραβιάσεις ασφαλείας[11]. Είναι ένα πρόσθετο επίπεδο ασφάλειας που χρησιμοποιείται για να βεβαιωθείτε ότι όσοι προσπαθούν να αποκτήσουν πρόσβαση σε έναν ηλεκτρονικό λογαριασμό είναι αυτοί που λένε ότι είναι. Αρχικά, ένας χρήστης θα εισαγάγει το όνομα χρήστη και έναν κωδικό πρόσβασης. Στη συνέχεια, αντί να αποκτήσουν άμεσα πρόσβαση, θα πρέπει να παρέχουν μια άλλη πληροφορία. Αυτός ο δεύτερος παράγοντας μπορεί να προέρχεται από μία από τις ακόλουθες κατηγορίες: Σχήμα 2.1: Με το 2FA υπάρχει μεγαλύτερη ασφάλεια[12] Κάτι που γνωρίζετε: Αυτό θα μπορούσε να είναι ένας προσωπικός αριθμός αναγνώρισης (PIN), ένας κωδικός πρόσβασης, απαντήσεις σε μυστικές ερωτήσεις ή ένα συγκεκριμένο μοτίβο πληκτρολόγησης. Κάτι που έχετε: Συνήθως, ένας χρήστης θα έχει κάτι στην κατοχή του, όπως μια πιστωτική κάρτα, ή ένα smartphone. Κάτι που είστε: Αυτή η κατηγορία είναι λίγο πιο προηγμένη και μπορεί να περι-
Ταυτοποίηση Δύο Παραγόντων 9 λαμβάνει βιομετρικό πρότυπο δακτυλικού αποτυπώματος, σάρωση ίριδας ή φωνητική εκτύπωση. Με το 2FA, ένας πιθανός συνδυασμός μόνο ενός από αυτούς τους παράγοντες δεν θα ξεκλειδώσει τον λογαριασμό. Έτσι, ακόμα και αν ο κωδικός σας έχει κλαπεί ή το τηλέφωνο σας έχει χαθεί, οι πιθανότητες κάποιος άλλος που έχει τις πληροφορίες του δεύτερου παράγοντα είναι πολύ απίθανο. Εξετάζοντας το από μια άλλη οπτική γωνία, εάν ένας καταναλωτής χρησιμοποιεί σωστά 2FA, οι ιστότοποι και οι εφαρμογές μπορούν να είναι πιο σίγουροι για την ταυτότητα του χρήστη και να ξεκλειδώσουν το λογαριασμό. Η διαδικασία ασφαλείας για ένα μηχάνημα ΑΤΜ είναι ένα συνηθισμένο παράδειγμα επαλήθευσης δύο παραγόντων, το οποίο απαιτεί ότι ο χρήστης διαθέτει έγκυρη κάρτα ATM και PIN. Η χρήση διαδικασίας ελέγχου ταυτότητας δύο παραγόντων μπορεί να συμβάλλει στη μείωση του αριθμού των κλοπών ταυτότητας στο Διαδίκτυο, καθώς και στο ηλεκτρονικό ηλεκτρονικό ψάρεμα (phishing) μέσω ηλεκτρονικού ταχυδρομείου, διότι ο ψηφιακός εγκληματίας θα χρειαζόταν κάτι παραπάνω από τα στοιχεία του ονόματος χρήστη και του κωδικού πρόσβασης. 2.1.4 Κοινά είδη Ταυτοποίησης Δύο Παραγόντων Εάν ένας ιστότοπος που χρησιμοποιείται απαιτεί μόνο έναν κωδικό πρόσβασης για να μπει στην ιστοσελίδα και δεν προσφέρει 2FA, υπάρχει μια καλή πιθανότητα ότι τελικά θα έχει γίνει hacking. Αυτό δεν σημαίνει ότι όλα τα 2FA είναι τα ίδια. Διάφοροι τύποι ταυτοποίησης δύο παραγόντων χρησιμοποιούνται σήμερα. μερικοί μπορεί να είναι πιο ισχυροί ή πιο περίπλοκοι από τους άλλους, αλλά όλοι προσφέρουν καλύτερη προστασία από τους κωδικούς πρόσβασης και μόνο. Ας δούμε τις πιο κοινές μορφές του 2FA. Ετικέτες υλικού για 2FA Πιθανώς η παλαιότερη μορφή των 2FA, των token υλικού είναι μικρή, όπως ένα κλειδί fob, και παράγουν έναν νέο αριθμητικό κώδικα κάθε 30 δευτερόλεπτα. Όταν ένας χρήστης προσπαθεί να αποκτήσει πρόσβαση σε έναν λογαριασμό, βλέπει τη συσκευή και εισάγει τον εμφανιζόμενο κώδικα 2FA στον ιστότοπο ή την εφαρμογή. Άλλες εκδόσεις των token υλικού μεταφέρονται αυτόματα στον
10 Θεωρητικό Υπόβαθρο κώδικα 2FA όταν συνδέονται στη θύρα USB του υπολογιστή. Ωστόσο, έχουν πολλά μειονεκτήματα. Για τις επιχειρήσεις, η διανομή αυτών των μονάδων είναι δαπανηρή. Το πιο σημαντικό είναι ότι δεν είναι απολύτως ασφαλείς από το ότι έχουν χάσει. SMS Text-Message και Voice-based 2FA Το 2FA που βασίζεται σε SMS αλληλεπιδρά απευθείας με το τηλέφωνο του χρήστη. Αφού λάβει ένα όνομα χρήστη και έναν κωδικό πρόσβασης, ο ιστότοπος αποστέλλει στο χρήστη έναν μοναδικό κωδικό πρόσβασης (OTP) με ένα μήνυμα κειμένου. Όπως και η διαδικασία συμβολικών συμβόλων υλικού, ο χρήστης πρέπει να εισάγει ξανά το OTP στην εφαρμογή πριν πάρει πρόσβαση. Παρομοίως, το φωνητικό 2FA καλεί αυτόματα έναν χρήστη και προδίδει προφορικά τον κώδικα 2FA. Παρόλο που δεν είναι συνηθισμένο, εξακολουθεί να χρησιμοποιείται σε χώρες όπου τα smartphones είναι ακριβά ή όπου η υπηρεσία κυττάρων είναι κακή. Για μια δραστηριότητα σε απευθείας σύνδεση χαμηλού κινδύνου, ο έλεγχος ταυτότητας με κείμενο ή φωνή μπορεί να είναι μόνο που χρειάζεστε. Αλλά για ιστότοπους που αποθηκεύουν τα προσωπικά σας στοιχεία - όπως επιχειρήσεις κοινής ωφελείας, τράπεζες ή λογαριασμούς ηλεκτρονικού ταχυδρομείου - αυτό το επίπεδο 2FA μπορεί να μην είναι αρκετά ασφαλές. Στην πραγματικότητα, το SMS θεωρείται ως ο λιγότερο ασφαλής τρόπος για την εξακρίβωση της ταυτότητας των χρηστών. Εξαιτίας αυτού, πολλές εταιρείες αναβαθμίζουν την ασφάλειά τους, προχωρώντας πέρα από το 2FA που βασίζεται σε SMS. Λογότυπα λογισμικού για 2FA Η πιο δημοφιλής μορφή επαλήθευσης δύο παραγόντων (και μια προτιμώμενη εναλλακτική λύση από το SMS και τη φωνή) χρησιμοποιεί έναν κωδικό πρόσβασης που βασίζεται στον χρόνο(ονομάζεται επίσης TOTP ή soft-token ). Πρώτον, ένας χρήστης πρέπει να κατεβάσει και να εγκαταστήσει μια δωρεάν εφαρμογή 2FA στο smartphone ή στην επιφάνεια εργασίας του. Στη συνέχεια, μπορούν να χρησιμοποιήσουν την εφαρμογή με οποιονδήποτε ιστότοπο που υποστηρίζει αυτό το είδος ελέγχου ταυτότητας. Κατά τη σύνδεση, ο χρήστης εισάγει πρώτα ένα όνομα χρήστη και έναν κωδικό πρόσβασης και στη συνέχεια, όταν του ζητηθεί, εισάγει τον κωδικό που εμφανίζεται στην εφαρμογή. Όπως οι token του υλικού, το soft-token έχει συνήθως ισχύ για λιγότερο από ένα λεπτό.
Ταυτοποίηση Δύο Παραγόντων 11 Και επειδή ο κώδικας δημιουργείται και εμφανίζεται στην ίδια συσκευή, οι μαλακές token απομακρύνονται από την πιθανότητα υποκλοπής hacker. Αυτό είναι μια μεγάλη ανησυχία με τις μεθόδους SMS ή φωνητικής παράδοσης. Το καλύτερο από όλα, δεδομένου ότι οι λύσεις 2FA που βασίζονται σε εφαρμογές είναι διαθέσιμες για φορητές, φορητές ή επιτραπέζιες πλατφόρμες - και ακόμη και εργασία εκτός σύνδεσης - ο έλεγχος ταυτότητας χρήστη είναι εφικτός σχεδόν παντού. Push Notification for 2FA Αντί να βασίζονται στην παραλαβή και την καταχώρηση ενός διακριτικού 2FA, οι ιστότοποι και οι εφαρμογές μπορούν τώρα να στείλουν στον χρήστη μια ειδοποίηση ώθησης ότι πραγματοποιείται μια προσπάθεια ελέγχου ταυτότητας. Ο ιδιοκτήτης της συσκευής βλέπει απλώς τις λεπτομέρειες και μπορεί να εγκρίνει ή να αρνηθεί την πρόσβαση με μία μόνο αφή. Είναι αυθεντικός έλεγχος ταυτότητας χωρίς κωδικό και δεν απαιτείται πρόσθετη αλληλεπίδραση. Έχοντας μια άμεση και ασφαλή σύνδεση μεταξύ του λιανοπωλητή, της υπηρεσίας 2FA και της συσκευής, η ειδοποίηση push εξαλείφει κάθε ευκαιρία για phishing, επίθεση κατά του μέσου ή για μη εξουσιοδοτημένη πρόσβαση. Αλλά λειτουργεί μόνο με μια συσκευή συνδεδεμένη στο διαδίκτυο, μία που μπορεί να εγκαταστήσει εφαρμογές. Επίσης, σε περιοχές όπου η διείσδυση των smartphone είναι χαμηλή ή όπου το Διαδίκτυο είναι αναξιόπιστο, το 2FA βασισμένο σε SMS μπορεί να είναι μια αποτυχία. Αλλά όπου είναι μια επιλογή, οι ειδοποιήσεις ώθησης παρέχουν μια πιο φιλική προς το χρήστη, πιο ασφαλή μορφή ασφάλειας. Άλλες μορφές ελέγχου ταυτότητας δύο παραγόντων Ο βιομετρικός έλεγχος ταυτότητας 2FA, ο οποίος αντιμετωπίζει το χρήστη ως το διακριτικό, βρίσκεται πολύ κοντά. Οι πρόσφατες καινοτομίες περιλαμβάνουν την επαλήθευση της ταυτότητας ενός ατόμου μέσω δακτυλικών αποτυπωμάτων, μοτίβων αμφιβληστροειδούς και αναγνώρισης προσώπου. Ο θόρυβος του περιβάλλοντος, ο παλμός, τα πρότυπα τυπογραφίας και οι φωνητικές εκτυπώσεις διερευνώνται επίσης. Είναι μόνο θέμα χρόνου πριν ξεκινήσει μία από αυτές τις μεθόδους 2FA και για τους βιομετρικούς hacker να καταλάβουν πώς να εκμεταλλευτούν.
12 Θεωρητικό Υπόβαθρο 2.1.5 Έλεγχος ταυτότητας δύο παραγόντων για έλεγχο ταυτότητας μέσω κινητού τηλεφώνου Τα smartphones προσφέρουν πολλές δυνατότητες για 2FA, επιτρέποντας στις εταιρείες να χρησιμοποιούν αυτό που τους ταιριάζει καλύτερα. Ορισμένες συσκευές διαθέτουν οθόνες ικανές να αναγνωρίζουν τα δακτυλικά αποτυπώματα. μια ενσωματωμένη κάμερα μπορεί να χρησιμοποιηθεί για αναγνώριση προσώπου ή σάρωση ίριδας και το μικρόφωνο μπορεί να χρησιμοποιηθεί για αναγνώριση φωνής. Τα smartphones που είναι εξοπλισμένα με GPS μπορούν να ελέγξουν την τοποθεσία ως πρόσθετο παράγοντα. Η υπηρεσία φωνής ή σύντομων μηνυμάτων (SMS) μπορεί επίσης να χρησιμοποιηθεί ως κανάλι για την εξακρίβωση της ταυτότητας εκτός ζώνης. Η Apple ios, το Google Android, τα Windows 10 και το BlackBerry OS 10 έχουν όλες τις εφαρμογές που υποστηρίζουν το 2FA, επιτρέποντας στο ίδιο το τηλέφωνο να λειτουργεί ως φυσική συσκευή για να ικανοποιήσει τον παράγοντα κατοχής[13]. Οι εφαρμογές Επαληθευτής αντικαθιστούν την ανάγκη λήψης κωδικού επαλήθευσης μέσω κειμένου, φωνητικής κλήσης ή ηλεκτρονικού ταχυδρομείου. Για παράδειγμα, για να αποκτήσετε πρόσβαση σε έναν ιστότοπο ή μια υπηρεσία που βασίζεται στον ιστό που υποστηρίζει τον Επαληθευτή Google, ο χρήστης πληκτρολογεί στο όνομα χρήστη και τον κωδικό πρόσβασής του - έναν παράγοντα γνώσης. Στη συνέχεια, ο χρήστης καλείται να εισαγάγει έναν εξαψήφιο αριθμό. Αντί να χρειάζεται να περιμένετε μερικά δευτερόλεπτα για να λάβετε ένα μήνυμα κειμένου, ο Επαληθευτής δημιουργεί τον αριθμό για αυτούς. Αυτοί οι αριθμοί αλλάζουν κάθε 30 δευτερόλεπτα και είναι διαφορετικοί για κάθε σύνδεση. Εισάγοντας τον σωστό αριθμό, ο χρήστης ολοκληρώνει τη διαδικασία επαλήθευσης χρήστη και αποδεικνύει την κατοχή της σωστής συσκευής - ενός παράγοντα ιδιοκτησίας. 2.1.6 Είναι ασφαλής η ταυτότητα δύο παραγόντων; Ενώ ο έλεγχος ταυτότητας δύο παραγόντων βελτιώνει την ασφάλεια - επειδή το δικαίωμα πρόσβασης δεν εξαρτάται πλέον μόνο από τη δύναμη ενός κωδικού πρόσβασης - τα συστήματα επαλήθευσης ταυτότητας δύο παραγόντων είναι εξίσου ασφαλή με το ασθενέστερο στοιχείο τους[13]. Η ίδια η διαδικασία ανάκτησης λογαριασμού μπορεί επίσης να ανατραπεί όταν χρησιμοποιείται για να αποτρέψει τον έλεγχο ταυ-
Ταυτοποίηση Δύο Παραγόντων 13 τότητας δύο παραγόντων, επειδή συχνά επαναφέρει τον τρέχοντα κωδικό πρόσβασης ενός χρήστη και αποστέλλει με μήνυμα ηλεκτρονικού ταχυδρομείου έναν προσωρινό κωδικό πρόσβασης για να επιτρέψει στον χρήστη να συνδεθεί ξανά παρακάμπτοντας τη διαδικασία 2FA. Σκεφτείτε το από την άποψη της προστασίας στο σπίτι. Εάν διαθέτετε σύστημα ασφάλειας στο σπίτι, μειώνετε τις πιθανότητες διάρρηξης. Αν έχετε ένα δυνατό, μεγάλο σκυλί, μειώνετε επίσης τις πιθανότητες μιας διάρρηξης. Αν συνδυάσετε ένα σύστημα ασφαλείας με ένα μεγάλο σκυλί, τότε στο σπίτι σας γίνεται ακόμα πιο δύσκολο να εισέλθει και ένας λιγότερο ελκυστικός στόχος. Οι περισσότεροι διαρρήκτες θα βρουν απλά ένα ευκολότερο σήμα - ένα σπίτι χωρίς συναγερμό και χωρίς τον κίνδυνο απο ένα δάγκωμα σκύλου. Ομοίως, ο έλεγχος ταυτότητας δύο παραγόντων αποτρέπει μια μεγάλη μερίδα hacker από τη στόχευση του λογαριασμού σας. Πολλοί θα προχωρήσουν απλά και θα βρουν ευκολότερους λογαριασμούς για να εισέλθουν. Και αν σας στοχεύσουν, θα χρειαστούν κάτι περισσότερο από τον κωδικό πρόσβασής σας. Εκτός από τον κωδικό πρόσβασής σας, ένας hacker θα πρέπει να έχει επίσης το τηλέφωνό σας - ή να αποκτήσει πρόσβαση στις token που τοποθετούνται στο τηλέφωνό σας από τον μηχανισμό ελέγχου ταυτότητας μέσω επίθεσης ηλεκτρονικού ψαρέματος (phishing), κακόβουλου λογισμικού ή ενεργοποίησης της ανάκτησης λογαριασμού, όπου ο κωδικός σας επαναφέρεται και 2FA άτομα με ειδικές ανάγκες. Αυτό είναι επιπλέον εργασία. 2.1.7 Υψηλότερα επίπεδα ελέγχου ταυτότητας για πιο ασφαλείς επικοινωνίες Οι περισσότερες επιθέσεις προέρχονται από απομακρυσμένες συνδέσεις στο διαδίκτυο, οπότε το 2FA καθιστά αυτές τις επιθέσεις λιγότερο απειλητικές, επειδή η απόκτηση κωδικών πρόσβασης δεν επαρκεί για την πρόσβαση και είναι απίθανο ένας εισβολέας να είναι επίσης σε θέση να αποκτήσει τον δεύτερο παράγοντα επαλήθευσης ταυτότητας που σχετίζεται με ένα λογαριασμό χρήστη. Ωστόσο, οι εισβολείς σπάζουν μερικές φορές έναν παράγοντα επαλήθευσης ταυτότητας στον φυσικό κόσμο[13]. Μια επίμονη αναζήτηση των χώρων στόχων, για παράδειγμα, μπορεί να αποδώσει ένα αναγνωριστικό υπαλλήλου και έναν κωδικό
14 Θεωρητικό Υπόβαθρο πρόσβασης στον κάδο απορριμμάτων ή σε απρόσμενα απορριπτόμενες συσκευές αποθήκευσης που περιέχουν βάσεις δεδομένων κωδικών πρόσβασης. Αν όμως απαιτούνται πρόσθετοι παράγοντες για τον έλεγχο ταυτότητας, ο επιτιθέμενος θα αντιμετωπίσει τουλάχιστον ένα ακόμη εμπόδιο. Επειδή οι παράγοντες είναι ανεξάρτητοι, ο συμβιβασμός ενός δεν πρέπει να οδηγήσει σε συμβιβασμό άλλων. Αυτός είναι ο λόγος για τον οποίο ορισμένα περιβάλλοντα υψηλής ασφάλειας απαιτούν έλεγχο ταυτότητας τριών παραγόντων, ο οποίος συνήθως περιλαμβάνει την κατοχή ενός φυσικού σήματος και ενός κωδικού πρόσβασης που χρησιμοποιείται σε συνδυασμό με βιομετρικά δεδομένα, όπως είναι οι σαρώσεις δακτυλικών αποτυπωμάτων ή οι φωνητικές αποτυπώσεις. Παράγοντες όπως ο γεωγραφικός προσδιορισμός, ο τύπος συσκευής και ο χρόνος της ημέρας χρησιμοποιούνται επίσης για να προσδιοριστεί αν ο χρήστης πρέπει να επικυρωθεί ή να αποκλειστεί. Επιπλέον, τα βιομετρικά αναγνωριστικά συμπεριφοράς, όπως το μήκος πλήκτρων του χρήστη, η ταχύτητα πληκτρολόγησης και οι κινήσεις του ποντικιού, μπορούν να παρακολουθούνται διακριτικά σε πραγματικό χρόνο για να παρέχουν συνεχή έλεγχο ταυτότητας, αντί για έναν μοναδικό έλεγχο ταυτότητας κατά τη διάρκεια της σύνδεσης. 2.1.8 Πρέπει να χρησιμοποιήσω SMS ή μια εφαρμογή; Πολλοί ιστότοποι και υπηρεσίες, συμπεριλαμβανομένων των Amazon, Dropbox, Google και Microsoft, σας δίνουν τη δυνατότητα να χρησιμοποιήσετε SMS ή μια εφαρμογή ελέγχου ταυτότητας. Το Twitter είναι το μεγαλύτερο παράδειγμα ενός ιστότοπου που σας αναγκάζει να χρησιμοποιείτε SMS. Η λήψη κωδικών μέσω SMS είναι λιγότερο ασφαλής από τη χρήση μιας εφαρμογής επαλήθευσης ταυτότητας. Ένας hacker θα μπορούσε να παρακολουθήσει ένα μήνυμα κειμένου ή να καταλάβει τον αριθμό τηλεφώνου σας, πείθοντας τον μεταφορέα σας να το μεταφέρει σε άλλη συσκευή ή αν συγχρονίζετε μηνύματα κειμένου με τον υπολογιστή σας, ένας hacker θα μπορούσε να αποκτήσει πρόσβαση σε κώδικες SMS, κλέβοντας τον υπολογιστή σας. Μια εφαρμογή ελέγχου ταυτότητας έχει το πλεονέκτημα ότι δεν χρειάζεται να βασιστείτε στον μεταφορέα σας. οι κωδικοί αποστέλλονται στο τηλέφωνό σας με βάση αυτό το κοινόχρηστο μυστικό και την τρέχουσα ώρα. Οι κωδικοί λήγουν
Έλεγχος Ταυτότητας χωρίς Σύνδεση 15 γρήγορα, συνήθως μετά από 30 ή 60 δευτερόλεπτα. Επειδή μια εφαρμογή ελέγχου ταυτότητας δεν χρειάζεται τον μεταφορέα σας για τη μετάδοση κωδικών, θα μείνει με την εφαρμογή ακόμη και αν ένας hacker καταφέρει να μετακινήσει τον αριθμό σας σε ένα νέο τηλέφωνο. Μια εφαρμογή ελέγχου ταυτότητας λειτουργεί επίσης όταν δεν έχετε υπηρεσία κινητής τηλεφωνίας. Η χρήση μιας εφαρμογής ελέγχου ταυτότητας απαιτεί μια μικρή επιπλέον ρύθμιση, αλλά προσφέρει καλύτερη προστασία από τα SMS. Για να ρυθμίσετε μια εφαρμογή ελέγχου ταυτότητας, θα χρειαστεί να εγκαταστήσετε την εφαρμογή στο τηλέφωνό σας και, στη συνέχεια, να ρυθμίσετε ένα κοινό μυστικό μεταξύ της εφαρμογής και των λογαριασμών σας. Αυτό γίνεται συνήθως με τη σάρωση ενός κώδικα QR με την κάμερα του τηλεφώνου σας. Μόλις εγκατασταθεί, ωστόσο, μια εφαρμογή ελέγχου ταυτότητας σάς σώζει το βήμα που χρειάζεται να εισαγάγετε έναν κώδικα, απλώς πατήστε στις ειδοποιήσεις της εφαρμογής για να συνδεθείτε σε έναν από τους λογαριασμούς σας. 2.2 Έλεγχος Ταυτότητας χωρίς Σύνδεση Είναι το 2FA κουραστικό στην χρήση - seamless authentication; Το 2FA απαιτεί ένα επιπλέον βήμα όταν συνδεθείτε στους λογαριασμούς σας. Θα πρέπει να εισαγάγετε τον κωδικό πρόσβασής σας, να περιμένετε να φτάσει ένας κωδικός μέσω SMS και, στη συνέχεια, να εισάγετε αυτόν τον κωδικό. Ή εάν χρησιμοποιείτε μια εφαρμογή επαλήθευσης ταυτότητας, θα πρέπει να περιμένετε να εμφανιστεί η ειδοποίηση, ώστε να μπορείτε να πατήσετε για να επαληθεύσετε ότι είστε εσείς. Ωστόσο, η ανάγκη αλληλεπίδρασης με το τηλέφωνο και η αντιγραφή του κώδικα επαλήθευσης κατά τη διάρκεια μιας περιόδου ελέγχου ταυτότητας 2FA μειώνει την χρηστικότητα του συστήματος, γεγονός που μπορεί να εμποδίσει τους χρήστες να υιοθετήσουν αυτήν την προσέγγιση για έλεγχο ταυτότητας. Υπό αυτό το πρίσμα, οι ερευνητές και οι ασκούμενοι έχουν αναγνωρίσει την ανάγκη για μείωση, και ιδανική εξάλειψη, της επιβάρυνσης του χρήστη στην οποία βασίζονται τα παραδοσιακά 2FA, δημιουργώντας μια σημαντική ερευνητική κατεύθυνση[2]. Ο στόχος ενός τέτοιου συστήματος 2FA ελάχιστης προσπάθειας είναι να επιτρέψει στον χρήστη να συνδεθεί χρησιμοποιώντας την προσέγγιση 2FA ιδανικά μόνο πληκτρολογώντας τον κωδικό πρόσβασής του.
16 Θεωρητικό Υπόβαθρο 2.3 Προηγούμενες Προσπάθειες 2.3.1 Ραδιοεπικοινωνία μικρής εμβέλειας. Το PhoneAuth [5] είναι μια πρόταση 2FA που αξιοποιεί την ασύρματη επικοινωνία Bluetooth μεταξύ του προγράμματος περιήγησης και του τηλεφώνου, προκειμένου να εξαλειφθεί η αλληλεπίδραση χρήστη-τηλεφώνου. Το κανάλι Bluetooth επιτρέπει στο διακομιστή (μέσω του προγράμματος περιήγησης) και στο τηλέφωνο να συμμετάσχει σε ένα πρωτόκολλο πρόκλησης-απόκρισης που παρέχει τον δεύτερο παράγοντα επαλήθευσης ταυτότητας. Παρομοίως, τα [14] και [15] χρησιμοποιούν επίσης την επικοινωνία Bluetooth μεταξύ του προγράμματος περιήγησης και του τηλεφώνου. Αυτά τα προγράμματα απαιτούν από το πρόγραμμα περιήγησης να εκθέσει ένα Bluetooth API που αυτή τη στιγμή δεν είναι διαθέσιμο σε κανέναν browser. Σε μια προδιαγραφή για την έκθεση Bluetooth API σε προγράμματα περιήγησης έχει προταθεί από την ομάδα κοινότητας Web Bluetooth [16]. Δεν είναι σαφές εάν θα προταθεί το προτεινόμενο API υποστηρίξτε τη μη επικυρωμένη RFCOMM ή παρόμοια λειτουργικότητα που απαιτείται για να ενεργοποιήσετε την απρόσκοπτη συνδεσιμότητα μεταξύ του προγράμματος περιήγησης και του τηλεφώνου. Ωστόσο, εάν η σύνδεση Bluetooth δεν έχει ταυτοποιηθεί, ένας αντίπαλος εξοπλισμένος με ισχυρή κεραία μπορεί να συνδεθεί με το τηλέφωνο του θύματος από μακριά [17] και να συνδεθεί για λογαριασμό του ο χρήστης, παρά το 2FA. Το Authy [1] είναι μια άλλη προσέγγιση που επιτρέπει την απρόσκοπτη 2FA χρησιμοποιώντας την επικοινωνία Bluetooth μεταξύ του υπολογιστή και του τηλεφώνου. Η Authy, ωστόσο, απαιτεί επιπλέον λογισμικό στον υπολογιστή. Ως εναλλακτική λύση για το Bluetooth, το πρόγραμμα περιήγησης και το τηλέφωνο μπορούν να επικοινωνούν μέσω WiFi [15]. Αυτή η προσέγγιση λειτουργεί μόνο όταν και οι δύο συσκευές βρίσκονται στο ίδιο δίκτυο. Οι Shirvanian [15] χρησιμοποιούν επιπλέον λογισμικό στον υπολογιστή για την εικονικοποίηση της ασύρματης διασύνδεσης και τη δημιουργία ενός σημείου πρόσβασης λογισμικού (AP) με το οποίο πρέπει να συσχετιστεί το τηλέφωνο. Ο χρήστης πρέπει να εκτελέσει αυτή τη διαδικασία εγκατάστασης κάθε φορά που χρησιμοποιεί έναν νέο υπολογιστή για να συνδεθεί. Η λύση τους απαιτεί επίσης μια εφαρμογή τηλεφώνου να ακούει εισερχόμενες συνδέσεις στο παρασκήνιο, κάτι που δεν είναι επί του παρόντος δυνατή στο ios. Τέλος, το πρόγραμμα περιήγησης και το τηλέφωνο μπορούν να επικοινωνούν μέσω NFC. Το υλικό NFC δεν
Προηγούμενες Προσπάθειες 17 βρίσκεται συνήθως σε υπολογιστές βασικών προϊόντων και τα τρέχοντα προγράμματα περιήγησης δεν εκθέτουν API για πρόσβαση στο NFC. Επιπλέον, μια λύση βασισμένη στο NFC δεν θα απομάκρυνε πλήρως την αλληλεπίδραση χρήστη-τηλεφώνου επειδή ο χρήστης θα χρειαζόταν ακόμα να κρατήσει το τηλέφωνό του κοντά στον υπολογιστή. Αναγνωρίζουμε ότι οι μηχανισμοί 2FA που χρησιμοποιούν άμεση επικοινωνία μεταξύ του προγράμματος περιήγησης και του τηλεφώνου μπορεί να παρέχουν πρόσθετη ασφάλεια έναντι απομακρυσμένων εισβολέων.για παράδειγμα, το τηλέφωνο μπορεί να εντοπίσει αν ο χρήστης προσπαθεί να συνδεθεί σε έναν ιστότοπο ηλεκτρονικού ψαρέματος (phishing) και να εμποδίσει την προσπάθεια [14, 35]. Το σχήμα στο [15] αντιστέκεται περαιτέρω εκτός σύνδεσης επιθέσεις λεξικού εναντίον κατεστραμμένων βάσεων δεδομένων με κωδικό πρόσβασης. Παρόλα αυτά, καμία από αυτές τις λύσεις δεν μπορεί να αναπτυχθεί για τους λόγους που συζητήσαμε παραπάνω 2.3.2 Πληροφορίες Τοποθεσίας Ο διακομιστής μπορεί να ελέγξει εάν ο υπολογιστής και το τηλέφωνο βρίσκονται σε άλλη θέση συγκρίνοντας τις συντεταγμένες GPS. Οι αισθητήρες GPS είναι διαθέσιμοι σε όλα τα σύγχρονα τηλέφωνα, αλλά είναι σπάνιοι σε υπολογιστές βασικών προϊόντων. Εάν ο υπολογιστής από τον οποίο συνδέεται ο χρήστης δεν διαθέτει αισθητήρα GPS, μπορεί να χρησιμοποιήσει το API γεωγραφικής κατανομής που εκτίθεται από ορισμένα προγράμματα περιήγησης [18]. Παρόλα αυτά, οι πληροφορίες που ανακτώνται μέσω του API γεωγραφικής κατανομής ενδέχεται να μην είναι ακριβείς, για παράδειγμα όταν η συσκευή βρίσκεται πίσω από ένα VPN ή είναι συνδεδεμένη σε ένα μεγάλο διαχειριζόμενο δίκτυο (όπως επιχειρηματικά ή πανεπιστημιακά δίκτυα). Επιπλέον, οι πληροφορίες γεωγραφικής κατανομής μπορούν εύκολα να υποτιμηθούν από έναν αντίπαλο. Για παράδειγμα, υποθέστε ότι ο αντίπαλος γνωρίζει τη θέση του χώρου εργασίας του θύματος και χρησιμοποιεί τη θέση αυτή ως τον δεύτερο παράγοντα επαλήθευσης ταυτότητας. Αυτή η επίθεση είναι πιθανό να επιτύχει κατά τη διάρκεια των ωρών εργασίας, δεδομένου ότι το θύμα υποτίθεται ότι βρίσκεται στο χώρο εργασίας του.
18 Θεωρητικό Υπόβαθρο 2.3.3 Άλλοι αισθητήρες Ένας μηχανισμός 2FA μπορεί να συνδυάσει τις μετρήσεις πολλών αισθητήρων που μετρούν τα χαρακτηριστικά περιβάλλοντος, όπως η θερμοκρασία, η συγκέντρωση αερίων στην ατμόσφαιρα, την υγρασία και το υψόμετρο, όπως προτείνεται στο [19]. Αυτές οι συνδυασμένες λεπτομέρειες αισθητήρων μπορούν να χρησιμοποιηθούν για να επαληθεύσουν τη γειτνίαση μεταξύ του υπολογιστή την οποία ο χρήστης προσπαθεί να συνδεθεί και το τηλέφωνό του. Ωστόσο, οι σημερινοί υπολογιστές και τα τηλέφωνα δεν διαθέτουν τους αισθητήρες υλικού που απαιτούνται για να λειτουργήσει μια τέτοια προσέγγιση. 2.3.4 Ήχοι περιβάλλοντος Ο δεύτερος παράγοντας επαλήθευσης του Sound-Proof είναι η εγγύτητα του τηλεφώνου του χρήστη με τον υπολογιστή που χρησιμοποιείται για την είσοδό του. Η εγγύτητα των δύο συσκευών προσδιορίζεται με υπολογισμό ενός βαθμού ομοιότητας μεταξύ του θορύβου περιβάλλοντος που συλλαμβάνεται από τα μικρόφωνα τους[3]. Για λόγους προστασίας προσωπικών δεδομένων δεν ανεβάζουμε δείγματα ήχου cleartext στο διακομιστή. Στο σχεδιασμό μας, ο υπολογιστής κρυπτογραφεί το ηχητικό δείγμα του κάτω από το δημόσιο κλειδί του τηλεφώνου. Το τηλέφωνο λαμβάνει το κρυπτογραφημένο δείγμα, το αποκρυπτογραφεί και υπολογίζει τη βαθμολογία ομοιότητας μεταξύ του ληφθέντος δείγματος και εκείνου που καταγράφεται τοπικά. Τέλος, το τηλέφωνο ενημερώνει το διακομιστή εάν οι δύο συσκευές είναι τοποθετημένες μαζί ή όχι. Σημειώστε ότι το τηλέφωνο δεν μεταφορτώνει ποτέ το εγγεγραμμένο δείγμα του στο διακομιστή. Η επικοινωνία μεταξύ του υπολογιστή και του τηλεφώνου γίνεται μέσω του διακομιστή. Αποφεύγουμε την επικοινωνία μικρής εμβέλειας μεταξύ του τηλεφώνου και του υπολογιστή (π.χ. μέσω Bluetooth), επειδή απαιτεί αλλαγές στο πρόγραμμα περιήγησης ή την εγκατάσταση ενός plugin. Ωστόσο περιπτώσεις όπως παρόμοια περιβαλλοντική επίθεση (το θύμα και ο αντίπαλος βρίσκονται σε παρόμοια περιβάλλοντα), επίθεση media (το θύμα και ο αντίπαλος έχουν πρόσβαση στον ίδιο ήχο πηγή από διαφορετικές τοποθεσίες) μπορούν να αφήσουν περιθώρια στον αντίπαλο για μια πιθανή επίθεση
Κίνητρα που μας οδήγησαν στην χρήση υπερήχων 19 2.3.5 Ανταλλαγή ήχων Συγκεκριμένα, το Listening-Watch1, είναι ένας μηχανισμός 2FA που βασίζεται σε μια φορητή συσκευή (ρολόι / βραχιόλι) και τυχαίους ήχους ομιλίας που παράγονται από τους περιηγητές (όχι οι ήχοι περιβάλλοντος)[4]. Σε αυτό, καθώς ο χρήστης επιχειρεί να συνδεθεί, το πρόγραμμα περιήγησης αναπαράγει ένα σύντομο τυχαίο κωδικό που κωδικοποιείται στην ανθρώπινη ομιλία και η σύνδεση επιτυγχάνεται εάν η ηχητική εγγραφή του ρολογιού περιέχει αυτόν τον κωδικό (αποκωδικοποιημένη μέσω τεχνολογίας αναγνώρισης ομιλίας) εγγραφή ήχου (δηλαδή, ηχογράφηση μέσω του μικροφώνου στο τερματικό σύνδεσης). Το Listening-Watch προσφέρει δύο βασικά χαρακτηριστικά ασφάλειας: (1) χρήση τυχαίου κωδικοποιημένου κώδικα στον ήχο για να αντέχει σε απομακρυσμένους εισβολείς και (2) χρήση μικροφώνου χαμηλής ευαισθησίας (που δεν μπορεί να αποτυπώσει απομακρυσμένους ήχους). Είναι σημαντικό για κάθε σύστημα ελέγχου ταυτότητας να αποτρέπονται οι επιθέσεις εγγύτητας προκειμένου να παρέχεται φυσική ασφάλεια.ωστόσο, μπορεί να υπάρχουν ορισμένα σενάρια που αφορούν υψηλό περιβάλλον θορύβου όπου το Listening-Watch ενδέχεται να μην είναι σε θέση να εξαγάγει κώδικα επαλήθευσης από τα δείγματα ήχου που καταγράφονται από το πρόγραμμα περιήγησης και το ρολόι. Μπορεί επίσης να υπάρχουν μερικοί σενάρια όπου μπορεί να μην είναι εφικτό για το πρόγραμμα περιήγησης να δημιουργήσει τον ήχο, για παράδειγμα, σε μια σιωπηρή ζώνη όπως μια βιβλιοθήκη, ένα νοσοκομείο ή συνάντηση. Ο χρήστης ενδέχεται να απενεργοποιήσει το ηχείο του τερματικού, να ρυθμίσει την ένταση του ήχου πολύ χαμηλά ώστε οι ήχοι ομιλίας να μην μπορούν να ληφθούν από το μικρόφωνο του ρολογιού ή επίσης να συνδέσετε ένα ακουστικό που απενεργοποιεί το πρόγραμμα περιήγησης ήχους ομιλίας. Σε τέτοια σενάρια, Listening-Watch απαιτεί από τον χρήστη να απενεργοποιήσει χειροκίνητα το ηχείο, να αποσυνδέσει το ακουστικό ή να ρυθμίσει την ένταση του ήχου στο επίπεδο έτσι ώστε το μικρόφωνο του ρολογιού να μπορεί να καταγράψει το ηχητικό σήμα (είτε πλήρης ένταση ή μέσο επίπεδο έντασης ήχου). 2.4 Κίνητρα που μας οδήγησαν στην χρήση υπερήχων Με αυτόν τον τρόπο, ύστερα από όλες αυτές τι έρευνες καταλήξαμε ότι ο καλύτερος τρόπος για seamless authentication είναι με την χρήση αποστολής και λήψης
20 Θεωρητικό Υπόβαθρο υπερήχων. Η μέθοδος αυτή ελαχιστοποιεί την αλληλεπίδραση χρηστών με το να μεταφέρει τον κωδικό επαλήθευσης από τον υπολογιστή στο τηλέφωνο χρησιμοποιώντας υπερήχους. Η ιδέα είναι να χρησιμοποιηθούν συχνότητες ραδιοσυχνοτήτων που δεν ακούγονται για την πλειοψηφία του πληθυσμού αλλά μπορούν να αναπαραχθούν από τους ομιλητές υπολογιστών βασικών προϊόντων (> 18kHz)[20]. Η χρήση μη ακουστικών συχνοτήτων εξυπηρετεί σενάρια όπου οι χρήστες ενδέχεται να μην θέλουν οι συσκευές τους να ακούγεται ο θόρυβος. Λόγω του μεγέθους τους, τα ηχεία των ηλεκτρονικών υπολογιστών βασικών προϊόντων μπορούν να παράγουν εξαιρετικά κατευθυντικές συχνότητες κοντά σε υπερήχους Χρησιμοποιώντας 2 arduino για την αποστολή και λήψη υπερήχων καταφέρνουμε με αποτελεσματικό, ασφαλή και οικονομικό τρόπο (καθώς εύκολα ενσωματώνεται στις συσκευές μας ) να πετύχουμε το seamless authentication και έτσι ένα καλύτερο user experience. Την υλοποίηση και το design της εφαρμογής θα την μελετήσουμε παρακάτω εκτενέστερα. Και καθώς μιλάμε για συσκευές (arduino) και τα αντικείμενα με ενσωματωμένους αισθητήρες συνδέονται σε ένα τοπικό δίκτυο με σκοπό να μοιραστούν κάποιες πληροφορίες σκόπιμο είναι να αναφερθούμε στην θεωρία πίσω από αυτή την λογική που λέγεται Internet of things 2.5 ΙΟΤ Σχήμα 2.2: Internet of things[21]
ΙΟΤ 21 2.5.1 Ιστορική αναδρομή στο Διαδίκτυο των Πραγμάτων Η ραγδαία εξέλιξη της τεχνολογίας και κατ επέκταση του διαδικτύου οδηγεί τον κόσμο προς μία συνεχώς διασυνδεδεμένη πραγματι κότητα. Το διαδίκτυο βρίσκετε σχεδόν παντού, είτε ενσύρματα είτε ασύρματα, και καθημερινώς όλο και περισσότερες συσκευές συνδέονται στο διαδίκτυο. Αυτή η ανάπτυξη της συγκεκριμένης τεχνολογίας, μεγα λώνει σε σημασία και μέσω της εξάπλωσης και των νέων τρόπων αξιοποίη σης του δημιουργείται επιπρόσθετη αξία. Η ιστορία του διαδικτύ ου ξεκινά με το Διαδίκτυο των Υπολογιστών, ένα παγκόσμιο δίκτυο που παρείχε υπηρεσίες όπως ο Παγκόσμιος Ιστός. Η ραγδαία εξέλιξη που ακο λούθησε μας έφερε στο Διαδίκτυο των ανθρώπων, δημιουργώντας έτσι νέες έννοιες όπως το Κοινωνικό δίκτυο (Web 2.0) στο οποίο παράγεται περιεχόμενο από ανθρώπους ώστε να καταναλωθεί από ανθρώπους, με σύνδεση στο διαδίκτυο. Σημαντικά στοιχεία που αποδεικνύουν την ρα γδαία εξέλιξη του διαδικτύου των ανθρώπων είναι η τεράστια απήχηση που έχουν τα κοινωνικά δίκτυα που φιλοξενούνται στο διαδίκτυο, για παράδειγμα το Facebook με τους 2.2 δισεκατομμύρια χρήστες στο τέλος του 2017. Τα όρια του Διαδικτύου, διευρύνονται καθημερινά σε συνδυασμό με την τεχνολογική πρόοδο που καθιστά επιτρεπτή την πρόσβαση σε αυτό από όλο και περισσότερα σημεία με όλο και μικρότερο κόστος. Επιπλέον, η επεξεργαστική ισχύς καθώς και η χωρητικότητα των συσκευών συνε χώς αυξάνονται αντιστρόφως ανάλογα με το μέγεθος τους. Όλο αυτό πέρα από το γεγονός ότι αλλάζει την φύση των συσκευών που οι άνθρω ποι χρησιμοποιούν για να συνδέονται στο διαδίκτυο, δημιουργεί και σημα ντικές νέες ευκαιρίες και εφαρμογές. Οι συσκευές αυτές απαρτίζονται από αισθητήρες και actuators ενώνοντας έτσι τον φυσικό κόσμο με τον κυβερνοχώρο. Ο συνδυασμός όλων των παραπάνω δημιουργεί μια νέα έν νοια για το Διαδίκτυο, το Διαδίκτυο των Πραγμάτων (Internet of Things - IoT). Η έννοια του Διαδικτύου των Πραγμάτων χρονολογείται από το 1982, όταν ένας αυτόματος πωλητής συνδεόταν στο διαδίκτυο για να αναφέρει τα ποτά που απομένουν καθώς και την θερμοκρασία τους. Το 1991, ένα σύγχρονο όραμα για το ΙοΤ διατυπώθηκε από τον Mark Weiser. Ωστόσο, το 1999 ο Bill Joy μας εισήγαγε στον όρο επικοινωνία συσκευής με συσκευή (device to device communication) και τον ίδιο χρόνο ο Kevin Ashton πρότεινε τον όρο Internet of Things για να περιγράψει ένα σύστημα διασυνδεδεμένων συσκευών. Τα τελευταία χρόνια, ο όρος Διαδίκτυο των
22 Θεωρητικό Υπόβαθρο Πραγμάτων έχει εξαπλωθεί γρήγορα. Μέχρι το 2005 εί χε αρχίσει να εμφανίζεται σε τίτλους βιβλίων και το 2008 διεξήχθη το πρώτο επιστημονικό συνέδριο με θέμα τον συγκεκριμένο τομέα. Το διαδίκτυο των πραγμάτων θα αλλάξει τα πάντα, ακόμα και εμάς. Το διαδίκτυο έχει αντίκτυπο στην εκπαίδευση, τις επικοινωνίες, την επιστήμη, την κυβέρνηση και την ανθρωπότητα. Είναι ξεκάθαρο ότι το ίντερνετ αποτελεί μια από τις πιο σημαντικές δημιουργίες σε όλη την αν θρώπινη ιστορία και πλέον με την έννοια του Internet of Things μας δίνε ται η δυνατότητα να απολαμβάνουμε μία πιο έξυπνη ζωή σε όλο το εύ ρος της. Μέσω της νέας αυτής τεχνολογίας τα αντικείμενα που θα είναι συνδεδεμένα στο διαδίκτυο θα αναγνωρίζονται και θα αποκτούν συμπερι φορά νοημοσύνης. Κάτι τέτοιο θα είναι εφικτό καθώς τα αντικείμενα θα μπορούν να επικοινωνήσουν μεταξύ τους και να ανταλλάξουν δεδομένα για την κατάσταση τους και την λειτουργία τους. Με την εξέλιξη της τεχνολογίας του ΙοΤ, η δοκιμή και η ανάπτυξη προϊόντων θα μας φέρει πολύ κοντά στην ανάπτυξη έξυπνων περιβαλλόντων μέχρι το 2020. Στο εγγύς μέλλον η αποθήκευση και οι υπηρεσίες επικοινωνίας θα είναι πολύ διαδεδομένες. Άνθρωποι, μηχανές, έξυ πνα αντικείμενα, ο περιβάλλων χώρος και πλατφόρμες διασυνδεδεμένες με ασύρματους ή ενσύρματους αισθητήρες, Machine to Machine (M2M) συσκευές και RFID ετικέτες θα μπορούν να δημιουργήσουν ένα δίκτυο δικτύων (network of networks). 2.5.2 Πρότυπα και πρωτόκολλα ΙοΤ Στο όραμα του Διαδικτύου των Πραγμάτων, το διαδίκτυο εξαπλώνεται πέρα από τον πυρήνα του. Αυτή η τεράστια ανάπτυ ξη φέρνει τόσο συναρπαστικές δυνατότητες όσο και προκλήσεις στο Διαδίκτυο, όπως το πως θα ενσωματωθούν απρόσκοπτα οι διάφορες συσκευές και οι σένσορες στον παγκόσμιο ιστό. Ένας τρόπος για την ομαλή ενοποίηση του κυβερνο-κόσμου και του φυσικού κόσμου είναι η επαναχρησιμοποίηση των υφιστάμενων τεχνολογιών και προτύπων στον παγκόσμιο ιστό, όσο το δυνατόν περισσότερο. Αυτή την τάση έρευνας την αντιμετωπίζει το Διαδί κτυο των Αντικειμένων ως το Διαδίκτυο των πραγμάτων (Web of Things, WoT). Στο WoT, οι συσκευές δεν έχουν απλά μία ΙΡ ώστε να είναι συνδεδεμένες στο διαδίκτυο, αλλά έχουν την δυνατότητα να μιλούν και την ίδια γλώσσα και έτσι είναι σε θέση να επικοινω νούν
ΙΟΤ 23 και να αλληλεπιδρούν ελεύθερα στον Παγκόσμιο Ιστό. Προ κειμένου να υλοποιηθεί αυτό το όραμα, πρέπει να διεξαχθεί εκ νέου σχεδιασμός και βελτιώσεις στην κωδικοποίηση ωφέλιμου φορτίου και στα πρωτόκολλα εφαρμογής, ώστε να ικανοποιηθούν οι ειδικές απαιτήσεις των εφαρμογών μηχανής προς μηχανή (Machine to Machine, M2M) σε περιορισμένα περιβάλλοντα του διαδικτύου των πραγμάτων. 2.5.3 Πώς λειτουργεi Ακριβώς όπως το Διαδίκτυο έχει αλλάξει τον τρόπο με τον οποίο εργαζόμαστε και επικοινωνούμε μεταξύ μας, συνδέοντας μας μέσω του Διαδικτύου (Internet), το IoT στοχεύει επίσης να πάρει αυτή τη συνδεσιμότητα σε ένα άλλο επίπεδο, συνδέοντας πολλαπλές συσκευές ταυτόχρονα με το Διαδίκτυο διευκολύνοντας έτσι τον άνθρωπο στις μηχανές και τις μηχανές στις μηχανές αλληλεπιδράσεων. Οι άνθρωποι που κατέληξαν σε αυτήν την ιδέα, έχουν επίσης συνειδητοποιήσει ότι αυτό το οικοσύστημα του Διαδικτύου δεν περιορίζεται σε ένα συγκεκριμένο τομέα, αλλά έχει επιχειρηματικές εφαρμογές σε τομείς αυτοματισμού σπιτιού, αυτοματισμού αυτοκινήτων, αυτοματοποίησης εργοστασιακών γραμμών, ιατρικής, λιανικής, υγειονομικής περίθαλψης κ.α. Στοιχεία Διασύνδεσης Εδώ, τέσσερα θεμελιώδη συστατικά του συστήματος IoT[22], τα οποία μας λένε πώς λειτουργεί το IoT. i. Αισθητήρες / Συσκευές Πρώτον, αισθητήρες ή συσκευές βοηθούν στη συλλογή πολύ λεπτών δεδομένων από το περιβάλλον. Όλα αυτά τα δεδομένα που συλλέγονται μπορούν να έχουν διάφορους βαθμούς πολυπλοκότητας που κυμαίνονται από έναν απλό αισθητήρα παρακολούθησης της θερμοκρασίας ή από ένα σύνθετο πλήρες τροφοδοτικό βίντεο. Μια συσκευή μπορεί να έχει πολλούς αισθητήρες που μπορούν να συσσωρεύονται μαζί για να κάνουν περισσότερα από ό, τι ακριβώς αισθάνονται τα πράγματα. Για παράδειγμα, το τηλέφωνό μας είναι μια συσκευή που διαθέτει πολλούς αισθητήρες, όπως GPS, επιταχυνσιόμετρο, κάμερα, αλλά το τηλέφωνό μας δεν αισθάνεται απλά πράγματα.
24 Θεωρητικό Υπόβαθρο Το πιο στοιχειώδες βήμα θα παραμείνει πάντοτε να μαζεύει και να συλλέγει δεδομένα από το περιβάλλον, είτε πρόκειται για αυτόνομο αισθητήρα είτε για πολλαπλές συσκευές. ii. Συνδεσιμότητα Στη συνέχεια, τα δεδομένα που συλλέγονται αποστέλλονται σε μια υποδομή cloud, αλλά χρειάζονται ένα μέσο για τη μεταφορά. Οι αισθητήρες μπορούν να συνδεθούν με το νέφος μέσω διαφόρων μέσων επικοινωνίας και μεταφορών όπως κυψελοειδή δίκτυα, δορυφορικά δίκτυα, Wi-Fi, Bluetooth, δίκτυα ευρείας περιοχής (WAN), δίκτυο ευρείας περιοχής χαμηλής ισχύος και πολλά άλλα. Κάθε επιλογή που επιλέγουμε έχει κάποιες προδιαγραφές και συμβιβασμούς μεταξύ της κατανάλωσης ενέργειας, της εμβέλειας και του εύρους ζώνης. Επομένως, η επιλογή της καλύτερης δυνατότητας συνδεσιμότητας στο σύστημα IOT είναι σημαντική. iii. Επεξεργασία δεδομένων Μόλις συλλεχθούν τα δεδομένα και φτάσει στο σύννεφο, το λογισμικό εκτελεί επεξεργασία στα δεδομένα που αποκτήθηκαν. Αυτό μπορεί να κυμαίνεται από κάτι πολύ απλό, όπως ο έλεγχος ότι η ανάγνωση θερμοκρασίας σε συσκευές όπως AC ή θερμαντήρες βρίσκεται εντός αποδεκτού εύρους. Μπορεί μερικές φορές να είναι επίσης πολύ περίπλοκο, όπως η ταυτοποίηση αντικειμένων (όπως εισβολείς στο σπίτι σας) χρησιμοποιώντας την όραση στον υπολογιστή με βίντεο. Αλλά μπορεί να υπάρχει μια κατάσταση όπου απαιτείται μια αλληλεπίδραση με το χρήστη, για παράδειγμα, τι εάν όταν η θερμοκρασία είναι πολύ υψηλή ή εάν υπάρχει κάποιος εισβολέας στο σπίτι σας; Εκεί ο χρήστης μπαίνει στην εικόνα. iv. Διασύνδεση χρήστη Στη συνέχεια, οι πληροφορίες που παρέχονται στον τελικό χρήστη με κάποιο τρόπο. Αυτό μπορεί να επιτευχθεί ενεργοποιώντας συναγερμούς στα τηλέφωνά τους ή ειδοποιώντας μέσω κειμένων ή μηνυμάτων ηλεκτρονικού ταχυδρομείου. Επίσης, ένας χρήστης μπορεί μερικές φορές να έχει επίσης μια διεπαφή μέσω της οποίας μπορεί να ελέγχει ενεργά το σύστημα IOT. Για παράδειγμα, ένας χρήστης
ΙΟΤ 25 έχει μια κάμερα εγκατεστημένη στο σπίτι του, ίσως θελήσει να ελέγξει τις εγγραφές βίντεο και όλες τις τροφοδοσίες μέσω ενός διακομιστή ιστού. Ωστόσο, δεν είναι πάντα τόσο εύκολο και μονόδρομο. Ανάλογα με την εφαρμογή IoT και την πολυπλοκότητα του συστήματος, ο χρήστης μπορεί επίσης να είναι σε θέση να εκτελέσει μια ενέργεια που μπορεί να αποτρέψει και να επηρεάσει το σύστημα. Για παράδειγμα, εάν ένας χρήστης εντοπίσει κάποιες αλλαγές στο ψυγείο, ο χρήστης μπορεί να ρυθμίσει από απόσταση την θερμοκρασία μέσω του τηλεφώνου του. Υπάρχουν επίσης περιπτώσεις όπου κάποιες ενέργειες εκτελούνται αυτόματα. Με τον καθορισμό και την εφαρμογή ορισμένων προκαθορισμένων κανόνων, ολόκληρο το σύστημα IOT μπορεί να προσαρμόσει τις ρυθμίσεις αυτόματα και κανένας άνθρωπος δεν πρέπει να είναι φυσικός. Επίσης σε περίπτωση που ανιχνευθούν εισβολείς, το σύστημα μπορεί να δημιουργήσει μια ειδοποίηση όχι μόνο στον ιδιοκτήτη του σπιτιού αλλά στις αρμόδιες αρχές. 2.5.4 Αποθήκευση και ανάλυση δεδομένων Μία πρόκληση για τους παραγωγούς τεχνολογικών συστημάτων IoT είναι η διαχείριση και η ερμηνεία του τεράστιου όγκου πληροφοριών που παράγουν οι συσκευές λόγω της συνεχούς επικοινωνίας με το δίκτυο (streaming data)[23]. Μία άλλη πρόκληση είναι η αποθήκευση των τεράστιων παραγόμενων δεδομένων. Σε αρκετές περιπτώσεις τα συστήματα απαιτούν μεγάλο όγκο πληροφοριών με αποτέλεσμα υψηλές απαιτήσεις για αποθηκευτικό χώρο. Στην σημερινή εποχή, το διαδίκτυο είναι υπεύθυνο για την παραγωγή του 5 % της παραγωγής ηλεκτρικού ρεύματος ενώ υπάρχει κίνδυνος να αυξηθεί εάν αρχίσει η καθολική εφαρμογή του ΙοΤ ανά τον κόσμο[24]. 2.5.5 Χρησιμότητα Η μετάβαση στην ψηφιακή εποχή είναι γεγονός. Η χρησιμότητα του IoT είναι μεγάλη και η ζήτηση από τους υποψήφιους αγοραστές ακόμα μεγαλύτερη. Ως επί το πλείστον, οι άνθρωποι αναζητούν την αυτονομία σε πολλά πράγματα γύρω τους. Από ένα αυτόματο ξυπνητήρι μέχρι το έξυπνο ψυγείο που ενημερώνει το χρήστη για βασικές ελλείψεις ή ακόμα και την δυνατότητα ενεργοποίησης κλιματισμού πριν ακόμα ο χρήστης εισέλθει στο σπίτι. Είναι μερικές από τις δυνατότητες που προσφέρει το IoT.
26 Θεωρητικό Υπόβαθρο Η χρήση του δεν παραμένει μόνο εκεί, αλλά επεκτείνετε και στις επιχειρήσεις οι οποίες εκμεταλλεύονται την δυνατότητα αποθήκευσης και επεξεργασίας των δεδομένων από cloud συστήματα[25] [26]. Γιατί χρειαζόμαστε IoT; Βασικά, το IoT είναι μια εξέλιξη για κινητές, οικιακές και ενσωματωμένες εφαρμογές που συνδέονται με το Διαδίκτυο, για την ενσωμάτωση της επικοινωνίας[27]. Με τη χρήση αναλυτικών δεδομένων, αυτές οι συσκευές παράγουν σημαντικές πληροφορίες. Αυτές οι συσκευές μοιράζονται τα δεδομένα στο σύννεφο και την αναλύουν με ασφαλή τρόπο και επομένως οι επιχειρήσεις μας μεταμορφώνονται εξαιρετικά με πολλούς τρόπους. Πολλοί τομείς υιοθετούν την τεχνολογία λύσεων διαδικτύου των πραγμάτων για να βελτιώσουν τα υπάρχοντα συστήματα τους. Όπως ένα Κέντρο Υγείας χρησιμοποίησε συσκευές IoT για να βελτιώσει τα ιατρικά τους αποτελέσματα, έτσι και στην βιομηχανία το χρησιμοποίησεγια ταχύτερα και καλύτερα προϊόντα με χαμηλό κόστος ανάπτυξης και συντήρησης, καθιστώντας τις αγορές πιο ευχάριστες κάνοντας ακριβείς προτάσεις κλπ. Το IoT διαδραματίζει σημαντικό ρόλο στις σημερινές επιχειρήσεις με την ομαλή διαχείριση των εσωτερικών διαδικασιών και την παροχή ευκολίας για κάθε εργασία. Ας εξετάσουμε ορισμένες από τις μεγάλες βιομηχανίες για να κατανοήσουν προσεκτικά τις ανάγκες της. Μεταφορές Βιομηχανία Στον τομέα των μεταφορών, υπάρχει μεγάλη ανάγκη για ένα έξυπνο σύστημα που να διαχειρίζεται πόρους με σωστούς τρόπους. Ας εξετάσουμε μια έξυπνη κάμερα κυκλοφορίας, μπορεί να παρακολουθεί την οδική κυκλοφορία και να διατηρεί κομμάτια ατυχημάτων, συμφόρησης, καιρικών συνθηκών και επικοινωνεί με άλλες έξυπνες κάμερες για να μοιράζονται αυτά τα δεδομένα μαζί τους. Τα συνολικά καταγεγραμμένα δεδομένα συνδυάζονται και συγκεντρώνονται στο σύστημα κυκλοφορίας της πόλης. Τώρα, αν αυτά τα δεδομένα πρόκειται να μοιραστούν με το σύστημα κυκλοφορίας άλλης πόλης που μοιράζεται και τα δικά τους δεδομένα με τη βοήθεια του συστήματος πληροφοριών, φανταστείτε πόσο μεγάλο θα είναι το
ΙΟΤ 27 σύστημα του συστήματος με απίστευτο όγκο δεδομένων. Ιατρικές Βιομηχανίες Οι ιατρικές βιομηχανίες πρέπει να είναι πιο προχωρημένες και ως εκ τούτου χρησιμοποιούν ήδη εργαλεία που βασίζονται σε IoT. Με τη βοήθεια εργαλείων Διασύνδεσης IoT, οι γιατροί μπορούν να παρακολουθούν τον ασθενή εξ αποστάσεως και να παρέχουν φάρμακα βάσει πληροφοριών που εντοπίζονται. Για παράδειγμα, υπάρχει ένας ασθενής στο σπίτι, είναι σε συνεχή υποστήριξη της ζωής και όλα τα θέματα υγείας του καταγράφονται πλήρως σε ένα σύστημα σύννεφο. Σε μια κατάσταση έκτακτης ανάγκης, οι γιατροί θα μπορούσαν να είναι προετοιμασμένοι για να αντιμετωπίσουν την κατάσταση τους ασθενούς καθώς έχουν ήδη πλήρη καταγραφή. Επίσης, το νοσοκομείο μπορεί να αποστείλει το ασθενοφόρο στην τοποθεσία του ασθενούς. Οι γιατροί δεν απαιτούν πολύ χρόνο για να κατανοήσουν την ιατρική κατάσταση του ασθενούς επειδή γνωρίζουν ήδη τις απαιτούμενες ενέργειες που μπορούν να σώσουν πολύ χρόνο και προσπάθειες. Βιομηχανοποίηση Η ιδέα πίσω από τη χρήση εργαλείων IoT στη μεταποιητική βιομηχανία είναι η προσάρτηση αισθητήρων στις συσκευές τους και η συλλογή δεδομένων από τους πελάτες. Αυτά τα δεδομένα μπορούν να χρησιμοποιηθούν για να καθοδηγήσουν τους χρήστες για προληπτική συντήρηση των περιουσιακών στοιχείων. Ο κλάδος δεν μπορεί μόνο να αναλύσει τον τρόπο με τον οποίο χρησιμοποιούνται τα προϊόντα του, αλλά επίσης καθορίζει τα πρότυπα χρήσης. Οι μεταποιητικές βιομηχανίες υιοθετούν εργαλεία διασύνδεσης για να αυξήσουν την αποτελεσματικότητά τους, που τους βοηθά στις καθημερινές τους λειτουργίες και τους διευκολύνει να βελτιστοποιήσουν την ποιότητα παραγωγής τους και προσφέρει επίσης υψηλή ασφάλεια. Φιλοξενία Για να βελτιωθεί η ταξιδιωτική εμπειρία των πελατών με τη φιλοξενία του IoT, η βιομηχανία βελτιστοποιεί επίσης τις εμπειρίες του IoT για να κάνουν τις υπηρεσίες τους πιο άνετες για τους επισκέπτες. Στα ξενοδοχεία, το ID ανίχνευσης προσώπου παρέχεται στους πελάτες, έτσι ώστε το προσωπικό του ξενοδοχείου να μπορεί να αναγνωρίσει τον πελάτη πριν από την άφιξή του.
28 Θεωρητικό Υπόβαθρο Στο εγγύς μέλλον του Διαδικτύου, υπάρχουν πιθανότητες τα ξενοδοχεία να μπορούν να εξοπλίσουν τα δωμάτιά τους με αισθητήρες και κάμερες αναγνώρισης συναίσθημάτων για να συλλάβουν τα συναισθήματα των πελατών π.χ. αν ο πελάτης είναι πεινασμένος, μπορεί να συστήσει για γεύματα. Όχι μόνο αυτοί οι τομείς, αλλά οι λιανοπωλητές, οι βιομηχανίες πετρελαίου και φυσικού αερίου, οι κατασκευαστικοί κλάδοι, οι χρηματοπιστωτικοί τομείς στηρίζονται επίσης σε IoT για να κάνουν τις εσωτερικές τους διαδικασίες ομαλές και ταχύτερες. Κάθε επιχείρηση μπορεί να μεγιστοποιήσει τα έσοδά της, αποκτώντας γρήγορη γνώση των δεδομένων του πελάτη για να ενεργοποιήσει ειδοποιήσεις up-sell και cross-sell. Αυτά είναι μερικά παραδείγματα IoT και μπορείτε να φανταστείτε την πιθανή αξία του IoT με άλλα συστήματα. Η πραγματική ανάγκη του IoT είναι να κάνει έξυπνες επικοινωνίες με τα υπάρχοντα συστήματα και να ενημερώσει όλους για τις διαθέσιμες πληροφορίες 2.5.6 Οφέλη από το Διαδίκτυο Το IoT θεωρείται η μεγαλύτερη ανακάλυψη που μπορεί να βελτιώσει τη ζωή μας σε πολλές πτυχές. Οι συσκευές που δεν έχουν συνδεθεί ποτέ στο δίκτυο μπορούν να συνδεθούν και να ανταποκριθούν όπως ακριβώς κάνουν οι έξυπνες συσκευές, π.χ. το αυτοκίνητο, το ψυγείο και τα ηχεία σας. Το IoT πρόκειται να μεταμορφώσει τον κόσμο μας εντελώς. Ας ρίξουμε μια ματιά στα ακόλουθα οφέλη της IoT σύμφωνα με την επιχειρηματική προοπτική 1. Αποτελεσματική χρήση των πόρων 2. Μειωμένες ανθρώπινες προσπάθειες 3. Μειώνει το κόστος και φέρνει παραγωγικότητα 4. Μάρκετινγκ σε πραγματικό χρόνο 5. Ανάλυση αποφάσεων 6. Καλύτερες εμπειρίες πελατών 7. Δεδομένα υψηλής ποιότητας
ΙΟΤ 29 2.5.7 Ασφάλεια Το IoT αποτελεί την τελευταία λέξη της τεχνολογίας. Ως εκ τούτου, βρίσκεται σε ένα στάδιο συνεχούς αναβάθμισης και βελτίωσης. Ένα ακόμα σημαντικότατο προβλήματα που αντιμετωπίζει είναι η ασφάλεια των δεδομένων που αποθηκεύει. Σύμφωνα με την έρευνα Business Insider Intelligence που διεξήχθη το τελευταίο τρίμηνο του 2014, το 39 % των ερωτηθέντων δήλωσε ότι η ασφάλεια είναι η μεγαλύτερη ανησυχία για την υιοθέτηση του IoT. Μέχρι το 2008, οι ερευνητές στον τομέα της ασφάλειας είχαν δείξει την ικανότητα να ελέγχουν εξ αποστάσεως τους βηματοδότες χωρίς φυσικά ενεργητική εξουσία. Οι μεταγενέστεροι hacker επέδειξαν απομακρυσμένο έλεγχο των αντλιών ινσουλίνης[28]. 2.5.8 Προσωπικά δεδομένα Τα προσωπικά δεδομένα είναι οι πληροφορίες που επεξεργάζεται το IoT για το σύνολο των συνδεδεμένων συσκευών. Ορισμένες από τις πληροφορίες αυτές μπορεί να είναι αυστηρά προσωπικές (συστήματα παρακολούθησης, πληροφορίες υγείας) άλλες λιγότερο (έξυπνοι λαμπτήρες). Το βέβαιο είναι πως ο χρήστης θα πρέπει να νιώθει ασφάλεια για κάθε πληροφορία που μοιράζεται με την νέα αυτή τεχνολογία [26].
30 Θεωρητικό Υπόβαθρο
Κεφάλαιο 3 Σχεδίαση και Ανάπτυξη Μηχανισμού 3.1 Σχεδίαση Μηχανισμού Σχήμα 3.1: Αρχιτεκτονική του Συστήματος Βήμα 1: O client 2 παρέχει το όνομα χρήστη και τον κωδικό πρόσβασης στον server. Βήμα 2 : Ο server επαληθεύει την εγκυρότητα του ονόματος χρήστη και του κωδικού πρόσβασης και στη συνέχεια παράγει έναν τυχαίο κωδικό επαλήθευσης και το στέλνει στον client 1. Βήμα 3: Ο client 1 στέλνει τον κωδικό επαλήθευσης στον client 2. Βήμα 4: Ο client 2 στέλνει στον server τον κωδικό επαλήθευσης και αυτος (server) αποφασίζει για τον αν αποδέχεται / απορρίπτει τον έλεγχο ταυτότητας. 31
32 Σχεδίαση και Ανάπτυξη Μηχανισμού Σχήμα 3.2: Αρχιτεκτονική του Συστήματος για την δική μας εφαρμογή Τα συγκεκριμένα βήματα που ακολουθήθηκαν στη διαδικασία ελέγχου ταυτότητας περιγράφονται παρακάτω. Βήμα 1: Ο χρήστης παρέχει το όνομα χρήστη και τον κωδικό πρόσβασης για να συνδεθεί με την ιστοσελίδα, η οποία στη συνέχεια διαβιβάζεται στο διακομιστή. Βήμα 2 κσι 3: Ο διακομιστής επαληθεύει την εγκυρότητα του ονόματος χρήστη και του κωδικού πρόσβασης και στη συνέχεια παράγει έναν τυχαίο κωδικό επαλήθευσης. Βήμα 4 και 5: Ο διακομιστής στέλνει τον κώδικα επαλήθευσης, στο smartwatch και ενεργοποιεί το πρόγραμμα περιήγησης για αναπαραγωγή υπερήχου καθώς και ένα άλλο μήνυμα για να αρχίσει ταυτόχρονα και η ηχογράφηση από τον υπολογιστή. Καθώς ο διακομιστής δεν μπορεί να επικοινωνήσει απευθείας με το το ρολόι του χρήστη, ο διακομιστής επικοινωνεί πρώτα με το smartphone του χρήστη, το οποίο με τη σειρά του στέλνει το ρολόι εγγραφής ήχου στο ρολόι. Βήμα 5: Ο υπολογιστής λαμβάνοντας τον υπέρηχο από το smartwatch το στέλνει στον server. Βήμα 6: Ο server έχοντας τον αρχικό κωδικό που έστειλε στο smartwatch και
Λειτουργία Μηχανισμού 33 το τελικό από τον υπολογιστή συγκρίνει τα 2 αυτά μηνύματα. Βήμα 8: Με βάση την σύγκριση των δύο κωδικών ο server αποφασίζει αν αποδέχεται / απορρίπτει τον έλεγχο ταυτότητας. 3.2 Λειτουργία Μηχανισμού Άρτια λειτουργία του μηχανισμού Ο χρήστης μπαίνει στην σελίδα του login και βάζει με την πρώτη φορά επιτυχώς τα στοιχεία του στην φόρμα. Ο server αφου επαληθεύει ότι όντως είναι έγκυρα τα στοιχεία του χρήστη (όνομα και κωδικός) παράγει έναν τυχαίο κωδικό επαλήθευσης. Αυτόν τον κωδικό ο server τον στέλνει επιτυχώς στο smartwatch (επιτυχής επικοινωνία server-smartwatch) και ενεργοποιεί την αναπαραγωγή υπερήχου (απο το smartwatch ) καθώς και την διαδικασία ηχογράφησης από τον υπολογιστή (επιτυχής επικοινωνία server - υπολογιστή). Ο υπολογιστής επικοινωνεί επιτυχώς με το smartwatch καθώς λαμβάνει τον κωδικό και τον στέλνει στον server (επιτυχής επικοινωνία υπολογιστήserver). Ο server έχοντας το αρχικό κείμενο που έστειλε στο smartwatch και το τελικό από τον υπολογιστή συγκρίνει τα 2 αυτά μηνύματα και με βάση βάση την σύγκριση των δύο κειμένων ο server αποφασίζει αν αποδέχεται / απορρίπτει τον έλεγχο ταυτότητας. Σενάρια κακής λειτουργίας του μηχανισμου α)ο χρήστης να μην καταφερει να βάλει τα στοιχεία του (είτε όνομα χρήστη είτε κωδικό) Στην περίπτωση όπου χρήστης είναι στην σελίδα του login και δεν βάλει σωστά κάποια από τα στοιχεία του (όνομα χρήστη ή κωδικό) τότε δεν θα καταφέρει να πραγματοποιήσει την άρτια λειτουργία του μηχανισμού καθώς η διαδικασία δεν θα ολοκληρωθεί με την πρώτη προσπάθεια. Σε αυτό το σημείο η σελίδα θα συνεχίζει να του ζητάει να συμπληρώσει σωστά την φόρμα με τα στοιχεία του και κάθε φορά θα του βγάζει το ανάλογο μήνυμα (είτε ότι δεν υπάρχει το όνομα χρήστη, όποτε ή πρεπει να το πληκτρολογήσει σωστά ή όντως να κάνει εγγραφή είτε ο κώδικάς που βάζει είναι σωστός οπότε να τον πληκτρολογήσει σωστά). Δεν υπάρχει κάποιο όριο στις προσπάθειες οπότε αυτό θα συνεχίζεται μέχρι ο χρήστης να παρέχει τα σωστά στοιχεία του.
34 Σχεδίαση και Ανάπτυξη Μηχανισμού β)να χαθεί η επικοινωνία μεταξύ τους i) μεταξύ υπολογιστή-server, server-υπολογιστή Στην περίπτωση αυτή ο χρήστης έχει κάνει επιτυχημένα login και χάνεται το σήμα του internet είτε όταν ο server προσπαθεί να στείλει στον υπολογιστή το μήνυμα για να ξεκινήσει την ηχογράφηση είτε όταν ο υπολογιστής θέλει να στείλει στον server το μήνυμα αφού το έχει λάβει απο το smartwatch. Τότε τότε ο χρήστης θα μεταβιβαστεί στην σελίδα να συνεχίσει την διαδικασία μέσω του τυπικού σεναρίου. ii) μεταξύ server-smartwatch Στην περίπτωση αυτή ο χρήστης έχει κάνει επιτυχημένα login και χάνεται το σήμα του internet όταν ο server προσπαθεί να στείλει στο smartwatch το μήνυμα για να ξεκινήσει η αναπαραγωγή υπερήχου. Τότε θα έχει οριστεί ότι όταν το smartwatch λαμβάνει αυτή την πληροφορία μεταξύ 5 δευτερολέπτων να στέλνει ένα μήνυμα στον server ότι έλαβε επιτυχώς το μήνυμα και συνεχίζει κανονικά την αναπαραγωγή υπερήχου. Απο την στιγμή που ξεπεραστεί αυτός ο χρόνος και ο server δεν έχει λάβει κάποιο μήνυμα πίσω τότε θα μεταβιβάσει τον χρήστη στην σελίδα να συνεχίσει την διαδικασία μέσω του τυπικού σεναρίου. iii) μεταξύ smartwatch- υπολογιστή Στην περίπτωση αυτή ο χρήστης έχει κάνει επιτυχημένα login ο server έχει στείλει και το μήνυμα στο smartwatch για να ξεκινήσει επιτυχώς η αναπαραγωγή υπερήχου αλλά και το μήνυμα στον υπολογιστή για να αρχίσει την ηχογράφηση αλλά ο υπολογιστής δεν λαμβάνει τον υπέρηχο απο το smartwatch. Τότε θα έχει οριστεί ότι όταν το smartwatch λαμβάνει αυτή την πληροφορία σε χρόνο 10 δευτερολέπτων ο υπολογιστής να πρέπει να στείλει το μήνυμα στον server.. Απο την στιγμή που ξεπεραστεί αυτός ο χρόνος και ο server δεν έχει λάβει κάποιο μήνυμα πίσω τότε θα στείλει έναν κωδικό στο email του χρήστη και θα του ζητήσει να συμπληρώσει αυτόν τον κωδικό στην επόμενη σελίδα μετά το login. γ) ο χρήστης να μην φοράει το smartwatch Στην περίπτωση αυτή ο χρήστης είτε έχει ξεχάσει να φοράει το smartwatch είτε μπορεί να το έχει χάσει ή ακόμα να του το έχουν κλέψει ακόμα. Κάνοντας επιτυχημένα login ο server θα στείλει το μήνυμα στο smartwatch για να ξεκινήσει επιτυχώς η
Εξοπλισμός υλικού 35 αναπαραγωγή υπερήχου αλλά και το μήνυμα στον υπολογιστή για να αρχίσει την ηχογράφηση. Το smartwatch θα λάβει τον κωδικό θα ξεκινήσει την αναπαραγωγή αλλά ο υπολογιστής δεν λαμβάνει τον υπέρηχο διότι είναι πολύ μακριά. Τότε και σε αυτή την περίπτωση ενεργοποιείται το σενάριο όπου χάνεται η επικοινωνία μεταξύ smartwatchυπολογιστή. 3.3 Εξοπλισμός υλικού 3.3.1 Arduino Το Arduino είναι μια ηλεκτρονική πλατφόρμα ανοικτού κώδικα βασισμένη σε εύχρηστο υλικό και λογισμικό[29]. Οι πίνακες Arduino είναι σε θέση να διαβάζουν εισόδους - φως σε έναν αισθητήρα, ένα δάκτυλο σε ένα κουμπί ή ένα μήνυμα Twitter - και να το μετατρέπουν σε έξοδο - ενεργοποιώντας έναν κινητήρα, ενεργοποιώντας ένα LED, δημοσιεύοντας κάτι online.η πλακέτα μπορεί να ελεχθεί στέλνοντας ένα σύνολο οδηγιών στον μικροελεγκτή του πίνακα. Για να γίνει αυτό, γίνεται χρήση της γλώσσα προγραμματισμού Arduino (βασισμένη στην καλωδίωση) και το λογισμικό Arduino (IDE), με βάση την επεξεργασία. Με τα χρόνια το Arduino απετέλεσε τον εγκέφαλο χιλιάδων έργων, από τα καθημερινά αντικείμενα έως τα σύνθετα επιστημονικά όργανα. Μια παγκόσμια κοινότητα δημιουργών - φοιτητές, χομπίστες, καλλιτέχνες, προγραμματιστές και επαγγελματίες - έχει συγκεντρωθεί γύρω από αυτή την πλατφόρμα ανοιχτού κώδικα, οι συνεισφορές των οποίων έχουν προστεθεί σε μια απίστευτη ποσότητα προσβάσιμης γνώσης που μπορεί να βοηθήσει πολύ τους αρχάριους και τους ειδικούς. Το Arduino γεννήθηκε στο Ivrea Interaction Design Institute ως ένα εύκολο εργαλείο για γρήγορη δημιουργία πρωτοτύπων, που απευθύνεται σε φοιτητές χωρίς ιστορικό ηλεκτρονικών γνώσεων και προγραμματισμού. Μόλις έφτασε σε μια ευρύτερη κοινότητα, ο πίνακας Arduino άρχισε να αλλάζει για να προσαρμοστεί στις νέες ανάγκες και προκλήσεις, διαφοροποιώντας την προσφορά του από απλές κάρτες 8-bit σε προϊόντα για εφαρμογές IoT, φορητές, τρισδιάστατες εκτυπώσεις και ενσωματωμένα περιβάλλοντα. Όλοι οι πίνακες Arduino είναι πλήρως ανοιχτού κώδικα, επιτρέποντας στους χρήστες να τους κατασκευάζουν ανα τμήματα και τελικά να τους προσαρμό-
36 Σχεδίαση και Ανάπτυξη Μηχανισμού ζουν στις ιδιαίτερες ανάγκες τους. Το λογισμικό επίσης είναι ανοικτού κώδικα και η χρήση του αυξάνεται σε παγκόσμιο επίπεδο με την συμβολή των χρηστών. Γιατί Arduino; Χάρη στην απλή και προσβάσιμη εμπειρία του χρήστη, το Arduino έχει χρησιμοποιηθεί σε χιλιάδες διαφορετικά έργα και εφαρμογές. Το λογισμικό Arduino είναι εύκολο στη χρήση για αρχάριους, αλλά και αρκετά ευέλικτο για τους προχωρημένους χρήστες. Εκτελείται σε Mac, Windows και Linux. Οι εκπαιδευτικοί και οι φοιτητές το χρησιμοποιούν για να κατασκευάσουν επιστημονικά όργανα χαμηλού κόστους, να αποδείξουν τις αρχές της χημείας και της φυσικής, ή να ξεκινήσουν τον προγραμματισμό και τη ρομποτική. Οι σχεδιαστές και οι αρχιτέκτονες κατασκευάζουν διαδραστικά πρωτότυπα,ενώ μουσικοί και καλλιτέχνες το χρησιμοποιούν για εγκαταστάσεις και πειραματισμό με νέα μουσικά όργανα. Οι κατασκευαστές, φυσικά, το χρησιμοποιούν για να κατασκευάσουν πολλά από τα έργα που εκτίθενται στο Maker Faire, για παράδειγμα. Το Arduino είναι ένα βασικό εργαλείο για την απόκτηση νέων γνώσεων. Οποιοσδήποτε - παιδιά, χομπίστες, καλλιτέχνες, προγραμματιστές - μπορεί να ξεκινήσει να τραγουδάει ακολουθώντας τις βήμα προς βήμα οδηγίες ενός κιτ ή να μοιράζεται ιδέες online με άλλα μέλη της κοινότητας Arduino. Υπάρχουν πολλοί άλλοι μικροελεγκτές και πλατφόρμες μικροελεγκτών που είναι διαθέσιμοι για φυσική χρήση υπολογιστών. Το Parallax Basic Stamp, το BX-24 της Netmedia, τα Phidgets, το Handyboard του MIT και πολλά άλλα προσφέρουν παρόμοια λειτουργικότητα. Όλα αυτά τα εργαλεία παίρνουν τα ανοργάνωτα στοιχεία του προγραμματισμού των μικροελεγκτών και τα καθιστούν εύκολα στην χρήση. Το Arduino απλοποιεί επίσης τη διαδικασία εργασίας με τους μικροελεγκτές, αλλά προσφέρει κάποιο πλεονέκτημα στους εκπαιδευτικούς, τους σπουδαστές και τους ενδιαφερόμενους ερασιτέχνες έναντι άλλων συστημάτων, χάρη στα εξής χαρακτηριστικά: Inexpensive - Οι κάρτες Arduino είναι σχετικά φθηνές σε σύγκριση με άλλες πλατφόρμες μικροελεγκτών. Η λιγότερο δαπανηρή έκδοση του module Arduino μπορεί να συναρμολογηθεί με το χέρι και ακόμη και οι προ-συναρμολογημένες μονάδες Arduino κοστίζουν λιγότερο από 50 δολάρια Cross-platform - Το λογισμικό Arduino (IDE) λειτουργεί σε λειτουργικά συστήματα Windows, Macintosh OSX και Linux την στιγμή που τα περισσότερα συστήματα μικροελεγκτών περιορίζονται στα Windows.
Εξοπλισμός υλικού 37 Απλό, σαφές περιβάλλον προγραμματισμού - Το λογισμικό Arduino (IDE) είναι εύκολο στη χρήση για αρχάριους, αλλά και αρκετά ευέλικτο για να επωφεληθούν και οι πιο έμπειροι χρήστες. Για τους εκπαιδευτικούς, είναι βολικά βασισμένο στο περιβάλλον προγραμματισμού επεξεργασίας, έτσι ώστε οι μαθητές που μαθαίνουν να προγραμματίζουν σε αυτό το περιβάλλον θα είναι εξοικειωμένοι με τον τρόπο λειτουργίας του IDE του Arduino. Λογισμικό ανοιχτού κώδικα και επεκτάσιμο λογισμικό - Το λογισμικό Arduino δημοσιεύεται ως εργαλείο ανοικτού κώδικα, διαθέσιμο για επέκταση από έμπειρους προγραμματιστές. Η γλώσσα μπορεί να επεκταθεί μέσω των βιβλιοθηκών C ++ και οι άνθρωποι που θέλουν να κατανοήσουν τις τεχνικές λεπτομέρειες μπορούν να κάνουν το άλμα από το Arduino στη γλώσσα προγραμματισμού AVR C στην οποία βασίζεται. Ομοίως, μπορεί να προσθεθεί ο κώδικας AVR-C απευθείας στα προγράμματα Arduinο. Open source και επεκτάσιμο υλικό - Τα σχέδια των Arduino δημοσιεύονται με άδεια Creative Commons, έτσι ώστε οι έμπειροι σχεδιαστές κυκλωμάτωννα μπορούν να δημιουργήσουν τη δική τους έκδοση της ενότητας, να την επεκτείνουν και να την βελτιώσουν. Ακόμη και σχετικά άπειροι χρήστες μπορούν να δημιουργήσουν την έκδοση breadboard της μονάδας για να καταλάβουν πώς λειτουργεί και να εξοικονομήσουν χρήματα. Τι υπάρχει πάνω στο Arduino; Ισχύς (υποδοχή USB ) Κάθε πίνακας Arduino χρειάζεται έναν τρόπο σύνδεσης με μια πηγή ενέργειας[30]. Το Arduino UNO μπορεί να τροφοδοτηθεί από ένα καλώδιο USB που προέρχεται από τον υπολογιστή ή από ένα τροφοδοτικό (όπως αυτό) που έχει τερματιστεί σε μια υποδοχή μπαταριών. Στην εικόνα παραπάνω, η σύνδεση USB φέρει ετικέτα (1) και η υποδοχή του κυλίνδρου φέρει ετικέτα (2). Η σύνδεση USB αποτελεί τον τρόπο με τον οποίο θα φορτωθεί ο κώδικα στην πλακέτα του Arduino. ΣΗΜΕΙΩΣΗ: Η τροφοδοσία ισχύος δεν θα πρέπει να ξεπερνά τα 20 Volt, καθώς θα καταστραφεί το Arduino. Η συνιστώμενη τάση για τα περισσότερα μοντέλα Arduino κυμαίνεται μεταξύ 6 και 12 Volts.
38 Σχεδίαση και Ανάπτυξη Μηχανισμού Σχήμα 3.3: Arduino[30] Ακίδες (5V, 3.3V, GND, αναλογικό, ψηφιακό, PWM, AREF) Οι ακίδες στο Arduino είναι τα μέρη όπου συνδέονται τα καλώδια για να κατασκευαστεί ένα κύκλωμα (πιθανώς σε συνδυασμό με ένα breadboard και μερικά καλώδια.) Έχουν συνήθως μαύρες πλακέτες ( headers ) οι οποίες επιτρέπουν την σύνδεση απλά με ένα καλώδιο δεξιά στην πλακέτα. Υπάρχουν πολλά διαφορετικά είδη ακιδών η καθεμία από τις οποίες φέρει ετικέτα στον πίνακα και χρησιμοποιείται για διάφορες λειτουργίες. GND (3): Σύντομογραφία για το έδαφος (ground). Υπάρχουν αρκετές ακίδες GND στο Arduino, οι οποίες μπορούν να χρησιμοποιηθούν για τη γείωση του κυκλώματος. 5V (4) και 3.3V (5):Ο 5V ακροδέκτης παρέχει ισχύ 5 βολτ και η 3,3V ακροδέκτης
Εξοπλισμός υλικού 39 τροφοδοτεί 3,3 βολτ ισχύος. Τα περισσότερα από τα απλά εξαρτήματα που χρησιμοποιούνται με το Arduino παρέχουν πάνω από 5 ή 3.3 βολτ. Αναλογική (6): Η περιοχή των ακίδων κάτω από την ετικέτα Analog In (A0 έως A5 στο UNO) είναι ακίδες Analog In. Αυτές οι ακίδες μπορούν να διαβάσουν το σήμα από έναν αναλογικό αισθητήρα (όπως έναν αισθητήρα θερμοκρασίας) και να το μετατρέψουν σε ψηφιακή τιμή που μπορούμε να διαβάσουμε. Ψηφιακό (7): Πέρα από τις αναλογικές ακίδες υπάρχουν οι ψηφιακοί ακροδέκτες (0 έως 13 στον UNO). Αυτές οι ακίδες μπορούν να χρησιμοποιηθούν τόσο για ψηφιακή είσοδο όσο και για ψηφιακή έξοδο (όπως τροφοδοσία LED). PWM (8):Το tilda ( ) υπάρχει δίπλα σε μερικές από τις ψηφιακές ακίδες (3, 5, 6, 9, 10 και 11 στο UNO). Αυτές οι ακίδες λειτουργούν ως κανονικές ψηφιακές ακίδες, αλλά μπορούν επίσης να χρησιμοποιηθούν για κάτι που ονομάζεται Pulse-Width Modulation (PWM).Αυτές οι ακίδες είναι σε θέση να προσομοιώνουν την αναλογική έξοδο (όπως το ξεθώριασμα ενός LED μέσα και έξω). AREF (9): Υποστηρίζει αναλογική αναφορά. Χρησιμοποιείται μερικές φορές για να ρυθμίσει μια εξωτερική τάση αναφοράς (μεταξύ 0 και 5 Volt) ως το ανώτερο όριο για τις ακίδες αναλογικής εισόδου. Κουμπί επαναφοράς Όπως και το αρχικό Nintendo, το Arduino διαθέτει κουμπί επαναφοράς (10). Πατώντας το, θα συνδεθεί προσωρινά ο ακροδέκτης επαναφοράς στη γείωση και θα γίνει επανεκκίνηση οποιουδήποτε κωδικό που έχει φορτωθεί στο Arduino. Αυτό μπορεί να είναι πολύ χρήσιμο εάν ο κωδικός δεν επαναλαμβάνεται,αλλά προορίζεται για δοκιμή πολλών φορών. Σε αντίθεση με την αρχική Nintendo, όμως, το blowing στο Arduino συνήθως δεν επιλύει κανένα πρόβλημα. Δείκτης LED ενέργειας Ακριβώς κάτω και δεξιά της λέξης UNO στο κύκλωμα, υπάρχει μια μικρή λυχνία LED δίπλα στη λέξη ON (11). Αυτή η λυχνία LED πρέπει να ανάβει κάθε φορά που συνδέεται το Arduino σε πηγή ενέργειας. Αν αυτό το φως δεν ανάψει, υπάρχει μια πιθανότητα δυσλειτουργίας ή βλάβης. LED TX RX Το TX είναι σύντομογραφία για τον πομπό μετάδοσης ενώ το RX είναι σύ-
40 Σχεδίαση και Ανάπτυξη Μηχανισμού ντομογραφία για τον πομπό λήψης. Αυτά τα σημάδια εμφανίζονται πολύ λίγο στην ηλεκτρονική πλακέτα για να υποδείξουν τους ακροδέκτες που είναι υπεύθυνοι για σειριακή επικοινωνία. Στην περίπτωσή μας, υπάρχουν δύο θέσεις στο Arduino UNO όπου εμφανίζονται τα TX και RX - μία φορά με ψηφιακούς ακροδέκτες 0 και 1, και μια δεύτερη φορά δίπλα στις ενδεικτικές λυχνίες TX και RX (12). Αυτά τα LED θα μας παρέχουν κάποιες οπτικές ενδείξεις όποτε το Arduino μας λαμβάνει ή μεταδίδει δεδομένα (όπως όταν φορτώνουμε ένα καινούργιο πρόγραμμα στο board). Κύρια IC Το μαύρο πράγμα στην πλακέτα με όλα τα μεταλλικά πόδια είναι ένα ολοκληρωμένο κύκλωμα ή ολοκληρωμένο κύκλωμα (13). Λειτουργεί ως το εγκέφαλος του Arduino μας. Η κύρια IC στο Arduino είναι ελαφρώς διαφορετικό από το τύπο πλακέτας σε τύπο πλακέτας, αλλά είναι συνήθως αποτέλεσμα από τη γραμμή παραγωγής ATmega των IC από την εταιρεία ATMEL. Η πληροφορία αυτή είναι σημαντική, καθώς μπορεί να χρειαστεί να είναι γνωστός ο τύπος IC (μαζί με τον τύπο του πίνακα) πριν φορτωθεί ένα νέο πρόγραμμα από το λογισμικό Arduino. Αυτές οι πληροφορίες μπορούν συνήθως να βρεθούν γραπτώς στην πάνω πλευρά της IC. Ρυθμιστής τάσης Ο ρυθμιστής τάσης (14) δεν είναι στην πραγματικότητα κάτι που αλληλεπιδρά με το Arduino. Αλλά είναι δυνητικά χρήσιμο να γνωρίζουμε τον τόπο και τον λόγο υπαρξής του. Ο ρυθμιστής τάσης κάνει ακριβώς αυτό που λέει - ελέγχει την ποσότητα τάσης που αφήνεται στον πίνακα Arduino. 3.3.2 Αισθητήρες Yπερήχων Πώς λειτουργεί η μονάδα HC-SR04: Πριν προχωρήσουμε περαιτέρω, ας καταλάβουμε πώς λειτουργεί ο αισθητήρας HC-SR04. Ο HC-SR04 είναι το σύνολο αισθητήρων υπερηχων που χρησιμοποιήσαμε στη διπλωματική εργασία. Το παρακάτω διάγραμμα χρονισμού θα μας βοηθήσει να κατανοήσουμε την εργασία[31]. Ο αισθητήρας έχει δύο ακίδες τον Trig και τον Echo που χρησιμοποιούνται(στην συγκεκριμένη περίπτωση) για τη μέτρηση της απόστασης όπως φαίνεται στο διά-
Εξοπλισμός υλικού 41 Σχήμα 3.4: Xρήση Arduino και Ultrasonic Sensor για την μέτρηση της μεταξύ τους απόστασης[31] γραμμα χρονισμού. Πρώτον, για να ξεκινήσουμε τη μέτρηση, πρέπει να στείλουμε ένα υπερηχητικό κύμα από τον πομπό και αυτό μπορεί να γίνει με τοποθέτηση της ακίδας Trig με ενεργοποίηση υψηλής τάσης για 10uS. Μόλις γίνει αυτό, ο ακροδέκτης του πομπού θα στείλει 8 ηχητικές εκρήξεις κυμάτων υπερήχων. Αυτό το κύμα των υπερήχων θα χτυπήσει ένα αντικείμενο και θα αναπήδησει πίσω όπου και θα ληφθεί από τον δέκτη. Εδώ το διάγραμμα χρονισμού δείχνει ότι μόλις ο δέκτης λάβει το κύμα θα αναγκάσει τον ακροδέκτη Echo να ενεργοποιηθεί για μια χρονική διάρκεια η οποία είναι ίση με το χρόνο που απαιτείται για το κύμα να ταξιδέψει από τον αισθητήρα των υπερήχων και να φτάσει πίσω στον αισθητήρα. Αυτό το διάγραμμα συγχρονισμού δεν φαίνεται να είναι αληθινό. Καλύψαμε το τμήμα Tx (πομπού) του αισθητήρα μου και έλεγξαμε αν ο παλμός Echo όντως ενεργοποιείται. Αυτό σημαίνει ότι ο παλμός Echo δεν περιμένει να λάβει το κύμα των υπερήχων (υπερήχων). Από τη στιγμή που μεταδίδεται το κύμα των υπερήχων ενεργοποιείται ο echo και παραμένει έτσι μέχρι να επιστρέψει το κύμα.
42 Σχεδίαση και Ανάπτυξη Μηχανισμού Σχήμα 3.5: Διάγραμμα παλμού του HC-SR04-ultrasonic-sensor [31] Έτσι το σωστό διάγραμμα χρονισμού πρέπει να είναι κάτι σαν αυτό που φαίνεται παρακάτω. Σχήμα 3.6: Διορθωμένο διάγραμμα παλμού του HC-SR04-ultrasonic-sensor [31] Κάνοντας το HC-SR04 να λειτουργεί μόνο ως πομπός: Είναι πολύ απλό να κάνουμε ένα HC-SR04 να λειτουργεί μόνο ως πομπός. Όπως φαίνεται στο διάγραμμα χρονισμού θα πρέπει να δηλωθεί η ακίδα ενεργοποίησης ως ακίδα εξόδου και να ενεργοποιηθεί για 10 Μicroseconds. Αυτό θα ξεκινήσει την έκρηξη κύματος υπερήχων. Έτσι κάθε φορά που θέλουμε να μεταδώσουμε το κύμα πρέπει απλά να ελέγξουμε την ακίδα Trig του αισθητήρα του πομπού, για τον οποίο ο κώδικας δίνεται παρακάτω. Κάνοντας το HC-SR04 να λειτουργεί μόνο ως δέκτης: Όπως φαίνεται στο διάγραμμα χρονισμού, δεν μπορούμε να ελέγξουμε την άνοδο της ακίδας Echo, καθώς σχετίζεται με την ακίδα ενεργοποίησης. Έτσι δεν υπάρχει τρόπος να κάνουμε το HC-SR04 να λειτουργεί μόνο ως δέκτης. Αλλά μπορούμε να χρησιμοποιήσουμε ένα hack, καλύπτοντας απλά το τμήμα του αισθητήρα με την
Εξοπλισμός υλικού 43 ταινία (όπως φαίνεται στην παρακάτω εικόνα) ώστε το κάλυμμα του κυματισμού των υπερήχων να μην να μπορεί να ξεφύγει έξω από το περίβλημα του πομπού και η ακίδα Echo να μην επηρεαστεί από αυτό το υπερηχητικό κύμα. Σχήμα 3.7: Ο HC-SR04-ultrasonic-sensor διαμορφωμένος να δουλεύει μόνο ως receiver [31] Τώρα για να φτιάξουμε τον ακροδέκτη echo, πρέπει απλά να ενεργοποιήσουμε την ακίδα Trig για 10 Μicroseconds. Μόλις ο αισθητήρας του δέκτη λάβει το κύμα των υπερήχων που μεταδίδεται από τον αισθητήρα του πομπού, ο ακροδέκτης echo θα απενεργοποιηθεί. Mέτρηση της απόστασης μεταξύ δύο υπερηχητικών αισθητήρων (HC-SR04): Μέχρι στιγμής κατανοήσαμε πώς να κάνουμε έναν αισθητήρα να λειτουργεί ως πομπός και ο άλλος αισθητήρας να λειτουργεί ως δέκτης. Τώρα, πρέπει να μεταδώσουμε το υπερηχητικό κύμα από τον αισθητήρα του πομπού και να το δεχτούμε με τον αισθητήρα του δέκτη και να ελέγξουμε τον χρόνο που χρειάζεται για να ταξιδέψει το κύμα από τους πομπούς στον echo δέκτη[32]. Η υπομονάδα του πομπού και η μονάδα του δέκτη απέχουν πολύ μεταξύ τους και όταν η μονάδα δέκτη δέχεται το κύμα των υπερήχων από τη μονάδα πομπού, δεν θα γνωρίζει πότε ο πομπός έστειλε αυτό το συγκεκριμένο κύμα. Χωρίς να γνωρίζουμε την ώρα έναρξης δεν μπορούμε να υπολογίσουμε το χρόνο που λαμβάνουμε τον υπέρηχο και επομένως την απόσταση. Για να λυθεί αυτό το πρόβλημα, ο παλμός Echo
44 Σχεδίαση και Ανάπτυξη Μηχανισμού της μονάδας δέκτη πρέπει να ενεργοποιηθεί ακριβώς όταν η μονάδα πομπού έχει μεταδώσει το κύμα των υπερήχων[33]. Με άλλα λόγια, η υπομονάδα του πομπού και η μονάδα δέκτη θα πρέπει να ενεργοποιούνται ταυτόχρονα. Αυτό μπορεί να επιτευχθεί με την ακόλουθη μέθοδο. Σχήμα 3.8: Mετρώντας την απόσταση μεταξύ δυο Ultrasonic Sensors [31] Στο παραπάνω διάγραμμα, το Tx αντιπροσωπεύει τον αισθητήρα του πομπού και το Rx αντιπροσωπεύει τον αισθητήρα δέκτη. Όπως φαίνεται, ο αισθητήρας του πομπού θα γίνει για να μεταδώσει τα υπερηχητικά κύματα με μια περιοδική γνωστή καθυστέρηση. Στον αισθητήρα δέκτη θα πρέπει κάπως να ενεργοποιήσουμε την ακίδα Trig ακριβώς κατά τη διάρκεια που το Trig του πομπού ενεργοποιείται. Έτσι αρχικά κάνουμε τυχαία το δέκτη Trig να ενεργοποιηθεί όπου και θα παραμείνει σε αυτή την κατάσταση έως ότου ο ακροδέκτης echo απανεργοποιηθεί. Αυτός ο ακροδέκτης echo θα απενεργοποιηθεί μόνο όταν δεχτεί ένα κύμα υπερήχων από τον πομπό. Έτσι, μόλις απενεργοποιηθεί, μπορούμε να υποθέσουμε ότι ο αισθητήρας του πομπού μόλις ενεργοποιήθηκε. Τώρα, με αυτή την υπόθεση, μόλις ο echo απενεργοποιηθεί, μπορούμε να περιμένουμε τη γνωστή καθυστέρηση και στη συνέχεια να ενεργοποιήσουμε την ακίδα Trig των δεκτών. Αυτό θα συγχρονίσει και χρησιμοποιώντας την pulsein () μπορούμε να υπολογίσουμε την απόσταση. Πρόγραμμα για αισθητήρα πομπού: 1 digitalwrite(trigpin, HIGH); 2 delaymicroseconds(10);
Εξοπλισμός υλικού 45 3 digitalwrite(trigpin, LOW); Για να ενεργοποιήσουμε έναν αισθητήρα πρέπει να κάνουμε την ακίδα Trig να παραμείνει υψηλός για 10uS. Ο κώδικας για να κάνετε το ίδιο φαίνεται παραπάνω Πρόγραμμα για αισθητήρα δέκτη: Στον αισθητήρα δέκτη έχουμε καλύψει το κομμάτι του αισθητήρα του πομπού. Τώρα μπορούμε να χρησιμοποιήσουμε την παραπάνω τεχνική για να μετρήσουμε την απόσταση μεταξύ δύο αισθητήρων. 1 Trigger_US(); 2 while (digitalread(echopin)==high); 3 delay(2); 4 Trigger_US(); 5 duration = pulsein(echopin, HIGH); Αρχικά πυροδοτούμε τον αισθητήρα των υπερήχων χρησιμοποιώντας τη λειτουργία Trigger US και στη συνέχεια περιμένουμε μέχρι ο ακροδέκτης echo να παραμείνει υψηλός χρησιμοποιώντας ένα βρόχο while. Μόλις φτάσει σε χαμηλά επίπεδα, περιμένουμε μια προκαθορισμένη διάρκεια, αυτή η διάρκεια θα πρέπει να είναι κάπου μεταξύ 10 και 30 μικροδευτερολέπτων, η οποία μπορεί να προσδιοριστεί με δοκιμασία και σφάλμα. Μετά από αυτήν την καθυστέρηση, ενεργοποιούνται ξανά υπερήχους χρησιμοποιώντας την ίδια λειτουργία και, στη συνέχεια, χρησιμοποιήται ηλειτουργία pulsein για να υπολογιστεί η διάρκεια του κύματος. Τώρα χρησιμοποιώντας τους ίδιους παλιούς τύπους μπορούμε να υπολογίσουμε την απόσταση όπως παρακάτω 1 distance= duration * 0.034;
46 Σχεδίαση και Ανάπτυξη Μηχανισμού 3.4 Ανάπτυξη Λογισμικού 3.4.1 Τεχνολογίες που χρησιμοποιήθηκαν Σε σημείο αυτό θα γίνει αναλυτική αναφορά στις τεχνολογίες που χρησιμοποιήθηκαν για την ανάπτυξη της συγκεκριμένης διπλωματικής εργασίας. Server-Βάση Το σύστημα που υλοποιήθηκε για αυτή την εφαρμογή απαιτεί και την ύπαρξη ενός Server για την αποθήκευση και διαχείριση των απαραίτητων δεδομένων. Τα απαραίτητα Scripts είναι γραμμένα σε PHP και η βάση δεδομένων που χρησιμοποιείται είναι MySQL. XAMPP-phpMyAdmin Σε αυτό το κομμάτι παρουσιάζονται οι κατάλληλοι servers που έπρεπε να εγκαταστηθούν για να είναι δυνατή η εκτέλεση των απαραίτητων PHP Scripts και η εγκατάσταση της βάσης δεδομένων MySQL, πράγματα τα οποία είναι απαραίτητα για τη λειτουργία του συστήματος. Η ευκολότερη επιλογή ήταν η εγκατάσταση του XAMPP [34], το οποίο είναι ένα πακέτο λογισμικού ανοιχτού κώδικα που μπορεί να εγκατασταθεί σε διάφορες πλατφόρμες συμπεριλαμβανομένου και του Ubuntu και περιέχει μεταξύ άλλων τον Apache HTTP Server, τον MariaDB Server και έναν PHP Interpreter. Με την εγκατάσταση του XAMPP εγκαταστάθηκε και το phpmyadmin (εργαλείο λογισμικού γραμμένο σε PHP) το οποίο επιτρέπει τη διαχείριση της βάσης δεδομένων μέσα από οποιονδήποτε φυλλομετρητή. Σχήμα 3.9: XAMPP[34] Τεχνολογία ανάπτυξης κώδικα
Ανάπτυξη Λογισμικού 47 Για την ανάπτυξη του λογισμικού ενός εξυπηρετητή για διαδικτυακές εφαρμογές, χρησιμοποιήθηκαν οι τεχνολογίες της javascript και της php. Ενώ για την ανάπτυξη του κώδικα που τρέχει πάνω στο arduino χρησιμοποιήθηκε η C. 3.4.2 Kώδικας εφαρμογής Κώδικας για UltraSonic Πρώτα καθορίζονται ακίδες Trig και Echo. Σε αυτή την περίπτωση είναι οι αριθμοί 11 και 12 στην Arduino Board και ονομάζονται trigpin και echopin. Στη συνέχεια, ορίζεται μια μεταβλητή Long, που ονομάζεται διάρκεια για τον χρόνο ταξιδιού που θα πάρει από τον αισθητήρα και μια μεταβλητή ακέραιος για την απόσταση. Στη ρύθμιση trigpin ορίζεται ως έξοδο και το echopin ως είσοδο και ξεκινάει η σειριακή επικοινωνία για την εμφάνιση των αποτελεσμάτων στη σειριακή οθόνη. 1 const int trigpin = 11; 2 const int echopin = 12; 3 // defines variables 4 long duration; 5 int distance, Pdistance; 6 void setup() { 7 pinmode(trigpin, OUTPUT); // Sets the trigpin as an Output 8 pinmode(echopin, INPUT); // Sets the echopin as an Input 9 Serial.begin(9600); // Starts the serial communication 10 } 11 void loop() { 12 Pdistance=distance; 13 Calc(); 14 distance= duration * 0.034; 15 if (Pdistance==distance Pdistance==distance+1 Pdistance==distance 1 ) 16 { 17 Serial.print("Measured Distance: "); 18 Serial.println(distance/2); 19 }
48 Σχεδίαση και Ανάπτυξη Μηχανισμού 20 //Serial.print("Distance: "); 21 //Serial.println(distance/2); 22 delay(500); 23 } 24 void Calc() 25 { 26 duration=0; 27 Trigger_US(); 28 while (digitalread(echopin)==high); 29 delay(2); 30 Trigger_US(); 31 duration = pulsein(echopin, HIGH); 32 } 33 void Trigger_US() 34 { 35 // Fake trigger the US sensor 36 digitalwrite(trigpin, HIGH); 37 delaymicroseconds(10); 38 digitalwrite(trigpin, LOW); 39 } Στον βρόχο πρέπει πρώτα να είναι σίγουρο ότι το trigpin είναι καθαρό, οπότε ρυθμίζεται ο ακροδέκτης σε κατάσταση LOW για μόλις 2 μs. Τώρα για τη δημιουργία του ηχητικού κύματος Ultra πρέπει να ρυθμίσουμε το trigpin στο HIGH State για 10 μs. Χρησιμοποιώντας τη λειτουργία pulsein () διαβάζεται ο χρόνος ταξιδιού και αυτή η τιμή μπαίνει στη μεταβλητή duration. Αυτή η λειτουργία έχει 2 παραμέτρους, το πρώτο είναι το όνομα του pin, echo και για το δεύτερο, αν θα είναι είτε HIGH είτε LOW. Σε αυτή την περίπτωση, το HIGH σημαίνει ότι η συνάρτηση pulsin () θα περιμένει για να περάσει ο ακροδέκτης από HIGH να πάει LOW και αυτό θα γίνει όταν ο ακροδέκτης echo λάβει το ηχητικό κύμα από τον πομπό [32]. Στο τέλος η λειτουργία θα επαναφέρει το μήκος του παλμού σε μικροδευτερόλεπτα. Για την απόσταση,θα πολλαπλασιαστεί η διάρκεια κατά 0.034 και θα διαιρεθεί κατά 2. Στο τέλος εκτυπώνεται η τιμή της απόστασης στην σειριακή οθόνη.
Ανάπτυξη Λογισμικού 49 1 // defines pins numbers 2 const int trigpin = 11; 3 const int echopin = 12; 4 // defines variables 5 long duration; 6 int distance; 7 void setup() { 8 pinmode(trigpin, OUTPUT); // Sets the trigpin as an Output 9 pinmode(echopin, INPUT); // Sets the echopin as an Input 10 Serial.begin(9600); // Starts the serial communication 11 } 12 void loop() { 13 // Sets the trigpin on HIGH state for 10 micro seconds 14 digitalwrite(trigpin, HIGH); 15 delaymicroseconds(10); 16 digitalwrite(trigpin, LOW); 17 delay(2); 18 } Κώδικας για PhpSerial Mε τον κώδικα της PhpSerial μας δίνεται η δυνατότητα να ελέξουμε μέσω php οποιασδήποτε συσκευής συνδέεται σειριακά με τον υπολογιστή μας[35]. Στην συγκεκριμένη περίπτωση μας βοηθά να ελέξουμε τα δυο arduino (trasmitter,receiver). Με την εντολή deviceset( COM5 ) ορίζουμε το όνομα της συσκευής μας ενώ με την εντολή confbaudrate(9600) ρυθμίζουμε το baudrate στα 9600. 1 <?php 2 error_reporting(e_all); 3 ini_set("display_errors", 1); 4 if (isset($_get['action'])) { 5 require("php Serial develop/src/phpserial.php"); 6 $serial = new phpserial(); 7 $serial >deviceset("com5"); 8 $serial >confbaudrate(9600);
50 Σχεδίαση και Ανάπτυξη Μηχανισμού 9 $serial >deviceopen(); 10 sleep(2); 11 //print_r($_get['action']); 12 if ($_GET['action'] == "green1") { 13 $serial >sendmessage("0"); 14 } else if ($_GET['action'] == "green0") { 15 $serial >sendmessage("1"); 16 $tmp = ""; 17 sleep(2); 18 $i = 0; 19 $code = array(); 20 while(true){ 21 $a = str_replace("measured Distance:","",$serial >readport()); 22 array_push($code, $a); 23 $i++; 24 sleep(1); 25 if ($i==5) break; 26 } 27 print_r($code); 28 } 29 $serial >deviceclose(); 30 } 31?> 3.5 Ανάλυση ασφαλείας Παρεμβολή επιτιθέμενου μεταξύ server-arduino.στην περίπτωση που ένας επιτιθέμενος χρήστης κάνει απόπειρα να παρέμβει μεταξύ server-transmitter ή serverreceiver δεν θα καταφέρει. Αυτό διότι o server περιμένει να στείλει και να λάβει κάποια πληροφορία απο τα συγκεκριμένα arduino καθώς έχει καταχωρημένα τα mac address τους. Οπότε ακόμα και ένας επιτιθέμενος παρέμβει στην επικοινωνία servertransmitter και κλέψει την πληροφορία και στην συνέχεια προσπαθήσει να την στείλει πίσω στον server μέσω του receiver του, ο server δεν θα το δεχτεί καθώς δεν θα έχει το αναμενόμενο mac address που έχει καταχωρημένο ο server.
Ανάλυση ασφαλείας 51 Απόπειρα κλοπής της mac address. Και στην περίπτωση αυτή που ο επιτιθέμενος χρήστης καταφέρει να κάνει mask την mac address των arduino και πάλι δεν θα καταφέρει να μπει στον λογαριασμό του θύματος. Αυτό διότι μεταξύ κάθε καναλιού επικοινωνίας υπάρχει μηχανισμός κρυπτογράφησης.
52 Σχεδίαση και Ανάπτυξη Μηχανισμού
Κεφάλαιο 4 Αξιολόγηση Μηχανισμού 4.1 Μελέτη Χρήστη 4.1.1 Διερευνητική Μελέτη Σχεδιάσαμε ένα ελεγχόμενο πείραμα στο οποίο ζητήθηκε από τους συμμετέχοντες να χρησιμοποιήσουν το 2FA κάνοντας login την πρώτη φορά με τον δεύτερο παράγοντα ταυτοποίησης να πραγματοποιηθεί μέσω του gmail και την δεύτερη με τον δεύτερο παράγοντα ταυτοποίησης να γίνεται μέσω λήψης και αποστολής υπερήχων από τους ultrasonic sensor. 4.1.2 Συμμετέχοντες Συνολικά συμμετείχαν 30 άτομα (14 γυναίκες,15 άντρες και ένας Genderqueer )στην μελέτη. Η ηλικία τους κυμαίνεται μεταξύ 18 και 45 ετών. Είκοσι δύο συμμετέχοντες ήταν προπτυχιακοί φοιτητές, 2 ιδιωτικοί υπάλληλοι, ένας διδακτορικός φοιτητής στο ΗΜΤΥ,ένας κιθαρίστας, ένας βιολόγος,και 3 προγραμματιστές. Οι συμμετέχοντες βρέθηκαν μέσω προσωπικών επαφών άλλα και τυχαία σε διάφορα study cafe. 4.1.3 Οδηγίες που δόθηκαν στους συμμετέχοντες Στον καθένα από τους συμμετέχοντες τους εξηγήθηκε αναλυτικά όλη την διαδικασία με τον εξής τρόπο. Αρχικά ρωτήθηκαν αν ήξεραν τι είναι το 2FA. Εκτός από έναν συμμετέχοντα όλοι οι άλλοι δεν ήξεραν, όποτε τους ειπώθηκε το παράδειγμα που θέλουν να συνδεθούν σε ενα social media (πχ facebook) από ένα ξένο υπολογιστή και εκτός από το login που κάνουν μπορεί να τους ζητείται και ένας κωδικός που θα τους έχει σταλεί είτε στο email είτε στο κινητό τους τηλέφωνο. Έτσι για να 53
54 Αξιολόγηση Μηχανισμού συνδεθούν εν τέλει χρειάζονται 2 παράγοντες, ένα το login και ένα τον κωδικό που θα τους έχει σταλεί. Στην συνέχεια τους αναφέρθηκε ότι οι περισσότεροι χρήστες παρόλο που το 2FΑ είναι πιο ασφαλές από ένα απλό κωδικό το απενεργοποιούνε απο τις διάφορες υπηρεσίες που χρησιμοποιούνε επειδή είναι χρονοβόρο, επειδή είναι μια επιπρόσθετη κίνηση και δυσχεραίνει το user experience. Τους εξηγήθηκε ποιος ήταν ο σκοπός την διπλωματικής μου εργασίας, στο ότι θέλουμε οι χρήστες με ένα απλό login που θα κάνουν να διατηρούν την ασφάλεια του 2FA. Αυτό θα γινόταν μέσω των υπερήχων. Έπειτα έρχονταν σε μια πρώτη επαφή τα arduino όπου τους εξηγήθηκε ότι είναι μικροεπεξεργαστές που παίρνουν κάποιο κώδικα από τον υπολογιστή ώστε να ελέγξουνε τους ultrasonic sensors. Έιχανε κάποιο χρόνο να δούνε καλά το arduino και τα ultrasonic sensor και στην συνέχεια τους αναφερόταν ότι αυτά σε μια μελλοντική εφαρμογή θα ήταν ενσωματωμένα το ένα ζευγάρι (arduino - ultrasonic sensor) στον υπολογιστή και το άλλο σε ένα smartwatch(ή ακόμα καισε ένα κινητό τηλέφωνο). Και έτσι κάνοντας ένα απλό login (username, password) θα ενεργοποιείται το smartwatch και θα έστελνε υπερήχους στον υπολογιστή, ο υπολογιστής θα τους λάμβανε και έτσι θα πιστοποιείται ότι ήταν εκείνοι όντως (ότι δηλαδή ο δεύτερος παράγοντας θα ενεργοποιείται αυτόματα).τέλος του εξηγήθηκε το πρακτικό κομμάτι που θα έπρεπε να κάνουν, αρχικά μια εγγραφή στην φόρμα και ύστερα ότι θα τους μετριόταν οι χρόνοι τους για δύο login (ένα μέσω email και ένα μέσω των arduino), έπειτα ότι θα συμπλήρωναν μια φόρμα και τελικά θα έδιναν μια μικρή συνέντευξη πάνω στην εμπειρία τους με τα arduino. 4.1.4 H διαδικασία που ακολούθησαν οι χρήστες Αρχικά έκαναν εγγραφή στην φόρμα βάζοντας τα προσωπικά τους στοιχεία. Σχήμα 4.1: Εγγραφή Ύστερα έκαναν 2 login.
Μελέτη Χρήστη 55 Σχήμα 4.2: Σύνδεση Την μια φορά με τον κλασικό τρόπο όπου αφού έβαζαν το username και το password έμπαιναν στον gmail και έπαιρναν έναν τυχαίο κωδικό που τους είχε σταλεί και το έβαζαν στο πεδίο που τους ζητάται. Σχήμα 4.3: Ο κωδικός απο το email Και την άλλη φορά που έκαναν απλά το login και περίμεναν την διαδικασία ταυτοποίησης του δεύτερου παράγοντα να την κάνει τα arduino. Να σημειωθεί ότι υπάρχει αλλαγή στην σειρά που οι χρήστες έκαναν το login, έτσι ώστε όταν ένας χρήστης έκανε login πρώτα μέσω email και μετά μέσω arduino ο επόμενος έκανε login πρώτα μέσω arduino και μετά μέσω email. Αυτό ώστε να διατηρηθεί το counterbalance design.
56 Αξιολόγηση Μηχανισμού Σχήμα 4.4: Σύνδεση με την χρήση arduino 4.1.5 Μετρήσεις Οι μετρήσεις που πήραμε από τους χρήστες ήταν αρχικά οι χρόνοι που έκανα με τα δυο διαφορετικά login (email, arduino) απο την στιγμη που έμπαιναν στην φόρμα μέχρι να εμφανιστεί το success login.έπειτα τους ζητήθηκε να συμπληρώσουν μια φόρμα και τέλος μια συνέντευξη με ερωτήσεις πάνω στην εμπειρία τους με την χρήση των arduino. 4.1.6 Αποτελέσματα Μετρήσεων Αποτελέσματα από τους χρόνους που έκαναν οι χρήστες για τα δυο login Από τα αποτελέσματα που πήραμε από τους χρόνους που έκαναν οι χρήστες για να κάνουν login μια φορά με το arduino και την άλλη μέσω του gmail παρατηρούμε σημαντικές διαφορές. Περίπου ο χρόνος που έκαναν να πραγματοποιήσουν το login μέσω του gmail ήταν διπλάσιος έναντι αυτού με το arduino. Όλοι οι χρήστες στο τέλος της προσωπικής συνέντευξης δήλωσαν ότι σίγουρα με βάση τον παράγοντα του χρόνου θα προτιμούσαν να χρησιμοποιούν το arduino καθώς όπως είπαν το email με κουρασε, ήταν μια εξτρα κίνηση και σίγουρα στην δουλειά μου που θα βιαζόμουν
Μελέτη Χρήστη 57 δεν θα είχα χρόνο να μπω στο email και να αποτυπώσω εναν επιπρόσθετο κωδικό αλλά ακόμα δήλωσαν θα προτιμούσα το arduino με βάση τον χρόνο γιατί ακόμα και στο σπίτι μου να είμαι θα ήταν βαρετό να ανοίξω το email. Από τις δικές μας αναλύσεις πραγματοποιόντας έλεγχο Τ (Τ-test) [36]με δεδομένα τους δυο χρόνους των login και ότι υπάρχει ιση διακυμανση των 2 δειγματων παρατηρούμε ότι εύκολα μπορεί να γίνει η υπόθεση ότι ένας οποιοσδήποτε χρήστης θα κάνει λιγότερο χρόνο για το login μέσω του arduino παρά μέσω του email. Αυτό διότι η τιμή της πιθανότητας P Value βγήκε πάρα πολύ μικρή (2,42365E-15),που είναι μικρότερη από το λάθος που μπορούμε να ανεχτούμε (2%-5%) και έτσι ισχύει η μηδενική μας υπόθεση ότι οι χρήστες με το arduino θα κάνουν λιγότερο χρόνο αντί του email.
58 Αξιολόγηση Μηχανισμού Πίνακας 4.1: Αποτελέσματα από τους χρόνους που έκαναν οι χρήστες για τα δυο login Original Arduino 63,04 31,24 69,11 30,44 83,04 32,72 69,25 31,28 57,68 32,76 65,58 29,39 82,58 34,78 48,99 25,56 51,90 31,64 36,32 27,10 57,14 31,97 43,54 24,44 62,01 40,63 51,64 39,86 98,47 26,39 55,49 29,30 50,15 28,42 47,14 24,06 71,78 34,35 49,84 28,39 59,39 27,28 44,53 28,10 54,00 29,90 52,37 30,22 79,63 29,20 76,71 29,84 69,16 31,76 78,19 31,96 62,92 33,07 31,58 27,69 Aποτέλεσμα ttest :2,42365E-15
Μελέτη Χρήστη 59 Πίνακας 4.2: T-test Οriginal Arduino Μέσος 60,77233 30,458 Διακύμανση 226,6167 14,39264 Μέγαθος δείγματος 30 30 Διάμεση διακύμανση 120,5047 Υποτιθέμενη διαφορά μέσων 0 Βαθμοί ελευθερίας 58 t 10,69527 P (T<t) μονόπλευρη 1,21Ε-15 t κρίσιμο μονόπλευρο 1,671553 P (T<t) δίπλευρη 2,42Ε-15 t κρίσιμο δίπλευρο 2,001717 Αποτελέσματα από το Ερωτηματολόγιο Παρακάτω παρατίθενται τα αποτελέσματα από το ερωτηματολόγιο που κλήθηκαν να απαντήσουν οι χρήστες. Εκτός από έναν συμμετέχοντα όλοι οι άλλοι στην ερώτηση αν ήξεραν τι είναι το 2FA δεν ήξεραν τι σημαίνει, όποτε ύστερα από ένα δικό μου παράδειγμα κατάλαβαν τι είναι και τι προσφέρει να έχεις έναν διπλό τρόπο ταυτοποίησης της ταυτότητας τους. Αξιοσημείωτο στα αποτελέσματα είναι ότι η πλειοψηφία από τους συμμετέχοντες το 40 % το χρησιμοποιούν μόνο λίγες φορές το χρόνο, ενώ το 10 % δεν το έχει χρησιμοποιήσει ποτέ. Αλλά από την άλλη υπάρχει και ένα ποσοστό 20% που το χρησιμοποιούν λίγες φορές την εβδομάδα. Ως προς τις υπηρεσίες του 2FA η πλειοψηφία προτίμησε το κινητό με 86,7 % ενώ πολύ κοντά είναι και η αποστολή email με 70 %. (a) Πόσο συχνά χρησιμοποιούν 2FA υπηρεσίες (b) Υπηρεσίες 2FA που χρησιμοποιούν Ως προς το πόσο γρήγορο ήταν το Arduino εκτός από το ερωτηματολόγιο φάνηκε και στην προσωπική συνέντευξη ότι οι χρήστες έμειναν πολύ ευχαριστημένοι σε
60 Αξιολόγηση Μηχανισμού αντιδιαστολή με το email που όλοι τους το θεώρησαν αρκετά χρονοβόρο και κουραστικό. Τους άρεσε πολύ που με μια κίνηση (login) γινόταν αυτόματα η διαδικασία της ταυτοποίησης του δεύτερου παράγοντα ενώ υπήρχε μια δυσαρέσκεια ως προς το χειροκίνητο του πράγματος που έχει το email (a) Η μέθοδος με το Arduino ήταν γρήγορη (b) Η μέθοδος με το Email ήταν γρήγορη Στα παρακάτω αποτελέσματα φαίνεται ξεκάθαρα ότι οι χρήστες είτε το 2FA είναι προαιρετικό είτε υποχρεωτικό θα χρησιμοποιούσαν το arduino σε αντίθεση με το email που υπήρχε μια δυσαρέσκεια. Και αυτό στηρίζεται όπως προαναφέρθηκε στον χρόνο και στην ευκολία που προσφέρει το arduino. (a) Αν το 2FA ήταν υποχρεωτικό θα επέλεγα το arduino (b) Αν το ΤFA ήταν υποχρεωτικό θα επέλεγα το email (c) Αν το ΤFA ήταν προαιρετικό θα επέλεγα το arduino (d) Αν το ΤFA ήταν προαιρετικό θα επέλεγα το email Ως το που θα χρησιμοποιούσαν το arduino όπως φαίνεται στο ερωτηματολόγιο
Μελέτη Χρήστη 61 (a) Aν ήταν υποχρεωτικό το 2FA θα χρησιμοποιούσα το arduino αντι του email (b) Aν ήταν προαιρετικό το 2FA θα χρησιμοποιούσα το arduino αντι του email θα το χρησιμοποιούσαν σχεδόν παντού ενώ σε σχέση με το email θα το χρησιμοποιούσαν η πλειοψηφία τους στο σπίτι γιατί όπως μου δήλωσαν και στην προσωπική συνέντευξη θα είχαν περισσότερο χρόνο, σε σχέση με το αν ηταν στην δουλειά που θα ήθελαν να πραγματοποιήσουν την διαδικασία πολύ πιο γρήγορα. (a) Που θα χρησιμοποιούσα το Arduino (b) Που θα χρησιμοποιούσα το Email Σε αυτό το κομμάτι ως προς την ασφάλεια που προσφέρει το arduino υπήρχε αρκετή συζήτηση στην προσωπική συνέντευξη και φαίνεται και απο τις απαντήσεις που δόθηκαν στο ερωτηματολόγιο που ήταν κατα κύριο λόγο στην μέση (το 43 % απο τους συμμετέχοντας ήταν στην μέση.)σχεδόν όλοι οι χρήστες ήταν κάπως αμφίρροποι καθώς όπως μου είπαν δεν ξέρουν πως δουλεύει ο συγκεκριμένος μηχανισμός. Και αυτό ήταν ακριβώς απολύτως αναμενόμενη αντίδραση που θα μπορούσε να είχε ο καθένας μας μπροστά σε μια καινούργια εφαρμογή, η οποία διαχειρίζεται προσωπικά δεδομένα μέχρι και υψίστης σημασίας (π.χ. τραπεζικοί λογαριασμοί). Κάποιοι έθεσαν εύλογα ερωτήματα όπως αν θα μπορούσε κάποιος να επέμβει στην επικοινωνία μεταξύ του smartwatch και του υπολογιστή και να υποκλέψει τα δεδομένα τους. Από την άλλη υπήρχε μερίδα από τους συμμετέχοντες οι οποίοι δήλωσαν ότι σίγουρα θα εμπιστευόταν το arduino έναντι του email καθώς πιστεύουν ότι είναι πιο εύκολο
62 Αξιολόγηση Μηχανισμού κάποιος να υποκλέψει τους κωδικούς του email παρά να σου κλέψει το smartwatch. (a) Αν το ΤFA ήταν υποχρεωτικό θα επέλεγα το arduino (b) Αν το ΤFA ήταν υποχρεωτικό θα επέλεγα το email (c) Αν το ΤFA ήταν προαιρετικό θα επέλεγα το arduino 4.2 Μελέτη-Απόδοση Συστήματος 4.2.1 Μέθοδος Η μέθοδος που ακολουθήσαμε για να γίνει η μελέτη του συστήματος έγινε σε τρεις φάσεις. Έγιναν τρία πειράματα. Στο πρώτο με βάση την μεταξύ τους απόσταση των arduino μετρήθηκε ανα εκατοστό και σε δείγμα 100 φορών πόσες φορές έλαβε δεδομένα ο receiver απο τον transmitter από ένα εκατοστό μέχρι να σταματήσει να λαμβάνει. Στο δεύτερο σε μια απόσταση 17 εκατοστών μετρήθηκαν ανα μοίρα και σε δείγμα 100 φορών οι γωνίες που ο receiver είχε την εμβέλεια να στρίψει ως προς τον trasmitter και απο τα δεξιά και από τα αριστερά μέχρι να σταματήσει να λαμβάνει δεδομένα. Στο τελευταίο πάλι σε συγκεκριμένη απόσταση των 17 εκατοστών μετρήθηκε ανα εκατοστό και σε δείγμα 100 φορών τα εκατοστά που ο receiver μπορεί να έχει σχετική θέση ως προς transmitter μέχρι να σταματήσει να λαμβάνει δεδομένα.
Μελέτη-Απόδοση Συστήματος 63 4.2.2 Αποτελέσματα Τα αποτελέσματα του πρώτου πειράματος Σχήμα 4.11: Μεταξύ τους απόσταση Παρουσιάζονται συνοπτικά τα αποτελέσματα ανα 5 εκατοστά.παρατηρούμε ότι ο sensor αρχίζει και μετράει απο τα 5 εκατοστά μέχρι και τα 60 εκατοστά όπου εκεί πλέον χάνεται η εμβέλεια του(επιτυχία λήψης δεδομένων μόνο 7%).
64 Αξιολόγηση Μηχανισμού Εκατοστά Ποσοστό Επιτυχίας 5 100 10 100 15 100 20 100 25 98 30 98 35 100 40 99 45 97 50 100 51 98 52 99 53 98 54 98 55 100 56 100 57 100 58 100 59 98 60 7 61 0 Πίνακας 4.3: Mεταξύ τους απόσταση Τα αποτελέσματα του δεύτερου πειράματος Σε αυτήν την περίπτωση παρουσιάζονται δύο στήλες με αποτελέσματα, η μια είναι η περιστροφή που κάνει ο receiver αριστερόστροφα και παρατηρούμε ότι απο 1 εως 3 μοίρες λαμβάνει με μεγάλη επιτυχία τα δεδομένα ενώ όταν βρίσκεται υπό γωνία 4 μοιρων λαμβάνει με επιτυχία 22%, στις 5 μοίρες με επιτυχία 9% ενω στις 6 μοίρες σταματάει πλέον να λαμβάνει δεδομένα. Από την άλλη κατά την δεξιόστροφη περιστροφή παρατηρούμε ότι εώς τις 13 μοίρες λαμβάνει με μεγάλη επιτυχία, στις 14 μοίρες με ποσοστό επιτυχίας 14%, στις 15 μοίρες με 8% ενώ στις 16 μοίρες σταματάει να λαμβάνει δεδομένα.
Μελέτη-Απόδοση Συστήματος 65 Σχήμα 4.12: Μέτρηση γωνίας Πίνακας 4.4: Μέτρηση Γωνίας Από τον receiver στον transmitter Από τον transmitter στον receiver Μοίρες Ποσοστό επιτυχίας (%) Μοίρες Ποσοστό επιτυχίας (%) 1 100 10 100 2 97 11 100 3 99 12 100 4 22 13 90 5 9 14 14 6 0 15 8 Τα αποτελέσματα του τρίτου πειράματος Στο τελευταίο πείραμα πάλι παρουσιάζονται 2 στήλες με αποτελέσματα. Η μια είναι όταν στην σχετική τους θέση ο receiver κινείται προς τα πάνω.παρατηρούμε ότι από ένα έως 3 εκατοστά λαμβάνει με επιτυχία τα δεδομένα ενώ στα 4 εκατοστά λαμβάνει με επιτυχία 4% ενώ στα 5 εκατοστά σταματάει τελείως να λαμβάνει. Από την άλλη στην σχετική τους θέση όταν ο receiver κινείται προς τα κάτω λαμβάνει με επιτυχία μόνα στα 1 εκατοστά απόσταση. Πίνακας 4.5: Μέτρηση σε σχέση με την σχετική τους θέση Προς τα πάνω Προς τα κάτω Εκατοστά Ποσοστό επιτυχίας (%) Εκατοστά Ποσοστό επιτυχίας (%) 1 100 1 100 2 100 2 0 3 100 4 4 5 0
66 Αξιολόγηση Μηχανισμού Σχήμα 4.13: Μέτρηση σε σχέση με την σχετική τους θέση 4.3 KLM Μέθοδος για σύγκριση email - κινητού Στα πλαίσια της προσωπικής συνέντευξης αρκετοί από τους συμμετέχοντες εξέφρασαν την ανησυχία τους ως προς το smartwatch:αν θα πρέπει να έχουν την οικονομική άνεση να αγοράσουν οπωσδήποτε smartwatch, ή ότι ακόμα και αν την έχουν τι γίνεται στην περίπτωση που δεν θέλουν να φοράνε smartwatch. Η εφαρμογή που προτείνουμε για seamless authentication μέσω των arduino δεν είναι απαραίτητο να γίνει αποκλειστικά με smartwatch που προτείνουμε. Γίνεται και μέσω των κινητών τηλεφώνων σε μια μελλοντική αλλά όχι τόσο μακρινή τεχνολογία που τα κινητά τηλέφωνα θα μπορούν να λαμβάνουν και αν εκπέμπουν υπερήχους. Για αυτό θεωρούμε σκόπιμο με την μέθοδο KLM να συγκρίνουμε την διαδικασία που θα κάνει ο χρήστης να ολοκληρώσει το 2FA μέσω email και μέσω του κινητού του. Λίγα λόγια για την KLΜ μέθοδο Στην αλληλεπίδραση ανθρώπου-υπολογιστή, το μοντέλο επιπέδου πληκτρολόγησης (KLM) προβλέπει πόσο χρόνο θα χρειαστεί ένας έμπειρος χρήστης να ολοκληρώσει μια εργασία ρουτίνας χωρίς σφάλματα χρησιμοποιώντας ένα διαδραστικό σύστημα υπολογιστή [37]. Προτάθηκε από τους Stuart K. Card, Thomas P. Moran και Allen Newell το 1980 στις ανακοινώσεις της ACM και δημοσιεύθηκε στο βιβλίο τους Η ψυχολογία της αλληλεπίδρασης ανθρώπου-υπολογιστή το 1983, το οποίο θεωρείται κλασικό στον τομέα HCI [38], [39]. Τα θεμέλια τοποθετήθηκαν το 1974, όταν ο Card και ο Moran εντάχθηκαν στο ερευνητικό κέντρο του Palo Alto (PARC) και δημιούρ-