
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.
Podpisywanie zapewnia uwierzytelnienie (nadawcy), niezaprzeczalność pochodzenia i kontrolę 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-maili, takie jak SparkPost, już używają „opportunistycznego TLS” do zabezpieczenia transportu wiadomości z serwera nadawcy do serwera odbiorcy.
Część „opportunistyczna” oznacza jednak, że jeśli serwer nadawcy nie może negocjować bezpiecznego połączenia, wyślemy e-mail w postaci zwykłego tekstu. Nie jest to odpowiednie, jeśli chcesz wymusić bezpieczeństwo wiadomości na całej trasie. Możesz przyjrzeć się którzy dostawcy skrzynek pocztowych twierdzą, że obsługują TLS i którzy 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 pocztowymi (dlatego nazywa się to zabezpieczeniem warstwy transportowej). MIME (w tym S/MIME) dotyczy treści wiadomości i jej traktowania i można je traktować jako część „warstwy prezentacji”.
S/MIME zabezpiecza treść wiadomości na całej trasie („od końca do końca”) od źródła wiadomości do klienta pocztowego odbiorcy, otaczając treść wiadomości.

S/MIME szyfruje treść wiadomości za pomocą klucza publicznego odbiorcy. Treść nie może być odszyfrowana bez prywatnego klucza odbiorcy — ani przez żadną „osobę pośredniczącą”, taką jak Twój ISP, SparkPost czy serwer pocztowy odbiorcy.
Prywatny klucz nigdy nie jest ujawniany; jest zachowywany wyłącznie w posiadaniu odbiorcy. Zaszyfrowana wiadomość przemieszcza się przez Internet do serwera pocztowego odbiorcy. Po dotarciu do skrzynki pocztowej odbiorcy (zwykle automatycznie) jest odszyfrowywana jego prywatnym kluczem i staje się czytelna.
Oto kilka pułapek S/MIME, o których należy pamiętać:
Szyfrowanie S/MIME ma skutki uboczne w postaci uniemożliwienia skanowania przychodzących wiadomości przez serwer pod kątem złośliwego oprogramowania, ponieważ ładunek wiadomości jest w postaci zaszyfrowanej i dlatego jest nieidentyfikowalny.
Zauważ, że nagłówki wiadomości (Od:, Do:, Temat: itp.) nie są zaszyfrowane, więc treść tematu musi być tworzona z uwzględnieniem tego faktu.
Podpis – uwierzytelnienie
S/MIME zapewnia również odbiorcy możliwość sprawdzenia tożsamości nadawcy wiadomości, kim się podaje.
E-mail nadawcy ma dołączony certyfikat, który, podobnie jak certyfikat na bezpiecznej stronie internetowej, może być śledzony do organu wydającego. Pełny opis procesu podpisywania znajduje się tutaj.
Przyjmiemy podejście polegające na najpierw podpisaniu e-maila, a następnie jego zaszyfrowaniu, więc proces wygląda tak:

Niezaprzeczalność
Kolejną użyteczną korzyścią z podpisywania 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żeli nadawca później próbuje powiedzieć: „Nie, nigdy ci tej wiadomości nie wysłałem”, otrzymana wiadomość pokazuje, że faktycznie użyto certyfikatu nadawcy.
Integralność wiadomości
Proces podpisywania tworzy odcisk palca nieszyfrowanej wiadomości źródłowej (znanej jako skrót wiadomości), szyfruje go za pomocą prywatnego klucza nadawcy i dołącza go do dostarczonej wiadomości. Klient pocztowy odbiorcy może stwierdzić, czy treść wiadomości została zmieniona.
Może pomyślisz, „Myślałem, że DKIM zapewnia mi kontrole integralności wiadomości!” Cóż tak, DKIM zapewnia integralność treści wiadomości i nagłówka wiadomości - gwarancje przeciwko manipulacjom. Jednak niepowodzenie DKIM (lub jego brak) zwykle nie spowoduje, że wiadomość przychodząca zostanie oznaczona jako całkowicie nieważna, ... chyba że obowiązuje polityka DMARC p=reject (więcej na ten temat tutaj). DKIM jest jednym z wielu czynników wykorzystywanych przez dostawcę usług internetowych do niezawodnego przypisania reputacji do domeny i jest, oczywiście, niezbędnym elementem twojego stosu wiadomości.
Twój klient poczty wyraźnie pokaże, jeśli wiadomość S/MIME nie przejdzie kontroli podpisu:

Podsumowanie: od końca do końca (S/MIME) vs serwer do serwera (DKIM, DMARC, TLS)
S/MIME to funkcja warstwy prezentacji, która może działać między dwoma użytkownikami końcowym e-maila (z ważnymi certyfikatami/kluczami) bez jakichkolwiek działań ze strony administratora e-maila. S/MIME zapewnia szyfrowanie i podpisywanie i jest osobiste dla każdego użytkownika.
S/MIME jest powiązany z pełnym adresem nadawcy (część lokalna i domenowa), więc na przykład alice@bigcorp.com i bob@bigcorp.com musieliby mieć różne certyfikaty. W przeciwieństwie do tego, DKIM potwierdza, że e-mail pochodzi z podpisanej domeny. DKIM to temat sam w sobie; ten artykuł jest dobrym miejscem na początek.
Konfiguracja DKIM i DMARC jest wykonywana przez administratora e-maila (pracującego na serwerze pocztowym i w zapisach DNS). Po skonfigurowaniu są aktywne dla domen, a nie dla poszczególnych użytkowników.
Jak to się odnosi do SparkPost?
Którzy klienci obsługują S/MIME?
Consumer Gmail
Standardowy klient internetowy Gmail wyświetla podpisy przychodzącej poczty (patrz poniżej), ale nie jest skonfigurowany do przechowywania twojego klucza prywatnego do odczytywania zaszyfrowanych wiadomości. Nawet jeśli byłoby to możliwe za pośrednictwem wtyczek zewnętrznych, przesłanie klucza prywatnego nie jest dobrym pomysłem z punktu widzenia bezpieczeństwa.

Nie udało mi się w ogóle uzyskać Yahoo! Mail do dekodowania podpisów w wiadomościach.
Konsumencka wersja kont Microsoft Outlook/Hotmail ostrzega o obecności podpisu S/MIME, ale nie daje pełnego dostępu do przeglądania ani sprawdzania certyfikatu.

Hosted business mail
Dla organizacji z pocztą hostowaną, Microsoft Office 365 i G Suite Enterprise mają wsparcie dla S/MIME.
Outlook mail clients
Klienty oparte na Microsoft Outlook (np. 2010 dla Windows) działają:

Kliknięcie ikon daje więcej informacji:


W Outlook 2010 / Windows, magazyn certyfikatów jest dostępny przez Plik / Opcje / Centrum Zaufania / Ustawienia Centrum Zaufania / Zabezpieczenia Poczty E-mail / Import / Eksport.

Thunderbird – cross-platform and free
Jeśli szukasz darmowego klienta, Mozilla Thunderbird spełnia wymagania. Jest dostępny na PC, Mac i Linux oraz obsługuje S/MIME na wszystkich tych platformach. Tak wygląda wiadomość na Mac. Ikona „zamknięta koperta” wskazuje, że wiadomość jest podpisana, a kłódka wskazuje, że została zaszyfrowana.

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

Thunderbird ma własny magazyn kluczy, dostępny w podobny sposób 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
Mac Mail
Mac Mail również obsługuje S/MIME. Opiera się na twoim pęku kluczy Mac do przechowywania kluczy.

iOS Mail
Najpierw zaimportuj certyfikat konta e-mail w ten sposób, a następnie możesz przeglądać S/MIME podpisane i zaszyfrowane e-maile. W rzeczywistości na ekranie przeglądania nie wyglądają one inaczej.



Android
Niektóre urządzenia i aplikacje obsługują S/MIME; istnieje 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 pocztowe, lista dostawców znajduje się tutaj. Znalazłem, że Comodo działa dobrze (bezpłatne do użytku niekomercyjnego – otwórz to w Firefoxie, nie Chrome).
W części 2 zbadamy, jak zastosować podpisywanie i szyfrowanie S/MIME do wiadomości dostarczanych za pośrednictwem SparkPost.
Dalsza lektura
Microsoft ma dobry artykuł wprowadzający na temat S/MIME tutaj.
Więcej informacji na temat podatności EFAIL i sposobu, w jaki została rozwiązana, można znaleźć na tym stronie. Inne łatwe do zrozumienia wyjaśnienia są tutaj i tutaj.