Реферат: Анализ системы безопасности Microsoft Windows 2000 Advanced Server и стратегий ее использования
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. Шифрование с открытым ключом