Αξιολόγηση της ασφάλειας και της αξιοπιστίας επιταχυντών υλικού σχεδιασμένων με χρήση Σύνθεσης Υψηλού Επιπέδου
Evaluation of the reliability and security of hardware accelerators using High-Level Synthesis
Προβολή/ Άνοιγμα
Λέξεις κλειδιά
Επιταχυντές υλικού ; Hardware accelerators ; Σύνθεση Υψηλού Επιπέδου ; Ψηφιακά κυκλώματα ; Vivado HLS ; Εισαγωγή σφαλμάτων ; Fault Injection ; Ασφάλεια ; Αξιοπιστία ; Security ; Reliability ; Optimizations ; Βελτιστοποιήσεις ; Αξιολόγηση ; FPGAs ; Αντίμετρα ; Countermeasures ; Exhaustive Single Bit Flip ; SBF ; Εξαντλητική εισαγωγή μονών σφαλμάτων ; Εισαγωγή τυχαίων πολλαπλών σφαλμάτων ; Multiple Bit Flip ; MBF ; statistical sample ; Στατιστικό δείγμα ; RTL ; Επίπεδο μεταφοράς καταχωρητών ; Ενσωματωμένα ψηφιακά κυκλώματα ; Embedded digital circuits ; Redundancy ; Simple Canright Sbox ; Masked Canright HLS ; AES ; Sbox ; C, C++ ; High Level Language (HLL) ; Hardware Description Language (HDL) ; High Level Synthesis (HLS) ; Προσομοίωση ; Simulation ; Evaluation ; Επιταχυντές υλικούΠερίληψη
Η πλειοψηφία των ψηφιακών μέσων που χρησιμοποιούνται για όλο το φάσμα των ανθρώπινων επικοινωνιών είτε πρόκειται για προσωπικές, κοινωνικές, επαγγελματικές, οικονομικές, εμπορικές και άλλες επικοινωνίες εμπεριέχουν σε μικρό ή μεγάλο βαθμό ψηφιακά κυκλώματα ενσωματωμένα σε διαφόρων τύπων συσκευές. Εύλογα γίνεται αντιληπτό ότι υπάρχει μεγάλη ανάγκη να εξασφαλιστεί η ασφάλεια και η αξιοπιστία των ψηφιακών κυκλωμάτων. Εξαιρετικά σημαντικό είναι το που λαμβάνει χώρα η κρυπτογράφηση, καθώς σε επίπεδο λογισμικού είναι ασύμφορη. Για την καλύτερη δυνατή απόδοση και πολλαπλάσιες επιδόσεις, η εκτέλεση αυτών των κρυπτογραφικών λειτουργιών επιλέγεται να γίνονται από κρυπτογραφικούς επιταχυντές (accelerators). Η εξέλιξη των ψηφιακών κυκλωμάτων συνεισέφερε στον να μικρύνουν σε όγκο τα ηλεκτρονικά στοιχεία και κατ’ επέκταση και ο συνολικός όγκος των κυκλωμάτων, τα οποία κατασκευάζονται συνήθως υπό την μορφή ολοκληρωμένων κυκλωμάτων (Integrated Circuits, ICs) και προγραμματίζονται ώστε να πραγματοποιούν μία σειρά από πολύπλοκες λειτουργίες. Το ζητούμενο λοιπόν είναι η παραγωγή αξιόπιστου και ασφαλούς υλικού (hardware) που θα αποτελέσει το συστατικό στοιχείο για την παραγωγή αξιόπιστων και ασφαλών ψηφιακών κυκλωμάτων. Οι γλώσσες περιγραφής υλικού, όπως είναι η VHDL και η Verilog είναι γλώσσες οι οποίες είναι κατάλληλες για τη σχεδίαση ψηφιακών κυκλωμάτων και μπορούν να περιγράφουν τόσο τη συμπεριφορά όσο και τη δομή ενός κυκλώματος εντούτοις όμως είναι λιγότερο αποδοτικές από άλλες γλώσσες υψηλού επιπέδου Ηigh Level Languages (HLL) όπως είναι η C, η C++ και η System C. Για να είναι εφικτή η σύνθεση κυκλωμάτων που έχουν περιγραφεί με γλώσσες υψηλού επιπέδου δημιουργήθηκαν εργαλεία Σύνθεσης Υψηλού Επιπέδου (High Level Synthesis – HLS), τα οποία αναλαμβάνουν, από το περιγραφόμενο υλικό σε γλώσσα υψηλού επιπέδου, να συνθέσουν το αντίστοιχο κύκλωμα στο επίπεδο μεταφοράς καταχωρητών (Register Transfer Level – RTL). Η παραγόμενη περιγραφή στο RTL γίνεται σε VHDL ή/και Verilog που είναι συμβατή με την καθιερωμένη ροή σύνθεσης για την υλοποίηση του τελικού κυκλώματος (FPGA synthesis & implementation). Στην παρούσα μεταπτυχιακή διατριβή χρησιμοποιήθηκε το εργαλείο Vivado High-Level Synthesis της Xilinx το οποίο υποστηρίζει τo σχεδιασμό, την προσομοίωση και την υλοποίηση (σύνθεση) ενός μοντέλου σε γλώσσα περιγραφής υλικού (HDL). Προσφέρει την αναπαράσταση της ζητούμενης λειτουργικότητας του υλικού (μέσα από την επιβολή καθορισμένων περιορισμών και βελτιστοποιήσεων) αναλαμβάνοντας το ίδιο το εργαλείο να προσομοιώσει και να δημιουργήσει αυτόματα μία σύνθεση σε γλώσσα περιγραφής υλικού, η οποία στη συνέχεια μέσω κατάλληλου εργαλείου οδηγεί στην υλοποίηση του υλικού με FPGA ή ASICs. Στο πλαίσιο της διατριβής, η σχεδίαση ενός ψηφιακού κυκλώματος αποτυπώνεται με διάφορες υλοποιήσεις, με διαφορετικές βελτιστοποιήσεις (οδηγίες-ντιρεκτίβες) ώστε να μελετηθεί ποια από όλες τις υλοποιήσεις είναι πιο ασφαλής και αξιόπιστη. Η ασφάλεια και αξιοπιστία των κυκλωμάτων αξιολογείται με την εκτέλεση εκτεταμένων πειραμάτων εισαγωγής σφαλμάτων (fault injections). Από τα αποτελέσματα των πειραμάτων καθορίζεται αν χρειάζεται η ενσωμάτωση αντιμέτρων και τεχνικών προστασίας για την βελτίωση της ανθεκτικότητας του κυκλώματος. Για αυτό το λόγο στην παρούσα διατριβή εστιάζουμε στην εισαγωγή σφαλμάτων μέσω προσομοίωσης στο RTL καθώς θα μας επιτρέψει να αξιολογήσουμε την ανθεκτικότητα των υπό μελέτη κυκλωμάτων [1] στην αρχή της σχεδιαστικής ροής.