S/MIME Στα πρώτα στάδια ανάπτυξης η εφαρμογή υποστήριζε αποκλειστικά τη μεταφορά κειμένου μεταξύ των χρηστών Το πρωτόκολλο MIME (Multipurpose Internet Mail Extension) αναπτύχθηκε στις αρχές του ’90 για να υποστηρίξει, εκτός από κείμενο, τη μεταφορά εικόνων, video, binary δεδομένων και επισυναπτομένων αρχείων Το MIME δεν παρέχει υπηρεσίες ασφαλείας. Το μήνυμα μπορεί να υποκλαπεί ή να αλλοιωθεί κατά τη διαδρομή του προς τον προορισμό Το S/MIME πρωτόκολλο είναι η αναβαθμισμένη έκδοση του MIME με υπηρεσίες ασφαλείας Υποστηρίζεται από τα περισσότερα προγράμματα Περιγράφεται στην RFC 2633 προδιαγραφή (ver. 3)
S/MIME Εμπιστευτικότητα. Μόνο ο εξουσιοδοτημένος παραλήπτης μπορεί να διαβάσει το μήνυμα Αυθεντικότητα. Ο παραλήπτης μπορεί να ελέγξει την αυθεντικότητα του αποστολέα του μηνύματος Ακεραιότητα. Ο παραλήπτης μπορεί να ελέγξει εάν το περιεχόμενο του μηνύματος έχει αλλοιωθεί κατά τη διαδρομή του στο δίκτυο Ασφάλεια δεδομένων. Το περιεχόμενο του μηνύματος κρυπτογραφείται με τη χρήση του RSA αλγορίθμου Υπηρεσίες
S/MIME Συναρτήσεις κατακερματισμού: SHA-1 & MD5 Ψηφιακές υπογραφές: DSS & RSA Κρυπτογράφηση μυστικού κλειδιού: RSA, Diffie-Hellman Κρυπτογράφηση μηνύματος: Triple-DES, RC2/40,... Αλγόριθμοι Κρυπτογράφησης
S/MIME Χρησιμοποιούνται και οι δύο τεχνικές κρυπτογράφησης, συμμετρική και δημοσίου κλειδιού Το μήνυμα κρυπτογραφείται με τη χρήση κάποιου μυστικού κλειδιού Το μυστικό κλειδί κρυπτογραφείται χρησιμοποιώντας το δημόσιο κλειδί του παραλήπτη Το κρυπτογραφημένο μυστικό κλειδί μεταφέρεται μαζί με το μήνυμα στον παραλήπτη Η αυθεντικότητα και ακεραιότητα του μηνύματος επιτυγχάνεται με τη χρήση της ψηφιακής υπογραφής Χαρακτηριστικά
S/MIME Αρχικά το πρόγραμμα εφαρμόζει στο μήνυμα μία συνάρτηση κατακερματισμού, η οποία υπολογίζει την τιμή ανακατάταξης βάση του περιεχομένου του μηνύματος Η τιμή αυτή κρυπτογραφείται με το ιδιωτικό κλειδί του αποστολέα παράγοντας την ψηφιακή υπογραφή του μηνύματος Η εφαρμογή δημιουργεί ένα τυχαίο μυστικό κλειδί συνόδου (session key) και με αυτό κρυπτογραφεί το μήνυμα Κρυπτογραφεί το κλειδί της συνόδου με το δημόσιο κλειδί του παραλήπτη Λειτουργία
S/MIME Η εφαρμογή δημιουργεί ένα συνολικό μήνυμα, το οποίο αποτελείται από το κρυπτογραφημένο μήνυμα, την ψηφιακή υπογραφή, το κρυπτογραφημένο κλειδί συνόδου, τα ονόματα των αλγορίθμων κρυπτογράφησης και το πιστοποιητικό του αποστολέα Το μήνυμα αυτό είναι ένα S/MIME μήνυμα, το οποίο αποστέλλεται προς τον προορισμό Ο παραλήπτης του μηνύματος χρησιμοποιεί το ιδιωτικό του κλειδί, για να αποκρυπτογραφήσει το μυστικό κλειδί της συνόδου Στη συνέχεια, χρησιμοποιεί το μυστικό κλειδί για να αποκρυπτογραφήσει το μήνυμα Λειτουργία
S/MIME Διαχωρίζει την ψηφιακή υπογραφή από το μήνυμα και εφαρμόζει στο μήνυμα την ίδια συνάρτηση κατακερματισμού παράγοντας και αυτός μία τιμή ανακατάταξης Μαθαίνει το δημόσιο κλειδί του αποστολέα από το πιστοποιητικό του Αποκρυπτογραφεί την ψηφιακή υπογραφή με το δημόσιο κλειδί του αποστολέα Το μήνυμα θεωρείται αυθεντικό μόνο αν η τιμή ανακατάταξης που υπολόγισε ο παραλήπτης είναι ίση με την αποκρυπτογραφημένη τιμή Λειτουργία
S/MIME Message Encrypted Message Encryption Hash Function Message Digest Encryption Digital Signature Message Header MIME Part Λειτουργία