Рефераты

Анализ системы безопасности Microsoft Windows 2000 Advanced Server и стратегий ее использования

Анализ системы безопасности Microsoft Windows 2000 Advanced Server и стратегий ее использования

Тема курсового проекта: «Анализ системы безопасности Microsoft Windows 2000

Advanced Server и стратегий ее использования»

Основные разделы курсового проекта:

1. Сетевые операционные системы.

2. Философия и архитектура Microsoft Windows 2000 с точки зрения

безопасности.

3. Разработка программы определяющей сетевое имя и ip-адрес компьютера

(рабочей станции).

Рекомендованная литература:

В. Олифер Н. Олифер. Сетевые операционные системы – С. Петербург.: Питер.,

- 2003.

Мэтью Штребе. Windows 2000: проблемы и решения. Специальный справочник –

С.Петербург.: Питер., -2002.

Криста Андерсон. Администрирование дисков в Windows 2000.-Журнал "Windows

2000 Magazine", -03/2000//по материалам сайта http: www.citforum.ru

Марк Джозеф Эдвард, Дэвид Лебланк. Где NT хранит пароли. - Журнал "Windows

2000 Magazine", -02/1999 //по материалам сайта http: www.citforum.ru

|Дата выдачи задания |«____»_____________2004 года |

|Руководитель курсового проекта | |

Вступление

При создании системы безопасности новой ОС Windows 2000 Advanced Server

разработчики фирмы Microsoft постарались учесть как существующий опыт

использования системы безопасности Windows NT 4.0, так и реализовать новые

наборы механизмов и протоколов безопасной работы с информацией. Windows NT

4.0 выбрана не случайно: она позиционируется как ОС для предприятий,

обладает встроенными возможностями разграничения доступа к ресурсам и за 6

лет эксплуатации хорошо зарекомендовала свои существующие и потенциальные

возможности безопасности. Но если заглянуть в Windows 2000 Advanced Server,

то, очевидно, что, несмотря на большое количество механизмов безопасности,

внесенных в новую ОС из Windows NT 4.0, все они претерпели существенные

изменения в сторону увеличения удобства, надежности и функциональности.

Несмотря на то что, судя по пользовательскому интерфейсу, Windows 2000

Advanced Server больше похожа на Windows 98, на самом деле она является

преемником Windows NT и даже называлась Windows NT 5 на первом этапе работы

над бета-версией. Хотя 2000 и базируется на Windows NT, операционная

система была кардинально усовершенствована и обновлена, был также полностью

пересмотрен интерфейс администрирования. NT 4 отличалась от NT 3.51 главным

образом концепцией пользовательского интерфейса в виде рабочего стола,

большинство средств администрирования остались теми же. В Windows 2000

Advanced Server изменился каждый инструмент администрирования. Все средства

администрирования были унифицированы путем преобразования в «оснастки»

(snap-in) псевдоиерархического средства управления Microsoft Management

Console (консоль управления Microsoft, MMC).

Система Windows 2000 Advanced Server компании Microsoft обеспечивает

возможность безопасного доступа к ресурсам системы. Если для вас, самым

важным ресурсом, подлежащим защите, являются файлы, можно настроить систему

так, чтобы иметь возможность контролировать то, как другие пользователи

читают, записывают, создают и изменяют файлы и папки на вашем компьютере.

Это возможно только при использовании системы NTFS. Система была

создана для Windows NT, предшественника Windows 2000 Advanced Server, и

является одной из трех систем, которые можно использовать на жестком диске

компьютера.

1. Структура сетевой операционной системы

Сетевая операционная система составляет основу любой вычислительной

сети. Каждый компьютер в сети в значительной степени автономен, поэтому под

сетевой операционной системой в широком смысле понимается совокупность

операционных систем отдельных компьютеров, взаимодействующих с целью обмена

сообщениями и разделения ресурсов по единым правилам - протоколам. В узком

смысле сетевая ОС - это операционная система отдельного компьютера,

обеспечивающая ему возможность работать в сети.

[pic]

