Создание Web-сервиса осуществляющего цифровую подпись
Курсовая работа, 03 Мая 2014, автор: пользователь скрыл имя
Краткое описание
В данной курсовой работе рассматривается создание программного продукта, который позволит удаленно совершать цифровую подпись документов и проверять её подлинность.
Содержание
Цели и задачи курсовой работы 5
Подготовка и порядок выполнения работы 6
1. Теоретические сведения 7
1. 1. Построение Web – сервиса с функцией электронной подписи 7
2. CryptoAPI 9
3. Windows Communication Foundation 10
4. Описание программы 12
5. Сравнение программы с другими программными продуктами 13
Заключение 14
Список первоисточников 15
Приложения 16
Руководство пользователя 16
Руководство администратора 16
Руководство разработчика 17
Снимок с экрана работающей программы 18
Техническое задание 19
Исходный код программы 22
Прикрепленные файлы: 1 файл
Пояснительная записка Трошагин.docx
— 121.32 Кб (Скачать документ)Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Поволжский государственный технологический университет»
Кафедра информационной безопасности
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ
по дисциплине: «Программно-аппаратные средства обеспечения информационной безопасности»
на тему: «Создание Web-сервиса осуществляющего цифровую подпись».
Выполнил: ст. гр.БИ-51
Трошагин О.А.
Проверил: Пекунов А.А.
Йошкар-Ола
2013
Аннотация
В данной курсовой работе рассматривается создание программного продукта, который позволит удаленно совершать цифровую подпись документов и проверять её подлинность.
The Summary
In the course of this paper we consider the creation of software that allows to remotely perform digital signature documents and verify its authenticity.
Содержание
Введение
ЭП (электронная подпись, ранее - электронная цифровая подпись, ЭЦП), согласно Федеральному закону Российской Федерации от 25 марта 2011 года «Об электронной подписи», - это «информация в электронной форме, которая присоединена к другой информации в электронной форме (подписываемой информации) или иным образом связана с такой информацией и которая используется для определения лица, подписывающего информацию». Федеральный закон от 10 января 2002г. "Об электронной цифровой подписи" признается утратившим силу с 1 июля 2012г.
ЭП используется для подтверждения авторства документа - в этом ее выгода для отправителя документа. С другой стороны, электронная подпись, в случаях признания юридической значимости, обеспечивает неотказуемость автора от подписанного документа – и в этом ее выгода для получателя документа. В случае спорных ситуаций всегда может быть проведен разбор конфликтов, который однозначно определит автора подписанного документа и заставит его нести ответственность за подписанный документ. Сейчас актуальным становится вопрос о простоте использования систем подписания документов с помощью ЭП. По этому создание веб - сервисов для защищенного подписания и обмена документами требует достойного внимания.
Цели и задачи курсовой работы
Цель курсовой работы:
Закрепление полученных знаний по дисциплине «Программно-аппаратные средства обеспечения информационной безопасности».
Задачи курсовой работы:
- Изучение принципов электронного документа оборота.
- Изучение электронной подписи.
- Написание серверной и клиентской части веб – сервиса реализующего электронную подпись.
- Сравнение ПО с аналогичными программными продуктами.
Подготовка и порядок выполнения работы
Курсовая работа выполнялась поэтапно во время самостоятельной работы. Работа состояла из следующих этапов:
1. Выбор темы работы.
На этапе выбора темы работы была изучена тема «Создание Web-сервиса осуществляющего цифровую подпись». Был выбран алгоритм для шифрования и цифровой подписи.
2. Разработка технического задания на курсовую работу.
На данном этапе было сформулировано Техническое Задание (ТЗ). Был последовательно изложен порядок проектирования и описание создаваемого программного продукта, интерфейса пользователя и принципов функционирования.
3. Составление плана работ
На данном этапе был разработан план работ над программным приложением, т.е. сформулирована последовательность этапов выполнения курсовой работы.
4. Выполнение работы
На данном этапе изучался теоретический материал по курсу «Программно-аппаратные средства обеспечения информационной безопасности» на тему «Создание Web-сервиса осуществляющего цифровую подпись»;
- исследовались способы построение Web-сервиса
- был изучен CryptoAPI( интерфейс программирования Windows-приложений стандартным набором функций для работы с криптопровайдером);
- создавалось программное обеспечение;
- составлялся отчёт, готовилась пояснительная записка для защиты работы.
Теоретические сведения
1. Построение Web – сервиса с функцией электронной подписи
Модуль проверки и хранения ЭП (сервер)
Обычно Web-сайт развернут на некотором web-сервере. Данный сайт содержит личный кабинет для каждого пользователя, который зарегистрирован на сайте. Для доступа в личный кабинет пользователь должен пройти процедуру аутентификации. Обычно аутентификация заключается в вводе логина и пароля, согласованных при регистрации пользователя. Кроме того, для загрузки электронных документов на сервер используется web-форма ввода.
Для того, чтобы к этой системе «прикрутить» проверку ЭП загружаемых на сайт документов, обеспечить защиту соединений между браузером пользователя и сайтом.
Архитектурно решение будет выглядеть следующим образом:
Модуль выработки ЭП (клиент)
Основный задачей пользователя при доступе на Web-сайт является загрузка электронных документов и текстовых данных на сайт, а так же скачивание электронных документов с сайта. Для защиты web-соединения с сайтом по протоколу SSL/TLS.
Основные достоинства КриптоТуннеля:
- обеспечивает защиту web-соединений между любым браузером и сайтом по протоколу SSL/TLS c поддержкой российских криптоалгоритмов
- позвoляет аутентифицировать пользователя по цифровому сертификату для доступа в личный кабинет пользователя
- поддерживает различные USB-Tokenы и смарт-карты для хранения ключей
- не требует установки на пользовательских местах, распространяется копированием
- может храниться на обычной флешке и запускаться с нее
- не требует для работы прав системного администратора
- поддерживает работу с любым web-браузером (Internet Explorer, Mozilla FireFox, Google Chrome, Opera, Safari Apple и т.д.)
- не имеет «привязки» к одному компьютеру – пользователь может использовать один комплект для использования в офисе и дома - экономия денежных средств
- имеет простой и понятный пользовательский интерфейс, что позволяет обойтись без обучения пользователей
- позволяет минимизировать затраты на техническую поддержку пользователей
- может работать на большом спектре операционных систем (кроссплатформенное решение)
CryptoAPI
Microsoft
Cryptographic API (CryptoAPI) — 32-битный интерфейс
прикладного программирования
CryptoAPI
находит применение в
- средства проведения конференций в реальном времени;
- средства передачи информации в глобальных сетях:
- системы авторизации потребителей;
- банковские приложения, в том числе использующие технологии смарт-карт;
- утилиты шифрования и дешифрования файлов;
- приложения электронной почты;
- приложения коллективной работы.
CryptoAPI
построен по модульному
поставщики криптографических услуг (Cryptographic
Service Providers, CSPs). Ядром каждого CSP служит
определенный криптографический алгоритм.
CSP не зависит от использующего его приложения;
таким образом, приложение способно работать
с множеством различных CSP. Это позволяет
Вам, не изменяя приложение, выбрать поставщика
криптографических услуг, который обеспечит
необходимый уровень защиты.
Windows Communication Foundation
Windows Communication Foundation (WCF) – это платформа корпорации Майкрософт нового поколения для построения распределенных систем. Она была выпущена как часть платформы .NET Framework 3.0 и предназначена для консолидации и расширения интерфейсов API предыдущих версий платформы (например, веб-служб ASP.NET, .NET Remoting, служб Enterprise Services (COM+) и очереди сообщений).
Начнем со следующего ценного наблюдения: современные технологии распределенных систем, из которых наиболее заметны ASP.NET Web Services (ASMX) с расширениями Web Service Enhancements (WSE), Microsoft Message Queue (MSMQ), среда Enterprise Services/COM+ и .NET Remoting, лежат в основе бесчисленных удачных приложений. Возможно, в этих приложениях что-то не так, если Microsoft хочет все их чем-то заменить? Нет, ничего – но их слишком много.
Enterprise
Services обеспечивают интеграцию
Все это хорошо, за тем исключением, что часто приходится делать однозначный выбор между этими фундаментальными технологиями. Если вам нужны какие-то возможности Enterprise Services, и вы решаетесь использовать эту технологию, стратегия реализации будет совсем не та, что при использовании ASMX. Если вам нужен железобетонно надежный обмен сообщениями, и вы выбираете отправку сообщений через MSMQ вместо риска отправки их через HTTP, ваш код будет совсем не таким, как при вызове методов через прокси, если только вы не напишете связывающий код сами, или не используете возможности Queued Components из Enterprise Service (что возвращает нас к предыдущему случаю).
Цели WCF в том, что устранить необходимость такого выбора, и позволить реализовать любую комбинацию перечисленных требований на единой технологической платформе. Если вы хотите создать Web-сервис, поддерживающий сессии и транзакции, и расширить его возможностью проверки необработанных сообщений по мере их поступления в систему, WCF позволит это сделать. Сейчас сделать это (и это справедливо не только для платформы Microsoft) не то, чтобы невозможно, но долго, и от разработчика требуются знания перечисленных выше технологий на системном уровне.
Платформа для создания распределенных систем, объединяющая коммуникации в стиле RPC и в стиле обмена сообщениями, эффективные бинарные коммуникации, оптимизированные для различных платформ и Web-сервисов, основанных на открытых стандартах, а также богатый набор возможностей обеспечения безопасности и обработки транзакций.
Даже оставляя в стороне все эти замечательные возможности, поистине удивительно – по крайней мере для автора – как просто и чисто выглядит модель программирования, и как гибко можно настраивать сервисы. Пусть даже это звучит непрофессионально. Создавать мощные сервисы с помощью WCF так просто, что это можно считать развлечением.
Описание программы
Созданный программный продукт обладает следующими возможностями:
- Работает под управлением всех известных браузеров;
- Обладает интуитивно понятным пользовательским графическим интерфейсом;
- В программном продукте реализованы:
- создание пользователей.
- присвоение пользователю
- подпись отправляемого
- проверка подписи.
- обмен сообщениями.
- Реализована возможность выбора нужного пользователю файла для выполнения операций
Сравнение программы с другими программными продуктами
Сравним программный продукт с Сервисом eSign-PRO
Функциональность:
Функция |
kyrsovaia |
eSign-PRO |
Подпись документов |
+ |
+ |
Передача данных по SSL |
- |
+ |
Ограничение на число документов |
- |
+ |
Множественная подпись |
- |
+ |
Организация обмена сообщениями между пользователями |
+ |
- |