Το Ima-Hub εφαρμόζει το πρωτόκολλο του Signal για ασφαλή επικοινωνία μεταξύ των χρηστών
Microservice αποστολής/λήψης
Το microservice αποστολής/λήψης είναι υπεύθυνο στο HUB για την αποστολή και την λήψη των κρυπτογραφημένων μηνυμάτων και αρχείων από και προς τους τελικούς χρήστες. Για να ξεκινήσει κάποιος την διασύνδεση με το microservice αποστολής/λήψης απαραίτητη προϋπόθεση είναι να είναι εγγεγραμμένος στο HUB.
Το microservice αποστολής/λήψης εξασφαλίζει την ιδιωτικότητα των δεδομένων του χρήστη με την χρήση end-to-end υπερσύγχρονης κρυπτογράφησης βασισμένη στο Signal Protocol (https://signal.org/). Οι συνομιλίες είναι ασφαλείς από όλους. Oύτε το ίδιο το ΗUB δεν έχει την δυνατότητα να παρεισδύσει στα δεδομένα του χρήστη.
Πρωτόκολλο Signal
Το Πρωτόκολλο Signal είναι ένα μη ενοποιημένο κρυπτογραφικό πρωτόκολλο που μπορεί να χρησιμοποιηθεί για την παροχή κρυπτογράφησης από άκρο σε άκρο για φωνητικές κλήσεις και συνομιλίες άμεσων μηνυμάτων. Το πρωτόκολλο αναπτύχθηκε από την Open Whisper Systems το 2013 και εισήχθη για πρώτη φορά στην εφαρμογή ανοιχτού κώδικα TextSecure, η οποία αργότερα έγινε Signal.
Το πρωτόκολλο παρέχει εμπιστευτικότητα, ακεραιότητα, έλεγχο ταυτότητας, συνέπεια συμμετεχόντων, επικύρωση προορισμού, εμπρός απόρρητο, ασφάλεια μετά τον συμβιβασμό (γνωστή και ως μελλοντική μυστικότητα), διατήρηση αιτιότητας, αποσύνδεση μηνυμάτων, απόρριψη μηνύματος, απόρριψη συμμετοχής και ασυγχρονικότητα. Δεν παρέχει διατήρηση της ανωνυμίας και απαιτεί διακομιστές για την αναμετάδοση μηνυμάτων και την αποθήκευση υλικού δημόσιου κλειδιού.
Πολλές εφαρμογές ανταλλαγής μηνυμάτων έχουν εφαρμόσει το πρωτόκολλο, όπως το WhatsApp, η εφαρμογή μηνυμάτων Google που παρέχει κρυπτογράφηση από άκρο σε άκρο σε όλες τις συνομιλίες που βασίζονται σε RCS, το Facebook Messenger για προαιρετικές μυστικές συνομιλίες και το Skype για τις ιδιωτικές συνομιλίες.
Το πρωτόκολλο συνδυάζει τον αλγόριθμο Double Ratchet, τα προκλειδιά και μια τριπλή ελλειπτική καμπύλη Diffie–Hellman (3-DH) χειραψία και χρησιμοποιεί τα Curve25519, AES-256 και HMAC-SHA256 ως πρωταρχικά.
Πρωτόκολλα κρυπτογράφησης στο HUB
Τα XEdDSA και VXEdDSA signature schemes θα χρησιμοποιηθούν για την δημιουργία και επαλήθευση συμβατών με EdDSA υπογραφών χρησιμοποιώντας μορφές δημόσιου και ιδιωτικού κλειδιού που είχαν αρχικά καθοριστεί για τις λειτουργίες ελλειπτικής καμπύλης X25519 και X448 Diffie-Hellman.
Το πρωτόκολλο Extended Triple Diffie-Hellman Key Protocol, γνωστό και ως X3DH, είναι ένα κοινόχρηστο πρωτόκολλο δημιουργίας μυστικών κλειδιών με αμοιβαίο έλεγχο ταυτότητας μερών που βασίζονται σε δημόσια κλειδιά. Το X3DH θα δημιουργεί ένα κοινό μυστικό κλειδί μεταξύ δύο μερών που αλληλοεπικυρώνονται μεταξύ τους βάσει δημόσιων κλειδιών.
O Double Ratchet είναι ένας αλγόριθμος διαχείρισης κλειδιών. Θα χρησιμοποιηθεί για την ανταλλαγή κρυπτογραφημένων μηνυμάτων με βάση ένα κοινό μυστικό κλειδί. Τα συμβαλλόμενα μέρη θα παράγουν νέα Double Ratchet κλειδιά για κάθε μήνυμα.
Ο αλγόριθμος Sesame θα χρησιμοποιηθεί για την διαχείριση της ασύγχρονης μετάδοσης κρυπτογραφημένων μηνυμάτων.