Главная » Java, Web, XML » Безопасность на транспортном уровне

0

Сообщения Web-службы передаются по компьютерным сетям. Поэтому, казалось бы, для безопасности их пересылки достаточно применить средства сетевой безопасности. Одно из таких средств — протокол защищенных соединений SSL (Secure Sockets Layer), запатентованный в США фирмой Netscape Communication. Протокол работает поверх стека TCP/IP и основан на шифровании содержимого сетевых IP-пакетов с помощью симметричных или асимметричных ключей. Он описывает правила установления соединения, открытия защищенных сокетов, обмена ключами, шифрования и передачи данных. С ним тесно связан основанный на версии SSL 3.0 открытый протокол TLS (Transport Layer Secure), первая версия которого определена в рекомендации RFC 2246. Протокол TLS очень похож на SSL и призван заменить его, но эти протоколы несовместимы.

Протоколы SSL и TLS могут применять разные алгоритмы шифрования, в том числе DES, RSA, SHA-1, MD5, RC2, RC4. Это позволяет найти общий алгоритм для клиента и сервера и практически всегда установить защищенное соединение. При этом алгоритмы шифрования с асимметричными ключами применяются при установлении связи и передаче сгенерированного секретного ключа, а алгоритмы с симметричными ключами — для пересылки сообщений, зашифрованных полученным секретным ключом.

Технология Java реализовала протоколы SSL 3.0 и TLS в пакете JSSE (Java Secure Socket Extension). Соответствующие пакеты Java javax. security.cert входят в стандартную поставку J2SE SDK. Они подробно описаны в книге [13] и в документации J2SE SDK.

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

Другое сетевое средство безопасности — виртуальная частная сеть VPN (Virtual Private Network) — не требует сертификатов. Оно передает сообщения, зашифрованные на выходе из локальной сети маршрутизаторами или брандмауэрами. Аутентификация сообщений и клиентов производится маршрутизаторами или брандмауэрами на входе в локальную сеть. Виртуальные частные сети требуют установки программного обеспечения на каждый сервер, маршрутизатор, брандмауэр и на каждую клиентскую машину, что вызывает обычные проблемы совместимости версий и необходимости их обновления на каждой машине.

Виртуальная частная сеть создается, чаще всего, на основе стандартов сетевого уровня IPSec, IPv6 или на основе протокола РРТР (Point-to-Point Tunneling Protocol).

Средства сетевой безопасности транспортного уровня могут использоваться при организации защищенных Web-служб, но сильно ограничивают их применение. Во-первых, эти средства привязывают Web-службу к определенному протоколу: HTTPS, РРТР, SMTP, хотя основное достоинство Web- службы — ее переносимость и независимость от протоколов и платформы. Во-вторых, эти средства шифруют все пересылаемое сообщение целиком, а SOAP-послания по пути следования могут обрабатываться промежуточными SOAP-узлами (actors). При этом каждый’ промежуточный сервер должен расшифровать послание, обработать его и снова зашифровать для дальнейшей пересылки. Ясно, что после этого ни о какой секретности говорить не приходится.

Литература:

Хабибуллин И. Ш. Разработка Web-служб средствами Java. — СПб.: БХВ-Петербург, 2003. — 400 с: ил.

По теме:

  • Комментарии