Руководство по безопасности в Lotus Notes

Основы ИТ-безопасности

Разбить на страницы
Показывать лекцию целиком

Мы определим как понятие безопасности, так и понятие ИТ-безопасности. Рассмотрим некоторые интересные теории и статистические данные, чтобы раскрыть современные тенденции в сфере безопасности, сделаем обзор принятых стандартов.

Эта лекция предназначена для широкого круга читателей:

  • для людей, которые являются новичками в области ИТ-безопасности и хотят определить такую начальную точку, с которой стоит начинать изучение ИТ-безопасности и всего того, что с ней связано;
  • для людей, которые уже имеют опыт общения с ИТ-безопасностью и просто хотят на скорую руку освежить свои знания;
  • для людей, которые находятся где-то посередине между этими двумя вышеприведенными категориями, и, конечно, прежде всего для тех, кому будет интересно прочитать этот курс серии Redbooks от начала до конца.
  • Хотя эту лекцию можно и пропустить, а затем вернуться к ней позднее, мы очень рекомендуем читателю все-таки уделить несколько минут своего времени, чтобы освежить те основы ИТ-безопасности, которые представлены в ней.

    1.1 Введение

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

    Первой революцией явилось изобретение в начале 1980-х гг. персонального компьютера – IBM Personal Computer, который оказался первым на рынке настоящим микрокомпьютером для бизнеса. Это позволило как компаниям, так и частным лицам наравне получить доступ к вычислительным ресурсам, что по тем временам было достаточно дорогим удовольствием. Связывание таких машин локальной сетью высвободило невиданный доселе поток информации и вывело в свет идею распределенных вычислений. Это привело к взрыву бизнес-решений, которые в значительной мере изменили сами основы функционирования самого бизнеса.

    Второй революцией в середине 1990-х стал брак того, что тогда было 20-летней коллекцией разномастных сетей (то, что называлось Интернетом, изначально именовалось как ARPANet) с Web-браузером. В результате этого слияния получать информацию из Интернета наконец стало легко. Это же стало прародителем электронного бизнеса. При помощи Web-серверов и стандартного набора Web-технологий организации смогли теперь предлагать целое изобилие различных товаров и услуг через Интернет. Кроме того, те же самые организации нашли, что отныне они могут лучше общаться и обмениваться информацией со своими поставщиками. И даже более, аккуратно открывая свои внутренние сети Интернету, эти организации смогли дать возможность своим служащим иметь доступ к данным и электронной почте из их собственных домов или, что даже более важно, из любой точки земного шара, где бы этим служащим ни довелось оказаться, в другом городе или где-нибудь в пути.

    1.1.1 Капитал знаний

    В наш век электронного бизнеса информация стала важным товаром. Или правильнее называть ее капиталом знаний, что является формой капитала, от которого многие виды бизнеса зависят точно так же, как и от денежного капитала. В действительности жизнь и смерть любого бизнеса определяются той мерой контроля, которой он обладает над своим капиталом знаний. Если этот капитал украден, раскрыт, испорчен или уничтожен, компания может очень сильно пострадать, вплоть до прекращения своего существования.

    Есть отдельные личности, едва ли не целью жизни которых стало получение неавторизированного доступа к компьютерным сетям, системам и информации, которую они собирают и затем распространяют. В более невинной форме подобные люди делают это исключительно ради спортивного интереса, чтобы иметь затем возможность похвастаться своим мастерством компьютерного искусства и ничего более (обычно их называют белыми хакерами). В худшем случае эти индивидуумы делают это со злым умыслом: либо чтобы получить финансовую выгоду, либо чтобы преднамеренно испортить или уничтожить то, что они нашли (таких обычно называют черными хакерами или еще иногда кракерами).

    Вне зависимости от их склонностей все эти хакеры – настоящий ночной кошмар для ИТ-систем организаций любого размера. Даже "добропорядочные" хакеры могут создать такие условия, которые приведут к утечке информации, содержащейся в ИТ-системах организации, и к потенциальной возможности того, что эта информация будет уничтожена, испорчена или доступна менее щепетильным людям.

    Хуже всего то, что белые и черные хакеры – отнюдь не единственная головная боль ИТ-менеджеров. Есть еще те же самые пользователи, которые прибегают к услугам ИТ-инфраструктуры. В большинстве случаев пользователи не являются злоумышленниками; они просто делают ошибки. Но даже невинные ошибки могут повлиять на капитал знаний организации, а действующие из лучших побуждений пользователи одурачены и вынуждены раскрыть важную информацию, которая обнажит капитал знаний враждебным силам.

    1.1.2 Обзор ИКБ/ФБР компьютерной преступности и вопросов безопасности

    Для того чтобы понять, насколько серьезно обстоят дела в этом вопросе, предлагаем вашему вниманию одну интересную цитату:

    "Увеличивающаяся зависимость Соединенных Штатов от информационных технологий в управлении и функционировании наших критических национальных инфраструктур делает страну первоочередной целью кибертеррористов. Сейчас как никогда ранее правительству и частному сектору следует идти рука об руку в плане обмена информацией и изучения информационной безопасности настолько глубоко, чтобы наши критические национальные инфраструктуры были надежно защищены от кибертеррористов".

    Эта цитата взята из обзора ИКБ/ФБР компьютерной преступности и вопросов безопасности, который доступен в электронном формате непосредственно на сайте Института компьютерной безопасности (ИКБ) по адресу:

    http://www.gocsi.com/forms/fbi/pdf.html

    ИКБ и ФБР

    ИКБ (CSI, Computer Security Institute), основанный в 1974 г., – это базирующаяся в Сан-Франциско ассоциация профессионалов информационной безопасности. Она насчитывает тысячи членов по всему миру, предоставляет широкий выбор информационных и образовательных программ в помощь по защите информационных активов корпораций и правительственных организаций.

    Федеральное бюро расследований, ФБР (FBI, Federal Bureau of Investigation) в ответ на все увеличивающееся количество случаев, в которых целью преступников становились важнейшие составляющие информационных и экономических структур, основало Национальный центр по защите инфраструктур (NIPC, National Infrastructure Protection Center), размещенный в штаб-квартире ФБР, и региональные подразделения по борьбе с компьютерными вторжениями (Regional Computer Intrusion Squads), расквартированные в отдельных офисах по всей территории Соединенных Штатов. NIPC, связующее звено между федеральными агентствами и частной индустрией, был создан как главный правительственный механизм для борьбы с кибератаками на национальные инфраструктуры и ответа на них. (К таким инфраструктурам относятся телекоммуникации, энергетика, транспорт, банковское дело и финансы, службы быстрого реагирования и правительственные операции). Предназначением региональных подразделений является расследование случаев нарушений Акта о компьютерных мошенничестве и злоупотреблении (Computer Fraud and Abuse Act, Title 8, Section 1030), включая случаи вторжения в общедоступные сети, серьезные вторжения в компьютерные сети, нарушения права на неприкосновенность частной жизни, промышленный шпионаж, пиратское программное обеспечение и другие преступления.

    Статистика

    В течение последних 7 лет ИКБ и подразделение ФБР по борьбе с компьютерными вторжениями в Сан-Франциско проработали вместе и основали ежегодник "Обзор компьютерной преступности и вопросов безопасности". Целью их усилий являлось как поднятие общего уровня осведомленности по вопросам безопасности, так и помощь в определении границ компьютерной преступности в Соединенных Штатах. Основываясь на данных опроса 503 профессионалов компьютерной безопасности американских корпораций, правительственных учреждений, финансовых институтов, медицинских заведений и университетов, выводы "Обзора компьютерной преступности и вопросов безопасности" за 2002 г. ("2002 Computer Crime and Security Survey") подтверждают, что угроза компьютерной преступности и других нарушений информационной безопасности не уменьшается и финансовый набат продолжает звучать.

    Ниже приведены самые яркие моменты "Обзора компьютерной преступности и вопросов безопасности" за 2002 г.

  • Девяносто процентов респондентов (по большей части большие корпорации и правительственные учреждения) в течение последних 12 месяцев обнаружили нарушения компьютерной безопасности.
  • Восемьдесят процентов опрошенных в результате компьютерных взломов понесли финансовые потери.
  • Сорок четыре процента могли поделиться (и поделились) количественной оценкой своих потерь. Убытки этих 223 респондентов составили $445,848,000.
  • Как и в предыдущие годы, наиболее серьезные финансовые потери произошли в результате краж патентованной информации (26 респондентов сообщили о $170,827,000) и финансовых махинаций (25 респондентов заявили о $115,753,000).
  • Уже пятый год подряд количество респондентов, называющих свое интернетсоединение наиболее атакуемым местом, больше (74%), чем количество респондентов, называющих самым атакуемым местом свои внутренние системы (33%).
  • Тридцать четыре процента сообщили о попытках нарушения законодательства. (В 1996 г. только 16% подтвердили сообщения о взломах систем правопорядка.)
  • Перед респондентами открылся целый спектр атак и злоупотреблений. Вот лишь несколько примеров таких атак и злоупотреблений:

  • 40% заметили проникновения в систему снаружи;
  • 40% столкнулись с атаками типа "отказ обслуживания";
  • 78% обнаружили, что их служащие злоупотребляют привилегированным доступом к Интернету (к примеру, для скачивания порнографии или пиратского программного обеспечения, для использования не по прямому назначению систем электронной почты);
  • 85% нашли компьютерные вирусы.
  • На четвертый год "Обзор" задал несколько вопросов на тему электронной коммерции в Интернете. Вот некоторые результаты:

  • Девяносто восемь процентов опрошенных имеют WWW-сайты.
  • Пятьдесят два процента на своих сайтах занимаются электронной коммерцией.
  • Тридцать восемь процентов в течение последних 12 месяцев пострадали от несанкционированного доступа или от неправильного использования их Web-сайтов. Двадцать один процент опрошенных сказали, что не знают, был ли у них несанкционированный доступ или неправильное использование.
  • Двадцать пять процентов из тех, кто подтвердил факты атак, имели от двух до пяти инцидентов. Тридцать девять процентов – десять и больше инцидентов.
  • Семьдесят процентов атакованных столкнулись с вандализмом (в 2000 г. только 64%).
  • Пятьдесят пять процентов оказались подвержены "отказу от обслуживания" (по сравнению с 60% в 2000 г.).
  • Двенадцать процентов сообщили о кражах информации о сделках.
  • Шесть процентов рассказали о финансовых махинациях (всего 3% в 2000 г.).
  • Таким образом, "Обзор компьютерной преступности и вопросов безопасности" послужил проверкой действительности для промышленности и правительства. И теперь не только ИКБ предупреждает.

    1.1.3 Графики CERT

    Координационный центр CERT (CERT/CC) был сформирован Агентством перспективных исследований Министерства обороны США (DARPA, Defense Advanced Research Program Agency) в ноябре 1988 г. в ответ на нужды, установленные во время инцидентов с безопасностью Интернета. Его цель – работа с интернет-сообществом по обнаружению и разрешению инцидентов компьютерной безопасности, а также по принятию таких мер, которые воспрепятствуют появлению подобных инцидентов в будущем. В частности, его миссия состоит в том, чтобы:

  • предоставить всеобъемлющий обзор по методам атак, слабым местам в защите и по воздействию атак на информационные системы и сети; дать информацию о тенденциях и характеристиках инцидентов и уязвимых мест;
  • построить инфраструктуру профессионалов безопасности с постоянно возрастающим уровнем компетенции, которые быстро реагируют на атаки на соединенные с Интернетом системы и способны защитить эти системы от любых компромиссов в плане безопасности;
  • выработать методы по оценке, улучшению и поддержке безопасности и выживаемости сетевых систем;
  • работать с продавцами для улучшения безопасности продуктов в конфигурации "от производителя".
  • CERT/CC – часть программы жизнеспособности сетевых систем (NSS, Networked Systems Survivability) Института разработки ПО (SEI, Software Engineering Institute), Университет Карнеги Меллон (Carnegie Mellon University). Первичная цель программы NSS – гарантировать, что для сопротивления атакам на сетевые системы и ограничения наносимого ими урона используются соответствующие технологии и практики управления системами, а также обеспечить устойчивость критических служб даже в случаях успешных атак.

    На протяжении ряда лет CERT/CC собирала базу данных по обнаруженным "дырам" защиты и по произошедшим случаям нарушения безопасности. Полное собрание этих отчетов может быть найдено по следующему URL:

    http://www.cert.org/annual_rpts/index.html

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

    Данные за прошлый год помогают составить реальную картину. В период с января по декабрь 2002 г. CERT/CC получил 204,841 сообщения по электронной почте и более 880 звонков по "горячей линии", сообщающих о случаях нарушения компьютерной безопасности и запрашивающих информацию. Рис. 1.1 иллюстрирует количество зафиксированных случаев нарушения безопасности за период с 1988-го по 2001 г. и тенденцию, представленную этими данными.

    (рис 1.1) Случаи нарушения безопасности за период с 1988-го по 2001 г. (данные координационного центра CERT)

    И как нарочно, программное обеспечение продолжает становиться все более сложным. Все труднее и труднее отлавливать все ошибки в нем, и эти ошибки порождают пробелы (или уязвимые места), которыми взломщики просто счастливы воспользоваться. Рис. 1.2 показывает количество обнаруженных "дыр" в системах безопасности за период с 1995-го по 2002 г.

    (рис 1.2) Количество обнаруженных "дыр" безопасности за период с 1995-го по 2002 г. (данные координационного центра CERT)

    С января по декабрь 2002 г. CERT/CC получил 4,129 сообщений о найденных уязвимых местах и зафиксировал 82,094 случая нарушений компьютерной безопасности, произошедших за этот период.

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

    Цель этой лекции – предоставить некую базовую информацию об ИТ-безопасности. В нее включены следующие разделы:

  • основная терминология ИТ-безопасности: определения компьютерной системы, компьютерной сети, ИТ-инфраструктуры, компьютерной безопасности и информационной классификации;
  • службы компьютерной безопасности: общий обзор основных разделов, таких, как интеграция данных, конфиденциальность, идентификация и аутентификация, контроль доступа и невозможность отказа (non-repudiation);
  • обзор криптографических технологий: криптография, алгоритмы симметричных ключей, алгоритмы асимметричных ключей, гибридное решение, цифровые подписи, сертификаты с публичным ключом и криптографические стандарты публичных ключей.
  • Даже несмотря на то что представленные здесь разделы достаточно общие по своей природе (т. е. они нехарактерны только для Notes и Domino), вам следует выделить время, чтобы внимательно прочитать и понять все, поскольку эта лекция лежит в основе всего курса.

    1.2 Важная терминология

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

    1.2.1 Компьютерная система

    Поскольку этот курс серии Redbooks – нечто большее, чем просто описание новых особенностей безопасности и возможностей новых релизов Notes и Domino (т. е. версии 6.0), важно понять, что компьютерная безопасность применима к компьютерной системе как к таковой.

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

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

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

    1.2.2 Компьютерная сеть

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

    Компьютерная сеть может быть определена так:

  • сеть обрабатывающих данные узлов, которые связаны между собой с целью обмена данными.
  • коммуникационная сеть, в которой конечными инструментами являются компьютеры.
  • Понятие сеть может быть определено несколько более структурированно, так как по определению – это соединение двух или более сообщающихся сущностей. Традиционное определение требует наличия трех узлов [таких, как два компьютера и концентратор (хаб, hub) или коммутатор (switch)], но существует возможность использовать кроссированный кабель Ethernet и, следовательно, соединять две машины таким образом, что получается минимальное определение сети – два устройства.

    Для целей данного курса предполагается, что сеть состоит из более чем двух компьютеров, обменивающихся данными по одному общему кабелю. Сюда можно отнести два или более компьютера, использующие любые (или все) из устройств соединений и телекоммуникаций, такие, как концентраторы, маршрутизаторы, шлюзы, коммутаторы и т. д.

    1.2.3 ИТ-инфраструктура

    Определение ИТ-инфраструктуры намного шире, нежели определения компьютерной системы или компьютерной сети.

    В ИТ-инфраструктуру входят все компоненты, используемые для обработки и передачи информации в организации. Сюда же входят и устройства, выполняющие дополнительные сервисы, например:

  • устройства резервного копирования (накопители на магнитных лентах, ленточные автоматы и хранилища);
  • устройства безопасности (например, прокси или брандмауэры);
  • устройства специального назначения (принтеры, сканеры и т. п.).
  • Кроме того, определение ИТ-инфраструктуры включает в себя также как все компьютерные сети самой организации, так и частные сети, соединяющие организацию с организациями-партнерами (поставщиками, например). Такой тип сети называется экстранетом (extranet). В каком именно месте ИТ-инфраструктуры организации будет подключен экстранет, зависит по большей части от того, насколько организация способна контролировать его.

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

    1.2.4 Компьютерная безопасность

    Национальный институт стандартов и технологии, НИСТ (NIST, National Institute of Standards and Technology) написал книгу под названием "Введение в компьютерную безопасность: справочник НИСТ" ("An Introduction to Computer Security: The NIST Handbook", Special Publication 800-12). PDF версию этой книги можно бесплатно скачать по URL-адресу

    http://csrc.nist.gov/publicatiuons/nistpubs/800-12/handbook.pdf

    На странице 5 книги НИСТ дается следующее определение компьютерной безопасности.

    Компьютерная безопасность: защитные меры, приложенные к информационной системе, для того чтобы добиться приемлемых целей, сохраняющих целостность, пригодностьи конфиденциальность информационных ресурсов системы (включая оборудование, ПО, программное обеспечение, встроенное в ПЗУ, информацию/данные и телекоммуникации).

    Это определение несколько сложновато для восприятия, поэтому давайте сделаем маленький шажок назад. Давайте определим понятия безопасности и ИТ-безопасности в более простых терминах.

    Безопасность (общая)

    Безопасность – это нечто такое, что дает или гарантирует сохранность, например:

  • меры, предпринимаемые правительством для предотвращения шпионажа, саботажа или нападения;
  • меры, предпринимаемые бизнесменом или хозяином дома, чтобы обезопасить себя от ограбления или от нападения криминальных элементов.
  • Безопасность, таким образом, – это независимость от риска и опасности.

    Безопасность (информационных технологий)

    ИТ-безопасность – это также нечто такое, что дает или гарантирует сохранность, например:

  • меры, предпринимаемые ИТ-подразделением для предотвращения шпионажа, саботажа или нападения на их ИТ-архитектуру;
  • меры, предпринимаемые ИТ-подразделением для предотвращения искажения, повреждения или разрушения их ИТ-архитектуры.
  • ИТ-безопасность – это также набор мер, предпринимаемых ИТ-подразделением для предотвращения атак типа "отказ обслуживания" или любых других типов атак, препятствующих доступу к их ИТ-архитектуре.

    ИТ-безопасность, таким образом, – это независимость от подобных рисков и опасностей; чувство уверенности ИТ-подразделения (и компании) – в знании того, что их система безопасна.

    Компьютерная безопасность (пересмотрено)

    Термин компьютерная безопасность, который эквивалентен термину ИТ-безопасность, является огранкой всей компьютерной науки, чья первоочередная задача – обеспечение сохранности информации и предложение мер по защите от вторжения, воровства или разглашения, чтобы:

  • Информация была своевременна, точна, полна и последовательна; при передаче ее по компьютерной сети она не должна изменяться во время передачи (целостность).
  • Информация не была доступна кому бы то ни было, кроме тех людей, для которых она предназначена. При передаче по компьютерной сети она должна быть доступна только отправителю и получателю (приватность).
  • Получатель, получающий информацию, мог иметь надлежащие гарантии того, что она была создана и отправлена ее действительным создателем (подлинность).
  • Отправитель мог быть уверен в том, что люди, получающие доступ к информации, реально существуют. Когда информация передается по компьютерной сети, получатель должен быть истинным (неподдельность и идентификация).
  • Автор не мог отрицать того, что информация была создана им. При передаче информации по компьютерной сети отправитель не может скрыть того факта, что это именно он или она отправил информацию (невозможность отказа от авторства).
  • Наряду с этими концепциями также важно понимать саму природу информации, которой обладаете вы или ваша компания, концепцию информационной классификации и то, что представляет собой важная информация.

    1.2.5 Классификация информации

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

    Информацию, которую требуется обезопасить, обычно называют важной или чувствительной информацией (sensitive information). Она важна именно потому, что мы должным образом определили, что же вообще представляет собой важная информация.

    Уместная ссылка на тему безопасности – Закон о компьютерной безопасности от 1987 г., общественное право 100-235 (статья 145), 8 января 1988 г. (Computer Security Act of 1987, Public Law 100-235 (H.R. 145), January 8, 1988). Онлайновая электронная копия этого документа находится в Центре электронной защиты информации (EPIC, Electronic Privacy Information Center) по адресу:

    http://www.epic.org/crypto/csa/csa.html

    В этом документе можно найти следующее определение важной информации, находящееся в разделе 3, "Создание программы компьютерных стандартов":

    Критичная информация: (4) под термином "важная информация" подразумевается любая информация, потеря, неправильное использование, несанкционированный доступ или модификация которой могли бы неблагоприятно повлиять на национальные интересы, или на проведение федеральных программ, или же на частную жизнь граждан, охраняемую параграфом 552а пятого раздела Свода законов США (Закон об охране прав личности), но которая (информация) не определена приказом президента или актом конгресса как секретная в интересах национальной безопасности или внешней политики.

    Хотя закон о компьютерной безопасности и принят в Соединенных Штатах, а его целью является защита интересов именно этой страны, вышеприведенное определение является общеприменимым, пригодным для любой страны и любой компании в мире. Другими словами, важная информация – это такая информация, которую необходимо сохранять конфиденциальной и которая должна быть защищена от несанкционированного доступа и раскрытия. Более того, это также означает, что для защиты этой информации от уничтожения или изменения должны быть приняты соответствующие меры.

    К примеру, в банке отдельные виды бумаг (например, банкноты, бумажные векселя, валюта) защищаются с особой тщательностью. Другие виды, такие, как бланки занесения на счет и снятия со счета, заполняемые клиентами, не защищаются вообще. Фактически они просто лежат на маленьких столиках с тем, чтобы взять их мог любой.

    С информацией то же самое. Есть информация, которую не надо защищать вследствие ее общего (или публичного) содержания. С другой стороны, есть также информация, которую следует защищать очень даже хорошо, поскольку ее разглашение может оказаться небезопасным: например, привести к потере важного преимущества в конкурентной борьбе, подпортить репутацию, раскрыть конфиденциальность клиента или, в зависимости от типа бизнеса, к ранениям (или смерти) людей.

    Классификация данных играет еще одну важную роль. Помимо определения того, как информацию следует закрывать, она также определяет и то, как информацию следует открывать. Публичным данным на Web-сайте может требоваться только самая базовая безопасность, дабы воспрепятствовать их порче, но при этом доступ к ним должен быть достаточно свободным, чтобы кто угодно мог получить их без каких бы то ни было проблем.

    В зависимости от типа бизнеса (государственный сектор и правительственные учреждения имеют дело в определенных случаях с очень важной персональной информацией, в то время как организации частного сектора обычно имеют дело с важной информацией коммерческого характера) имеют место различные категории и методы классификаций. Изложенные ниже классификации данных применимы как к государственным организациям, так и к бизнесу частного сектора.

    Публичная, или неклассифицированная

    Информация рассматривается как публичная, или неклассифицированная, если ее раскрытие никоим образом не повлияет на бизнес. Достоверность данных не имеет критического характера. Отказ службы из-за атак злоумышленников является вполне приемлемым риском. В качестве примера такого рода информации можно привести публичную часть Web-сайта какого-нибудь бизнеса или любую другую информацию об этом бизнесе, доступную из других источников или посредством других средств.

    Внутренняя

    Чтобы защитить информацию, принадлежащую к категории внутренней по отношению к организации, уже требуются некоторые усилия, но, если эта информация станет общедоступной, последствия не будут критическими (они могли бы привести к потере лица или стать некоторой помехой для бизнеса, но несущественной). Достоверность данных важна, но не носит критического характера. Внутренний доступ разделен между различными группами людей согласно их различному уровню доступа. Примерами такого рода информации могут служить определенные, более закрытые части Web-сайта, справочник компании и значительная часть данных, проходящих по внутренней сети компании.

    Конфиденциальная информация

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

    Разглашение этой информации могло бы дать конкуренту важное преимущество в конкурентной борьбе, привести к крупным финансовым потерям у компании или серьезно подорвать доверие клиентов по отношению к бизнесу. Примеры такого вида информации – зарплаты служащих, конфиденциальная информация клиентов (такая, как личные адреса и информация о кредитных карточках) вместе с паролями и любой другой информацией, позволяющей вход во внутренние системы бизнеса.

    Секретная информация

    Для того чтобы держать в секрете эту категорию информации, причем не только от посторонних, но даже и от "своих" людей по отношению к бизнесу, требуются очень значительные усилия. Секретная информация обычно определяется по принципу "только необходимого знания"Принцип необходимого знания – стратегия защиты информации, при которой пользователь получает доступ только к тем данным, которые непосредственно необходимы ему для выполнения конкретно данной работы.. Достоверность данных имеет первостепенную важность. По факту разглашения такой информации должны применяться особые правила и процедуры. Примеры такого рода информации – история болезни, заверенные юридические документы, дипломатическая и военная информация.

    Сверхсекретная информация

    Требуются очень значительные усилия, чтобы любой ценой держать в секрете этот тип информации ото всех, кроме нескольких избранных людей. Сверхсекретная информация обычно определяется по принципу "сверхнадежный доступ". Достоверность данных имеет первостепенную важность. Разглашение подобное информации может нанести серьезный физический или моральный ущерб людям и даже привести к смерти. Примеры – военные данные, дипломатические секреты и медицинская информация о патологиях.

    1.2.6 Разъяснения по информационной классификации

    Относительно классификации данных следует разъяснить, что существуют отдельные моменты, когда общедоступные или неклассифицированные данные могут быть изменены таким образом, что это заденет конфиденциальность клиентов или репутацию организации.

    Например, корпоративный Web-сайт мог бы быть испорчен таким образом, что в публичной информации оказались нецензурные слова или сама эта неклассифицированная информация на нем могла быть изменена настолько, что вводила бы в заблуждение или искажала представление об оригинале. Примером последней ситуации было бы изменение предложения 30-day interest-free loan (30-дневная беспроцентная ссуда) на interest-fee loan (ссуда под проценты, обратите внимание на отсутствие ограничения по времени). В мире бизнеса, когда все больше и больше предполагается идентичность данных Web-сайта печатным данным (газеты или торговая периодика), от компании может потребоваться предоставление такой услуги или столкнуться с серьезными последствиями.

    1.3 Службы компьютерной безопасности

    Теперь, после того как был дан обзор информационной классификации и определено понятие важной информации, можно определить те службы, которые позволяют эту информацию защитить.

    Нижеследующие определения, используемые по всему курсу, можно лучше всего объяснить при помощи архитектуры безопасности IBM (IBM Security Architecture), которая основана на стандартах безопасности ISOISO – International Standardisation Organisation, Международная организация по стандартизации. (ISO Security Framework, 7498-2).

    Архитектура безопасности IBM – это модель, объединяющая службы, механизмы, объекты и функции управления безопасностью по всему многообразию сетей и платформ оборудования и программного обеспечения. Эта архитектура поддерживает стратегию обеспечения тотальной защиты приложений и информации в пределах организации.

    Описания этих служб безопасности взяты из книги "Руководство по архитектуре систем безопасности предприятия и представлению решений" (Enterprise-Wide Security Architecture and Solutions Presentation Guide, SG24-4579), онлайновую ссылку на которую можно найти на сайте IBM Redbooks. PDF-версию можно взять по следующему адресу:

    http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg244579.html

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

  • целостность данных (предотвращающие порчу информации);
  • конфиденциальность (обеспечивающие секретность);
  • идентификацию и аутентификацию (распознающие, с кем вы имеете дело).
  • контроль доступа (контролирующие, кто может получить доступ к информации и работать с ней);
  • невозможность отказа (предотвращающие возможность снятия с себя ответственности за сказанное или написанное).
  • Имейте в виду, что эти категории невзаимоисключающие; например, вы не можете осуществить контроль доступа без постановки вопросов аутентификации и целостности данных.

    1.3.1 Целостность данных

    Понятие целостности данных может быть обобщено следующим образом:

  • это состояние, при котором данные остаются такими же, какими были в оригинале, и ни случайно, ни преднамеренно не модифицируются, не изменяются и не уничтожаются [INFOSEC-99];
  • это состояние, в котором информация сохраняется неизменной во время любых операций, таких как перемещение, хранение и извлечение;
  • сохранение информации для ее использования по назначению.
  • Относительно архитектуры IBM можно также сказать, что целостность данных обеспечивает обнаружение несанкционированных изменений данных.

    Целостность данных может быть нарушена множеством способов, не все из которых обусловлены только ошибками в службах безопасности, поставляемых как часть ИТ-инфраструктуры. Для примера, нарушение целостности данных происходит по следующим причинам:

  • при наборе информации человек делает ошибки;
  • при передаче информации с одного компьютера на другой бывают ошибки передачи;
  • случаются также дефекты программного обеспечения или вирусы активно "нацеливаются" на информацию;
  • неисправности оборудования, вроде поломки жестких дисков;
  • стихийные бедствия, такие, как пожары, наводнения и землетрясения.
  • Чтобы обеспечить целостность данных, организации должны допустить как использование данных авторизированными пользователями и приложениями, так и их передачу для удаленной обработки, в то же самое время гарантируя, что эта информация не была изменена неавторизированными пользователями. Оборудование для контроля за целостностью данных может обнаружить, была ли информация изменена или нет.

    Существует множество способов для минимизирования подобных угроз целостности данных. Сюда входят:

  • регулярное резервное копирование данных;
  • контролирование доступа к информации посредством механизмов безопасности;
  • разработка таких пользовательских интерфейсов, которые препятствуют вводу некорректных данных;
  • использование при передаче данных программного обеспечения, поддерживающего обнаружение и коррекцию ошибок.
  • 1.3.2 Конфиденциальность

    Понятие конфиденциальности может быть обобщено следующим образом:

  • гарантия того, что информация не была раскрыта неавторизированным персонам, процессам или устройствам [INFOSEC-99];
  • относительно классифицированной или важной информации – степень, до которой информация не должна быть скомпрометирована, в том числе она не должна быть доступна или раскрыта неавторизированным индивидуумам, процессам или чему-нибудь (кому-нибудь) еще.
  • Относительно IBM-архитектуры можно также сказать, что конфиденциальность защищает важную информацию от раскрытия.

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

    Относительно использования криптографии для обеспечения конфиденциальности и целостности данных существуют специальные стандарты ISO (8730, 8731 и 9564).

    1.3.3 Идентификация и аутентификация

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

    Эта базовая функция уникально идентифицирует пользователей и программы, проверяет их подлинность и гарантирует индивидуальную ответственность. Другими словами, идентификация и аутентификация требуются для гарантии того, что пользователям присвоены соответствующие атрибуты безопасности (например, идентификатор, группы, роли, уровни безопасности и доверия).

    Недвусмысленная идентификация авторизированных пользователей и корректное приписывание пользователям и субъектам атрибутов безопасности являются критическими показателями для претворения в жизнь запланированных политик безопасности. В этом случае службы и средства безопасности имеют дело с определением и проверкой идентичности пользователей, определением их прав на взаимодействие с ключевыми компонентами ИТ-инфраструктуры, ключевыми компонентами компьютерной системы или ключевой информацией, которая обрабатывается программным обеспечением, запущенным на этой компьютерной системе (например, документ из базы данных Notes), на основании корректно установленных атрибутов безопасности для каждого авторизированного пользователя.

    Эффективность всего этого зависит от правильной идентификации и аутентификации пользователей.

    У аутентификации может быть много форм, таких, как:

  • Простая аутентификация, рассчитанная на отдельного пользователя компьютерной системы, которая обычно основана на пользовательском IDID – сокращение от identifier, идентификатор. и пароле.Как правило, это самая слабая форма аутентификации.
  • Аутентификация, основанная на сертификации, рассчитана на пользователей различных компонентов ИТ-инфраструктуры. В ее основе обычно лежит использование сертификатов PGP или x.509. Это более надежная форма аутентификации, и она зависит от установленной инфраструктуры работы с публичным ключом (PKI, Public Key Infrastructure).
  • Двухфакторная аутентификация, которая является таким процессом безопасности, который подтверждает подлинность пользователей, применяя два отличительных фактора – что-то, что у них есть, и что-то, что они знают. В качестве простого примера такой формы аутентификации можно было бы привести карточку банкомата (ATM, automated teller machine) и персональный идентификационный номер, ПИН (PIN, personal identification number). Сами по себе карточка банкомата и ПИН бесполезны для предполагаемого вора. Только в том случае, если оба фактора были использованы верно, идентификация личности может быть подтверждена и доступ разрешен.
  • Аутентификация поручительства равных (называемая также сетью доверия), вроде двухсторонней аутентификации распределенных приложений или трехсторонней аутентификации при работе с локальными аутентификационными серверами в распределенном окружении.
  • Аутентификация даже более важна, чем шифрование. Возможно это кажется нелогичным, но только соответствующие аутентификационные механизмы идентификации пользователя могут обеспечить базис для дополнительных функций безопасности, таких, как контроль доступа и ревизия системы. После того как методы аутентификации уже описаны, аутентификационная технология может принимать следующие формы:

  • Пароли, которые могут быть простыми ответами на базовые запросы аутентификации или использоваться для дешифрования Notes ID как базис для сложных аутентификационных схем.
  • Смарт-жетоны – легко переносимые устройства, выполняющие для своих пользователей некие специфические действия в нашем случае, как правило, идентифицирующие пользователя в системе безопасности. Смарт-жетон может выглядеть как любой обычный предмет: кредитная карта, 3,5'' дискета или даже просто кольцо (подобно кольцу Sun's Java TM). Важной характерной чертой такого объекта является то, что он для своего пользователя несет в себе некоторую секретную информацию и, когда нужно, выполняет требуемые функции. Смарт-жетон часто делается устойчивым к физическим повреждениям, что означает, что его трудно разобрать. Он защищен пользовательским паролем, так что? даже если будет украден физически, вору будет трудно выдать себя за владельца.
  • Смарт-карты – маленькие электронные устройства размером с кредитную карту. Их конструкция несколько похожа на карту телефонной предоплаты в том, что в них также содержится некоторая электроника в виде памяти и встроенной микросхемы (IC, integrated circuit) для обработки каких-то определенных данных. Основное предназначение таких смарт-карт – хранение сетевых идентификаторов (очень похоже на смарт-жетоны).
  • Для использования смарт-карты или смарт-жетона, т. е. чтобы либо вытащить из них информацию, либо добавить данные на них, требуется устройство для чтения смарт-карт или смарт-жетонов; небольшое устройство, в которое смарт-карты или смарт-жетоны вставляются. Исключение из этого правила – новые USB-жетоны, для которых требуется только наличие в машине USB-порта, что сейчас является стандартом на всех новых машинах.

    1.3.4 Контроль доступа

    Контроль доступа позволяет организации защитить свои особо важные ресурсы посредством ограничения доступа только для авторизированных и аутентифицированных пользователей. Другими словами, контроль доступа – это любой механизм, посредством которого система наделяет или не наделяет правами получить доступ к некоторым данным или выполнить какие-то действия. Обычно сначала пользователь должен войти в систему посредством некой аутентификационной системы. Дальше механизм контроля доступа проверяет, какие действия позволены пользователю, а какие нет, сверяя ID пользователя с записью из списка контроля доступа в базе данных.

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

  • Файловые разрешения, такие, как создание, чтение, редактирование или удаление на файловом сервере.
  • Программные разрешения, такие, как права на выполнение программы на сервере приложений.
  • Права для работы с данными, такие, как права извлекать или обновлять информацию в базе данных.
  • Административные права, такие, как способность давать отдельным пользователям новые полномочия доступа и/или отзывать такие полномочия у других отдельных пользователей.
  • В зависимости от окружения доступ может либо контролироваться владельцем ресурса, либо осуществляться автоматически системой посредством уровней безопасности.

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

    Функциональная цель состоит в том, чтобы гарантировать то, что безопасность ресурсов поддерживается независимо от того, находятся ли они в центральной системе, распределены или являются мобильными (как в случае с файлами и программами).

    1.3.5 Невозможность отказа

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

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

    В целом невозможность отказа применяется к пересылке электронных данных, таких, как приказ фондовому брокеру покупать/продавать фонды, указания врача по лечению конкретно данного пациента или подтверждение компании при оплате счета своему банку.

    Общей целью является способность со 100-процентной достоверностью проверить, что каждое конкретное сообщение может быть связано с конкретным индивидуумом, так же как каждая подпись на банковском чеке привязана к владельцу счета.

    1.4 Криптографические техники

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

    Несмотря на то что это сложная область, которая заключает в себе множество разнообразных и запутанных аспектов, в этом разделе мы попытались просуммировать эту информацию и предоставить краткий обзор существующих важных криптографических техник. Мы полагаем, что это полезный ресурс и рекомендуем читателю не пропускать его.

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

  • шифрование симметричным ключом (или массовое);
  • шифрование общим (публичным) ключом;
  • функции вычисления сумм (хешей) безопасности;
  • цифровые подписи и другие комбинации вышеизложенных методов;
  • механизмы сертификации.
  • Повторимся, что криптография – ее методы, способы применения, законы и математика, стоящая за всем этим, – это большой и сложный предмет, всестороннее обсуждение которого не является целью этого курса. Вместо этого мы полагаем, что читатель, желающий узнать больше по этой теме, обратиться к публикации "Часто задаваемые вопросы лаборатории RSA по сегодняшней криптографии, версия 4.1" (RSA Laboratories' Frequently Asked Questions About Today's Cryptography, Version 4.1), которую можно найти онлайн по адресу:

    http://www.rsasecurity.com/rsalabs/faq/

    1.4.1 Криптография

    Прежде чем говорить о техниках, давайте для начала определимся, что же такое криптография.

    Криптография, берем самое простое определение, – это искусство или наука сохранения информации в секрете. Хотя для новичков она кажется формой искусства, граничащей с магией, тем не менее в реальности это наука для действительно высококвалифицированных компьютерных специалистов и математиков. (Надо сказать, что для тех, кто желает глубоко погрузиться в то, как построены шифры и как они работают, серьезная ученая степень в математике была бы большим плюсом.)

    Криптография обеспечивает конфиденциальность шифрованием информации, используя алгоритм и один или более ключей. Вы можете добиться базовой криптографии и без ключей, но то, что обычно требуется, – сохранение в секрете самого алгоритма – нечто достаточно трудное в наши дни. Если используются ключи, зашифрованная версия может быть расшифрована кем-то еще, у кого есть соответствующий шифровальный ключ. Если это тот же самый ключ, то он должен держаться в секрете между двумя сторонами. (В зависимости от метода шифрования, как будет объяснено позже, это может быть и другой ключ.) Самая центральная проблема большинства криптографических приложений – управление этими ключами и содержание их в секрете.

    Алгоритмы, формирующие базу криптографии, – это шифры. Шифр – это:

  • Криптографическая система, в которой элементы открытого текстаОткрытый текст – обычный незашифрованный текст. заменяются согласно предопределенному ключу.
  • Любая криптографическая система, в которой произвольные символы или группы символов представляют элементы открытого текста стандартной длины, обычно отдельные буквы; или в которой элементы открытого текста реорганизованы; или и то и другое в зависимости от неких предопределенных правил.
  • Выражаясь проще, шифры – это замена одного блока текста другим согласно некоторым общеприменимым правилам. Простой шифр произвольно заменял бы каждую букву другой.

    Шифры определяются либо как симметричные, либо как асимметричные в зависимости от того, используют ли они один и тот же ключ для шифрования и дешифрования (симметричные шифры) или два разных ключа (асимметричное шифрование).

    Люди по своему обыкновению склонны путать симметричное и асимметричное шифрование. Главная причина этого в том, что симметричное обычно ассоциируется с четными числами (т. е. два), а асимметричное, естественно, с нечетными (т. е. один).

    Если применять такую логику (а так обычно и происходит), то люди получают неправильное представлениеОпрос 10 человек (малознакомых с алгоритмами щифрования) не дал таких результатов. Симметричное шифрование ассоциировалось с одинаковыми ключами.. Мы дадим достаточно легкий способ запомнить, что есть что в последующих разделах.

    1.4.2 Алгоритмы с симметричным ключом

    Алгоритмы с симметричным ключом – это "взрослая" версия того типа секретного кода, которым большинство из нас время от времени играло в детстве. Обычно в них используется простой алгоритм замены символов; если вы хотите зашифровать текст, то просто заменяете каждую букву алфавита другой. Например:

    Оригинал: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    Замена: G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

    В этом случае буквы в алфавите были просто сдвинуты на семь позиций влевоВ этом примере ошибка – символы сдвинуты на шесть, а не на семь позиций; суть примера от этого не пострадала., таким образом, фраза "HELLO WORLD" транслировалась бы как "NKRRU CUXRJ". Предпосылкой, на которой основан этот код, является знание и отправителем и получателем исходного ключа, количества позиций для смещения букв в нашем случае.

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

    Симметричное шифрование получило свое название из того факта, что один и тот же ключ используется как для шифрования открытого текста, так и для расшифровки соответствующего зашифрованного. Алгоритмы симметричного шифрования, используемые компьютерами, имеют те же самые составляющие, как и вышеприведенный пример, а именно механизм для шифровки/расшифровки сообщения (известный также как шифр) и общий секрет (ключ), который позволяет получателю расшифровать зашифрованное сообщение.

    Определение надежности симметричного шифра

    Надежность шифра с симметричным ключом подобного типа диктуется целым рядом факторов. Первый из них – эффективная рандомизацияРандомизация – это процесс распределения результата случайным образом. выхода, чтобы два связанных сообщения с открытым текстом не давали после зашифровывания похожих результатов. Степень рандомизации на криптографическом языке обычно называется энтропией.

    Наш детский пример в этом плане совершенно неудачен, поскольку каждая буква при шифровании всегда преобразуется в один и тот же результат, и еще потому, что он совершенно не шифрует пробелы. Даже детсадовский криптоаналитик способен достаточно легко расколоть этот код, зная, что любое однобуквенное слово, вероятнее всего, "A"Действительно, в английском языке наиболее распространенным в тексте однобуквенным словом является неопределенный артикль "A". В русском языке таким словом, вероятнее всего, будет слово "И" или "В". Примеч. пер. См. также: Конан-Дойль А. Тайна пляшущих человечков. Примеч. науч. ред..

    Еще одна причина, по которой наш пример столь неудачен, состоит в том, что, если по каким-либо причинам алгоритм известен (в нашем случае алгоритм: "сдвинуть каждую букву на семь позиций вправо"), человек, знающий его, легко может расшифровать каждое последующее сообщение.

    Именно здесь мы подоши к важности концепции ключа. В алгоритмах, основанных на ключе, для его защиты предпринимаются определенные усилия. Такой подход вполне допускает рассмотрение и изучение криптографического алгоритма посторонними. Хороший алгоритм – это такой алгоритм, который можно понять, который эффективен и который нельзя использовать для шифрования без соответствующего ключа. Алгоритмы, о которых мы расскажем далее в этой лекции, все обладают этими чертами.

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

    Если в этом плане алгоритм шифрования не имеет недостатков, другим главным фактором, влияющим на его надежность, будет размер пространства ключа; т. е. общее количество всевозможных значений ключа. Опять же наш простенький пример будет расколот очень быстро, потому что в нем есть только 25 возможных позиций, на которые можно сместить ключи. Мы могли бы очень легко провести атаку грубой силойАтака грубой силой (brute force attack) – атака методом перебора подряд всевозможных комбинаций значений., просто перебирая по очереди каждый ключ до тех пор, пока не получили бы такое сообщение, которое имело бы смысл.

    Реально существующие симметричные шифры используют числовые ключи размером, как правило, от 40 до 256 бит. Даже для самых маленьких из них атака грубой силой должна была бы перебрать в среднем 2 в 39-й степени, или что-то около 550,000,000,000 возможных значений ключей. Каждый дополнительный бит в размере ключа удваивает пространство ключа.

    Различия симметричного и асимметричного шифров

    Некоторые люди испытывают затруднения при запоминании, какой тип шифрования симметричный, а какой асимметричный. Чтобы помочь, давайте дадим инструмент для запоминания. Уделите внимание рис. 1-3.

    (рис 1.3) Симметричный шифр против асимметричного

    В этом нашем мнемоническом примере предположим, что ключи имеют какой-то определенный вес. Вес секретного ключа x и вес открытого ключа x + 1 (таким образом, у них разные веса). В случае асимметричного шифрования для зашифровки и расшифровки используются два различных ключа и, таким образом, на весах ключи не будут сбалансированы, весы будут выглядеть асимметричными. Симметричное же шифрование использует только открытый ключ, который один и тот же как для зашифровки, так и для расшифровки. Соответственно вес ключей одинаков, и на весах они будут сбалансированы, весы будут выглядеть симметричными.

    Пример алгоритма с симметричным ключом

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

    Конечно, можно было бы использовать A, B и C для схематического отображения потока информации между двумя точками. Однако поскольку этот поток информации вовлекает людей, лучше все-таки дать им нормальные имена. Итак, двумя нашими персонажами, которых с этого момента мы будем использовать для примеров, будут Алиса и Боб. По мере необходимости будут вводится новые персонажи, но в настоящий момент давайте сконцентрируем наше внимание на Бобе и Алисе.

    Эти персонажи в течение многих лет использовались для демонстрации примеров того, как работают техники шифрования, и, как и многие другие выдуманные герои-долгожители, Боб и Алиса имеют свою собственную занимательную биографию. Эту биографию можно найти в статье под названием "Послеобеденная беседа Боба и Алисы" ("The Alice and Bob after-dinner speech"), которую Джон Гордон (John Gordon) зачитал на семинаре в Цюрихе в апреле 1984 г. Эта статья находится по адресу:

    http://www.conceptlabs.co.uk/alicebob.html

    Итак, вернемся к нашему примеру с Бобом и Алисой. Скажем, Алиса хочет послать Бобу сообщение, хочет, чтобы оно было отправлено защищенным, и хочет, чтобы Боб и только Боб мог прочитать его. Рис. 1.4 иллюстрирует этот пример, обмен происходит слева направо.

    (рис 1.4) Пример алгоритма с симметричным ключом

    Вот что происходит в нашем примере:

  • Сообщение Алисы шифруется секретным ключом.
  • Боб получает зашифрованное сообщение Алисы; видит, что оно зашифровано, и хочет прочитать его.
  • Боб расшифровывает сообщение, используя тот же самый секретный ключ, что использовался и при шифровании.
  • Теперь после расшифровки сообщение может быть прочитано Бобом.
  • Замечание. В этом примере Алиса и Боб знают друг друга достаточно хорошо. По этой причине в нем предполагается, что Алиса получила – безопасно – копию секретного ключа, использованного для шифрования сообщения.

    Виды симметричных шифров

    Есть два вида симметричных шифров: блочные и потоковые. Блочные шифры оперируют с блоками данных и используются, как правило, для шифрования документов и баз данных. Потоковые шифры работают с битовыми потоками и обычно используются для шифрования коммуникационных каналов.

    Общеизвестные блочные шифры

  • DES (Data Encryption Standard, стандарт шифрования данных) – федеральный стандарт обработки информации (FIPS, Federal Information Processing Standard) 46-3 описывает алгоритм шифрования данных (DEA, Data Encryption Algorithm). DEA также определен в стандарте ANSIANSI – American National Standards Institute, Американский институт национальных стандартов. X3.92. DEA имеет 64-битовый размер блока и во время выполнения использует 56-битовый ключ (из полного 64-битового ключа вырезаны 8 бит четности).
  • 3DES (Triple-DES, тройной DES) – определен в стандарте ANSI X9.52 и является тройным применением DES, где существует два варианта: DES-EDE и DES-EEE. Все очень просто: DES-EDE означает тройное применение DES, где идущими друг за другом процессами шифрования (Encryption), расшифровывания (Decryption) и еще одного шифрования (Encryption) используется три разные ключевые опции. DES-EEE означает три последовательных шифрования (Encryption, Encryption, Encryption).
  • AES (Advanced Encryption Standard, улучшенный стандарт шифрования). Появившись как FIPS PUB 197 от NIST и преемник DES, AES поддерживает размеры ключа в 128, в 192 и в 256 бит, в отличие от 56-битовых ключей, предлагаемых DES. Алгоритм Rijndael, изобретенный Джоанной Дэйемен (Joan Daemen) и Винсентом Рижменом (Vincent Rijmen), был выбран в качестве стандарта. Со временем многие проекты планируется перевести на AES по двум причинам: он предлагает 128-битовый размер ключа и является федеральным стандартом.
  • RC2 [алгоритм шифрования на ключе переменной длины Рона Ривеста (Ron Rivest); "RC" обозначает "Ron's Code" ("Код Рона"), хотя официально за ним значится "Rivest Cipher" ("Шифр Ривеста"). Он предлагался как замена DES]. RC2 имеет 64-битовый размер блока и работает в программном обеспечении примерно в два-три раза быстрее, чем DES.
  • Blowfish [создан Брюсом Шнайером (Bruce Schneier) из компании Counterpane Systems]. Это 64-битовый блочный шифр; ключ имеет переменную длину (с максимальной длиной 448 бит) и используется для генерации нескольких массивов подключей. Этот шифр был разработан специально для 32-битовых машин и работает значительно быстрее, чем DES.
  • Twofish [создан Брюсом Шнайером (Bruce Schneier) из компании Counterpane Systems]. Был финалистом тендера на AES, основан на алгоритме Шнайера Blowfish. Это быстрый и универсальный шифр, не требующий большого количества памяти. Тем не менее структура шифра очень сложна и, следовательно, трудноанализируема.
  • IDEA [International Data Encryption Algorithm, интернациональный алгоритм шифрования данных, создатели Хьюэйжиа Лай (Xuejia Lai) и Джеймс Мэсси (James Massey)]. Изначально назывался PES – Proposed Encryption Standard (Предлагаемый стандарт шифрования). Позднее он был улучшен и назван IPES, а затем переименован в IDEA; известен тем, что является частью PGP. Это 64-битовый итеративный блочный шифр со 128-битовым ключом. Процесс шифрования состоит из восьми сложных этапов, но скорость IDEA в программном обеспечении сравнима со скоростью DES.
  • CAST [канадский алгоритм, созданный Карлайл Адамс (Carlisle Adams) и Стэффордом Таваресом (Stafford Tavares)]. Это популярный 64-битовый шифр, допускающий размеры ключа вплоть до 128 бит. Название CAST происходит от первых букв его первоначальных изобретателей, Carlisle Adams и Stafford Tavares. CAST-128 принадлежит компании Entrust Technologies, но является бесплатным как для коммерческого, так и для некоммерческого использования. CAST-256 – бесплатное доступное расширение CAST-128, которое принимает размер ключа до 256 бит и имеет размер блока 128 бит. CAST-256 был одним из первоначальных кандидатов на AES.
  • Общеизвестные потоковые шифры

  • RC4 (алгоритм шифрования на ключе переменной длины, созданный Роном Ривестом из RSA Security). Используется для безопасных коммуникаций точно также, как происходит шифрование трафика на защищенных Web-сайтах, использующих протокол SSL. RC4 – шифр с размером ключа вплоть до 2048 бит (256 байт).
  • SEAL [Software Efficient Algorithm, программно-эффективный алгоритм, созданный в 1993 г. Филом Рогэвеем (Phil Rogaway) и Доном Копперсмитом (Don Coppersmith) из IBM]. Этот алгоритм защищен патентом США 5,454,039. Шифр основан на 32-битовых словах, шифрует со скоростью примерно 4 цикла на байт и использует для шифрования 160-битовый ключ. Считается очень надежным.
  • WAKE [World Auto Key Encryption algorithm, всемирный алгоритм шифрования на автоматическом ключе Дэвида Дж. Веллера (David J Wheeler)]. Это система шифрования для среднескоростной шифровки блоков с высокой степенью безопасности. Предназначена для того, чтобы быть быстрой на большинстве компьютеров, при работе требуется использование таблицы повторений и наличие большого пространства состояний.
  • Замечание. Одна маленькая интересная подробность: RC1 никогда не сходил дальше ноутбука Ривеста, а RC3 был сломан в RSADSI еще на этапе разработки.

    Достоинства алгоритмов на симметричном ключе

    Как мы показали, в настоящее время используется целый ряд шифров на симметричном ключе. Помимо тех, что уже были упомянуты, дальше в курсе мы еще опишем те, которые используются в Notes, Domino и в других совместных продуктах Lotus. Сейчас же давайте поговорим о тех достоинствах, которые присущи всем этим алгоритмам на симметричном ключе.

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

    Недостатки алгоритмов на симметричном ключе

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

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

    Вопросы коммерческого использования и экспорта

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

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

    Все они подпадают под ограничения на экспорт Национального агентства безопасности США (NSA, National Security Agency). Точное действие этих ограничений не так просто, но суть их в следующем:

  • любое экспортируемое американской компанией программное обеспечение, в котором присутствуют криптографические технологии, должно идти под специальной экспортной лицензией;
  • если в продукте содержится код симметричного шифрования, который можно использовать для шифрования произвольного потока данных, лицензия позволит экспорт без ограничений только в том случае, если размер ключа меньше, чем величина, предопределенная NSA.
  • Это означает то, что для того, чтобы экспортировать полноценную криптографию, компания должна иметь специальную лицензию на каждого клиента. Такие лицензии выдаются только для таких клиентов, которые рассматриваются правительством США в качестве дружественных, таких, как крупные банки и дочерние образования американских компаний.

    Когда писалась предыдущая книга серии Redbooks, пороговая длина ключа для обычной экспортной лицензии составляла 40 бит. С тех пор несколько испытаний Проект управления композитными приложениями 29 показали, что при помощи относительно современных компьютерных мощностей на 40-битовый ключ вполне можно провести успешную атаку обычным перебором вариантов. Заявление правительства открыло дверь для использования более длинных ключей, сначала до 56 бит, а в перспективе до любой длины, когда компьютерная индустрия разработает эффективную технологию восстановления ключа. (Восстановление ключа означает, что ключ сессии может быть найден по другому известному ключу, мастер-ключу); 56 бит, может, и не выглядят намного лучше, чем 40, но фактически их в 2 в 16-й степени, или в 65,536 раза, труднее взломать.

    Дополнением к этому стало заявление Бюро управления экспортом коммерческого департамента от 18 ноября 1998 г., которое внесло изменения в правила управления экспортом для экспорта и реэкспорта товаров и программного обеспечения полноценного шифрования. Длины ключей сейчас: полных 56 бит для DES и эквивалентных ему "массовых" шифров (т. е. RC2, RC4, RC5 и CAST) и 1,024 бита для RSA асимметричных ключей по всем направлениям, кроме Кубы, Ирана, Ирака, Ливии, Северной Кореи, Судана и Сирии. С той оговоркой, что восстановление ключей невозможно. Аналогично криптоключами без ограничений по силе могут пользоваться американские дочерние предприятия, страховые компании, фирмы, профилирующиеся в сфере медицины и здоровья, интернет-магазины при условии, что у них нет представительств ни в одной из вышеперечисленных стран.

    Далее, 6 июня 2002 г. Бюро промышленности и безопасности (BIS, Bureau of Industry and Security) опубликовало постановление, которое корректировало Положения по управлению экспортом (EAR, Export Administration Regulations) так, чтобы отразить изменения, сделанные в списке Вассенаарских договоренностейВассенаарские договоренности – соглашение стран-производителей/экспортеров вооружений и соответствующих технологий о совместной глобальной системе контроля за распространением обычных вооружений, товаров и технологий двойного применения с целью противостояния угрозам международной и региональной безопасности и стабильности. Образован в 1994 г. в городе Вассенаары (Нидерланды) после упразднения КОКОМа. Россия входит с 1995 г. по технологиям двойного примененияТехнологии двойного применения – технологии, которые могут быть использованы при создании как вооружения и военной техники, так и продукции гражданского назначения. а также чтобы обновить и уточнить другие положения EAR, касающиеся контроля за экспортом в области шифрования.

    Криптографические товары и программное обеспечение для массового рынка с длиной симметричного ключа свыше 64 бит, подпадающие под номера 5A992 и 5D992 классификации экспортного контроля (ECCNs, Export Control Classification Numbers), могут экспортироваться и реэкспортироваться без лицензии (NLR, No License Required) после 30-дневного рассмотрения BIS. Это положение корректирует категорию 5, часть II (информационная безопасность) списка контроля коммерции (CCL, Commerce Control List) и позволит экспорт и реэкспорт оборудования, определяемого ECCN 5B002, согласно License Exception ENC.

    Для дополнительной информации здесь приведен полный список ресурсов, способных пролить некоторый свет на положения по экспорту и те двусторонние соглашения, которые действуют в настоящий момент:

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

    http://w3.access.gpo.gov/bis/fedreg/ear_fedreg.html#67fr38855

  • информационный листок на тему управления экспортом коммерческих продуктов, содержащих криптографию, можно найти по следующему адресу:

    http://www.bxa.doc.gov/encryption/EncFactSheet6_17_02.html

  • пояснения по Вассенаарскому соглашению и тому, что входит в них, можно найти по следующему адресу:

    http://www.bxa.doc.gov/Wassenaar/Default.htm

  • 1.4.3 Алгоритмы с асимметричным ключом

    Отталкиваясь от знакомых аналогий, нематематик может интуитивно понять, как работает алгоритм симметричного ключа. Однако алгоритмы асимметричного ключа непрофессионалу доступны намного хуже. Фактически иногда они выглядят скорее как магия, нежели как технология. На самом деле это не так. Для них требуется немного больше объяснений, чем для алгоритмов на симметричном ключе, но тем не менее любой, кто внимательно прочитает нижеследующее, легко справится с ними.

    Основы алгоритмов на асимметричном ключе

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

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

    Давайте вернемся к Бобу и Алисе и посмотрим, что же происходит при отправке защищенного при помощи алгоритма на асимметричном ключе сообщения. На рис. 1.5 приведен пример, где обмен происходит слева направо.

    (рис 1.5) Пример алгоритма с асимметричным ключом: отправка защищенного сообщения по электронной почте

    Вот что происходит в нашем примере:

  • Алиса хочет послать Бобу еще одно сообщение;
  • сообщение Алисы зашифровывается при помощи открытого ключа Боба (с тем, чтобы его можно было расшифровать только закрытым ключом, находящимся в единоличном владении Боба);
  • Боб получает Алисино зашифрованное сообщение, видит, что оно зашифровано, и хочет прочитать его;
  • с помощью своего закрытого ключа Боб дешифрует сообщение;
  • после дешифровки теперь сообщение может быть прочитано Бобом.
  • Замечание. В этом сценарии нет необходимости в обмене закрытыми ключами и, таким образом, весь процесс работы с ключами проще.

    Виды асимметричных шифров

    Асимметричные шифры еще называют механизмами обмена ключами. Самые известные из них – следующие:

  • Обмен ключами Диффи–Хелмана (D-H, Diffie–Hellman) – это криптографический протокол, который позволяет двум собеседникам (условно названным Алисой и Бобом, как мы видели выше) установить связь на секретном ключе по небезопасному коммуникационному каналу. После того как общий секретный ключ был установлен, Алиса и Боб могут использовать его для условного шифрования своих тайных коммуникаций. Обмен ключами Диффи–Хелмана был изобретен в 1975-м или 1976 г. во время совместной работы Уитфилда Диффи (Whitfield Diffie), Мартина Хелмана (Martin Hellman) и Ральфа Меркле (Ralph Merkle) и стал первым практическим методом для установления режима секретности по незащищенному коммуникационному каналу. На самом деле открыт он был еще за несколько лет до того Малькольмом Уильямсоном из компании GCHQ в Англии, но GCHQ решило не раскрывать его вплоть до 1997 г., когда это уже никак не могло повлиять на исследования. В скором времени компанией RSA был разработан метод, который стал первой публично анонсированной реализацией криптографии открытого ключа, использующей асимметричные алгоритмы.
  • Ривест–Шамир–Адлеман (RSA, Rivest–Shamir–Adleman). Этот асимметричный алгоритм открытого ключа широко используется в электронной коммерции. Сам алгоритм был описан в 1977 г. Роном Ривестом (Ron Rivest), Ади Шамиром (Adi Shamir) и Леном Адлеманом (Len Adleman); буквы RSA – это заглавные буквы их фамилий. Клиффорд Кокс (Clifford Cocks), британский математик, работающий на GCHQ, в 1973 г. во внутреннем документе компании описал эквивалентную систему. Его открытие, однако, не было раскрыто, опять же вплоть до 1997 г., по причине его сверхсекретной природы. Алгоритм был запатентован в 1983 г. в Соединенных Штатах Америки Массачусетским технологическим институтом (MIT, Massachusetts Institute of Technology). Срок действия патента закончился в сентябре 2000 г. Поскольку алгоритм был опубликован до своего патентования, он не мог быть запатентован в других странах. На RSA действуют те же ограничения на экспорт за пределы США, что и на симметричные алгоритмы. Только в этом случае фактически ключом является очень большое число. По очень приблизительной оценке, размер RSA ключа в 1024 бита соответствует полноценному симметричному ключу в 64 бита и более.
  • Криптография эллиптической кривой (ECC, Elliptic Curve Cryptography). Подобно D-H и RSA, ECC является классом криптографических алгоритмов, способных выполнять асимметричное шифрование. И точно так же, как в D-H и RSA, обладание одним ключом не дает достаточной информации для определения другого ключа. Существует несколько слегка отличных друг от друга версий криптографии эллиптической кривой, и все они основаны на общеизвестной трудности решения задачи дискретного логарифма для группы эллиптических кривых в некоторой конечной области. ECC считается самым сильным асимметричным алгоритмом при заданной длине ключа, и поэтому он может быть особенно полезен для соединений, имеющих очень жесткие ограничения по полосе пропускания. Занижены также требования и к размеру ключа. Давайте посмотрим: NIST и ANSI X9 установили минимальный размер ключа в 1024 бита для RSA и 160 бит для ECC, что соответствует 80-битовому ключу симметричного блочного шифра. NIST опубликовал список рекомендованных эллиптических кривых для защиты пяти различных размеров симметричных ключей (а именно 80, 112, 128, 192 и 256).
  • Достоинства алгоритмов на асимметричном ключе

    Как мы показали, в настоящее время используется целый ряд алгоритмов на асимметричном ключе. Помимо тех, что уже были упомянуты, дальше в курсе мы еще опишем те, которые используются в Notes, Domino и в других совместных продуктах Lotus. Сейчас же давайте поговорим о тех достоинствах, которые присущи всем алгоритмам на асимметричном ключе.

    Алгоритмы асимметричного ключа делают более легким управление ключами благодаря тому, что не надо искать безопасный канал для передачи копии ключа конечному получателю. Закрытый ключ остается закрытым, а открытый – открытым. Другими словами, большим преимуществом этого механизма над механизмом симметричного ключа является то, что больше нет того секрета, которым требуется делиться. Фактически совершенно не имеет значения, у кого имеется открытый ключ, поскольку он бесполезен без соответствующего закрытого.

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

    Недостатки алгоритмов на асимметричном ключе

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

    1.4.4 Гибридный алгоритм

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

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

    Кроме того, симметричный ключ обычно генерируется каждый раз как новый и называется "сессионным" ключом. Он действителен только на то время, пока два человека обмениваются сообщениями друг с другом. Этот протокол используется практически во всех "шифраторах открытым ключом", таких, как Notes, SSL, S/MIME. Он обеспечивает высокую производительность и легкость реализации.

    Пример гибридного алгоритма

    Давайте сделаем паузу и рассмотрим, как работает гибридное решение. Для этого мы продолжим рассматривать общение между Алисой и Бобом. Пример изображен на рис. 1.6, обмен происходит слева направо.

    (рис 1.6) Пример гибридного решения: отправка защищенного сообщения по электронной почте

    В нашем примере происходит следующее. Сначала на одном конце:

  • Алиса желает послать Бобу еще одно сообщение;
  • сообщение Алисы шифруется при помощи закрытого ключа;
  • затем Алиса открытым ключом Боба (таким, что только закрытый ключ Боба, который есть у Боба и только у него одного, может расшифровать его) зашифровывает закрытый ключ (в таком сценарии, как мы уже говорили, он обычно зовется сессионным, так как всякий раз при отправлении сообщения генерируется новый, отличный от старого ключ);
  • Алиса отсылает Бобу зашифрованное сообщение и зашифрованный ключ.
  • На другом конце:

  • Боб получает зашифрованное сообщение Алисы и хочет его прочитать;
  • Боб своим закрытым ключом дешифрует закрытый (сессионный) ключ, затем он использует этот дешифрованный ключ (тот же самый, что и тот, которым сообщение зашифровывалось) для расшифровывания Алисиного сообщения;
  • теперь расшифрованное сообщение может быть прочитано Бобом.
  • 1.4.5 Цифровые подписи

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

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

    Итак, для чего же можно использовать такое сообщение от Алисы? Ответ следующий – авторизация. Поскольку только Алиса имеет доступ к закрытому ключу, при помощи которого было создано это сообщение, оно может прийти от нее и только от нее. В этом состоит понятие цифровой подписи.

    Цифровые подписи участвуют в обеспечении целостности, аутентификации и идентификации, в определении авторства (невозможность отказа), в то время как алгоритмы и симметричного и асимметричного ключей, которые мы обсуждали до этого момента, касались только конфиденциальности.

    Хеш-функции

    Для того чтобы предоставить эти дополнительные услуги, нам потребуется ввести новый вид криптографического алгоритма – хеш-функции (еще называемые свертками сообщений).

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

    Еще, хеш-функции называются "функциями" потому, что они принимают на вход сообщение и возвращают результат. Более точно, они используются для индексирования исходного содержания или ключа сообщения или блока данных, а затем всякий раз при получении данных, относящихся к этому содержанию или ключу. У хеш-функции безопасности есть три основные характеристики:

  • Она принимает сообщение любого размера и генерирует из него маленький, фиксированного размера блок данных (называется сверткой сообщения). Повторное выполнение хеш-функции с теми же самыми исходными данными в результате всегда дает ту же самую свертку. Это называется отпечатком сообщения.
  • Это непредсказуемая операция. То есть даже небольшое изменение в исходном сообщении может оказать непредсказуемо большое влияние на конечную свертку. Или скажем по-другому, если используется хорошая хеш-функция, даже изменение 1 бита сообщения должно повлечь изменение половины битов на ее выходе.
  • Для всех намерений и целей она необратима. Другими словами, из данной свертки никак невозможно получить исходные данные.
  • Для чего же используется тогда хеш-функция безопасности? Хорошо, ее основное предназначение – отслеживать, были ли изменения в отдельных частях данных или нет. В комбинации с RSA это используется для создания цифровой подписи.

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

    В настоящее время применяется два хеш-алгоритма безопасности. Наиболее распространенный из них – MD5, который был разработан компанией RSA Data Security, Inc. и используется в Notes. Он создает 128-битовую свертку из входящих данных любой длины и описан в RFC1321.

    Другой алгоритм, который становится все более и более популярным, – разработанный для правительства США Хеш-стандарт безопасности (SHS, Secure Hash Standard). Он создает 160-битовую свертку, что немножко больше, чем MD5.

    Пример цифровой подписи

    Давайте сделаем паузу и рассмотрим, как же работают цифровые подписи. Пример показан на рис. 1.7. Однако в этом примере обмен происходит справа налево, а не слева направо, как было в предыдущих примерах, так как Боб отвечает на сообщения Алисы.

    В нашем примере происходит следующее. Сначала на одном конце:

  • Боб хочет ответить на сообщение Алисы;
  • Боб составляет сообщение, предназначенное Алисе (чтобы было проще, пусть сообщение не требуется шифровать, и тогда мы сможем сосредоточиться исключительно на функциональности цифровой подписи);
  • Боб вычисляет свертку своего сообщения;
  • Боб шифрует свертку своим закрытым ключом;
  • Боб отправляет сообщение и зашифрованную свертку.
  • (рис 1.7) Пример цифровых подписей

    На другом конце:

  • Алиса получает сообщение Боба и зашифрованную свертку (поскольку они приходят вместе, ей приходится отделять свертку от самого сообщения);
  • Алиса вычисляет новую свертку сообщения, полученного ею от Боба (хеш-алгоритм дает всегда одинаковые значения для одного и того же документа);
  • Алиса расшифровывает полученную свертку открытым ключом Боба (это можно сделать, так как между открытым и закрытым ключами Боба существует взаимно-однозначное соответствие);
  • Алиса сравнивает вычисленную ею свертку с полученной.
  • Таким образом:

  • Если обе свертки совпадают, значит, сообщение: аутентифицированно (оно пришло от Боба) и целостно (помним, что изменение даже 1 бита изменило бы по меньшей мере половину битов свертки).
  • Это может быть использовано также для подтверждения авторства (невозможность отказа). Из-за взаимно-однозначного соответствия между открытым и закрытым ключами Боба Боб не сможет утверждать, что это не он посылал сообщение.
  • Если свертки не совпадают, значит, либо сообщение было изменено во время пересылки (недостаток целостности), либо не Боб, а кто-то другой послал его (сообщение неаутентифицированно и не может быть использовано для целей подтверждения авторства).
  • Виды хеш-функций

    Основной интерес для нас представляет набор хеш-функций (называемых также алгоритмами сообщение-свертка), которые мы описали, а именно MD5 и SHA-1. Для исторической справки и для того, чтобы объяснить необходимость существования MD5 и SHA-1, мы упомянем также MD2, MD4 и SHA.

  • MD2 и MD5 – алгоритмы типа сообщение-свертка, разработанные Ривестом, буква R в аббревиатуре RSA. Они предназначены для приложений с цифровыми подписями, в которых большое сообщение должно быть "сжато" шифратором до того, как будет подписано закрытым ключом. Все эти алгоритмы берут сообщение произвольной длины и генерируют его 128-битовую свертку. Описания и исходные коды этих алгоритмов можно найти в интернет-стандартах RFC 1319-1321. В отличие от них алгоритм хеша безопасности (SHA, Secure Hash Algorithm) был разработан NIST и определен в стандарте хеша безопасности (SHS, FIPS 180, Secure Hash Standard).
  • MD2 был разработан в 1989 г. Сообщение сначала дополняется пробелами, так, чтобы его длина в байтах была кратна 16. Затем к сообщению приписывается 16-байтовая контрольная сумма и по всему этому вычисляется хеш-значение. Было обнаружено, что, если опустить вычисление контрольной суммы, в MD2 могут возникнуть нестыковки. Это, пожалуй, единственное, что известно о результатах криптоанализа MD2.
  • MD5 был разработан в 1991 г. По большей части это MD4 с "поясом безопасности", и хотя он слегка более медленный, чем MD4, зато более безопасный. Алгоритм состоит из четырех проходов, каждый из которых слегка отличается по своему дизайну от MD4.
  • SHA-1 – это ревизия SHA, который был опубликован в 1994 г. Ревизия подправила неопубликованный недочет в SHA. По своему дизайну он очень похож на хеш-функции семейства MD4. SHA-1 описан также в стандарте ANSI X9.30 (часть 2). Алгоритм берет сообщение длиной менее 264 бит и создает по нему 160-битовую свертку. Этот алгоритм немного медленнее, чем MD5, но больший размер свертки сообщения делает его более надежным против атак грубой силой и методом перестановок.
  • Относительно используемых хеш-алгоритмов остаются открытыми несколько вопросов, на которые мы с удовольствием ответим. Если используются MD2 и MD5, значит ли это, что были и MD1, MD3 и MD4? Ответ: были.

    MD (первоначальный алгоритм Message Digest, разработанный RSADSI) был запатентован и никогда не использовался. MD3 был заменен MD4 еще даже до того, как был опубликован или начал использоваться. MD4 создан был, но в двух из трех его проходов были обнаружены слабые места. Они не разбивали алгоритм, но заставили Рона Ривеста достаточно понервничать, чтобы он решил укрепить его, и так был создан MD5, задокументированный в RFC 1321.

    Хорошо, ну а если есть SHA-1, был ли SHA-0? Ответ: да. SHA – это стандартная хеш-функция NIST. Он был изобретен NSA в 1993 г. в основном под влиянием MD4. В 1995-м NSA изменило стандарт (новая версия называется SHA-1; старая же сейчас имеет название SHA-0). Агентство утверждало, что это изменение было сделано с целью исправления одного недостатка, хотя никаких подтверждений этому дано не было.

    Да, и еще, время от времени в кругах специалистов безопасности и в различных дискуссиях на тему безопасности вам доводилось слышать термин "MAC". В таком контексте MAC (message authentication code) – это не что иное, как просто зашифрованный хеш. Не стоит путать его с уровнем контроля медиадоступа (Media Access Control Layer) в семиуровневой сетевой модели OSI.

    Вопросы доверия цифровым подписям

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

    Если компьютер скомпрометирован или если скомпрометирован закрытый ключ человека, вполне возможно выдать себя за этого человека и поставить за него цифровую подпись. Таким образом, доверие должно быть направлено на подписывающий компонент (машина, код и т. д.).

    Исходя из общей безопасности подписывающего устройства (т. е. компьютера пользователя) и практики помещения ключей на депонент (где они технически доступны администраторам и менеджерам организации), цифровые подписи представляют не большую юридическую ценность для судебной практики. Следовательно, вопрос доверия цифровым подписям в настоящее время следует уравновесить пониманием того факта, что они не способны дать полной и абсолютной гарантии при определении авторства.

    1.4.6 Сертификаты открытого ключа

    Мы уже видели, каким образом криптография открытого ключа решает проблему необходимости передачи секрета от отправителя к получателю. И хотя ключ все равно еще надо посылать, но это уже открытый ключ, который можно видеть кому угодно, поскольку он полезен для взломщика только в том случае, если у последнего есть и соответствующий закрытый ключ. Однако это обходит стороной один критический элемент доверия: как вы можете быть уверены в том, что открытый ключ действительно пришел от того, от кого вы думаете?

    Одно решение состоит в том, чтобы передавать открытые ключи только тем, кого вы знаете. Боб и Алиса знают друг друга долгое время (фактически люди уже начали разговаривать), поэтому они могли бы обменяться своими открытыми ключами на дискетах. Но для других случаев жизни вам понадобится некий способ быть уверенными в том, что открытый ключ является аутентифицированным.

    Механизмом для реализации этого является сертификат открытого ключа. Это такая структура данных, в которой содержится открытый ключ плюс информация о его владельце, все подписанное цифровой подписью доверенной третьей стороны. И сейчас, когда Алиса хочет выслать Бобу свой открытый ключ, на самом деле она посылает сертификат. Боб получает сертификат и проверяет подпись. Если подпись подписавшего принадлежит тому, кому он доверяет, значит, можно принять за истину, что это действительно ключ Алисы.

    Сертификаты в реальной жизни намного сложнее по сравнению с этим. Описания того, как они используются в различных ситуациях, приведены в последующих лекциях этого курса в разделах, подробно рассказывающих об SSL и системе безопасности Notes.

    1.4.7 Стандарты криптографии открытого ключа

    Во всех этих криптографических инструментах и техниках немного пользы набора соответствующих, хорошо согласованных стандартов для обеспечения базиса для функциональной совместимости. Эти стандарты называются стандартами криптографии открытого ключа (PKCS, Public Key Cryptographic Standards).

    PKCS является набором неофициальных независимых от поставщика стандартов, разработанных в 1991 г. компанией RSA Laboratories при участии Apple, Digital, Lotus, Microsoft, MIT, Northern Telecom, Novell и Sun. С самого момента своего опубликования в июне 1991 г. PKCS стал частью нескольких стандартов и продуктов, включая Notes и Domino.

    Эти стандарты охватывают RSA шифрование, соглашение о ключах Диффи–Хелмана, шифрование паролем, синтаксис расширенного сертификата, синтаксис криптографического сообщения и синтаксис запроса сертификата, а также выделяемые атрибуты.

    В настоящее время определены следующие стандарты:

  • PKCS #1: стандарт шифрования RSA;
  • PKCS #2: (см. примечание ниже);
  • PKCS #3: стандарт соглашения о ключах Диффи–Хелмана;
  • PKCS #4: (см. примечание ниже);
  • PKCS #5: стандарт шифрования паролем;
  • PKCS #6: стандарт синтаксиса расширенного сертификата;
  • PKCS #7: стандарт синтаксиса криптографического сообщения;
  • PKCS #8: стандарт синтаксиса информации о закрытом ключе;
  • PKCS #9: типы выделяемых атрибутов;
  • PKCS #10: стандарт синтаксиса запроса сертификата;
  • PKCS #11: стандарт интерфейса криптографического жетона;
  • PKCS #12: стандарт синтаксиса обмена персональной информацией;
  • PKCS #13: стандарт криптографии эллиптической кривой;
  • PKCS #15 (Чек): стандарт формата информации на криптографическом жетоне.
  • Примечание. PKCS-2 и PKCS-4 входят в PKCS-1.

    В этом курсе для нас особый интерес представляют PKCS #1, PKCS #7, PKCS #10, PKCS #11 и PKCS #12.

    PKCS #1 описывает метод шифрования данных при помощи криптосистемы открытого ключа RSA. Он предназначен для построения цифровых подписей и цифровых упаковок, которые описаны в PKCS #7. Также PKCS #1 описывает синтаксис открытого и закрытого ключей RSA. Синтаксис открытого ключа по PKCS #1 идентичен описанному в стандарте X.509.

    PKCS #7 описывает стандарт синтаксиса криптографического сообщения. Он определяет синтаксис нескольких видов криптографически защищенных сообщений, включая зашифрованные сообщения и сообщения с цифровыми подписями. PKCS #7 стал базисом для стандарта безопасного многоцелевого расширения интернет-почты (SMIME, Secure Multipurpose Internet Mail Extension), который дает унифицированный метод шифрования браузерной электронной почты. У PKCS #7 есть и другие применения, такие, как использование в PKCS #12.

    PKCS #10 описывает синтаксис для запросов сертификата. Запрос сертификата состоит из уникального имени, открытого ключа и из дополнительного набора атрибутов на выбор. Все это подписывается содержимым запрашиваемого сертификата. Запросы на сертификат посылаются сертификационному специалисту, который преобразует полученный запрос в сертификат открытого ключа X.509.

    PKCS #12 описывает синтаксис импорта-экспорта личной идентификационной информации, в которую входят закрытые ключи, сертификаты, различные секреты и расширения. Этот стандарт поддерживается такими приложениями, как Web-браузеры, что позволяет пользователям импортировать и экспортировать один и тот же набор идентификационной информации. Этот стандарт также полезен для импортирования и экспортирования данных со смарт-карт и смарт-жетонов.

    Полную информацию о PKCS, включая детальные описания каждого стандарта, можно найти на сайте RSA по следующему адресу:

    http://www.rsasecurity.com/products/bsafe/whitepapers/IntroToPKCSstandards.pdf

    Она является частью замечательного, всеобъемлющего FAQЧАВО – ЧАсто задаваемые ВОпросы (FAQ, Frequently Asked Questions). поддерживаемого компанией RSA Security Inc., озаглавленного "Часто задаваемые вопросы лаборатории RSA по сегодняшней криптографии, версия 4.1" и находящегося по адресу:

    http://www.rsasecurity.com/rsalabs/faq/index.html

    1.5 Резюме

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

    Мы коснулись следующих тем:

  • базовая терминология ИТ-безопасности, включая определения основных понятий, таких, как компьютерная система, компьютерная сеть, ИТ-инфраструктура, компьютерная безопасность и классификация информации;
  • службы компьютерной безопасности, включая смысл целостности данных, конфиденциальности, идентификации и аутентификации, контроля доступа и подтверждения авторства (невозможность отказа);
  • криптографические техники, включая определение криптографии и обсуждения алгоритмов симметричного ключа, алгоритмов асимметричного ключа, гибридного решения, цифровых подписей, сертификатов открытого ключа и стандартов криптографии открытого ключа.
  • Теперь мы готовы изучить рецепты построения должной инфрастуктуры безопасности, т. е. методологии дизайна систем безопасности. Эти методологии полностью охватываются в следующей лекции и основаны на тех знаниях, которые вы получили в настоящей лекции.

    Страницы:

    Мы определим как понятие безопасности, так и понятие ИТ-безопасности. Рассмотрим некоторые интересные теории и статистические данные, чтобы раскрыть современные тенденции в сфере безопасности, сделаем обзор принятых стандартов.

    Эта лекция предназначена для широкого круга читателей:

  • для людей, которые являются новичками в области ИТ-безопасности и хотят определить такую начальную точку, с которой стоит начинать изучение ИТ-безопасности и всего того, что с ней связано;
  • для людей, которые уже имеют опыт общения с ИТ-безопасностью и просто хотят на скорую руку освежить свои знания;
  • для людей, которые находятся где-то посередине между этими двумя вышеприведенными категориями, и, конечно, прежде всего для тех, кому будет интересно прочитать этот курс серии Redbooks от начала до конца.
  • Хотя эту лекцию можно и пропустить, а затем вернуться к ней позднее, мы очень рекомендуем читателю все-таки уделить несколько минут своего времени, чтобы освежить те основы ИТ-безопасности, которые представлены в ней.

    1.1 Введение

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

    Первой революцией явилось изобретение в начале 1980-х гг. персонального компьютера – IBM Personal Computer, который оказался первым на рынке настоящим микрокомпьютером для бизнеса. Это позволило как компаниям, так и частным лицам наравне получить доступ к вычислительным ресурсам, что по тем временам было достаточно дорогим удовольствием. Связывание таких машин локальной сетью высвободило невиданный доселе поток информации и вывело в свет идею распределенных вычислений. Это привело к взрыву бизнес-решений, которые в значительной мере изменили сами основы функционирования самого бизнеса.

    Второй революцией в середине 1990-х стал брак того, что тогда было 20-летней коллекцией разномастных сетей (то, что называлось Интернетом, изначально именовалось как ARPANet) с Web-браузером. В результате этого слияния получать информацию из Интернета наконец стало легко. Это же стало прародителем электронного бизнеса. При помощи Web-серверов и стандартного набора Web-технологий организации смогли теперь предлагать целое изобилие различных товаров и услуг через Интернет. Кроме того, те же самые организации нашли, что отныне они могут лучше общаться и обмениваться информацией со своими поставщиками. И даже более, аккуратно открывая свои внутренние сети Интернету, эти организации смогли дать возможность своим служащим иметь доступ к данным и электронной почте из их собственных домов или, что даже более важно, из любой точки земного шара, где бы этим служащим ни довелось оказаться, в другом городе или где-нибудь в пути.

    1.1.1 Капитал знаний

    В наш век электронного бизнеса информация стала важным товаром. Или правильнее называть ее капиталом знаний, что является формой капитала, от которого многие виды бизнеса зависят точно так же, как и от денежного капитала. В действительности жизнь и смерть любого бизнеса определяются той мерой контроля, которой он обладает над своим капиталом знаний. Если этот капитал украден, раскрыт, испорчен или уничтожен, компания может очень сильно пострадать, вплоть до прекращения своего существования.

    Есть отдельные личности, едва ли не целью жизни которых стало получение неавторизированного доступа к компьютерным сетям, системам и информации, которую они собирают и затем распространяют. В более невинной форме подобные люди делают это исключительно ради спортивного интереса, чтобы иметь затем возможность похвастаться своим мастерством компьютерного искусства и ничего более (обычно их называют белыми хакерами). В худшем случае эти индивидуумы делают это со злым умыслом: либо чтобы получить финансовую выгоду, либо чтобы преднамеренно испортить или уничтожить то, что они нашли (таких обычно называют черными хакерами или еще иногда кракерами).

    Вне зависимости от их склонностей все эти хакеры – настоящий ночной кошмар для ИТ-систем организаций любого размера. Даже "добропорядочные" хакеры могут создать такие условия, которые приведут к утечке информации, содержащейся в ИТ-системах организации, и к потенциальной возможности того, что эта информация будет уничтожена, испорчена или доступна менее щепетильным людям.

    Хуже всего то, что белые и черные хакеры – отнюдь не единственная головная боль ИТ-менеджеров. Есть еще те же самые пользователи, которые прибегают к услугам ИТ-инфраструктуры. В большинстве случаев пользователи не являются злоумышленниками; они просто делают ошибки. Но даже невинные ошибки могут повлиять на капитал знаний организации, а действующие из лучших побуждений пользователи одурачены и вынуждены раскрыть важную информацию, которая обнажит капитал знаний враждебным силам.

    1.1.2 Обзор ИКБ/ФБР компьютерной преступности и вопросов безопасности

    Для того чтобы понять, насколько серьезно обстоят дела в этом вопросе, предлагаем вашему вниманию одну интересную цитату:

    "Увеличивающаяся зависимость Соединенных Штатов от информационных технологий в управлении и функционировании наших критических национальных инфраструктур делает страну первоочередной целью кибертеррористов. Сейчас как никогда ранее правительству и частному сектору следует идти рука об руку в плане обмена информацией и изучения информационной безопасности настолько глубоко, чтобы наши критические национальные инфраструктуры были надежно защищены от кибертеррористов".

    Эта цитата взята из обзора ИКБ/ФБР компьютерной преступности и вопросов безопасности, который доступен в электронном формате непосредственно на сайте Института компьютерной безопасности (ИКБ) по адресу:

    http://www.gocsi.com/forms/fbi/pdf.html

    ИКБ и ФБР

    ИКБ (CSI, Computer Security Institute), основанный в 1974 г., – это базирующаяся в Сан-Франциско ассоциация профессионалов информационной безопасности. Она насчитывает тысячи членов по всему миру, предоставляет широкий выбор информационных и образовательных программ в помощь по защите информационных активов корпораций и правительственных организаций.

    Федеральное бюро расследований, ФБР (FBI, Federal Bureau of Investigation) в ответ на все увеличивающееся количество случаев, в которых целью преступников становились важнейшие составляющие информационных и экономических структур, основало Национальный центр по защите инфраструктур (NIPC, National Infrastructure Protection Center), размещенный в штаб-квартире ФБР, и региональные подразделения по борьбе с компьютерными вторжениями (Regional Computer Intrusion Squads), расквартированные в отдельных офисах по всей территории Соединенных Штатов. NIPC, связующее звено между федеральными агентствами и частной индустрией, был создан как главный правительственный механизм для борьбы с кибератаками на национальные инфраструктуры и ответа на них. (К таким инфраструктурам относятся телекоммуникации, энергетика, транспорт, банковское дело и финансы, службы быстрого реагирования и правительственные операции). Предназначением региональных подразделений является расследование случаев нарушений Акта о компьютерных мошенничестве и злоупотреблении (Computer Fraud and Abuse Act, Title 8, Section 1030), включая случаи вторжения в общедоступные сети, серьезные вторжения в компьютерные сети, нарушения права на неприкосновенность частной жизни, промышленный шпионаж, пиратское программное обеспечение и другие преступления.

    Статистика

    В течение последних 7 лет ИКБ и подразделение ФБР по борьбе с компьютерными вторжениями в Сан-Франциско проработали вместе и основали ежегодник "Обзор компьютерной преступности и вопросов безопасности". Целью их усилий являлось как поднятие общего уровня осведомленности по вопросам безопасности, так и помощь в определении границ компьютерной преступности в Соединенных Штатах. Основываясь на данных опроса 503 профессионалов компьютерной безопасности американских корпораций, правительственных учреждений, финансовых институтов, медицинских заведений и университетов, выводы "Обзора компьютерной преступности и вопросов безопасности" за 2002 г. ("2002 Computer Crime and Security Survey") подтверждают, что угроза компьютерной преступности и других нарушений информационной безопасности не уменьшается и финансовый набат продолжает звучать.

    Ниже приведены самые яркие моменты "Обзора компьютерной преступности и вопросов безопасности" за 2002 г.

  • Девяносто процентов респондентов (по большей части большие корпорации и правительственные учреждения) в течение последних 12 месяцев обнаружили нарушения компьютерной безопасности.
  • Восемьдесят процентов опрошенных в результате компьютерных взломов понесли финансовые потери.
  • Сорок четыре процента могли поделиться (и поделились) количественной оценкой своих потерь. Убытки этих 223 респондентов составили $445,848,000.
  • Как и в предыдущие годы, наиболее серьезные финансовые потери произошли в результате краж патентованной информации (26 респондентов сообщили о $170,827,000) и финансовых махинаций (25 респондентов заявили о $115,753,000).
  • Уже пятый год подряд количество респондентов, называющих свое интернетсоединение наиболее атакуемым местом, больше (74%), чем количество респондентов, называющих самым атакуемым местом свои внутренние системы (33%).
  • Тридцать четыре процента сообщили о попытках нарушения законодательства. (В 1996 г. только 16% подтвердили сообщения о взломах систем правопорядка.)
  • Перед респондентами открылся целый спектр атак и злоупотреблений. Вот лишь несколько примеров таких атак и злоупотреблений:

  • 40% заметили проникновения в систему снаружи;
  • 40% столкнулись с атаками типа "отказ обслуживания";
  • 78% обнаружили, что их служащие злоупотребляют привилегированным доступом к Интернету (к примеру, для скачивания порнографии или пиратского программного обеспечения, для использования не по прямому назначению систем электронной почты);
  • 85% нашли компьютерные вирусы.
  • На четвертый год "Обзор" задал несколько вопросов на тему электронной коммерции в Интернете. Вот некоторые результаты:

  • Девяносто восемь процентов опрошенных имеют WWW-сайты.
  • Пятьдесят два процента на своих сайтах занимаются электронной коммерцией.
  • Тридцать восемь процентов в течение последних 12 месяцев пострадали от несанкционированного доступа или от неправильного использования их Web-сайтов. Двадцать один процент опрошенных сказали, что не знают, был ли у них несанкционированный доступ или неправильное использование.
  • Двадцать пять процентов из тех, кто подтвердил факты атак, имели от двух до пяти инцидентов. Тридцать девять процентов – десять и больше инцидентов.
  • Семьдесят процентов атакованных столкнулись с вандализмом (в 2000 г. только 64%).
  • Пятьдесят пять процентов оказались подвержены "отказу от обслуживания" (по сравнению с 60% в 2000 г.).
  • Двенадцать процентов сообщили о кражах информации о сделках.
  • Шесть процентов рассказали о финансовых махинациях (всего 3% в 2000 г.).
  • Таким образом, "Обзор компьютерной преступности и вопросов безопасности" послужил проверкой действительности для промышленности и правительства. И теперь не только ИКБ предупреждает.

    1.1.3 Графики CERT

    Координационный центр CERT (CERT/CC) был сформирован Агентством перспективных исследований Министерства обороны США (DARPA, Defense Advanced Research Program Agency) в ноябре 1988 г. в ответ на нужды, установленные во время инцидентов с безопасностью Интернета. Его цель – работа с интернет-сообществом по обнаружению и разрешению инцидентов компьютерной безопасности, а также по принятию таких мер, которые воспрепятствуют появлению подобных инцидентов в будущем. В частности, его миссия состоит в том, чтобы:

  • предоставить всеобъемлющий обзор по методам атак, слабым местам в защите и по воздействию атак на информационные системы и сети; дать информацию о тенденциях и характеристиках инцидентов и уязвимых мест;
  • построить инфраструктуру профессионалов безопасности с постоянно возрастающим уровнем компетенции, которые быстро реагируют на атаки на соединенные с Интернетом системы и способны защитить эти системы от любых компромиссов в плане безопасности;
  • выработать методы по оценке, улучшению и поддержке безопасности и выживаемости сетевых систем;
  • работать с продавцами для улучшения безопасности продуктов в конфигурации "от производителя".
  • CERT/CC – часть программы жизнеспособности сетевых систем (NSS, Networked Systems Survivability) Института разработки ПО (SEI, Software Engineering Institute), Университет Карнеги Меллон (Carnegie Mellon University). Первичная цель программы NSS – гарантировать, что для сопротивления атакам на сетевые системы и ограничения наносимого ими урона используются соответствующие технологии и практики управления системами, а также обеспечить устойчивость критических служб даже в случаях успешных атак.

    На протяжении ряда лет CERT/CC собирала базу данных по обнаруженным "дырам" защиты и по произошедшим случаям нарушения безопасности. Полное собрание этих отчетов может быть найдено по следующему URL:

    http://www.cert.org/annual_rpts/index.html

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

    Данные за прошлый год помогают составить реальную картину. В период с января по декабрь 2002 г. CERT/CC получил 204,841 сообщения по электронной почте и более 880 звонков по "горячей линии", сообщающих о случаях нарушения компьютерной безопасности и запрашивающих информацию. Рис. 1.1 иллюстрирует количество зафиксированных случаев нарушения безопасности за период с 1988-го по 2001 г. и тенденцию, представленную этими данными.

    (рис 1.1) Случаи нарушения безопасности за период с 1988-го по 2001 г. (данные координационного центра CERT)

    И как нарочно, программное обеспечение продолжает становиться все более сложным. Все труднее и труднее отлавливать все ошибки в нем, и эти ошибки порождают пробелы (или уязвимые места), которыми взломщики просто счастливы воспользоваться. Рис. 1.2 показывает количество обнаруженных "дыр" в системах безопасности за период с 1995-го по 2002 г.

    (рис 1.2) Количество обнаруженных "дыр" безопасности за период с 1995-го по 2002 г. (данные координационного центра CERT)

    С января по декабрь 2002 г. CERT/CC получил 4,129 сообщений о найденных уязвимых местах и зафиксировал 82,094 случая нарушений компьютерной безопасности, произошедших за этот период.

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

    Цель этой лекции – предоставить некую базовую информацию об ИТ-безопасности. В нее включены следующие разделы:

  • основная терминология ИТ-безопасности: определения компьютерной системы, компьютерной сети, ИТ-инфраструктуры, компьютерной безопасности и информационной классификации;
  • службы компьютерной безопасности: общий обзор основных разделов, таких, как интеграция данных, конфиденциальность, идентификация и аутентификация, контроль доступа и невозможность отказа (non-repudiation);
  • обзор криптографических технологий: криптография, алгоритмы симметричных ключей, алгоритмы асимметричных ключей, гибридное решение, цифровые подписи, сертификаты с публичным ключом и криптографические стандарты публичных ключей.
  • Даже несмотря на то что представленные здесь разделы достаточно общие по своей природе (т. е. они нехарактерны только для Notes и Domino), вам следует выделить время, чтобы внимательно прочитать и понять все, поскольку эта лекция лежит в основе всего курса.

    1.2 Важная терминология

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

    1.2.1 Компьютерная система

    Поскольку этот курс серии Redbooks – нечто большее, чем просто описание новых особенностей безопасности и возможностей новых релизов Notes и Domino (т. е. версии 6.0), важно понять, что компьютерная безопасность применима к компьютерной системе как к таковой.

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

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

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

    1.2.2 Компьютерная сеть

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

    Компьютерная сеть может быть определена так:

  • сеть обрабатывающих данные узлов, которые связаны между собой с целью обмена данными.
  • коммуникационная сеть, в которой конечными инструментами являются компьютеры.
  • Понятие сеть может быть определено несколько более структурированно, так как по определению – это соединение двух или более сообщающихся сущностей. Традиционное определение требует наличия трех узлов [таких, как два компьютера и концентратор (хаб, hub) или коммутатор (switch)], но существует возможность использовать кроссированный кабель Ethernet и, следовательно, соединять две машины таким образом, что получается минимальное определение сети – два устройства.

    Для целей данного курса предполагается, что сеть состоит из более чем двух компьютеров, обменивающихся данными по одному общему кабелю. Сюда можно отнести два или более компьютера, использующие любые (или все) из устройств соединений и телекоммуникаций, такие, как концентраторы, маршрутизаторы, шлюзы, коммутаторы и т. д.

    1.2.3 ИТ-инфраструктура

    Определение ИТ-инфраструктуры намного шире, нежели определения компьютерной системы или компьютерной сети.

    В ИТ-инфраструктуру входят все компоненты, используемые для обработки и передачи информации в организации. Сюда же входят и устройства, выполняющие дополнительные сервисы, например:

  • устройства резервного копирования (накопители на магнитных лентах, ленточные автоматы и хранилища);
  • устройства безопасности (например, прокси или брандмауэры);
  • устройства специального назначения (принтеры, сканеры и т. п.).
  • Кроме того, определение ИТ-инфраструктуры включает в себя также как все компьютерные сети самой организации, так и частные сети, соединяющие организацию с организациями-партнерами (поставщиками, например). Такой тип сети называется экстранетом (extranet). В каком именно месте ИТ-инфраструктуры организации будет подключен экстранет, зависит по большей части от того, насколько организация способна контролировать его.

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

    1.2.4 Компьютерная безопасность

    Национальный институт стандартов и технологии, НИСТ (NIST, National Institute of Standards and Technology) написал книгу под названием "Введение в компьютерную безопасность: справочник НИСТ" ("An Introduction to Computer Security: The NIST Handbook", Special Publication 800-12). PDF версию этой книги можно бесплатно скачать по URL-адресу

    http://csrc.nist.gov/publicatiuons/nistpubs/800-12/handbook.pdf

    На странице 5 книги НИСТ дается следующее определение компьютерной безопасности.

    Компьютерная безопасность: защитные меры, приложенные к информационной системе, для того чтобы добиться приемлемых целей, сохраняющих целостность, пригодностьи конфиденциальность информационных ресурсов системы (включая оборудование, ПО, программное обеспечение, встроенное в ПЗУ, информацию/данные и телекоммуникации).

    Это определение несколько сложновато для восприятия, поэтому давайте сделаем маленький шажок назад. Давайте определим понятия безопасности и ИТ-безопасности в более простых терминах.

    Безопасность (общая)

    Безопасность – это нечто такое, что дает или гарантирует сохранность, например:

  • меры, предпринимаемые правительством для предотвращения шпионажа, саботажа или нападения;
  • меры, предпринимаемые бизнесменом или хозяином дома, чтобы обезопасить себя от ограбления или от нападения криминальных элементов.
  • Безопасность, таким образом, – это независимость от риска и опасности.

    Безопасность (информационных технологий)

    ИТ-безопасность – это также нечто такое, что дает или гарантирует сохранность, например:

  • меры, предпринимаемые ИТ-подразделением для предотвращения шпионажа, саботажа или нападения на их ИТ-архитектуру;
  • меры, предпринимаемые ИТ-подразделением для предотвращения искажения, повреждения или разрушения их ИТ-архитектуры.
  • ИТ-безопасность – это также набор мер, предпринимаемых ИТ-подразделением для предотвращения атак типа "отказ обслуживания" или любых других типов атак, препятствующих доступу к их ИТ-архитектуре.

    ИТ-безопасность, таким образом, – это независимость от подобных рисков и опасностей; чувство уверенности ИТ-подразделения (и компании) – в знании того, что их система безопасна.

    Компьютерная безопасность (пересмотрено)

    Термин компьютерная безопасность, который эквивалентен термину ИТ-безопасность, является огранкой всей компьютерной науки, чья первоочередная задача – обеспечение сохранности информации и предложение мер по защите от вторжения, воровства или разглашения, чтобы:

  • Информация была своевременна, точна, полна и последовательна; при передаче ее по компьютерной сети она не должна изменяться во время передачи (целостность).
  • Информация не была доступна кому бы то ни было, кроме тех людей, для которых она предназначена. При передаче по компьютерной сети она должна быть доступна только отправителю и получателю (приватность).
  • Получатель, получающий информацию, мог иметь надлежащие гарантии того, что она была создана и отправлена ее действительным создателем (подлинность).
  • Отправитель мог быть уверен в том, что люди, получающие доступ к информации, реально существуют. Когда информация передается по компьютерной сети, получатель должен быть истинным (неподдельность и идентификация).
  • Автор не мог отрицать того, что информация была создана им. При передаче информации по компьютерной сети отправитель не может скрыть того факта, что это именно он или она отправил информацию (невозможность отказа от авторства).
  • Наряду с этими концепциями также важно понимать саму природу информации, которой обладаете вы или ваша компания, концепцию информационной классификации и то, что представляет собой важная информация.

    1.2.5 Классификация информации

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

    Информацию, которую требуется обезопасить, обычно называют важной или чувствительной информацией (sensitive information). Она важна именно потому, что мы должным образом определили, что же вообще представляет собой важная информация.

    Уместная ссылка на тему безопасности – Закон о компьютерной безопасности от 1987 г., общественное право 100-235 (статья 145), 8 января 1988 г. (Computer Security Act of 1987, Public Law 100-235 (H.R. 145), January 8, 1988). Онлайновая электронная копия этого документа находится в Центре электронной защиты информации (EPIC, Electronic Privacy Information Center) по адресу:

    http://www.epic.org/crypto/csa/csa.html

    В этом документе можно найти следующее определение важной информации, находящееся в разделе 3, "Создание программы компьютерных стандартов":

    Критичная информация: (4) под термином "важная информация" подразумевается любая информация, потеря, неправильное использование, несанкционированный доступ или модификация которой могли бы неблагоприятно повлиять на национальные интересы, или на проведение федеральных программ, или же на частную жизнь граждан, охраняемую параграфом 552а пятого раздела Свода законов США (Закон об охране прав личности), но которая (информация) не определена приказом президента или актом конгресса как секретная в интересах национальной безопасности или внешней политики.

    Хотя закон о компьютерной безопасности и принят в Соединенных Штатах, а его целью является защита интересов именно этой страны, вышеприведенное определение является общеприменимым, пригодным для любой страны и любой компании в мире. Другими словами, важная информация – это такая информация, которую необходимо сохранять конфиденциальной и которая должна быть защищена от несанкционированного доступа и раскрытия. Более того, это также означает, что для защиты этой информации от уничтожения или изменения должны быть приняты соответствующие меры.

    К примеру, в банке отдельные виды бумаг (например, банкноты, бумажные векселя, валюта) защищаются с особой тщательностью. Другие виды, такие, как бланки занесения на счет и снятия со счета, заполняемые клиентами, не защищаются вообще. Фактически они просто лежат на маленьких столиках с тем, чтобы взять их мог любой.

    С информацией то же самое. Есть информация, которую не надо защищать вследствие ее общего (или публичного) содержания. С другой стороны, есть также информация, которую следует защищать очень даже хорошо, поскольку ее разглашение может оказаться небезопасным: например, привести к потере важного преимущества в конкурентной борьбе, подпортить репутацию, раскрыть конфиденциальность клиента или, в зависимости от типа бизнеса, к ранениям (или смерти) людей.

    Классификация данных играет еще одну важную роль. Помимо определения того, как информацию следует закрывать, она также определяет и то, как информацию следует открывать. Публичным данным на Web-сайте может требоваться только самая базовая безопасность, дабы воспрепятствовать их порче, но при этом доступ к ним должен быть достаточно свободным, чтобы кто угодно мог получить их без каких бы то ни было проблем.

    В зависимости от типа бизнеса (государственный сектор и правительственные учреждения имеют дело в определенных случаях с очень важной персональной информацией, в то время как организации частного сектора обычно имеют дело с важной информацией коммерческого характера) имеют место различные категории и методы классификаций. Изложенные ниже классификации данных применимы как к государственным организациям, так и к бизнесу частного сектора.

    Публичная, или неклассифицированная

    Информация рассматривается как публичная, или неклассифицированная, если ее раскрытие никоим образом не повлияет на бизнес. Достоверность данных не имеет критического характера. Отказ службы из-за атак злоумышленников является вполне приемлемым риском. В качестве примера такого рода информации можно привести публичную часть Web-сайта какого-нибудь бизнеса или любую другую информацию об этом бизнесе, доступную из других источников или посредством других средств.

    Внутренняя

    Чтобы защитить информацию, принадлежащую к категории внутренней по отношению к организации, уже требуются некоторые усилия, но, если эта информация станет общедоступной, последствия не будут критическими (они могли бы привести к потере лица или стать некоторой помехой для бизнеса, но несущественной). Достоверность данных важна, но не носит критического характера. Внутренний доступ разделен между различными группами людей согласно их различному уровню доступа. Примерами такого рода информации могут служить определенные, более закрытые части Web-сайта, справочник компании и значительная часть данных, проходящих по внутренней сети компании.

    Конфиденциальная информация

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

    Разглашение этой информации могло бы дать конкуренту важное преимущество в конкурентной борьбе, привести к крупным финансовым потерям у компании или серьезно подорвать доверие клиентов по отношению к бизнесу. Примеры такого вида информации – зарплаты служащих, конфиденциальная информация клиентов (такая, как личные адреса и информация о кредитных карточках) вместе с паролями и любой другой информацией, позволяющей вход во внутренние системы бизнеса.

    Секретная информация

    Для того чтобы держать в секрете эту категорию информации, причем не только от посторонних, но даже и от "своих" людей по отношению к бизнесу, требуются очень значительные усилия. Секретная информация обычно определяется по принципу "только необходимого знания"Принцип необходимого знания – стратегия защиты информации, при которой пользователь получает доступ только к тем данным, которые непосредственно необходимы ему для выполнения конкретно данной работы.. Достоверность данных имеет первостепенную важность. По факту разглашения такой информации должны применяться особые правила и процедуры. Примеры такого рода информации – история болезни, заверенные юридические документы, дипломатическая и военная информация.

    Сверхсекретная информация

    Требуются очень значительные усилия, чтобы любой ценой держать в секрете этот тип информации ото всех, кроме нескольких избранных людей. Сверхсекретная информация обычно определяется по принципу "сверхнадежный доступ". Достоверность данных имеет первостепенную важность. Разглашение подобное информации может нанести серьезный физический или моральный ущерб людям и даже привести к смерти. Примеры – военные данные, дипломатические секреты и медицинская информация о патологиях.

    1.2.6 Разъяснения по информационной классификации

    Относительно классификации данных следует разъяснить, что существуют отдельные моменты, когда общедоступные или неклассифицированные данные могут быть изменены таким образом, что это заденет конфиденциальность клиентов или репутацию организации.

    Например, корпоративный Web-сайт мог бы быть испорчен таким образом, что в публичной информации оказались нецензурные слова или сама эта неклассифицированная информация на нем могла быть изменена настолько, что вводила бы в заблуждение или искажала представление об оригинале. Примером последней ситуации было бы изменение предложения 30-day interest-free loan (30-дневная беспроцентная ссуда) на interest-fee loan (ссуда под проценты, обратите внимание на отсутствие ограничения по времени). В мире бизнеса, когда все больше и больше предполагается идентичность данных Web-сайта печатным данным (газеты или торговая периодика), от компании может потребоваться предоставление такой услуги или столкнуться с серьезными последствиями.

    1.3 Службы компьютерной безопасности

    Теперь, после того как был дан обзор информационной классификации и определено понятие важной информации, можно определить те службы, которые позволяют эту информацию защитить.

    Нижеследующие определения, используемые по всему курсу, можно лучше всего объяснить при помощи архитектуры безопасности IBM (IBM Security Architecture), которая основана на стандартах безопасности ISOISO – International Standardisation Organisation, Международная организация по стандартизации. (ISO Security Framework, 7498-2).

    Архитектура безопасности IBM – это модель, объединяющая службы, механизмы, объекты и функции управления безопасностью по всему многообразию сетей и платформ оборудования и программного обеспечения. Эта архитектура поддерживает стратегию обеспечения тотальной защиты приложений и информации в пределах организации.

    Описания этих служб безопасности взяты из книги "Руководство по архитектуре систем безопасности предприятия и представлению решений" (Enterprise-Wide Security Architecture and Solutions Presentation Guide, SG24-4579), онлайновую ссылку на которую можно найти на сайте IBM Redbooks. PDF-версию можно взять по следующему адресу:

    http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg244579.html

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

  • целостность данных (предотвращающие порчу информации);
  • конфиденциальность (обеспечивающие секретность);
  • идентификацию и аутентификацию (распознающие, с кем вы имеете дело).
  • контроль доступа (контролирующие, кто может получить доступ к информации и работать с ней);
  • невозможность отказа (предотвращающие возможность снятия с себя ответственности за сказанное или написанное).
  • Имейте в виду, что эти категории невзаимоисключающие; например, вы не можете осуществить контроль доступа без постановки вопросов аутентификации и целостности данных.

    1.3.1 Целостность данных

    Понятие целостности данных может быть обобщено следующим образом:

  • это состояние, при котором данные остаются такими же, какими были в оригинале, и ни случайно, ни преднамеренно не модифицируются, не изменяются и не уничтожаются [INFOSEC-99];
  • это состояние, в котором информация сохраняется неизменной во время любых операций, таких как перемещение, хранение и извлечение;
  • сохранение информации для ее использования по назначению.
  • Относительно архитектуры IBM можно также сказать, что целостность данных обеспечивает обнаружение несанкционированных изменений данных.

    Целостность данных может быть нарушена множеством способов, не все из которых обусловлены только ошибками в службах безопасности, поставляемых как часть ИТ-инфраструктуры. Для примера, нарушение целостности данных происходит по следующим причинам:

  • при наборе информации человек делает ошибки;
  • при передаче информации с одного компьютера на другой бывают ошибки передачи;
  • случаются также дефекты программного обеспечения или вирусы активно "нацеливаются" на информацию;
  • неисправности оборудования, вроде поломки жестких дисков;
  • стихийные бедствия, такие, как пожары, наводнения и землетрясения.
  • Чтобы обеспечить целостность данных, организации должны допустить как использование данных авторизированными пользователями и приложениями, так и их передачу для удаленной обработки, в то же самое время гарантируя, что эта информация не была изменена неавторизированными пользователями. Оборудование для контроля за целостностью данных может обнаружить, была ли информация изменена или нет.

    Существует множество способов для минимизирования подобных угроз целостности данных. Сюда входят:

  • регулярное резервное копирование данных;
  • контролирование доступа к информации посредством механизмов безопасности;
  • разработка таких пользовательских интерфейсов, которые препятствуют вводу некорректных данных;
  • использование при передаче данных программного обеспечения, поддерживающего обнаружение и коррекцию ошибок.
  • 1.3.2 Конфиденциальность

    Понятие конфиденциальности может быть обобщено следующим образом:

  • гарантия того, что информация не была раскрыта неавторизированным персонам, процессам или устройствам [INFOSEC-99];
  • относительно классифицированной или важной информации – степень, до которой информация не должна быть скомпрометирована, в том числе она не должна быть доступна или раскрыта неавторизированным индивидуумам, процессам или чему-нибудь (кому-нибудь) еще.
  • Относительно IBM-архитектуры можно также сказать, что конфиденциальность защищает важную информацию от раскрытия.

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

    Относительно использования криптографии для обеспечения конфиденциальности и целостности данных существуют специальные стандарты ISO (8730, 8731 и 9564).

    1.3.3 Идентификация и аутентификация

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

    Эта базовая функция уникально идентифицирует пользователей и программы, проверяет их подлинность и гарантирует индивидуальную ответственность. Другими словами, идентификация и аутентификация требуются для гарантии того, что пользователям присвоены соответствующие атрибуты безопасности (например, идентификатор, группы, роли, уровни безопасности и доверия).

    Недвусмысленная идентификация авторизированных пользователей и корректное приписывание пользователям и субъектам атрибутов безопасности являются критическими показателями для претворения в жизнь запланированных политик безопасности. В этом случае службы и средства безопасности имеют дело с определением и проверкой идентичности пользователей, определением их прав на взаимодействие с ключевыми компонентами ИТ-инфраструктуры, ключевыми компонентами компьютерной системы или ключевой информацией, которая обрабатывается программным обеспечением, запущенным на этой компьютерной системе (например, документ из базы данных Notes), на основании корректно установленных атрибутов безопасности для каждого авторизированного пользователя.

    Эффективность всего этого зависит от правильной идентификации и аутентификации пользователей.

    У аутентификации может быть много форм, таких, как:

  • Простая аутентификация, рассчитанная на отдельного пользователя компьютерной системы, которая обычно основана на пользовательском IDID – сокращение от identifier, идентификатор. и пароле.Как правило, это самая слабая форма аутентификации.
  • Аутентификация, основанная на сертификации, рассчитана на пользователей различных компонентов ИТ-инфраструктуры. В ее основе обычно лежит использование сертификатов PGP или x.509. Это более надежная форма аутентификации, и она зависит от установленной инфраструктуры работы с публичным ключом (PKI, Public Key Infrastructure).
  • Двухфакторная аутентификация, которая является таким процессом безопасности, который подтверждает подлинность пользователей, применяя два отличительных фактора – что-то, что у них есть, и что-то, что они знают. В качестве простого примера такой формы аутентификации можно было бы привести карточку банкомата (ATM, automated teller machine) и персональный идентификационный номер, ПИН (PIN, personal identification number). Сами по себе карточка банкомата и ПИН бесполезны для предполагаемого вора. Только в том случае, если оба фактора были использованы верно, идентификация личности может быть подтверждена и доступ разрешен.
  • Аутентификация поручительства равных (называемая также сетью доверия), вроде двухсторонней аутентификации распределенных приложений или трехсторонней аутентификации при работе с локальными аутентификационными серверами в распределенном окружении.
  • Аутентификация даже более важна, чем шифрование. Возможно это кажется нелогичным, но только соответствующие аутентификационные механизмы идентификации пользователя могут обеспечить базис для дополнительных функций безопасности, таких, как контроль доступа и ревизия системы. После того как методы аутентификации уже описаны, аутентификационная технология может принимать следующие формы:

  • Пароли, которые могут быть простыми ответами на базовые запросы аутентификации или использоваться для дешифрования Notes ID как базис для сложных аутентификационных схем.
  • Смарт-жетоны – легко переносимые устройства, выполняющие для своих пользователей некие специфические действия в нашем случае, как правило, идентифицирующие пользователя в системе безопасности. Смарт-жетон может выглядеть как любой обычный предмет: кредитная карта, 3,5'' дискета или даже просто кольцо (подобно кольцу Sun's Java TM). Важной характерной чертой такого объекта является то, что он для своего пользователя несет в себе некоторую секретную информацию и, когда нужно, выполняет требуемые функции. Смарт-жетон часто делается устойчивым к физическим повреждениям, что означает, что его трудно разобрать. Он защищен пользовательским паролем, так что? даже если будет украден физически, вору будет трудно выдать себя за владельца.
  • Смарт-карты – маленькие электронные устройства размером с кредитную карту. Их конструкция несколько похожа на карту телефонной предоплаты в том, что в них также содержится некоторая электроника в виде памяти и встроенной микросхемы (IC, integrated circuit) для обработки каких-то определенных данных. Основное предназначение таких смарт-карт – хранение сетевых идентификаторов (очень похоже на смарт-жетоны).
  • Для использования смарт-карты или смарт-жетона, т. е. чтобы либо вытащить из них информацию, либо добавить данные на них, требуется устройство для чтения смарт-карт или смарт-жетонов; небольшое устройство, в которое смарт-карты или смарт-жетоны вставляются. Исключение из этого правила – новые USB-жетоны, для которых требуется только наличие в машине USB-порта, что сейчас является стандартом на всех новых машинах.

    1.3.4 Контроль доступа

    Контроль доступа позволяет организации защитить свои особо важные ресурсы посредством ограничения доступа только для авторизированных и аутентифицированных пользователей. Другими словами, контроль доступа – это любой механизм, посредством которого система наделяет или не наделяет правами получить доступ к некоторым данным или выполнить какие-то действия. Обычно сначала пользователь должен войти в систему посредством некой аутентификационной системы. Дальше механизм контроля доступа проверяет, какие действия позволены пользователю, а какие нет, сверяя ID пользователя с записью из списка контроля доступа в базе данных.

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

  • Файловые разрешения, такие, как создание, чтение, редактирование или удаление на файловом сервере.
  • Программные разрешения, такие, как права на выполнение программы на сервере приложений.
  • Права для работы с данными, такие, как права извлекать или обновлять информацию в базе данных.
  • Административные права, такие, как способность давать отдельным пользователям новые полномочия доступа и/или отзывать такие полномочия у других отдельных пользователей.
  • В зависимости от окружения доступ может либо контролироваться владельцем ресурса, либо осуществляться автоматически системой посредством уровней безопасности.

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

    Функциональная цель состоит в том, чтобы гарантировать то, что безопасность ресурсов поддерживается независимо от того, находятся ли они в центральной системе, распределены или являются мобильными (как в случае с файлами и программами).

    1.3.5 Невозможность отказа

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

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

    В целом невозможность отказа применяется к пересылке электронных данных, таких, как приказ фондовому брокеру покупать/продавать фонды, указания врача по лечению конкретно данного пациента или подтверждение компании при оплате счета своему банку.

    Общей целью является способность со 100-процентной достоверностью проверить, что каждое конкретное сообщение может быть связано с конкретным индивидуумом, так же как каждая подпись на банковском чеке привязана к владельцу счета.

    1.4 Криптографические техники

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

    Несмотря на то что это сложная область, которая заключает в себе множество разнообразных и запутанных аспектов, в этом разделе мы попытались просуммировать эту информацию и предоставить краткий обзор существующих важных криптографических техник. Мы полагаем, что это полезный ресурс и рекомендуем читателю не пропускать его.

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

  • шифрование симметричным ключом (или массовое);
  • шифрование общим (публичным) ключом;
  • функции вычисления сумм (хешей) безопасности;
  • цифровые подписи и другие комбинации вышеизложенных методов;
  • механизмы сертификации.
  • Повторимся, что криптография – ее методы, способы применения, законы и математика, стоящая за всем этим, – это большой и сложный предмет, всестороннее обсуждение которого не является целью этого курса. Вместо этого мы полагаем, что читатель, желающий узнать больше по этой теме, обратиться к публикации "Часто задаваемые вопросы лаборатории RSA по сегодняшней криптографии, версия 4.1" (RSA Laboratories' Frequently Asked Questions About Today's Cryptography, Version 4.1), которую можно найти онлайн по адресу:

    http://www.rsasecurity.com/rsalabs/faq/

    1.4.1 Криптография

    Прежде чем говорить о техниках, давайте для начала определимся, что же такое криптография.

    Криптография, берем самое простое определение, – это искусство или наука сохранения информации в секрете. Хотя для новичков она кажется формой искусства, граничащей с магией, тем не менее в реальности это наука для действительно высококвалифицированных компьютерных специалистов и математиков. (Надо сказать, что для тех, кто желает глубоко погрузиться в то, как построены шифры и как они работают, серьезная ученая степень в математике была бы большим плюсом.)

    Криптография обеспечивает конфиденциальность шифрованием информации, используя алгоритм и один или более ключей. Вы можете добиться базовой криптографии и без ключей, но то, что обычно требуется, – сохранение в секрете самого алгоритма – нечто достаточно трудное в наши дни. Если используются ключи, зашифрованная версия может быть расшифрована кем-то еще, у кого есть соответствующий шифровальный ключ. Если это тот же самый ключ, то он должен держаться в секрете между двумя сторонами. (В зависимости от метода шифрования, как будет объяснено позже, это может быть и другой ключ.) Самая центральная проблема большинства криптографических приложений – управление этими ключами и содержание их в секрете.

    Алгоритмы, формирующие базу криптографии, – это шифры. Шифр – это:

  • Криптографическая система, в которой элементы открытого текстаОткрытый текст – обычный незашифрованный текст. заменяются согласно предопределенному ключу.
  • Любая криптографическая система, в которой произвольные символы или группы символов представляют элементы открытого текста стандартной длины, обычно отдельные буквы; или в которой элементы открытого текста реорганизованы; или и то и другое в зависимости от неких предопределенных правил.
  • Выражаясь проще, шифры – это замена одного блока текста другим согласно некоторым общеприменимым правилам. Простой шифр произвольно заменял бы каждую букву другой.

    Шифры определяются либо как симметричные, либо как асимметричные в зависимости от того, используют ли они один и тот же ключ для шифрования и дешифрования (симметричные шифры) или два разных ключа (асимметричное шифрование).

    Люди по своему обыкновению склонны путать симметричное и асимметричное шифрование. Главная причина этого в том, что симметричное обычно ассоциируется с четными числами (т. е. два), а асимметричное, естественно, с нечетными (т. е. один).

    Если применять такую логику (а так обычно и происходит), то люди получают неправильное представлениеОпрос 10 человек (малознакомых с алгоритмами щифрования) не дал таких результатов. Симметричное шифрование ассоциировалось с одинаковыми ключами.. Мы дадим достаточно легкий способ запомнить, что есть что в последующих разделах.

    1.4.2 Алгоритмы с симметричным ключом

    Алгоритмы с симметричным ключом – это "взрослая" версия того типа секретного кода, которым большинство из нас время от времени играло в детстве. Обычно в них используется простой алгоритм замены символов; если вы хотите зашифровать текст, то просто заменяете каждую букву алфавита другой. Например:

    Оригинал: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    Замена: G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

    В этом случае буквы в алфавите были просто сдвинуты на семь позиций влевоВ этом примере ошибка – символы сдвинуты на шесть, а не на семь позиций; суть примера от этого не пострадала., таким образом, фраза "HELLO WORLD" транслировалась бы как "NKRRU CUXRJ". Предпосылкой, на которой основан этот код, является знание и отправителем и получателем исходного ключа, количества позиций для смещения букв в нашем случае.

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

    Симметричное шифрование получило свое название из того факта, что один и тот же ключ используется как для шифрования открытого текста, так и для расшифровки соответствующего зашифрованного. Алгоритмы симметричного шифрования, используемые компьютерами, имеют те же самые составляющие, как и вышеприведенный пример, а именно механизм для шифровки/расшифровки сообщения (известный также как шифр) и общий секрет (ключ), который позволяет получателю расшифровать зашифрованное сообщение.

    Определение надежности симметричного шифра

    Надежность шифра с симметричным ключом подобного типа диктуется целым рядом факторов. Первый из них – эффективная рандомизацияРандомизация – это процесс распределения результата случайным образом. выхода, чтобы два связанных сообщения с открытым текстом не давали после зашифровывания похожих результатов. Степень рандомизации на криптографическом языке обычно называется энтропией.

    Наш детский пример в этом плане совершенно неудачен, поскольку каждая буква при шифровании всегда преобразуется в один и тот же результат, и еще потому, что он совершенно не шифрует пробелы. Даже детсадовский криптоаналитик способен достаточно легко расколоть этот код, зная, что любое однобуквенное слово, вероятнее всего, "A"Действительно, в английском языке наиболее распространенным в тексте однобуквенным словом является неопределенный артикль "A". В русском языке таким словом, вероятнее всего, будет слово "И" или "В". Примеч. пер. См. также: Конан-Дойль А. Тайна пляшущих человечков. Примеч. науч. ред..

    Еще одна причина, по которой наш пример столь неудачен, состоит в том, что, если по каким-либо причинам алгоритм известен (в нашем случае алгоритм: "сдвинуть каждую букву на семь позиций вправо"), человек, знающий его, легко может расшифровать каждое последующее сообщение.

    Именно здесь мы подоши к важности концепции ключа. В алгоритмах, основанных на ключе, для его защиты предпринимаются определенные усилия. Такой подход вполне допускает рассмотрение и изучение криптографического алгоритма посторонними. Хороший алгоритм – это такой алгоритм, который можно понять, который эффективен и который нельзя использовать для шифрования без соответствующего ключа. Алгоритмы, о которых мы расскажем далее в этой лекции, все обладают этими чертами.

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

    Если в этом плане алгоритм шифрования не имеет недостатков, другим главным фактором, влияющим на его надежность, будет размер пространства ключа; т. е. общее количество всевозможных значений ключа. Опять же наш простенький пример будет расколот очень быстро, потому что в нем есть только 25 возможных позиций, на которые можно сместить ключи. Мы могли бы очень легко провести атаку грубой силойАтака грубой силой (brute force attack) – атака методом перебора подряд всевозможных комбинаций значений., просто перебирая по очереди каждый ключ до тех пор, пока не получили бы такое сообщение, которое имело бы смысл.

    Реально существующие симметричные шифры используют числовые ключи размером, как правило, от 40 до 256 бит. Даже для самых маленьких из них атака грубой силой должна была бы перебрать в среднем 2 в 39-й степени, или что-то около 550,000,000,000 возможных значений ключей. Каждый дополнительный бит в размере ключа удваивает пространство ключа.

    Различия симметричного и асимметричного шифров

    Некоторые люди испытывают затруднения при запоминании, какой тип шифрования симметричный, а какой асимметричный. Чтобы помочь, давайте дадим инструмент для запоминания. Уделите внимание рис. 1-3.

    (рис 1.3) Симметричный шифр против асимметричного

    В этом нашем мнемоническом примере предположим, что ключи имеют какой-то определенный вес. Вес секретного ключа x и вес открытого ключа x + 1 (таким образом, у них разные веса). В случае асимметричного шифрования для зашифровки и расшифровки используются два различных ключа и, таким образом, на весах ключи не будут сбалансированы, весы будут выглядеть асимметричными. Симметричное же шифрование использует только открытый ключ, который один и тот же как для зашифровки, так и для расшифровки. Соответственно вес ключей одинаков, и на весах они будут сбалансированы, весы будут выглядеть симметричными.

    Пример алгоритма с симметричным ключом

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

    Конечно, можно было бы использовать A, B и C для схематического отображения потока информации между двумя точками. Однако поскольку этот поток информации вовлекает людей, лучше все-таки дать им нормальные имена. Итак, двумя нашими персонажами, которых с этого момента мы будем использовать для примеров, будут Алиса и Боб. По мере необходимости будут вводится новые персонажи, но в настоящий момент давайте сконцентрируем наше внимание на Бобе и Алисе.

    Эти персонажи в течение многих лет использовались для демонстрации примеров того, как работают техники шифрования, и, как и многие другие выдуманные герои-долгожители, Боб и Алиса имеют свою собственную занимательную биографию. Эту биографию можно найти в статье под названием "Послеобеденная беседа Боба и Алисы" ("The Alice and Bob after-dinner speech"), которую Джон Гордон (John Gordon) зачитал на семинаре в Цюрихе в апреле 1984 г. Эта статья находится по адресу:

    http://www.conceptlabs.co.uk/alicebob.html

    Итак, вернемся к нашему примеру с Бобом и Алисой. Скажем, Алиса хочет послать Бобу сообщение, хочет, чтобы оно было отправлено защищенным, и хочет, чтобы Боб и только Боб мог прочитать его. Рис. 1.4 иллюстрирует этот пример, обмен происходит слева направо.

    (рис 1.4) Пример алгоритма с симметричным ключом

    Вот что происходит в нашем примере:

  • Сообщение Алисы шифруется секретным ключом.
  • Боб получает зашифрованное сообщение Алисы; видит, что оно зашифровано, и хочет прочитать его.
  • Боб расшифровывает сообщение, используя тот же самый секретный ключ, что использовался и при шифровании.
  • Теперь после расшифровки сообщение может быть прочитано Бобом.
  • Замечание. В этом примере Алиса и Боб знают друг друга достаточно хорошо. По этой причине в нем предполагается, что Алиса получила – безопасно – копию секретного ключа, использованного для шифрования сообщения.

    Виды симметричных шифров

    Есть два вида симметричных шифров: блочные и потоковые. Блочные шифры оперируют с блоками данных и используются, как правило, для шифрования документов и баз данных. Потоковые шифры работают с битовыми потоками и обычно используются для шифрования коммуникационных каналов.

    Общеизвестные блочные шифры

  • DES (Data Encryption Standard, стандарт шифрования данных) – федеральный стандарт обработки информации (FIPS, Federal Information Processing Standard) 46-3 описывает алгоритм шифрования данных (DEA, Data Encryption Algorithm). DEA также определен в стандарте ANSIANSI – American National Standards Institute, Американский институт национальных стандартов. X3.92. DEA имеет 64-битовый размер блока и во время выполнения использует 56-битовый ключ (из полного 64-битового ключа вырезаны 8 бит четности).
  • 3DES (Triple-DES, тройной DES) – определен в стандарте ANSI X9.52 и является тройным применением DES, где существует два варианта: DES-EDE и DES-EEE. Все очень просто: DES-EDE означает тройное применение DES, где идущими друг за другом процессами шифрования (Encryption), расшифровывания (Decryption) и еще одного шифрования (Encryption) используется три разные ключевые опции. DES-EEE означает три последовательных шифрования (Encryption, Encryption, Encryption).
  • AES (Advanced Encryption Standard, улучшенный стандарт шифрования). Появившись как FIPS PUB 197 от NIST и преемник DES, AES поддерживает размеры ключа в 128, в 192 и в 256 бит, в отличие от 56-битовых ключей, предлагаемых DES. Алгоритм Rijndael, изобретенный Джоанной Дэйемен (Joan Daemen) и Винсентом Рижменом (Vincent Rijmen), был выбран в качестве стандарта. Со временем многие проекты планируется перевести на AES по двум причинам: он предлагает 128-битовый размер ключа и является федеральным стандартом.
  • RC2 [алгоритм шифрования на ключе переменной длины Рона Ривеста (Ron Rivest); "RC" обозначает "Ron's Code" ("Код Рона"), хотя официально за ним значится "Rivest Cipher" ("Шифр Ривеста"). Он предлагался как замена DES]. RC2 имеет 64-битовый размер блока и работает в программном обеспечении примерно в два-три раза быстрее, чем DES.
  • Blowfish [создан Брюсом Шнайером (Bruce Schneier) из компании Counterpane Systems]. Это 64-битовый блочный шифр; ключ имеет переменную длину (с максимальной длиной 448 бит) и используется для генерации нескольких массивов подключей. Этот шифр был разработан специально для 32-битовых машин и работает значительно быстрее, чем DES.
  • Twofish [создан Брюсом Шнайером (Bruce Schneier) из компании Counterpane Systems]. Был финалистом тендера на AES, основан на алгоритме Шнайера Blowfish. Это быстрый и универсальный шифр, не требующий большого количества памяти. Тем не менее структура шифра очень сложна и, следовательно, трудноанализируема.
  • IDEA [International Data Encryption Algorithm, интернациональный алгоритм шифрования данных, создатели Хьюэйжиа Лай (Xuejia Lai) и Джеймс Мэсси (James Massey)]. Изначально назывался PES – Proposed Encryption Standard (Предлагаемый стандарт шифрования). Позднее он был улучшен и назван IPES, а затем переименован в IDEA; известен тем, что является частью PGP. Это 64-битовый итеративный блочный шифр со 128-битовым ключом. Процесс шифрования состоит из восьми сложных этапов, но скорость IDEA в программном обеспечении сравнима со скоростью DES.
  • CAST [канадский алгоритм, созданный Карлайл Адамс (Carlisle Adams) и Стэффордом Таваресом (Stafford Tavares)]. Это популярный 64-битовый шифр, допускающий размеры ключа вплоть до 128 бит. Название CAST происходит от первых букв его первоначальных изобретателей, Carlisle Adams и Stafford Tavares. CAST-128 принадлежит компании Entrust Technologies, но является бесплатным как для коммерческого, так и для некоммерческого использования. CAST-256 – бесплатное доступное расширение CAST-128, которое принимает размер ключа до 256 бит и имеет размер блока 128 бит. CAST-256 был одним из первоначальных кандидатов на AES.
  • Общеизвестные потоковые шифры

  • RC4 (алгоритм шифрования на ключе переменной длины, созданный Роном Ривестом из RSA Security). Используется для безопасных коммуникаций точно также, как происходит шифрование трафика на защищенных Web-сайтах, использующих протокол SSL. RC4 – шифр с размером ключа вплоть до 2048 бит (256 байт).
  • SEAL [Software Efficient Algorithm, программно-эффективный алгоритм, созданный в 1993 г. Филом Рогэвеем (Phil Rogaway) и Доном Копперсмитом (Don Coppersmith) из IBM]. Этот алгоритм защищен патентом США 5,454,039. Шифр основан на 32-битовых словах, шифрует со скоростью примерно 4 цикла на байт и использует для шифрования 160-битовый ключ. Считается очень надежным.
  • WAKE [World Auto Key Encryption algorithm, всемирный алгоритм шифрования на автоматическом ключе Дэвида Дж. Веллера (David J Wheeler)]. Это система шифрования для среднескоростной шифровки блоков с высокой степенью безопасности. Предназначена для того, чтобы быть быстрой на большинстве компьютеров, при работе требуется использование таблицы повторений и наличие большого пространства состояний.
  • Замечание. Одна маленькая интересная подробность: RC1 никогда не сходил дальше ноутбука Ривеста, а RC3 был сломан в RSADSI еще на этапе разработки.

    Достоинства алгоритмов на симметричном ключе

    Как мы показали, в настоящее время используется целый ряд шифров на симметричном ключе. Помимо тех, что уже были упомянуты, дальше в курсе мы еще опишем те, которые используются в Notes, Domino и в других совместных продуктах Lotus. Сейчас же давайте поговорим о тех достоинствах, которые присущи всем этим алгоритмам на симметричном ключе.

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

    Недостатки алгоритмов на симметричном ключе

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

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

    Вопросы коммерческого использования и экспорта

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

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

    Все они подпадают под ограничения на экспорт Национального агентства безопасности США (NSA, National Security Agency). Точное действие этих ограничений не так просто, но суть их в следующем:

  • любое экспортируемое американской компанией программное обеспечение, в котором присутствуют криптографические технологии, должно идти под специальной экспортной лицензией;
  • если в продукте содержится код симметричного шифрования, который можно использовать для шифрования произвольного потока данных, лицензия позволит экспорт без ограничений только в том случае, если размер ключа меньше, чем величина, предопределенная NSA.
  • Это означает то, что для того, чтобы экспортировать полноценную криптографию, компания должна иметь специальную лицензию на каждого клиента. Такие лицензии выдаются только для таких клиентов, которые рассматриваются правительством США в качестве дружественных, таких, как крупные банки и дочерние образования американских компаний.

    Когда писалась предыдущая книга серии Redbooks, пороговая длина ключа для обычной экспортной лицензии составляла 40 бит. С тех пор несколько испытаний Проект управления композитными приложениями 29 показали, что при помощи относительно современных компьютерных мощностей на 40-битовый ключ вполне можно провести успешную атаку обычным перебором вариантов. Заявление правительства открыло дверь для использования более длинных ключей, сначала до 56 бит, а в перспективе до любой длины, когда компьютерная индустрия разработает эффективную технологию восстановления ключа. (Восстановление ключа означает, что ключ сессии может быть найден по другому известному ключу, мастер-ключу); 56 бит, может, и не выглядят намного лучше, чем 40, но фактически их в 2 в 16-й степени, или в 65,536 раза, труднее взломать.

    Дополнением к этому стало заявление Бюро управления экспортом коммерческого департамента от 18 ноября 1998 г., которое внесло изменения в правила управления экспортом для экспорта и реэкспорта товаров и программного обеспечения полноценного шифрования. Длины ключей сейчас: полных 56 бит для DES и эквивалентных ему "массовых" шифров (т. е. RC2, RC4, RC5 и CAST) и 1,024 бита для RSA асимметричных ключей по всем направлениям, кроме Кубы, Ирана, Ирака, Ливии, Северной Кореи, Судана и Сирии. С той оговоркой, что восстановление ключей невозможно. Аналогично криптоключами без ограничений по силе могут пользоваться американские дочерние предприятия, страховые компании, фирмы, профилирующиеся в сфере медицины и здоровья, интернет-магазины при условии, что у них нет представительств ни в одной из вышеперечисленных стран.

    Далее, 6 июня 2002 г. Бюро промышленности и безопасности (BIS, Bureau of Industry and Security) опубликовало постановление, которое корректировало Положения по управлению экспортом (EAR, Export Administration Regulations) так, чтобы отразить изменения, сделанные в списке Вассенаарских договоренностейВассенаарские договоренности – соглашение стран-производителей/экспортеров вооружений и соответствующих технологий о совместной глобальной системе контроля за распространением обычных вооружений, товаров и технологий двойного применения с целью противостояния угрозам международной и региональной безопасности и стабильности. Образован в 1994 г. в городе Вассенаары (Нидерланды) после упразднения КОКОМа. Россия входит с 1995 г. по технологиям двойного примененияТехнологии двойного применения – технологии, которые могут быть использованы при создании как вооружения и военной техники, так и продукции гражданского назначения. а также чтобы обновить и уточнить другие положения EAR, касающиеся контроля за экспортом в области шифрования.

    Криптографические товары и программное обеспечение для массового рынка с длиной симметричного ключа свыше 64 бит, подпадающие под номера 5A992 и 5D992 классификации экспортного контроля (ECCNs, Export Control Classification Numbers), могут экспортироваться и реэкспортироваться без лицензии (NLR, No License Required) после 30-дневного рассмотрения BIS. Это положение корректирует категорию 5, часть II (информационная безопасность) списка контроля коммерции (CCL, Commerce Control List) и позволит экспорт и реэкспорт оборудования, определяемого ECCN 5B002, согласно License Exception ENC.

    Для дополнительной информации здесь приведен полный список ресурсов, способных пролить некоторый свет на положения по экспорту и те двусторонние соглашения, которые действуют в настоящий момент:

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

    http://w3.access.gpo.gov/bis/fedreg/ear_fedreg.html#67fr38855

  • информационный листок на тему управления экспортом коммерческих продуктов, содержащих криптографию, можно найти по следующему адресу:

    http://www.bxa.doc.gov/encryption/EncFactSheet6_17_02.html

  • пояснения по Вассенаарскому соглашению и тому, что входит в них, можно найти по следующему адресу:

    http://www.bxa.doc.gov/Wassenaar/Default.htm

  • 1.4.3 Алгоритмы с асимметричным ключом

    Отталкиваясь от знакомых аналогий, нематематик может интуитивно понять, как работает алгоритм симметричного ключа. Однако алгоритмы асимметричного ключа непрофессионалу доступны намного хуже. Фактически иногда они выглядят скорее как магия, нежели как технология. На самом деле это не так. Для них требуется немного больше объяснений, чем для алгоритмов на симметричном ключе, но тем не менее любой, кто внимательно прочитает нижеследующее, легко справится с ними.

    Основы алгоритмов на асимметричном ключе

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

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

    Давайте вернемся к Бобу и Алисе и посмотрим, что же происходит при отправке защищенного при помощи алгоритма на асимметричном ключе сообщения. На рис. 1.5 приведен пример, где обмен происходит слева направо.

    (рис 1.5) Пример алгоритма с асимметричным ключом: отправка защищенного сообщения по электронной почте

    Вот что происходит в нашем примере:

  • Алиса хочет послать Бобу еще одно сообщение;
  • сообщение Алисы зашифровывается при помощи открытого ключа Боба (с тем, чтобы его можно было расшифровать только закрытым ключом, находящимся в единоличном владении Боба);
  • Боб получает Алисино зашифрованное сообщение, видит, что оно зашифровано, и хочет прочитать его;
  • с помощью своего закрытого ключа Боб дешифрует сообщение;
  • после дешифровки теперь сообщение может быть прочитано Бобом.
  • Замечание. В этом сценарии нет необходимости в обмене закрытыми ключами и, таким образом, весь процесс работы с ключами проще.

    Виды асимметричных шифров

    Асимметричные шифры еще называют механизмами обмена ключами. Самые известные из них – следующие:

  • Обмен ключами Диффи–Хелмана (D-H, Diffie–Hellman) – это криптографический протокол, который позволяет двум собеседникам (условно названным Алисой и Бобом, как мы видели выше) установить связь на секретном ключе по небезопасному коммуникационному каналу. После того как общий секретный ключ был установлен, Алиса и Боб могут использовать его для условного шифрования своих тайных коммуникаций. Обмен ключами Диффи–Хелмана был изобретен в 1975-м или 1976 г. во время совместной работы Уитфилда Диффи (Whitfield Diffie), Мартина Хелмана (Martin Hellman) и Ральфа Меркле (Ralph Merkle) и стал первым практическим методом для установления режима секретности по незащищенному коммуникационному каналу. На самом деле открыт он был еще за несколько лет до того Малькольмом Уильямсоном из компании GCHQ в Англии, но GCHQ решило не раскрывать его вплоть до 1997 г., когда это уже никак не могло повлиять на исследования. В скором времени компанией RSA был разработан метод, который стал первой публично анонсированной реализацией криптографии открытого ключа, использующей асимметричные алгоритмы.
  • Ривест–Шамир–Адлеман (RSA, Rivest–Shamir–Adleman). Этот асимметричный алгоритм открытого ключа широко используется в электронной коммерции. Сам алгоритм был описан в 1977 г. Роном Ривестом (Ron Rivest), Ади Шамиром (Adi Shamir) и Леном Адлеманом (Len Adleman); буквы RSA – это заглавные буквы их фамилий. Клиффорд Кокс (Clifford Cocks), британский математик, работающий на GCHQ, в 1973 г. во внутреннем документе компании описал эквивалентную систему. Его открытие, однако, не было раскрыто, опять же вплоть до 1997 г., по причине его сверхсекретной природы. Алгоритм был запатентован в 1983 г. в Соединенных Штатах Америки Массачусетским технологическим институтом (MIT, Massachusetts Institute of Technology). Срок действия патента закончился в сентябре 2000 г. Поскольку алгоритм был опубликован до своего патентования, он не мог быть запатентован в других странах. На RSA действуют те же ограничения на экспорт за пределы США, что и на симметричные алгоритмы. Только в этом случае фактически ключом является очень большое число. По очень приблизительной оценке, размер RSA ключа в 1024 бита соответствует полноценному симметричному ключу в 64 бита и более.
  • Криптография эллиптической кривой (ECC, Elliptic Curve Cryptography). Подобно D-H и RSA, ECC является классом криптографических алгоритмов, способных выполнять асимметричное шифрование. И точно так же, как в D-H и RSA, обладание одним ключом не дает достаточной информации для определения другого ключа. Существует несколько слегка отличных друг от друга версий криптографии эллиптической кривой, и все они основаны на общеизвестной трудности решения задачи дискретного логарифма для группы эллиптических кривых в некоторой конечной области. ECC считается самым сильным асимметричным алгоритмом при заданной длине ключа, и поэтому он может быть особенно полезен для соединений, имеющих очень жесткие ограничения по полосе пропускания. Занижены также требования и к размеру ключа. Давайте посмотрим: NIST и ANSI X9 установили минимальный размер ключа в 1024 бита для RSA и 160 бит для ECC, что соответствует 80-битовому ключу симметричного блочного шифра. NIST опубликовал список рекомендованных эллиптических кривых для защиты пяти различных размеров симметричных ключей (а именно 80, 112, 128, 192 и 256).
  • Достоинства алгоритмов на асимметричном ключе

    Как мы показали, в настоящее время используется целый ряд алгоритмов на асимметричном ключе. Помимо тех, что уже были упомянуты, дальше в курсе мы еще опишем те, которые используются в Notes, Domino и в других совместных продуктах Lotus. Сейчас же давайте поговорим о тех достоинствах, которые присущи всем алгоритмам на асимметричном ключе.

    Алгоритмы асимметричного ключа делают более легким управление ключами благодаря тому, что не надо искать безопасный канал для передачи копии ключа конечному получателю. Закрытый ключ остается закрытым, а открытый – открытым. Другими словами, большим преимуществом этого механизма над механизмом симметричного ключа является то, что больше нет того секрета, которым требуется делиться. Фактически совершенно не имеет значения, у кого имеется открытый ключ, поскольку он бесполезен без соответствующего закрытого.

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

    Недостатки алгоритмов на асимметричном ключе

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

    1.4.4 Гибридный алгоритм

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

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

    Кроме того, симметричный ключ обычно генерируется каждый раз как новый и называется "сессионным" ключом. Он действителен только на то время, пока два человека обмениваются сообщениями друг с другом. Этот протокол используется практически во всех "шифраторах открытым ключом", таких, как Notes, SSL, S/MIME. Он обеспечивает высокую производительность и легкость реализации.

    Пример гибридного алгоритма

    Давайте сделаем паузу и рассмотрим, как работает гибридное решение. Для этого мы продолжим рассматривать общение между Алисой и Бобом. Пример изображен на рис. 1.6, обмен происходит слева направо.

    (рис 1.6) Пример гибридного решения: отправка защищенного сообщения по электронной почте

    В нашем примере происходит следующее. Сначала на одном конце:

  • Алиса желает послать Бобу еще одно сообщение;
  • сообщение Алисы шифруется при помощи закрытого ключа;
  • затем Алиса открытым ключом Боба (таким, что только закрытый ключ Боба, который есть у Боба и только у него одного, может расшифровать его) зашифровывает закрытый ключ (в таком сценарии, как мы уже говорили, он обычно зовется сессионным, так как всякий раз при отправлении сообщения генерируется новый, отличный от старого ключ);
  • Алиса отсылает Бобу зашифрованное сообщение и зашифрованный ключ.
  • На другом конце:

  • Боб получает зашифрованное сообщение Алисы и хочет его прочитать;
  • Боб своим закрытым ключом дешифрует закрытый (сессионный) ключ, затем он использует этот дешифрованный ключ (тот же самый, что и тот, которым сообщение зашифровывалось) для расшифровывания Алисиного сообщения;
  • теперь расшифрованное сообщение может быть прочитано Бобом.
  • 1.4.5 Цифровые подписи

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

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

    Итак, для чего же можно использовать такое сообщение от Алисы? Ответ следующий – авторизация. Поскольку только Алиса имеет доступ к закрытому ключу, при помощи которого было создано это сообщение, оно может прийти от нее и только от нее. В этом состоит понятие цифровой подписи.

    Цифровые подписи участвуют в обеспечении целостности, аутентификации и идентификации, в определении авторства (невозможность отказа), в то время как алгоритмы и симметричного и асимметричного ключей, которые мы обсуждали до этого момента, касались только конфиденциальности.

    Хеш-функции

    Для того чтобы предоставить эти дополнительные услуги, нам потребуется ввести новый вид криптографического алгоритма – хеш-функции (еще называемые свертками сообщений).

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

    Еще, хеш-функции называются "функциями" потому, что они принимают на вход сообщение и возвращают результат. Более точно, они используются для индексирования исходного содержания или ключа сообщения или блока данных, а затем всякий раз при получении данных, относящихся к этому содержанию или ключу. У хеш-функции безопасности есть три основные характеристики:

  • Она принимает сообщение любого размера и генерирует из него маленький, фиксированного размера блок данных (называется сверткой сообщения). Повторное выполнение хеш-функции с теми же самыми исходными данными в результате всегда дает ту же самую свертку. Это называется отпечатком сообщения.
  • Это непредсказуемая операция. То есть даже небольшое изменение в исходном сообщении может оказать непредсказуемо большое влияние на конечную свертку. Или скажем по-другому, если используется хорошая хеш-функция, даже изменение 1 бита сообщения должно повлечь изменение половины битов на ее выходе.
  • Для всех намерений и целей она необратима. Другими словами, из данной свертки никак невозможно получить исходные данные.
  • Для чего же используется тогда хеш-функция безопасности? Хорошо, ее основное предназначение – отслеживать, были ли изменения в отдельных частях данных или нет. В комбинации с RSA это используется для создания цифровой подписи.

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

    В настоящее время применяется два хеш-алгоритма безопасности. Наиболее распространенный из них – MD5, который был разработан компанией RSA Data Security, Inc. и используется в Notes. Он создает 128-битовую свертку из входящих данных любой длины и описан в RFC1321.

    Другой алгоритм, который становится все более и более популярным, – разработанный для правительства США Хеш-стандарт безопасности (SHS, Secure Hash Standard). Он создает 160-битовую свертку, что немножко больше, чем MD5.

    Пример цифровой подписи

    Давайте сделаем паузу и рассмотрим, как же работают цифровые подписи. Пример показан на рис. 1.7. Однако в этом примере обмен происходит справа налево, а не слева направо, как было в предыдущих примерах, так как Боб отвечает на сообщения Алисы.

    В нашем примере происходит следующее. Сначала на одном конце:

  • Боб хочет ответить на сообщение Алисы;
  • Боб составляет сообщение, предназначенное Алисе (чтобы было проще, пусть сообщение не требуется шифровать, и тогда мы сможем сосредоточиться исключительно на функциональности цифровой подписи);
  • Боб вычисляет свертку своего сообщения;
  • Боб шифрует свертку своим закрытым ключом;
  • Боб отправляет сообщение и зашифрованную свертку.
  • (рис 1.7) Пример цифровых подписей

    На другом конце:

  • Алиса получает сообщение Боба и зашифрованную свертку (поскольку они приходят вместе, ей приходится отделять свертку от самого сообщения);
  • Алиса вычисляет новую свертку сообщения, полученного ею от Боба (хеш-алгоритм дает всегда одинаковые значения для одного и того же документа);
  • Алиса расшифровывает полученную свертку открытым ключом Боба (это можно сделать, так как между открытым и закрытым ключами Боба существует взаимно-однозначное соответствие);
  • Алиса сравнивает вычисленную ею свертку с полученной.
  • Таким образом:

  • Если обе свертки совпадают, значит, сообщение: аутентифицированно (оно пришло от Боба) и целостно (помним, что изменение даже 1 бита изменило бы по меньшей мере половину битов свертки).
  • Это может быть использовано также для подтверждения авторства (невозможность отказа). Из-за взаимно-однозначного соответствия между открытым и закрытым ключами Боба Боб не сможет утверждать, что это не он посылал сообщение.
  • Если свертки не совпадают, значит, либо сообщение было изменено во время пересылки (недостаток целостности), либо не Боб, а кто-то другой послал его (сообщение неаутентифицированно и не может быть использовано для целей подтверждения авторства).
  • Виды хеш-функций

    Основной интерес для нас представляет набор хеш-функций (называемых также алгоритмами сообщение-свертка), которые мы описали, а именно MD5 и SHA-1. Для исторической справки и для того, чтобы объяснить необходимость существования MD5 и SHA-1, мы упомянем также MD2, MD4 и SHA.

  • MD2 и MD5 – алгоритмы типа сообщение-свертка, разработанные Ривестом, буква R в аббревиатуре RSA. Они предназначены для приложений с цифровыми подписями, в которых большое сообщение должно быть "сжато" шифратором до того, как будет подписано закрытым ключом. Все эти алгоритмы берут сообщение произвольной длины и генерируют его 128-битовую свертку. Описания и исходные коды этих алгоритмов можно найти в интернет-стандартах RFC 1319-1321. В отличие от них алгоритм хеша безопасности (SHA, Secure Hash Algorithm) был разработан NIST и определен в стандарте хеша безопасности (SHS, FIPS 180, Secure Hash Standard).
  • MD2 был разработан в 1989 г. Сообщение сначала дополняется пробелами, так, чтобы его длина в байтах была кратна 16. Затем к сообщению приписывается 16-байтовая контрольная сумма и по всему этому вычисляется хеш-значение. Было обнаружено, что, если опустить вычисление контрольной суммы, в MD2 могут возникнуть нестыковки. Это, пожалуй, единственное, что известно о результатах криптоанализа MD2.
  • MD5 был разработан в 1991 г. По большей части это MD4 с "поясом безопасности", и хотя он слегка более медленный, чем MD4, зато более безопасный. Алгоритм состоит из четырех проходов, каждый из которых слегка отличается по своему дизайну от MD4.
  • SHA-1 – это ревизия SHA, который был опубликован в 1994 г. Ревизия подправила неопубликованный недочет в SHA. По своему дизайну он очень похож на хеш-функции семейства MD4. SHA-1 описан также в стандарте ANSI X9.30 (часть 2). Алгоритм берет сообщение длиной менее 264 бит и создает по нему 160-битовую свертку. Этот алгоритм немного медленнее, чем MD5, но больший размер свертки сообщения делает его более надежным против атак грубой силой и методом перестановок.
  • Относительно используемых хеш-алгоритмов остаются открытыми несколько вопросов, на которые мы с удовольствием ответим. Если используются MD2 и MD5, значит ли это, что были и MD1, MD3 и MD4? Ответ: были.

    MD (первоначальный алгоритм Message Digest, разработанный RSADSI) был запатентован и никогда не использовался. MD3 был заменен MD4 еще даже до того, как был опубликован или начал использоваться. MD4 создан был, но в двух из трех его проходов были обнаружены слабые места. Они не разбивали алгоритм, но заставили Рона Ривеста достаточно понервничать, чтобы он решил укрепить его, и так был создан MD5, задокументированный в RFC 1321.

    Хорошо, ну а если есть SHA-1, был ли SHA-0? Ответ: да. SHA – это стандартная хеш-функция NIST. Он был изобретен NSA в 1993 г. в основном под влиянием MD4. В 1995-м NSA изменило стандарт (новая версия называется SHA-1; старая же сейчас имеет название SHA-0). Агентство утверждало, что это изменение было сделано с целью исправления одного недостатка, хотя никаких подтверждений этому дано не было.

    Да, и еще, время от времени в кругах специалистов безопасности и в различных дискуссиях на тему безопасности вам доводилось слышать термин "MAC". В таком контексте MAC (message authentication code) – это не что иное, как просто зашифрованный хеш. Не стоит путать его с уровнем контроля медиадоступа (Media Access Control Layer) в семиуровневой сетевой модели OSI.

    Вопросы доверия цифровым подписям

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

    Если компьютер скомпрометирован или если скомпрометирован закрытый ключ человека, вполне возможно выдать себя за этого человека и поставить за него цифровую подпись. Таким образом, доверие должно быть направлено на подписывающий компонент (машина, код и т. д.).

    Исходя из общей безопасности подписывающего устройства (т. е. компьютера пользователя) и практики помещения ключей на депонент (где они технически доступны администраторам и менеджерам организации), цифровые подписи представляют не большую юридическую ценность для судебной практики. Следовательно, вопрос доверия цифровым подписям в настоящее время следует уравновесить пониманием того факта, что они не способны дать полной и абсолютной гарантии при определении авторства.

    1.4.6 Сертификаты открытого ключа

    Мы уже видели, каким образом криптография открытого ключа решает проблему необходимости передачи секрета от отправителя к получателю. И хотя ключ все равно еще надо посылать, но это уже открытый ключ, который можно видеть кому угодно, поскольку он полезен для взломщика только в том случае, если у последнего есть и соответствующий закрытый ключ. Однако это обходит стороной один критический элемент доверия: как вы можете быть уверены в том, что открытый ключ действительно пришел от того, от кого вы думаете?

    Одно решение состоит в том, чтобы передавать открытые ключи только тем, кого вы знаете. Боб и Алиса знают друг друга долгое время (фактически люди уже начали разговаривать), поэтому они могли бы обменяться своими открытыми ключами на дискетах. Но для других случаев жизни вам понадобится некий способ быть уверенными в том, что открытый ключ является аутентифицированным.

    Механизмом для реализации этого является сертификат открытого ключа. Это такая структура данных, в которой содержится открытый ключ плюс информация о его владельце, все подписанное цифровой подписью доверенной третьей стороны. И сейчас, когда Алиса хочет выслать Бобу свой открытый ключ, на самом деле она посылает сертификат. Боб получает сертификат и проверяет подпись. Если подпись подписавшего принадлежит тому, кому он доверяет, значит, можно принять за истину, что это действительно ключ Алисы.

    Сертификаты в реальной жизни намного сложнее по сравнению с этим. Описания того, как они используются в различных ситуациях, приведены в последующих лекциях этого курса в разделах, подробно рассказывающих об SSL и системе безопасности Notes.

    1.4.7 Стандарты криптографии открытого ключа

    Во всех этих криптографических инструментах и техниках немного пользы набора соответствующих, хорошо согласованных стандартов для обеспечения базиса для функциональной совместимости. Эти стандарты называются стандартами криптографии открытого ключа (PKCS, Public Key Cryptographic Standards).

    PKCS является набором неофициальных независимых от поставщика стандартов, разработанных в 1991 г. компанией RSA Laboratories при участии Apple, Digital, Lotus, Microsoft, MIT, Northern Telecom, Novell и Sun. С самого момента своего опубликования в июне 1991 г. PKCS стал частью нескольких стандартов и продуктов, включая Notes и Domino.

    Эти стандарты охватывают RSA шифрование, соглашение о ключах Диффи–Хелмана, шифрование паролем, синтаксис расширенного сертификата, синтаксис криптографического сообщения и синтаксис запроса сертификата, а также выделяемые атрибуты.

    В настоящее время определены следующие стандарты:

  • PKCS #1: стандарт шифрования RSA;
  • PKCS #2: (см. примечание ниже);
  • PKCS #3: стандарт соглашения о ключах Диффи–Хелмана;
  • PKCS #4: (см. примечание ниже);
  • PKCS #5: стандарт шифрования паролем;
  • PKCS #6: стандарт синтаксиса расширенного сертификата;
  • PKCS #7: стандарт синтаксиса криптографического сообщения;
  • PKCS #8: стандарт синтаксиса информации о закрытом ключе;
  • PKCS #9: типы выделяемых атрибутов;
  • PKCS #10: стандарт синтаксиса запроса сертификата;
  • PKCS #11: стандарт интерфейса криптографического жетона;
  • PKCS #12: стандарт синтаксиса обмена персональной информацией;
  • PKCS #13: стандарт криптографии эллиптической кривой;
  • PKCS #15 (Чек): стандарт формата информации на криптографическом жетоне.
  • Примечание. PKCS-2 и PKCS-4 входят в PKCS-1.

    В этом курсе для нас особый интерес представляют PKCS #1, PKCS #7, PKCS #10, PKCS #11 и PKCS #12.

    PKCS #1 описывает метод шифрования данных при помощи криптосистемы открытого ключа RSA. Он предназначен для построения цифровых подписей и цифровых упаковок, которые описаны в PKCS #7. Также PKCS #1 описывает синтаксис открытого и закрытого ключей RSA. Синтаксис открытого ключа по PKCS #1 идентичен описанному в стандарте X.509.

    PKCS #7 описывает стандарт синтаксиса криптографического сообщения. Он определяет синтаксис нескольких видов криптографически защищенных сообщений, включая зашифрованные сообщения и сообщения с цифровыми подписями. PKCS #7 стал базисом для стандарта безопасного многоцелевого расширения интернет-почты (SMIME, Secure Multipurpose Internet Mail Extension), который дает унифицированный метод шифрования браузерной электронной почты. У PKCS #7 есть и другие применения, такие, как использование в PKCS #12.

    PKCS #10 описывает синтаксис для запросов сертификата. Запрос сертификата состоит из уникального имени, открытого ключа и из дополнительного набора атрибутов на выбор. Все это подписывается содержимым запрашиваемого сертификата. Запросы на сертификат посылаются сертификационному специалисту, который преобразует полученный запрос в сертификат открытого ключа X.509.

    PKCS #12 описывает синтаксис импорта-экспорта личной идентификационной информации, в которую входят закрытые ключи, сертификаты, различные секреты и расширения. Этот стандарт поддерживается такими приложениями, как Web-браузеры, что позволяет пользователям импортировать и экспортировать один и тот же набор идентификационной информации. Этот стандарт также полезен для импортирования и экспортирования данных со смарт-карт и смарт-жетонов.

    Полную информацию о PKCS, включая детальные описания каждого стандарта, можно найти на сайте RSA по следующему адресу:

    http://www.rsasecurity.com/products/bsafe/whitepapers/IntroToPKCSstandards.pdf

    Она является частью замечательного, всеобъемлющего FAQЧАВО – ЧАсто задаваемые ВОпросы (FAQ, Frequently Asked Questions). поддерживаемого компанией RSA Security Inc., озаглавленного "Часто задаваемые вопросы лаборатории RSA по сегодняшней криптографии, версия 4.1" и находящегося по адресу:

    http://www.rsasecurity.com/rsalabs/faq/index.html

    1.5 Резюме

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

    Мы коснулись следующих тем:

  • базовая терминология ИТ-безопасности, включая определения основных понятий, таких, как компьютерная система, компьютерная сеть, ИТ-инфраструктура, компьютерная безопасность и классификация информации;
  • службы компьютерной безопасности, включая смысл целостности данных, конфиденциальности, идентификации и аутентификации, контроля доступа и подтверждения авторства (невозможность отказа);
  • криптографические техники, включая определение криптографии и обсуждения алгоритмов симметричного ключа, алгоритмов асимметричного ключа, гибридного решения, цифровых подписей, сертификатов открытого ключа и стандартов криптографии открытого ключа.
  • Теперь мы готовы изучить рецепты построения должной инфрастуктуры безопасности, т. е. методологии дизайна систем безопасности. Эти методологии полностью охватываются в следующей лекции и основаны на тех знаниях, которые вы получили в настоящей лекции.

    Вернуться к учебному плану