
S/MIME to od dawna ustalona metoda wysyłania zaszyfrowanych, podpisanych wiadomości e-mail, oparta na publicznych standardach internetowych. Regularnie spotykamy się z wymaganiami dotyczącymi S/MIME, szczególnie z regulowanych branż, takich jak bankowość, zdrowie i finanse.
S/MIME to długo ustanowiona metoda wysyłania zaszyfrowanych, podpisanych emaili, oparta na publicznych standardach internetowych. Regularnie spotykamy wymagania dotyczące S/MIME, szczególnie od branż regulowanych, takich jak bankowość, zdrowie i finanse. S/MIME jest często wymagane przy komunikacji pomiędzy firmami a agencjami rządowymi, na przykład.
Inny standard bezpiecznej poczty, PGP (zabawnie nazwany jako „Pretty Good Privacy”), jest bardziej używany do bezpiecznej komunikacji między osobami. Jest obecnie mniej popularny, ponieważ wersje konsumenckie popularnych klientów poczty internetowej, takich jak Gmail i Outlook/Hotmail, nie są w stanie wyświetlać zaszyfrowanej poczty. To jeden z powodów, dla którego wiele komunikacji osoba-do-osoby, która wymaga prywatności, przeniosło się na platformy takie jak WhatsApp (i wiele innych), które oferują wbudowane szyfrowanie end-to-end.
Zarówno PGP, jak i S/MIME wymagają klienta poczty, który może korzystać z kluczy i certyfikatów. Wiele klientów na komputerach stacjonarnych i urządzeniach mobilnych, w tym Apple Mail, Microsoft Outlook i Mozilla Thunderbird, spełnia te wymagania, podobnie jak wersje biznesowe niektórych klientów internetowych, takich jak Microsoft Office 365. Konfiguracja kluczy wymaga pracy, ale wiele organizacji nadal uważa to za wartościowe, pomimo niedawnych wykryć luk bezpieczeństwa, które wymagają działań naprawczych w celu zablokowania ładowania zdalnej zawartości.
S/MIME istnieje od 1995 roku i przeszło kilka poprawek; obecna wersja jest objęta RFC 5751. Wymaga wymiany kluczy publicznych, zadanie niezbyt proste, które często wymaga wsparcia zespołu IT lub podobnego zasobu. Dla organizacji korzystających z infrastruktury poczty e-mail na miejscu, wdrożenie S/MIME wymaga dodatkowych rozważań dla platform takich jak PowerMTA i Momentum, które omawiamy w naszym przewodniku S/MIME dla bezpiecznej poczty e-mail na miejscu. Istnieją jednak zautomatyzowane podejścia do usprawnienia tego procesu, takie jak zbieranie kluczy publicznych odbiorców przez systemy oparte na emailach, które mogą uprościć zarządzanie kluczami dla strumieni wiadomości generowanych przez aplikacje. W tym miejscu pojawiają się komercyjne rozwiązania firm takich jak partnerzy SparkPost, Virtru i Echoworkx, ułatwiając zabezpieczenie korespondencji biznesowej osoba-osoba (zobacz nasz SparkPost/Echoworkx how-to po więcej informacji).
To powiedziawszy, zgłębmy trochę tradycyjne S/MIME i zobaczmy, co możemy z niego zrobić.
Dlaczego powinienem się tym przejmować?
Krótka wersja:
Szyfrowanie zapewnia prywatność wiadomości.
Podpisanie zapewnia uwierzytelnienie (nadawcy), niezaprzeczalność pochodzenia i weryfikację integralności wiadomości.
S/MIME działa inaczej niż DKIM i DMARC i może współistnieć z nimi.
Prywatność
Jeśli Twoje wiadomości nie zawierają niczego osobistego, prywatnego ani prawnie istotnego, prawdopodobnie nie będziesz musiał myśleć o S/MIME. Nowoczesne systemy dostarczania e-mail, takie jak SparkPost, już używają „okazjonalnego TLS” do zabezpieczenia transportu wiadomości od serwera nadawczego do odbiorcego.
Część "okazjonalna" oznacza jednak, że jeśli serwer nadawczy nie może negocjować bezpiecznego połączenia, wyślemy wiadomość w postaci niezaszyfrowanej. Nie jest to odpowiednie, jeśli chcesz, aby wiadomość była zabezpieczona na całej drodze. Możesz rzucić okiem na które skrzynki pocztowe deklarują wsparcie TLS i które rzeczywiście to robią. Zakładając, że serwer odbiorcy obsługuje TLS, Twoja wiadomość jest zabezpieczona w następujący sposób:

