Методы шифрования документов XML формата
[Скачать с сервера (28.2 Kb) - бесплатно] | 09.02.2011, 22:20 |
Содержание:
Введение XML (англ. eXtensible Markup Language — расширяемый язык разметки) — язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями. XML является упрощённым подмножеством языка SGML. XML — мощное средство, часто применяемое для обмена данными через Интернет. Но, к сожалению, само по себе оно не обеспечивает необходимую защиту данных, которые «перевозит». Иными словами, существуют серьезные проблемы безопасности при применении формата XML (как, впрочем, и при использовании других форматов). XML может быть легко использован для передачи сообщений-транзакций между банком и банкоматом, конфиденциальных или полуконфиденциальных сведений о физических лицах, сведений об электронных сделках или просто для передачи закрытых документов в этом формате. Но при этом нужно обеспечить защиту информации от непроизвольных или намеренных искажений как со стороны пользователей информационных систем, так и при передаче по каналам связи. Защита должна быть основана на выполнении следующих функций:
Для обеспечения указанной защиты информации целесообразно применять методы электронной цифровой подписи (ЭЦП) и шифрования данных. Причем, как правило, ЭЦП обеспечивает аутентификацию, подтверждение подлинности и целостности, а закрытие данных достигается шифрованием. Реализация защиты XML-документов 1.1. Цивровые подписи XML Разработчики XML уже давно поняли важность механизма контроля над данными, передаваемыми и представляемыми в транзакциях XML. Основные требования, предъявляемые к транзитным данным, — это полнота и точность (целостность). Проще всего этого добиться с помощью подписи XML. Спецификация XML Signature (подпись XML) определяет синтаксис, необходимый для подписывания всего экземпляра XML или его части. Язык XML, несмотря на все свои богатые возможности и чрезвычайную гибкость, не вполне удобен для применения цифровых подписей, где из-за пробела, стоящего не на месте, может получиться совершенно новое значение подписи, не поддающееся проверке. Чтобы избавиться от этих проблем, была предложена концепция канонизации (XML-C14N), описанная в предварительной спецификации W3C под названием Canonical XML (канонический XML). Она использует заранее определенный набор правил обработки, по которым можно структурировать экземпляр для приведения его к простейшей форме. Такая стандартизация позволила гарантировать, что экземпляры всякий раз будут структурироваться одинаково, и это предотвратило возможную путаницу с цифровыми подписями вследствие стилистических различий, например иначе поставленными пробелами. Заметьте, что даже при использовании C14N необходимо указать используемый набор правил или метод для обеспечения дополнительных гарантий. Операция XML должна предоставить достаточно информации для того, чтобы можно было проверить подпись, и таким образом гарантировать необходимую целостность, аутентификацию и предотвращение отказа от авторства. Подписанный экземпляр XML содержит следующую информацию.
Для проверки подписи в спецификации XML Signature предусмотрен процесс «базовой проверки подлинности», состоящий из двух шагов. Вначале проверяется сама подпись, чтобы обеспечить аутентификацию ее владельца и предотвратить отказ от авторства. Затем происходит проверка значения (или значений) дайджеста, чтобы убедиться, что данные не изменились, и подтверждается целостность содержимого. [1] 1.2. Шифрование XML Ключевое значение для безопасности данных XML имеет корректное шифрование, особенно если речь идет об особо секретных данных, передаваемых через такие незащищенные сети, как Internet. Итак, переходим к спецификации XML Encryption. Шифрование нередко представляют как самодостаточную операцию — просто данные шифруются на одном конце и затем дешифруются на другом. Однако на самом деле для ее успешного выполнения требуется гораздо больше информации. В экземпляре XML в связи с этим выделяются четыре основных типа данных.
2. Пакеты реализации защиты XML Уже сегодня, несмотря на то что стандарты W3C появились совсем недавно, некоторые компании объявили о выпуске своих пакетов (библиотек классов), реализующих и ЭЦП, и шифрование. На данный момент существует множество реализаций с различными вариантами лицензирования — как реализации спецификации электронной цифровой подписи XML-документов, так и шифрования XML-документов. Вот некоторые из них:
2.1. XML Security Suite (IBM) Этот пакет основан на языке программирования Java. XML Security Suite является средством, обеспечивающим такие элементы безопасности, как цифровая подпись, шифрование и управление доступом для документов XML. С его помощью можно добиться больших успехов, нежели используя возможности протоколов безопасности транспортного уровня (например, Secure Sockets Layer, SSL). Этот пакет реализует три технологии:
XML Security Suite — это одно из лучших современных средств для защиты XML-документов. Кроме самого архива (JAR) с библиотекой классов, оно включает подробную документацию и примеры, позволяющие быстро сориентироваться в иерархии классов. [2] 2.2. XML Security (Apache) Этот пакет основан на языке программирования С++. Проект XML Security от Apache — это также реализация стандартов в области защиты XML. В настоящий момент он включает реализации для спецификаций «Canonical XML» и «XML — Signature Syntax and Processing». Это означает, что вы можете использовать данное программное обеспечение для создания и верификации цифровых подписей XML и подписывать и XML, и/или другие данные. [2] 3. SAML Направление, отличное от защиты XML-данных, но тесно с ним связанное, — это улучшение безопасности и защищенности систем (протоколов) на базе XML. В этом случае при помощи XML защищаются другие документы/системы/приложения. В настоящее время комитет безопасности Организации по развитию стандартов структурирования информации (Organization for the Advancement of Structured Information Standards, OASIS) занимается разработкой языка разметки заявлений системы безопасности (Security Assertion Markup Language, SAML). [2] SAML — один из множества языков разметки, которые сейчас создаются на основе синтаксиса и семантики XML в рамках технического комитета по службам на базе безопасности XML, входящего в организацию OASIS. Данный язык использует XML для расширения функций безопасности, относящихся к аутентификации и авторизации. Главные задачи SAML — построить базовые конструкции, необходимые для обмена мандатами, определить протоколы для запросов, ответов и основных правил, а также описать связи SAML с другими протоколами, такими, как HTTP, SOAP (Simple Object Access Protocol) и ebXML. Язык SAML позволяет совместно использовать одну и ту же информацию о мандатах на различных узлах Web или приложениях, действуя подобно службе CredEx: эти данные доставляются в режиме реального времени — в любое время и в любое место. [1] SAML представляет собой попытку объединить две разработки — спецификацию аутентификации и авторизации в XML (Authentication and Authorization in XML, AuthXML) компании Securant и язык разметки для служб безопасности (Security Services Markup Language, S2ML) компании Netegrity. В настоящее время SAML рассматривается как первый стандарт для защиты транзакций электронной коммерции. [2] Заключение Новые технологии, не имеющие себе аналогов, но при этом являющимися довольно эффективными в своих областях и перспективными в своём развитии, всегда пользуются большим интересом у крупных компаний на рынке информационных технологий. По этой причине не стоит сомневаться и в быстрых темпах развития XML. Скорее всего, в ближайшем будущем XML станет основным языком обмена информации для информационных систем, заменив собой, тем самым, HTML. На основе XML уже сегодня созданы такие известные специализированные языки разметки, как SMIL, CDF, MathML, XSL, и список рабочих проектов новых языков, находящихся на рассмотрении W3C, постоянно пополняется. Список литературы
Добавил: mauzer (09.02.2011) | Категория: Разное Просмотров: 9028 | Загрузок: 1275 | Рейтинг: 0.0/0 | Теги: |
Комментарии (0) | |