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

Обновлено: 17.05.2024

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

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

Для организации промышленных сетей используется множество интерфейсов и протоколов передачи данных, например Modbus, Ethernet, CAN, HART, PROFIBUS и пр. Они необходимы для передачи данных между датчиками, контроллерами и исполнительными механизмами (ИМ); калибровки датчиков; питания датчиков и ИМ; связи нижнего и верхнего уровней АСУ ТП. Протоколы разрабатываются с учетом особенностей производства и технических систем, обеспечивая надежное соединение и высокую точность передачи данных между различными устройствами. Наряду с надежностью работы в жестких условиях все более важными требованиями в системах АСУ ТП становятся функциональные возможности, гибкость в построении, простота интеграции и обслуживания, соответствие промышленным стандартам.

Наиболее распространённой системой классификации сетевых протоколов является теоретическая модель OSI (базовая эталонная модель взаимодействия открытых систем, англ. Open Systems Interconnection Basic Reference Model). Спецификация этой модели была окончательно принята в 1984 году Международной Организацией по Стандартизации (ISO). В соответствии с моделью OSI протоколы делятся на 7 уровней, расположенных друг над другом, по своему назначению — от физического (формирование и распознавание электрических или других сигналов) до прикладного (API для передачи информации приложениями). Взаимодействие между уровнями может осуществляться, как вертикально, так и горизонтально. В горизонтальном взаимодействии программам требуется общий протокол для обмена данными. В вертикальном — посредством интерфейсов.

Прикладной уровень

Представительский уровень

Сеансовый уровень

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

Используемые протоколы: ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS.

Транспортный уровень

Транспортный уровень (англ. Transport layer) организует доставку данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. Разделяет данные на фрагменты равной величины, объединяя короткие и разбивая длинные (размер фрагмента зависит от используемого протокола). Используемые протоколы: TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, TFTP.

Сетевой уровень

Сетевой уровень (англ. Network layer) определяет пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, за определение кратчайших маршрутов, коммутацию и маршрутизацию, за отслеживание неполадок и заторов в сети. Используемые протоколы: IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, BootP, SKIP, RIP.

Канальный уровень

Канальный уровень (англ. Data link layer) предназначен для обеспечения взаимодействия сетей на физическом уровне. Полученные с физического уровня данные проверяет на ошибки, если нужно исправляет, упаковывает во фреймы, проверяет на целостность, и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями. Спецификация IEEE 802 разделяет этот уровень на 2 подуровня — MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня. Используемые протоколы: STP, ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, StarLan, L2F, L2TP, PPTP, PPP, PPPoE, PROFIBUS.

Физический уровень

Физический уровень (англ. Physical layer) предназначен непосредственно для передачи потока данных. Осуществляет передачу электрических или оптических сигналов в кабель или в радиоэфир и, соответственно, их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов. Используемые протоколы: RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN, T1, E1, 10BASE-T, 10BASE2, 10BASE5, 100BASE-T, 1000BASE-T, 1000BASE-TX, 1000BASE-SX.

Как вы могли заметить, многие протоколы упоминаются сразу на нескольких уровнях. Это говорит о недоработанности и отдаленности теоретической модели от реальных сетевых протоколов, поэтому привязка некоторых из них к уровням OSI является условной.

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

Области промышленного применения: создание удаленных диспетчерских пунктов, Web-приложения для SCADA систем, программное обеспечение промышленных контроллеров, организация видеонаблюдения.

Для организации взаимодействия между элементами автоматизации в промышленных сетях передачи данных широко применяется коммуникационный протокол Modbus. Существуют три основные реализации протокола Modbus, две для передачи данных по последовательным линиям связи, как медным EIA/TIA-232-E (RS-232), EIA-422, EIA/TIA-485-A (RS-485), так и оптическим и радио: Modbus RTU и Modbus ASCII, и для передачи данных по сетям Ethernet поверх TCP/IP: Modbus TCP.