Рис. 1.1. Структура сетевой ОС

В сетевой операционной системе отдельной машины можно выделить несколько

частей (рисунок 1.1):

. Средства управления локальными ресурсами компьютера: функции

распределения оперативной памяти между процессами, планирования и

диспетчеризации процессов, управления процессорами в

мультипроцессорных машинах, управления периферийными устройствами и

другие функции управления ресурсами локальных ОС.

. Средства предоставления собственных ресурсов и услуг в общее

пользование - серверная часть ОС (сервер). Эти средства обеспечивают,

например, блокировку файлов и записей, что необходимо для их

совместного использования; ведение справочников имен сетевых ресурсов;

обработку запросов удаленного доступа к собственной файловой системе и

базе данных; управление очередями запросов удаленных пользователей к

своим периферийным устройствам.

. Средства запроса доступа к удаленным ресурсам и услугам и их

использования - клиентская часть ОС (редиректор). Эта часть выполняет

распознавание и перенаправление в сеть запросов к удаленным ресурсам

от приложений и пользователей, при этом запрос поступает от приложения

в локальной форме, а передается в сеть в другой форме, соответствующей

требованиям сервера. Клиентская часть также осуществляет прием ответов

от серверов и преобразование их в локальный формат, так что для

приложения выполнение локальных и удаленных запросов неразличимо.

. Коммуникационные средства ОС, с помощью которых происходит обмен

сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию

сообщений, выбор маршрута передачи сообщения по сети, надежность

передачи и т.п., то есть является средством транспортировки сообщений.

В зависимости от функций, возлагаемых на конкретный компьютер, в его

операционной системе может отсутствовать либо клиентская, либо серверная

части.

[pic]

Рис. 1.2. Взаимодействие компонентов операционной системы

при взаимодействии компьютеров

На рисунке 1.2 показано взаимодействие сетевых компонентов. Здесь

компьютер 1 выполняет роль "чистого" клиента, а компьютер 2 - роль

"чистого" сервера, соответственно на первой машине отсутствует серверная

часть, а на второй - клиентская. На рисунке отдельно показан компонент

клиентской части - редиректор. Именно редиректор перехватывает все запросы,

поступающие от приложений, и анализирует их. Если выдан запрос к ресурсу

данного компьютера, то он переадресовывается соответствующей подсистеме

локальной ОС, если же это запрос к удаленному ресурсу, то он переправляется

в сеть. При этом клиентская часть преобразует запрос из локальной формы в

сетевой формат и передает его транспортной подсистеме, которая отвечает за

доставку сообщений указанному серверу. Серверная часть операционной системы

компьютера 2 принимает запрос, преобразует его и передает для выполнения

своей локальной ОС. После того, как результат получен, сервер обращается к

транспортной подсистеме и направляет ответ клиенту, выдавшему запрос.

Клиентская часть преобразует результат в соответствующий формат и адресует

его тому приложению, которое выдало запрос.

На практике сложилось несколько подходов к построению сетевых

операционных систем (рисунок 1.3).

[pic]

Рис. 1.3. Варианты построения сетевых ОС

Первые сетевые ОС представляли собой совокупность существующей

локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную

ОС встраивался минимум сетевых функций, необходимых для работы сетевой

оболочки, которая выполняла основные сетевые функции. Примером такого

подхода является использование на каждой машине сети операционной системы

MS DOS (у которой начиная с ее третьей версии появились такие встроенные

функции, как блокировка файлов и записей, необходимые для совместного

доступа к файлам).

1.1. Одноранговые сетевые ОС и ОС с выделенными серверами

В зависимости от того, как распределены функции между компьютерами

сети, сетевые операционные системы, а следовательно, и сети делятся на два

класса: одноранговые и двухранговые (рисунок 1.1.1.). Последние чаще

называют сетями с выделенными серверами.

[pic]

(а) Рис. 1.1.1. (а) - Одноранговая сеть

[pic]

Рис. 1.1.1. (б) - Двухранговая сеть

Если компьютер предоставляет свои ресурсы другим пользователям сети,

