Файл: Реализовать приложениесервер в среде MicrosoftVisualStudioна языкеVisualC#.odt
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.12.2023
Просмотров: 108
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Программа должна иметь интерфейс, удобный для пользователя. Простейшим примером такой программы является форма MS Access.
Почтовый клиент – программное обеспечение, устанавливаемое на компьютере пользователя и предназначенное для получения, написания, отправки и хранения сообщений электронной почты одного или нескольких пользователей или нескольких учётных записей одного пользователя. Основные функции почтовых клиентов — это прием сообщений, обеспечение их просмотра, сортировка сообщений, автоматизация создания ответных сообщений и поддержка адресной книги.
Облачный клиент – программа для доступа к облачному серверу. Облачный сервер – это технология размещения данных с сетевым доступом к вычислительным ресурсам. Пользование ими исключает необходимость взаимодействия с провайдером, а алгоритм работы довольно прост – загрузка, редактирование и удаление информации (или ее части) происходит в режиме реального времени при подключении к интернету. Облако обрабатывает данные и предоставляется пользователю в виде онлайн-сервиса. Сервер находится на удаленном доступе, а пользователь имеет постоянную возможность подключения к нему при авторизации в браузере с любого устройства: ПК, планшета, смартфона.
Антивирусная программа - специализированная программа для обнаружения компьютерных вирусов, а также нежелательных программ и восстановления заражённых такими программами файлов и профилактики — предотвращения заражения файлов или операционной системы вредоносным кодом.
В заключение можно сказать, что сегодня существует и разрабатывается множество программ, которые можно отнести к клиентам. Так, например MS Word 2010 можно рассматривать как толстый клиент, который полноценно работает в автономном режиме, а при подключении к Интернету программа может обращаться к серверу, например, для загрузки шаблонов.
В качестве языка разработки приложений был выбран Visualc#. Выбор был сделан в пользу именно этого языка программирования по следующим причинам:
+Кроссплатформенность достигается путём компиляции кода c# не в машинный код, а в промежуточную средуCLR(CommonLanguageRuntime), на котором выполняются все приложения платформы и которая является реализацией спецификации общеязыковой инфраструктурыMicrosoft[11].
Платформа .NETпредоставляет огромные возможности по обеспечению безопасности данных. Классы для шифрования находятся в пространстве имёнSystem.Security.Cryptographyи реализуютнесколько симметричных и ассиметричных алгоритмов.
В качестве алгоритма шифрования в данной дипломной работе выбран Triple-DES. Этот алгоритм является улучшенной версией DES и основное его отличие заключается в том, что он использует ключи шифрования размером 128, 192 и 256 бит (Алгоритм DES считается ненадёжным, так как использует ключи длиной всего 56 бит) [8].
Triple-DFS это алгоритм шифрования с симметричным ключом, то есть предусматривают использование одного и того же ключа как для шифрования, так и для дешифрации данных.
Средства для реализации симметричных шифров реализованы в классе TripleDESCryptoServiceProvider, который содержит методы:
Алгоритм Triple-DESпредставляется следующим образом:
где – ключи для каждогоDES-шага, – входные данные, которые нужно шифровать[7].
Шифрование происходит следующим образом:
Дешифрование происходит следующим образом:
Таким образом, TripleDESвыполняет три раза алгоритмDESи длина его ключа также в три раза большеDES, то есть равна 168 битов. Для DES 64-разрядный ключ делился на 8 байтов, в каждом байте используется только 7 битов, поэтому на самом деле длина ключа равна 56 битов, а не 64, поэтому длина ключа 3DES на самом деле равна 168, а не 192 бита.
TripleDES с различными ключами имеет длину ключа равную 168 бит, но из-за атак «встреча посередине» эффективная криптостойкость составляет только 112 бит. Для успешной атаки наTriple-DES потребуется около бит известного открытого текста, шагов, циклов DES-шифрования и бит памяти.
В качестве протокола передачи данных в сети будет использоваться TCP. Протокол реализован в контексте клиента и сервера. В отличии от других протоколов,TCPявляется надёжным благодаря следующим качествам:
Передача пакетов начинается с установления соединения (в отличии от UDP). Состояние сеанса описывается благодаря флагам.
Таблица 1. Состояния сеанса TCP.
Соединение разделяют на следующие стадии:
Из недостатков TCPотмечают уязвимость к атакамTCPResetиTCPhijacking.
Платформа .NETпредоставляет огромные возможности по обеспечению безопасности данных. Классы для шифрования находятся в пространстве имёнSystem.Security.Cryptographyи реализуютнесколько симметричных и ассиметричных алгоритмов.
В качестве алгоритма шифрования в данной дипломной работе выбран Triple-DES. Этот алгоритм является улучшенной версией DES и основное его отличие заключается в том, что он использует ключи шифрования размером 128, 192 и 256 бит (Алгоритм DES считается ненадёжным, так как использует ключи длиной всего 56 бит) [8].
Triple-DFS это алгоритм шифрования с симметричным ключом, то есть предусматривают использование одного и того же ключа как для шифрования, так и для дешифрации данных.
Средства для реализации симметричных шифров реализованы в классе TripleDESCryptoServiceProvider, который содержит методы:
Алгоритм Triple-DESпредставляется следующим образом:
где – ключи для каждогоDES-шага,
Почтовый клиент – программное обеспечение, устанавливаемое на компьютере пользователя и предназначенное для получения, написания, отправки и хранения сообщений электронной почты одного или нескольких пользователей или нескольких учётных записей одного пользователя. Основные функции почтовых клиентов — это прием сообщений, обеспечение их просмотра, сортировка сообщений, автоматизация создания ответных сообщений и поддержка адресной книги.
Облачный клиент – программа для доступа к облачному серверу. Облачный сервер – это технология размещения данных с сетевым доступом к вычислительным ресурсам. Пользование ими исключает необходимость взаимодействия с провайдером, а алгоритм работы довольно прост – загрузка, редактирование и удаление информации (или ее части) происходит в режиме реального времени при подключении к интернету. Облако обрабатывает данные и предоставляется пользователю в виде онлайн-сервиса. Сервер находится на удаленном доступе, а пользователь имеет постоянную возможность подключения к нему при авторизации в браузере с любого устройства: ПК, планшета, смартфона.
Антивирусная программа - специализированная программа для обнаружения компьютерных вирусов, а также нежелательных программ и восстановления заражённых такими программами файлов и профилактики — предотвращения заражения файлов или операционной системы вредоносным кодом.
В заключение можно сказать, что сегодня существует и разрабатывается множество программ, которые можно отнести к клиентам. Так, например MS Word 2010 можно рассматривать как толстый клиент, который полноценно работает в автономном режиме, а при подключении к Интернету программа может обращаться к серверу, например, для загрузки шаблонов.
В качестве языка разработки приложений был выбран Visualc#. Выбор был сделан в пользу именно этого языка программирования по следующим причинам:
-
Приложения, написанные на этом языке используют платформу .NET. Это позволяет приложениям запускаться на всех устройствах, на которых установлен .NET. -
Платформа активно разрабатывается, актуальна и библиотеки этой платформы содержат множество готовых классов и методов для разработки клиент-серверных приложений, сетевой передачи данных и шифрования.
+Кроссплатформенность достигается путём компиляции кода c# не в машинный код, а в промежуточную средуCLR(CommonLanguageRuntime), на котором выполняются все приложения платформы и которая является реализацией спецификации общеязыковой инфраструктурыMicrosoft[11].
Платформа .NETпредоставляет огромные возможности по обеспечению безопасности данных. Классы для шифрования находятся в пространстве имёнSystem.Security.Cryptographyи реализуютнесколько симметричных и ассиметричных алгоритмов.
В качестве алгоритма шифрования в данной дипломной работе выбран Triple-DES. Этот алгоритм является улучшенной версией DES и основное его отличие заключается в том, что он использует ключи шифрования размером 128, 192 и 256 бит (Алгоритм DES считается ненадёжным, так как использует ключи длиной всего 56 бит) [8].
Triple-DFS это алгоритм шифрования с симметричным ключом, то есть предусматривают использование одного и того же ключа как для шифрования, так и для дешифрации данных.
Средства для реализации симметричных шифров реализованы в классе TripleDESCryptoServiceProvider, который содержит методы:
-
CreateEncryptor – возвращает контекст (интерфейс ICryptoTransform) для криптографических трансформаций данных шифровальщика. -
CreateDecryptor – возвращает контекст (интерфейс ICryptoTransform) для криптографических трансформаций данных дешифровальщика. -
GenerateKey и GenerateIV – генерируют ключи.
Алгоритм Triple-DESпредставляется следующим образом:
где – ключи для каждогоDES-шага, – входные данные, которые нужно шифровать[7].
Шифрование происходит следующим образом:
Дешифрование происходит следующим образом:
Таким образом, TripleDESвыполняет три раза алгоритмDESи длина его ключа также в три раза большеDES, то есть равна 168 битов. Для DES 64-разрядный ключ делился на 8 байтов, в каждом байте используется только 7 битов, поэтому на самом деле длина ключа равна 56 битов, а не 64, поэтому длина ключа 3DES на самом деле равна 168, а не 192 бита.
TripleDES с различными ключами имеет длину ключа равную 168 бит, но из-за атак «встреча посередине» эффективная криптостойкость составляет только 112 бит. Для успешной атаки наTriple-DES потребуется около бит известного открытого текста, шагов, циклов DES-шифрования и бит памяти.
1.3. Протокол tcp.
В качестве протокола передачи данных в сети будет использоваться TCP. Протокол реализован в контексте клиента и сервера. В отличии от других протоколов,TCPявляется надёжным благодаря следующим качествам:
-
сверка контрольных сумм для проверки целостности передаваемых пакетов -
осуществление повторного запроса данных в случае потери данных -
устранение дублирования при получении двух копий одного пакета.
Передача пакетов начинается с установления соединения (в отличии от UDP). Состояние сеанса описывается благодаря флагам.
Closed | Начальное состояние узла. Фактически фиктивное |
Listen | Сервер ожидает запросов установления соединения от клиента |
Syn-sent | Клиент отправил запрос серверу на установление соединения и ожидает ответа |
Syn-received | Сервер получил запрос на соединение, отправил ответный запрос и ожидает подтверждения |
Established | Соединение установлено, идёт передача данных |
Fin-wait-1 | Одна из сторон (назовём её узел-1) завершает соединение, отправив сегмент с флагом FIN |
Close-wait | Другая сторона (узел-2) переходит в это состояние, отправив, в свою очередь сегмент ACK и продолжает одностороннюю передачу |
Fin-wait2 | Узел-1 получает ACK, продолжает чтение и ждёт получения сегмента с флагом FIN |
Last-ack | Узел-2 заканчивает передачу и отправляет сегмент с флагом FIN |
Time-wait | Узел-1 получил сегмент с флагом FIN, отправил сегмент с флагом ACK и ждёт 2*MSL секунд, перед окончательным закрытием соединения |
Closing | Обе стороны инициировали закрытие соединения одновременно: после отправки сегмента с флагом FIN узел-1 также получает сегмент FIN, отправляет ACK и находится в ожидании сегмента ACK (подтверждения на свой запрос о разъединении) |
Таблица 1. Состояния сеанса TCP.
Соединение разделяют на следующие стадии:
-
установка соединения-
послание серверу сегмента с номером последовательности и флагом SYN -
если клиент получает сегмент с флагом SYN, то он запоминает номер последовательности и посылает сегмент с флагом ACK -
если сервер в состоянии SYN-RECEIVED получает сегмент с флагом ACK, то он переходит в состояние ESTABLISHED
-
-
передача данных -
завершение соединения-
посылка серверу от клиента флагов FIN и ACK на завершение соединения. -
сервер посылает клиенту флаги ответа ACK, FIN, что соединение закрыто. -
после получения этих флагов клиент закрывает соединение и в подтверждение отправляет серверу ACK, что соединение закрыто.
-
Из недостатков TCPотмечают уязвимость к атакамTCPResetиTCPhijacking.
1.2. Шифрование сетевых пакетов средствами .Net.
Платформа .NETпредоставляет огромные возможности по обеспечению безопасности данных. Классы для шифрования находятся в пространстве имёнSystem.Security.Cryptographyи реализуютнесколько симметричных и ассиметричных алгоритмов.
В качестве алгоритма шифрования в данной дипломной работе выбран Triple-DES. Этот алгоритм является улучшенной версией DES и основное его отличие заключается в том, что он использует ключи шифрования размером 128, 192 и 256 бит (Алгоритм DES считается ненадёжным, так как использует ключи длиной всего 56 бит) [8].
Triple-DFS это алгоритм шифрования с симметричным ключом, то есть предусматривают использование одного и того же ключа как для шифрования, так и для дешифрации данных.
Средства для реализации симметричных шифров реализованы в классе TripleDESCryptoServiceProvider, который содержит методы:
-
CreateEncryptor – возвращает контекст (интерфейс ICryptoTransform) для криптографических трансформаций данных шифровальщика. -
CreateDecryptor – возвращает контекст (интерфейс ICryptoTransform) для криптографических трансформаций данных дешифровальщика. -
GenerateKey и GenerateIV – генерируют ключи.
Алгоритм Triple-DESпредставляется следующим образом:
где – ключи для каждогоDES-шага,