Περίληψη: | Κατά τη διάρκεια των αιώνων έχουν γίνει πολλές προσπάθειες για την ασφαλή μεταφορά πληροφορίας μεταξύ των ανθρώπων. Έχουν δημιουργηθεί πολλοί αλγόριθμοι κρυπτογράφησης δεδομένων.
Σκοπός της διπλωματικής αυτής είναι η καταγραφή, η ανάλυση, ενός τρόπου πιστοποίησης του πελάτη από ένα server με σκοπό την απόκρυψή ή όχι ευαίσθητων δεδομένων.
Συγκεκριμένα έγινε μελέτη του JAVA EE framework για την ανάπτυξη ενός JAVA API. Αφού δημιουργήθηκαν κάποιες βασικές κλήσεις στο API, έγινε προσπάθεια για την δημιουργία ενός μηχανισμού πιστοποίησης του πελάτη που συνδέεται στο API. Σύμφωνα με αυτόν το μηχανισμό όταν ένας χρήστης εγγράφεται στο server τότε παράγεται ένα πιστοποιητικό. Το πιστοποιητικό αυτό υπογράφεται με το ιδιωτικό κλειδί του server και αποστέλλεται στο πελάτη. Όταν ο πελάτης θέλει να συνδεθεί στο σύστημα, τότε θα αποστέλλει το πιστοποιητικό αυτό ώστε να πιστοποιήσει την ταυτότητα του. Αφού έχει πραγματοποιηθεί μία σύνοδος μεταξύ πελάτη και διακομιστή, ο διακομιστής θα δημιουργήσει ένα jwt κατάλληλο για τον συγκεκριμένο πελάτη και θα το υπογράψει και αυτό με το ιδιωτικό του κλειδί. Επομένως κάθε φορά που ο χρήστης θέλει να αποκτήσει πρόσβαση σε προστατευόμενο περιεχόμενο θα προσαρμόσει στο HTTP Header (Authorization) το jwt σε base64 μορφή (όπως εξηγείται παρακάτω) και αφού επικυρωθεί από τον server θα κάνει λήψη του περιεχομένου. Επίσης απαραίτητα προϋπόθεση ήταν και δημιουργία ενός ασφαλούς καναλιού επικοινωνίας μεταξύ του μοντέλου διακομιστή – πελάτη. Στην συνέχεια έγινε προσπάθεια του φλιταρίσματος των δεδομένων που ανταλλάσσονται μεταξύ τους με την χρήση του εργαλείου Wireshark για την επικύρωση ότι είναι κρυπτογραφημένα. Επίσης, γίνεται προσπάθεια δημιουργίας ενός τοίχους προστασίας με την χρήση των IP-Tables. Τα IP-Tables στην συγκεκριμένη διπλωματική χρησιμοποιήθηκαν για το περιορισμό των συνδέσεων των πελατών στο API. Στην περίπτωση των DDοs επιθέσεων, ο περιορισμός των επιτρεπόμενων συνδέσεων στο API από μια συγκεκριμένη IP θα αποτρέψει την κατάρρευση του συστήματος.
|