Содержание к диссертации
Введение
1. Управление доступом к информационным ресурсам как объект исследования 16
1.1. Задача управления доступом к информационным ресурсам 16
1.1.1. Управление доступом к ресурсам корпоративной сети организации 16
1.1.2. Управление доступом к информации в системах электронной рассылки 21
1.1.3. Управление доступом к информации в системах дистанционного обучения 22
1.2. Основные угрозы информации 24
1.3. Анализ уровней защиты информации 25
1.4. Доступ и политика безопасности 28
1.5. Анализ моделей разграничения доступа 30
1.5.1. Классификация моделей 30
1.5.2. Модели дискреционного доступа 31
1.5.3. Модели мандатного доступа 32
1.6. Анализ современных средств управления доступом 33
1.6.1. Штатные средства управления доступом современных операционных систем 33
1.6.2. Системы Firewall 38
1.7. Метод управления доступом на основе иерархических ключей шифрования 40
1.8. Практическое использование предлагаемого метода 42
1.9. Выводы по главе 1 43
2. Разработка и анализ алгоритма генерации ключей для иерархии классов 46
2.1. Алгоритм генерации иерархических ключей, зависящих от времени 46
2.1.1. Постановка задачи 46
2.1.2. Вычисление параметра К, 47
2.1.3. Вычисление параметра KUiJi] 52
2.1.4. Вычисление ключа Ки 53
2.1.5. Описание алгоритма 55
2.2. Анализ безопасности алгоритма 58
2.2.1. Анализ безопасности параметра Kt 58
2.2.2. Анализ безопасности параметра KlttJi 64
2.2.3. Анализ безопасности ключа Ки 66
2.3. Практическое использование алгоритма 66
2.3.1. Выбор RSA-параметров для генерации Kt . 66
2.3.2. Выбор RSA-параметро в для генерации ЛГ( , 73
2.4. Пример использования алгоритма 74
2.5. Выводы по главе 2 78
3. Анализ требований к системе управления доступом 80
3.1. Архитектура клиент/сервер 80
3.2. Уровни безопасности компьютерных систем 81
3.3. Проблемы безопасности сетевых компьютерных систем 83
3.4. У грозы и уязвимости архитектуры клиент/сервер 86
3.5. Архитектура системы управления доступом 89
3.6. Регистрация пользователей и передача ключей 92
3.7. Схема обмена данными 94
3.8. Анализ атак на систему , 98
3.8.1. Классификация возможных атак 98
3.8.2. Атаки на сервер данных 99
3.8.3. Атаки на представительный сервер 102
3.8.4. Атаки на корневой сервер 104
3.9. Выводы по главе 3 106
4. Система управления доступом к иерархической информации, зависящей от времени 108
4.1. Библиотека поддержки операций с большими числами 108
4.1.1. Методика реализации библиотеки Bigint.. 108
4.1.2. Оптимизация кода библиотеки Bigint под архитектуру процессора Intel Pentium ММХ 114
4.1.3. Оценка эффективности реализации библиотеки Bigint 119
4.2. Распределенная система факторизации больших чисел 121
4.3. Анализ системы управления доступом к иерархической информации, зависящей от времени 128
4.3.1. Общая характеристика системы 128
4.3.2. Развертывание системы в корпоративной сети , 129
4.3.3. Установка корневого сервера 132
4.3.4. Установка представительного сервера , 136
4.3.5. Установка серверов данных 137
4.3.6. Клиент доступа к данным 140
4.4. Тестирование работы системы 142
4.5. Выводы но главе 4 143
Заключение 146
Литература 148
- Управление доступом к ресурсам корпоративной сети организации
- Вычисление параметра К,
- Проблемы безопасности сетевых компьютерных систем
- Оптимизация кода библиотеки Bigint под архитектуру процессора Intel Pentium ММХ
Введение к работе
Управление доступом пользователей автоматизированной информационной системы к ее ресурсам является актуальной задачей. Это обусловлено, главным образом, сле;гующими обстоятельствами.
Жизнь современного общества немыслима без повсеместного применения информационных технологий. Компьютеры обслуживают банковские системы, контролируют работу атомных реакторов, распределяют энергию, следят за расписанием поездов, управляют самолетами и космическими кораблями, С массовым внедрением компьютеров во все сферы деятельности человека объем информации, хранимой в электронном виде, вырос в тысячи раз. И теперь скопировать за полминуты и унести дискету с файлом, содержащим необходимую информацию, намного проще, чем копировать или переписывать кипу бумаг. А с появлением компьютерных сечей даже отсутствие физического доступа к компьютеру перестало быть гарантией сохранности информации.
Сегодня информация - это важнейшая часть активов любой организации. Эффективный контроль над этими активами, их защита от несанкционированного доступа, хищения и любого иного, не предусмотренного регламентом использования, приобретает для организаций одно из первостепенных значений.
В большинстве компьютерных систем вся обрабатываемая информация разделяется в зависимости от своей важности на так называемые «классы безопасности», которые образуют иерархию.
Кроме того, характерной является ситуация, когда информация внутри каждого «класса безопасности» дополнительно зависит от нре-мени ее размещения в данном классе. Примерами таких автоматизированных информационных систем, как будет показано в дальнейшем, являются: корпоративная сеть организации, системы платной электронной рассылки информации, системы дистанционного обучения.
Статистика нарушений информационной безопасности показывает, что значительную их часть осуществляет текущий кадровый состав учреждений.
В большинстве случаев задача управления доступом к информационным ресурсам решается с помощью разграничения доступа на уровне файловой системы. Однако, такой способ имеет множество недостатков как в плане обеспечения защищенности информации от несанкционированного доступа, так и в плане удобства его практического использования. Более надежным способом защиты от несанкционированного доступа является шифрование информации. На рынке программного обеспечения существует большое количество продуктов, обеспечивающих шифрование данных. Однако, они мало пригодны для управления доступом к информационным ресурсам, имеющим иерархическую структуру.
Впервые задача управления доступом к информационным ресурсам, имеющим иерархическую структуру, была решена Аклем (S. G. Akl) и Тэйлором (R D, Taylor) [90]. В дальнейшем было предложено еще несколько алгоритмов решения данной задачи [92, 93, 94, 100].
Большинство исследователей проблемы управления доступом концентрируют свое внимание на разработке алгоритмов, которые имеют либо более эффективную реализацию, либо позволяют изменять иерархию.
МакКиннон (MacKinnon) [94] предложил модификацию алгоритма Акля и Тэйлора для случая, когда иерархия содержит очень большое количество классов.
Сандху (Sandhu) [100] предложил алгоритм для случая, когда иерархия имеет древовидную структуру. Этот алгоритм базировался на симметричных криптосистемах в противовес несимметричным, которые в основном использовались ранее для решения подобной задачи. Алгоритм также позволял добавлять классы в иерархию без воздей- ствия на ключи для существующих классов.
Харн (Нагп) и Лин (Lin) [93] предложили алгоритм, который также позволял добавлять классы в иерархию.
В то же время лишь немногие исследователи (W. G. Tzeng) [104] учитывали псобходимосгь управления доступом к информации в зависимости не только от иерархии, но и от времени размещения информации н классе.
Таким образом, актуальной является проблема управления доступом пользователей автоматизированной системы к информации, имеющей как иерархическую структуру, так и зависимость от времени размещения.
Эта проблема составляет предмет рассмотрения работы и определяет ее актуальность.
Целью диссертационной работы является:
Исследование особенностей процесса обработки, хранения и предоставления доступа к информации в различных автоматизированных информационных системах.
Анализ средств управления доступом к информации.
Разработка алгоритма и программной реализации системы управления доступом к иерархической информации, зависящей от времени.
Для достижения указанной цели в диссертационной работе поставлены и решены следующие задачи:
Проведен анализ существующих методов и средств управления доступом к ресурсам автоматизированных систем обработки информации,
Поставлена и решена задача управления доступом к иерархической информации, зависящей от времени.
Определена структура системы упраиления доступом к информационным ресурсам п компьютерных сетях.
Создан программный комплекс, осуществляющий управление доступом к иерархической информации, зависящей от времени.
Методы исследования. При проведении исследования в диссертационной работе использовались методы и аппарат системного анализа, алгебры, теории чисел, криптографии, дискретной математики, методы автоматизированного программирования.
Научная новизна работы:
Предложена модель управления доступом к информации, основанная на использовании ключей шифрования. Модель позволяет учитывать как иерархическую структуру информации, так и се зависимость от времени.
Разработан новый алгоритм генерации иерархических ключей шифрования, зависящих от времени размещения информации. Данный алгоритм обладает тем свойством, что размер (количество бит) ключевой информации, которую нолучаег каждый пользователь, не зависит от количества классов в иерархии и временного интервала доступа.
Предложена архитектура системы управления доступом к информационным ресурсам, позволяющая обеспечить высокую надежность и масштабируемость данной системы.
Практическая значимость результатов исследований:
1. Разработанный на основе нового алгоритма генерации ключей шифрования программный комплекс является полезным для сетевых администраторов, администраторов безопасности корпоративных сетей, а также всех, кто работает в области защиты информации от несанкционированного доступа.
2. Разработанный программный комплекс позволяет быстро и эффективно решить задачу управления доступом к разделяемым информационным ресурсам с иерархической структурой и временной зависимостью, например электронных публикациях, архивах и информационных рассылках. Он также может помочь в повышении общего уровня безопасности корпоративной сети организации.
Разработанный программный комплекс успешно эксплуатируется в государственном унитарном предприятии «РОСТЭК» филиал «ГОСТЭК-САРАНСК», а также на факультете электронной техники Мордовского государственного университега имени Н. П. Огарева, что подтверждается справками о внедрении результатов диссертационного исследования, находящимися в приложении 4.
Положения, выносимые на защиту:
Модель управления доступом к информации, основанная на использовании ключей шифрования, позволяющая учитывать как иерархическую структуру информации, так и ее зависимость от времени.
Алгоритм генерации иерархических ключей шифрования, зависящих от времени, обладающий тем свойством, что размер (количество бит) ключевой информации пользователя является величиной постоянной.
Структура системы управления доступом к информационным ресурсам в компьютерных сетях, обеспечивающая высокую надежность и масштабируемость системы.
Программный комплекс, осуществляющий управление доступом к иерархической информации, зависящей от времени.
Первая глава диссертационной работы начинается с анализа процесса обработки, хранения и предоставления доступа к информаци- онным ресурсам в различных автоматизированных системах обработки информации. Были исследованы следующие автоматизированные системы: корпоративная сеть организации, системы платной электронной рассылки, системы дистанционного обучения.
Исследование показало, что во всех трех рассмотренных системах существует разделение информации на классы в зависимости от ее важности, а также существует зависимость информации от времени. Производится постановка задачи управления доступом к иерархической информации, зависящей от времени.
Далее приведен анализ существующих методов и средств управления доступом. Приведена классификация угроз, которым может подвергнуться информация, обрабатываемая вычислительной системой. Детально представлены четыре уровня защиты информации: правовой, административный, аппаратно-программный и криптографический. Исследованы их основные преимущества и недостатки. Подчеркивается особая роль криптографических методов для защиты от несанкционированного доступа, особенно, если использовать их при поддержке ряда необходимых административных мер.
Исследованы преимущества и недостатки существующих средств управления доступом применительно к задаче управления доступом к иерархической информации, зависящей от времени. На основании исследования делается вывод о том, что данные средства не позволяют осуществлять эффективное управление доступом к подобной информации. Делается вывод о необходимости разработки алгоритмов и программного комплекса для управления доступом к иерархической информации, зависящей от времени.
Представлен метод управления доступом к информации, основанный на использовании ключей шифрования. Проанализирована возможность его применения для управления доступом к иерархической информации, зависящей от времени. Предложен новый способ реализации данного метода применительно к информации, имеющей иерархическую структуру и временную зависимость.
Далее в главе показано, что предлагаемый мето;; позволяет эффективно решить задачу управления доступом для рассматриваемых в данной работе автоматизированных систем обработки информации.
Во второй главе диссертационной работы представлен процесс и результат разработки алгоритма генерации иерархических ключей шифрования, зависящих от времени. Излагаются базовые принципы построения алгоритма. Обосновывается необходимость использования методов асимметричной криптографии. Приводятся расчетные формулы, позволяющие сгенерировать иерархическую и временную компоненты ключа шифрования.
Подобно всем предлагавшимся ранее алгоритмам число открытых параметров зависит от количества классов в иерархии и равно т -4-4, где т - число классов в частично упорядоченной иерархии.
Проведено аналитическое исследование безопасности предлагаемого алгоритма, которое показало, что его «взлом» сводится к взлому криптосистемы RSA.
Исследованы особенности предлагаемого алгоритма, связанные с его практическим использованием. Для алгоритмов, основанных на открытых ключах, существует ряд математических проблем, которые не всегда учитываются при построении криптосистемы. К ним можно отнести выбор начальных значений, на основе которых создаются ключи. Есть определенные числа, позволяющие очень быстро вычислить секретный ключ. В то же время правильный выбор начальных значений позволяет гарантировать невозможность «лобовой» атаки в течение нескольких сотен лет при современном развитии вычислительной техники. На основе проведенного исследования даются рекомендации по выбору параметров алгоритма.
Приведен пример использования предлагаемого алгоритма, а также числовые данные позволяющие оценить экономию ключевого материала по сравнению с прямой реализацией метода управления до- стуном (когда пользователь хранит у себя ключи от всех нижестоящих классов, а также ключи для каждого временного интервала).
Третья глава диссертационной работы посвящена анализу требований к системе управления доступом к информационным ресурсам и построению на основании данного анализа архитектуры системы.
Управление доступом к ресурсам корпоративной сети организации
Деятельность любой достаточно крупной современной организации носит многопрофильный характер, а управление организацией на основе информационных технологий является сложной комплексной задачей, требующей решения организационных и технологических проблем с учетом экономической целесообразности использования определенной технологии. Можно, с известной долей условности, выделить несколько проблемных областей или контуров информатизации организации: административное управление, финансы, управление персоналом, управление информационными ресурсами. Как правило, интеграция объектов информатизации каждого контура выполняется па основе создания интегрированной информационной среды организации в целях обеспечения универсальных способов доступа к информации, что послужит основой формирования полноценной корпоративной системы управления данными.
Одной из ключевых проблем создания эффективной информационной среды является проблема управления доступом к информационным ресурсам и сервисам, на которые переносятся процессы, обеспечивающие непосредственную деятельность организации.
Одной из непременных составляющих современных информационных технологий является объединение вычислительных ресурсов организации в единую корпоративную сеть. В последнее время словосочетание «корпоративная сеть» стало достаточно распространенным и даже начало терять смысл. Наиболее подробное определение данного термина выглядит следующим образом [25]:
Определение 1.1 Корпоративная сеть - это внутренняя частная сеть организации, объединяющая вычислительные, коммуникационные и информационные ресурсы этой организации и предназначенная для передачи информации различного типа (цифровая, аудио, видео и другая информация).
Корпоративная сеть, как правило, является территориально распределенной, то есть объединяющей подразделения и структуры, находящиеся на значительном удалении друг от друга. Часто узлы корпоративной сети оказываются расположенными в различных городах, а иногда и странах. Внутри корпоративной сети определена специальная политика, описывающая используемые аппаратные и программные средства, правила получения доступа пользователей к сетевым ресурсам, правила управления сетью, контроль использования ресурсов и дальнейшее развитие сети.
В настоящее время наиболее развивающейся технологией для построения корпоративных информационных систем является intranet, которая предусматривает специфические решения реализации приложений архитектуры клиент/сервер.
Под термином «intranet» подразумевается многообразие технологий и протоколов, разработанных для глобальной сети Internet, в закрытой корпоративной сети, что предусматривает: 1. применение в качестве транспортного протокола TCP/IP; 2. применение встроенных средств защиты и аутентификации (IPSec, SSL, SHTTP, S/MIME SESAME, Kerberos 5 и т. п.); 3. использование при разработке приложений технологии WWW в архитектуре «клиент - Wcb-сериер приложений - сервер баз данных». Вместе с тем Web-технологии при всех своих заметных преимуществах создают и новые технические проблемы, такие как масштабируемость, управление сеансами и состоянием, трудности с защитой потока данных и возможными изменениями стандартов: 1. Масштабируемость. Прикладные программы Web в период пиковых нагрузок могут вести себя непредсказуемым образом. Большие загрузки, создаваемые запросами пользователей, требуют высокоэффективной архитектуры аппаратной и программной платформы, которые должны допускать масштабируемость ресурсов. 2. Управление сеансом и состоянием. В WWW-среде клиентское и серверное программное обеспечение, к сожалению, является слабосвязанным. Прикладные программы сервера должны хранить информацию о состоянии сеанса при переходе от одной страницы к другой, например, если необходимо избежать требования повторного ввода пользователем имени и пароля для доступа к новой странице. 3. Централизованное управление ресурсами и разграничение доступа. Как правило, управление ресурсами и разграничение доступа ориентировано на отдельный WWW-сервер и не охватывает все информационные ресурсы компании. 4. Защита. Проблемы защиты становятся первостепенными, когда компании делают внутренние базы данных доступными для внешних пользователей. Установление подлинности пользователя и безопасность передачи данных становится большой проблемой в среде Web из-за огромного количества потенциально анонимных пользователей. 5. Стандарты. Реализации технологии WWW все еще изменяются, и стандарты окончательно не устоялись. При реализации корпоративных информационных систем на базе технологий Internet/intranet важнейшими вопросами являются: организация защиты информации, централизованное управление информационными ресурсами, разграничение доступа к ресурсам. Особенно это важно при организации доступа пользователей из внешних сетей к ресурсам корпоративной информационной системы, так называемая extranet-технология. В современном компьютерном сообществе атаки на информацию стали обыденной практикой. Злоумышленники используют как ошибки в написании и администрировании программ, так и методы социальной психологии для получения желаемой информации. Интересные цифры об атаках на информацию были приведены в отчетах исследовательского центра DataPro Research [62]. Основные причины повреждений электронной информации распределились следующим образом: неумышленная ошибка человека - 52% случаен, умышленные действия человека - 10% случаев, отказ техники -10% случаев, повреждения в результате пожара- 15% случаев, повреждения водой - 10% случаев, прочие причины - 3% случаев. Таким образом, каждый десятый случай повреждения электронных данных связан с компьютерными атаками.
Вычисление параметра К,
Исходя из рассмотренных в 1.1 особенностей обработки, хранения и предоставления доступа к информации можно сделать вывод, что наиболее подходящей моделью для управления доступом является модель Белла и Лападула.
Правила предоставления доступа, описанные в данной модели могут быть реализованы различными способами, в том числе и на основе аутентификации. Однако более надежным способом защиты информации от несанкционированного доступа является использование шифрования.
Пусть С — {7,-} множество классов информации, которое является частично упорядоченным [48, С. 281] при помощи некоторого бинарного отношения « ». Другими словами, классы информации образуют частично упорядоченную иерархию. Задача управления доступом к иерархической информации заключается и следующем: если пользователь имеет доступ в класс С,-, то он должен иметь доступ и в любой класс С} такой, что . Использование шифрования для управления доступом означает, что для каждого класса С,- назначается ключ ЛГ» и вся информация в этом классе шифруется при помощи данного ключа. В этом случае, пользователь, получая доступ к классу С,- вместе с ключом К{ должен хранить и ключи от всех нижестоящих классов. Это неудобно, особенно если иерархия имеет большое количество классов и если пользователь имеет доступ к одному из классов, находящихся в вершине иерархии. Более эффективным является метод основанный па использовании иерархических ключей шифрования. Ключ шифрования К{ для класса С; назначается таким образом, что из него можно вычислить Kj, но только для классов, удовлетворяющих условию Cj С». Таким образом, пользователь, получив доступ в класс С,-, может расшифровать данные в любом классе Как уже указывалось ранее, характерной является ситуация, когда информация внутри каждого «класса безопасности» дополнительно упорядочена по времени занесения ее в этот класс.
Для решении подобной задачи можно предложить следующий способ управления доступом [65]. Каждый класс d имеет несколько ключей Кц, где Kit есть ключ класса С,- в момент времени t. В данном случае параметр t является дискретным, то есть общее время «жизни» системы управления доступом разделяется на фиксированные отрезки и, для определенности, отсчет начинается с 0. В такой системе, если пользователь получаст доступ к информации из класса С, для отрезка времени ] t І2, то он также должен иметь доступ к информации из всех нижестоящих классов, помещенной в них в этот же промежуток времени. То есть пользователь должен иметь возможность с помощью
Предлагаемый метод управления доступом к иерархической информации, зависящей от времени, позволяет эффективно решить задачу управления доступом для рассмотренных в 1.1 областей применения.
Использование данного метода в корпоративной сети очевидно. Каждый сотрудник организации при устройстве па работу получает ключевую информацию /(і,іі, )) соответствующую его служебному положению и интервалу времени, на который заключен контракт с организацией. В течении этого временного интервала он может читать любую информацию соответствующую своему классу или любому классу, нижестоящему в иерархии. В случае продления контракта он получает новое значение /(г,іі,2з).
Использование предлагаемого метода управления доступом в системах электронной рассылки не столь очевидно, поэтому требует более подробного исследования.
Проблемы безопасности сетевых компьютерных систем
Сейчас самую большую угрозу безопасности компьютерных систем представляют сами компьютеры в руках преступников или злых шутников. Эта проблема стала заметно проявлять себя лишь в последние десять лет, благодаря революции в микроэлектронике и широкому распространению коммуникаций персональных компьютеров. Число пользователей сети Internet сейчас больше, чем жителей в любом городе мира. Поэтому как в любом крупном городе, там есть свои хулиганы, воры и бандиты. Для того, чтобы обезопасить себя от преступных действий, компьютерные сети применяют специальные меры защиты.
Проблема безопасности работы в сети начнет становиться еще более важной, по мере того, как фирмы будут идти по пути уменьшения размеров вычислительных систем, перенося спои прикладные задачи с больших центральных компьютеров на сети рабочих станций. Эти мощные системы еще более уязвимы, чем те сети, которые существуют сейчас.
Главных проблем безопасности в сети не так уж и много. Вот их самый краткий, но вполне достаточный перечень: 1. предотвращение проникновения в сеть и манипуляций с данными; 2. предотвращение разглашения информации в сети; 3. поиск наиболее уязвимых мест системы безопасности сети. Проблема предотвращения несанкционированного доступа, безусловно, самая важная, хотя не единственная. Необходимо заметить: администраторами сетей почти всегда правильно оценивается значение программных средств контроля и криптографической техники, но мало кто из них уделяет достаточное внимание мониторингу работы пользователей.
Большинство взломов систем происходит из-за того, что администратору сети поручают несвойственную ему дополнительную обязанность следить за строгим соблюдением пользователями правил работы, которую в большинстве случаев он выполнить не п состоянии. Поэтому в действительно секретной сети кроме администратора нужен еще и офицер безопасности, внимательно следящий за действиями пользователей и непрерывно ведущий мониторинг.
Разглашение информации слишком часто встречается в практике работы сетей потому, что люди постоянно находятся под прессом обстоятельств и не всегда осознают последствия кажущихся им мелкими действий. Основой противодействия разглашению информации должна служить строгая регламентация всех действий пользователей и персонала, обеспечиваемая главным образом административными, а уже потом техническими и программными средствами. Наиболее надежной является такая организация системы, при которой пользователь сознает ответственность за те или иные свои действия.
Причины для хакерства могут быть различные. Кроме иррационального поведения со стороны хакера, имеются четыре основных повода: персональная месть, самореклама, попытка вызвать разрушающий основы общества хаос или нажива.
При мести хакерство основано на социальном или персональном заказе отмщения за реальную или воображаемую обиду. Некоторые лично мотивированные случаи хакерства побуждены идеализмом жертва выбирается в этих случаях так, чтобы хакер был уверен, что ее наказание даст абстрактную пользу людям. Разрушение сетей правительственных и крупных коммерческих компаний чаще всего относится к этому типу. Анархически настроенные молодые люди были наиболее видными проводниками таких действий до последнего времени, так как считали хакерство достойным ответом на безнравственные законы и действия правительств.
Другой тип хакерства молено назвать пропагандистским, потому что он преследует получение гласности для освещения специфической точки зрения хакеров или для саморекламы. Действительно, приписка в вирусе: «Sofia. Dark Adventure.», эквивалентна визитной карточке, так как достаточно просмотреть файлы регистрации софийских BBS, чтобы найти автора.
Чисто политическое хакерство неизвестно, так как оно вряд ли может вызывать значимые изменения политики и больше смахивает на пропагандистский демарш.
Хакерство ради наживы - это то, чем рано или поздно заканчивают неудачники в личной или деловой сфере. Публикации сообщают, что покинувшие Россию профессиональные программисты, не найдя работы, нередко принимают предложения преступных группировок, которые используют их как хакеров для грабежа банков. Они практически неуловимы, так как обычная операция хорошо планируется и длится всего несколько минут, а связь педется из номера отеля, снятого на вымышленное лицо.
Не стоит недооценивать возможности непрофессионалов по совершению компьютерных преступлений. Нелояльные сотрудники, имеющие доступ к компьютерам, играют главную роль в большинстве финансовых преступлений. Это скорее организационная, чем техническая проблема. Если хороню отобранным наемным служащим хорошо платят, маловероятно, что они представят угрозу безопасности. Технология может играть здесь лишь вспомогательную роль. Статистика приводит очень печальные данные, утверждая, что лишь четверть сотрудников банка вполне лояльна, четверть, безусловно, настроена к фирме враждебно и не имеет моральных ограничителей, лояльность же оставшейся половины зависит исключительно от обстоятельств. Процедуры безопасности могут обеспечивать проверку паролей и строгий контроль доступа к денным общим данным, но взломщика, хорошо знающего внутреннее устройство системы, практически невозможно остановить.
Оптимизация кода библиотеки Bigint под архитектуру процессора Intel Pentium ММХ
В спязи с тем, что для вычисления только одного иерархического ключа необходимо выполнить несколько операций RSA-шифрования, то эта часть системы управления доступом очень критична к скорости работы арифметических процедур, обрабатывающих большие числа. Вследствие этого при разработке библиотеки Bigint основное внимание уделялось именно временным характеристикам данных процедур.
Для достижения максимальной скорости некоторые базовые процедуры реализованы на встроенном ассемблере языка Borland Delphi 7. Это конечно снижает переносимость библиотеки на другую аппаратную платформу, по позволяет достичь приемлемых временных характеристик при работе с ключами.
Кроме того, была выполнена оптимизация кода библиотеки под архитектуру процессора Intel Pentium ММХ или любой старшей модели этого же семейства. Прежде чем перейти к описанию проведенной оптимизации, необходимо рассмотреть основные черты архитектуры современных процессоров. Так как процессоры Intel используют весьма сложный набор команд, большинство операций можно выполнить на низком уровне различными способами. Часто простыми перестановками команд, зная механизм их реализации па современных процессорах, можно заставить ту же процедуру выполняться на 50-200% быстрее.
Конвейеризация является одним из основных способов повышения производительности процессора. Конвейерный процессор при Понимает ноную инструкцию каждый цикл даже если предыдущие инструкции не завершены. В результате выполнение нескольких инструкций перекрывается и п прцессоре находится сразу несколько инструкций в разной степени готовности.
Исполнение инструкций может быть разделено на несколько стадий: выборка, декодирование, исполнение, запись результатов. Конвейер инструкций может уменьшить число циклов на инструкцию посредством одновременного исполнения нескольких инструкций, находящихся на разных стадиях.
При правильной аппаратной реализации конвейер, имеющий п стадий может одновременно исполнять п последовательных инструкций. Новая инструкция может приниматься к исполнению на каждом цикле, и эффективная скорость исполнения, таким образом, есть один цикл па инструкцию. Однако, это предполагает, что конвейер всегда заполнен полезными инструкциями и пет задержек п прохождении инструкций через конвейер.
Управление конвейером инструкций требует надлежащего эффективного управления такими событиями, как переходы, исключе-ніія или прерывания, которые могут полностью нарушить поток инструкций. Например, результат условного перехода известен только, когда эта инструкция будет исполнена. Если конвейер был заполнен инструкциями, следующими за инструкцией условного перехода и переход состоялся, то все эти инструкции должны быть выброшены из конвейера.
Более того, внутри конвейера могут оказаться взаимозавгісимие инструкции. Например, если инструкция в стадии декодирования должна читать из ячейки памяти, значение которой является результатом работы инструкции, находящейся в стадии исполнения, то конвейер будет остаиоплсн на один цикл, поскольку этот результат будет доступен только после стадии записи результатов. Поэтому компилятору необходимо переупорядочить инструкции и программе так, чтобы ио-возможности избежать зависимостей между инструкциями внутри конвейера.
Другим способом увеличения производительности процессоров .является выполнение более чем одной операции одновременно. Такие процессоры называются суперскалярными. Они имеют два или более конвейеров инструкций, работающих параллельно, что значительно увеличивает скорость обработки потока инструкций. Суперскалярному процессору требуется более широкий доступ к памяти, так, чтобы он мог брать сразу группу из нескольких инструкций для исполнения. Диспетчер анализирует эти группы и заполняет каждый из конвейеров так, чтобы снизить взаимозависимость данных и конфликты регистров. Выполнение и инструкций может быть не по порядку поступления, так, чтобы команды перехода были проанализированы раньше, убирая задержки в случае осу и ветвления перехода. Компилятор должен оптимизировать код для обеспечения заполнения всех конвейеров.