Загрузчик. Диплом_Сайтиев_Release. Реализовать приложениесервер в среде MicrosoftVisualStudioна языкеVisualC#
Скачать 378.04 Kb.
|
1.3. Протокол tcp.В качестве протокола передачи данных в сети будет использоваться TCP. Протокол реализован в контексте клиента и сервера. В отличии от других протоколов,TCPявляется надёжным благодаря следующим качествам: сверка контрольных сумм для проверки целостности передаваемых пакетов осуществление повторного запроса данных в случае потери данных устранение дублирования при получении двух копий одного пакета. Передача пакетов начинается с установления соединения (в отличии от UDP). Состояние сеанса описывается благодаря флагам.
Таблица 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-шага, – входные данные, которые нужно шифровать[7]. Шифрование происходит следующим образом: Дешифрование происходит следующим образом: Таким образом, TripleDESвыполняет три раза алгоритмDESи длина его ключа также в три раза большеDES, то есть равна 168 битов. Для DES 64-разрядный ключ делился на 8 байтов, в каждом байте используется только 7 битов, поэтому на самом деле длина ключа равна 56 битов, а не 64, поэтому длина ключа 3DES на самом деле равна 168, а не 192 бита. TripleDES с различными ключами имеет длину ключа равную 168 бит, но из-за атак «встреча посередине» эффективная криптостойкость составляет только 112 бит. Для успешной атаки наTriple-DES потребуется около бит известного открытого текста, шагов, циклов DES-шифрования и бит памяти. |