Первый вопрос, конечно же — «зачем». Почтовые протоколы интернета были разработаны очень давно, и поэтому не всегда они учитывают современные реалии. Например, любой человек (в т.ч. спамер или злоумышленник) может отослать электронное письмо от вашего имени!
Цифровой сертификат позволяет ставить электронную подпись на e-mail, тем самым подтверждая, что письмо было отослано именно с этого адреса, а также то, что после подписи (в процессе прохождения по интернету) письмо не изменялось. Поэтому я предпочитаю подписывать все исходящие письма. Кроме того, возможно, спам-фильтры, видя, что письмо подписано, с меньшей долей вероятности воспримут его как спам (хотя это лишь догадка).
Я расскажу о сертификатах S/MIME с практической точки зрения:
- как сгенерировать и получить сертификат;
- как загрузить его в почтовую программу;
- как использовать сертификат для подписи;
- как выглядят письма с цифровой подписью.
Получение сертификата
Есть несколько сайтов, где можно бесплатно получить сертификат. В прошлом я использовал Thawte.com, но во-первых, сайт (и процесс получения) довольно запутанный, а во-вторых, невозможно получить сертификат, используя браузер Internet Explorer 8 (зато поддерживается Netscape Navigator!).
Tiaurus советовал получить сертификат на shtirlitz.org.ua, но у меня нет ни капли доверия к таким «удостоверяющим центрам». Поэтому я рекомендую воспользоваться одним из крупнейших сайтов, работающих с сертификатами — Comodo. Процесс получения сертификата на этом сайте очень прост — производится в два шага за минуту-две. Итак:
- Открываем ссылку:
http://www.comodo.com/products/certificate_services/email_certificate.html
Если вы собираетесь использовать сертификат с почтовым клиентом Outlook или Windows Live Mail (наследник Outlook Express), рекомендую производить операции в Internet Explorer (тогда сертификаты «сами» и сразу появятся в этих программах). - Нажимаем на большую кнопку «GET YOUR FREE EMAIL CERT NOW!». Открывается новая страница.
- Если вы используете Internet Explorer, то получите предупреждение о запросе от сайта. Нужно в меню «Сервис → Свойства обозревателя» перейти на вкладку «Безопасность», выбрать вверху «Надёжные узлы», нажать кнопку «Узлы» и добавить текущий сайт в список доверенных:
- Заполняем имя, фамилию, адрес е-мейл, выбираем страну из списка. Вводим пароль на отзыв сертификата. Если по какой-то причине ваш ключ будет скомпроментирован (например, украден), можно будет отозвать (сделать недействительным) ваш сертификат, с помощью этого пароля. Можно также включить птичку, чтобы вам присылали всякие новости и важные уведомления. Сертификат выдаётся сроком на один год, поэтому я предпочитаю включить подписку, чтобы меня уведомили об истечении срока действия сертификата.
- Читаем соглашение, подтверждаем своё согласие. После этого ключ генерируется (отвечаем «Да» на запрос браузера) и отсылается на е-мейл, который вы указали.
- Проверяем почту. В полученном от Comodo письме будет большая красная кнопка «Click and install Comodo Email Certificate» (можно также воспользоваться ссылкой, которая в письме ниже). Важно: при нажатии кнопки ссылка должна открываться в том же браузере, в котором генерировался ключ! Таким образом и производится проверка того, что указанный вами адрес принадлежит именно вам. Нажимаем кнопку, подтверждаем операцию.
Добавляем сертификат в почтовую программу
Сертификат у нас есть. Теперь надо чтобы почтовая программа «знала о нём». Если вы использовали Internet Explorer, то Outlook и Windows Live Mail уже знает о сертификатах. Рекомендую сразу же сделать резервную копию сертификатов: в Internet Explorer выбираем в меню «Сервис → Свойства обозревателя», вкладка «Содержание», кнопка «Сертификаты»:
Выбираем нужный сертификат, нажимаем кнопку «Экспорт…», далее читаем подсказки, и всё получится. 🙂 Сохраняем файл в надёжном месте!
В случае с Firefox и другим почтовым клиентом, в меню «Tools → Options» выбираем вкладку «Advanced», на ней — «Encription», нажимаем «View Certificates», выбираем нужный сертификат, нажимает кнопку «Backup» и выгружаем его в файл (при этом надо назначить пароль). Загрузка сертификата зависит от почтовой программы и обычно сложностей не вызывает (при импорте вводим тот же пароль, который указали при экспорте!).
Использование сертификата
В Outlook 2007 выбираем в меню «Tools → Trust Center», слева вкладка «E-Mail security», включаем «Add digital signature to outgoing messages» и «Send clear signed message when sending signed message» (вторая опция нужна, чтобы письма могли быть прочтены даже программой, которая не умеет работать с цифровой подписью):
Если используете Windows Live Mail — выбираем в меню «Параметры безопасности…», и на вкладке «Безопасность» включаем «Подписывать все отправляемые сообщения», нажимаем кнопку «Дополнительно» и обязательно отключаем опцию «Кодировать сообщения перед подписыванием (непрозрачная подпись)».
Всё. Теперь, если у нас есть сертификат для адреса vаsya@pupkin.ru и мы отсылаем письмо с этого адреса — подпись автоматически добавится к письму. При этом может появиться запрос, типа такого:
Как отослать письмо без подписи
В Outlook: при создании письма на вкладке «Message» (это первая вкладка на ленте) мы видим «нажатую» иконку конверта с печатью. Это и есть признак «подписывать». Если её выключить — письмо уйдёт неподписанным:
В Windows Live Mail (меню обычно спрятано, чтобы не мешало, нажмите Alt, чтобы оно появилось):
Как выглядят подписанные письма
В списке у письма будет особая иконка с печатью (или аналогичным значком). Например, в Outlook 2007 — так:
В других программах будет как-то наподобие. Кроме того, при просмотре письма в шапке будет значок подписи. При клике по нему (в Outlook 2007):
Если же цифровая подпись нарушена, значок будет выглядеть не так благополучно, например, в Outlook — так:
При нажатии на восклицательный знак:
А в клиентах, которые не умеют работать с подписями (например, в веб-мейле) подпись будет выглядеть просто как вложение непонятного вида.
P.S. Есть также возможность получить личный (привязанный к имени, а не к e-mail’у) цифровой сертификат, т.е. такая подпись будет по сути аналогом вашей собственноручной подписи, но для получения такого сертификата требуется подтвердить свою личность и заплатить определённую сумму. Для жителей Украины — купить сертификат в Украинском сертификационном центре или в одном из его представительств (цена для частных лиц — 50 грн. в год). Но дело в том, что для подписи используется какой-то специфический софт «БЭСТ звит»… Вобщем, я решил, что мне это не нужно 🙂
Дополнено: Есть также другой тип цифровой подписи — на основе PGP (OpenPGP, GnuPG). О нём, возможно, расскажу в другой раз.
Дополнено: Как оказалось, цифровой подписью S/MIME можно подписывать и документы Word. Если документ будет впоследствии изменён — подпись будет нарушена.
Важное дополнение: Thawte с 16 ноября 2009г. прекращает выдачу и поддержку персональных сертификатов (Thawte Personal E-mail Certificates and Web of Trust are being discontinued), и рекомендует своим клиентам обращаться за бесплатными сертификатами в Comodo.