TLS zabezpiecza rozmowy między serwerami poczty (dlatego nazywa się to Transport Layer Security). MIME (w tym S/MIME) dotyczy treści wiadomości i jej przetwarzania, i można to uważać za część „warstwy prezentacji”.
S/MIME zabezpiecza treść wiadomości na całej drodze („od końca do końca”) od pochodzenia wiadomości do klienta poczty odbiorcy, enkapsulując treść wiadomości.

S/MIME szyfruje treść wiadomości kluczem publicznym odbiorcy. Treść nie może być odszyfrowana bez prywatnego klucza odbiorcy — nie może tego zrobić żaden „osoba w środku”, jak Twój dostawca internetowy, SparkPost czy serwer poczty odbiorcy.
Prywatny klucz nigdy nie jest ujawniany; jest go w posiadaniu wyłącznie odbiorca. Zaszyfrowana wiadomość podróżuje przez Internet do serwera poczty odbiorcy. Kiedy trafia do skrzynki odbiorczej odbiorcy, jest (zwykle automatycznie) odszyfrowywana za pomocą jego prywatnego klucza i staje się czytelna.
Kilka rzeczy do zrozumienia na temat S/MIME:
Szyfrowanie S/MIME ma efekt uboczny polegający na uniemożliwieniu skanowania przychodzących wiadomości na serwerze w poszukiwaniu złośliwego oprogramowania, ponieważ ładunek wiadomości jest zaszyfrowany i dlatego nie można go zidentyfikować.
Zauważ, że nagłówki wiadomości (Od:, Do:, Temat: itp.) nie są szyfrowane, więc zawartość linii tematu musi być utworzona z tego świadomością.
Podpisanie – uwierzytelnienie
S/MIME daje odbiorcy możliwość sprawdzenia, że tożsamość nadawcy wiadomości jest tym, za kogo się podaje.
E-mail nadawcy ma załączony certyfikat, który, podobnie jak certyfikat na zabezpieczonej stronie internetowej, można śledzić do urzędu wydającego. Pełny opis procesu podpisywania znajduje się w PDF o procesie podpisywania S/MIME.
Podchodzimy najpierw do podpisania wiadomości, a następnie jej zaszyfrowania, więc proces wygląda tak.

Niezaprzeczalność
Inną przydatną korzyścią z podpisania dla odbiorcy jest niezaprzeczalność pochodzenia. Rozważ sytuację, w której wiadomość e-mail jest używana do zatwierdzenia umowy. Odbiorca otrzymuje umowę w wiadomości od nadawcy. Jeśli nadawca później próbuje powiedzieć: „Nie, nigdy ci tej wiadomości nie wysłałem”, to odebrana wiadomość pokazuje, że certyfikat nadawcy został faktycznie użyty.
Integralność wiadomości
Proces podpisywania tworzy odcisk palca nieprzetworzonej wiadomości źródłowej (znany jako skondensowana wiadomość), zaszyfrowuje ją za pomocą prywatnego klucza nadawcy i dołącza ją do dostarczonej wiadomości. Klient poczty odbiorcy może stwierdzić, czy treść wiadomości została zmieniona.
Możesz pomyśleć: „Myślałem, że DKIM zapewnia mi kontrole integralności wiadomości!” Tak, DKIM zapewnia kontrole integralności treści wiadomości i nagłówków wiadomości – gwarancje antymanipulacyjne. Jednak niepowodzenie DKIM (lub jego brak) zazwyczaj nie spowoduje oznaczenia przychodzącej wiadomości jako całkowicie nieważnej... chyba że obowiązuje polityka DMARC z p=reject (zobacz nasz wpis na blogu DMARC: Jak chronić swoją reputację e-mail). DKIM jest jednym z wielu czynników używanych przez dostawcę internetowego do wiarygodnego przypisania reputacji domenie i jest, oczywiście, niezbędną częścią Twojego stosu komunikacji.
Twój klient poczty wyraźnie pokaże, jeśli wiadomość S/MIME nie przejdzie kontroli podpisu:

