- •1. Методы оценки эффективности информационных технологий
- •2. Архитектура «клиент-сервер»
- •3. Использование парольной защиты: подход к выбору пароля, способы снятия пароля, места применения паролей
- •4. Виды и источники угроз для конфиденциальной информации
- •5. Борьба с деструктивными программами: классификация деструктивных программ, виды угроз, противодействие
- •6. Криптографические протоколы аутентификации
- •Изобразить схему Файстеля, лежащую в основе большинства соврременных симметричных алгоритмов шифрования, объяснить преимущества, доказать корректность схемы.
- •8. Составить программу (псевдокод), реализующую простейший алгоритм вычисления контрольной суммы (цифровой подписи) произвольного файла
- •9. Из двух строк (последовательностей) символов выделить сигнатуру максимальной длины. Рассказать об основных подходах к выбору сигнатур в антивирусах для поиска деструктивных программ.
- •9. Структура и особенности использования бухгалтерских ис
- •10. Структура и особенности использования банковских ис
2. Архитектура «клиент-сервер»
Практически все модели организации удаленного взаимодействия пользователя с БД построены на основе модели «клиент-сервер». Это технология взаимодействия двух программ (или ЭВМ), каждая из которых имеет свое назначение и выполняет свою определенную роль. Сервер — это компьютер, управляющий тем или иным ресурсом или программа, предоставляющая доступ к этому ресурсу. Клиент — это программа (или ЭВМ), запрашивающая у сервера требуемый ресурс. В распределенных системах функции прикладной программы разбиваются на две части. Одна часть реализуется в программе-клиенте, а другая — в программе-сервере и для их взаимодействия определяется некоторый протокол.
Рассмотрим эти функции. Один из основных принципов технологии клиент-сервер заключается в разделении функций стандартного интерактивного приложения на три группы, имеющие различную природу.
Первая группа — функции, с помощью которых пользователь взаимодействует с приложением (в основном — функции ввода и отображения данных).
Вторая группа — объединяет чисто прикладные функции, характерные для данной предметной области (для банковской системы — открытие счета, перевод денег с одного счета на другой и т.д.).
Третья группа — фундаментальные функции хранения и управления информационно-вычислительными ресурсами (базами данных, файловыми системами и т.д.).
Четвертая группа — служебные функции, осуществляющие связь между функциями первых трех групп.
В соответствии с этим в любом приложении выделяются следующие компоненты: компонент представления (функции первой группы), прикладной компонент, (функции второй группы) и компонент доступа к данным (функции третьей группы), а также вводятся соглашения о способах их взаимодействия (т.е., разрабатывается протокол взаимодействия).
Различия в реализации технологии клиент-сервер определяются:
— видами ПО, в которые интегрирован каждый из этих компонентов;
— механизмами ПО, используемыми для реализации функций всех трех групп;
— способом распределения логических компонентов между компьютерами в сети;
— механизмами, используемыми для связи компонентов между собой.
Выделяются четыре основных подхода, реализованные в следующих моделях:
1. Модель файлового сервера. (FS)
Один из узлов сети считается файловым сервером и предоставляет другим компьютерам услуги по доступу к файлам, хранящимся на этом узле. Серверная часть программы содержит только компонент доступа к данным (файлам). На других ПК в сети функционирует приложение-клиент, совмещающий компонент представления и прикладной компонент . Протокол обмена представляет собой набор вызовов, обеспечивающих приложению доступ к файловой системе на файл-сервере (рис. 4.3).
Р
ис.
4.3. Модель файлового сервера
К недостаткам данной модели относят высокий сетевой трафик (передача множества файлов, необходимых приложению), небольшое количество операций манипуляции с данными (файлами), отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы) и т.д.
2. Модель доступа к удаленным данным (RDA)
В RDA-модели сервер и клиент имеют структуру, аналогичную модели файлового сервера: компонент представления и прикладной компонент выполняются на клиенте, а сервер содержит компонент доступа к данным. Однако данные хранятся на сервере в базе данных (а не в виде файлов), а доступ к ним обеспечивается посредством стандартного языка запросов SQL. Т.е. клиент (прикладной компонент) отправляет серверу SQL-запросы и получает в ответ совокупность данных, представленных в виде таблицы (которые потом обрабатываются на клиенте). Часто, говоря о модели «клиент-сервер», подразумевают именно эту разновидность (рис. 4.4).
Р
ис.
4.4. Модель доступа к удаленным данным
Основное достоинство модели заключается в унификации интерфейса клиент-сервер в виде языка SQL и широком выборе средств разработки приложений. К недостаткам можно отнести существенную загрузку сети при взаимодействии клиента и сервера посредством SQL-запросов (т.к. по сети передаются избыточные блоки данных). Однако модель является оптимальной для ситуации высокопроизводительных клиентов и относительно низкопроизводительного сервера.
3. Модель сервера баз данных (DBS)
В основе модели лежит механизм хранимых процедур. Хранимая процедура оперирует данными, содержащимися в БД, и возвращает результат их обработки. В модели DBS прикладной компонент представляет собой набор хранимых процедур, которые хранятся и выполняются непосредственно на сервере, а клиентское приложение (по сути содержащее лишь компонент представления) вызывает эти процедуры, передавая по сети их идентификаторы и параметры (рис. 4.5).
Р
ис.
4.5. Модель сервера баз данных
Достоинства DBS-модели: возможность централизованного администрирования прикладных функций; снижение трафика (вместо SQL-запросов по сети направляются вызовы хранимых процедур, а вместо таблиц с «сырыми» данными — только результаты их обработки); возможность разделения процедуры между несколькими приложениями; экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры.
К недостаткам относится ограниченность средств написания хранимых процедур, представляющих собой разнообразные процедурные расширения SQL, которые уступают по изобразительным средствам и функциональным возможностям в сравнении с высокоуровневыми языками программирования. Сфера их использования ограничена конкретной СУБД из-за отсутствия возможности отладки и тестирования разнообразных хранимых процедур. На практике чаще используются смешанные модели, когда целостность базы данных и некоторые простейшие прикладные функции обеспечиваются хранимыми процедурами (DBS-модель), а более сложные функции реализуются непосредственно в прикладной программе, которая выполняется на компьютере-клиенте (RDA-модель).
4. Модель сервера приложений (AS)
В модели сервера приложений (рис. 4.6) компоненты приложения разнесены на три части. Клиентская часть содержит компонент представления. Серверная часть выполнена аналогично модели доступа к удаленным данным RDA (выполняет SQL-запросы к БД, расположенной на сервере). Третья часть — промежуточная — выступает в роли клиента и сервера одновременно, содержит прикладной компонент и называется сервером приложений. Сервер приложений организован как группа процедур (процессов), выполняющих определенные прикладные функции. Клиент обращается к серверу приложений через API (то есть, посылает идентификатор интересующей его процедуры и набор параметров и ждет получения результата). Функционирующие на сервере приложений процедуры, в свою очередь, обращаются к серверу баз данных (причем, могут использоваться разные сервера). Трехзвенная архитектура позволяет добиться максимальной гибкости при проектировании приложений клиент-сервер.
Р
ис.
4.6. Модель сервера приложений
