Какой метод оптимален для ваших условий?

Пересылка файлов по Internet — операция весьма распространенная, а защита передаваемых файлов имеет первостепенную важность для многих предприятий. Существует целый ряд способов передачи файлов и множество методов защиты этих файлов в процессе передачи. Выбор методов передачи и шифрования зависит от общих потребностей отправителя. В одних случаях достаточно просто обеспечить безопасность файлов в процессе передачи. В других важнее зашифровать файлы таким образом, чтобы они оставались защищенными и после доставки адресату. Давайте подробно рассмотрим способы безопасной передачи файлов.

В пути и по прибытии

Если ваши намерения ограничиваются защитой файлов в процессе их передачи по каналам Internet, вам необходима технология безопасной транспортировки. Один из вариантов состоит в использовании Web-узла, способного принимать пересылаемые на него файлы и обеспечивающего возможность безопасной загрузки таких файлов. Для организации защищенной транспортировки файлов на Web-узел можно создать Web-страницу, оснащенную средствами Secure Sockets Layer (SSL), на которой размещается элемент управления ActiveX или сценарий Javascript. К примеру, можно воспользоваться элементом управления AspUpload от компании Persitis Software; разработчики утверждают, что это «самое современное из имеющихся на рынке средств управления транспортировкой файлов на центральные узлы». Еще один вариант — использовать сценарий Free ASP Upload, который не требует применения бинарного компонента. Для обеспечения дополнительной защиты можно даже защитить паролями как Web-страницу, так и ассоциированный с ней каталог для размещения поступивших на узел материалов. Что же касается загрузки файлов с Web-узла, то достаточно позаботиться о том, чтобы соответствующий Web-сервер обеспечивал соединение с применением средств SSL, по крайней мере для URL, который используется для загрузки файлов.

Альтернативный вариант — использование сервера FTP, обеспечивающего передачу данных по протоколу FTP Secure. В сущности, FTPS — это протокол FTP, выполняемый по защищенному соединению SSL. Возможность использования протокола FTPS предусмотрена во многих популярных клиентах FTP, но, к сожалению, она не реализована в службе FTP Service корпорации Microsoft. Поэтому вам придется задействовать обеспечивающее такую возможность приложение сервера FTP (например, популярный продукт WFTPD). Не путайте FTPS с протоколом SSH File Transfer Protocol. SFTP — это протокол для передачи файлов, выполняемый поверх оболочки Secure Shell (SSH); кроме того, его можно использовать для передачи файлов. Впрочем, нужно иметь в виду, что SFTP несовместим с традиционным протоколом FTP, так что наряду с защищенным сервером оболочки (скажем, с сервером, предоставляемым SSH Communications Security), понадобится специальный клиент SFTP (это может быть клиент, входящий в пакет PuTTY Telnet/Secure Shell или WinSCP с графическим интерфейсом).

