Применение шифрования
В Windows 2000 и IIS реализовано несколько методов шифрования.
- Аутентификация с помощью Kerberos или других поддерживаемых методов (см. "Приложение D. Методы аутентификации Microsoft IIS" ).
- Шифрование файлов в разделе или на жестком диске NTFS.
- Виртуальные частные сети (VPN) с использованием протоколов PPTP, IPSec или L2TP.
- Использование шифрования SSL или следующего поколения стандарта – TLS.
Шифрование, используемое в аутентификации Windows 2000, должно контролироваться администратором. Аутентификация Windows 2000 представляет собой самодостаточную систему, и вам необходимо только настроить параметры аутентификации на сервере либо изменить эффективность шифрования в реестре. По умолчанию Microsoft в настоящее время использует 128-битное шифрование, что подходит для большинства интернет-систем; шифрование с большей степенью требуется только для специализированных приложений, связанных с безопасностью.
Шифрование файлов NTFS (метод защиты данных, применяемый в разделах NTFS) можно настроить под ваши нужды. Во многих организациях шифрование NTFS используется на файловых серверах интранет для усиления контроля при работе с документами высокой степени секретности. Не следует использовать этот метод на сайте с большим разделом, так как шифрование абсолютно всех данных сайта сильно замедляет его работу даже при наличии мощной аппаратной платформы. Шифрование файлов используется, как правило, для отдельных элементов данных, например, для номеров кредитных карт в базе данных клиента. Во многих случаях данные хранятся и контролируются на другом сервере, и база данных содержит свой собственный алгоритм шифрования для обеспечения защиты файла.
На сервере Windows 2000 можно включить поддержку VPN, для чего необходимо настроить его на маршрутизацию и удаленный доступ. В "Подготовка и укрепление веб-сервера" настоятельно рекомендовалось отключить маршрутизацию и удаленный доступ на сервере, так как эти функции представляют угрозу несанкционированного проникновения злоумышленника в сеть. Виртуальная частная сеть VPN, используемая для удаленного управления сервером, должна располагаться на отдельном сервере для Windows 2000, либо следует использовать сетевой экран или аппаратное оборудование VPN. (См. "Особенности процесса разработки" , "Сторонние средства обеспечения безопасности" )
На веб-сайте чаще всего используется шифрование SSL/TLS при отправке данных. SSL применяется как в интернете, так и в сетях интранет, если требуется соблюдение неприкосновенности и конфиденциальности информации. В данной лекции мы обсудим применение и настройку шифрования IIS SSL/TLS для защиты веб-сайтов.
Основы шифрования
Вначале рассмотрим несколько важных принципов шифрования. Шифрование включает в себя кодирование данных, чтобы их мог прочитать только определенный получатель. Шифрование – это древняя наука, первые сведения о ней относятся еще к ХХ веку до нашей эры (Египет). Римляне использовали шифрование сообщений в процессе обмена информацией между войсковыми подразделениями. Сегодня системы шифрования широко используются для передачи секретных цифровых данных через компьютерные сети.
Ключи и шифры
Системы шифрования делают данные нечитабельными и, наоборот, доступными для чтения с использованием алгоритмов, называемых шифрами. Шифр представляет собой определенный метод кодирования и декодирования данных. Во времена Юлия Цезаря римляне использовали простой шифр со смещением букв алфавита. Для расшифровки римского сообщения получателю требовался ключ; т.е. ему необходимо было знать, на какое расстояние смещены буквы алфавита и в каком направлении. В настоящее время в системах шифрования используются сложные математические формулы и большие двоичные числа, но принцип остается все тем же.
Компьютеризированные системы шифрования создаются таким образом, чтобы шифруемые данные с использованием внутреннего ключа обрабатывались программой, называемой системой шифрования. Как правило, для расшифровки данных компьютеру требуются две вещи: шифр и ключ. В Windows 2000 и IIS система шифрования встроена в саму операционную систему. Это позволяет службам и приложениям операционной системы выполнять шифрование в реальном времени. Например, если сервер Windows 2000 настроен на шифрование файлов в папке, шифрование происходит при сохранении файла. Если сервер настроен на работу с VPN или использует протоколы SSL/TLS, данные шифруются в момент отправки их в сеть и расшифровываются после получения.
Шифрование на симметричном (секретном) ключе
Исторически сложилось так, что системы шифрования являются системами на симметричных (секретных) ключах. Система шифрования на симметричном ключе использует один и тот же ключ как для зашифровки, так и для расшифровки данных. Когда римляне отправляли сообщения, зашифрованные посредством смещения алфавита, ключом была величина смещения и его направление. Используя эту информацию, получатель мог расшифровать сообщение посредством сдвига букв сообщения в обратном направлении для размещения их на исходных местах. В такой системе ключом являлось число (меньшее, чем число букв в римском алфавите) и направление (влево или вправо). Недостатком данной системы шифрования было то, что легко угадывался ключ и раскрывался текст сообщения.
Современные компьютеризированные системы шифрования позволяют использовать очень длинные ключи. Если стороннее лицо узнает алгоритм шифрования, то для угадывания ключа длиной 128 бит понадобится очень много времени, даже при использовании компьютеризированных методов, так как количество возможных комбинаций равно 3,4 x 1038. Поэтому шифры, используемые в промышленности и в государственных стандартах безопасности, открыты для всеобщего доступа и хорошо известны. Это может показаться слишком легкомысленным, однако открытое распространение шифров, на самом деле, предназначено для повышения их защищенности, так как многие специалисты в области шифрования имеют возможность оценки, дополнения и совершенствования шифров. Примерами хорошо известных систем шифрования, алгоритмы которых доступны любому желающему, являются DES, Triple DES и новый стандарт AES. Некоторые коммерческие симметричные алгоритмы, такие как RC4, сделаны общедоступными для повышения надежности посредством проверки алгоритмов пользователями. Ниже приведен перечень современных симметричных шифров.
- DES – стандарт шифрования (Data Encryption Standard), используемый правительством США.
- Skipjack – секретный алгоритм симметричного ключа, применяемый в оборудовании, совместимом с FORTEZZA (применяется в правительстве США).
- Triple-DES – стандарт DES, применяемый трижды (для повышения сложности взлома).
- RC2, RC4, RC5 и RC6 – эти коммерческие шифры создаются и лицензируются компанией RSA Security, Inc. Microsoft использует RC4 по умолчанию в протоколах PPTP и L2TP, SSL/TLS и при поддержке протокола IPSec (можно изменить в системном реестре).
- AES – стандарт AES является новым федеральным стандартом обработки информации, который применяется для определения криптографического алгоритма в организациях правительства США для защиты важной (секретной) информации.
Важно. Стандарт DES разработан в начале 1970-х годов. Он десятилетиями использовался для шифрования финансовых транзакций между банками и финансовыми институтами. Сейчас этот стандарт устарел, так как длина его ключа ограничена 56 битами. Новые стандарты не имеют этого ограничения. Используя мощь современных микропроцессоров, 56-битный ключ DES может быть взломан за несколько часов, в то время как на взлом 128-битного ключа потребуются многие месяцы работы самых мощных компьютеров. Вывод: не следует использовать алгоритмы шифрования с ключами, длина которых меньше 128 бит.
Преимущество шифрования на симметричном ключе заключается в быстрой и эффективной работе, что делает его подходящим для приложений, требующих шифрования в реальном времени, в отличие от других методов, отрицательно влияющих на производительность систем.
Недостатком шифрования с использованием симметричного ключа является то, что ключи должны согласовываться между отправителем и получателем заранее, т.е. им необходимо договориться о ключах. При обмене ключами нужно соблюдать особые меры предосторожности, так как если ключи станут известны третьему лицу, то он легко расшифрует текст. Если количество получателей текста невелико, этот процесс можно осуществить с относительной легкостью, но при увеличении числа получателей его сложность возрастает в геометрической прогрессии. Следовательно, несмотря на возможность автоматизации, обмен ключами является очень ответственным процессом на веб-сайтах, с которыми работает большое число клиентов.