Создание Web-сервиса осуществляющего цифровую подпись

Автор работы: Пользователь скрыл имя, 03 Мая 2014 в 18:37, курсовая работа

Краткое описание

В данной курсовой работе рассматривается создание программного продукта, который позволит удаленно совершать цифровую подпись документов и проверять её подлинность.

Содержание

Цели и задачи курсовой работы 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. Изучение принципов электронного документа оборота.
  2. Изучение электронной подписи.
  3. Написание серверной и клиентской части веб – сервиса реализующего электронную подпись.
  4. Сравнение ПО с аналогичными программными продуктами.

 

 

Подготовка и порядок выполнения работы

Курсовая работа выполнялась поэтапно во время самостоятельной работы. Работа состояла из следующих этапов:

1. Выбор темы работы.

На этапе выбора темы работы была изучена тема «Создание Web-сервиса осуществляющего цифровую подпись». Был выбран алгоритм для шифрования и цифровой подписи.

2. Разработка технического задания на курсовую работу.

На данном этапе было сформулировано Техническое Задание (ТЗ). Был последовательно изложен порядок проектирования и описание создаваемого программного продукта, интерфейса пользователя и принципов функционирования.

3. Составление плана работ

На данном этапе был разработан план работ над программным приложением, т.е. сформулирована последовательность этапов выполнения курсовой работы.

4. Выполнение работы

На данном этапе изучался теоретический материал по курсу «Программно-аппаратные средства обеспечения информационной безопасности» на тему «Создание Web-сервиса осуществляющего цифровую подпись»;

- исследовались  способы построение Web-сервиса

  - был изучен CryptoAPI( интерфейс программирования Windows-приложений стандартным набором функций для работы с криптопровайдером);

- создавалось  программное обеспечение;

- составлялся  отчёт, готовилась пояснительная  записка для защиты работы.

 

 

 

  1. Теоретические сведения

  1. 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 и т.д.)
  • не имеет «привязки» к одному компьютеру – пользователь может использовать один комплект для использования в офисе и дома - экономия денежных средств
  • имеет простой и понятный пользовательский интерфейс, что позволяет обойтись без обучения пользователей
  • позволяет минимизировать затраты на техническую поддержку пользователей
  • может работать на большом спектре операционных систем (кроссплатформенное решение)
  1. CryptoAPI

Microsoft Cryptographic API (CryptoAPI) — 32-битный интерфейс  прикладного программирования для Microsoft Windows, реализующий множество  функций защиты информации. Поддержка CryptoAPI — составная часть Microsoft Windows NT Server, и, следовательно, эти средства  доступны Internet Information Server. Если речь  идет о разработке Windows-приложения  для коллективной работы группы  пользователей, Интернет-приложения  или настольных приложений, требующих  защиты, этот API идеально подходит  для данных целей.

CryptoAPI находит применение в различных  областях, включая:

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

CryptoAPI построен по модульному принципу. Все криптографические операции  выполняют заменяемые компоненты  — так называемые 
поставщики криптографических услуг (Cryptographic Service Providers, CSPs). Ядром каждого CSP служит определенный криптографический алгоритм. CSP не зависит от использующего его приложения; таким образом, приложение способно работать с множеством различных CSP. Это позволяет Вам, не изменяя приложение, выбрать поставщика криптографических услуг, который обеспечит необходимый уровень защиты.

 

 

 

 

  1. 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 обеспечивают интеграцию транзакций  различных сторон, выполняющих совместную  работу в распределенной среде, позволяют ограничивать доступ  к дефицитным разделяемым ресурсам, позволяет создавать пулы экземпляров  объекта для оптимизации доступа  к ресурсам, чья инициализация  обходится дорого, имеет механизм  «издатель/подписчик» для событий, богатую модель безопасности, и  является вершиной проверенных, интегрированных, безопасных и быстрых  технологий. Последнее по порядку, но не по значению, Remoting, это  интегрированный механизм Common Language Runtime (CLR) для связи между объектами  через границы доменов приложений, который пользуется популярностью  за свою крайне гибкую модель  расширения.

Все это хорошо, за тем исключением, что часто приходится делать однозначный выбор между этими фундаментальными технологиями. Если вам нужны какие-то возможности Enterprise Services, и вы решаетесь использовать эту технологию, стратегия реализации будет совсем не та, что при использовании ASMX. Если вам нужен железобетонно надежный обмен сообщениями, и вы выбираете отправку сообщений через MSMQ вместо риска отправки их через HTTP, ваш код будет совсем не таким, как при вызове методов через прокси, если только вы не напишете связывающий код сами, или не используете возможности Queued Components из Enterprise Service (что возвращает нас к предыдущему случаю).

Цели WCF в том, что устранить необходимость такого выбора, и позволить реализовать любую комбинацию перечисленных требований на единой технологической платформе. Если вы хотите создать Web-сервис, поддерживающий сессии и транзакции, и расширить его возможностью проверки необработанных сообщений по мере их поступления в систему, WCF позволит это сделать. Сейчас сделать это (и это справедливо не только для платформы Microsoft) не то, чтобы невозможно, но долго, и от разработчика требуются знания перечисленных выше технологий на системном уровне.

Платформа для создания распределенных систем, объединяющая коммуникации в стиле RPC и в стиле обмена сообщениями, эффективные бинарные коммуникации, оптимизированные для различных платформ и Web-сервисов, основанных на открытых стандартах, а также богатый набор возможностей обеспечения безопасности и обработки транзакций.

Даже оставляя в стороне все эти замечательные возможности, поистине удивительно – по крайней мере для автора – как просто и чисто выглядит модель программирования, и как гибко можно настраивать сервисы. Пусть даже это звучит непрофессионально. Создавать мощные сервисы с помощью WCF так просто, что это можно считать развлечением.

 

 

 

 

 

 

 

 

  1. Описание программы

 

Созданный программный продукт обладает следующими возможностями:

  • Работает под управлением всех известных браузеров;
  • Обладает интуитивно понятным пользовательским графическим интерфейсом;
  • В программном продукте реализованы:

- создание пользователей.

- присвоение пользователю ключей  подписи.

- подпись отправляемого документа.

- проверка подписи.

- обмен сообщениями.

  • Реализована возможность выбора нужного пользователю файла для выполнения операций

 

 

 

 

  1. Сравнение программы с другими программными продуктами

Сравним программный продукт с Сервисом eSign-PRO

Функциональность:

Функция

kyrsovaia

eSign-PRO

Подпись документов

+

+

Передача данных по SSL

-

+

Ограничение на число документов

-

+

Множественная подпись

-

+

Организация обмена сообщениями между пользователями

+

-

Информация о работе Создание Web-сервиса осуществляющего цифровую подпись