Почта с повышенной секретностью (Privacy-Enhanced Mail, PEM) является стандартом Интернета для гарантирования безопасности электронной почты в Интернете. Этот стандарт одобрен советом по архитектуре Интернета (Internet Architecture Board, IAB). Впервые был разработан под руководством Группы приватности и безопасности Internet Resources Task Force (IRTF) в 1993 году, далее разработка была передана в PEM Working Group (IETF). Фактически, протоколы PEM созданы для шифрования, проверки подлинности, проверки целостности и администрирования ключей. В конечном итоге протоколы описываются в RFC 7468 Архивная копия от 12 декабря 2018 на Wayback Machine.
PEM поддерживает стандартный набор алгоритмов шифрования, однако допустимо добавление более поздних версий. Сообщения шифруются с помощью DES в режиме CBC. Проверка подлинности сообщения (MIC) использует MD2 или MD5 хеширование. Симметричное управление ключами применяет либо DES в режиме ECB, либо Triple-DES. Для управления ключами поддерживаются сертификаты открытых ключей с использованием RSA (с длиной ключа до 1024 битов) и следуя стандарту X.509 для самой структуры сертификатов.
В то же время, почтовая система не облагается никакими специальными требованиями. PEM может быть встроен выборочно: в определённые узлы или у определённых пользователей, не затрагивая остальную сеть.
PEM является расширением X.509, определяющим процедуры и соглашения для системы управления ключами, которая используется с PEM. Существует три типа удостоверяющих центров для PEM.
Предположительно, несколько PCA будут выделены для обеспечения сертификации пользователей, которые не входят ни в одну организацию и хотят воспользоваться достоинствами PEM с сохранением своей анонимности. Стратегия этих PCA позволит регистрироваться пользователям, скрывающими свои личности.
Отличительной особенностью PEM является формат сообщений.
Сообщения, посылаемые с помощью системы РЕМ, сначала преобразуются в каноническую форму, удовлетворяющую особому набору правил, касающихся использования пробелов, табуляторов, символов возврата каретки и перевода строки. Затем с помощью алгоритма MD2 или MD5 вычисляется хеш-код сообщения. Потом конкатенация хеш-кода и сообщения шифруются при помощи алгоритма DES. Затем зашифрованное сообщение преобразуется в кодировку base64 и передается получателю.
Пример встроенного сообщения (случай симметричного управления ключами):
-----BEGINPRIVACY-ENHANCEDMESSAGE----- Proc-Type:4,ENCRYPTED Content-Domain:RFC822 DEK-Info:DES-CBC,F8143EDE5960C597 Originator-ID-Symmetric:schneler@counterpane.com,, Recipient-ID-Symmetric:schneler@chinet.com,ptf-kmc,3 Key-Info DES-ECB,RSA-MD2,9FD3AAD2F2691B9A,B70665BB9BF7CBCDA60195DB94F727D3 Recipient-lD-Symmetric:penl-dev@tis.com,ptf-kmc,4 Key-Info : DES-ECB,RSA-MD2,161A3F75DC82EF26,E2EF532C65CBCFF79F83A2658132DB47 LLrHBOeJzyhP+/fSStdH8okeEnv47jxe7SJ/iN72ohNcUk2jHEUSoHlnvNSIHE9M 8tEjmF/zxB+bATMtPjCUHbz8Er9wloxIkjHUlBEpvXROUrUzYbkNpkOagV2IzUpk J6UiRRGcDSvzrsoK+oNvqu6z7Xs5Xfz5rDqUcMlKlZ6720dcBHGGsDLpTpSCnpot dXd/H5LMDHnonNvPCmQUHt== -----ENDPRIVACY-ENHANCEDMESSAGE-----
Пример встроенного шифрованного сообщения (асимметричный случай):
-----BEGINPRIVACY-ENHANCEDMESSAGE----- Proc-Type:4,ENCRYPTED ContentDomain: RFC822 DEK-Info:DESCBC,BFF968AA74691AC1 0riginator - Certificate : MIIBlTCCAScCAWuwDQYJKoZIhvcNAQECBQAwUTELMAkGAlUEBhMCVVMxIDAeBgNV BAoTFIJTQSBEYXRhIFNIY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEmZCZXRhIDExDzAN gNVBAsTBk5PVEESWTAeFw05MTA5MDQxODM4MTdaFmO5MzA5MDMxODM4MTZaMEUx CzAJBgNVBAYTAlVTMSAmHgYDVQQKExdSUOEgRGFOYSBTZWNlcmlOeSwgSW5jLjEU MBIGAIUEAxMLVGVzdCBVc2VyIDEmHTAKBgRVCAEBAglCAANLADBIAkEAwHZHI7i+ yJcqDtjJComzTdBJrdAiLAnSC+CnnjOJEEyuQiBgkGrgIh3j8/xOfM+YrsyFlu3F LZPVtzlrldhYFJQI DAQABMAOGCSqGSIb3DQEBAgUAAIkACKrOPqphJYwlj+YPtc iWlFPuN5jJ79Khfg7ASFxskYkEMjRNZV/HZDZQEhtVaU7Jxfzs2mfX5byMp2X3U/ XIJXGx7qlJsDgHQGs7Jk9H8CHlfuSHUgN4w== Key-Info:RSA, I3rRIGXUGWAF8js5wCzRTkdh034PTHdRZY9Tuvm03M+NM7fx6qc5uIxps2LrlgO+ wGrtiUm/ovtKdlnzeZQ/aQ== Issuer-Certificate: MIIB3DCCAUgCAQowDQYJKoZIhvcNAQECBQAwTzELMAkGAIUEBhMCVVMxIDAeBgNV BAoTFIJTQSBEYXRhIFNIY3VyaXR5LCBJbmMuMQ8mDQYDVQQEEwZCZXRhIDExDTAE BgNVBAsTBFRMQOEwHhcNOTEmOTAxMDgwMDAwWhcNOTlwOTAxMDclOTU5HjBRMQsw CQYDVQQGEwJVUzEgMB4GAIUEChMXUINBIERhdGEgU2VjdXJpdHksIEIuYy4xDzAN BgNVBAsTBkJIdGEgMTEPMAOGAIUECxMGTk9UQVJZMHAmCgYEVQgBAQICArmDYgAm XwJYCsnp61QCxYykNIODwutF7jMJ3kE+3PjYyHOwk+79rLg6X65B/ED4bJHt05XH cqAz/7R7XhjYCmOPcqbdzoACZtIIETrKrcJiDYoP+DkZ8klgCk7hQHpbImIDAQAB MAOGCSqGSIb3DQEBAgUAA38AAICPv4f9Gx/tY4+p+4DB7MV+tKZnvBoy8zgoMGOx dD2jMZ/3HsyWKHgSFOeH7AJB3qr9zosG47pyMnTf3aSy2nBO7CMxpUHRBcXUpE+x EREZd9++32ofGBIXaIaInOgVUnOOzSYgugiQO77nJLDUjOhQehCizEs5wUJ35a5h MIC-Info:RSA-MD5,RSA, UdFJR8u/TIGhfH651eeme210H4tooa3vZCvVNGBZirf/7nrgzHDABz8m9NsXSexv AjRFbHoNPzBuxwnlOAFeAOHJszE4yBvhG Recipient-ID-Asymmetric : MFExCzAJBgNVBAYTAIVTMSAmHgYDVQQKExdSUOEgRGFOYSBTZHNlcmIOeSwgSH5j LjEPMAOGAIUECxMGQftiVOYSAxMQ81tfDQYDVQQLEwZOTIRBUIk=, 66 Key-Info:RSA, 06BSIww9CTyHPtS3bMLD+EOhejdvX6QvlHK2ds2sQPEaXhX8EhvVphHYTjmekdHv 7xOZ3Jx2vTAhOYHMcqqCjA== qeWlj/YJ2Uf5ng9yznPbtDOmYloSwIuV9FRYx+gzY+81Xd/NQrXHfi6/MhPfPF3d jIqCJAxvld2xgqQimUzoSla4r7kQQ5c/Iua4LqKeq3clFzEv7MbZhA== -----END PRIVACY ENHANCED MESSAGE-----
Подпись сообщений присутствует всегда, шифрование необязательное.
Далее, в случае в случае симметричного управления ключами:
Иначе, в случае асимметричного управления ключами:
Ключи RSA, которые используются в PEM, могут иметь длину от 508 до 1024 битов, что обеспечивает любую стойкость к перебору. Таким образом, более вероятно, что вскрытие будет направлено на протоколы управления ключами. MITM может украсть закрытый ключ или попытаться подложить фальшивый открытый ключ. Процедуры сертификации ключей в PEM делают это невозможным. Однако, это выполняется только в результате строгого выполнения мер предосторожности, что не всегда возможно.
Также возможна скрытая модификация реализации PEM, работающей в недоверенной среде. Изменённая версия может скомпрометировать все сообщения, а также закрытый ключ. PEM не проверяет подлинность собственного ПО. Таким образом, пользователь не может доверять программному обеспечению, пока не может считать свою аппаратуру доверенной.