Кроме того, безопасную передачу файлов можно организовать на базе виртуальных частных сетей VPN. Платформы Windows Server обеспечивают совместимость с технологией VPN посредством RRAS. Однако это не гарантирует совместимости с VPN-решениями ваших партнеров. Если такой совместимости нет, можно воспользоваться одним из широко распространенных решений, например средством Open-VPN с открытым исходным кодом. Оно распространяется бесплатно и выполняется на целом ряде платформ, включая Windows, Linux, BSD и Macintosh OS X. Дополнительные сведения об интеграции OpenVPN можно найти в статье «Работаем с OpenVPN» (http://old.osp.ru/win2000/506_36.htm).

Установив VPN-соединение, вы сможете выделять каталоги и передавать файлы в обоих направлениях. При любом варианте использования VPN трафик шифруется, поэтому необходимости в дополнительном шифровании файлов не возникает — кроме тех случаев, когда требуется, чтобы файлы оставались защищенными и в системе, на которую они передаются. Этот принцип применим ко всем методам передачи, о которых я упоминал до сих пор.

Если этап передачи не вызывает у вас опасений и ваша главная забота состоит в том, чтобы исключить доступ к содержимому файлов со стороны не уполномоченных на то пользователей, целесообразно просто зашифровывать файлы до их транспортировки. В этом случае электронная почта, вероятно, будет эффективным каналом передачи файлов. Приложения для обработки электронной почты установлены почти на каждой настольной системе, так что, если вы передаете файлы по электронной почте, у вас не возникает необходимости применять дополнительные технологии, кроме средств шифрования данных. Метод передачи файлов по электронной почте эффективен потому, что сообщения и прикрепляемые файлы обычно поступают непосредственно в почтовый ящик получателя, хотя в процессе передачи сообщение может проходить через несколько серверов.

Если же вам тем не менее требуются дополнительные средства защиты данных в процессе их передачи по каналам электронной почты, рассмотрите возможность использования протоколов SMTP Secure (SMTPS) и POP3 Secure (POP3S). В сущности, SMTPS и POP3S — это обычные протоколы SMTP и POP3, выполняемые с использованием защищенного соединения SSL. Microsoft Exchange Server, как и большинство почтовых клиентов, включая Microsoft Outlook, обеспечивает возможность использования протоколов SMTPS и POP3S. Нужно иметь в виду, что даже в тех случаях, когда для обмена файлами между почтовым клиентом и почтовым сервером используется протокол SMTPS, сохраняется возможность того, что почтовый сервер будет доставлять почту конечному адресату через обычное незащищенное соединение SMTP.

Поскольку средства для обработки электронной почты получили столь широкое распространение, далее в этой статье мы будем обсуждать прежде всего вопросы безопасной передачи файлов по каналам электронной почты. При этом мы будем исходить из того, что отправителю необходимо шифровать данные, чтобы защитить их как на этапе передачи, так и после доставки. Итак, рассмотрим наиболее популярные на сегодня технологии шифрования сообщений электронной почты.

Средства сжатия файлов

Существует множество средств сжатия файлов в единый архивный файл, и многие из предлагаемых решений предусматривают применение той или иной формы шифрования для защиты содержимого архива. Обычно в процессе сжатия устанавливается пароль, и всякий, кто хочет открыть архив, может сделать это только с помощью данного пароля.

Один из наиболее популярных методов создания архивов сжатых файлов — метод zip-компрессии; его поддерживают практически все архиваторы. И одно из самых распространенных на сегодня средств zip-компрессии — приложение WinZip. Его можно использовать как автономную программу, встроить в Windows Explorer для облегчения доступа, а также с помощью модуля WinZip Companion for Outlook интегрировать этот продукт с клиентом Outlook. WinZip, как и многие другие оснащенные средствами zip архиваторы, обеспечивает возможность шифрования по методу Zip 2.0 Encryption. Но надо сказать, что защита файлов с помощью этого метода недостаточно надежна. Более приемлемый вариант шифрования реализован в продукте WinZip 9.0. Как показано на экране 1, ныне WinZip поддерживает спецификацию Advanced Encryption Standard (AES), где используются 128-разрядные или 256-разрядные ключи шифрования. AES — относительно новая технология, но ее уже считают промышленным стандартом.

Экран 1. WinZip поддерживает спецификацию AES

Я не могу сказать точно, какое количество архиваторов обеспечивает применение стойких алгоритмов шифрования средствами AES, и ограничусь упоминанием одного такого приложения; это разработанное компанией BAxBEx Software изделие bxAutoZip. Оно способно взаимодействовать с программой шифрования CryptoMite фирмы BAxBEx и может встраиваться в Outlook. Если WinZip позволяет шифровать данные только средствами Zip 2.0 и AES, CryptoMite обеспечивает возможность использования ряда других средств шифрования, включая популярные алгоритмы Twofish и Blowfish, Cast 256, Gost, Mars и SCOP.

Средствами распаковки zip-файлов оснащены уже практически все компьютерные системы, однако не все zip-приложения обеспечивают совместимость с различными алгоритмами шифрования. Поэтому, перед тем как отправлять зашифрованные файлы, надо убедиться в том, что zip-приложение получателя «понимает» избранный алгоритм.

При шифровании файлов с помощью zip-приложений используются защитные пароли. Для дешифрации архивного файла его получатель тоже должен воспользоваться соответствующим паролем. Необходимо проявлять осторожность при выборе метода доставки пароля. Вероятно, самые безопасные методы доставки пароля — по телефону, по факсу или через курьера. Можно выбрать любой из них, но ни в коем случае не следует передавать пароль по электронной почте в виде обычного текста; в этом случае резко возрастает опасность того, что доступ к зашифрованному файлу получит не имеющий на то полномочий пользователь.

Не забывайте о том, что оснащенные средствами шифрования архиваторы обеспечивают передачу файлов не только по каналам электронной почты. Их можно эффективно использовать для транспортировки данных и с помощью других упомянутых выше методов.

Pretty Good Privacy

Еще один чрезвычайно популярный метод шифрования можно реализовать с помощью программы Pretty Good Privacy. PGP произвела настоящий фурор, когда Фил Циммерман впервые бесплатно опубликовал ее в Internet в 1991 г. В 1996 г. PGP стала коммерческим продуктом, а затем в 1997 г. права на нее были куплены фирмой Network Associates (NAI). В 2002 г. эту технологию приобрела у NAI молодая компания PGP Corporation.

После этого PGP Corporation продала коммерческую версию PGP, которая функционирует в средах Windows и Mac OS X. Текущая версия PGP 9.0, в которой реализованы средства шифрования отдельных файлов и шифрования всего содержимого диска, может быть встроена в AOL Instant Messenger (AIM). Кроме того, PGP 9.0 интегрируется с такими изделиями, как Outlook, Microsoft Entourage, Lotus Notes, Qualcomm Eudora, Mozilla Thunderbird и Apple Mail.

В PGP применяется система шифрования с открытым ключом, предусматривающая генерирование пары ключей шифрования — открытого ключа и секретного ключа. Эти два ключа математически взаимосвязаны таким образом, что зашифрованные с помощью открытого ключа данные могут быть дешифрованы только с помощью секретного ключа. Пользователь PGP генерирует пару «открытый ключ — секретный ключ», после чего публикует открытый ключ в общедоступном каталоге ключей или на Web-узле. Секретный ключ, разумеется, нигде не публикуется и хранится в секрете; им пользуется только его владелец. При расшифровке данных с помощью секретного ключа требуется пароль, но при шифровании данных с помощью открытого ключа это не предусмотрено, поскольку открытыми ключами могут пользоваться все желающие.

Для простоты применения системы PGP ее разработчики реализовали функцию автоматического опроса общедоступных каталогов ключей. Эта функция позволяет, введя в строку поиска почтовый адрес того или иного пользователя, находить его открытый ключ. PGP предоставляет возможность автоматического считывания открытых ключей, которые можно для простоты доступа хранить локально на своей системе в специальной «связке ключей» (keyring) на базе файлов. Опрашивая каталог открытых ключей, PGP позволяет всегда держать в «связке» их самые последние версии. Если пользователь изменяет свой открытый ключ, вы можете получить доступ к обновленному ключу в любой момент, когда он вам потребуется.

Для обеспечения более надежных гарантий аутентичности открытых ключей можно использовать цифровые подписи с помощью ключей других пользователей. Подпись ключа другим пользователем служит дополнительным подтверждением того, что ключ действительно принадлежит человеку, называющему себя его владельцем. Чтобы подтвердить достоверность ключа с помощью цифровой подписи, PGP выполняет некую математическую операцию и добавляет к ключу ее уникальный результат. Затем подпись можно проверить, сравнив ее с подписывающим ключом, который применялся для создания подписи. Этот процесс напоминает процесс подтверждения одним человеком идентичности другого.

Системе PGP доверяют многие, поскольку она давно уже завоевала в отрасли репутацию надежной технологии для защиты информации. Но как бы то ни было, если вы решили использовать PGP или другой метод шифрования данных с помощью открытых ключей, помните, что получатели ваших файлов тоже должны располагать совместимой системой шифрования. Одно из преимуществ системы PGP при использовании электронной почты в качестве канала передачи данных состоит в том, что она поддерживает собственную модель шифрования, а также технологии X.509 и S/MIME, о которых я расскажу далее.

Кроме того, следует отметить еще один момент. Вне зависимости от того, планируется ли использовать PGP, WinZip или другую систему шифрования, если вы хотите в дополнение к шифрованию присоединенных файлов зашифровать содержимое собственно сообщения, потребуется записать сообщение в отдельный файл и тоже зашифровать его. По желанию этот файл с сообщением можно разместить в архиве вместе с другими файлами или присоединить его в качестве файла-вложения.

PKI

Инфраструктура открытых ключей (Public Key Infrastructure, PKI) уникальна, однако принцип ее действия в чем-то напоминает принцип действия PGP. PKI предполагает использование пары ключей — открытого и секретного. Для зашифровки данных, направляемых получателю, отправители применяют его открытый ключ; после того как данные доставляются получателю, он расшифровывает их с помощью своего секретного ключа.

Экран 2. Просмотр содержимого сертификата

Одно существенное отличие состоит в том, что в PKI открытый ключ обычно хранится в формате данных, известном как сертификат. Сертификаты могут содержать намного больше информации, нежели обычные ключи. К примеру, сертификаты обычно содержат дату истечения срока действия, так что мы знаем, когда сертификат и ассоциированный с ним ключ уже не будут действительны. Кроме того, сертификат может включать имя, адрес, номер телефона владельца ключа и другие данные. На экране 2 представлено содержимое сертификата в том виде, в каком оно отображается в окне программы Microsoft Internet Explorer (IE) или Outlook. В определенной степени содержимое сертификата зависит от того, какие именно данные желает разместить в нем владелец.

Как и PGP, PKI позволяет формировать «цепочки доверия», в которых сертификаты могут быть подписаны с помощью сертификатов других пользователей. Более того, появились удостоверяющие центры Certificate Authorities (CA). Это облеченные доверием независимые организации, которые не только выдают собственные сертификаты, но и подписывают другие сертификаты, гарантируя тем самым их подлинность. Как и в случае с PGP и связанными с этой системой серверами ключей, сертификаты могут публиковаться на общедоступных или частных серверах сертификатов либо на серверах LDAP, пересылаться по электронной почте и даже размещаться на Web-узлах или на файловом сервере.

Для обеспечения автоматической проверки подлинности сертификата разработчики клиентов электронной почты и Web-браузеров обычно оснащают свои программы средствами взаимодействия с серверами центров сертификации. В ходе этого процесса вы также сможете получить информацию об отзыве сертификата по тем или иным причинам и, соответственно, сделать заключение о том, что данному сертификату нельзя больше доверять. Разумеется, за услуги центров сертификации по предоставлению и заверению сертификатов иногда приходится платить; цены могут быть разными в зависимости от выбранного центра сертификации. Одни организации предоставляют клиентам бесплатные персональные сертификаты по электронной почте, другие берут за это значительное вознаграждение.

В основе PKI лежит спецификация X.509 (являющаяся производной от спецификации LDAP X). Поэтому сертификаты, выданные одним центром (включая сертификаты, которые вы генерируете для себя), обычно можно использовать на целом ряде платформ. Нужно только, чтобы эти платформы были совместимы со стандартом X.509. Вы можете и сами генерировать сертификаты с помощью любого из имеющихся инструментальных средств, таких как OpenSSL.

Если ваша организация использует службу Microsoft Certificate Services, вы можете запросить сертификат через эту службу. В средах Windows Server 2003 и Windows 2000 Server данный процесс должен протекать примерно одинаково. Следует открыть Web-страницу сервера сертификатов (как правило, она располагается по адресу http://servername/CertSrv), затем выбрать пункт Request a Certificate. На следующей странице нужно выбрать элемент User certificate request и следовать указаниям Web-мастера до завершения процесса. Если служба сертификатов настроена таким образом, что для выдачи сертификата требуется санкция администратора, система известит вас об этом специальным сообщением, и вам придется дожидаться решения администратора. В иных случаях вы в итоге увидите гиперссылку, которая позволит установить сертификат.

Некоторые независимые центры сертификации, такие как Thwate и InstantSSL компании Comodo Group, предлагают пользователям бесплатные персональные почтовые сертификаты; это простой способ получения сертификатов. Кроме того, такие сертификаты уже будут подписаны выдавшей их инстанцией, что облегчит проверку их подлинности.

Когда дело доходит до использования PKI с целью отправки зашифрованных данных с помощью программы обработки электронной почты, в дело вступает спецификация Secure MIME (S/MIME). Outlook, Mozilla Thunderbird и Apple Mail — вот лишь несколько примеров почтовых приложений, позволяющих задействовать этот протокол. Чтобы отправить адресату зашифрованное почтовое сообщение (включающее или не включающее присоединенные файлы), необходимо иметь доступ к открытому ключу адресата.

Для получения открытого ключа другого пользователя можно просмотреть данные о ключах на сервере LDAP (если только ключ публикуется с использованием протокола LDAP). Другой вариант: можно попросить этого человека направить вам сообщение с цифровой подписью; как правило, при доставке адресату подписанного сообщения оснащенные средствами S/MIME почтовые клиенты присоединяют копию открытого ключа. А можно просто попросить интересующее вас лицо прислать вам сообщение с присоединенным к нему открытым ключом. Впоследствии можно будет хранить этот открытый ключ в интерфейсе управления ключами, который входит в состав вашего почтового клиента. Программа Outlook интегрируется со встроенным в Windows хранилищем сертификатов Certificate Store. При необходимости воспользоваться открытым ключом он всегда будет под рукой.

Шифрование на основе данных об отправителе

Фирма Voltage Security разработала новую технологию — шифрование на основе данных об отправителе (identity-based encryption, IBE). В целом она аналогична технологии PKI, но имеет любопытную особенность. Для дешифации сообщений в IBE используется секретный ключ, но в процессе шифрования обычный открытый ключ не применяется. В качестве такого ключа IBE предусматривает использование почтового адреса отправителя. Таким образом, при отправке получателю зашифрованного сообщения проблемы получения его открытого ключа не возникает. Достаточно иметь адрес электронной почты этого человека.

Технология IBE предполагает хранение секретного ключа получателя на сервере ключей. Получатель подтверждает свои права доступа к серверу ключей и получает секретный ключ, с помощью которого осуществляет дешифрацию содержимого сообщения. Технологию IBE могут применять пользователи Outlook, Outlook Express, Lotus Notes, Pocket PC, а также Research in Motion (RIM) BlackBerry. По словам представителей Voltage Security, IBE выполняется также на любых почтовых системах на базе браузеров под управлением практически любой операционной системы. Вполне вероятно, что такие универсальные решения Voltage Security — именно то, что вам нужно.

Примечательно, что технология IBE применяется в продуктах компании FrontBridge Technologies как средство, облегчающее безопасный обмен зашифрованными почтовыми сообщениями. Вам, наверное, уже известно, что в июле 2005 г. компания FrontBridge была приобретена корпорацией Microsoft, которая планирует интегрировать решения FrontBridge с Exchange; возможно, уже довольно скоро комбинация этих технологий будет предложена потребителям в виде управляемой службы. Если системы обработки электронной почты в вашей организации и у ваших партнеров базируются на Exchange, следите за развитием событий на этом участке.

С учетом всех обстоятельств

Существует множество способов безопасной передачи файлов по каналам Internet, и, несомненно, самый простой и эффективный из них обеспечивается средствами электронной почты. Разумеется, те, кому приходится обмениваться большим количеством файлов, составляющих большие объемы данных, могут рассмотреть возможность использования других методов.

Следует тщательно взвесить, какое количество файлов вы будете передавать, насколько велики они по объему, как часто вам придется передавать эти файлы, кто должен иметь доступ к ним и как они будут храниться по месту получения. С учетом этих факторов вы сможете подобрать оптимальный способ передачи файлов.

Если вы придете к заключению, что лучший вариант для вас — электронная почта, имейте в виду, что по прибытии почты на многих почтовых серверах и почтовых клиентах можно запускать сценарии или выполнять определенные действия на базе правил. С помощью этих функций можно автоматизировать движение файлов как по пути следования на почтовых серверах, так и при поступлении файлов в почтовый ящик.

Марк Джозеф Эдвардс - старший редактор Windows IT Pro и автор еженедельного почтового бюллетеня Security UPDATE (http://www.windowsitpro.com/email). mark@ntshop.net