Podsumowanie: koniec-do-końca (S/MIME) vs serwer-do-serwera (DKIM, DMARC, TLS)
S/MIME to zdolność warstwy prezentacji, która może działać między dwoma użytkownikami końcowymi e-mail (z ważnymi certyfikatami/kluczami) bez żadnych działań ze strony administratora poczty elektronicznej. S/MIME zapewnia szyfrowanie i podpisywanie i jest osobiste dla każdego użytkownika.
S/MIME jest powiązany z pełnym adresem nadawczym (część lokalna i domena), więc na przykład alice@bigcorp.com i bob@bigcorp.com muszą mieć różne certyfikaty. W przeciwieństwie do tego, DKIM weryfikuje, że e-mail pochodzi z domeny podpisującej. DKIM to cały temat sam w sobie; ten artykuł to dobry punkt wyjścia.
Ustawienia DKIM i DMARC są dokonywane przez administratora poczty elektronicznej (pracującego na serwerze poczty i rekordach DNS). Po skonfigurowaniu, są aktywne dla domen, a nie poszczególnych użytkowników.
Jak to się odnosi do SparkPost?
Którzy klienci obsługują S/MIME?
Consumer Gmail
Zwykły klient internetowy Gmail wyświetla sygnatury przychodzącej poczty (patrz poniżej), ale nie jest skonfigurowany do przechowywania twojego klucza prywatnego do odczytu zaszyfrowanych wiadomości. Nawet jeśli byłoby to możliwe za pośrednictwem wtyczek firm trzecich, przesyłanie klucza prywatnego nie jest dobrym pomysłem z punktu widzenia bezpieczeństwa.

Nie mogłem w ogóle zmusić Yahoo! Mail do dekodowania sygnatur w wiadomościach.
Wersja konsumencka kont Microsoft Outlook/Hotmail ostrzega o obecności sygnatury S/MIME, ale nie daje pełnego dostępu do jej przeglądania ani sprawdzania certyfikatu.

Poczta biznesowa hostowana
Dla organizacji korzystających z hostowanej poczty, Microsoft Office 365 i G Suite Enterprise mają wsparcie S/MIME.
Klienci poczty Outlook
Oparta na kliencie Microsoft Outlook (np. 2010 dla Windows) działa:

Kliknięcie ikon daje więcej informacji:


W Outlook 2010 / Windows, dostęp do magazynu certyfikatów uzyskuje się poprzez Plik / Opcje / Centrum zaufania / Ustawienia Centrum zaufania / Bezpieczeństwo poczty e-mail / Import / Eksport.

Thunderbird – wieloplatformowy i darmowy
Jeśli szukasz darmowego klienta, Mozilla Thunderbird spełnia swoje zadanie. Jest dostępny na PC, Mac i Linux i obsługuje S/MIME na wszystkich tych platformach. Oto jak wygląda wiadomość na Mac. Ikona „zapewnia koperta” wskazuje, że wiadomość jest podpisana, a kłódka wskazuje, że jest zaszyfrowana.

Kliknięcie na kopercie/kłódce wyświetla informacje o wiadomości:

Thunderbird ma własny magazyn kluczy, do którego dostęp jest podobny na każdej platformie:
Mac przez Preferencje / Zaawansowane / Certyfikaty / Zarządzaj certyfikatami
PC: menu („hamburger” w prawym górnym rogu), Zaawansowane / Certyfikaty / Zarządzaj certyfikatami
Linux: menu („hamburger” w prawym górnym rogu), Preferencje / Zaawansowane / Zarządzaj certyfikatami
Poczta Mac
Poczta Mac również obsługuje S/MIME. Polega na twoim pęku kluczy Mac w celu przechowywania twoich kluczy.

Poczta iOS
Najpierw zaimportuj certyfikat swojego konta e-mail tak, a następnie będziesz mógł przeglądać e-maile podpisane i zaszyfrowane S/MIME. Na ekranie przeglądania nie wyglądają one w rzeczywistości inaczej.



Android
Niektóre urządzenia i aplikacje obsługują S/MIME; dostępna jest duża różnorodność. Samsung ma przewodnik.
W końcu…
To nasze szybkie podsumowanie praktycznych zastosowań S/MIME. Jeśli chcesz uzyskać własne certyfikaty poczty, lista dostawców znajduje się tutaj. Znalazłem, że Comodo działa dobrze (bezpłatnie do użytku niekomercyjnego – otwórz to w Firefox, nie w Chrome).
W części 2 dowiemy się, jak zastosować podpisywanie i szyfrowanie S/MIME do wiadomości, które dostarczasz za pośrednictwem SparkPost.
Dalsza lektura
Microsoft ma dobrą wprowadzeniową artykuł na temat S/MIME w ich dokumentacji.
Aby uzyskać więcej informacji na temat luki EFAIL i sposobu jej rozwiązania, zapoznaj się z oficjalną stroną internetową EFAIL. Inne łatwe do zrozumienia wyjaśnienia są dostępne na stronie wiki EFAIL oraz w bloku CipherMail EFAIL: Co jest podatne, PGP, S/MIME czy Twój klient poczty?.