то он играет роль сервера. При этом компьютер, обращающийся к ресурсам

другой машины, является клиентом. Компьютер, работающий в сети, может

выполнять функции либо клиента, либо сервера, либо совмещать обе эти

функции.

Если выполнение каких-либо серверных функций является основным

назначением компьютера (например, предоставление файлов в общее пользование

всем остальным пользователям сети или организация совместного использования

факса, или предоставление всем пользователям сети возможности запуска на

данном компьютере своих приложений), то такой компьютер называется

выделенным сервером. В зависимости от того, какой ресурс сервера является

разделяемым, он называется файл-сервером, факс-сервером, принт-сервером,

сервером приложений и т.д.

В сети с выделенным сервером все компьютеры в общем случае могут

выполнять одновременно роли и сервера, и клиента, эта сеть функционально не

симметрична: аппаратно и программно в ней реализованы два типа компьютеров

- одни, в большей степени ориентированные на выполнение серверных функций и

работающие под управлением специализированных серверных ОС, а другие - в

основном выполняющие клиентские функции и работающие под управлением

соответствующего этому назначению варианта ОС. Функциональная

несимметричность, как правило, вызывает и несимметричность аппаратуры - для

выделенных серверов используются более мощные компьютеры с большими

объемами оперативной и внешней памяти. Таким образом, функциональная

несимметричность в сетях с выделенным сервером сопровождается

несимметричностью операционных систем (специализация ОС) и аппаратной

несимметричностью (специализация компьютеров).

В одноранговых сетях все компьютеры равны в правах доступа к ресурсам

друг друга. Каждый пользователь может по своему желанию объявить какой-либо

ресурс своего компьютера разделяемым, после чего другие пользователи могут

его эксплуатировать. В таких сетях на всех компьютерах устанавливается одна

и та же ОС, которая предоставляет всем компьютерам в сети потенциально

равные возможности.

В отличие от сетей с выделенными серверами, в одноранговых сетях

отсутствует специализация ОС в зависимости от преобладающей функциональной

направленности - клиента или сервера. Все вариации реализуются средствами

конфигурирования одного и того же варианта ОС.

Сетевые операционные системы имеют разные свойства в зависимости от

того, предназначены они для сетей масштаба рабочей группы (отдела), для

сетей масштаба кампуса или для сетей масштаба предприятия.

1.2. Серверные системы: история создания, основные версии.

Серверные системы должны позволять первоначальный запуск в небольшой

конфигурации и обеспечивать возможность расширения по мере роста

потребностей. Электронная торговля по Интернету требует активного

и быстрого увеличения размеров систем. Поставщикам услуг, объединяющим

обработку приложений в большие узлы, также требуется динамичный рост

систем. Масштаб таких узлов увеличивается как путем «роста вверх» (заменой

серверов на более мощные), так и путем «роста вширь» (добавлением

дополнительных серверов).

Совокупность всех серверов, приложений и данных некоторого

вычислительного узла называется также фермой. Фермы имеют множество

функционально специализированных служб, каждая со своими собственными

приложениями и данными (например, служба каталогов, безопасности, HTTP,

почты, баз данных и т. п.). Ферма функционирует как подразделение — имеет

единый обслуживающий персонал, единое управление, помещения и сеть.

Для обеспечения отказоустойчивости аппаратное и программное

обеспечение, а также данные фермы дублируются на одной или нескольких

физически удаленных фермах. Такой набор ферм называют геоплексом. Геоплекс

может иметь конфигурацию активный-активный, в которой все фермы несут часть

нагрузки, или активный-пассивный, при которой одна или несколько ферм

находятся в готовом резерве.

Начало работ по созданию Windows NT приходится на конец 1988 года.

Сначала Windows NT развивалась как облегченный вариант OS/2 (OS/2

Lite), который за счет усечения некоторых функций мог бы работать на менее

мощных машинах. Однако со временем, увидев как успешно принимается

потребителями Windows 3.0, Microsoft переориентировалась и стала