Протоколы семейства Modbus (Modbus ASCII, Modbus RTU и Modbus TCP/IP) используют один прикладной протокол, что позволяет обеспечить их совместимость. Максимальное количество сетевых узлов в сети Modbus — 31. Протяженность линий связи и скорость передачи данных зависит от физической реализации интерфейса. Элементы сети Modbus взаимодействуют, используя клиент-серверную модель, основанную на транзакциях, состоящих из запроса и ответа.

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

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

Компания ICPDAS предлагает широкий спектр коммуникационного оборудования для организации сетей на базе протоколов семейства Modbus: серия I-7000 (шлюзы DeviceNet, серверы Modbus, адресуемые коммуникационные контроллеры); программируемые контроллеры серий ХРАК, WinPAC, WinCon, LinPAC, ViewPAC.

Операторские панели производства компании Weintek, частотные преобразователи Control Techniques для связи с контроллерами также используют протокол Modbus.

Традиционно протоколы семейства Modbus поддерживаются OPC серверами SCADA систем (Clear SCADA, компании Control Microsystems, InTouch Wonderware, TRACE MODE)для связи с элементами управления (контроллерами, ЧРП, регуляторами и др.).

В Европе широкое распространение получила открытая промышленная сеть PROFIBUS (PROcess FIeld BUS). Изначально, прототип этой сети был разработан компанией Siemens для своих промышленных контроллеров.

PROFIBUS объединяет технологические и функциональные особенности последовательной связи полевого уровня. Она позволяет объединять разрозненные устройства автоматизации в единую систему на уровне датчиков и приводов. Сеть PROFIBUS основывается на нескольких стандартах и протоколах, использует обмен данными между ведущим и ведомыми устройствами (протоколы DP и PA) или между несколькими ведущими устройствами (протоколы FDL и FMS).

Сеть PROFIBUS можно ассоциировать с тремя уровнями модели OSI: физический, канальный и уровень приложений.

Одни и те же каналы связи сети PROFIBUS допускают одновременное использование нескольких протоколов передачи данных. Рассмотрим каждый из них.

PROFIBUS DP (Decentralized Peripheral — Распределенная периферия) — протокол, ориентированный на обеспечение скоростного обмена данными между ведущими DP-устройствами и устройствами распределённого ввода-вывода. Протокол характеризуется минимальным временем реакции и высокой стойкостью к воздействию внешних электромагнитных полей. Оптимизирован для высокоскоростных и недорогих систем.

PROFIBUS PA (Process Automation — Автоматизация процесса) — протокол обмена данными с оборудованием полевого уровня, расположенным в обычных или взрывоопасных зонах. Протокол позволяет подключать датчики и приводы на одну линейную шину или кольцевую шину.

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

Положительные стороны: открытость, независимость от поставщика, распространенность.

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

Основную массу оборудования использующего протокол PROFIBUS составляет оборудование компании Siemens. Но в последнее время этот протокол получил применение у большинства производителей. Во многом это обусловлено распространенностью систем управления на базе контроллеров Siemens.

Компания ICPDAS для реализации проектов на базе PROFIBUS предлагает ряд ведомых устройств: шлюзы PROFIBUS/Modbus серии GW, преобразователи PROFIBUS в RS-232/485/422 серии I-7000, модули и каркасы удаленного ввода/вывода PROFIBUS серии PROFI-8000. В настоящие время инженерами компании ICPDAS ведутся интенсивные разработки в области создания PROFIBUS ведущего устройства.

В сети Веб поддерживаются 3 типа аутентификации при клиент-серверных взаимодействиях:

Cookie

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

Такие сведения позволяет получить дополнительное средство под названием cookie . Механизм cookie позволяет серверу хранить информацию на компьютере клиента и извлекать ее оттуда.

