Методы шифрования документов XML формата
Реферат, 21 Ноября 2013, автор: пользователь скрыл имя
Описание работы
XML (англ. eXtensible Markup Language — расширяемый язык разметки) — язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями. XML является упрощённым подмножеством языка SGML.
Содержание работы
Введение
1. Реализация защиты XML-документов
Цивровые подписи XML
Шифрование XML
2. Пакеты реализации защиты XML
2.1. XML Security Suite (IBM)
2.2. XML Security (Apache)
3. SAML
Заключение
Список литературы
Файлы: 1 файл
МСЗИ_семестровая.docx
— 30.68 Кб (Скачать файл)Министерство Образования Российской Федерации
Волгоградский Государственный Технический Университет
(ВолгГТУ)
Кафедра ЭВМ и Систем
Семестровая работа по предмету
Методы и средства защиты информации
«Методы шифрования документов XML формата»
Выполнил: студент группы ИВТ-466
Проверил: старший преподаватель
Быков Д. В.
Волгоград 2010
Содержание
Введение
1. Реализация защиты XML-документов
- Цивровые подписи XML
- Шифрование XML
2. Пакеты реализации защиты XML
2.1. XML Security Suite (IBM)
2.2. XML Security (Apache)
3. SAML
Заключение
Список литературы
Введение
XML (англ. eXtensible Markup Language — расширяемый язык разметки) — язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями. XML является упрощённым подмножеством языка SGML.
XML — мощное средство, часто применяемое для обмена данными через Интернет. Но, к сожалению, само по себе оно не обеспечивает необходимую защиту данных, которые «перевозит». Иными словами, существуют серьезные проблемы безопасности при применении формата XML (как, впрочем, и при использовании других форматов).
XML может быть легко использован для передачи сообщений-транзакций между банком и банкоматом, конфиденциальных или полуконфиденциальных сведений о физических лицах, сведений об электронных сделках или просто для передачи закрытых документов в этом формате. Но при этом нужно обеспечить защиту информации от непроизвольных или намеренных искажений как со стороны пользователей информационных систем, так и при передаче по каналам связи. Защита должна быть основана на выполнении следующих функций:
- аутентификации взаимодействующ
их сторон;
- подтверждении подлинности и целостности информации;
- криптографическом закрытии передаваемых данных.
Для обеспечения указанной защиты информации целесообразно применять методы электронной цифровой подписи (ЭЦП) и шифрования данных. Причем, как правило, ЭЦП обеспечивает аутентификацию, подтверждение подлинности и целостности, а закрытие данных достигается шифрованием.
- Реализация защиты XML-документов
- Цивровые подписи XML
Разработчики XML уже давно поняли
важность механизма контроля над
данными, передаваемыми и
Спецификация XML Signature (подпись XML) определяет синтаксис, необходимый для подписывания всего экземпляра XML или его части. Язык XML, несмотря на все свои богатые возможности и чрезвычайную гибкость, не вполне удобен для применения цифровых подписей, где из-за пробела, стоящего не на месте, может получиться совершенно новое значение подписи, не поддающееся проверке. Чтобы избавиться от этих проблем, была предложена концепция канонизации (XML-C14N), описанная в предварительной спецификации W3C под названием Canonical XML (канонический XML). Она использует заранее определенный набор правил обработки, по которым можно структурировать экземпляр для приведения его к простейшей форме. Такая стандартизация позволила гарантировать, что экземпляры всякий раз будут структурироваться одинаково, и это предотвратило возможную путаницу с цифровыми подписями вследствие стилистических различий, например иначе поставленными пробелами. Заметьте, что даже при использовании C14N необходимо указать используемый набор правил или метод для обеспечения дополнительных гарантий.
Операция XML должна предоставить достаточно
информации для того, чтобы можно
было проверить подпись, и таким
образом гарантировать
- Метод канонизации определяет конкретный набор правил C14N для упрощения и структурирования экземпляра XML до составления подписи. Эти сведения обеспечивают надлежащий вид подписываемых данных, чтобы алгоритм проверки дал положительный результат, если содержательные данные не были изменены.
- Метод подписи определяет алгоритм подписи дайджеста сообщения. Дайджест сообщения — это уникальная символьная строка фиксированного размера, она является результатом обработки данных с помощью односторонней хэш-функции, задаваемой методом дайджеста. Цифровая подпись удостоверяет личность или процесс, подписывающий данные, тем самым обеспечивая аутентификацию и защиту от дезавуирования авторства.
- Метод дайджеста — алгоритм составления дайджеста сообщения, подписываемого с помощью заданного метода подписи. Задание определенного метода дайджеста гарантирует обработку данных одним и тем же способом.
- Значение дайджеста — собственно дайджест сообщения, т. е. строка фиксированной длины, выдаваемая в результате обработки данных с помощью алгоритма дайджеста. Такая строка является уникальной и необратимой: ее практически невозможно получить из другого содержимого, как и невозможно воссоздать по ней исходные данные. Это как бы «отпечаток пальцев» для подписываемых данных; положительный результат сравнения значений дайджеста гарантирует целостность содержимого.
- Справочная информация — некоторые сведения о подписываемых данных. В частности, здесь может быть указан тип подписанных данных, если это не данные XML.
- Свойства подписи дополняют подпись определенным контекстом, в который вносятся отметка времени или порядковый номер. Такие элементы могут сами быть подписаны и включены в справочную информацию относительно самой подписи.
- Манифест группирует несколько ссылок и создает общее значение дайджеста для подписей одного или нескольких пользователей. Это, например, позволяет супервизору подтвердить несколько индивидуально подписанных транзакций в совокупности, не выделяя каждую транзакцию в отдельности.
Процесс «базовой генерации» подписи экземпляра XML начинается с канонизации, т. е. упрощения структуры данных. Дальнейшие действия аналогичны стандартному процессу добавления цифровой подписи: для данных создается значение дайджеста с помощью заданного метода. Затем это значение подписывается закрытым ключом субъекта.
Для проверки подписи в спецификации XML Signature предусмотрен процесс «базовой проверки подлинности», состоящий из двух шагов. Вначале проверяется сама подпись, чтобы обеспечить аутентификацию ее владельца и предотвратить отказ от авторства. Затем происходит проверка значения (или значений) дайджеста, чтобы убедиться, что данные не изменились, и подтверждается целостность содержимого. [1]
1.2. Шифрование XML
Ключевое значение для безопасности данных XML имеет корректное шифрование, особенно если речь идет об особо секретных данных, передаваемых через такие незащищенные сети, как Internet. Итак, переходим к спецификации XML Encryption.
Шифрование нередко
- Шифрованное содержимое — собственно зашифрованные данные или ссылка на их местоположение. Разнообразие подлежащих шифрованию типов данных и методов их логической организации практически ничем не ограничено.
- Нешифруемое содержимое — прочая информация, относящаяся к контексту взаимодействия, но по какой-то причине не подлежащая шифрованию: например, по соображениям быстродействия или потому, что считается не настолько секретной, чтобы ее стоило шифровать.
- Информация о ключах — сведения (или указатели на сведения) о ключах, с помощью которых выполняется шифрование и, соответственно, дешифрование. Они могут храниться в другом месте и заменяться в экземпляре XML на ссылку URL.
- Информация о получателях — сведения об одном или нескольких предполагаемых получателях зашифрованных данных. Это необязательные параметры, так как возможны ситуации, когда соответствующая информация о получателях уже известна или предоставляется отдельно, как, например, при общении партнеров по бизнесу, уже связанных договорными отношениями.
Шифрование данных XML производится
традиционными методами криптографии
с открытыми ключами. Вначале
шифруются сами данные, как правило,
с помощью случайно формируемого
секретного ключа, который затем
тоже кодируется — с помощью открытого
ключа предполагаемого
- Пакеты реализации защиты 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]
- 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]
- XML Security (Apache)
Этот пакет основан на языке программирования С++.
Проект XML Security от Apache — это также реализация стандартов в области защиты XML. В настоящий момент он включает реализации для спецификаций «Canonical XML» и «XML — Signature Syntax and Processing». Это означает, что вы можете использовать данное программное обеспечение для создания и верификации цифровых подписей XML и подписывать и XML, и/или другие данные. [2]
- SAML
Направление, отличное от защиты XML-данных, но тесно с ним связанное, — это улучшение безопасности и защищенности систем (протоколов) на базе XML. В этом случае при помощи XML защищаются другие документы/системы/приложения. В настоящее время комитет безопасности Организации по развитию стандартов структурирования информации (Organization for the Advancement of Structured Information Standards, OASIS) занимается разработкой языка разметки заявлений системы безопасности (Security Assertion Markup Language, SAML). [2]
SAML — один из множества языков
разметки, которые сейчас создаются
на основе синтаксиса и
SAML представляет
собой попытку объединить две
разработки — спецификацию
В настоящее время SAML рассматривается как первый стандарт для защиты транзакций электронной коммерции. [2]
Заключение
Новые технологии, не имеющие себе аналогов, но при этом являющимися довольно эффективными в своих областях и перспективными в своём развитии, всегда пользуются большим интересом у крупных компаний на рынке информационных технологий. По этой причине не стоит сомневаться и в быстрых темпах развития XML.
Скорее всего,
в ближайшем будущем XML станет основным
языком обмена информации для информационных
систем, заменив собой, тем самым,
HTML. На основе XML уже сегодня созданы
такие известные