Загрузчик. Диплом_Сайтиев_Release. Реализовать приложениесервер в среде MicrosoftVisualStudioна языкеVisualC#
Скачать 378.04 Kb.
|
1.2 Основные виды клиентских программВ зависимости от функциональных возможностей («толщины») клиентские программы принято подразделять на два вида: «тонкий» клиент и «толстый» клиент. Под толщиной понимается степень участия клиента в обработке информации. Оно определяет конфигурацию оборудования и программное обеспечение, имеющиеся у клиента. Рассмотрим возможные граничные значения [28]: «Тонкий» клиент Первоначально этот термин обозначал аппаратное устройство, снабженное устройством ввода, устройством вывода и средством подключения к сети. В настоящее время этот термин определяет клиента, вычислительных ресурсов которого достаточно лишь для запуска необходимого сетевого приложения через web-интерфейс. Обработка информации происходит на сервере. Пользовательский интерфейс такого приложения формируется средствами статического HTML (выполнение JavaScript не предусматривается), вся прикладная логика выполняется на сервере. Для работы тонкого клиента достаточно лишь обеспечить возможность запуска web-браузера, в окне которого и осуществляются все действия. По этой причине web-браузер часто называют «универсальным клиентом». Также термин «тонкий» клиент обозначает ряд устройств и программ, работающих в терминальном режиме. Для работы таких тонких клиентов необходим терминальный сервер. Также существуют устройства – Windows- и Linux-терминалы, имеющие устройство, отличное от устройства персонального компьютера, со своей местной специализированной операционной системой. «Толстый» клиент Самостоятельно производит обработку информации, используя сервер в основном лишь для хранения данных или за дополнительными услугами. Таковым является рабочая станция или персональный компьютер, работающие под управлением собственной дисковой операционной системы и имеющие необходимый набор программного обеспечения. Также под «толстым» клиентом подразумевается и клиентское сетевое приложение, запущенное под управлением локальной операционной системы. Такое приложение совмещает компонент представления данных (графический пользовательский интерфейс ОС) и прикладной компонент (вычислительные мощности клиентского компьютера). Примером толстого клиента может служить сайт, имеющий собственную базу данных, собственные механизмы обработки и предоставления данных пользователю. В последнее время все чаще используется еще один термин: «rich»-client. «Rich»-клиент своего рода компромисс между «толстым» и «тонким» клиентом. Как и «тонкий» клиент, «rich»-клиент также представляет графический интерфейс, описываемый уже средствами XML и включающий некоторую функциональность толстых клиентов (например интерфейс drag-and-drop, вкладки, множественные окна, выпадающие меню и т.п.). Прикладная логика «rich»-клиента также реализована на сервере. Данные отправляются в стандартном формате обмена, на основе того же XML (протоколы SOAP, XML-RPC) и интерпретируются клиентом. Таким образом [13], технология «клиент-сервер» обладает значительными преимуществами по сравнению с файл-серверной технологией, главными из которых являются высокая производительность, безопасность и масштабируемость. Имеется несколько типов серверов, среди которых можно назвать веб-серверы, серверы баз данных, серверы приложений, почтовые серверы. Примерами клиентов являются браузеры, мобильные приложения, пользовательские программы для доступа к базе данных. В зависимости от сложности клиенты подразделяются на «толстые» - обладающие возможность производить обработку данных самостоятельно, и «тонкие», служащие только для доступа к данным. Развитие современных технологий AJAX, JavaScript, JSON-RPC, WebSocket позволили сайтам передать часть нагрузки по обработке информации компьютеру пользователя. Браузер клиента связывается с главным сервером по API и получает данные, фильтрует, показывает их пользователю. Таким образом, тонким клиентом по отношению к главному серверу, хранящему все данные, становится оболочка сайта и управляющий JavaScript-код. Рассмотрим примеры клиентских программ [12]: Веб-браузер — прикладное программное обеспечение для просмотра веб-страниц, содержания веб-документов, компьютерных файлов и их каталогов; управления веб-приложениями; а также для решения других задач. Примеры браузеров – Google Chrome, Internet Explorer, Mozilla Firefox, Яндекс Браузер. Распространяются бесплатно. В глобальной сети браузеры используют для запроса, обработки, манипулирования и отображения содержания веб-сайтов. Многие современные браузеры также могут использоваться для обмена файлами с серверами FTP, а также для непосредственного просмотра содержания файлов многих графических форматов (gif, jpeg, png, svg), аудио-видео форматов (mp3, mpeg), текстовых форматов (pdf, djvu) и других файлов. Сегодня имеется множество браузеров, и конкуренция между ними побуждает разработчиков к постоянной работе над их улучшением и расширением функциональных возможностей. Со времени начала применения браузеров во Всемирной паутине в начале 1990-х годов, из простого средства просмотра текстовой информации браузер превратился в комплексное прикладное программное обеспечение для обработки данных и обеспечения интерфейса между информационными ресурсами и человеком. Мобильное приложение - программное обеспечение, предназначенное для работы на смартфонах, планшетах и других мобильных устройствах. Мобильное приложение может быть загружено из онлайн-магазина приложений либо предустановлено, а также может быть установлено самостоятельно разработанное мобильное приложение. Первоначально мобильные приложения использовались для быстрой проверки электронной почты, но их высокий спрос привел к расширению их назначений и в других областях, таких как игры для мобильных телефонов и GPS, общение, просмотр видео и пользование интернетом. Рынок мобильных приложений сегодня очень развит и неуклонно растет. Сегодня мобильные приложения разрабатываются по самой различной тематике: приложения для изучения языков, фитнес-тренировок, математических вычислений, обработки графических изображений, навигации. Кроме этого, сегодня большинство развитых сайтов создают свои мобильные приложения. Мессенджер – это программа-клиент для обмена сообщениями в реальном времени через Интернет. Могут передаваться текстовые сообщения, звуковые сигналы, изображения, видео, а также производиться такие действия, как совместное рисование или игры. Многие из таких программ-клиентов могут применяться для организации групповых текстовых чатов или видеоконференций. Мессенджеры не работают самостоятельно, необходимо подключение к серверу. Широкому кругу пользователей известно некоторое количество популярных сетей (и клиентов) обмена сообщениями, таких как IRC, Skype, ooVoo, AIM, ICQ, MSN, Yahoo!, Jitsi, XMPP. Каждая из этих сетей разработана отдельной группой разработчиков, имеет отдельные серверы и протоколы, отличается своими правилами и особенностями. Между различными сетями обычно нет прямой связи (только в XMPP существует понятие межсетевого транспорта), таким образом, пользователь сети Skype не может связаться с пользователем сети ICQ, однако ничто не мешает быть одновременно пользователем нескольких сетей. FTP–клиент – компьютерная программа для упрощения доступа к FTP–серверу. FTP – сервер – это сервер, используемый для обмена файлами между компьютерами по локальной сети или сети Интернет. Клиентское приложение для работы с базой данных – программа, предназначенная для доступа, ввода информации, получения запросов из базы данных, выполняющая вычисления, а также обеспечивающая санкционированный доступ к данным. Программа должна иметь интерфейс, удобный для пользователя. Простейшим примером такой программы является форма MS Access. Почтовый клиент – программное обеспечение, устанавливаемое на компьютере пользователя и предназначенное для получения, написания, отправки и хранения сообщений электронной почты одного или нескольких пользователей или нескольких учётных записей одного пользователя. Основные функции почтовых клиентов — это прием сообщений, обеспечение их просмотра, сортировка сообщений, автоматизация создания ответных сообщений и поддержка адресной книги. Облачный клиент – программа для доступа к облачному серверу. Облачный сервер – это технология размещения данных с сетевым доступом к вычислительным ресурсам. Пользование ими исключает необходимость взаимодействия с провайдером, а алгоритм работы довольно прост – загрузка, редактирование и удаление информации (или ее части) происходит в режиме реального времени при подключении к интернету. Облако обрабатывает данные и предоставляется пользователю в виде онлайн-сервиса. Сервер находится на удаленном доступе, а пользователь имеет постоянную возможность подключения к нему при авторизации в браузере с любого устройства: ПК, планшета, смартфона. Антивирусная программа - специализированная программа для обнаружения компьютерных вирусов, а также нежелательных программ и восстановления заражённых такими программами файлов и профилактики — предотвращения заражения файлов или операционной системы вредоносным кодом. В заключение можно сказать, что сегодня существует и разрабатывается множество программ, которые можно отнести к клиентам. Так, например 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-шифрования и бит памяти. |