Инициатором записи cookie выступает сервер . Если в ответе сервера присутствует поле заголовка Set-cookie , клиент воспринимает это как команду на запись cookie . В дальнейшем, если клиент обращается к серверу, от которого он ранее принял поле заголовка Set-cookie , помимо прочей информации он передает серверу данные cookie . Для передачи указанной информации серверу используется поле заголовка Cookie .

  1. Передача запроса серверу А.
  2. Получение ответа от сервера А.
  3. Передача запроса серверу В.
  4. Получение ответа от сервера В. В состав ответа входит поле заголовка SetCookie . Получив его, клиент записывает cookie на диск.
  5. Передача запроса серверу С. Несмотря на то что на диске хранится запись cookie , клиент не предпринимает никаких специальных действий, так как значение cookie было записано по инициативе другого сервера.
  6. Получение ответа от сервера С.
  7. Передача запроса серверу А. В этом случае клиент также никак не реагирует на тот факт, что на диске хранится cookie .
  8. Получение ответа от сервера А.
  9. Передача запроса серверу В. Перед тем как сформировать запрос, клиент определяет, что на диске хранится запись cookie , созданная после получения ответа от сервера В. Клиент проверяет, удовлетворяет ли данный запрос некоторым требованиям, и, если проверка дает положительный результат, включает в заголовок запроса поле Cookie .

Таким образом, процедуру записи и получения cookie можно представить себе как своеобразный " запрос " сервера, инкапсулированный в его ответе клиенту. Соответственно, получение cookie также можно представить себе как ответ клиента, инкапсулированный в составе запроса тому же серверу.

Рассмотрим подробнее, какие данные передаются в поле заголовка Set-cookie и как они влияют на поведение клиента.

Поле Set-cookie имеет следующий формат:

  • Пара имя = значение – именованные данные, сохраняемые с помощью механизма cookie . Эти данные должны храниться на клиент-машине и передаваться серверу в составе очередного запроса клиента.
  • Дата, являющаяся значением параметра expires , определяет время, по истечении которого информация cookie теряет свою актуальность. Если ключевое слово expires отсутствует, данные cookie нe удаляются по окончании текущего сеанса работы браузера.
  • Значение параметра domain определяет домен, с которым связываются данные cookie . Чтобы узнать, следует ли передавать в составе запроса данные cookie , браузер сравнивает доменное имя сервера, к которому он собирается обратиться, с доменами, которые связаны с записями cookie , хранящимися на клиент-машине. Результат проверки будет считаться положительным, если сервер, которому направляется запрос, принадлежит домену, связанному с cookie . Если соответствие не обнаружено, данные cookie не передаются.
  • Путь, указанный в качестве значения параметра path , позволяет выполнить дальнейшую проверку и принять окончательное решение о том, следует ли передавать данные cookie в составе запроса. Помимо домена с записью cookie связывается путь. Если браузер обнаружил соответствие имени домена значению параметра domain , он проверяет, соответствует ли путь к ресурсу пути, связанному с cookie . Сравнение считается успешным, если ресурс содержится в каталоге, указанном посредством ключевого слова path , или в одном из его подкаталогов. Если и эта проверка дает положительный результат, данные cookie передаются серверу. Если параметр path в поле Set-Cookie отсутствует, то считается, что запись cookie связана с URL конкретного ресурса, передаваемого сервером клиенту.
  • Последний параметр, secure , указывает на то, что данные cookie должны передаваться по защищенному каналу.

Для передачи данных cookie серверу используется поле заголовка Cookie . Формат этого поля достаточно простой:

C помощью поля Cookie передается одна или несколько пар имя = значение . Каждая из этих пар принадлежит записи cookie , для которой URL запрашиваемого ресурса соответствуют имени домена и пути, указанным ранее в поле Set-cookie .

Как известно, практически в любых компьютерных системах существует необходимость аутентификации. В ходе этой процедуры компьютерная система проверяет, действительно ли пользователь тот, за кого себя выдает. Для того, чтобы получить доступ к компьютеру, в Интернет, к системе удаленного управления банковским счетом и т. д., пользователю необходимо убедительно доказать компьютерной системе, что "он есть та самая персона", а не кто-либо еще. Для этого он должен предъявить системе некую аутентификационную информацию, на основании которой модуль аутентификации данной системы выносит решение о предоставлении ему доступа к требуемому ресурсу (доступ разрешен/нет).

