Side channel attacks and countermeasures – Analysis of secure implementations
Επιθέσεις πλευρικού καναλιού και αντίμετρα – Ανάλυση ασφαλών υλοποιήσεων
Master Thesis
Συγγραφέας
Κυρανούδης, Πασχάλης
Kyranoudis, Paschalis
Ημερομηνία
2021-07Επιβλέπων
Ψαράκης, ΜιχαήλPsarakis, Michael
Προβολή/ Άνοιγμα
Λέξεις κλειδιά
Side channel attacks ; AES ; Masking ; 1st order attack ; 2nd order attack ; Επιθέσεις πλευρικού καναλιούΠερίληψη
Τα τελευταία 10 χρόνια ένα συνεχώς αυξανόμενο ενδιαφέρον εκδηλώνεται στο χώρο
του Διαδικτύου των Πραγμάτων (ΙοΤ). Έχοντας ξεκινήσει σχεδόν 20 χρόνια πριν, οι Smart
Cards βρισκόταν σχεδόν σε κάθε πτυχή της ζωής μας (τηλεφωνικές κάρτες προπληρωμένου
χρόνου, πιστωτικές κάρτες, συνδρομητική τηλεόραση, κλπ).
Σήμερα, το οικοσύστημα των ενσωματωμένων συστημάτων έχει επεκταθεί δραματικά
σε πληθώρα εφαρμογών της καθημερινότητάς μας. Υγεία, μεταφορές, παραγωγή ενέργειας
και στρατιωτικής φύσεως υλοποιήσεις, είναι μόνο μερικοί από τους τομείς που εξαρτώνται
από την αξιοπιστία και βασίζονται στην ασφάλεια αυτών των συσκευών. Εφόσον
αποθηκεύουν και επεξεργάζονται ευαίσθητες πληροφορίες πρέπει να είναι
προστατευμένες από μη εξουσιοδοτημένη πρόσβαση. Έτσι, ποικίλα μέτρα ασφαλείας και
κρυπτογραφικοί αλγόριθμοι έχουν επιστρατευτεί για να αυξήσουν την ασφάλεια των
συστημάτων αυτών. Ωστόσο, έχουν βρεθεί να είναι εκτεθειμένες σε ένα συγκεκριμένο τύπο επιθέσεων,
τις επιθέσεις πλευρικού καναλιού, γνωστές ως Side Channel Attacks. Η επιτυχία και η
αποτελεσματικότητά τους βασίζεται στην εκμετάλλευση των ατελειών των ηλεκτρονικών
κυκλωμάτων και την εξάρτηση μεταξύ κατανάλωσης ρεύματος και των δεδομένων που
επεξεργάζονται οι κρυπτοσυσκευές. Στην παρούσα διπλωματική εργασία θα εστιάσουμε σε
υλοποιήσεις του Advanced Encryption Standard (AES), στα αντίμετρα που μπορούμε να
ενσωματώσουμε και τα αδύνατά τους σημεία. Αρχικά, θα περιγράψουμε γιατί οι κρυπτοσυσκευές είναι ευάλωτες σε επιθέσεις πλευρικού καναλιού. Θα αποδείξουμε τους ισχυρισμούς μας εκτελώντας μία επίθεση 1ης τάξης και θα εξηγήσουμε τα αποτελέσματα. Έπειτα, θα αναλύσουμε το αντίμετρο του
masking και θα το εφαρμόσουμε στην υλοποίησή μας για να την προστατεύσουμε. Εφόσον έχουμε ασφαλίσει τον μικροελεγκτή μας, θα επιχειρήσουμε να ξεπεράσουμε
το αντίμετρο με μία επίθεση 2ης Τάξης. Επειδή ο όγκος των απαιτούμενων μαθηματικών
υπολογισμών αυξάνεται με εκθετικό ρυθμό, θα εξετάσουμε μεθόδους για να κάνουμε
αυτές τις επιθέσεις πιο εφικτές για συμβατικά υπολογιστικά συστήματα. Τέλος, θα συγκρίνουμε τα αποτελέσματα και θα καταλήξουμε σε συμπεράσματα
σχετικά με την πολυπλοκότητα και την αποτελεσματικότητα αυτού του είδους των
επιθέσεων.