Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы шифрования документов XML формата.docx
Скачиваний:
53
Добавлен:
11.04.2014
Размер:
31.42 Кб
Скачать

1.2. Шифрование xml

Ключевое значение для безопасности данных XML имеет корректное шифрование, особенно если речь идет об особо секретных данных, передаваемых через такие незащищенные сети, как Internet. Итак, переходим к спецификации XML Encryption.

Шифрование нередко представляют как самодостаточную операцию — просто данные шифруются на одном конце и затем дешифруются на другом. Однако на самом деле для ее успешного выполнения требуется гораздо больше информации. В экземпляре XML в связи с этим выделяются четыре основных типа данных.

  • Шифрованное содержимое — собственно зашифрованные данные или ссылка на их местоположение. Разнообразие подлежащих шифрованию типов данных и методов их логической организации практически ничем не ограничено.

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

  • Информация о ключах — сведения (или указатели на сведения) о ключах, с помощью которых выполняется шифрование и, соответственно, дешифрование. Они могут храниться в другом месте и заменяться в экземпляре XML на ссылку URL.

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

Шифрование данных XML производится традиционными методами криптографии с открытыми ключами. Вначале шифруются сами данные, как правило, с помощью случайно формируемого секретного ключа, который затем тоже кодируется — с помощью открытого ключа предполагаемого получателя. Эта информация упаковывается так, чтобы извлечь секретный ключ и расшифровать данные мог только указанный получатель. Для дешифрования секретного ключа применяется скрытый ключ, а затем происходит дешифрование данных с помощью найденного секретного ключа. [1]

  1. Пакеты реализации защиты XML

Уже сегодня, несмотря на то что стандарты W3C появились совсем недавно, некоторые компании объявили о выпуске своих пакетов (библиотек классов), реализующих и ЭЦП, и шифрование.

На данный момент существует множество реализаций с различными вариантами лицензирования — как реализации спецификации электронной цифровой подписи XML-документов, так и шифрования XML-документов. Вот некоторые из них:

Xml Security Suite (ibm)

Xml Security (Apache)

XML Security Library (Aleksey Sanin)

KeyTools XML (Baltimore)

XML Security (Phaos)

XML Signature SDK (Verisign)

Наиболее известными компаниями среди вышеупомянутых, безусловно, являются IBM и Apache. Рассмотрим более подробно пакеты, представленные этими компаниями. [2] [3]

    1. Xml Security Suite (ibm)

Этот пакет основан на языке программирования Java. XML Security Suite является средством, обеспечивающим такие элементы безопасности, как цифровая подпись, шифрование и управление доступом для документов XML. С его помощью можно добиться больших успехов, нежели используя возможности протоколов безопасности транспортного уровня (например, Secure Sockets Layer, SSL).

Этот пакет реализует три технологии:

  • ЭЦП основана на спецификации «XML — Signature Syntax and Processing» от W3C и IETF (и на спецификации «Canonical XML»);

  • шифрование реализовано на основе спецификации «XML — Encryption Syntax and Processing» от W3C;

  • управление доступом для документов XML (XML Access Control Language).

XML Security Suite — это одно из лучших современных средств для защиты XML-документов. Кроме самого архива (JAR) с библиотекой классов, оно включает подробную документацию и примеры, позволяющие быстро сориентироваться в иерархии классов. [2]