В настоящее время для такой проверки применяется информация трех видов.

Первый - уникальная последовательность символов, которую пользователь должен знать для успешного прохождения аутентификации. Простейший пример - парольная аутентификация, для которой достаточно ввести в систему свой идентификатор (например, логин) и пароль.

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

И, наконец, третий вид аутентификации - по биометрической информации, которая неотъемлема от пользователя. Это может быть отпечаток пальца, рисунок радужной оболочки глаза, форма лица, параметры голоса и т. д.

Очень часто комбинируют несколько видов информации, по которой проводится аутентификация. Типичный пример: аутентификационная информация хранится на смарт-карте, для доступа к которой нужно ввести пароль (PIN-код). Такая аутентификация называется двухфакторной. Существуют реальные системы и с трехфакторной аутентификацией.

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

Удаленная аутентификация

В случае удаленной аутентификации (скажем, пользователь намерен получить доступ к удаленному почтовому серверу для проверки своей электронной почты) существует проблема передачи аутентификационной информации по недоверенным каналам связи (через Интернет или локальную сеть). Чтобы сохранить в тайне уникальную информацию, при пересылке по таким каналам используется множество протоколов аутентификации. Рассмотрим некоторые из них, наиболее характерные для различных применений.

Доступ по паролю

Простейший протокол аутентификации - доступ по паролю (Password Access Protocol, PAP): вся информация о пользователе (логин и пароль) передается по сети в открытом виде (рис. 1). Полученный сервером пароль сравнивается с эталонным паролем данного пользователя, который хранится на сервере. В целях безопасности на сервере чаще хранятся не пароли в открытом виде, а их хэш-значения (о хэшировании см. "Цифровая подпись - как это делается", "BYTE/Россия" № 1'2004).

Рис. 1. Схема протокола PAP.

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

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

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

Запрос-ответ

В семейство протоколов, называемых обычно по процедуре проверки "запрос-ответ", входит несколько протоколов, которые позволяют выполнить аутентификацию пользователя без передачи информации по сети. К протоколам семейства "запрос-ответ" относится, например, один из наиболее распространенных - протокол CHAP (Challenge-Handshake Authentication Protocol).

  • пользователь посылает серверу запрос на доступ, включающий его логин;
  • сервер генерирует случайное число и отправляет его пользователю;
  • пользователь шифрует полученное случайное число симметричным алгоритмом шифрования на своем уникальном ключе (см. "Современные алгоритмы шифрования", "BYTE/Россия" № 8'2003), результат зашифрования отправляется серверу;
  • сервер расшифровывает полученную информацию на том же ключе и сравнивает с исходным случайным числом. При совпадении чисел пользователь считается успешно аутентифицированным, поскольку признается владельцем уникального секретного ключа.

Рис. 2. Схема протокола аутентификации типа "запрос-ответ".

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

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

Однако в качестве клиентского компьютера может выступать и смарт-карта либо аналогичное "носимое" устройство, обладающее достаточной вычислительной мощностью, например, мобильный телефон. В таком случае теоретически допустима аутентификация и получение доступа к серверу с любого компьютера, оснащенного устройством чтения смарт-карт, с мобильного телефона или КПК.

Рис. 3. Схема протокола взаимной аутентификации.

Как видно, аутентификация будет успешна только в том случае, если пользователь предварительно зарегистрировался на данном сервере и каким-либо образом обменялся с ним секретным ключом.

Заметим, что вместо симметричного шифрования в протоколах данного семейства может применяться и асимметричное шифрование, и электронная цифровая подпись. В таких случаях схему аутентификации легко расширить на неограниченное число пользователей, достаточно применить цифровые сертификаты в рамках инфраструктуры открытых ключей (см. "Открытые ключи - опасности и защита от них", "BYTE/Россия" № 7'2004).

Протокол Kerberos

Протокол Kerberos, достаточно гибкий и имеющий возможности тонкой настройки под конкретные применения, существует в нескольких версиях. Мы рассмотрим упрощенный механизм аутентификации, реализованный с помощью протокола Kerberos версии 5 (рис. 4):

Рис. 4. Схема протокола Kerberos.

Прежде всего стоит сказать, что при использовании Kerberos нельзя напрямую получить доступ к какому-либо целевому серверу. Чтобы запустить собственно процедуру аутентификации, необходимо обратиться к специальному серверу аутентификации с запросом, содержащим логин пользователя. Если сервер не находит автора запроса в своей базе данных, запрос отклоняется. В противном случае сервер аутентификации формирует случайный ключ, который будет использоваться для шифрования сеансов связи пользователя с еще одним специальным сервером системы: сервером предоставления билетов (Ticket-Granting Server, TGS). Данный случайный ключ (обозначим его Ku-tgs) сервер аутентификации зашифровывает на ключе пользователя (Kuser) и отправляет последнему. Дополнительная копия ключа Ku-tgs с рядом дополнительных параметров (называемая билетом) также отправляется пользователю зашифрованной на специальном ключе для связи серверов аутентификации и TGS (Ktgs). Пользователь не может расшифровать билет, который необходим для передачи серверу TGS на следующем шаге аутентификации.

Следующее действие пользователя - запрос к TGS, содержащий логин пользователя, имя сервера, к которому требуется получить доступ, и тот самый билет для TGS. Кроме того, в запросе всегда присутствует метка текущего времени, зашифрованная на ключе Ku-tgs. Метка времени нужна для предотвращения атак, выполняемых повтором перехваченных предыдущих запросов к серверу. Подчеркнем, что системное время всех компьютеров, участвующих в аутентификации по протоколу Kerberos, должно быть строго синхронизировано.

В случае успешной проверки билета сервер TGS генерирует еще один случайный ключ для шифрования сеансов связи между пользователем, желающим получить доступ, и целевым сервером (Ku-serv). Этот ключ шифруется на ключе Kuser и отправляется пользователю. Кроме того, аналогично шагу 2, копия ключа Ku-serv и необходимые целевому серверу параметры аутентификации (билет для доступа к целевому серверу) посылаются пользователю еще и в зашифрованном виде (на ключе для связи TGS и целевого сервера - Kserv).

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

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

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

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

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

Выбор того или иного протокола зависит в первую очередь от важности информации, доступ к которой предоставляется по результатам аутентификации. Другой критерий - удобство использования. И здесь, как и везде, полезно соблюдать разумный баланс. Иногда, если нет особых требований к секретности процедуры аутентификации, вместо надежного (но непростого в реализации) протокола типа Kerberos лучше использовать "элементарный" парольный протокол РАР, простота и удобство применения которого часто перевешивают все его недостатки.

Другие статьи из раздела

Демонстрация Chloride Trinergy

Chloride
Демонстрация Chloride Trinergy
Впервые в России компания Chloride Rus провела демонстрацию системы бесперебойного электропитания Chloride Trinergy®, а также ИБП Chloride 80-NET™, NXC и NX для своих партнеров и заказчиков.

RAID-контроллеры Adaptec Series 5Z с безбатарейной защитой кэша

Adaptec by PMC
RAID-контроллеры Adaptec Series 5Z с безбатарейной защитой кэша
Опытные сетевые администраторы знают, что задействование в работе кэш-памяти RAID-контроллера дает серьезные преимущества в производительности …

Трехфазный ИБП Chloride от 200 до 1200 кВт: Trinergy

Chloride
Трехфазный ИБП Chloride от 200 до 1200 кВт: Trinergy
Trinergy — новое решение на рынке ИБП, впервые с динамическим режимом работы, масштабируемостью до 9.6 МВт и КПД до 99%. Уникальное сочетание …

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также: