Мы определим как понятие безопасности, так и понятие ИТ-безопасности. Рассмотрим некоторые интересные теории и статистические данные, чтобы раскрыть современные тенденции в сфере безопасности, сделаем обзор принятых стандартов.
Эта лекция предназначена для широкого круга читателей:
Хотя эту лекцию можно и пропустить, а затем вернуться к ней позднее, мы очень рекомендуем читателю все-таки уделить несколько минут своего времени, чтобы освежить те основы ИТ-безопасности, которые представлены в ней.
Как известно, за последние годы деловой мир пережил стремительную эволюцию и эта эволюция повлияла на то, каким образом компании ведут свой бизнес. То, что мы нашли себя в этой новой эре, – результат ряда важнейших революций, произошедших за два последних десятилетия.
Первой революцией явилось изобретение в начале 1980-х гг. персонального компьютера – IBM
Второй революцией в середине 1990-х стал брак того, что тогда было 20-летней коллекцией разномастных сетей (то, что называлось Интернетом, изначально именовалось как
В наш век электронного бизнеса информация стала важным товаром. Или правильнее называть ее капиталом знаний, что является формой капитала, от которого многие виды бизнеса зависят точно так же, как и от денежного капитала. В действительности жизнь и смерть любого бизнеса определяются той мерой контроля, которой он обладает над своим капиталом знаний. Если этот капитал украден, раскрыт, испорчен или уничтожен, компания может очень сильно пострадать, вплоть до прекращения своего существования.
Есть отдельные личности, едва ли не целью жизни которых стало получение неавторизированного доступа к компьютерным сетям, системам и информации, которую они собирают и затем распространяют. В более невинной форме подобные люди делают это исключительно ради спортивного интереса, чтобы иметь затем возможность похвастаться своим мастерством компьютерного искусства и ничего более (обычно их называют белыми хакерами). В худшем случае эти индивидуумы делают это со злым умыслом: либо чтобы получить финансовую выгоду, либо чтобы преднамеренно испортить или уничтожить то, что они нашли (таких обычно называют черными хакерами или еще иногда
Вне зависимости от их склонностей все эти хакеры – настоящий ночной кошмар для ИТ-систем организаций любого размера. Даже "добропорядочные" хакеры могут создать такие условия, которые приведут к утечке информации, содержащейся в ИТ-системах организации, и к потенциальной возможности того, что эта информация будет уничтожена, испорчена или доступна менее щепетильным людям.
Хуже всего то, что белые и черные хакеры – отнюдь не единственная головная боль ИТ-менеджеров. Есть еще те же самые пользователи, которые прибегают к услугам ИТ-инфраструктуры. В большинстве случаев пользователи не являются злоумышленниками; они просто делают ошибки. Но даже невинные ошибки могут повлиять на капитал знаний организации, а действующие из лучших побуждений пользователи одурачены и вынуждены раскрыть важную информацию, которая обнажит капитал знаний враждебным силам.
Для того чтобы понять, насколько серьезно обстоят дела в этом вопросе, предлагаем вашему вниманию одну интересную цитату:
"Увеличивающаяся
зависимость Соединенных Штатов от информационных технологий в управлении и функционировании наших критических национальных инфраструктур делает страну первоочередной целью кибертеррористов. Сейчас как никогда ранее правительству и частному сектору следует идти рука об руку вплане обмена информацией и изучения информационной безопасности настолько глубоко, чтобы наши критические национальные инфраструктуры были надежно защищены от кибертеррористов".
Эта цитата взята из обзора ИКБ/ФБР компьютерной преступности и вопросов безопасности, который доступен в электронном формате непосредственно на сайте Института компьютерной безопасности (ИКБ) по адресу:
http://www.gocsi.com/forms/fbi/pdf.html
ИКБ (
Федеральное бюро расследований, ФБР (
В течение последних 7 лет ИКБ и подразделение ФБР по борьбе с компьютерными вторжениями в Сан-Франциско проработали вместе и основали ежегодник "Обзор компьютерной преступности и вопросов безопасности". Целью их усилий являлось как поднятие общего уровня осведомленности по вопросам безопасности, так и помощь в определении границ компьютерной преступности в Соединенных Штатах. Основываясь на данных опроса 503 профессионалов компьютерной безопасности американских корпораций, правительственных учреждений, финансовых институтов, медицинских заведений и университетов, выводы "Обзора компьютерной преступности и вопросов безопасности" за 2002 г. ("2002
Ниже приведены самые яркие моменты "Обзора компьютерной преступности и вопросов безопасности" за 2002 г.
Перед респондентами открылся целый спектр атак и злоупотреблений. Вот лишь несколько примеров таких атак и злоупотреблений:
На четвертый год "Обзор" задал несколько вопросов на тему электронной коммерции в Интернете. Вот некоторые результаты:
Таким образом, "Обзор компьютерной преступности и вопросов безопасности" послужил проверкой действительности для промышленности и правительства. И теперь не только ИКБ предупреждает.
Координационный центр CERT (CERT/CC) был сформирован Агентством перспективных исследований Министерства обороны США (
CERT/CC – часть программы жизнеспособности сетевых систем (
На протяжении ряда лет 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 случая нарушений компьютерной безопасности, произошедших за этот период.
Принимая все это во внимание, для организации жизненно необходимо обеспечить безопасность своего капитала знаний и принять очень жесткие меры против взломов, воровства или разглашения этого капитала. Действительно, невозможно переоценить важность безопасности в мире информационных технологий.
Цель этой лекции – предоставить некую базовую информацию об ИТ-безопасности. В нее включены следующие разделы:
Даже несмотря на то что представленные здесь разделы достаточно общие по своей природе (т. е. они нехарактерны только для Notes и Domino), вам следует выделить время, чтобы внимательно прочитать и понять все, поскольку эта лекция лежит в основе всего курса.
Чтобы достичь твердого понимания терминов и концепций, используемых в этом курсе, вам следует ознакомиться со следующими определениями.
Поскольку этот курс серии Redbooks – нечто большее, чем просто описание новых особенностей безопасности и возможностей новых релизов Notes и Domino (т. е. версии 6.0), важно понять, что компьютерная безопасность применима к компьютерной системе как к таковой.
По определению компьютерная система включает в себя все необходимое программное обеспечение (значит, операционную систему и те приложения, которые работают на ней) и все необходимое оборудование (т. е. все физические аспекты компьютера).
По отношению к компьютерной системе определение оборудования не ограничено только самим компьютером и тем, что требуется для обработки инструкций программного обеспечения и управления данными, обрабатываемыми программным обеспечением. Оборудование также включает в себя соединения и телекоммуникационные приборы, требуемые для установления соединений, будь то выделенная линия или беспроводная сеть.
В конечном счете, для краткости термин "компьютер" в этом курсе будет использоваться для обозначения компьютерной системы и всего того, что она в себя включает.
Раз дано, что компьютерная система имеет средства для коммуникаций, важно рассмотреть ту среду, посредством которой эти коммуникации происходят.
Компьютерная сеть может быть определена так:
Понятие сеть может быть определено несколько более структурированно, так как по определению – это соединение двух или более сообщающихся сущностей. Традиционное определение требует наличия трех узлов [таких, как два компьютера и концентратор (хаб, hub) или коммутатор (switch)], но существует возможность использовать кроссированный кабель Ethernet и, следовательно, соединять две машины таким образом, что получается минимальное определение сети – два устройства.
Для целей данного курса предполагается, что сеть состоит из более чем двух компьютеров, обменивающихся данными по одному общему кабелю. Сюда можно отнести два или более компьютера, использующие любые (или все) из устройств соединений и телекоммуникаций, такие, как концентраторы, маршрутизаторы, шлюзы, коммутаторы и т. д.
Определение ИТ-инфраструктуры намного шире, нежели определения компьютерной системы или компьютерной сети.
В ИТ-инфраструктуру входят все компоненты, используемые для обработки и передачи информации в организации. Сюда же входят и устройства, выполняющие дополнительные сервисы, например:
Кроме того, определение ИТ-инфраструктуры включает в себя также как все компьютерные сети самой организации, так и частные сети, соединяющие организацию с организациями-партнерами (поставщиками, например). Такой тип сети называется
И наконец, в определение ИТ-инфраструктуры входят также и пограничные сети между внутренней, обычно надежной, сетью и внешним, как правило ненадежным, Интернетом.
Национальный институт стандартов и технологии, НИСТ (NIST, National Institute of Standards and Technology) написал книгу под названием "Введение в компьютерную безопасность: справочник НИСТ" ("An Introduction to
http://csrc.nist.gov/publicatiuons/nistpubs/800-12/handbook.pdf
На странице 5 книги НИСТ дается следующее определение компьютерной безопасности.
Компьютерная безопасность: защитные меры, приложенные к информационной системе, для того чтобы добиться приемлемых целей, сохраняющих целостность, пригодностьи конфиденциальность информационных ресурсов системы (включая оборудование, ПО, программное обеспечение, встроенное в ПЗУ, информацию/данные и телекоммуникации).
Это определение несколько сложновато для восприятия, поэтому давайте сделаем маленький шажок назад. Давайте определим понятия безопасности и ИТ-безопасности в более простых терминах.
Безопасность – это нечто такое, что дает или гарантирует сохранность, например:
Безопасность, таким образом, – это независимость от риска и опасности.
ИТ-безопасность – это также нечто такое, что дает или гарантирует сохранность, например:
ИТ-безопасность – это также набор мер, предпринимаемых ИТ-подразделением для предотвращения атак типа "отказ обслуживания" или любых других типов атак, препятствующих доступу к их ИТ-архитектуре.
ИТ-безопасность, таким образом, – это независимость от подобных рисков и опасностей; чувство уверенности ИТ-подразделения (и компании) – в знании того, что их система безопасна.
Термин компьютерная безопасность, который эквивалентен термину ИТ-безопасность, является огранкой всей компьютерной науки, чья первоочередная задача – обеспечение сохранности информации и предложение мер по защите от вторжения, воровства или разглашения, чтобы:
Наряду с этими концепциями также важно понимать саму природу информации, которой обладаете вы или ваша компания, концепцию информационной классификации и то, что представляет собой важная информация.
Ключ к хорошей безопасности – умение отделять то, что нужно защищать, от того, что в защите не нуждается.
Информацию, которую требуется обезопасить, обычно называют важной или чувствительной информацией (sensitive information). Она важна именно потому, что мы должным образом определили, что же вообще представляет собой важная информация.
Уместная ссылка на тему безопасности – Закон о компьютерной безопасности от 1987 г., общественное право 100-235 (статья 145), 8 января 1988 г. (
http://www.epic.org/crypto/csa/csa.html
В этом документе можно найти следующее определение важной информации, находящееся в разделе 3, "Создание программы компьютерных стандартов":
Критичная информация: (4) под термином "важная информация" подразумевается любая информация, потеря, неправильное использование, несанкционированный доступ или модификация которой могли бы неблагоприятно повлиять на национальные интересы, или на проведение федеральных программ, или же на частную жизнь граждан, охраняемую параграфом 552а пятого раздела Свода законов США (Закон об охране прав личности), но которая (информация) не определена приказом президента или актом конгресса как секретная в интересах национальной безопасности или внешней политики.
Хотя закон о компьютерной безопасности и принят в Соединенных Штатах, а его целью является защита интересов именно этой страны, вышеприведенное определение является общеприменимым, пригодным для любой страны и любой компании в мире. Другими словами, важная информация – это такая информация, которую необходимо сохранять конфиденциальной и которая должна быть защищена от несанкционированного доступа и раскрытия. Более того, это также означает, что для защиты этой информации от уничтожения или изменения должны быть приняты соответствующие меры.
К примеру, в банке отдельные виды бумаг (например, банкноты, бумажные векселя, валюта) защищаются с особой тщательностью. Другие виды, такие, как бланки занесения на счет и снятия со счета, заполняемые клиентами, не защищаются вообще. Фактически они просто лежат на маленьких столиках с тем, чтобы взять их мог любой.
С информацией то же самое. Есть информация, которую не надо защищать вследствие ее общего (или публичного) содержания. С другой стороны, есть также информация, которую следует защищать очень даже хорошо, поскольку ее разглашение может оказаться небезопасным: например, привести к потере важного преимущества в конкурентной борьбе, подпортить репутацию, раскрыть конфиденциальность клиента или, в зависимости от типа бизнеса, к ранениям (или смерти) людей.
Классификация данных играет еще одну важную роль. Помимо определения того, как информацию следует закрывать, она также определяет и то, как информацию следует открывать. Публичным данным на Web-сайте может требоваться только самая базовая безопасность, дабы воспрепятствовать их порче, но при этом доступ к ним должен быть достаточно свободным, чтобы кто угодно мог получить их без каких бы то ни было проблем.
В зависимости от типа бизнеса (государственный сектор и правительственные учреждения имеют дело в определенных случаях с очень важной персональной информацией, в то время как организации частного сектора обычно имеют дело с важной информацией коммерческого характера) имеют место различные категории и методы классификаций. Изложенные ниже классификации данных применимы как к государственным организациям, так и к бизнесу частного сектора.
Информация рассматривается как публичная, или неклассифицированная, если ее раскрытие никоим образом не повлияет на бизнес. Достоверность данных не имеет критического характера. Отказ службы из-за атак злоумышленников является вполне приемлемым риском. В качестве примера такого рода информации можно привести публичную часть Web-сайта какого-нибудь бизнеса или любую другую информацию об этом бизнесе, доступную из других источников или посредством других средств.
Чтобы защитить информацию, принадлежащую к категории внутренней по отношению к организации, уже требуются некоторые усилия, но, если эта информация станет общедоступной, последствия не будут критическими (они могли бы привести к потере лица или стать некоторой помехой для бизнеса, но несущественной). Достоверность данных важна, но не носит критического характера. Внутренний доступ разделен между различными группами людей согласно их различному уровню доступа. Примерами такого рода информации могут служить определенные, более закрытые части Web-сайта, справочник компании и значительная часть данных, проходящих по внутренней сети компании.
Для того чтобы оставить конфиденциальную информацию только для внутреннего пользования и гарантировать, что она не попадет в руки посторонних людей, требуются значительные усилия. Достоверность данных имеет первостепенную важность.
Разглашение этой информации могло бы дать конкуренту важное преимущество в конкурентной борьбе, привести к крупным финансовым потерям у компании или серьезно подорвать доверие клиентов по отношению к бизнесу. Примеры такого вида информации – зарплаты служащих, конфиденциальная информация клиентов (такая, как личные адреса и информация о кредитных карточках) вместе с паролями и любой другой информацией, позволяющей вход во внутренние системы бизнеса.
Для того чтобы держать в секрете эту категорию информации, причем не только от посторонних, но даже и от "своих" людей по отношению к бизнесу, требуются очень значительные усилия. Секретная информация обычно определяется по принципу "только необходимого
Требуются очень значительные усилия, чтобы любой ценой держать в секрете этот тип информации ото всех, кроме нескольких избранных людей. Сверхсекретная информация обычно определяется по принципу "сверхнадежный доступ". Достоверность данных имеет первостепенную важность. Разглашение подобное информации может нанести серьезный физический или моральный ущерб людям и даже привести к смерти. Примеры – военные данные, дипломатические секреты и медицинская информация о патологиях.
Относительно классификации данных следует разъяснить, что существуют отдельные моменты, когда общедоступные или неклассифицированные данные могут быть изменены таким образом, что это заденет конфиденциальность клиентов или репутацию организации.
Например, корпоративный Web-сайт мог бы быть испорчен таким образом, что в публичной информации оказались нецензурные слова или сама эта неклассифицированная информация на нем могла быть изменена настолько, что вводила бы в заблуждение или искажала представление об оригинале. Примером последней ситуации было бы изменение предложения 30-day interest-free loan (30-дневная беспроцентная ссуда) на interest-fee loan (ссуда под проценты, обратите внимание на отсутствие ограничения по времени). В мире бизнеса, когда все больше и больше предполагается идентичность данных Web-сайта печатным данным (газеты или торговая периодика), от компании может потребоваться предоставление такой услуги или столкнуться с серьезными последствиями.
Теперь, после того как был дан обзор информационной классификации и определено понятие важной информации, можно определить те службы, которые позволяют эту информацию защитить.
Нижеследующие определения, используемые по всему курсу, можно лучше всего объяснить при помощи
Описания этих служб безопасности взяты из книги "Руководство по архитектуре систем безопасности предприятия и представлению решений" (Enterprise-Wide
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg244579.html
Службы компьютерной безопасности можно разделить по их способности обеспечить:
Имейте в виду, что эти категории невзаимоисключающие; например, вы не можете осуществить контроль доступа без постановки вопросов аутентификации и целостности данных.
Понятие целостности данных может быть обобщено следующим образом:
Относительно архитектуры IBM можно также сказать, что целостность данных обеспечивает обнаружение несанкционированных изменений данных.
Целостность данных может быть нарушена множеством способов, не все из которых обусловлены только ошибками в службах безопасности, поставляемых как часть ИТ-инфраструктуры. Для примера, нарушение целостности данных происходит по следующим причинам:
Чтобы обеспечить целостность данных, организации должны допустить как использование данных авторизированными пользователями и приложениями, так и их передачу для удаленной обработки, в то же самое время гарантируя, что эта информация не была изменена неавторизированными пользователями. Оборудование для контроля за целостностью данных может обнаружить, была ли информация изменена или нет.
Существует множество способов для минимизирования подобных угроз целостности данных. Сюда входят:
Понятие конфиденциальности может быть обобщено следующим образом:
Относительно IBM-архитектуры можно также сказать, что конфиденциальность защищает важную информацию от раскрытия.
Если важные данные сохранены локально, их можно защитить посредством контроля доступа или механизмов шифрования. Для безопасности коммуникаций по сети важные данные следует шифровать при передаче их из системы в систему.
Относительно использования криптографии для обеспечения конфиденциальности и целостности данных существуют специальные стандарты ISO (8730, 8731 и 9564).
Средства для идентификации и аутентификации (IA) проверяют подлинность индивидуумов.
Эта базовая функция уникально идентифицирует пользователей и программы, проверяет их подлинность и гарантирует индивидуальную ответственность. Другими словами, идентификация и аутентификация требуются для гарантии того, что пользователям присвоены соответствующие атрибуты безопасности (например, идентификатор, группы, роли, уровни безопасности и доверия).
Недвусмысленная идентификация авторизированных пользователей и корректное приписывание пользователям и субъектам атрибутов безопасности являются критическими показателями для претворения в жизнь запланированных политик безопасности. В этом случае службы и средства безопасности имеют дело с определением и проверкой идентичности пользователей, определением их прав на взаимодействие с ключевыми компонентами ИТ-инфраструктуры, ключевыми компонентами компьютерной системы или ключевой информацией, которая обрабатывается программным обеспечением, запущенным на этой компьютерной системе (например, документ из базы данных Notes), на основании корректно установленных атрибутов безопасности для каждого авторизированного пользователя.
Эффективность всего этого зависит от правильной идентификации и аутентификации пользователей.
У аутентификации может быть много форм, таких, как:
Аутентификация даже более важна, чем шифрование. Возможно это кажется нелогичным, но только соответствующие аутентификационные механизмы идентификации пользователя могут обеспечить базис для дополнительных функций безопасности, таких, как контроль доступа и ревизия системы. После того как методы аутентификации уже описаны, аутентификационная технология может принимать следующие формы:
Для использования смарт-карты или смарт-жетона, т. е. чтобы либо вытащить из них информацию, либо добавить данные на них, требуется устройство для чтения смарт-карт или смарт-жетонов; небольшое устройство, в которое смарт-карты или смарт-жетоны вставляются. Исключение из этого правила – новые USB-жетоны, для которых требуется только наличие в машине USB-порта, что сейчас является стандартом на всех новых машинах.
Контроль доступа позволяет организации защитить свои особо важные ресурсы посредством ограничения доступа только для авторизированных и аутентифицированных пользователей. Другими словами, контроль доступа – это любой механизм, посредством которого система наделяет или не наделяет правами получить доступ к некоторым данным или выполнить какие-то действия. Обычно сначала пользователь должен войти в систему посредством некой аутентификационной системы. Дальше механизм контроля доступа проверяет, какие действия позволены пользователю, а какие нет, сверяя ID пользователя с записью из списка контроля доступа в базе данных.
Системы контроля доступа включают в себя набор разрешений и полномочий, некоторые из которых приведены ниже.
В зависимости от окружения доступ может либо контролироваться владельцем ресурса, либо осуществляться автоматически системой посредством уровней безопасности.
Функциональная цель состоит в том, чтобы гарантировать то, что безопасность ресурсов поддерживается независимо от того, находятся ли они в центральной системе, распределены или являются мобильными (как в случае с файлами и программами).
Невозможность отказа можно рассматривать как расширение служб идентификации и аутентификации, поскольку невозможность отказа зависит от аутентификации, чтобы знать, кто есть кто. Очевидно, что если аутентификация слабая, то и способность организации знать, кто что делает, такая же.
Служба невозможности отказа может защитить получателя от ложного отказа отправителя от того, что данные были посланы, а также защитить отправителя от ложного отказа получателя от того, что данные были получены.
В целом невозможность отказа применяется к пересылке электронных данных, таких, как приказ фондовому брокеру покупать/продавать фонды, указания врача по лечению конкретно данного пациента или подтверждение компании при оплате счета своему банку.
Общей целью является способность со 100-процентной достоверностью проверить, что каждое конкретное сообщение может быть связано с конкретным индивидуумом, так же как каждая подпись на банковском чеке привязана к владельцу счета.
Механизмы безопасности, будь они частью продаваемых продуктов или интернет-стандартов, используют набор общих криптографических техник. Очень важно иметь хорошее понимание этих техник, и вообще по курсу мы предполагаем, что читатель имеет некоторое базовое представление о них.
Несмотря на то что это сложная область, которая заключает в себе множество разнообразных и запутанных аспектов, в этом разделе мы попытались просуммировать эту информацию и предоставить краткий обзор существующих важных криптографических техник. Мы полагаем, что это полезный ресурс и рекомендуем читателю не пропускать его.
После определения понятия криптографии мы рассмотрим следующие области, связанные с криптографическими техниками:
Повторимся, что криптография – ее методы, способы применения, законы и математика, стоящая за всем этим, – это большой и сложный предмет, всестороннее обсуждение которого не является целью этого курса. Вместо этого мы полагаем, что читатель, желающий узнать больше по этой теме, обратиться к публикации "Часто задаваемые вопросы лаборатории RSA по сегодняшней криптографии, версия 4.1" (RSA Laboratories' Frequently Asked Questions About Today's
http://www.rsasecurity.com/rsalabs/faq/
Прежде чем говорить о техниках, давайте для начала определимся, что же такое криптография.
Криптография, берем самое простое определение, – это искусство или наука сохранения информации в секрете. Хотя для новичков она кажется формой искусства, граничащей с магией, тем не менее в реальности это наука для действительно высококвалифицированных компьютерных специалистов и математиков. (Надо сказать, что для тех, кто желает глубоко погрузиться в то, как построены шифры и как они работают, серьезная ученая степень в математике была бы большим плюсом.)
Криптография обеспечивает конфиденциальность шифрованием информации, используя алгоритм и один или более ключей. Вы можете добиться базовой криптографии и без ключей, но то, что обычно требуется, – сохранение в секрете самого алгоритма – нечто достаточно трудное в наши дни. Если используются ключи, зашифрованная версия может быть расшифрована кем-то еще, у кого есть соответствующий
Алгоритмы, формирующие базу криптографии, – это шифры. Шифр – это:
Выражаясь проще, шифры – это замена одного блока текста другим согласно некоторым общеприменимым правилам. Простой шифр произвольно заменял бы каждую букву другой.
Шифры определяются либо как симметричные, либо как асимметричные в зависимости от того, используют ли они один и тот же ключ для шифрования и дешифрования (симметричные шифры) или два разных ключа (
Люди по своему обыкновению склонны путать симметричное и
Если применять такую логику (а так обычно и происходит), то люди получают неправильное
Алгоритмы с симметричным ключом – это "взрослая" версия того типа секретного кода, которым большинство из нас время от времени играло в детстве. Обычно в них используется простой алгоритм замены символов; если вы хотите зашифровать текст, то просто заменяете каждую букву алфавита другой. Например:
Оригинал: 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
В этом случае буквы в алфавите были просто сдвинуты на семь позиций
Этот общий секрет позволяет получателю сообщения провести процесс шифрования в обратном направлении и прочитать зашифрованное сообщение.
Симметричное шифрование получило свое название из того факта, что один и тот же ключ используется как для шифрования открытого текста, так и для расшифровки соответствующего зашифрованного.
Наш детский пример в этом плане совершенно неудачен, поскольку каждая буква при шифровании всегда преобразуется в один и тот же результат, и еще потому, что он совершенно не шифрует пробелы. Даже детсадовский криптоаналитик способен достаточно легко расколоть этот код, зная, что любое однобуквенное слово, вероятнее всего,
Еще одна причина, по которой наш пример столь неудачен, состоит в том, что, если по каким-либо причинам алгоритм известен (в нашем случае алгоритм: "сдвинуть каждую букву на семь позиций вправо"), человек, знающий его, легко может расшифровать каждое последующее сообщение.
Именно здесь мы подоши к важности концепции ключа. В алгоритмах, основанных на ключе, для его защиты предпринимаются определенные усилия. Такой подход вполне допускает рассмотрение и изучение криптографического алгоритма посторонними. Хороший алгоритм – это такой алгоритм, который можно понять, который эффективен и который нельзя использовать для шифрования без соответствующего ключа. Алгоритмы, о которых мы расскажем далее в этой лекции, все обладают этими чертами.
Таким образом, в полноценном симметричном шифре большая часть работы криптоаналитика заключается в попытках поиска в выходных данных алгоритма хоть каких-нибудь шаблонов, чтобы использовать их в качестве отправной точки для взлома кода.
Если в этом плане алгоритм шифрования не имеет недостатков, другим главным фактором, влияющим на его надежность, будет размер пространства ключа; т. е. общее количество всевозможных значений ключа. Опять же наш простенький пример будет расколот очень быстро, потому что в нем есть только 25 возможных позиций, на которые можно сместить ключи. Мы могли бы очень легко провести
Реально существующие симметричные шифры используют числовые ключи размером, как правило, от 40 до 256 бит. Даже для самых маленьких из них атака грубой силой должна была бы перебрать в среднем 2 в 39-й степени, или что-то около 550,000,000,000 возможных значений ключей. Каждый дополнительный бит в размере ключа удваивает пространство ключа.
Некоторые люди испытывают затруднения при запоминании, какой тип шифрования симметричный, а какой асимметричный. Чтобы помочь, давайте дадим инструмент для запоминания. Уделите внимание рис. 1-3.
(рис 1.3) Симметричный шифр против асимметричногоВ этом нашем мнемоническом примере предположим, что ключи имеют какой-то определенный вес. Вес секретного ключа x и вес открытого ключа x + 1 (таким образом, у них разные веса). В случае
Давайте уделим минутку и рассмотрим, как работает симметричное шифрование. Для этого нам понадобится ввести пару персонажей, которые традиционно используются при объяснении концепций безопасности.
Конечно, можно было бы использовать A, B и C для схематического отображения потока информации между двумя точками. Однако поскольку этот поток информации вовлекает людей, лучше все-таки дать им нормальные имена. Итак, двумя нашими персонажами, которых с этого момента мы будем использовать для примеров, будут Алиса и Боб. По мере необходимости будут вводится новые персонажи, но в настоящий момент давайте сконцентрируем наше внимание на Бобе и Алисе.
Эти персонажи в течение многих лет использовались для демонстрации примеров того, как работают техники шифрования, и, как и многие другие выдуманные герои-долгожители, Боб и Алиса имеют свою собственную занимательную биографию. Эту биографию можно найти в статье под названием "Послеобеденная беседа Боба и Алисы" ("The Alice and Bob after-dinner
http://www.conceptlabs.co.uk/alicebob.html
Итак, вернемся к нашему примеру с Бобом и Алисой. Скажем, Алиса хочет послать Бобу сообщение, хочет, чтобы оно было отправлено защищенным, и хочет, чтобы Боб и только Боб мог прочитать его. Рис. 1.4 иллюстрирует этот пример, обмен происходит слева направо.
(рис 1.4) Пример алгоритма с симметричным ключомВот что происходит в нашем примере:
Замечание. В этом примере Алиса и Боб знают друг друга достаточно хорошо. По этой причине в нем предполагается, что Алиса получила – безопасно – копию секретного ключа, использованного для шифрования сообщения.
Есть два вида симметричных шифров: блочные и потоковые. Блочные шифры оперируют с блоками данных и используются, как правило, для шифрования документов и баз данных. Потоковые шифры работают с битовыми потоками и обычно используются для шифрования коммуникационных каналов.
Общеизвестные блочные шифры
Общеизвестные потоковые шифры
Замечание. Одна маленькая интересная подробность: RC1 никогда не сходил дальше ноутбука Ривеста, а RC3 был сломан в RSADSI еще на этапе разработки.
Как мы показали, в настоящее время используется целый ряд шифров на симметричном ключе. Помимо тех, что уже были упомянуты, дальше в курсе мы еще опишем те, которые используются в Notes, Domino и в других совместных продуктах Lotus. Сейчас же давайте поговорим о тех достоинствах, которые присущи всем этим алгоритмам на симметричном ключе.
Из-за коротких ключей, которые тем не менее обеспечивают достаточно высокую безопасность, эти алгоритмы быстры и требуют относительно небольшой загрузки системы. По этой причине о шифровании на симметричном ключе часто говорят как о массовом шифровании, так как оно эффективно для больших объемов данных.
Самый ключевой недостаток симметричного шифра состоит в том, что ему присущи трудности в управлении этими самыми симметричными ключами, используемыми при шифровании. В частности, как можно безопасно передать их в руки противоположной стороны без того, чтобы не скомпрометировать их?
В следующем разделе мы покажем, как эта проблема управления ключами решается при использовании алгоритмов на асимметричном ключе, но и в использовании асимметричных ключей существуют недостатки, для которых тоже требуется использование симметричных ключей и алгоритмов на симметричном ключе.
Прежде чем мы перейдем к теме асимметричных ключей, давайте закончим обзор важных тонкостей, касающихся алгоритмов с симметричными ключами.
Эти алгоритмы публикуются свободно, и при их реализации не следует рассматривать вопросы коммерческого лицензирования.
Все они подпадают под ограничения на экспорт Национального агентства безопасности США (
Это означает то, что для того, чтобы экспортировать полноценную криптографию, компания должна иметь специальную лицензию на каждого клиента. Такие лицензии выдаются только для таких клиентов, которые рассматриваются правительством США в качестве дружественных, таких, как крупные банки и дочерние образования американских компаний.
Когда писалась предыдущая книга серии Redbooks, пороговая длина ключа для обычной экспортной лицензии составляла 40 бит. С тех пор несколько испытаний Проект управления композитными приложениями 29 показали, что при помощи относительно современных компьютерных мощностей на 40-битовый ключ вполне можно провести успешную атаку обычным перебором вариантов. Заявление правительства открыло дверь для использования более длинных ключей, сначала до 56 бит, а в перспективе до любой длины, когда компьютерная индустрия разработает эффективную технологию восстановления ключа. (Восстановление ключа означает, что
Дополнением к этому стало заявление Бюро управления экспортом коммерческого департамента от 18 ноября 1998 г., которое внесло изменения в правила управления экспортом для экспорта и реэкспорта товаров и программного обеспечения полноценного шифрования. Длины ключей сейчас: полных 56 бит для DES и эквивалентных ему "массовых" шифров (т. е.
Далее, 6 июня 2002 г. Бюро промышленности и безопасности (BIS,
Криптографические товары и программное обеспечение для массового рынка с длиной симметричного ключа свыше 64 бит, подпадающие под номера 5A992 и 5D992 классификации экспортного контроля (ECCNs, Export Control
Для дополнительной информации здесь приведен полный список ресурсов, способных пролить некоторый свет на положения по экспорту и те двусторонние соглашения, которые действуют в настоящий момент:
http://w3.access.gpo.gov/bis/fedreg/ear_fedreg.html#67fr38855
Отталкиваясь от знакомых аналогий, нематематик может интуитивно понять, как работает алгоритм симметричного ключа. Однако алгоритмы асимметричного ключа непрофессионалу доступны намного хуже. Фактически иногда они выглядят скорее как магия, нежели как технология. На самом деле это не так. Для них требуется немного больше объяснений, чем для алгоритмов на симметричном ключе, но тем не менее любой, кто внимательно прочитает нижеследующее, легко справится с ними.
Существует строгое математическое соответствие между закрытым и открытым ключами, которое заключается в том, что все, что зашифровано при помощи одного из двух ключей, может быть расшифровано только другим ключом пары. Длина ключей и вся математика, стоящая за ними, дают достаточную гарантию того, что не существует никакого другого ключа, не являющегося частью пары, который мог бы дешифровать сообщение.
Давайте вернемся к Бобу и Алисе и посмотрим, что же происходит при отправке защищенного при помощи алгоритма на асимметричном ключе сообщения. На рис. 1.5 приведен пример, где обмен происходит слева направо.
(рис 1.5) Пример алгоритма с асимметричным ключом: отправка защищенного сообщения по электронной почтеВот что происходит в нашем примере:
Замечание. В этом сценарии нет необходимости в обмене закрытыми ключами и, таким образом, весь процесс работы с ключами проще.
Асимметричные шифры еще называют механизмами обмена ключами. Самые известные из них – следующие:
Как мы показали, в настоящее время используется целый ряд алгоритмов на асимметричном ключе. Помимо тех, что уже были упомянуты, дальше в курсе мы еще опишем те, которые используются в Notes, Domino и в других совместных продуктах Lotus. Сейчас же давайте поговорим о тех достоинствах, которые присущи всем алгоритмам на асимметричном ключе.
Алгоритмы асимметричного ключа делают более легким управление ключами благодаря тому, что не надо искать безопасный канал для передачи копии ключа конечному получателю. Закрытый ключ остается закрытым, а открытый – открытым. Другими словами, большим преимуществом этого механизма над механизмом симметричного ключа является то, что больше нет того секрета, которым требуется делиться. Фактически совершенно не имеет значения, у кого имеется открытый ключ, поскольку он бесполезен без соответствующего закрытого.
Еще одним важнейшим достоинством алгоритмов на асимметричном ключе является то, что они способны предоставить такую цифровую подпись, которую невозможно подделать. Мы обсудим это в последующих разделах.
Недостаток алгоритмов на асимметричном ключе состоит в том, что они очень медленные. В настоящий момент есть множество методов шифрования секретным ключом, которые значительно быстрее, чем любой из существующих методов
Для получения всего лучшего из обоих миров можно использовать алгоритм асимметричного ключа вместе с алгоритмом симметричного. При шифровании наилучшим решением будет объединить оба типа алгоритмов, чтобы получить и высокую безопасность алгоритмов асимметричного ключа, и высокую скорость алгоритмов симметричного.
Соответственно таким гибридным решением будет использование симметричного ключа для шифрования данных, а асимметричного для шифрования самого симметричного ключа. Такой марьяж называется числовой упаковкой.
Кроме того, симметричный ключ обычно генерируется каждый раз как новый и называется "сессионным" ключом. Он действителен только на то время, пока два человека обмениваются сообщениями друг с другом. Этот протокол используется практически во всех "
Давайте сделаем паузу и рассмотрим, как работает гибридное решение. Для этого мы продолжим рассматривать общение между Алисой и Бобом. Пример изображен на рис. 1.6, обмен происходит слева направо.
(рис 1.6) Пример гибридного решения: отправка защищенного сообщения по электронной почтеВ нашем примере происходит следующее. Сначала на одном конце:
На другом конце:
Есть еще одна полезная вещь, которую дают нам алгоритмы асимметричного ключа.
Представьте в предыдущем примере, что Алиса использует свой закрытый ключ для шифрования сообщения и затем отсылает его Бобу. Посланное сообщение хотя и является все еще зашифрованным, но больше уже не имеет частного характера, поскольку любой, у кого есть открытый ключ, может расшифровать его (а мы говорили, что нам все равно, у кого он есть).
Итак, для чего же можно использовать такое сообщение от Алисы? Ответ следующий – авторизация. Поскольку только Алиса имеет доступ к закрытому ключу, при помощи которого было создано это сообщение, оно может прийти от нее и только от нее. В этом состоит понятие цифровой подписи.
Цифровые подписи участвуют в обеспечении целостности, аутентификации и идентификации, в определении авторства (невозможность отказа), в то время как алгоритмы и симметричного и асимметричного ключей, которые мы обсуждали до этого момента, касались только конфиденциальности.
Для того чтобы предоставить эти дополнительные услуги, нам потребуется ввести новый вид криптографического алгоритма – хеш-функции (еще называемые свертками сообщений).
Тогда как при помощи алгоритмов и симметричного и асимметричного ключей можно как шифровать, так и дешифровать, хеш-функции только шифруют. Именно поэтому их принято относить к однонаправленным функциям. Вы никогда не сможете из хеш-функции восстановить первоначальное сообщение.
Еще, хеш-функции называются "функциями" потому, что они принимают на вход сообщение и возвращают результат. Более точно, они используются для индексирования исходного содержания или ключа сообщения или блока данных, а затем всякий раз при получении данных, относящихся к этому содержанию или ключу. У хеш-функции безопасности есть три основные характеристики:
Для чего же используется тогда хеш-функция безопасности? Хорошо, ее основное предназначение – отслеживать, были ли изменения в отдельных частях данных или нет. В комбинации с RSA это используется для создания цифровой подписи.
Под цифровой подписью понимается то, что при помощи хеш-функции можно численно подписать документ и обеспечить аутентификацию без необходимости шифровать все сообщение целиком.
В настоящее время применяется два хеш-алгоритма безопасности. Наиболее распространенный из них – MD5, который был разработан компанией RSA
Другой алгоритм, который становится все более и более популярным, – разработанный для правительства США Хеш-стандарт безопасности (
Давайте сделаем паузу и рассмотрим, как же работают цифровые подписи. Пример показан на рис. 1.7. Однако в этом примере обмен происходит справа налево, а не слева направо, как было в предыдущих примерах, так как Боб отвечает на сообщения Алисы.
В нашем примере происходит следующее. Сначала на одном конце:
(рис 1.7) Пример цифровых подписейНа другом конце:
Таким образом:
Основной интерес для нас представляет набор хеш-функций (называемых также алгоритмами сообщение-свертка), которые мы описали, а именно MD5 и SHA-1. Для исторической справки и для того, чтобы объяснить необходимость существования MD5 и SHA-1, мы упомянем также
Относительно используемых хеш-алгоритмов остаются открытыми несколько вопросов, на которые мы с удовольствием ответим. Если используются
MD (первоначальный алгоритм
Хорошо, ну а если есть SHA-1, был ли SHA-0? Ответ: да. SHA – это стандартная хеш-функция NIST. Он был изобретен
Да, и еще, время от времени в кругах специалистов безопасности и в различных дискуссиях на тему безопасности вам доводилось слышать термин "MAC". В таком контексте MAC (
Цифровые подписи неидеальны, поскольку остается проблема доказательства того, "кто" действительно подписал, так как доверие, по сути дела, относится к компьютеру, поставившему цифровую подпись, а не к человеку.
Если компьютер скомпрометирован или если скомпрометирован закрытый ключ человека, вполне возможно выдать себя за этого человека и поставить за него цифровую подпись. Таким образом, доверие должно быть направлено на подписывающий компонент (машина, код и т. д.).
Исходя из общей безопасности подписывающего устройства (т. е. компьютера пользователя) и практики помещения ключей на депонент (где они технически доступны администраторам и менеджерам организации), цифровые подписи представляют не большую юридическую ценность для судебной практики. Следовательно, вопрос доверия цифровым подписям в настоящее время следует уравновесить пониманием того факта, что они не способны дать полной и абсолютной гарантии при определении авторства.
Мы уже видели, каким образом криптография открытого ключа решает проблему необходимости передачи секрета от отправителя к получателю. И хотя ключ все равно еще надо посылать, но это уже открытый ключ, который можно видеть кому угодно, поскольку он полезен для взломщика только в том случае, если у последнего есть и соответствующий закрытый ключ. Однако это обходит стороной один критический элемент доверия: как вы можете быть уверены в том, что открытый ключ действительно пришел от того, от кого вы думаете?
Одно решение состоит в том, чтобы передавать открытые ключи только тем, кого вы знаете. Боб и Алиса знают друг друга долгое время (фактически люди уже начали разговаривать), поэтому они могли бы обменяться своими открытыми ключами на дискетах. Но для других случаев жизни вам понадобится некий способ быть уверенными в том, что открытый ключ является аутентифицированным.
Механизмом для реализации этого является сертификат открытого ключа. Это такая структура данных, в которой содержится открытый ключ плюс информация о его владельце, все подписанное цифровой подписью доверенной третьей стороны. И сейчас, когда Алиса хочет выслать Бобу свой открытый ключ, на самом деле она посылает сертификат. Боб получает сертификат и проверяет подпись. Если подпись подписавшего принадлежит тому, кому он доверяет, значит, можно принять за истину, что это действительно ключ Алисы.
Сертификаты в реальной жизни намного сложнее по сравнению с этим. Описания того, как они используются в различных ситуациях, приведены в последующих лекциях этого курса в разделах, подробно рассказывающих об SSL и системе безопасности Notes.
Во всех этих криптографических инструментах и техниках немного пользы набора соответствующих, хорошо согласованных стандартов для обеспечения базиса для функциональной совместимости. Эти стандарты называются стандартами криптографии открытого ключа (PKCS, Public Key Cryptographic Standards).
PKCS является набором неофициальных независимых от поставщика стандартов, разработанных в 1991 г. компанией RSA Laboratories при участии Apple, Digital, Lotus, Microsoft, MIT, Northern Telecom, Novell и Sun. С самого момента своего опубликования в июне 1991 г. PKCS стал частью нескольких стандартов и продуктов, включая Notes и Domino.
Эти стандарты охватывают RSA шифрование, соглашение о ключах Диффи–Хелмана, шифрование паролем, синтаксис расширенного сертификата, синтаксис криптографического сообщения и синтаксис запроса сертификата, а также выделяемые атрибуты.
В настоящее время определены следующие стандарты:
Примечание. 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
Она является частью замечательного, всеобъемлющего
http://www.rsasecurity.com/rsalabs/faq/index.html
В этой лекции мы прошлись по основам ИТ-безопасности и затронули те основные темы, которые необходимы нам для дальнейшего успешного продвижения по остальному материалу курса.
Мы коснулись следующих тем:
Теперь мы готовы изучить рецепты построения должной инфрастуктуры безопасности, т. е. методологии дизайна систем безопасности. Эти методологии полностью охватываются в следующей лекции и основаны на тех знаниях, которые вы получили в настоящей лекции.
Мы определим как понятие безопасности, так и понятие ИТ-безопасности. Рассмотрим некоторые интересные теории и статистические данные, чтобы раскрыть современные тенденции в сфере безопасности, сделаем обзор принятых стандартов.
Эта лекция предназначена для широкого круга читателей:
Хотя эту лекцию можно и пропустить, а затем вернуться к ней позднее, мы очень рекомендуем читателю все-таки уделить несколько минут своего времени, чтобы освежить те основы ИТ-безопасности, которые представлены в ней.
Как известно, за последние годы деловой мир пережил стремительную эволюцию и эта эволюция повлияла на то, каким образом компании ведут свой бизнес. То, что мы нашли себя в этой новой эре, – результат ряда важнейших революций, произошедших за два последних десятилетия.
Первой революцией явилось изобретение в начале 1980-х гг. персонального компьютера – IBM
Второй революцией в середине 1990-х стал брак того, что тогда было 20-летней коллекцией разномастных сетей (то, что называлось Интернетом, изначально именовалось как
В наш век электронного бизнеса информация стала важным товаром. Или правильнее называть ее капиталом знаний, что является формой капитала, от которого многие виды бизнеса зависят точно так же, как и от денежного капитала. В действительности жизнь и смерть любого бизнеса определяются той мерой контроля, которой он обладает над своим капиталом знаний. Если этот капитал украден, раскрыт, испорчен или уничтожен, компания может очень сильно пострадать, вплоть до прекращения своего существования.
Есть отдельные личности, едва ли не целью жизни которых стало получение неавторизированного доступа к компьютерным сетям, системам и информации, которую они собирают и затем распространяют. В более невинной форме подобные люди делают это исключительно ради спортивного интереса, чтобы иметь затем возможность похвастаться своим мастерством компьютерного искусства и ничего более (обычно их называют белыми хакерами). В худшем случае эти индивидуумы делают это со злым умыслом: либо чтобы получить финансовую выгоду, либо чтобы преднамеренно испортить или уничтожить то, что они нашли (таких обычно называют черными хакерами или еще иногда
Вне зависимости от их склонностей все эти хакеры – настоящий ночной кошмар для ИТ-систем организаций любого размера. Даже "добропорядочные" хакеры могут создать такие условия, которые приведут к утечке информации, содержащейся в ИТ-системах организации, и к потенциальной возможности того, что эта информация будет уничтожена, испорчена или доступна менее щепетильным людям.
Хуже всего то, что белые и черные хакеры – отнюдь не единственная головная боль ИТ-менеджеров. Есть еще те же самые пользователи, которые прибегают к услугам ИТ-инфраструктуры. В большинстве случаев пользователи не являются злоумышленниками; они просто делают ошибки. Но даже невинные ошибки могут повлиять на капитал знаний организации, а действующие из лучших побуждений пользователи одурачены и вынуждены раскрыть важную информацию, которая обнажит капитал знаний враждебным силам.
Для того чтобы понять, насколько серьезно обстоят дела в этом вопросе, предлагаем вашему вниманию одну интересную цитату:
"Увеличивающаяся
зависимость Соединенных Штатов от информационных технологий в управлении и функционировании наших критических национальных инфраструктур делает страну первоочередной целью кибертеррористов. Сейчас как никогда ранее правительству и частному сектору следует идти рука об руку вплане обмена информацией и изучения информационной безопасности настолько глубоко, чтобы наши критические национальные инфраструктуры были надежно защищены от кибертеррористов".
Эта цитата взята из обзора ИКБ/ФБР компьютерной преступности и вопросов безопасности, который доступен в электронном формате непосредственно на сайте Института компьютерной безопасности (ИКБ) по адресу:
http://www.gocsi.com/forms/fbi/pdf.html
ИКБ (
Федеральное бюро расследований, ФБР (
В течение последних 7 лет ИКБ и подразделение ФБР по борьбе с компьютерными вторжениями в Сан-Франциско проработали вместе и основали ежегодник "Обзор компьютерной преступности и вопросов безопасности". Целью их усилий являлось как поднятие общего уровня осведомленности по вопросам безопасности, так и помощь в определении границ компьютерной преступности в Соединенных Штатах. Основываясь на данных опроса 503 профессионалов компьютерной безопасности американских корпораций, правительственных учреждений, финансовых институтов, медицинских заведений и университетов, выводы "Обзора компьютерной преступности и вопросов безопасности" за 2002 г. ("2002
Ниже приведены самые яркие моменты "Обзора компьютерной преступности и вопросов безопасности" за 2002 г.
Перед респондентами открылся целый спектр атак и злоупотреблений. Вот лишь несколько примеров таких атак и злоупотреблений:
На четвертый год "Обзор" задал несколько вопросов на тему электронной коммерции в Интернете. Вот некоторые результаты:
Таким образом, "Обзор компьютерной преступности и вопросов безопасности" послужил проверкой действительности для промышленности и правительства. И теперь не только ИКБ предупреждает.
Координационный центр CERT (CERT/CC) был сформирован Агентством перспективных исследований Министерства обороны США (
CERT/CC – часть программы жизнеспособности сетевых систем (
На протяжении ряда лет 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 случая нарушений компьютерной безопасности, произошедших за этот период.
Принимая все это во внимание, для организации жизненно необходимо обеспечить безопасность своего капитала знаний и принять очень жесткие меры против взломов, воровства или разглашения этого капитала. Действительно, невозможно переоценить важность безопасности в мире информационных технологий.
Цель этой лекции – предоставить некую базовую информацию об ИТ-безопасности. В нее включены следующие разделы:
Даже несмотря на то что представленные здесь разделы достаточно общие по своей природе (т. е. они нехарактерны только для Notes и Domino), вам следует выделить время, чтобы внимательно прочитать и понять все, поскольку эта лекция лежит в основе всего курса.
Чтобы достичь твердого понимания терминов и концепций, используемых в этом курсе, вам следует ознакомиться со следующими определениями.
Поскольку этот курс серии Redbooks – нечто большее, чем просто описание новых особенностей безопасности и возможностей новых релизов Notes и Domino (т. е. версии 6.0), важно понять, что компьютерная безопасность применима к компьютерной системе как к таковой.
По определению компьютерная система включает в себя все необходимое программное обеспечение (значит, операционную систему и те приложения, которые работают на ней) и все необходимое оборудование (т. е. все физические аспекты компьютера).
По отношению к компьютерной системе определение оборудования не ограничено только самим компьютером и тем, что требуется для обработки инструкций программного обеспечения и управления данными, обрабатываемыми программным обеспечением. Оборудование также включает в себя соединения и телекоммуникационные приборы, требуемые для установления соединений, будь то выделенная линия или беспроводная сеть.
В конечном счете, для краткости термин "компьютер" в этом курсе будет использоваться для обозначения компьютерной системы и всего того, что она в себя включает.
Раз дано, что компьютерная система имеет средства для коммуникаций, важно рассмотреть ту среду, посредством которой эти коммуникации происходят.
Компьютерная сеть может быть определена так:
Понятие сеть может быть определено несколько более структурированно, так как по определению – это соединение двух или более сообщающихся сущностей. Традиционное определение требует наличия трех узлов [таких, как два компьютера и концентратор (хаб, hub) или коммутатор (switch)], но существует возможность использовать кроссированный кабель Ethernet и, следовательно, соединять две машины таким образом, что получается минимальное определение сети – два устройства.
Для целей данного курса предполагается, что сеть состоит из более чем двух компьютеров, обменивающихся данными по одному общему кабелю. Сюда можно отнести два или более компьютера, использующие любые (или все) из устройств соединений и телекоммуникаций, такие, как концентраторы, маршрутизаторы, шлюзы, коммутаторы и т. д.
Определение ИТ-инфраструктуры намного шире, нежели определения компьютерной системы или компьютерной сети.
В ИТ-инфраструктуру входят все компоненты, используемые для обработки и передачи информации в организации. Сюда же входят и устройства, выполняющие дополнительные сервисы, например:
Кроме того, определение ИТ-инфраструктуры включает в себя также как все компьютерные сети самой организации, так и частные сети, соединяющие организацию с организациями-партнерами (поставщиками, например). Такой тип сети называется
И наконец, в определение ИТ-инфраструктуры входят также и пограничные сети между внутренней, обычно надежной, сетью и внешним, как правило ненадежным, Интернетом.
Национальный институт стандартов и технологии, НИСТ (NIST, National Institute of Standards and Technology) написал книгу под названием "Введение в компьютерную безопасность: справочник НИСТ" ("An Introduction to
http://csrc.nist.gov/publicatiuons/nistpubs/800-12/handbook.pdf
На странице 5 книги НИСТ дается следующее определение компьютерной безопасности.
Компьютерная безопасность: защитные меры, приложенные к информационной системе, для того чтобы добиться приемлемых целей, сохраняющих целостность, пригодностьи конфиденциальность информационных ресурсов системы (включая оборудование, ПО, программное обеспечение, встроенное в ПЗУ, информацию/данные и телекоммуникации).
Это определение несколько сложновато для восприятия, поэтому давайте сделаем маленький шажок назад. Давайте определим понятия безопасности и ИТ-безопасности в более простых терминах.
Безопасность – это нечто такое, что дает или гарантирует сохранность, например:
Безопасность, таким образом, – это независимость от риска и опасности.
ИТ-безопасность – это также нечто такое, что дает или гарантирует сохранность, например:
ИТ-безопасность – это также набор мер, предпринимаемых ИТ-подразделением для предотвращения атак типа "отказ обслуживания" или любых других типов атак, препятствующих доступу к их ИТ-архитектуре.
ИТ-безопасность, таким образом, – это независимость от подобных рисков и опасностей; чувство уверенности ИТ-подразделения (и компании) – в знании того, что их система безопасна.
Термин компьютерная безопасность, который эквивалентен термину ИТ-безопасность, является огранкой всей компьютерной науки, чья первоочередная задача – обеспечение сохранности информации и предложение мер по защите от вторжения, воровства или разглашения, чтобы:
Наряду с этими концепциями также важно понимать саму природу информации, которой обладаете вы или ваша компания, концепцию информационной классификации и то, что представляет собой важная информация.
Ключ к хорошей безопасности – умение отделять то, что нужно защищать, от того, что в защите не нуждается.
Информацию, которую требуется обезопасить, обычно называют важной или чувствительной информацией (sensitive information). Она важна именно потому, что мы должным образом определили, что же вообще представляет собой важная информация.
Уместная ссылка на тему безопасности – Закон о компьютерной безопасности от 1987 г., общественное право 100-235 (статья 145), 8 января 1988 г. (
http://www.epic.org/crypto/csa/csa.html
В этом документе можно найти следующее определение важной информации, находящееся в разделе 3, "Создание программы компьютерных стандартов":
Критичная информация: (4) под термином "важная информация" подразумевается любая информация, потеря, неправильное использование, несанкционированный доступ или модификация которой могли бы неблагоприятно повлиять на национальные интересы, или на проведение федеральных программ, или же на частную жизнь граждан, охраняемую параграфом 552а пятого раздела Свода законов США (Закон об охране прав личности), но которая (информация) не определена приказом президента или актом конгресса как секретная в интересах национальной безопасности или внешней политики.
Хотя закон о компьютерной безопасности и принят в Соединенных Штатах, а его целью является защита интересов именно этой страны, вышеприведенное определение является общеприменимым, пригодным для любой страны и любой компании в мире. Другими словами, важная информация – это такая информация, которую необходимо сохранять конфиденциальной и которая должна быть защищена от несанкционированного доступа и раскрытия. Более того, это также означает, что для защиты этой информации от уничтожения или изменения должны быть приняты соответствующие меры.
К примеру, в банке отдельные виды бумаг (например, банкноты, бумажные векселя, валюта) защищаются с особой тщательностью. Другие виды, такие, как бланки занесения на счет и снятия со счета, заполняемые клиентами, не защищаются вообще. Фактически они просто лежат на маленьких столиках с тем, чтобы взять их мог любой.
С информацией то же самое. Есть информация, которую не надо защищать вследствие ее общего (или публичного) содержания. С другой стороны, есть также информация, которую следует защищать очень даже хорошо, поскольку ее разглашение может оказаться небезопасным: например, привести к потере важного преимущества в конкурентной борьбе, подпортить репутацию, раскрыть конфиденциальность клиента или, в зависимости от типа бизнеса, к ранениям (или смерти) людей.
Классификация данных играет еще одну важную роль. Помимо определения того, как информацию следует закрывать, она также определяет и то, как информацию следует открывать. Публичным данным на Web-сайте может требоваться только самая базовая безопасность, дабы воспрепятствовать их порче, но при этом доступ к ним должен быть достаточно свободным, чтобы кто угодно мог получить их без каких бы то ни было проблем.
В зависимости от типа бизнеса (государственный сектор и правительственные учреждения имеют дело в определенных случаях с очень важной персональной информацией, в то время как организации частного сектора обычно имеют дело с важной информацией коммерческого характера) имеют место различные категории и методы классификаций. Изложенные ниже классификации данных применимы как к государственным организациям, так и к бизнесу частного сектора.
Информация рассматривается как публичная, или неклассифицированная, если ее раскрытие никоим образом не повлияет на бизнес. Достоверность данных не имеет критического характера. Отказ службы из-за атак злоумышленников является вполне приемлемым риском. В качестве примера такого рода информации можно привести публичную часть Web-сайта какого-нибудь бизнеса или любую другую информацию об этом бизнесе, доступную из других источников или посредством других средств.
Чтобы защитить информацию, принадлежащую к категории внутренней по отношению к организации, уже требуются некоторые усилия, но, если эта информация станет общедоступной, последствия не будут критическими (они могли бы привести к потере лица или стать некоторой помехой для бизнеса, но несущественной). Достоверность данных важна, но не носит критического характера. Внутренний доступ разделен между различными группами людей согласно их различному уровню доступа. Примерами такого рода информации могут служить определенные, более закрытые части Web-сайта, справочник компании и значительная часть данных, проходящих по внутренней сети компании.
Для того чтобы оставить конфиденциальную информацию только для внутреннего пользования и гарантировать, что она не попадет в руки посторонних людей, требуются значительные усилия. Достоверность данных имеет первостепенную важность.
Разглашение этой информации могло бы дать конкуренту важное преимущество в конкурентной борьбе, привести к крупным финансовым потерям у компании или серьезно подорвать доверие клиентов по отношению к бизнесу. Примеры такого вида информации – зарплаты служащих, конфиденциальная информация клиентов (такая, как личные адреса и информация о кредитных карточках) вместе с паролями и любой другой информацией, позволяющей вход во внутренние системы бизнеса.
Для того чтобы держать в секрете эту категорию информации, причем не только от посторонних, но даже и от "своих" людей по отношению к бизнесу, требуются очень значительные усилия. Секретная информация обычно определяется по принципу "только необходимого
Требуются очень значительные усилия, чтобы любой ценой держать в секрете этот тип информации ото всех, кроме нескольких избранных людей. Сверхсекретная информация обычно определяется по принципу "сверхнадежный доступ". Достоверность данных имеет первостепенную важность. Разглашение подобное информации может нанести серьезный физический или моральный ущерб людям и даже привести к смерти. Примеры – военные данные, дипломатические секреты и медицинская информация о патологиях.
Относительно классификации данных следует разъяснить, что существуют отдельные моменты, когда общедоступные или неклассифицированные данные могут быть изменены таким образом, что это заденет конфиденциальность клиентов или репутацию организации.
Например, корпоративный Web-сайт мог бы быть испорчен таким образом, что в публичной информации оказались нецензурные слова или сама эта неклассифицированная информация на нем могла быть изменена настолько, что вводила бы в заблуждение или искажала представление об оригинале. Примером последней ситуации было бы изменение предложения 30-day interest-free loan (30-дневная беспроцентная ссуда) на interest-fee loan (ссуда под проценты, обратите внимание на отсутствие ограничения по времени). В мире бизнеса, когда все больше и больше предполагается идентичность данных Web-сайта печатным данным (газеты или торговая периодика), от компании может потребоваться предоставление такой услуги или столкнуться с серьезными последствиями.
Теперь, после того как был дан обзор информационной классификации и определено понятие важной информации, можно определить те службы, которые позволяют эту информацию защитить.
Нижеследующие определения, используемые по всему курсу, можно лучше всего объяснить при помощи
Описания этих служб безопасности взяты из книги "Руководство по архитектуре систем безопасности предприятия и представлению решений" (Enterprise-Wide
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg244579.html
Службы компьютерной безопасности можно разделить по их способности обеспечить:
Имейте в виду, что эти категории невзаимоисключающие; например, вы не можете осуществить контроль доступа без постановки вопросов аутентификации и целостности данных.
Понятие целостности данных может быть обобщено следующим образом:
Относительно архитектуры IBM можно также сказать, что целостность данных обеспечивает обнаружение несанкционированных изменений данных.
Целостность данных может быть нарушена множеством способов, не все из которых обусловлены только ошибками в службах безопасности, поставляемых как часть ИТ-инфраструктуры. Для примера, нарушение целостности данных происходит по следующим причинам:
Чтобы обеспечить целостность данных, организации должны допустить как использование данных авторизированными пользователями и приложениями, так и их передачу для удаленной обработки, в то же самое время гарантируя, что эта информация не была изменена неавторизированными пользователями. Оборудование для контроля за целостностью данных может обнаружить, была ли информация изменена или нет.
Существует множество способов для минимизирования подобных угроз целостности данных. Сюда входят:
Понятие конфиденциальности может быть обобщено следующим образом:
Относительно IBM-архитектуры можно также сказать, что конфиденциальность защищает важную информацию от раскрытия.
Если важные данные сохранены локально, их можно защитить посредством контроля доступа или механизмов шифрования. Для безопасности коммуникаций по сети важные данные следует шифровать при передаче их из системы в систему.
Относительно использования криптографии для обеспечения конфиденциальности и целостности данных существуют специальные стандарты ISO (8730, 8731 и 9564).
Средства для идентификации и аутентификации (IA) проверяют подлинность индивидуумов.
Эта базовая функция уникально идентифицирует пользователей и программы, проверяет их подлинность и гарантирует индивидуальную ответственность. Другими словами, идентификация и аутентификация требуются для гарантии того, что пользователям присвоены соответствующие атрибуты безопасности (например, идентификатор, группы, роли, уровни безопасности и доверия).
Недвусмысленная идентификация авторизированных пользователей и корректное приписывание пользователям и субъектам атрибутов безопасности являются критическими показателями для претворения в жизнь запланированных политик безопасности. В этом случае службы и средства безопасности имеют дело с определением и проверкой идентичности пользователей, определением их прав на взаимодействие с ключевыми компонентами ИТ-инфраструктуры, ключевыми компонентами компьютерной системы или ключевой информацией, которая обрабатывается программным обеспечением, запущенным на этой компьютерной системе (например, документ из базы данных Notes), на основании корректно установленных атрибутов безопасности для каждого авторизированного пользователя.
Эффективность всего этого зависит от правильной идентификации и аутентификации пользователей.
У аутентификации может быть много форм, таких, как:
Аутентификация даже более важна, чем шифрование. Возможно это кажется нелогичным, но только соответствующие аутентификационные механизмы идентификации пользователя могут обеспечить базис для дополнительных функций безопасности, таких, как контроль доступа и ревизия системы. После того как методы аутентификации уже описаны, аутентификационная технология может принимать следующие формы:
Для использования смарт-карты или смарт-жетона, т. е. чтобы либо вытащить из них информацию, либо добавить данные на них, требуется устройство для чтения смарт-карт или смарт-жетонов; небольшое устройство, в которое смарт-карты или смарт-жетоны вставляются. Исключение из этого правила – новые USB-жетоны, для которых требуется только наличие в машине USB-порта, что сейчас является стандартом на всех новых машинах.
Контроль доступа позволяет организации защитить свои особо важные ресурсы посредством ограничения доступа только для авторизированных и аутентифицированных пользователей. Другими словами, контроль доступа – это любой механизм, посредством которого система наделяет или не наделяет правами получить доступ к некоторым данным или выполнить какие-то действия. Обычно сначала пользователь должен войти в систему посредством некой аутентификационной системы. Дальше механизм контроля доступа проверяет, какие действия позволены пользователю, а какие нет, сверяя ID пользователя с записью из списка контроля доступа в базе данных.
Системы контроля доступа включают в себя набор разрешений и полномочий, некоторые из которых приведены ниже.
В зависимости от окружения доступ может либо контролироваться владельцем ресурса, либо осуществляться автоматически системой посредством уровней безопасности.
Функциональная цель состоит в том, чтобы гарантировать то, что безопасность ресурсов поддерживается независимо от того, находятся ли они в центральной системе, распределены или являются мобильными (как в случае с файлами и программами).
Невозможность отказа можно рассматривать как расширение служб идентификации и аутентификации, поскольку невозможность отказа зависит от аутентификации, чтобы знать, кто есть кто. Очевидно, что если аутентификация слабая, то и способность организации знать, кто что делает, такая же.
Служба невозможности отказа может защитить получателя от ложного отказа отправителя от того, что данные были посланы, а также защитить отправителя от ложного отказа получателя от того, что данные были получены.
В целом невозможность отказа применяется к пересылке электронных данных, таких, как приказ фондовому брокеру покупать/продавать фонды, указания врача по лечению конкретно данного пациента или подтверждение компании при оплате счета своему банку.
Общей целью является способность со 100-процентной достоверностью проверить, что каждое конкретное сообщение может быть связано с конкретным индивидуумом, так же как каждая подпись на банковском чеке привязана к владельцу счета.
Механизмы безопасности, будь они частью продаваемых продуктов или интернет-стандартов, используют набор общих криптографических техник. Очень важно иметь хорошее понимание этих техник, и вообще по курсу мы предполагаем, что читатель имеет некоторое базовое представление о них.
Несмотря на то что это сложная область, которая заключает в себе множество разнообразных и запутанных аспектов, в этом разделе мы попытались просуммировать эту информацию и предоставить краткий обзор существующих важных криптографических техник. Мы полагаем, что это полезный ресурс и рекомендуем читателю не пропускать его.
После определения понятия криптографии мы рассмотрим следующие области, связанные с криптографическими техниками:
Повторимся, что криптография – ее методы, способы применения, законы и математика, стоящая за всем этим, – это большой и сложный предмет, всестороннее обсуждение которого не является целью этого курса. Вместо этого мы полагаем, что читатель, желающий узнать больше по этой теме, обратиться к публикации "Часто задаваемые вопросы лаборатории RSA по сегодняшней криптографии, версия 4.1" (RSA Laboratories' Frequently Asked Questions About Today's
http://www.rsasecurity.com/rsalabs/faq/
Прежде чем говорить о техниках, давайте для начала определимся, что же такое криптография.
Криптография, берем самое простое определение, – это искусство или наука сохранения информации в секрете. Хотя для новичков она кажется формой искусства, граничащей с магией, тем не менее в реальности это наука для действительно высококвалифицированных компьютерных специалистов и математиков. (Надо сказать, что для тех, кто желает глубоко погрузиться в то, как построены шифры и как они работают, серьезная ученая степень в математике была бы большим плюсом.)
Криптография обеспечивает конфиденциальность шифрованием информации, используя алгоритм и один или более ключей. Вы можете добиться базовой криптографии и без ключей, но то, что обычно требуется, – сохранение в секрете самого алгоритма – нечто достаточно трудное в наши дни. Если используются ключи, зашифрованная версия может быть расшифрована кем-то еще, у кого есть соответствующий
Алгоритмы, формирующие базу криптографии, – это шифры. Шифр – это:
Выражаясь проще, шифры – это замена одного блока текста другим согласно некоторым общеприменимым правилам. Простой шифр произвольно заменял бы каждую букву другой.
Шифры определяются либо как симметричные, либо как асимметричные в зависимости от того, используют ли они один и тот же ключ для шифрования и дешифрования (симметричные шифры) или два разных ключа (
Люди по своему обыкновению склонны путать симметричное и
Если применять такую логику (а так обычно и происходит), то люди получают неправильное
Алгоритмы с симметричным ключом – это "взрослая" версия того типа секретного кода, которым большинство из нас время от времени играло в детстве. Обычно в них используется простой алгоритм замены символов; если вы хотите зашифровать текст, то просто заменяете каждую букву алфавита другой. Например:
Оригинал: 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
В этом случае буквы в алфавите были просто сдвинуты на семь позиций
Этот общий секрет позволяет получателю сообщения провести процесс шифрования в обратном направлении и прочитать зашифрованное сообщение.
Симметричное шифрование получило свое название из того факта, что один и тот же ключ используется как для шифрования открытого текста, так и для расшифровки соответствующего зашифрованного.
Наш детский пример в этом плане совершенно неудачен, поскольку каждая буква при шифровании всегда преобразуется в один и тот же результат, и еще потому, что он совершенно не шифрует пробелы. Даже детсадовский криптоаналитик способен достаточно легко расколоть этот код, зная, что любое однобуквенное слово, вероятнее всего,
Еще одна причина, по которой наш пример столь неудачен, состоит в том, что, если по каким-либо причинам алгоритм известен (в нашем случае алгоритм: "сдвинуть каждую букву на семь позиций вправо"), человек, знающий его, легко может расшифровать каждое последующее сообщение.
Именно здесь мы подоши к важности концепции ключа. В алгоритмах, основанных на ключе, для его защиты предпринимаются определенные усилия. Такой подход вполне допускает рассмотрение и изучение криптографического алгоритма посторонними. Хороший алгоритм – это такой алгоритм, который можно понять, который эффективен и который нельзя использовать для шифрования без соответствующего ключа. Алгоритмы, о которых мы расскажем далее в этой лекции, все обладают этими чертами.
Таким образом, в полноценном симметричном шифре большая часть работы криптоаналитика заключается в попытках поиска в выходных данных алгоритма хоть каких-нибудь шаблонов, чтобы использовать их в качестве отправной точки для взлома кода.
Если в этом плане алгоритм шифрования не имеет недостатков, другим главным фактором, влияющим на его надежность, будет размер пространства ключа; т. е. общее количество всевозможных значений ключа. Опять же наш простенький пример будет расколот очень быстро, потому что в нем есть только 25 возможных позиций, на которые можно сместить ключи. Мы могли бы очень легко провести
Реально существующие симметричные шифры используют числовые ключи размером, как правило, от 40 до 256 бит. Даже для самых маленьких из них атака грубой силой должна была бы перебрать в среднем 2 в 39-й степени, или что-то около 550,000,000,000 возможных значений ключей. Каждый дополнительный бит в размере ключа удваивает пространство ключа.
Некоторые люди испытывают затруднения при запоминании, какой тип шифрования симметричный, а какой асимметричный. Чтобы помочь, давайте дадим инструмент для запоминания. Уделите внимание рис. 1-3.
(рис 1.3) Симметричный шифр против асимметричногоВ этом нашем мнемоническом примере предположим, что ключи имеют какой-то определенный вес. Вес секретного ключа x и вес открытого ключа x + 1 (таким образом, у них разные веса). В случае
Давайте уделим минутку и рассмотрим, как работает симметричное шифрование. Для этого нам понадобится ввести пару персонажей, которые традиционно используются при объяснении концепций безопасности.
Конечно, можно было бы использовать A, B и C для схематического отображения потока информации между двумя точками. Однако поскольку этот поток информации вовлекает людей, лучше все-таки дать им нормальные имена. Итак, двумя нашими персонажами, которых с этого момента мы будем использовать для примеров, будут Алиса и Боб. По мере необходимости будут вводится новые персонажи, но в настоящий момент давайте сконцентрируем наше внимание на Бобе и Алисе.
Эти персонажи в течение многих лет использовались для демонстрации примеров того, как работают техники шифрования, и, как и многие другие выдуманные герои-долгожители, Боб и Алиса имеют свою собственную занимательную биографию. Эту биографию можно найти в статье под названием "Послеобеденная беседа Боба и Алисы" ("The Alice and Bob after-dinner
http://www.conceptlabs.co.uk/alicebob.html
Итак, вернемся к нашему примеру с Бобом и Алисой. Скажем, Алиса хочет послать Бобу сообщение, хочет, чтобы оно было отправлено защищенным, и хочет, чтобы Боб и только Боб мог прочитать его. Рис. 1.4 иллюстрирует этот пример, обмен происходит слева направо.
(рис 1.4) Пример алгоритма с симметричным ключомВот что происходит в нашем примере:
Замечание. В этом примере Алиса и Боб знают друг друга достаточно хорошо. По этой причине в нем предполагается, что Алиса получила – безопасно – копию секретного ключа, использованного для шифрования сообщения.
Есть два вида симметричных шифров: блочные и потоковые. Блочные шифры оперируют с блоками данных и используются, как правило, для шифрования документов и баз данных. Потоковые шифры работают с битовыми потоками и обычно используются для шифрования коммуникационных каналов.
Общеизвестные блочные шифры
Общеизвестные потоковые шифры
Замечание. Одна маленькая интересная подробность: RC1 никогда не сходил дальше ноутбука Ривеста, а RC3 был сломан в RSADSI еще на этапе разработки.
Как мы показали, в настоящее время используется целый ряд шифров на симметричном ключе. Помимо тех, что уже были упомянуты, дальше в курсе мы еще опишем те, которые используются в Notes, Domino и в других совместных продуктах Lotus. Сейчас же давайте поговорим о тех достоинствах, которые присущи всем этим алгоритмам на симметричном ключе.
Из-за коротких ключей, которые тем не менее обеспечивают достаточно высокую безопасность, эти алгоритмы быстры и требуют относительно небольшой загрузки системы. По этой причине о шифровании на симметричном ключе часто говорят как о массовом шифровании, так как оно эффективно для больших объемов данных.
Самый ключевой недостаток симметричного шифра состоит в том, что ему присущи трудности в управлении этими самыми симметричными ключами, используемыми при шифровании. В частности, как можно безопасно передать их в руки противоположной стороны без того, чтобы не скомпрометировать их?
В следующем разделе мы покажем, как эта проблема управления ключами решается при использовании алгоритмов на асимметричном ключе, но и в использовании асимметричных ключей существуют недостатки, для которых тоже требуется использование симметричных ключей и алгоритмов на симметричном ключе.
Прежде чем мы перейдем к теме асимметричных ключей, давайте закончим обзор важных тонкостей, касающихся алгоритмов с симметричными ключами.
Эти алгоритмы публикуются свободно, и при их реализации не следует рассматривать вопросы коммерческого лицензирования.
Все они подпадают под ограничения на экспорт Национального агентства безопасности США (
Это означает то, что для того, чтобы экспортировать полноценную криптографию, компания должна иметь специальную лицензию на каждого клиента. Такие лицензии выдаются только для таких клиентов, которые рассматриваются правительством США в качестве дружественных, таких, как крупные банки и дочерние образования американских компаний.
Когда писалась предыдущая книга серии Redbooks, пороговая длина ключа для обычной экспортной лицензии составляла 40 бит. С тех пор несколько испытаний Проект управления композитными приложениями 29 показали, что при помощи относительно современных компьютерных мощностей на 40-битовый ключ вполне можно провести успешную атаку обычным перебором вариантов. Заявление правительства открыло дверь для использования более длинных ключей, сначала до 56 бит, а в перспективе до любой длины, когда компьютерная индустрия разработает эффективную технологию восстановления ключа. (Восстановление ключа означает, что
Дополнением к этому стало заявление Бюро управления экспортом коммерческого департамента от 18 ноября 1998 г., которое внесло изменения в правила управления экспортом для экспорта и реэкспорта товаров и программного обеспечения полноценного шифрования. Длины ключей сейчас: полных 56 бит для DES и эквивалентных ему "массовых" шифров (т. е.
Далее, 6 июня 2002 г. Бюро промышленности и безопасности (BIS,
Криптографические товары и программное обеспечение для массового рынка с длиной симметричного ключа свыше 64 бит, подпадающие под номера 5A992 и 5D992 классификации экспортного контроля (ECCNs, Export Control
Для дополнительной информации здесь приведен полный список ресурсов, способных пролить некоторый свет на положения по экспорту и те двусторонние соглашения, которые действуют в настоящий момент:
http://w3.access.gpo.gov/bis/fedreg/ear_fedreg.html#67fr38855
Отталкиваясь от знакомых аналогий, нематематик может интуитивно понять, как работает алгоритм симметричного ключа. Однако алгоритмы асимметричного ключа непрофессионалу доступны намного хуже. Фактически иногда они выглядят скорее как магия, нежели как технология. На самом деле это не так. Для них требуется немного больше объяснений, чем для алгоритмов на симметричном ключе, но тем не менее любой, кто внимательно прочитает нижеследующее, легко справится с ними.
Существует строгое математическое соответствие между закрытым и открытым ключами, которое заключается в том, что все, что зашифровано при помощи одного из двух ключей, может быть расшифровано только другим ключом пары. Длина ключей и вся математика, стоящая за ними, дают достаточную гарантию того, что не существует никакого другого ключа, не являющегося частью пары, который мог бы дешифровать сообщение.
Давайте вернемся к Бобу и Алисе и посмотрим, что же происходит при отправке защищенного при помощи алгоритма на асимметричном ключе сообщения. На рис. 1.5 приведен пример, где обмен происходит слева направо.
(рис 1.5) Пример алгоритма с асимметричным ключом: отправка защищенного сообщения по электронной почтеВот что происходит в нашем примере:
Замечание. В этом сценарии нет необходимости в обмене закрытыми ключами и, таким образом, весь процесс работы с ключами проще.
Асимметричные шифры еще называют механизмами обмена ключами. Самые известные из них – следующие:
Как мы показали, в настоящее время используется целый ряд алгоритмов на асимметричном ключе. Помимо тех, что уже были упомянуты, дальше в курсе мы еще опишем те, которые используются в Notes, Domino и в других совместных продуктах Lotus. Сейчас же давайте поговорим о тех достоинствах, которые присущи всем алгоритмам на асимметричном ключе.
Алгоритмы асимметричного ключа делают более легким управление ключами благодаря тому, что не надо искать безопасный канал для передачи копии ключа конечному получателю. Закрытый ключ остается закрытым, а открытый – открытым. Другими словами, большим преимуществом этого механизма над механизмом симметричного ключа является то, что больше нет того секрета, которым требуется делиться. Фактически совершенно не имеет значения, у кого имеется открытый ключ, поскольку он бесполезен без соответствующего закрытого.
Еще одним важнейшим достоинством алгоритмов на асимметричном ключе является то, что они способны предоставить такую цифровую подпись, которую невозможно подделать. Мы обсудим это в последующих разделах.
Недостаток алгоритмов на асимметричном ключе состоит в том, что они очень медленные. В настоящий момент есть множество методов шифрования секретным ключом, которые значительно быстрее, чем любой из существующих методов
Для получения всего лучшего из обоих миров можно использовать алгоритм асимметричного ключа вместе с алгоритмом симметричного. При шифровании наилучшим решением будет объединить оба типа алгоритмов, чтобы получить и высокую безопасность алгоритмов асимметричного ключа, и высокую скорость алгоритмов симметричного.
Соответственно таким гибридным решением будет использование симметричного ключа для шифрования данных, а асимметричного для шифрования самого симметричного ключа. Такой марьяж называется числовой упаковкой.
Кроме того, симметричный ключ обычно генерируется каждый раз как новый и называется "сессионным" ключом. Он действителен только на то время, пока два человека обмениваются сообщениями друг с другом. Этот протокол используется практически во всех "
Давайте сделаем паузу и рассмотрим, как работает гибридное решение. Для этого мы продолжим рассматривать общение между Алисой и Бобом. Пример изображен на рис. 1.6, обмен происходит слева направо.
(рис 1.6) Пример гибридного решения: отправка защищенного сообщения по электронной почтеВ нашем примере происходит следующее. Сначала на одном конце:
На другом конце:
Есть еще одна полезная вещь, которую дают нам алгоритмы асимметричного ключа.
Представьте в предыдущем примере, что Алиса использует свой закрытый ключ для шифрования сообщения и затем отсылает его Бобу. Посланное сообщение хотя и является все еще зашифрованным, но больше уже не имеет частного характера, поскольку любой, у кого есть открытый ключ, может расшифровать его (а мы говорили, что нам все равно, у кого он есть).
Итак, для чего же можно использовать такое сообщение от Алисы? Ответ следующий – авторизация. Поскольку только Алиса имеет доступ к закрытому ключу, при помощи которого было создано это сообщение, оно может прийти от нее и только от нее. В этом состоит понятие цифровой подписи.
Цифровые подписи участвуют в обеспечении целостности, аутентификации и идентификации, в определении авторства (невозможность отказа), в то время как алгоритмы и симметричного и асимметричного ключей, которые мы обсуждали до этого момента, касались только конфиденциальности.
Для того чтобы предоставить эти дополнительные услуги, нам потребуется ввести новый вид криптографического алгоритма – хеш-функции (еще называемые свертками сообщений).
Тогда как при помощи алгоритмов и симметричного и асимметричного ключей можно как шифровать, так и дешифровать, хеш-функции только шифруют. Именно поэтому их принято относить к однонаправленным функциям. Вы никогда не сможете из хеш-функции восстановить первоначальное сообщение.
Еще, хеш-функции называются "функциями" потому, что они принимают на вход сообщение и возвращают результат. Более точно, они используются для индексирования исходного содержания или ключа сообщения или блока данных, а затем всякий раз при получении данных, относящихся к этому содержанию или ключу. У хеш-функции безопасности есть три основные характеристики:
Для чего же используется тогда хеш-функция безопасности? Хорошо, ее основное предназначение – отслеживать, были ли изменения в отдельных частях данных или нет. В комбинации с RSA это используется для создания цифровой подписи.
Под цифровой подписью понимается то, что при помощи хеш-функции можно численно подписать документ и обеспечить аутентификацию без необходимости шифровать все сообщение целиком.
В настоящее время применяется два хеш-алгоритма безопасности. Наиболее распространенный из них – MD5, который был разработан компанией RSA
Другой алгоритм, который становится все более и более популярным, – разработанный для правительства США Хеш-стандарт безопасности (
Давайте сделаем паузу и рассмотрим, как же работают цифровые подписи. Пример показан на рис. 1.7. Однако в этом примере обмен происходит справа налево, а не слева направо, как было в предыдущих примерах, так как Боб отвечает на сообщения Алисы.
В нашем примере происходит следующее. Сначала на одном конце:
(рис 1.7) Пример цифровых подписейНа другом конце:
Таким образом:
Основной интерес для нас представляет набор хеш-функций (называемых также алгоритмами сообщение-свертка), которые мы описали, а именно MD5 и SHA-1. Для исторической справки и для того, чтобы объяснить необходимость существования MD5 и SHA-1, мы упомянем также
Относительно используемых хеш-алгоритмов остаются открытыми несколько вопросов, на которые мы с удовольствием ответим. Если используются
MD (первоначальный алгоритм
Хорошо, ну а если есть SHA-1, был ли SHA-0? Ответ: да. SHA – это стандартная хеш-функция NIST. Он был изобретен
Да, и еще, время от времени в кругах специалистов безопасности и в различных дискуссиях на тему безопасности вам доводилось слышать термин "MAC". В таком контексте MAC (
Цифровые подписи неидеальны, поскольку остается проблема доказательства того, "кто" действительно подписал, так как доверие, по сути дела, относится к компьютеру, поставившему цифровую подпись, а не к человеку.
Если компьютер скомпрометирован или если скомпрометирован закрытый ключ человека, вполне возможно выдать себя за этого человека и поставить за него цифровую подпись. Таким образом, доверие должно быть направлено на подписывающий компонент (машина, код и т. д.).
Исходя из общей безопасности подписывающего устройства (т. е. компьютера пользователя) и практики помещения ключей на депонент (где они технически доступны администраторам и менеджерам организации), цифровые подписи представляют не большую юридическую ценность для судебной практики. Следовательно, вопрос доверия цифровым подписям в настоящее время следует уравновесить пониманием того факта, что они не способны дать полной и абсолютной гарантии при определении авторства.
Мы уже видели, каким образом криптография открытого ключа решает проблему необходимости передачи секрета от отправителя к получателю. И хотя ключ все равно еще надо посылать, но это уже открытый ключ, который можно видеть кому угодно, поскольку он полезен для взломщика только в том случае, если у последнего есть и соответствующий закрытый ключ. Однако это обходит стороной один критический элемент доверия: как вы можете быть уверены в том, что открытый ключ действительно пришел от того, от кого вы думаете?
Одно решение состоит в том, чтобы передавать открытые ключи только тем, кого вы знаете. Боб и Алиса знают друг друга долгое время (фактически люди уже начали разговаривать), поэтому они могли бы обменяться своими открытыми ключами на дискетах. Но для других случаев жизни вам понадобится некий способ быть уверенными в том, что открытый ключ является аутентифицированным.
Механизмом для реализации этого является сертификат открытого ключа. Это такая структура данных, в которой содержится открытый ключ плюс информация о его владельце, все подписанное цифровой подписью доверенной третьей стороны. И сейчас, когда Алиса хочет выслать Бобу свой открытый ключ, на самом деле она посылает сертификат. Боб получает сертификат и проверяет подпись. Если подпись подписавшего принадлежит тому, кому он доверяет, значит, можно принять за истину, что это действительно ключ Алисы.
Сертификаты в реальной жизни намного сложнее по сравнению с этим. Описания того, как они используются в различных ситуациях, приведены в последующих лекциях этого курса в разделах, подробно рассказывающих об SSL и системе безопасности Notes.
Во всех этих криптографических инструментах и техниках немного пользы набора соответствующих, хорошо согласованных стандартов для обеспечения базиса для функциональной совместимости. Эти стандарты называются стандартами криптографии открытого ключа (PKCS, Public Key Cryptographic Standards).
PKCS является набором неофициальных независимых от поставщика стандартов, разработанных в 1991 г. компанией RSA Laboratories при участии Apple, Digital, Lotus, Microsoft, MIT, Northern Telecom, Novell и Sun. С самого момента своего опубликования в июне 1991 г. PKCS стал частью нескольких стандартов и продуктов, включая Notes и Domino.
Эти стандарты охватывают RSA шифрование, соглашение о ключах Диффи–Хелмана, шифрование паролем, синтаксис расширенного сертификата, синтаксис криптографического сообщения и синтаксис запроса сертификата, а также выделяемые атрибуты.
В настоящее время определены следующие стандарты:
Примечание. 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
Она является частью замечательного, всеобъемлющего
http://www.rsasecurity.com/rsalabs/faq/index.html
В этой лекции мы прошлись по основам ИТ-безопасности и затронули те основные темы, которые необходимы нам для дальнейшего успешного продвижения по остальному материалу курса.
Мы коснулись следующих тем:
Теперь мы готовы изучить рецепты построения должной инфрастуктуры безопасности, т. е. методологии дизайна систем безопасности. Эти методологии полностью охватываются в следующей лекции и основаны на тех знаниях, которые вы получили в настоящей лекции.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.