разрабатывать улучшенный вариант Windows 3.1. Новая стратегия Microsoft

состояла в создании единого семейства базирующихся на Windows операционных

систем, которые охватывали бы множество типов компьютеров, от самых

маленьких ноутбуков до самых больших мультипроцессорных рабочих станций.

Windows NT, как было названо следующее поколение Windows-систем,

относится к самому высокому уровню в иерархии семейства Windows. Эта

операционная система, первоначально поддерживавшая привычный графический

интерфейс (GUI) пользователя Windows, явилась первой полностью 32-разрядной

ОС фирмы Microsoft. Win32 API - программный интерфейс для разработки новых

приложений - сделал доступными для приложений улучшенные свойства ОС, такие

как многонитевые процессы, средства синхронизации, безопасности, ввода-

вывода, управление объектами.

Первые ОС семейства NT - Windows NT 3.1 и Windows NT Advanced Server

3.1 появились в июле 1993 года. В августе 1996 года вышла очередная версия

Windows NT 4.0. Сначала предполагалось, что эта очередная версия Windows NT

получит номер 3.52, однако ей был присвоен номер 4.0, который раньше

упоминался в компьютерной прессе в связи с другой ожидаемой версией Windows

NT, имеющей кодовое название Cairo. Новшества, внесенные в Windows NT

Server 4.0, были связаны с улучшением интерфейса пользователя, расширением

поддержки Internet, появлением новых и модернизацией существующих

инструментов администрирования и повышением производительности системы.

2. Системы семейства Windows NT.

При разработке Windows NT 4.0 Microsoft решила пожертвовать

стабильностью ради производительности. С этой целью были внесены изменения

в архитектуру: библиотеки менеджера окон и GDI, а также драйверы

графических адаптеров были перенесены из пользовательского режима в режим

ядра.

В Windows NT 4.0 было внесено много существенных изменений, среди

которых наиболее значительными являются следующие:

. реализация интерфейса в стиле Windows 95;

. ориентировка в сторону Internet и intranet;

. архитектурные изменения, позволившие резко повысить производительность

графических операций;

. модификация средств взаимодействия с NetWare - Gateway и клиент NCP

поддерживают теперь NDS;

. поддержка многопротокольной маршрутизации;

. появление в Windows NT 4.0 эмулятора Intel'овских процессоров для RISC-

платформ.

Помимо внешних изменений, модернизация графического интерфейса не

сильно отразилась на методах управления сетью. Базовый инструментарий

администратора Windows NT Server остался прежним. Программы User Manager

for Domains, Server Manager, Disk Administrator, Event Viewer, Performance

Monitor, DHCP Manager, WINS Manager, Network Client Administrator, License

Manager и Migration Tool for NetWare не претерпели существенных изменений.

Remote Access Administrator также не изменился, он был перенесен из

отдельной папки в меню Administrative Tools. Редактор системной политики

System Policy Editor, совместимый как с Windows NT, так и с Windows 95,

заменил редактор профилей пользователей User Profile Editor, знакомый по

версиям Windows NT Server 3.x. В версию 4.0 вошли четыре дополнения:

административные программы-мастера Administrative Wizards, System Policy

Editor, а также расширенное средство Windows NT Diagnostics и программа

Network Monitor (программа мониторинга работы сети, ранее поставлявшаяся

только в составе продукта Microsoft Systems Management Server).

Кроме того, в состав Windows NT 4.0 вошла Web-ориентированная утилита

администрирования, открывающая доступ к средствам администрирования Windows

NT из любого Web-броузера.

Windows 2000 — следующее воплощение Windows NT, которую Microsoft

создала для оказания непосредственной конкуренции OS/2, NetWare и UNIX на

рынках файловых серверов и небольших серверов приложений. В процессе

создания бета-версии Windows 2000 называлась Windows NT 5, однако Microsoft

изменила имя на Windows 2000, чтобы уменьшить путаницу среди клиентов после

того, как они закончат работу с продуктами основанного на MS-DOS трека

разработок Windows 9х.

Для того чтобы в условиях жесткой конкуренции Windows 2000 достигла

успеха как сетевая операционная система, Microsoft спроектировала поддержку

некоторых важных вычислительных технологий. Это следующие ключевые

технологии:

• многопроцессорная обработка;

• многопоточность;

• поддержка больших приложений;

• платформонезависимость;

• всеобъемлющая безопасность;

• обратная совместимость.

Многие функции Windows 2000, такие как безопасность дисков и

возможности сетевого взаимодействия, в действительности являются функциями

служб и драйверов, работающих поверх этой базовой архитектуры.

3. Анализ безопасности Windows 2000 Advanced Server.

3.1. Теория Безопасности

Когда Windows NT впервые появилась в 1993 г., под безопасностью

подразумевались меры предохранения важной информации на сервере от

просмотра не имеющими на то прав пользователями и, возможно, использование

безопасности обратного вызова для пользователей удаленного доступа для

контроля за входящими телефонными подключениями к системе. Windows NT

считалась безопасной, потому что она использовала однонаправленные хэш-

значения паролей для аутентификации пользователей и наследуемые токены

безопасности для безопасности межпроцессного взаимодействия.

Интернет полностью изменил картину. Windows NT 4 была выпущена в 1996

г. вместе с новым и недоработанным стеком TCP/IP, как раз когда Интернет

набирал обороты, и операционная система оказалась неподготовленной к

хакерским атакам через Интернет, которые продолжались в течение всех

четырех лет ее жизни после выпуска. Microsoft выпускала все новые заплатки

и пакеты обновления, пытаясь залатать новые бреши, обнаруживаемые в

службах, протоколах и драйверах Windows NT.

Многие из дыр были образованы новыми компонентами по выбору Windows

NT, такими как Internet Information Server и FrontPage Server Extensions.

Большую часть проблемы составляло само предоставление службы Интернета.

Безопасность (security) — это совокупность мер, принимаемых для

предотвращения любого рода потерь. Система, обладающая фундаментальной

безопасностью, — это такая система, в которой никакой пользователь не

обладает доступом к чему бы то ни было. К сожалению, такие полностью

безопасные системы бесполезны, поэтому необходимо принять определенный риск

в области безопасности, для того чтобы обеспечить возможность пользования

системой. Цель управления безопасностью — минимизировать риск, возникающий

при обеспечении необходимого уровня удобства использования (usability)

системы.

Вся современная компьютерная безопасность основывается на

фундаментальной концепции личности (identity) пользователя. Для получения

доступа к системе люди идентифицируют себя тем способом, которому доверяет

система. Этот процесс называется входом в систему (logging on). После того

как пользователь вошел в систему, его доступ к данным и программам может

однозначно контролироваться на основе его личности.

Чтобы поддерживать надежность системы, доступ к системе никогда не

должен быть разрешен без прохождения процедуры входа в систему. Даже в

системах, открытых для публичного анонимного доступа, должны применяться

учетные записи (account) для контроля за тем, какие анонимные пользователи

обладают доступом. Нельзя контролировать безопасность, если не имеющим на

то права пользователям не может быть запрещен доступ.

В системах, основанных на идентификации, каждый пользователь должен

иметь уникальную учетную запись и ни одна учетная запись никогда не может

быть использована более чем одним лицом.

Windows 2000 Advanced Server (в дальнейшем - Windows 2000) использует

ряд механизмов для обеспечения безопасности локального компьютера от

злоумышленных программ, идентификации пользователей и обеспечения

безопасности передачи данных по сети. Основные механизмы безопасности

Windows 2000 перечислены ниже. В их числе:

• тотальный контроль за доступом предотвращает подключение ненадежных

компьютеров к безопасным системам при помощи фильтрации пакетов и

трансляции сетевых адресов, гарантируя что разрешенные сеансы пользователей

не могут быть сфальсифицированы, украдены или мистифицированы, при помощи

Kerberos и IPSec, и предотвращает нарушение программой адресного

пространства другой программы при помощи защиты памяти;

• определение личности пользователя при помощи методов

аутентификации, таких как Kerberos, Message Digest Authentication, смарт-

карты, аутентификация RADIUS или протоколы аутентификации третьих фирм,

например те, в которых реализованы биометрические способы;

• запрет или разрешение доступа на основе личности пользователя, при

помощи списков контроля доступа для объектов с управляемой безопасностью,

таких как принтеры, службы и хранимые на NTFS файлы и каталоги; посредством

шифрования файлов при помощи Encrypting File System (шифрованной файловой

системы, EFS); путем ограничения доступа к возможностям операционной

системы, которые могут быть использованы неправильно, при помощи групповой

политики и путем авторизации удаленных пользователей, подключенных через

Интернет или удаленное соединение, при помощи политики RRAS;

• запись деятельности пользователя посредством журналов аудита

особенно значимой информации и журналов соединений для публичных служб,

таких как Web и FTP;

• закрытая передача данных между компьютерами, с использованием

IPSec, PPTP или L2TP для шифрования потока данных между компьютерами. РРТР

и L2TP позволяют пользователям инициировать безопасные потоки передачи

данных, в то время как IPSec используется для того, чтобы позволить двум

компьютерам безопасно передавать данные через публичный канал передачи

данных независимо от личности пользователя;

• минимизация риска неправильной конфигурации путем группировки

похожих механизмов безопасности в политики и последующего применения этих

политик к группам похожих пользователей или компьютеров. Средства

управления групповыми политиками, политиками RRAS и политиками IPSec в

Windows 2000 позволяют администраторам осуществлять сквозные изменения в

больших частях системы безопасности, не заботясь об отдельных ошибках.

Управление безопасностью должно осуществляться с учетом всей системы

сети. Включение индивидуальных средств обеспечения безопасности не дает

полной безопасности, потому что существует неисчислимое количество способов

обойти индивидуальные средства безопасности.

Windows 2000 в своем состоянии по умолчанию сконфигурирована как

удобная, а не безопасная система. Жесткие диски создаются по умолчанию с

полным доступом для всех, никаких групповых политик по умолчанию не

установлено, и большая часть межкомпьютерных взаимодействий небезопасна. По

умолчанию никакие файлы не шифруются, и не включены никакие фильтры

пакетов.

Для создания безопасной системы необходимо установить все важные

средства обеспечения безопасности и затем ослаблять эти установки для

обеспечения доступа имеющим на это право пользователям и повышения

производительности.

Несмотря на большое продвижение в области целостного управления, в

Windows 2000, еще многое можно сделать для обеспечения безопасности

конфигурации по умолчанию. Тем не менее, инструментальные средства легко

найти и они прекрасно работают вместе, предоставляя управляемый интерфейс

для настройки характеристик безопасности.

3.1.1. Криптография.

Криптография (cryptography) — это наука о кодах и шифрах. Windows 2000

использует повсеместно применяющуюся криптографию для засекречивания всего,

начиная от хранимых файлов и потоков передачи данных до паролей

пользователей и аутентификации домена.

Криптография и шифрование играют важную роль в безопасности Windows

2000.

Все новые возможности обеспечения безопасности Windows 2000 основаны

на криптографии. В отличие от этого, в первом выпуске Windows NT

криптография использовалась только для хэширования паролей. В течение

периода использования Windows NT 4 в операционную систему были добавлены

разнообразные элементы крипографии, но они не обрабатывались согласованно и

безопасно. Windows 2000 меняет такое положение дел, используя Active

Directory как контейнер практически для всей конфигурации, связанной с

безопасностью, и применения политик.

Windows 2000 использует шифрование (encryption) в трех жизненно важных

целях:

• для подтверждения идентичности принципала безопасности;

• для подтверждения достоверности содержимого сообщения или файла;

• чтобы скрыть содержимое хранилища или потока данных.

Шифр (cipher) — это алгоритм шифрования, он защищает сообщение,

переупорядочивая его или осуществляя изменения в кодировании, но не в

смысловом значении сообщения. Код (code) — это согласованный способ

сохранения тайны сообщений между двумя или более личностями. Ключ (key) —

это небольшая порция информации, которая необходима для расшифровки

сообщения, обычно в виде значения, используемого в шифре для зашифровки

сообщения. Ключ должен держаться в секрете, для того чтобы сообщение

оставалось закрытым.

3.1.2. Алгоритмы шифрования

Один из алгоритмов, который был разработан в секрете, но потом стал

доступен для общественного использования, так же как и для государственного

(но только для информации «Unclassified but Sensitive», несекретной, но

важной), — это алгоритм Data Encryption Standard (стандарт) шифрования

данных), или DES. Это симметричный алгоритм, что значит, что один и тот же

ключ используется и для шифрования, и для расшифровки; он был предназначен

для использования 56-разрядно-З го ключа. DES широко используется в

коммерческом программном обеспечении и в устройствах связи, поддерживающих

шифрование.

RSA (названный по именам своих создателей, Rivest, Shamir и Adleman) —

это алгоритм, который не был разработан правительственным агентством. Его

создатели воспользовались вычислительно-затратной проблемой разложения на

простые числа для создания асимметричного (asymmetric) алгоритма, или

алгоритма открытого ключа (public key), который может быть использован и

для шифрования, и для цифровых подписей. RSA с тех пор стал очень

популярной альтернативой DES. RSA используется рядом компаний по

производству программного обеспечения, чьи продукты должны осуществлять

безопасные соединения через небезопасный Интернет (такие, как web-

браузеры), в числе которых Microsoft, Digital, Sun, Netscape и IBM.

Эти шифры не единственно возможные для использования в компьютерах и

сетях. Правительства разных стран США и бывшего СССР активно разрабатывали

коды и шифры, много частных лиц (особенно за последнее десятилетие) внесли

вклад в развитие криптографии. GOST (ГОСТ) был разработан в бывшем СССР,

FEAL был разработан NTT в Японии, LOKI был разработан в Австралии и IDEA —

в Европе. Большинство этих шифров используют запатентованные алгоритмы,

которые должны быть лицензированы для коммерческого использования, но не

все (например, Blowfish). Каждый шифр обладает достоинствами и

недостатками.

Все эти шифры обладают одним слабым местом: если известен шифр,

который использовался для зашифровки сообщения, но не известен ключ, можно

использовать ряд атак для того, чтобы попытаться декодировать сообщение, в

том числе и метод «грубой силы», пытаясь перепробовать все возможные ключи.

Назначение шифров, в конечном итоге, — скрывать информацию.

Противоположностью сокрытия информации являются попытки раскрыть, что же

было засекречено, и прогресс в области взлома (breaking) кодов (или

расшифровки кодов без ключа) идет в ногу с разработками в области создания

кодов. Деятельность по осуществлению попыток взлома кодов называется

криптоанализом (cryptanalysis), а люди, которые взламывают коды, называются

криптоаналитиками (cryptanalyst). На системы безопасности может быть

произведен ряд криптоаналитических атак различных типов.

Атака перебором ключей. Перебор пространства ключей (keyspace search)

подразумевает проверку всех возможных ключей, которые могли использоваться

для зашифровки сообщения.

Известный исходный текст. Для многих шифров криптоаналитик может

сократить число перебираемых возможных ключей, если уже известен исходный

текст зашифрованного сообщения.

Линейный и дифференциальный криптоанализ. Криптоаналитик может также

искать математические совпадения во всех собранных зашифрованных текстах,

которые были зашифрованы при помощи одного ключа.

Существует один шифр — одноразовая подстановка (one-time pad) —

который нельзя разгадать, если нет ключа, даже имея в распоряжении все

оставшееся время существования вселенной и все теоретически возможные

вычислительные возможности. К сожалению, требования этого шифра делают его

непригодным к использованию, за исключением определенных видов

коммуникаций, не требующих высокой пропускной способности.

3.1.3. Симметрические функции

Если один и тот же ключ может быть использован для зашифровки или

расшифровки сообщения, то такой шифр использует симметрическую функцию

(symmetric function). Один ключ должен быть и у отправителя, и у

получателя. Ряд симметричных шифров используется и в программном, и в

аппаратном обеспечении. Получить представление о возможных шифрах можно,

сравнив следующие три.

• DES. IBM и американское Управление национальной безопасности

(National Security Agency, NSA) объединили усилия для разработки этого

шифра. Он устойчив к дифференциальному криптоанализу, но поддается

линейному криптоанализу. Длина ключа составляет только 56 бит, что сильно

облегчает возможность попробовать все возможные ключи методом грубой силы

для зашифрованного, текста. DES широко применяется в программном и

аппаратном обеспечении шифрования. Это стандарт ANSI. Windows 2000

peaлизует и 40-битный DES, и 168-битный DES1 (triple-DES (тройной DES) —

DES с тремя непрерывными ключами).

• IDEA. Этот шифр обладает ключом длиной 128 бит — значительно

больше, чем использует DES. В то время как обладающая серьезной мотивацией

и финансированием организация или большая команда хакеров может взломать

закодированное DES-сообщение, большое пространство ключей делает

неосуществимой атаку на IDEA по методу грубой силы. IDEA был разработан как

шифр, неуязвимый для линейного и дифференциального криптоанализа. IDEA

запатентован в Европе и США.

Blowfish. Этот шифр может использовать ключ длиной от 32 до 448 бит,

позволяя выбрать степень секретности сообщения.

3.1.4. Однонаправленные функции

При наборе пароля для входа в Windows 2000, он шифруется и

сравнивается с хранимым зашифрованным значением пароля. Пароль сохраняется

при помощи однонаправленной функции (one-way function), также называемой

хэш (hash), trap-door, digest или fingerprint1.

Хэш-функции также могут применяться для других целей. Например, можно

использовать хэш-функцию, чтобы создать «отпечатки пальцев» файлов (создать

цифровые отпечатки пальцев, или хэш-значение, которое будет уникально для

данного файла). Хэш-функция может давать результат, который будет гораздо

меньше, чем входной текст, хэширование занимающего много мегабайтов

документа текстового процессора, например, может дать 128-разрядное число.

Хэш-значение также уникально для файла, который его породил; практически

невозможно создать другой файл, который произвел бы то же хэш-значение.

Одна из особенностей хэш-функций (особенно дающих короткие хэш-

значения) — это то, что все хэш-значения равновероятны. Следовательно,

практически невозможно создать другой файл хэш-значение для которого

совпадет с имеющимся.

Некоторым хэш-функциям требуется ключ, другим — нет. Хэш-функция с

ключом может вычисляться только кем-либо (или чем-либо), имеющим этот ключ.

3.1.5. Шифрование с открытым ключом

В то время как симметричные шифры используют один ключ для зашифровки

и расшифровки сообщений, шифрование с открытым ключом (public key

encryption), или шифр с открытым ключом (public key cipher), использует для

расшифровки ключ, отличный от использованного при шифровании. Это

сравнительно новая разработка в криптографии, и она решает многие давнишние

проблемы систем криптографии, такие как способ передачи секретных ключей в

первый раз.

Проблема симметричных шифров состоит в следующем: и отправитель, и

получатель должен иметь один и тот же ключ для того, чтобы обмениваться

зашифрованными сообщениями через небезопасный канал передачи данных. Если

две стороны решат обмениваться закрытыми сообщениями или если между двумя

устройствами в компьютерной сети или двумя программами должен быть

установлен безопасный канал, две стороны коммуникации должны принять

решение об общем ключе. Каждая сторона легко может выбрать ключ, но у этой

стороны не будет никакого способа отправить этот ключ другой стороне, не

подвергаясь риску перехвата ключа по дороге.

При использовании шифра с открытым ключом один ключ (открытый ключ,

public key) используется для шифрования сообщения, а другой ключ (закрытый

ключ, private key) — это единственный ключ, который может расшифровать

Страницы: 1, 2, 3


© 2010 Современные рефераты